summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source')
-rw-r--r--Source/.gitignore2
-rw-r--r--Source/JavaScriptCore/API/JSBase.cpp6
-rw-r--r--Source/JavaScriptCore/API/JSCallbackFunction.cpp2
-rw-r--r--Source/JavaScriptCore/API/JSCallbackFunction.h4
-rw-r--r--Source/JavaScriptCore/API/JSCallbackObject.h2
-rw-r--r--Source/JavaScriptCore/API/JSCallbackObjectFunctions.h8
-rw-r--r--Source/JavaScriptCore/API/JSClassRef.cpp24
-rw-r--r--Source/JavaScriptCore/API/JSClassRef.h8
-rw-r--r--Source/JavaScriptCore/API/JSContextRef.cpp28
-rw-r--r--Source/JavaScriptCore/API/JSObjectRef.cpp10
-rw-r--r--Source/JavaScriptCore/API/JSProfilerPrivate.cpp4
-rw-r--r--Source/JavaScriptCore/API/JSStringRefCF.cpp1
-rw-r--r--Source/JavaScriptCore/API/JSValueRef.cpp8
-rw-r--r--Source/JavaScriptCore/API/OpaqueJSString.cpp12
-rw-r--r--Source/JavaScriptCore/API/OpaqueJSString.h6
-rw-r--r--Source/JavaScriptCore/CMakeLists.txt66
-rw-r--r--Source/JavaScriptCore/ChangeLog3408
-rw-r--r--Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig5
-rw-r--r--Source/JavaScriptCore/Configurations/Version.xcconfig2
-rw-r--r--Source/JavaScriptCore/GNUmakefile.list.am21
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.gyp/.gitignore6
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln286
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def79
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj4880
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops22
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops22
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops40
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebug.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugAll.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj208
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops28
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebug.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugAll.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedProduction.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedRelease.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleasePGO.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops30
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreProduction.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreRelease.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGO.vsprops32
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGOOptimize.vsprops24
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln160
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj946
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops40
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebug.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugAll.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscProduction.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscRelease.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleaseCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleasePGO.vsprops24
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExp.vcproj960
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpCommon.vsprops40
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebug.vsprops16
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugAll.vsprops16
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugCairoCFLite.vsprops16
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpProduction.vsprops16
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpRelease.vsprops16
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleaseCairoCFLite.vsprops16
-rwxr-xr-xSource/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleasePGO.vsprops24
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj896
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops42
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebug.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugAll.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiProduction.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiRelease.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiReleaseCairoCFLite.vsprops16
-rw-r--r--Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj80
-rw-r--r--Source/JavaScriptCore/PlatformEfl.cmake2
-rw-r--r--Source/JavaScriptCore/Target.pri7
-rw-r--r--Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h2
-rw-r--r--Source/JavaScriptCore/assembler/MacroAssemblerARM.h2
-rw-r--r--Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h16
-rw-r--r--Source/JavaScriptCore/assembler/MacroAssemblerSH4.h26
-rw-r--r--Source/JavaScriptCore/assembler/SH4Assembler.h30
-rw-r--r--Source/JavaScriptCore/bytecode/CodeBlock.cpp130
-rw-r--r--Source/JavaScriptCore/bytecode/CodeBlock.h52
-rw-r--r--Source/JavaScriptCore/bytecode/DFGExitProfile.h2
-rw-r--r--Source/JavaScriptCore/bytecode/EvalCodeCache.h19
-rw-r--r--Source/JavaScriptCore/bytecode/GetByIdStatus.cpp4
-rw-r--r--Source/JavaScriptCore/bytecode/GlobalResolveInfo.h2
-rw-r--r--Source/JavaScriptCore/bytecode/JumpTable.h2
-rw-r--r--Source/JavaScriptCore/bytecode/Opcode.h14
-rw-r--r--Source/JavaScriptCore/bytecode/Operands.h2
-rw-r--r--Source/JavaScriptCore/bytecode/PutByIdStatus.cpp13
-rw-r--r--Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp4
-rw-r--r--Source/JavaScriptCore/bytecode/SpeculatedType.h10
-rw-r--r--Source/JavaScriptCore/bytecode/StructureStubInfo.cpp2
-rw-r--r--Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp261
-rw-r--r--Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h69
-rw-r--r--Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp229
-rw-r--r--Source/JavaScriptCore/config.h4
-rw-r--r--Source/JavaScriptCore/debugger/Debugger.cpp10
-rw-r--r--Source/JavaScriptCore/debugger/Debugger.h5
-rw-r--r--Source/JavaScriptCore/debugger/DebuggerActivation.cpp7
-rw-r--r--Source/JavaScriptCore/debugger/DebuggerActivation.h2
-rw-r--r--Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp12
-rw-r--r--Source/JavaScriptCore/debugger/DebuggerCallFrame.h8
-rw-r--r--Source/JavaScriptCore/dfg/DFGAbstractState.cpp253
-rw-r--r--Source/JavaScriptCore/dfg/DFGArgumentsSimplificationPhase.cpp4
-rw-r--r--Source/JavaScriptCore/dfg/DFGArrayMode.cpp16
-rw-r--r--Source/JavaScriptCore/dfg/DFGArrayMode.h25
-rw-r--r--Source/JavaScriptCore/dfg/DFGByteCodeCache.h2
-rw-r--r--Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp64
-rw-r--r--Source/JavaScriptCore/dfg/DFGCCallHelpers.h23
-rw-r--r--Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp6
-rw-r--r--Source/JavaScriptCore/dfg/DFGCSEPhase.cpp64
-rw-r--r--Source/JavaScriptCore/dfg/DFGCSEPhase.h2
-rw-r--r--Source/JavaScriptCore/dfg/DFGCommon.h2
-rw-r--r--Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp11
-rw-r--r--Source/JavaScriptCore/dfg/DFGDriver.cpp9
-rw-r--r--Source/JavaScriptCore/dfg/DFGFPRInfo.h5
-rw-r--r--Source/JavaScriptCore/dfg/DFGFixupPhase.cpp116
-rw-r--r--Source/JavaScriptCore/dfg/DFGGraph.cpp26
-rw-r--r--Source/JavaScriptCore/dfg/DFGGraph.h33
-rw-r--r--Source/JavaScriptCore/dfg/DFGNode.h25
-rw-r--r--Source/JavaScriptCore/dfg/DFGNodeType.h3
-rw-r--r--Source/JavaScriptCore/dfg/DFGOperations.cpp92
-rw-r--r--Source/JavaScriptCore/dfg/DFGOperations.h2
-rw-r--r--Source/JavaScriptCore/dfg/DFGPhase.h7
-rw-r--r--Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp9
-rw-r--r--Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.cpp178
-rw-r--r--Source/JavaScriptCore/dfg/DFGRepatch.cpp8
-rw-r--r--Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp363
-rw-r--r--Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h41
-rw-r--r--Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp382
-rw-r--r--Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp369
-rw-r--r--Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp46
-rw-r--r--Source/JavaScriptCore/dfg/DFGThunks.cpp3
-rw-r--r--Source/JavaScriptCore/heap/Handle.h2
-rw-r--r--Source/JavaScriptCore/heap/Heap.cpp48
-rw-r--r--Source/JavaScriptCore/heap/Heap.h6
-rw-r--r--Source/JavaScriptCore/heap/HeapTimer.cpp6
-rw-r--r--Source/JavaScriptCore/heap/IncrementalSweeper.cpp48
-rw-r--r--Source/JavaScriptCore/heap/IncrementalSweeper.h4
-rw-r--r--Source/JavaScriptCore/heap/JITStubRoutineSet.cpp2
-rw-r--r--Source/JavaScriptCore/heap/MachineStackMarker.cpp1
-rw-r--r--Source/JavaScriptCore/heap/MarkStack.cpp5
-rw-r--r--Source/JavaScriptCore/heap/MarkStackInlineMethods.h8
-rw-r--r--Source/JavaScriptCore/heap/MarkedBlock.cpp4
-rw-r--r--Source/JavaScriptCore/heap/MarkedBlock.h18
-rw-r--r--Source/JavaScriptCore/heap/MarkedSpace.cpp2
-rw-r--r--Source/JavaScriptCore/heap/WeakBlock.cpp2
-rw-r--r--Source/JavaScriptCore/heap/WeakSet.cpp3
-rw-r--r--Source/JavaScriptCore/heap/WeakSet.h13
-rw-r--r--Source/JavaScriptCore/interpreter/AbstractPC.cpp3
-rw-r--r--Source/JavaScriptCore/interpreter/CachedCall.h4
-rw-r--r--Source/JavaScriptCore/interpreter/CallFrame.cpp4
-rw-r--r--Source/JavaScriptCore/interpreter/CallFrame.h26
-rw-r--r--Source/JavaScriptCore/interpreter/CallFrameClosure.h4
-rw-r--r--Source/JavaScriptCore/interpreter/Interpreter.cpp727
-rw-r--r--Source/JavaScriptCore/interpreter/Interpreter.h47
-rw-r--r--Source/JavaScriptCore/interpreter/Register.h6
-rw-r--r--Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp1
-rw-r--r--Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp2
-rw-r--r--Source/JavaScriptCore/jit/HostCallReturnValue.cpp2
-rw-r--r--Source/JavaScriptCore/jit/HostCallReturnValue.h2
-rw-r--r--Source/JavaScriptCore/jit/JIT.cpp4
-rw-r--r--Source/JavaScriptCore/jit/JIT.h6
-rw-r--r--Source/JavaScriptCore/jit/JITCall.cpp10
-rw-r--r--Source/JavaScriptCore/jit/JITCall32_64.cpp12
-rw-r--r--Source/JavaScriptCore/jit/JITCode.h10
-rw-r--r--Source/JavaScriptCore/jit/JITDriver.h4
-rw-r--r--Source/JavaScriptCore/jit/JITExceptions.cpp6
-rw-r--r--Source/JavaScriptCore/jit/JITExceptions.h4
-rw-r--r--Source/JavaScriptCore/jit/JITOpcodes.cpp37
-rw-r--r--Source/JavaScriptCore/jit/JITOpcodes32_64.cpp27
-rw-r--r--Source/JavaScriptCore/jit/JITPropertyAccess.cpp15
-rw-r--r--Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp12
-rw-r--r--Source/JavaScriptCore/jit/JITStubRoutine.cpp2
-rw-r--r--Source/JavaScriptCore/jit/JITStubs.cpp140
-rw-r--r--Source/JavaScriptCore/jit/JITStubs.h12
-rw-r--r--Source/JavaScriptCore/jit/JSInterfaceJIT.h8
-rw-r--r--Source/JavaScriptCore/jsc.cpp55
-rw-r--r--Source/JavaScriptCore/llint/LLIntCLoop.cpp76
-rw-r--r--Source/JavaScriptCore/llint/LLIntCLoop.h59
-rw-r--r--Source/JavaScriptCore/llint/LLIntData.cpp31
-rw-r--r--Source/JavaScriptCore/llint/LLIntData.h96
-rw-r--r--Source/JavaScriptCore/llint/LLIntEntrypoints.cpp10
-rw-r--r--Source/JavaScriptCore/llint/LLIntExceptions.cpp9
-rw-r--r--Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h33
-rw-r--r--Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp4
-rw-r--r--Source/JavaScriptCore/llint/LLIntOpcode.h81
-rw-r--r--Source/JavaScriptCore/llint/LLIntSlowPaths.cpp146
-rw-r--r--Source/JavaScriptCore/llint/LLIntSlowPaths.h45
-rw-r--r--Source/JavaScriptCore/llint/LLIntThunks.cpp6
-rw-r--r--Source/JavaScriptCore/llint/LowLevelInterpreter.asm92
-rw-r--r--Source/JavaScriptCore/llint/LowLevelInterpreter.cpp431
-rw-r--r--Source/JavaScriptCore/llint/LowLevelInterpreter.h62
-rw-r--r--Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm59
-rw-r--r--Source/JavaScriptCore/llint/LowLevelInterpreter64.asm119
-rw-r--r--Source/JavaScriptCore/offlineasm/asm.rb20
-rw-r--r--Source/JavaScriptCore/offlineasm/backends.rb13
-rw-r--r--Source/JavaScriptCore/offlineasm/cloop.rb988
-rw-r--r--Source/JavaScriptCore/offlineasm/config.rb2
-rw-r--r--Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb4
-rw-r--r--Source/JavaScriptCore/offlineasm/instructions.rb10
-rw-r--r--Source/JavaScriptCore/offlineasm/offsets.rb9
-rw-r--r--Source/JavaScriptCore/parser/ASTBuilder.h41
-rw-r--r--Source/JavaScriptCore/parser/Lexer.cpp4
-rw-r--r--Source/JavaScriptCore/parser/Lexer.h8
-rw-r--r--Source/JavaScriptCore/parser/NodeConstructors.h67
-rw-r--r--Source/JavaScriptCore/parser/Nodes.cpp9
-rw-r--r--Source/JavaScriptCore/parser/Nodes.h109
-rw-r--r--Source/JavaScriptCore/parser/Parser.cpp10
-rw-r--r--Source/JavaScriptCore/parser/Parser.h92
-rw-r--r--Source/JavaScriptCore/parser/ParserArena.h2
-rw-r--r--Source/JavaScriptCore/parser/SourceCode.h8
-rw-r--r--Source/JavaScriptCore/parser/SourceProvider.h21
-rw-r--r--Source/JavaScriptCore/parser/SourceProviderCache.h1
-rw-r--r--Source/JavaScriptCore/parser/SourceProviderCacheItem.h1
-rw-r--r--Source/JavaScriptCore/parser/SyntaxChecker.h2
-rw-r--r--Source/JavaScriptCore/profiler/CallIdentifier.h10
-rw-r--r--Source/JavaScriptCore/profiler/Profile.cpp8
-rw-r--r--Source/JavaScriptCore/profiler/Profile.h10
-rw-r--r--Source/JavaScriptCore/profiler/ProfileGenerator.cpp10
-rw-r--r--Source/JavaScriptCore/profiler/ProfileGenerator.h7
-rw-r--r--Source/JavaScriptCore/profiler/ProfileNode.h8
-rw-r--r--Source/JavaScriptCore/profiler/Profiler.cpp19
-rw-r--r--Source/JavaScriptCore/profiler/Profiler.h13
-rw-r--r--Source/JavaScriptCore/runtime/ArgList.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/ArgList.h1
-rw-r--r--Source/JavaScriptCore/runtime/Arguments.cpp11
-rw-r--r--Source/JavaScriptCore/runtime/Arguments.h11
-rw-r--r--Source/JavaScriptCore/runtime/ArrayConstructor.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/ArrayPrototype.cpp46
-rw-r--r--Source/JavaScriptCore/runtime/BooleanObject.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/BooleanPrototype.cpp9
-rw-r--r--Source/JavaScriptCore/runtime/CallData.h4
-rw-r--r--Source/JavaScriptCore/runtime/ClassInfo.h2
-rw-r--r--Source/JavaScriptCore/runtime/CommonSlowPaths.h117
-rw-r--r--Source/JavaScriptCore/runtime/Completion.cpp4
-rw-r--r--Source/JavaScriptCore/runtime/Completion.h4
-rw-r--r--Source/JavaScriptCore/runtime/ConstructData.h4
-rw-r--r--Source/JavaScriptCore/runtime/DateConversion.cpp10
-rw-r--r--Source/JavaScriptCore/runtime/DateConversion.h8
-rw-r--r--Source/JavaScriptCore/runtime/DatePrototype.cpp42
-rw-r--r--Source/JavaScriptCore/runtime/Error.cpp36
-rw-r--r--Source/JavaScriptCore/runtime/Error.h37
-rw-r--r--Source/JavaScriptCore/runtime/ErrorInstance.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/ErrorInstance.h6
-rw-r--r--Source/JavaScriptCore/runtime/ErrorPrototype.cpp11
-rw-r--r--Source/JavaScriptCore/runtime/ExceptionHelpers.cpp25
-rw-r--r--Source/JavaScriptCore/runtime/ExceptionHelpers.h2
-rw-r--r--Source/JavaScriptCore/runtime/Executable.cpp127
-rw-r--r--Source/JavaScriptCore/runtime/Executable.h132
-rw-r--r--Source/JavaScriptCore/runtime/ExecutionHarness.h2
-rw-r--r--Source/JavaScriptCore/runtime/FunctionConstructor.cpp33
-rw-r--r--Source/JavaScriptCore/runtime/FunctionConstructor.h4
-rw-r--r--Source/JavaScriptCore/runtime/FunctionPrototype.cpp16
-rw-r--r--Source/JavaScriptCore/runtime/FunctionPrototype.h4
-rw-r--r--Source/JavaScriptCore/runtime/GCActivityCallback.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/GCActivityCallback.h1
-rw-r--r--Source/JavaScriptCore/runtime/GetterSetter.cpp6
-rw-r--r--Source/JavaScriptCore/runtime/Identifier.cpp6
-rw-r--r--Source/JavaScriptCore/runtime/Identifier.h10
-rw-r--r--Source/JavaScriptCore/runtime/InitializeThreading.cpp5
-rw-r--r--Source/JavaScriptCore/runtime/InternalFunction.cpp14
-rw-r--r--Source/JavaScriptCore/runtime/InternalFunction.h8
-rw-r--r--Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp1
-rw-r--r--Source/JavaScriptCore/runtime/JSActivation.cpp102
-rw-r--r--Source/JavaScriptCore/runtime/JSActivation.h58
-rw-r--r--Source/JavaScriptCore/runtime/JSArray.cpp44
-rw-r--r--Source/JavaScriptCore/runtime/JSArray.h11
-rw-r--r--Source/JavaScriptCore/runtime/JSBoundFunction.cpp4
-rw-r--r--Source/JavaScriptCore/runtime/JSBoundFunction.h4
-rw-r--r--Source/JavaScriptCore/runtime/JSCell.cpp10
-rw-r--r--Source/JavaScriptCore/runtime/JSCell.h18
-rw-r--r--Source/JavaScriptCore/runtime/JSDateMath.cpp4
-rw-r--r--Source/JavaScriptCore/runtime/JSDateMath.h3
-rw-r--r--Source/JavaScriptCore/runtime/JSFunction.cpp60
-rw-r--r--Source/JavaScriptCore/runtime/JSFunction.h40
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalData.cpp46
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalData.h37
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalObject.cpp174
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalObject.h35
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp34
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h2
-rw-r--r--Source/JavaScriptCore/runtime/JSGlobalThis.cpp3
-rw-r--r--Source/JavaScriptCore/runtime/JSLock.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/JSNameScope.cpp82
-rw-r--r--Source/JavaScriptCore/runtime/JSNameScope.h94
-rw-r--r--Source/JavaScriptCore/runtime/JSONObject.cpp82
-rw-r--r--Source/JavaScriptCore/runtime/JSONObject.h2
-rw-r--r--Source/JavaScriptCore/runtime/JSObject.cpp32
-rw-r--r--Source/JavaScriptCore/runtime/JSObject.h16
-rw-r--r--Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp3
-rw-r--r--Source/JavaScriptCore/runtime/JSPropertyNameIterator.h2
-rw-r--r--Source/JavaScriptCore/runtime/JSScope.cpp262
-rw-r--r--Source/JavaScriptCore/runtime/JSScope.h171
-rw-r--r--Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h4
-rw-r--r--Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp95
-rw-r--r--Source/JavaScriptCore/runtime/JSStaticScopeObject.h84
-rw-r--r--Source/JavaScriptCore/runtime/JSString.cpp16
-rw-r--r--Source/JavaScriptCore/runtime/JSString.h97
-rw-r--r--Source/JavaScriptCore/runtime/JSStringBuilder.h7
-rw-r--r--Source/JavaScriptCore/runtime/JSStringJoiner.cpp10
-rw-r--r--Source/JavaScriptCore/runtime/JSStringJoiner.h14
-rw-r--r--Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp36
-rw-r--r--Source/JavaScriptCore/runtime/JSSymbolTableObject.h45
-rw-r--r--Source/JavaScriptCore/runtime/JSType.h5
-rw-r--r--Source/JavaScriptCore/runtime/JSValue.cpp6
-rw-r--r--Source/JavaScriptCore/runtime/JSValue.h27
-rw-r--r--Source/JavaScriptCore/runtime/JSValueInlineMethods.h10
-rw-r--r--Source/JavaScriptCore/runtime/JSVariableObject.cpp5
-rw-r--r--Source/JavaScriptCore/runtime/JSVariableObject.h51
-rw-r--r--Source/JavaScriptCore/runtime/JSWithScope.cpp (renamed from Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.h)35
-rw-r--r--Source/JavaScriptCore/runtime/JSWithScope.h91
-rw-r--r--Source/JavaScriptCore/runtime/JSWrapperObject.cpp4
-rw-r--r--Source/JavaScriptCore/runtime/LiteralParser.cpp100
-rw-r--r--Source/JavaScriptCore/runtime/LiteralParser.h14
-rw-r--r--Source/JavaScriptCore/runtime/MemoryStatistics.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/NameInstance.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp4
-rw-r--r--Source/JavaScriptCore/runtime/NativeErrorConstructor.h4
-rw-r--r--Source/JavaScriptCore/runtime/NativeErrorPrototype.cpp3
-rw-r--r--Source/JavaScriptCore/runtime/NativeErrorPrototype.h4
-rw-r--r--Source/JavaScriptCore/runtime/NumberPrototype.cpp30
-rw-r--r--Source/JavaScriptCore/runtime/NumericStrings.h22
-rw-r--r--Source/JavaScriptCore/runtime/ObjectConstructor.cpp48
-rw-r--r--Source/JavaScriptCore/runtime/ObjectPrototype.cpp6
-rw-r--r--Source/JavaScriptCore/runtime/Operations.h37
-rw-r--r--Source/JavaScriptCore/runtime/Options.cpp13
-rw-r--r--Source/JavaScriptCore/runtime/Options.h6
-rw-r--r--Source/JavaScriptCore/runtime/PropertyMapHashTable.h4
-rw-r--r--Source/JavaScriptCore/runtime/PropertyNameArray.cpp2
-rw-r--r--Source/JavaScriptCore/runtime/RegExp.cpp26
-rw-r--r--Source/JavaScriptCore/runtime/RegExp.h20
-rw-r--r--Source/JavaScriptCore/runtime/RegExpCache.cpp4
-rw-r--r--Source/JavaScriptCore/runtime/RegExpCache.h3
-rw-r--r--Source/JavaScriptCore/runtime/RegExpCachedResult.cpp11
-rw-r--r--Source/JavaScriptCore/runtime/RegExpCachedResult.h2
-rw-r--r--Source/JavaScriptCore/runtime/RegExpConstructor.cpp8
-rw-r--r--Source/JavaScriptCore/runtime/RegExpConstructor.h8
-rw-r--r--Source/JavaScriptCore/runtime/RegExpKey.h4
-rw-r--r--Source/JavaScriptCore/runtime/RegExpMatchesArray.cpp6
-rw-r--r--Source/JavaScriptCore/runtime/RegExpObject.cpp26
-rw-r--r--Source/JavaScriptCore/runtime/RegExpPrototype.cpp9
-rw-r--r--Source/JavaScriptCore/runtime/ScopeChain.cpp85
-rw-r--r--Source/JavaScriptCore/runtime/ScopeChain.h172
-rw-r--r--Source/JavaScriptCore/runtime/ScopeChainMark.h30
-rw-r--r--Source/JavaScriptCore/runtime/SmallStrings.cpp1
-rw-r--r--Source/JavaScriptCore/runtime/SmallStrings.h8
-rw-r--r--Source/JavaScriptCore/runtime/StorageBarrier.h2
-rw-r--r--Source/JavaScriptCore/runtime/StrictEvalActivation.cpp8
-rw-r--r--Source/JavaScriptCore/runtime/StrictEvalActivation.h8
-rw-r--r--Source/JavaScriptCore/runtime/StringObject.cpp14
-rw-r--r--Source/JavaScriptCore/runtime/StringPrototype.cpp142
-rw-r--r--Source/JavaScriptCore/runtime/Structure.cpp28
-rw-r--r--Source/JavaScriptCore/runtime/Structure.h8
-rw-r--r--Source/JavaScriptCore/runtime/StructureTransitionTable.h2
-rw-r--r--Source/JavaScriptCore/runtime/SymbolTable.cpp8
-rw-r--r--Source/JavaScriptCore/runtime/SymbolTable.h26
-rw-r--r--Source/JavaScriptCore/runtime/UString.cpp475
-rw-r--r--Source/JavaScriptCore/runtime/UString.h284
-rw-r--r--Source/JavaScriptCore/runtime/UStringConcatenate.h141
-rw-r--r--Source/JavaScriptCore/testRegExp.cpp32
-rw-r--r--Source/JavaScriptCore/tests/mozilla/expected.html262
-rw-r--r--Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-1.js29
-rw-r--r--Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-2.js57
-rw-r--r--Source/JavaScriptCore/tools/CodeProfile.h1
-rw-r--r--Source/JavaScriptCore/yarr/YarrInterpreter.cpp4
-rw-r--r--Source/JavaScriptCore/yarr/YarrInterpreter.h2
-rw-r--r--Source/JavaScriptCore/yarr/YarrJIT.cpp2
-rw-r--r--Source/JavaScriptCore/yarr/YarrJIT.h1
-rw-r--r--Source/JavaScriptCore/yarr/YarrParser.h8
-rw-r--r--Source/JavaScriptCore/yarr/YarrPattern.cpp4
-rw-r--r--Source/JavaScriptCore/yarr/YarrPattern.h6
-rw-r--r--Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp2
-rw-r--r--Source/JavaScriptCore/yarr/YarrSyntaxChecker.h4
-rw-r--r--Source/JavaScriptCore/yarr/yarr.pri6
-rw-r--r--Source/Platform/ChangeLog546
-rw-r--r--Source/Platform/Platform.gyp/.gitignore6
-rw-r--r--Source/Platform/Platform.gypi10
-rw-r--r--Source/Platform/chromium/public/Platform.h3
-rw-r--r--Source/Platform/chromium/public/WebAnimation.h12
-rw-r--r--Source/Platform/chromium/public/WebCompositor.h2
-rw-r--r--Source/Platform/chromium/public/WebCompositorSupport.h111
-rw-r--r--Source/Platform/chromium/public/WebContentLayer.h4
-rw-r--r--Source/Platform/chromium/public/WebFilterOperation.h2
-rw-r--r--Source/Platform/chromium/public/WebInputHandler.h40
-rw-r--r--Source/Platform/chromium/public/WebInputHandlerClient.h81
-rw-r--r--Source/Platform/chromium/public/WebLayer.h11
-rw-r--r--Source/Platform/chromium/public/WebLayerScrollClient.h40
-rw-r--r--Source/Platform/chromium/public/WebLayerTreeView.h83
-rw-r--r--Source/Platform/chromium/public/WebLayerTreeViewClient.h5
-rw-r--r--Source/Platform/chromium/public/WebLocalizedString.h10
-rw-r--r--Source/Platform/chromium/public/WebMediaConstraints.h79
-rw-r--r--Source/Platform/chromium/public/WebMediaStreamCenter.h8
-rw-r--r--Source/Platform/chromium/public/WebRTCICECandidate.h80
-rw-r--r--Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h21
-rw-r--r--Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h27
-rw-r--r--Source/Platform/chromium/public/WebRTCSessionDescription.h92
-rw-r--r--Source/Platform/chromium/public/WebRTCSessionDescriptionRequest.h88
-rw-r--r--Source/Platform/chromium/public/WebRTCVoidRequest.h87
-rw-r--r--Source/Platform/chromium/public/WebRenderingStats.h22
-rw-r--r--Source/Platform/chromium/public/WebScrollbar.h4
-rw-r--r--Source/Platform/chromium/public/WebScrollbarLayer.h7
-rw-r--r--Source/Platform/chromium/public/WebScrollbarThemePainter.h1
-rw-r--r--Source/Platform/chromium/public/WebTransformOperations.h9
-rw-r--r--Source/Platform/chromium/public/WebTransformationMatrix.h158
-rw-r--r--Source/Platform/chromium/public/linux/WebFontInfo.h78
-rw-r--r--Source/Platform/chromium/public/linux/WebFontRenderStyle.h63
-rw-r--r--Source/ThirdParty/ANGLE/ANGLE.pri12
-rw-r--r--Source/ThirdParty/ANGLE/ANGLE.pro14
-rw-r--r--Source/ThirdParty/ANGLE/ChangeLog49
-rw-r--r--Source/ThirdParty/ANGLE/DerivedSources.pri38
-rw-r--r--Source/ThirdParty/ANGLE/Target.pri164
-rw-r--r--Source/ThirdParty/ANGLE/src/compiler/RenameFunction.h6
-rw-r--r--Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y5
-rw-r--r--Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/preprocessor.vcproj786
-rw-r--r--Source/ThirdParty/ANGLE/src/libEGL/libEGL.vcproj886
-rw-r--r--Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.vcproj1122
-rw-r--r--Source/ThirdParty/glu/.gitignore6
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest-md.sln90
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest-md.vcproj1554
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest.sln90
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest.vcproj474
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest_main-md.vcproj330
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest_main.vcproj330
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest_prod_test-md.vcproj332
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest_prod_test.vcproj332
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest_unittest-md.vcproj298
-rw-r--r--Source/ThirdParty/gtest/msvc/gtest_unittest.vcproj298
-rw-r--r--Source/ThirdParty/qunit/.gitignore6
-rw-r--r--Source/WTF/ChangeLog742
-rw-r--r--Source/WTF/GNUmakefile.list.am1
-rw-r--r--Source/WTF/WTF.gyp/.gitignore6
-rw-r--r--Source/WTF/WTF.gypi1
-rw-r--r--Source/WTF/WTF.pri2
-rw-r--r--Source/WTF/WTF.pro1
-rw-r--r--Source/WTF/WTF.vcproj/WTF.sln98
-rw-r--r--Source/WTF/WTF.vcproj/WTF.vcproj2512
-rw-r--r--Source/WTF/WTF.vcproj/WTFCommon.vsprops40
-rw-r--r--Source/WTF/WTF.vcproj/WTFDebug.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFDebugAll.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFDebugCairoCFLite.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFGenerated.vcproj190
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedCommon.vsprops28
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedDebug.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedDebugAll.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedProduction.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedRelease.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFProduction.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFRelease.vsprops16
-rw-r--r--Source/WTF/WTF.vcproj/WTFReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WTF/WTF.xcodeproj/project.pbxproj4
-rw-r--r--Source/WTF/wtf/Assertions.h47
-rw-r--r--Source/WTF/wtf/CMakeLists.txt1
-rw-r--r--Source/WTF/wtf/CryptographicallyRandomNumber.cpp1
-rw-r--r--Source/WTF/wtf/DateMath.cpp14
-rw-r--r--Source/WTF/wtf/Functional.h5
-rw-r--r--Source/WTF/wtf/MathExtras.h14
-rwxr-xr-x[-rw-r--r--]Source/WTF/wtf/MediaTime.h3
-rw-r--r--Source/WTF/wtf/MetaAllocator.h1
-rw-r--r--Source/WTF/wtf/ObjcRuntimeExtras.h106
-rw-r--r--Source/WTF/wtf/Platform.h36
-rw-r--r--Source/WTF/wtf/ThreadingPthreads.cpp1
-rw-r--r--Source/WTF/wtf/Uint8ClampedArray.h2
-rw-r--r--Source/WTF/wtf/UnusedParam.h13
-rw-r--r--Source/WTF/wtf/Vector.h44
-rw-r--r--Source/WTF/wtf/VectorTraits.h5
-rw-r--r--Source/WTF/wtf/text/AtomicString.cpp1
-rw-r--r--Source/WTF/wtf/text/AtomicString.h3
-rw-r--r--Source/WTF/wtf/text/IntegerToStringConversion.h94
-rw-r--r--Source/WTF/wtf/text/StringBuilder.cpp31
-rw-r--r--Source/WTF/wtf/text/StringBuilder.h16
-rw-r--r--Source/WTF/wtf/text/StringHash.h22
-rw-r--r--Source/WTF/wtf/text/StringImpl.cpp124
-rw-r--r--Source/WTF/wtf/text/StringImpl.h101
-rw-r--r--Source/WTF/wtf/text/WTFString.cpp56
-rw-r--r--Source/WTF/wtf/text/WTFString.h44
-rw-r--r--Source/WebCore/.gitattributes8
-rw-r--r--Source/WebCore/CMakeLists.txt63
-rw-r--r--Source/WebCore/ChangeLog21802
-rw-r--r--Source/WebCore/Configurations/FeatureDefines.xcconfig5
-rw-r--r--Source/WebCore/Configurations/Version.xcconfig2
-rw-r--r--Source/WebCore/DerivedSources.cpp1
-rw-r--r--Source/WebCore/DerivedSources.make6
-rw-r--r--Source/WebCore/DerivedSources.pri113
-rw-r--r--Source/WebCore/English.lproj/localizedStrings.js10
-rw-r--r--Source/WebCore/ForwardingHeaders/runtime/JSWithScope.h4
-rw-r--r--Source/WebCore/ForwardingHeaders/runtime/ScopeChain.h4
-rw-r--r--Source/WebCore/ForwardingHeaders/runtime/UString.h4
-rw-r--r--Source/WebCore/ForwardingHeaders/runtime/UStringBuilder.h4
-rw-r--r--Source/WebCore/ForwardingHeaders/runtime/UStringImpl.h4
-rw-r--r--Source/WebCore/GNUmakefile.am260
-rw-r--r--Source/WebCore/GNUmakefile.features.am7
-rw-r--r--Source/WebCore/GNUmakefile.list.am93
-rw-r--r--Source/WebCore/Modules/filesystem/AsyncFileWriter.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DOMFilePath.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DOMFileSystemBase.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DOMWindowFileSystem.idl2
-rw-r--r--Source/WebCore/Modules/filesystem/DirectoryEntry.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DirectoryEntrySync.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DirectoryReader.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DirectoryReaderBase.h2
-rw-r--r--Source/WebCore/Modules/filesystem/DirectoryReaderSync.h2
-rw-r--r--Source/WebCore/Modules/filesystem/EntryBase.cpp3
-rw-r--r--Source/WebCore/Modules/filesystem/EntrySync.h2
-rw-r--r--Source/WebCore/Modules/filesystem/FileEntrySync.h2
-rw-r--r--Source/WebCore/Modules/filesystem/FileSystemCallbacks.h2
-rw-r--r--Source/WebCore/Modules/filesystem/LocalFileSystem.h2
-rw-r--r--Source/WebCore/Modules/filesystem/WorkerContextFileSystem.idl2
-rw-r--r--Source/WebCore/Modules/geolocation/GeolocationError.h2
-rw-r--r--Source/WebCore/Modules/geolocation/Geoposition.h2
-rw-r--r--Source/WebCore/Modules/geolocation/PositionError.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBAny.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBDatabase.cpp3
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBDatabaseError.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBFactory.cpp6
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBFactory.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBIndex.cpp6
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBIndex.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBIndexBackendInterface.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBKey.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBKeyPath.h6
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp22
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBMetadata.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp3
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBObjectStore.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp16
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendInterface.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBRequest.cpp2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBUpgradeNeededEvent.h2
-rw-r--r--Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.h2
-rw-r--r--Source/WebCore/Modules/mediasource/MediaSource.cpp61
-rw-r--r--Source/WebCore/Modules/mediasource/MediaSource.h29
-rw-r--r--Source/WebCore/Modules/mediasource/MediaSource.idl2
-rw-r--r--Source/WebCore/Modules/mediasource/SourceBufferList.cpp12
-rw-r--r--Source/WebCore/Modules/mediasource/SourceBufferList.h8
-rw-r--r--Source/WebCore/Modules/mediastream/MediaConstraintsImpl.cpp148
-rw-r--r--Source/WebCore/Modules/mediastream/MediaConstraintsImpl.h70
-rw-r--r--Source/WebCore/Modules/mediastream/MediaStreamEvent.h1
-rw-r--r--Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp4
-rw-r--r--Source/WebCore/Modules/mediastream/MediaStreamTrack.h2
-rw-r--r--Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp12
-rw-r--r--Source/WebCore/Modules/mediastream/PeerConnection00.cpp2
-rw-r--r--Source/WebCore/Modules/mediastream/RTCErrorCallback.h51
-rw-r--r--Source/WebCore/Modules/mediastream/RTCErrorCallback.idl40
-rw-r--r--Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp6
-rw-r--r--Source/WebCore/Modules/mediastream/RTCIceCandidate.h6
-rw-r--r--Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.cpp (renamed from Source/WebCore/platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp)49
-rw-r--r--Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.h58
-rw-r--r--Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.idl33
-rw-r--r--Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp379
-rw-r--r--Source/WebCore/Modules/mediastream/RTCPeerConnection.h62
-rw-r--r--Source/WebCore/Modules/mediastream/RTCPeerConnection.idl46
-rw-r--r--Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp6
-rw-r--r--Source/WebCore/Modules/mediastream/RTCSessionDescription.h4
-rw-r--r--Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h52
-rw-r--r--Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.idl40
-rw-r--r--Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp94
-rw-r--r--Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h71
-rw-r--r--Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp90
-rw-r--r--Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h70
-rw-r--r--Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.cpp (renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp)50
-rw-r--r--Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.h (renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.h)26
-rw-r--r--Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl (renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl)9
-rw-r--r--Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtilsClient.h (renamed from Source/WebCore/Modules/protocolhandler/RegisterProtocolHandlerClient.h)16
-rw-r--r--Source/WebCore/Modules/networkinfo/NetworkInfoConnection.h2
-rw-r--r--Source/WebCore/Modules/notifications/DOMWindowNotifications.h2
-rw-r--r--Source/WebCore/Modules/notifications/Notification.cpp7
-rw-r--r--Source/WebCore/Modules/notifications/Notification.h5
-rw-r--r--Source/WebCore/Modules/speech/SpeechGrammar.h2
-rw-r--r--Source/WebCore/Modules/speech/SpeechRecognition.h2
-rw-r--r--Source/WebCore/Modules/speech/SpeechRecognitionAlternative.h2
-rw-r--r--Source/WebCore/Modules/speech/SpeechRecognitionClient.h2
-rw-r--r--Source/WebCore/Modules/speech/SpeechRecognitionError.h2
-rw-r--r--Source/WebCore/Modules/webaudio/AudioContext.cpp2
-rw-r--r--Source/WebCore/Modules/webaudio/AudioParam.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/AbstractDatabase.h3
-rw-r--r--Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.h1
-rw-r--r--Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/Database.h3
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp2
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseDetails.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseSync.h3
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseTask.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp14
-rw-r--r--Source/WebCore/Modules/webdatabase/DatabaseTracker.h4
-rw-r--r--Source/WebCore/Modules/webdatabase/OriginUsageRecord.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/SQLError.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/SQLStatement.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/SQLStatementSync.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/SQLTransaction.cpp2
-rw-r--r--Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp2
-rw-r--r--Source/WebCore/Modules/webdatabase/SQLTransactionSync.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.h2
-rw-r--r--Source/WebCore/Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp2
-rw-r--r--Source/WebCore/Modules/webdatabase/chromium/QuotaTracker.h2
-rw-r--r--Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp3
-rw-r--r--Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h2
-rw-r--r--Source/WebCore/Modules/websockets/WebSocketHandshake.cpp20
-rw-r--r--Source/WebCore/Modules/websockets/WebSocketHandshake.h2
-rw-r--r--Source/WebCore/Modules/websockets/WebSocketHandshakeResponse.h2
-rw-r--r--Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp2
-rw-r--r--Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h2
-rw-r--r--Source/WebCore/PlatformEfl.cmake19
-rw-r--r--Source/WebCore/Resources/pagepopups/calendarPicker.js300
-rw-r--r--Source/WebCore/Resources/pagepopups/colorSuggestionPicker.js38
-rw-r--r--Source/WebCore/Resources/pagepopups/pickerCommon.js40
-rw-r--r--Source/WebCore/Target.pri849
-rw-r--r--Source/WebCore/UseJSC.cmake1
-rwxr-xr-xSource/WebCore/UseV8.cmake2
-rw-r--r--Source/WebCore/WebCore.exp.in17
-rw-r--r--Source/WebCore/WebCore.gyp/.gitignore11
-rw-r--r--Source/WebCore/WebCore.gyp/WebCore.gyp83
-rw-r--r--Source/WebCore/WebCore.gypi2538
-rw-r--r--Source/WebCore/WebCore.order4
-rw-r--r--Source/WebCore/WebCore.pri22
-rw-r--r--Source/WebCore/WebCore.qrc3
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWin.vcproj952
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops40
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinDebug.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinDebugAll.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinProduction.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinRelease.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCore.sln100
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCore.submit.sln104
-rwxr-xr-xSource/WebCore/WebCore.vcproj/WebCore.vcproj153834
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreCFNetwork.vsprops22
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreCG.vsprops22
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreCURL.vsprops24
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreCairo.vsprops22
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops34
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreDebug.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreDebugAll.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreGenerated.vcproj196
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreGeneratedCairo.vsprops28
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreGeneratedCommon.vsprops30
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreMediaQT.vsprops22
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreProduction.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCorePthreads.vsprops22
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreQuartzCore.vsprops24
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreRelease.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebCore/WebCore.vcproj/WebCoreTestSupport.vcproj1548
-rwxr-xr-xSource/WebCore/WebCore.vcproj/copyForwardingHeaders.cmd2
-rw-r--r--Source/WebCore/WebCore.xcodeproj/project.pbxproj206
-rw-r--r--Source/WebCore/accessibility/AccessibilityMediaControls.cpp38
-rw-r--r--Source/WebCore/accessibility/AccessibilityNodeObject.cpp28
-rw-r--r--Source/WebCore/accessibility/AccessibilityNodeObject.h3
-rw-r--r--Source/WebCore/accessibility/AccessibilityObject.cpp37
-rw-r--r--Source/WebCore/accessibility/AccessibilityObject.h10
-rw-r--r--Source/WebCore/accessibility/AccessibilityRenderObject.cpp110
-rw-r--r--Source/WebCore/accessibility/AccessibilityRenderObject.h3
-rw-r--r--Source/WebCore/accessibility/AccessibilitySlider.cpp2
-rw-r--r--Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp7
-rw-r--r--Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp32
-rw-r--r--Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp4
-rw-r--r--Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp8
-rw-r--r--Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm10
-rw-r--r--Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp3
-rw-r--r--Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h5
-rw-r--r--Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp2
-rw-r--r--Source/WebCore/bindings/gobject/GNUmakefile.am15
-rw-r--r--Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp25
-rw-r--r--Source/WebCore/bindings/gobject/WebKitDOMCustom.h3
-rw-r--r--Source/WebCore/bindings/js/CachedScriptSourceProvider.h7
-rw-r--r--Source/WebCore/bindings/js/Dictionary.cpp25
-rw-r--r--Source/WebCore/bindings/js/Dictionary.h3
-rw-r--r--Source/WebCore/bindings/js/GCController.cpp6
-rw-r--r--Source/WebCore/bindings/js/GCController.h4
-rw-r--r--Source/WebCore/bindings/js/IDBBindingUtilities.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSAttrCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSBlobCustom.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp7
-rw-r--r--Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSClipboardCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSDOMBinding.cpp40
-rw-r--r--Source/WebCore/bindings/js/JSDOMBinding.h38
-rw-r--r--Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSDOMStringListCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSDOMStringMapCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSDOMWindowCustom.cpp10
-rw-r--r--Source/WebCore/bindings/js/JSDOMWindowShell.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSDOMWindowShell.h2
-rw-r--r--Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSDictionary.cpp8
-rw-r--r--Source/WebCore/bindings/js/JSDocumentCustom.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSErrorHandler.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSEventListener.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSGeolocationCustom.cpp8
-rw-r--r--Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp8
-rw-r--r--Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp8
-rw-r--r--Source/WebCore/bindings/js/JSHTMLElementCustom.cpp9
-rw-r--r--Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSIDBAnyCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSIDBKeyCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSImageDataCustom.cpp3
-rw-r--r--Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp18
-rw-r--r--Source/WebCore/bindings/js/JSInjectedScriptManager.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp34
-rw-r--r--Source/WebCore/bindings/js/JSIntentConstructor.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp12
-rw-r--r--Source/WebCore/bindings/js/JSLazyEventListener.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSLazyEventListener.h2
-rw-r--r--Source/WebCore/bindings/js/JSLocationCustom.cpp42
-rw-r--r--Source/WebCore/bindings/js/JSMainThreadExecState.h6
-rw-r--r--Source/WebCore/bindings/js/JSMessageEventCustom.cpp10
-rw-r--r--Source/WebCore/bindings/js/JSMicroDataItemValueCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSNodeCustom.cpp2
-rw-r--r--Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSStorageCustom.cpp8
-rw-r--r--Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp6
-rw-r--r--Source/WebCore/bindings/js/JSWebSocketCustom.cpp8
-rw-r--r--Source/WebCore/bindings/js/JSWorkerContextCustom.cpp12
-rw-r--r--Source/WebCore/bindings/js/JSWorkerCustom.cpp4
-rw-r--r--Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp10
-rw-r--r--Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp55
-rw-r--r--Source/WebCore/bindings/js/JavaScriptCallFrame.cpp12
-rw-r--r--Source/WebCore/bindings/js/JavaScriptCallFrame.h4
-rw-r--r--Source/WebCore/bindings/js/ScheduledAction.cpp4
-rw-r--r--Source/WebCore/bindings/js/ScheduledAction.h2
-rw-r--r--Source/WebCore/bindings/js/ScriptCallStackFactory.cpp8
-rw-r--r--Source/WebCore/bindings/js/ScriptController.cpp7
-rw-r--r--Source/WebCore/bindings/js/ScriptDebugServer.cpp20
-rw-r--r--Source/WebCore/bindings/js/ScriptDebugServer.h6
-rw-r--r--Source/WebCore/bindings/js/ScriptEventListener.cpp8
-rw-r--r--Source/WebCore/bindings/js/ScriptFunctionCall.cpp16
-rw-r--r--Source/WebCore/bindings/js/ScriptFunctionCall.h6
-rw-r--r--Source/WebCore/bindings/js/ScriptHeapSnapshot.h2
-rw-r--r--Source/WebCore/bindings/js/ScriptProfile.cpp6
-rw-r--r--Source/WebCore/bindings/js/ScriptProfiler.cpp4
-rw-r--r--Source/WebCore/bindings/js/ScriptSourceProvider.h2
-rw-r--r--Source/WebCore/bindings/js/ScriptValue.cpp9
-rw-r--r--Source/WebCore/bindings/js/ScriptValue.h2
-rw-r--r--Source/WebCore/bindings/js/ScriptWrappable.h4
-rw-r--r--Source/WebCore/bindings/js/SerializedScriptValue.cpp56
-rw-r--r--Source/WebCore/bindings/js/SerializedScriptValue.h2
-rw-r--r--Source/WebCore/bindings/js/StringSourceProvider.h11
-rw-r--r--Source/WebCore/bindings/js/WorkerScriptController.cpp2
-rw-r--r--Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.mm2
-rw-r--r--Source/WebCore/bindings/objc/DOMXPath.mm2
-rw-r--r--Source/WebCore/bindings/objc/WebScriptObject.mm17
-rw-r--r--Source/WebCore/bindings/scripts/CodeGenerator.pm4
-rw-r--r--Source/WebCore/bindings/scripts/CodeGeneratorJS.pm33
-rw-r--r--Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm43
-rw-r--r--Source/WebCore/bindings/scripts/CodeGeneratorV8.pm142
-rwxr-xr-xSource/WebCore/bindings/scripts/generate-bindings.pl2
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp2
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp2
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp2
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp6
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp4
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp2
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp16
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp6
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp66
-rw-r--r--Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp8
-rw-r--r--Source/WebCore/bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h3
-rw-r--r--Source/WebCore/bindings/scripts/test/ObjC/DOMTestEventConstructor.h4
-rw-r--r--Source/WebCore/bindings/scripts/test/ObjC/DOMTestException.h2
-rw-r--r--Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h20
-rw-r--r--Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h154
-rw-r--r--Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h13
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp25
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h14
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp22
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp19
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp19
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp21
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp19
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestException.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp23
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp19
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp21
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp18
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestNode.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp77
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestObj.h16
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp21
-rw-r--r--Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h16
-rw-r--r--Source/WebCore/bindings/v8/DOMDataStore.cpp4
-rw-r--r--Source/WebCore/bindings/v8/DOMWrapperWorld.cpp71
-rw-r--r--Source/WebCore/bindings/v8/DOMWrapperWorld.h52
-rw-r--r--Source/WebCore/bindings/v8/Dictionary.cpp24
-rw-r--r--Source/WebCore/bindings/v8/Dictionary.h5
-rw-r--r--Source/WebCore/bindings/v8/IDBCustomBindings.cpp2
-rw-r--r--Source/WebCore/bindings/v8/IntrusiveDOMWrapperMap.h6
-rw-r--r--Source/WebCore/bindings/v8/JavaScriptCallFrame.h2
-rw-r--r--Source/WebCore/bindings/v8/NPV8Object.cpp2
-rw-r--r--Source/WebCore/bindings/v8/RetainedDOMInfo.cpp6
-rw-r--r--Source/WebCore/bindings/v8/ScheduledAction.cpp10
-rw-r--r--Source/WebCore/bindings/v8/ScopedPersistent.h5
-rw-r--r--Source/WebCore/bindings/v8/ScriptController.cpp31
-rw-r--r--Source/WebCore/bindings/v8/ScriptController.h4
-rw-r--r--Source/WebCore/bindings/v8/ScriptDebugServer.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptEventListener.cpp4
-rw-r--r--Source/WebCore/bindings/v8/ScriptFunctionCall.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptHeapSnapshot.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptProfile.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptProfileNode.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptProfiler.cpp2
-rw-r--r--Source/WebCore/bindings/v8/ScriptProfiler.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptSourceCode.h2
-rw-r--r--Source/WebCore/bindings/v8/ScriptValue.cpp6
-rw-r--r--Source/WebCore/bindings/v8/ScriptValue.h10
-rw-r--r--Source/WebCore/bindings/v8/ScriptWrappable.h4
-rw-r--r--Source/WebCore/bindings/v8/SerializedScriptValue.cpp42
-rw-r--r--Source/WebCore/bindings/v8/V8AbstractEventListener.cpp4
-rw-r--r--Source/WebCore/bindings/v8/V8AbstractEventListener.h7
-rw-r--r--Source/WebCore/bindings/v8/V8Binding.cpp11
-rw-r--r--Source/WebCore/bindings/v8/V8Binding.h3
-rw-r--r--Source/WebCore/bindings/v8/V8Collection.h20
-rw-r--r--Source/WebCore/bindings/v8/V8DOMMap.cpp10
-rw-r--r--Source/WebCore/bindings/v8/V8DOMMap.h6
-rw-r--r--Source/WebCore/bindings/v8/V8DOMWindowShell.cpp285
-rw-r--r--Source/WebCore/bindings/v8/V8DOMWindowShell.h22
-rw-r--r--Source/WebCore/bindings/v8/V8DOMWrapper.cpp54
-rw-r--r--Source/WebCore/bindings/v8/V8DOMWrapper.h13
-rw-r--r--Source/WebCore/bindings/v8/V8DependentRetained.h118
-rw-r--r--Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp13
-rw-r--r--Source/WebCore/bindings/v8/V8HiddenPropertyName.h5
-rw-r--r--Source/WebCore/bindings/v8/V8IsolatedContext.cpp10
-rw-r--r--Source/WebCore/bindings/v8/V8IsolatedContext.h10
-rw-r--r--Source/WebCore/bindings/v8/V8LazyEventListener.cpp6
-rw-r--r--Source/WebCore/bindings/v8/V8LazyEventListener.h2
-rw-r--r--Source/WebCore/bindings/v8/V8NPUtils.cpp2
-rw-r--r--Source/WebCore/bindings/v8/V8NodeFilterCondition.cpp13
-rw-r--r--Source/WebCore/bindings/v8/V8NodeFilterCondition.h31
-rw-r--r--Source/WebCore/bindings/v8/V8PerContextData.cpp23
-rw-r--r--Source/WebCore/bindings/v8/V8PerContextData.h8
-rw-r--r--Source/WebCore/bindings/v8/V8PerIsolateData.cpp3
-rw-r--r--Source/WebCore/bindings/v8/V8PerIsolateData.h6
-rw-r--r--Source/WebCore/bindings/v8/V8ThrowException.cpp2
-rw-r--r--Source/WebCore/bindings/v8/V8ValueCache.cpp2
-rw-r--r--Source/WebCore/bindings/v8/V8ValueCache.h5
-rw-r--r--Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp15
-rw-r--r--Source/WebCore/bindings/v8/WorkerContextExecutionProxy.h7
-rw-r--r--Source/WebCore/bindings/v8/WorkerScriptController.cpp1
-rw-r--r--Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp12
-rw-r--r--Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp24
-rw-r--r--Source/WebCore/bindings/v8/custom/V8CSSValueCustom.cpp16
-rw-r--r--Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp10
-rw-r--r--Source/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp15
-rwxr-xr-xSource/WebCore/bindings/v8/custom/V8DataViewCustom.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp16
-rw-r--r--Source/WebCore/bindings/v8/custom/V8DocumentLocationCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8EntryCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8EntrySyncCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8EventCustom.cpp12
-rwxr-xr-xSource/WebCore/bindings/v8/custom/V8FileReaderCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp22
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp18
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp16
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp5
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLLinkElementCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLOutputElementCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp20
-rw-r--r--Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8ImageDataCustom.cpp13
-rw-r--r--Source/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8MicroDataItemValueCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8NodeCustom.cpp35
-rw-r--r--Source/WebCore/bindings/v8/custom/V8NodeListCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8PerformanceCustom.cpp3
-rw-r--r--Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8PopStateEventCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8SVGDocumentCustom.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp4
-rw-r--r--Source/WebCore/bindings/v8/custom/V8SVGPathSegCustom.cpp42
-rw-r--r--Source/WebCore/bindings/v8/custom/V8ScriptProfileCustom.cpp5
-rw-r--r--Source/WebCore/bindings/v8/custom/V8ScriptProfileNodeCustom.cpp5
-rw-r--r--Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8StyleSheetListCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp2
-rw-r--r--Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp54
-rw-r--r--Source/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp12
-rw-r--r--Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp6
-rw-r--r--Source/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp51
-rw-r--r--Source/WebCore/bridge/IdentifierRep.cpp7
-rw-r--r--Source/WebCore/bridge/NP_jsobject.cpp8
-rw-r--r--Source/WebCore/bridge/c/c_class.cpp5
-rw-r--r--Source/WebCore/bridge/c/c_instance.cpp14
-rw-r--r--Source/WebCore/bridge/c/c_instance.h5
-rw-r--r--Source/WebCore/bridge/c/c_runtime.cpp1
-rw-r--r--Source/WebCore/bridge/c/c_utility.cpp8
-rw-r--r--Source/WebCore/bridge/jni/jni_jsobject.mm4
-rw-r--r--Source/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp10
-rw-r--r--Source/WebCore/bridge/jni/jsc/JavaFieldJSC.cpp4
-rw-r--r--Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp10
-rw-r--r--Source/WebCore/bridge/jni/jsc/JavaMethodJSC.cpp1
-rw-r--r--Source/WebCore/bridge/jni/jsc/JavaStringJSC.h7
-rw-r--r--Source/WebCore/bridge/objc/objc_class.mm4
-rw-r--r--Source/WebCore/bridge/objc/objc_instance.mm8
-rw-r--r--Source/WebCore/bridge/objc/objc_runtime.h8
-rw-r--r--Source/WebCore/bridge/objc/objc_runtime.mm10
-rw-r--r--Source/WebCore/bridge/objc/objc_utility.mm15
-rw-r--r--Source/WebCore/bridge/qt/qt_class.cpp4
-rw-r--r--Source/WebCore/bridge/qt/qt_instance.cpp69
-rw-r--r--Source/WebCore/bridge/qt/qt_instance.h1
-rw-r--r--Source/WebCore/bridge/qt/qt_pixmapruntime.cpp483
-rw-r--r--Source/WebCore/bridge/qt/qt_pixmapruntime.h23
-rw-r--r--Source/WebCore/bridge/qt/qt_runtime.cpp676
-rw-r--r--Source/WebCore/bridge/qt/qt_runtime.h27
-rw-r--r--Source/WebCore/bridge/runtime_method.cpp2
-rw-r--r--Source/WebCore/bridge/runtime_method.h4
-rw-r--r--Source/WebCore/bridge/testbindings.cpp2
-rw-r--r--Source/WebCore/bridge/testbindings.mm2
-rw-r--r--Source/WebCore/bridge/testqtbindings.cpp2
-rw-r--r--Source/WebCore/css/BasicShapeFunctions.cpp (renamed from Source/WebCore/css/WrapShapeFunctions.cpp)86
-rw-r--r--Source/WebCore/css/BasicShapeFunctions.h (renamed from Source/WebCore/css/WrapShapeFunctions.h)12
-rw-r--r--Source/WebCore/css/CSSAllInOne.cpp2
-rw-r--r--Source/WebCore/css/CSSAspectRatioValue.cpp4
-rw-r--r--Source/WebCore/css/CSSBasicShapes.cpp (renamed from Source/WebCore/css/CSSWrapShapes.cpp)61
-rw-r--r--Source/WebCore/css/CSSBasicShapes.h (renamed from Source/WebCore/css/CSSWrapShapes.h)54
-rw-r--r--Source/WebCore/css/CSSBorderImageSliceValue.cpp8
-rwxr-xr-xSource/WebCore/css/CSSCalculationValue.cpp149
-rwxr-xr-xSource/WebCore/css/CSSCalculationValue.h11
-rw-r--r--Source/WebCore/css/CSSCanvasValue.cpp13
-rw-r--r--Source/WebCore/css/CSSCharsetRule.cpp4
-rw-r--r--Source/WebCore/css/CSSCharsetRule.h2
-rw-r--r--Source/WebCore/css/CSSComputedStyleDeclaration.cpp140
-rw-r--r--Source/WebCore/css/CSSComputedStyleDeclaration.h10
-rw-r--r--Source/WebCore/css/CSSCrossfadeValue.cpp20
-rw-r--r--Source/WebCore/css/CSSCursorImageValue.cpp6
-rw-r--r--Source/WebCore/css/CSSFontFaceRule.cpp18
-rw-r--r--Source/WebCore/css/CSSFontFaceSrcValue.cpp24
-rw-r--r--Source/WebCore/css/CSSFontFaceSrcValue.h2
-rw-r--r--Source/WebCore/css/CSSFunctionValue.cpp14
-rw-r--r--Source/WebCore/css/CSSGradientValue.cpp182
-rw-r--r--Source/WebCore/css/CSSGrammar.y31
-rw-r--r--Source/WebCore/css/CSSImageGeneratorValue.cpp4
-rw-r--r--Source/WebCore/css/CSSImageSetValue.cpp6
-rw-r--r--Source/WebCore/css/CSSImageValue.cpp4
-rw-r--r--Source/WebCore/css/CSSImportRule.cpp11
-rw-r--r--Source/WebCore/css/CSSImportRule.h2
-rw-r--r--Source/WebCore/css/CSSInheritedValue.cpp6
-rw-r--r--Source/WebCore/css/CSSInitialValue.cpp6
-rw-r--r--Source/WebCore/css/CSSLineBoxContainValue.cpp33
-rw-r--r--Source/WebCore/css/CSSMediaRule.cpp4
-rw-r--r--Source/WebCore/css/CSSMediaRule.h2
-rw-r--r--Source/WebCore/css/CSSPageRule.cpp29
-rw-r--r--Source/WebCore/css/CSSParser.cpp1235
-rw-r--r--Source/WebCore/css/CSSParser.h128
-rw-r--r--Source/WebCore/css/CSSParserValues.cpp92
-rw-r--r--Source/WebCore/css/CSSParserValues.h70
-rw-r--r--Source/WebCore/css/CSSPrimitiveValue.cpp104
-rw-r--r--Source/WebCore/css/CSSPrimitiveValue.h12
-rw-r--r--Source/WebCore/css/CSSPrimitiveValueMappings.h20
-rw-r--r--Source/WebCore/css/CSSProperty.cpp20
-rw-r--r--Source/WebCore/css/CSSPropertyNames.in4
-rw-r--r--Source/WebCore/css/CSSPropertySourceData.cpp19
-rw-r--r--Source/WebCore/css/CSSPropertySourceData.h2
-rw-r--r--Source/WebCore/css/CSSReflectValue.cpp23
-rw-r--r--Source/WebCore/css/CSSRule.cpp2
-rw-r--r--Source/WebCore/css/CSSRuleList.cpp2
-rw-r--r--Source/WebCore/css/CSSRuleList.h4
-rw-r--r--Source/WebCore/css/CSSSelector.cpp70
-rw-r--r--Source/WebCore/css/CSSSelectorList.cpp4
-rw-r--r--Source/WebCore/css/CSSStyleRule.cpp25
-rw-r--r--Source/WebCore/css/CSSStyleSheet.cpp37
-rw-r--r--Source/WebCore/css/CSSStyleSheet.h3
-rw-r--r--Source/WebCore/css/CSSTimingFunctionValue.cpp32
-rw-r--r--Source/WebCore/css/CSSToStyleMap.cpp2
-rw-r--r--Source/WebCore/css/CSSUnicodeRangeValue.cpp6
-rw-r--r--Source/WebCore/css/CSSUnknownRule.h4
-rw-r--r--Source/WebCore/css/CSSValue.cpp15
-rw-r--r--Source/WebCore/css/CSSValue.h5
-rw-r--r--Source/WebCore/css/CSSValueKeywords.in5
-rw-r--r--Source/WebCore/css/CSSValueList.cpp5
-rw-r--r--Source/WebCore/css/CSSVariableValue.h4
-rw-r--r--Source/WebCore/css/Counter.h2
-rw-r--r--Source/WebCore/css/FontFeatureValue.cpp10
-rw-r--r--Source/WebCore/css/FontFeatureValue.h2
-rw-r--r--Source/WebCore/css/FontValue.cpp5
-rw-r--r--Source/WebCore/css/LengthFunctions.cpp1
-rw-r--r--Source/WebCore/css/MediaList.cpp15
-rw-r--r--Source/WebCore/css/MediaQuery.cpp4
-rw-r--r--Source/WebCore/css/MediaQuery.h2
-rw-r--r--Source/WebCore/css/MediaQueryEvaluator.h2
-rw-r--r--Source/WebCore/css/MediaQueryExp.cpp4
-rw-r--r--Source/WebCore/css/MediaQueryListListener.h3
-rw-r--r--Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp8
-rw-r--r--Source/WebCore/css/ShadowValue.cpp33
-rw-r--r--Source/WebCore/css/StyleBuilder.cpp85
-rw-r--r--Source/WebCore/css/StyleMedia.h2
-rw-r--r--Source/WebCore/css/StylePropertySet.cpp172
-rw-r--r--Source/WebCore/css/StylePropertySet.h5
-rw-r--r--Source/WebCore/css/StylePropertyShorthand.cpp4
-rw-r--r--Source/WebCore/css/StylePropertyShorthand.h2
-rw-r--r--Source/WebCore/css/StyleResolver.cpp113
-rw-r--r--Source/WebCore/css/StyleResolver.h4
-rw-r--r--Source/WebCore/css/StyleRule.cpp16
-rw-r--r--Source/WebCore/css/StyleRuleImport.cpp132
-rw-r--r--Source/WebCore/css/StyleRuleImport.h42
-rw-r--r--Source/WebCore/css/StyleSheet.h2
-rw-r--r--Source/WebCore/css/StyleSheetContents.cpp155
-rw-r--r--Source/WebCore/css/StyleSheetContents.h32
-rw-r--r--Source/WebCore/css/StyleSheetList.cpp2
-rw-r--r--Source/WebCore/css/WebKitCSSArrayFunctionValue.cpp67
-rw-r--r--Source/WebCore/css/WebKitCSSArrayFunctionValue.h (renamed from Source/WebCore/rendering/RenderFlowThreadContainer.h)32
-rw-r--r--Source/WebCore/css/WebKitCSSFilterValue.cpp4
-rw-r--r--Source/WebCore/css/WebKitCSSKeyframeRule.cpp23
-rw-r--r--Source/WebCore/css/WebKitCSSKeyframesRule.cpp6
-rw-r--r--Source/WebCore/css/WebKitCSSMatrix.h2
-rw-r--r--Source/WebCore/css/WebKitCSSMixFunctionValue.cpp4
-rw-r--r--Source/WebCore/css/WebKitCSSMixFunctionValue.h4
-rw-r--r--Source/WebCore/css/WebKitCSSRegionRule.cpp2
-rw-r--r--Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp4
-rw-r--r--Source/WebCore/css/WebKitCSSShaderValue.cpp4
-rw-r--r--Source/WebCore/css/WebKitCSSTransformValue.cpp6
-rw-r--r--Source/WebCore/css/html.css4
-rw-r--r--Source/WebCore/css/mathml.css38
-rw-r--r--Source/WebCore/css/mediaControlsChromium.css13
-rw-r--r--Source/WebCore/dom/Attr.cpp2
-rw-r--r--Source/WebCore/dom/Attr.h2
-rw-r--r--Source/WebCore/dom/Attribute.h2
-rw-r--r--Source/WebCore/dom/CDATASection.cpp2
-rw-r--r--Source/WebCore/dom/CDATASection.h2
-rw-r--r--Source/WebCore/dom/CharacterData.cpp4
-rw-r--r--Source/WebCore/dom/Comment.cpp2
-rw-r--r--Source/WebCore/dom/Comment.h2
-rw-r--r--Source/WebCore/dom/ContainerNode.cpp155
-rw-r--r--Source/WebCore/dom/ContainerNode.h6
-rw-r--r--Source/WebCore/dom/ContainerNodeAlgorithms.cpp2
-rw-r--r--Source/WebCore/dom/ContainerNodeAlgorithms.h53
-rw-r--r--Source/WebCore/dom/DOMAllInOne.cpp3
-rw-r--r--Source/WebCore/dom/DOMNamedFlowCollection.cpp72
-rw-r--r--Source/WebCore/dom/DOMNamedFlowCollection.h (renamed from Source/WebCore/rendering/style/WrapShapes.cpp)48
-rw-r--r--Source/WebCore/dom/DOMNamedFlowCollection.idl (renamed from Source/WebCore/rendering/RenderFlowThreadContainer.cpp)28
-rw-r--r--Source/WebCore/dom/DOMStringList.h2
-rw-r--r--Source/WebCore/dom/DOMStringMap.h2
-rw-r--r--Source/WebCore/dom/Document.cpp128
-rw-r--r--Source/WebCore/dom/Document.h26
-rw-r--r--Source/WebCore/dom/Document.idl5
-rw-r--r--Source/WebCore/dom/DocumentEventQueue.cpp4
-rw-r--r--Source/WebCore/dom/DocumentFragment.cpp2
-rw-r--r--Source/WebCore/dom/DocumentFragment.h2
-rw-r--r--Source/WebCore/dom/DocumentMarker.h3
-rw-r--r--Source/WebCore/dom/DocumentMarkerController.h1
-rw-r--r--Source/WebCore/dom/DocumentType.cpp2
-rw-r--r--Source/WebCore/dom/DocumentType.h2
-rw-r--r--Source/WebCore/dom/Element.cpp69
-rw-r--r--Source/WebCore/dom/Element.h9
-rw-r--r--Source/WebCore/dom/ElementAttributeData.cpp33
-rw-r--r--Source/WebCore/dom/ElementAttributeData.h15
-rw-r--r--Source/WebCore/dom/ElementShadow.cpp12
-rw-r--r--Source/WebCore/dom/ElementShadow.h1
-rw-r--r--Source/WebCore/dom/EntityReference.cpp2
-rw-r--r--Source/WebCore/dom/EntityReference.h2
-rw-r--r--Source/WebCore/dom/ErrorEvent.h2
-rw-r--r--Source/WebCore/dom/Event.cpp3
-rw-r--r--Source/WebCore/dom/Event.h298
-rw-r--r--Source/WebCore/dom/EventDispatchMediator.cpp1
-rw-r--r--Source/WebCore/dom/EventListenerMap.cpp161
-rw-r--r--Source/WebCore/dom/EventListenerMap.h19
-rw-r--r--Source/WebCore/dom/EventNames.h2
-rw-r--r--Source/WebCore/dom/EventNames.in1
-rw-r--r--Source/WebCore/dom/ExceptionBase.h2
-rw-r--r--Source/WebCore/dom/MemoryInstrumentation.h257
-rw-r--r--Source/WebCore/dom/MessagePort.cpp5
-rw-r--r--Source/WebCore/dom/MessagePortChannel.h4
-rw-r--r--Source/WebCore/dom/MicroDataItemList.cpp3
-rw-r--r--Source/WebCore/dom/MouseRelatedEvent.h2
-rw-r--r--Source/WebCore/dom/MutationRecord.h2
-rw-r--r--Source/WebCore/dom/NamedFlowCollection.cpp (renamed from Source/WebCore/dom/WebKitNamedFlowCollection.cpp)37
-rw-r--r--Source/WebCore/dom/NamedFlowCollection.h (renamed from Source/WebCore/dom/WebKitNamedFlowCollection.h)36
-rw-r--r--Source/WebCore/dom/Node.cpp67
-rw-r--r--Source/WebCore/dom/Node.h18
-rw-r--r--Source/WebCore/dom/Node.idl4
-rw-r--r--Source/WebCore/dom/Notation.cpp2
-rw-r--r--Source/WebCore/dom/Notation.h2
-rw-r--r--Source/WebCore/dom/Position.cpp18
-rw-r--r--Source/WebCore/dom/ProcessingInstruction.cpp4
-rw-r--r--Source/WebCore/dom/ProcessingInstruction.h2
-rw-r--r--Source/WebCore/dom/QualifiedName.h6
-rw-r--r--Source/WebCore/dom/Range.cpp29
-rw-r--r--Source/WebCore/dom/Range.h2
-rw-r--r--Source/WebCore/dom/ScriptElement.cpp2
-rw-r--r--Source/WebCore/dom/SecurityContext.cpp5
-rw-r--r--Source/WebCore/dom/ShadowRoot.cpp32
-rw-r--r--Source/WebCore/dom/ShadowRoot.h4
-rw-r--r--Source/WebCore/dom/ShadowRoot.idl3
-rw-r--r--Source/WebCore/dom/StyleElement.cpp3
-rw-r--r--Source/WebCore/dom/Text.cpp25
-rw-r--r--Source/WebCore/dom/Text.h2
-rw-r--r--Source/WebCore/dom/Touch.h2
-rw-r--r--Source/WebCore/dom/TransformSource.h4
-rw-r--r--Source/WebCore/dom/TreeScopeAdopter.h4
-rw-r--r--Source/WebCore/dom/UIEvent.cpp1
-rw-r--r--Source/WebCore/dom/UserGestureIndicator.cpp14
-rw-r--r--Source/WebCore/dom/UserGestureIndicator.h4
-rw-r--r--Source/WebCore/dom/ViewportArguments.cpp2
-rw-r--r--Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp112
-rw-r--r--Source/WebCore/dom/WebCoreMemoryInstrumentation.h92
-rw-r--r--Source/WebCore/dom/WebKitNamedFlow.cpp12
-rw-r--r--Source/WebCore/dom/WebKitNamedFlow.h8
-rwxr-xr-xSource/WebCore/dom/make_names.pl30
-rw-r--r--Source/WebCore/editing/ApplyStyleCommand.cpp43
-rw-r--r--Source/WebCore/editing/DOMTransactionStep.h1
-rw-r--r--Source/WebCore/editing/EditingStyle.h2
-rw-r--r--Source/WebCore/editing/Editor.h1
-rw-r--r--Source/WebCore/editing/EditorCommand.cpp18
-rw-r--r--Source/WebCore/editing/HTMLInterchange.cpp34
-rw-r--r--Source/WebCore/editing/MarkupAccumulator.cpp12
-rw-r--r--Source/WebCore/editing/MarkupAccumulator.h1
-rw-r--r--Source/WebCore/editing/SmartReplaceICU.cpp10
-rw-r--r--Source/WebCore/editing/SpellChecker.h2
-rw-r--r--Source/WebCore/editing/SurroundingText.h2
-rw-r--r--Source/WebCore/editing/VisiblePosition.h2
-rw-r--r--Source/WebCore/editing/VisibleSelection.cpp17
-rw-r--r--Source/WebCore/editing/markup.cpp24
-rw-r--r--Source/WebCore/editing/visible_units.cpp5
-rw-r--r--Source/WebCore/editing/visible_units.h4
-rw-r--r--Source/WebCore/fileapi/AsyncFileStream.cpp2
-rw-r--r--Source/WebCore/fileapi/Blob.h2
-rw-r--r--Source/WebCore/fileapi/BlobURL.cpp8
-rw-r--r--Source/WebCore/fileapi/File.h2
-rw-r--r--Source/WebCore/fileapi/FileReader.cpp2
-rw-r--r--Source/WebCore/history/HistoryItem.cpp12
-rw-r--r--Source/WebCore/history/HistoryItem.h3
-rw-r--r--Source/WebCore/history/blackberry/HistoryItemViewState.h2
-rw-r--r--Source/WebCore/history/cf/HistoryPropertyList.h2
-rw-r--r--Source/WebCore/html/ColorInputType.cpp2
-rw-r--r--Source/WebCore/html/DOMFormData.cpp2
-rw-r--r--Source/WebCore/html/DOMURL.h2
-rw-r--r--Source/WebCore/html/FormAssociatedElement.h7
-rw-r--r--Source/WebCore/html/FormController.cpp6
-rw-r--r--Source/WebCore/html/HTMLAnchorElement.cpp19
-rw-r--r--Source/WebCore/html/HTMLCollection.h2
-rw-r--r--Source/WebCore/html/HTMLDialogElement.cpp6
-rw-r--r--Source/WebCore/html/HTMLDialogElement.h1
-rw-r--r--Source/WebCore/html/HTMLElement.cpp5
-rw-r--r--Source/WebCore/html/HTMLElement.h1
-rw-r--r--Source/WebCore/html/HTMLFrameElementBase.cpp5
-rw-r--r--Source/WebCore/html/HTMLImageElement.cpp8
-rw-r--r--Source/WebCore/html/HTMLImageElement.h2
-rw-r--r--Source/WebCore/html/HTMLInputElement.cpp33
-rw-r--r--Source/WebCore/html/HTMLInputElement.h10
-rw-r--r--Source/WebCore/html/HTMLLinkElement.cpp5
-rw-r--r--Source/WebCore/html/HTMLMediaElement.cpp112
-rw-r--r--Source/WebCore/html/HTMLMediaElement.h5
-rw-r--r--Source/WebCore/html/HTMLTableElement.cpp2
-rw-r--r--Source/WebCore/html/HTMLTextAreaElement.cpp19
-rw-r--r--Source/WebCore/html/HTMLTextAreaElement.h3
-rw-r--r--Source/WebCore/html/HTMLTitleElement.cpp9
-rw-r--r--Source/WebCore/html/HTMLTrackElement.cpp2
-rw-r--r--Source/WebCore/html/ImageInputType.cpp4
-rw-r--r--Source/WebCore/html/InputType.cpp16
-rw-r--r--Source/WebCore/html/InputType.h5
-rw-r--r--Source/WebCore/html/MicroDataItemValue.h2
-rw-r--r--Source/WebCore/html/PublicURLManager.h2
-rw-r--r--Source/WebCore/html/RangeInputType.cpp5
-rw-r--r--Source/WebCore/html/RangeInputType.h1
-rw-r--r--Source/WebCore/html/TimeInputType.cpp55
-rw-r--r--Source/WebCore/html/TimeInputType.h9
-rw-r--r--Source/WebCore/html/ValidationMessage.cpp2
-rw-r--r--Source/WebCore/html/canvas/CanvasPattern.cpp2
-rw-r--r--Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp25
-rw-r--r--Source/WebCore/html/canvas/CanvasRenderingContext2D.h2
-rw-r--r--Source/WebCore/html/canvas/CanvasStyle.h2
-rw-r--r--Source/WebCore/html/canvas/WebGLActiveInfo.h2
-rw-r--r--Source/WebCore/html/canvas/WebGLGetInfo.h3
-rw-r--r--Source/WebCore/html/canvas/WebGLRenderingContext.cpp18
-rw-r--r--Source/WebCore/html/canvas/WebGLRenderingContext.h2
-rw-r--r--Source/WebCore/html/parser/CSSPreloadScanner.h1
-rw-r--r--Source/WebCore/html/parser/HTMLElementStack.h1
-rw-r--r--Source/WebCore/html/parser/HTMLEntitySearch.h2
-rw-r--r--Source/WebCore/html/parser/HTMLEntityTable.h2
-rw-r--r--Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp2
-rw-r--r--Source/WebCore/html/parser/HTMLParserIdioms.cpp4
-rw-r--r--Source/WebCore/html/parser/HTMLTokenizer.cpp10
-rw-r--r--Source/WebCore/html/parser/HTMLTreeBuilder.h2
-rw-r--r--Source/WebCore/html/parser/XSSAuditor.cpp6
-rw-r--r--Source/WebCore/html/shadow/CalendarPickerElement.cpp113
-rw-r--r--Source/WebCore/html/shadow/CalendarPickerElement.h19
-rw-r--r--Source/WebCore/html/shadow/ContentDistributor.cpp6
-rw-r--r--Source/WebCore/html/shadow/ContentDistributor.h3
-rw-r--r--Source/WebCore/html/shadow/DateTimeEditElement.cpp219
-rw-r--r--Source/WebCore/html/shadow/DateTimeEditElement.h25
-rw-r--r--Source/WebCore/html/shadow/DateTimeFieldElement.cpp67
-rw-r--r--Source/WebCore/html/shadow/DateTimeFieldElement.h22
-rw-r--r--Source/WebCore/html/shadow/DateTimeFieldElements.cpp40
-rw-r--r--Source/WebCore/html/shadow/DateTimeFieldElements.h20
-rw-r--r--Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp10
-rw-r--r--Source/WebCore/html/shadow/DateTimeNumericFieldElement.h3
-rw-r--r--Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp43
-rw-r--r--Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h9
-rw-r--r--Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp25
-rw-r--r--Source/WebCore/html/shadow/MediaControlRootElementChromium.h2
-rw-r--r--Source/WebCore/html/shadow/SliderThumbElement.cpp8
-rw-r--r--Source/WebCore/html/shadow/TextControlInnerElements.cpp2
-rw-r--r--Source/WebCore/html/track/TextTrack.cpp60
-rw-r--r--Source/WebCore/html/track/TextTrack.h11
-rw-r--r--Source/WebCore/html/track/TextTrack.idl6
-rw-r--r--Source/WebCore/html/track/TextTrackCue.cpp40
-rw-r--r--Source/WebCore/html/track/WebVTTParser.h3
-rwxr-xr-xSource/WebCore/inspector/CodeGeneratorInspector.py305
-rw-r--r--Source/WebCore/inspector/ContentSearchUtils.cpp4
-rw-r--r--Source/WebCore/inspector/ContentSearchUtils.h2
-rw-r--r--Source/WebCore/inspector/IdentifiersFactory.cpp4
-rw-r--r--Source/WebCore/inspector/InjectedScript.cpp2
-rw-r--r--Source/WebCore/inspector/InjectedScriptBase.cpp2
-rw-r--r--Source/WebCore/inspector/InjectedScriptExterns.js20
-rw-r--r--Source/WebCore/inspector/InjectedScriptManager.h3
-rw-r--r--Source/WebCore/inspector/InjectedScriptModule.h2
-rw-r--r--Source/WebCore/inspector/InjectedScriptSource.js50
-rw-r--r--Source/WebCore/inspector/InjectedScriptWebGLModule.h2
-rw-r--r--Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js1298
-rw-r--r--Source/WebCore/inspector/Inspector.json173
-rw-r--r--Source/WebCore/inspector/InspectorAgent.h2
-rw-r--r--Source/WebCore/inspector/InspectorCSSAgent.cpp12
-rw-r--r--Source/WebCore/inspector/InspectorCSSAgent.h5
-rw-r--r--Source/WebCore/inspector/InspectorClient.cpp4
-rw-r--r--Source/WebCore/inspector/InspectorConsoleAgent.cpp12
-rw-r--r--Source/WebCore/inspector/InspectorController.h2
-rw-r--r--Source/WebCore/inspector/InspectorDOMAgent.cpp17
-rw-r--r--Source/WebCore/inspector/InspectorDOMDebuggerAgent.h2
-rw-r--r--Source/WebCore/inspector/InspectorDOMStorageAgent.h2
-rw-r--r--Source/WebCore/inspector/InspectorDatabaseAgent.cpp120
-rw-r--r--Source/WebCore/inspector/InspectorDatabaseAgent.h9
-rw-r--r--Source/WebCore/inspector/InspectorDatabaseResource.h2
-rw-r--r--Source/WebCore/inspector/InspectorDebuggerAgent.cpp8
-rw-r--r--Source/WebCore/inspector/InspectorDebuggerAgent.h2
-rw-r--r--Source/WebCore/inspector/InspectorFileSystemAgent.cpp210
-rw-r--r--Source/WebCore/inspector/InspectorFileSystemAgent.h17
-rw-r--r--Source/WebCore/inspector/InspectorFrontendClientLocal.cpp11
-rw-r--r--Source/WebCore/inspector/InspectorFrontendClientLocal.h7
-rw-r--r--Source/WebCore/inspector/InspectorFrontendHost.h3
-rw-r--r--Source/WebCore/inspector/InspectorIndexedDBAgent.cpp131
-rw-r--r--Source/WebCore/inspector/InspectorIndexedDBAgent.h13
-rw-r--r--Source/WebCore/inspector/InspectorInstrumentation.cpp18
-rw-r--r--Source/WebCore/inspector/InspectorInstrumentation.h24
-rw-r--r--Source/WebCore/inspector/InspectorMemoryAgent.cpp98
-rw-r--r--Source/WebCore/inspector/InspectorOverlay.cpp559
-rw-r--r--Source/WebCore/inspector/InspectorOverlay.h21
-rw-r--r--Source/WebCore/inspector/InspectorOverlayPage.html435
-rw-r--r--Source/WebCore/inspector/InspectorPageAgent.cpp19
-rw-r--r--Source/WebCore/inspector/InspectorPageAgent.h3
-rw-r--r--Source/WebCore/inspector/InspectorProfilerAgent.cpp8
-rw-r--r--Source/WebCore/inspector/InspectorProfilerAgent.h3
-rw-r--r--Source/WebCore/inspector/InspectorResourceAgent.h2
-rw-r--r--Source/WebCore/inspector/InspectorState.h3
-rw-r--r--Source/WebCore/inspector/InspectorStyleSheet.cpp38
-rw-r--r--Source/WebCore/inspector/InspectorStyleSheet.h2
-rw-r--r--Source/WebCore/inspector/InspectorStyleTextEditor.cpp4
-rw-r--r--Source/WebCore/inspector/InspectorStyleTextEditor.h2
-rw-r--r--Source/WebCore/inspector/InspectorTimelineAgent.cpp32
-rw-r--r--Source/WebCore/inspector/InspectorTimelineAgent.h7
-rw-r--r--Source/WebCore/inspector/InspectorValues.h2
-rw-r--r--Source/WebCore/inspector/InspectorWebGLAgent.h2
-rw-r--r--Source/WebCore/inspector/InspectorWorkerResource.h2
-rw-r--r--Source/WebCore/inspector/MemoryInstrumentationImpl.cpp10
-rw-r--r--Source/WebCore/inspector/MemoryInstrumentationImpl.h16
-rw-r--r--Source/WebCore/inspector/NetworkResourcesData.cpp2
-rw-r--r--Source/WebCore/inspector/PageRuntimeAgent.cpp2
-rw-r--r--Source/WebCore/inspector/ScriptArguments.h2
-rw-r--r--Source/WebCore/inspector/ScriptBreakpoint.h2
-rw-r--r--Source/WebCore/inspector/ScriptCallFrame.h2
-rw-r--r--Source/WebCore/inspector/ScriptDebugListener.h2
-rw-r--r--Source/WebCore/inspector/TimelineRecordFactory.cpp1
-rw-r--r--Source/WebCore/inspector/TimelineRecordFactory.h2
-rwxr-xr-xSource/WebCore/inspector/compile-front-end.py19
-rw-r--r--Source/WebCore/inspector/front-end/AdvancedSearchController.js2
-rw-r--r--Source/WebCore/inspector/front-end/AuditFormatters.js2
-rw-r--r--Source/WebCore/inspector/front-end/AuditResultView.js8
-rw-r--r--Source/WebCore/inspector/front-end/BreakpointManager.js2
-rw-r--r--Source/WebCore/inspector/front-end/CSSCompletions.js7
-rw-r--r--Source/WebCore/inspector/front-end/CompilerScriptMapping.js92
-rw-r--r--Source/WebCore/inspector/front-end/ConsoleMessage.js2
-rw-r--r--Source/WebCore/inspector/front-end/ConsoleView.js175
-rw-r--r--Source/WebCore/inspector/front-end/ContentProviders.js8
-rw-r--r--Source/WebCore/inspector/front-end/DOMAgent.js15
-rw-r--r--Source/WebCore/inspector/front-end/DOMPresentationUtils.js48
-rw-r--r--Source/WebCore/inspector/front-end/Database.js84
-rw-r--r--Source/WebCore/inspector/front-end/DatabaseQueryView.js13
-rw-r--r--Source/WebCore/inspector/front-end/DebuggerModel.js17
-rw-r--r--Source/WebCore/inspector/front-end/DebuggerScriptMapping.js14
-rw-r--r--Source/WebCore/inspector/front-end/DefaultTextEditor.js23
-rw-r--r--Source/WebCore/inspector/front-end/ElementsPanel.js33
-rw-r--r--Source/WebCore/inspector/front-end/ElementsPanelDescriptor.js56
-rw-r--r--Source/WebCore/inspector/front-end/ElementsTreeOutline.js141
-rw-r--r--Source/WebCore/inspector/front-end/ExtensionServer.js2
-rw-r--r--Source/WebCore/inspector/front-end/FileSystemModel.js392
-rw-r--r--Source/WebCore/inspector/front-end/FileSystemView.js28
-rw-r--r--Source/WebCore/inspector/front-end/FileUtils.js205
-rw-r--r--Source/WebCore/inspector/front-end/FilteredItemSelectionDialog.js44
-rw-r--r--Source/WebCore/inspector/front-end/HandlerRegistry.js35
-rw-r--r--Source/WebCore/inspector/front-end/HeapSnapshot.js17
-rw-r--r--Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js2
-rw-r--r--Source/WebCore/inspector/front-end/HeapSnapshotLoader.js18
-rw-r--r--Source/WebCore/inspector/front-end/HeapSnapshotView.js106
-rw-r--r--Source/WebCore/inspector/front-end/HeapSnapshotWorker.js1
-rw-r--r--Source/WebCore/inspector/front-end/Images/statusbarButtonGlyphs2x.pngbin0 -> 6340 bytes
-rw-r--r--Source/WebCore/inspector/front-end/IndexedDBModel.js392
-rw-r--r--Source/WebCore/inspector/front-end/JavaScriptSource.js5
-rw-r--r--Source/WebCore/inspector/front-end/Linkifier.js2
-rw-r--r--Source/WebCore/inspector/front-end/NativeMemorySnapshotView.js3
-rw-r--r--Source/WebCore/inspector/front-end/NetworkPanel.js6
-rw-r--r--Source/WebCore/inspector/front-end/NetworkUISourceCodeProvider.js96
-rw-r--r--Source/WebCore/inspector/front-end/ObjectPropertiesSection.js45
-rw-r--r--Source/WebCore/inspector/front-end/ParsedURL.js17
-rw-r--r--Source/WebCore/inspector/front-end/Popover.js2
-rw-r--r--Source/WebCore/inspector/front-end/ProfilesPanel.js3
-rw-r--r--Source/WebCore/inspector/front-end/RawSourceCode.js145
-rw-r--r--Source/WebCore/inspector/front-end/Resource.js34
-rw-r--r--Source/WebCore/inspector/front-end/ResourceScriptMapping.js248
-rw-r--r--Source/WebCore/inspector/front-end/ResourceTreeModel.js22
-rw-r--r--Source/WebCore/inspector/front-end/ResourceUtils.js45
-rw-r--r--Source/WebCore/inspector/front-end/RevisionHistoryView.js2
-rw-r--r--Source/WebCore/inspector/front-end/RuntimeModel.js (renamed from Source/WebCore/inspector/front-end/JavaScriptContextManager.js)104
-rw-r--r--Source/WebCore/inspector/front-end/SASSSourceMapping.js31
-rw-r--r--Source/WebCore/inspector/front-end/ScriptSnippetModel.js69
-rw-r--r--Source/WebCore/inspector/front-end/ScriptsPanel.js58
-rw-r--r--Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js10
-rw-r--r--Source/WebCore/inspector/front-end/Settings.js1
-rw-r--r--Source/WebCore/inspector/front-end/SettingsScreen.js4
-rw-r--r--Source/WebCore/inspector/front-end/SourceCSSTokenizer.js1148
-rw-r--r--Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js101
-rw-r--r--Source/WebCore/inspector/front-end/SourceFrame.js11
-rw-r--r--Source/WebCore/inspector/front-end/SourceTokenizer.js3
-rw-r--r--Source/WebCore/inspector/front-end/StyleSheetOutlineDialog.js11
-rw-r--r--Source/WebCore/inspector/front-end/StyleSource.js88
-rw-r--r--Source/WebCore/inspector/front-end/StylesSidebarPane.js88
-rw-r--r--Source/WebCore/inspector/front-end/StylesSourceMapping.js95
-rw-r--r--Source/WebCore/inspector/front-end/TextEditor.js10
-rw-r--r--Source/WebCore/inspector/front-end/TimelineGrid.js2
-rw-r--r--Source/WebCore/inspector/front-end/TimelineModel.js330
-rw-r--r--Source/WebCore/inspector/front-end/TimelinePanel.js48
-rw-r--r--Source/WebCore/inspector/front-end/TimelinePresentationModel.js139
-rw-r--r--Source/WebCore/inspector/front-end/UISourceCode.js14
-rw-r--r--Source/WebCore/inspector/front-end/UIUtils.js71
-rw-r--r--Source/WebCore/inspector/front-end/WebGLProfileView.js278
-rw-r--r--Source/WebCore/inspector/front-end/WebKit.qrc9
-rw-r--r--Source/WebCore/inspector/front-end/WorkerManager.js8
-rw-r--r--Source/WebCore/inspector/front-end/Workspace.js142
-rw-r--r--Source/WebCore/inspector/front-end/filteredItemSelectionDialog.css8
-rw-r--r--Source/WebCore/inspector/front-end/heapProfiler.css5
-rw-r--r--Source/WebCore/inspector/front-end/inspector.css15
-rw-r--r--Source/WebCore/inspector/front-end/inspector.html9
-rw-r--r--Source/WebCore/inspector/front-end/inspector.js25
-rw-r--r--Source/WebCore/inspector/front-end/inspectorSyntaxHighlight.css2
-rw-r--r--Source/WebCore/inspector/front-end/scriptsPanel.css31
-rw-r--r--Source/WebCore/inspector/front-end/timelinePanel.css18
-rw-r--r--Source/WebCore/inspector/front-end/utilities.js26
-rw-r--r--Source/WebCore/inspector/front-end/webGLProfiler.css67
-rwxr-xr-xSource/WebCore/inspector/generate-inspector-protocol-version3
-rw-r--r--Source/WebCore/loader/DocumentLoader.cpp10
-rw-r--r--Source/WebCore/loader/DocumentWriter.h2
-rw-r--r--Source/WebCore/loader/EmptyClients.cpp8
-rw-r--r--Source/WebCore/loader/EmptyClients.h4
-rw-r--r--Source/WebCore/loader/FTPDirectoryParser.h2
-rw-r--r--Source/WebCore/loader/FormState.h2
-rw-r--r--Source/WebCore/loader/FrameLoader.cpp92
-rw-r--r--Source/WebCore/loader/FrameLoader.h3
-rw-r--r--Source/WebCore/loader/HistoryController.cpp20
-rw-r--r--Source/WebCore/loader/HistoryController.h2
-rw-r--r--Source/WebCore/loader/ImageLoader.cpp2
-rw-r--r--Source/WebCore/loader/ImageLoader.h1
-rw-r--r--Source/WebCore/loader/MainResourceLoader.cpp4
-rw-r--r--Source/WebCore/loader/PolicyChecker.h2
-rw-r--r--Source/WebCore/loader/Prerenderer.cpp10
-rw-r--r--Source/WebCore/loader/Prerenderer.h1
-rw-r--r--Source/WebCore/loader/PrerendererClient.cpp1
-rw-r--r--Source/WebCore/loader/ResourceLoadScheduler.h1
-rw-r--r--Source/WebCore/loader/ResourceLoader.cpp2
-rw-r--r--Source/WebCore/loader/SubframeLoader.cpp3
-rw-r--r--Source/WebCore/loader/SubframeLoader.h3
-rw-r--r--Source/WebCore/loader/SubresourceLoader.cpp4
-rw-r--r--Source/WebCore/loader/SubstituteData.cpp4
-rw-r--r--Source/WebCore/loader/SubstituteData.h1
-rw-r--r--Source/WebCore/loader/TextTrackLoader.cpp2
-rw-r--r--Source/WebCore/loader/TextTrackLoader.h2
-rw-r--r--Source/WebCore/loader/WorkerThreadableLoader.h2
-rw-r--r--Source/WebCore/loader/appcache/ApplicationCache.cpp10
-rw-r--r--Source/WebCore/loader/appcache/ApplicationCache.h2
-rw-r--r--Source/WebCore/loader/appcache/ApplicationCacheGroup.h3
-rw-r--r--Source/WebCore/loader/appcache/ApplicationCacheStorage.h6
-rw-r--r--Source/WebCore/loader/appcache/ManifestParser.cpp2
-rw-r--r--Source/WebCore/loader/archive/ArchiveFactory.cpp2
-rw-r--r--Source/WebCore/loader/archive/ArchiveResourceCollection.h2
-rw-r--r--Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp19
-rw-r--r--Source/WebCore/loader/cache/CachedCSSStyleSheet.h6
-rw-r--r--Source/WebCore/loader/cache/CachedFont.cpp15
-rw-r--r--Source/WebCore/loader/cache/CachedFont.h5
-rw-r--r--Source/WebCore/loader/cache/CachedImage.cpp14
-rw-r--r--Source/WebCore/loader/cache/CachedRawResource.cpp4
-rwxr-xr-xSource/WebCore/loader/cache/CachedResource.cpp4
-rw-r--r--Source/WebCore/loader/cache/CachedResource.h8
-rw-r--r--Source/WebCore/loader/cache/CachedResourceHandle.cpp4
-rw-r--r--Source/WebCore/loader/cache/CachedResourceLoader.cpp2
-rw-r--r--Source/WebCore/loader/cache/CachedSVGDocument.cpp2
-rw-r--r--Source/WebCore/loader/cache/CachedScript.cpp14
-rw-r--r--Source/WebCore/loader/cache/CachedScript.h1
-rw-r--r--Source/WebCore/loader/cache/CachedShader.cpp4
-rw-r--r--Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp18
-rw-r--r--Source/WebCore/loader/cache/CachedXSLStyleSheet.h5
-rw-r--r--Source/WebCore/loader/cache/MemoryCache.cpp4
-rw-r--r--Source/WebCore/loader/cache/MemoryCache.h2
-rw-r--r--Source/WebCore/loader/icon/IconDatabase.cpp20
-rw-r--r--Source/WebCore/loader/icon/IconRecord.h5
-rw-r--r--Source/WebCore/loader/icon/PageURLRecord.h3
-rw-r--r--Source/WebCore/loader/mac/LoaderNSURLExtras.mm2
-rw-r--r--Source/WebCore/loader/win/DocumentLoaderWin.cpp2
-rw-r--r--Source/WebCore/page/Chrome.cpp1
-rw-r--r--Source/WebCore/page/ChromeClient.h7
-rw-r--r--Source/WebCore/page/Console.cpp2
-rw-r--r--Source/WebCore/page/ContentSecurityPolicy.cpp72
-rw-r--r--Source/WebCore/page/ContentSecurityPolicy.h1
-rw-r--r--Source/WebCore/page/ContextMenuController.cpp2
-rw-r--r--Source/WebCore/page/Coordinates.h1
-rw-r--r--Source/WebCore/page/Crypto.cpp4
-rw-r--r--Source/WebCore/page/DOMSelection.cpp2
-rw-r--r--Source/WebCore/page/DOMWindow.cpp12
-rw-r--r--Source/WebCore/page/DOMWindow.idl6
-rw-r--r--Source/WebCore/page/DiagnosticLoggingKeys.cpp18
-rw-r--r--Source/WebCore/page/DragController.cpp4
-rw-r--r--Source/WebCore/page/EditorClient.h4
-rw-r--r--Source/WebCore/page/EventHandler.cpp76
-rw-r--r--Source/WebCore/page/EventHandler.h7
-rw-r--r--Source/WebCore/page/EventSource.cpp20
-rw-r--r--Source/WebCore/page/FocusController.cpp4
-rw-r--r--Source/WebCore/page/Frame.cpp15
-rw-r--r--Source/WebCore/page/FrameTree.cpp31
-rw-r--r--Source/WebCore/page/FrameView.cpp170
-rw-r--r--Source/WebCore/page/FrameView.h26
-rw-r--r--Source/WebCore/page/GroupSettings.h2
-rw-r--r--Source/WebCore/page/History.idl8
-rw-r--r--Source/WebCore/page/NavigatorBase.cpp3
-rw-r--r--Source/WebCore/page/OriginAccessEntry.h2
-rw-r--r--Source/WebCore/page/Page.cpp3
-rw-r--r--Source/WebCore/page/Page.h2
-rw-r--r--Source/WebCore/page/PageVisibilityState.cpp8
-rw-r--r--Source/WebCore/page/PointerLockController.cpp21
-rw-r--r--Source/WebCore/page/PointerLockController.h3
-rw-r--r--Source/WebCore/page/SecurityOrigin.cpp32
-rw-r--r--Source/WebCore/page/SecurityOrigin.h27
-rw-r--r--Source/WebCore/page/Settings.cpp2
-rw-r--r--Source/WebCore/page/Settings.h8
-rw-r--r--Source/WebCore/page/SpatialNavigation.cpp2
-rw-r--r--Source/WebCore/page/SpeechInputResult.h2
-rw-r--r--Source/WebCore/page/TouchDisambiguation.cpp127
-rw-r--r--Source/WebCore/page/TouchDisambiguation.h (renamed from Source/WebCore/bindings/v8/IsolatedWorld.cpp)24
-rw-r--r--Source/WebCore/page/UserContentURLPattern.cpp2
-rw-r--r--Source/WebCore/page/UserContentURLPattern.h2
-rw-r--r--Source/WebCore/page/WindowFeatures.cpp1
-rw-r--r--Source/WebCore/page/WindowFeatures.h2
-rw-r--r--Source/WebCore/page/WorkerNavigator.h2
-rw-r--r--Source/WebCore/page/animation/AnimationControllerPrivate.h2
-rw-r--r--Source/WebCore/page/animation/CSSPropertyAnimation.cpp4
-rw-r--r--Source/WebCore/page/mac/EventHandlerMac.mm3
-rw-r--r--Source/WebCore/page/scrolling/ScrollingConstraints.cpp84
-rw-r--r--Source/WebCore/page/scrolling/ScrollingConstraints.h116
-rw-r--r--Source/WebCore/page/scrolling/ScrollingCoordinator.cpp69
-rw-r--r--Source/WebCore/page/scrolling/ScrollingCoordinator.h13
-rw-r--r--Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp8
-rw-r--r--Source/WebCore/page/scrolling/ScrollingTree.cpp2
-rw-r--r--Source/WebCore/page/scrolling/ScrollingTree.h2
-rw-r--r--Source/WebCore/page/scrolling/ScrollingTreeNode.cpp6
-rw-r--r--Source/WebCore/page/scrolling/ScrollingTreeNode.h5
-rw-r--r--Source/WebCore/page/scrolling/ScrollingTreeState.cpp10
-rw-r--r--Source/WebCore/page/scrolling/ScrollingTreeState.h18
-rw-r--r--Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp35
-rw-r--r--Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm2
-rw-r--r--Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm61
-rw-r--r--Source/WebCore/platform/AsyncFileSystem.h2
-rw-r--r--Source/WebCore/platform/AsyncFileSystemCallbacks.h2
-rw-r--r--Source/WebCore/platform/ContentType.h2
-rw-r--r--Source/WebCore/platform/ContextMenu.h3
-rw-r--r--Source/WebCore/platform/ContextMenuItem.h2
-rw-r--r--Source/WebCore/platform/Cookie.h2
-rw-r--r--Source/WebCore/platform/CrossThreadCopier.cpp3
-rw-r--r--Source/WebCore/platform/DateComponents.cpp2
-rw-r--r--Source/WebCore/platform/DateTimeChooser.h (renamed from Source/WebCore/bindings/v8/IsolatedWorld.h)48
-rw-r--r--Source/WebCore/platform/DateTimeChooserClient.h (renamed from Source/WebCore/dom/MemoryInstrumentation.cpp)48
-rw-r--r--Source/WebCore/platform/Decimal.cpp11
-rw-r--r--Source/WebCore/platform/FileChooser.h2
-rw-r--r--Source/WebCore/platform/FileStream.cpp3
-rw-r--r--Source/WebCore/platform/FileSystem.h4
-rw-r--r--Source/WebCore/platform/FractionalLayoutUnit.h18
-rw-r--r--Source/WebCore/platform/KURL.cpp2
-rw-r--r--Source/WebCore/platform/KURL.h6
-rw-r--r--Source/WebCore/platform/KURLHash.h2
-rw-r--r--Source/WebCore/platform/KURLWTFURL.cpp8
-rw-r--r--Source/WebCore/platform/KillRing.h2
-rw-r--r--Source/WebCore/platform/Language.cpp2
-rw-r--r--Source/WebCore/platform/Length.cpp2
-rw-r--r--Source/WebCore/platform/Length.h1
-rw-r--r--Source/WebCore/platform/LinkHash.cpp3
-rw-r--r--Source/WebCore/platform/LocalizedStrings.cpp7
-rw-r--r--Source/WebCore/platform/LocalizedStrings.h13
-rw-r--r--Source/WebCore/platform/Logging.cpp3
-rwxr-xr-xSource/WebCore/platform/MIMETypeRegistry.cpp91
-rw-r--r--Source/WebCore/platform/MIMETypeRegistry.h2
-rw-r--r--Source/WebCore/platform/Pasteboard.h7
-rw-r--r--Source/WebCore/platform/PlatformWheelEvent.h14
-rw-r--r--Source/WebCore/platform/SSLKeyGenerator.h2
-rw-r--r--Source/WebCore/platform/SchemeRegistry.h2
-rw-r--r--Source/WebCore/platform/ScrollAnimatorNone.cpp8
-rw-r--r--Source/WebCore/platform/ScrollableArea.h1
-rw-r--r--Source/WebCore/platform/SharedBuffer.cpp23
-rw-r--r--Source/WebCore/platform/SharedBuffer.h8
-rw-r--r--Source/WebCore/platform/Theme.h2
-rw-r--r--Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp (renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp)54
-rw-r--r--Source/WebCore/platform/TouchFlingPlatformGestureCurve.h (renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h)19
-rw-r--r--Source/WebCore/platform/TreeShared.h2
-rw-r--r--Source/WebCore/platform/UUID.h2
-rw-r--r--Source/WebCore/platform/animation/Animation.cpp2
-rw-r--r--Source/WebCore/platform/animation/Animation.h2
-rw-r--r--Source/WebCore/platform/audio/HRTFElevation.cpp2
-rw-r--r--Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp26
-rw-r--r--Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp7
-rw-r--r--Source/WebCore/platform/audio/qt/AudioBusQt.cpp40
-rw-r--r--Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h40
-rw-r--r--Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp77
-rw-r--r--Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h2
-rw-r--r--Source/WebCore/platform/blackberry/CookieManager.cpp43
-rw-r--r--Source/WebCore/platform/blackberry/CookieManager.h8
-rw-r--r--Source/WebCore/platform/blackberry/CookieMap.h2
-rw-r--r--Source/WebCore/platform/blackberry/CookieParser.cpp60
-rw-r--r--Source/WebCore/platform/blackberry/CookieParser.h2
-rw-r--r--Source/WebCore/platform/blackberry/DragDataBlackBerry.cpp3
-rw-r--r--Source/WebCore/platform/blackberry/FileSystemBlackBerry.cpp4
-rw-r--r--Source/WebCore/platform/blackberry/KURLBlackBerry.cpp2
-rw-r--r--Source/WebCore/platform/blackberry/LocalizedStringsBlackBerry.cpp4
-rw-r--r--Source/WebCore/platform/blackberry/PageClientBlackBerry.h5
-rw-r--r--Source/WebCore/platform/blackberry/ParsedCookie.cpp3
-rw-r--r--Source/WebCore/platform/blackberry/ParsedCookie.h4
-rw-r--r--Source/WebCore/platform/blackberry/PlatformKeyboardEventBlackBerry.cpp6
-rw-r--r--Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp2
-rw-r--r--Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp2
-rw-r--r--Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp2
-rw-r--r--Source/WebCore/platform/cf/FileSystemCF.cpp2
-rw-r--r--Source/WebCore/platform/cf/SchedulePair.h3
-rw-r--r--Source/WebCore/platform/chromium/ChromiumDataObject.h2
-rw-r--r--Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp4
-rw-r--r--Source/WebCore/platform/chromium/DragDataChromium.cpp2
-rw-r--r--Source/WebCore/platform/chromium/FileSystemChromium.cpp2
-rw-r--r--Source/WebCore/platform/chromium/FileSystemChromiumMac.mm6
-rw-r--r--Source/WebCore/platform/chromium/LanguageChromium.cpp2
-rw-r--r--Source/WebCore/platform/chromium/LinkHashChromium.cpp51
-rw-r--r--Source/WebCore/platform/chromium/PlatformSupport.h16
-rw-r--r--Source/WebCore/platform/chromium/PopupListBox.cpp5
-rw-r--r--Source/WebCore/platform/chromium/PopupListBox.h7
-rw-r--r--Source/WebCore/platform/chromium/PopupMenuChromium.cpp3
-rw-r--r--Source/WebCore/platform/chromium/PopupMenuChromium.h4
-rw-r--r--Source/WebCore/platform/chromium/Prerender.cpp1
-rw-r--r--Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp2
-rw-r--r--Source/WebCore/platform/chromium/support/GraphicsContext3DChromium.cpp2
-rw-r--r--Source/WebCore/platform/chromium/support/GraphicsContext3DPrivate.cpp2
-rw-r--r--Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.cpp16
-rw-r--r--Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.h2
-rw-r--r--Source/WebCore/platform/chromium/support/WebCompositorImpl.cpp6
-rw-r--r--Source/WebCore/platform/chromium/support/WebCompositorImpl.h2
-rw-r--r--Source/WebCore/platform/chromium/support/WebHTTPLoadInfo.cpp2
-rw-r--r--Source/WebCore/platform/chromium/support/WebMediaConstraints.cpp106
-rw-r--r--Source/WebCore/platform/chromium/support/WebRTCICECandidate.cpp95
-rw-r--r--Source/WebCore/platform/chromium/support/WebRTCSessionDescription.cpp96
-rw-r--r--Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp99
-rw-r--r--Source/WebCore/platform/chromium/support/WebRTCVoidRequest.cpp97
-rw-r--r--Source/WebCore/platform/chromium/support/WebScrollbarImpl.cpp (renamed from Source/WebKit/chromium/src/WebScrollbarImpl.cpp)5
-rw-r--r--Source/WebCore/platform/chromium/support/WebScrollbarImpl.h (renamed from Source/WebKit/chromium/src/WebScrollbarImpl.h)2
-rw-r--r--Source/WebCore/platform/chromium/support/WebTransformOperations.cpp263
-rw-r--r--Source/WebCore/platform/chromium/support/WebTransformationMatrix.cpp6
-rw-r--r--Source/WebCore/platform/chromium/support/WebURLResponse.cpp2
-rw-r--r--Source/WebCore/platform/cocoa/KeyEventCocoa.mm2
-rw-r--r--Source/WebCore/platform/efl/BatteryProviderEfl.cpp3
-rw-r--r--Source/WebCore/platform/efl/ContextMenuItemEfl.cpp19
-rw-r--r--Source/WebCore/platform/efl/EflScreenUtilities.cpp103
-rw-r--r--Source/WebCore/platform/efl/EflScreenUtilities.h1
-rw-r--r--Source/WebCore/platform/efl/ErrorsEfl.h2
-rw-r--r--Source/WebCore/platform/efl/FileSystemEfl.cpp10
-rw-r--r--Source/WebCore/platform/efl/LanguageEfl.cpp3
-rw-r--r--Source/WebCore/platform/efl/LocalizedStringsEfl.cpp2
-rw-r--r--Source/WebCore/platform/efl/LoggingEfl.cpp2
-rw-r--r--Source/WebCore/platform/efl/PasteboardEfl.cpp2
-rw-r--r--Source/WebCore/platform/efl/PlatformScreenEfl.cpp83
-rw-r--r--Source/WebCore/platform/efl/RenderThemeEfl.cpp370
-rw-r--r--Source/WebCore/platform/efl/RenderThemeEfl.h44
-rw-r--r--Source/WebCore/platform/efl/SoundEfl.cpp5
-rw-r--r--Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp16
-rw-r--r--Source/WebCore/platform/graphics/ANGLEWebKitBridge.h11
-rw-r--r--Source/WebCore/platform/graphics/BitmapImage.cpp61
-rw-r--r--Source/WebCore/platform/graphics/BitmapImage.h9
-rw-r--r--Source/WebCore/platform/graphics/Color.cpp28
-rw-r--r--Source/WebCore/platform/graphics/Color.h5
-rw-r--r--Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp9
-rw-r--r--Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h3
-rw-r--r--Source/WebCore/platform/graphics/Font.cpp72
-rw-r--r--Source/WebCore/platform/graphics/Font.h15
-rw-r--r--Source/WebCore/platform/graphics/FontCache.h7
-rw-r--r--Source/WebCore/platform/graphics/FontPlatformData.cpp2
-rw-r--r--Source/WebCore/platform/graphics/FontPlatformData.h1
-rw-r--r--Source/WebCore/platform/graphics/FractionalLayoutRect.h12
-rw-r--r--Source/WebCore/platform/graphics/GeneratedImage.cpp89
-rw-r--r--Source/WebCore/platform/graphics/GeneratedImage.h2
-rw-r--r--Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp15
-rw-r--r--Source/WebCore/platform/graphics/GeneratorGeneratedImage.h3
-rw-r--r--Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp10
-rw-r--r--Source/WebCore/platform/graphics/GraphicsContext.cpp3
-rw-r--r--Source/WebCore/platform/graphics/GraphicsContext3D.h13
-rw-r--r--Source/WebCore/platform/graphics/GraphicsLayer.cpp10
-rw-r--r--Source/WebCore/platform/graphics/GraphicsLayer.h5
-rw-r--r--Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp7
-rw-r--r--Source/WebCore/platform/graphics/GraphicsLayerClient.h6
-rw-r--r--Source/WebCore/platform/graphics/GraphicsTypes.cpp2
-rw-r--r--Source/WebCore/platform/graphics/Image.cpp9
-rw-r--r--Source/WebCore/platform/graphics/Image.h3
-rw-r--r--Source/WebCore/platform/graphics/ImageSource.cpp7
-rw-r--r--Source/WebCore/platform/graphics/ImageSource.h4
-rw-r--r--Source/WebCore/platform/graphics/MediaPlayer.cpp6
-rw-r--r--Source/WebCore/platform/graphics/MediaPlayer.h6
-rw-r--r--Source/WebCore/platform/graphics/MediaPlayerPrivate.h1
-rw-r--r--Source/WebCore/platform/graphics/NativeImagePtr.h4
-rw-r--r--Source/WebCore/platform/graphics/OpenGLShims.cpp60
-rw-r--r--Source/WebCore/platform/graphics/OpenGLShims.h190
-rw-r--r--Source/WebCore/platform/graphics/SegmentedFontData.cpp2
-rw-r--r--Source/WebCore/platform/graphics/SimpleFontData.cpp13
-rw-r--r--Source/WebCore/platform/graphics/SimpleFontData.h14
-rw-r--r--Source/WebCore/platform/graphics/TextRun.cpp2
-rw-r--r--Source/WebCore/platform/graphics/TextRun.h89
-rw-r--r--Source/WebCore/platform/graphics/TiledBacking.h1
-rw-r--r--Source/WebCore/platform/graphics/TiledBackingStore.cpp16
-rw-r--r--Source/WebCore/platform/graphics/WidthIterator.cpp4
-rw-r--r--Source/WebCore/platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp6
-rw-r--r--Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp15
-rw-r--r--Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.h3
-rw-r--r--Source/WebCore/platform/graphics/blackberry/IconBlackBerry.cpp2
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp2
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.h8
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerData.h5
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp184
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.h123
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp32
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp19
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp32
-rw-r--r--Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h4
-rw-r--r--Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp31
-rw-r--r--Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h7
-rw-r--r--Source/WebCore/platform/graphics/blackberry/skia/PlatformSupport.h2
-rw-r--r--Source/WebCore/platform/graphics/ca/PlatformCALayer.h2
-rw-r--r--Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h2
-rw-r--r--Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm2
-rw-r--r--Source/WebCore/platform/graphics/ca/mac/TileCache.h3
-rw-r--r--Source/WebCore/platform/graphics/ca/mac/TileCache.mm5
-rw-r--r--Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h5
-rw-r--r--Source/WebCore/platform/graphics/ca/mac/WebTileLayer.mm2
-rw-r--r--Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp2
-rw-r--r--Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/cairo/GLContext.cpp1
-rw-r--r--Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp61
-rw-r--r--Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp22
-rw-r--r--Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h7
-rw-r--r--Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp2
-rw-r--r--Source/WebCore/platform/graphics/cairo/PathCairo.cpp2
-rw-r--r--Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp192
-rw-r--r--Source/WebCore/platform/graphics/cg/ImageCG.cpp154
-rw-r--r--Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp6
-rw-r--r--Source/WebCore/platform/graphics/cg/ImageSourceCGMac.mm4
-rw-r--r--Source/WebCore/platform/graphics/cg/PathCG.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp53
-rw-r--r--Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h46
-rw-r--r--Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp97
-rw-r--r--Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp58
-rw-r--r--Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.h19
-rw-r--r--Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.cpp137
-rw-r--r--Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.h63
-rw-r--r--Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp27
-rw-r--r--Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h23
-rw-r--r--Source/WebCore/platform/graphics/chromium/ContentLayerChromiumClient.h (renamed from Source/WebCore/platform/graphics/chromium/cc/CCGestureCurve.h)31
-rw-r--r--Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp19
-rw-r--r--Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp45
-rw-r--r--Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp25
-rw-r--r--Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.h9
-rw-r--r--Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp13
-rw-r--r--Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp168
-rw-r--r--Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h29
-rw-r--r--Source/WebCore/platform/graphics/chromium/IconChromium.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/IconChromiumAndroid.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/LayerChromium.cpp24
-rw-r--r--Source/WebCore/platform/graphics/chromium/LayerChromium.h20
-rw-r--r--Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp1
-rw-r--r--Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h15
-rw-r--r--Source/WebCore/platform/graphics/chromium/TextureLayerChromiumClient.h (renamed from Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.cpp)42
-rw-r--r--Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCAppendQuadsData.h (renamed from Source/WebKit/chromium/public/WebTouchCandidatesInfo.h)37
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.cpp8
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.h6
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp15
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h2
-rwxr-xr-x[-rw-r--r--]Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.cpp34
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp4
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp6
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCInputHandler.h12
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp4
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h8
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp72
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h37
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h63
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp7
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp105
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h15
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp40
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.h3
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCProxy.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp7
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h5
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCQuadSink.h3
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp34
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h58
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp20
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h13
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderPassSink.h (renamed from Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.h)24
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp25
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h10
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp10
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp29
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScheduler.cpp25
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScheduler.h4
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp50
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.h3
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp115
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h60
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp130
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.h73
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp16
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h12
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp7
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.h3
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp10
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h14
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp6
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp6
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp119
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h12
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp13
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h2
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp14
-rw-r--r--Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h2
-rw-r--r--Source/WebCore/platform/graphics/clutter/GraphicsContext3DClutter.cpp4
-rw-r--r--Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm2
-rw-r--r--Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp4
-rw-r--r--Source/WebCore/platform/graphics/efl/IconEfl.cpp2
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp77
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h38
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp44
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.h29
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterMesh.cpp203
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.cpp173
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.h129
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterParameter.h3
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterProgramInfo.h1
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterTransformParameter.h90
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp286
-rw-r--r--Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h124
-rw-r--r--Source/WebCore/platform/graphics/filters/FEBlend.h3
-rw-r--r--Source/WebCore/platform/graphics/filters/FEComposite.h2
-rw-r--r--Source/WebCore/platform/graphics/filters/FECustomFilter.cpp83
-rw-r--r--Source/WebCore/platform/graphics/filters/FECustomFilter.h14
-rw-r--r--Source/WebCore/platform/graphics/filters/FEDisplacementMap.h2
-rw-r--r--Source/WebCore/platform/graphics/filters/SourceAlpha.cpp3
-rw-r--r--Source/WebCore/platform/graphics/filters/SourceAlpha.h2
-rw-r--r--Source/WebCore/platform/graphics/filters/SourceGraphic.cpp3
-rw-r--r--Source/WebCore/platform/graphics/filters/SourceGraphic.h2
-rw-r--r--Source/WebCore/platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp62
-rw-r--r--Source/WebCore/platform/graphics/filters/skia/FEBlendSkia.cpp89
-rw-r--r--Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp2
-rw-r--r--Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp12
-rw-r--r--Source/WebCore/platform/graphics/gpu/DrawingBuffer.h5
-rw-r--r--Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp8
-rw-r--r--Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp9
-rw-r--r--Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp42
-rw-r--r--Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h7
-rw-r--r--Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp4
-rw-r--r--Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp2
-rw-r--r--Source/WebCore/platform/graphics/mac/ComplexTextController.cpp151
-rw-r--r--Source/WebCore/platform/graphics/mac/ComplexTextController.h19
-rw-r--r--Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm4
-rw-r--r--Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm5
-rw-r--r--Source/WebCore/platform/graphics/mac/IconMac.mm2
-rw-r--r--Source/WebCore/platform/graphics/mac/ImageMac.mm2
-rw-r--r--Source/WebCore/platform/graphics/mac/WebGLLayer.mm1
-rw-r--r--Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h2
-rw-r--r--Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp4
-rw-r--r--Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp18
-rw-r--r--Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp5
-rw-r--r--Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h1
-rw-r--r--Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h2
-rw-r--r--Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp1
-rw-r--r--Source/WebCore/platform/graphics/openvg/PathOpenVG.cpp2
-rw-r--r--Source/WebCore/platform/graphics/pango/FontPango.cpp8
-rw-r--r--Source/WebCore/platform/graphics/pango/FontPlatformDataPango.cpp6
-rw-r--r--Source/WebCore/platform/graphics/qt/FontCacheQt.cpp2
-rw-r--r--Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp2
-rw-r--r--Source/WebCore/platform/graphics/qt/FontQt.cpp8
-rw-r--r--Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp134
-rw-r--r--Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp2
-rw-r--r--Source/WebCore/platform/graphics/qt/IconQt.cpp3
-rw-r--r--Source/WebCore/platform/graphics/qt/ImageQt.cpp2
-rw-r--r--Source/WebCore/platform/graphics/qt/PathQt.cpp2
-rw-r--r--Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h2
-rw-r--r--Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp2
-rw-r--r--Source/WebCore/platform/graphics/skia/ImageSkia.cpp2
-rw-r--r--Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp4
-rw-r--r--Source/WebCore/platform/graphics/surfaces/GraphicsSurface.cpp5
-rw-r--r--Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h4
-rw-r--r--Source/WebCore/platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp8
-rw-r--r--Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp9
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp9
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp438
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperGL.h32
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp4
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp242
-rw-r--r--Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h143
-rw-r--r--Source/WebCore/platform/graphics/transforms/TransformState.h2
-rw-r--r--Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp1
-rw-r--r--Source/WebCore/platform/graphics/transforms/TransformationMatrix.h1
-rw-r--r--Source/WebCore/platform/graphics/win/FontCGWin.cpp175
-rw-r--r--Source/WebCore/platform/graphics/win/FontCustomPlatformData.h2
-rw-r--r--Source/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/IconWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/ImageCGWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/ImageCairoWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp2
-rw-r--r--Source/WebCore/platform/graphics/win/UniscribeController.cpp4
-rw-r--r--Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h3
-rw-r--r--Source/WebCore/platform/graphics/wince/FontPlatformData.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wince/FontWinCE.cpp10
-rw-r--r--Source/WebCore/platform/graphics/wince/ImageWinCE.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wince/MediaPlayerProxy.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wince/PathWinCE.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wince/PlatformPathWinCE.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wx/FontCacheWx.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp4
-rw-r--r--Source/WebCore/platform/graphics/wx/IconWx.cpp2
-rw-r--r--Source/WebCore/platform/graphics/wx/PathWx.cpp2
-rw-r--r--Source/WebCore/platform/gtk/ErrorsGtk.h2
-rw-r--r--Source/WebCore/platform/gtk/FileSystemGtk.cpp2
-rw-r--r--Source/WebCore/platform/gtk/GtkPopupMenu.h2
-rw-r--r--Source/WebCore/platform/gtk/KeyBindingTranslator.h2
-rw-r--r--Source/WebCore/platform/gtk/LanguageGtk.cpp2
-rw-r--r--Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp2
-rw-r--r--Source/WebCore/platform/gtk/LoggingGtk.cpp2
-rw-r--r--Source/WebCore/platform/gtk/PasteboardGtk.cpp16
-rw-r--r--Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp10
-rw-r--r--Source/WebCore/platform/gtk/UserAgentGtk.cpp106
-rw-r--r--Source/WebCore/platform/gtk/UserAgentGtk.h.in (renamed from Source/JavaScriptCore/runtime/UStringBuilder.h)31
-rw-r--r--Source/WebCore/platform/image-decoders/ImageDecoder.cpp8
-rw-r--r--Source/WebCore/platform/image-decoders/ImageDecoder.h5
-rw-r--r--Source/WebCore/platform/leveldb/LevelDBSlice.h2
-rw-r--r--Source/WebCore/platform/mac/FileSystemMac.mm3
-rw-r--r--Source/WebCore/platform/mac/WebCoreObjCExtras.mm3
-rw-r--r--Source/WebCore/platform/mediastream/MediaConstraints.h59
-rw-r--r--Source/WebCore/platform/mediastream/MediaStreamCenter.h4
-rw-r--r--Source/WebCore/platform/mediastream/MediaStreamSource.h2
-rw-r--r--Source/WebCore/platform/mediastream/RTCIceCandidateDescriptor.h6
-rw-r--r--Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp66
-rw-r--r--Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h21
-rw-r--r--Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h29
-rw-r--r--Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h4
-rw-r--r--Source/WebCore/platform/mediastream/RTCSessionDescriptionRequest.h71
-rw-r--r--Source/WebCore/platform/mediastream/RTCVoidRequest.h69
-rw-r--r--Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp10
-rw-r--r--Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h2
-rw-r--r--Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp6
-rw-r--r--Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.h4
-rw-r--r--Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp136
-rw-r--r--Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h28
-rw-r--r--Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp6
-rw-r--r--Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h4
-rw-r--r--Source/WebCore/platform/mock/GeolocationClientMock.h3
-rw-r--r--Source/WebCore/platform/network/BlobData.h2
-rw-r--r--Source/WebCore/platform/network/BlobRegistryImpl.h2
-rw-r--r--Source/WebCore/platform/network/BlobResourceHandle.h2
-rw-r--r--Source/WebCore/platform/network/ContentTypeParser.cpp2
-rw-r--r--Source/WebCore/platform/network/Credential.h2
-rw-r--r--Source/WebCore/platform/network/FormData.cpp4
-rw-r--r--Source/WebCore/platform/network/FormData.h2
-rw-r--r--Source/WebCore/platform/network/FormDataBuilder.h1
-rw-r--r--Source/WebCore/platform/network/HTTPParsers.cpp2
-rw-r--r--Source/WebCore/platform/network/HTTPRequest.h2
-rw-r--r--Source/WebCore/platform/network/HTTPValidation.cpp2
-rw-r--r--Source/WebCore/platform/network/NetworkStateNotifier.cpp2
-rw-r--r--Source/WebCore/platform/network/NetworkStateNotifier.h16
-rw-r--r--Source/WebCore/platform/network/ProtectionSpace.h3
-rw-r--r--Source/WebCore/platform/network/ProxyServer.cpp2
-rw-r--r--Source/WebCore/platform/network/ResourceErrorBase.cpp4
-rw-r--r--Source/WebCore/platform/network/ResourceErrorBase.h8
-rw-r--r--Source/WebCore/platform/network/ResourceRequestBase.cpp6
-rw-r--r--Source/WebCore/platform/network/ResourceResponseBase.cpp4
-rw-r--r--Source/WebCore/platform/network/SocketStreamErrorBase.h2
-rw-r--r--Source/WebCore/platform/network/blackberry/AutofillBackingStore.cpp4
-rw-r--r--Source/WebCore/platform/network/blackberry/CredentialBackingStore.cpp4
-rw-r--r--Source/WebCore/platform/network/blackberry/DNSBlackBerry.cpp2
-rw-r--r--Source/WebCore/platform/network/blackberry/DeferredData.h2
-rw-r--r--Source/WebCore/platform/network/blackberry/NetworkJob.cpp61
-rw-r--r--Source/WebCore/platform/network/blackberry/NetworkJob.h9
-rw-r--r--Source/WebCore/platform/network/blackberry/NetworkManager.cpp4
-rw-r--r--Source/WebCore/platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp4
-rw-r--r--Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.cpp2
-rw-r--r--Source/WebCore/platform/network/cf/CookieJarCFNet.cpp2
-rw-r--r--Source/WebCore/platform/network/curl/CookieJarCurl.cpp2
-rw-r--r--Source/WebCore/platform/network/curl/ResourceHandleManager.h2
-rw-r--r--Source/WebCore/platform/network/efl/NetworkStateNotifierEfl.cpp157
-rw-r--r--Source/WebCore/platform/network/qt/DnsPrefetchHelper.cpp2
-rw-r--r--Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp2
-rw-r--r--Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp2
-rw-r--r--Source/WebCore/platform/network/win/CookieJarWin.cpp2
-rw-r--r--Source/WebCore/platform/network/win/DownloadBundleWin.cpp2
-rw-r--r--Source/WebCore/platform/posix/FileSystemPOSIX.cpp2
-rw-r--r--Source/WebCore/platform/qt/ClipboardQt.cpp2
-rw-r--r--Source/WebCore/platform/qt/CookieJarQt.cpp5
-rw-r--r--Source/WebCore/platform/qt/FileSystemQt.cpp5
-rw-r--r--Source/WebCore/platform/qt/LanguageQt.cpp2
-rw-r--r--Source/WebCore/platform/qt/LocalizedStringsQt.cpp2
-rw-r--r--Source/WebCore/platform/qt/LoggingQt.cpp2
-rw-r--r--Source/WebCore/platform/qt/PlatformSupport.h2
-rw-r--r--Source/WebCore/platform/qt/RenderThemeQt.cpp4
-rw-r--r--Source/WebCore/platform/qt/RenderThemeQtMobile.cpp9
-rw-r--r--Source/WebCore/platform/qt/SharedTimerQt.cpp4
-rw-r--r--Source/WebCore/platform/sql/SQLValue.h2
-rw-r--r--Source/WebCore/platform/sql/SQLiteDatabase.cpp30
-rw-r--r--Source/WebCore/platform/sql/SQLiteDatabase.h4
-rw-r--r--Source/WebCore/platform/sql/SQLiteFileSystem.h2
-rw-r--r--Source/WebCore/platform/text/DecodeEscapeSequences.h1
-rw-r--r--Source/WebCore/platform/text/LineEnding.cpp2
-rw-r--r--Source/WebCore/platform/text/ParserUtilities.h2
-rw-r--r--Source/WebCore/platform/text/PlatformString.h45
-rw-r--r--Source/WebCore/platform/text/RegularExpression.cpp4
-rw-r--r--Source/WebCore/platform/text/RegularExpression.h2
-rw-r--r--Source/WebCore/platform/text/SegmentedString.h2
-rw-r--r--Source/WebCore/platform/text/StringWithDirection.h2
-rw-r--r--Source/WebCore/platform/text/SuffixTree.h2
-rw-r--r--Source/WebCore/platform/text/TextAllInOne.cpp1
-rw-r--r--Source/WebCore/platform/text/TextBreakIterator.cpp (renamed from Source/WebCore/platform/text/String.cpp)27
-rw-r--r--Source/WebCore/platform/text/TextBreakIterator.h8
-rw-r--r--Source/WebCore/platform/text/TextBreakIteratorICU.cpp2
-rw-r--r--Source/WebCore/platform/text/TextCodec.cpp2
-rw-r--r--Source/WebCore/platform/text/TextCodec.h3
-rw-r--r--Source/WebCore/platform/text/TextCodecLatin1.cpp4
-rw-r--r--Source/WebCore/platform/text/TextCodecUTF16.cpp4
-rw-r--r--Source/WebCore/platform/text/TextCodecUserDefined.cpp4
-rw-r--r--Source/WebCore/platform/text/TextEncoding.cpp11
-rw-r--r--Source/WebCore/platform/text/TextEncodingRegistry.cpp16
-rw-r--r--Source/WebCore/platform/text/TextEncodingRegistry.h5
-rw-r--r--Source/WebCore/platform/text/TextStream.cpp35
-rw-r--r--Source/WebCore/platform/text/TextStream.h6
-rw-r--r--Source/WebCore/platform/text/blackberry/StringBlackBerry.cpp2
-rw-r--r--Source/WebCore/platform/text/cf/StringCF.cpp3
-rw-r--r--Source/WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp2
-rw-r--r--Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp (renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp)57
-rw-r--r--Source/WebCore/platform/text/enchant/TextCheckerEnchant.h (renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.h)0
-rw-r--r--Source/WebCore/platform/text/gtk/TextCodecGtk.cpp2
-rw-r--r--Source/WebCore/platform/text/mac/StringMac.mm3
-rw-r--r--Source/WebCore/platform/text/mac/TextCodecMac.cpp2
-rw-r--r--Source/WebCore/platform/text/qt/TextCodecQt.cpp5
-rw-r--r--Source/WebCore/platform/text/win/TextCodecWin.h2
-rw-r--r--Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp2
-rw-r--r--Source/WebCore/platform/win/BString.cpp10
-rw-r--r--Source/WebCore/platform/win/BString.h5
-rw-r--r--Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp2
-rw-r--r--Source/WebCore/platform/win/ClipboardWin.cpp4
-rw-r--r--Source/WebCore/platform/win/DragDataWin.cpp2
-rw-r--r--Source/WebCore/platform/win/FileSystemWin.cpp4
-rw-r--r--Source/WebCore/platform/win/GDIObjectCounter.h2
-rw-r--r--Source/WebCore/platform/win/LoggingWin.cpp2
-rw-r--r--Source/WebCore/platform/win/WCDataObject.cpp2
-rw-r--r--Source/WebCore/platform/wince/DragDataWinCE.cpp1
-rw-r--r--Source/WebCore/platform/wx/ClipboardWx.cpp3
-rw-r--r--Source/WebCore/platform/wx/FileSystemWx.cpp2
-rw-r--r--Source/WebCore/platform/wx/LanguageWx.cpp2
-rw-r--r--Source/WebCore/platform/wx/LocalizedStringsWx.cpp2
-rw-r--r--Source/WebCore/platform/wx/LoggingWx.cpp2
-rw-r--r--Source/WebCore/platform/wx/PasteboardWx.cpp2
-rw-r--r--Source/WebCore/platform/wx/PopupMenuWx.cpp2
-rw-r--r--Source/WebCore/plugins/PluginData.h2
-rw-r--r--Source/WebCore/plugins/PluginDatabase.cpp6
-rw-r--r--Source/WebCore/plugins/PluginDatabase.h2
-rw-r--r--Source/WebCore/plugins/PluginDebug.cpp3
-rw-r--r--Source/WebCore/plugins/PluginPackage.h2
-rw-r--r--Source/WebCore/plugins/PluginStream.cpp2
-rw-r--r--Source/WebCore/plugins/PluginStream.h2
-rw-r--r--Source/WebCore/plugins/PluginView.cpp10
-rw-r--r--Source/WebCore/plugins/PluginViewNone.cpp1
-rw-r--r--Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp1
-rw-r--r--Source/WebCore/plugins/gtk/PluginViewGtk.cpp1
-rw-r--r--Source/WebCore/plugins/mac/PluginViewMac.mm1
-rw-r--r--Source/WebCore/plugins/qt/PluginViewQt.cpp1
-rw-r--r--Source/WebCore/plugins/win/PluginViewWin.cpp2
-rw-r--r--Source/WebCore/rendering/ColumnInfo.h2
-rw-r--r--Source/WebCore/rendering/EllipsisBox.cpp2
-rw-r--r--Source/WebCore/rendering/EllipsisBox.h2
-rw-r--r--Source/WebCore/rendering/FilterEffectRenderer.cpp40
-rw-r--r--Source/WebCore/rendering/FilterEffectRenderer.h4
-rw-r--r--Source/WebCore/rendering/FlowThreadController.cpp38
-rw-r--r--Source/WebCore/rendering/FlowThreadController.h3
-rw-r--r--Source/WebCore/rendering/HitTestRequest.h11
-rw-r--r--Source/WebCore/rendering/HitTestResult.cpp66
-rw-r--r--Source/WebCore/rendering/HitTestResult.h41
-rw-r--r--Source/WebCore/rendering/HitTestingTransformState.cpp1
-rw-r--r--Source/WebCore/rendering/InlineBox.cpp4
-rw-r--r--Source/WebCore/rendering/InlineBox.h2
-rw-r--r--Source/WebCore/rendering/InlineFlowBox.cpp15
-rw-r--r--Source/WebCore/rendering/InlineFlowBox.h2
-rw-r--r--Source/WebCore/rendering/InlineTextBox.cpp8
-rw-r--r--Source/WebCore/rendering/InlineTextBox.h2
-rw-r--r--Source/WebCore/rendering/LayoutRepainter.h2
-rw-r--r--Source/WebCore/rendering/LayoutState.cpp21
-rw-r--r--Source/WebCore/rendering/LayoutState.h1
-rw-r--r--Source/WebCore/rendering/LayoutTypes.h126
-rw-r--r--Source/WebCore/rendering/LayoutTypesInlineMethods.h153
-rw-r--r--Source/WebCore/rendering/PaintInfo.h2
-rwxr-xr-xSource/WebCore/rendering/RenderBlock.cpp184
-rw-r--r--Source/WebCore/rendering/RenderBlock.h45
-rwxr-xr-xSource/WebCore/rendering/RenderBlockLineLayout.cpp118
-rw-r--r--Source/WebCore/rendering/RenderBox.cpp494
-rw-r--r--Source/WebCore/rendering/RenderBox.h66
-rw-r--r--Source/WebCore/rendering/RenderBoxModelObject.cpp91
-rw-r--r--Source/WebCore/rendering/RenderBoxModelObject.h11
-rw-r--r--Source/WebCore/rendering/RenderCounter.cpp64
-rw-r--r--Source/WebCore/rendering/RenderCounter.h1
-rw-r--r--Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp4
-rw-r--r--Source/WebCore/rendering/RenderDialog.cpp69
-rw-r--r--Source/WebCore/rendering/RenderDialog.h (renamed from Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp)38
-rw-r--r--Source/WebCore/rendering/RenderEmbeddedObject.cpp6
-rw-r--r--Source/WebCore/rendering/RenderEmbeddedObject.h2
-rw-r--r--Source/WebCore/rendering/RenderFlowThread.cpp165
-rw-r--r--Source/WebCore/rendering/RenderFlowThread.h21
-rw-r--r--Source/WebCore/rendering/RenderFrameBase.cpp31
-rw-r--r--Source/WebCore/rendering/RenderFrameBase.h1
-rw-r--r--Source/WebCore/rendering/RenderFrameSet.cpp4
-rw-r--r--Source/WebCore/rendering/RenderFrameSet.h2
-rw-r--r--Source/WebCore/rendering/RenderGeometryMap.h6
-rw-r--r--Source/WebCore/rendering/RenderImage.cpp8
-rw-r--r--Source/WebCore/rendering/RenderImage.h2
-rw-r--r--Source/WebCore/rendering/RenderInline.cpp10
-rw-r--r--Source/WebCore/rendering/RenderInline.h8
-rw-r--r--Source/WebCore/rendering/RenderInputSpeech.h10
-rw-r--r--Source/WebCore/rendering/RenderLayer.cpp264
-rw-r--r--Source/WebCore/rendering/RenderLayer.h48
-rw-r--r--Source/WebCore/rendering/RenderLayerBacking.cpp208
-rw-r--r--Source/WebCore/rendering/RenderLayerBacking.h11
-rw-r--r--Source/WebCore/rendering/RenderLayerCompositor.cpp38
-rw-r--r--Source/WebCore/rendering/RenderLayerCompositor.h4
-rw-r--r--Source/WebCore/rendering/RenderLayerFilterInfo.h1
-rw-r--r--Source/WebCore/rendering/RenderLineBoxList.cpp12
-rw-r--r--Source/WebCore/rendering/RenderLineBoxList.h4
-rw-r--r--Source/WebCore/rendering/RenderListBox.cpp12
-rw-r--r--Source/WebCore/rendering/RenderListBox.h6
-rw-r--r--Source/WebCore/rendering/RenderMediaControls.h8
-rw-r--r--Source/WebCore/rendering/RenderMediaControlsChromium.cpp19
-rw-r--r--Source/WebCore/rendering/RenderMediaControlsChromium.h6
-rw-r--r--Source/WebCore/rendering/RenderMenuList.cpp2
-rw-r--r--Source/WebCore/rendering/RenderMeter.h4
-rw-r--r--Source/WebCore/rendering/RenderMultiColumnBlock.cpp16
-rw-r--r--Source/WebCore/rendering/RenderMultiColumnFlowThread.h2
-rw-r--r--Source/WebCore/rendering/RenderMultiColumnSet.cpp225
-rw-r--r--Source/WebCore/rendering/RenderMultiColumnSet.h42
-rw-r--r--Source/WebCore/rendering/RenderNamedFlowThread.cpp112
-rw-r--r--Source/WebCore/rendering/RenderNamedFlowThread.h5
-rwxr-xr-xSource/WebCore/rendering/RenderObject.cpp45
-rw-r--r--Source/WebCore/rendering/RenderObject.h37
-rw-r--r--Source/WebCore/rendering/RenderObjectChildList.cpp86
-rw-r--r--Source/WebCore/rendering/RenderQuote.cpp6
-rw-r--r--Source/WebCore/rendering/RenderQuote.h5
-rw-r--r--Source/WebCore/rendering/RenderRegion.cpp95
-rw-r--r--Source/WebCore/rendering/RenderRegion.h40
-rw-r--r--Source/WebCore/rendering/RenderRegionSet.cpp21
-rw-r--r--Source/WebCore/rendering/RenderRegionSet.h4
-rw-r--r--Source/WebCore/rendering/RenderScrollbar.h2
-rw-r--r--Source/WebCore/rendering/RenderScrollbarPart.cpp8
-rw-r--r--Source/WebCore/rendering/RenderTable.cpp58
-rw-r--r--Source/WebCore/rendering/RenderTable.h5
-rw-r--r--Source/WebCore/rendering/RenderTableCaption.cpp7
-rw-r--r--Source/WebCore/rendering/RenderTableCaption.h1
-rw-r--r--Source/WebCore/rendering/RenderTableCell.cpp12
-rw-r--r--Source/WebCore/rendering/RenderTableCell.h4
-rw-r--r--Source/WebCore/rendering/RenderTableRow.cpp19
-rw-r--r--Source/WebCore/rendering/RenderTableRow.h6
-rw-r--r--Source/WebCore/rendering/RenderTableSection.cpp26
-rw-r--r--Source/WebCore/rendering/RenderTableSection.h4
-rw-r--r--Source/WebCore/rendering/RenderText.cpp2
-rw-r--r--Source/WebCore/rendering/RenderText.h9
-rw-r--r--Source/WebCore/rendering/RenderTextControl.cpp30
-rw-r--r--Source/WebCore/rendering/RenderTextControl.h2
-rw-r--r--Source/WebCore/rendering/RenderTextControlMultiLine.cpp6
-rw-r--r--Source/WebCore/rendering/RenderTextControlMultiLine.h2
-rw-r--r--Source/WebCore/rendering/RenderTextControlSingleLine.cpp8
-rw-r--r--Source/WebCore/rendering/RenderTextControlSingleLine.h2
-rw-r--r--Source/WebCore/rendering/RenderTheme.cpp23
-rw-r--r--Source/WebCore/rendering/RenderThemeChromiumMac.h1
-rw-r--r--Source/WebCore/rendering/RenderThemeChromiumMac.mm5
-rw-r--r--Source/WebCore/rendering/RenderThemeChromiumSkia.cpp21
-rw-r--r--Source/WebCore/rendering/RenderThemeChromiumSkia.h4
-rw-r--r--Source/WebCore/rendering/RenderThemeWin.cpp1
-rw-r--r--Source/WebCore/rendering/RenderTreeAsText.cpp64
-rw-r--r--Source/WebCore/rendering/RenderView.cpp25
-rw-r--r--Source/WebCore/rendering/RenderView.h22
-rw-r--r--Source/WebCore/rendering/RenderWidget.cpp4
-rw-r--r--Source/WebCore/rendering/RenderWidget.h2
-rw-r--r--Source/WebCore/rendering/RenderingAllInOne.cpp1
-rw-r--r--Source/WebCore/rendering/RootInlineBox.cpp8
-rw-r--r--Source/WebCore/rendering/RootInlineBox.h2
-rw-r--r--Source/WebCore/rendering/TextAutosizer.h2
-rw-r--r--Source/WebCore/rendering/WrapShapeInfo.cpp144
-rw-r--r--Source/WebCore/rendering/WrapShapeInfo.h107
-rw-r--r--Source/WebCore/rendering/break_lines.cpp27
-rw-r--r--Source/WebCore/rendering/break_lines.h13
-rw-r--r--Source/WebCore/rendering/style/BasicShapes.cpp93
-rw-r--r--Source/WebCore/rendering/style/BasicShapes.h (renamed from Source/WebCore/rendering/style/WrapShapes.h)88
-rw-r--r--Source/WebCore/rendering/style/CounterDirectives.cpp11
-rw-r--r--Source/WebCore/rendering/style/CounterDirectives.h69
-rw-r--r--Source/WebCore/rendering/style/DataRef.h8
-rw-r--r--Source/WebCore/rendering/style/RenderStyle.cpp53
-rw-r--r--Source/WebCore/rendering/style/RenderStyle.h45
-rw-r--r--Source/WebCore/rendering/style/RenderStyleConstants.h6
-rw-r--r--Source/WebCore/rendering/style/ShadowData.cpp2
-rw-r--r--Source/WebCore/rendering/style/ShadowData.h1
-rw-r--r--Source/WebCore/rendering/style/StyleDashboardRegion.h2
-rw-r--r--Source/WebCore/rendering/style/StyleRareInheritedData.cpp10
-rw-r--r--Source/WebCore/rendering/style/StyleRareInheritedData.h2
-rw-r--r--Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp8
-rw-r--r--Source/WebCore/rendering/style/StyleRareNonInheritedData.h10
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp10
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGForeignObject.h6
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGModelObject.cpp2
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGModelObject.h2
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGResourceMarker.h2
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGRoot.cpp10
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGRoot.h2
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGText.cpp6
-rw-r--r--Source/WebCore/rendering/svg/RenderSVGText.h2
-rw-r--r--Source/WebCore/rendering/svg/SVGInlineTextBox.cpp8
-rw-r--r--Source/WebCore/rendering/svg/SVGInlineTextBox.h2
-rw-r--r--Source/WebCore/rendering/svg/SVGRenderingContext.cpp21
-rw-r--r--Source/WebCore/rendering/svg/SVGRenderingContext.h1
-rw-r--r--Source/WebCore/rendering/svg/SVGTextMetrics.cpp2
-rw-r--r--Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp4
-rw-r--r--Source/WebCore/storage/Storage.cpp2
-rw-r--r--Source/WebCore/storage/StorageArea.h4
-rw-r--r--Source/WebCore/storage/StorageEvent.h2
-rw-r--r--Source/WebCore/storage/StorageEventDispatcher.h2
-rw-r--r--Source/WebCore/storage/StorageMap.h2
-rw-r--r--Source/WebCore/storage/StorageNamespace.h3
-rw-r--r--Source/WebCore/storage/StorageNamespaceImpl.h3
-rw-r--r--Source/WebCore/storage/StorageSyncManager.h3
-rw-r--r--Source/WebCore/storage/StorageTask.h2
-rw-r--r--Source/WebCore/storage/StorageTracker.cpp4
-rw-r--r--Source/WebCore/storage/StorageTracker.h2
-rw-r--r--Source/WebCore/svg/SVGAngle.cpp6
-rw-r--r--Source/WebCore/svg/SVGAnimatedBoolean.cpp8
-rw-r--r--Source/WebCore/svg/SVGAnimatedType.h2
-rw-r--r--Source/WebCore/svg/SVGColor.cpp4
-rw-r--r--Source/WebCore/svg/SVGElement.cpp2
-rw-r--r--Source/WebCore/svg/SVGElement.h6
-rw-r--r--Source/WebCore/svg/SVGExternalResourcesRequired.cpp1
-rw-r--r--Source/WebCore/svg/SVGExternalResourcesRequired.h2
-rw-r--r--Source/WebCore/svg/SVGFontData.cpp2
-rw-r--r--Source/WebCore/svg/SVGPaint.cpp4
-rw-r--r--Source/WebCore/svg/SVGParserUtilities.cpp19
-rw-r--r--Source/WebCore/svg/SVGParserUtilities.h12
-rw-r--r--Source/WebCore/svg/SVGPathByteStreamBuilder.h2
-rw-r--r--Source/WebCore/svg/SVGPathElement.cpp14
-rw-r--r--Source/WebCore/svg/SVGPathElement.h2
-rw-r--r--Source/WebCore/svg/SVGPathParser.h2
-rw-r--r--Source/WebCore/svg/SVGPathStringSource.h2
-rw-r--r--Source/WebCore/svg/SVGSVGElement.cpp2
-rw-r--r--Source/WebCore/svg/SVGStyledElement.cpp2
-rw-r--r--Source/WebCore/svg/SVGTests.cpp7
-rw-r--r--Source/WebCore/svg/SVGTransform.cpp12
-rwxr-xr-xSource/WebCore/svg/SVGURIReference.h3
-rw-r--r--Source/WebCore/svg/animation/SMILTimeContainer.cpp5
-rw-r--r--Source/WebCore/svg/animation/SMILTimeContainer.h3
-rw-r--r--Source/WebCore/svg/animation/SVGSMILElement.cpp6
-rw-r--r--Source/WebCore/svg/graphics/SVGImage.cpp9
-rw-r--r--Source/WebCore/svg/graphics/SVGImage.h3
-rw-r--r--Source/WebCore/svg/graphics/SVGImageCache.cpp7
-rw-r--r--Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp3
-rw-r--r--Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h5
-rwxr-xr-xSource/WebCore/testing/InternalSettings.cpp12
-rwxr-xr-xSource/WebCore/testing/InternalSettings.h2
-rwxr-xr-xSource/WebCore/testing/InternalSettings.idl2
-rw-r--r--Source/WebCore/testing/Internals.cpp39
-rw-r--r--Source/WebCore/testing/Internals.h8
-rw-r--r--Source/WebCore/testing/Internals.idl6
-rw-r--r--Source/WebCore/workers/DefaultSharedWorkerRepository.cpp2
-rw-r--r--Source/WebCore/workers/SharedWorker.cpp9
-rw-r--r--Source/WebCore/workers/WorkerLocation.cpp2
-rw-r--r--Source/WebCore/workers/WorkerScriptLoader.cpp12
-rw-r--r--Source/WebCore/workers/WorkerScriptLoader.h5
-rw-r--r--Source/WebCore/workers/WorkerThread.cpp2
-rw-r--r--Source/WebCore/xml/DOMParser.cpp2
-rw-r--r--Source/WebCore/xml/NativeXPathNSResolver.cpp2
-rw-r--r--Source/WebCore/xml/NativeXPathNSResolver.h21
-rw-r--r--Source/WebCore/xml/XMLErrors.cpp10
-rw-r--r--Source/WebCore/xml/XMLHttpRequest.cpp5
-rw-r--r--Source/WebCore/xml/XMLHttpRequestException.h2
-rw-r--r--Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h2
-rw-r--r--Source/WebCore/xml/XMLHttpRequestUpload.h2
-rw-r--r--Source/WebCore/xml/XMLSerializer.cpp1
-rw-r--r--Source/WebCore/xml/XMLSerializer.h3
-rw-r--r--Source/WebCore/xml/XPathException.h2
-rw-r--r--Source/WebCore/xml/XPathExpression.cpp2
-rw-r--r--Source/WebCore/xml/XPathFunctions.cpp13
-rw-r--r--Source/WebCore/xml/XPathPath.cpp11
-rw-r--r--Source/WebCore/xml/XPathPredicate.h6
-rw-r--r--Source/WebCore/xml/XPathStep.h113
-rw-r--r--Source/WebCore/xml/XPathValue.h6
-rw-r--r--Source/WebCore/xml/XPathVariableReference.h2
-rw-r--r--Source/WebCore/xml/XSLTProcessor.cpp6
-rw-r--r--Source/WebCore/xml/XSLTProcessor.h6
-rw-r--r--Source/WebCore/xml/XSLTProcessor.idl6
-rw-r--r--Source/WebCore/xml/XSLTUnicodeSort.cpp2
-rw-r--r--Source/WebCore/xml/parser/NewXMLDocumentParser.cpp1
-rw-r--r--Source/WebCore/xml/parser/NewXMLDocumentParser.h2
-rw-r--r--Source/WebCore/xml/parser/XMLDocumentParser.cpp10
-rw-r--r--Source/WebCore/xml/parser/XMLDocumentParser.h2
-rw-r--r--Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp2
-rw-r--r--Source/WebCore/xml/parser/XMLDocumentParserQt.cpp2
-rw-r--r--Source/WebCore/xml/parser/XMLToken.h1
-rw-r--r--Source/WebCore/xml/parser/XMLTokenizer.cpp28
-rw-r--r--Source/WebCore/xml/parser/XMLTreeBuilder.cpp11
-rw-r--r--Source/WebCore/xml/parser/XMLTreeBuilder.h1
-rw-r--r--Source/WebKit/ChangeLog66
-rw-r--r--Source/WebKit/PlatformBlackBerry.cmake1
-rw-r--r--Source/WebKit/PlatformEfl.cmake20
-rw-r--r--Source/WebKit/WebKit1.pro1
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore.cpp73
-rw-r--r--Source/WebKit/blackberry/Api/BackingStore_p.h2
-rw-r--r--Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp2
-rw-r--r--Source/WebKit/blackberry/Api/DumpRenderTreeClient.h21
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller.cpp106
-rw-r--r--Source/WebKit/blackberry/Api/InRegionScroller_p.h12
-rw-r--r--Source/WebKit/blackberry/Api/JavaScriptVariant.cpp3
-rw-r--r--Source/WebKit/blackberry/Api/WebAnimation.cpp3
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.cpp147
-rw-r--r--Source/WebKit/blackberry/Api/WebPage.h1
-rw-r--r--Source/WebKit/blackberry/Api/WebPageClient.h10
-rw-r--r--Source/WebKit/blackberry/Api/WebPage_p.h6
-rw-r--r--Source/WebKit/blackberry/Api/WebSettings.cpp122
-rw-r--r--Source/WebKit/blackberry/Api/WebString.cpp2
-rw-r--r--Source/WebKit/blackberry/ChangeLog1175
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp17
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h4
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp107
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h55
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp10
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp4
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h2
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp24
-rw-r--r--Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h7
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/AboutData.cpp25
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/AboutData.h2
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp6
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h5
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp15
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/DOMSupport.h1
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp11
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp3
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp103
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h10
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp25
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp67
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/InputHandler.h3
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp30
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp14
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp22
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/SurfacePool.h2
-rw-r--r--Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp27
-rw-r--r--Source/WebKit/cf/ChangeLog12
-rw-r--r--Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp4
-rw-r--r--Source/WebKit/chromium/.gitignore40
-rw-r--r--Source/WebKit/chromium/All.gyp9
-rw-r--r--Source/WebKit/chromium/ChangeLog2494
-rw-r--r--Source/WebKit/chromium/DEPS2
-rw-r--r--Source/WebKit/chromium/WebKit.gyp54
-rw-r--r--Source/WebKit/chromium/WebKit.gypi133
-rw-r--r--Source/WebKit/chromium/WebKitUnitTests.gyp10
-rw-r--r--Source/WebKit/chromium/features.gypi8
-rw-r--r--Source/WebKit/chromium/public/WebAccessibilityObject.h11
-rw-r--r--Source/WebKit/chromium/public/WebAccessibilityRole.h2
-rw-r--r--Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h3
-rw-r--r--Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h6
-rw-r--r--Source/WebKit/chromium/public/WebFrame.h22
-rw-r--r--Source/WebKit/chromium/public/WebIDBFactory.h12
-rw-r--r--Source/WebKit/chromium/public/WebIDBKey.h5
-rw-r--r--Source/WebKit/chromium/public/WebInputEvent.h19
-rw-r--r--Source/WebKit/chromium/public/WebMediaPlayer.h1
-rw-r--r--Source/WebKit/chromium/public/WebRuntimeFeatures.h5
-rw-r--r--Source/WebKit/chromium/public/WebSettings.h1
-rw-r--r--Source/WebKit/chromium/public/WebView.h16
-rw-r--r--Source/WebKit/chromium/public/WebViewClient.h5
-rw-r--r--Source/WebKit/chromium/public/linux/WebFontInfo.h49
-rw-r--r--Source/WebKit/chromium/public/linux/WebFontRenderStyle.h34
-rw-r--r--Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h4
-rw-r--r--Source/WebKit/chromium/src/AssertMatchingEnums.cpp27
-rw-r--r--Source/WebKit/chromium/src/ChromeClientImpl.cpp20
-rw-r--r--Source/WebKit/chromium/src/ChromeClientImpl.h15
-rw-r--r--Source/WebKit/chromium/src/ContextMenuClientImpl.cpp4
-rw-r--r--Source/WebKit/chromium/src/DateTimeChooserImpl.cpp132
-rw-r--r--Source/WebKit/chromium/src/DateTimeChooserImpl.h73
-rw-r--r--Source/WebKit/chromium/src/EditorClientImpl.cpp11
-rw-r--r--Source/WebKit/chromium/src/EditorClientImpl.h1
-rw-r--r--Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp3
-rw-r--r--Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/LinkHighlight.cpp22
-rw-r--r--Source/WebKit/chromium/src/LocalFileSystemChromium.cpp2
-rw-r--r--Source/WebKit/chromium/src/LocalizedStrings.cpp52
-rw-r--r--Source/WebKit/chromium/src/NonCompositedContentHost.cpp6
-rw-r--r--Source/WebKit/chromium/src/NonCompositedContentHost.h8
-rw-r--r--Source/WebKit/chromium/src/PlatformSupport.cpp97
-rw-r--r--Source/WebKit/chromium/src/SpeechInputClientImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h2
-rw-r--r--Source/WebKit/chromium/src/WebAccessibilityObject.cpp145
-rw-r--r--Source/WebKit/chromium/src/WebAnimationImpl.cpp23
-rw-r--r--Source/WebKit/chromium/src/WebAnimationImpl.h3
-rw-r--r--Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp137
-rw-r--r--Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h26
-rw-r--r--Source/WebKit/chromium/src/WebContentLayerImpl.cpp24
-rw-r--r--Source/WebKit/chromium/src/WebContentLayerImpl.h13
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebEntities.h2
-rw-r--r--Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebFrameImpl.cpp77
-rw-r--r--Source/WebKit/chromium/src/WebFrameImpl.h6
-rw-r--r--Source/WebKit/chromium/src/WebIDBKey.cpp17
-rw-r--r--Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp9
-rw-r--r--Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h6
-rw-r--r--Source/WebKit/chromium/src/WebImageLayerImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebImageLayerImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebInputEvent.cpp37
-rw-r--r--Source/WebKit/chromium/src/WebInputEventConversion.cpp49
-rw-r--r--Source/WebKit/chromium/src/WebLayerImpl.cpp23
-rw-r--r--Source/WebKit/chromium/src/WebLayerImpl.h5
-rw-r--r--Source/WebKit/chromium/src/WebLayerTreeView.cpp214
-rw-r--r--Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp342
-rw-r--r--Source/WebKit/chromium/src/WebLayerTreeViewImpl.h51
-rw-r--r--Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp17
-rw-r--r--Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h3
-rw-r--r--Source/WebKit/chromium/src/WebPageSerializerImpl.cpp2
-rw-r--r--Source/WebKit/chromium/src/WebPluginContainerImpl.cpp24
-rw-r--r--Source/WebKit/chromium/src/WebPluginContainerImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebRuntimeFeatures.cpp5
-rw-r--r--Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp9
-rw-r--r--Source/WebKit/chromium/src/WebScrollbarLayerImpl.h7
-rw-r--r--Source/WebKit/chromium/src/WebSettingsImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebSettingsImpl.h3
-rw-r--r--Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebSolidColorLayerImpl.h7
-rw-r--r--Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp128
-rw-r--r--Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h54
-rw-r--r--Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h2
-rw-r--r--Source/WebKit/chromium/src/WebVideoLayerImpl.cpp6
-rw-r--r--Source/WebKit/chromium/src/WebVideoLayerImpl.h6
-rw-r--r--Source/WebKit/chromium/src/WebViewImpl.cpp243
-rw-r--r--Source/WebKit/chromium/src/WebViewImpl.h23
-rw-r--r--Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h2
-rw-r--r--Source/WebKit/chromium/src/android/WebInputEventFactory.cpp4
-rw-r--r--Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp4
-rw-r--r--Source/WebKit/chromium/src/mac/WebInputEventFactory.mm4
-rw-r--r--Source/WebKit/chromium/src/win/WebInputEventFactory.cpp54
-rw-r--r--Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp28
-rw-r--r--Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp45
-rw-r--r--Source/WebKit/chromium/tests/CCAnimationTestCommon.h18
-rw-r--r--Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/CCDrawQuadTest.cpp332
-rw-r--r--Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp56
-rw-r--r--Source/WebKit/chromium/tests/CCGeometryTestUtils.h (renamed from Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h)18
-rw-r--r--Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp130
-rw-r--r--Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp385
-rw-r--r--Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp299
-rw-r--r--Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp496
-rw-r--r--Source/WebKit/chromium/tests/CCMathUtilTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp514
-rw-r--r--Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp31
-rw-r--r--Source/WebKit/chromium/tests/CCQuadCullerTest.cpp5
-rw-r--r--Source/WebKit/chromium/tests/CCRenderPassTest.cpp107
-rw-r--r--Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp50
-rw-r--r--Source/WebKit/chromium/tests/CCRendererGLTest.cpp16
-rw-r--r--Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp71
-rw-r--r--Source/WebKit/chromium/tests/CCSchedulerTest.cpp14
-rw-r--r--Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp13
-rw-r--r--Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp45
-rw-r--r--Source/WebKit/chromium/tests/CCThreadedTest.cpp35
-rw-r--r--Source/WebKit/chromium/tests/CCThreadedTest.h9
-rw-r--r--Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp33
-rw-r--r--Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp34
-rw-r--r--Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h20
-rw-r--r--Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp6
-rw-r--r--Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp156
-rw-r--r--Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp54
-rwxr-xr-xSource/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h4
-rw-r--r--Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h2
-rw-r--r--Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp58
-rw-r--r--Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp4
-rw-r--r--Source/WebKit/chromium/tests/LayerChromiumTest.cpp32
-rw-r--r--Source/WebKit/chromium/tests/LinkHighlightTest.cpp5
-rw-r--r--Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp69
-rw-r--r--Source/WebKit/chromium/tests/MockCCQuadCuller.h2
-rw-r--r--Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp6
-rw-r--r--Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp86
-rw-r--r--Source/WebKit/chromium/tests/TextureCopierTest.cpp7
-rw-r--r--Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp13
-rw-r--r--Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp257
-rw-r--r--Source/WebKit/chromium/tests/UniscribeHelperTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/WebCompositorInitializer.h (renamed from Source/WebCore/platform/graphics/chromium/cc/CCActiveGestureAnimation.h)44
-rw-r--r--Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp270
-rw-r--r--Source/WebKit/chromium/tests/WebFrameTest.cpp318
-rw-r--r--Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp75
-rw-r--r--Source/WebKit/chromium/tests/WebLayerTest.cpp71
-rw-r--r--Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp25
-rw-r--r--Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h2
-rw-r--r--Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp344
-rw-r--r--Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp2
-rw-r--r--Source/WebKit/chromium/tests/WebViewTest.cpp134
-rw-r--r--Source/WebKit/chromium/tests/data/content_listeners.html31
-rw-r--r--Source/WebKit/chromium/tests/data/disambiguation_popup.html30
-rw-r--r--Source/WebKit/chromium/tests/data/test_touch_link_highlight.html4
-rw-r--r--Source/WebKit/chromium/tests/data/text_selection.html31
-rw-r--r--Source/WebKit/efl/ChangeLog577
-rw-r--r--Source/WebKit/efl/DefaultTheme/default.edc1
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.pngbin0 -> 4115 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.pngbin0 -> 3384 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc58
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc823
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png)bin507 -> 507 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png)bin555 -> 555 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png)bin813 -> 813 bytes
-rw-r--r--Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png (renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png)bin697 -> 697 bytes
-rw-r--r--Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp5
-rw-r--r--Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp (renamed from Source/WebCore/platform/efl/ColorChooserEfl.cpp)0
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h (renamed from Source/WebCore/platform/efl/ColorChooserEfl.h)2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp87
-rw-r--r--Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h55
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp249
-rw-r--r--Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h5
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp21
-rw-r--r--Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp13
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp (renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp)20
-rw-r--r--Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h (renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h)18
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp (renamed from Source/WebCore/platform/efl/PopupMenuEfl.cpp)0
-rw-r--r--Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h (renamed from Source/WebCore/platform/efl/PopupMenuEfl.h)2
-rw-r--r--Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp (renamed from Source/WebCore/platform/efl/SearchPopupMenuEfl.cpp)0
-rw-r--r--Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h (renamed from Source/WebCore/platform/efl/SearchPopupMenuEfl.h)2
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu.cpp31
-rw-r--r--Source/WebKit/efl/ewk/ewk_contextmenu_private.h9
-rw-r--r--Source/WebKit/efl/ewk/ewk_custom_handler.cpp4
-rw-r--r--Source/WebKit/efl/ewk/ewk_custom_handler_private.h4
-rw-r--r--Source/WebKit/efl/ewk/ewk_frame.cpp27
-rw-r--r--Source/WebKit/efl/ewk/ewk_network.cpp5
-rw-r--r--Source/WebKit/efl/ewk/ewk_network.h7
-rw-r--r--Source/WebKit/efl/ewk/ewk_settings.cpp7
-rw-r--r--Source/WebKit/efl/ewk/ewk_view.cpp77
-rw-r--r--Source/WebKit/efl/ewk/ewk_view.h54
-rw-r--r--Source/WebKit/gtk/ChangeLog278
-rw-r--r--Source/WebKit/gtk/GNUmakefile.am4
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp3
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp6
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp70
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h5
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp2
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp (renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp)14
-rw-r--r--Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h (renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h)18
-rw-r--r--Source/WebKit/gtk/docs/webkitgtk-sections.txt4
-rw-r--r--Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h4
-rw-r--r--Source/WebKit/gtk/tests/testatk.c11
-rw-r--r--Source/WebKit/gtk/tests/testglobals.c54
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobals.cpp66
-rw-r--r--Source/WebKit/gtk/webkit/webkitglobals.h36
-rw-r--r--Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp2
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebdatasource.cpp4
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp2
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebresource.cpp2
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebsettings.cpp76
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebview.cpp13
-rw-r--r--Source/WebKit/gtk/webkit/webkitwebviewprivate.h8
-rw-r--r--Source/WebKit/mac/ChangeLog487
-rw-r--r--Source/WebKit/mac/Configurations/FeatureDefines.xcconfig5
-rw-r--r--Source/WebKit/mac/Configurations/Version.xcconfig2
-rw-r--r--Source/WebKit/mac/History/WebHistoryItem.mm2
-rw-r--r--Source/WebKit/mac/Misc/WebStringTruncator.mm2
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h10
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm2
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h1
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm8
-rw-r--r--Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm10
-rw-r--r--Source/WebKit/mac/Plugins/WebPluginController.mm2
-rw-r--r--Source/WebKit/mac/Storage/WebStorageTrackerClient.mm2
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h3
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm4
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm3
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm2
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm11
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm2
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h16
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h5
-rw-r--r--Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm8
-rw-r--r--Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm61
-rw-r--r--Source/WebKit/mac/WebView/WebFrame.mm4
-rw-r--r--Source/WebKit/mac/WebView/WebHTMLView.mm13
-rw-r--r--Source/WebKit/mac/WebView/WebNotification.h1
-rw-r--r--Source/WebKit/mac/WebView/WebNotification.mm18
-rw-r--r--Source/WebKit/mac/WebView/WebRenderLayer.mm11
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm22
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugger.h9
-rw-r--r--Source/WebKit/mac/WebView/WebScriptDebugger.mm17
-rw-r--r--Source/WebKit/mac/WebView/WebView.mm27
-rw-r--r--Source/WebKit/mac/WebView/WebViewData.h2
-rw-r--r--Source/WebKit/mac/WebView/WebViewPrivate.h3
-rw-r--r--Source/WebKit/qt/Api/qwebdatabase_p.h2
-rw-r--r--Source/WebKit/qt/Api/qwebelement.cpp17
-rw-r--r--Source/WebKit/qt/Api/qwebframe.cpp7
-rw-r--r--Source/WebKit/qt/Api/qwebframe_p.h2
-rw-r--r--Source/WebKit/qt/Api/qwebhistory.cpp2
-rw-r--r--Source/WebKit/qt/Api/qwebhistoryinterface.cpp2
-rw-r--r--Source/WebKit/qt/Api/qwebpage.cpp22
-rw-r--r--Source/WebKit/qt/Api/qwebpage_p.h2
-rw-r--r--Source/WebKit/qt/Api/qwebsettings.cpp2
-rw-r--r--Source/WebKit/qt/ChangeLog226
-rw-r--r--Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp24
-rw-r--r--Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h3
-rw-r--r--Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp15
-rw-r--r--Source/WebKit/qt/WebCoreSupport/EditorClientQt.h2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp2
-rw-r--r--Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp1
-rw-r--r--Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp2
-rw-r--r--Source/WebKit/qt/docs/docs.pri15
-rw-r--r--Source/WebKit/qt/docs/qtwebkit.qdocconf2
-rw-r--r--Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp14
-rw-r--r--Source/WebKit/qt/tests/qwebview/.gitignore1
-rw-r--r--Source/WebKit/win/AccessibleBase.cpp41
-rw-r--r--Source/WebKit/win/ChangeLog236
-rw-r--r--Source/WebKit/win/DOMCSSClasses.cpp2
-rw-r--r--Source/WebKit/win/DefaultPolicyDelegate.cpp4
-rw-r--r--Source/WebKit/win/MarshallingHelpers.cpp2
-rw-r--r--Source/WebKit/win/WebActionPropertyBag.cpp2
-rw-r--r--Source/WebKit/win/WebCookieManager.cpp2
-rw-r--r--Source/WebKit/win/WebCoreSupport/WebInspectorClient.h4
-rw-r--r--Source/WebKit/win/WebDownload.cpp2
-rw-r--r--Source/WebKit/win/WebDownload.h2
-rw-r--r--Source/WebKit/win/WebFrame.cpp15
-rw-r--r--Source/WebKit/win/WebFrame.h2
-rw-r--r--Source/WebKit/win/WebHistoryItem.h2
-rw-r--r--Source/WebKit/win/WebIconDatabase.cpp8
-rw-r--r--Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj9260
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops28
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.sln1350
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln106
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKit.vcproj2614
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj696
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops38
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops36
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops16
-rw-r--r--Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops16
-rw-r--r--Source/WebKit/win/WebKitDLL.h2
-rw-r--r--Source/WebKit/win/WebKitGraphics.cpp2
-rw-r--r--Source/WebKit/win/WebKitSystemBits.cpp2
-rw-r--r--Source/WebKit/win/WebLocalizableStrings.cpp4
-rw-r--r--Source/WebKit/win/WebNotificationCenter.cpp8
-rw-r--r--Source/WebKit/win/WebResource.h2
-rw-r--r--Source/WebKit/win/WebView.cpp20
-rw-r--r--Source/WebKit/wince/ChangeLog44
-rw-r--r--Source/WebKit/wx/ChangeLog41
-rw-r--r--Source/WebKit/wx/WebFrame.cpp5
-rw-r--r--Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp2
-rw-r--r--Source/WebKit/wx/WebSettings.cpp2
-rw-r--r--Source/WebKit/wx/WebView.cpp3
-rw-r--r--Source/WebKit2/CMakeLists.txt1
-rw-r--r--Source/WebKit2/ChangeLog2902
-rw-r--r--Source/WebKit2/Configurations/FeatureDefines.xcconfig6
-rw-r--r--Source/WebKit2/Configurations/Version.xcconfig2
-rw-r--r--Source/WebKit2/DerivedSources.pri7
-rw-r--r--Source/WebKit2/GNUmakefile.list.am2
-rw-r--r--Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp44
-rw-r--r--Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h4
-rw-r--r--Source/WebKit2/Platform/CoreIPC/Connection.h4
-rw-r--r--Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp4
-rw-r--r--Source/WebKit2/Platform/SharedMemory.h8
-rw-r--r--Source/WebKit2/Platform/WorkQueue.h4
-rw-r--r--Source/WebKit2/PlatformEfl.cmake21
-rw-r--r--Source/WebKit2/PluginProcess/PluginProcess.cpp6
-rw-r--r--Source/WebKit2/Shared/API/c/WKBase.h2
-rw-r--r--Source/WebKit2/Shared/APIClientTraits.cpp2
-rw-r--r--Source/WebKit2/Shared/ChildProcess.cpp4
-rw-r--r--Source/WebKit2/Shared/ChildProcess.h4
-rw-r--r--Source/WebKit2/Shared/LayerTreeContext.h2
-rw-r--r--Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.cpp4
-rw-r--r--Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h2
-rw-r--r--Source/WebKit2/Shared/SandboxExtension.h3
-rw-r--r--Source/WebKit2/Shared/ShareableSurface.h2
-rw-r--r--Source/WebKit2/Shared/WebError.cpp2
-rw-r--r--Source/WebKit2/Shared/WebMemorySampler.cpp40
-rw-r--r--Source/WebKit2/Shared/WebMemorySampler.h12
-rw-r--r--Source/WebKit2/Shared/WebPreferencesStore.cpp2
-rw-r--r--Source/WebKit2/Shared/WebPreferencesStore.h4
-rw-r--r--Source/WebKit2/Shared/WebProcessCreationParameters.cpp20
-rw-r--r--Source/WebKit2/Shared/WebProcessCreationParameters.h10
-rw-r--r--Source/WebKit2/Shared/gtk/WebEventFactory.cpp8
-rw-r--r--Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp195
-rw-r--r--Source/WebKit2/Shared/mac/SandboxExtensionMac.mm13
-rw-r--r--Source/WebKit2/Target.pri27
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKAPICast.h59
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKContext.cpp10
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKContext.h9
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPreferences.cpp28
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPreferences.h11
-rw-r--r--Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h8
-rw-r--r--Source/WebKit2/UIProcess/API/efl/EWebKit2.h2
-rw-r--r--Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp14
-rw-r--r--Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h10
-rw-r--r--Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp21
-rw-r--r--Source/WebKit2/UIProcess/API/efl/PageClientImpl.h10
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp41
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.h62
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_context.cpp11
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp149
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.h148
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h34
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_settings.cpp85
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_settings.h116
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_settings_private.h (renamed from Source/WebKit2/WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h)41
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_view.cpp306
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_view.h70
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp8
-rw-r--r--Source/WebKit2/UIProcess/API/efl/ewk_view_private.h13
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp13
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h4
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp10
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h1
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/resources/big_button_theme.edjbin0 -> 124051 bytes
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/resources/empty_theme.edjbin0 -> 1137 bytes
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp88
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp2
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_settings.cpp83
-rw-r--r--Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp172
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp2
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h4
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp4
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitResourceLoadClient.cpp2
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp5
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp3
-rw-r--r--Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h2
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PDFViewController.mm5
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PageClientImpl.h4
-rw-r--r--Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm2
-rw-r--r--Source/WebKit2/UIProcess/API/mac/WKView.mm1
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h1
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp411
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h12
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h17
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebkittest.cpp63
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h16
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp28
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h5
-rw-r--r--Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h3
-rw-r--r--Source/WebKit2/UIProcess/API/qt/raw/qrawwebview.cpp21
-rw-r--r--Source/WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h4
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h2
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml62
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml11
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml7
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml11
-rw-r--r--Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp2
-rw-r--r--Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp4
-rw-r--r--Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h2
-rw-r--r--Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp6
-rw-r--r--Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h2
-rw-r--r--Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp7
-rw-r--r--Source/WebKit2/UIProcess/InspectorServer/WebInspectorServer.cpp2
-rw-r--r--Source/WebKit2/UIProcess/InspectorServer/WebSocketServerClient.h5
-rw-r--r--Source/WebKit2/UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp2
-rw-r--r--Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm12
-rw-r--r--Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp31
-rw-r--r--Source/WebKit2/UIProcess/PageClient.h2
-rw-r--r--Source/WebKit2/UIProcess/PageViewportController.cpp238
-rw-r--r--Source/WebKit2/UIProcess/PageViewportController.h139
-rw-r--r--Source/WebKit2/UIProcess/PageViewportControllerClient.h49
-rw-r--r--Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp4
-rw-r--r--Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp6
-rw-r--r--Source/WebKit2/UIProcess/VisitedLinkProvider.cpp61
-rw-r--r--Source/WebKit2/UIProcess/VisitedLinkProvider.h8
-rw-r--r--Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp6
-rw-r--r--Source/WebKit2/UIProcess/WebContext.cpp83
-rw-r--r--Source/WebKit2/UIProcess/WebContext.h2
-rw-r--r--Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp5
-rw-r--r--Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp28
-rw-r--r--Source/WebKit2/UIProcess/WebIconDatabase.cpp6
-rw-r--r--Source/WebKit2/UIProcess/WebInspectorProxy.cpp2
-rw-r--r--Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp6
-rw-r--r--Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp3
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.cpp15
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.h3
-rw-r--r--Source/WebKit2/UIProcess/WebPageProxy.messages.in2
-rw-r--r--Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp4
-rw-r--r--Source/WebKit2/UIProcess/efl/WebFullScreenManagerProxyEfl.cpp15
-rw-r--r--Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp2
-rw-r--r--Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp8
-rw-r--r--Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp60
-rw-r--r--Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h61
-rw-r--r--Source/WebKit2/UIProcess/mac/WebContextMac.mm13
-rw-r--r--Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp547
-rw-r--r--Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.h (renamed from Source/WebKit2/UIProcess/qt/QtViewportHandler.h)136
-rw-r--r--Source/WebKit2/UIProcess/qt/QtGestureRecognizer.cpp4
-rw-r--r--Source/WebKit2/UIProcess/qt/QtGestureRecognizer.h4
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPageClient.cpp4
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPageClient.h3
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp18
-rw-r--r--Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp17
-rw-r--r--Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp756
-rw-r--r--Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp38
-rw-r--r--Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h8
-rw-r--r--Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.cpp13
-rw-r--r--Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.h7
-rw-r--r--Source/WebKit2/UIProcess/qt/WebContextQt.cpp7
-rw-r--r--Source/WebKit2/UIProcess/win/WebView.cpp11
-rw-r--r--Source/WebKit2/UIProcess/win/WebView.h2
-rw-r--r--Source/WebKit2/WebKit2.xcodeproj/project.pbxproj76
-rw-r--r--Source/WebKit2/WebKit2Service/MainMacService.mm52
-rw-r--r--Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp2
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp21
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h63
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp52
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h6
-rw-r--r--Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.cpp22
-rw-r--r--Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.h6
-rw-r--r--Source/WebKit2/WebProcess/Notifications/WebNotificationManager.cpp18
-rw-r--r--Source/WebKit2/WebProcess/Notifications/WebNotificationManager.h7
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h4
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp15
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp2
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp6
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp13
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp17
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h1
-rw-r--r--Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm7
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp1
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginView.cpp29
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginView.h5
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebColorChooser.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp4
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp43
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h7
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp5
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h (renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h)16
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp14
-rw-r--r--Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebFrame.h9
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebPage.cpp25
-rw-r--r--Source/WebKit2/WebProcess/WebPage/WebPage.h6
-rw-r--r--Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp44
-rw-r--r--Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp2
-rw-r--r--Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp1
-rw-r--r--Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm15
-rw-r--r--Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm8
-rw-r--r--Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp19
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.cpp19
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.h3
-rw-r--r--Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in36
-rw-r--r--Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp12
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessInitialization.h (renamed from Source/WebKit2/WebProcess/efl/WebProcessEfl.cpp)34
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm58
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessMac.mm22
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm89
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h45
-rw-r--r--Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm80
-rw-r--r--Source/WebKit2/WebProcess/qt/QtNetworkReply.cpp2
-rw-r--r--Source/WebKit2/WebProcess/qt/WebProcessMainQt.cpp14
-rw-r--r--Source/WebKit2/WebProcess/qt/WebProcessQt.cpp2
-rw-r--r--Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp (renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp)5
-rw-r--r--Source/WebKit2/win/WebKit2.def11
-rwxr-xr-xSource/WebKit2/win/WebKit2.submit.sln104
-rwxr-xr-xSource/WebKit2/win/WebKit2.vcproj9134
-rw-r--r--Source/WebKit2/win/WebKit2Apple.vsprops34
-rw-r--r--Source/WebKit2/win/WebKit2CFLite.def14
-rw-r--r--Source/WebKit2/win/WebKit2CFLite.vsprops26
-rwxr-xr-xSource/WebKit2/win/WebKit2Common.vsprops54
-rw-r--r--Source/WebKit2/win/WebKit2Debug.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2DebugAll.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2DebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2DirectX.vsprops30
-rw-r--r--Source/WebKit2/win/WebKit2Generated.make4
-rwxr-xr-xSource/WebKit2/win/WebKit2Generated.vcproj254
-rw-r--r--Source/WebKit2/win/WebKit2GeneratedCommon.vsprops30
-rw-r--r--Source/WebKit2/win/WebKit2Production.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2Release.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2ReleaseCairoCFLite.vsprops16
-rwxr-xr-xSource/WebKit2/win/WebKit2WebProcess.vcproj814
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessCommon.vsprops30
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessDebug.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessDebugAll.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessDebugCairoCFLite.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessProduction.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessRelease.vsprops16
-rw-r--r--Source/WebKit2/win/WebKit2WebProcessReleaseCairoCFLite.vsprops16
-rw-r--r--Source/api.pri2
-rw-r--r--Source/autotools/symbols.filter7
-rw-r--r--Source/cmake/OptionsBlackBerry.cmake6
-rw-r--r--Source/cmake/OptionsEfl.cmake14
-rw-r--r--Source/cmake/WebKitFeatures.cmake5
-rw-r--r--Source/cmake/WebKitHelpers.cmake9
-rw-r--r--Source/cmakeconfig.h.cmake31
2887 files changed, 186138 insertions, 130145 deletions
diff --git a/Source/.gitignore b/Source/.gitignore
deleted file mode 100644
index 478a08d10..000000000
--- a/Source/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-# Ignore files generated by the Qt build-system:
-qtwebkitversion.h
diff --git a/Source/JavaScriptCore/API/JSBase.cpp b/Source/JavaScriptCore/API/JSBase.cpp
index d0ffa3114..677c68187 100644
--- a/Source/JavaScriptCore/API/JSBase.cpp
+++ b/Source/JavaScriptCore/API/JSBase.cpp
@@ -50,10 +50,10 @@ JSValueRef JSEvaluateScript(JSContextRef ctx, JSStringRef script, JSObjectRef th
// evaluate sets "this" to the global object if it is NULL
JSGlobalObject* globalObject = exec->dynamicGlobalObject();
- SourceCode source = makeSource(script->ustring(), sourceURL->ustring(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
+ SourceCode source = makeSource(script->string(), sourceURL->string(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
JSValue evaluationException;
- JSValue returnValue = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), source, jsThisObject, &evaluationException);
+ JSValue returnValue = evaluate(globalObject->globalExec(), source, jsThisObject, &evaluationException);
if (evaluationException) {
if (exception)
@@ -73,7 +73,7 @@ bool JSCheckScriptSyntax(JSContextRef ctx, JSStringRef script, JSStringRef sourc
ExecState* exec = toJS(ctx);
APIEntryShim entryShim(exec);
- SourceCode source = makeSource(script->ustring(), sourceURL->ustring(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
+ SourceCode source = makeSource(script->string(), sourceURL->string(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
JSValue syntaxException;
bool isValidSyntax = checkSyntax(exec->dynamicGlobalObject()->globalExec(), source, &syntaxException);
diff --git a/Source/JavaScriptCore/API/JSCallbackFunction.cpp b/Source/JavaScriptCore/API/JSCallbackFunction.cpp
index 59de186b0..0f63d3c16 100644
--- a/Source/JavaScriptCore/API/JSCallbackFunction.cpp
+++ b/Source/JavaScriptCore/API/JSCallbackFunction.cpp
@@ -49,7 +49,7 @@ JSCallbackFunction::JSCallbackFunction(JSGlobalObject* globalObject, JSObjectCal
{
}
-void JSCallbackFunction::finishCreation(JSGlobalData& globalData, const UString& name)
+void JSCallbackFunction::finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
diff --git a/Source/JavaScriptCore/API/JSCallbackFunction.h b/Source/JavaScriptCore/API/JSCallbackFunction.h
index 40bef8c48..50630b550 100644
--- a/Source/JavaScriptCore/API/JSCallbackFunction.h
+++ b/Source/JavaScriptCore/API/JSCallbackFunction.h
@@ -34,12 +34,12 @@ namespace JSC {
class JSCallbackFunction : public InternalFunction {
protected:
JSCallbackFunction(JSGlobalObject*, JSObjectCallAsFunctionCallback);
- void finishCreation(JSGlobalData&, const UString& name);
+ void finishCreation(JSGlobalData&, const String& name);
public:
typedef InternalFunction Base;
- static JSCallbackFunction* create(ExecState* exec, JSGlobalObject* globalObject, JSObjectCallAsFunctionCallback callback, const UString& name)
+ static JSCallbackFunction* create(ExecState* exec, JSGlobalObject* globalObject, JSObjectCallAsFunctionCallback callback, const String& name)
{
JSCallbackFunction* function = new (NotNull, allocateCell<JSCallbackFunction>(*exec->heap())) JSCallbackFunction(globalObject, callback);
function->finishCreation(exec->globalData(), name);
diff --git a/Source/JavaScriptCore/API/JSCallbackObject.h b/Source/JavaScriptCore/API/JSCallbackObject.h
index 2c3e0e859..36d7fa9c2 100644
--- a/Source/JavaScriptCore/API/JSCallbackObject.h
+++ b/Source/JavaScriptCore/API/JSCallbackObject.h
@@ -171,7 +171,7 @@ protected:
static const unsigned StructureFlags = ProhibitsPropertyCaching | OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesHasInstance | OverridesVisitChildren | OverridesGetPropertyNames | Parent::StructureFlags;
private:
- static UString className(const JSObject*);
+ static String className(const JSObject*);
static void destroy(JSCell*);
diff --git a/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h b/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
index 160f48887..0691dafc3 100644
--- a/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
+++ b/Source/JavaScriptCore/API/JSCallbackObjectFunctions.h
@@ -111,10 +111,10 @@ void JSCallbackObject<Parent>::init(ExecState* exec)
}
template <class Parent>
-UString JSCallbackObject<Parent>::className(const JSObject* object)
+String JSCallbackObject<Parent>::className(const JSObject* object)
{
const JSCallbackObject* thisObject = jsCast<const JSCallbackObject*>(object);
- UString thisClassName = thisObject->classRef()->className();
+ String thisClassName = thisObject->classRef()->className();
if (!thisClassName.isEmpty())
return thisClassName;
@@ -568,7 +568,7 @@ JSValue JSCallbackObject<Parent>::staticFunctionGetter(ExecState* exec, JSValue
}
}
- return throwError(exec, createReferenceError(exec, "Static function property defined with NULL callAsFunction callback."));
+ return throwError(exec, createReferenceError(exec, ASCIILiteral("Static function property defined with NULL callAsFunction callback.")));
}
template <class Parent>
@@ -600,7 +600,7 @@ JSValue JSCallbackObject<Parent>::callbackGetter(ExecState* exec, JSValue slotPa
}
}
- return throwError(exec, createReferenceError(exec, "hasProperty callback returned true for a property that doesn't exist."));
+ return throwError(exec, createReferenceError(exec, ASCIILiteral("hasProperty callback returned true for a property that doesn't exist.")));
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/API/JSClassRef.cpp b/Source/JavaScriptCore/API/JSClassRef.cpp
index 134431654..a95d42e39 100644
--- a/Source/JavaScriptCore/API/JSClassRef.cpp
+++ b/Source/JavaScriptCore/API/JSClassRef.cpp
@@ -42,20 +42,6 @@ using namespace WTF::Unicode;
const JSClassDefinition kJSClassDefinitionEmpty = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-static inline UString tryCreateStringFromUTF8(const char* string)
-{
- if (!string)
- return UString();
-
- size_t length = strlen(string);
- Vector<UChar, 1024> buffer(length);
- UChar* p = buffer.data();
- if (conversionOK != convertUTF8ToUTF16(&string, string + length, &p, p + length))
- return UString();
-
- return UString(buffer.data(), p - buffer.data());
-}
-
OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass* protoClass)
: parentClass(definition->parentClass)
, prototypeClass(0)
@@ -70,14 +56,14 @@ OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass*
, callAsConstructor(definition->callAsConstructor)
, hasInstance(definition->hasInstance)
, convertToType(definition->convertToType)
- , m_className(tryCreateStringFromUTF8(definition->className))
+ , m_className(String::fromUTF8(definition->className))
{
initializeThreading();
if (const JSStaticValue* staticValue = definition->staticValues) {
m_staticValues = adoptPtr(new OpaqueJSClassStaticValuesTable);
while (staticValue->name) {
- UString valueName = tryCreateStringFromUTF8(staticValue->name);
+ String valueName = String::fromUTF8(staticValue->name);
if (!valueName.isNull())
m_staticValues->set(valueName.impl(), adoptPtr(new StaticValueEntry(staticValue->getProperty, staticValue->setProperty, staticValue->attributes)));
++staticValue;
@@ -87,7 +73,7 @@ OpaqueJSClass::OpaqueJSClass(const JSClassDefinition* definition, OpaqueJSClass*
if (const JSStaticFunction* staticFunction = definition->staticFunctions) {
m_staticFunctions = adoptPtr(new OpaqueJSClassStaticFunctionsTable);
while (staticFunction->name) {
- UString functionName = tryCreateStringFromUTF8(staticFunction->name);
+ String functionName = String::fromUTF8(staticFunction->name);
if (!functionName.isNull())
m_staticFunctions->set(functionName.impl(), adoptPtr(new StaticFunctionEntry(staticFunction->callAsFunction, staticFunction->attributes)));
++staticFunction;
@@ -170,10 +156,10 @@ OpaqueJSClassContextData& OpaqueJSClass::contextData(ExecState* exec)
return *contextData;
}
-UString OpaqueJSClass::className()
+String OpaqueJSClass::className()
{
// Make a deep copy, so that the caller has no chance to put the original into IdentifierTable.
- return UString(m_className.characters(), m_className.length());
+ return m_className.isolatedCopy();
}
OpaqueJSClassStaticValuesTable* OpaqueJSClass::staticValues(JSC::ExecState* exec)
diff --git a/Source/JavaScriptCore/API/JSClassRef.h b/Source/JavaScriptCore/API/JSClassRef.h
index 82c7ab3f9..44d5d11b9 100644
--- a/Source/JavaScriptCore/API/JSClassRef.h
+++ b/Source/JavaScriptCore/API/JSClassRef.h
@@ -31,8 +31,8 @@
#include "Weak.h"
#include "JSObject.h"
#include "Protect.h"
-#include "UString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
struct StaticValueEntry {
WTF_MAKE_FAST_ALLOCATED;
@@ -89,7 +89,7 @@ struct OpaqueJSClass : public ThreadSafeRefCounted<OpaqueJSClass> {
static PassRefPtr<OpaqueJSClass> createNoAutomaticPrototype(const JSClassDefinition*);
~OpaqueJSClass();
- JSC::UString className();
+ String className();
OpaqueJSClassStaticValuesTable* staticValues(JSC::ExecState*);
OpaqueJSClassStaticFunctionsTable* staticFunctions(JSC::ExecState*);
JSC::JSObject* prototype(JSC::ExecState*);
@@ -118,8 +118,8 @@ private:
OpaqueJSClassContextData& contextData(JSC::ExecState*);
- // UStrings in these data members should not be put into any IdentifierTable.
- JSC::UString m_className;
+ // Strings in these data members should not be put into any IdentifierTable.
+ String m_className;
OwnPtr<OpaqueJSClassStaticValuesTable> m_staticValues;
OwnPtr<OpaqueJSClassStaticFunctionsTable> m_staticFunctions;
};
diff --git a/Source/JavaScriptCore/API/JSContextRef.cpp b/Source/JavaScriptCore/API/JSContextRef.cpp
index 7a57287de..7c815355b 100644
--- a/Source/JavaScriptCore/API/JSContextRef.cpp
+++ b/Source/JavaScriptCore/API/JSContextRef.cpp
@@ -35,7 +35,7 @@
#include "JSClassRef.h"
#include "JSGlobalObject.h"
#include "JSObject.h"
-#include "UStringBuilder.h"
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/StringHash.h>
#if OS(DARWIN)
@@ -167,15 +167,15 @@ JSStringRef JSContextCreateBacktrace(JSContextRef ctx, unsigned maxStackSize)
JSLockHolder lock(exec);
unsigned count = 0;
- UStringBuilder builder;
+ StringBuilder builder;
CallFrame* callFrame = exec;
- UString functionName;
+ String functionName;
if (exec->callee()) {
if (asObject(exec->callee())->inherits(&InternalFunction::s_info)) {
functionName = asInternalFunction(exec->callee())->name(exec);
- builder.append("#0 ");
+ builder.appendLiteral("#0 ");
builder.append(functionName);
- builder.append("() ");
+ builder.appendLiteral("() ");
count++;
}
}
@@ -183,10 +183,10 @@ JSStringRef JSContextCreateBacktrace(JSContextRef ctx, unsigned maxStackSize)
ASSERT(callFrame);
int signedLineNumber;
intptr_t sourceID;
- UString urlString;
+ String urlString;
JSValue function;
- UString levelStr = UString::number(count);
+ String levelStr = String::number(count);
exec->interpreter()->retrieveLastCaller(callFrame, signedLineNumber, sourceID, urlString, function);
@@ -200,20 +200,20 @@ JSStringRef JSContextCreateBacktrace(JSContextRef ctx, unsigned maxStackSize)
}
unsigned lineNumber = signedLineNumber >= 0 ? signedLineNumber : 0;
if (!builder.isEmpty())
- builder.append("\n");
- builder.append("#");
+ builder.append('\n');
+ builder.append('#');
builder.append(levelStr);
- builder.append(" ");
+ builder.append(' ');
builder.append(functionName);
- builder.append("() at ");
+ builder.appendLiteral("() at ");
builder.append(urlString);
- builder.append(":");
- builder.append(UString::number(lineNumber));
+ builder.append(':');
+ builder.appendNumber(lineNumber);
if (!function || ++count == maxStackSize)
break;
callFrame = callFrame->callerFrame();
}
- return OpaqueJSString::create(builder.toUString()).leakRef();
+ return OpaqueJSString::create(builder.toString()).leakRef();
}
diff --git a/Source/JavaScriptCore/API/JSObjectRef.cpp b/Source/JavaScriptCore/API/JSObjectRef.cpp
index e6c0c528a..e206cb16f 100644
--- a/Source/JavaScriptCore/API/JSObjectRef.cpp
+++ b/Source/JavaScriptCore/API/JSObjectRef.cpp
@@ -92,7 +92,7 @@ JSObjectRef JSObjectMakeFunctionWithCallback(JSContextRef ctx, JSStringRef name,
{
ExecState* exec = toJS(ctx);
APIEntryShim entryShim(exec);
- return toRef(JSCallbackFunction::create(exec, exec->lexicalGlobalObject(), callAsFunction, name ? name->ustring() : "anonymous"));
+ return toRef(JSCallbackFunction::create(exec, exec->lexicalGlobalObject(), callAsFunction, name ? name->string() : ASCIILiteral("anonymous")));
}
JSObjectRef JSObjectMakeConstructor(JSContextRef ctx, JSClassRef jsClass, JSObjectCallAsConstructorCallback callAsConstructor)
@@ -118,10 +118,10 @@ JSObjectRef JSObjectMakeFunction(JSContextRef ctx, JSStringRef name, unsigned pa
MarkedArgumentBuffer args;
for (unsigned i = 0; i < parameterCount; i++)
- args.append(jsString(exec, parameterNames[i]->ustring()));
- args.append(jsString(exec, body->ustring()));
+ args.append(jsString(exec, parameterNames[i]->string()));
+ args.append(jsString(exec, body->string()));
- JSObject* result = constructFunction(exec, exec->lexicalGlobalObject(), args, nameID, sourceURL->ustring(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
+ JSObject* result = constructFunction(exec, exec->lexicalGlobalObject(), args, nameID, sourceURL->string(), TextPosition(OrdinalNumber::fromOneBasedInt(startingLineNumber), OrdinalNumber::first()));
if (exec->hadException()) {
if (exception)
*exception = toRef(exec, exec->exception());
@@ -510,7 +510,7 @@ JSPropertyNameArrayRef JSObjectCopyPropertyNames(JSContextRef ctx, JSObjectRef o
size_t size = array.size();
propertyNames->array.reserveInitialCapacity(size);
for (size_t i = 0; i < size; ++i)
- propertyNames->array.append(JSRetainPtr<JSStringRef>(Adopt, OpaqueJSString::create(array[i].ustring()).leakRef()));
+ propertyNames->array.append(JSRetainPtr<JSStringRef>(Adopt, OpaqueJSString::create(array[i].string()).leakRef()));
return JSPropertyNameArrayRetain(propertyNames);
}
diff --git a/Source/JavaScriptCore/API/JSProfilerPrivate.cpp b/Source/JavaScriptCore/API/JSProfilerPrivate.cpp
index ea277f059..c83bc63bd 100644
--- a/Source/JavaScriptCore/API/JSProfilerPrivate.cpp
+++ b/Source/JavaScriptCore/API/JSProfilerPrivate.cpp
@@ -34,13 +34,13 @@ using namespace JSC;
void JSStartProfiling(JSContextRef ctx, JSStringRef title)
{
- Profiler::profiler()->startProfiling(toJS(ctx), title->ustring());
+ Profiler::profiler()->startProfiling(toJS(ctx), title->string());
}
void JSEndProfiling(JSContextRef ctx, JSStringRef title)
{
ExecState* exec = toJS(ctx);
Profiler* profiler = Profiler::profiler();
- profiler->stopProfiling(exec, title->ustring());
+ profiler->stopProfiling(exec, title->string());
}
diff --git a/Source/JavaScriptCore/API/JSStringRefCF.cpp b/Source/JavaScriptCore/API/JSStringRefCF.cpp
index 0877a13e6..e87fd838d 100644
--- a/Source/JavaScriptCore/API/JSStringRefCF.cpp
+++ b/Source/JavaScriptCore/API/JSStringRefCF.cpp
@@ -30,7 +30,6 @@
#include "InitializeThreading.h"
#include "JSStringRef.h"
#include "OpaqueJSString.h"
-#include <runtime/UString.h>
#include <runtime/JSValue.h>
#include <wtf/OwnArrayPtr.h>
diff --git a/Source/JavaScriptCore/API/JSValueRef.cpp b/Source/JavaScriptCore/API/JSValueRef.cpp
index 9b7268a2d..4c986c253 100644
--- a/Source/JavaScriptCore/API/JSValueRef.cpp
+++ b/Source/JavaScriptCore/API/JSValueRef.cpp
@@ -36,11 +36,11 @@
#include <runtime/LiteralParser.h>
#include <runtime/Operations.h>
#include <runtime/Protect.h>
-#include <runtime/UString.h>
#include <runtime/JSValue.h>
#include <wtf/Assertions.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <algorithm> // for std::min
@@ -227,14 +227,14 @@ JSValueRef JSValueMakeString(JSContextRef ctx, JSStringRef string)
ExecState* exec = toJS(ctx);
APIEntryShim entryShim(exec);
- return toRef(exec, jsString(exec, string->ustring()));
+ return toRef(exec, jsString(exec, string->string()));
}
JSValueRef JSValueMakeFromJSONString(JSContextRef ctx, JSStringRef string)
{
ExecState* exec = toJS(ctx);
APIEntryShim entryShim(exec);
- UString str = string->ustring();
+ String str = string->string();
if (str.is8Bit()) {
LiteralParser<LChar> parser(exec, str.characters8(), str.length(), StrictJSON);
return toRef(exec, parser.tryLiteralParse());
@@ -248,7 +248,7 @@ JSStringRef JSValueCreateJSONString(JSContextRef ctx, JSValueRef apiValue, unsig
ExecState* exec = toJS(ctx);
APIEntryShim entryShim(exec);
JSValue value = toJS(exec, apiValue);
- UString result = JSONStringify(exec, value, indent);
+ String result = JSONStringify(exec, value, indent);
if (exception)
*exception = 0;
if (exec->hadException()) {
diff --git a/Source/JavaScriptCore/API/OpaqueJSString.cpp b/Source/JavaScriptCore/API/OpaqueJSString.cpp
index 9a116e6b2..457cb27f7 100644
--- a/Source/JavaScriptCore/API/OpaqueJSString.cpp
+++ b/Source/JavaScriptCore/API/OpaqueJSString.cpp
@@ -32,18 +32,18 @@
using namespace JSC;
-PassRefPtr<OpaqueJSString> OpaqueJSString::create(const UString& ustring)
+PassRefPtr<OpaqueJSString> OpaqueJSString::create(const String& string)
{
- if (!ustring.isNull())
- return adoptRef(new OpaqueJSString(ustring.characters(), ustring.length()));
+ if (!string.isNull())
+ return adoptRef(new OpaqueJSString(string.characters(), string.length()));
return 0;
}
-UString OpaqueJSString::ustring() const
+String OpaqueJSString::string() const
{
if (this && m_characters)
- return UString(m_characters, m_length);
- return UString();
+ return String(m_characters, m_length);
+ return String();
}
Identifier OpaqueJSString::identifier(JSGlobalData* globalData) const
diff --git a/Source/JavaScriptCore/API/OpaqueJSString.h b/Source/JavaScriptCore/API/OpaqueJSString.h
index 1c63150cf..35543cdd6 100644
--- a/Source/JavaScriptCore/API/OpaqueJSString.h
+++ b/Source/JavaScriptCore/API/OpaqueJSString.h
@@ -27,7 +27,7 @@
#define OpaqueJSString_h
#include <wtf/ThreadSafeRefCounted.h>
-#include <runtime/UString.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
class Identifier;
@@ -46,12 +46,12 @@ struct OpaqueJSString : public ThreadSafeRefCounted<OpaqueJSString> {
return adoptRef(new OpaqueJSString(characters, length));
}
- JS_EXPORT_PRIVATE static PassRefPtr<OpaqueJSString> create(const JSC::UString&);
+ JS_EXPORT_PRIVATE static PassRefPtr<OpaqueJSString> create(const String&);
UChar* characters() { return this ? m_characters : 0; }
unsigned length() { return this ? m_length : 0; }
- JSC::UString ustring() const;
+ String string() const;
JSC::Identifier identifier(JSC::JSGlobalData*) const;
private:
diff --git a/Source/JavaScriptCore/CMakeLists.txt b/Source/JavaScriptCore/CMakeLists.txt
index 2689bce5c..22d571933 100644
--- a/Source/JavaScriptCore/CMakeLists.txt
+++ b/Source/JavaScriptCore/CMakeLists.txt
@@ -91,7 +91,6 @@ SET(JavaScriptCore_SOURCES
dfg/DFGOperations.cpp
dfg/DFGPhase.cpp
dfg/DFGPredictionPropagationPhase.cpp
- dfg/DFGRedundantPhiEliminationPhase.cpp
dfg/DFGRepatch.cpp
dfg/DFGSpeculativeJIT.cpp
dfg/DFGSpeculativeJIT32_64.cpp
@@ -208,7 +207,9 @@ SET(JavaScriptCore_SOURCES
runtime/JSONObject.cpp
runtime/JSPropertyNameIterator.cpp
runtime/JSSegmentedVariableObject.cpp
- runtime/JSStaticScopeObject.cpp
+ runtime/JSNameScope.cpp
+ runtime/JSWithScope.cpp
+ runtime/JSScope.cpp
runtime/JSString.cpp
runtime/JSStringJoiner.cpp
runtime/JSSymbolTableObject.cpp
@@ -243,7 +244,6 @@ SET(JavaScriptCore_SOURCES
runtime/RegExpMatchesArray.cpp
runtime/RegExpObject.cpp
runtime/RegExpPrototype.cpp
- runtime/ScopeChain.cpp
runtime/SmallStrings.cpp
runtime/StrictEvalActivation.cpp
runtime/StringConstructor.cpp
@@ -254,7 +254,6 @@ SET(JavaScriptCore_SOURCES
runtime/StructureChain.cpp
runtime/SymbolTable.cpp
runtime/TimeoutChecker.cpp
- runtime/UString.cpp
tools/CodeProfile.cpp
tools/CodeProfiling.cpp
@@ -292,6 +291,65 @@ SET(JavaScriptCore_LIBRARIES
${WTF_LIBRARY_NAME}
)
+IF (ENABLE_LLINT)
+ # We cannot check for RUBY_FOUND because it is set only when the full package is installed and
+ # the only thing we need is the interpreter. Unlike Python, cmake does not provide a macro
+ # for finding the only Ruby interpreter.
+ IF (NOT RUBY_EXECUTABLE)
+ MESSAGE(FATAL_ERROR "The Ruby interpreter is needed to generate LLInt files.")
+ ENDIF ()
+
+ SET(LLINT_ASM
+ llint/LowLevelInterpreter.asm
+ llint/LowLevelInterpreter32_64.asm
+ llint/LowLevelInterpreter64.asm
+ )
+
+ SET(OFFLINE_ASM
+ offlineasm/armv7.rb
+ offlineasm/ast.rb
+ offlineasm/backends.rb
+ offlineasm/cloop.rb
+ offlineasm/config.rb
+ offlineasm/instructions.rb
+ offlineasm/offsets.rb
+ offlineasm/opt.rb
+ offlineasm/parser.rb
+ offlineasm/registers.rb
+ offlineasm/self_hash.rb
+ offlineasm/settings.rb
+ offlineasm/transform.rb
+ offlineasm/x86.rb
+ )
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
+ MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/offlineasm/generate_offset_extractor.rb
+ DEPENDS ${LLINT_ASM} ${OFFLINE_ASM}
+ COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/generate_offset_extractor.rb ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h
+ VERBATIM)
+
+ ADD_SOURCE_DEPENDENCIES(${JAVASCRIPTCORE_DIR}/llint/LLIntOffsetsExtractor.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntDesiredOffsets.h)
+ ADD_EXECUTABLE(LLIntOffsetsExtractor ${JAVASCRIPTCORE_DIR}/llint/LLIntOffsetsExtractor.cpp)
+
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
+ MAIN_DEPENDENCY ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb
+ DEPENDS LLIntOffsetsExtractor ${LLINT_ASM} ${OFFLINE_ASM}
+ COMMAND ${RUBY_EXECUTABLE} ${JAVASCRIPTCORE_DIR}/offlineasm/asm.rb ${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.asm $<TARGET_FILE:LLIntOffsetsExtractor> ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h
+ VERBATIM)
+
+ ADD_SOURCE_DEPENDENCIES(${JAVASCRIPTCORE_DIR}/llint/LowLevelInterpreter.cpp ${DERIVED_SOURCES_JAVASCRIPTCORE_DIR}/LLIntAssembly.h)
+ LIST(APPEND JavaScriptCore_SOURCES
+ llint/LLIntCLoop.cpp
+ llint/LLIntData.cpp
+ llint/LLIntEntrypoints.cpp
+ llint/LLIntExceptions.cpp
+ llint/LLIntSlowPaths.cpp
+ llint/LLIntThunks.cpp
+ llint/LowLevelInterpreter.cpp
+ )
+ENDIF ()
# GENERATOR 1-A: LUT creator
FOREACH (_file ${JavaScriptCore_LUT_FILES})
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index a8434ccc7..83cae4a31 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,3411 @@
+2012-09-10 Hojong Han <hojong.han@samsung.com>
+
+ [EFL] JIT memory usage is not retrieved
+ https://bugs.webkit.org/show_bug.cgi?id=96095
+
+ Reviewed by Geoffrey Garen.
+
+ Fill JITBytes for EFL port.
+
+ * runtime/MemoryStatistics.cpp:
+ (JSC::globalMemoryStatistics):
+
+2012-09-10 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [CMake][EFL] Enable the LLInt
+ https://bugs.webkit.org/show_bug.cgi?id=92682
+
+ Reviewed by Csaba Osztrogonác.
+
+ Generate the headers needed by LLint when LLint is enabled.
+
+ * CMakeLists.txt:
+
+2012-09-10 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed. Fix make distcheck.
+
+ * GNUmakefile.list.am: Add missing files.
+
+2012-09-09 Mark Lam <mark.lam@apple.com>
+
+ Fixed a few llint C++ interpreter bugs.
+ https://bugs.webkit.org/show_bug.cgi?id=96127.
+
+ Reviewed by Geoffrey Garen.
+
+ * llint/LLIntCLoop.h:
+ CLoop::execute()'s bootstrapOpcodeId does not need a default
+ value. There is no case when this function is called without
+ that parameter being specified.
+ * llint/LowLevelInterpreter.asm:
+ Moved the dispatchAfterCall() call to where it is needed.
+ For the C_LOOP back-end, it generates unreachable code.
+ * llint/LowLevelInterpreter.cpp:
+ #include <wtf/Assertions.h> because LLIntAssembly.h needs it.
+ (JSC):
+ Fixed bug in SIGN_BIT32() macro.
+ Placate a MSVC warning for t0, and t1 being uninitialized.
+ (JSC::CLoop::execute):
+ The bootstrapOpcodeId arg should always be specified.
+ MSVC doesn't like UNUSED_PARAM() for labels. Switch to using
+ the new UNUSED_LABEL() macro.
+ * offlineasm/cloop.rb:
+ * offlineasm/generate_offset_extractor.rb:
+ Resolved a compiler warning found via MSVC.
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Add StringBuilder::appendNumber() and use it
+ https://bugs.webkit.org/show_bug.cgi?id=96030
+
+ Reviewed by Eric Seidel.
+
+ Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code.
+
+ * API/JSContextRef.cpp:
+ (JSContextCreateBacktrace):
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * interpreter/Interpreter.h:
+ (JSC::StackFrame::toString):
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Make the String initialization on the function side of String::number()
+ https://bugs.webkit.org/show_bug.cgi?id=95940
+
+ Reviewed by Benjamin Poulain.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2012-09-09 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled out <http://trac.webkit.org/changeset/127939> because it broke
+ fast/js/named-function-expression.html.
+
+ Refactored bytecode generator initialization to support moving captured vars around
+ https://bugs.webkit.org/show_bug.cgi?id=96159
+
+ Reviewed by Gavin Barraclough.
+
+2012-09-08 Csaba Osztrogonác <ossy@webkit.org>
+
+ LLInt buildfix for case sensitive filesystems
+ https://bugs.webkit.org/show_bug.cgi?id=96099
+
+ Reviewed by Michael Saboff.
+
+ * llint/LowLevelInterpreter.cpp: Fix filenames.
+
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ Rename ustring() to string() to make the accessor name more logical after
+ r127191.
+
+ * API/JSBase.cpp:
+ (JSEvaluateScript):
+ (JSCheckScriptSyntax):
+ * API/JSObjectRef.cpp:
+ (JSObjectMakeFunctionWithCallback):
+ (JSObjectMakeFunction):
+ (JSObjectCopyPropertyNames):
+ * API/JSProfilerPrivate.cpp:
+ (JSStartProfiling):
+ (JSEndProfiling):
+ * API/JSValueRef.cpp:
+ (JSValueMakeString):
+ (JSValueMakeFromJSONString):
+ * API/OpaqueJSString.cpp:
+ (OpaqueJSString::string):
+ * API/OpaqueJSString.h:
+ (OpaqueJSString):
+ * bytecode/CodeBlock.cpp:
+ (JSC::idName):
+ (JSC::CodeBlock::dump):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::addStringConstant):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::RegExpNode::emitBytecode):
+ (JSC::processClauseList):
+ * dfg/DFGGraph.cpp:
+ (JSC::DFG::Graph::dump):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jsc.cpp:
+ (GlobalObject::addFunction):
+ (GlobalObject::addConstructableFunction):
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+ * parser/ASTBuilder.h:
+ (JSC::ASTBuilder::createRegExp):
+ * parser/Parser.cpp:
+ (JSC::::parsePrimaryExpression):
+ * parser/Parser.h:
+ (JSC::Scope::declareVariable):
+ (JSC::Scope::declareParameter):
+ (JSC::Scope::useVariable):
+ * parser/SyntaxChecker.h:
+ (JSC::SyntaxChecker::createRegExp):
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::createUndefinedVariableError):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::paramString):
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::finishCreation):
+ * runtime/FunctionPrototype.cpp:
+ (JSC::FunctionPrototype::addFunctionProperties):
+ * runtime/Identifier.h:
+ (JSC::Identifier::string):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::calculatedDisplayName):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ * runtime/JSONObject.cpp:
+ (JSC::PropertyNameForFunctionCall::value):
+ (JSC::Stringifier::Holder::appendNextProperty):
+ (JSC::Walker::walk):
+ * runtime/JSPropertyNameIterator.h:
+ (JSC::JSPropertyNameIterator::finishCreation):
+ * runtime/JSScope.cpp:
+ (JSC::JSScope::resolveBase):
+ * runtime/JSString.h:
+ (JSC::inlineJSValueNotStringtoString):
+ * runtime/LiteralParser.cpp:
+ (JSC::::parse):
+ * runtime/ObjectConstructor.cpp:
+ (JSC::ObjectConstructor::finishCreation):
+ (JSC::objectConstructorGetOwnPropertyNames):
+ (JSC::objectConstructorKeys):
+ * runtime/RegExpConstructor.cpp:
+ (JSC::RegExpConstructor::finishCreation):
+
+2012-09-07 Gavin Barraclough <barraclough@apple.com>
+
+ CALLFRAME_OFFSET and EXCEPTION_OFFSET are same in ctiTrampoline on ARM Thumb2
+ https://bugs.webkit.org/show_bug.cgi?id=82013
+
+ Reviewed by Geoff Garen.
+
+ Neither of these values need to be stored. At all.
+
+ * jit/JITStubs.cpp:
+ (JSC):
+ (JSC::ctiTrampoline):
+ (JSC::JITThunks::JITThunks):
+ - Nothing to see here. Move along.
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127938.
+ http://trac.webkit.org/changeset/127938
+ https://bugs.webkit.org/show_bug.cgi?id=96166
+
+ It broke the build (Requested by smfr on #webkit).
+
+ * llint/LowLevelInterpreter.cpp:
+ (JSC):
+ (JSC::CLoop::execute):
+ * offlineasm/cloop.rb:
+
+2012-09-07 Geoffrey Garen <ggaren@apple.com>
+
+ Refactored bytecode generator initialization to support moving captured vars around
+ https://bugs.webkit.org/show_bug.cgi?id=96159
+
+ Reviewed by Gavin Barraclough.
+
+ This patch separates the stages of allocating registers, declaring identifiers
+ in the symbol table, and initializing registers, so you can change
+ allocation decisions without breaking the world.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator): Call a set of helper functions
+ instead of inlining all the code, to help clarity.
+
+ (JSC::BytecodeGenerator::allocateCapturedVars):
+ (JSC::BytecodeGenerator::allocateUncapturedVars):
+ (JSC::BytecodeGenerator::allocateActivationVar):
+ (JSC::BytecodeGenerator::allocateArgumentsVars):
+ (JSC::BytecodeGenerator::allocateCalleeVarUndeclared):
+ (JSC::BytecodeGenerator::declareParameters):
+ (JSC::BytecodeGenerator::declareCallee):
+ (JSC::BytecodeGenerator::initCalleeVar):
+ (JSC::BytecodeGenerator::initArgumentsVars):
+ (JSC::BytecodeGenerator::initActivationVar):
+ (JSC::BytecodeGenerator::initThisParameter):
+ (JSC::BytecodeGenerator::initFunctionDeclarations):
+ (JSC::BytecodeGenerator::declareParameter):
+ (JSC::BytecodeGenerator::createLazyRegisterIfNecessary):
+ (JSC::BytecodeGenerator::createActivationIfNecessary): Factored these
+ helper functions out from pre-existing code.
+
+ * bytecompiler/BytecodeGenerator.h:
+ (BytecodeGenerator):
+ * parser/ASTBuilder.h:
+ (JSC::ASTBuilder::createFuncDeclStatement):
+ (JSC::ASTBuilder::addVar):
+ * parser/Nodes.h:
+ (JSC::DeclarationStacks::VarDeclaration::VarDeclaration):
+ (VarDeclaration):
+ (JSC::DeclarationStacks::FunctionDeclaration::FunctionDeclaration):
+ (FunctionDeclaration): Declaration stacks get a little more data now,
+ to support allocating registers before putting things in the symbol
+ table. I'm convinced that we should eventually just expand the symbol
+ table to understand these things.
+
+2012-09-07 Mark Lam <mark.lam@apple.com>
+
+ Fix a llint C++ interpreter bugs.
+ https://bugs.webkit.org/show_bug.cgi?id=96127.
+
+ Reviewed by Filip Pizlo.
+
+ * llint/LowLevelInterpreter.cpp:
+ (JSC):
+ (JSC::CLoop::execute):
+ * offlineasm/cloop.rb:
+
+2012-09-07 Gavin Barraclough <barraclough@apple.com>
+
+ Object.prototype.__define{G,S}etter__ with non-callable second parameter should throw TypeError instead of SyntaxError
+ https://bugs.webkit.org/show_bug.cgi?id=93873
+
+ Reviewed by Sam Weinig.
+
+ * runtime/ObjectPrototype.cpp:
+ (JSC::objectProtoFuncDefineGetter):
+ - throw TypeError instead of SyntaxError
+ (JSC::objectProtoFuncDefineSetter):
+ - throw TypeError instead of SyntaxError
+
+2012-09-06 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ JSC should have a zombie mode
+ https://bugs.webkit.org/show_bug.cgi?id=96047
+
+ Reviewed by Geoffrey Garen.
+
+ To aid clients of JSC while they are debugging memory issues, we should add a zombie
+ mode that scribbles into objects in the MarkedSpace after they are found to be dead
+ to prevent a sort of "use after free" situation. As a first cut we should support a
+ mode that just scribbles on objects prior to their being reused (i.e. while they are
+ "zombies") and a mode in which, in addition to scribbling on zombies, once an object
+ has been marked its mark bit will never be cleared, thus giving us "immortal" zombies.
+
+ These two modes will be enabled through the use of environment variables. For now these
+ will be "JSZombieEnabled" and "JSImmortalZombieEnabled". Setting them to any value will
+ result in the use of the appropriate mode.
+
+ * heap/Heap.cpp:
+ (JSC::Heap::collect): Zombifies dead objects at the end of collection if zombie mode is enabled.
+ (ZombifyCellFunctor):
+ (JSC::ZombifyCellFunctor::ZombifyCellFunctor): Sets marked bits for dead objects if in immortal mode and writes 0xbbadbeef into them.
+ (JSC::ZombifyCellFunctor::operator()):
+ (JSC):
+ (ZombifyBlockFunctor):
+ (JSC::ZombifyBlockFunctor::operator()):
+ (JSC::Heap::zombifyDeadObjects): Eagerly sweeps so that we don't write garbage into an object before it
+ is finalized/destroyed.
+ * heap/Heap.h:
+ (Heap):
+ * heap/MarkedBlock.h:
+ (MarkedBlock):
+ (JSC::MarkedBlock::forEachDeadCell): Used to iterate over dead cells at the end of collection if zombie mode is enabled.
+ (JSC):
+ * runtime/Options.cpp:
+ (JSC::Options::initialize):
+ * runtime/Options.h:
+ (JSC):
+
+2012-09-05 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in <http://trac.webkit.org/changeset/127698> with a fix for
+ fast/dom/HTMLScriptElement/script-reexecution-pretty-diff.html, which
+ is to make sure that function declarations don't put their names in scope.
+
+ Reviewed by Gavin Barraclough.
+
+ Named functions should not allocate scope objects for their names
+ https://bugs.webkit.org/show_bug.cgi?id=95659
+
+ Reviewed by Oliver Hunt.
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ 16 bit JSRopeString up converts an 8 bit fibers to 16 bits during resolution
+ https://bugs.webkit.org/show_bug.cgi?id=95810
+
+ Reviewed by Benjamin Poulain.
+
+ Added 8 bit path that copies the contents of an 8 bit fiber to the 16 bit buffer
+ when resolving a 16 bit rope.
+
+ * runtime/JSString.cpp:
+ (JSC::JSRopeString::resolveRopeSlowCase):
+
+2012-09-06 Gavin Barraclough <barraclough@apple.com>
+
+ JS test suite puts incorrect limitations on Function.toString()
+ https://bugs.webkit.org/show_bug.cgi?id=3975
+
+ Reviewed by Geoff Garen.
+
+ The result of function toString is implementation defined;
+ these test cases were looking for specific whitespace formatting
+ that matches mozilla's, and for redundant braces to be inserted
+ around if/else blocks. Stop that.
+
+ * tests/mozilla/expected.html:
+ * tests/mozilla/js1_2/function/tostring-1.js:
+ (simplify):
+ - reduce whitespace differences
+ * tests/mozilla/js1_2/function/tostring-2.js:
+ (simplify):
+ - reduce whitespace differences
+ (TestOr):
+ (TestAnd):
+ - added braces to match expected output
+
+2012-09-06 Yuqiang Xian <yuqiang.xian@intel.com>
+
+ Performance regressions on 32-bit platforms with revisions 125637 and 126387
+ https://bugs.webkit.org/show_bug.cgi?id=95953
+
+ Reviewed by Filip Pizlo.
+
+ * jit/JITPropertyAccess32_64.cpp:
+ (JSC::JIT::emit_op_get_by_val): Fix the typo.
+
+2012-09-05 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled out <http://trac.webkit.org/changeset/127698> because it broke
+ fast/dom/HTMLScriptElement/script-reexecution-pretty-diff.html
+
+ Named functions should not allocate scope objects for their names
+ https://bugs.webkit.org/show_bug.cgi?id=95659
+
+ Reviewed by Oliver Hunt.
+
+2012-09-06 Mark Lam <mark.lam@apple.com>
+
+ Renamed useYarrJIT() option to useRegExpJIT(). Also fixed regression in
+ which inadvertantly allows the ASM llint to use the baseline JIT when
+ useRegExpJIT() is true.
+ https://bugs.webkit.org/show_bug.cgi?id=95918.
+
+ Reviewed by Geoffrey Garen.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::enableAssembler):
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSC::JSGlobalData::canUseJIT):
+ (JSC::JSGlobalData::canUseRegExpJIT):
+ (JSGlobalData):
+ * runtime/Options.cpp:
+ (JSC::Options::initialize):
+ * runtime/Options.h:
+ (JSC):
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for Interpreter after r127698.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2012-09-05 Geoffrey Garen <ggaren@apple.com>
+
+ Named functions should not allocate scope objects for their names
+ https://bugs.webkit.org/show_bug.cgi?id=95659
+
+ Reviewed by Oliver Hunt.
+
+ In most cases, we can merge a function expression's name into its symbol
+ table. This reduces memory footprint per closure from three objects
+ (function + activation + name scope) to two (function + activation),
+ speeds up closure allocation, and speeds up recursive calls.
+
+ In the case of a named function expression that contains a non-strict
+ eval, the rules are so bat-poop crazy that I don't know how to model
+ them without an extra object. Since functions now default to not having
+ such an object, this case needs to allocate the object on function
+ entry.
+
+ Therefore, this patch makes the slow case a bit slower so the fast case
+ can be faster and more memory-efficient. (Note that the slow case already
+ allocates an activation on entry, and until recently also allocated a
+ scope chain node on entry, so adding one allocation on entry shouldn't
+ break the bank.)
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock): Caught a missed initializer. No behavior change.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::BytecodeGenerator): Put the callee in static scope
+ during compilation so it doesn't need to be in dynamic scope at runtime.
+
+ (JSC::BytecodeGenerator::resolveCallee):
+ (JSC::BytecodeGenerator::addCallee): Helper functions for either statically
+ resolving the callee or adding a dynamic scope that will resolve to it,
+ depending on whether you're in the fast path.
+
+ We move the callee into a var location if it's captured because activations
+ prefer to have contiguous ranges of captured variables.
+
+ * bytecompiler/BytecodeGenerator.h:
+ (JSC::BytecodeGenerator::registerFor):
+ (BytecodeGenerator):
+
+ * dfg/DFGOperations.cpp:
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL): This is the point of the patch: remove
+ one allocation in the case of a named function expression.
+
+ * parser/Parser.cpp:
+ (JSC::::Parser):
+ * parser/Parser.h:
+ (JSC::Scope::declareCallee):
+ (Scope):
+ (Parser):
+ (JSC::parse):
+ * runtime/Executable.cpp:
+ (JSC::EvalExecutable::compileInternal):
+ (JSC::ProgramExecutable::checkSyntax):
+ (JSC::ProgramExecutable::compileInternal):
+ (JSC::FunctionExecutable::produceCodeBlockFor):
+ (JSC::FunctionExecutable::fromGlobalCode): Pipe the callee's name through
+ the parser so we get accurate information on whether the callee was captured.
+
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::EvalExecutable::compileInternal):
+ (JSC::ProgramExecutable::checkSyntax):
+ (JSC::ProgramExecutable::compileInternal):
+ (JSC::FunctionExecutable::produceCodeBlockFor):
+ (JSC::FunctionExecutable::fromGlobalCode):
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::create):
+ (FunctionExecutable):
+ (JSC::FunctionExecutable::finishCreation): I had to refactor function
+ creation to support the following function constructor quirk: the function
+ gets a name, but its name is not in lexical scope.
+
+ To simplify this, FunctionExecutable now automatically extracts all the
+ data it needs from the parsed node. The special "fromGlobalCode" path
+ used by the function constructor creates an anonymous function, and then
+ quirkily sets the value used by the .name property to be non-null, even
+ though the parsed name is null.
+
+ * runtime/JSNameScope.h:
+ (JSC::JSNameScope::create):
+ (JSC::JSNameScope::JSNameScope): Added support for explicitly specifying
+ your container scope. The compiler uses this for named function expressions.
+
+2012-09-05 Gavin Barraclough <barraclough@apple.com>
+
+ a = data[a]++; sets the wrong key in data
+ https://bugs.webkit.org/show_bug.cgi?id=91270
+
+ Reviewed by Oliver Hunt.
+
+ Postfix inc/dec is unsafely using finalDestination, can trample base/subscript prior to the result being put.
+
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PostfixNode::emitResolve):
+ - Remove redundant parens.
+ (JSC::PostfixNode::emitBracket):
+ (JSC::PostfixNode::emitDot):
+ - Refactored to use tempDestination instead of finalDestination.
+ (JSC::PrefixNode::emitBracket):
+ (JSC::PrefixNode::emitDot):
+ - Should be using emitPreIncOrDec.
+
+2012-09-05 Gavin Barraclough <barraclough@apple.com>
+
+ Bug, assignment within subscript of prefix/postfix increment of bracket access
+ https://bugs.webkit.org/show_bug.cgi?id=95913
+
+ Reviewed by Oliver Hunt.
+
+ javascript:alert((function(){ var a = { x:1 }; var b = { x:1 }; a[a=b,"x"]++; return a.x; })())
+
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PostfixNode::emitBracket):
+ (JSC::PrefixNode::emitBracket):
+ - Should check for assigments in the subscript when loading the base.
+ * parser/Nodes.h:
+ (JSC::BracketAccessorNode::subscriptHasAssignments):
+ (BracketAccessorNode):
+ - Used by emitBracket methods.
+
+2012-09-05 Gavin Barraclough <barraclough@apple.com>
+
+ Merge prefix/postfix nodes
+ https://bugs.webkit.org/show_bug.cgi?id=95898
+
+ Reviewed by Geoff Garen.
+
+ Simplify the AST.
+ This will also mean we have access to m_subscriptHasAssignments when generating a prefix/postfix op applied to a bracket access.
+
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PostfixNode::emitResolve):
+ - was PostfixResolveNode::emitBytecode
+ (JSC::PostfixNode::emitBracket):
+ - was PostfixBracketNode::emitBytecode
+ (JSC::PostfixNode::emitDot):
+ - was PostfixDotNode::emitBytecode
+ (JSC::PostfixNode::emitBytecode):
+ - was PostfixErrorNode::emitBytecode, call resolve/bracket/dot version as appropriate.
+ (JSC::PrefixNode::emitResolve):
+ - was PrefixResolveNode::emitBytecode
+ (JSC::PrefixNode::emitBracket):
+ - was PrefixBracketNode::emitBytecode
+ (JSC::PrefixNode::emitDot):
+ - was PrefixDotNode::emitBytecode
+ (JSC::PrefixNode::emitBytecode):
+ - was PrefixErrorNode::emitBytecode, call resolve/bracket/dot version as appropriate.
+ * parser/ASTBuilder.h:
+ (JSC::ASTBuilder::makePrefixNode):
+ - Just makes a PrefixNode!
+ (JSC::ASTBuilder::makePostfixNode):
+ - Just makes a PostfixNode!
+ * parser/NodeConstructors.h:
+ (JSC::PostfixNode::PostfixNode):
+ - Added, merge of PostfixResolveNode/PostfixBracketNode/PostfixDotNode/PostfixErrorNode.
+ (JSC::PrefixNode::PrefixNode):
+ - Added, merge of PrefixResolveNode/PrefixBracketNode/PrefixDotNode/PrefixErrorNode.
+ * parser/Nodes.h:
+ (PostfixNode):
+ - Added, merge of PostfixResolveNode/PostfixBracketNode/PostfixDotNode/PostfixErrorNode.
+ (PrefixNode):
+ - Added, merge of PrefixResolveNode/PrefixBracketNode/PrefixDotNode/PrefixErrorNode.
+
+2012-09-05 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove use of JSCell::classInfoOffset() from tryCacheGetByID
+ https://bugs.webkit.org/show_bug.cgi?id=95860
+
+ Reviewed by Oliver Hunt.
+
+ We should just do the indirection through the Structure instead.
+
+ * dfg/DFGRepatch.cpp:
+ (JSC::DFG::tryCacheGetByID):
+
+2012-09-05 Geoffrey Garen <ggaren@apple.com>
+
+ Throw exceptions when assigning to const in strict mode
+ https://bugs.webkit.org/show_bug.cgi?id=95894
+
+ Reviewed by Oliver Hunt.
+
+ Currently, this never happens; but it will start happening once the
+ callee is a local const register. In this patch, there's no change in
+ behavior.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitReadOnlyExceptionIfNeeded): Helper function
+ for doing the throwing.
+ * bytecompiler/BytecodeGenerator.h:
+
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PostfixResolveNode::emitBytecode):
+ (JSC::PrefixResolveNode::emitBytecode):
+ (JSC::ReadModifyResolveNode::emitBytecode):
+ (JSC::AssignResolveNode::emitBytecode): Call the helper function.
+
+2012-09-05 Geoffrey Garen <ggaren@apple.com>
+
+ Refactored callee access in the DFG to support it in the general case
+ https://bugs.webkit.org/show_bug.cgi?id=95887
+
+ Reviewed by Phil Pizlo and Gavin Barraclough.
+
+ To support named function expressions, the DFG needs to understand the
+ callee register being used in arbitrary expressions, and not just
+ create_this.
+
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::getDirect):
+ (JSC::DFG::ByteCodeParser::getCallee): Remap access to the callee register
+ into a GetCallee node. Otherwise, we get confused and think we have a
+ negatively indexed argument.
+
+ (ByteCodeParser):
+ (JSC::DFG::ByteCodeParser::InlineStackEntry::remapOperand): Inlining also
+ needs to remap, but to the callee in the inline frame, and not the caller's
+ callee.
+
+ (JSC::DFG::ByteCodeParser::parseBlock): Since we support the callee in
+ the general case now, there's no need to handle it in a special way for
+ create_this.
+
+2012-09-05 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove use of JSCell::classInfoOffset() from virtualForThunkGenerator
+ https://bugs.webkit.org/show_bug.cgi?id=95821
+
+ Reviewed by Oliver Hunt.
+
+ We can replace the load of the ClassInfo from the object with a load from the Structure.
+
+ * dfg/DFGThunks.cpp:
+ (JSC::DFG::virtualForThunkGenerator):
+
+2012-09-05 Benjamin Poulain <bpoulain@apple.com>
+
+ Fix the uses of String::operator+=() for Mac
+ https://bugs.webkit.org/show_bug.cgi?id=95818
+
+ Reviewed by Dan Bernstein.
+
+ * jsc.cpp:
+ (functionJSCStack): Use StringBuilder to create the stack dump, it is faster
+ and avoid String::operator+=().
+
+ * parser/Parser.h:
+ (JSC::Parser::updateErrorMessageSpecialCase):
+ (JSC::Parser::updateErrorMessage):
+ (JSC::Parser::updateErrorWithNameAndMessage):
+ Use the String operators (and makeString) to concatenate the strings.
+
+2012-09-05 Gabor Rapcsanyi <rgabor@webkit.org>
+
+ DFG JIT doesn't work properly on ARM hardfp
+ https://bugs.webkit.org/show_bug.cgi?id=95684
+
+ Reviewed by Filip Pizlo.
+
+ Add hardfp support to DFG JIT. The patch is created with the
+ help of Zoltan Herczeg.
+
+ * dfg/DFGCCallHelpers.h:
+ (CCallHelpers):
+ (JSC::DFG::CCallHelpers::setupArguments):
+ * dfg/DFGFPRInfo.h:
+ (FPRInfo):
+ * dfg/DFGSpeculativeJIT.h:
+ (SpeculativeJIT):
+ (JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
+ (JSC::DFG::SpeculativeJIT::appendCallSetResult):
+
+2012-09-04 Mark Lam <mark.lam@apple.com>
+
+ Allow the YarrJIT to use the assembler even when useJIT() is false.
+ Introduce the useYarrJIT() option.
+ https://bugs.webkit.org/show_bug.cgi?id=95809.
+
+ Reviewed by Geoffrey Garen.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::enableAssembler):
+ * runtime/Options.cpp:
+ (JSC::Options::initialize):
+ * runtime/Options.h:
+ (JSC):
+
+2012-09-04 Gavin Barraclough <barraclough@apple.com>
+
+ inc/dec behave incorrectly operating on a resolved const
+ https://bugs.webkit.org/show_bug.cgi?id=95815
+
+ Reviewed by Geoff Garen.
+
+ There are two bugs here.
+
+ (1) When the value being incremented is const, and the result is ignored, we assume this cannot be observed, and emit no code.
+ However if the value being incremented is not a primitive & has a valueOf conversion, then this should be being called.
+
+ (2) In the case of a pre-increment of a const value where the result is not ignored, we'll move +/-1 to the destination, then
+ add the resolved const value being incremented to this. This is problematic if the destination is a local, and the const
+ value being incremented has a valueOf conversion that throws - the destination will be modified erroneously. Instead, we
+ need to use a temporary location.
+
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PostfixResolveNode::emitBytecode):
+ (JSC::PrefixResolveNode::emitBytecode):
+ - always at least perform a toNumber conversion, use tempDestination when reducing inc/dec to an add +/-1.
+
+2012-09-04 Filip Pizlo <fpizlo@apple.com>
+
+ DFG GetByVal for JSArrays shouldn't OSR exit every time that the index is out of bound
+ https://bugs.webkit.org/show_bug.cgi?id=95717
+
+ Reviewed by Oliver Hunt.
+
+ Rolling back in after fixing the negative index case.
+
+ Make GetByVal for JSArrayOutOfBounds do meaningful things. The profiling was already
+ there so we should just use it!
+
+ * bytecode/DFGExitProfile.h:
+ (JSC::DFG::exitKindToString):
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGOperations.cpp:
+ * dfg/DFGOperations.h:
+ * dfg/DFGSpeculativeJIT.h:
+ (JSC::DFG::SpeculativeJIT::callOperation):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
+2012-09-04 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127503.
+ http://trac.webkit.org/changeset/127503
+ https://bugs.webkit.org/show_bug.cgi?id=95788
+
+ broke some tests (fast/js/dfg-negative-array-index, fast/js
+ /dfg-put-by-val-setter-then-get-by-val) (Requested by thorton
+ on #webkit).
+
+ * bytecode/DFGExitProfile.h:
+ (JSC::DFG::exitKindToString):
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGOperations.cpp:
+ * dfg/DFGOperations.h:
+ * dfg/DFGSpeculativeJIT.h:
+ (JSC::DFG::SpeculativeJIT::callOperation):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
+2012-09-04 Benjamin Poulain <bpoulain@apple.com>
+
+ Improve JSC use of Strings after the UString->String change
+ https://bugs.webkit.org/show_bug.cgi?id=95633
+
+ Reviewed by Geoffrey Garen.
+
+ This patch improve the use of strings in the JSC runtime.
+
+ The initialization of Identifier is left for future patches.
+
+ The improvements are the following:
+ -5% faster to raise one of the modified exception.
+ -3 times faster to execute Boolean::toString()
+
+ Most of the changes are just about using the new methods
+ for string literals.
+
+ With the changes, the binary on x86_64 gets 176 bytes smaller.
+
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::staticFunctionGetter):
+ (JSC::::callbackGetter):
+ * API/JSContextRef.cpp:
+ (JSContextCreateBacktrace):
+ * API/JSObjectRef.cpp:
+ (JSObjectMakeFunctionWithCallback):
+ * bytecode/CodeBlock.cpp:
+ (JSC::valueToSourceString):
+ (JSC::CodeBlock::nameForRegister):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::addStackTraceIfNecessary):
+ * runtime/ArrayConstructor.cpp:
+ (JSC::constructArrayWithSizeQuirk):
+ * runtime/ArrayPrototype.cpp:
+ (JSC::shift):
+ (JSC::unshift):
+ (JSC::arrayProtoFuncPop):
+ (JSC::arrayProtoFuncReverse):
+ * runtime/BooleanPrototype.cpp:
+ (JSC::booleanProtoFuncToString): Instead of instanciating new strings, reuse the
+ keywords available in SmallStrings. Avoiding the creation of the JSString and StringImpl
+ makes the method significantly faster.
+
+ * runtime/DateConversion.cpp:
+ (JSC::formatDateTime):
+ * runtime/DatePrototype.cpp:
+ (JSC::formatLocaleDate):
+ (JSC::formateDateInstance):
+ (JSC::dateProtoFuncToISOString):
+ Change the way we use snprintf() for clarity and performance.
+
+ Instead of allocating one extra byte to put a zero "just in case", we use the size returned
+ by snprintf().
+ To prevent any overflow from a programming mistake, we explicitely test for overflow and
+ return an empty string.
+
+ (JSC::dateProtoFuncToJSON):
+ * runtime/Error.cpp:
+ (JSC::createNotEnoughArgumentsError):
+ (JSC::throwTypeError):
+ (JSC::throwSyntaxError):
+ * runtime/Error.h:
+ (JSC::StrictModeTypeErrorFunction::create):
+ * runtime/ErrorPrototype.cpp:
+ (JSC::ErrorPrototype::finishCreation):
+ (JSC::errorProtoFuncToString):
+ Using a null String is correct because (8) uses jsString(), (9) tests for a length of 0.
+
+ * runtime/ExceptionHelpers.cpp:
+ (JSC::InterruptedExecutionError::defaultValue):
+ (JSC::TerminatedExecutionError::defaultValue):
+ (JSC::createStackOverflowError):
+ (JSC::createOutOfMemoryError):
+ * runtime/Executable.cpp:
+ (JSC::EvalExecutable::compileInternal):
+ (JSC::FunctionExecutable::paramString):
+ * runtime/FunctionConstructor.cpp:
+ (JSC::constructFunction):
+ (JSC::constructFunctionSkippingEvalEnabledCheck):
+ * runtime/FunctionPrototype.h:
+ (JSC::FunctionPrototype::create):
+ Using a null String for the name is correct because InternalFunction uses jsString()
+ to create the name value.
+
+ * runtime/InternalFunction.cpp:
+ (JSC::InternalFunction::finishCreation):
+ There is no need to create an empty string for a null string, jsString() handle both
+ cases as empty JSString.
+
+ * runtime/JSArray.cpp:
+ (JSC::reject):
+ (JSC::SparseArrayValueMap::put):
+ (JSC::JSArray::put):
+ (JSC::JSArray::putByIndexBeyondVectorLength):
+ (JSC::JSArray::putDirectIndexBeyondVectorLength):
+ (JSC::JSArray::setLength):
+ (JSC::JSArray::pop):
+ (JSC::JSArray::push):
+ * runtime/JSFunction.cpp:
+ (JSC::JSFunction::finishCreation): Same issue as InternalFunction::finishCreation.
+
+ (JSC::JSFunction::callerGetter):
+ (JSC::JSFunction::defineOwnProperty):
+ * runtime/JSGlobalData.cpp:
+ (JSC::enableAssembler): Use CFSTR() instead of CFStringCreateWithCString().
+ CFStringCreateWithCString() copy the content and may choose to decode the data.
+ CFSTR() is much more efficient.
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ JSFunction uses jsString() to create the name, we can use null strings instead
+ of creating empty strings.
+
+ (JSC::JSGlobalObject::createThrowTypeError): ditto.
+ * runtime/JSGlobalObjectFunctions.cpp:
+ (JSC::encode):
+ (JSC::decode):
+ (JSC::globalFuncEval):
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::appendStringifiedValue):
+ (JSC::Stringifier::Holder::appendNextProperty):
+ (JSC::JSONProtoFuncParse):
+ (JSC::JSONProtoFuncStringify):
+ * runtime/JSObject.cpp:
+ (JSC::JSObject::put):
+ (JSC::JSObject::defaultValue):
+ (JSC::JSObject::hasInstance):
+ (JSC::JSObject::defineOwnProperty):
+ * runtime/JSString.cpp:
+ Return an empty JSString to avoid the creation of a temporary empty String.
+
+ (JSC::JSRopeString::getIndexSlowCase):
+ * runtime/JSString.h:
+ (JSC): Remove the versions of jsNontrivialString() taking a char*. All the callers
+ have been replaced by calls using ASCIILiteral.
+
+ * runtime/JSValue.cpp:
+ (JSC::JSValue::putToPrimitive):
+ * runtime/LiteralParser.cpp:
+ (JSC::::Lexer::lex):
+ (JSC::::Lexer::lexString):
+ (JSC::::Lexer::lexNumber):
+ (JSC::::parse):
+ * runtime/LiteralParser.h:
+ (JSC::LiteralParser::getErrorMessage):
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToExponential):
+ (JSC::numberProtoFuncToFixed):
+ (JSC::numberProtoFuncToPrecision):
+ (JSC::numberProtoFuncToString):
+ * runtime/ObjectConstructor.cpp:
+ (JSC::objectConstructorGetPrototypeOf):
+ (JSC::objectConstructorGetOwnPropertyDescriptor):
+ (JSC::objectConstructorGetOwnPropertyNames):
+ (JSC::objectConstructorKeys):
+ (JSC::toPropertyDescriptor):
+ (JSC::objectConstructorDefineProperty):
+ (JSC::objectConstructorDefineProperties):
+ (JSC::objectConstructorCreate):
+ (JSC::objectConstructorSeal):
+ (JSC::objectConstructorFreeze):
+ (JSC::objectConstructorPreventExtensions):
+ (JSC::objectConstructorIsSealed):
+ (JSC::objectConstructorIsFrozen):
+ (JSC::objectConstructorIsExtensible):
+ * runtime/ObjectPrototype.cpp:
+ (JSC::objectProtoFuncDefineGetter):
+ (JSC::objectProtoFuncDefineSetter):
+ (JSC::objectProtoFuncToString):
+ * runtime/RegExpConstructor.cpp:
+ (JSC::constructRegExp):
+ * runtime/RegExpObject.cpp:
+ (JSC::reject):
+ (JSC::regExpObjectSource):
+ * runtime/RegExpPrototype.cpp:
+ (JSC::regExpProtoFuncCompile):
+ * runtime/StringObject.cpp:
+ (JSC::StringObject::defineOwnProperty):
+ * runtime/StringPrototype.cpp:
+ (JSC::jsSpliceSubstrings):
+ (JSC::jsSpliceSubstringsWithSeparators):
+
+2012-09-04 Filip Pizlo <fpizlo@apple.com>
+
+ DFG GetByVal for JSArrays shouldn't OSR exit every time that the index is out of bound
+ https://bugs.webkit.org/show_bug.cgi?id=95717
+
+ Reviewed by Oliver Hunt.
+
+ Make GetByVal for JSArrayOutOfBounds do meaningful things. The profiling was already
+ there so we should just use it!
+
+ * bytecode/DFGExitProfile.h:
+ (JSC::DFG::exitKindToString):
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGOperations.cpp:
+ * dfg/DFGOperations.h:
+ * dfg/DFGSpeculativeJIT.h:
+ (JSC::DFG::SpeculativeJIT::callOperation):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+
+2012-09-04 Zoltan Horvath <zoltan@webkit.org>
+
+ Extend the coverage of the Custom Allocation Framework in WTF and in JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=95737
+
+ Reviewed by Eric Seidel.
+
+ Add WTF_MAKE_FAST_ALLOCATED macro to the following class declarations because these are instantiated by operator new.
+
+ * wtf/CryptographicallyRandomNumber.cpp: CryptographicallyRandomNumber is instantiated at wtf/CryptographicallyRandomNumber.cpp:162.
+
+ * heap/MachineStackMarker.cpp:
+ (MachineThreads::Thread): Thread is instantiated at heap/MachineStackMarker.cpp:196.
+ * jit/ExecutableAllocatorFixedVMPool.cpp:
+ (FixedVMPoolExecutableAllocator): FixedVMPoolExecutableAllocator is instantiated at jit/ExecutableAllocatorFixedVMPool.cpp:111
+ * parser/SourceProviderCache.h:
+ (SourceProviderCache): SourceProviderCache is instantiated at parser/SourceProvider.h:49.
+ * parser/SourceProviderCacheItem.h:
+ (SourceProviderCacheItem): SourceProviderCacheItem is instantiated at parser/Parser.cpp:843.
+ * runtime/GCActivityCallback.h:
+ (GCActivityCallback): GCActivityCallback is instantiated at runtime/GCActivityCallback.h:96.
+ * tools/CodeProfile.h:
+ (CodeProfile): CodeProfile is instantiated at JavaScriptCore/tools/CodeProfiling.cpp:140.
+
+2012-09-04 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove uses of ClassInfo from SpeculativeJIT::compileObjectOrOtherLogicalNot
+ https://bugs.webkit.org/show_bug.cgi?id=95510
+
+ Reviewed by Oliver Hunt.
+
+ More refactoring to get rid of ClassInfo checks in the DFG.
+
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGSpeculativeJIT.h:
+ (SpeculativeJIT):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
+ (JSC::DFG::SpeculativeJIT::compileLogicalNot):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compileNonStringCellOrOtherLogicalNot):
+ (JSC::DFG::SpeculativeJIT::compileLogicalNot):
+
+2012-09-03 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed. Build fix for ENABLE(CLASSIC_INTERPRETER) after r127393.
+
+ * interpreter/Interpreter.h:
+
+2012-09-02 Geoffrey Garen <ggaren@apple.com>
+
+ Fixed failures seen on Linux bots.
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_push_with_scope):
+ * jit/JITOpcodes32_64.cpp:
+ (JSC::JIT::emit_op_push_with_scope):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jit/JITStubs.h: push_*_scope doesn't have a destination operand anymore.
+ Accordingly, update these places in the baseline JIT, which I missed in my last patch.
+
+2012-09-02 Geoffrey Garen <ggaren@apple.com>
+
+ Refactored scope chain opcodes to support optimization for named function expressions
+ https://bugs.webkit.org/show_bug.cgi?id=95658
+
+ Reviewed by Sam Weinig.
+
+ Renamed
+ push_scope => push_with_scope
+ push_new_scope => push_name_scope
+ to clarify the difference between them.
+
+ Changed push_with_scope and push_name_scope not to save the new scope in
+ a temporary register, since doing so made optimization harder.
+
+ (The old behavior was a hold-over from when the scope chain wasn't
+ a GC object, and wouldn't be marked otherwise. Now, the scope chain is
+ marked because it is a GC object pointed to by the call frame.)
+
+ Changed push_name_scope to accept an operand specifying the attributes
+ for the named property, instead of assuming DontDelete, because a named
+ function expression needs ReadOnly|DontDelete.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::highestUsedRegister): Removed this function,
+ which used to be related to preserving saved scope object temporaries,
+ because it had no callers.
+
+2012-09-01 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back out a piece of <http://trac.webkit.org/changeset/127293>
+ because it broke inspector tests on Windows.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+2012-09-01 Mark Lam <mark.lam@apple.com>
+
+ LLInt C loop backend.
+ https://bugs.webkit.org/show_bug.cgi?id=91052.
+
+ Reviewed by Filip Pizlo.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::CodeBlock::bytecodeOffset):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::executeCall):
+ (JSC::Interpreter::executeConstruct):
+ (JSC):
+ * interpreter/Interpreter.h:
+ * jit/JITStubs.h:
+ (JITStackFrame):
+ (JSC):
+ * llint/LLIntCLoop.cpp: Added.
+ (JSC):
+ (LLInt):
+ (JSC::LLInt::CLoop::initialize):
+ (JSC::LLInt::CLoop::catchRoutineFor):
+ (JSC::LLInt::CLoop::hostCodeEntryFor):
+ (JSC::LLInt::CLoop::jsCodeEntryWithArityCheckFor):
+ (JSC::LLInt::CLoop::jsCodeEntryFor):
+ * llint/LLIntCLoop.h: Added.
+ (JSC):
+ (LLInt):
+ (CLoop):
+ * llint/LLIntData.cpp:
+ (JSC::LLInt::initialize):
+ * llint/LLIntData.h:
+ (JSC):
+ * llint/LLIntOfflineAsmConfig.h:
+ * llint/LLIntOpcode.h:
+ * llint/LLIntThunks.cpp:
+ (LLInt):
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter.cpp:
+ (LLInt):
+ (JSC::LLInt::Ints2Double):
+ (JSC):
+ (JSC::CLoop::execute):
+ * llint/LowLevelInterpreter.h:
+ (JSC):
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+ * offlineasm/asm.rb:
+ * offlineasm/backends.rb:
+ * offlineasm/cloop.rb: Added.
+ * offlineasm/instructions.rb:
+ * runtime/Executable.h:
+ (ExecutableBase):
+ (JSC::ExecutableBase::hostCodeEntryFor):
+ (JSC::ExecutableBase::jsCodeEntryFor):
+ (JSC::ExecutableBase::jsCodeWithArityCheckEntryFor):
+ (JSC::ExecutableBase::catchRoutineFor):
+ (NativeExecutable):
+ * runtime/JSValue.h:
+ (JSC):
+ (LLInt):
+ (JSValue):
+ * runtime/JSValueInlineMethods.h:
+ (JSC):
+ (JSC::JSValue::JSValue):
+ * runtime/Options.cpp:
+ (JSC::Options::initialize):
+
+2012-09-01 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * runtime/JSActivation.h:
+ (JSActivation):
+
+2012-09-01 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::JSGlobalObject):
+ (JSC::JSGlobalObject::setGlobalThis):
+ (JSC):
+ (JSC::JSGlobalObject::visitChildren):
+ * runtime/JSGlobalObject.h:
+ (JSGlobalObject):
+ (JSC::JSScope::globalThis):
+ (JSC):
+ (JSC::JSGlobalObject::globalThis):
+ * runtime/JSNameScope.h:
+ (JSC::JSNameScope::JSNameScope):
+ * runtime/JSScope.cpp:
+ (JSC::JSScope::visitChildren):
+ * runtime/JSScope.h:
+ (JSScope):
+ (JSC::JSScope::JSScope):
+ (JSC::JSScope::globalObject):
+ (JSC::JSScope::globalData):
+ * runtime/JSSegmentedVariableObject.h:
+ (JSC::JSSegmentedVariableObject::JSSegmentedVariableObject):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::JSSymbolTableObject::JSSymbolTableObject):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::JSVariableObject):
+ * runtime/JSWithScope.h:
+ (JSC::JSWithScope::JSWithScope):
+ * runtime/StrictEvalActivation.cpp:
+ (JSC::StrictEvalActivation::StrictEvalActivation):
+
+2012-09-01 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back out a piece of <http://trac.webkit.org/changeset/127293>
+ because it broke Window inspector tests.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * runtime/JSActivation.h:
+ (JSActivation):
+
+2012-08-31 Filip Pizlo <fpizlo@apple.com>
+
+ Unreviewed, attempt to fix Windows, take two.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2012-08-31 Filip Pizlo <fpizlo@apple.com>
+
+ Unreviewed, attempt to fix Windows.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2012-08-31 Filip Pizlo <fpizlo@apple.com>
+
+ JSArray::putDirectIndex should by default behave like JSObject::putDirect
+ https://bugs.webkit.org/show_bug.cgi?id=95630
+
+ Reviewed by Gavin Barraclough.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * jsc.cpp:
+ (GlobalObject::finishCreation):
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+ * runtime/JSArray.cpp:
+ (JSC::SparseArrayValueMap::putDirect):
+ (JSC::JSArray::defineOwnNumericProperty):
+ (JSC::JSArray::putDirectIndexBeyondVectorLength):
+ * runtime/JSArray.h:
+ (SparseArrayValueMap):
+ (JSArray):
+ (JSC::JSArray::putDirectIndex):
+ * runtime/JSONObject.cpp:
+ (JSC::Walker::walk):
+ * runtime/RegExpMatchesArray.cpp:
+ (JSC::RegExpMatchesArray::reifyAllProperties):
+ (JSC::RegExpMatchesArray::reifyMatchProperty):
+ * runtime/StringPrototype.cpp:
+ (JSC::splitStringByOneCharacterImpl):
+ (JSC::stringProtoFuncSplit):
+
+2012-08-31 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData):
+ * runtime/JSNameScope.h:
+ (JSC::JSNameScope::JSNameScope):
+ * runtime/JSWithScope.h:
+ (JSC::JSWithScope::JSWithScope):
+ * runtime/StrictEvalActivation.cpp:
+ (JSC::StrictEvalActivation::StrictEvalActivation):
+
+2012-08-31 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_resolve_global_dynamic):
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData):
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::reset):
+ (JSC::JSGlobalObject::visitChildren):
+ * runtime/JSGlobalObject.h:
+ (JSGlobalObject):
+ (JSC::JSGlobalObject::withScopeStructure):
+ (JSC::JSGlobalObject::strictEvalActivationStructure):
+ (JSC::JSGlobalObject::activationStructure):
+ (JSC::JSGlobalObject::nameScopeStructure):
+
+2012-08-31 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove use of ClassInfo in SpeculativeJIT::emitBranch
+ https://bugs.webkit.org/show_bug.cgi?id=95623
+
+ Reviewed by Filip Pizlo.
+
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGSpeculativeJIT.h:
+ (SpeculativeJIT):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
+ (JSC::DFG::SpeculativeJIT::emitBranch):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::emitNonStringCellOrOtherBranch):
+ (JSC::DFG::SpeculativeJIT::emitBranch):
+
+2012-08-31 Geoffrey Garen <ggaren@apple.com>
+
+ Rolled back in a piece of <http://trac.webkit.org/changeset/127293>.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ * heap/MarkedBlock.cpp:
+ (JSC::MarkedBlock::MarkedBlock):
+ * heap/MarkedBlock.h:
+ (MarkedBlock):
+ (JSC::MarkedBlock::globalData):
+ (JSC):
+ * heap/WeakSet.cpp:
+ (JSC::WeakSet::addAllocator):
+ * heap/WeakSet.h:
+ (WeakSet):
+ (JSC::WeakSet::WeakSet):
+ (JSC::WeakSet::globalData):
+ * runtime/JSGlobalData.h:
+ (JSC::WeakSet::heap):
+ (JSC):
+
+2012-08-31 Mark Lam <mark.lam@apple.com>
+
+ Refactor LLInt and supporting code in preparation for the C Loop backend.
+ https://bugs.webkit.org/show_bug.cgi?id=95531.
+
+ Reviewed by Filip Pizlo.
+
+ * bytecode/GetByIdStatus.cpp:
+ (JSC::GetByIdStatus::computeFromLLInt):
+ * bytecode/PutByIdStatus.cpp:
+ (JSC::PutByIdStatus::computeFromLLInt):
+ * jit/JITExceptions.cpp:
+ (JSC::genericThrow): Use ExecutableBase::catchRoutineFor() to fetch
+ fetch the catch routine for a thrown exception. This will allow
+ us to redefine that for the C loop later, and still keep this
+ code readable.
+ * llint/LLIntOfflineAsmConfig.h: Moved ASM macros to
+ LowLevelInterpreter.cpp which is the only place they are used. This
+ will make it more convenient to redefine them for the C loop later.
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::setUpCall): Use ExecutableBase's hostCodeEntry()
+ jsCodeEntryFor(), and jsCodeWithArityCheckEntryFor() for computing
+ the entry points to functions being called.
+ * llint/LLIntSlowPaths.h:
+ (SlowPathReturnType):
+ (JSC::LLInt::encodeResult):
+ (LLInt):
+ (JSC::LLInt::decodeResult): Added. Needed by LLInt C Loop later.
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter.cpp:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+ * offlineasm/asm.rb: Disambiguate between opcodes and other labels.
+ * offlineasm/config.rb:
+ * runtime/Executable.h:
+ (JSC::ExecutableBase::hostCodeEntryFor): Added.
+ (ExecutableBase):
+ (JSC::ExecutableBase::jsCodeEntryFor): Added.
+ (JSC::ExecutableBase::jsCodeWithArityCheckEntryFor): Added.
+ (JSC::ExecutableBase::catchRoutineFor): Added.
+ * runtime/JSValueInlineMethods.h:
+ (JSC):
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-31 Geoffrey Garen <ggaren@apple.com>
+
+ Not reviewed.
+
+ Rolled out http://trac.webkit.org/changeset/127293 because it broke
+ inspector tests on Windows.
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+2012-08-31 Geoffrey Garen <ggaren@apple.com>
+
+ Shrink activation objects by half
+ https://bugs.webkit.org/show_bug.cgi?id=95591
+
+ Reviewed by Sam Weinig.
+
+ Removed the global object, global data, and global this pointers from
+ JSScope, and changed an int to a bitfield. This gets the JSActivation
+ class down to 64 bytes, which in practice cuts it in half by getting it
+ out of the 128 byte size class.
+
+ Now, it's one extra indirection to get these pointers. These pointers
+ aren't accessed by JIT code, so I thought there would be no cost to the
+ extra indirection. However, some C++-heavy SunSpider tests regressed a
+ bit in an early version of the patch, which added even more indirection.
+ This suggests that calls to exec->globalData() and/or exec->lexicalGlobalObject()
+ are common and probably duplicated in lots of places, and could stand
+ further optimization in C++.
+
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute): Test against the specific activation
+ for our global object, since there's no VM-shared activation structure
+ anymore. This is guaranteed to have the same success rate as the old test
+ because activation scope is fixed at compile time.
+
+ * heap/MarkedBlock.cpp:
+ (JSC::MarkedBlock::MarkedBlock):
+ * heap/MarkedBlock.h:
+ (JSC::MarkedBlock::globalData):
+ * heap/WeakSet.cpp:
+ (JSC::WeakSet::addAllocator):
+ * heap/WeakSet.h:
+ (WeakSet):
+ (JSC::WeakSet::WeakSet):
+ (JSC::WeakSet::globalData): Store a JSGlobalData* instead of a Heap*
+ because JSGlobalData->Heap is just a constant fold in the addressing
+ mode, while Heap->JSGlobalData is an extra pointer dereference. (These
+ objects should eventually just merge.)
+
+ * jit/JITOpcodes.cpp:
+ (JSC::JIT::emit_op_resolve_global_dynamic): See DFGAbstractState.cpp.
+
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm: Load the activation structure from
+ the code block instead of the global data because the structure is not
+ VM-shared anymore. (See DFGAbstractState.cpp.)
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ * runtime/JSActivation.h:
+ (JSActivation): This is the point of the patch: Remove the data.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData): No longer VM-shared. (See DFGAbstractState.cpp.)
+
+ (JSC::WeakSet::heap): (See WeakSet.h.)
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::JSGlobalObject):
+ (JSC::JSGlobalObject::setGlobalThis):
+ (JSC::JSGlobalObject::reset):
+ (JSC::JSGlobalObject::visitChildren):
+ * runtime/JSGlobalObject.h:
+ (JSGlobalObject):
+ (JSC::JSGlobalObject::withScopeStructure):
+ (JSC::JSGlobalObject::strictEvalActivationStructure):
+ (JSC::JSGlobalObject::activationStructure):
+ (JSC::JSGlobalObject::nameScopeStructure):
+ (JSC::JSScope::globalThis):
+ (JSC::JSGlobalObject::globalThis): Data that used to be in the JSScope
+ class goes here now, so it's not duplicated across all activations.
+
+ * runtime/JSNameScope.h:
+ (JSC::JSNameScope::JSNameScope):
+ * runtime/JSScope.cpp:
+ (JSC::JSScope::visitChildren): This is the point of the patch: Remove the data.
+
+ * runtime/JSScope.h:
+ (JSScope):
+ (JSC::JSScope::JSScope):
+ (JSC::JSScope::globalObject):
+ (JSC::JSScope::globalData):
+ * runtime/JSSegmentedVariableObject.h:
+ (JSC::JSSegmentedVariableObject::JSSegmentedVariableObject):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::JSSymbolTableObject::JSSymbolTableObject):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::JSVariableObject):
+ * runtime/JSWithScope.h:
+ (JSC::JSWithScope::JSWithScope):
+ * runtime/StrictEvalActivation.cpp:
+ (JSC::StrictEvalActivation::StrictEvalActivation): Simplified now that
+ we don't need to pass so much data to JSScope.
+
+2012-08-31 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for WinCE after r127191.
+
+ * bytecode/JumpTable.h:
+
+2012-08-30 Filip Pizlo <fpizlo@apple.com>
+
+ ASSERTION FAILURE in JSC::JSGlobalData::float32ArrayDescriptor when running fast/js/dfg-float64array.html
+ https://bugs.webkit.org/show_bug.cgi?id=95398
+
+ Reviewed by Mark Hahnenberg.
+
+ Trying to get the build failure to be a bit more informative.
+
+ * runtime/JSGlobalData.h:
+ (JSGlobalData):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build: add some #includes that, for some reason, only the Qt linker requires.
+
+ * runtime/BooleanObject.cpp:
+ * runtime/ErrorInstance.cpp:
+ * runtime/NameInstance.cpp:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Fix the Qt build: Removed a now-dead variable.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Ambiguous operator[] after r127191 on some compiler
+ https://bugs.webkit.org/show_bug.cgi?id=95509
+
+ Reviewed by Simon Fraser.
+
+ On some compilers, the operator[] conflicts with the Obj-C++ operators. This attempts to solve
+ the issue.
+
+ * runtime/JSString.h:
+ (JSC::jsSingleCharacterSubstring):
+ (JSC::jsString):
+ (JSC::jsSubstring8):
+ (JSC::jsSubstring):
+ (JSC::jsOwnedString):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build: Remove the inline keyword at the declaration
+ site.
+
+ The Qt compiler seems to be confused, complaining about these functions
+ not being defined in a translation unit, even though no generated code
+ in the unit calls these functions. Maybe removing the keyword at the
+ declaration site will change its mind.
+
+ This shouldn't change the inlining decision at all: the definition is
+ still inline.
+
+ * interpreter/CallFrame.h:
+ (ExecState):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Undo Qt build fix guess, since it breaks other builds.
+
+ * runtime/JSArray.h:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build: add an #include to JSArray.h, since
+ it's included by some of the files Qt complains about, and
+ some of is functions call the functions Qt complains about.
+
+ * runtime/JSArray.h:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Second step toward fixing the Windows build: Add new symbols.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Qt build: add an #include.
+
+ * bytecode/GetByIdStatus.cpp:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ First step toward fixing the Windows build: Remove old symbols.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ This patch removes ScopeChainNode, and moves all the data and related
+ functions that used to be in ScopeChainNode into JSScope.
+
+ Most of this patch is mechanical changes to use a JSScope* where we used
+ to use a ScopeChainNode*. I've only specifically commented about items
+ that were non-mechanical.
+
+ * runtime/Completion.cpp:
+ (JSC::evaluate):
+ * runtime/Completion.h: Don't require an explicit scope chain argument
+ when evaluating code. Clients never wanted anything other than the
+ global scope, and other arbitrary scopes probably wouldn't work
+ correctly, anyway.
+
+ * runtime/JSScope.cpp:
+ * runtime/JSScope.h:
+ (JSC::JSScope::JSScope): JSScope now requires the data we used to pass to
+ ScopeChainNode, so it can link itself into the scope chain correctly.
+
+ * runtime/JSWithScope.h:
+ (JSC::JSWithScope::create):
+ (JSC::JSWithScope::JSWithScope): JSWithScope gets an extra constructor
+ for specifically supplying your own scope chain. The DOM needs this
+ interface for setting up the scope chain for certain event handlers.
+ Other clients always just push the JSWithScope to the head of the current
+ scope chain.
+
+2012-08-30 Mark Lam <mark.lam@apple.com>
+
+ Render unto #ifdef's that which belong to them.
+ https://bugs.webkit.org/show_bug.cgi?id=95482.
+
+ Reviewed by Filip Pizlo.
+
+ Refining / disambiguating between #ifdefs and adding some. For
+ example, ENABLE(JIT) is conflated with ENABLE(LLINT) in some places.
+ Also, we need to add ENABLE(COMPUTED_GOTO_OPCODES) to indicate that we
+ want interpreted opcodes to use COMPUTED GOTOs apart from ENABLE(LLINT)
+ and ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER). Also cleaned up #ifdefs
+ in certain places which were previously incorrect.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC):
+ (JSC::CodeBlock::bytecodeOffset):
+ * bytecode/CodeBlock.h:
+ (CodeBlock):
+ * bytecode/Opcode.h:
+ (JSC::padOpcodeName):
+ * config.h:
+ * dfg/DFGOperations.cpp:
+ * interpreter/AbstractPC.cpp:
+ (JSC::AbstractPC::AbstractPC):
+ * interpreter/CallFrame.h:
+ (ExecState):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::~Interpreter):
+ (JSC::Interpreter::initialize):
+ (JSC::Interpreter::isOpcode):
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::getLineNumberForCallFrame):
+ (JSC::getCallerInfo):
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::executeCall):
+ (JSC::Interpreter::executeConstruct):
+ (JSC::Interpreter::privateExecute):
+ * interpreter/Interpreter.h:
+ (JSC::Interpreter::getOpcode):
+ (JSC::Interpreter::getOpcodeID):
+ (Interpreter):
+ * jit/HostCallReturnValue.h:
+ * jit/JITCode.h:
+ (JITCode):
+ * jit/JITExceptions.cpp:
+ * jit/JITExceptions.h:
+ * jit/JSInterfaceJIT.h:
+ * llint/LLIntData.h:
+ (JSC::LLInt::getOpcode):
+ * llint/LLIntEntrypoints.cpp:
+ (JSC::LLInt::getFunctionEntrypoint):
+ (JSC::LLInt::getEvalEntrypoint):
+ (JSC::LLInt::getProgramEntrypoint):
+ * llint/LLIntOffsetsExtractor.cpp:
+ (JSC::LLIntOffsetsExtractor::dummy):
+ * llint/LLIntSlowPaths.cpp:
+ (LLInt):
+ * runtime/JSGlobalData.cpp:
+ (JSC):
+
+2012-08-30 JungJik Lee <jungjik.lee@samsung.com>
+
+ [EFL][WK2] Add WebMemorySampler feature.
+ https://bugs.webkit.org/show_bug.cgi?id=91214
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebMemorySampler collects Javascript stack and JIT memory usage in globalMemoryStatistics.
+
+ * PlatformEfl.cmake:
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Having JSC::UString and WTF::String increase the complexity of working on WebKit, and
+ add useless conversions in the bindings. It also cause some code bloat.
+
+ The performance advantages of UString have been ported over in previous patches. This patch
+ is the last step: getting rid of UString.
+
+ In addition to the simplified code, this also reduce the binary size by 15kb on x86_64.
+
+ * API/OpaqueJSString.cpp:
+ (OpaqueJSString::ustring):
+ * runtime/Identifier.h:
+ (JSC::Identifier::ustring):
+ To avoid changing everything at once, the function named ustring() were kept as is. They
+ will be renamed in a follow up patch.
+
+ * runtime/JSString.h:
+ (JSC::JSString::string):
+ (JSC::JSValue::toWTFString):
+ (JSC::inlineJSValueNotStringtoString):
+ (JSC::JSValue::toWTFStringInline):
+ Since JSValue::toString() already exist (and return the JSString), the direct accessor is renamed
+ to ::toWTFString(). We may change ::string() to ::jsString() and ::toWTFString() to ::toString()
+ in the future.
+
+ * runtime/StringPrototype.cpp:
+ (JSC::substituteBackreferencesSlow): Replace the use of UString::getCharacters<>() by String::getCharactersWithUpconvert<>().
+
+2012-08-24 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove uses of ClassInfo in StrictEq and CompareEq in the DFG
+ https://bugs.webkit.org/show_bug.cgi?id=93401
+
+ Reviewed by Filip Pizlo.
+
+ Another incremental step in removing the dependence on ClassInfo pointers in object headers.
+
+ * bytecode/SpeculatedType.h:
+ (JSC::isCellOrOtherSpeculation):
+ (JSC):
+ * dfg/DFGAbstractState.cpp: Updated the CFA to reflect the changes to the backend.
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGNode.h:
+ (Node):
+ (JSC::DFG::Node::shouldSpeculateString): Added this new function since it was conspicuously absent.
+ (JSC::DFG::Node::shouldSpeculateNonStringCellOrOther): Also add this function for use in the CFA.
+ * dfg/DFGSpeculativeJIT.cpp: Refactored how we handle CompareEq and CompareStrictEq in the DFG. We now just
+ check for Strings by comparing the object's Structure to the global Structure for strings. We only
+ check for MasqueradesAsUndefined if the watchpoint has fired. These changes allow us to remove our
+ uses of the ClassInfo pointer for compiling these nodes.
+ (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
+ (JSC::DFG::SpeculativeJIT::compilePeepHoleBranch):
+ (JSC::DFG::SpeculativeJIT::compare):
+ (JSC::DFG::SpeculativeJIT::compileStrictEq):
+ * dfg/DFGSpeculativeJIT.h:
+ (SpeculativeJIT):
+ * dfg/DFGSpeculativeJIT32_64.cpp: Same changes for 32 bit as for 64 bit.
+ (JSC::DFG::SpeculativeJIT::compileObjectEquality):
+ (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
+ (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compileObjectEquality):
+ (JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
+ (JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):
+
+2012-08-30 Yong Li <yoli@rim.com>
+
+ [BlackBerry] Implement IncrementalSweeper for PLATFORM(BLACKBERRY)
+ https://bugs.webkit.org/show_bug.cgi?id=95469
+
+ Reviewed by Rob Buis.
+
+ RIM PR# 200595.
+ Share most code with USE(CF) and implement timer-related methods
+ for PLATFORM(BLACKBERRY).
+
+ * heap/IncrementalSweeper.cpp:
+ (JSC):
+ (JSC::IncrementalSweeper::IncrementalSweeper):
+ (JSC::IncrementalSweeper::create):
+ (JSC::IncrementalSweeper::scheduleTimer):
+ (JSC::IncrementalSweeper::cancelTimer):
+ (JSC::IncrementalSweeper::doSweep):
+ * heap/IncrementalSweeper.h:
+ (IncrementalSweeper):
+
+2012-08-30 Mark Lam <mark.lam@apple.com>
+
+ Fix broken classic intrpreter build.
+ https://bugs.webkit.org/show_bug.cgi?id=95484.
+
+ Reviewed by Filip Pizlo.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2012-08-30 Byungwoo Lee <bw80.lee@samsung.com>
+
+ Build warning : -Wsign-compare on DFGByteCodeParser.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=95418
+
+ Reviewed by Filip Pizlo.
+
+ There is a build warning '-Wsign-compare' on
+ findArgumentPositionForLocal() in DFGByteCodeParser.cpp.
+
+ For removing this warning, casting statement is added explicitly.
+
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::findArgumentPositionForLocal):
+ (JSC::DFG::ByteCodeParser::findArgumentPosition):
+
+2012-08-30 Yong Li <yoli@rim.com>
+
+ [BlackBerry] Set timer client on platform timer used in HeapTimer
+ https://bugs.webkit.org/show_bug.cgi?id=95464
+
+ Reviewed by Rob Buis.
+
+ Otherwise the timer won't work.
+
+ * heap/HeapTimer.cpp:
+ (JSC::HeapTimer::HeapTimer):
+
+2012-08-30 Julien BRIANCEAU <jbrianceau@nds.com>
+
+ [sh4] Add missing implementation for JavaScriptCore JIT
+ https://bugs.webkit.org/show_bug.cgi?id=95452
+
+ Reviewed by Oliver Hunt.
+
+ * assembler/MacroAssemblerSH4.h:
+ (JSC::MacroAssemblerSH4::isCompactPtrAlignedAddressOffset):
+ (MacroAssemblerSH4):
+ (JSC::MacroAssemblerSH4::add32):
+ (JSC::MacroAssemblerSH4::convertibleLoadPtr):
+ * assembler/SH4Assembler.h:
+ (JSC::SH4Assembler::labelIgnoringWatchpoints):
+ (SH4Assembler):
+ (JSC::SH4Assembler::replaceWithLoad):
+ (JSC::SH4Assembler::replaceWithAddressComputation):
+
+2012-08-30 Charles Wei <charles.wei@torchmobile.com.cn>
+
+ [BlackBerry] Eliminate build warnings
+ https://bugs.webkit.org/show_bug.cgi?id=95338
+
+ Reviewed by Filip Pizlo.
+
+ static_cast to the same type to eliminate the build time warnings.
+
+ * assembler/AssemblerBufferWithConstantPool.h:
+ (JSC::AssemblerBufferWithConstantPool::flushWithoutBarrier):
+ * assembler/MacroAssemblerARM.h:
+ (JSC::MacroAssemblerARM::branch32):
+
+2012-08-29 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove use of ClassInfo from compileGetByValOnArguments and compileGetArgumentsLength
+ https://bugs.webkit.org/show_bug.cgi?id=95131
+
+ Reviewed by Filip Pizlo.
+
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): We don't need this speculation check. We can replace it
+ with an assert to guarantee this.
+
+2012-08-29 Mark Lam <mark.lam@apple.com>
+
+ Refactoring LLInt::Data.
+ https://bugs.webkit.org/show_bug.cgi?id=95316.
+
+ Reviewed by Geoff Garen.
+
+ This change allows its opcodeMap to be easily queried from any function
+ without needing to go through a GlobalData object. It also introduces
+ the LLInt::getCodePtr() methods that will be used by the LLInt C loop
+ later to redefine how llint symbols (opcodes and trampoline glue
+ labels) get resolved.
+
+ * assembler/MacroAssemblerCodeRef.h:
+ (MacroAssemblerCodePtr):
+ (JSC::MacroAssemblerCodePtr::createLLIntCodePtr):
+ (MacroAssemblerCodeRef):
+ (JSC::MacroAssemblerCodeRef::createLLIntCodeRef):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::adjustPCIfAtCallSite):
+ (JSC::CodeBlock::bytecodeOffset):
+ * bytecode/Opcode.h:
+ Remove the 'const' to simplify things and avoid having to do
+ additional casts and #ifdefs in many places.
+ * bytecode/ResolveGlobalStatus.cpp:
+ (JSC::computeForLLInt):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::generate):
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::initialize):
+ * interpreter/Interpreter.h:
+ (Interpreter):
+ * jit/JITExceptions.cpp:
+ (JSC::genericThrow):
+ * llint/LLIntData.cpp:
+ (LLInt):
+ (JSC::LLInt::initialize):
+ * llint/LLIntData.h:
+ (JSC):
+ (LLInt):
+ (Data):
+ (JSC::LLInt::exceptionInstructions):
+ (JSC::LLInt::opcodeMap):
+ (JSC::LLInt::getOpcode):
+ (JSC::LLInt::getCodePtr):
+ (JSC::LLInt::Data::performAssertions):
+ * llint/LLIntExceptions.cpp:
+ (JSC::LLInt::returnToThrowForThrownException):
+ (JSC::LLInt::returnToThrow):
+ (JSC::LLInt::callToThrow):
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+ (JSC::LLInt::handleHostCall):
+ * runtime/InitializeThreading.cpp:
+ (JSC::initializeThreadingOnce): Initialize the singleton LLInt data.
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData): Removed the now unneeded LLInt::Data instance in
+ JSGlobalData.
+ * runtime/JSValue.h:
+ (JSValue):
+
+2012-08-29 Gavin Barraclough <barraclough@apple.com>
+
+ PutById uses DataLabel32, not DataLabelCompact
+ https://bugs.webkit.org/show_bug.cgi?id=95245
+
+ Reviewed by Geoff Garen.
+
+ JIT::resetPatchPutById calls the the wrong thing on x86-64 – this is moot right now,
+ since they currently both do the same thing, but if we were to ever make compact mean
+ 8-bit this could be a real problem. Also, relying on the object still being in eax
+ on entry to the transition stub isn't very robust - added nonArgGPR1 to at least make
+ this explicit.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::emitSlow_op_put_by_id):
+ - copy regT0 to nonArgGPR1
+ (JSC::JIT::privateCompilePutByIdTransition):
+ - DataLabelCompact -> DataLabel32
+ (JSC::JIT::resetPatchPutById):
+ - reload regT0 from nonArgGPR1
+ * jit/JSInterfaceJIT.h:
+ (JSInterfaceJIT):
+ - added nonArgGPR1
+
+2012-08-28 Yong Li <yoli@rim.com>
+
+ ExecutableAllocator should be destructed after Heap
+ https://bugs.webkit.org/show_bug.cgi?id=95244
+
+ Reviewed by Rob Buis.
+
+ RIM PR# 199364.
+ Make ExecutableAllocator the first member in JSGlobalData.
+ Existing Web Worker tests can show the issue.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData):
+
+2012-08-29 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Windows build.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def: Export!
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ Introduced JSWithScope, making all scope objects subclasses of JSScope
+ https://bugs.webkit.org/show_bug.cgi?id=95295
+
+ Reviewed by Filip Pizlo.
+
+ This is a step toward removing ScopeChainNode. With a uniform representation
+ for objects in the scope chain, we can move data from ScopeChainNode
+ into JSScope.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * Target.pri: Build!
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION):
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL): Use an explicit JSWithScope object
+ for 'with' statements. Since 'with' can put any object in the scope
+ chain, we'll need an adapter object to hold the data ScopeChainNode
+ currently holds.
+
+ (JSGlobalData): Support for JSWithScope.
+
+ * runtime/JSScope.cpp:
+ (JSC::JSScope::objectAtScope):
+ * runtime/JSScope.h: Check for and unwrap JSWithScope.
+
+ * runtime/JSType.h: Support for JSWithScope.
+
+ * runtime/StrictEvalActivation.cpp:
+ (JSC::StrictEvalActivation::StrictEvalActivation):
+ * runtime/StrictEvalActivation.h:
+ (StrictEvalActivation): Inherit from JSScope, to make the scope chain uniform.
+
+ * runtime/JSWithScope.cpp: Added.
+ (JSC::JSWithScope::visitChildren):
+ * runtime/JSWithScope.h: Added.
+ (JSWithScope):
+ (JSC::JSWithScope::create):
+ (JSC::JSWithScope::object):
+ (JSC::JSWithScope::createStructure):
+ (JSC::JSWithScope::JSWithScope): New adapter object. Since this object
+ is never exposed to scripts, it doesn't need any meaningful implementation
+ of property access or other callbacks.
+
+2012-08-29 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed. Build fix for !ENABLE(JIT) after r126962.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::privateExecute):
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ Added JSScope::objectInScope(), and refactored callers to use it
+ https://bugs.webkit.org/show_bug.cgi?id=95281
+
+ Reviewed by Gavin Barraclough.
+
+ This is a step toward removing ScopeChainNode. We need a layer of
+ indirection so that 'with' scopes can proxy for an object.
+ JSScope::objectInScope() will be that layer.
+
+ * bytecode/EvalCodeCache.h:
+ (JSC::EvalCodeCache::tryGet):
+ (JSC::EvalCodeCache::getSlow):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::resolve):
+ (JSC::BytecodeGenerator::resolveConstDecl): . vs ->
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::unwindCallFrame):
+ (JSC::Interpreter::execute):
+ * runtime/JSScope.cpp:
+ (JSC::JSScope::resolve):
+ (JSC::JSScope::resolveSkip):
+ (JSC::JSScope::resolveGlobalDynamic):
+ (JSC::JSScope::resolveBase):
+ (JSC::JSScope::resolveWithBase):
+ (JSC::JSScope::resolveWithThis): Added JSScope::objectAtScope() calls.
+
+ * runtime/JSScope.h:
+ (JSScope):
+ (JSC::JSScope::objectAtScope):
+ (JSC):
+ (ScopeChainIterator):
+ (JSC::ScopeChainIterator::ScopeChainIterator):
+ (JSC::ScopeChainIterator::get):
+ (JSC::ScopeChainIterator::operator->):
+ (JSC::ScopeChainIterator::operator++):
+ (JSC::ScopeChainIterator::operator==):
+ (JSC::ScopeChainIterator::operator!=):
+ (JSC::ScopeChainNode::begin):
+ (JSC::ScopeChainNode::end): I moved ScopeChainIterator to this file
+ to resolve a circular #include problem. Eventually, I'll probably rename
+ it to JSScope::iterator, so I think it belongs here.
+
+ * runtime/ScopeChain.cpp:
+ (JSC::ScopeChainNode::print):
+ (JSC::ScopeChainNode::localDepth): . vs ->
+
+ * runtime/ScopeChain.h:
+ (ScopeChainNode): I made the 'object' data member private because it's
+ no longer safe to access -- you need to call JSScope::objectAtScope()
+ instead.
+
+ The JITs need to be friends because of the private declaration.
+
+ Subtly, JIT/LLInt code is correct without any changes because JIT/LLInt
+ code never compiles direct access to a with scope.
+
+2012-08-28 Mark Lam <mark.lam@apple.com>
+
+ Adding support for adding LLInt opcode extensions. This will be needed
+ by the LLInt C loop interpreter later.
+ https://bugs.webkit.org/show_bug.cgi?id=95277.
+
+ Reviewed by Geoffrey Garen.
+
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/Opcode.h:
+ * llint/LLIntOpcode.h: Added.
+ * llint/LowLevelInterpreter.h:
+
+2012-08-28 Gavin Barraclough <barraclough@apple.com>
+
+ Rolled out r126928, this broke stuff :'-(
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+ (JSC::JIT::resetPatchPutById):
+
+2012-08-28 Gavin Barraclough <barraclough@apple.com>
+
+ PutById uses DataLabel32, not DataLabelCompact
+ https://bugs.webkit.org/show_bug.cgi?id=95245
+
+ Reviewed by Geoff Garen.
+
+ JIT::resetPatchPutById calls the the wrong thing on x86-64 – this is moot right now,
+ since they currently both do the same thing, but if we were to ever make compact mean
+ 8-bit this could be a real problem. Also, don't rely on the object still being in eax
+ on entry to the transition stub – this isn't very robust.
+
+ * jit/JITPropertyAccess.cpp:
+ (JSC::JIT::privateCompilePutByIdTransition):
+ - DataLabelCompact -> DataLabel32
+ (JSC::JIT::resetPatchPutById):
+ - reload regT0 from the stack
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyNames):
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::~OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ (OpaqueJSClass::contextData):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::EvalCodeCache::visitAggregate):
+ (JSC::CodeBlock::nameForRegister):
+ * bytecode/JumpTable.h:
+ (JSC::StringJumpTable::offsetForValue):
+ (JSC::StringJumpTable::ctiForValue):
+ * bytecode/LazyOperandValueProfile.cpp:
+ (JSC::LazyOperandValueProfileParser::getIfPresent):
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingTool::dump):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::addVar):
+ (JSC::BytecodeGenerator::addGlobalVar):
+ (JSC::BytecodeGenerator::addConstant):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::addStringConstant):
+ (JSC::BytecodeGenerator::emitLazyNewFunction):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PropertyListNode::emitBytecode):
+ * debugger/Debugger.cpp:
+ * dfg/DFGArgumentsSimplificationPhase.cpp:
+ (JSC::DFG::ArgumentsSimplificationPhase::run):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
+ (JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
+ * dfg/DFGAssemblyHelpers.cpp:
+ (JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
+ * dfg/DFGByteCodeCache.h:
+ (JSC::DFG::ByteCodeCache::~ByteCodeCache):
+ (JSC::DFG::ByteCodeCache::get):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::cellConstant):
+ (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
+ * dfg/DFGStructureCheckHoistingPhase.cpp:
+ (JSC::DFG::StructureCheckHoistingPhase::run):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeStructureCheck):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeClobber):
+ * heap/Heap.cpp:
+ (JSC::Heap::markProtectedObjects):
+ * heap/Heap.h:
+ (JSC::Heap::forEachProtectedCell):
+ * heap/JITStubRoutineSet.cpp:
+ (JSC::JITStubRoutineSet::markSlow):
+ (JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
+ * heap/MarkStack.cpp:
+ (JSC::MarkStack::internalAppend):
+ * heap/Weak.h:
+ (JSC::weakRemove):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::ctiStub):
+ * parser/Parser.cpp:
+ (JSC::::parseStrictObjectLiteral):
+ * profiler/Profile.cpp:
+ (JSC::functionNameCountPairComparator):
+ (JSC::Profile::debugPrintDataSampleStyle):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::getOwnPropertyNames):
+ (JSC::JSActivation::symbolTablePutWithAttributes):
+ * runtime/JSArray.cpp:
+ (JSC::SparseArrayValueMap::put):
+ (JSC::SparseArrayValueMap::putDirect):
+ (JSC::SparseArrayValueMap::visitChildren):
+ (JSC::JSArray::enterDictionaryMode):
+ (JSC::JSArray::defineOwnNumericProperty):
+ (JSC::JSArray::getOwnPropertySlotByIndex):
+ (JSC::JSArray::getOwnPropertyDescriptor):
+ (JSC::JSArray::putByIndexBeyondVectorLength):
+ (JSC::JSArray::putDirectIndexBeyondVectorLength):
+ (JSC::JSArray::deletePropertyByIndex):
+ (JSC::JSArray::getOwnPropertyNames):
+ (JSC::JSArray::setLength):
+ (JSC::JSArray::sort):
+ (JSC::JSArray::compactForSorting):
+ (JSC::JSArray::checkConsistency):
+ * runtime/JSSymbolTableObject.cpp:
+ (JSC::JSSymbolTableObject::getOwnPropertyNames):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::symbolTableGet):
+ (JSC::symbolTablePut):
+ (JSC::symbolTablePutWithAttributes):
+ * runtime/RegExpCache.cpp:
+ (JSC::RegExpCache::invalidateCode):
+ * runtime/WeakGCMap.h:
+ (JSC::WeakGCMap::clear):
+ (JSC::WeakGCMap::set):
+ * tools/ProfileTreeNode.h:
+ (JSC::ProfileTreeNode::sampleChild):
+ (JSC::ProfileTreeNode::childCount):
+ (JSC::ProfileTreeNode::dumpInternal):
+ (JSC::ProfileTreeNode::compareEntries):
+
+2012-08-28 Filip Pizlo <fpizlo@apple.com>
+
+ LLInt should not rely on ordering of global labels
+ https://bugs.webkit.org/show_bug.cgi?id=95221
+
+ Reviewed by Oliver Hunt.
+
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyNames):
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::~OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ (OpaqueJSClass::contextData):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::EvalCodeCache::visitAggregate):
+ (JSC::CodeBlock::nameForRegister):
+ * bytecode/JumpTable.h:
+ (JSC::StringJumpTable::offsetForValue):
+ (JSC::StringJumpTable::ctiForValue):
+ * bytecode/LazyOperandValueProfile.cpp:
+ (JSC::LazyOperandValueProfileParser::getIfPresent):
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingTool::dump):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::addVar):
+ (JSC::BytecodeGenerator::addGlobalVar):
+ (JSC::BytecodeGenerator::addConstant):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::addStringConstant):
+ (JSC::BytecodeGenerator::emitLazyNewFunction):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PropertyListNode::emitBytecode):
+ * debugger/Debugger.cpp:
+ * dfg/DFGArgumentsSimplificationPhase.cpp:
+ (JSC::DFG::ArgumentsSimplificationPhase::run):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
+ (JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
+ * dfg/DFGAssemblyHelpers.cpp:
+ (JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
+ * dfg/DFGByteCodeCache.h:
+ (JSC::DFG::ByteCodeCache::~ByteCodeCache):
+ (JSC::DFG::ByteCodeCache::get):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::cellConstant):
+ (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
+ * dfg/DFGStructureCheckHoistingPhase.cpp:
+ (JSC::DFG::StructureCheckHoistingPhase::run):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeStructureCheck):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeClobber):
+ * heap/Heap.cpp:
+ (JSC::Heap::markProtectedObjects):
+ * heap/Heap.h:
+ (JSC::Heap::forEachProtectedCell):
+ * heap/JITStubRoutineSet.cpp:
+ (JSC::JITStubRoutineSet::markSlow):
+ (JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
+ * heap/MarkStack.cpp:
+ (JSC::MarkStack::internalAppend):
+ * heap/Weak.h:
+ (JSC::weakRemove):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::ctiStub):
+ * parser/Parser.cpp:
+ (JSC::::parseStrictObjectLiteral):
+ * profiler/Profile.cpp:
+ (JSC::functionNameCountPairComparator):
+ (JSC::Profile::debugPrintDataSampleStyle):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::getOwnPropertyNames):
+ (JSC::JSActivation::symbolTablePutWithAttributes):
+ * runtime/JSArray.cpp:
+ (JSC::SparseArrayValueMap::put):
+ (JSC::SparseArrayValueMap::putDirect):
+ (JSC::SparseArrayValueMap::visitChildren):
+ (JSC::JSArray::enterDictionaryMode):
+ (JSC::JSArray::defineOwnNumericProperty):
+ (JSC::JSArray::getOwnPropertySlotByIndex):
+ (JSC::JSArray::getOwnPropertyDescriptor):
+ (JSC::JSArray::putByIndexBeyondVectorLength):
+ (JSC::JSArray::putDirectIndexBeyondVectorLength):
+ (JSC::JSArray::deletePropertyByIndex):
+ (JSC::JSArray::getOwnPropertyNames):
+ (JSC::JSArray::setLength):
+ (JSC::JSArray::sort):
+ (JSC::JSArray::compactForSorting):
+ (JSC::JSArray::checkConsistency):
+ * runtime/JSSymbolTableObject.cpp:
+ (JSC::JSSymbolTableObject::getOwnPropertyNames):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::symbolTableGet):
+ (JSC::symbolTablePut):
+ (JSC::symbolTablePutWithAttributes):
+ * runtime/RegExpCache.cpp:
+ (JSC::RegExpCache::invalidateCode):
+ * runtime/WeakGCMap.h:
+ (JSC::WeakGCMap::clear):
+ (JSC::WeakGCMap::set):
+ * tools/ProfileTreeNode.h:
+ (JSC::ProfileTreeNode::sampleChild):
+ (JSC::ProfileTreeNode::childCount):
+ (JSC::ProfileTreeNode::dumpInternal):
+ (JSC::ProfileTreeNode::compareEntries):
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ GCC warning in JSActivation is causing Mac EWS errors
+ https://bugs.webkit.org/show_bug.cgi?id=95103
+
+ Reviewed by Sam Weinig.
+
+ Try to fix a strict aliasing violation by using bitwise_cast. The
+ union in the cast should signal to the compiler that aliasing between
+ types is happening.
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::visitChildren):
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ Build fix: svn add two files I forgot in my last patch.
+
+2012-08-27 Geoffrey Garen <ggaren@apple.com>
+
+ Refactored and consolidated variable resolution functions
+ https://bugs.webkit.org/show_bug.cgi?id=95166
+
+ Reviewed by Filip Pizlo.
+
+ This patch does a few things:
+
+ (1) Introduces a new class, JSScope, which is the base class for all
+ objects that represent a scope in the scope chain.
+
+ (2) Refactors and consolidates duplicate implementations of variable
+ resolution into the JSScope class.
+
+ (3) Renames JSStaticScopeObject to JSNameScope because, as distinct from
+ something like a 'let' scope, JSStaticScopeObject only has storage for a
+ single name.
+
+ These changes makes logical sense to me as-is. I will also use them in an
+ upcoming optimization.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * Target.pri: Build!
+
+ * bytecode/CodeBlock.cpp:
+ (JSC): Build fix for LLInt-only builds.
+
+ * bytecode/GlobalResolveInfo.h:
+ (GlobalResolveInfo): Use PropertyOffset to be consistent with other parts
+ of the engine.
+
+ * bytecompiler/NodesCodegen.cpp:
+ * dfg/DFGOperations.cpp: Use the shared code in JSScope instead of rolling
+ our own.
+
+ * interpreter/Interpreter.cpp:
+ (JSC::Interpreter::execute):
+ (JSC::Interpreter::createExceptionScope):
+ (JSC::Interpreter::privateExecute):
+ * interpreter/Interpreter.h: Use the shared code in JSScope instead of rolling
+ our own.
+
+ * jit/JITStubs.cpp:
+ (JSC::DEFINE_STUB_FUNCTION): Use the shared code in JSScope instead of rolling
+ our own.
+
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+ (LLInt): Use the shared code in JSScope instead of rolling our own. Note
+ that one of these slow paths calls the wrong helper function. I left it
+ that way to avoid a behavior change in a refactoring patch.
+
+ * parser/Nodes.cpp: Updated for rename.
+
+ * runtime/CommonSlowPaths.h:
+ (CommonSlowPaths): Removed resolve slow paths because were duplicative.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData): Updated for renames.
+
+ * runtime/JSNameScope.cpp: Copied from Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp.
+ (JSC):
+ (JSC::JSNameScope::visitChildren):
+ (JSC::JSNameScope::toThisObject):
+ (JSC::JSNameScope::put):
+ (JSC::JSNameScope::getOwnPropertySlot):
+ * runtime/JSNameScope.h: Copied from Source/JavaScriptCore/runtime/JSStaticScopeObject.h.
+ (JSC):
+ (JSC::JSNameScope::create):
+ (JSC::JSNameScope::createStructure):
+ (JSNameScope):
+ (JSC::JSNameScope::JSNameScope):
+ (JSC::JSNameScope::isDynamicScope): Used do-webcore-rename script here.
+ It is fabulous!
+
+ * runtime/JSObject.h:
+ (JSObject):
+ (JSC::JSObject::isNameScopeObject): More rename.
+
+ * runtime/JSScope.cpp: Added.
+ (JSC):
+ (JSC::JSScope::isDynamicScope):
+ (JSC::JSScope::resolve):
+ (JSC::JSScope::resolveSkip):
+ (JSC::JSScope::resolveGlobal):
+ (JSC::JSScope::resolveGlobalDynamic):
+ (JSC::JSScope::resolveBase):
+ (JSC::JSScope::resolveWithBase):
+ (JSC::JSScope::resolveWithThis):
+ * runtime/JSScope.h: Added.
+ (JSC):
+ (JSScope):
+ (JSC::JSScope::JSScope): All the code here is a port from the
+ Interpreter.cpp implementations of this functionality.
+
+ * runtime/JSStaticScopeObject.cpp: Removed.
+ * runtime/JSStaticScopeObject.h: Removed.
+
+ * runtime/JSSymbolTableObject.cpp:
+ (JSC):
+ * runtime/JSSymbolTableObject.h:
+ (JSSymbolTableObject):
+ * runtime/JSType.h: Updated for rename.
+
+ * runtime/Operations.h:
+ (JSC::resolveBase): Removed because it was duplicative.
+
+2012-08-28 Alban Browaeys <prahal@yahoo.com>
+
+ [GTK] LLint build fails with -g -02
+ https://bugs.webkit.org/show_bug.cgi?id=90098
+
+ Reviewed by Filip Pizlo.
+
+ Avoid duplicate offsets for llint, discarding them.
+
+ * offlineasm/offsets.rb:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyNames):
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::~OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ (OpaqueJSClass::contextData):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::EvalCodeCache::visitAggregate):
+ (JSC::CodeBlock::nameForRegister):
+ * bytecode/JumpTable.h:
+ (JSC::StringJumpTable::offsetForValue):
+ (JSC::StringJumpTable::ctiForValue):
+ * bytecode/LazyOperandValueProfile.cpp:
+ (JSC::LazyOperandValueProfileParser::getIfPresent):
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingTool::dump):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::addVar):
+ (JSC::BytecodeGenerator::addGlobalVar):
+ (JSC::BytecodeGenerator::addConstant):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::addStringConstant):
+ (JSC::BytecodeGenerator::emitLazyNewFunction):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PropertyListNode::emitBytecode):
+ * debugger/Debugger.cpp:
+ * dfg/DFGArgumentsSimplificationPhase.cpp:
+ (JSC::DFG::ArgumentsSimplificationPhase::run):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
+ (JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
+ * dfg/DFGAssemblyHelpers.cpp:
+ (JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
+ * dfg/DFGByteCodeCache.h:
+ (JSC::DFG::ByteCodeCache::~ByteCodeCache):
+ (JSC::DFG::ByteCodeCache::get):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::cellConstant):
+ (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
+ * dfg/DFGStructureCheckHoistingPhase.cpp:
+ (JSC::DFG::StructureCheckHoistingPhase::run):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeStructureCheck):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeClobber):
+ * heap/Heap.cpp:
+ (JSC::Heap::markProtectedObjects):
+ * heap/Heap.h:
+ (JSC::Heap::forEachProtectedCell):
+ * heap/JITStubRoutineSet.cpp:
+ (JSC::JITStubRoutineSet::markSlow):
+ (JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
+ * heap/MarkStack.cpp:
+ (JSC::MarkStack::internalAppend):
+ * heap/Weak.h:
+ (JSC::weakRemove):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::ctiStub):
+ * parser/Parser.cpp:
+ (JSC::::parseStrictObjectLiteral):
+ * profiler/Profile.cpp:
+ (JSC::functionNameCountPairComparator):
+ (JSC::Profile::debugPrintDataSampleStyle):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::getOwnPropertyNames):
+ (JSC::JSActivation::symbolTablePutWithAttributes):
+ * runtime/JSArray.cpp:
+ (JSC::SparseArrayValueMap::put):
+ (JSC::SparseArrayValueMap::putDirect):
+ (JSC::SparseArrayValueMap::visitChildren):
+ (JSC::JSArray::enterDictionaryMode):
+ (JSC::JSArray::defineOwnNumericProperty):
+ (JSC::JSArray::getOwnPropertySlotByIndex):
+ (JSC::JSArray::getOwnPropertyDescriptor):
+ (JSC::JSArray::putByIndexBeyondVectorLength):
+ (JSC::JSArray::putDirectIndexBeyondVectorLength):
+ (JSC::JSArray::deletePropertyByIndex):
+ (JSC::JSArray::getOwnPropertyNames):
+ (JSC::JSArray::setLength):
+ (JSC::JSArray::sort):
+ (JSC::JSArray::compactForSorting):
+ (JSC::JSArray::checkConsistency):
+ * runtime/JSSymbolTableObject.cpp:
+ (JSC::JSSymbolTableObject::getOwnPropertyNames):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::symbolTableGet):
+ (JSC::symbolTablePut):
+ (JSC::symbolTablePutWithAttributes):
+ * runtime/RegExpCache.cpp:
+ (JSC::RegExpCache::invalidateCode):
+ * runtime/WeakGCMap.h:
+ (JSC::WeakGCMap::clear):
+ (JSC::WeakGCMap::set):
+ * tools/ProfileTreeNode.h:
+ (JSC::ProfileTreeNode::sampleChild):
+ (JSC::ProfileTreeNode::childCount):
+ (JSC::ProfileTreeNode::dumpInternal):
+ (JSC::ProfileTreeNode::compareEntries):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * API/JSCallbackObject.h:
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::getPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::setPrivateProperty):
+ (JSC::JSCallbackObjectData::JSPrivatePropertyMap::visitChildren):
+ * API/JSCallbackObjectFunctions.h:
+ (JSC::::getOwnPropertyNames):
+ * API/JSClassRef.cpp:
+ (OpaqueJSClass::~OpaqueJSClass):
+ (OpaqueJSClassContextData::OpaqueJSClassContextData):
+ (OpaqueJSClass::contextData):
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::dump):
+ (JSC::EvalCodeCache::visitAggregate):
+ (JSC::CodeBlock::nameForRegister):
+ * bytecode/JumpTable.h:
+ (JSC::StringJumpTable::offsetForValue):
+ (JSC::StringJumpTable::ctiForValue):
+ * bytecode/LazyOperandValueProfile.cpp:
+ (JSC::LazyOperandValueProfileParser::getIfPresent):
+ * bytecode/SamplingTool.cpp:
+ (JSC::SamplingTool::dump):
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::addVar):
+ (JSC::BytecodeGenerator::addGlobalVar):
+ (JSC::BytecodeGenerator::addConstant):
+ (JSC::BytecodeGenerator::addConstantValue):
+ (JSC::BytecodeGenerator::emitLoad):
+ (JSC::BytecodeGenerator::addStringConstant):
+ (JSC::BytecodeGenerator::emitLazyNewFunction):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::PropertyListNode::emitBytecode):
+ * debugger/Debugger.cpp:
+ * dfg/DFGArgumentsSimplificationPhase.cpp:
+ (JSC::DFG::ArgumentsSimplificationPhase::run):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeBadArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::observeProperArgumentsUse):
+ (JSC::DFG::ArgumentsSimplificationPhase::isOKToOptimize):
+ (JSC::DFG::ArgumentsSimplificationPhase::removeArgumentsReferencingPhantomChild):
+ * dfg/DFGAssemblyHelpers.cpp:
+ (JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
+ * dfg/DFGByteCodeCache.h:
+ (JSC::DFG::ByteCodeCache::~ByteCodeCache):
+ (JSC::DFG::ByteCodeCache::get):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::cellConstant):
+ (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
+ * dfg/DFGStructureCheckHoistingPhase.cpp:
+ (JSC::DFG::StructureCheckHoistingPhase::run):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeStructureCheck):
+ (JSC::DFG::StructureCheckHoistingPhase::noticeClobber):
+ * heap/Heap.cpp:
+ (JSC::Heap::markProtectedObjects):
+ * heap/Heap.h:
+ (JSC::Heap::forEachProtectedCell):
+ * heap/JITStubRoutineSet.cpp:
+ (JSC::JITStubRoutineSet::markSlow):
+ (JSC::JITStubRoutineSet::deleteUnmarkedJettisonedStubRoutines):
+ * heap/MarkStack.cpp:
+ (JSC::MarkStack::internalAppend):
+ * heap/Weak.h:
+ (JSC::weakRemove):
+ * jit/JIT.cpp:
+ (JSC::JIT::privateCompile):
+ * jit/JITStubs.cpp:
+ (JSC::JITThunks::ctiStub):
+ * parser/Parser.cpp:
+ (JSC::::parseStrictObjectLiteral):
+ * profiler/Profile.cpp:
+ (JSC::functionNameCountPairComparator):
+ (JSC::Profile::debugPrintDataSampleStyle):
+ * runtime/Identifier.cpp:
+ (JSC::Identifier::add):
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::getOwnPropertyNames):
+ (JSC::JSActivation::symbolTablePutWithAttributes):
+ * runtime/JSArray.cpp:
+ (JSC::SparseArrayValueMap::put):
+ (JSC::SparseArrayValueMap::putDirect):
+ (JSC::SparseArrayValueMap::visitChildren):
+ (JSC::JSArray::enterDictionaryMode):
+ (JSC::JSArray::defineOwnNumericProperty):
+ (JSC::JSArray::getOwnPropertySlotByIndex):
+ (JSC::JSArray::getOwnPropertyDescriptor):
+ (JSC::JSArray::putByIndexBeyondVectorLength):
+ (JSC::JSArray::putDirectIndexBeyondVectorLength):
+ (JSC::JSArray::deletePropertyByIndex):
+ (JSC::JSArray::getOwnPropertyNames):
+ (JSC::JSArray::setLength):
+ (JSC::JSArray::sort):
+ (JSC::JSArray::compactForSorting):
+ (JSC::JSArray::checkConsistency):
+ * runtime/JSSymbolTableObject.cpp:
+ (JSC::JSSymbolTableObject::getOwnPropertyNames):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::symbolTableGet):
+ (JSC::symbolTablePut):
+ (JSC::symbolTablePutWithAttributes):
+ * runtime/RegExpCache.cpp:
+ (JSC::RegExpCache::invalidateCode):
+ * runtime/WeakGCMap.h:
+ (JSC::WeakGCMap::clear):
+ (JSC::WeakGCMap::set):
+ * tools/ProfileTreeNode.h:
+ (JSC::ProfileTreeNode::sampleChild):
+ (JSC::ProfileTreeNode::childCount):
+ (JSC::ProfileTreeNode::dumpInternal):
+ (JSC::ProfileTreeNode::compareEntries):
+
+2012-08-27 Filip Pizlo <fpizlo@apple.com>
+
+ Structure check hoisting should abstain if the OSR entry's must-handle value for the respective variable has a different structure
+ https://bugs.webkit.org/show_bug.cgi?id=95141
+ <rdar://problem/12170401>
+
+ Reviewed by Mark Hahnenberg.
+
+ * dfg/DFGStructureCheckHoistingPhase.cpp:
+ (JSC::DFG::StructureCheckHoistingPhase::run):
+
+2012-08-27 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove use of ClassInfo from SpeculativeJIT::compileGetByValOnArguments
+ https://bugs.webkit.org/show_bug.cgi?id=95131
+
+ Reviewed by Filip Pizlo.
+
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::compileGetByValOnArguments): We don't need this speculation check. We can replace it
+ with an assert to guarantee this.
+
+2012-08-27 Oliver Hunt <oliver@apple.com>
+
+ Remove opcode definition autogen for now
+ https://bugs.webkit.org/show_bug.cgi?id=95148
+
+ Reviewed by Mark Hahnenberg.
+
+ This isn't worth doing at the moment.
+
+ * DerivedSources.make:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/Opcode.h:
+ (JSC):
+ (JSC::padOpcodeName):
+ * bytecode/OpcodeDefinitions.h: Removed.
+ * bytecode/opcodes: Removed.
+ * opcode_definition_generator.py: Removed.
+ * opcode_generator.py: Removed.
+ * opcode_parser.py: Removed.
+
+2012-08-27 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ Remove uses of TypedArray ClassInfo from SpeculativeJIT::checkArgumentTypes
+ https://bugs.webkit.org/show_bug.cgi?id=95112
+
+ Reviewed by Filip Pizlo.
+
+ Removing these checks since we no longer need them.
+
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::initialize):
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::checkArgumentTypes):
+
+2012-08-27 Benjamin Poulain <benjamin@webkit.org>
+
+ Add ECMAScript Number to String conversion to WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95016
+
+ Reviewed by Geoffrey Garen.
+
+ Rename UString::number(double) to UString::numberToStringECMAScript(double) to
+ differenciate it from the fixed-width conversion performed by String::number().
+
+ * parser/ParserArena.h:
+ (JSC::IdentifierArena::makeNumericIdentifier):
+ * runtime/JSONObject.cpp:
+ (JSC::Stringifier::appendStringifiedValue):
+ * runtime/NumberPrototype.cpp:
+ (JSC::numberProtoFuncToExponential):
+ (JSC::numberProtoFuncToFixed):
+ (JSC::numberProtoFuncToPrecision):
+ (JSC::numberProtoFuncToString):
+ * runtime/NumericStrings.h:
+ (JSC::NumericStrings::add):
+ * runtime/UString.cpp:
+ (JSC::UString::numberToStringECMAScript):
+ * runtime/UString.h:
+ (UString):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ ENABLE_REGISTER_PROTOCOL_HANDLER is renamed to ENABLE_NAVIGATOR_CONTENT_UTILS.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-26 Filip Pizlo <fpizlo@apple.com>
+
+ Unreviewed, fix for builds without VALUE_PROFILING. I had forgotten that shouldEmitProfiling()
+ is designed to return true if DFG_JIT is disabled. I should be using canBeOptimized() instead.
+
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITCall32_64.cpp:
+ (JSC::JIT::compileOpCall):
+
+2012-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Don't allocate space for arguments and call frame if arguments aren't captured
+ https://bugs.webkit.org/show_bug.cgi?id=95024
+
+ Reviewed by Phil Pizlo.
+
+ 27% on v8-real-earley.
+
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::registerOffset): The offset is zero if we're skipping
+ the arguments and call frame because "offset" means space reserved for
+ those things.
+
+ (JSC::JSActivation::tearOff): Don't copy the scope chain and callee. We
+ don't need them for anything, and we're no longer guaranteed to have
+ space for them.
+
+2012-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Removed the NULL checks from visitChildren functions
+ https://bugs.webkit.org/show_bug.cgi?id=95021
+
+ Reviewed by Oliver Hunt.
+
+ As of http://trac.webkit.org/changeset/126624, all values are NULL-checked
+ during GC, so explicit NULL checks aren't needed anymore.
+
+2011-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Removed a JSC-specific hack from the web inspector
+ https://bugs.webkit.org/show_bug.cgi?id=95033
+
+ Reviewed by Filip Pizlo.
+
+ Added support for what the web inspector really wanted instead.
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::symbolTableGet):
+ (JSC::JSActivation::symbolTablePut): Added some explanation for these
+ checks, which were non-obvious to me.
+
+ (JSC::JSActivation::getOwnPropertySlot): It's impossible to access the
+ arguments property of an activation after it's been torn off, since the
+ only way to tear off an activation is to instantiate a new function,
+ which has its own arguments property in scope. However, the inspector
+ get special access to activations, and may try to perform this access,
+ so we need a special guard to maintain coherence and avoid crashing in
+ case the activation optimized out the arguments property.
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::symbolTableGet):
+ (JSC::JSActivation::symbolTablePut):
+ (JSC::JSActivation::getOwnPropertyNames):
+ (JSC::JSActivation::getOwnPropertyDescriptor): Provide getOwnPropertyNames
+ and getOwnPropertyDescriptor implementations, to meet the web inspector's
+ needs. (User code can never call these.)
+
+2012-08-24 Filip Pizlo <fpizlo@apple.com>
+
+ Finally inlining should correctly track the catch context
+ https://bugs.webkit.org/show_bug.cgi?id=94986
+ <rdar://problem/11753784>
+
+ Reviewed by Sam Weinig.
+
+ This fixes two behaviors:
+
+ 1) Throwing from a finally block. Previously, we would seem to reenter the finally
+ block - though only once.
+
+ 2) Executing a finally block from some nested context, for example due to a
+ 'continue', 'break', or 'return' in the try. This would execute the finally
+ block in the context of of the try block, which could lead to either scope depth
+ mismatches or reexecutions of the finally block on throw, similarly to (1) but
+ for different reasons.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC):
+ (JSC::BytecodeGenerator::pushFinallyContext):
+ (JSC::BytecodeGenerator::emitComplexJumpScopes):
+ (JSC::BytecodeGenerator::pushTry):
+ (JSC::BytecodeGenerator::popTryAndEmitCatch):
+ * bytecompiler/BytecodeGenerator.h:
+ (FinallyContext):
+ (TryData):
+ (JSC):
+ (TryContext):
+ (TryRange):
+ (BytecodeGenerator):
+ * bytecompiler/NodesCodegen.cpp:
+ (JSC::TryNode::emitBytecode):
+
+2012-08-26 Filip Pizlo <fpizlo@apple.com>
+
+ Array type checks and storage accesses should be uniformly represented and available to CSE
+ https://bugs.webkit.org/show_bug.cgi?id=95013
+
+ Reviewed by Oliver Hunt.
+
+ This uniformly breaks up all array accesses into up to three parts:
+
+ 1) The type check, using a newly introduced CheckArray node, in addition to possibly
+ a CheckStructure node. We were already inserting the CheckStructure prior to this
+ patch. The CheckArray node will be automatically eliminated if the thing it was
+ checking for had already been checked for, either intentionally (a CheckStructure
+ inserted based on the array profile of this access) or accidentally (some checks,
+ typically a CheckStructure, inserted for some unrelated operations). The
+ CheckArray node may not be inserted if the array type is non-specific (Generic or
+ ForceExit).
+
+ 2) The storage load using GetIndexedPropertyStorage. Previously, this only worked for
+ GetByVal. Now it works for all array accesses. The storage load may not be
+ inserted if the mode of array access does not permit CSE of storage loads (like
+ non-specific modes or Arguments).
+
+ 3) The access itself: one of GetByVal, PutByVal, PutByValAlias, ArrayPush, ArrayPop,
+ GetArrayLength, StringCharAt, or StringCharCodeAt.
+
+ This means that the type check can be subjected to CSE even if the CFA isn't smart
+ enough to reason about it (yet!). It also means that the storage load can always be
+ subjected to CSE; previously CSE on storage load only worked for array loads and not
+ other forms of access. Finally, it removes the bizarre behavior that
+ GetIndexedPropertyStorage previously had: previously, it was responsible for the type
+ check in some cases, but not others; this made reasoning about the CFA really
+ confusing.
+
+ This change also disables late refinement of array mode, since I decided that
+ supporting that feature is both confusing and likely unprofitable. The array modes are
+ now locked in in the first fixup run after prediction propagation. Of course,
+ refinements from Generic to something else would not have been a problem; we could
+ reenable those if we thought we really needed to.
+
+ * dfg/DFGAbstractState.cpp:
+ (JSC::DFG::AbstractState::execute):
+ * dfg/DFGArgumentsSimplificationPhase.cpp:
+ (JSC::DFG::ArgumentsSimplificationPhase::run):
+ * dfg/DFGArrayMode.cpp:
+ (JSC::DFG::fromStructure):
+ (DFG):
+ (JSC::DFG::refineArrayMode):
+ * dfg/DFGArrayMode.h:
+ (DFG):
+ (JSC::DFG::modeIsJSArray):
+ (JSC::DFG::lengthNeedsStorage):
+ (JSC::DFG::modeIsSpecific):
+ (JSC::DFG::modeSupportsLength):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::ByteCodeParser):
+ (JSC::DFG::ByteCodeParser::getArrayMode):
+ (ByteCodeParser):
+ (JSC::DFG::ByteCodeParser::getArrayModeAndEmitChecks):
+ (JSC::DFG::ByteCodeParser::handleIntrinsic):
+ (JSC::DFG::ByteCodeParser::parseBlock):
+ * dfg/DFGCFGSimplificationPhase.cpp:
+ (JSC::DFG::CFGSimplificationPhase::mergeBlocks):
+ * dfg/DFGCSEPhase.cpp:
+ (JSC::DFG::CSEPhase::CSEPhase):
+ (JSC::DFG::CSEPhase::checkStructureElimination):
+ (CSEPhase):
+ (JSC::DFG::CSEPhase::checkArrayElimination):
+ (JSC::DFG::CSEPhase::getIndexedPropertyStorageLoadElimination):
+ (JSC::DFG::CSEPhase::performNodeCSE):
+ (JSC::DFG::performCSE):
+ * dfg/DFGCSEPhase.h:
+ (DFG):
+ * dfg/DFGCommon.h:
+ * dfg/DFGConstantFoldingPhase.cpp:
+ (JSC::DFG::ConstantFoldingPhase::foldConstants):
+ * dfg/DFGDriver.cpp:
+ (JSC::DFG::compile):
+ * dfg/DFGFixupPhase.cpp:
+ (JSC::DFG::FixupPhase::fixupNode):
+ (JSC::DFG::FixupPhase::checkArray):
+ (FixupPhase):
+ (JSC::DFG::FixupPhase::blessArrayOperation):
+ * dfg/DFGGraph.cpp:
+ (JSC::DFG::Graph::Graph):
+ (DFG):
+ (JSC::DFG::Graph::dump):
+ (JSC::DFG::Graph::collectGarbage):
+ * dfg/DFGGraph.h:
+ (Graph):
+ (JSC::DFG::Graph::vote):
+ (JSC::DFG::Graph::substitute):
+ * dfg/DFGNode.h:
+ (JSC::DFG::Node::hasArrayMode):
+ (JSC::DFG::Node::setArrayMode):
+ * dfg/DFGNodeType.h:
+ (DFG):
+ * dfg/DFGOperations.cpp:
+ * dfg/DFGPhase.h:
+ (DFG):
+ * dfg/DFGPredictionPropagationPhase.cpp:
+ (JSC::DFG::PredictionPropagationPhase::propagate):
+ (JSC::DFG::PredictionPropagationPhase::mergeDefaultFlags):
+ * dfg/DFGSpeculativeJIT.cpp:
+ (JSC::DFG::SpeculativeJIT::checkArray):
+ (JSC::DFG::SpeculativeJIT::useChildren):
+ (JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
+ (JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
+ (JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
+ (JSC::DFG::SpeculativeJIT::compileGetArrayLength):
+ * dfg/DFGSpeculativeJIT.h:
+ (SpeculativeJIT):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGStructureCheckHoistingPhase.cpp:
+ (JSC::DFG::StructureCheckHoistingPhase::run):
+
+2012-08-26 Filip Pizlo <fpizlo@apple.com>
+
+ DFGGraph.h has a bogus comment about the nature of StorageAccessData
+ https://bugs.webkit.org/show_bug.cgi?id=95035
+
+ Reviewed by Oliver Hunt.
+
+ The comment is both wrong (storage access instructions don't reference CheckStructure)
+ and highly redundant: of course it's the case that two structures may have the same
+ identifier. Our interference analyses currently don't care about this and make the
+ conservative assumptions when necessary (same identifier, same object -> must be same
+ property; same identifier, may be same object -> may be the same property). Better to
+ remove the bogus comment since the code that operates over this data structure is
+ fairly self-explanatory already.
+
+ * dfg/DFGGraph.h:
+ (StorageAccessData):
+
+2012-08-25 Geoffrey Garen <ggaren@apple.com>
+
+ Try a little harder to fix the Linux build.
+
+ * runtime/JSActivation.cpp:
+ * runtime/JSActivation.h:
+
+2012-08-25 Geoffrey Garen <ggaren@apple.com>
+
+ Try to fix the Linux build.
+
+ * runtime/JSActivation.cpp:
+
+2012-08-25 Geoffrey Garen <ggaren@apple.com>
+
+ Don't use malloc / destructors for activation objects
+ https://bugs.webkit.org/show_bug.cgi?id=94897
+
+ Reviewed by Oliver Hunt.
+
+ 65% faster on v8-real-earley.
+
+ Lots of boilerplate here, but the jist is this:
+
+ (1) Use CopiedSpace instead of malloc to allocate the activation's
+ backing store.
+
+ (2) Use MarkedSpace instead of ref-counting to allocate the symbol table.
+
+ (3) ==> No more destructor.
+
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::CodeBlock):
+ (JSC::CodeBlock::stronglyVisitStrongReferences):
+ * bytecode/CodeBlock.h:
+ (JSC::CodeBlock::symbolTable):
+ (CodeBlock):
+ (JSC::GlobalCodeBlock::GlobalCodeBlock):
+ (JSC::FunctionCodeBlock::FunctionCodeBlock):
+ (FunctionCodeBlock): SymbolTable is a GC object now, so it gets a write
+ barrier and visit calls instead of ref-counting. I changed all CodeBlocks
+ to use shared symbol tables because the distinction between shared and
+ unshared hurt my head.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::resolve):
+ (JSC::BytecodeGenerator::resolveConstDecl):
+ (JSC::BytecodeGenerator::emitPutStaticVar):
+ * dfg/DFGByteCodeParser.cpp:
+ (JSC::DFG::ByteCodeParser::parseBlock):
+ * dfg/DFGSpeculativeJIT32_64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile):
+ * dfg/DFGSpeculativeJIT64.cpp:
+ (JSC::DFG::SpeculativeJIT::compile): Sometimes, a period just wants
+ to be an arrow. And then C++ is there to accommodate.
+
+ * jit/JITDriver.h:
+ (JSC::jitCompileFunctionIfAppropriate):
+ * runtime/Arguments.h:
+ (ArgumentsData):
+ (JSC::Arguments::setRegisters):
+ (Arguments):
+ (JSC::Arguments::argument):
+ (JSC::Arguments::finishCreation):
+ * runtime/Executable.cpp:
+ (JSC::FunctionExecutable::FunctionExecutable):
+ (JSC::ProgramExecutable::compileInternal):
+ (JSC::FunctionExecutable::compileForCallInternal):
+ (JSC::FunctionExecutable::compileForConstructInternal):
+ (JSC::FunctionExecutable::visitChildren):
+ * runtime/Executable.h:
+ (JSC::FunctionExecutable::symbolTable):
+ (FunctionExecutable):
+ * runtime/ExecutionHarness.h:
+ (JSC::prepareFunctionForExecution): I changed from WriteBarrier to
+ WriteBarrierBase so activations could reuse StorageBarrier and PropertyStorage.
+
+ * runtime/JSActivation.cpp:
+ (JSC::JSActivation::JSActivation):
+ (JSC::JSActivation::finishCreation): Allocate the symbol table here,
+ after we're fully constructed, to avoid GC during initialization.
+
+ (JSC::JSActivation::visitChildren):
+ (JSC::JSActivation::symbolTableGet):
+ (JSC::JSActivation::symbolTablePut):
+ (JSC::JSActivation::getOwnPropertyNames):
+ (JSC::JSActivation::symbolTablePutWithAttributes):
+ * runtime/JSActivation.h:
+ (JSC::JSActivation::create):
+ (JSActivation):
+ (JSC::JSActivation::registerOffset):
+ (JSC):
+ (JSC::JSActivation::registerArraySize):
+ (JSC::JSActivation::registerArraySizeInBytes):
+ (JSC::JSActivation::tearOff): Tear-off zero-initializes all uncopied
+ registers. This makes it safe to copyAndAppend the full buffer in
+ visitChildren, without any extra checks.
+
+ * runtime/JSCell.h:
+ (JSCell): Moved a shared default set of flags into this base class, so
+ I could use it in a few places.
+
+ * runtime/JSGlobalData.cpp:
+ (JSC::JSGlobalData::JSGlobalData):
+ * runtime/JSGlobalData.h:
+ (JSGlobalData): New structure for symbol tables.
+
+ * runtime/JSGlobalObject.cpp:
+ (JSC::JSGlobalObject::JSGlobalObject):
+ (JSC::JSGlobalObject::addStaticGlobals):
+ * runtime/JSGlobalObject.h:
+ (JSGlobalObject):
+ (JSC::JSGlobalObject::symbolTableHasProperty): We don't need an inline
+ symbol table -- JSSymbolTableObject will GC allocate one for us.
+
+ * runtime/JSObject.h:
+ (JSObject):
+ * runtime/JSSegmentedVariableObject.h:
+ (JSC::JSSegmentedVariableObject::JSSegmentedVariableObject):
+ * runtime/JSStaticScopeObject.cpp:
+ (JSC):
+ (JSC::JSStaticScopeObject::visitChildren): NULL check our register store
+ because finishCreation allocates an object now, so we may get marked
+ before we've assigned to our register store.
+
+ * runtime/JSStaticScopeObject.h:
+ (JSC::JSStaticScopeObject::finishCreation):
+ (JSC::JSStaticScopeObject::JSStaticScopeObject):
+ (JSStaticScopeObject): No more destructor for this object, either, since
+ it no longer embeds a hash table.
+
+ * runtime/JSSymbolTableObject.cpp:
+ (JSC::JSSymbolTableObject::visitChildren):
+ (JSC::JSSymbolTableObject::deleteProperty):
+ (JSC::JSSymbolTableObject::getOwnPropertyNames):
+ * runtime/JSSymbolTableObject.h:
+ (JSC::JSSymbolTableObject::symbolTable):
+ (JSSymbolTableObject):
+ (JSC::JSSymbolTableObject::JSSymbolTableObject):
+ (JSC::JSSymbolTableObject::finishCreation):
+ (JSC::symbolTableGet):
+ (JSC::symbolTablePut):
+ (JSC::symbolTablePutWithAttributes): SymbolTableObject allocates a symbol
+ table automatically if one isn't provided. (Activations provide their
+ own, which they get from compiled code.)
+
+ * runtime/JSVariableObject.cpp:
+ (JSC):
+ * runtime/JSVariableObject.h:
+ (JSC::JSVariableObject::registerAt):
+ (JSC::JSVariableObject::addressOfRegisters):
+ (JSVariableObject):
+ (JSC::JSVariableObject::JSVariableObject):
+ (JSC::JSVariableObject::finishCreation): Removed a bunch of obsolete code.
+ Activations manage their registers directly now.
+
+ * runtime/StorageBarrier.h:
+ (StorageBarrier):
+ (JSC::StorageBarrier::operator!):
+
+ * runtime/SymbolTable.cpp:
+ (JSC):
+ (JSC::SharedSymbolTable::destroy):
+ * runtime/SymbolTable.h:
+ (JSC::SharedSymbolTable::create):
+ (SharedSymbolTable):
+ (JSC::SharedSymbolTable::createStructure):
+ (JSC::SharedSymbolTable::SharedSymbolTable): Boilerplat code to
+ make shared symbol table GC-allocated.
+
+2012-08-25 Filip Pizlo <fpizlo@apple.com>
+
+ op_call should have ArrayProfiling for the benefit of array intrinsics
+ https://bugs.webkit.org/show_bug.cgi?id=95014
+
+ Reviewed by Sam Weinig.
+
+ This is a performance-neutral change that just adds the profiling but does not
+ use it, yet. If in the future we wanted to make this kind of profiling cheaper
+ we could move it into specialized thunks for the relevant array intrinsics, but
+ I figure that if this much simpler change gives us what we need without any
+ discernable performance penalty then that's for the best.
+
+ * bytecompiler/BytecodeGenerator.cpp:
+ (JSC::BytecodeGenerator::emitCall):
+ * jit/JITCall.cpp:
+ (JSC::JIT::compileOpCall):
+ * jit/JITCall32_64.cpp:
+ (JSC::JIT::compileOpCall):
+ * llint/LowLevelInterpreter.asm:
+ * llint/LowLevelInterpreter32_64.asm:
+ * llint/LowLevelInterpreter64.asm:
+
+2012-08-25 Filip Pizlo <fpizlo@apple.com>
+
+ The redundant phi elimination phase is not used and should be removed
+ https://bugs.webkit.org/show_bug.cgi?id=95006
+
+ Reviewed by Dan Bernstein.
+
+ Just removing dead code.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * Target.pri:
+ * dfg/DFGDriver.cpp:
+ * dfg/DFGRedundantPhiEliminationPhase.cpp: Removed.
+ * dfg/DFGRedundantPhiEliminationPhase.h: Removed.
+
+2012-08-24 Benjamin Poulain <bpoulain@apple.com>
+
+ Unify Number to StringImpl conversion
+ https://bugs.webkit.org/show_bug.cgi?id=94879
+
+ Reviewed by Geoffrey Garen.
+
+ * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
+ * runtime/UString.cpp:
+ * runtime/UString.h:
+ (JSC::UString::number):
+ Update UString to directly use the common NumberToString implementation.
+
+2012-08-24 Oliver Hunt <oliver@apple.com>
+
+ Always null check cells before marking
+ https://bugs.webkit.org/show_bug.cgi?id=94968
+
+ Reviewed by Geoffrey Garen.
+
+ Originally we tried to minimise null checks by only null checking values
+ that we knew could be null, however given that we can't ever guarantee
+ when a GC will happen, we're better off just always assuming that a null
+ check will be necessary. This results in a much less fragile code base
+ as we can add GC allocations to object initialisers without having to
+ subsequently worry about whether the object we are initialising will need
+ to add a bunch of null checks in its visitChildren implementation.
+
+ * heap/MarkStack.cpp:
+ (JSC::MarkStack::internalAppend):
+ * heap/MarkStackInlineMethods.h:
+ (JSC::MarkStack::append):
+ (JSC::MarkStack::appendUnbarrieredPointer):
+ * runtime/Structure.h:
+ (JSC::MarkStack::internalAppend):
+
+2012-08-23 Oliver Hunt <oliver@apple.com>
+
+ Autogenerate Opcode definitions
+ https://bugs.webkit.org/show_bug.cgi?id=94840
+
+ Reviewed by Gavin Barraclough.
+
+ Start the process of autogenerating the code emission for the bytecode.
+ We'll just start with automatic generation of the list of Opcodes as that
+ requires the actual definition of the opcodes, and the logic for parsing
+ them.
+
+ Due to some rather annoying dependency cycles, this initial version has
+ the OpcodeDefinitions.h file checked into the tree, although with some
+ work I hope to be able to fix that.
+
+ * DerivedSources.make:
+ * JavaScriptCore.xcodeproj/project.pbxproj:
+ * bytecode/Opcode.h:
+ Include OpcodeDefinitions.h as our definitive source of info
+ about the opcodes.
+ * bytecode/OpcodeDefinitions.h: Added.
+ Autogenerated file
+ * bytecode/opcodes: Added.
+ The new opcode definition file
+ * opcode_definition_generator.py: Added.
+ (generateOpcodeDefinition):
+ (generate):
+ Module that generates the content for OpcodeDefinitions.h
+ * opcode_generator.py: Added.
+ (printUsage):
+ (main):
+ Driver script
+ * opcode_parser.py: Added.
+ Simple parser for the opcode definitions.
+
2011-08-23 Geoffrey Garen <ggaren@apple.com>
Unreviewed, rolling out r126505.
diff --git a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig b/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
index 9c1b8ffa7..f9a0eb29c 100644
--- a/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
+++ b/Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
@@ -47,7 +47,6 @@ ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
ENABLE_CSS_COMPOSITING = ;
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_FLEXBOX = ENABLE_CSS3_FLEXBOX;
ENABLE_CSS3_TEXT_DECORATION = ;
ENABLE_CUSTOM_SCHEME_HANDLER = ;
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
@@ -105,6 +104,7 @@ ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
ENABLE_MHTML = ;
ENABLE_MICRODATA = ;
ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS;
+ENABLE_NAVIGATOR_CONTENT_UTILS = ;
ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
ENABLE_NOTIFICATIONS_macosx_1070 = ;
@@ -113,7 +113,6 @@ ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
ENABLE_PAGE_VISIBILITY_API = ;
ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
ENABLE_QUOTA = ;
-ENABLE_REGISTER_PROTOCOL_HANDLER = ;
ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
ENABLE_SCRIPTED_SPEECH = ;
ENABLE_SHADOW_DOM = ;
@@ -140,4 +139,4 @@ ENABLE_WIDGET_REGION_macosx = ENABLE_WIDGET_REGION;
ENABLE_WORKERS = ENABLE_WORKERS;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
diff --git a/Source/JavaScriptCore/Configurations/Version.xcconfig b/Source/JavaScriptCore/Configurations/Version.xcconfig
index cff1fe049..5cb8681fa 100644
--- a/Source/JavaScriptCore/Configurations/Version.xcconfig
+++ b/Source/JavaScriptCore/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 537;
-MINOR_VERSION = 8;
+MINOR_VERSION = 10;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/Source/JavaScriptCore/GNUmakefile.list.am b/Source/JavaScriptCore/GNUmakefile.list.am
index b0c31599c..dd584f747 100644
--- a/Source/JavaScriptCore/GNUmakefile.list.am
+++ b/Source/JavaScriptCore/GNUmakefile.list.am
@@ -217,8 +217,6 @@ javascriptcore_sources += \
Source/JavaScriptCore/dfg/DFGPhase.h \
Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp \
Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.h \
- Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.cpp \
- Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.h \
Source/JavaScriptCore/dfg/DFGRegisterBank.h \
Source/JavaScriptCore/dfg/DFGRegisterSet.h \
Source/JavaScriptCore/dfg/DFGRepatch.cpp \
@@ -406,6 +404,8 @@ javascriptcore_sources += \
Source/JavaScriptCore/jit/ThunkGenerators.cpp \
Source/JavaScriptCore/jit/ThunkGenerators.h \
Source/JavaScriptCore/llint/LLIntCommon.h \
+ Source/JavaScriptCore/llint/LLIntCLoop.cpp \
+ Source/JavaScriptCore/llint/LLIntCLoop.h \
Source/JavaScriptCore/llint/LLIntData.cpp \
Source/JavaScriptCore/llint/LLIntData.h \
Source/JavaScriptCore/llint/LLIntEntrypoints.cpp \
@@ -413,6 +413,7 @@ javascriptcore_sources += \
Source/JavaScriptCore/llint/LLIntExceptions.cpp \
Source/JavaScriptCore/llint/LLIntExceptions.h \
Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h \
+ Source/JavaScriptCore/llint/LLIntOpcode.h \
Source/JavaScriptCore/llint/LLIntSlowPaths.cpp \
Source/JavaScriptCore/llint/LLIntSlowPaths.h \
Source/JavaScriptCore/llint/LLIntThunks.cpp \
@@ -549,8 +550,11 @@ javascriptcore_sources += \
Source/JavaScriptCore/runtime/JSPropertyNameIterator.h \
Source/JavaScriptCore/runtime/JSSegmentedVariableObject.cpp \
Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h \
- Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp \
- Source/JavaScriptCore/runtime/JSStaticScopeObject.h \
+ Source/JavaScriptCore/runtime/JSWithScope.cpp \
+ Source/JavaScriptCore/runtime/JSNameScope.cpp \
+ Source/JavaScriptCore/runtime/JSNameScope.h \
+ Source/JavaScriptCore/runtime/JSScope.cpp \
+ Source/JavaScriptCore/runtime/JSScope.h \
Source/JavaScriptCore/runtime/JSStringBuilder.h \
Source/JavaScriptCore/runtime/JSStringJoiner.cpp \
Source/JavaScriptCore/runtime/JSStringJoiner.h \
@@ -565,6 +569,7 @@ javascriptcore_sources += \
Source/JavaScriptCore/runtime/JSValueInlineMethods.h \
Source/JavaScriptCore/runtime/JSVariableObject.cpp \
Source/JavaScriptCore/runtime/JSVariableObject.h \
+ Source/JavaScriptCore/runtime/JSWithScope.h \
Source/JavaScriptCore/runtime/JSWrapperObject.cpp \
Source/JavaScriptCore/runtime/JSWrapperObject.h \
Source/JavaScriptCore/runtime/LiteralParser.cpp \
@@ -629,9 +634,6 @@ javascriptcore_sources += \
Source/JavaScriptCore/runtime/RegExpPrototype.h \
Source/JavaScriptCore/runtime/SamplingCounter.cpp \
Source/JavaScriptCore/runtime/SamplingCounter.h \
- Source/JavaScriptCore/runtime/ScopeChain.cpp \
- Source/JavaScriptCore/runtime/ScopeChain.h \
- Source/JavaScriptCore/runtime/ScopeChainMark.h \
Source/JavaScriptCore/runtime/SmallStrings.cpp \
Source/JavaScriptCore/runtime/SmallStrings.h \
Source/JavaScriptCore/runtime/StorageBarrier.h \
@@ -657,10 +659,6 @@ javascriptcore_sources += \
Source/JavaScriptCore/runtime/TimeoutChecker.h \
Source/JavaScriptCore/runtime/Tracing.h \
Source/JavaScriptCore/runtime/Uint16WithFraction.h \
- Source/JavaScriptCore/runtime/UString.cpp \
- Source/JavaScriptCore/runtime/UString.h \
- Source/JavaScriptCore/runtime/UStringBuilder.h \
- Source/JavaScriptCore/runtime/UStringConcatenate.h \
Source/JavaScriptCore/runtime/WeakGCMap.h \
Source/JavaScriptCore/runtime/WeakRandom.h \
Source/JavaScriptCore/runtime/WriteBarrier.h \
@@ -699,6 +697,7 @@ offlineasm_nosources += \
Source/JavaScriptCore/offlineasm/asm.rb \
Source/JavaScriptCore/offlineasm/ast.rb \
Source/JavaScriptCore/offlineasm/backends.rb \
+ Source/JavaScriptCore/offlineasm/cloop.rb \
Source/JavaScriptCore/offlineasm/config.rb \
Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb \
Source/JavaScriptCore/offlineasm/instructions.rb \
diff --git a/Source/JavaScriptCore/JavaScriptCore.gyp/.gitignore b/Source/JavaScriptCore/JavaScriptCore.gyp/.gitignore
deleted file mode 100644
index f6c1348f3..000000000
--- a/Source/JavaScriptCore/JavaScriptCore.gyp/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.Makefile
-*.mk
-*.sln
-*.vcproj*
-*.vcxproj*
-JavaScriptCore.xcodeproj
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln
index 84d5e16a6..787abc182 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore.sln
@@ -1,143 +1,143 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
- ProjectSection(ProjectDependencies) = postProject
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
- ProjectSection(ProjectDependencies) = postProject
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\WTF\WTF.vcproj\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- ProjectSection(ProjectDependencies) = postProject
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
- ProjectSection(ProjectDependencies) = postProject
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "testRegExp\testRegExp.vcproj", "{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
- ProjectSection(ProjectDependencies) = postProject
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\WTF\WTF.vcproj\WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release_PGO_Optimize|Win32 = Release_PGO_Optimize|Win32
- Release_PGO|Win32 = Release_PGO|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.ActiveCfg = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO_Optimize|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO_Optimize|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.ActiveCfg = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.ActiveCfg = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO_Optimize|Win32.ActiveCfg = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO_Optimize|Win32.Build.0 = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO|Win32.ActiveCfg = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO|Win32.Build.0 = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.ActiveCfg = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.ActiveCfg = Debug|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.Build.0 = Debug|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.ActiveCfg = Production|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.Build.0 = Production|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.ActiveCfg = Release|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.Build.0 = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO_Optimize|Win32.ActiveCfg = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO_Optimize|Win32.Build.0 = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO|Win32.ActiveCfg = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO|Win32.Build.0 = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\WTF\WTF.vcproj\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "testRegExp\testRegExp.vcproj", "{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\WTF\WTF.vcproj\WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
+ Release_PGO_Optimize|Win32 = Release_PGO_Optimize|Win32
+ Release_PGO|Win32 = Release_PGO|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.ActiveCfg = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO_Optimize|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO_Optimize|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.ActiveCfg = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.ActiveCfg = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO_Optimize|Win32.ActiveCfg = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO_Optimize|Win32.Build.0 = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO|Win32.ActiveCfg = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_PGO|Win32.Build.0 = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.ActiveCfg = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.Build.0 = Debug|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.ActiveCfg = Production|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.Build.0 = Production|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.ActiveCfg = Release|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.Build.0 = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO_Optimize|Win32.ActiveCfg = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO_Optimize|Win32.Build.0 = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO|Win32.ActiveCfg = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_PGO|Win32.Build.0 = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
index e3453201b..aa7ec78df 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def
@@ -24,12 +24,8 @@ EXPORTS
??0StringObject@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@@Z
??0Structure@JSC@@AAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@VJSValue@1@ABVTypeInfo@1@PBUClassInfo@1@@Z
??0ThreadCondition@WTF@@QAE@XZ
- ??0UString@JSC@@QAE@PBD@Z
- ??0UString@JSC@@QAE@PBDI@Z
- ??0UString@JSC@@QAE@PB_W@Z
- ??0UString@JSC@@QAE@PB_WI@Z
??0WTFThreadData@WTF@@QAE@XZ
- ??0YarrPattern@Yarr@JSC@@QAE@ABVUString@2@_N1PAPBD@Z
+ ??0YarrPattern@Yarr@JSC@@QAE@ABVString@WTF@@_N1PAPBD@Z
??1ArrayBufferView@WTF@@UAE@XZ
??1ClientData@JSGlobalData@JSC@@UAE@XZ
??1Collator@WTF@@QAE@XZ
@@ -44,7 +40,6 @@ EXPORTS
??1ThreadCondition@WTF@@QAE@XZ
??1WTFThreadData@WTF@@QAE@XZ
??1WeakHandleOwner@JSC@@UAE@XZ
- ??8JSC@@YA_NABVUString@0@0@Z
??8WTF@@YA_NABVCString@0@0@Z
?EcmaScriptConverter@DoubleToStringConverter@double_conversion@WTF@@SAABV123@XZ
?StringToDouble@StringToDoubleConverter@double_conversion@WTF@@SANPBDIPAI@Z
@@ -71,7 +66,12 @@ EXPORTS
?allocateSlowCase@MarkedAllocator@JSC@@AAEPAXXZ
?append@StringBuilder@WTF@@QAEXPBEI@Z
?append@StringBuilder@WTF@@QAEXPB_WI@Z
- ?ascii@UString@JSC@@QBE?AVCString@WTF@@XZ
+ ?appendNumber@StringBuilder@WTF@@QAEXH@Z
+ ?appendNumber@StringBuilder@WTF@@QAEXI@Z
+ ?appendNumber@StringBuilder@WTF@@QAEXJ@Z
+ ?appendNumber@StringBuilder@WTF@@QAEXK@Z
+ ?appendNumber@StringBuilder@WTF@@QAEX_J@Z
+ ?appendNumber@StringBuilder@WTF@@QAEX_K@Z
?attach@Debugger@JSC@@QAEXPAVJSGlobalObject@2@@Z
?base64Decode@WTF@@YA_NABVString@1@AAV?$Vector@D$0A@@1@W4Base64DecodePolicy@1@@Z
?base64Encode@WTF@@YA?AVString@1@PBDIW4Base64EncodePolicy@1@@Z
@@ -84,7 +84,7 @@ EXPORTS
?calculateDSTOffset@WTF@@YANNN@Z
?calculateStringHashAndLengthFromUTF8MaskingTop8Bits@Unicode@WTF@@YAIPBD0AAI1@Z
?calculateUTCOffset@WTF@@YAHXZ
- ?calculatedFunctionName@DebuggerCallFrame@JSC@@QBE?AVUString@2@XZ
+ ?calculatedFunctionName@DebuggerCallFrame@JSC@@QBE?AVString@WTF@@XZ
?call@JSC@@YA?AVJSValue@1@PAVExecState@1@V21@W4CallType@1@ABTCallData@1@1ABVArgList@1@@Z
?callHostFunctionAsConstructor@JSC@@YI_JPAVExecState@1@@Z
?callOnMainThread@WTF@@YAXP6AXPAX@Z0@Z
@@ -97,7 +97,7 @@ EXPORTS
?checkCurrentIdentifierTable@Identifier@JSC@@CAXPAVJSGlobalData@2@@Z
?checkSyntax@JSC@@YA_NPAVExecState@1@ABVSourceCode@1@PAVJSValue@1@@Z
?checksum@MD5@WTF@@QAEXAAV?$Vector@E$0BA@@2@@Z
- ?className@JSObject@JSC@@SA?AVUString@2@PBV12@@Z
+ ?className@JSObject@JSC@@SA?AVString@WTF@@PBV12@@Z
?clear@SourceProviderCache@JSC@@QAEXXZ
?clearRareData@JSGlobalObject@JSC@@CAXPAVJSCell@2@@Z
?collate@Collator@WTF@@QBE?AW4Result@12@PB_WI0I@Z
@@ -107,31 +107,30 @@ EXPORTS
?construct@JSC@@YAPAVJSObject@1@PAVExecState@1@VJSValue@1@W4ConstructType@1@ABTConstructData@1@ABVArgList@1@@Z
?constructArray@JSC@@YAPAVJSArray@1@PAVExecState@1@ABVArgList@1@@Z
?constructEmptyObject@JSC@@YAPAVJSObject@1@PAVExecState@1@@Z
- ?constructFunctionSkippingEvalEnabledCheck@JSC@@YAPAVJSObject@1@PAVExecState@1@PAVJSGlobalObject@1@ABVArgList@1@ABVIdentifier@1@ABVUString@1@ABVTextPosition@WTF@@@Z
+ ?constructFunctionSkippingEvalEnabledCheck@JSC@@YAPAVJSObject@1@PAVExecState@1@PAVJSGlobalObject@1@ABVArgList@1@ABVIdentifier@1@ABVString@WTF@@ABVTextPosition@8@@Z
?constructNumber@JSC@@YAPAVNumberObject@1@PAVExecState@1@PAVJSGlobalObject@1@VJSValue@1@@Z
?constructString@JSC@@YAPAVStringObject@1@PAVExecState@1@PAVJSGlobalObject@1@VJSValue@1@@Z
?convertLatin1ToUTF8@Unicode@WTF@@YA?AW4ConversionResult@12@PAPBEPBEPAPADPAD@Z
?convertUTF16ToUTF8@Unicode@WTF@@YA?AW4ConversionResult@12@PAPB_WPB_WPAPADPAD_N@Z
?convertUTF8ToUTF16@Unicode@WTF@@YA?AW4ConversionResult@12@PAPBDPBDPAPA_WPA_W_N@Z
- ?create@JSFunction@JSC@@SAPAV12@PAVExecState@2@PAVJSGlobalObject@2@HABVUString@2@P6I_J0@ZW4Intrinsic@2@3@Z
+ ?create@JSFunction@JSC@@SAPAV12@PAVExecState@2@PAVJSGlobalObject@2@HABVString@WTF@@P6I_J0@ZW4Intrinsic@2@3@Z
?create@JSGlobalData@JSC@@SA?AV?$PassRefPtr@VJSGlobalData@JSC@@@WTF@@W4ThreadStackType@2@W4HeapType@2@@Z
- ?create@OpaqueJSString@@SA?AV?$PassRefPtr@UOpaqueJSString@@@WTF@@ABVUString@JSC@@@Z
- ?create@RegExp@JSC@@SAPAV12@AAVJSGlobalData@2@ABVUString@2@W4RegExpFlags@2@@Z
+ ?create@RegExp@JSC@@SAPAV12@AAVJSGlobalData@2@ABVString@WTF@@W4RegExpFlags@2@@Z
?createEmptyString@SmallStrings@JSC@@AAEXPAVJSGlobalData@2@@Z
- ?createError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z
+ ?createError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVString@WTF@@@Z
?createInterruptedExecutionException@JSC@@YAPAVJSObject@1@PAVJSGlobalData@1@@Z
?createLeaked@JSGlobalData@JSC@@SA?AV?$PassRefPtr@VJSGlobalData@JSC@@@WTF@@W4ThreadStackType@2@W4HeapType@2@@Z
?createNotEnoughArgumentsError@JSC@@YAPAVJSObject@1@PAVExecState@1@@Z
- ?createRangeError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z
- ?createReferenceError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z
+ ?createRangeError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVString@WTF@@@Z
+ ?createReferenceError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVString@WTF@@@Z
?createSingleCharacterString@SmallStrings@JSC@@AAEXPAVJSGlobalData@2@E@Z
?createStackOverflowError@JSC@@YAPAVJSObject@1@PAVExecState@1@@Z
- ?createSyntaxError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z
+ ?createSyntaxError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVString@WTF@@@Z
?createTable@HashTable@JSC@@ABEXPAVJSGlobalData@2@@Z
?createThread@WTF@@YAIP6APAXPAX@Z0@Z
?createThread@WTF@@YAIP6APAXPAX@Z0PBD@Z
?createThread@WTF@@YAIP6AXPAX@Z0PBD@Z
- ?createTypeError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z
+ ?createTypeError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVString@WTF@@@Z
?cryptographicallyRandomNumber@WTF@@YAIXZ
?cryptographicallyRandomValues@WTF@@YAXPAXI@Z
?currentThread@WTF@@YAIXZ
@@ -164,7 +163,7 @@ EXPORTS
?detachThread@WTF@@YAXI@Z
?didTimeOut@TimeoutChecker@JSC@@QAE_NPAVExecState@2@@Z
?deleteAllCompiledCode@Heap@JSC@@QAEXXZ
- ?displayName@JSFunction@JSC@@QAE?BVUString@2@PAVExecState@2@@Z
+ ?displayName@JSFunction@JSC@@QAE?BVString@WTF@@PAVExecState@2@@Z
?dtoa@WTF@@YAXQADNAA_NAAHAAI@Z
?dumpAllOptions@Options@JSC@@SAXPAU_iobuf@@@Z
?dumpCallFrame@Interpreter@JSC@@QAEXPAVExecState@2@@Z
@@ -172,8 +171,8 @@ EXPORTS
?empty@StringImpl@WTF@@SAPAV12@XZ
?enumerable@PropertyDescriptor@JSC@@QBE_NXZ
?equalUTF16WithUTF8@Unicode@WTF@@YA_NPB_W0PBD1@Z
- ?evaluate@DebuggerCallFrame@JSC@@QBE?AVJSValue@2@ABVUString@2@AAV32@@Z
- ?evaluate@JSC@@YA?AVJSValue@1@PAVExecState@1@PAVScopeChainNode@1@ABVSourceCode@1@V21@PAV21@@Z
+ ?evaluate@DebuggerCallFrame@JSC@@QBE?AVJSValue@2@ABVString@WTF@@AAV32@@Z
+ ?evaluate@JSC@@YA?AVJSValue@1@PAVExecState@1@ABVSourceCode@1@V21@PAV21@@Z
?exclude@Profile@JSC@@QAEXPBVProfileNode@2@@Z
?execute@ParallelEnvironment@WTF@@QAEXPAX@Z
?expand@MarkStackArray@JSC@@AAEXXZ
@@ -191,7 +190,7 @@ EXPORTS
?findAllocator@WeakSet@JSC@@AAEPAUFreeCell@WeakBlock@2@XZ
?finishCreation@BooleanObject@JSC@@IAEXAAVJSGlobalData@2@@Z
?finishCreation@DateInstance@JSC@@IAEXAAVJSGlobalData@2@N@Z
- ?finishCreation@InternalFunction@JSC@@IAEXAAVJSGlobalData@2@ABVUString@2@@Z
+ ?finishCreation@InternalFunction@JSC@@IAEXAAVJSGlobalData@2@ABVString@WTF@@@Z
?finishCreation@JSArray@JSC@@IAEXAAVJSGlobalData@2@I@Z
?finishCreation@RegExpObject@JSC@@IAEXPAVJSGlobalObject@2@@Z
?finishCreation@StringObject@JSC@@IAEXAAVJSGlobalData@2@PAVJSString@2@@Z
@@ -200,8 +199,7 @@ EXPORTS
?from@Identifier@JSC@@SA?AV12@PAVExecState@2@H@Z
?from@Identifier@JSC@@SA?AV12@PAVExecState@2@I@Z
?functionGetter@PropertySlot@JSC@@ABE?AVJSValue@2@PAVExecState@2@@Z
- ?functionName@DebuggerCallFrame@JSC@@QBEPBVUString@2@XZ
- ?getCalculatedDisplayName@JSC@@YA?AVUString@1@PAVExecState@1@PAVJSObject@1@@Z
+ ?getCalculatedDisplayName@JSC@@YA?AVString@WTF@@PAVExecState@1@PAVJSObject@1@@Z
?getCallData@JSCell@JSC@@SA?AW4CallType@2@PAV12@AATCallData@2@@Z
?getCallableObjectSlow@JSC@@YAPAVJSCell@1@PAV21@@Z
?getConstructData@JSCell@JSC@@SA?AW4ConstructType@2@PAV12@AATConstructData@2@@Z
@@ -216,8 +214,8 @@ EXPORTS
?getPropertyNames@JSObject@JSC@@SAXPAV12@PAVExecState@2@AAVPropertyNameArray@2@W4EnumerationMode@2@@Z
?getSlice@ArgList@JSC@@QBEXHAAV12@@Z
?getStackTrace@Interpreter@JSC@@SAXPAVJSGlobalData@2@AAV?$Vector@UStackFrame@JSC@@$0A@@WTF@@@Z
- ?getString@JSCell@JSC@@QBE?AVUString@2@PAVExecState@2@@Z
- ?getString@JSCell@JSC@@QBE_NPAVExecState@2@AAVUString@2@@Z
+ ?getString@JSCell@JSC@@QBE?AVString@WTF@@PAVExecState@2@@Z
+ ?getString@JSCell@JSC@@QBE_NPAVExecState@2@AAVString@WTF@@@Z
?get@Structure@JSC@@QAEHAAVJSGlobalData@2@VPropertyName@2@AAIAAPAVJSCell@2@@Z
?getter@PropertyDescriptor@JSC@@QBE?AVJSValue@2@XZ
?globalExec@JSGlobalObject@JSC@@QAEPAVExecState@2@XZ
@@ -236,7 +234,7 @@ EXPORTS
?initializeMainThread@WTF@@YAXXZ
?initializeThreading@JSC@@YAXXZ
?initializeThreading@WTF@@YAXXZ
- ?interpret@Yarr@JSC@@YAIPAUBytecodePattern@12@ABVUString@2@IPAI@Z
+ ?interpret@Yarr@JSC@@YAIPAUBytecodePattern@12@ABVString@WTF@@IPAI@Z
?isAccessorDescriptor@PropertyDescriptor@JSC@@QBE_NXZ
?isBusy@Heap@JSC@@QAE_NXZ
?isDataDescriptor@PropertyDescriptor@JSC@@QBE_NXZ
@@ -246,31 +244,25 @@ EXPORTS
?isTerminatedExecutionException@JSC@@YA_NVJSValue@1@@Z
?isValidAllocation@Heap@JSC@@AAE_NI@Z
?isValidCallee@JSValue@JSC@@QAE_NXZ
- ?jsOwnedString@JSC@@YAPAVJSString@1@PAVJSGlobalData@1@ABVUString@1@@Z
- ?jsString@JSC@@YAPAVJSString@1@PAVJSGlobalData@1@ABVUString@1@@Z
?length@CString@WTF@@QBEIXZ
?lock@JSLock@JSC@@QAEXXZ
?lock@Mutex@WTF@@QAEXXZ
?lockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
- ?match@RegExp@JSC@@QAEHAAVJSGlobalData@2@ABVUString@2@IAAV?$Vector@H$0CA@@WTF@@@Z
+ ?match@RegExp@JSC@@QAEHAAVJSGlobalData@2@ABVString@WTF@@IAAV?$Vector@H$0CA@@5@@Z
?materializePropertyMap@Structure@JSC@@AAEXAAVJSGlobalData@2@@Z
?monotonicallyIncreasingTime@WTF@@YANXZ
?monthFromDayInYear@WTF@@YAHH_N@Z
?msToYear@WTF@@YAHN@Z
- ?name@InternalFunction@JSC@@QAEABVUString@2@PAVExecState@2@@Z
- ?name@JSFunction@JSC@@QAEABVUString@2@PAVExecState@2@@Z
+ ?name@JSFunction@JSC@@QAEABVString@WTF@@PAVExecState@2@@Z
?neuter@ArrayBufferView@WTF@@MAEXXZ
?newUninitialized@CString@WTF@@SA?AV12@IAAPAD@Z
?notifyWriteSlow@SymbolTableEntry@JSC@@AAEXXZ
?notifyWriteSlow@WatchpointSet@JSC@@QAEXXZ
?nullptr@@3Vnullptr_t@std@@A
- ?number@String@WTF@@SA?AV12@NII@Z
- ?number@UString@JSC@@SA?AV12@H@Z
- ?number@UString@JSC@@SA?AV12@I@Z
- ?number@UString@JSC@@SA?AV12@N@Z
?numberToFixedPrecisionString@WTF@@YAPBDNIQAD_N@Z
?numberToFixedWidthString@WTF@@YAPBDNIQAD@Z
?numberToString@WTF@@YAPBDNQAD@Z
+ ?objectAtScope@JSScope@JSC@@SAPAVJSObject@2@PAV12@@Z
?objectCount@Heap@JSC@@QAEIXZ
?objectProtoFuncToString@JSC@@YI_JPAVExecState@1@@Z
?objectTypeCounts@Heap@JSC@@QAE?AV?$PassOwnPtr@V?$HashCountedSet@PBDU?$PtrHash@PBD@WTF@@U?$HashTraits@PBD@2@@WTF@@@WTF@@XZ
@@ -284,12 +276,12 @@ EXPORTS
?put@JSGlobalObject@JSC@@SAXPAVJSCell@2@PAVExecState@2@VPropertyName@2@VJSValue@2@AAVPutPropertySlot@2@@Z
?put@JSObject@JSC@@SAXPAVJSCell@2@PAVExecState@2@VPropertyName@2@VJSValue@2@AAVPutPropertySlot@2@@Z
?putByIndex@JSObject@JSC@@SAXPAVJSCell@2@PAVExecState@2@IVJSValue@2@_N@Z
- ?putDirectIndexBeyondVectorLength@JSArray@JSC@@AAE_NPAVExecState@2@IVJSValue@2@_N@Z
+ ?putDirectIndexBeyondVectorLength@JSArray@JSC@@AAE_NPAVExecState@2@IVJSValue@2@W4PutDirectIndexMode@2@@Z
?putDirectVirtual@JSGlobalObject@JSC@@SAXPAVJSObject@2@PAVExecState@2@VPropertyName@2@VJSValue@2@I@Z
?putDirectVirtual@JSObject@JSC@@SAXPAV12@PAVExecState@2@VPropertyName@2@VJSValue@2@I@Z
?randomNumber@WTF@@YANXZ
?recompileAllJSFunctions@Debugger@JSC@@QAEXPAVJSGlobalData@2@@Z
- ?regExpFlags@JSC@@YA?AW4RegExpFlags@1@ABVUString@1@@Z
+ ?regExpFlags@JSC@@YA?AW4RegExpFlags@1@ABVString@WTF@@@Z
?reifyString@StringBuilder@WTF@@ABEXXZ
?releaseDecommitted@OSAllocator@WTF@@SAXPAXI@Z
?releaseExecutableMemory@JSGlobalData@JSC@@QAEXXZ
@@ -306,7 +298,7 @@ EXPORTS
?resolveRope@JSRopeString@JSC@@ABEXPAVExecState@2@@Z
?restoreAll@Profile@JSC@@QAEXXZ
?retrieveCallerFromVMCode@Interpreter@JSC@@QBE?AVJSValue@2@PAVExecState@2@PAVJSFunction@2@@Z
- ?retrieveLastCaller@Interpreter@JSC@@QBEXPAVExecState@2@AAH1AAVUString@2@AAVJSValue@2@@Z
+ ?retrieveLastCaller@Interpreter@JSC@@QBEXPAVExecState@2@AAH1AAVString@WTF@@AAVJSValue@2@@Z
?setConfigurable@PropertyDescriptor@JSC@@QAEX_N@Z
?setDescriptor@PropertyDescriptor@JSC@@QAEXVJSValue@2@I@Z
?setDumpsGeneratedCode@BytecodeGenerator@JSC@@SAX_N@Z
@@ -333,11 +325,10 @@ EXPORTS
?slowValidateCell@JSC@@YAXPAVJSCell@1@@Z
?slowValidateCell@JSC@@YAXPAVJSGlobalObject@1@@Z
?sourceCode@JSFunction@JSC@@QBEPBVSourceCode@2@XZ
- ?startProfiling@Profiler@JSC@@QAEXPAVExecState@2@ABVUString@2@@Z
+ ?startProfiling@Profiler@JSC@@QAEXPAVExecState@2@ABVString@WTF@@@Z
?startSampling@JSGlobalData@JSC@@QAEXXZ
- ?stopProfiling@Profiler@JSC@@QAE?AV?$PassRefPtr@VProfile@JSC@@@WTF@@PAVExecState@2@ABVUString@2@@Z
+ ?stopProfiling@Profiler@JSC@@QAE?AV?$PassRefPtr@VProfile@JSC@@@WTF@@PAVExecState@2@ABVString@4@@Z
?stopSampling@JSGlobalData@JSC@@QAEXXZ
- ?substringSharingImpl@UString@JSC@@QBE?AV12@II@Z
?suggestedNewOutOfLineStorageCapacity@Structure@JSC@@QAEIXZ
?sweeper@Heap@JSC@@QAEPAVIncrementalSweeper@2@XZ
?synthesizePrototype@JSValue@JSC@@QBEPAVJSObject@2@PAVExecState@2@@Z
@@ -346,7 +337,7 @@ EXPORTS
?throwError@JSC@@YAPAVJSObject@1@PAVExecState@1@PAV21@@Z
?throwSyntaxError@JSC@@YAPAVJSObject@1@PAVExecState@1@@Z
?throwTypeError@JSC@@YAPAVJSObject@1@PAVExecState@1@@Z
- ?throwTypeError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVUString@1@@Z
+ ?throwTypeError@JSC@@YAPAVJSObject@1@PAVExecState@1@ABVString@WTF@@@Z
?timedWait@ThreadCondition@WTF@@QAE_NAAVMutex@2@N@Z
?tlsKeyCount@WTF@@YAAAJXZ
?tlsKeys@WTF@@YAPAKXZ
@@ -362,6 +353,7 @@ EXPORTS
?toStringSlowCase@JSValue@JSC@@ABEPAVJSString@2@PAVExecState@2@@Z
?toThisObject@JSObject@JSC@@SAPAV12@PAVJSCell@2@PAVExecState@2@@Z
?toThisObjectSlowCase@JSValue@JSC@@ABEPAVJSObject@2@PAVExecState@2@@Z
+ ?toWTFStringSlowCase@JSValue@JSC@@ABE?AVString@WTF@@PAVExecState@2@@Z
?transfer@ArrayBuffer@WTF@@QAE_NAAVArrayBufferContents@2@AAV?$Vector@V?$RefPtr@VArrayBufferView@WTF@@@WTF@@$0A@@2@@Z
?tryFastCalloc@WTF@@YA?AUTryMallocReturnValue@1@II@Z
?tryFastMalloc@WTF@@YA?AUTryMallocReturnValue@1@I@Z
@@ -373,7 +365,6 @@ EXPORTS
?unlock@Mutex@WTF@@QAEXXZ
?unlockAtomicallyInitializedStaticMutex@WTF@@YAXXZ
?unprotect@Heap@JSC@@QAE_NVJSValue@2@@Z
- ?utf8@UString@JSC@@QBE?AVCString@WTF@@_N@Z
?validate@MarkStack@JSC@@KAXPAVJSCell@2@@Z
?visitChildren@JSGlobalObject@JSC@@SAXPAVJSCell@2@AAVSlotVisitor@2@@Z
?visitChildren@JSGlobalThis@JSC@@KAXPAVJSCell@2@AAVSlotVisitor@2@@Z
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
index 78c44feb5..a7f7cf9af 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj
@@ -1,2448 +1,2432 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCore"
- ProjectGUID="{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
- RootNamespace="JavaScriptCore"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_PGO|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreReleasePGO.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_PGO_Optimize|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\JavaScriptCoreReleasePGOOptimize.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="4"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="runtime"
- >
- <File
- RelativePath="..\..\runtime\ArgList.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ArgList.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Arguments.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Arguments.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ArrayConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ArrayConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ArrayPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ArrayPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BatchedTransitionOptimizer.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BooleanConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BooleanConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BooleanObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BooleanObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BooleanPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\BooleanPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\CallData.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\CallData.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ClassInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\CommonIdentifiers.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\CommonIdentifiers.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\CommonSlowPaths.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Completion.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Completion.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ConstructData.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ConstructData.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateConversion.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateConversion.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateInstance.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateInstance.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DateInstanceCache.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DatePrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\DatePrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Error.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Error.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ErrorConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ErrorConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ErrorInstance.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ErrorInstance.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ErrorPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ErrorPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ExceptionHelpers.cpp"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\ExceptionHelpers.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Executable.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Executable.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\FunctionConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\FunctionConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\FunctionPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\FunctionPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\GCActivityCallback.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\GCActivityCallback.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\GetterSetter.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\GetterSetter.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Identifier.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Identifier.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\InitializeThreading.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\InitializeThreading.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\InternalFunction.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\InternalFunction.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSActivation.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSActivation.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSArray.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSArray.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSBoundFunction.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSBoundFunction.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSCell.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSCell.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSDateMath.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSDateMath.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSFunction.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSFunction.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalData.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalData.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalObjectFunctions.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalObjectFunctions.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalThis.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSGlobalThis.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSLock.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSLock.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSNotAnObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSNotAnObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSONObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSONObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSPropertyNameIterator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSPropertyNameIterator.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSSegmentedVariableObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSSegmentedVariableObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSStaticScopeObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSStaticScopeObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSString.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSString.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSStringJoiner.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSStringJoiner.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSSymbolTableObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSSymbolTableObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSType.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSTypeInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSValue.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSValue.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSValueInlineMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSVariableObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSVariableObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSWrapperObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSWrapperObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\LiteralParser.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\LiteralParser.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Lookup.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Lookup.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\MathObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\MathObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NameConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NameConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NameInstance.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NameInstance.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NamePrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NamePrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NativeErrorConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NativeErrorConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NativeErrorPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NativeErrorPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumberConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumberConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumberObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumberObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumberPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumberPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\NumericStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ObjectConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ObjectConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ObjectPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ObjectPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Operations.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Operations.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Options.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Options.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertyDescriptor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertyDescriptor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertyMapHashTable.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertyNameArray.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertyNameArray.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertyOffset.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertySlot.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\PropertySlot.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Protect.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExp.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExp.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpCache.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpCache.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpCachedResult.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpCachedResult.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpKey.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpMatchesArray.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpMatchesArray.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\RegExpPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\SamplingCounter.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\SamplingCounter.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ScopeChain.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ScopeChain.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\ScopeChainMark.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\SmallStrings.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\SmallStrings.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StrictEvalActivation.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StrictEvalActivation.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringObject.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringPrototype.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringPrototype.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringRecursionChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StringRecursionChecker.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Structure.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Structure.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StructureChain.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StructureChain.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\StructureTransitionTable.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\SymbolTable.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\SymbolTable.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\Terminator.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\TimeoutChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\TimeoutChecker.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\UString.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\UString.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\UStringBuilder.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\UStringConcatenate.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\UStringImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\WeakGCMap.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\WeakRandom.h"
- >
- </File>
- </Filter>
- <Filter
- Name="API"
- >
- <File
- RelativePath="..\..\API\APICast.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JavaScript.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JavaScriptCore.h"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSAPIValueWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\..\runtime\JSAPIValueWrapper.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSBase.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSBase.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSBasePrivate.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackConstructor.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackConstructor.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackFunction.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackFunction.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackObject.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackObject.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSCallbackObjectFunctions.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSClassRef.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSClassRef.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSContextRef.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSContextRef.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSContextRefPrivate.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSObjectRef.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSObjectRef.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSRetainPtr.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSStringRef.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSStringRef.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSStringRefBSTR.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSStringRefBSTR.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSStringRefCF.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSStringRefCF.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSValueRef.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSValueRef.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSWeakObjectMapRefInternal.h"
- >
- </File>
- <File
- RelativePath="..\..\API\JSWeakObjectMapRefPrivate.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\JSWeakObjectMapRefPrivate.h"
- >
- </File>
- <File
- RelativePath="..\..\API\OpaqueJSString.cpp"
- >
- </File>
- <File
- RelativePath="..\..\API\OpaqueJSString.h"
- >
- </File>
- <File
- RelativePath="..\..\API\WebKitAvailability.h"
- >
- </File>
- </Filter>
- <Filter
- Name="profiler"
- >
- <File
- RelativePath="..\..\profiler\CallIdentifier.h"
- >
- </File>
- <File
- RelativePath="..\..\profiler\Profile.cpp"
- >
- </File>
- <File
- RelativePath="..\..\profiler\Profile.h"
- >
- </File>
- <File
- RelativePath="..\..\profiler\ProfileGenerator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\profiler\ProfileGenerator.h"
- >
- </File>
- <File
- RelativePath="..\..\profiler\ProfileNode.cpp"
- >
- </File>
- <File
- RelativePath="..\..\profiler\ProfileNode.h"
- >
- </File>
- <File
- RelativePath="..\..\profiler\Profiler.cpp"
- >
- </File>
- <File
- RelativePath="..\..\profiler\Profiler.h"
- >
- </File>
- </Filter>
- <Filter
- Name="tools"
- >
- <File
- RelativePath="..\..\tools\CodeProfile.cpp"
- >
- </File>
- <File
- RelativePath="..\..\tools\CodeProfile.h"
- >
- </File>
- <File
- RelativePath="..\..\tools\CodeProfiling.cpp"
- >
- </File>
- <File
- RelativePath="..\..\tools\CodeProfiling.h"
- >
- </File>
- <File
- RelativePath="..\..\tools\ProfileTreeNode.h"
- >
- </File>
- <File
- RelativePath="..\..\tools\TieredMMapArray.h"
- >
- </File>
- </Filter>
- <Filter
- Name="bytecode"
- >
- <File
- RelativePath="..\..\bytecode\ArrayProfile.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\ArrayProfile.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CallLinkInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CallLinkInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CallLinkStatus.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CallLinkStatus.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CallReturnOffsetToBytecodeOffset.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CodeBlock.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CodeBlock.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CodeOrigin.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\CodeType.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\Comment.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\EvalCodeCache.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\ExecutionCounter.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\ExpressionRangeInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\GetByIdStatus.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\GetByIdStatus.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\GlobalResolveInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\HandlerInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\Instruction.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\JumpTable.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\JumpTable.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\LazyOperandValueProfile.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\LazyOperandValueProfile.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\LineInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\MethodCallLinkInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\MethodCallLinkInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\MethodCallLinkStatus.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\MethodCallLinkStatus.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\MethodOfGettingAValueProfile.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\MethodOfGettingAValueProfile.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\Opcode.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\Opcode.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\PolymorphicPutByIdList.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\SpeculatedType.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\SpeculatedType.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\PutByIdStatus.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\PutByIdStatus.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\SamplingTool.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\SamplingTool.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\StructureStubClearingWatchpoint.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\StructureStubClearingWatchpoint.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\StructureStubInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\StructureStubInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\ValueProfile.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\Watchpoint.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecode\Watchpoint.h"
- >
- </File>
- </Filter>
- <Filter
- Name="debugger"
- >
- <File
- RelativePath="..\..\debugger\Debugger.cpp"
- >
- </File>
- <File
- RelativePath="..\..\debugger\Debugger.h"
- >
- </File>
- <File
- RelativePath="..\..\debugger\DebuggerActivation.cpp"
- >
- </File>
- <File
- RelativePath="..\..\debugger\DebuggerActivation.h"
- >
- </File>
- <File
- RelativePath="..\..\debugger\DebuggerCallFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\..\debugger\DebuggerCallFrame.h"
- >
- </File>
- </Filter>
- <Filter
- Name="assembler"
- >
- <File
- RelativePath="..\..\assembler\AbstractMacroAssembler.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\AssemblerBuffer.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\CodeLocation.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\LinkBuffer.cpp"
- >
- </File>
- <File
- RelativePath="..\..\assembler\LinkBuffer.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\MacroAssembler.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\MacroAssemblerX86.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\MacroAssemblerX86Common.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\RepatchBuffer.h"
- >
- </File>
- <File
- RelativePath="..\..\assembler\X86Assembler.h"
- >
- </File>
- </Filter>
- <Filter
- Name="dfg"
- >
- <File
- RelativePath="..\..\dfg\DFGDriver.h"
- >
- </File>
- <File
- RelativePath="..\..\dfg\DFGIntrinsic.h"
- >
- </File>
- <File
- RelativePath="..\..\dfg\DFGOSREntry.h"
- >
- </File>
- </Filter>
- <Filter
- Name="yarr"
- >
- <File
- RelativePath="..\..\yarr\Yarr.h"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrCanonicalizeUCS2.cpp"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrCanonicalizeUCS2.h"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrInterpreter.cpp"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrInterpreter.h"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrJIT.cpp"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrJIT.h"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrParser.h"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrPattern.h"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrSyntaxChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\..\yarr\YarrSyntaxChecker.h"
- >
- </File>
- </Filter>
- <Filter
- Name="jit"
- >
- <File
- RelativePath="..\..\jit\ExecutableAllocator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\ExecutableAllocator.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\HostCallReturnValue.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\GCAwareJITStubRoutine.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\GCAwareJITStubRoutine.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JIT.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JIT.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITArithmetic.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITArithmetic32_64.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITCall.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITCall32_64.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITCode.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITExceptions.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITExceptions.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITInlineMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITOpcodes.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITOpcodes32_64.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITPropertyAccess.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITPropertyAccess32_64.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITStubCall.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITStubRoutine.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITStubRoutine.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITStubs.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JITStubs.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JumpReplacementWatchpoint.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\JumpReplacementWatchpoint.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\JSInterfaceJIT.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\SpecializedThunkJIT.h"
- >
- </File>
- <File
- RelativePath="..\..\jit\ThunkGenerators.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jit\ThunkGenerators.h"
- >
- </File>
- </Filter>
- <Filter
- Name="llint"
- >
- <File
- RelativePath="..\..\llint\LLIntData.h"
- >
- </File>
- </Filter>
- <Filter
- Name="disassembler"
- >
- <File
- RelativePath="..\..\disassembler\Disassembler.h"
- >
- </File>
- </Filter>
- <Filter
- Name="interpreter"
- >
- <File
- RelativePath="..\..\interpreter\AbstractPC.cpp"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\AbstractPC.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\CachedCall.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\CallFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\CallFrame.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\CallFrameClosure.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\Interpreter.cpp"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\Interpreter.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\Register.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\RegisterFile.cpp"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\RegisterFile.h"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\VMInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\..\interpreter\VMInspector.h"
- >
- </File>
- </Filter>
- <Filter
- Name="bytecompiler"
- >
- <File
- RelativePath="..\..\bytecompiler\BytecodeGenerator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecompiler\BytecodeGenerator.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecompiler\Label.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecompiler\LabelScope.h"
- >
- </File>
- <File
- RelativePath="..\..\bytecompiler\NodesCodegen.cpp"
- >
- </File>
- <File
- RelativePath="..\..\bytecompiler\RegisterID.h"
- >
- </File>
- </Filter>
- <Filter
- Name="parser"
- >
- <File
- RelativePath="..\..\parser\ASTBuilder.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\Lexer.cpp"
- >
- </File>
- <File
- RelativePath="..\..\parser\Lexer.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\NodeConstructors.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\NodeInfo.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\Nodes.cpp"
- >
- </File>
- <File
- RelativePath="..\..\parser\Nodes.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\Parser.cpp"
- >
- </File>
- <File
- RelativePath="..\..\parser\Parser.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\ParserArena.cpp"
- >
- </File>
- <File
- RelativePath="..\..\parser\ParserArena.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\ResultType.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\SourceCode.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\SourceProvider.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\SourceProviderCache.cpp"
- >
- </File>
- <File
- RelativePath="..\..\parser\SourceProviderCache.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\SourceProviderCacheItem.h"
- >
- </File>
- <File
- RelativePath="..\..\parser\SyntaxChecker.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Derived Sources"
- >
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ArrayPrototype.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DatePrototype.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\lexer.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathObject.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\NamePrototype.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\NumberConstructor.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\RegExpConstructor.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\RegExpObject.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\StringPrototype.lut.h"
- >
- </File>
- </Filter>
- <Filter
- Name="heap"
- >
- <File
- RelativePath="..\..\heap\ConservativeRoots.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\ConservativeRoots.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\CopiedAllocator.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\CopiedBlock.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\CopiedSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\CopiedSpace.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\CopiedSpaceInlineMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\DFGCodeBlocks.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\DFGCodeBlocks.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\GCAssertions.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\Handle.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\HandleSet.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\HandleSet.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\HeapTimer.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\HeapTimer.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\JITStubRoutineSet.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\JITStubRoutineSet.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\IncrementalSweeper.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\IncrementalSweeper.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakBlock.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakBlock.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakSet.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakSet.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakSetInlines.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakImpl.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakHandleOwner.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\WeakHandleOwner.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\HandleStack.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\HandleStack.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\BlockAllocator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\BlockAllocator.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\GCThreadSharedData.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\GCThreadSharedData.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\Heap.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\Heap.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\HeapBlock.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\HeapRootVisitor.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\Local.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\LocalScope.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\MachineStackMarker.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\MachineStackMarker.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkedAllocator.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkedAllocator.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkedBlock.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkedBlock.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkedSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkedSpace.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkStack.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkStack.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\MarkStackInlineMethods.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\Strong.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\StrongInlines.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\VTableSpectrum.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\VTableSpectrum.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\Weak.h"
- >
- </File>
- <File
- RelativePath="..\..\heap\WriteBarrierSupport.cpp"
- >
- </File>
- <File
- RelativePath="..\..\heap\WriteBarrierSupport.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\..\config.h"
- >
- </File>
- <File
- RelativePath=".\JavaScriptCore.def"
- >
- </File>
- <File
- RelativePath=".\JavaScriptCore_debug.def"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCore"
+ ProjectGUID="{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
+ RootNamespace="JavaScriptCore"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_PGO|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreReleasePGO.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_PGO_Optimize|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\JavaScriptCoreReleasePGOOptimize.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="4"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="runtime"
+ >
+ <File
+ RelativePath="..\..\runtime\ArgList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ArgList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Arguments.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Arguments.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ArrayConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ArrayConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ArrayPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ArrayPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BatchedTransitionOptimizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BooleanConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BooleanConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BooleanObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BooleanObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BooleanPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\BooleanPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\CallData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\CallData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ClassInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\CommonIdentifiers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\CommonIdentifiers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\CommonSlowPaths.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Completion.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Completion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ConstructData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ConstructData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateConversion.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateConversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateInstance.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DateInstanceCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DatePrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\DatePrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Error.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Error.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ErrorConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ErrorConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ErrorInstance.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ErrorInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ErrorPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ErrorPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ExceptionHelpers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\ExceptionHelpers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Executable.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Executable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\FunctionConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\FunctionConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\FunctionPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\FunctionPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\GCActivityCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\GCActivityCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\GetterSetter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\GetterSetter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Identifier.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Identifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\InitializeThreading.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\InitializeThreading.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\InternalFunction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\InternalFunction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSActivation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSActivation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSBoundFunction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSBoundFunction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSCell.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSCell.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSDateMath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSDateMath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSFunction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSFunction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalObjectFunctions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalObjectFunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalThis.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSGlobalThis.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSLock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSLock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSNotAnObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSNotAnObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSONObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSONObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSPropertyNameIterator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSPropertyNameIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSSegmentedVariableObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSSegmentedVariableObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSWithScope.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSWithScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSNameScope.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSNameScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSScope.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSStringJoiner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSStringJoiner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSSymbolTableObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSSymbolTableObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSTypeInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSValueInlineMethods.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSVariableObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSVariableObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSWrapperObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSWrapperObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\LiteralParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\LiteralParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Lookup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Lookup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\MathObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\MathObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NameConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NameConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NameInstance.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NameInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NamePrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NamePrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NativeErrorConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NativeErrorConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NativeErrorPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NativeErrorPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumberConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumberConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumberObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumberObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumberPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumberPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\NumericStrings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ObjectConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ObjectConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ObjectPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\ObjectPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Operations.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Operations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Options.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Options.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertyDescriptor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertyDescriptor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertyMapHashTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertyNameArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertyNameArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertyOffset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertySlot.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\PropertySlot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Protect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExp.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpCachedResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpCachedResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpKey.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpMatchesArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpMatchesArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\RegExpPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\SamplingCounter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\SamplingCounter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\SmallStrings.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\SmallStrings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StrictEvalActivation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StrictEvalActivation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringPrototype.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringPrototype.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringRecursionChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StringRecursionChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Structure.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Structure.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StructureChain.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StructureChain.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\StructureTransitionTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\SymbolTable.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\SymbolTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\Terminator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\TimeoutChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\TimeoutChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\WeakGCMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\WeakRandom.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="API"
+ >
+ <File
+ RelativePath="..\..\API\APICast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JavaScript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JavaScriptCore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSAPIValueWrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\runtime\JSAPIValueWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSBasePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackConstructor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackFunction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackFunction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSCallbackObjectFunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSClassRef.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSClassRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSContextRef.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSContextRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSContextRefPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSObjectRef.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSObjectRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSRetainPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSStringRef.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSStringRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSStringRefBSTR.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSStringRefBSTR.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSStringRefCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSStringRefCF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSValueRef.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSValueRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSWeakObjectMapRefInternal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSWeakObjectMapRefPrivate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\JSWeakObjectMapRefPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\OpaqueJSString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\OpaqueJSString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\API\WebKitAvailability.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="profiler"
+ >
+ <File
+ RelativePath="..\..\profiler\CallIdentifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\Profile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\Profile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\ProfileGenerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\ProfileGenerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\ProfileNode.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\ProfileNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\Profiler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\profiler\Profiler.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="tools"
+ >
+ <File
+ RelativePath="..\..\tools\CodeProfile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\tools\CodeProfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\tools\CodeProfiling.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\tools\CodeProfiling.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\tools\ProfileTreeNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\tools\TieredMMapArray.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="bytecode"
+ >
+ <File
+ RelativePath="..\..\bytecode\ArrayProfile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\ArrayProfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CallLinkInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CallLinkInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CallLinkStatus.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CallLinkStatus.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CallReturnOffsetToBytecodeOffset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CodeBlock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CodeBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CodeOrigin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\CodeType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\Comment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\EvalCodeCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\ExecutionCounter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\ExpressionRangeInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\GetByIdStatus.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\GetByIdStatus.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\GlobalResolveInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\HandlerInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\Instruction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\JumpTable.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\JumpTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\LazyOperandValueProfile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\LazyOperandValueProfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\LineInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\MethodCallLinkInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\MethodCallLinkInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\MethodCallLinkStatus.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\MethodCallLinkStatus.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\MethodOfGettingAValueProfile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\MethodOfGettingAValueProfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\Opcode.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\Opcode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\PolymorphicPutByIdList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\SpeculatedType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\SpeculatedType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\PutByIdStatus.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\PutByIdStatus.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\SamplingTool.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\SamplingTool.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\StructureStubClearingWatchpoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\StructureStubClearingWatchpoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\StructureStubInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\StructureStubInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\ValueProfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\Watchpoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecode\Watchpoint.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="debugger"
+ >
+ <File
+ RelativePath="..\..\debugger\Debugger.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\debugger\Debugger.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\debugger\DebuggerActivation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\debugger\DebuggerActivation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\debugger\DebuggerCallFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\debugger\DebuggerCallFrame.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="assembler"
+ >
+ <File
+ RelativePath="..\..\assembler\AbstractMacroAssembler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\AssemblerBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\CodeLocation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\LinkBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\LinkBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\MacroAssembler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\MacroAssemblerX86.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\MacroAssemblerX86Common.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\RepatchBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\assembler\X86Assembler.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="dfg"
+ >
+ <File
+ RelativePath="..\..\dfg\DFGDriver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dfg\DFGIntrinsic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\dfg\DFGOSREntry.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="yarr"
+ >
+ <File
+ RelativePath="..\..\yarr\Yarr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrCanonicalizeUCS2.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrCanonicalizeUCS2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrInterpreter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrInterpreter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrJIT.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrJIT.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrPattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrSyntaxChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\yarr\YarrSyntaxChecker.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="jit"
+ >
+ <File
+ RelativePath="..\..\jit\ExecutableAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\ExecutableAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\HostCallReturnValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\GCAwareJITStubRoutine.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\GCAwareJITStubRoutine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JIT.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JIT.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITArithmetic.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITArithmetic32_64.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITCall.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITCall32_64.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITCode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITExceptions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITExceptions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITInlineMethods.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITOpcodes.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITOpcodes32_64.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITPropertyAccess.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITPropertyAccess32_64.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITStubCall.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITStubRoutine.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITStubRoutine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITStubs.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JITStubs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JumpReplacementWatchpoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JumpReplacementWatchpoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\JSInterfaceJIT.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\SpecializedThunkJIT.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\ThunkGenerators.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jit\ThunkGenerators.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="llint"
+ >
+ <File
+ RelativePath="..\..\llint\LLIntData.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="disassembler"
+ >
+ <File
+ RelativePath="..\..\disassembler\Disassembler.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="interpreter"
+ >
+ <File
+ RelativePath="..\..\interpreter\AbstractPC.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\AbstractPC.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\CachedCall.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\CallFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\CallFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\CallFrameClosure.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\Interpreter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\Interpreter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\Register.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\RegisterFile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\RegisterFile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\VMInspector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\interpreter\VMInspector.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="bytecompiler"
+ >
+ <File
+ RelativePath="..\..\bytecompiler\BytecodeGenerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecompiler\BytecodeGenerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecompiler\Label.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecompiler\LabelScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecompiler\NodesCodegen.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\bytecompiler\RegisterID.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="parser"
+ >
+ <File
+ RelativePath="..\..\parser\ASTBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\Lexer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\Lexer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\NodeConstructors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\NodeInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\Nodes.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\Nodes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\Parser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\Parser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\ParserArena.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\ParserArena.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\ResultType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\SourceCode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\SourceProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\SourceProviderCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\SourceProviderCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\SourceProviderCacheItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\parser\SyntaxChecker.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Derived Sources"
+ >
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ArrayPrototype.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DatePrototype.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\lexer.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathObject.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\NamePrototype.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\NumberConstructor.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\RegExpConstructor.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\RegExpObject.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\StringPrototype.lut.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="heap"
+ >
+ <File
+ RelativePath="..\..\heap\ConservativeRoots.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\ConservativeRoots.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\CopiedAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\CopiedBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\CopiedSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\CopiedSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\CopiedSpaceInlineMethods.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\DFGCodeBlocks.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\DFGCodeBlocks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\GCAssertions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\Handle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HandleSet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HandleSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HeapTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HeapTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\JITStubRoutineSet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\JITStubRoutineSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\IncrementalSweeper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\IncrementalSweeper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakBlock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakSet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakSetInlines.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakHandleOwner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WeakHandleOwner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HandleStack.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HandleStack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\BlockAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\BlockAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\GCThreadSharedData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\GCThreadSharedData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\Heap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\Heap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HeapBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\HeapRootVisitor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\Local.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\LocalScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MachineStackMarker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MachineStackMarker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkedAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkedAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkedBlock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkedBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkedSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkedSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkStack.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkStack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\MarkStackInlineMethods.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\Strong.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\StrongInlines.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\VTableSpectrum.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\VTableSpectrum.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\Weak.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WriteBarrierSupport.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\heap\WriteBarrierSupport.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\..\config.h"
+ >
+ </File>
+ <File
+ RelativePath=".\JavaScriptCore.def"
+ >
+ </File>
+ <File
+ RelativePath=".\JavaScriptCore_debug.def"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops
index 61e10b433..fe884aa43 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCF.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreCF"
- >
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="CoreFoundation$(LibraryConfigSuffix).lib"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreCF"
+ >
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="CoreFoundation$(LibraryConfigSuffix).lib"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops
index 1e7aed7fc..8c9e31f47 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCFLite.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreCFLite"
- >
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="CFLite$(WebKitConfigSuffix).lib"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreCFLite"
+ >
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="CFLite$(WebKitConfigSuffix).lib"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
index 7d2461d11..236dd7b0e 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreCommon"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;../../API/;../../parser/;../../bytecompiler/;../../dfg/;../../disassembler;../../jit/;../../llint/;../../runtime/;../../tools/;../../bytecode/;../../interpreter/;../../wtf/;../../profiler;../../assembler/;../../debugger/;../../heap/;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;"
- PreprocessorDefinitions="STATICALLY_LINKED_WITH_WTF;__STD_C"
- ForcedIncludeFiles="ICUVersion.h"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="gdi32.lib oleaut32.lib winmm.lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib WTF$(WebKitConfigSuffix).lib"
- OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
- AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
- ModuleDefinitionFile="JavaScriptCore.def"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreCommon"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;../../API/;../../parser/;../../bytecompiler/;../../dfg/;../../disassembler;../../jit/;../../llint/;../../runtime/;../../tools/;../../bytecode/;../../interpreter/;../../wtf/;../../profiler;../../assembler/;../../debugger/;../../heap/;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;"
+ PreprocessorDefinitions="STATICALLY_LINKED_WITH_WTF;__STD_C"
+ ForcedIncludeFiles="ICUVersion.h"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="gdi32.lib oleaut32.lib winmm.lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib WTF$(WebKitConfigSuffix).lib"
+ OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
+ AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
+ ModuleDefinitionFile="JavaScriptCore.def"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebug.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebug.vsprops
index 45cca2e41..6de574be5 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebug.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugAll.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugAll.vsprops
index 395f86a5b..90223be1a 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugAll.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugCairoCFLite.vsprops
index bba6bd2b4..4238d1572 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCFLite.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCFLite.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj
index 9ab7648e3..394f2b8aa 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGenerated.vcproj
@@ -1,104 +1,104 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGenerated"
- ProjectGUID="{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
- RootNamespace="JavaScriptCoreGenerated"
- Keyword="MakeFileProj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedDebug.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedDebugAll.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedRelease.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedProduction.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedDebugCairoCFLite.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release_PGO|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\JavaScriptCoreGeneratedReleasePGO.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\build-generated-files.sh"
- >
- </File>
- <File
- RelativePath=".\copy-files.cmd"
- >
- </File>
- <File
- RelativePath="..\..\DerivedSources.make"
- >
- </File>
- <File
- RelativePath=".\JavaScriptCoreGenerated.make"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGenerated"
+ ProjectGUID="{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+ RootNamespace="JavaScriptCoreGenerated"
+ Keyword="MakeFileProj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedDebug.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedDebugAll.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedRelease.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedProduction.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedDebugCairoCFLite.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_PGO|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\JavaScriptCoreGeneratedReleasePGO.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath=".\build-generated-files.sh"
+ >
+ </File>
+ <File
+ RelativePath=".\copy-files.cmd"
+ >
+ </File>
+ <File
+ RelativePath="..\..\DerivedSources.make"
+ >
+ </File>
+ <File
+ RelativePath=".\JavaScriptCoreGenerated.make"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops
index 1b718df2b..eb747a0ca 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedCommon.vsprops
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f JavaScriptCoreGenerated.make"
- ReBuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f JavaScriptCoreGenerated.make clean&#x0D;&#x0A;nmake -f JavaScriptCoreGenerated.make"
- CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f JavaScriptCoreGenerated.make clean"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f JavaScriptCoreGenerated.make"
+ ReBuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f JavaScriptCoreGenerated.make clean&#x0D;&#x0A;nmake -f JavaScriptCoreGenerated.make"
+ CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f JavaScriptCoreGenerated.make clean"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebug.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebug.vsprops
index 1321f5d5a..5bee6ea49 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebug.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugAll.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugAll.vsprops
index 215790925..61e5c297b 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugAll.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugCairoCFLite.vsprops
index 13faa2199..5bd330bd8 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedProduction.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedProduction.vsprops
index 2b92efd2b..6fbc585d6 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedProduction.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedRelease.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedRelease.vsprops
index 6b6436e25..5e9c39950 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedRelease.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops
index e9e2cc96a..d0f5b47e3 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleasePGO.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleasePGO.vsprops
index 1f6207a10..649ec1fb8 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleasePGO.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreGeneratedReleasePGO.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreGeneratedReleasePGO"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreGeneratedReleasePGO"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops
index 48173b03f..647b3ac18 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCorePGOOptimize.vsprops
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCorePGOOptimize"
- >
- <Tool
- Name="VCLinkerTool"
- ImportLibrary="$(WebKitOutputDir)\Release_PGO\lib\$(TargetName).lib"
- />
- <UserMacro
- Name="ConfigurationBuildDir"
- Value="$(WebKitOutputDir)\Release_PGO"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCorePGOOptimize"
+ >
+ <Tool
+ Name="VCLinkerTool"
+ ImportLibrary="$(WebKitOutputDir)\Release_PGO\lib\$(TargetName).lib"
+ />
+ <UserMacro
+ Name="ConfigurationBuildDir"
+ Value="$(WebKitOutputDir)\Release_PGO"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreProduction.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreProduction.vsprops
index 0f66ead58..0822117f5 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreProduction.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreRelease.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreRelease.vsprops
index 2b5495793..614c7a0d9 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreRelease.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseCairoCFLite.vsprops
index 9a00723fe..05f1b77c9 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCFLite.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCFLite.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGO.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGO.vsprops
index 79eca08ea..c17193942 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGO.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGO.vsprops
@@ -1,16 +1,16 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreReleasePGO"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
- >
- <Tool
- Name="VCLinkerTool"
- AdditionalLibraryDirectories="&quot;$(ConfigurationBuildDir)\..\Production\lib&quot;"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\..\Production\include\private&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreReleasePGO"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops"
+ >
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalLibraryDirectories="&quot;$(ConfigurationBuildDir)\..\Production\lib&quot;"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\..\Production\include\private&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGOOptimize.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGOOptimize.vsprops
index e8faef70b..0c7c2d3c7 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGOOptimize.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreReleasePGOOptimize.vsprops
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="JavaScriptCoreReleasePGOOptimize"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops;.\JavaScriptCorePGOOptimize.vsprops"
- >
- <Tool
- Name="VCLinkerTool"
- AdditionalLibraryDirectories="&quot;$(ConfigurationBuildDir)\..\Production\lib&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="JavaScriptCoreReleasePGOOptimize"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\JavaScriptCoreCommon.vsprops;.\JavaScriptCoreCF.vsprops;.\JavaScriptCorePGOOptimize.vsprops"
+ >
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalLibraryDirectories="&quot;$(ConfigurationBuildDir)\..\Production\lib&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln
index f2ccebe6f..a706a9c51 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/JavaScriptCoreSubmit.sln
@@ -1,80 +1,80 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
- ProjectSection(ProjectDependencies) = postProject
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
- ProjectSection(ProjectDependencies) = postProject
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release_PGO_Optimize|Win32 = Release_PGO_Optimize|Win32
- Release_PGO|Win32 = Release_PGO|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.ActiveCfg = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO_Optimize|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO_Optimize|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.ActiveCfg = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.ActiveCfg = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
+ Release_PGO_Optimize|Win32 = Release_PGO_Optimize|Win32
+ Release_PGO|Win32 = Release_PGO|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.ActiveCfg = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO_Optimize|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO_Optimize|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.ActiveCfg = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.ActiveCfg = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.ActiveCfg = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO_Optimize|Win32.Build.0 = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.ActiveCfg = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_PGO|Win32.Build.0 = Release_PGO|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj
index 9e04fee9c..5997d9f93 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jsc.vcproj
@@ -1,473 +1,473 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="jsc"
- ProjectGUID="{C59E5129-B453-49B7-A52B-1E104715F76E}"
- RootNamespace="jsc"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_PGO|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\jscReleasePGO.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\AtomicString.cpp"
- >
- </File>
- <File
- RelativePath="..\..\jsc.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringBuilder.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringImpl.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\WTFString.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jsc"
+ ProjectGUID="{C59E5129-B453-49B7-A52B-1E104715F76E}"
+ RootNamespace="jsc"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_PGO|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\jscReleasePGO.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\AtomicString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\jsc.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\WTFString.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
index 4e3767ff6..9bb7fe93a 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscCommon.vsprops
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscCommon"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;&quot;../../os-win32/&quot;;../../assembler/;../../API/;../../parser/;../../heap/;../../runtime/;../../VM/;../../bytecode/;../../interpreter/;../../wtf/;../../debugger/;../../bytecompiler/;../../profiler;../../jit/;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include&quot;"
- PreprocessorDefinitions="__STD_C"
- ForcedIncludeFiles="ICUVersion.h"
- ForcedUsingFiles=""
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib user32.lib"
- AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
- SubSystem="1"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscCommon"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;&quot;../../os-win32/&quot;;../../assembler/;../../API/;../../parser/;../../heap/;../../runtime/;../../VM/;../../bytecode/;../../interpreter/;../../wtf/;../../debugger/;../../bytecompiler/;../../profiler;../../jit/;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include&quot;"
+ PreprocessorDefinitions="__STD_C"
+ ForcedIncludeFiles="ICUVersion.h"
+ ForcedUsingFiles=""
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib user32.lib"
+ AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
+ SubSystem="1"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebug.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebug.vsprops
index 56e25689d..f2765fba4 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebug.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\jscCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\jscCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugAll.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugAll.vsprops
index b9a471eee..4a2727d0d 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugAll.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\jscCommon.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\jscCommon.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugCairoCFLite.vsprops
index 1469263fa..5f0db2314 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\jscCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\jscCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscProduction.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscProduction.vsprops
index 4fab85769..f450e5520 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscProduction.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\jscCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\jscCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscRelease.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscRelease.vsprops
index 4de5720a2..b3dbed9a6 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscRelease.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\jscCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\jscCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleaseCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleaseCairoCFLite.vsprops
index daf8b396b..29b0e5527 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleaseCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\jscCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\jscCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleasePGO.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleasePGO.vsprops
index 0e4fb8459..800a821bb 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleasePGO.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/jsc/jscReleasePGO.vsprops
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="jscReleasePGO"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\jscCommon.vsprops"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\..\Production\include\private&quot;;&quot;$(ConfigurationBuildDir)\..\Production\include\private\wtf\text&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="jscReleasePGO"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\jscCommon.vsprops"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\..\Production\include\private&quot;;&quot;$(ConfigurationBuildDir)\..\Production\include\private\wtf\text&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExp.vcproj b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExp.vcproj
index 57b9ce643..9362d775a 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExp.vcproj
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExp.vcproj
@@ -1,480 +1,480 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExp"
- ProjectGUID="{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
- RootNamespace="testRegExp"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_PGO|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testRegExpReleasePGO.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\AtomicString.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringBuilder.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\..\testRegExp.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\WTFString.cpp"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExp"
+ ProjectGUID="{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
+ RootNamespace="testRegExp"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_PGO|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testRegExpReleasePGO.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\AtomicString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\..\testRegExp.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\WTFString.cpp"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpCommon.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpCommon.vsprops
index 0c39edec8..2e8edfb49 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpCommon.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpCommon.vsprops
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpCommon"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;&quot;../../os-win32/&quot;;../../assembler/;../../API/;../../parser/;../../heap/;../../runtime/;../../VM/;../../bytecode/;../../interpreter/;../../wtf/;../../debugger/;../../bytecompiler/;../../profiler;../../jit/;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include&quot;"
- PreprocessorDefinitions="__STD_C"
- ForcedIncludeFiles="ICUVersion.h"
- ForcedUsingFiles=""
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib user32.lib"
- AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
- SubSystem="1"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpCommon"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\obj\JavaScriptCore\DerivedSources\&quot;;../../;&quot;../../os-win32/&quot;;../../assembler/;../../API/;../../parser/;../../heap/;../../runtime/;../../VM/;../../bytecode/;../../interpreter/;../../wtf/;../../debugger/;../../bytecompiler/;../../profiler;../../jit/;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include&quot;"
+ PreprocessorDefinitions="__STD_C"
+ ForcedIncludeFiles="ICUVersion.h"
+ ForcedUsingFiles=""
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib user32.lib"
+ AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
+ SubSystem="1"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebug.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebug.vsprops
index ba8f94274..e71f2e7ce 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebug.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testRegExpCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testRegExpCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugAll.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugAll.vsprops
index a06969e13..5590713ea 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugAll.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testRegExpCommon.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testRegExpCommon.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugCairoCFLite.vsprops
index 930d1f515..fddb47257 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\testRegExpCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\testRegExpCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpProduction.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpProduction.vsprops
index 84e184c14..d6d7a9fd2 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpProduction.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\testRegExpCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\testRegExpCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpRelease.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpRelease.vsprops
index aa2e8841b..d34a44e4c 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpRelease.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\testRegExpCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\testRegExpCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleaseCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleaseCairoCFLite.vsprops
index 6e07117f5..2f0199486 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleaseCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\testRegExpCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\testRegExpCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleasePGO.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleasePGO.vsprops
index 079224b2b..771999f24 100755
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleasePGO.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testRegExp/testRegExpReleasePGO.vsprops
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testRegExpReleasePGO"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\testRegExpCommon.vsprops"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\..\Production\include\private&quot;;&quot;$(ConfigurationBuildDir)\..\Production\include\private\wtf\text&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testRegExpReleasePGO"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\testRegExpCommon.vsprops"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\..\Production\include\private&quot;;&quot;$(ConfigurationBuildDir)\..\Production\include\private\wtf\text&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj
index 1dfdd1e88..de9518e16 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapi.vcproj
@@ -1,448 +1,448 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapi"
- ProjectGUID="{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
- RootNamespace="testapi"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testapiDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testapiRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testapiDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testapiReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testapiDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\testapiProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\..\API\tests\testapi.c"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\API\tests\testapi.js"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapi"
+ ProjectGUID="{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
+ RootNamespace="testapi"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testapiDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testapiRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testapiDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testapiReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testapiDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\testapiProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\..\API\tests\testapi.c"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\API\tests\testapi.js"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops
index 1d2060f6f..a15d04d23 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiCommon.vsprops
@@ -1,21 +1,21 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiCommon"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\..\API&quot;;&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;"
- PreprocessorDefinitions="NOMINMAX"
- WarningLevel="4"
- Detect64BitPortabilityProblems="true"
- ForcedIncludeFiles="ICUVersion.h"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib"
- AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
- SubSystem="1"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiCommon"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\..\API&quot;;&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;"
+ PreprocessorDefinitions="NOMINMAX"
+ WarningLevel="4"
+ Detect64BitPortabilityProblems="true"
+ ForcedIncludeFiles="ICUVersion.h"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="JavaScriptCore$(WebKitDLLConfigSuffix).lib WTF$(WebKitConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib"
+ AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
+ SubSystem="1"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebug.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebug.vsprops
index c0873b2c9..f17de961b 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebug.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugAll.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugAll.vsprops
index 999087c6c..9e5f2c515 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugAll.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugCairoCFLite.vsprops
index e56c03fc4..821c88574 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCFLite.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCFLite.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiProduction.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiProduction.vsprops
index ea3a0f0fb..4dbc0c185 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiProduction.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiRelease.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiRelease.vsprops
index e2de5e259..15ad84ffd 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiRelease.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCF.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiReleaseCairoCFLite.vsprops b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiReleaseCairoCFLite.vsprops
index ffc45ae9e..692de7447 100644
--- a/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiReleaseCairoCFLite.vsprops
+++ b/Source/JavaScriptCore/JavaScriptCore.vcproj/testapi/testapiReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="testapiReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCFLite.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="testapiReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\testapiCommon.vsprops;..\JavaScriptCore\JavaScriptCoreCFLite.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj b/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
index da029cc08..948cecc11 100644
--- a/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
+++ b/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
@@ -58,9 +58,6 @@
/* End PBXAggregateTarget section */
/* Begin PBXBuildFile section */
- 08DDA5C11264631700751732 /* UStringBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 08DDA5BB12645F1D00751732 /* UStringBuilder.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 0A4337BB1506218800991C95 /* DFGRedundantPhiEliminationPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0A4337BA1506218800991C95 /* DFGRedundantPhiEliminationPhase.cpp */; };
- 0A4337BE1506219B00991C95 /* DFGRedundantPhiEliminationPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A4337BD1506219B00991C95 /* DFGRedundantPhiEliminationPhase.h */; };
0F0776BF14FF002B00102332 /* JITCompilationEffort.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F0776BD14FF002800102332 /* JITCompilationEffort.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F0B839A14BCF45D00885B4F /* LLIntEntrypoints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F0B839514BCF45A00885B4F /* LLIntEntrypoints.cpp */; };
0F0B839B14BCF46000885B4F /* LLIntEntrypoints.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F0B839614BCF45A00885B4F /* LLIntEntrypoints.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -142,9 +139,9 @@
0F63944015C75F1D006A597C /* DFGStructureCheckHoistingPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F63943C15C75F14006A597C /* DFGStructureCheckHoistingPhase.cpp */; };
0F63945415D07055006A597C /* ArrayProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F63945115D07051006A597C /* ArrayProfile.cpp */; };
0F63945515D07057006A597C /* ArrayProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F63945215D07051006A597C /* ArrayProfile.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 0F63947815DCE34B006A597C /* DFGStructureAbstractValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F63947615DCE347006A597C /* DFGStructureAbstractValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F63948415E48118006A597C /* DFGArrayMode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F63948115E48114006A597C /* DFGArrayMode.cpp */; };
0F63948515E4811B006A597C /* DFGArrayMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F63948215E48114006A597C /* DFGArrayMode.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 0F63947815DCE34B006A597C /* DFGStructureAbstractValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F63947615DCE347006A597C /* DFGStructureAbstractValue.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F66E16B14DF3F1600B7B2E4 /* DFGAdjacencyList.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F66E16814DF3F1300B7B2E4 /* DFGAdjacencyList.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F66E16C14DF3F1600B7B2E4 /* DFGEdge.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F66E16914DF3F1300B7B2E4 /* DFGEdge.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F766D2815A8CC1E008F363E /* JITStubRoutine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F766D2615A8CC1B008F363E /* JITStubRoutine.cpp */; };
@@ -255,7 +252,6 @@
0FFFC95F14EF90BB00C72532 /* DFGVirtualRegisterAllocationPhase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FFFC95314EF909500C72532 /* DFGVirtualRegisterAllocationPhase.cpp */; };
0FFFC96014EF90BD00C72532 /* DFGVirtualRegisterAllocationPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FFFC95414EF909500C72532 /* DFGVirtualRegisterAllocationPhase.h */; settings = {ATTRIBUTES = (Private, ); }; };
140566C4107EC255005DBC8D /* JSAPIValueWrapper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC0894D50FAFBA2D00001865 /* JSAPIValueWrapper.cpp */; };
- 140566D1107EC267005DBC8D /* JSStaticScopeObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7E42C190E3938830065A544 /* JSStaticScopeObject.cpp */; };
140566D6107EC271005DBC8D /* JSFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85E0255597D01FF60F7 /* JSFunction.cpp */; };
140B7D1D0DC69AF7009C42B8 /* JSActivation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14DA818F0D99FD2000B0A4FB /* JSActivation.cpp */; };
140D17D70E8AD4A9000CD17D /* JSBasePrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 140D17D60E8AD4A9000CD17D /* JSBasePrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -317,6 +313,8 @@
1440F8920A508B100005F061 /* JSCallbackFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1440F8900A508B100005F061 /* JSCallbackFunction.cpp */; };
1440F8AF0A508D200005F061 /* JSCallbackConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1440F8AD0A508D200005F061 /* JSCallbackConstructor.cpp */; };
1440FCE40A51E46B0005F061 /* JSClassRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1440FCE20A51E46B0005F061 /* JSClassRef.cpp */; };
+ 1442566115EDE98D0066A49B /* JSWithScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1442565F15EDE98D0066A49B /* JSWithScope.cpp */; };
+ 1442566215EDE98D0066A49B /* JSWithScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 1442566015EDE98D0066A49B /* JSWithScope.h */; settings = {ATTRIBUTES = (Private, ); }; };
14469DDE107EC7E700650446 /* Lookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A8680255597D01FF60F7 /* Lookup.cpp */; };
14469DDF107EC7E700650446 /* MathObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A86A0255597D01FF60F7 /* MathObject.cpp */; };
14469DE0107EC7E700650446 /* NativeErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9080E1839DB000F9297 /* NativeErrorConstructor.cpp */; };
@@ -328,11 +326,9 @@
14469DE6107EC7E700650446 /* ObjectPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C80E16D4E900A06E92 /* ObjectPrototype.cpp */; };
14469DE7107EC7E700650446 /* PropertyNameArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65400C0F0A69BAF200509887 /* PropertyNameArray.cpp */; };
14469DE8107EC7E700650446 /* PropertySlot.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65621E6B089E859700760F35 /* PropertySlot.cpp */; };
- 14469DEA107EC7E700650446 /* ScopeChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9374D3A8038D9D74008635CE /* ScopeChain.cpp */; };
14469DEB107EC7E700650446 /* StringConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C00E16EE3300B34460 /* StringConstructor.cpp */; };
14469DEC107EC7E700650446 /* StringObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C20E16EE3300B34460 /* StringObject.cpp */; };
14469DED107EC7E700650446 /* StringPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C50E16EE3300B34460 /* StringPrototype.cpp */; };
- 14469DEE107EC7E700650446 /* UString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A8850255597D01FF60F7 /* UString.cpp */; };
144836E7132DA7BE005BE785 /* ConservativeRoots.h in Headers */ = {isa = PBXBuildFile; fileRef = 149DAAF212EB559D0083B12B /* ConservativeRoots.h */; settings = {ATTRIBUTES = (Private, ); }; };
145722861437E140005FDE26 /* StrongInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 145722851437E140005FDE26 /* StrongInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
146AAB380B66A94400E55F16 /* JSStringRefCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 146AAB370B66A94400E55F16 /* JSStringRefCF.cpp */; };
@@ -370,6 +366,10 @@
14816E1C154CC56C00B8054C /* BlockAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 14816E1A154CC56C00B8054C /* BlockAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
1482B74E0A43032800517CFC /* JSStringRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B74C0A43032800517CFC /* JSStringRef.cpp */; };
1482B7E40A43076000517CFC /* JSObjectRef.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1482B7E20A43076000517CFC /* JSObjectRef.cpp */; };
+ 14874AE315EBDE4A002E3587 /* JSNameScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14874ADF15EBDE4A002E3587 /* JSNameScope.cpp */; };
+ 14874AE415EBDE4A002E3587 /* JSNameScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 14874AE015EBDE4A002E3587 /* JSNameScope.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 14874AE515EBDE4A002E3587 /* JSScope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14874AE115EBDE4A002E3587 /* JSScope.cpp */; };
+ 14874AE615EBDE4A002E3587 /* JSScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 14874AE215EBDE4A002E3587 /* JSScope.h */; settings = {ATTRIBUTES = (Private, ); }; };
148CD1D8108CF902008163C6 /* JSContextRefPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 148CD1D7108CF902008163C6 /* JSContextRefPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
148F21AA107EC53A0042EC2C /* BytecodeGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 969A07200ED1CE3300F1F681 /* BytecodeGenerator.cpp */; };
148F21B0107EC5410042EC2C /* Lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A8650255597D01FF60F7 /* Lexer.cpp */; };
@@ -653,14 +653,12 @@
BC18C45B0E16F5CD00B34460 /* RegExpObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A87C0255597D01FF60F7 /* RegExpObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C45D0E16F5CD00B34460 /* Register.h in Headers */ = {isa = PBXBuildFile; fileRef = 149B24FF0D8AF6D1009CB8C7 /* Register.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C45E0E16F5CD00B34460 /* RegisterFile.h in Headers */ = {isa = PBXBuildFile; fileRef = 14D792640DAA03FB001A9F05 /* RegisterFile.h */; settings = {ATTRIBUTES = (Private, ); }; };
- BC18C4610E16F5CD00B34460 /* ScopeChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 9374D3A7038D9D74008635CE /* ScopeChain.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C4630E16F5CD00B34460 /* SourceProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 65E866ED0DD59AFA00A2B2A1 /* SourceProvider.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C4640E16F5CD00B34460 /* SourceCode.h in Headers */ = {isa = PBXBuildFile; fileRef = 65E866EE0DD59AFA00A2B2A1 /* SourceCode.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C4660E16F5CD00B34460 /* StringConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C3C10E16EE3300B34460 /* StringConstructor.h */; };
BC18C4680E16F5CD00B34460 /* StringObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C3C30E16EE3300B34460 /* StringObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C46A0E16F5CD00B34460 /* StringPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C3C60E16EE3300B34460 /* StringPrototype.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C46B0E16F5CD00B34460 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 14A396A60CD2933100B5B4FF /* SymbolTable.h */; settings = {ATTRIBUTES = (Private, ); }; };
- BC18C4760E16F5CD00B34460 /* UString.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8860255597D01FF60F7 /* UString.h */; settings = {ATTRIBUTES = (Private, ); }; };
BC18C47A0E16F5CD00B34460 /* WebKitAvailability.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DE3D0F40DD8DDFB00468714 /* WebKitAvailability.h */; settings = {ATTRIBUTES = (Public, ); }; };
BC18C5240E16FC8A00B34460 /* ArrayPrototype.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C5230E16FC8A00B34460 /* ArrayPrototype.lut.h */; };
BC18C5260E16FCA700B34460 /* StringPrototype.lut.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C5250E16FCA700B34460 /* StringPrototype.lut.h */; };
@@ -717,8 +715,11 @@
E49DC16B12EF293E00184A1F /* SourceProviderCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E49DC15512EF277200184A1F /* SourceProviderCache.cpp */; };
E49DC16C12EF294E00184A1F /* SourceProviderCache.h in Headers */ = {isa = PBXBuildFile; fileRef = E49DC15112EF272200184A1F /* SourceProviderCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
E49DC16D12EF295300184A1F /* SourceProviderCacheItem.h in Headers */ = {isa = PBXBuildFile; fileRef = E49DC14912EF261A00184A1F /* SourceProviderCacheItem.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ FE20CE9D15F04A9500DF3430 /* LLIntCLoop.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE20CE9B15F04A9500DF3430 /* LLIntCLoop.cpp */; };
+ FE20CE9E15F04A9500DF3430 /* LLIntCLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */; settings = {ATTRIBUTES = (Private, ); }; };
FE4A331F15BD2E07006F54F3 /* VMInspector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FE4A331D15BD2E07006F54F3 /* VMInspector.cpp */; };
FE4A332015BD2E07006F54F3 /* VMInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = FE4A331E15BD2E07006F54F3 /* VMInspector.h */; };
+ FED287B215EC9A5700DA8161 /* LLIntOpcode.h in Headers */ = {isa = PBXBuildFile; fileRef = FED287B115EC9A5700DA8161 /* LLIntOpcode.h */; settings = {ATTRIBUTES = (Private, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -813,10 +814,6 @@
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
- 0896C29B1265AAF600B1CDD3 /* UStringConcatenate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UStringConcatenate.h; sourceTree = "<group>"; };
- 08DDA5BB12645F1D00751732 /* UStringBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UStringBuilder.h; sourceTree = "<group>"; };
- 0A4337BA1506218800991C95 /* DFGRedundantPhiEliminationPhase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGRedundantPhiEliminationPhase.cpp; path = dfg/DFGRedundantPhiEliminationPhase.cpp; sourceTree = "<group>"; };
- 0A4337BD1506219B00991C95 /* DFGRedundantPhiEliminationPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGRedundantPhiEliminationPhase.h; path = dfg/DFGRedundantPhiEliminationPhase.h; sourceTree = "<group>"; };
0F0776BD14FF002800102332 /* JITCompilationEffort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITCompilationEffort.h; sourceTree = "<group>"; };
0F0B839514BCF45A00885B4F /* LLIntEntrypoints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LLIntEntrypoints.cpp; path = llint/LLIntEntrypoints.cpp; sourceTree = "<group>"; };
0F0B839614BCF45A00885B4F /* LLIntEntrypoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLIntEntrypoints.h; path = llint/LLIntEntrypoints.h; sourceTree = "<group>"; };
@@ -901,9 +898,9 @@
0F63943D15C75F14006A597C /* DFGStructureCheckHoistingPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGStructureCheckHoistingPhase.h; path = dfg/DFGStructureCheckHoistingPhase.h; sourceTree = "<group>"; };
0F63945115D07051006A597C /* ArrayProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrayProfile.cpp; sourceTree = "<group>"; };
0F63945215D07051006A597C /* ArrayProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ArrayProfile.h; sourceTree = "<group>"; };
+ 0F63947615DCE347006A597C /* DFGStructureAbstractValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGStructureAbstractValue.h; path = dfg/DFGStructureAbstractValue.h; sourceTree = "<group>"; };
0F63948115E48114006A597C /* DFGArrayMode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGArrayMode.cpp; path = dfg/DFGArrayMode.cpp; sourceTree = "<group>"; };
0F63948215E48114006A597C /* DFGArrayMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGArrayMode.h; path = dfg/DFGArrayMode.h; sourceTree = "<group>"; };
- 0F63947615DCE347006A597C /* DFGStructureAbstractValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGStructureAbstractValue.h; path = dfg/DFGStructureAbstractValue.h; sourceTree = "<group>"; };
0F66E16814DF3F1300B7B2E4 /* DFGAdjacencyList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGAdjacencyList.h; path = dfg/DFGAdjacencyList.h; sourceTree = "<group>"; };
0F66E16914DF3F1300B7B2E4 /* DFGEdge.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGEdge.h; path = dfg/DFGEdge.h; sourceTree = "<group>"; };
0F766D1C15A5028D008F363E /* JITStubRoutine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JITStubRoutine.h; sourceTree = "<group>"; };
@@ -1062,6 +1059,8 @@
1440F8AD0A508D200005F061 /* JSCallbackConstructor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCallbackConstructor.cpp; sourceTree = "<group>"; };
1440FCE10A51E46B0005F061 /* JSClassRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSClassRef.h; sourceTree = "<group>"; };
1440FCE20A51E46B0005F061 /* JSClassRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSClassRef.cpp; sourceTree = "<group>"; };
+ 1442565F15EDE98D0066A49B /* JSWithScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSWithScope.cpp; sourceTree = "<group>"; };
+ 1442566015EDE98D0066A49B /* JSWithScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWithScope.h; sourceTree = "<group>"; };
145722851437E140005FDE26 /* StrongInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StrongInlines.h; sourceTree = "<group>"; };
145C507F0D9DF63B0088F6B9 /* CallData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallData.h; sourceTree = "<group>"; };
146AAB2A0B66A84900E55F16 /* JSStringRefCF.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSStringRefCF.h; sourceTree = "<group>"; };
@@ -1080,6 +1079,10 @@
1482B78A0A4305AB00517CFC /* APICast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APICast.h; sourceTree = "<group>"; };
1482B7E10A43076000517CFC /* JSObjectRef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSObjectRef.h; sourceTree = "<group>"; };
1482B7E20A43076000517CFC /* JSObjectRef.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSObjectRef.cpp; sourceTree = "<group>"; };
+ 14874ADF15EBDE4A002E3587 /* JSNameScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSNameScope.cpp; sourceTree = "<group>"; };
+ 14874AE015EBDE4A002E3587 /* JSNameScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNameScope.h; sourceTree = "<group>"; };
+ 14874AE115EBDE4A002E3587 /* JSScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSScope.cpp; sourceTree = "<group>"; };
+ 14874AE215EBDE4A002E3587 /* JSScope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSScope.h; sourceTree = "<group>"; };
148CD1D7108CF902008163C6 /* JSContextRefPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSContextRefPrivate.h; sourceTree = "<group>"; };
149559ED0DDCDDF700648087 /* DebuggerCallFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DebuggerCallFrame.cpp; sourceTree = "<group>"; };
1497209014EB831500FEB1B7 /* PassWeak.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PassWeak.h; sourceTree = "<group>"; };
@@ -1162,7 +1165,6 @@
65EA73620BAE35D1001BB560 /* CommonIdentifiers.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = CommonIdentifiers.cpp; sourceTree = "<group>"; };
65EA73630BAE35D1001BB560 /* CommonIdentifiers.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CommonIdentifiers.h; sourceTree = "<group>"; };
704FD35305697E6D003DBED9 /* BooleanObject.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = BooleanObject.h; sourceTree = "<group>"; tabWidth = 8; };
- 7E2C6C980D31C6B6002D44E2 /* ScopeChainMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScopeChainMark.h; sourceTree = "<group>"; };
7E4EE7080EBB7963005934AA /* StructureChain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StructureChain.h; sourceTree = "<group>"; };
7E4EE70E0EBB7A5B005934AA /* StructureChain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StructureChain.cpp; sourceTree = "<group>"; };
7EFF00630EC05A9A00AA7C93 /* NodeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeInfo.h; sourceTree = "<group>"; };
@@ -1275,8 +1277,6 @@
93345A8812D838C400302BE3 /* StringRecursionChecker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringRecursionChecker.h; sourceTree = "<group>"; };
933A349A038AE7C6008635CE /* Identifier.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = Identifier.h; sourceTree = "<group>"; tabWidth = 8; };
933A349D038AE80F008635CE /* Identifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Identifier.cpp; sourceTree = "<group>"; tabWidth = 8; };
- 9374D3A7038D9D74008635CE /* ScopeChain.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = ScopeChain.h; sourceTree = "<group>"; tabWidth = 8; };
- 9374D3A8038D9D74008635CE /* ScopeChain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScopeChain.cpp; sourceTree = "<group>"; tabWidth = 8; };
937B63CC09E766D200A671DD /* DerivedSources.make */ = {isa = PBXFileReference; explicitFileType = sourcecode.make; fileEncoding = 4; path = DerivedSources.make; sourceTree = "<group>"; usesTabs = 1; };
938772E5038BFE19008635CE /* JSArray.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = JSArray.h; sourceTree = "<group>"; tabWidth = 8; };
93ADFCE60CCBD7AC00D30B08 /* JSArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSArray.cpp; sourceTree = "<group>"; };
@@ -1352,8 +1352,6 @@
A7DCB77912E3D90500911940 /* WriteBarrier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WriteBarrier.h; sourceTree = "<group>"; };
A7E2EA690FB460CF00601F06 /* LiteralParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiteralParser.h; sourceTree = "<group>"; };
A7E2EA6A0FB460CF00601F06 /* LiteralParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LiteralParser.cpp; sourceTree = "<group>"; };
- A7E42C180E3938830065A544 /* JSStaticScopeObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSStaticScopeObject.h; sourceTree = "<group>"; };
- A7E42C190E3938830065A544 /* JSStaticScopeObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSStaticScopeObject.cpp; sourceTree = "<group>"; };
A7F8690E0F9584A100558697 /* CachedCall.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedCall.h; sourceTree = "<group>"; };
A7F869EC0F95C2EC00558697 /* CallFrameClosure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CallFrameClosure.h; sourceTree = "<group>"; };
A7F9935D0FD7325100A0B2D0 /* JSONObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSONObject.h; sourceTree = "<group>"; };
@@ -1512,12 +1510,13 @@
F692A87C0255597D01FF60F7 /* RegExpObject.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = RegExpObject.h; sourceTree = "<group>"; tabWidth = 8; };
F692A87D0255597D01FF60F7 /* RegExp.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegExp.cpp; sourceTree = "<group>"; tabWidth = 8; };
F692A87E0255597D01FF60F7 /* RegExp.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = RegExp.h; sourceTree = "<group>"; tabWidth = 8; };
- F692A8850255597D01FF60F7 /* UString.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = UString.cpp; sourceTree = "<group>"; tabWidth = 8; };
- F692A8860255597D01FF60F7 /* UString.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = UString.h; sourceTree = "<group>"; tabWidth = 8; };
F692A8870255597D01FF60F7 /* JSValue.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSValue.cpp; sourceTree = "<group>"; tabWidth = 8; };
+ FE20CE9B15F04A9500DF3430 /* LLIntCLoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LLIntCLoop.cpp; path = llint/LLIntCLoop.cpp; sourceTree = "<group>"; };
+ FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLIntCLoop.h; path = llint/LLIntCLoop.h; sourceTree = "<group>"; };
FE4A331D15BD2E07006F54F3 /* VMInspector.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VMInspector.cpp; sourceTree = "<group>"; };
FE4A331E15BD2E07006F54F3 /* VMInspector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VMInspector.h; sourceTree = "<group>"; };
FEB63AA2159B9DA3008932A6 /* Comment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Comment.h; sourceTree = "<group>"; };
+ FED287B115EC9A5700DA8161 /* LLIntOpcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLIntOpcode.h; path = llint/LLIntOpcode.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -1650,6 +1649,9 @@
0F46809C14BA7F4D00BFE272 /* llint */ = {
isa = PBXGroup;
children = (
+ FED287B115EC9A5700DA8161 /* LLIntOpcode.h */,
+ FE20CE9B15F04A9500DF3430 /* LLIntCLoop.cpp */,
+ FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */,
5DDDF44614FEE72200B4FB4D /* LLIntDesiredOffsets.h */,
0F0B839514BCF45A00885B4F /* LLIntEntrypoints.cpp */,
0F0B839614BCF45A00885B4F /* LLIntEntrypoints.h */,
@@ -2015,7 +2017,6 @@
7EF6E0BB0EB7A1EC0079AFAF /* runtime */ = {
isa = PBXGroup;
children = (
- C2D58C3315912FEE0021A844 /* GCActivityCallback.cpp */,
BCF605110E203EF800B9A64D /* ArgList.cpp */,
BCF605120E203EF800B9A64D /* ArgList.h */,
BC257DE50E1F51C50016B6C9 /* Arguments.cpp */,
@@ -2070,6 +2071,7 @@
BC2680C10E16D4E900A06E92 /* FunctionConstructor.h */,
F692A85C0255597D01FF60F7 /* FunctionPrototype.cpp */,
F692A85D0255597D01FF60F7 /* FunctionPrototype.h */,
+ C2D58C3315912FEE0021A844 /* GCActivityCallback.cpp */,
DDF7ABD211F60ED200108E36 /* GCActivityCallback.h */,
BC02E9B80E184545000F9297 /* GetterSetter.cpp */,
BC337BDE0E1AF0B80076918A /* GetterSetter.h */,
@@ -2103,6 +2105,8 @@
8604F503143CE1C100B295F5 /* JSGlobalThis.h */,
65EA4C99092AF9E20093D800 /* JSLock.cpp */,
65EA4C9A092AF9E20093D800 /* JSLock.h */,
+ 14874ADF15EBDE4A002E3587 /* JSNameScope.cpp */,
+ 14874AE015EBDE4A002E3587 /* JSNameScope.h */,
A72700780DAC605600E548D7 /* JSNotAnObject.cpp */,
A72700770DAC605600E548D7 /* JSNotAnObject.h */,
BC22A3980E16E14800AF21C8 /* JSObject.cpp */,
@@ -2111,10 +2115,10 @@
A7F9935D0FD7325100A0B2D0 /* JSONObject.h */,
A727FF660DA3053B00E548D7 /* JSPropertyNameIterator.cpp */,
A727FF650DA3053B00E548D7 /* JSPropertyNameIterator.h */,
+ 14874AE115EBDE4A002E3587 /* JSScope.cpp */,
+ 14874AE215EBDE4A002E3587 /* JSScope.h */,
0F919D0E157F3327004A4E7D /* JSSegmentedVariableObject.cpp */,
0F919D0F157F3327004A4E7D /* JSSegmentedVariableObject.h */,
- A7E42C190E3938830065A544 /* JSStaticScopeObject.cpp */,
- A7E42C180E3938830065A544 /* JSStaticScopeObject.h */,
BC02E9B60E1842FA000F9297 /* JSString.cpp */,
F692A8620255597D01FF60F7 /* JSString.h */,
86E85538111B9968001AF51E /* JSStringBuilder.h */,
@@ -2129,6 +2133,8 @@
865A30F0135007E100CDB49E /* JSValueInlineMethods.h */,
BC22A39A0E16E14800AF21C8 /* JSVariableObject.cpp */,
14F252560D08DD8D004ECFFF /* JSVariableObject.h */,
+ 1442565F15EDE98D0066A49B /* JSWithScope.cpp */,
+ 1442566015EDE98D0066A49B /* JSWithScope.h */,
65C7A1710A8EAACB00FA37EA /* JSWrapperObject.cpp */,
65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */,
A7E2EA6A0FB460CF00601F06 /* LiteralParser.cpp */,
@@ -2194,9 +2200,6 @@
BCD202C00E1706A7002C7E82 /* RegExpPrototype.h */,
0F7700911402FF280078EB39 /* SamplingCounter.cpp */,
0F77008E1402FDD60078EB39 /* SamplingCounter.h */,
- 9374D3A8038D9D74008635CE /* ScopeChain.cpp */,
- 9374D3A7038D9D74008635CE /* ScopeChain.h */,
- 7E2C6C980D31C6B6002D44E2 /* ScopeChainMark.h */,
93303FE80E6A72B500786E6A /* SmallStrings.cpp */,
93303FEA0E6A72C000786E6A /* SmallStrings.h */,
A781E358141970C700094D90 /* StorageBarrier.h */,
@@ -2223,10 +2226,6 @@
5D53726D0E1C546B0021E549 /* Tracing.d */,
5D53726E0E1C54880021E549 /* Tracing.h */,
866739D113BFDE710023D87C /* Uint16WithFraction.h */,
- F692A8850255597D01FF60F7 /* UString.cpp */,
- F692A8860255597D01FF60F7 /* UString.h */,
- 08DDA5BB12645F1D00751732 /* UStringBuilder.h */,
- 0896C29B1265AAF600B1CDD3 /* UStringConcatenate.h */,
14BFCE6810CDB1FC00364CCE /* WeakGCMap.h */,
1420BE7A10AA6DDB00F455D2 /* WeakRandom.h */,
A7DCB77912E3D90500911940 /* WriteBarrier.h */,
@@ -2338,8 +2337,6 @@
0FFFC95014EF909500C72532 /* DFGPhase.h */,
0FFFC95114EF909500C72532 /* DFGPredictionPropagationPhase.cpp */,
0FFFC95214EF909500C72532 /* DFGPredictionPropagationPhase.h */,
- 0A4337BA1506218800991C95 /* DFGRedundantPhiEliminationPhase.cpp */,
- 0A4337BD1506219B00991C95 /* DFGRedundantPhiEliminationPhase.h */,
86EC9DC11328DF82002B2AD7 /* DFGRegisterBank.h */,
0F766D4215B2A3BD008F363E /* DFGRegisterSet.h */,
86BB09BE138E381B0056702F /* DFGRepatch.cpp */,
@@ -2528,6 +2525,7 @@
86ADD1450FDDEA980006EEC2 /* ARMv7Assembler.h in Headers */,
C2EAD2FC14F0249800A4B159 /* CopiedAllocator.h in Headers */,
C2B916C214DA014E00CBAC86 /* MarkedAllocator.h in Headers */,
+ FE20CE9E15F04A9500DF3430 /* LLIntCLoop.h in Headers */,
C21122E215DD9AB300790E3A /* GCThreadSharedData.h in Headers */,
C2E526BE1590EF000054E48D /* HeapTimer.h in Headers */,
C21122E315DD9AB300790E3A /* MarkStackInlineMethods.h in Headers */,
@@ -2746,7 +2744,6 @@
869EBCB70E8C6D4A008722CC /* ResultType.h in Headers */,
C22B31B9140577D700DB475A /* SamplingCounter.h in Headers */,
1429D8860ED21C3D00B89619 /* SamplingTool.h in Headers */,
- BC18C4610E16F5CD00B34460 /* ScopeChain.h in Headers */,
86AE64AA135E5E1C00963012 /* SH4Assembler.h in Headers */,
14BA78F113AAB88F005B7C2C /* SlotVisitor.h in Headers */,
933040040E6A749400786E6A /* SmallStrings.h in Headers */,
@@ -2776,8 +2773,6 @@
5D53726F0E1C54880021E549 /* Tracing.h in Headers */,
866739D313BFDE710023D87C /* Uint16WithFraction.h in Headers */,
0F5F08CF146C7633000472A9 /* UnconditionalFinalizer.h in Headers */,
- BC18C4760E16F5CD00B34460 /* UString.h in Headers */,
- 08DDA5C11264631700751732 /* UStringBuilder.h in Headers */,
0F963B3813FC6FE90002D9B2 /* ValueProfile.h in Headers */,
0F426A481460CBB300131F8F /* ValueRecovery.h in Headers */,
0F426A491460CBB700131F8F /* VirtualRegister.h in Headers */,
@@ -2850,7 +2845,6 @@
0FB5467B14F5C7E1002C2989 /* MethodOfGettingAValueProfile.h in Headers */,
0F0776BF14FF002B00102332 /* JITCompilationEffort.h in Headers */,
0F56A1D315000F35002992B1 /* ExecutionCounter.h in Headers */,
- 0A4337BE1506219B00991C95 /* DFGRedundantPhiEliminationPhase.h in Headers */,
0FA581BB150E953000B9A2D9 /* DFGNodeFlags.h in Headers */,
0FA581BC150E953000B9A2D9 /* DFGNodeType.h in Headers */,
0F2BDC16151C5D4F00CD8910 /* DFGFixupPhase.h in Headers */,
@@ -2903,6 +2897,10 @@
0F63945515D07057006A597C /* ArrayProfile.h in Headers */,
0F63948515E4811B006A597C /* DFGArrayMode.h in Headers */,
0F63947815DCE34B006A597C /* DFGStructureAbstractValue.h in Headers */,
+ 14874AE415EBDE4A002E3587 /* JSNameScope.h in Headers */,
+ 14874AE615EBDE4A002E3587 /* JSScope.h in Headers */,
+ FED287B215EC9A5700DA8161 /* LLIntOpcode.h in Headers */,
+ 1442566215EDE98D0066A49B /* JSWithScope.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -3355,7 +3353,6 @@
A7F993600FD7325100A0B2D0 /* JSONObject.cpp in Sources */,
95F6E6950E5B5F970091E860 /* JSProfilerPrivate.cpp in Sources */,
A727FF6B0DA3092200E548D7 /* JSPropertyNameIterator.cpp in Sources */,
- 140566D1107EC267005DBC8D /* JSStaticScopeObject.cpp in Sources */,
147F39D5107EC37600427A48 /* JSString.cpp in Sources */,
2600B5A6152BAAA70091EE5F /* JSStringJoiner.cpp in Sources */,
1482B74E0A43032800517CFC /* JSStringRef.cpp in Sources */,
@@ -3408,7 +3405,6 @@
1428083A107EC0750013E7B2 /* RegisterFile.cpp in Sources */,
0F7700921402FF3C0078EB39 /* SamplingCounter.cpp in Sources */,
1429D8850ED21C3D00B89619 /* SamplingTool.cpp in Sources */,
- 14469DEA107EC7E700650446 /* ScopeChain.cpp in Sources */,
9330402C0E6A764000786E6A /* SmallStrings.cpp in Sources */,
E49DC16B12EF293E00184A1F /* SourceProviderCache.cpp in Sources */,
A730B6131250068F009D25B1 /* StrictEvalActivation.cpp in Sources */,
@@ -3421,7 +3417,6 @@
BCCF0D0C0EF0B8A500413C8F /* StructureStubInfo.cpp in Sources */,
A7386555118697B400540279 /* ThunkGenerators.cpp in Sources */,
14A42E3F0F4F60EE00599099 /* TimeoutChecker.cpp in Sources */,
- 14469DEE107EC7E700650446 /* UString.cpp in Sources */,
0FC81516140511B500CFA603 /* VTableSpectrum.cpp in Sources */,
0FC8150B14043C0E00CFA603 /* WriteBarrierSupport.cpp in Sources */,
86704B8412DBA33700A9FE7B /* YarrInterpreter.cpp in Sources */,
@@ -3458,7 +3453,6 @@
0FB5467914F5C46B002C2989 /* LazyOperandValueProfile.cpp in Sources */,
0FB5467D14F5CFD6002C2989 /* MethodOfGettingAValueProfile.cpp in Sources */,
0F56A1D515001CF4002992B1 /* ExecutionCounter.cpp in Sources */,
- 0A4337BB1506218800991C95 /* DFGRedundantPhiEliminationPhase.cpp in Sources */,
0FA581BA150E952C00B9A2D9 /* DFGNodeFlags.cpp in Sources */,
0F2BDC15151C5D4D00CD8910 /* DFGFixupPhase.cpp in Sources */,
8642C510151C06A90046D4EF /* RegExpCachedResult.cpp in Sources */,
@@ -3505,6 +3499,10 @@
0F63945415D07055006A597C /* ArrayProfile.cpp in Sources */,
0F63948415E48118006A597C /* DFGArrayMode.cpp in Sources */,
C21122E115DD9AB300790E3A /* GCThreadSharedData.cpp in Sources */,
+ 14874AE315EBDE4A002E3587 /* JSNameScope.cpp in Sources */,
+ 14874AE515EBDE4A002E3587 /* JSScope.cpp in Sources */,
+ 1442566115EDE98D0066A49B /* JSWithScope.cpp in Sources */,
+ FE20CE9D15F04A9500DF3430 /* LLIntCLoop.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Source/JavaScriptCore/PlatformEfl.cmake b/Source/JavaScriptCore/PlatformEfl.cmake
index 448834cf7..78a3a1f17 100644
--- a/Source/JavaScriptCore/PlatformEfl.cmake
+++ b/Source/JavaScriptCore/PlatformEfl.cmake
@@ -1,6 +1,8 @@
LIST(APPEND JavaScriptCore_SOURCES
jit/ExecutableAllocatorFixedVMPool.cpp
jit/ExecutableAllocator.cpp
+
+ runtime/MemoryStatistics.cpp
)
LIST(APPEND JavaScriptCore_LIBRARIES
diff --git a/Source/JavaScriptCore/Target.pri b/Source/JavaScriptCore/Target.pri
index c7e41ab3a..bcbc0363a 100644
--- a/Source/JavaScriptCore/Target.pri
+++ b/Source/JavaScriptCore/Target.pri
@@ -121,7 +121,6 @@ SOURCES += \
dfg/DFGOSRExitCompiler32_64.cpp \
dfg/DFGPhase.cpp \
dfg/DFGPredictionPropagationPhase.cpp \
- dfg/DFGRedundantPhiEliminationPhase.cpp \
dfg/DFGRepatch.cpp \
dfg/DFGSpeculativeJIT.cpp \
dfg/DFGSpeculativeJIT32_64.cpp \
@@ -210,7 +209,9 @@ SOURCES += \
runtime/JSONObject.cpp \
runtime/JSPropertyNameIterator.cpp \
runtime/JSSegmentedVariableObject.cpp \
- runtime/JSStaticScopeObject.cpp \
+ runtime/JSWithScope.cpp \
+ runtime/JSNameScope.cpp \
+ runtime/JSScope.cpp \
runtime/JSString.cpp \
runtime/JSStringJoiner.cpp \
runtime/JSSymbolTableObject.cpp \
@@ -243,7 +244,6 @@ SOURCES += \
runtime/RegExpPrototype.cpp \
runtime/RegExpCache.cpp \
runtime/SamplingCounter.cpp \
- runtime/ScopeChain.cpp \
runtime/SmallStrings.cpp \
runtime/StrictEvalActivation.cpp \
runtime/StringConstructor.cpp \
@@ -254,7 +254,6 @@ SOURCES += \
runtime/Structure.cpp \
runtime/SymbolTable.cpp \
runtime/TimeoutChecker.cpp \
- runtime/UString.cpp \
tools/CodeProfile.cpp \
tools/CodeProfiling.cpp \
yarr/YarrJIT.cpp \
diff --git a/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h b/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
index 430147280..5377ef0c7 100644
--- a/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
+++ b/Source/JavaScriptCore/assembler/AssemblerBufferWithConstantPool.h
@@ -215,7 +215,7 @@ public:
void flushWithoutBarrier(bool isForced = false)
{
// Flush if constant pool is more than 60% full to avoid overuse of this function.
- if (isForced || 5 * m_numConsts > 3 * maxPoolSize / sizeof(uint32_t))
+ if (isForced || 5 * static_cast<uint32_t>(m_numConsts) > 3 * maxPoolSize / sizeof(uint32_t))
flushConstantPool(false);
}
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM.h b/Source/JavaScriptCore/assembler/MacroAssemblerARM.h
index 295354119..e3b0be9da 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerARM.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM.h
@@ -555,7 +555,7 @@ public:
Jump branch32(RelationalCondition cond, RegisterID left, TrustedImm32 right, int useConstantPool = 0)
{
- ARMWord tmp = (right.m_value == 0x80000000) ? ARMAssembler::InvalidImmediate : m_assembler.getOp2(-right.m_value);
+ ARMWord tmp = (static_cast<unsigned>(right.m_value) == 0x80000000) ? ARMAssembler::InvalidImmediate : m_assembler.getOp2(-right.m_value);
if (tmp != ARMAssembler::InvalidImmediate)
m_assembler.cmn(left, tmp);
else
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h b/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
index c6db26597..c2af24060 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h
@@ -28,6 +28,7 @@
#include "Disassembler.h"
#include "ExecutableAllocator.h"
+#include "LLIntData.h"
#include <wtf/DataLog.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
@@ -289,10 +290,13 @@ public:
return result;
}
- static MacroAssemblerCodePtr createLLIntCodePtr(void (*function)())
+#if ENABLE(LLINT)
+ static MacroAssemblerCodePtr createLLIntCodePtr(LLIntCode codeId)
{
- return createFromExecutableAddress(bitwise_cast<void*>(function));
+ return createFromExecutableAddress(LLInt::getCodePtr(codeId));
}
+#endif
+
explicit MacroAssemblerCodePtr(ReturnAddressPtr ra)
: m_value(ra.value())
{
@@ -353,12 +357,14 @@ public:
return MacroAssemblerCodeRef(codePtr);
}
+#if ENABLE(LLINT)
// Helper for creating self-managed code refs from LLInt.
- static MacroAssemblerCodeRef createLLIntCodeRef(void (*function)())
+ static MacroAssemblerCodeRef createLLIntCodeRef(LLIntCode codeId)
{
- return createSelfManagedCodeRef(MacroAssemblerCodePtr::createFromExecutableAddress(bitwise_cast<void*>(function)));
+ return createSelfManagedCodeRef(MacroAssemblerCodePtr::createFromExecutableAddress(LLInt::getCodePtr(codeId)));
}
-
+#endif
+
ExecutableMemoryHandle* executableMemory() const
{
return m_executableMemory.get();
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
index badf35f81..ca410afa8 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerSH4.h
@@ -47,6 +47,11 @@ public:
static const int MaximumCompactPtrAlignedAddressOffset = 60;
+ static bool isCompactPtrAlignedAddressOffset(ptrdiff_t value)
+ {
+ return (value >= 0) && (value <= MaximumCompactPtrAlignedAddressOffset);
+ }
+
enum RelationalCondition {
Equal = SH4Assembler::EQ,
NotEqual = SH4Assembler::NE,
@@ -138,6 +143,14 @@ public:
releaseScratch(scr);
}
+ void add32(AbsoluteAddress src, RegisterID dest)
+ {
+ RegisterID scr = claimScratch();
+ load32(src.m_ptr, scr);
+ m_assembler.addlRegReg(scr, dest);
+ releaseScratch(scr);
+ }
+
void and32(RegisterID src, RegisterID dest)
{
m_assembler.andlRegReg(src, dest);
@@ -874,6 +887,19 @@ void or32(TrustedImm32 imm, RegisterID src, RegisterID dest)
return dataLabel;
}
+ ConvertibleLoadLabel convertibleLoadPtr(Address address, RegisterID dest)
+ {
+ ConvertibleLoadLabel result(this);
+
+ RegisterID scr = claimScratch();
+ m_assembler.movImm8(address.offset, scr);
+ m_assembler.addlRegReg(address.base, scr);
+ m_assembler.movlMemReg(scr, dest);
+ releaseScratch(scr);
+
+ return result;
+ }
+
// Floating-point operations
static bool supportsFloatingPoint() { return true; }
diff --git a/Source/JavaScriptCore/assembler/SH4Assembler.h b/Source/JavaScriptCore/assembler/SH4Assembler.h
index d55d393f2..373f469dc 100644
--- a/Source/JavaScriptCore/assembler/SH4Assembler.h
+++ b/Source/JavaScriptCore/assembler/SH4Assembler.h
@@ -1239,6 +1239,12 @@ public:
oneShortOp(RTS_OPCODE, false);
}
+ AssemblerLabel labelIgnoringWatchpoints()
+ {
+ m_buffer.ensureSpaceForAnyInstruction();
+ return m_buffer.label();
+ }
+
AssemblerLabel label()
{
m_buffer.ensureSpaceForAnyInstruction();
@@ -2079,6 +2085,30 @@ public:
static void printBlockInstr(uint16_t* first, unsigned int offset, int nbInstr) {};
#endif
+ static void replaceWithLoad(void* instructionStart)
+ {
+ SH4Word* insPtr = reinterpret_cast<SH4Word*>(instructionStart);
+
+ insPtr += 2; // skip MOV and ADD opcodes
+
+ if (((*insPtr) & 0xf00f) != MOVL_READ_RM_OPCODE) {
+ *insPtr = MOVL_READ_RM_OPCODE | (*insPtr & 0x0ff0);
+ cacheFlush(insPtr, sizeof(SH4Word));
+ }
+ }
+
+ static void replaceWithAddressComputation(void* instructionStart)
+ {
+ SH4Word* insPtr = reinterpret_cast<SH4Word*>(instructionStart);
+
+ insPtr += 2; // skip MOV and ADD opcodes
+
+ if (((*insPtr) & 0xf00f) != MOV_OPCODE) {
+ *insPtr = MOV_OPCODE | (*insPtr & 0x0ff0);
+ cacheFlush(insPtr, sizeof(SH4Word));
+ }
+ }
+
private:
SH4Buffer m_buffer;
int m_claimscratchReg;
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.cpp b/Source/JavaScriptCore/bytecode/CodeBlock.cpp
index 2ea969fcf..f15e5b0dd 100644
--- a/Source/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/Source/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -40,12 +40,11 @@
#include "JITStubs.h"
#include "JSActivation.h"
#include "JSFunction.h"
-#include "JSStaticScopeObject.h"
+#include "JSNameScope.h"
#include "JSValue.h"
#include "LowLevelInterpreter.h"
#include "MethodCallLinkStatus.h"
#include "RepatchBuffer.h"
-#include "UStringConcatenate.h"
#include <stdio.h>
#include <wtf/StringExtras.h>
#include <wtf/UnusedParam.h>
@@ -62,36 +61,36 @@ namespace JSC {
using namespace DFG;
#endif
-static UString escapeQuotes(const UString& str)
+static String escapeQuotes(const String& str)
{
- UString result = str;
+ String result = str;
size_t pos = 0;
while ((pos = result.find('\"', pos)) != notFound) {
- result = makeUString(result.substringSharingImpl(0, pos), "\"\\\"\"", result.substringSharingImpl(pos + 1));
+ result = makeString(result.substringSharingImpl(0, pos), "\"\\\"\"", result.substringSharingImpl(pos + 1));
pos += 4;
}
return result;
}
-static UString valueToSourceString(ExecState* exec, JSValue val)
+static String valueToSourceString(ExecState* exec, JSValue val)
{
if (!val)
- return "0";
+ return ASCIILiteral("0");
if (val.isString())
- return makeUString("\"", escapeQuotes(val.toString(exec)->value(exec)), "\"");
+ return makeString("\"", escapeQuotes(val.toString(exec)->value(exec)), "\"");
return val.description();
}
static CString constantName(ExecState* exec, int k, JSValue value)
{
- return makeUString(valueToSourceString(exec, value), "(@k", UString::number(k - FirstConstantRegisterIndex), ")").utf8();
+ return makeString(valueToSourceString(exec, value), "(@k", String::number(k - FirstConstantRegisterIndex), ")").utf8();
}
static CString idName(int id0, const Identifier& ident)
{
- return makeUString(ident.ustring(), "(@id", UString::number(id0), ")").utf8();
+ return makeString(ident.string(), "(@id", String::number(id0), ")").utf8();
}
void CodeBlock::dumpBytecodeCommentAndNewLine(int location)
@@ -114,10 +113,10 @@ CString CodeBlock::registerName(ExecState* exec, int r) const
if (isConstantRegisterIndex(r))
return constantName(exec, r, getConstant(r));
- return makeUString("r", UString::number(r)).utf8();
+ return makeString("r", String::number(r)).utf8();
}
-static UString regexpToSourceString(RegExp* regExp)
+static String regexpToSourceString(RegExp* regExp)
{
char postfix[5] = { '/', 0, 0, 0, 0 };
int index = 1;
@@ -128,15 +127,15 @@ static UString regexpToSourceString(RegExp* regExp)
if (regExp->multiline())
postfix[index] = 'm';
- return makeUString("/", regExp->pattern(), postfix);
+ return makeString("/", regExp->pattern(), postfix);
}
static CString regexpName(int re, RegExp* regexp)
{
- return makeUString(regexpToSourceString(regexp), "(@re", UString::number(re), ")").utf8();
+ return makeString(regexpToSourceString(regexp), "(@re", String::number(re), ")").utf8();
}
-static UString pointerToSourceString(void* p)
+static String pointerToSourceString(void* p)
{
char buffer[2 + 2 * sizeof(void*) + 1]; // 0x [two characters per byte] \0
snprintf(buffer, sizeof(buffer), "%p", p);
@@ -549,7 +548,7 @@ void CodeBlock::dump(ExecState* exec)
dataLog("\nIdentifiers:\n");
size_t i = 0;
do {
- dataLog(" id%u = %s\n", static_cast<unsigned>(i), m_identifiers[i].ustring().utf8().data());
+ dataLog(" id%u = %s\n", static_cast<unsigned>(i), m_identifiers[i].string().utf8().data());
++i;
} while (i != m_identifiers.size());
}
@@ -642,7 +641,7 @@ void CodeBlock::dump(ExecState* exec)
continue;
ASSERT(!((i + m_rareData->m_characterSwitchJumpTables[i].min) & ~0xFFFF));
UChar ch = static_cast<UChar>(entry + m_rareData->m_characterSwitchJumpTables[i].min);
- dataLog("\t\t\"%s\" => %04d\n", UString(&ch, 1).utf8().data(), *iter);
+ dataLog("\t\t\"%s\" => %04d\n", String(&ch, 1).utf8().data(), *iter);
}
dataLog(" }\n");
++i;
@@ -656,7 +655,7 @@ void CodeBlock::dump(ExecState* exec)
dataLog(" %1d = {\n", i);
StringJumpTable::StringOffsetTable::const_iterator end = m_rareData->m_stringSwitchJumpTables[i].offsetTable.end();
for (StringJumpTable::StringOffsetTable::const_iterator iter = m_rareData->m_stringSwitchJumpTables[i].offsetTable.begin(); iter != end; ++iter)
- dataLog("\t\t\"%s\" => %04d\n", UString(iter->first).utf8().data(), iter->second.branchOffset);
+ dataLog("\t\t\"%s\" => %04d\n", String(iter->first).utf8().data(), iter->second.branchOffset);
dataLog(" }\n");
++i;
} while (i < m_rareData->m_stringSwitchJumpTables.size());
@@ -1480,9 +1479,9 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
it += OPCODE_LENGTH(op_next_pname) - 1;
break;
}
- case op_push_scope: {
+ case op_push_with_scope: {
int r0 = (++it)->u.operand;
- dataLog("[%4d] push_scope\t %s", location, registerName(exec, r0).data());
+ dataLog("[%4d] push_with_scope\t %s", location, registerName(exec, r0).data());
dumpBytecodeCommentAndNewLine(location);
break;
}
@@ -1491,11 +1490,11 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
dumpBytecodeCommentAndNewLine(location);
break;
}
- case op_push_new_scope: {
- int r0 = (++it)->u.operand;
+ case op_push_name_scope: {
int id0 = (++it)->u.operand;
int r1 = (++it)->u.operand;
- dataLog("[%4d] push_new_scope \t%s, %s, %s", location, registerName(exec, r0).data(), idName(id0, m_identifiers[id0]).data(), registerName(exec, r1).data());
+ unsigned attributes = (++it)->u.operand;
+ dataLog("[%4d] push_name_scope \t%s, %s, %u", location, idName(id0, m_identifiers[id0]).data(), registerName(exec, r1).data(), attributes);
dumpBytecodeCommentAndNewLine(location);
break;
}
@@ -1551,6 +1550,10 @@ void CodeBlock::dump(ExecState* exec, const Vector<Instruction>::const_iterator&
dumpBytecodeCommentAndNewLine(location);
break;
}
+#if ENABLE(LLINT_C_LOOP)
+ default:
+ ASSERT(false); // We should never get here.
+#endif
}
}
@@ -1678,7 +1681,7 @@ void CodeBlock::dumpStatistics()
#endif
}
-CodeBlock::CodeBlock(CopyParsedBlockTag, CodeBlock& other, SymbolTable* symTab)
+CodeBlock::CodeBlock(CopyParsedBlockTag, CodeBlock& other)
: m_globalObject(other.m_globalObject)
, m_heap(other.m_heap)
, m_numCalleeRegisters(other.m_numCalleeRegisters)
@@ -1710,7 +1713,7 @@ CodeBlock::CodeBlock(CopyParsedBlockTag, CodeBlock& other, SymbolTable* symTab)
, m_constantRegisters(other.m_constantRegisters)
, m_functionDecls(other.m_functionDecls)
, m_functionExprs(other.m_functionExprs)
- , m_symbolTable(symTab)
+ , m_symbolTable(*other.m_globalData, other.m_ownerExecutable.get(), other.symbolTable())
, m_osrExitCounter(0)
, m_optimizationDelayCounter(0)
, m_reoptimizationRetryCounter(0)
@@ -1744,11 +1747,12 @@ CodeBlock::CodeBlock(CopyParsedBlockTag, CodeBlock& other, SymbolTable* symTab)
}
}
-CodeBlock::CodeBlock(ScriptExecutable* ownerExecutable, CodeType codeType, JSGlobalObject *globalObject, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset, SymbolTable* symTab, bool isConstructor, PassOwnPtr<CodeBlock> alternative)
+CodeBlock::CodeBlock(ScriptExecutable* ownerExecutable, CodeType codeType, JSGlobalObject *globalObject, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset, bool isConstructor, PassOwnPtr<CodeBlock> alternative)
: m_globalObject(globalObject->globalData(), ownerExecutable, globalObject)
, m_heap(&m_globalObject->globalData().heap)
, m_numCalleeRegisters(0)
, m_numVars(0)
+ , m_numCapturedVars(0)
, m_isConstructor(isConstructor)
, m_numParameters(0)
, m_ownerExecutable(globalObject->globalData(), ownerExecutable, ownerExecutable)
@@ -1764,7 +1768,7 @@ CodeBlock::CodeBlock(ScriptExecutable* ownerExecutable, CodeType codeType, JSGlo
#if ENABLE(VALUE_PROFILER)
, m_executionEntryCount(0)
#endif
- , m_symbolTable(symTab)
+ , m_symbolTable(globalObject->globalData(), ownerExecutable, SharedSymbolTable::create(globalObject->globalData()))
, m_alternative(alternative)
, m_osrExitCounter(0)
, m_optimizationDelayCounter(0)
@@ -2030,13 +2034,11 @@ void CodeBlock::visitWeakReferences(SlotVisitor& visitor)
performTracingFixpointIteration(visitor);
}
-#if ENABLE(JIT)
#if ENABLE(JIT_VERBOSE_OSR)
static const bool verboseUnlinking = true;
#else
static const bool verboseUnlinking = false;
#endif
-#endif // ENABLE(JIT)
void CodeBlock::finalizeUnconditionally()
{
@@ -2222,6 +2224,7 @@ void CodeBlock::stronglyVisitStrongReferences(SlotVisitor& visitor)
{
visitor.append(&m_globalObject);
visitor.append(&m_ownerExecutable);
+ visitor.append(&m_symbolTable);
if (m_rareData) {
m_rareData->m_evalCodeCache.visitAggregate(visitor);
size_t regExpCount = m_rareData->m_regexps.size();
@@ -2531,7 +2534,7 @@ void CodeBlock::createActivation(CallFrame* callFrame)
ASSERT(!callFrame->uncheckedR(activationRegister()).jsValue());
JSActivation* activation = JSActivation::create(callFrame->globalData(), callFrame, static_cast<FunctionExecutable*>(ownerExecutable()));
callFrame->uncheckedR(activationRegister()) = JSValue(activation);
- callFrame->setScopeChain(callFrame->scopeChain()->push(activation));
+ callFrame->setScope(activation);
}
unsigned CodeBlock::addOrFindConstant(JSValue v)
@@ -2579,6 +2582,7 @@ void CodeBlock::unlinkIncomingCalls()
while (m_incomingCalls.begin() != m_incomingCalls.end())
m_incomingCalls.begin()->unlink(*m_globalData, repatchBuffer);
}
+#endif // ENABLE(JIT)
#if ENABLE(LLINT)
Instruction* CodeBlock::adjustPCIfAtCallSite(Instruction* potentialReturnPC)
@@ -2615,7 +2619,7 @@ Instruction* CodeBlock::adjustPCIfAtCallSite(Instruction* potentialReturnPC)
opcodeLength = OPCODE_LENGTH(op_call_varargs);
adjustedPC = potentialReturnPC - opcodeLength;
if ((returnPCOffset >= opcodeLength)
- && (adjustedPC->u.pointer == bitwise_cast<void*>(llint_op_call_varargs))) {
+ && (adjustedPC->u.pointer == LLInt::getCodePtr(llint_op_call_varargs))) {
return adjustedPC;
}
@@ -2623,22 +2627,37 @@ Instruction* CodeBlock::adjustPCIfAtCallSite(Instruction* potentialReturnPC)
opcodeLength = OPCODE_LENGTH(op_call);
adjustedPC = potentialReturnPC - opcodeLength;
if ((returnPCOffset >= opcodeLength)
- && (adjustedPC->u.pointer == bitwise_cast<void*>(llint_op_call)
- || adjustedPC->u.pointer == bitwise_cast<void*>(llint_op_construct)
- || adjustedPC->u.pointer == bitwise_cast<void*>(llint_op_call_eval))) {
+ && (adjustedPC->u.pointer == LLInt::getCodePtr(llint_op_call)
+ || adjustedPC->u.pointer == LLInt::getCodePtr(llint_op_construct)
+ || adjustedPC->u.pointer == LLInt::getCodePtr(llint_op_call_eval))) {
return adjustedPC;
}
// Not a call site. No need to adjust PC. Just return the original.
return potentialReturnPC;
}
-#endif
+#endif // ENABLE(LLINT)
unsigned CodeBlock::bytecodeOffset(ExecState* exec, ReturnAddressPtr returnAddress)
{
+ UNUSED_PARAM(exec);
+ UNUSED_PARAM(returnAddress);
#if ENABLE(LLINT)
- if (returnAddress.value() >= bitwise_cast<void*>(&llint_begin)
- && returnAddress.value() <= bitwise_cast<void*>(&llint_end)) {
+#if !ENABLE(LLINT_C_LOOP)
+ // When using the JIT, we could have addresses that are not bytecode
+ // addresses. We check if the return address is in the LLint glue and
+ // opcode handlers range here to ensure that we are looking at bytecode
+ // before attempting to convert the return address into a bytecode offset.
+ //
+ // In the case of the C Loop LLInt, the JIT is disabled, and the only
+ // valid return addresses should be bytecode PCs. So, we can and need to
+ // forego this check because when we do not ENABLE(COMPUTED_GOTO_OPCODES),
+ // then the bytecode "PC"s are actually the opcodeIDs and are not bounded
+ // by llint_begin and llint_end.
+ if (returnAddress.value() >= LLInt::getCodePtr(llint_begin)
+ && returnAddress.value() <= LLInt::getCodePtr(llint_end))
+#endif
+ {
ASSERT(exec->codeBlock());
ASSERT(exec->codeBlock() == this);
ASSERT(JITCode::isBaselineCode(getJITType()));
@@ -2646,20 +2665,23 @@ unsigned CodeBlock::bytecodeOffset(ExecState* exec, ReturnAddressPtr returnAddre
ASSERT(instruction);
instruction = adjustPCIfAtCallSite(instruction);
-
return bytecodeOffset(instruction);
}
-#else
- UNUSED_PARAM(exec);
-#endif
+#endif // !ENABLE(LLINT)
+
+#if ENABLE(JIT)
if (!m_rareData)
return 1;
Vector<CallReturnOffsetToBytecodeOffset>& callIndices = m_rareData->m_callReturnIndexVector;
if (!callIndices.size())
return 1;
return binarySearch<CallReturnOffsetToBytecodeOffset, unsigned, getCallReturnOffset>(callIndices.begin(), callIndices.size(), getJITCode().offsetOf(returnAddress.value()))->bytecodeOffset;
-}
+#endif // ENABLE(JIT)
+
+#if !ENABLE(LLINT) && !ENABLE(JIT)
+ return 1;
#endif
+}
void CodeBlock::clearEvalCache()
{
@@ -2721,27 +2743,27 @@ CodeBlock* FunctionCodeBlock::replacement()
return &static_cast<FunctionExecutable*>(ownerExecutable())->generatedBytecodeFor(m_isConstructor ? CodeForConstruct : CodeForCall);
}
-JSObject* ProgramCodeBlock::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* ProgramCodeBlock::compileOptimized(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
if (replacement()->getJITType() == JITCode::nextTierJIT(getJITType()))
return 0;
- JSObject* error = static_cast<ProgramExecutable*>(ownerExecutable())->compileOptimized(exec, scopeChainNode, bytecodeIndex);
+ JSObject* error = static_cast<ProgramExecutable*>(ownerExecutable())->compileOptimized(exec, scope, bytecodeIndex);
return error;
}
-JSObject* EvalCodeBlock::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* EvalCodeBlock::compileOptimized(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
if (replacement()->getJITType() == JITCode::nextTierJIT(getJITType()))
return 0;
- JSObject* error = static_cast<EvalExecutable*>(ownerExecutable())->compileOptimized(exec, scopeChainNode, bytecodeIndex);
+ JSObject* error = static_cast<EvalExecutable*>(ownerExecutable())->compileOptimized(exec, scope, bytecodeIndex);
return error;
}
-JSObject* FunctionCodeBlock::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* FunctionCodeBlock::compileOptimized(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
if (replacement()->getJITType() == JITCode::nextTierJIT(getJITType()))
return 0;
- JSObject* error = static_cast<FunctionExecutable*>(ownerExecutable())->compileOptimizedFor(exec, scopeChainNode, bytecodeIndex, m_isConstructor ? CodeForConstruct : CodeForCall);
+ JSObject* error = static_cast<FunctionExecutable*>(ownerExecutable())->compileOptimizedFor(exec, scope, bytecodeIndex, m_isConstructor ? CodeForConstruct : CodeForCall);
return error;
}
@@ -3003,22 +3025,22 @@ bool CodeBlock::usesOpcode(OpcodeID opcodeID)
return false;
}
-UString CodeBlock::nameForRegister(int registerNumber)
+String CodeBlock::nameForRegister(int registerNumber)
{
SymbolTable::iterator end = m_symbolTable->end();
for (SymbolTable::iterator ptr = m_symbolTable->begin(); ptr != end; ++ptr) {
if (ptr->second.getIndex() == registerNumber)
- return UString(ptr->first);
+ return String(ptr->first);
}
if (needsActivation() && registerNumber == activationRegister())
- return "activation";
+ return ASCIILiteral("activation");
if (registerNumber == thisRegister())
- return "this";
+ return ASCIILiteral("this");
if (usesArguments()) {
if (registerNumber == argumentsRegister())
- return "arguments";
+ return ASCIILiteral("arguments");
if (unmodifiedArgumentsRegister(argumentsRegister()) == registerNumber)
- return "real arguments";
+ return ASCIILiteral("real arguments");
}
if (registerNumber < 0) {
int argumentPosition = -registerNumber;
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.h b/Source/JavaScriptCore/bytecode/CodeBlock.h
index a8b2a5871..1d56999ff 100644
--- a/Source/JavaScriptCore/bytecode/CodeBlock.h
+++ b/Source/JavaScriptCore/bytecode/CodeBlock.h
@@ -64,7 +64,6 @@
#include "Nodes.h"
#include "RegExpObject.h"
#include "StructureStubInfo.h"
-#include "UString.h"
#include "UnconditionalFinalizer.h"
#include "ValueProfile.h"
#include "Watchpoint.h"
@@ -75,6 +74,7 @@
#include <wtf/RefPtr.h>
#include <wtf/SegmentedVector.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
// Set ENABLE_BYTECODE_COMMENTS to 1 to enable recording bytecode generator
// comments for the bytecodes that it generates. This will allow
@@ -118,9 +118,9 @@ namespace JSC {
public:
enum CopyParsedBlockTag { CopyParsedBlock };
protected:
- CodeBlock(CopyParsedBlockTag, CodeBlock& other, SymbolTable*);
+ CodeBlock(CopyParsedBlockTag, CodeBlock& other);
- CodeBlock(ScriptExecutable* ownerExecutable, CodeType, JSGlobalObject*, PassRefPtr<SourceProvider>, unsigned sourceOffset, SymbolTable*, bool isConstructor, PassOwnPtr<CodeBlock> alternative);
+ CodeBlock(ScriptExecutable* ownerExecutable, CodeType, JSGlobalObject*, PassRefPtr<SourceProvider>, unsigned sourceOffset, bool isConstructor, PassOwnPtr<CodeBlock> alternative);
WriteBarrier<JSGlobalObject> m_globalObject;
Heap* m_heap;
@@ -229,12 +229,14 @@ namespace JSC {
{
return *(binarySearch<MethodCallLinkInfo, unsigned, getMethodCallLinkInfoBytecodeIndex>(m_methodCallLinkInfos.begin(), m_methodCallLinkInfos.size(), bytecodeIndex));
}
+#endif // ENABLE(JIT)
#if ENABLE(LLINT)
Instruction* adjustPCIfAtCallSite(Instruction*);
#endif
unsigned bytecodeOffset(ExecState*, ReturnAddressPtr);
+#if ENABLE(JIT)
unsigned bytecodeOffsetForCallAtIndex(unsigned index)
{
if (!m_rareData)
@@ -254,6 +256,8 @@ namespace JSC {
{
m_incomingCalls.push(incoming);
}
+#endif // ENABLE(JIT)
+
#if ENABLE(LLINT)
void linkIncomingCall(LLIntCallLinkInfo* incoming)
{
@@ -262,7 +266,6 @@ namespace JSC {
#endif // ENABLE(LLINT)
void unlinkIncomingCalls();
-#endif // ENABLE(JIT)
#if ENABLE(DFG_JIT) || ENABLE(LLINT)
void setJITCodeMap(PassOwnPtr<CompactJITCodeMap> jitCodeMap)
@@ -445,7 +448,7 @@ namespace JSC {
MacroAssemblerCodePtr getJITCodeWithArityCheck() { return m_jitCodeWithArityCheck; }
JITCode::JITType getJITType() { return m_jitCode.jitType(); }
ExecutableMemoryHandle* executableMemory() { return getJITCode().getExecutableMemory(); }
- virtual JSObject* compileOptimized(ExecState*, ScopeChainNode*, unsigned bytecodeIndex) = 0;
+ virtual JSObject* compileOptimized(ExecState*, JSScope*, unsigned bytecodeIndex) = 0;
virtual void jettison() = 0;
enum JITCompilationResult { AlreadyCompiled, CouldNotCompile, CompiledSuccessfully };
JITCompilationResult jitCompile(ExecState* exec)
@@ -583,7 +586,7 @@ namespace JSC {
void clearEvalCache();
- UString nameForRegister(int registerNumber);
+ String nameForRegister(int registerNumber);
void addPropertyAccessInstruction(unsigned propertyAccessInstruction)
{
@@ -931,7 +934,7 @@ namespace JSC {
if (!codeOrigin.inlineCallFrame)
return globalObject();
// FIXME: if we ever inline based on executable not function, this code will need to change.
- return codeOrigin.inlineCallFrame->callee->scope()->globalObject.get();
+ return codeOrigin.inlineCallFrame->callee->scope()->globalObject();
}
// Jump Tables
@@ -949,8 +952,7 @@ namespace JSC {
StringJumpTable& stringSwitchJumpTable(int tableIndex) { ASSERT(m_rareData); return m_rareData->m_stringSwitchJumpTables[tableIndex]; }
- SymbolTable* symbolTable() { return m_symbolTable; }
- SharedSymbolTable* sharedSymbolTable() { ASSERT(m_codeType == FunctionCode); return static_cast<SharedSymbolTable*>(m_symbolTable); }
+ SharedSymbolTable* symbolTable() { return m_symbolTable.get(); }
EvalCodeCache& evalCodeCache() { createRareDataIfNecessary(); return m_rareData->m_evalCodeCache; }
@@ -1361,7 +1363,7 @@ namespace JSC {
Vector<WriteBarrier<FunctionExecutable> > m_functionDecls;
Vector<WriteBarrier<FunctionExecutable> > m_functionExprs;
- SymbolTable* m_symbolTable;
+ WriteBarrier<SharedSymbolTable> m_symbolTable;
OwnPtr<CodeBlock> m_alternative;
@@ -1423,18 +1425,14 @@ namespace JSC {
class GlobalCodeBlock : public CodeBlock {
protected:
GlobalCodeBlock(CopyParsedBlockTag, GlobalCodeBlock& other)
- : CodeBlock(CopyParsedBlock, other, &m_unsharedSymbolTable)
- , m_unsharedSymbolTable(other.m_unsharedSymbolTable)
+ : CodeBlock(CopyParsedBlock, other)
{
}
GlobalCodeBlock(ScriptExecutable* ownerExecutable, CodeType codeType, JSGlobalObject* globalObject, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset, PassOwnPtr<CodeBlock> alternative)
- : CodeBlock(ownerExecutable, codeType, globalObject, sourceProvider, sourceOffset, &m_unsharedSymbolTable, false, alternative)
+ : CodeBlock(ownerExecutable, codeType, globalObject, sourceProvider, sourceOffset, false, alternative)
{
}
-
- private:
- SymbolTable m_unsharedSymbolTable;
};
class ProgramCodeBlock : public GlobalCodeBlock {
@@ -1451,7 +1449,7 @@ namespace JSC {
#if ENABLE(JIT)
protected:
- virtual JSObject* compileOptimized(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ virtual JSObject* compileOptimized(ExecState*, JSScope*, unsigned bytecodeIndex);
virtual void jettison();
virtual bool jitCompileImpl(ExecState*);
virtual CodeBlock* replacement();
@@ -1486,7 +1484,7 @@ namespace JSC {
#if ENABLE(JIT)
protected:
- virtual JSObject* compileOptimized(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ virtual JSObject* compileOptimized(ExecState*, JSScope*, unsigned bytecodeIndex);
virtual void jettison();
virtual bool jitCompileImpl(ExecState*);
virtual CodeBlock* replacement();
@@ -1501,30 +1499,18 @@ namespace JSC {
class FunctionCodeBlock : public CodeBlock {
public:
FunctionCodeBlock(CopyParsedBlockTag, FunctionCodeBlock& other)
- : CodeBlock(CopyParsedBlock, other, other.sharedSymbolTable())
+ : CodeBlock(CopyParsedBlock, other)
{
- // The fact that we have to do this is yucky, but is necessary because of the
- // class hierarchy issues described in the comment block for the main
- // constructor, below.
- sharedSymbolTable()->ref();
}
- // Rather than using the usual RefCounted::create idiom for SharedSymbolTable we just use new
- // as we need to initialise the CodeBlock before we could initialise any RefPtr to hold the shared
- // symbol table, so we just pass as a raw pointer with a ref count of 1. We then manually deref
- // in the destructor.
FunctionCodeBlock(FunctionExecutable* ownerExecutable, CodeType codeType, JSGlobalObject* globalObject, PassRefPtr<SourceProvider> sourceProvider, unsigned sourceOffset, bool isConstructor, PassOwnPtr<CodeBlock> alternative = nullptr)
- : CodeBlock(ownerExecutable, codeType, globalObject, sourceProvider, sourceOffset, SharedSymbolTable::create().leakRef(), isConstructor, alternative)
- {
- }
- ~FunctionCodeBlock()
+ : CodeBlock(ownerExecutable, codeType, globalObject, sourceProvider, sourceOffset, isConstructor, alternative)
{
- sharedSymbolTable()->deref();
}
#if ENABLE(JIT)
protected:
- virtual JSObject* compileOptimized(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ virtual JSObject* compileOptimized(ExecState*, JSScope*, unsigned bytecodeIndex);
virtual void jettison();
virtual bool jitCompileImpl(ExecState*);
virtual CodeBlock* replacement();
diff --git a/Source/JavaScriptCore/bytecode/DFGExitProfile.h b/Source/JavaScriptCore/bytecode/DFGExitProfile.h
index e0aeba2bd..45947c8af 100644
--- a/Source/JavaScriptCore/bytecode/DFGExitProfile.h
+++ b/Source/JavaScriptCore/bytecode/DFGExitProfile.h
@@ -58,6 +58,8 @@ inline const char* exitKindToString(ExitKind kind)
return "Overflow";
case NegativeZero:
return "NegativeZero";
+ case OutOfBounds:
+ return "OutOfBounds";
case InadequateCoverage:
return "InadequateCoverage";
case ArgumentsEscaped:
diff --git a/Source/JavaScriptCore/bytecode/EvalCodeCache.h b/Source/JavaScriptCore/bytecode/EvalCodeCache.h
index fba1d32f5..29b17dd82 100644
--- a/Source/JavaScriptCore/bytecode/EvalCodeCache.h
+++ b/Source/JavaScriptCore/bytecode/EvalCodeCache.h
@@ -34,7 +34,6 @@
#include "Nodes.h"
#include "Parser.h"
#include "SourceCode.h"
-#include "UString.h"
#include <wtf/HashMap.h>
#include <wtf/RefPtr.h>
#include <wtf/text/StringHash.h>
@@ -45,32 +44,32 @@ namespace JSC {
class EvalCodeCache {
public:
- EvalExecutable* tryGet(bool inStrictContext, const UString& evalSource, ScopeChainNode* scopeChain)
+ EvalExecutable* tryGet(bool inStrictContext, const String& evalSource, JSScope* scope)
{
- if (!inStrictContext && evalSource.length() < maxCacheableSourceLength && (*scopeChain->begin())->isVariableObject())
+ if (!inStrictContext && evalSource.length() < maxCacheableSourceLength && scope->begin()->isVariableObject())
return m_cacheMap.get(evalSource.impl()).get();
return 0;
}
- EvalExecutable* getSlow(ExecState* exec, ScriptExecutable* owner, bool inStrictContext, const UString& evalSource, ScopeChainNode* scopeChain, JSValue& exceptionValue)
+ EvalExecutable* getSlow(ExecState* exec, ScriptExecutable* owner, bool inStrictContext, const String& evalSource, JSScope* scope, JSValue& exceptionValue)
{
EvalExecutable* evalExecutable = EvalExecutable::create(exec, makeSource(evalSource), inStrictContext);
- exceptionValue = evalExecutable->compile(exec, scopeChain);
+ exceptionValue = evalExecutable->compile(exec, scope);
if (exceptionValue)
return 0;
- if (!inStrictContext && evalSource.length() < maxCacheableSourceLength && (*scopeChain->begin())->isVariableObject() && m_cacheMap.size() < maxCacheEntries)
+ if (!inStrictContext && evalSource.length() < maxCacheableSourceLength && scope->begin()->isVariableObject() && m_cacheMap.size() < maxCacheEntries)
m_cacheMap.set(evalSource.impl(), WriteBarrier<EvalExecutable>(exec->globalData(), owner, evalExecutable));
return evalExecutable;
}
-
- EvalExecutable* get(ExecState* exec, ScriptExecutable* owner, bool inStrictContext, const UString& evalSource, ScopeChainNode* scopeChain, JSValue& exceptionValue)
+
+ EvalExecutable* get(ExecState* exec, ScriptExecutable* owner, bool inStrictContext, const String& evalSource, JSScope* scope, JSValue& exceptionValue)
{
- EvalExecutable* evalExecutable = tryGet(inStrictContext, evalSource, scopeChain);
+ EvalExecutable* evalExecutable = tryGet(inStrictContext, evalSource, scope);
if (!evalExecutable)
- evalExecutable = getSlow(exec, owner, inStrictContext, evalSource, scopeChain, exceptionValue);
+ evalExecutable = getSlow(exec, owner, inStrictContext, evalSource, scope, exceptionValue);
return evalExecutable;
}
diff --git a/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp b/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
index 0df0f44e7..8f2a46879 100644
--- a/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
+++ b/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
@@ -27,6 +27,8 @@
#include "GetByIdStatus.h"
#include "CodeBlock.h"
+#include "JSScope.h"
+#include "LLIntData.h"
#include "LowLevelInterpreter.h"
namespace JSC {
@@ -39,7 +41,7 @@ GetByIdStatus GetByIdStatus::computeFromLLInt(CodeBlock* profiledBlock, unsigned
#if ENABLE(LLINT)
Instruction* instruction = profiledBlock->instructions().begin() + bytecodeIndex;
- if (instruction[0].u.opcode == llint_op_method_check)
+ if (instruction[0].u.opcode == LLInt::getOpcode(llint_op_method_check))
instruction++;
Structure* structure = instruction[4].u.structure.get();
diff --git a/Source/JavaScriptCore/bytecode/GlobalResolveInfo.h b/Source/JavaScriptCore/bytecode/GlobalResolveInfo.h
index c466c750d..99292b7f3 100644
--- a/Source/JavaScriptCore/bytecode/GlobalResolveInfo.h
+++ b/Source/JavaScriptCore/bytecode/GlobalResolveInfo.h
@@ -40,7 +40,7 @@ struct GlobalResolveInfo {
}
WriteBarrier<Structure> structure;
- unsigned offset;
+ PropertyOffset offset;
unsigned bytecodeOffset; // Only valid in old JIT code. This means nothing in the DFG.
};
diff --git a/Source/JavaScriptCore/bytecode/JumpTable.h b/Source/JavaScriptCore/bytecode/JumpTable.h
index 5bbe04710..a01f90cb0 100644
--- a/Source/JavaScriptCore/bytecode/JumpTable.h
+++ b/Source/JavaScriptCore/bytecode/JumpTable.h
@@ -31,9 +31,9 @@
#define JumpTable_h
#include "MacroAssembler.h"
-#include "UString.h"
#include <wtf/HashMap.h>
#include <wtf/Vector.h>
+#include <wtf/text/StringImpl.h>
namespace JSC {
diff --git a/Source/JavaScriptCore/bytecode/Opcode.h b/Source/JavaScriptCore/bytecode/Opcode.h
index 777b4876f..a63cccaec 100644
--- a/Source/JavaScriptCore/bytecode/Opcode.h
+++ b/Source/JavaScriptCore/bytecode/Opcode.h
@@ -30,6 +30,8 @@
#ifndef Opcode_h
#define Opcode_h
+#include "LLIntOpcode.h"
+
#include <algorithm>
#include <string.h>
@@ -186,9 +188,9 @@ namespace JSC {
macro(op_get_pnames, 6) \
macro(op_next_pname, 7) \
\
- macro(op_push_scope, 2) \
+ macro(op_push_with_scope, 2) \
macro(op_pop_scope, 1) \
- macro(op_push_new_scope, 4) \
+ macro(op_push_name_scope, 4) \
\
macro(op_catch, 2) \
macro(op_throw, 2) \
@@ -198,6 +200,8 @@ namespace JSC {
macro(op_profile_will_call, 2) \
macro(op_profile_did_call, 2) \
\
+ FOR_EACH_LLINT_OPCODE_EXTENSION(macro) \
+ \
macro(op_end, 2) // end must be the last opcode in the list
#define OPCODE_ID_ENUM(opcode, length) opcode,
@@ -221,13 +225,9 @@ namespace JSC {
FOR_EACH_OPCODE_ID(VERIFY_OPCODE_ID);
#undef VERIFY_OPCODE_ID
-#if ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER) || ENABLE(LLINT)
-#if COMPILER(RVCT) || COMPILER(INTEL)
+#if ENABLE(COMPUTED_GOTO_OPCODES)
typedef void* Opcode;
#else
- typedef const void* Opcode;
-#endif
-#else
typedef OpcodeID Opcode;
#endif
diff --git a/Source/JavaScriptCore/bytecode/Operands.h b/Source/JavaScriptCore/bytecode/Operands.h
index 8ea3e5b60..b0f0e692c 100644
--- a/Source/JavaScriptCore/bytecode/Operands.h
+++ b/Source/JavaScriptCore/bytecode/Operands.h
@@ -28,7 +28,7 @@
#include "CallFrame.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
#include <wtf/Vector.h>
namespace JSC {
diff --git a/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp b/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp
index e9456313a..35800f3dd 100644
--- a/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp
+++ b/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp
@@ -27,6 +27,7 @@
#include "PutByIdStatus.h"
#include "CodeBlock.h"
+#include "LLIntData.h"
#include "LowLevelInterpreter.h"
#include "Structure.h"
#include "StructureChain.h"
@@ -45,8 +46,8 @@ PutByIdStatus PutByIdStatus::computeFromLLInt(CodeBlock* profiledBlock, unsigned
if (!structure)
return PutByIdStatus(NoInformation, 0, 0, 0, invalidOffset);
- if (instruction[0].u.opcode == llint_op_put_by_id
- || instruction[0].u.opcode == llint_op_put_by_id_out_of_line) {
+ if (instruction[0].u.opcode == LLInt::getOpcode(llint_op_put_by_id)
+ || instruction[0].u.opcode == LLInt::getOpcode(llint_op_put_by_id_out_of_line)) {
PropertyOffset offset = structure->get(*profiledBlock->globalData(), ident);
if (!isValidOffset(offset))
return PutByIdStatus(NoInformation, 0, 0, 0, invalidOffset);
@@ -56,10 +57,10 @@ PutByIdStatus PutByIdStatus::computeFromLLInt(CodeBlock* profiledBlock, unsigned
ASSERT(structure->transitionWatchpointSetHasBeenInvalidated());
- ASSERT(instruction[0].u.opcode == llint_op_put_by_id_transition_direct
- || instruction[0].u.opcode == llint_op_put_by_id_transition_normal
- || instruction[0].u.opcode == llint_op_put_by_id_transition_direct_out_of_line
- || instruction[0].u.opcode == llint_op_put_by_id_transition_normal_out_of_line);
+ ASSERT(instruction[0].u.opcode == LLInt::getOpcode(llint_op_put_by_id_transition_direct)
+ || instruction[0].u.opcode == LLInt::getOpcode(llint_op_put_by_id_transition_normal)
+ || instruction[0].u.opcode == LLInt::getOpcode(llint_op_put_by_id_transition_direct_out_of_line)
+ || instruction[0].u.opcode == LLInt::getOpcode(llint_op_put_by_id_transition_normal_out_of_line));
Structure* newStructure = instruction[6].u.structure.get();
StructureChain* chain = instruction[7].u.structureChain.get();
diff --git a/Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp b/Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp
index 783e7c615..c9fd7dca2 100644
--- a/Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp
+++ b/Source/JavaScriptCore/bytecode/ResolveGlobalStatus.cpp
@@ -52,8 +52,8 @@ static ResolveGlobalStatus computeForLLInt(CodeBlock* codeBlock, unsigned byteco
{
#if ENABLE(LLINT)
Instruction* instruction = codeBlock->instructions().begin() + bytecodeIndex;
-
- ASSERT(instruction[0].u.opcode == llint_op_resolve_global);
+
+ ASSERT(instruction[0].u.opcode == LLInt::getOpcode(op_resolve_global));
Structure* structure = instruction[3].u.structure.get();
if (!structure)
diff --git a/Source/JavaScriptCore/bytecode/SpeculatedType.h b/Source/JavaScriptCore/bytecode/SpeculatedType.h
index 4ecc53776..9d2c61ae8 100644
--- a/Source/JavaScriptCore/bytecode/SpeculatedType.h
+++ b/Source/JavaScriptCore/bytecode/SpeculatedType.h
@@ -82,6 +82,16 @@ inline bool isCellSpeculation(SpeculatedType value)
return !!(value & SpecCell) && !(value & ~SpecCell);
}
+inline bool isNonStringCellSpeculation(SpeculatedType value)
+{
+ return !!(value & (SpecCell & ~SpecString)) && !(value & ~(SpecCell & ~SpecString));
+}
+
+inline bool isNonStringCellOrOtherSpeculation(SpeculatedType value)
+{
+ return !!(value & ((SpecCell & ~SpecString) | SpecOther)) && !(value & ~((SpecCell & ~SpecString) | SpecOther));
+}
+
inline bool isObjectSpeculation(SpeculatedType value)
{
return !!(value & SpecObjectMask) && !(value & ~SpecObjectMask);
diff --git a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
index f66860a45..9238fefdc 100644
--- a/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
+++ b/Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
@@ -28,7 +28,7 @@
#include "JSObject.h"
#include "PolymorphicPutByIdList.h"
-#include "ScopeChain.h"
+
namespace JSC {
diff --git a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index c8cfa74b6..52b576da2 100644
--- a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -33,13 +33,13 @@
#include "BatchedTransitionOptimizer.h"
#include "Comment.h"
+#include "Interpreter.h"
#include "JSActivation.h"
#include "JSFunction.h"
-#include "Interpreter.h"
+#include "JSNameScope.h"
#include "LowLevelInterpreter.h"
-#include "ScopeChain.h"
#include "StrongInlines.h"
-#include "UString.h"
+#include <wtf/text/WTFString.h>
using namespace std;
@@ -188,10 +188,28 @@ JSObject* BytecodeGenerator::generate()
m_scopeNode->emitBytecode(*this);
+ for (unsigned i = 0; i < m_tryRanges.size(); ++i) {
+ TryRange& range = m_tryRanges[i];
+ ASSERT(range.tryData->targetScopeDepth != UINT_MAX);
+ HandlerInfo info = {
+ range.start->bind(0, 0), range.end->bind(0, 0),
+ range.tryData->target->bind(0, 0), range.tryData->targetScopeDepth
+#if ENABLE(JIT)
+ ,
+#if ENABLE(LLINT)
+ CodeLocationLabel(MacroAssemblerCodePtr::createFromExecutableAddress(LLInt::getCodePtr(llint_op_catch)))
+#else
+ CodeLocationLabel()
+#endif
+#endif
+ };
+ m_codeBlock->addExceptionHandler(info);
+ }
+
m_codeBlock->instructions() = RefCountedArray<Instruction>(m_instructions);
if (s_dumpsGeneratedCode)
- m_codeBlock->dump(m_scopeChain->globalObject->globalExec());
+ m_codeBlock->dump(m_scope->globalObject()->globalExec());
#ifdef NDEBUG
if ((m_codeType == FunctionCode && !m_codeBlock->needsFullScopeChain() && !m_codeBlock->usesArguments()) || m_codeType == EvalCode)
@@ -201,7 +219,7 @@ JSObject* BytecodeGenerator::generate()
m_codeBlock->shrinkToFit(CodeBlock::EarlyShrink);
if (m_expressionTooDeep)
- return createOutOfMemoryError(m_scopeChain->globalObject.get());
+ return createOutOfMemoryError(m_scope->globalObject());
return 0;
}
@@ -242,11 +260,11 @@ void BytecodeGenerator::preserveLastVar()
m_lastVar = &m_calleeRegisters.last();
}
-BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, ScopeChainNode* scopeChain, SymbolTable* symbolTable, ProgramCodeBlock* codeBlock, CompilationKind compilationKind)
- : m_shouldEmitDebugHooks(scopeChain->globalObject->debugger())
- , m_shouldEmitProfileHooks(scopeChain->globalObject->globalObjectMethodTable()->supportsProfiling(scopeChain->globalObject.get()))
- , m_shouldEmitRichSourceInfo(scopeChain->globalObject->globalObjectMethodTable()->supportsRichSourceInfo(scopeChain->globalObject.get()))
- , m_scopeChain(*scopeChain->globalData, scopeChain)
+BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, JSScope* scope, SymbolTable* symbolTable, ProgramCodeBlock* codeBlock, CompilationKind compilationKind)
+ : m_shouldEmitDebugHooks(scope->globalObject()->debugger())
+ , m_shouldEmitProfileHooks(scope->globalObject()->globalObjectMethodTable()->supportsProfiling(scope->globalObject()))
+ , m_shouldEmitRichSourceInfo(scope->globalObject()->globalObjectMethodTable()->supportsRichSourceInfo(scope->globalObject()))
+ , m_scope(*scope->globalData(), scope)
, m_symbolTable(symbolTable)
#if ENABLE(BYTECODE_COMMENTS)
, m_currentCommentString(0)
@@ -263,7 +281,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, ScopeChainNode* s
, m_hasCreatedActivation(true)
, m_firstLazyFunction(0)
, m_lastLazyFunction(0)
- , m_globalData(scopeChain->globalData)
+ , m_globalData(scope->globalData())
, m_lastOpcodeID(op_end)
#ifndef NDEBUG
, m_lastOpcodePosition(0)
@@ -288,7 +306,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, ScopeChainNode* s
if (compilationKind == OptimizingCompilation)
return;
- JSGlobalObject* globalObject = scopeChain->globalObject.get();
+ JSGlobalObject* globalObject = scope->globalObject();
ExecState* exec = globalObject->globalExec();
BatchedTransitionOptimizer optimizer(*m_globalData, globalObject);
@@ -306,7 +324,7 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, ScopeChainNode* s
bool propertyDidExist =
globalObject->removeDirect(*m_globalData, function->ident()); // Newly declared functions overwrite existing properties.
- JSValue value = JSFunction::create(exec, makeFunction(exec, function), scopeChain);
+ JSValue value = JSFunction::create(exec, FunctionExecutable::create(*m_globalData, function), scope);
int index = addGlobalVar(
function->ident(), IsVariable,
!propertyDidExist ? IsFunctionToSpecialize : NotFunctionOrNotSpecializable);
@@ -323,11 +341,11 @@ BytecodeGenerator::BytecodeGenerator(ProgramNode* programNode, ScopeChainNode* s
}
}
-BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, ScopeChainNode* scopeChain, SymbolTable* symbolTable, CodeBlock* codeBlock, CompilationKind)
- : m_shouldEmitDebugHooks(scopeChain->globalObject->debugger())
- , m_shouldEmitProfileHooks(scopeChain->globalObject->globalObjectMethodTable()->supportsProfiling(scopeChain->globalObject.get()))
- , m_shouldEmitRichSourceInfo(scopeChain->globalObject->globalObjectMethodTable()->supportsRichSourceInfo(scopeChain->globalObject.get()))
- , m_scopeChain(*scopeChain->globalData, scopeChain)
+BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, JSScope* scope, SymbolTable* symbolTable, CodeBlock* codeBlock, CompilationKind)
+ : m_shouldEmitDebugHooks(scope->globalObject()->debugger())
+ , m_shouldEmitProfileHooks(scope->globalObject()->globalObjectMethodTable()->supportsProfiling(scope->globalObject()))
+ , m_shouldEmitRichSourceInfo(scope->globalObject()->globalObjectMethodTable()->supportsRichSourceInfo(scope->globalObject()))
+ , m_scope(*scope->globalData(), scope)
, m_symbolTable(symbolTable)
#if ENABLE(BYTECODE_COMMENTS)
, m_currentCommentString(0)
@@ -344,7 +362,7 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, ScopeChainN
, m_hasCreatedActivation(false)
, m_firstLazyFunction(0)
, m_lastLazyFunction(0)
- , m_globalData(scopeChain->globalData)
+ , m_globalData(scope->globalData())
, m_lastOpcodeID(op_end)
#ifndef NDEBUG
, m_lastOpcodePosition(0)
@@ -401,6 +419,8 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, ScopeChainN
}
}
+ RegisterID* calleeRegister = resolveCallee(functionBody); // May push to the scope chain and/or add a captured var.
+
const DeclarationStacks::FunctionStack& functionStack = functionBody->functionStack();
const DeclarationStacks::VarStack& varStack = functionBody->varStack();
@@ -438,6 +458,7 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, ScopeChainN
}
codeBlock->m_numCapturedVars = codeBlock->m_numVars;
+
m_firstLazyFunction = codeBlock->m_numVars;
for (size_t i = 0; i < functionStack.size(); ++i) {
FunctionBodyNode* function = functionStack[i];
@@ -479,6 +500,9 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, ScopeChainN
preserveLastVar();
+ // We declare the callee's name last because it should lose to a var, function, and/or parameter declaration.
+ addCallee(functionBody, calleeRegister);
+
if (isConstructor()) {
prependComment("'this' because we are a Constructor function");
emitOpcode(op_create_this);
@@ -490,11 +514,11 @@ BytecodeGenerator::BytecodeGenerator(FunctionBodyNode* functionBody, ScopeChainN
}
}
-BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, ScopeChainNode* scopeChain, SymbolTable* symbolTable, EvalCodeBlock* codeBlock, CompilationKind)
- : m_shouldEmitDebugHooks(scopeChain->globalObject->debugger())
- , m_shouldEmitProfileHooks(scopeChain->globalObject->globalObjectMethodTable()->supportsProfiling(scopeChain->globalObject.get()))
- , m_shouldEmitRichSourceInfo(scopeChain->globalObject->globalObjectMethodTable()->supportsRichSourceInfo(scopeChain->globalObject.get()))
- , m_scopeChain(*scopeChain->globalData, scopeChain)
+BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, JSScope* scope, SymbolTable* symbolTable, EvalCodeBlock* codeBlock, CompilationKind)
+ : m_shouldEmitDebugHooks(scope->globalObject()->debugger())
+ , m_shouldEmitProfileHooks(scope->globalObject()->globalObjectMethodTable()->supportsProfiling(scope->globalObject()))
+ , m_shouldEmitRichSourceInfo(scope->globalObject()->globalObjectMethodTable()->supportsRichSourceInfo(scope->globalObject()))
+ , m_scope(*scope->globalData(), scope)
, m_symbolTable(symbolTable)
#if ENABLE(BYTECODE_COMMENTS)
, m_currentCommentString(0)
@@ -511,7 +535,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, ScopeChainNode* scopeCh
, m_hasCreatedActivation(true)
, m_firstLazyFunction(0)
, m_lastLazyFunction(0)
- , m_globalData(scopeChain->globalData)
+ , m_globalData(scope->globalData())
, m_lastOpcodeID(op_end)
#ifndef NDEBUG
, m_lastOpcodePosition(0)
@@ -531,7 +555,7 @@ BytecodeGenerator::BytecodeGenerator(EvalNode* evalNode, ScopeChainNode* scopeCh
const DeclarationStacks::FunctionStack& functionStack = evalNode->functionStack();
for (size_t i = 0; i < functionStack.size(); ++i)
- m_codeBlock->addFunctionDecl(makeFunction(m_globalData, functionStack[i]));
+ m_codeBlock->addFunctionDecl(FunctionExecutable::create(*m_globalData, functionStack[i]));
const DeclarationStacks::VarStack& varStack = evalNode->varStack();
unsigned numVariables = varStack.size();
@@ -556,6 +580,53 @@ RegisterID* BytecodeGenerator::emitInitLazyRegister(RegisterID* reg)
return reg;
}
+RegisterID* BytecodeGenerator::resolveCallee(FunctionBodyNode* functionBodyNode)
+{
+ if (functionBodyNode->ident().isNull() || !functionBodyNode->functionNameIsInScope())
+ return 0;
+
+ m_calleeRegister.setIndex(RegisterFile::Callee);
+
+ // If non-strict eval is in play, we use a separate object in the scope chain for the callee's name.
+ if ((m_codeBlock->usesEval() && !m_codeBlock->isStrictMode()) || m_shouldEmitDebugHooks) {
+ emitOpcode(op_push_name_scope);
+ instructions().append(addConstant(functionBodyNode->ident()));
+ instructions().append(m_calleeRegister.index());
+ instructions().append(ReadOnly | DontDelete);
+
+ // Put a mirror object in compilation scope, so compile-time variable resolution sees the property name we'll see at runtime.
+ m_scope.set(*globalData(),
+ JSNameScope::create(
+ m_scope->globalObject()->globalExec(),
+ functionBodyNode->ident(),
+ jsUndefined(),
+ ReadOnly | DontDelete,
+ m_scope.get()
+ )
+ );
+ return 0;
+ }
+
+ if (!functionBodyNode->captures(functionBodyNode->ident()))
+ return &m_calleeRegister;
+
+ // Move the callee into the captured section of the stack.
+ return emitMove(addVar(), &m_calleeRegister);
+}
+
+void BytecodeGenerator::addCallee(FunctionBodyNode* functionBodyNode, RegisterID* calleeRegister)
+{
+ if (functionBodyNode->ident().isNull() || !functionBodyNode->functionNameIsInScope())
+ return;
+
+ // If non-strict eval is in play, we use a separate object in the scope chain for the callee's name.
+ if ((m_codeBlock->usesEval() && !m_codeBlock->isStrictMode()) || m_shouldEmitDebugHooks)
+ return;
+
+ ASSERT(calleeRegister);
+ symbolTable().add(functionBodyNode->ident().impl(), SymbolTableEntry(calleeRegister->index(), ReadOnly));
+}
+
void BytecodeGenerator::addParameter(const Identifier& ident, int parameterIndex)
{
// Parameters overwrite var declarations, but not function declarations.
@@ -624,14 +695,6 @@ RegisterID* BytecodeGenerator::newTemporary()
return result;
}
-RegisterID* BytecodeGenerator::highestUsedRegister()
-{
- size_t count = m_codeBlock->m_numCalleeRegisters;
- while (m_calleeRegisters.size() < count)
- newRegister();
- return &m_calleeRegisters.last();
-}
-
PassRefPtr<LabelScope> BytecodeGenerator::newLabelScope(LabelScope::Type type, const Identifier* name)
{
// Reclaim free label scopes.
@@ -1022,7 +1085,7 @@ PassRefPtr<Label> BytecodeGenerator::emitJumpIfNotFunctionCall(RegisterID* cond,
emitOpcode(op_jneq_ptr);
instructions().append(cond->index());
- instructions().append(Instruction(*m_globalData, m_codeBlock->ownerExecutable(), m_scopeChain->globalObject->callFunction()));
+ instructions().append(Instruction(*m_globalData, m_codeBlock->ownerExecutable(), m_scope->globalObject()->callFunction()));
instructions().append(target->bind(begin, instructions().size()));
return target;
}
@@ -1033,7 +1096,7 @@ PassRefPtr<Label> BytecodeGenerator::emitJumpIfNotFunctionApply(RegisterID* cond
emitOpcode(op_jneq_ptr);
instructions().append(cond->index());
- instructions().append(Instruction(*m_globalData, m_codeBlock->ownerExecutable(), m_scopeChain->globalObject->applyFunction()));
+ instructions().append(Instruction(*m_globalData, m_codeBlock->ownerExecutable(), m_scope->globalObject()->applyFunction()));
instructions().append(target->bind(begin, instructions().size()));
return target;
}
@@ -1140,7 +1203,7 @@ RegisterID* BytecodeGenerator::emitEqualityOp(OpcodeID opcodeID, RegisterID* dst
&& src1->isTemporary()
&& m_codeBlock->isConstantRegisterIndex(src2->index())
&& m_codeBlock->constantRegister(src2->index()).get().isString()) {
- const UString& value = asString(m_codeBlock->constantRegister(src2->index()).get())->tryGetValue();
+ const String& value = asString(m_codeBlock->constantRegister(src2->index()).get())->tryGetValue();
if (value == "undefined") {
rewindUnaryOp();
emitOpcode(op_is_undefined);
@@ -1215,7 +1278,7 @@ RegisterID* BytecodeGenerator::emitLoad(RegisterID* dst, const Identifier& ident
{
JSString*& stringInMap = m_stringMap.add(identifier.impl(), 0).iterator->second;
if (!stringInMap)
- stringInMap = jsOwnedString(globalData(), identifier.ustring());
+ stringInMap = jsOwnedString(globalData(), identifier.string());
return emitLoad(dst, JSValue(stringInMap));
}
@@ -1248,19 +1311,19 @@ ResolveResult BytecodeGenerator::resolve(const Identifier& property)
if (property == propertyNames().arguments || !canOptimizeNonLocals())
return ResolveResult::dynamicResolve(0);
- ScopeChainIterator iter = m_scopeChain->begin();
- ScopeChainIterator end = m_scopeChain->end();
+ ScopeChainIterator iter = m_scope->begin();
+ ScopeChainIterator end = m_scope->end();
size_t depth = 0;
size_t depthOfFirstScopeWithDynamicChecks = 0;
unsigned flags = 0;
for (; iter != end; ++iter, ++depth) {
- JSObject* currentScope = iter->get();
+ JSObject* currentScope = iter.get();
if (!currentScope->isVariableObject()) {
flags |= ResolveResult::DynamicFlag;
break;
}
JSSymbolTableObject* currentVariableObject = jsCast<JSSymbolTableObject*>(currentScope);
- SymbolTableEntry entry = currentVariableObject->symbolTable().get(property.impl());
+ SymbolTableEntry entry = currentVariableObject->symbolTable()->get(property.impl());
// Found the property
if (!entry.isNull()) {
@@ -1292,7 +1355,7 @@ ResolveResult BytecodeGenerator::resolve(const Identifier& property)
}
// Can't locate the property but we're able to avoid a few lookups.
- JSObject* scope = iter->get();
+ JSObject* scope = iter.get();
// Step over the function's activation, if it needs one. At this point we
// know there is no dynamic scope in the function itself, so this is safe to
// do.
@@ -1319,15 +1382,15 @@ ResolveResult BytecodeGenerator::resolveConstDecl(const Identifier& property)
}
// Const declarations in eval code or global code.
- ScopeChainIterator iter = scopeChain()->begin();
- ScopeChainIterator end = scopeChain()->end();
+ ScopeChainIterator iter = scope()->begin();
+ ScopeChainIterator end = scope()->end();
size_t depth = 0;
for (; iter != end; ++iter, ++depth) {
- JSObject* currentScope = iter->get();
+ JSObject* currentScope = iter.get();
if (!currentScope->isVariableObject())
continue;
JSSymbolTableObject* currentVariableObject = jsCast<JSSymbolTableObject*>(currentScope);
- SymbolTableEntry entry = currentVariableObject->symbolTable().get(property.impl());
+ SymbolTableEntry entry = currentVariableObject->symbolTable()->get(property.impl());
if (entry.isNull())
continue;
if (++iter == end)
@@ -1583,7 +1646,7 @@ RegisterID* BytecodeGenerator::emitPutStaticVar(const ResolveResult& resolveResu
emitOpcode(op_put_global_var_check);
instructions().append(resolveResult.registerPointer());
instructions().append(value->index());
- instructions().append(jsCast<JSGlobalObject*>(resolveResult.globalObject())->symbolTable().get(identifier.impl()).addressOfIsWatched());
+ instructions().append(jsCast<JSGlobalObject*>(resolveResult.globalObject())->symbolTable()->get(identifier.impl()).addressOfIsWatched());
instructions().append(addConstant(identifier));
return value;
@@ -1757,7 +1820,7 @@ JSString* BytecodeGenerator::addStringConstant(const Identifier& identifier)
{
JSString*& stringInMap = m_stringMap.add(identifier.impl(), 0).iterator->second;
if (!stringInMap) {
- stringInMap = jsString(globalData(), identifier.ustring());
+ stringInMap = jsString(globalData(), identifier.string());
addConstantValue(stringInMap);
}
return stringInMap;
@@ -1820,14 +1883,14 @@ RegisterID* BytecodeGenerator::emitNewArray(RegisterID* dst, ElementNode* elemen
RegisterID* BytecodeGenerator::emitNewFunction(RegisterID* dst, FunctionBodyNode* function)
{
- return emitNewFunctionInternal(dst, m_codeBlock->addFunctionDecl(makeFunction(m_globalData, function)), false);
+ return emitNewFunctionInternal(dst, m_codeBlock->addFunctionDecl(FunctionExecutable::create(*m_globalData, function)), false);
}
RegisterID* BytecodeGenerator::emitLazyNewFunction(RegisterID* dst, FunctionBodyNode* function)
{
FunctionOffsetMap::AddResult ptr = m_functionOffsets.add(function, 0);
if (ptr.isNewEntry)
- ptr.iterator->second = m_codeBlock->addFunctionDecl(makeFunction(m_globalData, function));
+ ptr.iterator->second = m_codeBlock->addFunctionDecl(FunctionExecutable::create(*m_globalData, function));
return emitNewFunctionInternal(dst, ptr.iterator->second, true);
}
@@ -1852,7 +1915,7 @@ RegisterID* BytecodeGenerator::emitNewRegExp(RegisterID* dst, RegExp* regExp)
RegisterID* BytecodeGenerator::emitNewFunctionExpression(RegisterID* r0, FuncExprNode* n)
{
FunctionBodyNode* function = n->body();
- unsigned index = m_codeBlock->addFunctionExpr(makeFunction(m_globalData, function));
+ unsigned index = m_codeBlock->addFunctionExpr(FunctionExecutable::create(*m_globalData, function));
createActivationIfNecessary();
emitOpcode(op_new_func_exp);
@@ -1925,6 +1988,7 @@ RegisterID* BytecodeGenerator::emitCall(OpcodeID opcodeID, RegisterID* dst, Regi
emitExpressionInfo(divot, startOffset, endOffset);
// Emit call.
+ ArrayProfile* arrayProfile = newArrayProfile();
emitOpcode(opcodeID);
instructions().append(func->index()); // func
instructions().append(callArguments.argumentCountIncludingThis()); // argCount
@@ -1934,7 +1998,7 @@ RegisterID* BytecodeGenerator::emitCall(OpcodeID opcodeID, RegisterID* dst, Regi
#else
instructions().append(0);
#endif
- instructions().append(0);
+ instructions().append(arrayProfile);
if (dst != ignoredResult()) {
ValueProfile* profile = emitProfiledOpcode(op_call_put_result);
instructions().append(dst->index()); // dst
@@ -2074,15 +2138,14 @@ void BytecodeGenerator::emitToPrimitive(RegisterID* dst, RegisterID* src)
instructions().append(src->index());
}
-RegisterID* BytecodeGenerator::emitPushScope(RegisterID* scope)
+RegisterID* BytecodeGenerator::emitPushWithScope(RegisterID* scope)
{
- ASSERT(scope->isTemporary());
ControlFlowContext context;
context.isFinallyBlock = false;
m_scopeContextStack.append(context);
m_dynamicScopeDepth++;
- return emitUnaryNoDstOp(op_push_scope, scope);
+ return emitUnaryNoDstOp(op_push_with_scope, scope);
}
void BytecodeGenerator::emitPopScope()
@@ -2121,6 +2184,7 @@ void BytecodeGenerator::pushFinallyContext(StatementNode* finallyBlock)
m_scopeContextStack.size(),
m_switchContextStack.size(),
m_forInContextStack.size(),
+ m_tryContextStack.size(),
m_labelScopes.size(),
m_finallyDepth,
m_dynamicScopeDepth
@@ -2254,14 +2318,18 @@ PassRefPtr<Label> BytecodeGenerator::emitComplexJumpScopes(Label* target, Contro
Vector<ControlFlowContext> savedScopeContextStack;
Vector<SwitchInfo> savedSwitchContextStack;
Vector<ForInContext> savedForInContextStack;
+ Vector<TryContext> poppedTryContexts;
SegmentedVector<LabelScope, 8> savedLabelScopes;
while (topScope > bottomScope && topScope->isFinallyBlock) {
+ RefPtr<Label> beforeFinally = emitLabel(newLabel().get());
+
// Save the current state of the world while instating the state of the world
// for the finally block.
FinallyContext finallyContext = topScope->finallyContext;
bool flipScopes = finallyContext.scopeContextStackSize != m_scopeContextStack.size();
bool flipSwitches = finallyContext.switchContextStackSize != m_switchContextStack.size();
bool flipForIns = finallyContext.forInContextStackSize != m_forInContextStack.size();
+ bool flipTries = finallyContext.tryContextStackSize != m_tryContextStack.size();
bool flipLabelScopes = finallyContext.labelScopesSize != m_labelScopes.size();
int topScopeIndex = -1;
int bottomScopeIndex = -1;
@@ -2279,6 +2347,19 @@ PassRefPtr<Label> BytecodeGenerator::emitComplexJumpScopes(Label* target, Contro
savedForInContextStack = m_forInContextStack;
m_forInContextStack.shrink(finallyContext.forInContextStackSize);
}
+ if (flipTries) {
+ while (m_tryContextStack.size() != finallyContext.tryContextStackSize) {
+ ASSERT(m_tryContextStack.size() > finallyContext.tryContextStackSize);
+ TryContext context = m_tryContextStack.last();
+ m_tryContextStack.removeLast();
+ TryRange range;
+ range.start = context.start;
+ range.end = beforeFinally;
+ range.tryData = context.tryData;
+ m_tryRanges.append(range);
+ poppedTryContexts.append(context);
+ }
+ }
if (flipLabelScopes) {
savedLabelScopes = m_labelScopes;
while (m_labelScopes.size() > finallyContext.labelScopesSize)
@@ -2292,6 +2373,8 @@ PassRefPtr<Label> BytecodeGenerator::emitComplexJumpScopes(Label* target, Contro
// Emit the finally block.
emitNode(finallyContext.finallyBlock);
+ RefPtr<Label> afterFinally = emitLabel(newLabel().get());
+
// Restore the state of the world.
if (flipScopes) {
m_scopeContextStack = savedScopeContextStack;
@@ -2302,6 +2385,14 @@ PassRefPtr<Label> BytecodeGenerator::emitComplexJumpScopes(Label* target, Contro
m_switchContextStack = savedSwitchContextStack;
if (flipForIns)
m_forInContextStack = savedForInContextStack;
+ if (flipTries) {
+ ASSERT(m_tryContextStack.size() == finallyContext.tryContextStackSize);
+ for (unsigned i = poppedTryContexts.size(); i--;) {
+ TryContext context = poppedTryContexts[i];
+ context.start = afterFinally;
+ m_tryContextStack.append(context);
+ }
+ }
if (flipLabelScopes)
m_labelScopes = savedLabelScopes;
m_finallyDepth = savedFinallyDepth;
@@ -2361,42 +2452,61 @@ RegisterID* BytecodeGenerator::emitNextPropertyName(RegisterID* dst, RegisterID*
return dst;
}
-RegisterID* BytecodeGenerator::emitCatch(RegisterID* targetRegister, Label* start, Label* end)
+TryData* BytecodeGenerator::pushTry(Label* start)
+{
+ TryData tryData;
+ tryData.target = newLabel();
+ tryData.targetScopeDepth = UINT_MAX;
+ m_tryData.append(tryData);
+ TryData* result = &m_tryData.last();
+
+ TryContext tryContext;
+ tryContext.start = start;
+ tryContext.tryData = result;
+
+ m_tryContextStack.append(tryContext);
+
+ return result;
+}
+
+RegisterID* BytecodeGenerator::popTryAndEmitCatch(TryData* tryData, RegisterID* targetRegister, Label* end)
{
m_usesExceptions = true;
-#if ENABLE(JIT)
-#if ENABLE(LLINT)
- HandlerInfo info = { start->bind(0, 0), end->bind(0, 0), instructions().size(), m_dynamicScopeDepth + m_baseScopeDepth, CodeLocationLabel(MacroAssemblerCodePtr::createFromExecutableAddress(bitwise_cast<void*>(&llint_op_catch))) };
-#else
- HandlerInfo info = { start->bind(0, 0), end->bind(0, 0), instructions().size(), m_dynamicScopeDepth + m_baseScopeDepth, CodeLocationLabel() };
-#endif
-#else
- HandlerInfo info = { start->bind(0, 0), end->bind(0, 0), instructions().size(), m_dynamicScopeDepth + m_baseScopeDepth };
-#endif
+
+ ASSERT_UNUSED(tryData, m_tryContextStack.last().tryData == tryData);
+
+ TryRange tryRange;
+ tryRange.start = m_tryContextStack.last().start;
+ tryRange.end = end;
+ tryRange.tryData = m_tryContextStack.last().tryData;
+ m_tryRanges.append(tryRange);
+ m_tryContextStack.removeLast();
+
+ emitLabel(tryRange.tryData->target.get());
+ tryRange.tryData->targetScopeDepth = m_dynamicScopeDepth + m_baseScopeDepth;
- m_codeBlock->addExceptionHandler(info);
emitOpcode(op_catch);
instructions().append(targetRegister->index());
return targetRegister;
}
-void BytecodeGenerator::emitThrowReferenceError(const UString& message)
+void BytecodeGenerator::emitThrowReferenceError(const String& message)
{
emitOpcode(op_throw_reference_error);
instructions().append(addConstantValue(jsString(globalData(), message))->index());
}
-void BytecodeGenerator::emitPushNewScope(RegisterID* dst, const Identifier& property, RegisterID* value)
+void BytecodeGenerator::emitPushNameScope(const Identifier& property, RegisterID* value, unsigned attributes)
{
ControlFlowContext context;
context.isFinallyBlock = false;
m_scopeContextStack.append(context);
m_dynamicScopeDepth++;
- emitOpcode(op_push_new_scope);
- instructions().append(dst->index());
+ emitOpcode(op_push_name_scope);
instructions().append(addConstant(property));
instructions().append(value->index());
+ instructions().append(attributes);
}
void BytecodeGenerator::beginSwitch(RegisterID* scrutineeRegister, SwitchInfo::SwitchType type)
@@ -2537,4 +2647,13 @@ bool BytecodeGenerator::isArgumentNumber(const Identifier& ident, int argumentNu
return registerID->index() == CallFrame::argumentOffset(argumentNumber);
}
+void BytecodeGenerator::emitReadOnlyExceptionIfNeeded()
+{
+ if (!isStrictMode())
+ return;
+
+ RefPtr<RegisterID> error = emitLoad(newTemporary(), JSValue(createTypeError(scope()->globalObject()->globalExec(), StrictModeReadonlyPropertyWriteError)));
+ emitThrow(error.get());
+}
+
} // namespace JSC
diff --git a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index 9c094414d..037a2ce25 100644
--- a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -49,7 +49,7 @@ namespace JSC {
class Identifier;
class Label;
- class ScopeChainNode;
+ class JSScope;
class CallArguments {
public:
@@ -75,6 +75,7 @@ namespace JSC {
unsigned scopeContextStackSize;
unsigned switchContextStackSize;
unsigned forInContextStackSize;
+ unsigned tryContextStackSize;
unsigned labelScopesSize;
int finallyDepth;
int dynamicScopeDepth;
@@ -92,6 +93,22 @@ namespace JSC {
RefPtr<RegisterID> propertyRegister;
};
+ struct TryData {
+ RefPtr<Label> target;
+ unsigned targetScopeDepth;
+ };
+
+ struct TryContext {
+ RefPtr<Label> start;
+ TryData* tryData;
+ };
+
+ struct TryRange {
+ RefPtr<Label> start;
+ RefPtr<Label> end;
+ TryData* tryData;
+ };
+
class ResolveResult {
public:
enum Flags {
@@ -244,9 +261,9 @@ namespace JSC {
JS_EXPORT_PRIVATE static void setDumpsGeneratedCode(bool dumpsGeneratedCode);
static bool dumpsGeneratedCode();
- BytecodeGenerator(ProgramNode*, ScopeChainNode*, SymbolTable*, ProgramCodeBlock*, CompilationKind);
- BytecodeGenerator(FunctionBodyNode*, ScopeChainNode*, SymbolTable*, CodeBlock*, CompilationKind);
- BytecodeGenerator(EvalNode*, ScopeChainNode*, SymbolTable*, EvalCodeBlock*, CompilationKind);
+ BytecodeGenerator(ProgramNode*, JSScope*, SymbolTable*, ProgramCodeBlock*, CompilationKind);
+ BytecodeGenerator(FunctionBodyNode*, JSScope*, SymbolTable*, CodeBlock*, CompilationKind);
+ BytecodeGenerator(EvalNode*, JSScope*, SymbolTable*, EvalCodeBlock*, CompilationKind);
~BytecodeGenerator();
@@ -279,8 +296,6 @@ namespace JSC {
// the next instruction may overwrite it.
RegisterID* newTemporary();
- RegisterID* highestUsedRegister();
-
// The same as newTemporary(), but this function returns "suggestion" if
// "suggestion" is a temporary. This function is helpful in situations
// where you've put "suggestion" in a RefPtr, but you'd like to allow
@@ -492,18 +507,24 @@ namespace JSC {
RegisterID* emitGetPropertyNames(RegisterID* dst, RegisterID* base, RegisterID* i, RegisterID* size, Label* breakTarget);
RegisterID* emitNextPropertyName(RegisterID* dst, RegisterID* base, RegisterID* i, RegisterID* size, RegisterID* iter, Label* target);
- RegisterID* emitCatch(RegisterID*, Label* start, Label* end);
+ void emitReadOnlyExceptionIfNeeded();
+
+ // Start a try block. 'start' must have been emitted.
+ TryData* pushTry(Label* start);
+ // End a try block. 'end' must have been emitted.
+ RegisterID* popTryAndEmitCatch(TryData*, RegisterID* targetRegister, Label* end);
+
void emitThrow(RegisterID* exc)
{
m_usesExceptions = true;
emitUnaryNoDstOp(op_throw, exc);
}
- void emitThrowReferenceError(const UString& message);
+ void emitThrowReferenceError(const String& message);
- void emitPushNewScope(RegisterID* dst, const Identifier& property, RegisterID* value);
+ void emitPushNameScope(const Identifier& property, RegisterID* value, unsigned attributes);
- RegisterID* emitPushScope(RegisterID* scope);
+ RegisterID* emitPushWithScope(RegisterID* scope);
void emitPopScope();
void emitDebugHook(DebugHookID, int firstLine, int lastLine, int column);
@@ -537,7 +558,7 @@ namespace JSC {
bool isStrictMode() const { return m_codeBlock->isStrictMode(); }
- ScopeChainNode* scopeChain() const { return m_scopeChain.get(); }
+ JSScope* scope() const { return m_scope.get(); }
private:
friend class Label;
@@ -596,7 +617,9 @@ namespace JSC {
int addGlobalVar(const Identifier&, ConstantMode, FunctionMode);
void addParameter(const Identifier&, int parameterIndex);
-
+ RegisterID* resolveCallee(FunctionBodyNode*);
+ void addCallee(FunctionBodyNode*, RegisterID*);
+
void preserveLastVar();
bool shouldAvoidResolveGlobal();
@@ -605,6 +628,9 @@ namespace JSC {
if (index >= 0)
return m_calleeRegisters[index];
+ if (index == RegisterFile::Callee)
+ return m_calleeRegister;
+
ASSERT(m_parameters.size());
return m_parameters[index + m_parameters.size() + RegisterFile::CallFrameHeaderSize];
}
@@ -615,16 +641,6 @@ namespace JSC {
unsigned addConstantBuffer(unsigned length);
- FunctionExecutable* makeFunction(ExecState* exec, FunctionBodyNode* body)
- {
- return FunctionExecutable::create(exec, body->ident(), body->inferredName(), body->source(), body->usesArguments(), body->parameters(), body->isStrictMode(), body->lineNo(), body->lastLine());
- }
-
- FunctionExecutable* makeFunction(JSGlobalData* globalData, FunctionBodyNode* body)
- {
- return FunctionExecutable::create(*globalData, body->ident(), body->inferredName(), body->source(), body->usesArguments(), body->parameters(), body->isStrictMode(), body->lineNo(), body->lastLine());
- }
-
JSString* addStringConstant(const Identifier&);
void addLineInfo(unsigned lineNo)
@@ -634,7 +650,9 @@ namespace JSC {
RegisterID* emitInitLazyRegister(RegisterID*);
+ public:
Vector<Instruction>& instructions() { return m_instructions; }
+
SymbolTable& symbolTable() { return *m_symbolTable; }
#if ENABLE(BYTECODE_COMMENTS)
Vector<Comment>& comments() { return m_comments; }
@@ -677,7 +695,7 @@ namespace JSC {
bool m_shouldEmitProfileHooks;
bool m_shouldEmitRichSourceInfo;
- Strong<ScopeChainNode> m_scopeChain;
+ Strong<JSScope> m_scope;
SymbolTable* m_symbolTable;
#if ENABLE(BYTECODE_COMMENTS)
@@ -693,6 +711,7 @@ namespace JSC {
HashSet<RefPtr<StringImpl>, IdentifierRepHash> m_functions;
RegisterID m_ignoredResultRegister;
RegisterID m_thisRegister;
+ RegisterID m_calleeRegister;
RegisterID* m_activationRegister;
SegmentedVector<RegisterID, 32> m_constantPoolRegisters;
SegmentedVector<RegisterID, 32> m_calleeRegisters;
@@ -708,6 +727,10 @@ namespace JSC {
Vector<ControlFlowContext> m_scopeContextStack;
Vector<SwitchInfo> m_switchContextStack;
Vector<ForInContext> m_forInContextStack;
+ Vector<TryContext> m_tryContextStack;
+
+ Vector<TryRange> m_tryRanges;
+ SegmentedVector<TryData, 8> m_tryData;
int m_firstConstantIndex;
int m_nextConstantOffset;
diff --git a/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp b/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
index 249f822e2..63f4657c9 100644
--- a/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
+++ b/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
@@ -34,7 +34,7 @@
#include "JIT.h"
#include "JSFunction.h"
#include "JSGlobalObject.h"
-#include "JSStaticScopeObject.h"
+#include "JSNameScope.h"
#include "LabelScope.h"
#include "Lexer.h"
#include "Operations.h"
@@ -43,7 +43,6 @@
#include "RegExpCache.h"
#include "RegExpObject.h"
#include "SamplingTool.h"
-#include "UStringConcatenate.h"
#include <wtf/Assertions.h>
#include <wtf/RefCountedLeakCounter.h>
#include <wtf/Threading.h>
@@ -77,7 +76,7 @@ namespace JSC {
// ------------------------------ ThrowableExpressionData --------------------------------
-RegisterID* ThrowableExpressionData::emitThrowReferenceError(BytecodeGenerator& generator, const UString& message)
+RegisterID* ThrowableExpressionData::emitThrowReferenceError(BytecodeGenerator& generator, const String& message)
{
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
generator.emitThrowReferenceError(message);
@@ -126,7 +125,7 @@ RegisterID* RegExpNode::emitBytecode(BytecodeGenerator& generator, RegisterID* d
{
if (dst == generator.ignoredResult())
return 0;
- return generator.emitNewRegExp(generator.finalDestination(dst), RegExp::create(*generator.globalData(), m_pattern.ustring(), regExpFlags(m_flags.ustring())));
+ return generator.emitNewRegExp(generator.finalDestination(dst), RegExp::create(*generator.globalData(), m_pattern.string(), regExpFlags(m_flags.string())));
}
// ------------------------------ ThisNode -------------------------------------
@@ -591,7 +590,7 @@ RegisterID* ApplyFunctionCallDotNode::emitBytecode(BytecodeGenerator& generator,
return finalDestinationOrIgnored.get();
}
-// ------------------------------ PostfixResolveNode ----------------------------------
+// ------------------------------ PostfixNode ----------------------------------
static RegisterID* emitPreIncOrDec(BytecodeGenerator& generator, RegisterID* srcDst, Operator oper)
{
@@ -605,14 +604,17 @@ static RegisterID* emitPostIncOrDec(BytecodeGenerator& generator, RegisterID* ds
return (oper == OpPlusPlus) ? generator.emitPostInc(dst, srcDst) : generator.emitPostDec(dst, srcDst);
}
-RegisterID* PostfixResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
+RegisterID* PostfixNode::emitResolve(BytecodeGenerator& generator, RegisterID* dst)
{
- ResolveResult resolveResult = generator.resolve(m_ident);
+ ASSERT(m_expr->isResolveNode());
+ ResolveNode* resolve = static_cast<ResolveNode*>(m_expr);
+ const Identifier& ident = resolve->identifier();
+
+ ResolveResult resolveResult = generator.resolve(ident);
if (RegisterID* local = resolveResult.local()) {
if (resolveResult.isReadOnly()) {
- if (dst == generator.ignoredResult())
- return 0;
+ generator.emitReadOnlyExceptionIfNeeded();
return generator.emitToJSNumber(generator.finalDestination(dst), local);
}
if (dst == generator.ignoredResult())
@@ -621,83 +623,88 @@ RegisterID* PostfixResolveNode::emitBytecode(BytecodeGenerator& generator, Regis
}
if (resolveResult.isStatic() && !resolveResult.isReadOnly()) {
- RefPtr<RegisterID> value = generator.emitGetStaticVar(generator.newTemporary(), resolveResult, m_ident);
+ RefPtr<RegisterID> value = generator.emitGetStaticVar(generator.newTemporary(), resolveResult, ident);
RegisterID* oldValue;
if (dst == generator.ignoredResult()) {
oldValue = 0;
emitPreIncOrDec(generator, value.get(), m_operator);
- } else {
+ } else
oldValue = emitPostIncOrDec(generator, generator.finalDestination(dst), value.get(), m_operator);
- }
- generator.emitPutStaticVar(resolveResult, m_ident, value.get());
+ generator.emitPutStaticVar(resolveResult, ident, value.get());
return oldValue;
}
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
RefPtr<RegisterID> value = generator.newTemporary();
- RefPtr<RegisterID> base = generator.emitResolveWithBase(generator.newTemporary(), value.get(), resolveResult, m_ident);
+ RefPtr<RegisterID> base = generator.emitResolveWithBase(generator.newTemporary(), value.get(), resolveResult, ident);
RegisterID* oldValue;
if (dst == generator.ignoredResult()) {
oldValue = 0;
emitPreIncOrDec(generator, value.get(), m_operator);
- } else {
+ } else
oldValue = emitPostIncOrDec(generator, generator.finalDestination(dst), value.get(), m_operator);
- }
- generator.emitPutById(base.get(), m_ident, value.get());
+ generator.emitPutById(base.get(), ident, value.get());
return oldValue;
}
-// ------------------------------ PostfixBracketNode ----------------------------------
-
-RegisterID* PostfixBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
+RegisterID* PostfixNode::emitBracket(BytecodeGenerator& generator, RegisterID* dst)
{
- RefPtr<RegisterID> base = generator.emitNode(m_base);
- RefPtr<RegisterID> property = generator.emitNode(m_subscript);
+ ASSERT(m_expr->isBracketAccessorNode());
+ BracketAccessorNode* bracketAccessor = static_cast<BracketAccessorNode*>(m_expr);
+ ExpressionNode* baseNode = bracketAccessor->base();
+ ExpressionNode* subscript = bracketAccessor->subscript();
- generator.emitExpressionInfo(divot() - m_subexpressionDivotOffset, startOffset() - m_subexpressionDivotOffset, m_subexpressionEndOffset);
+ RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(baseNode, bracketAccessor->subscriptHasAssignments(), subscript->isPure(generator));
+ RefPtr<RegisterID> property = generator.emitNode(subscript);
+
+ generator.emitExpressionInfo(bracketAccessor->divot(), bracketAccessor->startOffset(), bracketAccessor->endOffset());
RefPtr<RegisterID> value = generator.emitGetByVal(generator.newTemporary(), base.get(), property.get());
- RegisterID* oldValue;
if (dst == generator.ignoredResult()) {
- oldValue = 0;
- if (m_operator == OpPlusPlus)
- generator.emitPreInc(value.get());
- else
- generator.emitPreDec(value.get());
- } else {
- oldValue = (m_operator == OpPlusPlus) ? generator.emitPostInc(generator.finalDestination(dst), value.get()) : generator.emitPostDec(generator.finalDestination(dst), value.get());
+ emitPreIncOrDec(generator, value.get(), m_operator);
+ generator.emitExpressionInfo(divot(), startOffset(), endOffset());
+ generator.emitPutByVal(base.get(), property.get(), value.get());
+ return 0;
}
+ RegisterID* oldValue = emitPostIncOrDec(generator, generator.tempDestination(dst), value.get(), m_operator);
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
generator.emitPutByVal(base.get(), property.get(), value.get());
- return oldValue;
+ return generator.moveToDestinationIfNeeded(dst, oldValue);
}
-// ------------------------------ PostfixDotNode ----------------------------------
-
-RegisterID* PostfixDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
+RegisterID* PostfixNode::emitDot(BytecodeGenerator& generator, RegisterID* dst)
{
- RefPtr<RegisterID> base = generator.emitNode(m_base);
+ ASSERT(m_expr->isDotAccessorNode());
+ DotAccessorNode* dotAccessor = static_cast<DotAccessorNode*>(m_expr);
+ ExpressionNode* baseNode = dotAccessor->base();
+ const Identifier& ident = dotAccessor->identifier();
- generator.emitExpressionInfo(divot() - m_subexpressionDivotOffset, startOffset() - m_subexpressionDivotOffset, m_subexpressionEndOffset);
- RefPtr<RegisterID> value = generator.emitGetById(generator.newTemporary(), base.get(), m_ident);
- RegisterID* oldValue;
+ RefPtr<RegisterID> base = generator.emitNode(baseNode);
+
+ generator.emitExpressionInfo(dotAccessor->divot(), dotAccessor->startOffset(), dotAccessor->endOffset());
+ RefPtr<RegisterID> value = generator.emitGetById(generator.newTemporary(), base.get(), ident);
if (dst == generator.ignoredResult()) {
- oldValue = 0;
- if (m_operator == OpPlusPlus)
- generator.emitPreInc(value.get());
- else
- generator.emitPreDec(value.get());
- } else {
- oldValue = (m_operator == OpPlusPlus) ? generator.emitPostInc(generator.finalDestination(dst), value.get()) : generator.emitPostDec(generator.finalDestination(dst), value.get());
+ emitPreIncOrDec(generator, value.get(), m_operator);
+ generator.emitExpressionInfo(divot(), startOffset(), endOffset());
+ generator.emitPutById(base.get(), ident, value.get());
+ return 0;
}
+ RegisterID* oldValue = emitPostIncOrDec(generator, generator.tempDestination(dst), value.get(), m_operator);
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
- generator.emitPutById(base.get(), m_ident, value.get());
- return oldValue;
+ generator.emitPutById(base.get(), ident, value.get());
+ return generator.moveToDestinationIfNeeded(dst, oldValue);
}
-// ------------------------------ PostfixErrorNode -----------------------------------
-
-RegisterID* PostfixErrorNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
+RegisterID* PostfixNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
{
+ if (m_expr->isResolveNode())
+ return emitResolve(generator, dst);
+
+ if (m_expr->isBracketAccessorNode())
+ return emitBracket(generator, dst);
+
+ if (m_expr->isDotAccessorNode())
+ return emitDot(generator, dst);
+
return emitThrowReferenceError(generator, m_operator == OpPlusPlus
? "Postfix ++ operator applied to value that is not a reference."
: "Postfix -- operator applied to value that is not a reference.");
@@ -789,78 +796,91 @@ RegisterID* TypeOfValueNode::emitBytecode(BytecodeGenerator& generator, Register
return generator.emitTypeOf(generator.finalDestination(dst), src.get());
}
-// ------------------------------ PrefixResolveNode ----------------------------------
+// ------------------------------ PrefixNode ----------------------------------
-RegisterID* PrefixResolveNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
+RegisterID* PrefixNode::emitResolve(BytecodeGenerator& generator, RegisterID* dst)
{
- ResolveResult resolveResult = generator.resolve(m_ident);
+ ASSERT(m_expr->isResolveNode());
+ ResolveNode* resolve = static_cast<ResolveNode*>(m_expr);
+ const Identifier& ident = resolve->identifier();
+
+ ResolveResult resolveResult = generator.resolve(ident);
if (RegisterID* local = resolveResult.local()) {
if (resolveResult.isReadOnly()) {
+ generator.emitReadOnlyExceptionIfNeeded();
if (dst == generator.ignoredResult())
- return 0;
- RefPtr<RegisterID> r0 = generator.emitLoad(generator.finalDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0);
- return generator.emitBinaryOp(op_add, r0.get(), local, r0.get(), OperandTypes());
+ return generator.emitToJSNumber(generator.newTemporary(), local);
+ RefPtr<RegisterID> r0 = generator.emitLoad(generator.tempDestination(dst), (m_operator == OpPlusPlus) ? 1.0 : -1.0);
+ generator.emitBinaryOp(op_add, r0.get(), local, r0.get(), OperandTypes());
+ return generator.moveToDestinationIfNeeded(dst, r0.get());
}
emitPreIncOrDec(generator, local, m_operator);
return generator.moveToDestinationIfNeeded(dst, local);
}
if (resolveResult.isStatic() && !resolveResult.isReadOnly()) {
- RefPtr<RegisterID> propDst = generator.emitGetStaticVar(generator.tempDestination(dst), resolveResult, m_ident);
+ RefPtr<RegisterID> propDst = generator.emitGetStaticVar(generator.tempDestination(dst), resolveResult, ident);
emitPreIncOrDec(generator, propDst.get(), m_operator);
- generator.emitPutStaticVar(resolveResult, m_ident, propDst.get());
+ generator.emitPutStaticVar(resolveResult, ident, propDst.get());
return generator.moveToDestinationIfNeeded(dst, propDst.get());
}
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
RefPtr<RegisterID> propDst = generator.tempDestination(dst);
- RefPtr<RegisterID> base = generator.emitResolveWithBase(generator.newTemporary(), propDst.get(), resolveResult, m_ident);
+ RefPtr<RegisterID> base = generator.emitResolveWithBase(generator.newTemporary(), propDst.get(), resolveResult, ident);
emitPreIncOrDec(generator, propDst.get(), m_operator);
- generator.emitPutById(base.get(), m_ident, propDst.get());
+ generator.emitPutById(base.get(), ident, propDst.get());
return generator.moveToDestinationIfNeeded(dst, propDst.get());
}
-// ------------------------------ PrefixBracketNode ----------------------------------
-
-RegisterID* PrefixBracketNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
+RegisterID* PrefixNode::emitBracket(BytecodeGenerator& generator, RegisterID* dst)
{
- RefPtr<RegisterID> base = generator.emitNode(m_base);
- RefPtr<RegisterID> property = generator.emitNode(m_subscript);
+ ASSERT(m_expr->isBracketAccessorNode());
+ BracketAccessorNode* bracketAccessor = static_cast<BracketAccessorNode*>(m_expr);
+ ExpressionNode* baseNode = bracketAccessor->base();
+ ExpressionNode* subscript = bracketAccessor->subscript();
+
+ RefPtr<RegisterID> base = generator.emitNodeForLeftHandSide(baseNode, bracketAccessor->subscriptHasAssignments(), subscript->isPure(generator));
+ RefPtr<RegisterID> property = generator.emitNode(subscript);
RefPtr<RegisterID> propDst = generator.tempDestination(dst);
- generator.emitExpressionInfo(divot() + m_subexpressionDivotOffset, m_subexpressionStartOffset, endOffset() - m_subexpressionDivotOffset);
+ generator.emitExpressionInfo(bracketAccessor->divot(), bracketAccessor->startOffset(), bracketAccessor->endOffset());
RegisterID* value = generator.emitGetByVal(propDst.get(), base.get(), property.get());
- if (m_operator == OpPlusPlus)
- generator.emitPreInc(value);
- else
- generator.emitPreDec(value);
+ emitPreIncOrDec(generator, value, m_operator);
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
generator.emitPutByVal(base.get(), property.get(), value);
return generator.moveToDestinationIfNeeded(dst, propDst.get());
}
-// ------------------------------ PrefixDotNode ----------------------------------
-
-RegisterID* PrefixDotNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
+RegisterID* PrefixNode::emitDot(BytecodeGenerator& generator, RegisterID* dst)
{
- RefPtr<RegisterID> base = generator.emitNode(m_base);
+ ASSERT(m_expr->isDotAccessorNode());
+ DotAccessorNode* dotAccessor = static_cast<DotAccessorNode*>(m_expr);
+ ExpressionNode* baseNode = dotAccessor->base();
+ const Identifier& ident = dotAccessor->identifier();
+
+ RefPtr<RegisterID> base = generator.emitNode(baseNode);
RefPtr<RegisterID> propDst = generator.tempDestination(dst);
- generator.emitExpressionInfo(divot() + m_subexpressionDivotOffset, m_subexpressionStartOffset, endOffset() - m_subexpressionDivotOffset);
- RegisterID* value = generator.emitGetById(propDst.get(), base.get(), m_ident);
- if (m_operator == OpPlusPlus)
- generator.emitPreInc(value);
- else
- generator.emitPreDec(value);
+ generator.emitExpressionInfo(dotAccessor->divot(), dotAccessor->startOffset(), dotAccessor->endOffset());
+ RegisterID* value = generator.emitGetById(propDst.get(), base.get(), ident);
+ emitPreIncOrDec(generator, value, m_operator);
generator.emitExpressionInfo(divot(), startOffset(), endOffset());
- generator.emitPutById(base.get(), m_ident, value);
+ generator.emitPutById(base.get(), ident, value);
return generator.moveToDestinationIfNeeded(dst, propDst.get());
}
-// ------------------------------ PrefixErrorNode -----------------------------------
-
-RegisterID* PrefixErrorNode::emitBytecode(BytecodeGenerator& generator, RegisterID*)
+RegisterID* PrefixNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
{
+ if (m_expr->isResolveNode())
+ return emitResolve(generator, dst);
+
+ if (m_expr->isBracketAccessorNode())
+ return emitBracket(generator, dst);
+
+ if (m_expr->isDotAccessorNode())
+ return emitDot(generator, dst);
+
return emitThrowReferenceError(generator, m_operator == OpPlusPlus
? "Prefix ++ operator applied to value that is not a reference."
: "Prefix -- operator applied to value that is not a reference.");
@@ -1213,8 +1233,10 @@ RegisterID* ReadModifyResolveNode::emitBytecode(BytecodeGenerator& generator, Re
ResolveResult resolveResult = generator.resolve(m_ident);
if (RegisterID *local = resolveResult.local()) {
- if (resolveResult.isReadOnly())
+ if (resolveResult.isReadOnly()) {
+ generator.emitReadOnlyExceptionIfNeeded();
return emitReadModifyAssignment(generator, generator.finalDestination(dst), local, m_right, m_operator, OperandTypes(ResultType::unknownType(), m_right->resultDescriptor()));
+ }
if (generator.leftHandSideNeedsCopy(m_rightHasAssignments, m_right->isPure(generator))) {
RefPtr<RegisterID> result = generator.newTemporary();
@@ -1249,8 +1271,10 @@ RegisterID* AssignResolveNode::emitBytecode(BytecodeGenerator& generator, Regist
ResolveResult resolveResult = generator.resolve(m_ident);
if (RegisterID *local = resolveResult.local()) {
- if (resolveResult.isReadOnly())
+ if (resolveResult.isReadOnly()) {
+ generator.emitReadOnlyExceptionIfNeeded();
return generator.emitNode(dst, m_right);
+ }
RegisterID* result = generator.emitNode(local, m_right);
return generator.moveToDestinationIfNeeded(dst, result);
}
@@ -1757,11 +1781,10 @@ RegisterID* ReturnNode::emitBytecode(BytecodeGenerator& generator, RegisterID* d
RegisterID* WithNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
{
generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine(), column());
-
- RefPtr<RegisterID> scope = generator.newTemporary();
- generator.emitNode(scope.get(), m_expr); // scope must be protected until popped
+
+ RefPtr<RegisterID> scope = generator.emitNode(m_expr);
generator.emitExpressionInfo(m_divot, m_expressionLength, 0);
- generator.emitPushScope(scope.get());
+ generator.emitPushWithScope(scope.get());
RegisterID* result = generator.emitNode(dst, m_statement);
generator.emitPopScope();
return result;
@@ -1808,7 +1831,7 @@ static void processClauseList(ClauseListNode* list, Vector<ExpressionNode*, 8>&
typeForTable = SwitchNeither;
break;
}
- const UString& value = static_cast<StringNode*>(clauseExpression)->value().ustring();
+ const String& value = static_cast<StringNode*>(clauseExpression)->value().string();
if (singleCharacterSwitch &= value.length() == 1) {
int32_t intVal = value[0];
if (intVal < min_num)
@@ -1970,11 +1993,15 @@ RegisterID* TryNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
generator.emitDebugHook(WillExecuteStatement, firstLine(), lastLine(), column());
+ ASSERT(m_catchBlock || m_finallyBlock);
+
RefPtr<Label> tryStartLabel = generator.newLabel();
+ generator.emitLabel(tryStartLabel.get());
+
if (m_finallyBlock)
generator.pushFinallyContext(m_finallyBlock);
+ TryData* tryData = generator.pushTry(tryStartLabel.get());
- generator.emitLabel(tryStartLabel.get());
generator.emitNode(dst, m_tryBlock);
if (m_catchBlock) {
@@ -1985,14 +2012,23 @@ RegisterID* TryNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
// Uncaught exception path: the catch block.
RefPtr<Label> here = generator.emitLabel(generator.newLabel().get());
- RefPtr<RegisterID> exceptionRegister = generator.emitCatch(generator.newTemporary(), tryStartLabel.get(), here.get());
- generator.emitPushNewScope(exceptionRegister.get(), m_exceptionIdent, exceptionRegister.get());
+ RefPtr<RegisterID> exceptionRegister = generator.popTryAndEmitCatch(tryData, generator.newTemporary(), here.get());
+
+ if (m_finallyBlock) {
+ // If the catch block throws an exception and we have a finally block, then the finally
+ // block should "catch" that exception.
+ tryData = generator.pushTry(here.get());
+ }
+
+ generator.emitPushNameScope(m_exceptionIdent, exceptionRegister.get(), DontDelete);
generator.emitNode(dst, m_catchBlock);
generator.emitPopScope();
generator.emitLabel(catchEndLabel.get());
}
if (m_finallyBlock) {
+ RefPtr<Label> preFinallyLabel = generator.emitLabel(generator.newLabel().get());
+
generator.popFinallyContext();
RefPtr<Label> finallyEndLabel = generator.newLabel();
@@ -2002,8 +2038,7 @@ RegisterID* TryNode::emitBytecode(BytecodeGenerator& generator, RegisterID* dst)
generator.emitJump(finallyEndLabel.get());
// Uncaught exception path: invoke the finally block, then re-throw the exception.
- RefPtr<Label> here = generator.emitLabel(generator.newLabel().get());
- RefPtr<RegisterID> tempExceptionRegister = generator.emitCatch(generator.newTemporary(), tryStartLabel.get(), here.get());
+ RefPtr<RegisterID> tempExceptionRegister = generator.popTryAndEmitCatch(tryData, generator.newTemporary(), preFinallyLabel.get());
generator.emitNode(dst, m_finallyBlock);
generator.emitThrow(tempExceptionRegister.get());
diff --git a/Source/JavaScriptCore/config.h b/Source/JavaScriptCore/config.h
index 7f7eda0f1..68ebc960d 100644
--- a/Source/JavaScriptCore/config.h
+++ b/Source/JavaScriptCore/config.h
@@ -57,9 +57,9 @@
#ifndef _CRT_RAND_S
#define _CRT_RAND_S
#endif
-#endif
+#endif // !COMPILER(MSVC7_OR_LOWER) && !OS(WINCE)
-#endif
+#endif // OS(WINDOWS)
#define WTF_CHANGES 1
diff --git a/Source/JavaScriptCore/debugger/Debugger.cpp b/Source/JavaScriptCore/debugger/Debugger.cpp
index 0a66d6f34..5d7a9b109 100644
--- a/Source/JavaScriptCore/debugger/Debugger.cpp
+++ b/Source/JavaScriptCore/debugger/Debugger.cpp
@@ -59,7 +59,7 @@ inline Recompiler::~Recompiler()
// JavaScript in the inspector.
SourceProviderMap::const_iterator end = m_sourceProviders.end();
for (SourceProviderMap::const_iterator iter = m_sourceProviders.begin(); iter != end; ++iter)
- m_debugger->sourceParsed(iter->second, iter->first, -1, UString());
+ m_debugger->sourceParsed(iter->second, iter->first, -1, String());
}
inline void Recompiler::operator()(JSCell* cell)
@@ -78,9 +78,9 @@ inline void Recompiler::operator()(JSCell* cell)
if (!m_functionExecutables.add(executable).isNewEntry)
return;
- ExecState* exec = function->scope()->globalObject->JSGlobalObject::globalExec();
+ ExecState* exec = function->scope()->globalObject()->JSGlobalObject::globalExec();
executable->clearCodeIfNotCompiling();
- if (m_debugger == function->scope()->globalObject->debugger())
+ if (m_debugger == function->scope()->globalObject()->debugger())
m_sourceProviders.add(executable->source().provider(), exec);
}
@@ -121,7 +121,7 @@ void Debugger::recompileAllJSFunctions(JSGlobalData* globalData)
globalData->heap.objectSpace().forEachCell(recompiler);
}
-JSValue evaluateInGlobalCallFrame(const UString& script, JSValue& exception, JSGlobalObject* globalObject)
+JSValue evaluateInGlobalCallFrame(const String& script, JSValue& exception, JSGlobalObject* globalObject)
{
CallFrame* globalCallFrame = globalObject->globalExec();
JSGlobalData& globalData = globalObject->globalData();
@@ -133,7 +133,7 @@ JSValue evaluateInGlobalCallFrame(const UString& script, JSValue& exception, JSG
return exception;
}
- JSValue result = globalData.interpreter->execute(eval, globalCallFrame, globalObject, globalCallFrame->scopeChain());
+ JSValue result = globalData.interpreter->execute(eval, globalCallFrame, globalObject, globalCallFrame->scope());
if (globalData.exception) {
exception = globalData.exception;
globalData.exception = JSValue();
diff --git a/Source/JavaScriptCore/debugger/Debugger.h b/Source/JavaScriptCore/debugger/Debugger.h
index bc743677e..3c4a4ed76 100644
--- a/Source/JavaScriptCore/debugger/Debugger.h
+++ b/Source/JavaScriptCore/debugger/Debugger.h
@@ -32,7 +32,6 @@ namespace JSC {
class JSGlobalObject;
class JSValue;
class SourceProvider;
- class UString;
class JS_EXPORT_PRIVATE Debugger {
public:
@@ -41,7 +40,7 @@ namespace JSC {
void attach(JSGlobalObject*);
virtual void detach(JSGlobalObject*);
- virtual void sourceParsed(ExecState*, SourceProvider*, int errorLineNumber, const UString& errorMessage) = 0;
+ virtual void sourceParsed(ExecState*, SourceProvider*, int errorLineNumber, const WTF::String& errorMessage) = 0;
virtual void exception(const DebuggerCallFrame&, intptr_t, int, int, bool) = 0;
virtual void atStatement(const DebuggerCallFrame&, intptr_t, int, int) = 0;
@@ -60,7 +59,7 @@ namespace JSC {
};
// This function exists only for backwards compatibility with existing WebScriptDebugger clients.
- JS_EXPORT_PRIVATE JSValue evaluateInGlobalCallFrame(const UString&, JSValue& exception, JSGlobalObject*);
+ JS_EXPORT_PRIVATE JSValue evaluateInGlobalCallFrame(const WTF::String&, JSValue& exception, JSGlobalObject*);
} // namespace JSC
diff --git a/Source/JavaScriptCore/debugger/DebuggerActivation.cpp b/Source/JavaScriptCore/debugger/DebuggerActivation.cpp
index 3c8212f46..e23468035 100644
--- a/Source/JavaScriptCore/debugger/DebuggerActivation.cpp
+++ b/Source/JavaScriptCore/debugger/DebuggerActivation.cpp
@@ -53,13 +53,12 @@ void DebuggerActivation::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
- JSObject::visitChildren(thisObject, visitor);
- if (thisObject->m_activation)
- visitor.append(&thisObject->m_activation);
+ JSObject::visitChildren(thisObject, visitor);
+ visitor.append(&thisObject->m_activation);
}
-UString DebuggerActivation::className(const JSObject* object)
+String DebuggerActivation::className(const JSObject* object)
{
const DebuggerActivation* thisObject = jsCast<const DebuggerActivation*>(object);
return thisObject->m_activation->methodTable()->className(thisObject->m_activation.get());
diff --git a/Source/JavaScriptCore/debugger/DebuggerActivation.h b/Source/JavaScriptCore/debugger/DebuggerActivation.h
index 07d20141f..c934407fc 100644
--- a/Source/JavaScriptCore/debugger/DebuggerActivation.h
+++ b/Source/JavaScriptCore/debugger/DebuggerActivation.h
@@ -42,7 +42,7 @@ namespace JSC {
}
static void visitChildren(JSCell*, SlotVisitor&);
- static UString className(const JSObject*);
+ static String className(const JSObject*);
static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);
static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
static void putDirectVirtual(JSObject*, ExecState*, PropertyName, JSValue, unsigned attributes);
diff --git a/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp b/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
index a48e7d156..97e792b6d 100644
--- a/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
+++ b/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
@@ -36,7 +36,7 @@
namespace JSC {
-const UString* DebuggerCallFrame::functionName() const
+const String* DebuggerCallFrame::functionName() const
{
if (!m_callFrame->codeBlock())
return 0;
@@ -50,15 +50,15 @@ const UString* DebuggerCallFrame::functionName() const
return &jsCast<JSFunction*>(function)->name(m_callFrame);
}
-UString DebuggerCallFrame::calculatedFunctionName() const
+String DebuggerCallFrame::calculatedFunctionName() const
{
if (!m_callFrame->codeBlock())
- return UString();
+ return String();
JSObject* function = m_callFrame->callee();
if (!function)
- return UString();
+ return String();
return getCalculatedDisplayName(m_callFrame, function);
}
@@ -84,7 +84,7 @@ JSObject* DebuggerCallFrame::thisObject() const
return asObject(thisValue);
}
-JSValue DebuggerCallFrame::evaluate(const UString& script, JSValue& exception) const
+JSValue DebuggerCallFrame::evaluate(const String& script, JSValue& exception) const
{
if (!m_callFrame->codeBlock())
return JSValue();
@@ -96,7 +96,7 @@ JSValue DebuggerCallFrame::evaluate(const UString& script, JSValue& exception) c
globalData.exception = JSValue();
}
- JSValue result = globalData.interpreter->execute(eval, m_callFrame, thisObject(), m_callFrame->scopeChain());
+ JSValue result = globalData.interpreter->execute(eval, m_callFrame, thisObject(), m_callFrame->scope());
if (globalData.exception) {
exception = globalData.exception;
globalData.exception = JSValue();
diff --git a/Source/JavaScriptCore/debugger/DebuggerCallFrame.h b/Source/JavaScriptCore/debugger/DebuggerCallFrame.h
index dca7487c0..1a9fb0277 100644
--- a/Source/JavaScriptCore/debugger/DebuggerCallFrame.h
+++ b/Source/JavaScriptCore/debugger/DebuggerCallFrame.h
@@ -50,12 +50,12 @@ namespace JSC {
CallFrame* callFrame() const { return m_callFrame; }
JSGlobalObject* dynamicGlobalObject() const { return m_callFrame->dynamicGlobalObject(); }
- ScopeChainNode* scopeChain() const { return m_callFrame->scopeChain(); }
- JS_EXPORT_PRIVATE const UString* functionName() const;
- JS_EXPORT_PRIVATE UString calculatedFunctionName() const;
+ JSScope* scope() const { return m_callFrame->scope(); }
+ JS_EXPORT_PRIVATE const String* functionName() const;
+ JS_EXPORT_PRIVATE String calculatedFunctionName() const;
JS_EXPORT_PRIVATE Type type() const;
JS_EXPORT_PRIVATE JSObject* thisObject() const;
- JS_EXPORT_PRIVATE JSValue evaluate(const UString&, JSValue& exception) const;
+ JS_EXPORT_PRIVATE JSValue evaluate(const String&, JSValue& exception) const;
JSValue exception() const { return m_exception; }
private:
diff --git a/Source/JavaScriptCore/dfg/DFGAbstractState.cpp b/Source/JavaScriptCore/dfg/DFGAbstractState.cpp
index 43b5a03f3..5f79f666f 100644
--- a/Source/JavaScriptCore/dfg/DFGAbstractState.cpp
+++ b/Source/JavaScriptCore/dfg/DFGAbstractState.cpp
@@ -108,24 +108,6 @@ void AbstractState::initialize(Graph& graph)
root->valuesAtHead.argument(i).set(SpecInt32);
else if (isBooleanSpeculation(prediction))
root->valuesAtHead.argument(i).set(SpecBoolean);
- else if (isInt8ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecInt8Array);
- else if (isInt16ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecInt16Array);
- else if (isInt32ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecInt32Array);
- else if (isUint8ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecUint8Array);
- else if (isUint8ClampedArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecUint8ClampedArray);
- else if (isUint16ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecUint16Array);
- else if (isUint32ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecUint32Array);
- else if (isFloat32ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecFloat32Array);
- else if (isFloat64ArraySpeculation(prediction))
- root->valuesAtHead.argument(i).set(SpecFloat64Array);
else if (isCellSpeculation(prediction))
root->valuesAtHead.argument(i).set(SpecCell);
else
@@ -626,14 +608,9 @@ bool AbstractState::execute(unsigned indexInBlock)
Node& child = m_graph[node.child1()];
if (isBooleanSpeculation(child.prediction()))
speculateBooleanUnary(node);
- else if (child.shouldSpeculateFinalObjectOrOther()) {
- node.setCanExit(
- !isFinalObjectOrOtherSpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecFinalObject | SpecOther);
- } else if (child.shouldSpeculateArrayOrOther()) {
- node.setCanExit(
- !isArrayOrOtherSpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecArray | SpecOther);
+ else if (child.shouldSpeculateNonStringCellOrOther()) {
+ node.setCanExit(true);
+ forNode(node.child1()).filter((SpecCell & ~SpecString) | SpecOther);
} else if (child.shouldSpeculateInteger())
speculateInt32Unary(node);
else if (child.shouldSpeculateNumber())
@@ -751,45 +728,32 @@ bool AbstractState::execute(unsigned indexInBlock)
break;
}
- if (Node::shouldSpeculateFinalObject(left, right)) {
- filter = SpecFinalObject;
- checker = isFinalObjectSpeculation;
- } else if (Node::shouldSpeculateArray(left, right)) {
- filter = SpecArray;
- checker = isArraySpeculation;
- } else if (left.shouldSpeculateFinalObject() && right.shouldSpeculateFinalObjectOrOther()) {
- node.setCanExit(
- !isFinalObjectSpeculation(forNode(node.child1()).m_type)
- || !isFinalObjectOrOtherSpeculation(forNode(node.child2()).m_type));
- forNode(node.child1()).filter(SpecFinalObject);
- forNode(node.child2()).filter(SpecFinalObject | SpecOther);
+ if (left.shouldSpeculateString() || right.shouldSpeculateString()) {
+ node.setCanExit(false);
break;
- } else if (right.shouldSpeculateFinalObject() && left.shouldSpeculateFinalObjectOrOther()) {
- node.setCanExit(
- !isFinalObjectOrOtherSpeculation(forNode(node.child1()).m_type)
- || !isFinalObjectSpeculation(forNode(node.child2()).m_type));
- forNode(node.child1()).filter(SpecFinalObject | SpecOther);
- forNode(node.child2()).filter(SpecFinalObject);
+ }
+ if (left.shouldSpeculateNonStringCell() && right.shouldSpeculateNonStringCellOrOther()) {
+ node.setCanExit(true);
+ forNode(node.child1()).filter(SpecCell & ~SpecString);
+ forNode(node.child2()).filter((SpecCell & ~SpecString) | SpecOther);
break;
- } else if (left.shouldSpeculateArray() && right.shouldSpeculateArrayOrOther()) {
- node.setCanExit(
- !isArraySpeculation(forNode(node.child1()).m_type)
- || !isArrayOrOtherSpeculation(forNode(node.child2()).m_type));
- forNode(node.child1()).filter(SpecArray);
- forNode(node.child2()).filter(SpecArray | SpecOther);
+ }
+ if (left.shouldSpeculateNonStringCellOrOther() && right.shouldSpeculateNonStringCell()) {
+ node.setCanExit(true);
+ forNode(node.child1()).filter((SpecCell & ~SpecString) | SpecOther);
+ forNode(node.child2()).filter(SpecCell & ~SpecString);
break;
- } else if (right.shouldSpeculateArray() && left.shouldSpeculateArrayOrOther()) {
- node.setCanExit(
- !isArrayOrOtherSpeculation(forNode(node.child1()).m_type)
- || !isArraySpeculation(forNode(node.child2()).m_type));
- forNode(node.child1()).filter(SpecArray | SpecOther);
- forNode(node.child2()).filter(SpecArray);
+ }
+ if (left.shouldSpeculateNonStringCell() && right.shouldSpeculateNonStringCell()) {
+ node.setCanExit(true);
+ forNode(node.child1()).filter(SpecCell & ~SpecString);
+ forNode(node.child2()).filter(SpecCell & ~SpecString);
break;
- } else {
- filter = SpecTop;
- checker = isAnySpeculation;
- clobberWorld(node.codeOrigin, indexInBlock);
}
+
+ filter = SpecTop;
+ checker = isAnySpeculation;
+ clobberWorld(node.codeOrigin, indexInBlock);
} else {
filter = SpecTop;
checker = isAnySpeculation;
@@ -837,22 +801,16 @@ bool AbstractState::execute(unsigned indexInBlock)
speculateNumberBinary(node);
break;
}
- if (Node::shouldSpeculateFinalObject(
- m_graph[node.child1()], m_graph[node.child2()])) {
- node.setCanExit(
- !isFinalObjectSpeculation(forNode(node.child1()).m_type)
- || !isFinalObjectSpeculation(forNode(node.child2()).m_type));
- forNode(node.child1()).filter(SpecFinalObject);
- forNode(node.child2()).filter(SpecFinalObject);
+ Node& leftNode = m_graph[node.child1()];
+ Node& rightNode = m_graph[node.child2()];
+ if (leftNode.shouldSpeculateString() || rightNode.shouldSpeculateString()) {
+ node.setCanExit(false);
break;
}
- if (Node::shouldSpeculateArray(
- m_graph[node.child1()], m_graph[node.child2()])) {
- node.setCanExit(
- !isArraySpeculation(forNode(node.child1()).m_type)
- || !isArraySpeculation(forNode(node.child2()).m_type));
- forNode(node.child1()).filter(SpecArray);
- forNode(node.child2()).filter(SpecArray);
+ if (leftNode.shouldSpeculateNonStringCell() && rightNode.shouldSpeculateNonStringCell()) {
+ node.setCanExit(true);
+ forNode(node.child1()).filter((SpecCell & ~SpecString) | SpecOther);
+ forNode(node.child2()).filter((SpecCell & ~SpecString) | SpecOther);
break;
}
node.setCanExit(false);
@@ -887,55 +845,47 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(nodeIndex).makeTop();
break;
case Array::String:
- forNode(node.child1()).filter(SpecString);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecString);
break;
case Array::Arguments:
- forNode(node.child1()).filter(SpecArguments);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).makeTop();
break;
case Array::JSArray:
+ forNode(node.child2()).filter(SpecInt32);
+ forNode(nodeIndex).makeTop();
+ break;
case Array::JSArrayOutOfBounds:
- // FIXME: We should have more conservative handling of the out-of-bounds
- // case.
- forNode(node.child1()).filter(SpecCell);
forNode(node.child2()).filter(SpecInt32);
+ clobberWorld(node.codeOrigin, indexInBlock);
forNode(nodeIndex).makeTop();
break;
case Array::Int8Array:
- forNode(node.child1()).filter(SpecInt8Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecInt32);
break;
case Array::Int16Array:
- forNode(node.child1()).filter(SpecInt16Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecInt32);
break;
case Array::Int32Array:
- forNode(node.child1()).filter(SpecInt32Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecInt32);
break;
case Array::Uint8Array:
- forNode(node.child1()).filter(SpecUint8Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecInt32);
break;
case Array::Uint8ClampedArray:
- forNode(node.child1()).filter(SpecUint8ClampedArray);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecInt32);
break;
case Array::Uint16Array:
- forNode(node.child1()).filter(SpecUint16Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecInt32);
break;
case Array::Uint32Array:
- forNode(node.child1()).filter(SpecUint32Array);
forNode(node.child2()).filter(SpecInt32);
if (node.shouldSpeculateInteger())
forNode(nodeIndex).set(SpecInt32);
@@ -943,12 +893,10 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(nodeIndex).set(SpecDouble);
break;
case Array::Float32Array:
- forNode(node.child1()).filter(SpecFloat32Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecDouble);
break;
case Array::Float64Array:
- forNode(node.child1()).filter(SpecFloat64Array);
forNode(node.child2()).filter(SpecInt32);
forNode(nodeIndex).set(SpecDouble);
break;
@@ -959,7 +907,6 @@ bool AbstractState::execute(unsigned indexInBlock)
case PutByVal:
case PutByValAlias: {
node.setCanExit(true);
- Edge child1 = m_graph.varArgChild(node, 0);
Edge child2 = m_graph.varArgChild(node, 1);
Edge child3 = m_graph.varArgChild(node, 2);
switch (modeForPut(node.arrayMode())) {
@@ -970,20 +917,16 @@ bool AbstractState::execute(unsigned indexInBlock)
clobberWorld(node.codeOrigin, indexInBlock);
break;
case Array::JSArray:
- forNode(child1).filter(SpecCell);
forNode(child2).filter(SpecInt32);
break;
case Array::JSArrayOutOfBounds:
- forNode(child1).filter(SpecCell);
forNode(child2).filter(SpecInt32);
clobberWorld(node.codeOrigin, indexInBlock);
break;
case Array::Arguments:
- forNode(child1).filter(SpecArguments);
forNode(child2).filter(SpecInt32);
break;
case Array::Int8Array:
- forNode(child1).filter(SpecInt8Array);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -991,7 +934,6 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Int16Array:
- forNode(child1).filter(SpecInt16Array);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -999,7 +941,6 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Int32Array:
- forNode(child1).filter(SpecInt32Array);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -1007,7 +948,6 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Uint8Array:
- forNode(child1).filter(SpecUint8Array);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -1015,7 +955,6 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Uint8ClampedArray:
- forNode(child1).filter(SpecUint8ClampedArray);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -1023,7 +962,6 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Uint16Array:
- forNode(child1).filter(SpecUint16Array);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -1031,7 +969,6 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Uint32Array:
- forNode(child1).filter(SpecUint32Array);
forNode(child2).filter(SpecInt32);
if (m_graph[child3].shouldSpeculateInteger())
forNode(child3).filter(SpecInt32);
@@ -1039,12 +976,10 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(child3).filter(SpecNumber);
break;
case Array::Float32Array:
- forNode(child1).filter(SpecFloat32Array);
forNode(child2).filter(SpecInt32);
forNode(child3).filter(SpecNumber);
break;
case Array::Float64Array:
- forNode(child1).filter(SpecFloat64Array);
forNode(child2).filter(SpecInt32);
forNode(child3).filter(SpecNumber);
break;
@@ -1057,13 +992,11 @@ bool AbstractState::execute(unsigned indexInBlock)
case ArrayPush:
node.setCanExit(true);
- forNode(node.child1()).filter(SpecCell);
forNode(nodeIndex).set(SpecNumber);
break;
case ArrayPop:
node.setCanExit(true);
- forNode(node.child1()).filter(SpecCell);
forNode(nodeIndex).makeTop();
break;
@@ -1102,14 +1035,9 @@ bool AbstractState::execute(unsigned indexInBlock)
Node& child = m_graph[node.child1()];
if (child.shouldSpeculateBoolean())
speculateBooleanUnary(node);
- else if (child.shouldSpeculateFinalObjectOrOther()) {
- node.setCanExit(
- !isFinalObjectOrOtherSpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecFinalObject | SpecOther);
- } else if (child.shouldSpeculateArrayOrOther()) {
- node.setCanExit(
- !isArrayOrOtherSpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecArray | SpecOther);
+ else if (child.shouldSpeculateNonStringCellOrOther()) {
+ node.setCanExit(true);
+ forNode(node.child1()).filter((SpecCell & ~SpecString) | SpecOther);
} else if (child.shouldSpeculateInteger())
speculateInt32Unary(node);
else if (child.shouldSpeculateNumber())
@@ -1235,7 +1163,7 @@ bool AbstractState::execute(unsigned indexInBlock)
case CreateActivation:
node.setCanExit(false);
- forNode(nodeIndex).set(m_graph.m_globalData.activationStructure.get());
+ forNode(nodeIndex).set(m_codeBlock->globalObjectFor(node.codeOrigin)->activationStructure());
m_haveStructures = true;
break;
@@ -1347,80 +1275,8 @@ bool AbstractState::execute(unsigned indexInBlock)
break;
case GetArrayLength:
- switch (node.arrayMode()) {
- case Array::Undecided:
- ASSERT_NOT_REACHED();
- break;
- case Array::ForceExit:
- m_isValid = false;
- break;
- case Array::Generic:
- ASSERT_NOT_REACHED();
- break;
- case Array::String:
- node.setCanExit(!isStringSpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecString);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::JSArray:
- node.setCanExit(true);
- forNode(node.child1()).filter(SpecCell);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::JSArrayOutOfBounds:
- ASSERT_NOT_REACHED();
- break;
- case Array::Arguments:
- node.setCanExit(true);
- forNode(node.child1()).filter(SpecArguments);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Int8Array:
- node.setCanExit(!isInt8ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecInt8Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Int16Array:
- node.setCanExit(!isInt16ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecInt16Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Int32Array:
- node.setCanExit(!isInt32ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecInt32Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Uint8Array:
- node.setCanExit(!isUint8ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecUint8Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Uint8ClampedArray:
- node.setCanExit(!isUint8ClampedArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecUint8ClampedArray);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Uint16Array:
- node.setCanExit(!isUint16ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecUint16Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Uint32Array:
- node.setCanExit(!isUint32ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecUint32Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Float32Array:
- node.setCanExit(!isFloat32ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecFloat32Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- case Array::Float64Array:
- node.setCanExit(!isFloat64ArraySpeculation(forNode(node.child1()).m_type));
- forNode(node.child1()).filter(SpecFloat64Array);
- forNode(nodeIndex).set(SpecInt32);
- break;
- }
+ node.setCanExit(true); // Lies, but it's true for the common case of JSArray, so it's good enough.
+ forNode(nodeIndex).set(SpecInt32);
break;
case CheckStructure:
@@ -1492,8 +1348,13 @@ bool AbstractState::execute(unsigned indexInBlock)
forNode(node.child1()).filter(SpecCell);
forNode(nodeIndex).clear(); // The result is not a JS value.
break;
- case GetIndexedPropertyStorage: {
- node.setCanExit(true); // Lies, but this is (almost) always followed by GetByVal, which does exit. So no point in trying to be more precise.
+ case CheckArray: {
+ if (modeAlreadyChecked(forNode(node.child1()), node.arrayMode())) {
+ m_foundConstants = true;
+ node.setCanExit(false);
+ break;
+ }
+ node.setCanExit(true); // Lies, but this is followed by operations (like GetByVal) that always exit, so there is no point in us trying to be clever here.
switch (node.arrayMode()) {
case Array::String:
forNode(node.child1()).filter(SpecString);
@@ -1504,6 +1365,9 @@ bool AbstractState::execute(unsigned indexInBlock)
// CFA tracking of array mode speculations, but we don't have that, yet.
forNode(node.child1()).filter(SpecCell);
break;
+ case Array::Arguments:
+ forNode(node.child1()).filter(SpecArguments);
+ break;
case Array::Int8Array:
forNode(node.child1()).filter(SpecInt8Array);
break;
@@ -1535,6 +1399,19 @@ bool AbstractState::execute(unsigned indexInBlock)
ASSERT_NOT_REACHED();
break;
}
+ break;
+ }
+ case GetIndexedPropertyStorage: {
+ switch (node.arrayMode()) {
+ case Array::String:
+ // Strings are weird - we may spec fail if the string was a rope. That is of course
+ // stupid, and we should fix that, but for now let's at least be honest about it.
+ node.setCanExit(true);
+ break;
+ default:
+ node.setCanExit(false);
+ break;
+ }
forNode(nodeIndex).clear();
break;
}
diff --git a/Source/JavaScriptCore/dfg/DFGArgumentsSimplificationPhase.cpp b/Source/JavaScriptCore/dfg/DFGArgumentsSimplificationPhase.cpp
index 2f535ba22..640a0a966 100644
--- a/Source/JavaScriptCore/dfg/DFGArgumentsSimplificationPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGArgumentsSimplificationPhase.cpp
@@ -312,6 +312,7 @@ public:
case ForwardCheckStructure:
case StructureTransitionWatchpoint:
case ForwardStructureTransitionWatchpoint:
+ case CheckArray:
// We don't care about these because if we get uses of the relevant
// variable then we can safely get rid of these, too. This of course
// relies on there not being any information transferred by the CFA
@@ -476,7 +477,8 @@ public:
case CheckStructure:
case ForwardCheckStructure:
case StructureTransitionWatchpoint:
- case ForwardStructureTransitionWatchpoint: {
+ case ForwardStructureTransitionWatchpoint:
+ case CheckArray: {
// We can just get rid of this node, if it references a phantom argument.
if (!isOKToOptimize(m_graph[node.child1()]))
break;
diff --git a/Source/JavaScriptCore/dfg/DFGArrayMode.cpp b/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
index ec4edc2e8..cd3944fb4 100644
--- a/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
+++ b/Source/JavaScriptCore/dfg/DFGArrayMode.cpp
@@ -51,6 +51,11 @@ Array::Mode fromObserved(ArrayModes modes, bool makeSafe)
}
}
+Array::Mode fromStructure(Structure* structure, bool makeSafe)
+{
+ return fromObserved(arrayModeFromStructure(structure), makeSafe);
+}
+
Array::Mode refineArrayMode(Array::Mode arrayMode, SpeculatedType base, SpeculatedType index)
{
if (!base || !index) {
@@ -64,17 +69,8 @@ Array::Mode refineArrayMode(Array::Mode arrayMode, SpeculatedType base, Speculat
if (!isInt32Speculation(index) || !isCellSpeculation(base))
return Array::Generic;
- // Pass through any array modes that would have been decided by the array profile, since
- // the predictions of the inputs will not tell us anything useful that we didn't already
- // get from the array profile.
- switch (arrayMode) {
- case Array::ForceExit:
- case Array::JSArray:
- case Array::JSArrayOutOfBounds:
+ if (arrayMode != Array::Undecided)
return arrayMode;
- default:
- break;
- }
if (isStringSpeculation(base))
return Array::String;
diff --git a/Source/JavaScriptCore/dfg/DFGArrayMode.h b/Source/JavaScriptCore/dfg/DFGArrayMode.h
index 6ce62ae72..36a8637f5 100644
--- a/Source/JavaScriptCore/dfg/DFGArrayMode.h
+++ b/Source/JavaScriptCore/dfg/DFGArrayMode.h
@@ -63,12 +63,25 @@ enum Mode {
Array::Mode fromObserved(ArrayModes modes, bool makeSafe);
+Array::Mode fromStructure(Structure*, bool makeSafe);
+
Array::Mode refineArrayMode(Array::Mode, SpeculatedType base, SpeculatedType index);
bool modeAlreadyChecked(AbstractValue&, Array::Mode);
const char* modeToString(Array::Mode);
+inline bool modeIsJSArray(Array::Mode arrayMode)
+{
+ switch (arrayMode) {
+ case Array::JSArray:
+ case Array::JSArrayOutOfBounds:
+ return true;
+ default:
+ return false;
+ }
+}
+
inline bool canCSEStorage(Array::Mode arrayMode)
{
switch (arrayMode) {
@@ -82,6 +95,11 @@ inline bool canCSEStorage(Array::Mode arrayMode)
}
}
+inline bool lengthNeedsStorage(Array::Mode arrayMode)
+{
+ return modeIsJSArray(arrayMode);
+}
+
inline Array::Mode modeForPut(Array::Mode arrayMode)
{
switch (arrayMode) {
@@ -115,7 +133,7 @@ inline bool modesCompatibleForStorageLoad(Array::Mode left, Array::Mode right)
return false;
}
-inline bool modeSupportsLength(Array::Mode mode)
+inline bool modeIsSpecific(Array::Mode mode)
{
switch (mode) {
case Array::Undecided:
@@ -127,6 +145,11 @@ inline bool modeSupportsLength(Array::Mode mode)
}
}
+inline bool modeSupportsLength(Array::Mode mode)
+{
+ return modeIsSpecific(mode);
+}
+
} } // namespace JSC::DFG
#endif // ENABLE(DFG_JIT)
diff --git a/Source/JavaScriptCore/dfg/DFGByteCodeCache.h b/Source/JavaScriptCore/dfg/DFGByteCodeCache.h
index f6a745c66..ab88e99e5 100644
--- a/Source/JavaScriptCore/dfg/DFGByteCodeCache.h
+++ b/Source/JavaScriptCore/dfg/DFGByteCodeCache.h
@@ -141,7 +141,7 @@ public:
}
}
- CodeBlock* get(const CodeBlockKey& key, ScopeChainNode* scope)
+ CodeBlock* get(const CodeBlockKey& key, JSScope* scope)
{
Map::iterator iter = m_map.find(key);
if (iter != m_map.end())
diff --git a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
index f9b1db9ab..b96b8d9a3 100644
--- a/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
+++ b/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
@@ -71,6 +71,7 @@ public:
, m_inlineStackTop(0)
, m_haveBuiltOperandMaps(false)
, m_emptyJSValueIndex(UINT_MAX)
+ , m_currentInstruction(0)
{
ASSERT(m_profiledBlock);
@@ -141,6 +142,9 @@ private:
return getJSConstant(constant);
}
+ if (operand == RegisterFile::Callee)
+ return getCallee();
+
// Is this an argument?
if (operandIsArgument(operand))
return getArgument(operand);
@@ -364,11 +368,11 @@ private:
InlineCallFrame* inlineCallFrame = stack->m_inlineCallFrame;
if (!inlineCallFrame)
break;
- if (operand >= inlineCallFrame->stackOffset - RegisterFile::CallFrameHeaderSize)
+ if (operand >= static_cast<int>(inlineCallFrame->stackOffset - RegisterFile::CallFrameHeaderSize))
continue;
if (operand == inlineCallFrame->stackOffset + CallFrame::thisArgumentOffset())
continue;
- if (static_cast<unsigned>(operand) < inlineCallFrame->stackOffset - RegisterFile::CallFrameHeaderSize - inlineCallFrame->arguments.size())
+ if (operand < static_cast<int>(inlineCallFrame->stackOffset - RegisterFile::CallFrameHeaderSize - inlineCallFrame->arguments.size()))
continue;
int argument = operandToArgument(operand - inlineCallFrame->stackOffset);
return stack->m_argumentPositions[argument];
@@ -520,6 +524,11 @@ private:
return resultIndex;
}
+ NodeIndex getCallee()
+ {
+ return addToGraph(GetCallee);
+ }
+
// Helper functions to get/set the this value.
NodeIndex getThis()
{
@@ -818,9 +827,14 @@ private:
return getPrediction(m_graph.size(), m_currentProfilingIndex);
}
- Array::Mode getArrayModeWithoutOSRExit(Instruction* currentInstruction, NodeIndex base)
+ Array::Mode getArrayMode(ArrayProfile* profile)
+ {
+ profile->computeUpdatedPrediction();
+ return fromObserved(profile->observedArrayModes(), false);
+ }
+
+ Array::Mode getArrayModeAndEmitChecks(ArrayProfile* profile, NodeIndex base)
{
- ArrayProfile* profile = currentInstruction[4].u.arrayProfile;
profile->computeUpdatedPrediction();
if (profile->hasDefiniteStructure())
addToGraph(CheckStructure, OpInfo(m_graph.addStructureSet(profile->expectedStructure())), base);
@@ -838,16 +852,6 @@ private:
return fromObserved(profile->observedArrayModes(), makeSafe);
}
- Array::Mode getArrayMode(Instruction* currentInstruction, NodeIndex base)
- {
- Array::Mode result = getArrayModeWithoutOSRExit(currentInstruction, base);
-
- if (result == Array::ForceExit)
- addToGraph(ForceOSRExit);
-
- return result;
- }
-
NodeIndex makeSafe(NodeIndex nodeIndex)
{
Node& node = m_graph[nodeIndex];
@@ -1130,7 +1134,10 @@ private:
ASSERT(result >= FirstConstantRegisterIndex);
return result;
}
-
+
+ if (operand == RegisterFile::Callee)
+ return m_calleeVR;
+
return operand + m_inlineCallFrame->stackOffset;
}
};
@@ -1150,6 +1157,8 @@ private:
// Cache of code blocks that we've generated bytecode for.
ByteCodeCache<canInlineFunctionFor> m_codeBlockCache;
+
+ Instruction* m_currentInstruction;
};
#define NEXT_OPCODE(name) \
@@ -1553,7 +1562,10 @@ bool ByteCodeParser::handleIntrinsic(bool usesResult, int resultOperand, Intrins
if (argumentCountIncludingThis != 2)
return false;
- NodeIndex arrayPush = addToGraph(ArrayPush, OpInfo(0), OpInfo(prediction), get(registerOffset + argumentToOperand(0)), get(registerOffset + argumentToOperand(1)));
+ Array::Mode arrayMode = getArrayMode(m_currentInstruction[5].u.arrayProfile);
+ if (!modeIsJSArray(arrayMode))
+ return false;
+ NodeIndex arrayPush = addToGraph(ArrayPush, OpInfo(arrayMode), OpInfo(prediction), get(registerOffset + argumentToOperand(0)), get(registerOffset + argumentToOperand(1)));
if (usesResult)
set(resultOperand, arrayPush);
@@ -1564,7 +1576,10 @@ bool ByteCodeParser::handleIntrinsic(bool usesResult, int resultOperand, Intrins
if (argumentCountIncludingThis != 1)
return false;
- NodeIndex arrayPop = addToGraph(ArrayPop, OpInfo(0), OpInfo(prediction), get(registerOffset + argumentToOperand(0)));
+ Array::Mode arrayMode = getArrayMode(m_currentInstruction[5].u.arrayProfile);
+ if (!modeIsJSArray(arrayMode))
+ return false;
+ NodeIndex arrayPop = addToGraph(ArrayPop, OpInfo(arrayMode), OpInfo(prediction), get(registerOffset + argumentToOperand(0)));
if (usesResult)
set(resultOperand, arrayPop);
return true;
@@ -1792,6 +1807,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
// Switch on the current bytecode opcode.
Instruction* currentInstruction = instructionsBegin + m_currentIndex;
+ m_currentInstruction = currentInstruction; // Some methods want to use this, and we'd rather not thread it through calls.
OpcodeID opcodeID = interpreter->getOpcodeID(currentInstruction->u.opcode);
switch (opcodeID) {
@@ -1830,10 +1846,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
}
case op_create_this: {
- if (m_inlineStackTop->m_inlineCallFrame)
- set(currentInstruction[1].u.operand, addToGraph(CreateThis, getDirect(m_inlineStackTop->m_calleeVR)));
- else
- set(currentInstruction[1].u.operand, addToGraph(CreateThis, addToGraph(GetCallee)));
+ set(currentInstruction[1].u.operand, addToGraph(CreateThis, get(RegisterFile::Callee)));
NEXT_OPCODE(op_create_this);
}
@@ -2177,7 +2190,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
SpeculatedType prediction = getPrediction();
NodeIndex base = get(currentInstruction[2].u.operand);
- Array::Mode arrayMode = getArrayMode(currentInstruction, base);
+ Array::Mode arrayMode = getArrayModeAndEmitChecks(currentInstruction[4].u.arrayProfile, base);
NodeIndex property = get(currentInstruction[3].u.operand);
NodeIndex getByVal = addToGraph(GetByVal, OpInfo(arrayMode), OpInfo(prediction), base, property);
set(currentInstruction[1].u.operand, getByVal);
@@ -2188,7 +2201,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
case op_put_by_val: {
NodeIndex base = get(currentInstruction[1].u.operand);
- Array::Mode arrayMode = getArrayMode(currentInstruction, base);
+ Array::Mode arrayMode = getArrayModeAndEmitChecks(currentInstruction[4].u.arrayProfile, base);
NodeIndex property = get(currentInstruction[2].u.operand);
NodeIndex value = get(currentInstruction[3].u.operand);
@@ -2196,6 +2209,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
addVarArgChild(base);
addVarArgChild(property);
addVarArgChild(value);
+ addVarArgChild(NoNode); // Leave room for property storage.
addToGraph(Node::VarArg, PutByVal, OpInfo(arrayMode), OpInfo(0));
NEXT_OPCODE(op_put_by_val);
@@ -2406,7 +2420,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
unsigned identifierNumber = m_inlineStackTop->m_identifierRemap[currentInstruction[3].u.operand];
Identifier identifier = m_codeBlock->identifier(identifierNumber);
- SymbolTableEntry entry = globalObject->symbolTable().get(identifier.impl());
+ SymbolTableEntry entry = globalObject->symbolTable()->get(identifier.impl());
if (!entry.couldBeWatched()) {
NodeIndex getGlobalVar = addToGraph(
GetGlobalVar,
@@ -2459,7 +2473,7 @@ bool ByteCodeParser::parseBlock(unsigned limit)
JSGlobalObject* globalObject = codeBlock->globalObject();
unsigned identifierNumber = m_inlineStackTop->m_identifierRemap[currentInstruction[4].u.operand];
Identifier identifier = m_codeBlock->identifier(identifierNumber);
- SymbolTableEntry entry = globalObject->symbolTable().get(identifier.impl());
+ SymbolTableEntry entry = globalObject->symbolTable()->get(identifier.impl());
if (!entry.couldBeWatched()) {
addToGraph(
PutGlobalVar,
diff --git a/Source/JavaScriptCore/dfg/DFGCCallHelpers.h b/Source/JavaScriptCore/dfg/DFGCCallHelpers.h
index fd4e1cae0..5cd0baab2 100644
--- a/Source/JavaScriptCore/dfg/DFGCCallHelpers.h
+++ b/Source/JavaScriptCore/dfg/DFGCCallHelpers.h
@@ -456,6 +456,28 @@ public:
setupTwoStubArgs<FPRInfo::argumentFPR0, FPRInfo::argumentFPR1>(arg1, arg2);
}
#elif CPU(ARM)
+#if CPU(ARM_HARDFP)
+ ALWAYS_INLINE void setupArguments(FPRReg arg1)
+ {
+ moveDouble(arg1, FPRInfo::argumentFPR0);
+ }
+
+ ALWAYS_INLINE void setupArguments(FPRReg arg1, FPRReg arg2)
+ {
+ if (arg2 != FPRInfo::argumentFPR0) {
+ moveDouble(arg1, FPRInfo::argumentFPR0);
+ moveDouble(arg2, FPRInfo::argumentFPR1);
+ } else if (arg1 != FPRInfo::argumentFPR1) {
+ moveDouble(arg2, FPRInfo::argumentFPR1);
+ moveDouble(arg1, FPRInfo::argumentFPR0);
+ } else {
+ // Swap arg1, arg2.
+ moveDouble(FPRInfo::argumentFPR0, ARMRegisters::d2);
+ moveDouble(FPRInfo::argumentFPR1, FPRInfo::argumentFPR0);
+ moveDouble(ARMRegisters::d2, FPRInfo::argumentFPR1);
+ }
+ }
+#else
ALWAYS_INLINE void setupArguments(FPRReg arg1)
{
assembler().vmov(GPRInfo::argumentGPR0, GPRInfo::argumentGPR1, arg1);
@@ -466,6 +488,7 @@ public:
assembler().vmov(GPRInfo::argumentGPR0, GPRInfo::argumentGPR1, arg1);
assembler().vmov(GPRInfo::argumentGPR2, GPRInfo::argumentGPR3, arg2);
}
+#endif // CPU(ARM_HARDFP)
#else
#error "DFG JIT not supported on this platform."
#endif
diff --git a/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp b/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp
index aecce83ed..e0d973992 100644
--- a/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp
@@ -659,8 +659,10 @@ private:
if (node.flags() & NodeHasVarArgs) {
for (unsigned childIdx = node.firstChild();
childIdx < node.firstChild() + node.numChildren();
- ++childIdx)
- fixPossibleGetLocal(firstBlock, m_graph.m_varArgChildren[childIdx], changeRef);
+ ++childIdx) {
+ if (!!m_graph.m_varArgChildren[childIdx])
+ fixPossibleGetLocal(firstBlock, m_graph.m_varArgChildren[childIdx], changeRef);
+ }
} else if (!!node.child1()) {
fixPossibleGetLocal(firstBlock, node.children.child1(), changeRef);
if (!!node.child2()) {
diff --git a/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp b/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
index dce57d520..b3681975d 100644
--- a/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
@@ -35,9 +35,8 @@ namespace JSC { namespace DFG {
class CSEPhase : public Phase {
public:
- CSEPhase(Graph& graph, OptimizationFixpointState fixpointState)
+ CSEPhase(Graph& graph)
: Phase(graph, "common subexpression elimination")
- , m_fixpointState(fixpointState)
{
// Replacements are used to implement local common subexpression elimination.
m_replacements.resize(m_graph.size());
@@ -327,7 +326,7 @@ private:
return false;
}
- bool checkStructureLoadElimination(const StructureSet& structureSet, NodeIndex child1)
+ bool checkStructureElimination(const StructureSet& structureSet, NodeIndex child1)
{
for (unsigned i = m_indexInBlock; i--;) {
NodeIndex index = m_currentBlock->at(i);
@@ -624,8 +623,37 @@ private:
}
return NoNode;
}
+
+ bool checkArrayElimination(NodeIndex child1, Array::Mode arrayMode)
+ {
+ for (unsigned i = m_indexInBlock; i--;) {
+ NodeIndex index = m_currentBlock->at(i);
+ if (index == child1)
+ break;
- NodeIndex getIndexedPropertyStorageLoadElimination(NodeIndex child1, bool hasIntegerIndexPrediction)
+ Node& node = m_graph[index];
+ switch (node.op()) {
+ case PutByOffset:
+ case PutStructure:
+ // Changing the structure or putting to the storage cannot
+ // change the property storage pointer.
+ break;
+
+ case CheckArray:
+ if (node.child1() == child1 && node.arrayMode() == arrayMode)
+ return true;
+ break;
+
+ default:
+ if (m_graph.clobbersWorld(index))
+ return false;
+ break;
+ }
+ }
+ return false;
+ }
+
+ NodeIndex getIndexedPropertyStorageLoadElimination(NodeIndex child1, Array::Mode arrayMode)
{
for (unsigned i = m_indexInBlock; i--;) {
NodeIndex index = m_currentBlock->at(i);
@@ -635,9 +663,7 @@ private:
Node& node = m_graph[index];
switch (node.op()) {
case GetIndexedPropertyStorage: {
- SpeculatedType basePrediction = m_graph[node.child2()].prediction();
- bool nodeHasIntegerIndexPrediction = !(!(basePrediction & SpecInt32) && basePrediction);
- if (node.child1() == child1 && hasIntegerIndexPrediction == nodeHasIntegerIndexPrediction)
+ if (node.child1() == child1 && node.arrayMode() == arrayMode)
return index;
break;
}
@@ -988,7 +1014,7 @@ private:
ASSERT(replacement.variableAccessData() == variableAccessData);
// FIXME: We should be able to remove SetLocals that can exit; we just need
// to replace them with appropriate type checks.
- if (m_fixpointState == FixpointNotConverged) {
+ if (m_graph.m_fixpointState == FixpointNotConverged) {
// Need to be conservative at this time; if the SetLocal has any chance of performing
// any speculations then we cannot do anything.
if (variableAccessData->isCaptured()) {
@@ -1077,7 +1103,7 @@ private:
case PutGlobalVar:
case PutGlobalVarCheck:
- if (m_fixpointState == FixpointNotConverged)
+ if (m_graph.m_fixpointState == FixpointNotConverged)
break;
eliminate(globalVarStoreElimination(node.registerPointer()));
break;
@@ -1103,7 +1129,7 @@ private:
case CheckStructure:
case ForwardCheckStructure:
- if (checkStructureLoadElimination(node.structureSet(), node.child1().index()))
+ if (checkStructureElimination(node.structureSet(), node.child1().index()))
eliminate();
break;
@@ -1114,7 +1140,7 @@ private:
break;
case PutStructure:
- if (m_fixpointState == FixpointNotConverged)
+ if (m_graph.m_fixpointState == FixpointNotConverged)
break;
eliminate(putStructureStoreElimination(node.child1().index()), PhantomPutStructure);
break;
@@ -1124,10 +1150,13 @@ private:
eliminate();
break;
+ case CheckArray:
+ if (checkArrayElimination(node.child1().index(), node.arrayMode()))
+ eliminate();
+ break;
+
case GetIndexedPropertyStorage: {
- SpeculatedType basePrediction = m_graph[node.child2()].prediction();
- bool nodeHasIntegerIndexPrediction = !(!(basePrediction & SpecInt32) && basePrediction);
- setReplacement(getIndexedPropertyStorageLoadElimination(node.child1().index(), nodeHasIntegerIndexPrediction));
+ setReplacement(getIndexedPropertyStorageLoadElimination(node.child1().index(), node.arrayMode()));
break;
}
@@ -1140,7 +1169,7 @@ private:
break;
case PutByOffset:
- if (m_fixpointState == FixpointNotConverged)
+ if (m_graph.m_fixpointState == FixpointNotConverged)
break;
eliminate(putByOffsetStoreElimination(m_graph.m_storageAccessData[node.storageAccessDataIndex()].identifierNumber, node.child1().index()));
break;
@@ -1178,14 +1207,13 @@ private:
unsigned m_indexInBlock;
Vector<NodeIndex, 16> m_replacements;
FixedArray<unsigned, LastNodeType> m_lastSeen;
- OptimizationFixpointState m_fixpointState;
bool m_changed; // Only tracks changes that have a substantive effect on other optimizations.
};
-bool performCSE(Graph& graph, OptimizationFixpointState fixpointState)
+bool performCSE(Graph& graph)
{
SamplingRegion samplingRegion("DFG CSE Phase");
- return runPhase<CSEPhase>(graph, fixpointState);
+ return runPhase<CSEPhase>(graph);
}
} } // namespace JSC::DFG
diff --git a/Source/JavaScriptCore/dfg/DFGCSEPhase.h b/Source/JavaScriptCore/dfg/DFGCSEPhase.h
index 7e33c2243..017bf5a4b 100644
--- a/Source/JavaScriptCore/dfg/DFGCSEPhase.h
+++ b/Source/JavaScriptCore/dfg/DFGCSEPhase.h
@@ -41,7 +41,7 @@ class Graph;
// a wide range of subexpression similarities. It's known to produce big wins
// on a few benchmarks, and is relatively cheap to run.
-bool performCSE(Graph&, OptimizationFixpointState);
+bool performCSE(Graph&);
} } // namespace JSC::DFG
diff --git a/Source/JavaScriptCore/dfg/DFGCommon.h b/Source/JavaScriptCore/dfg/DFGCommon.h
index 1a64a248c..ddbefd2d5 100644
--- a/Source/JavaScriptCore/dfg/DFGCommon.h
+++ b/Source/JavaScriptCore/dfg/DFGCommon.h
@@ -132,7 +132,7 @@ enum SpillRegistersMode { NeedToSpill, DontSpill };
enum NoResultTag { NoResult };
-enum OptimizationFixpointState { FixpointConverged, FixpointNotConverged };
+enum OptimizationFixpointState { BeforeFixpoint, FixpointNotConverged, FixpointConverged };
inline bool shouldShowDisassembly()
{
diff --git a/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp b/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
index 68d5534e0..dfb62cbc4 100644
--- a/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp
@@ -101,7 +101,16 @@ private:
node.convertToStructureTransitionWatchpoint(structureValue.singleton());
break;
}
-
+
+ case CheckArray: {
+ if (!modeAlreadyChecked(m_state.forNode(node.child1()), node.arrayMode()))
+ break;
+ ASSERT(node.refCount() == 1);
+ node.setOpAndDefaultFlags(Phantom);
+ eliminated = true;
+ break;
+ }
+
default:
break;
}
diff --git a/Source/JavaScriptCore/dfg/DFGDriver.cpp b/Source/JavaScriptCore/dfg/DFGDriver.cpp
index ccef65208..eb68fa344 100644
--- a/Source/JavaScriptCore/dfg/DFGDriver.cpp
+++ b/Source/JavaScriptCore/dfg/DFGDriver.cpp
@@ -28,7 +28,7 @@
#include "JSObject.h"
#include "JSString.h"
-#include "ScopeChain.h"
+
#if ENABLE(DFG_JIT)
@@ -41,7 +41,6 @@
#include "DFGFixupPhase.h"
#include "DFGJITCompiler.h"
#include "DFGPredictionPropagationPhase.h"
-#include "DFGRedundantPhiEliminationPhase.h"
#include "DFGStructureCheckHoistingPhase.h"
#include "DFGValidate.h"
#include "DFGVirtualRegisterAllocationPhase.h"
@@ -117,6 +116,7 @@ inline bool compile(CompileMode compileMode, ExecState* exec, CodeBlock* codeBlo
performFixup(dfg);
performStructureCheckHoisting(dfg);
unsigned cnt = 1;
+ dfg.m_fixpointState = FixpointNotConverged;
for (;; ++cnt) {
#if DFG_ENABLE(DEBUG_VERBOSE)
dataLog("DFG beginning optimization fixpoint iteration #%u.\n", cnt);
@@ -126,13 +126,14 @@ inline bool compile(CompileMode compileMode, ExecState* exec, CodeBlock* codeBlo
changed |= performConstantFolding(dfg);
changed |= performArgumentsSimplification(dfg);
changed |= performCFGSimplification(dfg);
- changed |= performCSE(dfg, FixpointNotConverged);
+ changed |= performCSE(dfg);
if (!changed)
break;
dfg.resetExitStates();
performFixup(dfg);
}
- performCSE(dfg, FixpointConverged);
+ dfg.m_fixpointState = FixpointConverged;
+ performCSE(dfg);
#if DFG_ENABLE(DEBUG_VERBOSE)
dataLog("DFG optimization fixpoint converged in %u iterations.\n", cnt);
#endif
diff --git a/Source/JavaScriptCore/dfg/DFGFPRInfo.h b/Source/JavaScriptCore/dfg/DFGFPRInfo.h
index e817ed396..5ee87bce1 100644
--- a/Source/JavaScriptCore/dfg/DFGFPRInfo.h
+++ b/Source/JavaScriptCore/dfg/DFGFPRInfo.h
@@ -122,6 +122,11 @@ public:
// we'll return in d0 for simplicity.
static const FPRReg returnValueFPR = ARMRegisters::d0; // fpRegT0
+#if CPU(ARM_HARDFP)
+ static const FPRReg argumentFPR0 = ARMRegisters::d0; // fpRegT0
+ static const FPRReg argumentFPR1 = ARMRegisters::d1; // fpRegT1
+#endif
+
// FPRReg mapping is direct, the machine regsiter numbers can
// be used directly as indices into the FPR RegisterBank.
COMPILE_ASSERT(ARMRegisters::d0 == 0, d0_is_0);
diff --git a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp b/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
index fe7cae8a9..7700b4b86 100644
--- a/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
@@ -74,6 +74,9 @@ private:
switch (op) {
case GetById: {
+ if (m_graph.m_fixpointState > BeforeFixpoint)
+ break;
+
Node* nodePtr = &node;
if (!isInt32Speculation(m_graph[m_compileIndex].prediction()))
@@ -90,8 +93,7 @@ private:
fromObserved(arrayProfile->observedArrayModes(), false),
m_graph[node.child1()].prediction(),
m_graph[m_compileIndex].prediction());
- if (modeSupportsLength(arrayMode)
- && arrayProfile->hasDefiniteStructure()) {
+ if (modeSupportsLength(arrayMode) && arrayProfile->hasDefiniteStructure()) {
m_graph.ref(nodePtr->child1());
Node checkStructure(CheckStructure, nodePtr->codeOrigin, OpInfo(m_graph.addStructureSet(arrayProfile->expectedStructure())), nodePtr->child1().index());
checkStructure.ref();
@@ -113,17 +115,16 @@ private:
nodePtr->clearFlags(NodeMustGenerate);
m_graph.deref(m_compileIndex);
nodePtr->setArrayMode(arrayMode);
+
+ NodeIndex storage = checkArray(arrayMode, nodePtr->codeOrigin, nodePtr->child1().index(), lengthNeedsStorage, nodePtr->shouldGenerate());
+ if (storage == NoNode)
+ break;
+
+ nodePtr = &m_graph[m_compileIndex];
+ nodePtr->children.child2() = Edge(storage);
break;
}
case GetIndexedPropertyStorage: {
- node.setArrayMode(
- refineArrayMode(
- node.arrayMode(),
- m_graph[node.child1()].prediction(),
- m_graph[node.child2()].prediction()));
- // Predictions should only become more, rather than less, refined. Hence
- // if we were ever able to CSE the storage pointer for this operation,
- // then we should always continue to be able to do so.
ASSERT(canCSEStorage(node.arrayMode()));
break;
}
@@ -136,30 +137,19 @@ private:
m_graph[node.child1()].prediction(),
m_graph[node.child2()].prediction()));
- if (canCSEStorage(node.arrayMode())) {
- if (node.child3()) {
- ASSERT(m_graph[node.child3()].op() == GetIndexedPropertyStorage);
- ASSERT(modesCompatibleForStorageLoad(m_graph[node.child3()].arrayMode(), node.arrayMode()));
- } else {
- // Make sure we don't use the node reference after we do the append.
- Node getIndexedPropertyStorage(
- GetIndexedPropertyStorage, node.codeOrigin, OpInfo(node.arrayMode()),
- node.child1().index(), node.child2().index());
- NodeIndex getIndexedPropertyStorageIndex = m_graph.size();
- node.children.child3() = Edge(getIndexedPropertyStorageIndex);
- m_graph.append(getIndexedPropertyStorage);
- m_graph.ref(getIndexedPropertyStorageIndex); // Once because it's MustGenerate.
- m_graph.ref(getIndexedPropertyStorageIndex); // And again because it's referenced from the GetByVal.
- m_insertionSet.append(m_indexInBlock, getIndexedPropertyStorageIndex);
- }
- } else {
- // See above. Continued fixup of the graph should not regress our ability
- // to speculate.
- ASSERT(!node.child3());
- }
+ blessArrayOperation(node.child1(), 2);
+ break;
+ }
+
+ case ArrayPush: {
+ blessArrayOperation(node.child1(), 2);
break;
}
+ case ArrayPop: {
+ blessArrayOperation(node.child1(), 1);
+ }
+
case ValueToInt32: {
if (m_graph[node.child1()].shouldSpeculateNumber()
&& node.mustGenerate()) {
@@ -330,11 +320,18 @@ private:
Edge child1 = m_graph.varArgChild(node, 0);
Edge child2 = m_graph.varArgChild(node, 1);
Edge child3 = m_graph.varArgChild(node, 2);
+
node.setArrayMode(
refineArrayMode(
- node.arrayMode(), m_graph[child1].prediction(), m_graph[child2].prediction()));
+ node.arrayMode(),
+ m_graph[child1].prediction(),
+ m_graph[child2].prediction()));
+
+ blessArrayOperation(child1, 3);
- switch (modeForPut(node.arrayMode())) {
+ Node* nodePtr = &m_graph[m_compileIndex];
+
+ switch (modeForPut(nodePtr->arrayMode())) {
case Array::Int8Array:
case Array::Int16Array:
case Array::Int32Array:
@@ -368,6 +365,59 @@ private:
#endif
}
+ NodeIndex checkArray(Array::Mode arrayMode, CodeOrigin codeOrigin, NodeIndex array, bool (*storageCheck)(Array::Mode) = canCSEStorage, bool shouldGenerate = true)
+ {
+ ASSERT(modeIsSpecific(arrayMode));
+
+ m_graph.ref(array);
+ Node checkArray(CheckArray, codeOrigin, OpInfo(arrayMode), array);
+ checkArray.ref();
+ NodeIndex checkArrayIndex = m_graph.size();
+ m_graph.append(checkArray);
+ m_insertionSet.append(m_indexInBlock, checkArrayIndex);
+
+ if (!storageCheck(arrayMode))
+ return NoNode;
+
+ if (shouldGenerate)
+ m_graph.ref(array);
+ Node getIndexedPropertyStorage(
+ GetIndexedPropertyStorage, codeOrigin, OpInfo(arrayMode), array);
+ if (shouldGenerate)
+ getIndexedPropertyStorage.ref();
+ NodeIndex getIndexedPropertyStorageIndex = m_graph.size();
+ m_graph.append(getIndexedPropertyStorage);
+ m_insertionSet.append(m_indexInBlock, getIndexedPropertyStorageIndex);
+
+ return getIndexedPropertyStorageIndex;
+ }
+
+ void blessArrayOperation(Edge base, unsigned storageChildIdx)
+ {
+ if (m_graph.m_fixpointState > BeforeFixpoint)
+ return;
+
+ Node* nodePtr = &m_graph[m_compileIndex];
+
+ if (nodePtr->arrayMode() == Array::ForceExit) {
+ Node forceExit(ForceOSRExit, nodePtr->codeOrigin);
+ forceExit.ref();
+ NodeIndex forceExitIndex = m_graph.size();
+ m_graph.append(forceExit);
+ m_insertionSet.append(m_indexInBlock, forceExitIndex);
+ return;
+ }
+
+ if (!modeIsSpecific(nodePtr->arrayMode()))
+ return;
+
+ NodeIndex storage = checkArray(nodePtr->arrayMode(), nodePtr->codeOrigin, base.index());
+ if (storage == NoNode)
+ return;
+
+ m_graph.child(m_graph[m_compileIndex], storageChildIdx) = Edge(storage);
+ }
+
void fixIntEdge(Edge& edge)
{
Node& node = m_graph[edge];
diff --git a/Source/JavaScriptCore/dfg/DFGGraph.cpp b/Source/JavaScriptCore/dfg/DFGGraph.cpp
index 8e80ff2fc..f4d260b9e 100644
--- a/Source/JavaScriptCore/dfg/DFGGraph.cpp
+++ b/Source/JavaScriptCore/dfg/DFGGraph.cpp
@@ -40,6 +40,18 @@ static const char* dfgOpNames[] = {
#undef STRINGIZE_DFG_OP_ENUM
};
+Graph::Graph(JSGlobalData& globalData, CodeBlock* codeBlock, unsigned osrEntryBytecodeIndex, const Operands<JSValue>& mustHandleValues)
+ : m_globalData(globalData)
+ , m_codeBlock(codeBlock)
+ , m_profiledBlock(codeBlock->alternative())
+ , m_hasArguments(false)
+ , m_osrEntryBytecodeIndex(osrEntryBytecodeIndex)
+ , m_mustHandleValues(mustHandleValues)
+ , m_fixpointState(BeforeFixpoint)
+{
+ ASSERT(m_profiledBlock);
+}
+
const char *Graph::opName(NodeType op)
{
return dfgOpNames[op];
@@ -179,6 +191,8 @@ void Graph::dump(const char* prefix, NodeIndex nodeIndex)
dataLog(", ");
else
hasPrinted = true;
+ if (!m_varArgChildren[childIdx])
+ continue;
dataLog("%s@%u%s",
useKindToString(m_varArgChildren[childIdx].useKind()),
m_varArgChildren[childIdx].index(),
@@ -227,7 +241,7 @@ void Graph::dump(const char* prefix, NodeIndex nodeIndex)
hasPrinted = true;
}
if (node.hasIdentifier()) {
- dataLog("%sid%u{%s}", hasPrinted ? ", " : "", node.identifierNumber(), m_codeBlock->identifier(node.identifierNumber()).ustring().utf8().data());
+ dataLog("%sid%u{%s}", hasPrinted ? ", " : "", node.identifierNumber(), m_codeBlock->identifier(node.identifierNumber()).string().utf8().data());
hasPrinted = true;
}
if (node.hasStructureSet()) {
@@ -246,7 +260,7 @@ void Graph::dump(const char* prefix, NodeIndex nodeIndex)
}
if (node.hasStorageAccessData()) {
StorageAccessData& storageAccessData = m_storageAccessData[node.storageAccessDataIndex()];
- dataLog("%sid%u{%s}", hasPrinted ? ", " : "", storageAccessData.identifierNumber, m_codeBlock->identifier(storageAccessData.identifierNumber).ustring().utf8().data());
+ dataLog("%sid%u{%s}", hasPrinted ? ", " : "", storageAccessData.identifierNumber, m_codeBlock->identifier(storageAccessData.identifierNumber).string().utf8().data());
dataLog(", %lu", static_cast<unsigned long>(storageAccessData.offset));
hasPrinted = true;
@@ -392,8 +406,10 @@ void Graph::dump()
if (_node.flags() & NodeHasVarArgs) { \
for (unsigned _childIdx = _node.firstChild(); \
_childIdx < _node.firstChild() + _node.numChildren(); \
- _childIdx++) \
- thingToDo(m_varArgChildren[_childIdx]); \
+ _childIdx++) { \
+ if (!!m_varArgChildren[_childIdx]) \
+ thingToDo(m_varArgChildren[_childIdx]); \
+ } \
} else { \
if (!_node.child1()) { \
ASSERT(!_node.child2() \
@@ -483,6 +499,8 @@ void Graph::collectGarbage()
for (unsigned childIdx = node.firstChild();
childIdx < node.firstChild() + node.numChildren();
++childIdx) {
+ if (!m_varArgChildren[childIdx])
+ continue;
NodeIndex childNodeIndex = m_varArgChildren[childIdx].index();
if (!at(childNodeIndex).ref())
continue;
diff --git a/Source/JavaScriptCore/dfg/DFGGraph.h b/Source/JavaScriptCore/dfg/DFGGraph.h
index ba5d86f81..70cbbaf07 100644
--- a/Source/JavaScriptCore/dfg/DFGGraph.h
+++ b/Source/JavaScriptCore/dfg/DFGGraph.h
@@ -53,14 +53,6 @@ namespace DFG {
struct StorageAccessData {
size_t offset;
unsigned identifierNumber;
-
- // NOTE: the offset and identifierNumber do not by themselves
- // uniquely identify a property. The identifierNumber and a
- // Structure* do. If those two match, then the offset should
- // be the same, as well. For any Node that has a StorageAccessData,
- // it is possible to retrieve the Structure* by looking at the
- // first child. It should be a CheckStructure, which has the
- // Structure*.
};
struct ResolveGlobalData {
@@ -76,16 +68,7 @@ struct ResolveGlobalData {
// Nodes that are 'dead' remain in the vector with refCount 0.
class Graph : public Vector<Node, 64> {
public:
- Graph(JSGlobalData& globalData, CodeBlock* codeBlock, unsigned osrEntryBytecodeIndex, const Operands<JSValue>& mustHandleValues)
- : m_globalData(globalData)
- , m_codeBlock(codeBlock)
- , m_profiledBlock(codeBlock->alternative())
- , m_hasArguments(false)
- , m_osrEntryBytecodeIndex(osrEntryBytecodeIndex)
- , m_mustHandleValues(mustHandleValues)
- {
- ASSERT(m_profiledBlock);
- }
+ Graph(JSGlobalData&, CodeBlock*, unsigned osrEntryBytecodeIndex, const Operands<JSValue>& mustHandleValues);
using Vector<Node, 64>::operator[];
using Vector<Node, 64>::at;
@@ -585,8 +568,10 @@ public:
if (node.flags() & NodeHasVarArgs) {
for (unsigned childIdx = node.firstChild();
childIdx < node.firstChild() + node.numChildren();
- childIdx++)
- vote(m_varArgChildren[childIdx], ballot);
+ childIdx++) {
+ if (!!m_varArgChildren[childIdx])
+ vote(m_varArgChildren[childIdx], ballot);
+ }
return;
}
@@ -608,8 +593,10 @@ public:
NodeIndex nodeIndex = block[indexInBlock];
Node& node = at(nodeIndex);
if (node.flags() & NodeHasVarArgs) {
- for (unsigned childIdx = node.firstChild(); childIdx < node.firstChild() + node.numChildren(); ++childIdx)
- compareAndSwap(m_varArgChildren[childIdx], oldThing, newThing, node.shouldGenerate());
+ for (unsigned childIdx = node.firstChild(); childIdx < node.firstChild() + node.numChildren(); ++childIdx) {
+ if (!!m_varArgChildren[childIdx])
+ compareAndSwap(m_varArgChildren[childIdx], oldThing, newThing, node.shouldGenerate());
+ }
continue;
}
if (!node.child1())
@@ -685,6 +672,8 @@ public:
unsigned m_parameterSlots;
unsigned m_osrEntryBytecodeIndex;
Operands<JSValue> m_mustHandleValues;
+
+ OptimizationFixpointState m_fixpointState;
private:
void handleSuccessor(Vector<BlockIndex, 16>& worklist, BlockIndex blockIndex, BlockIndex successorIndex);
diff --git a/Source/JavaScriptCore/dfg/DFGNode.h b/Source/JavaScriptCore/dfg/DFGNode.h
index 7ca4d8d48..fb31f935e 100644
--- a/Source/JavaScriptCore/dfg/DFGNode.h
+++ b/Source/JavaScriptCore/dfg/DFGNode.h
@@ -743,6 +743,9 @@ struct Node {
case GetByVal:
case StringCharAt:
case StringCharCodeAt:
+ case CheckArray:
+ case ArrayPush:
+ case ArrayPop:
return true;
default:
return false;
@@ -755,10 +758,13 @@ struct Node {
return static_cast<Array::Mode>(m_opInfo);
}
- void setArrayMode(Array::Mode arrayMode)
+ bool setArrayMode(Array::Mode arrayMode)
{
ASSERT(hasArrayMode());
+ if (this->arrayMode() == arrayMode)
+ return false;
m_opInfo = arrayMode;
+ return true;
}
bool hasVirtualRegister()
@@ -910,12 +916,27 @@ struct Node {
{
return isBooleanSpeculation(prediction());
}
-
+
+ bool shouldSpeculateString()
+ {
+ return isStringSpeculation(prediction());
+ }
+
bool shouldSpeculateFinalObject()
{
return isFinalObjectSpeculation(prediction());
}
+ bool shouldSpeculateNonStringCell()
+ {
+ return isNonStringCellSpeculation(prediction());
+ }
+
+ bool shouldSpeculateNonStringCellOrOther()
+ {
+ return isNonStringCellOrOtherSpeculation(prediction());
+ }
+
bool shouldSpeculateFinalObjectOrOther()
{
return isFinalObjectOrOtherSpeculation(prediction());
diff --git a/Source/JavaScriptCore/dfg/DFGNodeType.h b/Source/JavaScriptCore/dfg/DFGNodeType.h
index ee5ad9013..d86b9b356 100644
--- a/Source/JavaScriptCore/dfg/DFGNodeType.h
+++ b/Source/JavaScriptCore/dfg/DFGNodeType.h
@@ -138,7 +138,8 @@ namespace JSC { namespace DFG {
macro(AllocatePropertyStorage, NodeMustGenerate | NodeDoesNotExit | NodeResultStorage) \
macro(ReallocatePropertyStorage, NodeMustGenerate | NodeDoesNotExit | NodeResultStorage) \
macro(GetPropertyStorage, NodeResultStorage) \
- macro(GetIndexedPropertyStorage, NodeMustGenerate | NodeResultStorage) \
+ macro(CheckArray, NodeMustGenerate) \
+ macro(GetIndexedPropertyStorage, NodeResultStorage) \
macro(GetByOffset, NodeResultJS) \
macro(PutByOffset, NodeMustGenerate) \
macro(GetArrayLength, NodeResultInt32) \
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.cpp b/Source/JavaScriptCore/dfg/DFGOperations.cpp
index b5c3b961b..824a0a37a 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.cpp
+++ b/Source/JavaScriptCore/dfg/DFGOperations.cpp
@@ -39,11 +39,13 @@
#include "JITExceptions.h"
#include "JSActivation.h"
#include "JSGlobalData.h"
-#include "JSStaticScopeObject.h"
+#include "JSNameScope.h"
#include "NameInstance.h"
#include "Operations.h"
#include <wtf/InlineASM.h>
+#if ENABLE(JIT)
+
#if ENABLE(DFG_JIT)
#if CPU(X86_64)
@@ -407,6 +409,20 @@ EncodedJSValue DFG_OPERATION operationGetByValCell(ExecState* exec, JSCell* base
return JSValue::encode(JSValue(base).get(exec, ident));
}
+EncodedJSValue DFG_OPERATION operationGetByValArrayInt(ExecState* exec, JSArray* base, int32_t index)
+{
+ JSGlobalData* globalData = &exec->globalData();
+ NativeCallFrameTracer tracer(globalData, exec);
+
+ if (index < 0) {
+ // Go the slowest way possible becase negative indices don't use indexed storage.
+ return JSValue::encode(JSValue(base).get(exec, Identifier::from(exec, index)));
+ }
+
+ // Use this since we know that the value is out of bounds.
+ return JSValue::encode(JSValue(base).get(exec, index));
+}
+
EncodedJSValue DFG_OPERATION operationGetById(ExecState* exec, EncodedJSValue base, Identifier* propertyName)
{
JSGlobalData* globalData = &exec->globalData();
@@ -575,6 +591,14 @@ EncodedJSValue DFG_OPERATION operationArrayPush(ExecState* exec, EncodedJSValue
return JSValue::encode(jsNumber(array->length()));
}
+EncodedJSValue DFG_OPERATION operationArrayPop(ExecState* exec, JSArray* array)
+{
+ JSGlobalData* globalData = &exec->globalData();
+ NativeCallFrameTracer tracer(globalData, exec);
+
+ return JSValue::encode(array->pop(exec));
+}
+
EncodedJSValue DFG_OPERATION operationRegExpExec(ExecState* exec, JSCell* base, JSCell* argument)
{
JSGlobalData& globalData = exec->globalData();
@@ -603,14 +627,6 @@ size_t DFG_OPERATION operationRegExpTest(ExecState* exec, JSCell* base, JSCell*
return asRegExpObject(base)->test(exec, input);
}
-EncodedJSValue DFG_OPERATION operationArrayPop(ExecState* exec, JSArray* array)
-{
- JSGlobalData* globalData = &exec->globalData();
- NativeCallFrameTracer tracer(globalData, exec);
-
- return JSValue::encode(array->pop(exec));
-}
-
void DFG_OPERATION operationPutByIdStrict(ExecState* exec, EncodedJSValue encodedValue, JSCell* base, Identifier* propertyName)
{
JSGlobalData* globalData = &exec->globalData();
@@ -899,7 +915,7 @@ static void* handleHostCall(ExecState* execCallee, JSValue callee, CodeSpecializ
ExecState* exec = execCallee->callerFrame();
JSGlobalData* globalData = &exec->globalData();
- execCallee->setScopeChain(exec->scopeChain());
+ execCallee->setScope(exec->scope());
execCallee->setCodeBlock(0);
if (kind == CodeForCall) {
@@ -957,7 +973,7 @@ inline char* linkFor(ExecState* execCallee, CodeSpecializationKind kind)
return reinterpret_cast<char*>(handleHostCall(execCallee, calleeAsValue, kind));
JSFunction* callee = jsCast<JSFunction*>(calleeAsFunctionCell);
- execCallee->setScopeChain(callee->scopeUnchecked());
+ execCallee->setScope(callee->scopeUnchecked());
ExecutableBase* executable = callee->executable();
MacroAssemblerCodePtr codePtr;
@@ -1007,7 +1023,7 @@ inline char* virtualFor(ExecState* execCallee, CodeSpecializationKind kind)
return reinterpret_cast<char*>(handleHostCall(execCallee, calleeAsValue, kind));
JSFunction* function = jsCast<JSFunction*>(calleeAsFunctionCell);
- execCallee->setScopeChain(function->scopeUnchecked());
+ execCallee->setScope(function->scopeUnchecked());
ExecutableBase* executable = function->executable();
if (UNLIKELY(!executable->hasJITCodeFor(kind))) {
FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
@@ -1039,20 +1055,7 @@ EncodedJSValue DFG_OPERATION operationResolve(ExecState* exec, Identifier* prope
{
JSGlobalData* globalData = &exec->globalData();
NativeCallFrameTracer tracer(globalData, exec);
-
- ScopeChainNode* scopeChain = exec->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
-
- do {
- JSObject* record = iter->get();
- PropertySlot slot(record);
- if (record->getPropertySlot(exec, *propertyName, slot))
- return JSValue::encode(slot.getValue(exec, *propertyName));
- } while (++iter != end);
-
- return throwVMError(exec, createUndefinedVariableError(exec, *propertyName));
+ return JSValue::encode(JSScope::resolve(exec, *propertyName));
}
EncodedJSValue DFG_OPERATION operationResolveBase(ExecState* exec, Identifier* propertyName)
@@ -1060,7 +1063,7 @@ EncodedJSValue DFG_OPERATION operationResolveBase(ExecState* exec, Identifier* p
JSGlobalData* globalData = &exec->globalData();
NativeCallFrameTracer tracer(globalData, exec);
- return JSValue::encode(resolveBase(exec, *propertyName, exec->scopeChain(), false));
+ return JSValue::encode(JSScope::resolveBase(exec, *propertyName, false));
}
EncodedJSValue DFG_OPERATION operationResolveBaseStrictPut(ExecState* exec, Identifier* propertyName)
@@ -1068,30 +1071,15 @@ EncodedJSValue DFG_OPERATION operationResolveBaseStrictPut(ExecState* exec, Iden
JSGlobalData* globalData = &exec->globalData();
NativeCallFrameTracer tracer(globalData, exec);
- JSValue base = resolveBase(exec, *propertyName, exec->scopeChain(), true);
- if (!base)
- throwError(exec, createErrorForInvalidGlobalAssignment(exec, propertyName->ustring()));
- return JSValue::encode(base);
+ return JSValue::encode(JSScope::resolveBase(exec, *propertyName, true));
}
EncodedJSValue DFG_OPERATION operationResolveGlobal(ExecState* exec, GlobalResolveInfo* resolveInfo, JSGlobalObject* globalObject, Identifier* propertyName)
{
JSGlobalData* globalData = &exec->globalData();
NativeCallFrameTracer tracer(globalData, exec);
-
- PropertySlot slot(globalObject);
- if (globalObject->getPropertySlot(exec, *propertyName, slot)) {
- JSValue result = slot.getValue(exec, *propertyName);
-
- if (slot.isCacheableValue() && !globalObject->structure()->isUncacheableDictionary() && slot.slotBase() == globalObject) {
- resolveInfo->structure.set(exec->globalData(), exec->codeBlock()->ownerExecutable(), globalObject->structure());
- resolveInfo->offset = slot.cachedOffset();
- }
- return JSValue::encode(result);
- }
-
- return throwVMError(exec, createUndefinedVariableError(exec, *propertyName));
+ return JSValue::encode(JSScope::resolveGlobal(exec, *propertyName, globalObject, &resolveInfo->structure, &resolveInfo->offset));
}
EncodedJSValue DFG_OPERATION operationToPrimitive(ExecState* exec, EncodedJSValue value)
@@ -1154,7 +1142,7 @@ JSCell* DFG_OPERATION operationCreateActivation(ExecState* exec)
NativeCallFrameTracer tracer(&globalData, exec);
JSActivation* activation = JSActivation::create(
globalData, exec, static_cast<FunctionExecutable*>(exec->codeBlock()->ownerExecutable()));
- exec->setScopeChain(exec->scopeChain()->push(activation));
+ exec->setScope(activation);
return activation;
}
@@ -1255,7 +1243,7 @@ JSCell* DFG_OPERATION operationNewFunction(ExecState* exec, JSCell* functionExec
ASSERT(functionExecutable->inherits(&FunctionExecutable::s_info));
JSGlobalData& globalData = exec->globalData();
NativeCallFrameTracer tracer(&globalData, exec);
- return static_cast<FunctionExecutable*>(functionExecutable)->make(exec, exec->scopeChain());
+ return JSFunction::create(exec, static_cast<FunctionExecutable*>(functionExecutable), exec->scope());
}
JSCell* DFG_OPERATION operationNewFunctionExpression(ExecState* exec, JSCell* functionExecutableAsCell)
@@ -1263,14 +1251,7 @@ JSCell* DFG_OPERATION operationNewFunctionExpression(ExecState* exec, JSCell* fu
ASSERT(functionExecutableAsCell->inherits(&FunctionExecutable::s_info));
FunctionExecutable* functionExecutable =
static_cast<FunctionExecutable*>(functionExecutableAsCell);
- JSFunction *function = functionExecutable->make(exec, exec->scopeChain());
- if (!functionExecutable->name().isNull()) {
- JSStaticScopeObject* functionScopeObject =
- JSStaticScopeObject::create(
- exec, functionExecutable->name(), function, ReadOnly | DontDelete);
- function->setScope(exec->globalData(), function->scope()->push(functionScopeObject));
- }
- return function;
+ return JSFunction::create(exec, functionExecutable, exec->scope());
}
size_t DFG_OPERATION operationIsObject(ExecState* exec, EncodedJSValue value)
@@ -1416,7 +1397,7 @@ extern "C" void DFG_OPERATION triggerReoptimizationNow(CodeBlock* codeBlock)
} // extern "C"
} } // namespace JSC::DFG
-#endif
+#endif // ENABLE(DFG_JIT)
#if COMPILER(GCC)
@@ -1478,3 +1459,4 @@ extern "C" EncodedJSValue HOST_CALL_RETURN_VALUE_OPTION getHostCallReturnValueWi
#endif // COMPILER(GCC)
+#endif // ENABLE(JIT)
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.h b/Source/JavaScriptCore/dfg/DFGOperations.h
index 455c2bcc3..82babe875 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.h
+++ b/Source/JavaScriptCore/dfg/DFGOperations.h
@@ -62,6 +62,7 @@ extern "C" {
*/
typedef EncodedJSValue DFG_OPERATION (*J_DFGOperation_E)(ExecState*);
typedef EncodedJSValue DFG_OPERATION (*J_DFGOperation_EA)(ExecState*, JSArray*);
+typedef EncodedJSValue DFG_OPERATION (*J_DFGOperation_EAZ)(ExecState*, JSArray*, int32_t);
typedef EncodedJSValue DFG_OPERATION (*J_DFGOperation_ECC)(ExecState*, JSCell*, JSCell*);
typedef EncodedJSValue DFG_OPERATION (*J_DFGOperation_ECI)(ExecState*, JSCell*, Identifier*);
typedef EncodedJSValue DFG_OPERATION (*J_DFGOperation_ECJ)(ExecState*, JSCell*, EncodedJSValue);
@@ -116,6 +117,7 @@ EncodedJSValue DFG_OPERATION operationValueAdd(ExecState*, EncodedJSValue encode
EncodedJSValue DFG_OPERATION operationValueAddNotNumber(ExecState*, EncodedJSValue encodedOp1, EncodedJSValue encodedOp2) WTF_INTERNAL;
EncodedJSValue DFG_OPERATION operationGetByVal(ExecState*, EncodedJSValue encodedBase, EncodedJSValue encodedProperty) WTF_INTERNAL;
EncodedJSValue DFG_OPERATION operationGetByValCell(ExecState*, JSCell*, EncodedJSValue encodedProperty) WTF_INTERNAL;
+EncodedJSValue DFG_OPERATION operationGetByValArrayInt(ExecState*, JSArray*, int32_t) WTF_INTERNAL;
EncodedJSValue DFG_OPERATION operationGetById(ExecState*, EncodedJSValue, Identifier*) WTF_INTERNAL;
EncodedJSValue DFG_OPERATION operationGetByIdBuildList(ExecState*, EncodedJSValue, Identifier*) WTF_INTERNAL;
EncodedJSValue DFG_OPERATION operationGetByIdProtoBuildList(ExecState*, EncodedJSValue, Identifier*) WTF_INTERNAL;
diff --git a/Source/JavaScriptCore/dfg/DFGPhase.h b/Source/JavaScriptCore/dfg/DFGPhase.h
index 80fd6914a..a73d26baf 100644
--- a/Source/JavaScriptCore/dfg/DFGPhase.h
+++ b/Source/JavaScriptCore/dfg/DFGPhase.h
@@ -95,13 +95,6 @@ bool runPhase(Graph& graph)
return runAndLog(phase);
}
-template<typename PhaseType, typename ArgumentType1>
-bool runPhase(Graph& graph, ArgumentType1 arg1)
-{
- PhaseType phase(graph, arg1);
- return runAndLog(phase);
-}
-
} } // namespace JSC::DFG
#endif // ENABLE(DFG_JIT)
diff --git a/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp b/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
index 258d1199a..af57ab8fe 100644
--- a/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
@@ -618,7 +618,8 @@ private:
case GetMyArgumentsLength:
case GetMyArgumentByVal:
case PhantomPutStructure:
- case PhantomArguments: {
+ case PhantomArguments:
+ case CheckArray: {
// This node should never be visible at this stage of compilation. It is
// inserted by fixup(), which follows this phase.
ASSERT_NOT_REACHED();
@@ -703,8 +704,10 @@ private:
if (node.flags() & NodeHasVarArgs) {
for (unsigned childIdx = node.firstChild();
childIdx < node.firstChild() + node.numChildren();
- childIdx++)
- changed |= m_graph[m_graph.m_varArgChildren[childIdx]].mergeFlags(NodeUsedAsValue);
+ childIdx++) {
+ if (!!m_graph.m_varArgChildren[childIdx])
+ changed |= m_graph[m_graph.m_varArgChildren[childIdx]].mergeFlags(NodeUsedAsValue);
+ }
} else {
if (!node.child1())
return changed;
diff --git a/Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.cpp b/Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.cpp
deleted file mode 100644
index 32e4ef157..000000000
--- a/Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright (C) 2012 Intel Corporation. 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 "DFGRedundantPhiEliminationPhase.h"
-
-#if ENABLE(DFG_JIT)
-
-#include "DFGGraph.h"
-
-namespace JSC { namespace DFG {
-
-class RedundantPhiEliminationPhase : public Phase {
-public:
- RedundantPhiEliminationPhase(Graph& graph)
- : Phase(graph, "redundant phi elimination")
- {
- }
-
- bool run()
- {
- bool changed = false;
- do {
- changed = fixupPhis();
- } while (changed);
-
- updateBlockVariableInformation();
-
- // Update the Phi references from non-Phi nodes, e.g., the GetLocals.
- for (NodeIndex index = 0; index < m_graph.size(); ++index) {
- Node& node = m_graph[index];
-
- if (!node.shouldGenerate())
- continue;
-
- switch (node.op()) {
- case GetLocal:
- replacePhiChild(node, 0);
- break;
- default:
- break;
- }
- }
-
- return true;
- }
-
-private:
- NodeIndex getRedundantReplacement(NodeIndex phi)
- {
- NodeIndex child1 = m_graph[phi].child1().indexUnchecked();
- NodeIndex candidate = child1 == phi ? NoNode : child1;
-
- NodeIndex child2 = m_graph[phi].child2().indexUnchecked();
- if (candidate != NoNode) {
- if (child2 != NoNode && child2 != candidate && child2 != phi)
- return NoNode;
- } else if (child2 != phi)
- candidate = child2;
-
- NodeIndex child3 = m_graph[phi].child3().indexUnchecked();
- if (candidate != NoNode) {
- if (child3 != NoNode && child3 != candidate && child3 != phi)
- return NoNode;
- } else if (child3 != phi)
- candidate = child3;
-
- return candidate;
- }
-
- bool replacePhiChild(Node& node, unsigned childIndex)
- {
- ASSERT(childIndex < 3);
-
- bool replaced = false;
- NodeIndex child = node.children.child(childIndex).indexUnchecked();
- if (child != NoNode && m_graph[child].op() == Phi) {
- NodeIndex childReplacement = getRedundantReplacement(child);
- if (childReplacement != NoNode) {
- node.children.child(childIndex).setIndex(childReplacement);
- replaced = true;
- if (node.refCount()) {
- m_graph[childReplacement].ref();
- m_graph.deref(child);
- }
- }
- }
- return replaced;
- }
-
- bool fixupPhis()
- {
- bool changed = false;
-
- for (BlockIndex block = 0; block < m_graph.m_blocks.size(); ++block) {
- Vector<NodeIndex>& phis = m_graph.m_blocks[block]->phis;
-
- for (size_t i = 0; i < phis.size(); ++i) {
- NodeIndex phi = phis[i];
- Node& phiNode = m_graph[phi];
-
- changed |= (replacePhiChild(phiNode, 0) && phiNode.refCount());
- changed |= (replacePhiChild(phiNode, 1) && phiNode.refCount());
- changed |= (replacePhiChild(phiNode, 2) && phiNode.refCount());
- }
- }
-
- return changed;
- }
-
- void updateBlockVariableInformation()
- {
- // Redundant Phi nodes are eliminated, we need to update
- // the variable information if it references them.
- for (BlockIndex blockIndex = 0; blockIndex < m_graph.m_blocks.size(); ++blockIndex) {
- BasicBlock* basicBlock = m_graph.m_blocks[blockIndex].get();
-
- for (size_t arg = 0; arg < basicBlock->variablesAtHead.numberOfArguments(); ++arg) {
- NodeIndex nodeIndex = basicBlock->variablesAtHead.argument(arg);
- if (nodeIndex != NoNode && m_graph[nodeIndex].op() == Phi && !m_graph[nodeIndex].refCount()) {
- NodeIndex replacement = getRedundantReplacement(nodeIndex);
- if (replacement != NoNode) {
- // This argument must be unused in this block.
- ASSERT(basicBlock->variablesAtTail.argument(arg) == nodeIndex);
- basicBlock->variablesAtHead.argument(arg) = replacement;
- basicBlock->variablesAtTail.argument(arg) = replacement;
- }
- }
- }
-
- for (size_t local = 0; local < basicBlock->variablesAtHead.numberOfLocals(); ++local) {
- NodeIndex nodeIndex = basicBlock->variablesAtHead.local(local);
- if (nodeIndex != NoNode && m_graph[nodeIndex].op() == Phi && !m_graph[nodeIndex].refCount()) {
- NodeIndex replacement = getRedundantReplacement(nodeIndex);
- if (replacement != NoNode) {
- // This local variable must be unused in this block.
- ASSERT(basicBlock->variablesAtTail.local(local) == nodeIndex);
- basicBlock->variablesAtHead.local(local) = replacement;
- basicBlock->variablesAtTail.local(local) = replacement;
- }
- }
- }
- }
- }
-
-};
-
-bool performRedundantPhiElimination(Graph& graph)
-{
- SamplingRegion samplingRegion("DFG Redundant Phi Elimination Phase");
- return runPhase<RedundantPhiEliminationPhase>(graph);
-}
-
-} } // namespace JSC::DFG
-
-#endif // ENABLE(DFG_JIT)
diff --git a/Source/JavaScriptCore/dfg/DFGRepatch.cpp b/Source/JavaScriptCore/dfg/DFGRepatch.cpp
index 23e8db03b..1af4999e8 100644
--- a/Source/JavaScriptCore/dfg/DFGRepatch.cpp
+++ b/Source/JavaScriptCore/dfg/DFGRepatch.cpp
@@ -252,8 +252,12 @@ static bool tryCacheGetByID(ExecState* exec, JSValue baseValue, const Identifier
}
MacroAssembler::JumpList failureCases;
-
- failureCases.append(stubJit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(baseGPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(&JSArray::s_info)));
+
+ stubJit.loadPtr(MacroAssembler::Address(baseGPR, JSCell::structureOffset()), scratchGPR);
+ failureCases.append(stubJit.branchPtr(
+ MacroAssembler::NotEqual,
+ MacroAssembler::Address(scratchGPR, Structure::classInfoOffset()),
+ MacroAssembler::TrustedImmPtr(&JSArray::s_info)));
stubJit.loadPtr(MacroAssembler::Address(baseGPR, JSArray::storageOffset()), scratchGPR);
stubJit.load32(MacroAssembler::Address(scratchGPR, OBJECT_OFFSETOF(ArrayStorage, m_length)), scratchGPR);
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
index d74207420..c9c07da80 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
@@ -295,20 +295,23 @@ const TypedArrayDescriptor* SpeculativeJIT::typedArrayDescriptor(Array::Mode arr
}
}
-const TypedArrayDescriptor* SpeculativeJIT::speculateArray(Array::Mode arrayMode, Edge edge, GPRReg baseReg)
+void SpeculativeJIT::checkArray(Node& node)
{
- const TypedArrayDescriptor* result = typedArrayDescriptor(arrayMode);
+ ASSERT(modeIsSpecific(node.arrayMode()));
- if (modeAlreadyChecked(m_state.forNode(edge), arrayMode))
- return result;
+ SpeculateCellOperand base(this, node.child1());
+ GPRReg baseReg = base.gpr();
+
+ const TypedArrayDescriptor* result = typedArrayDescriptor(node.arrayMode());
+
+ if (modeAlreadyChecked(m_state.forNode(node.child1()), node.arrayMode())) {
+ noResult(m_compileIndex);
+ return;
+ }
const ClassInfo* expectedClassInfo = 0;
- switch (arrayMode) {
- case Array::ForceExit:
- ASSERT_NOT_REACHED();
- terminateSpeculativeExecution(InadequateCoverage, JSValueRegs(), NoNode);
- return result;
+ switch (node.arrayMode()) {
case Array::String:
expectedClassInfo = &JSString::s_info;
break;
@@ -325,7 +328,9 @@ const TypedArrayDescriptor* SpeculativeJIT::speculateArray(Array::Mode arrayMode
MacroAssembler::NotEqual,
MacroAssembler::Address(temp.gpr(), Structure::classInfoOffset()),
MacroAssembler::TrustedImmPtr(&JSArray::s_info)));
- return result;
+
+ noResult(m_compileIndex);
+ return;
}
case Array::Arguments:
expectedClassInfo = &Arguments::s_info;
@@ -356,7 +361,7 @@ const TypedArrayDescriptor* SpeculativeJIT::speculateArray(Array::Mode arrayMode
MacroAssembler::Address(temp.gpr(), Structure::classInfoOffset()),
MacroAssembler::TrustedImmPtr(expectedClassInfo)));
- return result;
+ noResult(m_compileIndex);
}
GPRReg SpeculativeJIT::fillStorage(NodeIndex nodeIndex)
@@ -393,8 +398,10 @@ GPRReg SpeculativeJIT::fillStorage(NodeIndex nodeIndex)
void SpeculativeJIT::useChildren(Node& node)
{
if (node.flags() & NodeHasVarArgs) {
- for (unsigned childIdx = node.firstChild(); childIdx < node.firstChild() + node.numChildren(); childIdx++)
- use(m_jit.graph().m_varArgChildren[childIdx]);
+ for (unsigned childIdx = node.firstChild(); childIdx < node.firstChild() + node.numChildren(); childIdx++) {
+ if (!!m_jit.graph().m_varArgChildren[childIdx])
+ use(m_jit.graph().m_varArgChildren[childIdx]);
+ }
} else {
Edge child1 = node.child1();
if (!child1) {
@@ -1065,7 +1072,7 @@ void SpeculativeJIT::compilePeepHoleDoubleBranch(Node& node, NodeIndex branchNod
jump(notTaken);
}
-void SpeculativeJIT::compilePeepHoleObjectEquality(Node& node, NodeIndex branchNodeIndex, const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compilePeepHoleObjectEquality(Node& node, NodeIndex branchNodeIndex)
{
Node& branchNode = at(branchNodeIndex);
BlockIndex taken = branchNode.takenBlockIndex();
@@ -1086,11 +1093,47 @@ void SpeculativeJIT::compilePeepHoleObjectEquality(Node& node, NodeIndex branchN
GPRReg op1GPR = op1.gpr();
GPRReg op2GPR = op2.gpr();
- if (!speculatedTypeChecker(m_state.forNode(node.child1()).m_type))
- speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1().index(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
- if (!speculatedTypeChecker(m_state.forNode(node.child2()).m_type))
- speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2().index(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(op2GPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
-
+ if (m_jit.graph().globalObjectFor(node.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(node.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1().index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
+
+ m_jit.loadPtr(MacroAssembler::Address(op2GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2().index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
+ }
+
branchPtr(condition, op1GPR, op2GPR, taken);
jump(notTaken);
}
@@ -1144,37 +1187,17 @@ bool SpeculativeJIT::compilePeepHoleBranch(Node& node, MacroAssembler::Relationa
else if (Node::shouldSpeculateNumber(at(node.child1()), at(node.child2())))
compilePeepHoleDoubleBranch(node, branchNodeIndex, doubleCondition);
else if (node.op() == CompareEq) {
- if (Node::shouldSpeculateFinalObject(
- at(node.child1()), at(node.child2()))) {
- compilePeepHoleObjectEquality(
- node, branchNodeIndex, &JSFinalObject::s_info,
- isFinalObjectSpeculation);
- } else if (Node::shouldSpeculateArray(
- at(node.child1()), at(node.child2()))) {
- compilePeepHoleObjectEquality(
- node, branchNodeIndex, &JSArray::s_info,
- isArraySpeculation);
- } else if (at(node.child1()).shouldSpeculateFinalObject()
- && at(node.child2()).shouldSpeculateFinalObjectOrOther()) {
- compilePeepHoleObjectToObjectOrOtherEquality(
- node.child1(), node.child2(), branchNodeIndex,
- &JSFinalObject::s_info, isFinalObjectSpeculation);
- } else if (at(node.child1()).shouldSpeculateFinalObjectOrOther()
- && at(node.child2()).shouldSpeculateFinalObject()) {
- compilePeepHoleObjectToObjectOrOtherEquality(
- node.child2(), node.child1(), branchNodeIndex,
- &JSFinalObject::s_info, isFinalObjectSpeculation);
- } else if (at(node.child1()).shouldSpeculateArray()
- && at(node.child2()).shouldSpeculateArrayOrOther()) {
- compilePeepHoleObjectToObjectOrOtherEquality(
- node.child1(), node.child2(), branchNodeIndex,
- &JSArray::s_info, isArraySpeculation);
- } else if (at(node.child1()).shouldSpeculateArrayOrOther()
- && at(node.child2()).shouldSpeculateArray()) {
- compilePeepHoleObjectToObjectOrOtherEquality(
- node.child2(), node.child1(), branchNodeIndex,
- &JSArray::s_info, isArraySpeculation);
- } else {
+ if (at(node.child1()).shouldSpeculateString() || at(node.child2()).shouldSpeculateString()) {
+ nonSpeculativePeepholeBranch(node, branchNodeIndex, condition, operation);
+ return true;
+ }
+ if (at(node.child1()).shouldSpeculateNonStringCell() && at(node.child2()).shouldSpeculateNonStringCellOrOther())
+ compilePeepHoleObjectToObjectOrOtherEquality(node.child1(), node.child2(), branchNodeIndex);
+ else if (at(node.child1()).shouldSpeculateNonStringCellOrOther() && at(node.child2()).shouldSpeculateNonStringCell())
+ compilePeepHoleObjectToObjectOrOtherEquality(node.child2(), node.child1(), branchNodeIndex);
+ else if (at(node.child1()).shouldSpeculateNonStringCell() && at(node.child2()).shouldSpeculateNonStringCell())
+ compilePeepHoleObjectEquality(node, branchNodeIndex);
+ else {
nonSpeculativePeepholeBranch(node, branchNodeIndex, condition, operation);
return true;
}
@@ -1461,51 +1484,6 @@ void SpeculativeJIT::checkArgumentTypes()
m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
m_jit.xorPtr(TrustedImm32(static_cast<int32_t>(ValueFalse)), temp.gpr());
speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), TrustedImm32(static_cast<int32_t>(~1))));
- } else if (isInt8ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->int8ArrayDescriptor().m_classInfo)));
- } else if (isInt16ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->int16ArrayDescriptor().m_classInfo)));
- } else if (isInt32ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->int32ArrayDescriptor().m_classInfo)));
- } else if (isUint8ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint8ArrayDescriptor().m_classInfo)));
- } else if (isUint8ClampedArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint8ClampedArrayDescriptor().m_classInfo)));
- } else if (isUint16ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint16ArrayDescriptor().m_classInfo)));
- } else if (isUint32ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint32ArrayDescriptor().m_classInfo)));
- } else if (isFloat32ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->float32ArrayDescriptor().m_classInfo)));
- } else if (isFloat64ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.loadPtr(JITCompiler::addressFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, temp.gpr(), GPRInfo::tagMaskRegister));
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->float64ArrayDescriptor().m_classInfo)));
} else if (isCellSpeculation(predictedType))
speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchTestPtr(MacroAssembler::NonZero, JITCompiler::addressFor(virtualRegister), GPRInfo::tagMaskRegister));
#else
@@ -1513,61 +1491,7 @@ void SpeculativeJIT::checkArgumentTypes()
speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, JITCompiler::tagFor(virtualRegister), TrustedImm32(JSValue::Int32Tag)));
else if (isBooleanSpeculation(predictedType))
speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, JITCompiler::tagFor(virtualRegister), TrustedImm32(JSValue::BooleanTag)));
- else if (isInt8ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->int8ArrayDescriptor().m_classInfo)));
- } else if (isInt16ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->int16ArrayDescriptor().m_classInfo)));
- } else if (isInt32ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->int32ArrayDescriptor().m_classInfo)));
- } else if (isUint8ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint8ArrayDescriptor().m_classInfo)));
- } else if (isUint8ClampedArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint8ClampedArrayDescriptor().m_classInfo)));
- } else if (isUint16ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint16ArrayDescriptor().m_classInfo)));
- } else if (isUint32ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->uint32ArrayDescriptor().m_classInfo)));
- } else if (isFloat32ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->float32ArrayDescriptor().m_classInfo)));
- } else if (isFloat64ArraySpeculation(predictedType)) {
- GPRTemporary temp(this);
- m_jit.load32(JITCompiler::tagFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, temp.gpr(), TrustedImm32(JSValue::CellTag)));
- m_jit.load32(JITCompiler::payloadFor(virtualRegister), temp.gpr());
- speculationCheck(BadType, valueSource, nodeIndex, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(temp.gpr(), JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(m_jit.globalData()->float64ArrayDescriptor().m_classInfo)));
- } else if (isCellSpeculation(predictedType))
+ else if (isCellSpeculation(predictedType))
speculationCheck(BadType, valueSource, nodeIndex, m_jit.branch32(MacroAssembler::NotEqual, JITCompiler::tagFor(virtualRegister), TrustedImm32(JSValue::CellTag)));
#endif
}
@@ -2146,6 +2070,9 @@ void SpeculativeJIT::compileGetByValOnIntTypedArray(const TypedArrayDescriptor&
void SpeculativeJIT::compilePutByValForIntTypedArray(const TypedArrayDescriptor& descriptor, GPRReg base, GPRReg property, Node& node, size_t elementSize, TypedArraySignedness signedness, TypedArrayRounding rounding)
{
+ StorageOperand storage(this, m_jit.graph().varArgChild(node, 3));
+ GPRReg storageReg = storage.gpr();
+
Edge valueUse = m_jit.graph().varArgChild(node, 2);
GPRTemporary value;
@@ -2213,10 +2140,7 @@ void SpeculativeJIT::compilePutByValForIntTypedArray(const TypedArrayDescriptor&
}
ASSERT_UNUSED(valueGPR, valueGPR != property);
ASSERT(valueGPR != base);
- GPRTemporary storage(this);
- GPRReg storageReg = storage.gpr();
ASSERT(valueGPR != storageReg);
- m_jit.loadPtr(MacroAssembler::Address(base, descriptor.m_storageOffset), storageReg);
MacroAssembler::Jump outOfBounds;
if (node.op() == PutByVal)
outOfBounds = m_jit.branch32(MacroAssembler::AboveOrEqual, property, MacroAssembler::Address(base, descriptor.m_lengthOffset));
@@ -2278,6 +2202,9 @@ void SpeculativeJIT::compileGetByValOnFloatTypedArray(const TypedArrayDescriptor
void SpeculativeJIT::compilePutByValForFloatTypedArray(const TypedArrayDescriptor& descriptor, GPRReg base, GPRReg property, Node& node, size_t elementSize)
{
+ StorageOperand storage(this, m_jit.graph().varArgChild(node, 3));
+ GPRReg storageReg = storage.gpr();
+
Edge baseUse = m_jit.graph().varArgChild(node, 0);
Edge valueUse = m_jit.graph().varArgChild(node, 2);
@@ -2287,10 +2214,6 @@ void SpeculativeJIT::compilePutByValForFloatTypedArray(const TypedArrayDescripto
GPRTemporary result(this);
- GPRTemporary storage(this);
- GPRReg storageReg = storage.gpr();
-
- m_jit.loadPtr(MacroAssembler::Address(base, descriptor.m_storageOffset), storageReg);
MacroAssembler::Jump outOfBounds;
if (node.op() == PutByVal)
outOfBounds = m_jit.branch32(MacroAssembler::AboveOrEqual, property, MacroAssembler::Address(base, descriptor.m_lengthOffset));
@@ -2892,45 +2815,23 @@ bool SpeculativeJIT::compare(Node& node, MacroAssembler::RelationalCondition con
}
if (node.op() == CompareEq) {
- if (Node::shouldSpeculateFinalObject(at(node.child1()), at(node.child2()))) {
- compileObjectEquality(node, &JSFinalObject::s_info, isFinalObjectSpeculation);
- return false;
- }
-
- if (Node::shouldSpeculateArray(at(node.child1()), at(node.child2()))) {
- compileObjectEquality(node, &JSArray::s_info, isArraySpeculation);
- return false;
- }
-
- if (at(node.child1()).shouldSpeculateFinalObject()
- && at(node.child2()).shouldSpeculateFinalObjectOrOther()) {
- compileObjectToObjectOrOtherEquality(
- node.child1(), node.child2(), &JSFinalObject::s_info,
- isFinalObjectSpeculation);
+ if (at(node.child1()).shouldSpeculateString() || at(node.child2()).shouldSpeculateString()) {
+ nonSpeculativeNonPeepholeCompare(node, condition, operation);
return false;
}
- if (at(node.child1()).shouldSpeculateFinalObjectOrOther()
- && at(node.child2()).shouldSpeculateFinalObject()) {
- compileObjectToObjectOrOtherEquality(
- node.child2(), node.child1(), &JSFinalObject::s_info,
- isFinalObjectSpeculation);
+ if (at(node.child1()).shouldSpeculateNonStringCell() && at(node.child2()).shouldSpeculateNonStringCellOrOther()) {
+ compileObjectToObjectOrOtherEquality(node.child1(), node.child2());
return false;
}
- if (at(node.child1()).shouldSpeculateArray()
- && at(node.child2()).shouldSpeculateArrayOrOther()) {
- compileObjectToObjectOrOtherEquality(
- node.child1(), node.child2(), &JSArray::s_info,
- isArraySpeculation);
+ if (at(node.child1()).shouldSpeculateNonStringCellOrOther() && at(node.child2()).shouldSpeculateNonStringCell()) {
+ compileObjectToObjectOrOtherEquality(node.child2(), node.child1());
return false;
}
-
- if (at(node.child1()).shouldSpeculateArrayOrOther()
- && at(node.child2()).shouldSpeculateArray()) {
- compileObjectToObjectOrOtherEquality(
- node.child2(), node.child1(), &JSArray::s_info,
- isArraySpeculation);
+
+ if (at(node.child1()).shouldSpeculateNonStringCell() && at(node.child2()).shouldSpeculateNonStringCell()) {
+ compileObjectEquality(node);
return false;
}
}
@@ -3063,36 +2964,20 @@ bool SpeculativeJIT::compileStrictEq(Node& node)
return false;
}
- // 4) If the operands are predicted final object or array, then do a final object
- // or array comparison.
-
- if (Node::shouldSpeculateFinalObject(at(node.child1()), at(node.child2()))) {
+ if (at(node.child1()).shouldSpeculateString() || at(node.child2()).shouldSpeculateString())
+ return nonSpeculativeStrictEq(node);
+ if (at(node.child1()).shouldSpeculateNonStringCell() && at(node.child2()).shouldSpeculateNonStringCell()) {
unsigned branchIndexInBlock = detectPeepHoleBranch();
if (branchIndexInBlock != UINT_MAX) {
NodeIndex branchNodeIndex = m_jit.graph().m_blocks[m_block]->at(branchIndexInBlock);
- compilePeepHoleObjectEquality(node, branchNodeIndex, &JSFinalObject::s_info, isFinalObjectSpeculation);
+ compilePeepHoleObjectEquality(node, branchNodeIndex);
use(node.child1());
use(node.child2());
m_indexInBlock = branchIndexInBlock;
m_compileIndex = branchNodeIndex;
return true;
}
- compileObjectEquality(node, &JSFinalObject::s_info, isFinalObjectSpeculation);
- return false;
- }
-
- if (Node::shouldSpeculateArray(at(node.child1()), at(node.child2()))) {
- unsigned branchIndexInBlock = detectPeepHoleBranch();
- if (branchIndexInBlock != UINT_MAX) {
- NodeIndex branchNodeIndex = m_jit.graph().m_blocks[m_block]->at(branchIndexInBlock);
- compilePeepHoleObjectEquality(node, branchNodeIndex, &JSArray::s_info, isArraySpeculation);
- use(node.child1());
- use(node.child2());
- m_indexInBlock = branchIndexInBlock;
- m_compileIndex = branchNodeIndex;
- return true;
- }
- compileObjectEquality(node, &JSArray::s_info, isArraySpeculation);
+ compileObjectEquality(node);
return false;
}
@@ -3109,8 +2994,7 @@ void SpeculativeJIT::compileGetIndexedPropertyStorage(Node& node)
GPRTemporary storage(this);
GPRReg storageReg = storage.gpr();
- const TypedArrayDescriptor* descriptor =
- speculateArray(node.arrayMode(), node.child1(), baseReg);
+ const TypedArrayDescriptor* descriptor = typedArrayDescriptor(node.arrayMode());
switch (node.arrayMode()) {
case Array::String:
@@ -3156,15 +3040,8 @@ void SpeculativeJIT::compileGetByValOnArguments(Node& node)
if (!m_compileOkay)
return;
-
- if (!isArgumentsSpeculation(m_state.forNode(node.child1()).m_type)) {
- speculationCheck(
- BadType, JSValueSource::unboxedCell(baseReg), node.child1(),
- m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(baseReg, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(&Arguments::s_info)));
- }
+
+ ASSERT(modeAlreadyChecked(m_state.forNode(node.child1()), Array::Arguments));
m_jit.loadPtr(
MacroAssembler::Address(baseReg, Arguments::offsetOfData()),
@@ -3225,14 +3102,7 @@ void SpeculativeJIT::compileGetArgumentsLength(Node& node)
if (!m_compileOkay)
return;
- if (!isArgumentsSpeculation(m_state.forNode(node.child1()).m_type)) {
- speculationCheck(
- BadType, JSValueSource::unboxedCell(baseReg), node.child1(),
- m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(baseReg, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(&Arguments::s_info)));
- }
+ ASSERT(modeAlreadyChecked(m_state.forNode(node.child1()), Array::Arguments));
m_jit.loadPtr(
MacroAssembler::Address(baseReg, Arguments::offsetOfData()),
@@ -3252,33 +3122,40 @@ void SpeculativeJIT::compileGetArgumentsLength(Node& node)
void SpeculativeJIT::compileGetArrayLength(Node& node)
{
- SpeculateCellOperand base(this, node.child1());
- GPRTemporary result(this);
-
- GPRReg baseGPR = base.gpr();
- GPRReg resultGPR = result.gpr();
-
- const TypedArrayDescriptor* descriptor =
- speculateArray(node.arrayMode(), node.child1(), baseGPR);
+ const TypedArrayDescriptor* descriptor = typedArrayDescriptor(node.arrayMode());
switch (node.arrayMode()) {
case Array::JSArray:
- case Array::JSArrayOutOfBounds:
- m_jit.loadPtr(MacroAssembler::Address(baseGPR, JSArray::storageOffset()), resultGPR);
- m_jit.load32(MacroAssembler::Address(resultGPR, OBJECT_OFFSETOF(ArrayStorage, m_length)), resultGPR);
+ case Array::JSArrayOutOfBounds: {
+ StorageOperand storage(this, node.child2());
+ GPRTemporary result(this, storage);
+ GPRReg storageReg = storage.gpr();
+ GPRReg resultReg = result.gpr();
+ m_jit.load32(MacroAssembler::Address(storageReg, OBJECT_OFFSETOF(ArrayStorage, m_length)), resultReg);
- speculationCheck(Uncountable, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::LessThan, resultGPR, MacroAssembler::TrustedImm32(0)));
+ speculationCheck(Uncountable, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::LessThan, resultReg, MacroAssembler::TrustedImm32(0)));
- integerResult(resultGPR, m_compileIndex);
+ integerResult(resultReg, m_compileIndex);
break;
- case Array::String:
+ }
+ case Array::String: {
+ SpeculateCellOperand base(this, node.child1());
+ GPRTemporary result(this, base);
+ GPRReg baseGPR = base.gpr();
+ GPRReg resultGPR = result.gpr();
m_jit.load32(MacroAssembler::Address(baseGPR, JSString::offsetOfLength()), resultGPR);
integerResult(resultGPR, m_compileIndex);
break;
- case Array::Arguments:
+ }
+ case Array::Arguments: {
compileGetArgumentsLength(node);
break;
+ }
default:
+ SpeculateCellOperand base(this, node.child1());
+ GPRTemporary result(this, base);
+ GPRReg baseGPR = base.gpr();
+ GPRReg resultGPR = result.gpr();
ASSERT(descriptor);
m_jit.load32(MacroAssembler::Address(baseGPR, descriptor->m_lengthOffset), resultGPR);
integerResult(resultGPR, m_compileIndex);
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
index 69a30a974..f7b125e1b 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
@@ -1198,6 +1198,11 @@ public:
m_jit.setupArgumentsWithExecState(arg1);
return appendCallWithExceptionCheckSetResult(operation, result);
}
+ JITCompiler::Call callOperation(J_DFGOperation_EAZ operation, GPRReg result, GPRReg arg1, GPRReg arg2)
+ {
+ m_jit.setupArgumentsWithExecState(arg1, arg2);
+ return appendCallWithExceptionCheckSetResult(operation, result);
+ }
JITCompiler::Call callOperation(J_DFGOperation_ESt operation, GPRReg result, Structure* structure)
{
m_jit.setupArgumentsWithExecState(TrustedImmPtr(structure));
@@ -1481,6 +1486,11 @@ public:
m_jit.setupArgumentsWithExecState(arg1);
return appendCallWithExceptionCheckSetResult(operation, resultPayload, resultTag);
}
+ JITCompiler::Call callOperation(J_DFGOperation_EAZ operation, GPRReg resultTag, GPRReg resultPayload, GPRReg arg1, GPRReg arg2)
+ {
+ m_jit.setupArgumentsWithExecState(arg1, arg2);
+ return appendCallWithExceptionCheckSetResult(operation, resultPayload, resultTag);
+ }
JITCompiler::Call callOperation(J_DFGOperation_ESt operation, GPRReg resultTag, GPRReg resultPayload, Structure* structure)
{
m_jit.setupArgumentsWithExecState(TrustedImmPtr(structure));
@@ -1825,9 +1835,23 @@ public:
return call;
}
#elif CPU(ARM)
+#if CPU(ARM_HARDFP)
JITCompiler::Call appendCallWithExceptionCheckSetResult(const FunctionPtr& function, FPRReg result)
{
JITCompiler::Call call = appendCallWithExceptionCheck(function);
+ m_jit.moveDouble(result, FPRInfo::argumentFPR0);
+ return call;
+ }
+ JITCompiler::Call appendCallSetResult(const FunctionPtr& function, FPRReg result)
+ {
+ JITCompiler::Call call = m_jit.appendCall(function);
+ m_jit.moveDouble(result, FPRInfo::argumentFPR0);
+ return call;
+ }
+#else
+ JITCompiler::Call appendCallWithExceptionCheckSetResult(const FunctionPtr& function, FPRReg result)
+ {
+ JITCompiler::Call call = appendCallWithExceptionCheck(function);
m_jit.assembler().vmov(result, GPRInfo::returnValueGPR, GPRInfo::returnValueGPR2);
return call;
}
@@ -1837,6 +1861,7 @@ public:
m_jit.assembler().vmov(result, GPRInfo::returnValueGPR, GPRInfo::returnValueGPR2);
return call;
}
+#endif // CPU(ARM_HARDFP)
#else
JITCompiler::Call appendCallWithExceptionCheckSetResult(const FunctionPtr& function, FPRReg result)
{
@@ -2054,16 +2079,14 @@ public:
bool compilePeepHoleBranch(Node&, MacroAssembler::RelationalCondition, MacroAssembler::DoubleCondition, S_DFGOperation_EJJ);
void compilePeepHoleIntegerBranch(Node&, NodeIndex branchNodeIndex, JITCompiler::RelationalCondition);
void compilePeepHoleDoubleBranch(Node&, NodeIndex branchNodeIndex, JITCompiler::DoubleCondition);
- void compilePeepHoleObjectEquality(Node&, NodeIndex branchNodeIndex, const ClassInfo*, SpeculatedTypeChecker);
- void compilePeepHoleObjectToObjectOrOtherEquality(
- Edge leftChild, Edge rightChild, NodeIndex branchNodeIndex, const ClassInfo*, SpeculatedTypeChecker);
- void compileObjectEquality(Node&, const ClassInfo*, SpeculatedTypeChecker);
- void compileObjectToObjectOrOtherEquality(
- Edge leftChild, Edge rightChild, const ClassInfo*, SpeculatedTypeChecker);
+ void compilePeepHoleObjectEquality(Node&, NodeIndex branchNodeIndex);
+ void compilePeepHoleObjectToObjectOrOtherEquality(Edge leftChild, Edge rightChild, NodeIndex branchNodeIndex);
+ void compileObjectEquality(Node&);
+ void compileObjectToObjectOrOtherEquality(Edge leftChild, Edge rightChild);
void compileValueAdd(Node&);
- void compileObjectOrOtherLogicalNot(Edge value, const ClassInfo*, bool needSpeculationCheck);
+ void compileNonStringCellOrOtherLogicalNot(Edge value, bool needSpeculationCheck);
void compileLogicalNot(Node&);
- void emitObjectOrOtherBranch(Edge value, BlockIndex taken, BlockIndex notTaken, const ClassInfo*, bool needSpeculationCheck);
+ void emitNonStringCellOrOtherBranch(Edge value, BlockIndex taken, BlockIndex notTaken, bool needSpeculationCheck);
void emitBranch(Node&);
void compileIntegerCompare(Node&, MacroAssembler::RelationalCondition);
@@ -2197,7 +2220,7 @@ public:
const TypedArrayDescriptor* typedArrayDescriptor(Array::Mode);
- const TypedArrayDescriptor* speculateArray(Array::Mode, Edge baseEdge, GPRReg baseReg);
+ void checkArray(Node&);
template<bool strict>
GPRReg fillSpeculateIntInternal(NodeIndex, DataFormat& returnFormat);
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
index 846d078ba..34b8dae46 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
@@ -1048,7 +1048,7 @@ void SpeculativeJIT::emitCall(Node& node)
slowPath.append(m_jit.branchPtrWithPatch(MacroAssembler::NotEqual, calleePayloadGPR, targetToCheck));
slowPath.append(m_jit.branch32(MacroAssembler::NotEqual, calleeTagGPR, TrustedImm32(JSValue::CellTag)));
- m_jit.loadPtr(MacroAssembler::Address(calleePayloadGPR, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), resultPayloadGPR);
+ m_jit.loadPtr(MacroAssembler::Address(calleePayloadGPR, OBJECT_OFFSETOF(JSFunction, m_scope)), resultPayloadGPR);
m_jit.storePtr(resultPayloadGPR, MacroAssembler::Address(GPRInfo::callFrameRegister, static_cast<ptrdiff_t>(sizeof(Register)) * RegisterFile::ScopeChain + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload)));
m_jit.store32(MacroAssembler::TrustedImm32(JSValue::CellTag), MacroAssembler::Address(GPRInfo::callFrameRegister, static_cast<ptrdiff_t>(sizeof(Register)) * RegisterFile::ScopeChain + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)));
@@ -1489,17 +1489,53 @@ JITCompiler::Jump SpeculativeJIT::convertToDouble(JSValueOperand& op, FPRReg res
return notNumber;
}
-void SpeculativeJIT::compileObjectEquality(Node& node, const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compileObjectEquality(Node& node)
{
SpeculateCellOperand op1(this, node.child1());
SpeculateCellOperand op2(this, node.child2());
GPRReg op1GPR = op1.gpr();
GPRReg op2GPR = op2.gpr();
- if (!speculatedTypeChecker(m_state.forNode(node.child1()).m_type))
- speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
- if (!speculatedTypeChecker(m_state.forNode(node.child2()).m_type))
- speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(op2GPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
+ if (m_jit.graph().globalObjectFor(node.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(node.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), node.child1(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
+
+ m_jit.loadPtr(MacroAssembler::Address(op2GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op2GPR), node.child2(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
+ }
GPRTemporary resultPayload(this, op2);
GPRReg resultPayloadGPR = resultPayload.gpr();
@@ -1514,10 +1550,9 @@ void SpeculativeJIT::compileObjectEquality(Node& node, const ClassInfo* classInf
booleanResult(resultPayloadGPR, m_compileIndex);
}
-void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
- Edge leftChild, Edge rightChild,
- const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compileObjectToObjectOrOtherEquality(Edge leftChild, Edge rightChild)
{
+ Node& leftNode = m_jit.graph()[leftChild.index()];
SpeculateCellOperand op1(this, leftChild);
JSValueOperand op2(this, rightChild);
GPRTemporary result(this);
@@ -1527,31 +1562,59 @@ void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
GPRReg op2PayloadGPR = op2.payloadGPR();
GPRReg resultGPR = result.gpr();
- if (!speculatedTypeChecker(m_state.forNode(leftChild).m_type)) {
- speculationCheck(
- BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
+ if (m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
+
// It seems that most of the time when programs do a == b where b may be either null/undefined
// or an object, b is usually an object. Balance the branches to make that case fast.
MacroAssembler::Jump rightNotCell =
m_jit.branch32(MacroAssembler::NotEqual, op2TagGPR, TrustedImm32(JSValue::CellTag));
- // We know that within this branch, rightChild must be a cell. If the CFA can tell us that the
- // proof, when filtered on cell, demonstrates that we have an object of the desired type
- // (speculationCheck() will test for FinalObject or Array, currently), then we can skip the
- // speculation.
- if (!speculatedTypeChecker(m_state.forNode(rightChild).m_type & SpecCell)) {
- speculationCheck(
- BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
+ // We know that within this branch, rightChild must be a cell.
+ if (m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2PayloadGPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op2PayloadGPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op2PayloadGPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// At this point we know that we can perform a straight-forward equality comparison on pointer
@@ -1585,9 +1648,7 @@ void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
booleanResult(resultGPR, m_compileIndex);
}
-void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(
- Edge leftChild, Edge rightChild, NodeIndex branchNodeIndex,
- const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(Edge leftChild, Edge rightChild, NodeIndex branchNodeIndex)
{
Node& branchNode = at(branchNodeIndex);
BlockIndex taken = branchNode.takenBlockIndex();
@@ -1602,13 +1663,28 @@ void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(
GPRReg op2PayloadGPR = op2.payloadGPR();
GPRReg resultGPR = result.gpr();
- if (!speculatedTypeChecker(m_state.forNode(leftChild).m_type)) {
- speculationCheck(
- BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
+ if (m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueSource::unboxedCell(op1GPR), leftChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// It seems that most of the time when programs do a == b where b may be either null/undefined
@@ -1616,17 +1692,29 @@ void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(
MacroAssembler::Jump rightNotCell =
m_jit.branch32(MacroAssembler::NotEqual, op2TagGPR, TrustedImm32(JSValue::CellTag));
- // We know that within this branch, rightChild must be a cell. If the CFA can tell us that the
- // proof, when filtered on cell, demonstrates that we have an object of the desired type
- // (speculationCheck() will test for FinalObject or Array, currently), then we can skip the
- // speculation.
- if (!speculatedTypeChecker(m_state.forNode(rightChild).m_type & SpecCell)) {
- speculationCheck(
- BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
+ // We know that within this branch, rightChild must be a cell.
+ if (m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2PayloadGPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op2PayloadGPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op2PayloadGPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op2TagGPR, op2PayloadGPR), rightChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// At this point we know that we can perform a straight-forward equality comparison on pointer
@@ -1703,7 +1791,7 @@ void SpeculativeJIT::compileValueAdd(Node& node)
jsValueResult(resultTag.gpr(), resultPayload.gpr(), m_compileIndex);
}
-void SpeculativeJIT::compileObjectOrOtherLogicalNot(Edge nodeUse, const ClassInfo* classInfo, bool needSpeculationCheck)
+void SpeculativeJIT::compileNonStringCellOrOtherLogicalNot(Edge nodeUse, bool needSpeculationCheck)
{
JSValueOperand value(this, nodeUse);
GPRTemporary resultPayload(this);
@@ -1712,8 +1800,44 @@ void SpeculativeJIT::compileObjectOrOtherLogicalNot(Edge nodeUse, const ClassInf
GPRReg resultPayloadGPR = resultPayload.gpr();
MacroAssembler::Jump notCell = m_jit.branch32(MacroAssembler::NotEqual, valueTagGPR, TrustedImm32(JSValue::CellTag));
- if (needSpeculationCheck)
- speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(valuePayloadGPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
+ if (m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(valuePayloadGPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(valuePayloadGPR, JSCell::structureOffset()), structureGPR);
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+
+ MacroAssembler::Jump isNotMasqueradesAsUndefined =
+ m_jit.branchTest8(
+ MacroAssembler::Zero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined));
+
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(structureGPR, Structure::globalObjectOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin))));
+
+ isNotMasqueradesAsUndefined.link(&m_jit);
+ }
m_jit.move(TrustedImm32(0), resultPayloadGPR);
MacroAssembler::Jump done = m_jit.jump();
@@ -1723,7 +1847,11 @@ void SpeculativeJIT::compileObjectOrOtherLogicalNot(Edge nodeUse, const ClassInf
if (needSpeculationCheck) {
m_jit.move(valueTagGPR, resultPayloadGPR);
m_jit.or32(TrustedImm32(1), resultPayloadGPR);
- speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse, m_jit.branch32(MacroAssembler::NotEqual, resultPayloadGPR, TrustedImm32(JSValue::NullTag)));
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse,
+ m_jit.branch32(
+ MacroAssembler::NotEqual,
+ resultPayloadGPR,
+ TrustedImm32(JSValue::NullTag)));
}
m_jit.move(TrustedImm32(1), resultPayloadGPR);
@@ -1741,12 +1869,9 @@ void SpeculativeJIT::compileLogicalNot(Node& node)
booleanResult(result.gpr(), m_compileIndex);
return;
}
- if (at(node.child1()).shouldSpeculateFinalObjectOrOther()) {
- compileObjectOrOtherLogicalNot(node.child1(), &JSFinalObject::s_info, !isFinalObjectOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
- return;
- }
- if (at(node.child1()).shouldSpeculateArrayOrOther()) {
- compileObjectOrOtherLogicalNot(node.child1(), &JSArray::s_info, !isArrayOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
+ if (at(node.child1()).shouldSpeculateNonStringCellOrOther()) {
+ compileNonStringCellOrOtherLogicalNot(node.child1(),
+ !isNonStringCellOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
return;
}
if (at(node.child1()).shouldSpeculateInteger()) {
@@ -1789,7 +1914,7 @@ void SpeculativeJIT::compileLogicalNot(Node& node)
booleanResult(resultPayloadGPR, m_compileIndex, UseChildrenCalledExplicitly);
}
-void SpeculativeJIT::emitObjectOrOtherBranch(Edge nodeUse, BlockIndex taken, BlockIndex notTaken, const ClassInfo* classInfo, bool needSpeculationCheck)
+void SpeculativeJIT::emitNonStringCellOrOtherBranch(Edge nodeUse, BlockIndex taken, BlockIndex notTaken, bool needSpeculationCheck)
{
JSValueOperand value(this, nodeUse);
GPRTemporary scratch(this);
@@ -1798,8 +1923,37 @@ void SpeculativeJIT::emitObjectOrOtherBranch(Edge nodeUse, BlockIndex taken, Blo
GPRReg scratchGPR = scratch.gpr();
MacroAssembler::Jump notCell = m_jit.branch32(MacroAssembler::NotEqual, valueTagGPR, TrustedImm32(JSValue::CellTag));
- if (needSpeculationCheck)
- speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(valuePayloadGPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
+ if (m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(valuePayloadGPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+ } else {
+ m_jit.loadPtr(MacroAssembler::Address(valuePayloadGPR, JSCell::structureOffset()), scratchGPR);
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ scratchGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+
+ JITCompiler::Jump isNotMasqueradesAsUndefined = m_jit.branchTest8(JITCompiler::Zero, MacroAssembler::Address(scratchGPR, Structure::typeInfoFlagsOffset()), TrustedImm32(MasqueradesAsUndefined));
+
+ speculationCheck(BadType, JSValueRegs(valueTagGPR, valuePayloadGPR), nodeUse.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(scratchGPR, Structure::globalObjectOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin))));
+
+ isNotMasqueradesAsUndefined.link(&m_jit);
+ }
jump(taken, ForceJump);
notCell.link(&m_jit);
@@ -1836,10 +1990,9 @@ void SpeculativeJIT::emitBranch(Node& node)
jump(notTaken);
noResult(m_compileIndex);
- } else if (at(node.child1()).shouldSpeculateFinalObjectOrOther()) {
- emitObjectOrOtherBranch(node.child1(), taken, notTaken, &JSFinalObject::s_info, !isFinalObjectOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
- } else if (at(node.child1()).shouldSpeculateArrayOrOther()) {
- emitObjectOrOtherBranch(node.child1(), taken, notTaken, &JSArray::s_info, !isArrayOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
+ } else if (at(node.child1()).shouldSpeculateNonStringCellOrOther()) {
+ emitNonStringCellOrOtherBranch(node.child1(), taken, notTaken,
+ !isNonStringCellOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
} else if (at(node.child1()).shouldSpeculateNumber()) {
if (at(node.child1()).shouldSpeculateInteger()) {
bool invert = false;
@@ -2373,6 +2526,11 @@ void SpeculativeJIT::compile(Node& node)
compileGetByValOnString(node);
break;
}
+
+ case CheckArray: {
+ checkArray(node);
+ break;
+ }
case GetByVal: {
switch (node.arrayMode()) {
@@ -2396,8 +2554,7 @@ void SpeculativeJIT::compile(Node& node)
jsValueResult(resultTag.gpr(), resultPayload.gpr(), m_compileIndex);
break;
}
- case Array::JSArray:
- case Array::JSArrayOutOfBounds: {
+ case Array::JSArray: {
SpeculateStrictInt32Operand property(this, node.child2());
StorageOperand storage(this, node.child3());
GPRReg propertyReg = property.gpr();
@@ -2412,19 +2569,59 @@ void SpeculativeJIT::compile(Node& node)
SpeculateCellOperand base(this, node.child1());
GPRReg baseReg = base.gpr();
// We've already speculated that it's some kind of array, at this point.
- speculationCheck(Uncountable, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::AboveOrEqual, propertyReg, MacroAssembler::Address(baseReg, JSArray::vectorLengthOffset())));
+ speculationCheck(OutOfBounds, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::AboveOrEqual, propertyReg, MacroAssembler::Address(baseReg, JSArray::vectorLengthOffset())));
}
GPRTemporary resultTag(this);
GPRTemporary resultPayload(this);
m_jit.load32(MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), resultTag.gpr());
- speculationCheck(Uncountable, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::Equal, resultTag.gpr(), TrustedImm32(JSValue::EmptyValueTag)));
+ speculationCheck(OutOfBounds, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::Equal, resultTag.gpr(), TrustedImm32(JSValue::EmptyValueTag)));
m_jit.load32(MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), resultPayload.gpr());
-
+
jsValueResult(resultTag.gpr(), resultPayload.gpr(), m_compileIndex);
break;
}
+ case Array::JSArrayOutOfBounds: {
+ SpeculateCellOperand base(this, node.child1());
+ SpeculateStrictInt32Operand property(this, node.child2());
+ StorageOperand storage(this, node.child3());
+ GPRReg propertyReg = property.gpr();
+ GPRReg storageReg = storage.gpr();
+
+ if (!m_compileOkay)
+ return;
+
+ GPRTemporary resultTag(this);
+ GPRTemporary resultPayload(this);
+ GPRReg resultTagReg = resultTag.gpr();
+ GPRReg resultPayloadReg = resultPayload.gpr();
+
+ // Check that base is an array, and that property is contained within m_vector (< m_vectorLength).
+ // If we have predicted the base to be type array, we can skip the check.
+ GPRReg baseReg = base.gpr();
+ // We've already speculated that it's some kind of array, at this point.
+ JITCompiler::Jump outOfBounds = m_jit.branch32(
+ MacroAssembler::AboveOrEqual, propertyReg,
+ MacroAssembler::Address(baseReg, JSArray::vectorLengthOffset()));
+
+ m_jit.load32(MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), resultTagReg);
+ JITCompiler::Jump hole = m_jit.branch32(
+ MacroAssembler::Equal, resultTag.gpr(), TrustedImm32(JSValue::EmptyValueTag));
+ m_jit.load32(MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + OBJECT_OFFSETOF(JSValue, u.asBits.payload)), resultPayloadReg);
+
+ JITCompiler::JumpList slowCases;
+ slowCases.append(outOfBounds);
+ slowCases.append(hole);
+ addSlowPathGenerator(
+ slowPathCall(
+ slowCases, this, operationGetByValArrayInt,
+ JSValueRegs(resultTagReg, resultPayloadReg),
+ baseReg, propertyReg));
+
+ jsValueResult(resultTagReg, resultPayloadReg, m_compileIndex);
+ break;
+ }
case Array::String:
compileGetByValOnString(node);
break;
@@ -2470,6 +2667,7 @@ void SpeculativeJIT::compile(Node& node)
Edge child1 = m_jit.graph().varArgChild(node, 0);
Edge child2 = m_jit.graph().varArgChild(node, 1);
Edge child3 = m_jit.graph().varArgChild(node, 2);
+ Edge child4 = m_jit.graph().varArgChild(node, 3);
Array::Mode arrayMode = modeForPut(node.arrayMode());
bool alreadyHandled = false;
@@ -2513,8 +2711,6 @@ void SpeculativeJIT::compile(Node& node)
GPRReg baseReg = base.gpr();
GPRReg propertyReg = property.gpr();
- speculateArray(arrayMode, child1, baseReg);
-
switch (arrayMode) {
case Array::JSArray:
case Array::JSArrayOutOfBounds: {
@@ -2531,13 +2727,11 @@ void SpeculativeJIT::compile(Node& node)
GPRReg scratchReg = scratch.gpr();
writeBarrier(baseReg, valueTagReg, child3, WriteBarrierForPropertyAccess, scratchReg);
}
+
+ StorageOperand storage(this, child4);
+ GPRReg storageReg = storage.gpr();
if (node.op() == PutByValAlias) {
- // Get the array storage.
- GPRTemporary storage(this);
- GPRReg storageReg = storage.gpr();
- m_jit.loadPtr(MacroAssembler::Address(baseReg, JSArray::storageOffset()), storageReg);
-
// Store the value to the array.
GPRReg propertyReg = property.gpr();
m_jit.store32(value.tagGPR(), MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)));
@@ -2554,12 +2748,8 @@ void SpeculativeJIT::compile(Node& node)
base.use();
property.use();
value.use();
+ storage.use();
- // Get the array storage.
- GPRTemporary storage(this);
- GPRReg storageReg = storage.gpr();
- m_jit.loadPtr(MacroAssembler::Address(baseReg, JSArray::storageOffset()), storageReg);
-
// Check if we're writing to a hole; if so increment m_numValuesInVector.
MacroAssembler::Jump notHoleValue = m_jit.branch32(MacroAssembler::NotEqual, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::TimesEight, OBJECT_OFFSETOF(ArrayStorage, m_vector[0]) + OBJECT_OFFSETOF(JSValue, u.asBits.tag)), TrustedImm32(JSValue::EmptyValueTag));
m_jit.add32(TrustedImm32(1), MacroAssembler::Address(storageReg, OBJECT_OFFSETOF(ArrayStorage, m_numValuesInVector)));
@@ -2688,6 +2878,8 @@ void SpeculativeJIT::compile(Node& node)
}
case ArrayPush: {
+ ASSERT(modeIsJSArray(node.arrayMode()));
+
SpeculateCellOperand base(this, node.child1());
JSValueOperand value(this, node.child2());
GPRTemporary storageLength(this);
@@ -2697,17 +2889,14 @@ void SpeculativeJIT::compile(Node& node)
GPRReg valuePayloadGPR = value.payloadGPR();
GPRReg storageLengthGPR = storageLength.gpr();
- {
+ if (Heap::isWriteBarrierEnabled()) {
GPRTemporary scratch(this);
writeBarrier(baseGPR, valueTagGPR, node.child2(), WriteBarrierForPropertyAccess, scratch.gpr(), storageLengthGPR);
}
- speculateArray(Array::JSArray, node.child1(), baseGPR);
-
- GPRTemporary storage(this);
+ StorageOperand storage(this, node.child3());
GPRReg storageGPR = storage.gpr();
- m_jit.loadPtr(MacroAssembler::Address(baseGPR, JSArray::storageOffset()), storageGPR);
m_jit.load32(MacroAssembler::Address(storageGPR, OBJECT_OFFSETOF(ArrayStorage, m_length)), storageLengthGPR);
// Refuse to handle bizarre lengths.
@@ -2730,10 +2919,12 @@ void SpeculativeJIT::compile(Node& node)
}
case ArrayPop: {
+ ASSERT(modeIsJSArray(node.arrayMode()));
+
SpeculateCellOperand base(this, node.child1());
+ StorageOperand storage(this, node.child2());
GPRTemporary valueTag(this);
GPRTemporary valuePayload(this);
- GPRTemporary storage(this);
GPRTemporary storageLength(this);
GPRReg baseGPR = base.gpr();
@@ -2742,9 +2933,6 @@ void SpeculativeJIT::compile(Node& node)
GPRReg storageGPR = storage.gpr();
GPRReg storageLengthGPR = storageLength.gpr();
- speculateArray(Array::JSArray, node.child1(), baseGPR);
-
- m_jit.loadPtr(MacroAssembler::Address(baseGPR, JSArray::storageOffset()), storageGPR);
m_jit.load32(MacroAssembler::Address(storageGPR, OBJECT_OFFSETOF(ArrayStorage, m_length)), storageLengthGPR);
JITCompiler::JumpList setUndefinedCases;
@@ -3163,38 +3351,36 @@ void SpeculativeJIT::compile(Node& node)
JITCompiler::Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = m_jit.branchTestPtr(JITCompiler::Zero, JITCompiler::addressFor(static_cast<VirtualRegister>(m_jit.codeBlock()->activationRegister())));
- m_jit.loadPtr(JITCompiler::Address(resultGPR, OBJECT_OFFSETOF(ScopeChainNode, next)), resultGPR);
+ m_jit.loadPtr(JITCompiler::Address(resultGPR, JSScope::offsetOfNext()), resultGPR);
activationNotCreated.link(&m_jit);
}
while (skip--)
- m_jit.loadPtr(JITCompiler::Address(resultGPR, OBJECT_OFFSETOF(ScopeChainNode, next)), resultGPR);
+ m_jit.loadPtr(JITCompiler::Address(resultGPR, JSScope::offsetOfNext()), resultGPR);
- m_jit.loadPtr(JITCompiler::Address(resultGPR, OBJECT_OFFSETOF(ScopeChainNode, object)), resultGPR);
-
cellResult(resultGPR, m_compileIndex);
break;
}
case GetScopedVar: {
- SpeculateCellOperand scopeChain(this, node.child1());
+ SpeculateCellOperand scope(this, node.child1());
GPRTemporary resultTag(this);
GPRTemporary resultPayload(this);
GPRReg resultTagGPR = resultTag.gpr();
GPRReg resultPayloadGPR = resultPayload.gpr();
- m_jit.loadPtr(JITCompiler::Address(scopeChain.gpr(), JSVariableObject::offsetOfRegisters()), resultPayloadGPR);
+ m_jit.loadPtr(JITCompiler::Address(scope.gpr(), JSVariableObject::offsetOfRegisters()), resultPayloadGPR);
m_jit.load32(JITCompiler::Address(resultPayloadGPR, node.varNumber() * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)), resultTagGPR);
m_jit.load32(JITCompiler::Address(resultPayloadGPR, node.varNumber() * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload)), resultPayloadGPR);
jsValueResult(resultTagGPR, resultPayloadGPR, m_compileIndex);
break;
}
case PutScopedVar: {
- SpeculateCellOperand scopeChain(this, node.child1());
+ SpeculateCellOperand scope(this, node.child1());
GPRTemporary scratchRegister(this);
GPRReg scratchGPR = scratchRegister.gpr();
- m_jit.loadPtr(JITCompiler::Address(scopeChain.gpr(), JSVariableObject::offsetOfRegisters()), scratchGPR);
+ m_jit.loadPtr(JITCompiler::Address(scope.gpr(), JSVariableObject::offsetOfRegisters()), scratchGPR);
JSValueOperand value(this, node.child2());
m_jit.store32(value.tagGPR(), JITCompiler::Address(scratchGPR, node.varNumber() * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.tag)));
m_jit.store32(value.payloadGPR(), JITCompiler::Address(scratchGPR, node.varNumber() * sizeof(Register) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload)));
- writeBarrier(scopeChain.gpr(), value.tagGPR(), node.child2(), WriteBarrierForVariableAccess, scratchGPR);
+ writeBarrier(scope.gpr(), value.tagGPR(), node.child2(), WriteBarrierForVariableAccess, scratchGPR);
noResult(m_compileIndex);
break;
}
@@ -3535,7 +3721,7 @@ void SpeculativeJIT::compile(Node& node)
JSValueOperand value(this, node.child1());
WatchpointSet* watchpointSet =
- m_jit.globalObjectFor(node.codeOrigin)->symbolTable().get(
+ m_jit.globalObjectFor(node.codeOrigin)->symbolTable()->get(
identifier(node.identifierNumberForCheck())->impl()).watchpointSet();
addSlowPathGenerator(
slowPathCall(
@@ -3563,7 +3749,7 @@ void SpeculativeJIT::compile(Node& node)
}
case GlobalVarWatchpoint: {
- m_jit.globalObjectFor(node.codeOrigin)->symbolTable().get(
+ m_jit.globalObjectFor(node.codeOrigin)->symbolTable()->get(
identifier(node.identifierNumberForCheck())->impl()).addWatchpoint(
speculationWatchpoint());
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
index b69d53600..a1ac899a2 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
@@ -1032,7 +1032,7 @@ void SpeculativeJIT::emitCall(Node& node)
m_jit.addPtr(TrustedImm32(m_jit.codeBlock()->m_numCalleeRegisters * sizeof(Register)), GPRInfo::callFrameRegister);
slowPath = m_jit.branchPtrWithPatch(MacroAssembler::NotEqual, calleeGPR, targetToCheck, MacroAssembler::TrustedImmPtr(JSValue::encode(JSValue())));
- m_jit.loadPtr(MacroAssembler::Address(calleeGPR, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), resultGPR);
+ m_jit.loadPtr(MacroAssembler::Address(calleeGPR, OBJECT_OFFSETOF(JSFunction, m_scope)), resultGPR);
m_jit.storePtr(resultGPR, MacroAssembler::Address(GPRInfo::callFrameRegister, static_cast<ptrdiff_t>(sizeof(Register)) * RegisterFile::ScopeChain));
CodeOrigin codeOrigin = at(m_compileIndex).codeOrigin;
@@ -1538,7 +1538,7 @@ JITCompiler::Jump SpeculativeJIT::convertToDouble(GPRReg value, FPRReg result, G
return notNumber;
}
-void SpeculativeJIT::compileObjectEquality(Node& node, const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compileObjectEquality(Node& node)
{
SpeculateCellOperand op1(this, node.child1());
SpeculateCellOperand op2(this, node.child2());
@@ -1547,11 +1547,47 @@ void SpeculativeJIT::compileObjectEquality(Node& node, const ClassInfo* classInf
GPRReg op1GPR = op1.gpr();
GPRReg op2GPR = op2.gpr();
GPRReg resultGPR = result.gpr();
-
- if (!speculatedTypeChecker(m_state.forNode(node.child1()).m_type))
- speculationCheck(BadType, JSValueRegs(op1GPR), node.child1().index(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
- if (!speculatedTypeChecker(m_state.forNode(node.child2()).m_type))
- speculationCheck(BadType, JSValueRegs(op2GPR), node.child2().index(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(op2GPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
+
+ if (m_jit.graph().globalObjectFor(node.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(node.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op1GPR), node.child1().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op2GPR), node.child2().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op1GPR), node.child1().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op1GPR), node.child1().index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
+
+ m_jit.loadPtr(MacroAssembler::Address(op2GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op2GPR), node.child2().index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op2GPR), node.child2().index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
+ }
MacroAssembler::Jump falseCase = m_jit.branchPtr(MacroAssembler::NotEqual, op1GPR, op2GPR);
m_jit.move(TrustedImm32(ValueTrue), resultGPR);
@@ -1563,10 +1599,9 @@ void SpeculativeJIT::compileObjectEquality(Node& node, const ClassInfo* classInf
jsValueResult(resultGPR, m_compileIndex, DataFormatJSBoolean);
}
-void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
- Edge leftChild, Edge rightChild,
- const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compileObjectToObjectOrOtherEquality(Edge leftChild, Edge rightChild)
{
+ Node& leftNode = m_jit.graph()[leftChild.index()];
SpeculateCellOperand op1(this, leftChild);
JSValueOperand op2(this, rightChild);
GPRTemporary result(this);
@@ -1574,14 +1609,29 @@ void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
GPRReg op1GPR = op1.gpr();
GPRReg op2GPR = op2.gpr();
GPRReg resultGPR = result.gpr();
-
- if (!speculatedTypeChecker(m_state.forNode(leftChild).m_type)) {
- speculationCheck(
- BadType, JSValueRegs(op1GPR), leftChild.index(),
+
+ if (m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op1GPR), leftChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op1GPR), leftChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op1GPR), leftChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// It seems that most of the time when programs do a == b where b may be either null/undefined
@@ -1589,17 +1639,29 @@ void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
MacroAssembler::Jump rightNotCell =
m_jit.branchTestPtr(MacroAssembler::NonZero, op2GPR, GPRInfo::tagMaskRegister);
- // We know that within this branch, rightChild must be a cell. If the CFA can tell us that the
- // proof, when filtered on cell, demonstrates that we have an object of the desired type
- // (speculationCheck() will test for FinalObject or Array, currently), then we can skip the
- // speculation.
- if (!speculatedTypeChecker(m_state.forNode(rightChild).m_type & SpecCell)) {
- speculationCheck(
- BadType, JSValueRegs(op2GPR), rightChild.index(),
+ // We know that within this branch, rightChild must be a cell.
+ if (m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(leftNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op2GPR), rightChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op2GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op2GPR), rightChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op2GPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op2GPR), rightChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// At this point we know that we can perform a straight-forward equality comparison on pointer
@@ -1633,9 +1695,7 @@ void SpeculativeJIT::compileObjectToObjectOrOtherEquality(
jsValueResult(resultGPR, m_compileIndex, DataFormatJSBoolean);
}
-void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(
- Edge leftChild, Edge rightChild, NodeIndex branchNodeIndex,
- const ClassInfo* classInfo, SpeculatedTypeChecker speculatedTypeChecker)
+void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(Edge leftChild, Edge rightChild, NodeIndex branchNodeIndex)
{
Node& branchNode = at(branchNodeIndex);
BlockIndex taken = branchNode.takenBlockIndex();
@@ -1649,13 +1709,28 @@ void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(
GPRReg op2GPR = op2.gpr();
GPRReg resultGPR = result.gpr();
- if (!speculatedTypeChecker(m_state.forNode(leftChild).m_type)) {
- speculationCheck(
- BadType, JSValueRegs(op1GPR), leftChild.index(),
+ if (m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op1GPR), leftChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op1GPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op1GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op1GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op1GPR), leftChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op1GPR), leftChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// It seems that most of the time when programs do a == b where b may be either null/undefined
@@ -1663,17 +1738,29 @@ void SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality(
MacroAssembler::Jump rightNotCell =
m_jit.branchTestPtr(MacroAssembler::NonZero, op2GPR, GPRInfo::tagMaskRegister);
- // We know that within this branch, rightChild must be a cell. If the CFA can tell us that the
- // proof, when filtered on cell, demonstrates that we have an object of the desired type
- // (speculationCheck() will test for FinalObject or Array, currently), then we can skip the
- // speculation.
- if (!speculatedTypeChecker(m_state.forNode(rightChild).m_type & SpecCell)) {
- speculationCheck(
- BadType, JSValueRegs(op2GPR), rightChild.index(),
+ // We know that within this branch, rightChild must be a cell.
+ if (m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(branchNode.codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+ speculationCheck(BadType, JSValueRegs(op2GPR), rightChild.index(),
m_jit.branchPtr(
- MacroAssembler::NotEqual,
- MacroAssembler::Address(op2GPR, JSCell::classInfoOffset()),
- MacroAssembler::TrustedImmPtr(classInfo)));
+ MacroAssembler::Equal,
+ MacroAssembler::Address(op2GPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(op2GPR, JSCell::structureOffset()), structureGPR);
+ speculationCheck(BadType, JSValueRegs(op2GPR), rightChild.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ speculationCheck(BadType, JSValueRegs(op2GPR), rightChild.index(),
+ m_jit.branchTest8(
+ MacroAssembler::NonZero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined)));
}
// At this point we know that we can perform a straight-forward equality comparison on pointer
@@ -1748,7 +1835,7 @@ void SpeculativeJIT::compileValueAdd(Node& node)
jsValueResult(result.gpr(), m_compileIndex);
}
-void SpeculativeJIT::compileObjectOrOtherLogicalNot(Edge nodeUse, const ClassInfo* classInfo, bool needSpeculationCheck)
+void SpeculativeJIT::compileNonStringCellOrOtherLogicalNot(Edge nodeUse, bool needSpeculationCheck)
{
JSValueOperand value(this, nodeUse);
GPRTemporary result(this);
@@ -1756,19 +1843,59 @@ void SpeculativeJIT::compileObjectOrOtherLogicalNot(Edge nodeUse, const ClassInf
GPRReg resultGPR = result.gpr();
MacroAssembler::Jump notCell = m_jit.branchTestPtr(MacroAssembler::NonZero, valueGPR, GPRInfo::tagMaskRegister);
- if (needSpeculationCheck)
- speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse, m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(valueGPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
- m_jit.move(TrustedImm32(static_cast<int32_t>(ValueFalse)), resultGPR);
+ if (m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(valueGPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+ } else {
+ GPRTemporary structure(this);
+ GPRReg structureGPR = structure.gpr();
+
+ m_jit.loadPtr(MacroAssembler::Address(valueGPR, JSCell::structureOffset()), structureGPR);
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ structureGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+
+ MacroAssembler::Jump isNotMasqueradesAsUndefined =
+ m_jit.branchTest8(
+ MacroAssembler::Zero,
+ MacroAssembler::Address(structureGPR, Structure::typeInfoFlagsOffset()),
+ MacroAssembler::TrustedImm32(MasqueradesAsUndefined));
+
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(structureGPR, Structure::globalObjectOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin))));
+
+ isNotMasqueradesAsUndefined.link(&m_jit);
+ }
+ m_jit.move(TrustedImm32(ValueFalse), resultGPR);
MacroAssembler::Jump done = m_jit.jump();
notCell.link(&m_jit);
-
+
if (needSpeculationCheck) {
m_jit.move(valueGPR, resultGPR);
m_jit.andPtr(MacroAssembler::TrustedImm32(~TagBitUndefined), resultGPR);
- speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse, m_jit.branchPtr(MacroAssembler::NotEqual, resultGPR, MacroAssembler::TrustedImmPtr(reinterpret_cast<void*>(ValueNull))));
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse,
+ m_jit.branchPtr(
+ MacroAssembler::NotEqual,
+ resultGPR,
+ MacroAssembler::TrustedImmPtr(reinterpret_cast<void*>(ValueNull))));
}
- m_jit.move(TrustedImm32(static_cast<int32_t>(ValueTrue)), resultGPR);
+ m_jit.move(TrustedImm32(ValueTrue), resultGPR);
done.link(&m_jit);
@@ -1777,12 +1904,9 @@ void SpeculativeJIT::compileObjectOrOtherLogicalNot(Edge nodeUse, const ClassInf
void SpeculativeJIT::compileLogicalNot(Node& node)
{
- if (at(node.child1()).shouldSpeculateFinalObjectOrOther()) {
- compileObjectOrOtherLogicalNot(node.child1(), &JSFinalObject::s_info, !isFinalObjectOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
- return;
- }
- if (at(node.child1()).shouldSpeculateArrayOrOther()) {
- compileObjectOrOtherLogicalNot(node.child1(), &JSArray::s_info, !isArrayOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
+ if (at(node.child1()).shouldSpeculateNonStringCellOrOther()) {
+ compileNonStringCellOrOtherLogicalNot(node.child1(),
+ !isNonStringCellOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
return;
}
if (at(node.child1()).shouldSpeculateInteger()) {
@@ -1850,7 +1974,7 @@ void SpeculativeJIT::compileLogicalNot(Node& node)
jsValueResult(resultGPR, m_compileIndex, DataFormatJSBoolean, UseChildrenCalledExplicitly);
}
-void SpeculativeJIT::emitObjectOrOtherBranch(Edge nodeUse, BlockIndex taken, BlockIndex notTaken, const ClassInfo* classInfo, bool needSpeculationCheck)
+void SpeculativeJIT::emitNonStringCellOrOtherBranch(Edge nodeUse, BlockIndex taken, BlockIndex notTaken, bool needSpeculationCheck)
{
JSValueOperand value(this, nodeUse);
GPRTemporary scratch(this);
@@ -1858,8 +1982,37 @@ void SpeculativeJIT::emitObjectOrOtherBranch(Edge nodeUse, BlockIndex taken, Blo
GPRReg scratchGPR = scratch.gpr();
MacroAssembler::Jump notCell = m_jit.branchTestPtr(MacroAssembler::NonZero, valueGPR, GPRInfo::tagMaskRegister);
- if (needSpeculationCheck)
- speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse.index(), m_jit.branchPtr(MacroAssembler::NotEqual, MacroAssembler::Address(valueGPR, JSCell::classInfoOffset()), MacroAssembler::TrustedImmPtr(classInfo)));
+ if (m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->isStillValid()) {
+ m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin)->masqueradesAsUndefinedWatchpoint()->add(speculationWatchpoint());
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(valueGPR, JSCell::structureOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+ } else {
+ m_jit.loadPtr(MacroAssembler::Address(valueGPR, JSCell::structureOffset()), scratchGPR);
+
+ if (needSpeculationCheck) {
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ scratchGPR,
+ MacroAssembler::TrustedImmPtr(m_jit.globalData()->stringStructure.get())));
+ }
+
+ JITCompiler::Jump isNotMasqueradesAsUndefined = m_jit.branchTest8(JITCompiler::Zero, MacroAssembler::Address(scratchGPR, Structure::typeInfoFlagsOffset()), TrustedImm32(MasqueradesAsUndefined));
+
+ speculationCheck(BadType, JSValueRegs(valueGPR), nodeUse.index(),
+ m_jit.branchPtr(
+ MacroAssembler::Equal,
+ MacroAssembler::Address(scratchGPR, Structure::globalObjectOffset()),
+ MacroAssembler::TrustedImmPtr(m_jit.graph().globalObjectFor(m_jit.graph()[nodeUse.index()].codeOrigin))));
+
+ isNotMasqueradesAsUndefined.link(&m_jit);
+ }
jump(taken, ForceJump);
notCell.link(&m_jit);
@@ -1879,10 +2032,9 @@ void SpeculativeJIT::emitBranch(Node& node)
BlockIndex taken = node.takenBlockIndex();
BlockIndex notTaken = node.notTakenBlockIndex();
- if (at(node.child1()).shouldSpeculateFinalObjectOrOther()) {
- emitObjectOrOtherBranch(node.child1(), taken, notTaken, &JSFinalObject::s_info, !isFinalObjectOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
- } else if (at(node.child1()).shouldSpeculateArrayOrOther()) {
- emitObjectOrOtherBranch(node.child1(), taken, notTaken, &JSArray::s_info, !isArrayOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
+ if (at(node.child1()).shouldSpeculateNonStringCellOrOther()) {
+ emitNonStringCellOrOtherBranch(node.child1(), taken, notTaken,
+ !isNonStringCellOrOtherSpeculation(m_state.forNode(node.child1()).m_type));
} else if (at(node.child1()).shouldSpeculateNumber()) {
if (at(node.child1()).shouldSpeculateInteger()) {
bool invert = false;
@@ -2406,6 +2558,11 @@ void SpeculativeJIT::compile(Node& node)
compileGetByValOnString(node);
break;
}
+
+ case CheckArray: {
+ checkArray(node);
+ break;
+ }
case GetByVal: {
switch (node.arrayMode()) {
@@ -2443,11 +2600,24 @@ void SpeculativeJIT::compile(Node& node)
// We will have already speculated that the base is some kind of array,
// at this point.
- speculationCheck(Uncountable, JSValueRegs(), NoNode, m_jit.branch32(MacroAssembler::AboveOrEqual, propertyReg, MacroAssembler::Address(baseReg, JSArray::vectorLengthOffset())));
+ MacroAssembler::Jump outOfBounds = m_jit.branch32(MacroAssembler::AboveOrEqual, propertyReg, MacroAssembler::Address(baseReg, JSArray::vectorLengthOffset()));
+ if (node.arrayMode() == Array::JSArray)
+ speculationCheck(OutOfBounds, JSValueRegs(), NoNode, outOfBounds);
GPRTemporary result(this);
m_jit.loadPtr(MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])), result.gpr());
- speculationCheck(Uncountable, JSValueRegs(), NoNode, m_jit.branchTestPtr(MacroAssembler::Zero, result.gpr()));
+ MacroAssembler::Jump hole = m_jit.branchTestPtr(MacroAssembler::Zero, result.gpr());
+ if (node.arrayMode() == Array::JSArray)
+ speculationCheck(OutOfBounds, JSValueRegs(), NoNode, hole);
+ else {
+ MacroAssembler::JumpList slowCases;
+ slowCases.append(outOfBounds);
+ slowCases.append(hole);
+ addSlowPathGenerator(
+ slowPathCall(
+ slowCases, this, operationGetByValArrayInt,
+ result.gpr(), baseReg, propertyReg));
+ }
jsValueResult(result.gpr(), m_compileIndex);
break;
@@ -2497,6 +2667,7 @@ void SpeculativeJIT::compile(Node& node)
Edge child1 = m_jit.graph().varArgChild(node, 0);
Edge child2 = m_jit.graph().varArgChild(node, 1);
Edge child3 = m_jit.graph().varArgChild(node, 2);
+ Edge child4 = m_jit.graph().varArgChild(node, 3);
Array::Mode arrayMode = modeForPut(node.arrayMode());
bool alreadyHandled = false;
@@ -2538,27 +2709,26 @@ void SpeculativeJIT::compile(Node& node)
GPRReg baseReg = base.gpr();
GPRReg propertyReg = property.gpr();
- speculateArray(arrayMode, child1, baseReg);
-
switch (arrayMode) {
case Array::JSArray:
case Array::JSArrayOutOfBounds: {
JSValueOperand value(this, child3);
- GPRTemporary scratch(this);
// Map base, property & value into registers, allocate a scratch register.
GPRReg valueReg = value.gpr();
- GPRReg scratchReg = scratch.gpr();
if (!m_compileOkay)
return;
- writeBarrier(baseReg, value.gpr(), child3, WriteBarrierForPropertyAccess, scratchReg);
+ if (Heap::isWriteBarrierEnabled()) {
+ GPRTemporary scratch(this);
+ writeBarrier(baseReg, value.gpr(), child3, WriteBarrierForPropertyAccess, scratch.gpr());
+ }
+
+ StorageOperand storage(this, child4);
+ GPRReg storageReg = storage.gpr();
if (node.op() == PutByValAlias) {
- GPRReg storageReg = scratchReg;
- m_jit.loadPtr(MacroAssembler::Address(baseReg, JSArray::storageOffset()), storageReg);
-
// Store the value to the array.
GPRReg propertyReg = property.gpr();
GPRReg valueReg = value.gpr();
@@ -2575,11 +2745,8 @@ void SpeculativeJIT::compile(Node& node)
base.use();
property.use();
value.use();
+ storage.use();
- // Get the array storage.
- GPRReg storageReg = scratchReg;
- m_jit.loadPtr(MacroAssembler::Address(baseReg, JSArray::storageOffset()), storageReg);
-
// Check if we're writing to a hole; if so increment m_numValuesInVector.
MacroAssembler::Jump notHoleValue = m_jit.branchTestPtr(MacroAssembler::NonZero, MacroAssembler::BaseIndex(storageReg, propertyReg, MacroAssembler::ScalePtr, OBJECT_OFFSETOF(ArrayStorage, m_vector[0])));
m_jit.add32(TrustedImm32(1), MacroAssembler::Address(storageReg, OBJECT_OFFSETOF(ArrayStorage, m_numValuesInVector)));
@@ -2747,21 +2914,24 @@ void SpeculativeJIT::compile(Node& node)
}
case ArrayPush: {
+ ASSERT(modeIsJSArray(node.arrayMode()));
+
SpeculateCellOperand base(this, node.child1());
JSValueOperand value(this, node.child2());
- GPRTemporary storage(this);
GPRTemporary storageLength(this);
GPRReg baseGPR = base.gpr();
GPRReg valueGPR = value.gpr();
- GPRReg storageGPR = storage.gpr();
GPRReg storageLengthGPR = storageLength.gpr();
- writeBarrier(baseGPR, valueGPR, node.child2(), WriteBarrierForPropertyAccess, storageGPR, storageLengthGPR);
+ if (Heap::isWriteBarrierEnabled()) {
+ GPRTemporary scratch(this);
+ writeBarrier(baseGPR, valueGPR, node.child2(), WriteBarrierForPropertyAccess, scratch.gpr(), storageLengthGPR);
+ }
- speculateArray(Array::JSArray, node.child1(), baseGPR);
+ StorageOperand storage(this, node.child3());
+ GPRReg storageGPR = storage.gpr();
- m_jit.loadPtr(MacroAssembler::Address(baseGPR, JSArray::storageOffset()), storageGPR);
m_jit.load32(MacroAssembler::Address(storageGPR, OBJECT_OFFSETOF(ArrayStorage, m_length)), storageLengthGPR);
// Refuse to handle bizarre lengths.
@@ -2786,19 +2956,18 @@ void SpeculativeJIT::compile(Node& node)
}
case ArrayPop: {
+ ASSERT(modeIsJSArray(node.arrayMode()));
+
SpeculateCellOperand base(this, node.child1());
+ StorageOperand storage(this, node.child2());
GPRTemporary value(this);
- GPRTemporary storage(this);
GPRTemporary storageLength(this);
GPRReg baseGPR = base.gpr();
- GPRReg valueGPR = value.gpr();
GPRReg storageGPR = storage.gpr();
+ GPRReg valueGPR = value.gpr();
GPRReg storageLengthGPR = storageLength.gpr();
- speculateArray(Array::JSArray, node.child1(), baseGPR);
-
- m_jit.loadPtr(MacroAssembler::Address(baseGPR, JSArray::storageOffset()), storageGPR);
m_jit.load32(MacroAssembler::Address(storageGPR, OBJECT_OFFSETOF(ArrayStorage, m_length)), storageLengthGPR);
JITCompiler::JumpList setUndefinedCases;
@@ -3175,34 +3344,32 @@ void SpeculativeJIT::compile(Node& node)
JITCompiler::Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = m_jit.branchTestPtr(JITCompiler::Zero, JITCompiler::addressFor(static_cast<VirtualRegister>(m_jit.codeBlock()->activationRegister())));
- m_jit.loadPtr(JITCompiler::Address(resultGPR, OBJECT_OFFSETOF(ScopeChainNode, next)), resultGPR);
+ m_jit.loadPtr(JITCompiler::Address(resultGPR, JSScope::offsetOfNext()), resultGPR);
activationNotCreated.link(&m_jit);
}
while (skip--)
- m_jit.loadPtr(JITCompiler::Address(resultGPR, OBJECT_OFFSETOF(ScopeChainNode, next)), resultGPR);
+ m_jit.loadPtr(JITCompiler::Address(resultGPR, JSScope::offsetOfNext()), resultGPR);
- m_jit.loadPtr(JITCompiler::Address(resultGPR, OBJECT_OFFSETOF(ScopeChainNode, object)), resultGPR);
-
cellResult(resultGPR, m_compileIndex);
break;
}
case GetScopedVar: {
- SpeculateCellOperand scopeChain(this, node.child1());
+ SpeculateCellOperand scope(this, node.child1());
GPRTemporary result(this);
GPRReg resultGPR = result.gpr();
- m_jit.loadPtr(JITCompiler::Address(scopeChain.gpr(), JSVariableObject::offsetOfRegisters()), resultGPR);
+ m_jit.loadPtr(JITCompiler::Address(scope.gpr(), JSVariableObject::offsetOfRegisters()), resultGPR);
m_jit.loadPtr(JITCompiler::Address(resultGPR, node.varNumber() * sizeof(Register)), resultGPR);
jsValueResult(resultGPR, m_compileIndex);
break;
}
case PutScopedVar: {
- SpeculateCellOperand scopeChain(this, node.child1());
+ SpeculateCellOperand scope(this, node.child1());
GPRTemporary scratchRegister(this);
GPRReg scratchGPR = scratchRegister.gpr();
- m_jit.loadPtr(JITCompiler::Address(scopeChain.gpr(), JSVariableObject::offsetOfRegisters()), scratchGPR);
+ m_jit.loadPtr(JITCompiler::Address(scope.gpr(), JSVariableObject::offsetOfRegisters()), scratchGPR);
JSValueOperand value(this, node.child2());
m_jit.storePtr(value.gpr(), JITCompiler::Address(scratchGPR, node.varNumber() * sizeof(Register)));
- writeBarrier(scopeChain.gpr(), value.gpr(), node.child2(), WriteBarrierForVariableAccess, scratchGPR);
+ writeBarrier(scope.gpr(), value.gpr(), node.child2(), WriteBarrierForVariableAccess, scratchGPR);
noResult(m_compileIndex);
break;
}
@@ -3518,7 +3685,7 @@ void SpeculativeJIT::compile(Node& node)
JSValueOperand value(this, node.child1());
WatchpointSet* watchpointSet =
- m_jit.globalObjectFor(node.codeOrigin)->symbolTable().get(
+ m_jit.globalObjectFor(node.codeOrigin)->symbolTable()->get(
identifier(node.identifierNumberForCheck())->impl()).watchpointSet();
addSlowPathGenerator(
slowPathCall(
@@ -3541,7 +3708,7 @@ void SpeculativeJIT::compile(Node& node)
}
case GlobalVarWatchpoint: {
- m_jit.globalObjectFor(node.codeOrigin)->symbolTable().get(
+ m_jit.globalObjectFor(node.codeOrigin)->symbolTable()->get(
identifier(node.identifierNumberForCheck())->impl()).addWatchpoint(
speculationWatchpoint());
diff --git a/Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp b/Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp
index eb04a6747..dec2e49f7 100644
--- a/Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp
@@ -99,6 +99,8 @@ public:
case PutByVal:
case PutByValAlias:
case GetArrayLength:
+ case CheckArray:
+ case GetIndexedPropertyStorage:
case Phantom:
// Don't count these uses.
break;
@@ -128,6 +130,50 @@ public:
#endif
iter->second.m_structure = 0;
}
+
+ // Disable structure check hoisting for variables that cross the OSR entry that
+ // we're currently taking, and where the value currently does not have the
+ // structure we want.
+
+ for (BlockIndex blockIndex = 0; blockIndex < m_graph.m_blocks.size(); ++blockIndex) {
+ BasicBlock* block = m_graph.m_blocks[blockIndex].get();
+ if (!block)
+ continue;
+ ASSERT(block->isReachable);
+ if (!block->isOSRTarget)
+ continue;
+ if (block->bytecodeBegin != m_graph.m_osrEntryBytecodeIndex)
+ continue;
+ for (size_t i = 0; i < m_graph.m_mustHandleValues.size(); ++i) {
+ int operand = m_graph.m_mustHandleValues.operandForIndex(i);
+ NodeIndex nodeIndex = block->variablesAtHead.operand(operand);
+ if (nodeIndex == NoNode)
+ continue;
+ VariableAccessData* variable = m_graph[nodeIndex].variableAccessData();
+ HashMap<VariableAccessData*, CheckData>::iterator iter = m_map.find(variable);
+ if (iter == m_map.end())
+ continue;
+ if (!iter->second.m_structure)
+ continue;
+ JSValue value = m_graph.m_mustHandleValues[i];
+ if (!value || !value.isCell()) {
+#if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE)
+ dataLog("Zeroing the structure to hoist for %s because the OSR entry value is not a cell: %s.\n",
+ m_graph.nameOfVariableAccessData(variable), value.description());
+#endif
+ iter->second.m_structure = 0;
+ continue;
+ }
+ if (value.asCell()->structure() != iter->second.m_structure) {
+#if DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE)
+ dataLog("Zeroing the structure to hoist for %s because the OSR entry value has structure %p and we wanted %p.\n",
+ m_graph.nameOfVariableAccessData(variable), value.asCell()->structure(), iter->second.m_structure);
+#endif
+ iter->second.m_structure = 0;
+ continue;
+ }
+ }
+ }
// Identify the set of variables that are live across a structure clobber.
diff --git a/Source/JavaScriptCore/dfg/DFGThunks.cpp b/Source/JavaScriptCore/dfg/DFGThunks.cpp
index b056de79c..546aec256 100644
--- a/Source/JavaScriptCore/dfg/DFGThunks.cpp
+++ b/Source/JavaScriptCore/dfg/DFGThunks.cpp
@@ -219,10 +219,11 @@ static MacroAssemblerCodeRef virtualForThunkGenerator(
CCallHelpers::NotEqual, GPRInfo::nonArgGPR1,
CCallHelpers::TrustedImm32(JSValue::CellTag)));
#endif
+ jit.loadPtr(CCallHelpers::Address(GPRInfo::nonArgGPR0, JSCell::structureOffset()), GPRInfo::nonArgGPR2);
slowCase.append(
jit.branchPtr(
CCallHelpers::NotEqual,
- CCallHelpers::Address(GPRInfo::nonArgGPR0, JSCell::classInfoOffset()),
+ CCallHelpers::Address(GPRInfo::nonArgGPR2, Structure::classInfoOffset()),
CCallHelpers::TrustedImmPtr(&JSFunction::s_info)));
// Now we know we have a JSFunction.
diff --git a/Source/JavaScriptCore/heap/Handle.h b/Source/JavaScriptCore/heap/Handle.h
index 62f267e12..3b62e2054 100644
--- a/Source/JavaScriptCore/heap/Handle.h
+++ b/Source/JavaScriptCore/heap/Handle.h
@@ -102,7 +102,7 @@ template <typename Base> struct HandleConverter<Base, Unknown> {
Handle<JSObject> asObject() const;
bool isObject() const { return jsValue().isObject(); }
bool getNumber(double number) const { return jsValue().getNumber(number); }
- UString getString(ExecState*) const;
+ WTF::String getString(ExecState*) const;
bool isUndefinedOrNull() const { return jsValue().isUndefinedOrNull(); }
private:
diff --git a/Source/JavaScriptCore/heap/Heap.cpp b/Source/JavaScriptCore/heap/Heap.cpp
index 669178804..4ab8ccb31 100644
--- a/Source/JavaScriptCore/heap/Heap.cpp
+++ b/Source/JavaScriptCore/heap/Heap.cpp
@@ -753,6 +753,9 @@ void Heap::collect(SweepToggle sweepToggle)
m_objectSpace.resetAllocators();
}
+ if (Options::useZombieMode())
+ zombifyDeadObjects();
+
size_t currentHeapSize = size();
if (fullGC) {
m_sizeAfterLastCollect = currentHeapSize;
@@ -844,4 +847,49 @@ void Heap::didStartVMShutdown()
lastChanceToFinalize();
}
+class ZombifyCellFunctor : public MarkedBlock::VoidFunctor {
+public:
+ ZombifyCellFunctor(size_t cellSize)
+ : m_cellSize(cellSize)
+ {
+ }
+
+ void operator()(JSCell* cell)
+ {
+ if (Options::zombiesAreImmortal())
+ MarkedBlock::blockFor(cell)->setMarked(cell);
+
+ void** current = reinterpret_cast<void**>(cell);
+
+ // We want to maintain zapped-ness because that's how we know if we've called
+ // the destructor.
+ if (cell->isZapped())
+ current++;
+
+ void* limit = static_cast<void*>(reinterpret_cast<char*>(cell) + m_cellSize);
+ for (; current < limit; current++)
+ *current = reinterpret_cast<void*>(0xbbadbeef);
+ }
+
+private:
+ size_t m_cellSize;
+};
+
+class ZombifyBlockFunctor : public MarkedBlock::VoidFunctor {
+public:
+ void operator()(MarkedBlock* block)
+ {
+ ZombifyCellFunctor functor(block->cellSize());
+ block->forEachDeadCell(functor);
+ }
+};
+
+void Heap::zombifyDeadObjects()
+{
+ m_objectSpace.sweep();
+
+ ZombifyBlockFunctor functor;
+ m_objectSpace.forEachBlock(functor);
+}
+
} // namespace JSC
diff --git a/Source/JavaScriptCore/heap/Heap.h b/Source/JavaScriptCore/heap/Heap.h
index 6f13afb72..69aa97e33 100644
--- a/Source/JavaScriptCore/heap/Heap.h
+++ b/Source/JavaScriptCore/heap/Heap.h
@@ -59,11 +59,10 @@ namespace JSC {
class LLIntOffsetsExtractor;
class MarkedArgumentBuffer;
class RegisterFile;
- class UString;
class WeakGCHandlePool;
class SlotVisitor;
- typedef std::pair<JSValue, UString> ValueStringPair;
+ typedef std::pair<JSValue, WTF::String> ValueStringPair;
typedef HashCountedSet<JSCell*> ProtectCountSet;
typedef HashCountedSet<const char*> TypeCountSet;
@@ -204,7 +203,8 @@ namespace JSC {
void harvestWeakReferences();
void finalizeUnconditionalFinalizers();
void deleteUnmarkedCompiledCode();
-
+ void zombifyDeadObjects();
+
RegisterFile& registerFile();
BlockAllocator& blockAllocator();
diff --git a/Source/JavaScriptCore/heap/HeapTimer.cpp b/Source/JavaScriptCore/heap/HeapTimer.cpp
index fa979781e..214f86757 100644
--- a/Source/JavaScriptCore/heap/HeapTimer.cpp
+++ b/Source/JavaScriptCore/heap/HeapTimer.cpp
@@ -29,7 +29,8 @@
#include "APIShims.h"
#include "JSObject.h"
#include "JSString.h"
-#include "ScopeChain.h"
+
+#include <wtf/MainThread.h>
#include <wtf/Threading.h>
namespace JSC {
@@ -104,6 +105,9 @@ HeapTimer::HeapTimer(JSGlobalData* globalData)
: m_globalData(globalData)
, m_timer(this, &HeapTimer::timerDidFire)
{
+ // FIXME: Implement HeapTimer for other threads.
+ if (WTF::isMainThread() && !m_timer.tryCreateClient())
+ CRASH();
}
HeapTimer::~HeapTimer()
diff --git a/Source/JavaScriptCore/heap/IncrementalSweeper.cpp b/Source/JavaScriptCore/heap/IncrementalSweeper.cpp
index f284d8b57..bd1342f2a 100644
--- a/Source/JavaScriptCore/heap/IncrementalSweeper.cpp
+++ b/Source/JavaScriptCore/heap/IncrementalSweeper.cpp
@@ -31,22 +31,19 @@
#include "JSObject.h"
#include "JSString.h"
#include "MarkedBlock.h"
-#include "ScopeChain.h"
+
#include <wtf/HashSet.h>
#include <wtf/WTFThreadData.h>
namespace JSC {
-#if USE(CF)
+#if USE(CF) || PLATFORM(BLACKBERRY)
-static const CFTimeInterval sweepTimeSlice = .01; // seconds
-static const CFTimeInterval sweepTimeTotal = .10;
-static const CFTimeInterval sweepTimeMultiplier = 1.0 / sweepTimeTotal;
+static const double sweepTimeSlice = .01; // seconds
+static const double sweepTimeTotal = .10;
+static const double sweepTimeMultiplier = 1.0 / sweepTimeTotal;
-void IncrementalSweeper::doWork()
-{
- doSweep(WTF::monotonicallyIncreasingTime());
-}
+#if USE(CF)
IncrementalSweeper::IncrementalSweeper(Heap* heap, CFRunLoopRef runLoop)
: HeapTimer(heap->globalData(), runLoop)
@@ -70,12 +67,43 @@ void IncrementalSweeper::cancelTimer()
CFRunLoopTimerSetNextFireDate(m_timer.get(), CFAbsoluteTimeGetCurrent() + s_decade);
}
+#elif PLATFORM(BLACKBERRY)
+
+IncrementalSweeper::IncrementalSweeper(Heap* heap)
+ : HeapTimer(heap->globalData())
+ , m_currentBlockToSweepIndex(0)
+ , m_structuresCanBeSwept(false)
+{
+}
+
+IncrementalSweeper* IncrementalSweeper::create(Heap* heap)
+{
+ return new IncrementalSweeper(heap);
+}
+
+void IncrementalSweeper::scheduleTimer()
+{
+ m_timer.start(sweepTimeSlice * sweepTimeMultiplier);
+}
+
+void IncrementalSweeper::cancelTimer()
+{
+ m_timer.stop();
+}
+
+#endif
+
+void IncrementalSweeper::doWork()
+{
+ doSweep(WTF::monotonicallyIncreasingTime());
+}
+
void IncrementalSweeper::doSweep(double sweepBeginTime)
{
while (m_currentBlockToSweepIndex < m_blocksToSweep.size()) {
sweepNextBlock();
- CFTimeInterval elapsedTime = WTF::monotonicallyIncreasingTime() - sweepBeginTime;
+ double elapsedTime = WTF::monotonicallyIncreasingTime() - sweepBeginTime;
if (elapsedTime < sweepTimeSlice)
continue;
diff --git a/Source/JavaScriptCore/heap/IncrementalSweeper.h b/Source/JavaScriptCore/heap/IncrementalSweeper.h
index c8005b071..03c620f9c 100644
--- a/Source/JavaScriptCore/heap/IncrementalSweeper.h
+++ b/Source/JavaScriptCore/heap/IncrementalSweeper.h
@@ -60,8 +60,12 @@ public:
void willFinishSweeping();
private:
+#if USE(CF) || PLATFORM(BLACKBERRY)
#if USE(CF)
IncrementalSweeper(Heap*, CFRunLoopRef);
+#else
+ IncrementalSweeper(Heap*);
+#endif
void doSweep(double startTime);
void scheduleTimer();
diff --git a/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp b/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp
index 054bf06dd..5e4ca36e0 100644
--- a/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp
+++ b/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp
@@ -29,7 +29,7 @@
#if ENABLE(JIT)
#include "GCAwareJITStubRoutine.h"
-#include "ScopeChain.h"
+
#include "SlotVisitor.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
index 3c7ff9c3e..26453c4f3 100644
--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
@@ -107,6 +107,7 @@ static void pthreadSignalHandlerSuspendResume(int signo)
#endif
class MachineThreads::Thread {
+ WTF_MAKE_FAST_ALLOCATED;
public:
Thread(const PlatformThread& platThread, void* base)
: platformThread(platThread)
diff --git a/Source/JavaScriptCore/heap/MarkStack.cpp b/Source/JavaScriptCore/heap/MarkStack.cpp
index 9d3062154..9a4a01f04 100644
--- a/Source/JavaScriptCore/heap/MarkStack.cpp
+++ b/Source/JavaScriptCore/heap/MarkStack.cpp
@@ -35,10 +35,9 @@
#include "JSArray.h"
#include "JSCell.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
#include "SlotVisitorInlineMethods.h"
#include "Structure.h"
-#include "UString.h"
#include "WriteBarrier.h"
#include <wtf/Atomics.h>
#include <wtf/DataLog.h>
@@ -523,6 +522,8 @@ ALWAYS_INLINE void MarkStack::internalAppend(JSValue* slot)
return;
JSCell* cell = value.asCell();
+ if (!cell)
+ return;
if (m_shouldHashConst && cell->isString()) {
JSString* string = jsCast<JSString*>(cell);
diff --git a/Source/JavaScriptCore/heap/MarkStackInlineMethods.h b/Source/JavaScriptCore/heap/MarkStackInlineMethods.h
index 8b420d637..031dfff39 100644
--- a/Source/JavaScriptCore/heap/MarkStackInlineMethods.h
+++ b/Source/JavaScriptCore/heap/MarkStackInlineMethods.h
@@ -35,8 +35,6 @@ ALWAYS_INLINE void MarkStack::append(JSValue* slot, size_t count)
{
for (size_t i = 0; i < count; ++i) {
JSValue& value = slot[i];
- if (!value)
- continue;
internalAppend(value);
}
}
@@ -46,8 +44,7 @@ inline void MarkStack::appendUnbarrieredPointer(T** slot)
{
ASSERT(slot);
JSCell* cell = *slot;
- if (cell)
- internalAppend(cell);
+ internalAppend(cell);
}
ALWAYS_INLINE void MarkStack::append(JSValue* slot)
@@ -70,8 +67,7 @@ ALWAYS_INLINE void MarkStack::append(JSCell** slot)
ALWAYS_INLINE void MarkStack::internalAppend(JSValue value)
{
- ASSERT(value);
- if (!value.isCell())
+ if (!value || !value.isCell())
return;
internalAppend(value.asCell());
}
diff --git a/Source/JavaScriptCore/heap/MarkedBlock.cpp b/Source/JavaScriptCore/heap/MarkedBlock.cpp
index 95ea2f414..b0f3b88d5 100644
--- a/Source/JavaScriptCore/heap/MarkedBlock.cpp
+++ b/Source/JavaScriptCore/heap/MarkedBlock.cpp
@@ -29,7 +29,7 @@
#include "IncrementalSweeper.h"
#include "JSCell.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
namespace JSC {
@@ -45,7 +45,7 @@ MarkedBlock::MarkedBlock(const PageAllocationAligned& allocation, Heap* heap, si
, m_cellsNeedDestruction(cellsNeedDestruction)
, m_onlyContainsStructures(onlyContainsStructures)
, m_state(New) // All cells start out unmarked.
- , m_weakSet(heap)
+ , m_weakSet(heap->globalData())
{
ASSERT(heap);
HEAP_LOG_BLOCK_STATE_TRANSITION(this);
diff --git a/Source/JavaScriptCore/heap/MarkedBlock.h b/Source/JavaScriptCore/heap/MarkedBlock.h
index ab2abd753..8c03d5b4f 100644
--- a/Source/JavaScriptCore/heap/MarkedBlock.h
+++ b/Source/JavaScriptCore/heap/MarkedBlock.h
@@ -121,6 +121,7 @@ namespace JSC {
void lastChanceToFinalize();
Heap* heap() const;
+ JSGlobalData* globalData() const;
WeakSet& weakSet();
enum SweepMode { SweepOnly, SweepToFreeList };
@@ -185,6 +186,7 @@ namespace JSC {
#endif
template <typename Functor> void forEachCell(Functor&);
+ template <typename Functor> void forEachDeadCell(Functor&);
private:
static const size_t atomAlignmentMask = atomSize - 1; // atomSize must be a power of two.
@@ -262,6 +264,11 @@ namespace JSC {
return m_weakSet.heap();
}
+ inline JSGlobalData* MarkedBlock::globalData() const
+ {
+ return m_weakSet.globalData();
+ }
+
inline WeakSet& MarkedBlock::weakSet()
{
return m_weakSet;
@@ -411,6 +418,17 @@ namespace JSC {
}
}
+ template <typename Functor> inline void MarkedBlock::forEachDeadCell(Functor& functor)
+ {
+ for (size_t i = firstAtom(); i < m_endAtom; i += m_atomsPerCell) {
+ JSCell* cell = reinterpret_cast_ptr<JSCell*>(&atoms()[i]);
+ if (isLive(cell))
+ continue;
+
+ functor(cell);
+ }
+ }
+
inline bool MarkedBlock::needsSweeping()
{
return m_state == Marked || m_state == Zapped;
diff --git a/Source/JavaScriptCore/heap/MarkedSpace.cpp b/Source/JavaScriptCore/heap/MarkedSpace.cpp
index cd6be001c..68b059c36 100644
--- a/Source/JavaScriptCore/heap/MarkedSpace.cpp
+++ b/Source/JavaScriptCore/heap/MarkedSpace.cpp
@@ -25,7 +25,7 @@
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/WeakBlock.cpp b/Source/JavaScriptCore/heap/WeakBlock.cpp
index 05a44ea7e..13039e702 100644
--- a/Source/JavaScriptCore/heap/WeakBlock.cpp
+++ b/Source/JavaScriptCore/heap/WeakBlock.cpp
@@ -29,7 +29,7 @@
#include "Heap.h"
#include "HeapRootVisitor.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
#include "Structure.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/WeakSet.cpp b/Source/JavaScriptCore/heap/WeakSet.cpp
index 4a510b899..2804968f8 100644
--- a/Source/JavaScriptCore/heap/WeakSet.cpp
+++ b/Source/JavaScriptCore/heap/WeakSet.cpp
@@ -27,6 +27,7 @@
#include "WeakSet.h"
#include "Heap.h"
+#include "JSGlobalData.h"
namespace JSC {
@@ -73,7 +74,7 @@ WeakBlock::FreeCell* WeakSet::tryFindAllocator()
WeakBlock::FreeCell* WeakSet::addAllocator()
{
WeakBlock* block = WeakBlock::create();
- m_heap->didAllocate(WeakBlock::blockSize);
+ heap()->didAllocate(WeakBlock::blockSize);
m_blocks.append(block);
WeakBlock::SweepResult sweepResult = block->takeSweepResult();
ASSERT(!sweepResult.isNull() && sweepResult.freeList);
diff --git a/Source/JavaScriptCore/heap/WeakSet.h b/Source/JavaScriptCore/heap/WeakSet.h
index 291d0aebd..06514eb69 100644
--- a/Source/JavaScriptCore/heap/WeakSet.h
+++ b/Source/JavaScriptCore/heap/WeakSet.h
@@ -38,11 +38,12 @@ public:
static WeakImpl* allocate(JSValue, WeakHandleOwner* = 0, void* context = 0);
static void deallocate(WeakImpl*);
- WeakSet(Heap*);
+ WeakSet(JSGlobalData*);
~WeakSet();
void lastChanceToFinalize();
Heap* heap() const;
+ JSGlobalData* globalData() const;
bool isEmpty() const;
@@ -61,19 +62,19 @@ private:
WeakBlock::FreeCell* m_allocator;
WeakBlock* m_nextAllocator;
DoublyLinkedList<WeakBlock> m_blocks;
- Heap* m_heap;
+ JSGlobalData* m_globalData;
};
-inline WeakSet::WeakSet(Heap* heap)
+inline WeakSet::WeakSet(JSGlobalData* globalData)
: m_allocator(0)
, m_nextAllocator(0)
- , m_heap(heap)
+ , m_globalData(globalData)
{
}
-inline Heap* WeakSet::heap() const
+inline JSGlobalData* WeakSet::globalData() const
{
- return m_heap;
+ return m_globalData;
}
inline bool WeakSet::isEmpty() const
diff --git a/Source/JavaScriptCore/interpreter/AbstractPC.cpp b/Source/JavaScriptCore/interpreter/AbstractPC.cpp
index 755a0e303..f986e8872 100644
--- a/Source/JavaScriptCore/interpreter/AbstractPC.cpp
+++ b/Source/JavaScriptCore/interpreter/AbstractPC.cpp
@@ -29,13 +29,14 @@
#include "CallFrame.h"
#include "JSGlobalData.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
namespace JSC {
AbstractPC::AbstractPC(JSGlobalData& globalData, ExecState* exec)
{
UNUSED_PARAM(globalData);
+ UNUSED_PARAM(exec);
#if ENABLE(JIT)
if (globalData.canUseJIT()) {
diff --git a/Source/JavaScriptCore/interpreter/CachedCall.h b/Source/JavaScriptCore/interpreter/CachedCall.h
index ea55d90e5..b2513ba6e 100644
--- a/Source/JavaScriptCore/interpreter/CachedCall.h
+++ b/Source/JavaScriptCore/interpreter/CachedCall.h
@@ -38,7 +38,7 @@ namespace JSC {
CachedCall(CallFrame* callFrame, JSFunction* function, int argumentCount)
: m_valid(false)
, m_interpreter(callFrame->interpreter())
- , m_globalObjectScope(callFrame->globalData(), function->scope()->globalObject.get())
+ , m_globalObjectScope(callFrame->globalData(), function->scope()->globalObject())
{
ASSERT(!function->isHostFunction());
m_closure = m_interpreter->prepareForRepeatCall(function->jsExecutable(), callFrame, function, argumentCount + 1, function->scope());
@@ -56,7 +56,7 @@ namespace JSC {
CallFrame* newCallFrame(ExecState* exec)
{
CallFrame* callFrame = m_closure.newCallFrame;
- callFrame->setScopeChain(exec->scopeChain());
+ callFrame->setScope(exec->scope());
return callFrame;
}
diff --git a/Source/JavaScriptCore/interpreter/CallFrame.cpp b/Source/JavaScriptCore/interpreter/CallFrame.cpp
index cfbfb3e3a..63bc93aeb 100644
--- a/Source/JavaScriptCore/interpreter/CallFrame.cpp
+++ b/Source/JavaScriptCore/interpreter/CallFrame.cpp
@@ -36,7 +36,7 @@ void CallFrame::dumpCaller()
{
int signedLineNumber;
intptr_t sourceID;
- UString urlString;
+ String urlString;
JSValue function;
interpreter()->retrieveLastCaller(this, signedLineNumber, sourceID, urlString, function);
@@ -139,7 +139,7 @@ CallFrame* CallFrame::trueCallFrame(AbstractPC pc)
// Fill in the inlinedCaller
inlinedCaller->setCodeBlock(machineCodeBlock);
- inlinedCaller->setScopeChain(calleeAsFunction->scope());
+ inlinedCaller->setScope(calleeAsFunction->scope());
if (nextInlineCallFrame)
inlinedCaller->setCallerFrame(this + nextInlineCallFrame->stackOffset);
else
diff --git a/Source/JavaScriptCore/interpreter/CallFrame.h b/Source/JavaScriptCore/interpreter/CallFrame.h
index ea98f6652..0db485214 100644
--- a/Source/JavaScriptCore/interpreter/CallFrame.h
+++ b/Source/JavaScriptCore/interpreter/CallFrame.h
@@ -33,7 +33,7 @@ namespace JSC {
class Arguments;
class JSActivation;
class Interpreter;
- class ScopeChainNode;
+ class JSScope;
// Represents the current state of script execution.
// Passed as the first argument to most functions.
@@ -42,10 +42,10 @@ namespace JSC {
JSValue calleeAsValue() const { return this[RegisterFile::Callee].jsValue(); }
JSObject* callee() const { return this[RegisterFile::Callee].function(); }
CodeBlock* codeBlock() const { return this[RegisterFile::CodeBlock].Register::codeBlock(); }
- ScopeChainNode* scopeChain() const
+ JSScope* scope() const
{
- ASSERT(this[RegisterFile::ScopeChain].Register::scopeChain());
- return this[RegisterFile::ScopeChain].Register::scopeChain();
+ ASSERT(this[RegisterFile::ScopeChain].Register::scope());
+ return this[RegisterFile::ScopeChain].Register::scope();
}
// Global object in which execution began.
@@ -53,13 +53,13 @@ namespace JSC {
// Global object in which the currently executing code was defined.
// Differs from dynamicGlobalObject() during function calls across web browser frames.
- inline JSGlobalObject* lexicalGlobalObject() const;
+ JSGlobalObject* lexicalGlobalObject() const;
// Differs from lexicalGlobalObject because this will have DOM window shell rather than
// the actual DOM window, which can't be "this" for security reasons.
- inline JSObject* globalThisValue() const;
+ JSObject* globalThisValue() const;
- inline JSGlobalData& globalData() const;
+ JSGlobalData& globalData() const;
// Convenience functions for access to global data.
// It takes a few memory references to get from a call frame to the global data
@@ -103,7 +103,7 @@ namespace JSC {
CallFrame& operator=(const Register& r) { *static_cast<Register*>(this) = r; return *this; }
CallFrame* callerFrame() const { return this[RegisterFile::CallerFrame].callFrame(); }
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
ReturnAddressPtr returnPC() const { return ReturnAddressPtr(this[RegisterFile::ReturnPC].vPC()); }
bool hasReturnPC() const { return !!this[RegisterFile::ReturnPC].vPC(); }
void clearReturnPC() { registers()[RegisterFile::ReturnPC] = static_cast<Instruction*>(0); }
@@ -166,16 +166,16 @@ namespace JSC {
#endif
void setCallerFrame(CallFrame* callerFrame) { static_cast<Register*>(this)[RegisterFile::CallerFrame] = callerFrame; }
- void setScopeChain(ScopeChainNode* scopeChain) { static_cast<Register*>(this)[RegisterFile::ScopeChain] = scopeChain; }
+ void setScope(JSScope* scope) { static_cast<Register*>(this)[RegisterFile::ScopeChain] = scope; }
- ALWAYS_INLINE void init(CodeBlock* codeBlock, Instruction* vPC, ScopeChainNode* scopeChain,
+ ALWAYS_INLINE void init(CodeBlock* codeBlock, Instruction* vPC, JSScope* scope,
CallFrame* callerFrame, int argc, JSObject* callee)
{
ASSERT(callerFrame); // Use noCaller() rather than 0 for the outer host call frame caller.
ASSERT(callerFrame == noCaller() || callerFrame->removeHostCallFrameFlag()->registerFile()->end() >= this);
setCodeBlock(codeBlock);
- setScopeChain(scopeChain);
+ setScope(scope);
setCallerFrame(callerFrame);
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)
@@ -183,9 +183,9 @@ namespace JSC {
}
// Read a register from the codeframe (or constant from the CodeBlock).
- inline Register& r(int);
+ Register& r(int);
// Read a register for a non-constant
- inline Register& uncheckedR(int);
+ Register& uncheckedR(int);
// Access to arguments.
size_t argumentCount() const { return argumentCountIncludingThis() - 1; }
diff --git a/Source/JavaScriptCore/interpreter/CallFrameClosure.h b/Source/JavaScriptCore/interpreter/CallFrameClosure.h
index 2a841511a..125193258 100644
--- a/Source/JavaScriptCore/interpreter/CallFrameClosure.h
+++ b/Source/JavaScriptCore/interpreter/CallFrameClosure.h
@@ -35,7 +35,7 @@ struct CallFrameClosure {
FunctionExecutable* functionExecutable;
JSGlobalData* globalData;
Register* oldEnd;
- ScopeChainNode* scopeChain;
+ JSScope* scope;
int parameterCountIncludingThis;
int argumentCountIncludingThis;
@@ -51,7 +51,7 @@ struct CallFrameClosure {
void resetCallFrame()
{
- newCallFrame->setScopeChain(scopeChain);
+ newCallFrame->setScope(scope);
for (int i = argumentCountIncludingThis; i < parameterCountIncludingThis; ++i)
newCallFrame->setArgument(i, jsUndefined());
}
diff --git a/Source/JavaScriptCore/interpreter/Interpreter.cpp b/Source/JavaScriptCore/interpreter/Interpreter.cpp
index f6a197ef0..87b77d639 100644
--- a/Source/JavaScriptCore/interpreter/Interpreter.cpp
+++ b/Source/JavaScriptCore/interpreter/Interpreter.cpp
@@ -45,11 +45,13 @@
#include "JSActivation.h"
#include "JSArray.h"
#include "JSBoundFunction.h"
+#include "JSNameScope.h"
#include "JSNotAnObject.h"
#include "JSPropertyNameIterator.h"
-#include "LiteralParser.h"
-#include "JSStaticScopeObject.h"
#include "JSString.h"
+#include "JSWithScope.h"
+#include "LLIntCLoop.h"
+#include "LiteralParser.h"
#include "NameInstance.h"
#include "ObjectPrototype.h"
#include "Operations.h"
@@ -61,7 +63,6 @@
#include "SamplingTool.h"
#include "StrictEvalActivation.h"
#include "StrongInlines.h"
-#include "UStringConcatenate.h"
#include <limits.h>
#include <stdio.h>
#include <wtf/Threading.h>
@@ -80,7 +81,7 @@ namespace JSC {
static CallFrame* getCallerInfo(JSGlobalData*, CallFrame*, int& lineNumber, unsigned& bytecodeOffset);
// Returns the depth of the scope chain within a given call frame.
-static int depth(CodeBlock* codeBlock, ScopeChainNode* sc)
+static int depth(CodeBlock* codeBlock, JSScope* sc)
{
if (!codeBlock->needsFullScopeChain())
return 0;
@@ -93,282 +94,6 @@ static NEVER_INLINE JSValue concatenateStrings(ExecState* exec, Register* string
return jsString(exec, strings, count);
}
-NEVER_INLINE bool Interpreter::resolve(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
-{
- int dst = vPC[1].u.operand;
- int property = vPC[2].u.operand;
-
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
-
- CodeBlock* codeBlock = callFrame->codeBlock();
- Identifier& ident = codeBlock->identifier(property);
- do {
- JSObject* o = iter->get();
- PropertySlot slot(o);
- if (o->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
- } while (++iter != end);
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
-}
-
-NEVER_INLINE bool Interpreter::resolveSkip(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
-{
- CodeBlock* codeBlock = callFrame->codeBlock();
-
- int dst = vPC[1].u.operand;
- int property = vPC[2].u.operand;
- int skip = vPC[3].u.operand;
-
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
- bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
- ASSERT(skip || !checkTopLevel);
- if (checkTopLevel && skip--) {
- if (callFrame->uncheckedR(codeBlock->activationRegister()).jsValue())
- ++iter;
- }
- while (skip--) {
- ++iter;
- ASSERT(iter != end);
- }
- Identifier& ident = codeBlock->identifier(property);
- do {
- JSObject* o = iter->get();
- PropertySlot slot(o);
- if (o->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- ASSERT(result);
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
- } while (++iter != end);
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
-}
-
-NEVER_INLINE bool Interpreter::resolveGlobal(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
-{
- int dst = vPC[1].u.operand;
- CodeBlock* codeBlock = callFrame->codeBlock();
- JSGlobalObject* globalObject = codeBlock->globalObject();
- ASSERT(globalObject->isGlobalObject());
- int property = vPC[2].u.operand;
- Structure* structure = vPC[3].u.structure.get();
- int offset = vPC[4].u.operand;
-
- if (structure == globalObject->structure()) {
- callFrame->uncheckedR(dst) = JSValue(globalObject->getDirectOffset(offset));
- return true;
- }
-
- Identifier& ident = codeBlock->identifier(property);
- PropertySlot slot(globalObject);
- if (globalObject->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- if (slot.isCacheableValue() && !globalObject->structure()->isUncacheableDictionary() && slot.slotBase() == globalObject) {
- vPC[3].u.structure.set(callFrame->globalData(), codeBlock->ownerExecutable(), globalObject->structure());
- vPC[4] = slot.cachedOffset();
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
-
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
-
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
-}
-
-NEVER_INLINE bool Interpreter::resolveGlobalDynamic(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
-{
- int dst = vPC[1].u.operand;
- CodeBlock* codeBlock = callFrame->codeBlock();
- JSGlobalObject* globalObject = codeBlock->globalObject();
- ASSERT(globalObject->isGlobalObject());
- int property = vPC[2].u.operand;
- Structure* structure = vPC[3].u.structure.get();
- int offset = vPC[4].u.operand;
- int skip = vPC[5].u.operand;
-
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
- bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
- ASSERT(skip || !checkTopLevel);
- if (checkTopLevel && skip--) {
- if (callFrame->uncheckedR(codeBlock->activationRegister()).jsValue())
- ++iter;
- }
- while (skip--) {
- JSObject* o = iter->get();
- if (o->hasCustomProperties()) {
- Identifier& ident = codeBlock->identifier(property);
- do {
- PropertySlot slot(o);
- if (o->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- ASSERT(result);
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
- if (iter == end)
- break;
- o = iter->get();
- ++iter;
- } while (true);
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
- }
- ++iter;
- }
-
- if (structure == globalObject->structure()) {
- callFrame->uncheckedR(dst) = JSValue(globalObject->getDirectOffset(offset));
- ASSERT(callFrame->uncheckedR(dst).jsValue());
- return true;
- }
-
- Identifier& ident = codeBlock->identifier(property);
- PropertySlot slot(globalObject);
- if (globalObject->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- if (slot.isCacheableValue() && !globalObject->structure()->isUncacheableDictionary() && slot.slotBase() == globalObject) {
- vPC[3].u.structure.set(callFrame->globalData(), codeBlock->ownerExecutable(), globalObject->structure());
- vPC[4] = slot.cachedOffset();
- ASSERT(result);
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
-
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- ASSERT(result);
- callFrame->uncheckedR(dst) = JSValue(result);
- return true;
- }
-
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
-}
-
-NEVER_INLINE void Interpreter::resolveBase(CallFrame* callFrame, Instruction* vPC)
-{
- int dst = vPC[1].u.operand;
- int property = vPC[2].u.operand;
- bool isStrictPut = vPC[3].u.operand;
- Identifier ident = callFrame->codeBlock()->identifier(property);
- JSValue result = JSC::resolveBase(callFrame, ident, callFrame->scopeChain(), isStrictPut);
- if (result) {
- callFrame->uncheckedR(dst) = result;
- ASSERT(callFrame->uncheckedR(dst).jsValue());
- } else
- callFrame->globalData().exception = createErrorForInvalidGlobalAssignment(callFrame, ident.ustring());
-}
-
-NEVER_INLINE bool Interpreter::resolveBaseAndProperty(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
-{
- int baseDst = vPC[1].u.operand;
- int propDst = vPC[2].u.operand;
- int property = vPC[3].u.operand;
-
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
-
- // FIXME: add scopeDepthIsZero optimization
-
- ASSERT(iter != end);
-
- CodeBlock* codeBlock = callFrame->codeBlock();
- Identifier& ident = codeBlock->identifier(property);
- JSObject* base;
- do {
- base = iter->get();
- PropertySlot slot(base);
- if (base->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- callFrame->uncheckedR(propDst) = JSValue(result);
- callFrame->uncheckedR(baseDst) = JSValue(base);
- return true;
- }
- ++iter;
- } while (iter != end);
-
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
-}
-
-NEVER_INLINE bool Interpreter::resolveThisAndProperty(CallFrame* callFrame, Instruction* vPC, JSValue& exceptionValue)
-{
- int thisDst = vPC[1].u.operand;
- int propDst = vPC[2].u.operand;
- int property = vPC[3].u.operand;
-
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
-
- // FIXME: add scopeDepthIsZero optimization
-
- ASSERT(iter != end);
-
- CodeBlock* codeBlock = callFrame->codeBlock();
- Identifier& ident = codeBlock->identifier(property);
- JSObject* base;
- do {
- base = iter->get();
- ++iter;
- PropertySlot slot(base);
- if (base->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- exceptionValue = callFrame->globalData().exception;
- if (exceptionValue)
- return false;
- callFrame->uncheckedR(propDst) = JSValue(result);
- // All entries on the scope chain should be EnvironmentRecords (activations etc),
- // other then 'with' object, which are directly referenced from the scope chain,
- // and the global object. If we hit either an EnvironmentRecord or a global
- // object at the end of the scope chain, this is undefined. If we hit a non-
- // EnvironmentRecord within the scope chain, pass the base as the this value.
- if (iter == end || base->structure()->typeInfo().isEnvironmentRecord())
- callFrame->uncheckedR(thisDst) = jsUndefined();
- else
- callFrame->uncheckedR(thisDst) = JSValue(base);
- return true;
- }
- } while (iter != end);
-
- exceptionValue = createUndefinedVariableError(callFrame, ident);
- return false;
-}
-
#endif // ENABLE(CLASSIC_INTERPRETER)
ALWAYS_INLINE CallFrame* Interpreter::slideRegisterWindowForCall(CodeBlock* newCodeBlock, RegisterFile* registerFile, CallFrame* callFrame, size_t registerOffset, int argumentCountIncludingThis)
@@ -426,13 +151,13 @@ JSValue eval(CallFrame* callFrame)
return program;
TopCallFrameSetter topCallFrame(callFrame->globalData(), callFrame);
- UString programSource = asString(program)->value(callFrame);
+ String programSource = asString(program)->value(callFrame);
if (callFrame->hadException())
return JSValue();
CallFrame* callerFrame = callFrame->callerFrame();
CodeBlock* callerCodeBlock = callerFrame->codeBlock();
- ScopeChainNode* callerScopeChain = callerFrame->scopeChain();
+ JSScope* callerScopeChain = callerFrame->scope();
EvalExecutable* eval = callerCodeBlock->evalCodeCache().tryGet(callerCodeBlock->isStrictMode(), programSource, callerScopeChain);
if (!eval) {
@@ -554,15 +279,14 @@ Interpreter::Interpreter()
Interpreter::~Interpreter()
{
-#if ENABLE(LLINT)
+#if ENABLE(LLINT) && ENABLE(COMPUTED_GOTO_OPCODES)
if (m_classicEnabled)
delete[] m_opcodeTable;
#endif
}
-void Interpreter::initialize(LLInt::Data* llintData, bool canUseJIT)
+void Interpreter::initialize(bool canUseJIT)
{
- UNUSED_PARAM(llintData);
UNUSED_PARAM(canUseJIT);
// If we have LLInt, then we shouldn't be building any kind of classic interpreter.
@@ -570,15 +294,16 @@ void Interpreter::initialize(LLInt::Data* llintData, bool canUseJIT)
#error "Building both LLInt and the Classic Interpreter is not supported because it doesn't make sense."
#endif
+#if ENABLE(COMPUTED_GOTO_OPCODES)
#if ENABLE(LLINT)
- m_opcodeTable = llintData->opcodeMap();
+ m_opcodeTable = LLInt::opcodeMap();
for (int i = 0; i < numOpcodeIDs; ++i)
m_opcodeIDTable.add(m_opcodeTable[i], static_cast<OpcodeID>(i));
m_classicEnabled = false;
+
#elif ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
if (canUseJIT) {
// If the JIT is present, don't use jump destinations for opcodes.
-
for (int i = 0; i < numOpcodeIDs; ++i) {
Opcode opcode = bitwise_cast<void*>(static_cast<uintptr_t>(i));
m_opcodeTable[i] = opcode;
@@ -592,13 +317,16 @@ void Interpreter::initialize(LLInt::Data* llintData, bool canUseJIT)
m_classicEnabled = true;
}
-#else
+#endif // ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
+
+#else // !ENABLE(COMPUTED_GOTO_OPCODES)
#if ENABLE(CLASSIC_INTERPRETER)
m_classicEnabled = true;
#else
m_classicEnabled = false;
#endif
-#endif // ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
+#endif // !ENABLE(COMPUTED_GOTO_OPCODES)
+
#if !ASSERT_DISABLED
m_initialized = true;
#endif
@@ -638,7 +366,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame)
while (it < end) {
JSValue v = it->jsValue();
int registerNumber = it - callFrame->registers();
- UString name = codeBlock->nameForRegister(registerNumber);
+ String name = codeBlock->nameForRegister(registerNumber);
#if USE(JSVALUE32_64)
dataLog("[r% 3d %14s] | %10p | %-16s 0x%llx \n", registerNumber, name.ascii().data(), it, v.description(), JSValue::encode(v));
#else
@@ -654,7 +382,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame)
++it;
dataLog("[Callee] | %10p | %p \n", it, callFrame->callee());
++it;
- dataLog("[ScopeChain] | %10p | %p \n", it, callFrame->scopeChain());
+ dataLog("[ScopeChain] | %10p | %p \n", it, callFrame->scope());
++it;
#if ENABLE(JIT)
AbstractPC pc = callFrame->abstractReturnPC(callFrame->globalData());
@@ -677,7 +405,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame)
do {
JSValue v = it->jsValue();
int registerNumber = it - callFrame->registers();
- UString name = codeBlock->nameForRegister(registerNumber);
+ String name = codeBlock->nameForRegister(registerNumber);
#if USE(JSVALUE32_64)
dataLog("[r% 3d %14s] | %10p | %-16s 0x%llx \n", registerNumber, name.ascii().data(), it, v.description(), JSValue::encode(v));
#else
@@ -709,7 +437,7 @@ void Interpreter::dumpRegisters(CallFrame* callFrame)
bool Interpreter::isOpcode(Opcode opcode)
{
-#if ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER) || ENABLE(LLINT)
+#if ENABLE(COMPUTED_GOTO_OPCODES)
#if !ENABLE(LLINT)
if (!m_classicEnabled)
return static_cast<OpcodeID>(bitwise_cast<uintptr_t>(opcode)) <= op_end;
@@ -725,7 +453,7 @@ bool Interpreter::isOpcode(Opcode opcode)
NEVER_INLINE bool Interpreter::unwindCallFrame(CallFrame*& callFrame, JSValue exceptionValue, unsigned& bytecodeOffset, CodeBlock*& codeBlock)
{
CodeBlock* oldCodeBlock = codeBlock;
- ScopeChainNode* scopeChain = callFrame->scopeChain();
+ JSScope* scope = callFrame->scope();
if (Debugger* debugger = callFrame->dynamicGlobalObject()->debugger()) {
DebuggerCallFrame debuggerCallFrame(callFrame, exceptionValue);
@@ -739,14 +467,14 @@ NEVER_INLINE bool Interpreter::unwindCallFrame(CallFrame*& callFrame, JSValue ex
if (oldCodeBlock->codeType() == FunctionCode && oldCodeBlock->needsFullScopeChain()) {
if (!callFrame->uncheckedR(oldCodeBlock->activationRegister()).jsValue()) {
oldCodeBlock->createActivation(callFrame);
- scopeChain = callFrame->scopeChain();
+ scope = callFrame->scope();
}
- while (!scopeChain->object->inherits(&JSActivation::s_info))
- scopeChain = scopeChain->pop();
+ while (!scope->inherits(&JSActivation::s_info))
+ scope = scope->next();
- callFrame->setScopeChain(scopeChain);
- JSActivation* activation = asActivation(scopeChain->object.get());
- activation->tearOff(*scopeChain->globalData);
+ callFrame->setScope(scope);
+ JSActivation* activation = asActivation(scope);
+ activation->tearOff(*scope->globalData());
if (JSValue arguments = callFrame->uncheckedR(unmodifiedArgumentsRegister(oldCodeBlock->argumentsRegister())).jsValue())
asArguments(arguments)->didTearOffActivation(callFrame->globalData(), activation);
} else if (oldCodeBlock->usesArguments() && !oldCodeBlock->isStrictMode()) {
@@ -773,7 +501,7 @@ NEVER_INLINE bool Interpreter::unwindCallFrame(CallFrame*& callFrame, JSValue ex
bytecodeOffset = codeBlock->bytecodeOffset(callerFrame, callFrame->returnPC());
else
bytecodeOffset = codeBlock->bytecodeOffset(callFrame->returnVPC()) - 1;
-#elif ENABLE(JIT)
+#elif ENABLE(JIT) || ENABLE(LLINT)
bytecodeOffset = codeBlock->bytecodeOffset(callerFrame, callFrame->returnPC());
#else
bytecodeOffset = codeBlock->bytecodeOffset(callFrame->returnVPC()) - 1;
@@ -808,10 +536,10 @@ static void appendSourceToError(CallFrame* callFrame, ErrorInstance* exception,
if (!jsMessage || !jsMessage.isString())
return;
- UString message = asString(jsMessage)->value(callFrame);
+ String message = asString(jsMessage)->value(callFrame);
if (expressionStart < expressionStop)
- message = makeUString(message, " (evaluating '", codeBlock->source()->getRange(expressionStart, expressionStop), "')");
+ message = makeString(message, " (evaluating '", codeBlock->source()->getRange(expressionStart, expressionStop), "')");
else {
// No range information, so give a few characters of context
const StringImpl* data = codeBlock->source()->data();
@@ -828,7 +556,7 @@ static void appendSourceToError(CallFrame* callFrame, ErrorInstance* exception,
stop++;
while (stop > expressionStart && isStrWhiteSpace((*data)[stop - 1]))
stop--;
- message = makeUString(message, " (near '...", codeBlock->source()->getRange(start, stop), "...')");
+ message = makeString(message, " (near '...", codeBlock->source()->getRange(start, stop), "...')");
}
exception->putDirect(*globalData, globalData->propertyNames->message, jsString(globalData, message));
@@ -845,7 +573,7 @@ static int getLineNumberForCallFrame(JSGlobalData* globalData, CallFrame* callFr
if (!globalData->canUseJIT())
return codeBlock->lineNumberForBytecodeOffset(callFrame->bytecodeOffsetForNonDFGCode() - 1);
#endif
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
#if ENABLE(DFG_JIT)
if (codeBlock->getJITType() == JITCode::DFGJIT)
return codeBlock->lineNumberForBytecodeOffset(codeBlock->codeOrigin(callFrame->codeOriginIndexForDFG()).bytecodeIndex);
@@ -871,7 +599,7 @@ static CallFrame* getCallerInfo(JSGlobalData* globalData, CallFrame* callFrame,
CodeBlock* callerCodeBlock = callerFrame->codeBlock();
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
if (!callFrame->hasReturnPC())
callframeIsHost = true;
#endif
@@ -890,7 +618,7 @@ static CallFrame* getCallerInfo(JSGlobalData* globalData, CallFrame* callFrame,
return callerFrame;
}
#endif
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
#if ENABLE(DFG_JIT)
if (callerCodeBlock && callerCodeBlock->getJITType() == JITCode::DFGJIT) {
unsigned codeOriginIndex = callerFrame->codeOriginIndexForDFG();
@@ -907,7 +635,7 @@ static CallFrame* getCallerInfo(JSGlobalData* globalData, CallFrame* callFrame,
return callerFrame;
}
#endif
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
#if ENABLE(DFG_JIT)
if (callFrame->isInlineCallFrame()) {
InlineCallFrame* icf = callFrame->inlineCallFrame();
@@ -941,7 +669,7 @@ static CallFrame* getCallerInfo(JSGlobalData* globalData, CallFrame* callFrame,
return callerFrame;
}
-static ALWAYS_INLINE const UString getSourceURLFromCallFrame(CallFrame* callFrame)
+static ALWAYS_INLINE const String getSourceURLFromCallFrame(CallFrame* callFrame)
{
ASSERT(!callFrame->hasHostCallFrameFlag());
#if ENABLE(CLASSIC_INTERPRETER)
@@ -982,13 +710,13 @@ void Interpreter::getStackTrace(JSGlobalData* globalData, Vector<StackFrame>& re
callFrame = callFrame->trueCallFrameFromVMCode();
while (callFrame && callFrame != CallFrame::noCaller()) {
- UString sourceURL;
+ String sourceURL;
if (callFrame->codeBlock()) {
sourceURL = getSourceURLFromCallFrame(callFrame);
StackFrame s = { Strong<JSObject>(*globalData, callFrame->callee()), getStackFrameCodeType(callFrame), Strong<ExecutableBase>(*globalData, callFrame->codeBlock()->ownerExecutable()), line, sourceURL};
results.append(s);
} else {
- StackFrame s = { Strong<JSObject>(*globalData, callFrame->callee()), StackFrameNativeCode, Strong<ExecutableBase>(), -1, UString()};
+ StackFrame s = { Strong<JSObject>(*globalData, callFrame->callee()), StackFrameNativeCode, Strong<ExecutableBase>(), -1, String()};
results.append(s);
}
unsigned unusedBytecodeOffset = 0;
@@ -1014,6 +742,8 @@ void Interpreter::addStackTraceIfNecessary(CallFrame* callFrame, JSObject* error
globalObject = globalData->dynamicGlobalObject;
else
globalObject = error->globalObject();
+
+ // FIXME: JSStringJoiner could be more efficient than StringBuilder here.
StringBuilder builder;
for (unsigned i = 0; i < stackTrace.size(); i++) {
builder.append(String(stackTrace[i].toString(globalObject->globalExec()).impl()));
@@ -1021,7 +751,7 @@ void Interpreter::addStackTraceIfNecessary(CallFrame* callFrame, JSObject* error
builder.append('\n');
}
- error->putDirect(*globalData, globalData->propertyNames->stack, jsString(globalData, UString(builder.toString().impl())), ReadOnly | DontDelete);
+ error->putDirect(*globalData, globalData->propertyNames->stack, jsString(globalData, builder.toString()), ReadOnly | DontDelete);
}
NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSValue& exceptionValue, unsigned bytecodeOffset)
@@ -1085,15 +815,15 @@ NEVER_INLINE HandlerInfo* Interpreter::throwException(CallFrame*& callFrame, JSV
m_registerFile.shrink(highWaterMark);
// Unwind the scope chain within the exception handler's call frame.
- ScopeChainNode* scopeChain = callFrame->scopeChain();
+ JSScope* scope = callFrame->scope();
int scopeDelta = 0;
if (!codeBlock->needsFullScopeChain() || codeBlock->codeType() != FunctionCode
|| callFrame->uncheckedR(codeBlock->activationRegister()).jsValue())
- scopeDelta = depth(codeBlock, scopeChain) - handler->scopeDepth;
+ scopeDelta = depth(codeBlock, scope) - handler->scopeDepth;
ASSERT(scopeDelta >= 0);
while (scopeDelta--)
- scopeChain = scopeChain->pop();
- callFrame->setScopeChain(scopeChain);
+ scope = scope->next();
+ callFrame->setScope(scope);
return handler;
}
@@ -1110,10 +840,11 @@ static inline JSObject* checkedReturn(JSObject* returnValue)
return returnValue;
}
-JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, ScopeChainNode* scopeChain, JSObject* thisObj)
+JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, JSObject* thisObj)
{
+ JSScope* scope = callFrame->scope();
ASSERT(isValidThisObject(thisObj, callFrame));
- ASSERT(!scopeChain->globalData->exception);
+ ASSERT(!scope->globalData()->exception);
ASSERT(!callFrame->globalData().isCollectorBusy());
if (callFrame->globalData().isCollectorBusy())
CRASH();
@@ -1121,22 +852,25 @@ JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, S
if (m_reentryDepth >= MaxSmallThreadReentryDepth && m_reentryDepth >= callFrame->globalData().maxReentryDepth)
return checkedReturn(throwStackOverflowError(callFrame));
- DynamicGlobalObjectScope globalObjectScope(*scopeChain->globalData, scopeChain->globalObject.get());
+ // First check if the "program" is actually just a JSON object. If so,
+ // we'll handle the JSON object here. Else, we'll handle real JS code
+ // below at failedJSONP.
+ DynamicGlobalObjectScope globalObjectScope(*scope->globalData(), scope->globalObject());
Vector<JSONPData> JSONPData;
bool parseResult;
- const UString programSource = program->source().toString();
+ const String programSource = program->source().toString();
if (programSource.isNull())
return jsUndefined();
if (programSource.is8Bit()) {
LiteralParser<LChar> literalParser(callFrame, programSource.characters8(), programSource.length(), JSONP);
- parseResult = literalParser.tryJSONPParse(JSONPData, scopeChain->globalObject->globalObjectMethodTable()->supportsRichSourceInfo(scopeChain->globalObject.get()));
+ parseResult = literalParser.tryJSONPParse(JSONPData, scope->globalObject()->globalObjectMethodTable()->supportsRichSourceInfo(scope->globalObject()));
} else {
LiteralParser<UChar> literalParser(callFrame, programSource.characters16(), programSource.length(), JSONP);
- parseResult = literalParser.tryJSONPParse(JSONPData, scopeChain->globalObject->globalObjectMethodTable()->supportsRichSourceInfo(scopeChain->globalObject.get()));
+ parseResult = literalParser.tryJSONPParse(JSONPData, scope->globalObject()->globalObjectMethodTable()->supportsRichSourceInfo(scope->globalObject()));
}
if (parseResult) {
- JSGlobalObject* globalObject = scopeChain->globalObject.get();
+ JSGlobalObject* globalObject = scope->globalObject();
JSValue result;
for (unsigned entry = 0; entry < JSONPData.size(); entry++) {
Vector<JSONPPathEntry> JSONPPath;
@@ -1221,36 +955,47 @@ JSValue Interpreter::execute(ProgramExecutable* program, CallFrame* callFrame, S
return result;
}
failedJSONP:
- JSObject* error = program->compile(callFrame, scopeChain);
+ // If we get here, then we have already proven that the script is not a JSON
+ // object.
+
+ // Compile source to bytecode if necessary:
+ JSObject* error = program->compile(callFrame, scope);
if (error)
return checkedReturn(throwError(callFrame, error));
CodeBlock* codeBlock = &program->generatedBytecode();
+ // Reserve stack space for this invocation:
Register* oldEnd = m_registerFile.end();
Register* newEnd = oldEnd + codeBlock->numParameters() + RegisterFile::CallFrameHeaderSize + codeBlock->m_numCalleeRegisters;
if (!m_registerFile.grow(newEnd))
return checkedReturn(throwStackOverflowError(callFrame));
+ // Push the call frame for this invocation:
CallFrame* newCallFrame = CallFrame::create(oldEnd + codeBlock->numParameters() + RegisterFile::CallFrameHeaderSize);
ASSERT(codeBlock->numParameters() == 1); // 1 parameter for 'this'.
- newCallFrame->init(codeBlock, 0, scopeChain, CallFrame::noCaller(), codeBlock->numParameters(), 0);
+ newCallFrame->init(codeBlock, 0, scope, CallFrame::noCaller(), codeBlock->numParameters(), 0);
newCallFrame->setThisValue(thisObj);
TopCallFrameSetter topCallFrame(callFrame->globalData(), newCallFrame);
if (Profiler* profiler = callFrame->globalData().enabledProfiler())
profiler->willExecute(callFrame, program->sourceURL(), program->lineNo());
+ // Execute the code:
JSValue result;
{
SamplingTool::CallRecord callRecord(m_sampler.get());
m_reentryDepth++;
+#if ENABLE(LLINT_C_LOOP)
+ result = LLInt::CLoop::execute(newCallFrame, llint_program_prologue);
+#else // !ENABLE(LLINT_C_LOOP)
#if ENABLE(JIT)
if (!classicEnabled())
- result = program->generatedJITCode().execute(&m_registerFile, newCallFrame, scopeChain->globalData);
+ result = program->generatedJITCode().execute(&m_registerFile, newCallFrame, scope->globalData());
else
-#endif
+#endif // ENABLE(JIT)
result = privateExecute(Normal, &m_registerFile, newCallFrame);
+#endif // !ENABLE(LLINT_C_LOOP)
m_reentryDepth--;
}
@@ -1275,7 +1020,7 @@ JSValue Interpreter::executeCall(CallFrame* callFrame, JSObject* function, CallT
return checkedReturn(throwStackOverflowError(callFrame));
Register* oldEnd = m_registerFile.end();
- ASSERT(callFrame->frameExtent() <= oldEnd || callFrame == callFrame->scopeChain()->globalObject->globalExec());
+ ASSERT(callFrame->frameExtent() <= oldEnd || callFrame == callFrame->scope()->globalObject()->globalExec());
int argCount = 1 + args.size(); // implicit "this" parameter
size_t registerOffset = argCount + RegisterFile::CallFrameHeaderSize;
@@ -1288,11 +1033,11 @@ JSValue Interpreter::executeCall(CallFrame* callFrame, JSObject* function, CallT
newCallFrame->setArgument(i, args.at(i));
if (callType == CallTypeJS) {
- ScopeChainNode* callDataScopeChain = callData.js.scopeChain;
+ JSScope* callDataScope = callData.js.scope;
- DynamicGlobalObjectScope globalObjectScope(*callDataScopeChain->globalData, callDataScopeChain->globalObject.get());
+ DynamicGlobalObjectScope globalObjectScope(*callDataScope->globalData(), callDataScope->globalObject());
- JSObject* compileError = callData.js.functionExecutable->compileForCall(callFrame, callDataScopeChain);
+ JSObject* compileError = callData.js.functionExecutable->compileForCall(callFrame, callDataScope);
if (UNLIKELY(!!compileError)) {
m_registerFile.shrink(oldEnd);
return checkedReturn(throwError(callFrame, compileError));
@@ -1305,7 +1050,7 @@ JSValue Interpreter::executeCall(CallFrame* callFrame, JSObject* function, CallT
return checkedReturn(throwStackOverflowError(callFrame));
}
- newCallFrame->init(newCodeBlock, 0, callDataScopeChain, callFrame->addHostCallFrameFlag(), argCount, function);
+ newCallFrame->init(newCodeBlock, 0, callDataScope, callFrame->addHostCallFrameFlag(), argCount, function);
TopCallFrameSetter topCallFrame(callFrame->globalData(), newCallFrame);
@@ -1317,12 +1062,17 @@ JSValue Interpreter::executeCall(CallFrame* callFrame, JSObject* function, CallT
SamplingTool::CallRecord callRecord(m_sampler.get());
m_reentryDepth++;
+#if ENABLE(LLINT_C_LOOP)
+ result = LLInt::CLoop::execute(newCallFrame, llint_function_for_call_prologue);
+#else // ENABLE(LLINT_C_LOOP)
#if ENABLE(JIT)
if (!classicEnabled())
- result = callData.js.functionExecutable->generatedJITCodeForCall().execute(&m_registerFile, newCallFrame, callDataScopeChain->globalData);
+ result = callData.js.functionExecutable->generatedJITCodeForCall().execute(&m_registerFile, newCallFrame, callDataScope->globalData());
else
-#endif
+#endif // ENABLE(JIT)
result = privateExecute(Normal, &m_registerFile, newCallFrame);
+#endif // !ENABLE(LLINT_C_LOOP)
+
m_reentryDepth--;
}
@@ -1334,12 +1084,12 @@ JSValue Interpreter::executeCall(CallFrame* callFrame, JSObject* function, CallT
}
ASSERT(callType == CallTypeHost);
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- newCallFrame->init(0, 0, scopeChain, callFrame->addHostCallFrameFlag(), argCount, function);
+ JSScope* scope = callFrame->scope();
+ newCallFrame->init(0, 0, scope, callFrame->addHostCallFrameFlag(), argCount, function);
TopCallFrameSetter topCallFrame(callFrame->globalData(), newCallFrame);
- DynamicGlobalObjectScope globalObjectScope(*scopeChain->globalData, scopeChain->globalObject.get());
+ DynamicGlobalObjectScope globalObjectScope(*scope->globalData(), scope->globalObject());
if (Profiler* profiler = callFrame->globalData().enabledProfiler())
profiler->willExecute(callFrame, function);
@@ -1382,11 +1132,11 @@ JSObject* Interpreter::executeConstruct(CallFrame* callFrame, JSObject* construc
newCallFrame->setArgument(i, args.at(i));
if (constructType == ConstructTypeJS) {
- ScopeChainNode* constructDataScopeChain = constructData.js.scopeChain;
+ JSScope* constructDataScope = constructData.js.scope;
- DynamicGlobalObjectScope globalObjectScope(*constructDataScopeChain->globalData, constructDataScopeChain->globalObject.get());
+ DynamicGlobalObjectScope globalObjectScope(*constructDataScope->globalData(), constructDataScope->globalObject());
- JSObject* compileError = constructData.js.functionExecutable->compileForConstruct(callFrame, constructDataScopeChain);
+ JSObject* compileError = constructData.js.functionExecutable->compileForConstruct(callFrame, constructDataScope);
if (UNLIKELY(!!compileError)) {
m_registerFile.shrink(oldEnd);
return checkedReturn(throwError(callFrame, compileError));
@@ -1399,7 +1149,7 @@ JSObject* Interpreter::executeConstruct(CallFrame* callFrame, JSObject* construc
return checkedReturn(throwStackOverflowError(callFrame));
}
- newCallFrame->init(newCodeBlock, 0, constructDataScopeChain, callFrame->addHostCallFrameFlag(), argCount, constructor);
+ newCallFrame->init(newCodeBlock, 0, constructDataScope, callFrame->addHostCallFrameFlag(), argCount, constructor);
TopCallFrameSetter topCallFrame(callFrame->globalData(), newCallFrame);
@@ -1411,12 +1161,16 @@ JSObject* Interpreter::executeConstruct(CallFrame* callFrame, JSObject* construc
SamplingTool::CallRecord callRecord(m_sampler.get());
m_reentryDepth++;
+#if ENABLE(LLINT_C_LOOP)
+ result = LLInt::CLoop::execute(newCallFrame, llint_function_for_construct_prologue);
+#else // !ENABLE(LLINT_C_LOOP)
#if ENABLE(JIT)
if (!classicEnabled())
- result = constructData.js.functionExecutable->generatedJITCodeForConstruct().execute(&m_registerFile, newCallFrame, constructDataScopeChain->globalData);
+ result = constructData.js.functionExecutable->generatedJITCodeForConstruct().execute(&m_registerFile, newCallFrame, constructDataScope->globalData());
else
-#endif
+#endif // ENABLE(JIT)
result = privateExecute(Normal, &m_registerFile, newCallFrame);
+#endif // !ENABLE(LLINT_C_LOOP)
m_reentryDepth--;
}
@@ -1431,12 +1185,12 @@ JSObject* Interpreter::executeConstruct(CallFrame* callFrame, JSObject* construc
}
ASSERT(constructType == ConstructTypeHost);
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- newCallFrame->init(0, 0, scopeChain, callFrame->addHostCallFrameFlag(), argCount, constructor);
+ JSScope* scope = callFrame->scope();
+ newCallFrame->init(0, 0, scope, callFrame->addHostCallFrameFlag(), argCount, constructor);
TopCallFrameSetter topCallFrame(callFrame->globalData(), newCallFrame);
- DynamicGlobalObjectScope globalObjectScope(*scopeChain->globalData, scopeChain->globalObject.get());
+ DynamicGlobalObjectScope globalObjectScope(*scope->globalData(), scope->globalObject());
if (Profiler* profiler = callFrame->globalData().enabledProfiler())
profiler->willExecute(callFrame, constructor);
@@ -1457,9 +1211,9 @@ JSObject* Interpreter::executeConstruct(CallFrame* callFrame, JSObject* construc
return checkedReturn(asObject(result));
}
-CallFrameClosure Interpreter::prepareForRepeatCall(FunctionExecutable* functionExecutable, CallFrame* callFrame, JSFunction* function, int argumentCountIncludingThis, ScopeChainNode* scopeChain)
+CallFrameClosure Interpreter::prepareForRepeatCall(FunctionExecutable* functionExecutable, CallFrame* callFrame, JSFunction* function, int argumentCountIncludingThis, JSScope* scope)
{
- ASSERT(!scopeChain->globalData->exception);
+ ASSERT(!scope->globalData()->exception);
if (callFrame->globalData().isCollectorBusy())
return CallFrameClosure();
@@ -1478,7 +1232,7 @@ CallFrameClosure Interpreter::prepareForRepeatCall(FunctionExecutable* functionE
return CallFrameClosure();
}
- JSObject* error = functionExecutable->compileForCall(callFrame, scopeChain);
+ JSObject* error = functionExecutable->compileForCall(callFrame, scope);
if (error) {
throwError(callFrame, error);
m_registerFile.shrink(oldEnd);
@@ -1492,9 +1246,9 @@ CallFrameClosure Interpreter::prepareForRepeatCall(FunctionExecutable* functionE
m_registerFile.shrink(oldEnd);
return CallFrameClosure();
}
- newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), argumentCountIncludingThis, function);
- scopeChain->globalData->topCallFrame = newCallFrame;
- CallFrameClosure result = { callFrame, newCallFrame, function, functionExecutable, scopeChain->globalData, oldEnd, scopeChain, codeBlock->numParameters(), argumentCountIncludingThis };
+ newCallFrame->init(codeBlock, 0, scope, callFrame->addHostCallFrameFlag(), argumentCountIncludingThis, function);
+ scope->globalData()->topCallFrame = newCallFrame;
+ CallFrameClosure result = { callFrame, newCallFrame, function, functionExecutable, scope->globalData(), oldEnd, scope, codeBlock->numParameters(), argumentCountIncludingThis };
return result;
}
@@ -1514,6 +1268,9 @@ JSValue Interpreter::execute(CallFrameClosure& closure)
SamplingTool::CallRecord callRecord(m_sampler.get());
m_reentryDepth++;
+#if ENABLE(LLINT_C_LOOP)
+ result = LLInt::CLoop::execute(closure.newCallFrame, llint_function_for_call_prologue);
+#else // !ENABLE(LLINT_C_LOOP)
#if ENABLE(JIT)
#if ENABLE(CLASSIC_INTERPRETER)
if (closure.newCallFrame->globalData().canUseJIT())
@@ -1522,10 +1279,12 @@ JSValue Interpreter::execute(CallFrameClosure& closure)
#if ENABLE(CLASSIC_INTERPRETER)
else
#endif
-#endif
+#endif // ENABLE(JIT)
#if ENABLE(CLASSIC_INTERPRETER)
result = privateExecute(Normal, &m_registerFile, closure.newCallFrame);
#endif
+#endif // !ENABLE(LLINT_C_LOOP)
+
m_reentryDepth--;
}
@@ -1540,41 +1299,39 @@ void Interpreter::endRepeatCall(CallFrameClosure& closure)
m_registerFile.shrink(closure.oldEnd);
}
-JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue thisValue, ScopeChainNode* scopeChain, int globalRegisterOffset)
+JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue thisValue, JSScope* scope, int globalRegisterOffset)
{
ASSERT(isValidThisObject(thisValue, callFrame));
- ASSERT(!scopeChain->globalData->exception);
+ ASSERT(!scope->globalData()->exception);
ASSERT(!callFrame->globalData().isCollectorBusy());
if (callFrame->globalData().isCollectorBusy())
return jsNull();
- DynamicGlobalObjectScope globalObjectScope(*scopeChain->globalData, scopeChain->globalObject.get());
+ DynamicGlobalObjectScope globalObjectScope(*scope->globalData(), scope->globalObject());
if (m_reentryDepth >= MaxSmallThreadReentryDepth && m_reentryDepth >= callFrame->globalData().maxReentryDepth)
return checkedReturn(throwStackOverflowError(callFrame));
- JSObject* compileError = eval->compile(callFrame, scopeChain);
+ JSObject* compileError = eval->compile(callFrame, scope);
if (UNLIKELY(!!compileError))
return checkedReturn(throwError(callFrame, compileError));
EvalCodeBlock* codeBlock = &eval->generatedBytecode();
JSObject* variableObject;
- for (ScopeChainNode* node = scopeChain; ; node = node->next.get()) {
+ for (JSScope* node = scope; ; node = node->next()) {
ASSERT(node);
- if (node->object->isVariableObject() && !node->object->isStaticScopeObject()) {
- variableObject = jsCast<JSSymbolTableObject*>(node->object.get());
+ if (node->isVariableObject() && !node->isNameScopeObject()) {
+ variableObject = node;
break;
}
}
unsigned numVariables = codeBlock->numVariables();
int numFunctions = codeBlock->numberOfFunctionDecls();
- bool pushedScope = false;
if (numVariables || numFunctions) {
if (codeBlock->isStrictMode()) {
- variableObject = StrictEvalActivation::create(callFrame);
- scopeChain = scopeChain->push(variableObject);
- pushedScope = true;
+ scope = StrictEvalActivation::create(callFrame);
+ variableObject = scope;
}
// Scope for BatchedTransitionOptimizer
BatchedTransitionOptimizer optimizer(callFrame->globalData(), variableObject);
@@ -1590,22 +1347,19 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue
for (int i = 0; i < numFunctions; ++i) {
FunctionExecutable* function = codeBlock->functionDecl(i);
PutPropertySlot slot;
- variableObject->methodTable()->put(variableObject, callFrame, function->name(), function->make(callFrame, scopeChain), slot);
+ variableObject->methodTable()->put(variableObject, callFrame, function->name(), JSFunction::create(callFrame, function, scope), slot);
}
}
Register* oldEnd = m_registerFile.end();
Register* newEnd = m_registerFile.begin() + globalRegisterOffset + codeBlock->m_numCalleeRegisters;
- if (!m_registerFile.grow(newEnd)) {
- if (pushedScope)
- scopeChain->pop();
+ if (!m_registerFile.grow(newEnd))
return checkedReturn(throwStackOverflowError(callFrame));
- }
CallFrame* newCallFrame = CallFrame::create(m_registerFile.begin() + globalRegisterOffset);
ASSERT(codeBlock->numParameters() == 1); // 1 parameter for 'this'.
- newCallFrame->init(codeBlock, 0, scopeChain, callFrame->addHostCallFrameFlag(), codeBlock->numParameters(), 0);
+ newCallFrame->init(codeBlock, 0, scope, callFrame->addHostCallFrameFlag(), codeBlock->numParameters(), 0);
newCallFrame->setThisValue(thisValue);
TopCallFrameSetter topCallFrame(callFrame->globalData(), newCallFrame);
@@ -1619,18 +1373,22 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue
m_reentryDepth++;
+#if ENABLE(LLINT_C_LOOP)
+ result = LLInt::CLoop::execute(newCallFrame, llint_eval_prologue);
+#else // !ENABLE(LLINT_C_LOOP)
#if ENABLE(JIT)
#if ENABLE(CLASSIC_INTERPRETER)
if (callFrame->globalData().canUseJIT())
#endif
- result = eval->generatedJITCode().execute(&m_registerFile, newCallFrame, scopeChain->globalData);
+ result = eval->generatedJITCode().execute(&m_registerFile, newCallFrame, scope->globalData());
#if ENABLE(CLASSIC_INTERPRETER)
else
#endif
-#endif
+#endif // ENABLE(JIT)
#if ENABLE(CLASSIC_INTERPRETER)
result = privateExecute(Normal, &m_registerFile, newCallFrame);
#endif
+#endif // !ENABLE(LLINT_C_LOOP)
m_reentryDepth--;
}
@@ -1638,8 +1396,6 @@ JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue
profiler->didExecute(callFrame, eval->sourceURL(), eval->lineNo());
m_registerFile.shrink(oldEnd);
- if (pushedScope)
- scopeChain->pop();
return checkedReturn(result);
}
@@ -1672,16 +1428,14 @@ NEVER_INLINE void Interpreter::debug(CallFrame* callFrame, DebugHookID debugHook
}
#if ENABLE(CLASSIC_INTERPRETER)
-NEVER_INLINE ScopeChainNode* Interpreter::createExceptionScope(CallFrame* callFrame, const Instruction* vPC)
+NEVER_INLINE JSScope* Interpreter::createNameScope(CallFrame* callFrame, const Instruction* vPC)
{
- int dst = vPC[1].u.operand;
CodeBlock* codeBlock = callFrame->codeBlock();
- Identifier& property = codeBlock->identifier(vPC[2].u.operand);
- JSValue value = callFrame->r(vPC[3].u.operand).jsValue();
- JSObject* scope = JSStaticScopeObject::create(callFrame, property, value, DontDelete);
- callFrame->uncheckedR(dst) = JSValue(scope);
-
- return callFrame->scopeChain()->push(scope);
+ Identifier& property = codeBlock->identifier(vPC[1].u.operand);
+ JSValue value = callFrame->r(vPC[2].u.operand).jsValue();
+ unsigned attributes = vPC[3].u.operand;
+ JSNameScope* scope = JSNameScope::create(callFrame, property, value, attributes);
+ return scope;
}
NEVER_INLINE void Interpreter::tryCachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, Instruction* vPC, JSValue baseValue, const PutPropertySlot& slot)
@@ -1906,6 +1660,8 @@ NEVER_INLINE void Interpreter::uncacheGetByID(CodeBlock*, Instruction* vPC)
#endif // ENABLE(CLASSIC_INTERPRETER)
+#if !ENABLE(LLINT_C_LOOP)
+
JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFile, CallFrame* callFrame)
{
// One-time initialization of our address tables. We have to put this code
@@ -1991,9 +1747,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
UPDATE_BYTECODE_OFFSET();
#else
#define DEFINE_OPCODE(opcode) opcode: UPDATE_BYTECODE_OFFSET();
-#endif
+#endif // !ENABLE(OPCODE_STATS)
NEXT_INSTRUCTION();
-#else
+#else // !ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
#define NEXT_INSTRUCTION() SAMPLE(codeBlock, vPC); goto interpreterLoopStart
#if ENABLE(OPCODE_STATS)
#define DEFINE_OPCODE(opcode) \
@@ -2006,7 +1762,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
while (1) { // iterator loop begins
interpreterLoopStart:;
switch (vPC->u.opcode)
-#endif
+#endif // !ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
{
DEFINE_OPCODE(op_new_object) {
/* new_object dst(r)
@@ -2064,7 +1820,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
exceptionValue = createSyntaxError(callFrame, "Invalid flags supplied to RegExp constructor.");
goto vm_throw;
}
- callFrame->uncheckedR(dst) = JSValue(RegExpObject::create(*globalData, callFrame->lexicalGlobalObject(), callFrame->scopeChain()->globalObject->regExpStructure(), regExp));
+ callFrame->uncheckedR(dst) = JSValue(RegExpObject::create(*globalData, callFrame->lexicalGlobalObject(), callFrame->scope()->globalObject()->regExpStructure(), regExp));
vPC += OPCODE_LENGTH(op_new_regexp);
NEXT_INSTRUCTION();
@@ -2825,8 +2581,13 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
scope chain, and writes the resulting value to register
dst. If the property is not found, raises an exception.
*/
- if (UNLIKELY(!resolve(callFrame, vPC, exceptionValue)))
- goto vm_throw;
+ int dst = vPC[1].u.operand;
+ int property = vPC[2].u.operand;
+ Identifier& ident = callFrame->codeBlock()->identifier(property);
+
+ JSValue result = JSScope::resolve(callFrame, ident);
+ CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(dst) = result;
vPC += OPCODE_LENGTH(op_resolve);
NEXT_INSTRUCTION();
@@ -2838,11 +2599,16 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
scope chain skipping the top 'skip' levels, and writes the resulting
value to register dst. If the property is not found, raises an exception.
*/
- if (UNLIKELY(!resolveSkip(callFrame, vPC, exceptionValue)))
- goto vm_throw;
+ int dst = vPC[1].u.operand;
+ int property = vPC[2].u.operand;
+ int skip = vPC[3].u.operand;
+ Identifier& ident = callFrame->codeBlock()->identifier(property);
- vPC += OPCODE_LENGTH(op_resolve_skip);
+ JSValue result = JSScope::resolveSkip(callFrame, ident, skip);
+ CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(dst) = result;
+ vPC += OPCODE_LENGTH(op_resolve_skip);
NEXT_INSTRUCTION();
}
DEFINE_OPCODE(op_resolve_global) {
@@ -2853,11 +2619,21 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
a fast lookup using the case offset, otherwise fall back to a full resolve and
cache the new structure and offset
*/
- if (UNLIKELY(!resolveGlobal(callFrame, vPC, exceptionValue)))
- goto vm_throw;
-
+ int dst = vPC[1].u.operand;
+ int property = vPC[2].u.operand;
+ Identifier& ident = callFrame->codeBlock()->identifier(property);
+
+ JSValue result = JSScope::resolveGlobal(
+ callFrame,
+ ident,
+ callFrame->lexicalGlobalObject(),
+ &vPC[3].u.structure,
+ &vPC[4].u.operand
+ );
+ CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(dst) = result;
+
vPC += OPCODE_LENGTH(op_resolve_global);
-
NEXT_INSTRUCTION();
}
DEFINE_OPCODE(op_resolve_global_dynamic) {
@@ -2871,11 +2647,16 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
This walks through n levels of the scope chain to verify that none of those levels
in the scope chain include dynamically added properties.
*/
- if (UNLIKELY(!resolveGlobalDynamic(callFrame, vPC, exceptionValue)))
- goto vm_throw;
-
+ int dst = vPC[1].u.operand;
+ int property = vPC[2].u.operand;
+ int skip = vPC[5].u.operand;
+ Identifier& ident = callFrame->codeBlock()->identifier(property);
+
+ JSValue result = JSScope::resolveGlobalDynamic(callFrame, ident, skip, &vPC[3].u.structure, &vPC[4].u.operand);
+ CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(dst) = result;
+
vPC += OPCODE_LENGTH(op_resolve_global_dynamic);
-
NEXT_INSTRUCTION();
}
DEFINE_OPCODE(op_get_global_var) {
@@ -2942,9 +2723,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int index = vPC[2].u.operand;
int skip = vPC[3].u.operand;
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
+ JSScope* scope = callFrame->scope();
+ ScopeChainIterator iter = scope->begin();
+ ScopeChainIterator end = scope->end();
ASSERT_UNUSED(end, iter != end);
ASSERT(codeBlock == callFrame->codeBlock());
bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
@@ -2957,9 +2738,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
++iter;
ASSERT_UNUSED(end, iter != end);
}
- ASSERT((*iter)->isVariableObject());
- JSVariableObject* scope = jsCast<JSVariableObject*>(iter->get());
- callFrame->uncheckedR(dst) = scope->registerAt(index).get();
+ ASSERT(iter->isVariableObject());
+ JSVariableObject* variableObject = jsCast<JSVariableObject*>(iter.get());
+ callFrame->uncheckedR(dst) = variableObject->registerAt(index).get();
ASSERT(callFrame->r(dst).jsValue());
vPC += OPCODE_LENGTH(op_get_scoped_var);
NEXT_INSTRUCTION();
@@ -2972,9 +2753,9 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
int skip = vPC[2].u.operand;
int value = vPC[3].u.operand;
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
+ JSScope* scope = callFrame->scope();
+ ScopeChainIterator iter = scope->begin();
+ ScopeChainIterator end = scope->end();
ASSERT(codeBlock == callFrame->codeBlock());
ASSERT_UNUSED(end, iter != end);
bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
@@ -2988,10 +2769,10 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
ASSERT_UNUSED(end, iter != end);
}
- ASSERT((*iter)->isVariableObject());
- JSVariableObject* scope = jsCast<JSVariableObject*>(iter->get());
+ ASSERT(iter->isVariableObject());
+ JSVariableObject* variableObject = jsCast<JSVariableObject*>(iter.get());
ASSERT(callFrame->r(value).jsValue());
- scope->registerAt(index).set(*globalData, scope, callFrame->r(value).jsValue());
+ variableObject->registerAt(index).set(*globalData, variableObject, callFrame->r(value).jsValue());
vPC += OPCODE_LENGTH(op_put_scoped_var);
NEXT_INSTRUCTION();
}
@@ -3004,8 +2785,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
outermost scope (which will be the global object) is
stored in register dst.
*/
- resolveBase(callFrame, vPC);
+ int dst = vPC[1].u.operand;
+ int property = vPC[2].u.operand;
+ bool isStrict = vPC[3].u.operand;
+ Identifier& ident = callFrame->codeBlock()->identifier(property);
+
+ JSValue result = JSScope::resolveBase(callFrame, ident, isStrict);
CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(dst) = result;
vPC += OPCODE_LENGTH(op_resolve_base);
NEXT_INSTRUCTION();
@@ -3023,7 +2810,7 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
JSObject* baseObject = asObject(baseVal);
PropertySlot slot(baseVal);
if (!baseObject->getPropertySlot(callFrame, ident, slot)) {
- exceptionValue = createErrorForInvalidGlobalAssignment(callFrame, ident.ustring());
+ exceptionValue = createErrorForInvalidGlobalAssignment(callFrame, ident.string());
goto vm_throw;
}
@@ -3042,8 +2829,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
resolve, or resolve_base followed by get_by_id, as it
avoids duplicate hash lookups.
*/
- if (UNLIKELY(!resolveBaseAndProperty(callFrame, vPC, exceptionValue)))
- goto vm_throw;
+ int baseDst = vPC[1].u.operand;
+ int propDst = vPC[2].u.operand;
+ int property = vPC[3].u.operand;
+ Identifier& ident = codeBlock->identifier(property);
+
+ JSValue prop = JSScope::resolveWithBase(callFrame, ident, &callFrame->uncheckedR(baseDst));
+ CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(propDst) = prop;
vPC += OPCODE_LENGTH(op_resolve_with_base);
NEXT_INSTRUCTION();
@@ -3058,8 +2851,14 @@ JSValue Interpreter::privateExecute(ExecutionFlag flag, RegisterFile* registerFi
If the property is not found, raises an exception.
*/
- if (UNLIKELY(!resolveThisAndProperty(callFrame, vPC, exceptionValue)))
- goto vm_throw;
+ int thisDst = vPC[1].u.operand;
+ int propDst = vPC[2].u.operand;
+ int property = vPC[3].u.operand;
+ Identifier& ident = codeBlock->identifier(property);
+
+ JSValue prop = JSScope::resolveWithThis(callFrame, ident, &callFrame->uncheckedR(thisDst));
+ CHECK_FOR_EXCEPTION();
+ callFrame->uncheckedR(propDst) = prop;
vPC += OPCODE_LENGTH(op_resolve_with_this);
NEXT_INSTRUCTION();
@@ -3928,7 +3727,7 @@ skip_id_custom_self:
JSValue arrayValue = callFrame->r(base).jsValue();
ASSERT(isJSArray(arrayValue));
- asArray(arrayValue)->putDirectIndex(callFrame, property, callFrame->r(value).jsValue(), false);
+ asArray(arrayValue)->putDirectIndex(callFrame, property, callFrame->r(value).jsValue());
vPC += OPCODE_LENGTH(op_put_by_index);
NEXT_INSTRUCTION();
@@ -4460,7 +4259,7 @@ skip_id_custom_self:
int shouldCheck = vPC[3].u.operand;
ASSERT(codeBlock->codeType() != FunctionCode || !codeBlock->needsFullScopeChain() || callFrame->r(codeBlock->activationRegister()).jsValue());
if (!shouldCheck || !callFrame->r(dst).jsValue())
- callFrame->uncheckedR(dst) = JSValue(codeBlock->functionDecl(func)->make(callFrame, callFrame->scopeChain()));
+ callFrame->uncheckedR(dst) = JSValue(JSFunction::create(callFrame, codeBlock->functionDecl(func), callFrame->scope()));
vPC += OPCODE_LENGTH(op_new_func);
NEXT_INSTRUCTION();
@@ -4478,19 +4277,7 @@ skip_id_custom_self:
ASSERT(codeBlock->codeType() != FunctionCode || !codeBlock->needsFullScopeChain() || callFrame->r(codeBlock->activationRegister()).jsValue());
FunctionExecutable* function = codeBlock->functionExpr(funcIndex);
- JSFunction* func = function->make(callFrame, callFrame->scopeChain());
-
- /*
- The Identifier in a FunctionExpression can be referenced from inside
- the FunctionExpression's FunctionBody to allow the function to call
- itself recursively. However, unlike in a FunctionDeclaration, the
- Identifier in a FunctionExpression cannot be referenced from and
- does not affect the scope enclosing the FunctionExpression.
- */
- if (!function->name().isNull()) {
- JSStaticScopeObject* functionScopeObject = JSStaticScopeObject::create(callFrame, function->name(), func, ReadOnly | DontDelete);
- func->setScope(*globalData, func->scope()->push(functionScopeObject));
- }
+ JSFunction* func = JSFunction::create(callFrame, function, callFrame->scope());
callFrame->uncheckedR(dst) = JSValue(func);
@@ -4518,7 +4305,7 @@ skip_id_custom_self:
if (isHostFunction(funcVal, globalFuncEval)) {
CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + registerOffset);
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call_eval), callFrame->scopeChain(), callFrame, argCount, jsCast<JSFunction*>(funcVal));
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call_eval), callFrame->scope(), callFrame, argCount, jsCast<JSFunction*>(funcVal));
JSValue result = eval(newCallFrame);
if ((exceptionValue = globalData->exception))
@@ -4554,9 +4341,9 @@ skip_id_custom_self:
CallType callType = getCallData(v, callData);
if (callType == CallTypeJS) {
- ScopeChainNode* callDataScopeChain = callData.js.scopeChain;
+ JSScope* callDataScope = callData.js.scope;
- JSObject* error = callData.js.functionExecutable->compileForCall(callFrame, callDataScopeChain);
+ JSObject* error = callData.js.functionExecutable->compileForCall(callFrame, callDataScope);
if (UNLIKELY(!!error)) {
exceptionValue = error;
goto vm_throw;
@@ -4571,7 +4358,7 @@ skip_id_custom_self:
goto vm_throw;
}
- callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call), callDataScopeChain, previousCallFrame, argCount, jsCast<JSFunction*>(v));
+ callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call), callDataScope, previousCallFrame, argCount, jsCast<JSFunction*>(v));
codeBlock = newCodeBlock;
ASSERT(codeBlock == callFrame->codeBlock());
*topCallFrameSlot = callFrame;
@@ -4585,9 +4372,9 @@ skip_id_custom_self:
}
if (callType == CallTypeHost) {
- ScopeChainNode* scopeChain = callFrame->scopeChain();
+ JSScope* scope = callFrame->scope();
CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + registerOffset);
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call), scopeChain, callFrame, argCount, asObject(v));
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call), scope, callFrame, argCount, asObject(v));
JSValue returnValue;
{
*topCallFrameSlot = newCallFrame;
@@ -4634,9 +4421,9 @@ skip_id_custom_self:
CallType callType = getCallData(v, callData);
if (callType == CallTypeJS) {
- ScopeChainNode* callDataScopeChain = callData.js.scopeChain;
+ JSScope* callDataScope = callData.js.scope;
- JSObject* error = callData.js.functionExecutable->compileForCall(callFrame, callDataScopeChain);
+ JSObject* error = callData.js.functionExecutable->compileForCall(callFrame, callDataScope);
if (UNLIKELY(!!error)) {
exceptionValue = error;
goto vm_throw;
@@ -4649,7 +4436,7 @@ skip_id_custom_self:
goto vm_throw;
}
- newCallFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call_varargs), callDataScopeChain, callFrame, argCount, jsCast<JSFunction*>(v));
+ newCallFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_call_varargs), callDataScope, callFrame, argCount, jsCast<JSFunction*>(v));
codeBlock = newCodeBlock;
callFrame = newCallFrame;
ASSERT(codeBlock == callFrame->codeBlock());
@@ -4664,8 +4451,8 @@ skip_id_custom_self:
}
if (callType == CallTypeHost) {
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call_varargs), scopeChain, callFrame, argCount, asObject(v));
+ JSScope* scope = callFrame->scope();
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_call_varargs), scope, callFrame, argCount, asObject(v));
JSValue returnValue;
{
@@ -4832,7 +4619,7 @@ skip_id_custom_self:
if (!callFrame->r(activationReg).jsValue()) {
JSActivation* activation = JSActivation::create(*globalData, callFrame, static_cast<FunctionExecutable*>(codeBlock->ownerExecutable()));
callFrame->r(activationReg) = JSValue(activation);
- callFrame->setScopeChain(callFrame->scopeChain()->push(activation));
+ callFrame->setScope(activation);
}
vPC += OPCODE_LENGTH(op_create_activation);
NEXT_INSTRUCTION();
@@ -4936,9 +4723,9 @@ skip_id_custom_self:
ConstructType constructType = getConstructData(v, constructData);
if (constructType == ConstructTypeJS) {
- ScopeChainNode* callDataScopeChain = constructData.js.scopeChain;
+ JSScope* callDataScope = constructData.js.scope;
- JSObject* error = constructData.js.functionExecutable->compileForConstruct(callFrame, callDataScopeChain);
+ JSObject* error = constructData.js.functionExecutable->compileForConstruct(callFrame, callDataScope);
if (UNLIKELY(!!error)) {
exceptionValue = error;
goto vm_throw;
@@ -4953,7 +4740,7 @@ skip_id_custom_self:
goto vm_throw;
}
- callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_construct), callDataScopeChain, previousCallFrame, argCount, jsCast<JSFunction*>(v));
+ callFrame->init(newCodeBlock, vPC + OPCODE_LENGTH(op_construct), callDataScope, previousCallFrame, argCount, jsCast<JSFunction*>(v));
codeBlock = newCodeBlock;
*topCallFrameSlot = callFrame;
vPC = newCodeBlock->instructions().begin();
@@ -4965,9 +4752,9 @@ skip_id_custom_self:
}
if (constructType == ConstructTypeHost) {
- ScopeChainNode* scopeChain = callFrame->scopeChain();
+ JSScope* scope = callFrame->scope();
CallFrame* newCallFrame = CallFrame::create(callFrame->registers() + registerOffset);
- newCallFrame->init(0, vPC + OPCODE_LENGTH(op_construct), scopeChain, callFrame, argCount, asObject(v));
+ newCallFrame->init(0, vPC + OPCODE_LENGTH(op_construct), scope, callFrame, argCount, asObject(v));
JSValue returnValue;
{
@@ -5016,22 +4803,20 @@ skip_id_custom_self:
NEXT_INSTRUCTION();
}
- DEFINE_OPCODE(op_push_scope) {
- /* push_scope scope(r)
+ DEFINE_OPCODE(op_push_with_scope) {
+ /* push_with_scope scope(r)
Converts register scope to object, and pushes it onto the top
- of the current scope chain. The contents of the register scope
- are replaced by the result of toObject conversion of the scope.
+ of the scope chain.
*/
int scope = vPC[1].u.operand;
JSValue v = callFrame->r(scope).jsValue();
JSObject* o = v.toObject(callFrame);
CHECK_FOR_EXCEPTION();
- callFrame->uncheckedR(scope) = JSValue(o);
- callFrame->setScopeChain(callFrame->scopeChain()->push(o));
+ callFrame->setScope(JSWithScope::create(callFrame, o));
- vPC += OPCODE_LENGTH(op_push_scope);
+ vPC += OPCODE_LENGTH(op_push_with_scope);
NEXT_INSTRUCTION();
}
DEFINE_OPCODE(op_pop_scope) {
@@ -5039,7 +4824,7 @@ skip_id_custom_self:
Removes the top item from the current scope chain.
*/
- callFrame->setScopeChain(callFrame->scopeChain()->pop());
+ callFrame->setScope(callFrame->scope()->next());
vPC += OPCODE_LENGTH(op_pop_scope);
NEXT_INSTRUCTION();
@@ -5117,10 +4902,10 @@ skip_id_custom_self:
int count = vPC[1].u.operand;
int target = vPC[2].u.operand;
- ScopeChainNode* tmp = callFrame->scopeChain();
+ JSScope* tmp = callFrame->scope();
while (count--)
- tmp = tmp->pop();
- callFrame->setScopeChain(tmp);
+ tmp = tmp->next();
+ callFrame->setScope(tmp);
vPC += target;
NEXT_INSTRUCTION();
@@ -5129,16 +4914,15 @@ skip_id_custom_self:
// Appease GCC
goto *(&&skip_new_scope);
#endif
- DEFINE_OPCODE(op_push_new_scope) {
- /* new_scope dst(r) property(id) value(r)
+ DEFINE_OPCODE(op_push_name_scope) {
+ /* new_scope property(id) value(r) attributes(unsigned)
- Constructs a new StaticScopeObject with property set to value. That scope
- object is then pushed onto the ScopeChain. The scope object is then stored
- in dst for GC.
+ Constructs a name scope of the form { property<attributes>: value },
+ and pushes it onto the scope chain.
*/
- callFrame->setScopeChain(createExceptionScope(callFrame, vPC));
+ callFrame->setScope(createNameScope(callFrame, vPC));
- vPC += OPCODE_LENGTH(op_push_new_scope);
+ vPC += OPCODE_LENGTH(op_push_name_scope);
NEXT_INSTRUCTION();
}
#if ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
@@ -5189,7 +4973,7 @@ skip_id_custom_self:
original constructor, using constant message as the
message string. The result is thrown.
*/
- UString message = callFrame->r(vPC[1].u.operand).jsValue().toString(callFrame)->value(callFrame);
+ String message = callFrame->r(vPC[1].u.operand).jsValue().toString(callFrame)->value(callFrame);
exceptionValue = JSValue(createReferenceError(callFrame, message));
goto vm_throw;
}
@@ -5319,6 +5103,9 @@ skip_id_custom_self:
#endif // ENABLE(CLASSIC_INTERPRETER)
}
+#endif // !ENABLE(LLINT_C_LOOP)
+
+
JSValue Interpreter::retrieveArgumentsFromVMCode(CallFrame* callFrame, JSFunction* function) const
{
CallFrame* functionCallFrame = findFunctionCallFrameFromVMCode(callFrame, function);
@@ -5373,11 +5160,11 @@ JSValue Interpreter::retrieveCallerFromVMCode(CallFrame* callFrame, JSFunction*
return caller;
}
-void Interpreter::retrieveLastCaller(CallFrame* callFrame, int& lineNumber, intptr_t& sourceID, UString& sourceURL, JSValue& function) const
+void Interpreter::retrieveLastCaller(CallFrame* callFrame, int& lineNumber, intptr_t& sourceID, String& sourceURL, JSValue& function) const
{
function = JSValue();
lineNumber = -1;
- sourceURL = UString();
+ sourceURL = String();
CallFrame* callerFrame = callFrame->callerFrame();
if (callerFrame->hasHostCallFrameFlag())
diff --git a/Source/JavaScriptCore/interpreter/Interpreter.h b/Source/JavaScriptCore/interpreter/Interpreter.h
index f4ccd995c..464056bc1 100644
--- a/Source/JavaScriptCore/interpreter/Interpreter.h
+++ b/Source/JavaScriptCore/interpreter/Interpreter.h
@@ -52,7 +52,7 @@ namespace JSC {
class LLIntOffsetsExtractor;
class ProgramExecutable;
class Register;
- class ScopeChainNode;
+ class JSScope;
class SamplingTool;
struct CallFrameClosure;
struct HandlerInfo;
@@ -79,8 +79,8 @@ namespace JSC {
StackFrameCodeType codeType;
Strong<ExecutableBase> executable;
int line;
- UString sourceURL;
- UString toString(CallFrame* callFrame) const
+ String sourceURL;
+ String toString(CallFrame* callFrame) const
{
StringBuilder traceBuild;
String functionName = friendlyFunctionName(callFrame);
@@ -92,7 +92,7 @@ namespace JSC {
traceBuild.append(sourceURL);
if (line > -1) {
traceBuild.append(':');
- traceBuild.append(String::number(line));
+ traceBuild.appendNumber(line);
}
}
return traceBuild.toString().impl();
@@ -187,14 +187,14 @@ namespace JSC {
Interpreter();
~Interpreter();
- void initialize(LLInt::Data*, bool canUseJIT);
+ void initialize(bool canUseJIT);
RegisterFile& registerFile() { return m_registerFile; }
Opcode getOpcode(OpcodeID id)
{
ASSERT(m_initialized);
-#if ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER) || ENABLE(LLINT)
+#if ENABLE(COMPUTED_GOTO_OPCODES)
return m_opcodeTable[id];
#else
return id;
@@ -204,6 +204,7 @@ namespace JSC {
OpcodeID getOpcodeID(Opcode opcode)
{
ASSERT(m_initialized);
+#if ENABLE(COMPUTED_GOTO_OPCODES)
#if ENABLE(LLINT)
ASSERT(isOpcode(opcode));
return m_opcodeIDTable.get(opcode);
@@ -213,9 +214,10 @@ namespace JSC {
return static_cast<OpcodeID>(bitwise_cast<uintptr_t>(opcode));
return m_opcodeIDTable.get(opcode);
-#else
+#endif // ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
+#else // !ENABLE(COMPUTED_GOTO_OPCODES)
return opcode;
-#endif
+#endif // !ENABLE(COMPUTED_GOTO_OPCODES)
}
bool classicEnabled()
@@ -225,15 +227,15 @@ namespace JSC {
bool isOpcode(Opcode);
- JSValue execute(ProgramExecutable*, CallFrame*, ScopeChainNode*, JSObject* thisObj);
+ JSValue execute(ProgramExecutable*, CallFrame*, JSObject* thisObj);
JSValue executeCall(CallFrame*, JSObject* function, CallType, const CallData&, JSValue thisValue, const ArgList&);
JSObject* executeConstruct(CallFrame*, JSObject* function, ConstructType, const ConstructData&, const ArgList&);
- JSValue execute(EvalExecutable*, CallFrame*, JSValue thisValue, ScopeChainNode*);
- JSValue execute(EvalExecutable*, CallFrame*, JSValue thisValue, ScopeChainNode*, int globalRegisterOffset);
+ JSValue execute(EvalExecutable*, CallFrame*, JSValue thisValue, JSScope*);
+ JSValue execute(EvalExecutable*, CallFrame*, JSValue thisValue, JSScope*, int globalRegisterOffset);
JSValue retrieveArgumentsFromVMCode(CallFrame*, JSFunction*) const;
JSValue retrieveCallerFromVMCode(CallFrame*, JSFunction*) const;
- JS_EXPORT_PRIVATE void retrieveLastCaller(CallFrame*, int& lineNumber, intptr_t& sourceID, UString& sourceURL, JSValue& function) const;
+ JS_EXPORT_PRIVATE void retrieveLastCaller(CallFrame*, int& lineNumber, intptr_t& sourceID, String& sourceURL, JSValue& function) const;
void getArgumentsData(CallFrame*, JSFunction*&, ptrdiff_t& firstParameterIndex, Register*& argv, int& argc);
@@ -241,7 +243,7 @@ namespace JSC {
NEVER_INLINE HandlerInfo* throwException(CallFrame*&, JSValue&, unsigned bytecodeOffset);
NEVER_INLINE void debug(CallFrame*, DebugHookID, int firstLine, int lastLine, int column);
- static const UString getTraceLine(CallFrame*, StackFrameCodeType, const UString&, int);
+ static const String getTraceLine(CallFrame*, StackFrameCodeType, const String&, int);
JS_EXPORT_PRIVATE static void getStackTrace(JSGlobalData*, Vector<StackFrame>& results);
static void addStackTraceIfNecessary(CallFrame*, JSObject* error);
@@ -254,19 +256,12 @@ namespace JSC {
private:
enum ExecutionFlag { Normal, InitializeAndReturn };
- CallFrameClosure prepareForRepeatCall(FunctionExecutable*, CallFrame*, JSFunction*, int argumentCountIncludingThis, ScopeChainNode*);
+ CallFrameClosure prepareForRepeatCall(FunctionExecutable*, CallFrame*, JSFunction*, int argumentCountIncludingThis, JSScope*);
void endRepeatCall(CallFrameClosure&);
JSValue execute(CallFrameClosure&);
#if ENABLE(CLASSIC_INTERPRETER)
- NEVER_INLINE bool resolve(CallFrame*, Instruction*, JSValue& exceptionValue);
- NEVER_INLINE bool resolveSkip(CallFrame*, Instruction*, JSValue& exceptionValue);
- NEVER_INLINE bool resolveGlobal(CallFrame*, Instruction*, JSValue& exceptionValue);
- NEVER_INLINE bool resolveGlobalDynamic(CallFrame*, Instruction*, JSValue& exceptionValue);
- NEVER_INLINE void resolveBase(CallFrame*, Instruction* vPC);
- NEVER_INLINE bool resolveBaseAndProperty(CallFrame*, Instruction*, JSValue& exceptionValue);
- NEVER_INLINE bool resolveThisAndProperty(CallFrame*, Instruction*, JSValue& exceptionValue);
- NEVER_INLINE ScopeChainNode* createExceptionScope(CallFrame*, const Instruction* vPC);
+ NEVER_INLINE JSScope* createNameScope(CallFrame*, const Instruction* vPC);
void tryCacheGetByID(CallFrame*, CodeBlock*, Instruction*, JSValue baseValue, const Identifier& propertyName, const PropertySlot&);
void uncacheGetByID(CodeBlock*, Instruction* vPC);
@@ -280,7 +275,9 @@ namespace JSC {
static CallFrame* findFunctionCallFrameFromVMCode(CallFrame*, JSFunction*);
+#if !ENABLE(LLINT_C_LOOP)
JSValue privateExecute(ExecutionFlag, RegisterFile*, CallFrame*);
+#endif
void dumpRegisters(CallFrame*);
@@ -294,6 +291,7 @@ namespace JSC {
RegisterFile m_registerFile;
+#if ENABLE(COMPUTED_GOTO_OPCODES)
#if ENABLE(LLINT)
Opcode* m_opcodeTable; // Maps OpcodeID => Opcode for compiling
HashMap<Opcode, OpcodeID> m_opcodeIDTable; // Maps Opcode => OpcodeID for decompiling
@@ -301,6 +299,7 @@ namespace JSC {
Opcode m_opcodeTable[numOpcodeIDs]; // Maps OpcodeID => Opcode for compiling
HashMap<Opcode, OpcodeID> m_opcodeIDTable; // Maps Opcode => OpcodeID for decompiling
#endif
+#endif // ENABLE(COMPUTED_GOTO_OPCODES)
#if !ASSERT_DISABLED
bool m_initialized;
@@ -314,9 +313,9 @@ namespace JSC {
return !thisValue.isObject() || thisValue.toThisObject(exec) == thisValue;
}
- inline JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue thisValue, ScopeChainNode* scopeChain)
+ inline JSValue Interpreter::execute(EvalExecutable* eval, CallFrame* callFrame, JSValue thisValue, JSScope* scope)
{
- return execute(eval, callFrame, thisValue, scopeChain, m_registerFile.size() + 1 + RegisterFile::CallFrameHeaderSize);
+ return execute(eval, callFrame, thisValue, scope, m_registerFile.size() + 1 + RegisterFile::CallFrameHeaderSize);
}
JSValue eval(CallFrame*);
diff --git a/Source/JavaScriptCore/interpreter/Register.h b/Source/JavaScriptCore/interpreter/Register.h
index a4a76b865..f056a1c8f 100644
--- a/Source/JavaScriptCore/interpreter/Register.h
+++ b/Source/JavaScriptCore/interpreter/Register.h
@@ -40,7 +40,7 @@ namespace JSC {
class JSActivation;
class JSObject;
class JSPropertyNameIterator;
- class ScopeChainNode;
+ class JSScope;
struct InlineCallFrame;
struct Instruction;
@@ -59,7 +59,7 @@ namespace JSC {
Register& operator=(CallFrame*);
Register& operator=(CodeBlock*);
- Register& operator=(ScopeChainNode*);
+ Register& operator=(JSScope*);
Register& operator=(Instruction*);
Register& operator=(InlineCallFrame*);
@@ -69,7 +69,7 @@ namespace JSC {
CodeBlock* codeBlock() const;
JSObject* function() const;
JSPropertyNameIterator* propertyNameIterator() const;
- ScopeChainNode* scopeChain() const;
+ JSScope* scope() const;
Instruction* vPC() const;
InlineCallFrame* asInlineCallFrame() const;
int32_t unboxedInt32() const;
diff --git a/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp b/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
index ad3343d11..7a53b8e2e 100644
--- a/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
+++ b/Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp
@@ -48,6 +48,7 @@ namespace JSC {
uintptr_t startOfFixedExecutableMemoryPool;
class FixedVMPoolExecutableAllocator : public MetaAllocator {
+ WTF_MAKE_FAST_ALLOCATED;
public:
FixedVMPoolExecutableAllocator()
: MetaAllocator(jitAllocationGranule) // round up all allocations to 32 bytes
diff --git a/Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp b/Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp
index 7ea61178c..0f0eb14b7 100644
--- a/Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp
+++ b/Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp
@@ -30,7 +30,7 @@
#include "Heap.h"
#include "JSGlobalData.h"
-#include "ScopeChain.h"
+
#include "SlotVisitor.h"
#include "Structure.h"
diff --git a/Source/JavaScriptCore/jit/HostCallReturnValue.cpp b/Source/JavaScriptCore/jit/HostCallReturnValue.cpp
index 9d449c374..c4d2e6ad9 100644
--- a/Source/JavaScriptCore/jit/HostCallReturnValue.cpp
+++ b/Source/JavaScriptCore/jit/HostCallReturnValue.cpp
@@ -30,7 +30,7 @@
#include <wtf/InlineASM.h>
#include "JSObject.h"
#include "JSValueInlineMethods.h"
-#include "ScopeChain.h"
+
namespace JSC {
diff --git a/Source/JavaScriptCore/jit/HostCallReturnValue.h b/Source/JavaScriptCore/jit/HostCallReturnValue.h
index b134c73da..0e17ca035 100644
--- a/Source/JavaScriptCore/jit/HostCallReturnValue.h
+++ b/Source/JavaScriptCore/jit/HostCallReturnValue.h
@@ -33,7 +33,7 @@
// Unfortunately this only works on GCC-like compilers. And it's currently only used
// by LLInt and DFG, which also are restricted to GCC-like compilers. We should
// probably fix that at some point.
-#if COMPILER(GCC)
+#if COMPILER(GCC) && ENABLE(JIT)
#if CALLING_CONVENTION_IS_STDCALL
#define HOST_CALL_RETURN_VALUE_OPTION CDECL
diff --git a/Source/JavaScriptCore/jit/JIT.cpp b/Source/JavaScriptCore/jit/JIT.cpp
index 52a7158e6..6083a66e4 100644
--- a/Source/JavaScriptCore/jit/JIT.cpp
+++ b/Source/JavaScriptCore/jit/JIT.cpp
@@ -318,8 +318,8 @@ void JIT::privateCompileMainPass()
DEFINE_OP(op_pre_inc)
DEFINE_OP(op_profile_did_call)
DEFINE_OP(op_profile_will_call)
- DEFINE_OP(op_push_new_scope)
- DEFINE_OP(op_push_scope)
+ DEFINE_OP(op_push_name_scope)
+ DEFINE_OP(op_push_with_scope)
case op_put_by_id_out_of_line:
case op_put_by_id_transition_direct:
case op_put_by_id_transition_normal:
diff --git a/Source/JavaScriptCore/jit/JIT.h b/Source/JavaScriptCore/jit/JIT.h
index 5529551d6..beb4cc060 100644
--- a/Source/JavaScriptCore/jit/JIT.h
+++ b/Source/JavaScriptCore/jit/JIT.h
@@ -60,7 +60,7 @@ namespace JSC {
class Interpreter;
class Register;
class RegisterFile;
- class ScopeChainNode;
+ class JSScope;
class StructureChain;
struct CallLinkInfo;
@@ -671,8 +671,8 @@ namespace JSC {
void emit_op_pre_inc(Instruction*);
void emit_op_profile_did_call(Instruction*);
void emit_op_profile_will_call(Instruction*);
- void emit_op_push_new_scope(Instruction*);
- void emit_op_push_scope(Instruction*);
+ void emit_op_push_name_scope(Instruction*);
+ void emit_op_push_with_scope(Instruction*);
void emit_op_put_by_id(Instruction*);
void emit_op_put_by_index(Instruction*);
void emit_op_put_by_val(Instruction*);
diff --git a/Source/JavaScriptCore/jit/JITCall.cpp b/Source/JavaScriptCore/jit/JITCall.cpp
index 7664eb746..f6ea71e17 100644
--- a/Source/JavaScriptCore/jit/JITCall.cpp
+++ b/Source/JavaScriptCore/jit/JITCall.cpp
@@ -160,6 +160,14 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
int argCount = instruction[2].u.operand;
int registerOffset = instruction[3].u.operand;
+ if (opcodeID == op_call && canBeOptimized()) {
+ emitGetVirtualRegister(registerOffset + CallFrame::argumentOffsetIncludingThis(0), regT0);
+ Jump done = emitJumpIfNotJSCell(regT0);
+ loadPtr(Address(regT0, JSCell::structureOffset()), regT0);
+ storePtr(regT0, instruction[5].u.arrayProfile->addressOfLastSeenStructure());
+ done.link(this);
+ }
+
addPtr(TrustedImm32(registerOffset * sizeof(Register)), callFrameRegister, regT1);
store32(TrustedImm32(argCount), Address(regT1, RegisterFile::ArgumentCount * static_cast<int>(sizeof(Register)) + OBJECT_OFFSETOF(EncodedValueDescriptor, asBits.payload)));
} // regT1 holds newCallFrame with ArgumentCount initialized.
@@ -188,7 +196,7 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
m_callStructureStubCompilationInfo[callLinkInfoIndex].callType = CallLinkInfo::callTypeFor(opcodeID);
m_callStructureStubCompilationInfo[callLinkInfoIndex].bytecodeIndex = m_bytecodeOffset;
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutToCallFrameHeader(regT1, RegisterFile::ScopeChain);
m_callStructureStubCompilationInfo[callLinkInfoIndex].hotPathOther = emitNakedCall();
diff --git a/Source/JavaScriptCore/jit/JITCall32_64.cpp b/Source/JavaScriptCore/jit/JITCall32_64.cpp
index 7d86e615f..6195d0bb9 100644
--- a/Source/JavaScriptCore/jit/JITCall32_64.cpp
+++ b/Source/JavaScriptCore/jit/JITCall32_64.cpp
@@ -236,7 +236,15 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
else {
int argCount = instruction[2].u.operand;
int registerOffset = instruction[3].u.operand;
-
+
+ if (opcodeID == op_call && canBeOptimized()) {
+ emitLoad(registerOffset + CallFrame::argumentOffsetIncludingThis(0), regT0, regT1);
+ Jump done = branch32(NotEqual, regT0, TrustedImm32(JSValue::CellTag));
+ loadPtr(Address(regT1, JSCell::structureOffset()), regT1);
+ storePtr(regT1, instruction[5].u.arrayProfile->addressOfLastSeenStructure());
+ done.link(this);
+ }
+
addPtr(TrustedImm32(registerOffset * sizeof(Register)), callFrameRegister, regT3);
store32(TrustedImm32(argCount), payloadFor(RegisterFile::ArgumentCount, regT3));
@@ -268,7 +276,7 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
m_callStructureStubCompilationInfo[callLinkInfoIndex].callType = CallLinkInfo::callTypeFor(opcodeID);
m_callStructureStubCompilationInfo[callLinkInfoIndex].bytecodeIndex = m_bytecodeOffset;
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
m_callStructureStubCompilationInfo[callLinkInfoIndex].hotPathOther = emitNakedCall();
diff --git a/Source/JavaScriptCore/jit/JITCode.h b/Source/JavaScriptCore/jit/JITCode.h
index 478fcc7bf..e39b4f98d 100644
--- a/Source/JavaScriptCore/jit/JITCode.h
+++ b/Source/JavaScriptCore/jit/JITCode.h
@@ -26,7 +26,7 @@
#ifndef JITCode_h
#define JITCode_h
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
#include "CallFrame.h"
#include "JSValue.h"
#include "Disassembler.h"
@@ -42,7 +42,7 @@ namespace JSC {
#endif
class JITCode {
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
typedef MacroAssemblerCodeRef CodeRef;
typedef MacroAssemblerCodePtr CodePtr;
#else
@@ -77,7 +77,7 @@ namespace JSC {
return jitType == InterpreterThunk || jitType == BaselineJIT;
}
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
JITCode()
: m_jitType(None)
{
@@ -127,12 +127,14 @@ namespace JSC {
return static_cast<unsigned>(result);
}
+#if ENABLE(JIT)
// Execute the code!
inline JSValue execute(RegisterFile* registerFile, CallFrame* callFrame, JSGlobalData* globalData)
{
JSValue result = JSValue::decode(ctiTrampoline(m_ref.code().executableAddress(), registerFile, callFrame, 0, 0, globalData));
return globalData->exception ? jsNull() : result;
}
+#endif
void* start() const
{
@@ -182,7 +184,7 @@ namespace JSC {
CodeRef m_ref;
JITType m_jitType;
-#endif // ENABLE(JIT)
+#endif // ENABLE(JIT) || ENABLE(LLINT)
};
};
diff --git a/Source/JavaScriptCore/jit/JITDriver.h b/Source/JavaScriptCore/jit/JITDriver.h
index 7b5cc28eb..318b4e7aa 100644
--- a/Source/JavaScriptCore/jit/JITDriver.h
+++ b/Source/JavaScriptCore/jit/JITDriver.h
@@ -75,7 +75,7 @@ inline bool jitCompileIfAppropriate(ExecState* exec, OwnPtr<CodeBlockType>& code
return true;
}
-inline bool jitCompileFunctionIfAppropriate(ExecState* exec, OwnPtr<FunctionCodeBlock>& codeBlock, JITCode& jitCode, MacroAssemblerCodePtr& jitCodeWithArityCheck, SharedSymbolTable*& symbolTable, JITCode::JITType jitType, unsigned bytecodeIndex, JITCompilationEffort effort)
+inline bool jitCompileFunctionIfAppropriate(ExecState* exec, OwnPtr<FunctionCodeBlock>& codeBlock, JITCode& jitCode, MacroAssemblerCodePtr& jitCodeWithArityCheck, WriteBarrier<SharedSymbolTable>& symbolTable, JITCode::JITType jitType, unsigned bytecodeIndex, JITCompilationEffort effort)
{
JSGlobalData& globalData = exec->globalData();
@@ -99,7 +99,7 @@ inline bool jitCompileFunctionIfAppropriate(ExecState* exec, OwnPtr<FunctionCode
} else {
if (codeBlock->alternative()) {
codeBlock = static_pointer_cast<FunctionCodeBlock>(codeBlock->releaseAlternative());
- symbolTable = codeBlock->sharedSymbolTable();
+ symbolTable.set(exec->globalData(), codeBlock->ownerExecutable(), codeBlock->symbolTable());
jitCode = oldJITCode;
jitCodeWithArityCheck = oldJITCodeWithArityCheck;
return false;
diff --git a/Source/JavaScriptCore/jit/JITExceptions.cpp b/Source/JavaScriptCore/jit/JITExceptions.cpp
index 2955fac8d..f6cec24bd 100644
--- a/Source/JavaScriptCore/jit/JITExceptions.cpp
+++ b/Source/JavaScriptCore/jit/JITExceptions.cpp
@@ -32,7 +32,7 @@
#include "JSGlobalData.h"
#include "JSValue.h"
-#if ENABLE(JIT)
+#if ENABLE(JIT) || ENABLE(LLINT)
namespace JSC {
@@ -47,10 +47,10 @@ ExceptionHandler genericThrow(JSGlobalData* globalData, ExecState* callFrame, JS
void* catchRoutine;
Instruction* catchPCForInterpreter = 0;
if (handler) {
- catchRoutine = handler->nativeCode.executableAddress();
catchPCForInterpreter = &callFrame->codeBlock()->instructions()[handler->target];
+ catchRoutine = ExecutableBase::catchRoutineFor(handler, catchPCForInterpreter);
} else
- catchRoutine = FunctionPtr(ctiOpThrowNotCaught).value();
+ catchRoutine = FunctionPtr(LLInt::getCodePtr(ctiOpThrowNotCaught)).value();
globalData->callFrameForThrow = callFrame;
globalData->targetMachinePCForThrow = catchRoutine;
diff --git a/Source/JavaScriptCore/jit/JITExceptions.h b/Source/JavaScriptCore/jit/JITExceptions.h
index 59ded187d..1555f95dc 100644
--- a/Source/JavaScriptCore/jit/JITExceptions.h
+++ b/Source/JavaScriptCore/jit/JITExceptions.h
@@ -29,7 +29,7 @@
#include "JSValue.h"
#include "MacroAssemblerCodeRef.h"
-#if ENABLE(ASSEMBLER)
+#if ENABLE(JIT) || ENABLE(LLINT)
namespace JSC {
@@ -50,7 +50,7 @@ ExceptionHandler jitThrow(JSGlobalData*, ExecState*, JSValue exceptionValue, Ret
} // namespace JSC
-#endif
+#endif // ENABLE(JIT) || ENABLE(LLINT)
#endif // JITExceptions_h
diff --git a/Source/JavaScriptCore/jit/JITOpcodes.cpp b/Source/JavaScriptCore/jit/JITOpcodes.cpp
index 8ebad61ff..9b7dc634f 100644
--- a/Source/JavaScriptCore/jit/JITOpcodes.cpp
+++ b/Source/JavaScriptCore/jit/JITOpcodes.cpp
@@ -75,7 +75,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
callSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
// Also initialize ReturnPC for use by lazy linking and exceptions.
@@ -95,7 +95,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
constructSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
// Also initialize ReturnPC for use by lazy linking and exeptions.
@@ -115,7 +115,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
callSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
@@ -138,7 +138,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
constructSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
@@ -1003,11 +1003,11 @@ void JIT::emit_op_next_pname(Instruction* currentInstruction)
end.link(this);
}
-void JIT::emit_op_push_scope(Instruction* currentInstruction)
+void JIT::emit_op_push_with_scope(Instruction* currentInstruction)
{
- JITStubCall stubCall(this, cti_op_push_scope);
+ JITStubCall stubCall(this, cti_op_push_with_scope);
stubCall.addArgument(currentInstruction[1].u.operand, regT2);
- stubCall.call(currentInstruction[1].u.operand);
+ stubCall.call();
}
void JIT::emit_op_pop_scope(Instruction*)
@@ -1072,12 +1072,13 @@ void JIT::emit_op_to_jsnumber(Instruction* currentInstruction)
emitPutVirtualRegister(currentInstruction[1].u.operand);
}
-void JIT::emit_op_push_new_scope(Instruction* currentInstruction)
+void JIT::emit_op_push_name_scope(Instruction* currentInstruction)
{
- JITStubCall stubCall(this, cti_op_push_new_scope);
- stubCall.addArgument(TrustedImmPtr(&m_codeBlock->identifier(currentInstruction[2].u.operand)));
- stubCall.addArgument(currentInstruction[3].u.operand, regT2);
- stubCall.call(currentInstruction[1].u.operand);
+ JITStubCall stubCall(this, cti_op_push_name_scope);
+ stubCall.addArgument(TrustedImmPtr(&m_codeBlock->identifier(currentInstruction[1].u.operand)));
+ stubCall.addArgument(currentInstruction[2].u.operand, regT2);
+ stubCall.addArgument(TrustedImm32(currentInstruction[3].u.operand));
+ stubCall.call();
}
void JIT::emit_op_catch(Instruction* currentInstruction)
@@ -1331,7 +1332,7 @@ void JIT::emit_op_profile_did_call(Instruction* currentInstruction)
void JIT::emitSlow_op_convert_this(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
{
- void* globalThis = m_codeBlock->globalObject()->globalScopeChain()->globalThis.get();
+ void* globalThis = m_codeBlock->globalObject()->globalThis();
linkSlowCase(iter);
if (shouldEmitProfiling())
@@ -1591,15 +1592,13 @@ void JIT::emit_op_resolve_global_dynamic(Instruction* currentInstruction)
Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = branchTestPtr(Zero, addressFor(m_codeBlock->activationRegister()));
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, object)), regT1);
- addSlowCase(checkStructure(regT1, m_globalData->activationStructure.get()));
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, next)), regT0);
+ addSlowCase(checkStructure(regT0, m_codeBlock->globalObject()->activationStructure()));
+ loadPtr(Address(regT0, JSScope::offsetOfNext()), regT0);
activationNotCreated.link(this);
}
while (skip--) {
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, object)), regT1);
- addSlowCase(checkStructure(regT1, m_globalData->activationStructure.get()));
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, next)), regT0);
+ addSlowCase(checkStructure(regT0, m_codeBlock->globalObject()->activationStructure()));
+ loadPtr(Address(regT0, JSScope::offsetOfNext()), regT0);
}
emit_op_resolve_global(currentInstruction, true);
}
diff --git a/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp b/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
index 00c886eb7..c94f5d910 100644
--- a/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
+++ b/Source/JavaScriptCore/jit/JITOpcodes32_64.cpp
@@ -69,7 +69,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
callSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
// Also initialize ReturnPC for use by lazy linking and exceptions.
@@ -89,7 +89,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
constructSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
// Also initialize ReturnPC for use by lazy linking and exeptions.
@@ -109,7 +109,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
callSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
@@ -133,7 +133,7 @@ PassRefPtr<ExecutableMemoryHandle> JIT::privateCompileCTIMachineTrampolines(JSGl
constructSlowCase.append(emitJumpIfNotType(regT0, regT1, JSFunctionType));
// Finish canonical initialization before JS function call.
- loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scopeChain)), regT1);
+ loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_scope)), regT1);
emitPutCellToCallFrameHeader(regT1, RegisterFile::ScopeChain);
loadPtr(Address(regT0, OBJECT_OFFSETOF(JSFunction, m_executable)), regT2);
@@ -1358,11 +1358,11 @@ void JIT::emit_op_next_pname(Instruction* currentInstruction)
end.link(this);
}
-void JIT::emit_op_push_scope(Instruction* currentInstruction)
+void JIT::emit_op_push_with_scope(Instruction* currentInstruction)
{
- JITStubCall stubCall(this, cti_op_push_scope);
+ JITStubCall stubCall(this, cti_op_push_with_scope);
stubCall.addArgument(currentInstruction[1].u.operand);
- stubCall.call(currentInstruction[1].u.operand);
+ stubCall.call();
}
void JIT::emit_op_pop_scope(Instruction*)
@@ -1397,12 +1397,13 @@ void JIT::emitSlow_op_to_jsnumber(Instruction* currentInstruction, Vector<SlowCa
stubCall.call(dst);
}
-void JIT::emit_op_push_new_scope(Instruction* currentInstruction)
+void JIT::emit_op_push_name_scope(Instruction* currentInstruction)
{
- JITStubCall stubCall(this, cti_op_push_new_scope);
- stubCall.addArgument(TrustedImmPtr(&m_codeBlock->identifier(currentInstruction[2].u.operand)));
- stubCall.addArgument(currentInstruction[3].u.operand);
- stubCall.call(currentInstruction[1].u.operand);
+ JITStubCall stubCall(this, cti_op_push_name_scope);
+ stubCall.addArgument(TrustedImmPtr(&m_codeBlock->identifier(currentInstruction[1].u.operand)));
+ stubCall.addArgument(currentInstruction[2].u.operand);
+ stubCall.addArgument(TrustedImm32(currentInstruction[3].u.operand));
+ stubCall.call();
}
void JIT::emit_op_catch(Instruction* currentInstruction)
@@ -1586,7 +1587,7 @@ void JIT::emit_op_convert_this(Instruction* currentInstruction)
void JIT::emitSlow_op_convert_this(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
{
- void* globalThis = m_codeBlock->globalObject()->globalScopeChain()->globalThis.get();
+ void* globalThis = m_codeBlock->globalObject()->globalThis();
unsigned thisRegister = currentInstruction[1].u.operand;
linkSlowCase(iter);
diff --git a/Source/JavaScriptCore/jit/JITPropertyAccess.cpp b/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
index 16af9125b..ada862a53 100644
--- a/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
+++ b/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
@@ -493,6 +493,7 @@ void JIT::emitSlow_op_put_by_id(Instruction* currentInstruction, Vector<SlowCase
stubCall.addArgument(regT0);
stubCall.addArgument(TrustedImmPtr(ident));
stubCall.addArgument(regT1);
+ move(regT0, nonArgGPR1);
Call call = stubCall.call();
// Track the location of the call; this will be used to recover patch information.
@@ -537,6 +538,8 @@ void JIT::compileGetDirectOffset(JSObject* base, RegisterID result, PropertyOffs
void JIT::privateCompilePutByIdTransition(StructureStubInfo* stubInfo, Structure* oldStructure, Structure* newStructure, PropertyOffset cachedOffset, StructureChain* chain, ReturnAddressPtr returnAddress, bool direct)
{
+ move(nonArgGPR1, regT0);
+
JumpList failureCases;
// Check eax is an object of the right Structure.
failureCases.append(emitJumpIfNotJSCell(regT0));
@@ -1067,13 +1070,12 @@ void JIT::emit_op_get_scoped_var(Instruction* currentInstruction)
Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = branchTestPtr(Zero, addressFor(m_codeBlock->activationRegister()));
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, next)), regT0);
+ loadPtr(Address(regT0, JSScope::offsetOfNext()), regT0);
activationNotCreated.link(this);
}
while (skip--)
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, next)), regT0);
+ loadPtr(Address(regT0, JSScope::offsetOfNext()), regT0);
- loadPtr(Address(regT0, OBJECT_OFFSETOF(ScopeChainNode, object)), regT0);
loadPtr(Address(regT0, JSVariableObject::offsetOfRegisters()), regT0);
loadPtr(Address(regT0, currentInstruction[2].u.operand * sizeof(Register)), regT0);
emitValueProfilingSite();
@@ -1093,12 +1095,11 @@ void JIT::emit_op_put_scoped_var(Instruction* currentInstruction)
Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = branchTestPtr(Zero, addressFor(m_codeBlock->activationRegister()));
- loadPtr(Address(regT1, OBJECT_OFFSETOF(ScopeChainNode, next)), regT1);
+ loadPtr(Address(regT1, JSScope::offsetOfNext()), regT1);
activationNotCreated.link(this);
}
while (skip--)
- loadPtr(Address(regT1, OBJECT_OFFSETOF(ScopeChainNode, next)), regT1);
- loadPtr(Address(regT1, OBJECT_OFFSETOF(ScopeChainNode, object)), regT1);
+ loadPtr(Address(regT1, JSScope::offsetOfNext()), regT1);
emitWriteBarrier(regT1, regT0, regT2, regT3, ShouldFilterImmediates, WriteBarrierForVariableAccess);
@@ -1162,7 +1163,7 @@ void JIT::resetPatchPutById(RepatchBuffer& repatchBuffer, StructureStubInfo* stu
else
repatchBuffer.relink(stubInfo->callReturnLocation, cti_op_put_by_id);
repatchBuffer.repatch(stubInfo->hotPathBegin.dataLabelPtrAtOffset(stubInfo->patch.baseline.u.put.structureToCompare), reinterpret_cast<void*>(-1));
- repatchBuffer.repatch(stubInfo->hotPathBegin.dataLabelCompactAtOffset(stubInfo->patch.baseline.u.put.displacementLabel), 0);
+ repatchBuffer.repatch(stubInfo->hotPathBegin.dataLabel32AtOffset(stubInfo->patch.baseline.u.put.displacementLabel), 0);
}
#endif // USE(JSVALUE64)
diff --git a/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp b/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
index 6ef25046f..f3c79a985 100644
--- a/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
+++ b/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
@@ -213,7 +213,7 @@ void JIT::emit_op_get_by_val(Instruction* currentInstruction)
#if ENABLE(VALUE_PROFILER)
storePtr(regT1, currentInstruction[4].u.arrayProfile->addressOfLastSeenStructure());
#endif
- addSlowCase(branchPtr(NotEqual, Address(regT1, JSCell::classInfoOffset()), TrustedImmPtr(&JSArray::s_info)));
+ addSlowCase(branchPtr(NotEqual, Address(regT1, Structure::classInfoOffset()), TrustedImmPtr(&JSArray::s_info)));
loadPtr(Address(regT0, JSArray::storageOffset()), regT3);
addSlowCase(branch32(AboveOrEqual, regT2, Address(regT0, JSArray::vectorLengthOffset())));
@@ -1108,13 +1108,12 @@ void JIT::emit_op_get_scoped_var(Instruction* currentInstruction)
Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = branch32(Equal, tagFor(m_codeBlock->activationRegister()), TrustedImm32(JSValue::EmptyValueTag));
- loadPtr(Address(regT2, OBJECT_OFFSETOF(ScopeChainNode, next)), regT2);
+ loadPtr(Address(regT2, JSScope::offsetOfNext()), regT2);
activationNotCreated.link(this);
}
while (skip--)
- loadPtr(Address(regT2, OBJECT_OFFSETOF(ScopeChainNode, next)), regT2);
+ loadPtr(Address(regT2, JSScope::offsetOfNext()), regT2);
- loadPtr(Address(regT2, OBJECT_OFFSETOF(ScopeChainNode, object)), regT2);
loadPtr(Address(regT2, JSVariableObject::offsetOfRegisters()), regT2);
emitLoad(index, regT1, regT0, regT2);
@@ -1138,12 +1137,11 @@ void JIT::emit_op_put_scoped_var(Instruction* currentInstruction)
Jump activationNotCreated;
if (checkTopLevel)
activationNotCreated = branch32(Equal, tagFor(m_codeBlock->activationRegister()), TrustedImm32(JSValue::EmptyValueTag));
- loadPtr(Address(regT2, OBJECT_OFFSETOF(ScopeChainNode, next)), regT2);
+ loadPtr(Address(regT2, JSScope::offsetOfNext()), regT2);
activationNotCreated.link(this);
}
while (skip--)
- loadPtr(Address(regT2, OBJECT_OFFSETOF(ScopeChainNode, next)), regT2);
- loadPtr(Address(regT2, OBJECT_OFFSETOF(ScopeChainNode, object)), regT2);
+ loadPtr(Address(regT2, JSScope::offsetOfNext()), regT2);
loadPtr(Address(regT2, JSVariableObject::offsetOfRegisters()), regT3);
emitStore(index, regT1, regT0, regT3);
diff --git a/Source/JavaScriptCore/jit/JITStubRoutine.cpp b/Source/JavaScriptCore/jit/JITStubRoutine.cpp
index 951665318..121836ce9 100644
--- a/Source/JavaScriptCore/jit/JITStubRoutine.cpp
+++ b/Source/JavaScriptCore/jit/JITStubRoutine.cpp
@@ -29,7 +29,7 @@
#if ENABLE(JIT)
#include "JSObject.h"
-#include "ScopeChain.h"
+
#include "SlotVisitor.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/jit/JITStubs.cpp b/Source/JavaScriptCore/jit/JITStubs.cpp
index cc899587f..8fc395a63 100644
--- a/Source/JavaScriptCore/jit/JITStubs.cpp
+++ b/Source/JavaScriptCore/jit/JITStubs.cpp
@@ -50,10 +50,11 @@
#include "JSArray.h"
#include "JSFunction.h"
#include "JSGlobalObjectFunctions.h"
+#include "JSNameScope.h"
#include "JSNotAnObject.h"
#include "JSPropertyNameIterator.h"
-#include "JSStaticScopeObject.h"
#include "JSString.h"
+#include "JSWithScope.h"
#include "NameInstance.h"
#include "ObjectPrototype.h"
#include "Operations.h"
@@ -203,8 +204,6 @@ SYMBOL_STRING(ctiOpThrowNotCaught) ":" "\n"
#define PRESERVED_R10_OFFSET 0x58
#define PRESERVED_R11_OFFSET 0x5C
#define REGISTER_FILE_OFFSET 0x60
-#define CALLFRAME_OFFSET 0x64
-#define EXCEPTION_OFFSET 0x64
#define FIRST_STACK_ARGUMENT 0x68
#elif (COMPILER(GCC) || COMPILER(MSVC) || COMPILER(RVCT)) && CPU(ARM_TRADITIONAL)
@@ -282,8 +281,6 @@ extern "C" {
#define PRESERVED_RETURN_ADDRESS_OFFSET 76
#define THUNK_RETURN_ADDRESS_OFFSET 80
#define REGISTER_FILE_OFFSET 84
-#define CALLFRAME_OFFSET 88
-#define EXCEPTION_OFFSET 92
#define GLOBAL_DATA_OFFSET 100
#define STACK_LENGTH 104
#elif CPU(SH4)
@@ -462,8 +459,6 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"li $17,512 # set timeoutCheckRegister" "\n"
"move $25,$4 # move executableAddress to t9" "\n"
"sw $5," STRINGIZE_VALUE_OF(REGISTER_FILE_OFFSET) "($29) # store registerFile to current stack" "\n"
- "sw $6," STRINGIZE_VALUE_OF(CALLFRAME_OFFSET) "($29) # store callFrame to curent stack" "\n"
- "sw $7," STRINGIZE_VALUE_OF(EXCEPTION_OFFSET) "($29) # store exception to current stack" "\n"
"lw $9," STRINGIZE_VALUE_OF(STACK_LENGTH + 20) "($29) # load globalData from previous stack" "\n"
"jalr $25" "\n"
"sw $9," STRINGIZE_VALUE_OF(GLOBAL_DATA_OFFSET) "($29) # store globalData to current stack" "\n"
@@ -551,8 +546,6 @@ SYMBOL_STRING(ctiTrampoline) ":" "\n"
"str r10, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R10_OFFSET) "]" "\n"
"str r11, [sp, #" STRINGIZE_VALUE_OF(PRESERVED_R11_OFFSET) "]" "\n"
"str r1, [sp, #" STRINGIZE_VALUE_OF(REGISTER_FILE_OFFSET) "]" "\n"
- "str r2, [sp, #" STRINGIZE_VALUE_OF(CALLFRAME_OFFSET) "]" "\n"
- "str r3, [sp, #" STRINGIZE_VALUE_OF(EXCEPTION_OFFSET) "]" "\n"
"mov r5, r2" "\n"
"mov r6, #512" "\n"
"blx r0" "\n"
@@ -680,8 +673,6 @@ __asm EncodedJSValue ctiTrampoline(void*, RegisterFile*, CallFrame*, void* /*unu
str r10, [sp, # PRESERVED_R10_OFFSET ]
str r11, [sp, # PRESERVED_R11_OFFSET ]
str r1, [sp, # REGISTER_FILE_OFFSET ]
- str r2, [sp, # CALLFRAME_OFFSET ]
- str r3, [sp, # EXCEPTION_OFFSET ]
mov r5, r2
mov r6, #512
blx r0
@@ -806,7 +797,6 @@ JITThunks::JITThunks(JSGlobalData* globalData)
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, preservedR11) == PRESERVED_R11_OFFSET);
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, registerFile) == REGISTER_FILE_OFFSET);
- ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, callFrame) == CALLFRAME_OFFSET);
// The fifth argument is the first item already on the stack.
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, unused1) == FIRST_STACK_ARGUMENT);
@@ -826,8 +816,6 @@ JITThunks::JITThunks(JSGlobalData* globalData)
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, preservedReturnAddress) == PRESERVED_RETURN_ADDRESS_OFFSET);
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, thunkReturnAddress) == THUNK_RETURN_ADDRESS_OFFSET);
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, registerFile) == REGISTER_FILE_OFFSET);
- ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, callFrame) == CALLFRAME_OFFSET);
- ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, unused1) == EXCEPTION_OFFSET);
ASSERT(OBJECT_OFFSETOF(struct JITStackFrame, globalData) == GLOBAL_DATA_OFFSET);
#endif
@@ -879,7 +867,7 @@ NEVER_INLINE void JITThunks::tryCachePutByID(CallFrame* callFrame, CodeBlock* co
StructureChain* prototypeChain = structure->prototypeChain(callFrame);
ASSERT(structure->previousID()->transitionWatchpointSetHasBeenInvalidated());
stubInfo->initPutByIdTransition(callFrame->globalData(), codeBlock->ownerExecutable(), structure->previousID(), structure, prototypeChain, direct);
- JIT::compilePutByIdTransition(callFrame->scopeChain()->globalData, codeBlock, stubInfo, structure->previousID(), structure, slot.cachedOffset(), prototypeChain, returnAddress, direct);
+ JIT::compilePutByIdTransition(callFrame->scope()->globalData(), codeBlock, stubInfo, structure->previousID(), structure, slot.cachedOffset(), prototypeChain, returnAddress, direct);
return;
}
@@ -902,7 +890,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
JSGlobalData* globalData = &callFrame->globalData();
if (isJSArray(baseValue) && propertyName == callFrame->propertyNames().length) {
- JIT::compilePatchGetArrayLength(callFrame->scopeChain()->globalData, codeBlock, returnAddress);
+ JIT::compilePatchGetArrayLength(callFrame->scope()->globalData(), codeBlock, returnAddress);
return;
}
@@ -962,7 +950,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
ASSERT(!structure->isDictionary());
ASSERT(!slotBaseObject->structure()->isDictionary());
- JIT::compileGetByIdProto(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, structure, slotBaseObject->structure(), propertyName, slot, offset, returnAddress);
+ JIT::compileGetByIdProto(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, structure, slotBaseObject->structure(), propertyName, slot, offset, returnAddress);
return;
}
@@ -975,7 +963,7 @@ NEVER_INLINE void JITThunks::tryCacheGetByID(CallFrame* callFrame, CodeBlock* co
StructureChain* prototypeChain = structure->prototypeChain(callFrame);
stubInfo->initGetByIdChain(callFrame->globalData(), codeBlock->ownerExecutable(), structure, prototypeChain, count, slot.cachedPropertyType() == PropertySlot::Value);
- JIT::compileGetByIdChain(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, structure, prototypeChain, count, propertyName, slot, offset, returnAddress);
+ JIT::compileGetByIdChain(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, structure, prototypeChain, count, propertyName, slot, offset, returnAddress);
}
#if !defined(NDEBUG)
@@ -1590,7 +1578,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check)
// for now. For now it performs a check on a special object on the global object only used for this
// purpose. The object is in no way exposed, and as such the check will always pass.
if (slot.slotBase() == baseValue) {
- JIT::patchMethodCallProto(callFrame->globalData(), codeBlock, methodCallLinkInfo, stubInfo, callee, structure, callFrame->scopeChain()->globalObject->methodCallDummy(), STUB_RETURN_ADDRESS);
+ JIT::patchMethodCallProto(callFrame->globalData(), codeBlock, methodCallLinkInfo, stubInfo, callee, structure, callFrame->scope()->globalObject()->methodCallDummy(), STUB_RETURN_ADDRESS);
return JSValue::encode(result);
}
}
@@ -1690,7 +1678,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_method_check_update)
// useful. We could try to nop it out altogether, but that's a little messy, so lets do something simpler
// for now. For now it performs a check on a special object on the global object only used for this
// purpose. The object is in no way exposed, and as such the check will always pass.
- JIT::patchMethodCallProto(callFrame->globalData(), codeBlock, methodCallLinkInfo, stubInfo, callee, structure, callFrame->scopeChain()->globalObject->methodCallDummy(), STUB_RETURN_ADDRESS);
+ JIT::patchMethodCallProto(callFrame->globalData(), codeBlock, methodCallLinkInfo, stubInfo, callee, structure, callFrame->scope()->globalObject()->methodCallDummy(), STUB_RETURN_ADDRESS);
return JSValue::encode(result);
}
@@ -1760,7 +1748,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_self_fail)
}
if (listIndex < POLYMORPHIC_LIST_CACHE_SIZE) {
stubInfo->u.getByIdSelfList.listSize++;
- JIT::compileGetByIdSelfList(callFrame->scopeChain()->globalData, codeBlock, stubInfo, polymorphicStructureList, listIndex, baseValue.asCell()->structure(), ident, slot, slot.cachedOffset());
+ JIT::compileGetByIdSelfList(callFrame->scope()->globalData(), codeBlock, stubInfo, polymorphicStructureList, listIndex, baseValue.asCell()->structure(), ident, slot, slot.cachedOffset());
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_generic));
@@ -1878,7 +1866,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
int listIndex;
PolymorphicAccessStructureList* prototypeStructureList = getPolymorphicAccessStructureListSlot(callFrame->globalData(), codeBlock->ownerExecutable(), stubInfo, listIndex);
if (listIndex < POLYMORPHIC_LIST_CACHE_SIZE) {
- JIT::compileGetByIdProtoList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), propertyName, slot, offset);
+ JIT::compileGetByIdProtoList(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, slotBaseObject->structure(), propertyName, slot, offset);
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
@@ -1890,7 +1878,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_get_by_id_proto_list)
if (listIndex < POLYMORPHIC_LIST_CACHE_SIZE) {
StructureChain* protoChain = structure->prototypeChain(callFrame);
- JIT::compileGetByIdChainList(callFrame->scopeChain()->globalData, callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, propertyName, slot, offset);
+ JIT::compileGetByIdChainList(callFrame->scope()->globalData(), callFrame, codeBlock, stubInfo, prototypeStructureList, listIndex, structure, protoChain, count, propertyName, slot, offset);
if (listIndex == (POLYMORPHIC_LIST_CACHE_SIZE - 1))
ctiPatchCallByReturnAddress(codeBlock, STUB_RETURN_ADDRESS, FunctionPtr(cti_op_get_by_id_proto_list_full));
@@ -2021,8 +2009,8 @@ DEFINE_STUB_FUNCTION(void, optimize)
return;
}
- ScopeChainNode* scopeChain = callFrame->scopeChain();
- JSObject* error = codeBlock->compileOptimized(callFrame, scopeChain, bytecodeIndex);
+ JSScope* scope = callFrame->scope();
+ JSObject* error = codeBlock->compileOptimized(callFrame, scope, bytecodeIndex);
#if ENABLE(JIT_VERBOSE_OSR)
if (error)
dataLog("WARNING: optimized compilation failed.\n");
@@ -2140,7 +2128,7 @@ DEFINE_STUB_FUNCTION(JSObject*, op_new_func)
STUB_INIT_STACK_FRAME(stackFrame);
ASSERT(stackFrame.callFrame->codeBlock()->codeType() != FunctionCode || !stackFrame.callFrame->codeBlock()->needsFullScopeChain() || stackFrame.callFrame->uncheckedR(stackFrame.callFrame->codeBlock()->activationRegister()).jsValue());
- return stackFrame.args[0].function()->make(stackFrame.callFrame, stackFrame.callFrame->scopeChain());
+ return JSFunction::create(stackFrame.callFrame, stackFrame.args[0].function(), stackFrame.callFrame->scope());
}
inline void* jitCompileFor(CallFrame* callFrame, CodeSpecializationKind kind)
@@ -2148,7 +2136,7 @@ inline void* jitCompileFor(CallFrame* callFrame, CodeSpecializationKind kind)
JSFunction* function = jsCast<JSFunction*>(callFrame->callee());
ASSERT(!function->isHostFunction());
FunctionExecutable* executable = function->jsExecutable();
- ScopeChainNode* callDataScopeChain = function->scope();
+ JSScope* callDataScopeChain = function->scope();
JSObject* error = executable->compileFor(callFrame, callDataScopeChain, kind);
if (!error)
return function;
@@ -2278,7 +2266,7 @@ DEFINE_STUB_FUNCTION(JSObject*, op_push_activation)
STUB_INIT_STACK_FRAME(stackFrame);
JSActivation* activation = JSActivation::create(stackFrame.callFrame->globalData(), stackFrame.callFrame, static_cast<FunctionExecutable*>(stackFrame.callFrame->codeBlock()->ownerExecutable()));
- stackFrame.callFrame->setScopeChain(stackFrame.callFrame->scopeChain()->push(activation));
+ stackFrame.callFrame->setScope(activation);
return activation;
}
@@ -2393,7 +2381,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve)
CallFrame* callFrame = stackFrame.callFrame;
- JSValue result = CommonSlowPaths::opResolve(callFrame, stackFrame.args[0].identifier());
+ JSValue result = JSScope::resolve(callFrame, stackFrame.args[0].identifier());
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
}
@@ -2624,18 +2612,16 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve_base)
{
STUB_INIT_STACK_FRAME(stackFrame);
- return JSValue::encode(JSC::resolveBase(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.callFrame->scopeChain(), false));
+ return JSValue::encode(JSScope::resolveBase(stackFrame.callFrame, stackFrame.args[0].identifier(), false));
}
DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve_base_strict_put)
{
STUB_INIT_STACK_FRAME(stackFrame);
- JSValue base = JSC::resolveBase(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.callFrame->scopeChain(), true);
- if (!base) {
- stackFrame.globalData->exception = createErrorForInvalidGlobalAssignment(stackFrame.callFrame, stackFrame.args[0].identifier().ustring());
- VM_THROW_EXCEPTION();
- }
- return JSValue::encode(base);
+
+ if (JSValue result = JSScope::resolveBase(stackFrame.callFrame, stackFrame.args[0].identifier(), true))
+ return JSValue::encode(result);
+ VM_THROW_EXCEPTION();
}
DEFINE_STUB_FUNCTION(EncodedJSValue, op_ensure_property_exists)
@@ -2646,7 +2632,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_ensure_property_exists)
PropertySlot slot(object);
ASSERT(stackFrame.callFrame->codeBlock()->isStrictMode());
if (!object->getPropertySlot(stackFrame.callFrame, stackFrame.args[1].identifier(), slot)) {
- stackFrame.globalData->exception = createErrorForInvalidGlobalAssignment(stackFrame.callFrame, stackFrame.args[1].identifier().ustring());
+ stackFrame.globalData->exception = createErrorForInvalidGlobalAssignment(stackFrame.callFrame, stackFrame.args[1].identifier().string());
VM_THROW_EXCEPTION();
}
@@ -2657,7 +2643,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve_skip)
{
STUB_INIT_STACK_FRAME(stackFrame);
- JSValue result = CommonSlowPaths::opResolveSkip(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.args[1].int32());
+ JSValue result = JSScope::resolveSkip(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.args[1].int32());
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
}
@@ -2667,28 +2653,20 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve_global)
STUB_INIT_STACK_FRAME(stackFrame);
CallFrame* callFrame = stackFrame.callFrame;
- CodeBlock* codeBlock = callFrame->codeBlock();
- JSGlobalObject* globalObject = codeBlock->globalObject();
Identifier& ident = stackFrame.args[0].identifier();
+ CodeBlock* codeBlock = callFrame->codeBlock();
unsigned globalResolveInfoIndex = stackFrame.args[1].int32();
- ASSERT(globalObject->isGlobalObject());
-
- PropertySlot slot(globalObject);
- if (globalObject->getPropertySlot(callFrame, ident, slot)) {
- JSValue result = slot.getValue(callFrame, ident);
- if (slot.isCacheableValue() && !globalObject->structure()->isUncacheableDictionary() && slot.slotBase() == globalObject) {
- GlobalResolveInfo& globalResolveInfo = codeBlock->globalResolveInfo(globalResolveInfoIndex);
- globalResolveInfo.structure.set(callFrame->globalData(), codeBlock->ownerExecutable(), globalObject->structure());
- globalResolveInfo.offset = slot.cachedOffset();
- return JSValue::encode(result);
- }
-
- CHECK_FOR_EXCEPTION_AT_END();
- return JSValue::encode(result);
- }
-
- stackFrame.globalData->exception = createUndefinedVariableError(callFrame, ident);
- VM_THROW_EXCEPTION();
+ GlobalResolveInfo& globalResolveInfo = codeBlock->globalResolveInfo(globalResolveInfoIndex);
+
+ JSValue result = JSScope::resolveGlobal(
+ callFrame,
+ ident,
+ callFrame->lexicalGlobalObject(),
+ &globalResolveInfo.structure,
+ &globalResolveInfo.offset
+ );
+ CHECK_FOR_EXCEPTION();
+ return JSValue::encode(result);
}
DEFINE_STUB_FUNCTION(EncodedJSValue, op_div)
@@ -2970,7 +2948,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve_with_base)
STUB_INIT_STACK_FRAME(stackFrame);
CallFrame* callFrame = stackFrame.callFrame;
- JSValue result = CommonSlowPaths::opResolveWithBase(callFrame, stackFrame.args[0].identifier(), callFrame->registers()[stackFrame.args[1].int32()]);
+ JSValue result = JSScope::resolveWithBase(callFrame, stackFrame.args[0].identifier(), &callFrame->registers()[stackFrame.args[1].int32()]);
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
}
@@ -2980,7 +2958,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_resolve_with_this)
STUB_INIT_STACK_FRAME(stackFrame);
CallFrame* callFrame = stackFrame.callFrame;
- JSValue result = CommonSlowPaths::opResolveWithThis(callFrame, stackFrame.args[0].identifier(), callFrame->registers()[stackFrame.args[1].int32()]);
+ JSValue result = JSScope::resolveWithThis(callFrame, stackFrame.args[0].identifier(), &callFrame->registers()[stackFrame.args[1].int32()]);
CHECK_FOR_EXCEPTION_AT_END();
return JSValue::encode(result);
}
@@ -2991,21 +2969,9 @@ DEFINE_STUB_FUNCTION(JSObject*, op_new_func_exp)
CallFrame* callFrame = stackFrame.callFrame;
FunctionExecutable* function = stackFrame.args[0].function();
- JSFunction* func = function->make(callFrame, callFrame->scopeChain());
+ JSFunction* func = JSFunction::create(callFrame, function, callFrame->scope());
ASSERT(callFrame->codeBlock()->codeType() != FunctionCode || !callFrame->codeBlock()->needsFullScopeChain() || callFrame->uncheckedR(callFrame->codeBlock()->activationRegister()).jsValue());
- /*
- The Identifier in a FunctionExpression can be referenced from inside
- the FunctionExpression's FunctionBody to allow the function to call
- itself recursively. However, unlike in a FunctionDeclaration, the
- Identifier in a FunctionExpression cannot be referenced from and
- does not affect the scope enclosing the FunctionExpression.
- */
- if (!function->name().isNull()) {
- JSStaticScopeObject* functionScopeObject = JSStaticScopeObject::create(callFrame, function->name(), func, ReadOnly | DontDelete);
- func->setScope(callFrame->globalData(), func->scope()->push(functionScopeObject));
- }
-
return func;
}
@@ -3104,7 +3070,7 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_call_eval)
|| !callFrame->callerFrame()->codeBlock()->needsFullScopeChain()
|| callFrame->callerFrame()->uncheckedR(callFrame->callerFrame()->codeBlock()->activationRegister()).jsValue());
- callFrame->setScopeChain(callerFrame->scopeChain());
+ callFrame->setScope(callerFrame->scope());
callFrame->setReturnPC(static_cast<Instruction*>((STUB_RETURN_ADDRESS).value()));
callFrame->setCodeBlock(0);
@@ -3150,21 +3116,20 @@ DEFINE_STUB_FUNCTION(int, has_property)
return result;
}
-DEFINE_STUB_FUNCTION(JSObject*, op_push_scope)
+DEFINE_STUB_FUNCTION(void, op_push_with_scope)
{
STUB_INIT_STACK_FRAME(stackFrame);
JSObject* o = stackFrame.args[0].jsValue().toObject(stackFrame.callFrame);
- CHECK_FOR_EXCEPTION();
- stackFrame.callFrame->setScopeChain(stackFrame.callFrame->scopeChain()->push(o));
- return o;
+ CHECK_FOR_EXCEPTION_VOID();
+ stackFrame.callFrame->setScope(JSWithScope::create(stackFrame.callFrame, o));
}
DEFINE_STUB_FUNCTION(void, op_pop_scope)
{
STUB_INIT_STACK_FRAME(stackFrame);
- stackFrame.callFrame->setScopeChain(stackFrame.callFrame->scopeChain()->pop());
+ stackFrame.callFrame->setScope(stackFrame.callFrame->scope()->next());
}
DEFINE_STUB_FUNCTION(EncodedJSValue, op_typeof)
@@ -3267,15 +3232,14 @@ DEFINE_STUB_FUNCTION(EncodedJSValue, op_in)
return JSValue::encode(jsBoolean(baseObj->hasProperty(callFrame, property)));
}
-DEFINE_STUB_FUNCTION(JSObject*, op_push_new_scope)
+DEFINE_STUB_FUNCTION(void, op_push_name_scope)
{
STUB_INIT_STACK_FRAME(stackFrame);
- JSObject* scope = JSStaticScopeObject::create(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.args[1].jsValue(), DontDelete);
+ JSNameScope* scope = JSNameScope::create(stackFrame.callFrame, stackFrame.args[0].identifier(), stackFrame.args[1].jsValue(), stackFrame.args[2].int32());
CallFrame* callFrame = stackFrame.callFrame;
- callFrame->setScopeChain(callFrame->scopeChain()->push(scope));
- return scope;
+ callFrame->setScope(scope);
}
DEFINE_STUB_FUNCTION(void, op_jmp_scopes)
@@ -3285,10 +3249,10 @@ DEFINE_STUB_FUNCTION(void, op_jmp_scopes)
unsigned count = stackFrame.args[0].int32();
CallFrame* callFrame = stackFrame.callFrame;
- ScopeChainNode* tmp = callFrame->scopeChain();
+ JSScope* tmp = callFrame->scope();
while (count--)
- tmp = tmp->pop();
- callFrame->setScopeChain(tmp);
+ tmp = tmp->next();
+ callFrame->setScope(tmp);
}
DEFINE_STUB_FUNCTION(void, op_put_by_index)
@@ -3300,7 +3264,7 @@ DEFINE_STUB_FUNCTION(void, op_put_by_index)
JSValue arrayValue = stackFrame.args[0].jsValue();
ASSERT(isJSArray(arrayValue));
- asArray(arrayValue)->putDirectIndex(callFrame, property, stackFrame.args[2].jsValue(), false);
+ asArray(arrayValue)->putDirectIndex(callFrame, property, stackFrame.args[2].jsValue());
}
DEFINE_STUB_FUNCTION(void*, op_switch_imm)
@@ -3419,7 +3383,7 @@ DEFINE_STUB_FUNCTION(void, op_throw_reference_error)
STUB_INIT_STACK_FRAME(stackFrame);
CallFrame* callFrame = stackFrame.callFrame;
- UString message = stackFrame.args[0].jsValue().toString(callFrame)->value(callFrame);
+ String message = stackFrame.args[0].jsValue().toString(callFrame)->value(callFrame);
stackFrame.globalData->exception = createReferenceError(callFrame, message);
VM_THROW_EXCEPTION_AT_END();
}
diff --git a/Source/JavaScriptCore/jit/JITStubs.h b/Source/JavaScriptCore/jit/JITStubs.h
index 22a1dd773..e3ef4416e 100644
--- a/Source/JavaScriptCore/jit/JITStubs.h
+++ b/Source/JavaScriptCore/jit/JITStubs.h
@@ -417,8 +417,8 @@ extern "C" {
JSObject* JIT_STUB cti_op_new_object(STUB_ARGS_DECLARATION) WTF_INTERNAL;
JSObject* JIT_STUB cti_op_new_regexp(STUB_ARGS_DECLARATION) WTF_INTERNAL;
JSObject* JIT_STUB cti_op_push_activation(STUB_ARGS_DECLARATION) WTF_INTERNAL;
- JSObject* JIT_STUB cti_op_push_new_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
- JSObject* JIT_STUB cti_op_push_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
+ void JIT_STUB cti_op_push_name_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
+ void JIT_STUB cti_op_push_with_scope(STUB_ARGS_DECLARATION) WTF_INTERNAL;
JSObject* JIT_STUB cti_op_put_by_id_transition_realloc(STUB_ARGS_DECLARATION) WTF_INTERNAL;
JSPropertyNameIterator* JIT_STUB cti_op_get_pnames(STUB_ARGS_DECLARATION) WTF_INTERNAL;
int JIT_STUB cti_op_eq(STUB_ARGS_DECLARATION) WTF_INTERNAL;
@@ -468,7 +468,13 @@ extern "C" {
void* JIT_STUB cti_vm_throw(STUB_ARGS_DECLARATION) REFERENCED_FROM_ASM WTF_INTERNAL;
} // extern "C"
-#endif // ENABLE(JIT)
+#elif ENABLE(LLINT_C_LOOP)
+
+struct JITStackFrame {
+ JSGlobalData* globalData;
+};
+
+#endif // ENABLE(LLINT_C_LOOP)
} // namespace JSC
diff --git a/Source/JavaScriptCore/jit/JSInterfaceJIT.h b/Source/JavaScriptCore/jit/JSInterfaceJIT.h
index 6b7dd2184..52f1dd0b0 100644
--- a/Source/JavaScriptCore/jit/JSInterfaceJIT.h
+++ b/Source/JavaScriptCore/jit/JSInterfaceJIT.h
@@ -36,6 +36,8 @@
#include <wtf/AlwaysInline.h>
#include <wtf/Vector.h>
+#if ENABLE(JIT)
+
namespace JSC {
class JSInterfaceJIT : public MacroAssembler {
public:
@@ -75,6 +77,8 @@ namespace JSC {
static const FPRegisterID fpRegT1 = X86Registers::xmm1;
static const FPRegisterID fpRegT2 = X86Registers::xmm2;
static const FPRegisterID fpRegT3 = X86Registers::xmm3;
+
+ static const RegisterID nonArgGPR1 = X86Registers::eax; // regT0
#elif CPU(X86)
static const RegisterID returnValueRegister = X86Registers::eax;
static const RegisterID cachedResultRegister = X86Registers::eax;
@@ -331,6 +335,8 @@ namespace JSC {
return Address(base, (static_cast<unsigned>(virtualRegisterIndex) * sizeof(Register)));
}
-}
+} // namespace JSC
+
+#endif // ENABLE(JIT)
#endif // JSInterfaceJIT_h
diff --git a/Source/JavaScriptCore/jsc.cpp b/Source/JavaScriptCore/jsc.cpp
index 17ab51588..b044d5706 100644
--- a/Source/JavaScriptCore/jsc.cpp
+++ b/Source/JavaScriptCore/jsc.cpp
@@ -24,7 +24,6 @@
#include "BytecodeGenerator.h"
#include "Completion.h"
-#include <wtf/CurrentTime.h>
#include "ExceptionHelpers.h"
#include "InitializeThreading.h"
#include "Interpreter.h"
@@ -33,12 +32,14 @@
#include "JSFunction.h"
#include "JSLock.h"
#include "JSString.h"
-#include <wtf/MainThread.h>
#include "SamplingTool.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <wtf/CurrentTime.h>
+#include <wtf/MainThread.h>
+#include <wtf/text/StringBuilder.h>
#if !OS(WINDOWS)
#include <unistd.h>
@@ -80,7 +81,7 @@
using namespace JSC;
using namespace WTF;
-static bool fillBufferWithContentsOfFile(const UString& fileName, Vector<char>& buffer);
+static bool fillBufferWithContentsOfFile(const String& fileName, Vector<char>& buffer);
static EncodedJSValue JSC_HOST_CALL functionPrint(ExecState*);
static EncodedJSValue JSC_HOST_CALL functionDebug(ExecState*);
@@ -129,7 +130,7 @@ public:
bool m_dump;
bool m_exitCode;
Vector<Script> m_scripts;
- Vector<UString> m_arguments;
+ Vector<String> m_arguments;
void parseArguments(int, char**);
};
@@ -169,7 +170,7 @@ private:
public:
typedef JSGlobalObject Base;
- static GlobalObject* create(JSGlobalData& globalData, Structure* structure, const Vector<UString>& arguments)
+ static GlobalObject* create(JSGlobalData& globalData, Structure* structure, const Vector<String>& arguments)
{
GlobalObject* object = new (NotNull, allocateCell<GlobalObject>(globalData.heap)) GlobalObject(globalData, structure);
object->finishCreation(globalData, arguments);
@@ -187,7 +188,7 @@ public:
static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return true; }
protected:
- void finishCreation(JSGlobalData& globalData, const Vector<UString>& arguments)
+ void finishCreation(JSGlobalData& globalData, const Vector<String>& arguments)
{
Base::finishCreation(globalData);
@@ -224,20 +225,20 @@ protected:
JSArray* array = constructEmptyArray(globalExec());
for (size_t i = 0; i < arguments.size(); ++i)
- array->putDirectIndex(globalExec(), i, jsString(globalExec(), arguments[i]), false);
+ array->putDirectIndex(globalExec(), i, jsString(globalExec(), arguments[i]));
putDirect(globalData, Identifier(globalExec(), "arguments"), array);
}
void addFunction(JSGlobalData& globalData, const char* name, NativeFunction function, unsigned arguments)
{
Identifier identifier(globalExec(), name);
- putDirect(globalData, identifier, JSFunction::create(globalExec(), this, arguments, identifier.ustring(), function));
+ putDirect(globalData, identifier, JSFunction::create(globalExec(), this, arguments, identifier.string(), function));
}
void addConstructableFunction(JSGlobalData& globalData, const char* name, NativeFunction function, unsigned arguments)
{
Identifier identifier(globalExec(), name);
- putDirect(globalData, identifier, JSFunction::create(globalExec(), this, arguments, identifier.ustring(), function, NoIntrinsic, function));
+ putDirect(globalData, identifier, JSFunction::create(globalExec(), this, arguments, identifier.string(), function, NoIntrinsic, function));
}
};
COMPILE_ASSERT(!IsInteger<GlobalObject>::value, WTF_IsInteger_GlobalObject_false);
@@ -252,7 +253,7 @@ GlobalObject::GlobalObject(JSGlobalData& globalData, Structure* structure)
{
}
-static inline SourceCode jscSource(const char* utf8, const UString& filename)
+static inline SourceCode jscSource(const char* utf8, const String& filename)
{
// Find the the first non-ascii character, or nul.
const char* pos = utf8;
@@ -262,7 +263,7 @@ static inline SourceCode jscSource(const char* utf8, const UString& filename)
// Fast case - string is all ascii.
if (!*pos)
- return makeSource(UString(utf8, asciiLength), filename);
+ return makeSource(String(utf8, asciiLength), filename);
// Slow case - contains non-ascii characters, use fromUTF8WithLatin1Fallback.
ASSERT(*pos < 0);
@@ -308,17 +309,19 @@ EncodedJSValue JSC_HOST_CALL functionDescribe(ExecState* exec)
EncodedJSValue JSC_HOST_CALL functionJSCStack(ExecState* exec)
{
- String trace = "--> Stack trace:\n";
+ StringBuilder trace;
+ trace.appendLiteral("--> Stack trace:\n");
+
Vector<StackFrame> stackTrace;
Interpreter::getStackTrace(&exec->globalData(), stackTrace);
int i = 0;
for (Vector<StackFrame>::iterator iter = stackTrace.begin(); iter < stackTrace.end(); iter++) {
StackFrame level = *iter;
- trace += String::format(" %i %s\n", i, level.toString(exec).utf8().data());
+ trace.append(String::format(" %i %s\n", i, level.toString(exec).utf8().data()));
i++;
}
- fprintf(stderr, "%s", trace.utf8().data());
+ fprintf(stderr, "%s", trace.toString().utf8().data());
return JSValue::encode(jsUndefined());
}
@@ -347,17 +350,17 @@ EncodedJSValue JSC_HOST_CALL functionVersion(ExecState*)
EncodedJSValue JSC_HOST_CALL functionRun(ExecState* exec)
{
- UString fileName = exec->argument(0).toString(exec)->value(exec);
+ String fileName = exec->argument(0).toString(exec)->value(exec);
Vector<char> script;
if (!fillBufferWithContentsOfFile(fileName, script))
return JSValue::encode(throwError(exec, createError(exec, "Could not open file.")));
- GlobalObject* globalObject = GlobalObject::create(exec->globalData(), GlobalObject::createStructure(exec->globalData(), jsNull()), Vector<UString>());
+ GlobalObject* globalObject = GlobalObject::create(exec->globalData(), GlobalObject::createStructure(exec->globalData(), jsNull()), Vector<String>());
JSValue exception;
StopWatch stopWatch;
stopWatch.start();
- evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), jscSource(script.data(), fileName), JSValue(), &exception);
+ evaluate(globalObject->globalExec(), jscSource(script.data(), fileName), JSValue(), &exception);
stopWatch.stop();
if (!!exception) {
@@ -370,7 +373,7 @@ EncodedJSValue JSC_HOST_CALL functionRun(ExecState* exec)
EncodedJSValue JSC_HOST_CALL functionLoad(ExecState* exec)
{
- UString fileName = exec->argument(0).toString(exec)->value(exec);
+ String fileName = exec->argument(0).toString(exec)->value(exec);
Vector<char> script;
if (!fillBufferWithContentsOfFile(fileName, script))
return JSValue::encode(throwError(exec, createError(exec, "Could not open file.")));
@@ -378,7 +381,7 @@ EncodedJSValue JSC_HOST_CALL functionLoad(ExecState* exec)
JSGlobalObject* globalObject = exec->lexicalGlobalObject();
JSValue evaluationException;
- JSValue result = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), jscSource(script.data(), fileName), JSValue(), &evaluationException);
+ JSValue result = evaluate(globalObject->globalExec(), jscSource(script.data(), fileName), JSValue(), &evaluationException);
if (evaluationException)
throwError(exec, evaluationException);
return JSValue::encode(result);
@@ -386,7 +389,7 @@ EncodedJSValue JSC_HOST_CALL functionLoad(ExecState* exec)
EncodedJSValue JSC_HOST_CALL functionCheckSyntax(ExecState* exec)
{
- UString fileName = exec->argument(0).toString(exec)->value(exec);
+ String fileName = exec->argument(0).toString(exec)->value(exec);
Vector<char> script;
if (!fillBufferWithContentsOfFile(fileName, script))
return JSValue::encode(throwError(exec, createError(exec, "Could not open file.")));
@@ -523,7 +526,7 @@ int main(int argc, char** argv)
static bool runWithScripts(GlobalObject* globalObject, const Vector<Script>& scripts, bool dump)
{
const char* script;
- UString fileName;
+ String fileName;
Vector<char> scriptBuffer;
if (dump)
@@ -550,7 +553,7 @@ static bool runWithScripts(GlobalObject* globalObject, const Vector<Script>& scr
globalData.startSampling();
JSValue evaluationException;
- JSValue returnValue = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), jscSource(script, fileName), JSValue(), &evaluationException);
+ JSValue returnValue = evaluate(globalObject->globalExec(), jscSource(script, fileName), JSValue(), &evaluationException);
success = success && !evaluationException;
if (dump && !evaluationException)
printf("End: %s\n", returnValue.toString(globalObject->globalExec())->value(globalObject->globalExec()).utf8().data());
@@ -586,7 +589,7 @@ static bool runWithScripts(GlobalObject* globalObject, const Vector<Script>& scr
static void runInteractive(GlobalObject* globalObject)
{
- UString interpreterName("Interpreter");
+ String interpreterName("Interpreter");
while (true) {
#if HAVE(READLINE) && !RUNNING_FROM_XCODE
@@ -596,7 +599,7 @@ static void runInteractive(GlobalObject* globalObject)
if (line[0])
add_history(line);
JSValue evaluationException;
- JSValue returnValue = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), jscSource(line, interpreterName), JSValue(), &evaluationException);
+ JSValue returnValue = evaluate(globalObject->globalExec(), jscSource(line, interpreterName), JSValue(), &evaluationException);
free(line);
#else
printf("%s", interactivePrompt);
@@ -613,7 +616,7 @@ static void runInteractive(GlobalObject* globalObject)
line.append('\0');
JSValue evaluationException;
- JSValue returnValue = evaluate(globalObject->globalExec(), globalObject->globalScopeChain(), jscSource(line.data(), interpreterName), JSValue(), &evaluationException);
+ JSValue returnValue = evaluate(globalObject->globalExec(), jscSource(line.data(), interpreterName), JSValue(), &evaluationException);
#endif
if (evaluationException)
printf("Exception: %s\n", evaluationException.toString(globalObject->globalExec())->value(globalObject->globalExec()).utf8().data());
@@ -750,7 +753,7 @@ int jscmain(int argc, char** argv)
return result;
}
-static bool fillBufferWithContentsOfFile(const UString& fileName, Vector<char>& buffer)
+static bool fillBufferWithContentsOfFile(const String& fileName, Vector<char>& buffer)
{
FILE* f = fopen(fileName.utf8().data(), "r");
if (!f) {
diff --git a/Source/JavaScriptCore/llint/LLIntCLoop.cpp b/Source/JavaScriptCore/llint/LLIntCLoop.cpp
new file mode 100644
index 000000000..14fc04930
--- /dev/null
+++ b/Source/JavaScriptCore/llint/LLIntCLoop.cpp
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2011, 2012 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.
+ */
+
+#include "config.h"
+#include "LLIntCLoop.h"
+
+#include "Instruction.h"
+
+namespace JSC {
+
+namespace LLInt {
+
+#if ENABLE(LLINT_C_LOOP)
+
+void CLoop::initialize()
+{
+ execute(0, llint_unused, true);
+}
+
+void* CLoop::catchRoutineFor(Instruction* catchPCForInterpreter)
+{
+ return reinterpret_cast<Instruction*>(catchPCForInterpreter->u.opcode);
+}
+
+MacroAssemblerCodePtr CLoop::hostCodeEntryFor(CodeSpecializationKind kind)
+{
+ MacroAssemblerCodePtr codePtr;
+ codePtr = (kind == CodeForCall) ?
+ MacroAssemblerCodePtr::createLLIntCodePtr(llint_native_call_trampoline) :
+ MacroAssemblerCodePtr::createLLIntCodePtr(llint_native_construct_trampoline);
+ return codePtr;
+}
+
+MacroAssemblerCodePtr CLoop::jsCodeEntryWithArityCheckFor(CodeSpecializationKind kind)
+{
+ MacroAssemblerCodePtr codePtr;
+ codePtr = (kind == CodeForCall) ?
+ MacroAssemblerCodePtr::createLLIntCodePtr(llint_function_for_call_arity_check) :
+ MacroAssemblerCodePtr::createLLIntCodePtr(llint_function_for_construct_arity_check);
+ return codePtr;
+}
+
+MacroAssemblerCodePtr CLoop::jsCodeEntryFor(CodeSpecializationKind kind)
+{
+ MacroAssemblerCodePtr codePtr;
+ codePtr = (kind == CodeForCall) ?
+ MacroAssemblerCodePtr::createLLIntCodePtr(llint_function_for_call_prologue) :
+ MacroAssemblerCodePtr::createLLIntCodePtr(llint_function_for_construct_prologue);
+ return codePtr;
+}
+
+#endif // ENABLE(LLINT_C_LOOP)
+
+} } // namespace JSC::LLInt
diff --git a/Source/JavaScriptCore/llint/LLIntCLoop.h b/Source/JavaScriptCore/llint/LLIntCLoop.h
new file mode 100644
index 000000000..3a9c77b6d
--- /dev/null
+++ b/Source/JavaScriptCore/llint/LLIntCLoop.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2011, 2012 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.
+ */
+
+#ifndef LLIntCLoop_h
+#define LLIntCLoop_h
+
+#if ENABLE(LLINT_C_LOOP)
+
+#include "CodeSpecializationKind.h"
+#include "JSValue.h"
+#include "MacroAssemblerCodeRef.h"
+#include "Opcode.h"
+#include "Register.h"
+
+namespace JSC {
+
+namespace LLInt {
+
+const OpcodeID llint_unused = llint_end;
+
+class CLoop {
+public:
+ static void initialize();
+ static JSValue execute(CallFrame*, OpcodeID bootstrapOpcodeId, bool isInitializationPass = false);
+
+ static void* catchRoutineFor(Instruction* catchPCForInterpreter);
+
+ static MacroAssemblerCodePtr hostCodeEntryFor(CodeSpecializationKind);
+ static MacroAssemblerCodePtr jsCodeEntryWithArityCheckFor(CodeSpecializationKind);
+ static MacroAssemblerCodePtr jsCodeEntryFor(CodeSpecializationKind);
+};
+
+} } // namespace JSC::LLInt
+
+#endif // ENABLE(LLINT_C_LOOP)
+
+#endif // LLIntCLoop_h
diff --git a/Source/JavaScriptCore/llint/LLIntData.cpp b/Source/JavaScriptCore/llint/LLIntData.cpp
index 983a7d706..c7fd741d6 100644
--- a/Source/JavaScriptCore/llint/LLIntData.cpp
+++ b/Source/JavaScriptCore/llint/LLIntData.cpp
@@ -31,20 +31,31 @@
#include "BytecodeConventions.h"
#include "CodeType.h"
#include "Instruction.h"
-#include "LowLevelInterpreter.h"
+#include "LLIntCLoop.h"
#include "Opcode.h"
namespace JSC { namespace LLInt {
-Data::Data()
- : m_exceptionInstructions(new Instruction[maxOpcodeLength + 1])
- , m_opcodeMap(new Opcode[numOpcodeIDs])
+Instruction* Data::s_exceptionInstructions = 0;
+Opcode* Data::s_opcodeMap = 0;
+
+void initialize()
{
+ Data::s_exceptionInstructions = new Instruction[maxOpcodeLength + 1];
+ Data::s_opcodeMap = new Opcode[numOpcodeIDs];
+
+ #if ENABLE(LLINT_C_LOOP)
+ CLoop::initialize();
+
+ #else // !ENABLE(LLINT_C_LOOP)
for (int i = 0; i < maxOpcodeLength + 1; ++i)
- m_exceptionInstructions[i].u.pointer = bitwise_cast<void*>(&llint_throw_from_slow_path_trampoline);
-#define OPCODE_ENTRY(opcode, length) m_opcodeMap[opcode] = bitwise_cast<void*>(&llint_##opcode);
+ Data::s_exceptionInstructions[i].u.pointer =
+ LLInt::getCodePtr(llint_throw_from_slow_path_trampoline);
+ #define OPCODE_ENTRY(opcode, length) \
+ Data::s_opcodeMap[opcode] = LLInt::getCodePtr(llint_##opcode);
FOR_EACH_OPCODE_ID(OPCODE_ENTRY);
-#undef OPCODE_ENTRY
+ #undef OPCODE_ENTRY
+ #endif // !ENABLE(LLINT_C_LOOP)
}
#if COMPILER(CLANG)
@@ -120,12 +131,6 @@ void Data::performAssertions(JSGlobalData& globalData)
#pragma clang diagnostic pop
#endif
-Data::~Data()
-{
- delete[] m_exceptionInstructions;
- delete[] m_opcodeMap;
-}
-
} } // namespace JSC::LLInt
#endif // ENABLE(LLINT)
diff --git a/Source/JavaScriptCore/llint/LLIntData.h b/Source/JavaScriptCore/llint/LLIntData.h
index ba8daedf1..3b3b6027f 100644
--- a/Source/JavaScriptCore/llint/LLIntData.h
+++ b/Source/JavaScriptCore/llint/LLIntData.h
@@ -26,6 +26,7 @@
#ifndef LLIntData_h
#define LLIntData_h
+#include "JSValue.h"
#include "Opcode.h"
#include <wtf/Platform.h>
@@ -34,30 +35,59 @@ namespace JSC {
class JSGlobalData;
struct Instruction;
+#if ENABLE(LLINT_C_LOOP)
+typedef OpcodeID LLIntCode;
+#else
+typedef void (*LLIntCode)();
+#endif
+
namespace LLInt {
#if ENABLE(LLINT)
+
class Data {
public:
- Data();
- ~Data();
-
- void performAssertions(JSGlobalData&);
-
- Instruction* exceptionInstructions()
- {
- return m_exceptionInstructions;
- }
-
- Opcode* opcodeMap()
- {
- return m_opcodeMap;
- }
+ static void performAssertions(JSGlobalData&);
+
private:
- Instruction* m_exceptionInstructions;
- Opcode* m_opcodeMap;
+ static Instruction* s_exceptionInstructions;
+ static Opcode* s_opcodeMap;
+
+ friend void initialize();
+
+ friend Instruction* exceptionInstructions();
+ friend Opcode* opcodeMap();
+ friend Opcode getOpcode(OpcodeID);
+ friend void* getCodePtr(OpcodeID);
};
-#else // ENABLE(LLINT)
+
+void initialize();
+
+inline Instruction* exceptionInstructions()
+{
+ return Data::s_exceptionInstructions;
+}
+
+inline Opcode* opcodeMap()
+{
+ return Data::s_opcodeMap;
+}
+
+inline Opcode getOpcode(OpcodeID id)
+{
+#if ENABLE(COMPUTED_GOTO_OPCODES)
+ return Data::s_opcodeMap[id];
+#else
+ return static_cast<Opcode>(id);
+#endif
+}
+
+ALWAYS_INLINE void* getCodePtr(OpcodeID id)
+{
+ return reinterpret_cast<void*>(getOpcode(id));
+}
+
+#else // !ENABLE(LLINT)
#if COMPILER(CLANG)
#pragma clang diagnostic push
@@ -66,26 +96,30 @@ private:
class Data {
public:
- void performAssertions(JSGlobalData&) { }
-
- Instruction* exceptionInstructions()
- {
- ASSERT_NOT_REACHED();
- return 0;
- }
-
- Opcode* opcodeMap()
- {
- ASSERT_NOT_REACHED();
- return 0;
- }
+ static void performAssertions(JSGlobalData&) { }
};
#if COMPILER(CLANG)
#pragma clang diagnostic pop
#endif
-#endif // ENABLE(LLINT)
+#endif // !ENABLE(LLINT)
+
+ALWAYS_INLINE void* getOpcode(void llintOpcode())
+{
+ return bitwise_cast<void*>(llintOpcode);
+}
+
+ALWAYS_INLINE void* getCodePtr(void glueHelper())
+{
+ return bitwise_cast<void*>(glueHelper);
+}
+
+ALWAYS_INLINE void* getCodePtr(JSC::EncodedJSValue glueHelper())
+{
+ return bitwise_cast<void*>(glueHelper);
+}
+
} } // namespace JSC::LLInt
diff --git a/Source/JavaScriptCore/llint/LLIntEntrypoints.cpp b/Source/JavaScriptCore/llint/LLIntEntrypoints.cpp
index dd7d9433d..be79134b7 100644
--- a/Source/JavaScriptCore/llint/LLIntEntrypoints.cpp
+++ b/Source/JavaScriptCore/llint/LLIntEntrypoints.cpp
@@ -33,7 +33,7 @@
#include "JSObject.h"
#include "LLIntThunks.h"
#include "LowLevelInterpreter.h"
-#include "ScopeChain.h"
+
namespace JSC { namespace LLInt {
@@ -52,6 +52,7 @@ void getFunctionEntrypoint(JSGlobalData& globalData, CodeSpecializationKind kind
return;
}
+#if ENABLE(JIT)
if (kind == CodeForCall) {
jitCode = JITCode(globalData.getCTIStub(functionForCallEntryThunkGenerator), JITCode::InterpreterThunk);
arityCheck = globalData.getCTIStub(functionForCallArityCheckThunkGenerator).code();
@@ -61,6 +62,7 @@ void getFunctionEntrypoint(JSGlobalData& globalData, CodeSpecializationKind kind
ASSERT(kind == CodeForConstruct);
jitCode = JITCode(globalData.getCTIStub(functionForConstructEntryThunkGenerator), JITCode::InterpreterThunk);
arityCheck = globalData.getCTIStub(functionForConstructArityCheckThunkGenerator).code();
+#endif // ENABLE(JIT)
}
void getEvalEntrypoint(JSGlobalData& globalData, JITCode& jitCode)
@@ -69,8 +71,9 @@ void getEvalEntrypoint(JSGlobalData& globalData, JITCode& jitCode)
jitCode = JITCode(MacroAssemblerCodeRef::createLLIntCodeRef(llint_eval_prologue), JITCode::InterpreterThunk);
return;
}
-
+#if ENABLE(JIT)
jitCode = JITCode(globalData.getCTIStub(evalEntryThunkGenerator), JITCode::InterpreterThunk);
+#endif
}
void getProgramEntrypoint(JSGlobalData& globalData, JITCode& jitCode)
@@ -79,8 +82,9 @@ void getProgramEntrypoint(JSGlobalData& globalData, JITCode& jitCode)
jitCode = JITCode(MacroAssemblerCodeRef::createLLIntCodeRef(llint_program_prologue), JITCode::InterpreterThunk);
return;
}
-
+#if ENABLE(JIT)
jitCode = JITCode(globalData.getCTIStub(programEntryThunkGenerator), JITCode::InterpreterThunk);
+#endif
}
} } // namespace JSC::LLInt
diff --git a/Source/JavaScriptCore/llint/LLIntExceptions.cpp b/Source/JavaScriptCore/llint/LLIntExceptions.cpp
index a915c42e3..80ca732ad 100644
--- a/Source/JavaScriptCore/llint/LLIntExceptions.cpp
+++ b/Source/JavaScriptCore/llint/LLIntExceptions.cpp
@@ -60,7 +60,8 @@ void interpreterThrowInCaller(ExecState* exec, ReturnAddressPtr pc)
Instruction* returnToThrowForThrownException(ExecState* exec)
{
- return exec->globalData().llintData.exceptionInstructions();
+ UNUSED_PARAM(exec);
+ return LLInt::exceptionInstructions();
}
Instruction* returnToThrow(ExecState* exec, Instruction* pc)
@@ -73,7 +74,7 @@ Instruction* returnToThrow(ExecState* exec, Instruction* pc)
fixupPCforExceptionIfNeeded(exec);
genericThrow(globalData, exec, globalData->exception, pc - exec->codeBlock()->instructions().begin());
- return globalData->llintData.exceptionInstructions();
+ return LLInt::exceptionInstructions();
}
void* callToThrow(ExecState* exec, Instruction* pc)
@@ -85,8 +86,8 @@ void* callToThrow(ExecState* exec, Instruction* pc)
#endif
fixupPCforExceptionIfNeeded(exec);
genericThrow(globalData, exec, globalData->exception, pc - exec->codeBlock()->instructions().begin());
-
- return bitwise_cast<void*>(&llint_throw_during_call_trampoline);
+
+ return LLInt::getCodePtr(llint_throw_during_call_trampoline);
}
} } // namespace JSC::LLInt
diff --git a/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h b/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
index 9a1539576..63488aa0b 100644
--- a/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
+++ b/Source/JavaScriptCore/llint/LLIntOfflineAsmConfig.h
@@ -31,6 +31,17 @@
#include <wtf/InlineASM.h>
#include <wtf/Platform.h>
+
+#if ENABLE(LLINT_C_LOOP)
+#define OFFLINE_ASM_C_LOOP 1
+#define OFFLINE_ASM_X86 0
+#define OFFLINE_ASM_ARMv7 0
+#define OFFLINE_ASM_X86_64 0
+
+#else // !ENABLE(LLINT_C_LOOP)
+
+#define OFFLINE_ASM_C_LOOP 0
+
#if CPU(X86)
#define OFFLINE_ASM_X86 1
#else
@@ -49,6 +60,8 @@
#define OFFLINE_ASM_X86_64 0
#endif
+#endif // !ENABLE(LLINT_C_LOOP)
+
#if USE(JSVALUE64)
#define OFFLINE_ASM_JSVALUE64 1
#else
@@ -91,24 +104,4 @@
#define OFFLINE_ASM_VALUE_PROFILER 0
#endif
-// These are for building an interpreter from generated assembly code:
-#define OFFLINE_ASM_BEGIN asm (
-#define OFFLINE_ASM_END );
-
-#if CPU(ARM_THUMB2)
-#define OFFLINE_ASM_GLOBAL_LABEL(label) \
- ".globl " SYMBOL_STRING(label) "\n" \
- HIDE_SYMBOL(label) "\n" \
- ".thumb\n" \
- ".thumb_func " THUMB_FUNC_PARAM(label) "\n" \
- SYMBOL_STRING(label) ":\n"
-#else
-#define OFFLINE_ASM_GLOBAL_LABEL(label) \
- ".globl " SYMBOL_STRING(label) "\n" \
- HIDE_SYMBOL(label) "\n" \
- SYMBOL_STRING(label) ":\n"
-#endif
-
-#define OFFLINE_ASM_LOCAL_LABEL(label) LOCAL_LABEL_STRING(label) ":\n"
-
#endif // LLIntOfflineAsmConfig_h
diff --git a/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp b/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
index cbb4258d0..3ed6d6d2f 100644
--- a/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
+++ b/Source/JavaScriptCore/llint/LLIntOffsetsExtractor.cpp
@@ -45,7 +45,7 @@
#include "LLIntOfflineAsmConfig.h"
#include "MarkedSpace.h"
#include "RegisterFile.h"
-#include "ScopeChain.h"
+
#include "Structure.h"
#include "StructureChain.h"
#include "ValueProfile.h"
@@ -62,7 +62,7 @@ public:
const unsigned* LLIntOffsetsExtractor::dummy()
{
-#if ENABLE(JIT)
+#if ENABLE(LLINT)
// This is a file generated by offlineasm/generate_offsets_extractor.rb, and contains code
// to create a table of offsets, sizes, and a header identifying what combination of
// Platform.h macros we have set. We include it inside of a method on LLIntOffsetsExtractor
diff --git a/Source/JavaScriptCore/llint/LLIntOpcode.h b/Source/JavaScriptCore/llint/LLIntOpcode.h
new file mode 100644
index 000000000..3588f4ff3
--- /dev/null
+++ b/Source/JavaScriptCore/llint/LLIntOpcode.h
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#ifndef LLIntOpcode_h
+#define LLIntOpcode_h
+
+#include <wtf/Platform.h>
+
+#if ENABLE(LLINT)
+
+#if ENABLE(LLINT_C_LOOP)
+
+#define FOR_EACH_LLINT_NOJIT_NATIVE_HELPER(macro) \
+ macro(getHostCallReturnValue, 1) \
+ macro(ctiOpThrowNotCaught, 1)
+
+#else // !ENABLE(LLINT_C_LOOP)
+
+#define FOR_EACH_LLINT_NOJIT_NATIVE_HELPER(macro) \
+ // Nothing to do here. Use the JIT impl instead.
+
+#endif // !ENABLE(LLINT_C_LOOP)
+
+
+#define FOR_EACH_LLINT_NATIVE_HELPER(macro) \
+ FOR_EACH_LLINT_NOJIT_NATIVE_HELPER(macro) \
+ \
+ macro(llint_begin, 1) \
+ \
+ macro(llint_program_prologue, 1) \
+ macro(llint_eval_prologue, 1) \
+ macro(llint_function_for_call_prologue, 1) \
+ macro(llint_function_for_construct_prologue, 1) \
+ macro(llint_function_for_call_arity_check, 1) \
+ macro(llint_function_for_construct_arity_check, 1) \
+ macro(llint_generic_return_point, 1) \
+ macro(llint_throw_from_slow_path_trampoline, 1) \
+ macro(llint_throw_during_call_trampoline, 1) \
+ \
+ /* Native call trampolines */ \
+ macro(llint_native_call_trampoline, 1) \
+ macro(llint_native_construct_trampoline, 1) \
+ \
+ macro(llint_end, 1)
+
+
+#if ENABLE(LLINT_C_LOOP)
+#define FOR_EACH_LLINT_OPCODE_EXTENSION(macro) FOR_EACH_LLINT_NATIVE_HELPER(macro)
+#else
+#define FOR_EACH_LLINT_OPCODE_EXTENSION(macro) // Nothing to add.
+#endif
+
+#else // !ENABLE(LLINT)
+
+#define FOR_EACH_LLINT_OPCODE_EXTENSION(macro) // Nothing to add.
+
+#endif // !ENABLE(LLINT)
+
+#endif // LLIntOpcode_h
diff --git a/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp b/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
index eef54ac7b..1a34a09d4 100644
--- a/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
+++ b/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
@@ -38,10 +38,11 @@
#include "JITDriver.h"
#include "JSActivation.h"
#include "JSGlobalObjectFunctions.h"
+#include "JSNameScope.h"
#include "JSPropertyNameIterator.h"
-#include "JSStaticScopeObject.h"
#include "JSString.h"
#include "JSValue.h"
+#include "JSWithScope.h"
#include "LLIntCommon.h"
#include "LLIntExceptions.h"
#include "LowLevelInterpreter.h"
@@ -236,7 +237,7 @@ LLINT_SLOW_PATH_DECL(trace)
exec,
static_cast<intptr_t>(pc - exec->codeBlock()->instructions().begin()),
opcodeNames[exec->globalData().interpreter->getOpcodeID(pc[0].u.opcode)],
- exec->scopeChain());
+ exec->scope());
if (exec->globalData().interpreter->getOpcodeID(pc[0].u.opcode) == op_ret) {
dataLog("Will be returning to %p\n", exec->returnPC().value());
dataLog("The new cfr will be %p\n", exec->callerFrame());
@@ -255,6 +256,7 @@ LLINT_SLOW_PATH_DECL(special_trace)
LLINT_END_IMPL();
}
+#if ENABLE(JIT)
inline bool shouldJIT(ExecState* exec)
{
// You can modify this to turn off JITting without rebuilding the world.
@@ -390,6 +392,7 @@ LLINT_SLOW_PATH_DECL(replace)
codeBlock->dontJITAnytimeSoon();
LLINT_END_IMPL();
}
+#endif // ENABLE(JIT)
LLINT_SLOW_PATH_DECL(register_file_check)
{
@@ -447,7 +450,7 @@ LLINT_SLOW_PATH_DECL(slow_path_create_activation)
dataLog("Creating an activation, exec = %p!\n", exec);
#endif
JSActivation* activation = JSActivation::create(globalData, exec, static_cast<FunctionExecutable*>(exec->codeBlock()->ownerExecutable()));
- exec->setScopeChain(exec->scopeChain()->push(activation));
+ exec->setScope(activation);
LLINT_RETURN(JSValue(activation));
}
@@ -757,7 +760,7 @@ LLINT_SLOW_PATH_DECL(slow_path_in)
LLINT_SLOW_PATH_DECL(slow_path_resolve)
{
LLINT_BEGIN();
- LLINT_RETURN_PROFILED(op_resolve, CommonSlowPaths::opResolve(exec, exec->codeBlock()->identifier(pc[2].u.operand)));
+ LLINT_RETURN_PROFILED(op_resolve, JSScope::resolve(exec, exec->codeBlock()->identifier(pc[2].u.operand)));
}
LLINT_SLOW_PATH_DECL(slow_path_resolve_skip)
@@ -765,57 +768,31 @@ LLINT_SLOW_PATH_DECL(slow_path_resolve_skip)
LLINT_BEGIN();
LLINT_RETURN_PROFILED(
op_resolve_skip,
- CommonSlowPaths::opResolveSkip(
+ JSScope::resolveSkip(
exec,
exec->codeBlock()->identifier(pc[2].u.operand),
pc[3].u.operand));
}
-static JSValue resolveGlobal(ExecState* exec, Instruction* pc)
-{
- CodeBlock* codeBlock = exec->codeBlock();
- JSGlobalObject* globalObject = codeBlock->globalObject();
- ASSERT(globalObject->isGlobalObject());
- int property = pc[2].u.operand;
- Structure* structure = pc[3].u.structure.get();
-
- ASSERT_UNUSED(structure, structure != globalObject->structure());
-
- Identifier& ident = codeBlock->identifier(property);
- PropertySlot slot(globalObject);
-
- if (globalObject->getPropertySlot(exec, ident, slot)) {
- JSValue result = slot.getValue(exec, ident);
- if (slot.isCacheableValue() && !globalObject->structure()->isUncacheableDictionary()
- && slot.slotBase() == globalObject) {
- pc[3].u.structure.set(
- exec->globalData(), codeBlock->ownerExecutable(), globalObject->structure());
- pc[4] = slot.cachedOffset();
- }
-
- return result;
- }
-
- exec->globalData().exception = createUndefinedVariableError(exec, ident);
- return JSValue();
-}
-
LLINT_SLOW_PATH_DECL(slow_path_resolve_global)
{
LLINT_BEGIN();
- LLINT_RETURN_PROFILED(op_resolve_global, resolveGlobal(exec, pc));
+ Identifier& ident = exec->codeBlock()->identifier(pc[2].u.operand);
+ LLINT_RETURN_PROFILED(op_resolve_global, JSScope::resolveGlobal(exec, ident, exec->lexicalGlobalObject(), &pc[3].u.structure, &pc[4].u.operand));
}
LLINT_SLOW_PATH_DECL(slow_path_resolve_global_dynamic)
{
+ // FIXME: <rdar://problem/12185487> LLInt resolve_global_dynamic doesn't check intervening scopes for modification
LLINT_BEGIN();
- LLINT_RETURN_PROFILED(op_resolve_global_dynamic, resolveGlobal(exec, pc));
+ Identifier& ident = exec->codeBlock()->identifier(pc[2].u.operand);
+ LLINT_RETURN_PROFILED(op_resolve_global_dynamic, JSScope::resolveGlobal(exec, ident, exec->lexicalGlobalObject(), &pc[3].u.structure, &pc[4].u.operand));
}
LLINT_SLOW_PATH_DECL(slow_path_resolve_for_resolve_global_dynamic)
{
LLINT_BEGIN();
- LLINT_RETURN_PROFILED(op_resolve_global_dynamic, CommonSlowPaths::opResolve(exec, exec->codeBlock()->identifier(pc[2].u.operand)));
+ LLINT_RETURN_PROFILED(op_resolve_global_dynamic, JSScope::resolve(exec, exec->codeBlock()->identifier(pc[2].u.operand)));
}
LLINT_SLOW_PATH_DECL(slow_path_resolve_base)
@@ -823,13 +800,12 @@ LLINT_SLOW_PATH_DECL(slow_path_resolve_base)
LLINT_BEGIN();
Identifier& ident = exec->codeBlock()->identifier(pc[2].u.operand);
if (pc[3].u.operand) {
- JSValue base = JSC::resolveBase(exec, ident, exec->scopeChain(), true);
- if (!base)
- LLINT_THROW(createErrorForInvalidGlobalAssignment(exec, ident.ustring()));
- LLINT_RETURN(base);
+ if (JSValue result = JSScope::resolveBase(exec, ident, true))
+ LLINT_RETURN(result);
+ LLINT_THROW(globalData.exception);
}
-
- LLINT_RETURN_PROFILED(op_resolve_base, JSC::resolveBase(exec, ident, exec->scopeChain(), false));
+
+ LLINT_RETURN_PROFILED(op_resolve_base, JSScope::resolveBase(exec, ident, false));
}
LLINT_SLOW_PATH_DECL(slow_path_ensure_property_exists)
@@ -839,14 +815,14 @@ LLINT_SLOW_PATH_DECL(slow_path_ensure_property_exists)
PropertySlot slot(object);
Identifier& ident = exec->codeBlock()->identifier(pc[2].u.operand);
if (!object->getPropertySlot(exec, ident, slot))
- LLINT_THROW(createErrorForInvalidGlobalAssignment(exec, ident.ustring()));
+ LLINT_THROW(createErrorForInvalidGlobalAssignment(exec, ident.string()));
LLINT_END();
}
LLINT_SLOW_PATH_DECL(slow_path_resolve_with_base)
{
LLINT_BEGIN();
- JSValue result = CommonSlowPaths::opResolveWithBase(exec, exec->codeBlock()->identifier(pc[3].u.operand), LLINT_OP(1));
+ JSValue result = JSScope::resolveWithBase(exec, exec->codeBlock()->identifier(pc[3].u.operand), &LLINT_OP(1));
LLINT_CHECK_EXCEPTION();
LLINT_OP(2) = result;
// FIXME: technically should have profiling, but we don't do it because the DFG won't use it.
@@ -856,7 +832,7 @@ LLINT_SLOW_PATH_DECL(slow_path_resolve_with_base)
LLINT_SLOW_PATH_DECL(slow_path_resolve_with_this)
{
LLINT_BEGIN();
- JSValue result = CommonSlowPaths::opResolveWithThis(exec, exec->codeBlock()->identifier(pc[3].u.operand), LLINT_OP(1));
+ JSValue result = JSScope::resolveWithThis(exec, exec->codeBlock()->identifier(pc[3].u.operand), &LLINT_OP(1));
LLINT_CHECK_EXCEPTION();
LLINT_OP(2) = result;
// FIXME: technically should have profiling, but we don't do it because the DFG won't use it.
@@ -897,10 +873,10 @@ LLINT_SLOW_PATH_DECL(slow_path_get_by_id)
pc[4].u.structure.set(
globalData, codeBlock->ownerExecutable(), structure);
if (isInlineOffset(slot.cachedOffset())) {
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_get_by_id);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_get_by_id);
pc[5].u.operand = offsetInInlineStorage(slot.cachedOffset()) * sizeof(JSValue) + JSObject::offsetOfInlineStorage();
} else {
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_get_by_id_out_of_line);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_get_by_id_out_of_line);
pc[5].u.operand = offsetInOutOfLineStorage(slot.cachedOffset()) * sizeof(JSValue);
}
}
@@ -953,7 +929,7 @@ LLINT_SLOW_PATH_DECL(slow_path_put_by_id)
// This is needed because some of the methods we call
// below may GC.
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id);
normalizePrototypeChain(exec, baseCell);
@@ -973,24 +949,24 @@ LLINT_SLOW_PATH_DECL(slow_path_put_by_id)
if (pc[8].u.operand) {
if (isInlineOffset(slot.cachedOffset()))
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id_transition_direct);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id_transition_direct);
else
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id_transition_direct_out_of_line);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id_transition_direct_out_of_line);
} else {
if (isInlineOffset(slot.cachedOffset()))
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id_transition_normal);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id_transition_normal);
else
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id_transition_normal_out_of_line);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id_transition_normal_out_of_line);
}
}
} else {
pc[4].u.structure.set(
globalData, codeBlock->ownerExecutable(), structure);
if (isInlineOffset(slot.cachedOffset())) {
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id);
pc[5].u.operand = offsetInInlineStorage(slot.cachedOffset()) * sizeof(JSValue) + JSObject::offsetOfInlineStorage();
} else {
- pc[0].u.opcode = bitwise_cast<void*>(&llint_op_put_by_id_out_of_line);
+ pc[0].u.opcode = LLInt::getOpcode(llint_op_put_by_id_out_of_line);
pc[5].u.operand = offsetInOutOfLineStorage(slot.cachedOffset()) * sizeof(JSValue);
}
}
@@ -1128,7 +1104,7 @@ LLINT_SLOW_PATH_DECL(slow_path_put_by_index)
LLINT_BEGIN();
JSValue arrayValue = LLINT_OP_C(1).jsValue();
ASSERT(isJSArray(arrayValue));
- asArray(arrayValue)->putDirectIndex(exec, pc[2].u.operand, LLINT_OP_C(3).jsValue(), false);
+ asArray(arrayValue)->putDirectIndex(exec, pc[2].u.operand, LLINT_OP_C(3).jsValue());
LLINT_END();
}
@@ -1162,10 +1138,10 @@ LLINT_SLOW_PATH_DECL(slow_path_jmp_scopes)
{
LLINT_BEGIN();
unsigned count = pc[1].u.operand;
- ScopeChainNode* tmp = exec->scopeChain();
+ JSScope* tmp = exec->scope();
while (count--)
- tmp = tmp->pop();
- exec->setScopeChain(tmp);
+ tmp = tmp->next();
+ exec->setScope(tmp);
pc += pc[2].u.operand;
LLINT_END();
}
@@ -1284,7 +1260,7 @@ LLINT_SLOW_PATH_DECL(slow_path_new_func)
#if LLINT_SLOW_PATH_TRACING
dataLog("Creating function!\n");
#endif
- LLINT_RETURN(codeBlock->functionDecl(pc[2].u.operand)->make(exec, exec->scopeChain()));
+ LLINT_RETURN(JSFunction::create(exec, codeBlock->functionDecl(pc[2].u.operand), exec->scope()));
}
LLINT_SLOW_PATH_DECL(slow_path_new_func_exp)
@@ -1292,12 +1268,7 @@ LLINT_SLOW_PATH_DECL(slow_path_new_func_exp)
LLINT_BEGIN();
CodeBlock* codeBlock = exec->codeBlock();
FunctionExecutable* function = codeBlock->functionExpr(pc[2].u.operand);
- JSFunction* func = function->make(exec, exec->scopeChain());
-
- if (!function->name().isNull()) {
- JSStaticScopeObject* functionScopeObject = JSStaticScopeObject::create(exec, function->name(), func, ReadOnly | DontDelete);
- func->setScope(globalData, func->scope()->push(functionScopeObject));
- }
+ JSFunction* func = JSFunction::create(exec, function, exec->scope());
LLINT_RETURN(func);
}
@@ -1307,7 +1278,7 @@ static SlowPathReturnType handleHostCall(ExecState* execCallee, Instruction* pc,
ExecState* exec = execCallee->callerFrame();
JSGlobalData& globalData = exec->globalData();
- execCallee->setScopeChain(exec->scopeChain());
+ execCallee->setScope(exec->scope());
execCallee->setCodeBlock(0);
execCallee->clearReturnPC();
@@ -1322,7 +1293,7 @@ static SlowPathReturnType handleHostCall(ExecState* execCallee, Instruction* pc,
execCallee->setCallee(asObject(callee));
globalData.hostCallReturnValue = JSValue::decode(callData.native.function(execCallee));
- LLINT_CALL_RETURN(execCallee, pc, reinterpret_cast<void*>(getHostCallReturnValue));
+ LLINT_CALL_RETURN(execCallee, pc, LLInt::getCodePtr(getHostCallReturnValue));
}
#if LLINT_SLOW_PATH_TRACING
@@ -1345,7 +1316,7 @@ static SlowPathReturnType handleHostCall(ExecState* execCallee, Instruction* pc,
execCallee->setCallee(asObject(callee));
globalData.hostCallReturnValue = JSValue::decode(constructData.native.function(execCallee));
- LLINT_CALL_RETURN(execCallee, pc, reinterpret_cast<void*>(getHostCallReturnValue));
+ LLINT_CALL_RETURN(execCallee, pc, LLInt::getCodePtr(getHostCallReturnValue));
}
#if LLINT_SLOW_PATH_TRACING
@@ -1367,15 +1338,15 @@ inline SlowPathReturnType setUpCall(ExecState* execCallee, Instruction* pc, Code
return handleHostCall(execCallee, pc, calleeAsValue, kind);
JSFunction* callee = jsCast<JSFunction*>(calleeAsFunctionCell);
- ScopeChainNode* scope = callee->scopeUnchecked();
- JSGlobalData& globalData = *scope->globalData;
- execCallee->setScopeChain(scope);
+ JSScope* scope = callee->scopeUnchecked();
+ JSGlobalData& globalData = *scope->globalData();
+ execCallee->setScope(scope);
ExecutableBase* executable = callee->executable();
MacroAssemblerCodePtr codePtr;
CodeBlock* codeBlock = 0;
if (executable->isHostFunction())
- codePtr = executable->generatedJITCodeFor(kind).addressForCall();
+ codePtr = executable->hostCodeEntryFor(kind);
else {
FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
JSObject* error = functionExecutable->compileFor(execCallee, callee->scope(), kind);
@@ -1384,9 +1355,9 @@ inline SlowPathReturnType setUpCall(ExecState* execCallee, Instruction* pc, Code
codeBlock = &functionExecutable->generatedBytecodeFor(kind);
ASSERT(codeBlock);
if (execCallee->argumentCountIncludingThis() < static_cast<size_t>(codeBlock->numParameters()))
- codePtr = functionExecutable->generatedJITCodeWithArityCheckFor(kind);
+ codePtr = functionExecutable->jsCodeWithArityCheckEntryFor(kind);
else
- codePtr = functionExecutable->generatedJITCodeFor(kind).addressForCall();
+ codePtr = functionExecutable->jsCodeEntryFor(kind);
}
if (callLinkInfo) {
@@ -1399,7 +1370,7 @@ inline SlowPathReturnType setUpCall(ExecState* execCallee, Instruction* pc, Code
if (codeBlock)
codeBlock->linkIncomingCall(callLinkInfo);
}
-
+
LLINT_CALL_RETURN(execCallee, pc, codePtr.executableAddress());
}
@@ -1467,8 +1438,8 @@ LLINT_SLOW_PATH_DECL(slow_path_call_eval)
execCallee->setArgumentCountIncludingThis(pc[2].u.operand);
execCallee->setCallerFrame(exec);
execCallee->uncheckedR(RegisterFile::Callee) = calleeAsValue;
- execCallee->setScopeChain(exec->scopeChain());
- execCallee->setReturnPC(bitwise_cast<Instruction*>(&llint_generic_return_point));
+ execCallee->setScope(exec->scope());
+ execCallee->setReturnPC(LLInt::getCodePtr(llint_generic_return_point));
execCallee->setCodeBlock(0);
exec->setCurrentVPC(pc + OPCODE_LENGTH(op_call_eval));
@@ -1476,7 +1447,7 @@ LLINT_SLOW_PATH_DECL(slow_path_call_eval)
return setUpCall(execCallee, pc, CodeForCall, calleeAsValue);
globalData.hostCallReturnValue = eval(execCallee);
- LLINT_CALL_RETURN(execCallee, pc, reinterpret_cast<void*>(getHostCallReturnValue));
+ LLINT_CALL_RETURN(execCallee, pc, LLInt::getCodePtr(getHostCallReturnValue));
}
LLINT_SLOW_PATH_DECL(slow_path_tear_off_activation)
@@ -1554,15 +1525,14 @@ LLINT_SLOW_PATH_DECL(slow_path_next_pname)
LLINT_END();
}
-LLINT_SLOW_PATH_DECL(slow_path_push_scope)
+LLINT_SLOW_PATH_DECL(slow_path_push_with_scope)
{
LLINT_BEGIN();
- JSValue v = LLINT_OP(1).jsValue();
+ JSValue v = LLINT_OP_C(1).jsValue();
JSObject* o = v.toObject(exec);
LLINT_CHECK_EXCEPTION();
- LLINT_OP(1) = o;
- exec->setScopeChain(exec->scopeChain()->push(o));
+ exec->setScope(JSWithScope::create(exec, o));
LLINT_END();
}
@@ -1570,17 +1540,17 @@ LLINT_SLOW_PATH_DECL(slow_path_push_scope)
LLINT_SLOW_PATH_DECL(slow_path_pop_scope)
{
LLINT_BEGIN();
- exec->setScopeChain(exec->scopeChain()->pop());
+ exec->setScope(exec->scope()->next());
LLINT_END();
}
-LLINT_SLOW_PATH_DECL(slow_path_push_new_scope)
+LLINT_SLOW_PATH_DECL(slow_path_push_name_scope)
{
LLINT_BEGIN();
CodeBlock* codeBlock = exec->codeBlock();
- JSObject* scope = JSStaticScopeObject::create(exec, codeBlock->identifier(pc[2].u.operand), LLINT_OP(3).jsValue(), DontDelete);
- exec->setScopeChain(exec->scopeChain()->push(scope));
- LLINT_RETURN(scope);
+ JSNameScope* scope = JSNameScope::create(exec, codeBlock->identifier(pc[1].u.operand), LLINT_OP(2).jsValue(), pc[3].u.operand);
+ exec->setScope(scope);
+ LLINT_END();
}
LLINT_SLOW_PATH_DECL(slow_path_throw)
diff --git a/Source/JavaScriptCore/llint/LLIntSlowPaths.h b/Source/JavaScriptCore/llint/LLIntSlowPaths.h
index 2e069d073..fe897d4a4 100644
--- a/Source/JavaScriptCore/llint/LLIntSlowPaths.h
+++ b/Source/JavaScriptCore/llint/LLIntSlowPaths.h
@@ -44,33 +44,50 @@ namespace LLInt {
// warnings, or worse, a change in the ABI used to return these types.
struct SlowPathReturnType {
void* a;
- void* b;
+ ExecState* b;
};
-inline SlowPathReturnType encodeResult(void* a, void* b)
+inline SlowPathReturnType encodeResult(void* a, ExecState* b)
{
SlowPathReturnType result;
result.a = a;
result.b = b;
return result;
}
-#else
+
+inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b)
+{
+ a = result.a;
+ b = result.b;
+}
+
+#else // USE(JSVALUE32_64)
typedef int64_t SlowPathReturnType;
-inline SlowPathReturnType encodeResult(void* a, void* b)
+typedef union {
+ struct {
+ void* a;
+ ExecState* b;
+ } pair;
+ int64_t i;
+} SlowPathReturnTypeEncoding;
+
+inline SlowPathReturnType encodeResult(void* a, ExecState* b)
{
- union {
- struct {
- void* a;
- void* b;
- } pair;
- int64_t i;
- } u;
+ SlowPathReturnTypeEncoding u;
u.pair.a = a;
u.pair.b = b;
return u.i;
}
-#endif
+
+inline void decodeResult(SlowPathReturnType result, void*& a, ExecState*& b)
+{
+ SlowPathReturnTypeEncoding u;
+ u.i = result;
+ a = u.pair.a;
+ b = u.pair.b;
+}
+#endif // USE(JSVALUE32_64)
extern "C" SlowPathReturnType llint_trace_operand(ExecState*, Instruction*, int fromWhere, int operand);
extern "C" SlowPathReturnType llint_trace_value(ExecState*, Instruction*, int fromWhere, int operand);
@@ -185,9 +202,9 @@ LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_strcat);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_to_primitive);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_get_pnames);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_next_pname);
-LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_push_scope);
+LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_push_with_scope);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_pop_scope);
-LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_push_new_scope);
+LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_push_name_scope);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_throw);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_throw_reference_error);
LLINT_SLOW_PATH_HIDDEN_DECL(slow_path_debug);
diff --git a/Source/JavaScriptCore/llint/LLIntThunks.cpp b/Source/JavaScriptCore/llint/LLIntThunks.cpp
index 6a6a579a3..ef19c766d 100644
--- a/Source/JavaScriptCore/llint/LLIntThunks.cpp
+++ b/Source/JavaScriptCore/llint/LLIntThunks.cpp
@@ -32,10 +32,12 @@
#include "JSObject.h"
#include "LinkBuffer.h"
#include "LowLevelInterpreter.h"
-#include "ScopeChain.h"
+
namespace JSC { namespace LLInt {
+#if !ENABLE(LLINT_C_LOOP)
+
static MacroAssemblerCodeRef generateThunkWithJumpTo(JSGlobalData* globalData, void (*target)(), const char *thunkKind)
{
JSInterfaceJIT jit;
@@ -78,6 +80,8 @@ MacroAssemblerCodeRef programEntryThunkGenerator(JSGlobalData* globalData)
return generateThunkWithJumpTo(globalData, llint_program_prologue, "program");
}
+#endif // !ENABLE(LLINT_C_LOOP)
+
} } // namespace JSC::LLInt
#endif // ENABLE(LLINT)
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
index 10a5aaeab..db4b71dfd 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
@@ -110,9 +110,13 @@ end
# Some common utilities.
macro crash()
- storei t0, 0xbbadbeef[]
- move 0, t0
- call t0
+ if C_LOOP
+ cloopCrash
+ else
+ storei t0, 0xbbadbeef[]
+ move 0, t0
+ call t0
+ end
end
macro assert(assertion)
@@ -124,7 +128,10 @@ macro assert(assertion)
end
macro preserveReturnAddressAfterCall(destinationRegister)
- if ARMv7
+ if C_LOOP
+ # In our case, we're only preserving the bytecode vPC.
+ move lr, destinationRegister
+ elsif ARMv7
move lr, destinationRegister
elsif X86 or X86_64
pop destinationRegister
@@ -134,7 +141,10 @@ macro preserveReturnAddressAfterCall(destinationRegister)
end
macro restoreReturnAddressBeforeReturn(sourceRegister)
- if ARMv7
+ if C_LOOP
+ # In our case, we're only restoring the bytecode vPC.
+ move sourceRegister, lr
+ elsif ARMv7
move sourceRegister, lr
elsif X86 or X86_64
push sourceRegister
@@ -149,13 +159,26 @@ macro traceExecution()
end
end
+macro callTargetFunction(callLinkInfo)
+ if C_LOOP
+ cloopCallJSFunction LLIntCallLinkInfo::machineCodeTarget[callLinkInfo]
+ else
+ call LLIntCallLinkInfo::machineCodeTarget[callLinkInfo]
+ dispatchAfterCall()
+ end
+end
+
macro slowPathForCall(advance, slowPath)
callCallSlowPath(
advance,
slowPath,
macro (callee)
- call callee
- dispatchAfterCall()
+ if C_LOOP
+ cloopCallJSFunction callee
+ else
+ call callee
+ dispatchAfterCall()
+ end
end)
end
@@ -532,7 +555,12 @@ _llint_op_jmp_scopes:
_llint_op_loop_if_true:
- nop
+ traceExecution()
+ jumpTrueOrFalse(
+ macro (value, target) btinz value, target end,
+ _llint_slow_path_jtrue)
+
+
_llint_op_jtrue:
traceExecution()
jumpTrueOrFalse(
@@ -541,7 +569,12 @@ _llint_op_jtrue:
_llint_op_loop_if_false:
- nop
+ traceExecution()
+ jumpTrueOrFalse(
+ macro (value, target) btiz value, target end,
+ _llint_slow_path_jfalse)
+
+
_llint_op_jfalse:
traceExecution()
jumpTrueOrFalse(
@@ -550,7 +583,13 @@ _llint_op_jfalse:
_llint_op_loop_if_less:
- nop
+ traceExecution()
+ compare(
+ macro (left, right, target) bilt left, right, target end,
+ macro (left, right, target) bdlt left, right, target end,
+ _llint_slow_path_jless)
+
+
_llint_op_jless:
traceExecution()
compare(
@@ -568,7 +607,13 @@ _llint_op_jnless:
_llint_op_loop_if_greater:
- nop
+ traceExecution()
+ compare(
+ macro (left, right, target) bigt left, right, target end,
+ macro (left, right, target) bdgt left, right, target end,
+ _llint_slow_path_jgreater)
+
+
_llint_op_jgreater:
traceExecution()
compare(
@@ -586,7 +631,13 @@ _llint_op_jngreater:
_llint_op_loop_if_lesseq:
- nop
+ traceExecution()
+ compare(
+ macro (left, right, target) bilteq left, right, target end,
+ macro (left, right, target) bdlteq left, right, target end,
+ _llint_slow_path_jlesseq)
+
+
_llint_op_jlesseq:
traceExecution()
compare(
@@ -604,7 +655,13 @@ _llint_op_jnlesseq:
_llint_op_loop_if_greatereq:
- nop
+ traceExecution()
+ compare(
+ macro (left, right, target) bigteq left, right, target end,
+ macro (left, right, target) bdgteq left, right, target end,
+ _llint_slow_path_jgreatereq)
+
+
_llint_op_jgreatereq:
traceExecution()
compare(
@@ -641,6 +698,7 @@ _llint_op_new_func_exp:
_llint_op_call:
traceExecution()
+ arrayProfileForCall()
doCall(_llint_slow_path_call)
@@ -715,9 +773,9 @@ _llint_op_get_pnames:
dispatch(0) # The slow_path either advances the PC or jumps us to somewhere else.
-_llint_op_push_scope:
+_llint_op_push_with_scope:
traceExecution()
- callSlowPath(_llint_slow_path_push_scope)
+ callSlowPath(_llint_slow_path_push_with_scope)
dispatch(2)
@@ -727,9 +785,9 @@ _llint_op_pop_scope:
dispatch(1)
-_llint_op_push_new_scope:
+_llint_op_push_name_scope:
traceExecution()
- callSlowPath(_llint_slow_path_push_new_scope)
+ callSlowPath(_llint_slow_path_push_name_scope)
dispatch(4)
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
index b95a50082..ebfdadfdb 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp
@@ -31,8 +31,439 @@
#include "LLIntOfflineAsmConfig.h"
#include <wtf/InlineASM.h>
+#if ENABLE(LLINT_C_LOOP)
+#include "CodeBlock.h"
+#include "LLIntCLoop.h"
+#include "LLIntSlowPaths.h"
+#include "VMInspector.h"
+#include <wtf/Assertions.h>
+#include <wtf/MathExtras.h>
+
+using namespace JSC::LLInt;
+
+// LLInt C Loop opcodes
+// ====================
+// In the implementation of the C loop, the LLint trampoline glue functions
+// (e.g. llint_program_prologue, llint_eval_prologue, etc) are addressed as
+// if they are bytecode handlers. That means the names of the trampoline
+// functions will be added to the OpcodeID list via the
+// FOR_EACH_LLINT_OPCODE_EXTENSION() macro that FOR_EACH_OPCODE_ID()
+// includes.
+//
+// In addition, some JIT trampoline functions which are needed by LLInt
+// (e.g. getHostCallReturnValue, ctiOpThrowNotCaught) are also added as
+// bytecodes, and the CLoop will provide bytecode handlers for them.
+//
+// In the CLoop, we can only dispatch indirectly to these bytecodes
+// (including the LLInt and JIT extensions). All other dispatches
+// (i.e. goto's) must be to a known label (i.e. local / global labels).
+
+
+// How are the opcodes named?
+// ==========================
+// Here is a table to show examples of how each of the manifestation of the
+// opcodes are named:
+//
+// Type: Opcode Trampoline Glue
+// ====== ===============
+// [In the llint .asm files]
+// llint labels: llint_op_enter llint_program_prologue
+//
+// OpcodeID: op_enter llint_program
+// [in Opcode.h] [in LLIntOpcode.h]
+//
+// When using a switch statement dispatch in the CLoop, each "opcode" is
+// a case statement:
+// Opcode: case op_enter: case llint_program_prologue:
+//
+// When using a computed goto dispatch in the CLoop, each opcode is a label:
+// Opcode: op_enter: llint_program_prologue:
+
+
+//============================================================================
+// Define the opcode dispatch mechanism when using the C loop:
+//
+
+// These are for building a C Loop interpreter:
+#define OFFLINE_ASM_BEGIN
+#define OFFLINE_ASM_END
+
+
+#define OFFLINE_ASM_OPCODE_LABEL(opcode) DEFINE_OPCODE(opcode)
+#if ENABLE(COMPUTED_GOTO_OPCODES)
+ #define OFFLINE_ASM_GLUE_LABEL(label) label:
+#else
+ #define OFFLINE_ASM_GLUE_LABEL(label) case label: label:
+#endif
+
+#define OFFLINE_ASM_LOCAL_LABEL(label) label:
+
+
+//============================================================================
+// Some utilities:
+//
+
+namespace JSC {
+namespace LLInt {
+
+#if USE(JSVALUE32_64)
+static double Ints2Double(uint32_t lo, uint32_t hi)
+{
+ union {
+ double dval;
+ uint64_t ival64;
+ } u;
+ u.ival64 = (static_cast<uint64_t>(hi) << 32) | lo;
+ return u.dval;
+}
+#endif // USE(JSVALUE32_64)
+
+} // namespace LLint
+
+
+//============================================================================
+// The llint C++ interpreter loop:
+//
+
+JSValue CLoop::execute(CallFrame* callFrame, OpcodeID bootstrapOpcodeId,
+ bool isInitializationPass)
+{
+ #define CAST reinterpret_cast
+ #define SIGN_BIT32(x) ((x) & 0x80000000)
+
+ // One-time initialization of our address tables. We have to put this code
+ // here because our labels are only in scope inside this function. The
+ // caller (or one of its ancestors) is responsible for ensuring that this
+ // is only called once during the initialization of the VM before threads
+ // are at play.
+ if (UNLIKELY(isInitializationPass)) {
+#if ENABLE(COMPUTED_GOTO_OPCODES)
+ Opcode* opcodeMap = LLInt::opcodeMap();
+ #define OPCODE_ENTRY(__opcode, length) \
+ opcodeMap[__opcode] = bitwise_cast<void*>(&&__opcode);
+ FOR_EACH_OPCODE_ID(OPCODE_ENTRY)
+ #undef OPCODE_ENTRY
+
+ #define LLINT_OPCODE_ENTRY(__opcode, length) \
+ opcodeMap[__opcode] = bitwise_cast<void*>(&&__opcode);
+
+ FOR_EACH_LLINT_NATIVE_HELPER(LLINT_OPCODE_ENTRY)
+ #undef LLINT_OPCODE_ENTRY
+#endif
+ // Note: we can only set the exceptionInstructions after we have
+ // initialized the opcodeMap above. This is because getCodePtr()
+ // can depend on the opcodeMap.
+ Instruction* exceptionInstructions = LLInt::exceptionInstructions();
+ for (int i = 0; i < maxOpcodeLength + 1; ++i)
+ exceptionInstructions[i].u.pointer =
+ LLInt::getCodePtr(llint_throw_from_slow_path_trampoline);
+
+ return JSValue();
+ }
+
+ ASSERT(callFrame->globalData().topCallFrame == callFrame);
+
+ // Define the pseudo registers used by the LLINT C Loop backend:
+ union CLoopRegister {
+ intptr_t i;
+ uintptr_t u;
+ int32_t i32;
+ uint32_t u32;
+ int8_t i8;
+ uint8_t u8;
+ int8_t* i8p;
+ void* vp;
+ ExecState* execState;
+ void* instruction;
+ NativeFunction nativeFunc;
+#if USE(JSVALUE64)
+ int64_t i64;
+ EncodedJSValue encodedJSValue;
+ double castToDouble;
+#endif
+ Opcode opcode;
+ };
+ union CLoopDoubleRegister {
+ double d;
+#if USE(JSVALUE64)
+ void* castToVoidPtr;
+#endif
+ };
+
+ // The CLoop llint backend is initially based on the ARMv7 backend, and
+ // then further enhanced with a few instructions from the x86 backend to
+ // support building for X64 targets. Hence, the shape of the generated
+ // code and the usage convention of registers will look a lot like the
+ // ARMv7 backend's.
+ //
+ // For example, on a 32-bit build:
+ // 1. Outgoing args will be set up as follows:
+ // arg1 in t0 (r0 on ARM)
+ // arg2 in t1 (r1 on ARM)
+ // 2. 32 bit return values will be in t0 (r0 on ARM).
+ // 3. 64 bit return values (e.g. doubles) will be in t0,t1 (r0,r1 on ARM).
+ //
+ // But instead of naming these simulator registers based on their ARM
+ // counterparts, we'll name them based on their original llint asm names.
+ // This will make it easier to correlate the generated code with the
+ // original llint asm code.
+ //
+ // On a 64-bit build, it more like x64 in that the registers are 64 bit.
+ // Hence:
+ // 1. Outgoing args are still the same: arg1 in t0, arg2 in t1, etc.
+ // 2. 32 bit result values will be in the low 32-bit of t0.
+ // 3. 64 bit result values will be in t0.
+
+ CLoopRegister t0, t1, t2, t3;
+#if USE(JSVALUE64)
+ CLoopRegister rBasePC, tagTypeNumber, tagMask;
+#endif
+ CLoopRegister rRetVPC;
+ CLoopDoubleRegister d0, d1;
+
+#if COMPILER(MSVC)
+ // Keep the compiler happy. We don't really need this, but the compiler
+ // will complain. This makes the warning go away.
+ t0.i = 0;
+ t1.i = 0;
+#endif
+
+ // Instantiate the pseudo JIT stack frame used by the LLINT C Loop backend:
+ JITStackFrame jitStackFrame;
+
+ // The llint expects the native stack pointer, sp, to be pointing to the
+ // jitStackFrame (which is the simulation of the native stack frame):
+ JITStackFrame* const sp = &jitStackFrame;
+ sp->globalData = &callFrame->globalData();
+
+ // Set up an alias for the globalData ptr in the JITStackFrame:
+ JSGlobalData* &globalData = sp->globalData;
+
+ CodeBlock* codeBlock = callFrame->codeBlock();
+ Instruction* vPC;
+
+ // rPC is an alias for vPC. Set up the alias:
+ CLoopRegister& rPC = *CAST<CLoopRegister*>(&vPC);
+
+#if USE(JSVALUE32_64)
+ vPC = codeBlock->instructions().begin();
+#else // USE(JSVALUE64)
+ vPC = 0;
+ rBasePC.vp = codeBlock->instructions().begin();
+
+ // For the ASM llint, JITStubs takes care of this initialization. We do
+ // it explicitly here for the C loop:
+ tagTypeNumber.i = 0xFFFF000000000000;
+ tagMask.i = 0xFFFF000000000002;
+#endif // USE(JSVALUE64)
+
+ // cfr is an alias for callFrame. Set up this alias:
+ CLoopRegister& cfr = *CAST<CLoopRegister*>(&callFrame);
+
+ // Simulate a native return PC which should never be used:
+ rRetVPC.i = 0xbbadbeef;
+
+ // Interpreter variables for value passing between opcodes and/or helpers:
+ NativeFunction nativeFunc = 0;
+ JSValue functionReturnValue;
+ Opcode opcode;
+
+ opcode = LLInt::getOpcode(bootstrapOpcodeId);
+
+ #if ENABLE(OPCODE_STATS)
+ #define RECORD_OPCODE_STATS(__opcode) \
+ OpcodeStats::recordInstruction(__opcode)
+ #else
+ #define RECORD_OPCODE_STATS(__opcode)
+ #endif
+
+ #if USE(JSVALUE32_64)
+ #define FETCH_OPCODE() vPC->u.opcode
+ #else // USE(JSVALUE64)
+ #define FETCH_OPCODE() *bitwise_cast<Opcode*>(rBasePC.i8p + rPC.i * 8)
+ #endif // USE(JSVALUE64)
+
+ #define NEXT_INSTRUCTION() \
+ do { \
+ opcode = FETCH_OPCODE(); \
+ DISPATCH_OPCODE(); \
+ } while (false)
+
+#if ENABLE(COMPUTED_GOTO_OPCODES)
+
+ //========================================================================
+ // Loop dispatch mechanism using computed goto statements:
+
+ #define DISPATCH_OPCODE() goto *opcode
+
+ #define DEFINE_OPCODE(__opcode) \
+ __opcode: \
+ RECORD_OPCODE_STATS(__opcode);
+
+ // Dispatch to the current PC's bytecode:
+ DISPATCH_OPCODE();
+
+#else // !ENABLE(COMPUTED_GOTO_OPCODES)
+ //========================================================================
+ // Loop dispatch mechanism using a C switch statement:
+
+ #define DISPATCH_OPCODE() goto dispatchOpcode
+
+ #define DEFINE_OPCODE(__opcode) \
+ case __opcode: \
+ RECORD_OPCODE_STATS(__opcode);
+
+ // Dispatch to the current PC's bytecode:
+ dispatchOpcode:
+ switch (opcode)
+
+#endif // !ENABLE(COMPUTED_GOTO_OPCODES)
+
+ //========================================================================
+ // Bytecode handlers:
+ {
+ // This is the file generated by offlineasm, which contains all of the
+ // bytecode handlers for the interpreter, as compiled from
+ // LowLevelInterpreter.asm and its peers.
+
+ #include "LLIntAssembly.h"
+
+ // In the ASM llint, getHostCallReturnValue() is a piece of glue
+ // function provided by the JIT (see dfg/DFGOperations.cpp).
+ // We simulate it here with a pseduo-opcode handler.
+ OFFLINE_ASM_GLUE_LABEL(getHostCallReturnValue)
+ {
+ // The ASM part pops the frame:
+ callFrame = callFrame->callerFrame();
+
+ // The part in getHostCallReturnValueWithExecState():
+ JSValue result = globalData->hostCallReturnValue;
+#if USE(JSVALUE32_64)
+ t1.i = result.tag();
+ t0.i = result.payload();
+#else
+ t0.encodedJSValue = JSValue::encode(result);
+#endif
+ goto doReturnHelper;
+ }
+
+ OFFLINE_ASM_GLUE_LABEL(ctiOpThrowNotCaught)
+ {
+ return globalData->exception;
+ }
+
+#if !ENABLE(COMPUTED_GOTO_OPCODES)
+ default:
+ ASSERT(false);
+#endif
+
+ } // END bytecode handler cases.
+
+ //========================================================================
+ // Bytecode helpers:
+
+ doReturnHelper: {
+ ASSERT(!!callFrame);
+ if (callFrame->hasHostCallFrameFlag()) {
+#if USE(JSVALUE32_64)
+ return JSValue(t1.i, t0.i); // returning JSValue(tag, payload);
+#else
+ return JSValue::decode(t0.encodedJSValue);
+#endif
+ }
+
+ // The normal ASM llint call implementation returns to the caller as
+ // recorded in rRetVPC, and the caller would fetch the return address
+ // from ArgumentCount.tag() (see the dispatchAfterCall() macro used in
+ // the callTargetFunction() macro in the llint asm files).
+ //
+ // For the C loop, we don't have the JIT stub to this work for us.
+ // So, we need to implement the equivalent of dispatchAfterCall() here
+ // before dispatching to the PC.
+
+ vPC = callFrame->currentVPC();
+
+#if USE(JSVALUE64)
+ // Based on LowLevelInterpreter64.asm's dispatchAfterCall():
+
+ // When returning from a native trampoline call, unlike the assembly
+ // LLInt, we can't simply return to the caller. In our case, we grab
+ // the caller's VPC and resume execution there. However, the caller's
+ // VPC returned by callFrame->currentVPC() is in the form of the real
+ // address of the target bytecode, but the 64-bit llint expects the
+ // VPC to be a bytecode offset. Hence, we need to map it back to a
+ // bytecode offset before we dispatch via the usual dispatch mechanism
+ // i.e. NEXT_INSTRUCTION():
+
+ codeBlock = callFrame->codeBlock();
+ ASSERT(codeBlock);
+ rPC.vp = callFrame->currentVPC();
+ rPC.i = rPC.i8p - reinterpret_cast<int8_t*>(codeBlock->instructions().begin());
+ rPC.i >>= 3;
+
+ rBasePC.vp = codeBlock->instructions().begin();
+#endif // USE(JSVALUE64)
+
+ NEXT_INSTRUCTION();
+
+ } // END doReturnHelper.
+
+
+ // Keep the compiler happy so that it doesn't complain about unused
+ // labels for the LLInt trampoline glue. The labels are automatically
+ // emitted by label macros above, and some of them are referenced by
+ // the llint generated code. Since we can't tell ahead of time which
+ // will be referenced and which will be not, we'll just passify the
+ // compiler on all such labels:
+ #define LLINT_OPCODE_ENTRY(__opcode, length) \
+ UNUSED_LABEL(__opcode);
+ FOR_EACH_LLINT_NATIVE_HELPER(LLINT_OPCODE_ENTRY)
+ #undef LLINT_OPCODE_ENTRY
+
+
+ #undef NEXT_INSTRUCTION
+ #undef DEFINE_OPCODE
+ #undef CHECK_FOR_TIMEOUT
+ #undef CAST
+ #undef SIGN_BIT32
+
+} // Interpreter::llintCLoopExecute()
+
+} // namespace JSC
+
+#else // !ENABLE(LLINT_C_LOOP)
+
+//============================================================================
+// Define the opcode dispatch mechanism when using an ASM loop:
+//
+
+// These are for building an interpreter from generated assembly code:
+#define OFFLINE_ASM_BEGIN asm (
+#define OFFLINE_ASM_END );
+
+#define OFFLINE_ASM_OPCODE_LABEL(__opcode) OFFLINE_ASM_GLOBAL_LABEL(llint_##__opcode)
+#define OFFLINE_ASM_GLUE_LABEL(__opcode) OFFLINE_ASM_GLOBAL_LABEL(__opcode)
+
+#if CPU(ARM_THUMB2)
+#define OFFLINE_ASM_GLOBAL_LABEL(label) \
+ ".globl " SYMBOL_STRING(label) "\n" \
+ HIDE_SYMBOL(label) "\n" \
+ ".thumb\n" \
+ ".thumb_func " THUMB_FUNC_PARAM(label) "\n" \
+ SYMBOL_STRING(label) ":\n"
+#else
+#define OFFLINE_ASM_GLOBAL_LABEL(label) \
+ ".globl " SYMBOL_STRING(label) "\n" \
+ HIDE_SYMBOL(label) "\n" \
+ SYMBOL_STRING(label) ":\n"
+#endif
+
+#define OFFLINE_ASM_LOCAL_LABEL(label) LOCAL_LABEL_STRING(label) ":\n"
+
// This is a file generated by offlineasm, which contains all of the assembly code
// for the interpreter, as compiled from LowLevelInterpreter.asm.
#include "LLIntAssembly.h"
+#endif // !ENABLE(LLINT_C_LOOP)
+
#endif // ENABLE(LLINT)
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.h b/Source/JavaScriptCore/llint/LowLevelInterpreter.h
index 6383757cf..76c950a8c 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.h
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.h
@@ -32,25 +32,57 @@
#include "Opcode.h"
+#if ENABLE(LLINT_C_LOOP)
+
+namespace JSC {
+
+// The following is a minimal set of alias for the opcode names. This is needed
+// because there is code (e.g. in GetByIdStatus.cpp and PutByIdStatus.cpp)
+// which refers to the opcodes expecting them to be prefixed with "llint_".
+// In the CLoop implementation, the 2 are equivalent. Hence, we set up this
+// alias here.
+//
+// Note: we don't just do this for all opcodes because we only need a few,
+// and currently, FOR_EACH_OPCODE_ID() includes the llint and JIT opcode
+// extensions which we definitely don't want to add an alias for. With some
+// minor refactoring, we can use FOR_EACH_OPCODE_ID() to automatically
+// generate a llint_ alias for all opcodes, but that is not needed at this
+// time.
+
+const OpcodeID llint_op_call = op_call;
+const OpcodeID llint_op_call_eval = op_call_eval;
+const OpcodeID llint_op_call_varargs = op_call_varargs;
+const OpcodeID llint_op_construct = op_construct;
+const OpcodeID llint_op_catch = op_catch;
+const OpcodeID llint_op_get_by_id = op_get_by_id;
+const OpcodeID llint_op_get_by_id_out_of_line = op_get_by_id_out_of_line;
+const OpcodeID llint_op_put_by_id = op_put_by_id;
+const OpcodeID llint_op_put_by_id_out_of_line = op_put_by_id_out_of_line;
+
+const OpcodeID llint_op_put_by_id_transition_direct =
+ op_put_by_id_transition_direct;
+const OpcodeID llint_op_put_by_id_transition_direct_out_of_line =
+ op_put_by_id_transition_direct_out_of_line;
+const OpcodeID llint_op_put_by_id_transition_normal =
+ op_put_by_id_transition_normal;
+const OpcodeID llint_op_put_by_id_transition_normal_out_of_line =
+ op_put_by_id_transition_normal_out_of_line;
+
+const OpcodeID llint_op_method_check = op_method_check;
+
+} // namespace JSC
+
+#else // !ENABLE(LLINT_C_LOOP)
+
#define LLINT_INSTRUCTION_DECL(opcode, length) extern "C" void llint_##opcode();
FOR_EACH_OPCODE_ID(LLINT_INSTRUCTION_DECL);
#undef LLINT_INSTRUCTION_DECL
-extern "C" void llint_begin();
-extern "C" void llint_end();
-extern "C" void llint_program_prologue();
-extern "C" void llint_eval_prologue();
-extern "C" void llint_function_for_call_prologue();
-extern "C" void llint_function_for_construct_prologue();
-extern "C" void llint_function_for_call_arity_check();
-extern "C" void llint_function_for_construct_arity_check();
-extern "C" void llint_generic_return_point();
-extern "C" void llint_throw_from_slow_path_trampoline();
-extern "C" void llint_throw_during_call_trampoline();
-
-// Native call trampolines
-extern "C" void llint_native_call_trampoline();
-extern "C" void llint_native_construct_trampoline();
+#define DECLARE_LLINT_NATIVE_HELPER(name, length) extern "C" void name();
+ FOR_EACH_LLINT_NATIVE_HELPER(DECLARE_LLINT_NATIVE_HELPER)
+#undef DECLARE_LLINT_NATIVE_HELPER
+
+#endif // !ENABLE(LLINT_C_LOOP)
#endif // ENABLE(LLINT)
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
index c0f136889..b011c5425 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm
@@ -108,13 +108,16 @@ macro cCall2(function, arg1, arg2)
if ARMv7
move arg1, t0
move arg2, t1
+ call function
elsif X86
poke arg1, 0
poke arg2, 1
+ call function
+ elsif C_LOOP
+ cloopCallSlowPath function, arg1, arg2
else
error
end
- call function
end
# This barely works. arg3 and arg4 should probably be immediates.
@@ -124,15 +127,18 @@ macro cCall4(function, arg1, arg2, arg3, arg4)
move arg2, t1
move arg3, t2
move arg4, t3
+ call function
elsif X86
poke arg1, 0
poke arg2, 1
poke arg3, 2
poke arg4, 3
+ call function
+ elsif C_LOOP
+ error
else
error
end
- call function
end
macro callSlowPath(slowPath)
@@ -1006,14 +1012,14 @@ macro getScope(deBruijinIndexOperand, scopeCheck)
# Need to conditionally skip over one scope.
bieq TagOffset[cfr, t1, 8], EmptyValueTag, .noActivation
scopeCheck(t0, t1)
- loadp ScopeChainNode::next[t0], t0
+ loadp JSScope::m_next[t0], t0
.noActivation:
subi 1, t2
btiz t2, .done
.loop:
scopeCheck(t0, t1)
- loadp ScopeChainNode::next[t0], t0
+ loadp JSScope::m_next[t0], t0
subi 1, t2
btinz t2, .loop
@@ -1022,13 +1028,13 @@ end
_llint_op_resolve_global_dynamic:
traceExecution()
- loadp JITStackFrame::globalData[sp], t3
- loadp JSGlobalData::activationStructure[t3], t3
+ loadp CodeBlock[cfr], t3
+ loadp CodeBlock::m_globalObject[t3], t3
+ loadp JSGlobalObject::m_activationStructure[t3], t3
getScope(
20[PC],
macro (scope, scratch)
- loadp ScopeChainNode::object[scope], scratch
- bpneq JSCell::m_structure[scratch], t3, .opResolveGlobalDynamicSuperSlow
+ bpneq JSCell::m_structure[scope], t3, .opResolveGlobalDynamicSuperSlow
end)
resolveGlobal(7, .opResolveGlobalDynamicSlow)
dispatch(7)
@@ -1051,7 +1057,6 @@ _llint_op_get_scoped_var:
getScope(12[PC], macro (scope, scratch) end)
loadi 4[PC], t1
loadi 8[PC], t2
- loadp ScopeChainNode::object[t0], t0
loadp JSVariableObject::m_registers[t0], t0
loadi TagOffset[t0, t2, 8], t3
loadi PayloadOffset[t0, t2, 8], t0
@@ -1069,7 +1074,6 @@ _llint_op_put_scoped_var:
loadConstantOrVariable(t1, t3, t2)
loadi 4[PC], t1
writeBarrier(t3, t2)
- loadp ScopeChainNode::object[t0], t0
loadp JSVariableObject::m_registers[t0], t0
storei t3, TagOffset[t0, t1, 8]
storei t2, PayloadOffset[t0, t1, 8]
@@ -1397,7 +1401,10 @@ _llint_op_put_by_val:
_llint_op_loop:
- nop
+ traceExecution()
+ dispatchBranch(4[PC])
+
+
_llint_op_jmp:
traceExecution()
dispatchBranch(4[PC])
@@ -1590,6 +1597,18 @@ _llint_op_new_func:
dispatch(4)
+macro arrayProfileForCall()
+ if VALUE_PROFILER
+ loadi 12[PC], t3
+ bineq ThisArgumentOffset + TagOffset[cfr, t3, 8], CellTag, .done
+ loadi ThisArgumentOffset + PayloadOffset[cfr, t3, 8], t0
+ loadp JSCell::m_structure[t0], t0
+ loadp 20[PC], t1
+ storep t0, ArrayProfile::m_lastSeenStructure[t1]
+ .done:
+ end
+end
+
macro doCall(slowPath)
loadi 4[PC], t0
loadi 16[PC], t1
@@ -1600,7 +1619,7 @@ macro doCall(slowPath)
addp 24, PC
lshifti 3, t3
addp cfr, t3 # t3 contains the new value of cfr
- loadp JSFunction::m_scopeChain[t2], t0
+ loadp JSFunction::m_scope[t2], t0
storei t2, Callee + PayloadOffset[t3]
storei t0, ScopeChain + PayloadOffset[t3]
loadi 8 - 24[PC], t2
@@ -1610,8 +1629,7 @@ macro doCall(slowPath)
storei CellTag, Callee + TagOffset[t3]
storei CellTag, ScopeChain + TagOffset[t3]
move t3, cfr
- call LLIntCallLinkInfo::machineCodeTarget[t1]
- dispatchAfterCall()
+ callTargetFunction(t1)
.opCallSlow:
slowPathForCall(6, slowPath)
@@ -1811,6 +1829,19 @@ macro nativeCallTrampoline(executableOffsetToFunction)
call executableOffsetToFunction[t1]
restoreReturnAddressBeforeReturn(t3)
loadp JITStackFrame::globalData[sp], t3
+ elsif C_LOOP
+ loadp JITStackFrame::globalData[sp], t3
+ storep cfr, JSGlobalData::topCallFrame[t3]
+ move t0, t2
+ preserveReturnAddressAfterCall(t3)
+ storep t3, ReturnPC[cfr]
+ move cfr, t0
+ loadi Callee + PayloadOffset[cfr], t1
+ loadp JSFunction::m_executable[t1], t1
+ move t2, cfr
+ cloopCallNative executableOffsetToFunction[t1]
+ restoreReturnAddressBeforeReturn(t3)
+ loadp JITStackFrame::globalData[sp], t3
else
error
end
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
index 73e8613de..d429542e7 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
@@ -51,18 +51,30 @@ macro dispatchAfterCall()
end
macro cCall2(function, arg1, arg2)
- move arg1, t5
- move arg2, t4
- call function
+ if X86_64
+ move arg1, t5
+ move arg2, t4
+ call function
+ elsif C_LOOP
+ cloopCallSlowPath function, arg1, arg2
+ else
+ error
+ end
end
# This barely works. arg3 and arg4 should probably be immediates.
macro cCall4(function, arg1, arg2, arg3, arg4)
- move arg1, t5
- move arg2, t4
- move arg3, t1
- move arg4, t2
- call function
+ if X86_64
+ move arg1, t5
+ move arg2, t4
+ move arg3, t1
+ move arg4, t2
+ call function
+ elsif C_LOOP
+ error
+ else
+ error
+ end
end
macro prepareStateForCCall()
@@ -857,14 +869,14 @@ macro getScope(deBruijinIndexOperand, scopeCheck)
# Need to conditionally skip over one scope.
btpz [cfr, t1, 8], .noActivation
scopeCheck(t0, t1)
- loadp ScopeChainNode::next[t0], t0
+ loadp JSScope::m_next[t0], t0
.noActivation:
subi 1, t2
btiz t2, .done
.loop:
scopeCheck(t0, t1)
- loadp ScopeChainNode::next[t0], t0
+ loadp JSScope::m_next[t0], t0
subi 1, t2
btinz t2, .loop
@@ -873,13 +885,13 @@ end
_llint_op_resolve_global_dynamic:
traceExecution()
- loadp JITStackFrame::globalData[sp], t3
- loadp JSGlobalData::activationStructure[t3], t3
+ loadp CodeBlock[cfr], t3
+ loadp CodeBlock::m_globalObject[t3], t3
+ loadp JSGlobalObject::m_activationStructure[t3], t3
getScope(
40[PB, PC, 8],
macro (scope, scratch)
- loadp ScopeChainNode::object[scope], scratch
- bpneq JSCell::m_structure[scratch], t3, .opResolveGlobalDynamicSuperSlow
+ bpneq JSCell::m_structure[scope], t3, .opResolveGlobalDynamicSuperSlow
end)
resolveGlobal(7, .opResolveGlobalDynamicSlow)
dispatch(7)
@@ -902,7 +914,6 @@ _llint_op_get_scoped_var:
getScope(24[PB, PC, 8], macro (scope, scratch) end)
loadis 8[PB, PC, 8], t1
loadis 16[PB, PC, 8], t2
- loadp ScopeChainNode::object[t0], t0
loadp JSVariableObject::m_registers[t0], t0
loadp [t0, t2, 8], t3
storep t3, [cfr, t1, 8]
@@ -918,7 +929,6 @@ _llint_op_put_scoped_var:
loadConstantOrVariable(t1, t3)
loadis 8[PB, PC, 8], t1
writeBarrier(t3)
- loadp ScopeChainNode::object[t0], t0
loadp JSVariableObject::m_registers[t0], t0
storep t3, [t0, t1, 8]
dispatch(4)
@@ -1234,7 +1244,10 @@ _llint_op_put_by_val:
_llint_op_loop:
- nop
+ traceExecution()
+ dispatchInt(8[PB, PC, 8])
+
+
_llint_op_jmp:
traceExecution()
dispatchInt(8[PB, PC, 8])
@@ -1430,6 +1443,18 @@ _llint_op_new_func:
dispatch(4)
+macro arrayProfileForCall()
+ if VALUE_PROFILER
+ loadis 24[PB, PC, 8], t3
+ loadp ThisArgumentOffset[cfr, t3, 8], t0
+ btpnz t0, tagMask, .done
+ loadp JSCell::m_structure[t0], t0
+ loadp 40[PB, PC, 8], t1
+ storep t0, ArrayProfile::m_lastSeenStructure[t1]
+ .done:
+ end
+end
+
macro doCall(slowPath)
loadis 8[PB, PC, 8], t0
loadp 32[PB, PC, 8], t1
@@ -1440,7 +1465,7 @@ macro doCall(slowPath)
addi 6, PC
lshifti 3, t3
addp cfr, t3
- loadp JSFunction::m_scopeChain[t2], t0
+ loadp JSFunction::m_scope[t2], t0
storep t2, Callee[t3]
storep t0, ScopeChain[t3]
loadis 16 - 48[PB, PC, 8], t2
@@ -1448,8 +1473,7 @@ macro doCall(slowPath)
storep cfr, CallerFrame[t3]
storei t2, ArgumentCount + PayloadOffset[t3]
move t3, cfr
- call LLIntCallLinkInfo::machineCodeTarget[t1]
- dispatchAfterCall()
+ callTargetFunction(t1)
.opCallSlow:
slowPathForCall(6, slowPath)
@@ -1620,21 +1644,46 @@ _llint_throw_during_call_trampoline:
macro nativeCallTrampoline(executableOffsetToFunction)
storep 0, CodeBlock[cfr]
- loadp JITStackFrame::globalData + 8[sp], t0
- storep cfr, JSGlobalData::topCallFrame[t0]
- loadp CallerFrame[cfr], t0
- loadp ScopeChain[t0], t1
- storep t1, ScopeChain[cfr]
- peek 0, t1
- storep t1, ReturnPC[cfr]
- move cfr, t5 # t5 = rdi
- subp 16 - 8, sp
- loadp Callee[cfr], t4 # t4 = rsi
- loadp JSFunction::m_executable[t4], t1
- move t0, cfr # Restore cfr to avoid loading from stack
- call executableOffsetToFunction[t1]
- addp 16 - 8, sp
- loadp JITStackFrame::globalData + 8[sp], t3
+ if X86_64
+ loadp JITStackFrame::globalData + 8[sp], t0
+ storep cfr, JSGlobalData::topCallFrame[t0]
+ loadp CallerFrame[cfr], t0
+ loadp ScopeChain[t0], t1
+ storep t1, ScopeChain[cfr]
+ peek 0, t1
+ storep t1, ReturnPC[cfr]
+ move cfr, t5 # t5 = rdi
+ subp 16 - 8, sp
+ loadp Callee[cfr], t4 # t4 = rsi
+ loadp JSFunction::m_executable[t4], t1
+ move t0, cfr # Restore cfr to avoid loading from stack
+ call executableOffsetToFunction[t1]
+ addp 16 - 8, sp
+ loadp JITStackFrame::globalData + 8[sp], t3
+
+ elsif C_LOOP
+ loadp CallerFrame[cfr], t0
+ loadp ScopeChain[t0], t1
+ storep t1, ScopeChain[cfr]
+
+ loadp JITStackFrame::globalData[sp], t3
+ storep cfr, JSGlobalData::topCallFrame[t3]
+
+ move t0, t2
+ preserveReturnAddressAfterCall(t3)
+ storep t3, ReturnPC[cfr]
+ move cfr, t0
+ loadp Callee[cfr], t1
+ loadp JSFunction::m_executable[t1], t1
+ move t2, cfr
+ cloopCallNative executableOffsetToFunction[t1]
+
+ restoreReturnAddressBeforeReturn(t3)
+ loadp JITStackFrame::globalData[sp], t3
+ else
+ error
+ end
+
btpnz JSGlobalData::exception[t3], .exception
ret
.exception:
diff --git a/Source/JavaScriptCore/offlineasm/asm.rb b/Source/JavaScriptCore/offlineasm/asm.rb
index 1603f4af4..14d616442 100644
--- a/Source/JavaScriptCore/offlineasm/asm.rb
+++ b/Source/JavaScriptCore/offlineasm/asm.rb
@@ -96,6 +96,12 @@ class Assembler
result
end
+ # Puts a C Statement in the output stream.
+ def putc(*line)
+ raise unless @state == :asm
+ @outp.puts(formatDump(" " + line.join(''), lastComment))
+ end
+
def formatDump(dumpStr, comment, commentColumns=$preferredCommentStartColumn)
if comment.length > 0
"%-#{commentColumns}s %s" % [dumpStr, comment]
@@ -151,7 +157,11 @@ class Assembler
@numGlobalLabels += 1
putsNewlineSpacerIfAppropriate(:global)
@internalComment = $enableLabelCountComments ? "Global Label #{@numGlobalLabels}" : nil
- @outp.puts(formatDump("OFFLINE_ASM_GLOBAL_LABEL(#{labelName})", lastComment))
+ if /\Allint_op_/.match(labelName)
+ @outp.puts(formatDump("OFFLINE_ASM_OPCODE_LABEL(op_#{$~.post_match})", lastComment))
+ else
+ @outp.puts(formatDump("OFFLINE_ASM_GLUE_LABEL(#{labelName})", lastComment))
+ end
@newlineSpacerState = :none # After a global label, we can use another spacer.
end
@@ -171,6 +181,14 @@ class Assembler
"\" LOCAL_LABEL_STRING(#{labelName}) \""
end
+ def self.cLabelReference(labelName)
+ "#{labelName}"
+ end
+
+ def self.cLocalLabelReference(labelName)
+ "#{labelName}"
+ end
+
def codeOrigin(text)
case @commentState
when :none
diff --git a/Source/JavaScriptCore/offlineasm/backends.rb b/Source/JavaScriptCore/offlineasm/backends.rb
index e33a2a083..0633f07f8 100644
--- a/Source/JavaScriptCore/offlineasm/backends.rb
+++ b/Source/JavaScriptCore/offlineasm/backends.rb
@@ -25,12 +25,14 @@ require "config"
require "armv7"
require "ast"
require "x86"
+require "cloop"
BACKENDS =
[
"X86",
"X86_64",
- "ARMv7"
+ "ARMv7",
+ "C_LOOP"
]
# Keep the set of working backends separate from the set of backends that might be
@@ -42,7 +44,8 @@ WORKING_BACKENDS =
[
"X86",
"X86_64",
- "ARMv7"
+ "ARMv7",
+ "C_LOOP"
]
BACKEND_PATTERN = Regexp.new('\\A(' + BACKENDS.join(')|(') + ')\\Z')
@@ -76,12 +79,18 @@ class LabelReference
def asmLabel
Assembler.labelReference(name[1..-1])
end
+ def cLabel
+ Assembler.cLabelReference(name[1..-1])
+ end
end
class LocalLabelReference
def asmLabel
Assembler.localLabelReference("_offlineasm_"+name[1..-1])
end
+ def cLabel
+ Assembler.cLocalLabelReference("_offlineasm_"+name[1..-1])
+ end
end
class Skip
diff --git a/Source/JavaScriptCore/offlineasm/cloop.rb b/Source/JavaScriptCore/offlineasm/cloop.rb
new file mode 100644
index 000000000..8469ed441
--- /dev/null
+++ b/Source/JavaScriptCore/offlineasm/cloop.rb
@@ -0,0 +1,988 @@
+# Copyright (C) 2012 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.
+
+require "config"
+require "ast"
+require "opt"
+
+# The CLoop llint backend is initially based on the ARMv7 backend, and
+# then further enhanced with a few instructions from the x86 backend to
+# support building for X64 targets. Hence, the shape of the generated
+# code and the usage convention of registers will look a lot like the
+# ARMv7 backend's.
+
+def cloopMapType(type)
+ case type
+ when :int; ".i"
+ when :uint; ".u"
+ when :int32; ".i32"
+ when :uint32; ".u32"
+ when :int8; ".i8"
+ when :uint8; ".u8"
+ when :int8Ptr; ".i8p"
+ when :voidPtr; ".vp"
+ when :nativeFunc; ".nativeFunc"
+ when :double; ".d"
+ when :castToDouble; ".castToDouble"
+ when :castToVoidPtr; ".castToVoidPtr"
+ when :opcode; ".opcode"
+ else;
+ raise "Unsupported type"
+ end
+end
+
+
+class SpecialRegister < NoChildren
+ def dump
+ @name
+ end
+ def clValue(type=:int)
+ @name + cloopMapType(type)
+ end
+end
+
+C_LOOP_SCRATCH_FPR = SpecialRegister.new("d8")
+
+class RegisterID
+ def dump
+ case name
+ when "t0"
+ "t0"
+ when "t1"
+ "t1"
+ when "t2"
+ "t2"
+ when "t3"
+ "t3"
+ when "t4"
+ "rPC"
+ when "t6"
+ "rBasePC"
+ when "csr1"
+ "tagTypeNumber"
+ when "csr2"
+ "tagMask"
+ when "cfr"
+ "cfr"
+ when "lr"
+ "rRetVPC"
+ when "sp"
+ "sp"
+ else
+ raise "Bad register #{name} for C_LOOP at #{codeOriginString}"
+ end
+ end
+ def clValue(type=:int)
+ dump + cloopMapType(type)
+ end
+end
+
+class FPRegisterID
+ def dump
+ case name
+ when "ft0", "fr"
+ "d0"
+ when "ft1"
+ "d1"
+ when "ft2"
+ "d2"
+ when "ft3"
+ "d3"
+ when "ft4"
+ "d4"
+ when "ft5"
+ "d5"
+ else
+ raise "Bad register #{name} for C_LOOP at #{codeOriginString}"
+ end
+ end
+ def clValue(type=:int)
+ dump + cloopMapType(type)
+ end
+end
+
+class Immediate
+ def dump
+ "#{value}"
+ end
+ def clValue(type=:int)
+ # There is a case of a very large unsigned number (0x8000000000000000)
+ # which we wish to encode. Unfortunately, the C/C++ compiler
+ # complains if we express that number as a positive decimal integer.
+ # Hence, for positive values, we just convert the number into hex form
+ # to keep the compiler happy.
+ #
+ # However, for negative values, the to_s(16) hex conversion method does
+ # not strip the "-" sign resulting in a meaningless "0x-..." valueStr.
+ # To workaround this, we simply don't encode negative numbers as hex.
+
+ valueStr = (value < 0) ? "#{value}" : "0x#{value.to_s(16)}"
+
+ case type
+ when :int8; "int8_t(#{valueStr})"
+ when :int32; "int32_t(#{valueStr})"
+ when :int; "intptr_t(#{valueStr})"
+ when :uint8; "uint8_t(#{valueStr})"
+ when :uint32; "uint32_t(#{valueStr})"
+ when :uint; "uintptr_t(#{valueStr})"
+ else
+ raise "Not implemented immediate of type: #{type}"
+ end
+ end
+end
+
+class Address
+ def dump
+ "[#{base.dump}, #{offset.value}]"
+ end
+ def clValue(type=:int)
+ case type
+ when :int8; int8MemRef
+ when :int32; int32MemRef
+ when :int; intMemRef
+ when :uint8; uint8MemRef
+ when :uint32; uint32MemRef
+ when :uint; uintMemRef
+ when :opcode; opcodeMemRef
+ when :nativeFunc; nativeFuncMemRef
+ else
+ raise "Unexpected Address type: #{type}"
+ end
+ end
+ def pointerExpr
+ if base.is_a? RegisterID and base.name == "sp"
+ offsetValue = "#{offset.value}"
+ "(ASSERT(#{offsetValue} == offsetof(JITStackFrame, globalData)), &sp->globalData)"
+ elsif offset.value == 0
+ "#{base.clValue(:int8Ptr)}"
+ elsif offset.value > 0
+ "#{base.clValue(:int8Ptr)} + #{offset.value}"
+ else
+ "#{base.clValue(:int8Ptr)} - #{-offset.value}"
+ end
+ end
+ def int8MemRef
+ "*CAST<int8_t*>(#{pointerExpr})"
+ end
+ def int16MemRef
+ "*CAST<int16_t*>(#{pointerExpr})"
+ end
+ def int32MemRef
+ "*CAST<int32_t*>(#{pointerExpr})"
+ end
+ def intMemRef
+ "*CAST<intptr_t*>(#{pointerExpr})"
+ end
+ def uint8MemRef
+ "*CAST<uint8_t*>(#{pointerExpr})"
+ end
+ def uint16MemRef
+ "*CAST<uint16_t*>(#{pointerExpr})"
+ end
+ def uint32MemRef
+ "*CAST<uint32_t*>(#{pointerExpr})"
+ end
+ def uintMemRef
+ "*CAST<uintptr_t*>(#{pointerExpr})"
+ end
+ def nativeFuncMemRef
+ "*CAST<NativeFunction*>(#{pointerExpr})"
+ end
+ def opcodeMemRef
+ "*CAST<Opcode*>(#{pointerExpr})"
+ end
+ def dblMemRef
+ "*CAST<double*>(#{pointerExpr})"
+ end
+end
+
+class BaseIndex
+ def dump
+ "[#{base.dump}, #{offset.dump}, #{index.dump} << #{scaleShift}]"
+ end
+ def clValue(type=:int)
+ case type
+ when :int8; int8MemRef
+ when :int32; int32MemRef
+ when :int; intMemRef
+ when :uint8; uint8MemRef
+ when :uint32; uint32MemRef
+ when :uint; uintMemRef
+ when :opcode; opcodeMemRef
+ else
+ raise "Unexpected BaseIndex type: #{type}"
+ end
+ end
+ def pointerExpr
+ if base.is_a? RegisterID and base.name == "sp"
+ offsetValue = "(#{index.clValue(:int32)} << #{scaleShift}) + #{offset.clValue})"
+ "(ASSERT(#{offsetValue} == offsetof(JITStackFrame, globalData)), &sp->globalData)"
+ else
+ "#{base.clValue(:int8Ptr)} + (#{index.clValue(:int32)} << #{scaleShift}) + #{offset.clValue}"
+ end
+ end
+ def int8MemRef
+ "*CAST<int8_t*>(#{pointerExpr})"
+ end
+ def int16MemRef
+ "*CAST<int16_t*>(#{pointerExpr})"
+ end
+ def int32MemRef
+ "*CAST<int32_t*>(#{pointerExpr})"
+ end
+ def intMemRef
+ "*CAST<intptr_t*>(#{pointerExpr})"
+ end
+ def uint8MemRef
+ "*CAST<uint8_t*>(#{pointerExpr})"
+ end
+ def uint16MemRef
+ "*CAST<uint16_t*>(#{pointerExpr})"
+ end
+ def uint32MemRef
+ "*CAST<uint32_t*>(#{pointerExpr})"
+ end
+ def uintMemRef
+ "*CAST<uintptr_t*>(#{pointerExpr})"
+ end
+ def opcodeMemRef
+ "*CAST<Opcode*>(#{pointerExpr})"
+ end
+ def dblMemRef
+ "*CAST<double*>(#{pointerExpr})"
+ end
+end
+
+class AbsoluteAddress
+ def dump
+ "#{codeOriginString}"
+ end
+ def clValue
+ dump
+ end
+end
+
+
+#
+# Lea support.
+#
+
+class Address
+ def cloopEmitLea(destination, type)
+ if destination == base
+ $asm.putc "#{destination.clValue(:int8Ptr)} += #{offset.clValue(type)};"
+ else
+ $asm.putc "#{destination.clValue(:int8Ptr)} = #{base.clValue(:int8Ptr)} + #{offset.clValue(type)};"
+ end
+ end
+end
+
+class BaseIndex
+ def cloopEmitLea(destination, type)
+ raise "Malformed BaseIndex, offset should be zero at #{codeOriginString}" unless offset.value == 0
+ $asm.putc "#{destination.clValue(:int8Ptr)} = #{base.clValue(:int8Ptr)} + (#{index.clValue} << #{scaleShift});"
+ end
+end
+
+#
+# Actual lowering code follows.
+#
+
+class Sequence
+ def getModifiedListC_LOOP
+ myList = @list
+
+ # Verify that we will only see instructions and labels.
+ myList.each {
+ | node |
+ unless node.is_a? Instruction or
+ node.is_a? Label or
+ node.is_a? LocalLabel or
+ node.is_a? Skip
+ raise "Unexpected #{node.inspect} at #{node.codeOrigin}"
+ end
+ }
+
+ return myList
+ end
+end
+
+def clOperands(operands)
+ operands.map{|v| v.dump}.join(", ")
+end
+
+
+def cloopEmitOperation(operands, type, operator)
+ if operands.size == 3
+ $asm.putc "#{operands[2].clValue(type)} = #{operands[1].clValue(type)} #{operator} #{operands[0].clValue(type)};"
+ else
+ raise unless operands.size == 2
+ raise unless not operands[1].is_a? Immediate
+ $asm.putc "#{operands[1].clValue(type)} = #{operands[1].clValue(type)} #{operator} #{operands[0].clValue(type)};"
+ end
+end
+
+def cloopEmitShiftOperation(operands, type, operator)
+ if operands.size == 3
+ $asm.putc "#{operands[2].clValue(type)} = #{operands[1].clValue(type)} #{operator} (#{operands[0].clValue(:int)} & 0x1f);"
+ else
+ raise unless operands.size == 2
+ raise unless not operands[1].is_a? Immediate
+ $asm.putc "#{operands[1].clValue(type)} = #{operands[1].clValue(type)} #{operator} (#{operands[0].clValue(:int)} & 0x1f);"
+ end
+end
+
+def cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, condition)
+ $asm.putc "if (isnan(#{operands[0].clValue(:double)}) || isnan(#{operands[1].clValue(:double)})"
+ $asm.putc " || (#{operands[0].clValue(:double)} #{condition} #{operands[1].clValue(:double)}))"
+ $asm.putc " goto #{operands[2].cLabel};"
+end
+
+
+def cloopEmitCompareAndSet(operands, type, comparator)
+ # The result is a boolean. Hence, it doesn't need to be based on the type
+ # of the arguments being compared.
+ $asm.putc "#{operands[2].clValue} = (#{operands[0].clValue(type)} #{comparator} #{op2 = operands[1].clValue(type)});"
+end
+
+
+def cloopEmitCompareAndBranch(operands, type, comparator)
+ $asm.putc "if (#{operands[0].clValue(type)} #{comparator} #{operands[1].clValue(type)})"
+ $asm.putc " goto #{operands[2].cLabel};"
+end
+
+
+# conditionTest should contain a string that provides a comparator and a RHS
+# value e.g. "< 0".
+def cloopGenerateConditionExpression(operands, type, conditionTest)
+ op1 = operands[0].clValue(type)
+
+ # The operands must consist of 2 or 3 values.
+ case operands.size
+ when 2 # Just test op1 against the conditionTest.
+ lhs = op1
+ when 3 # Mask op1 with op2 before testing against the conditionTest.
+ lhs = "(#{op1} & #{operands[1].clValue(type)})"
+ else
+ raise "Expected 2 or 3 operands but got #{operands.size} at #{codeOriginString}"
+ end
+
+ "#{lhs} #{conditionTest}"
+end
+
+# conditionTest should contain a string that provides a comparator and a RHS
+# value e.g. "< 0".
+def cloopEmitTestAndBranchIf(operands, type, conditionTest, branchTarget)
+ conditionExpr = cloopGenerateConditionExpression(operands, type, conditionTest)
+ $asm.putc "if (#{conditionExpr})"
+ $asm.putc " goto #{branchTarget};"
+end
+
+def cloopEmitTestSet(operands, type, conditionTest)
+ # The result is a boolean condition. Hence, the result type is always an
+ # int. The passed in type is only used for the values being tested in
+ # the condition test.
+ conditionExpr = cloopGenerateConditionExpression(operands, type, conditionTest)
+ $asm.putc "#{operands[-1].clValue} = (#{conditionExpr});"
+end
+
+def cloopEmitOpAndBranch(operands, operator, type, conditionTest)
+ case type
+ when :int; tempType = "intptr_t"
+ when :int32; tempType = "int32_t"
+ else
+ raise "Unimplemented type"
+ end
+
+ op1 = operands[0].clValue(type)
+ op2 = operands[1].clValue(type)
+
+ $asm.putc "{"
+ $asm.putc " #{tempType} temp = #{op2} #{operator} #{op1};"
+ $asm.putc " if (temp #{conditionTest})"
+ $asm.putc " goto #{operands[2].cLabel};"
+ $asm.putc " #{op2} = temp;"
+ $asm.putc "}"
+end
+
+def cloopAddOverflowTest(operands, type)
+ case type
+ when :int32
+ tempType = "int32_t"
+ signBit = "SIGN_BIT32"
+ else
+ raise "Unimplemented type"
+ end
+
+ $asm.putc " #{tempType} a = #{operands[0].clValue(type)};"
+ $asm.putc " #{tempType} b = #{operands[1].clValue(type)};"
+ $asm.putc " // sign(b) sign(a) | Overflows if:"
+ $asm.putc " // 0 0 | sign(b+a) = 1 (pos + pos != neg)"
+ $asm.putc " // 0 1 | never"
+ $asm.putc " // 1 0 | never"
+ $asm.putc " // 1 1 | sign(b+a) = 0 (neg + neg != pos)"
+ "((#{signBit}(b) == #{signBit}(a)) && (#{signBit}(b+a) != #{signBit}(a)))"
+end
+
+def cloopSubOverflowTest(operands, type)
+ case type
+ when :int32
+ tempType = "int32_t"
+ signBit = "SIGN_BIT32"
+ else
+ raise "Unimplemented type"
+ end
+
+ $asm.putc " #{tempType} a = #{operands[0].clValue(type)};"
+ $asm.putc " #{tempType} b = #{operands[1].clValue(type)};"
+ $asm.putc " // sign(b) sign(a) | Overflows if:"
+ $asm.putc " // 0 0 | never"
+ $asm.putc " // 0 1 | sign(b-a) = 1 (pos - neg != pos)"
+ $asm.putc " // 1 0 | sign(b-a) = 0 (neg - pos != pos)"
+ $asm.putc " // 1 1 | never"
+ "((#{signBit}(b) != #{signBit}(a)) && (#{signBit}(b-a) == #{signBit}(a)))"
+end
+
+def cloopMulOverflowTest(operands, type)
+ case type
+ when :int32
+ tempType = "uint32_t"
+ else
+ raise "Unimplemented type"
+ end
+ $asm.putc " #{tempType} a = #{operands[0].clValue(type)};"
+ $asm.putc " #{tempType} b = #{operands[1].clValue(type)};"
+ "((b | a) >> 15)"
+end
+
+def cloopEmitOpAndBranchIfOverflow(operands, operator, type)
+ $asm.putc "{"
+
+ # Emit the overflow test based on the operands and the type:
+ case operator
+ when "+"; overflowTest = cloopAddOverflowTest(operands, type)
+ when "-"; overflowTest = cloopSubOverflowTest(operands, type)
+ when "*"; overflowTest = cloopMulOverflowTest(operands, type)
+ else
+ raise "Unimplemented opeartor"
+ end
+
+ $asm.putc " if #{overflowTest} {"
+ $asm.putc " goto #{operands[2].cLabel};"
+ $asm.putc " }"
+ $asm.putc " #{operands[1].clValue(type)} = #{operands[1].clValue(type)} #{operator} #{operands[0].clValue(type)};"
+ $asm.putc "}"
+end
+
+# operands: callTarget, currentFrame, currentPC
+def cloopEmitCallSlowPath(operands)
+ $asm.putc "{"
+ $asm.putc " ExecState* exec = CAST<ExecState*>(#{operands[1].clValue(:voidPtr)});"
+ $asm.putc " Instruction* pc = CAST<Instruction*>(#{operands[2].clValue(:voidPtr)});"
+ $asm.putc " SlowPathReturnType result = #{operands[0].cLabel}(exec, pc);"
+ $asm.putc " LLInt::decodeResult(result, t0.instruction, t1.execState);"
+ $asm.putc "}"
+end
+
+class Instruction
+ def lowerC_LOOP
+ $asm.codeOrigin codeOriginString if $enableCodeOriginComments
+ $asm.annotation annotation if $enableInstrAnnotations
+
+ case opcode
+ when "addi"
+ cloopEmitOperation(operands, :int32, "+")
+ when "addp"
+ cloopEmitOperation(operands, :int, "+")
+
+ when "andi"
+ cloopEmitOperation(operands, :int32, "&")
+ when "andp"
+ cloopEmitOperation(operands, :int, "&")
+
+ when "ori"
+ cloopEmitOperation(operands, :int32, "|")
+ when "orp"
+ cloopEmitOperation(operands, :int, "|")
+
+ when "xori"
+ cloopEmitOperation(operands, :int32, "^")
+ when "xorp"
+ cloopEmitOperation(operands, :int, "^")
+
+ when "lshifti"
+ cloopEmitShiftOperation(operands, :int32, "<<")
+ when "lshiftp"
+ cloopEmitShiftOperation(operands, :int, "<<")
+
+ when "rshifti"
+ cloopEmitShiftOperation(operands, :int32, ">>")
+ when "rshiftp"
+ cloopEmitShiftOperation(operands, :int, ">>")
+
+ when "urshifti"
+ cloopEmitShiftOperation(operands, :uint32, ">>")
+ when "urshiftp"
+ cloopEmitShiftOperation(operands, :uint, ">>")
+
+ when "muli"
+ cloopEmitOperation(operands, :int32, "*")
+ when "mulp"
+ cloopEmitOperation(operands, :int, "*")
+
+ when "subi"
+ cloopEmitOperation(operands, :int32, "-")
+ when "subp"
+ cloopEmitOperation(operands, :int, "-")
+
+ when "negi"
+ $asm.putc "#{operands[0].clValue(:int32)} = -#{operands[0].clValue(:int32)};"
+ when "negp"
+ $asm.putc "#{operands[0].clValue(:int)} = -#{operands[0].clValue(:int)};"
+
+ when "noti"
+ $asm.putc "#{operands[0].clValue(:int32)} = !#{operands[0].clValue(:int32)};"
+
+ when "loadi"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].uint32MemRef};"
+ when "loadis"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].int32MemRef};"
+ when "loadp"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].intMemRef};"
+ when "storei"
+ $asm.putc "#{operands[1].int32MemRef} = #{operands[0].clValue(:int32)};"
+ when "storep"
+ $asm.putc "#{operands[1].intMemRef} = #{operands[0].clValue(:int)};"
+ when "loadb"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].uint8MemRef};"
+ when "loadbs"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].int8MemRef};"
+ when "storeb"
+ $asm.putc "#{operands[1].uint8MemRef} = #{operands[0].clValue(:int8)}"
+ when "loadh"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].uint16MemRef};"
+ when "loadhs"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].int16MemRef};"
+ when "storeh"
+ $asm.putc "*#{operands[1].uint16MemRef} = #{operands[0].clValue(:int16)};"
+ when "loadd"
+ $asm.putc "#{operands[1].clValue(:double)} = #{operands[0].dblMemRef};"
+ when "stored"
+ $asm.putc "#{operands[1].dblMemRef} = #{operands[0].clValue(:double)};"
+
+ when "addd"
+ cloopEmitOperation(operands, :double, "+")
+ when "divd"
+ cloopEmitOperation(operands, :double, "/")
+ when "subd"
+ cloopEmitOperation(operands, :double, "-")
+ when "muld"
+ cloopEmitOperation(operands, :double, "*")
+
+ # Convert an int value to its double equivalent, and store it in a double register.
+ when "ci2d"
+ $asm.putc "#{operands[1].clValue(:double)} = #{operands[0].clValue(:int32)};"
+
+ when "bdeq"
+ cloopEmitCompareAndBranch(operands, :double, "==")
+ when "bdneq"
+ cloopEmitCompareAndBranch(operands, :double, "!=")
+ when "bdgt"
+ cloopEmitCompareAndBranch(operands, :double, ">");
+ when "bdgteq"
+ cloopEmitCompareAndBranch(operands, :double, ">=");
+ when "bdlt"
+ cloopEmitCompareAndBranch(operands, :double, "<");
+ when "bdlteq"
+ cloopEmitCompareAndBranch(operands, :double, "<=");
+
+ when "bdequn"
+ cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, "==")
+ when "bdnequn"
+ cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, "!=")
+ when "bdgtun"
+ cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, ">")
+ when "bdgtequn"
+ cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, ">=")
+ when "bdltun"
+ cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, "<")
+ when "bdltequn"
+ cloopEmitCompareDoubleWithNaNCheckAndBranch(operands, "<=")
+
+ when "td2i"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].clValue(:double)};"
+
+ when "bcd2i" # operands: srcDbl dstInt slowPath
+ $asm.putc "{"
+ $asm.putc " double d = #{operands[0].clValue(:double)};"
+ $asm.putc " const int32_t asInt32 = int32_t(d);"
+ $asm.putc " if (asInt32 != d || (!asInt32 && signbit(d))) // true for -0.0"
+ $asm.putc " goto #{operands[2].cLabel};"
+ $asm.putc " #{operands[1].clValue} = asInt32;"
+ $asm.putc "}"
+
+ when "move"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].clValue(:int)};"
+ when "sxi2p"
+ $asm.putc "#{operands[1].clValue(:int)} = #{operands[0].clValue(:int32)};"
+ when "zxi2p"
+ $asm.putc "#{operands[1].clValue(:uint)} = #{operands[0].clValue(:uint32)};"
+ when "nop"
+ $asm.putc "// nop"
+ when "bbeq"
+ cloopEmitCompareAndBranch(operands, :int8, "==")
+ when "bieq"
+ cloopEmitCompareAndBranch(operands, :int32, "==")
+ when "bpeq"
+ cloopEmitCompareAndBranch(operands, :int, "==")
+
+ when "bbneq"
+ cloopEmitCompareAndBranch(operands, :int8, "!=")
+ when "bineq"
+ cloopEmitCompareAndBranch(operands, :int32, "!=")
+ when "bpneq"
+ cloopEmitCompareAndBranch(operands, :int, "!=")
+
+ when "bba"
+ cloopEmitCompareAndBranch(operands, :uint8, ">")
+ when "bia"
+ cloopEmitCompareAndBranch(operands, :uint32, ">")
+ when "bpa"
+ cloopEmitCompareAndBranch(operands, :uint, ">")
+
+ when "bbaeq"
+ cloopEmitCompareAndBranch(operands, :uint8, ">=")
+ when "biaeq"
+ cloopEmitCompareAndBranch(operands, :uint32, ">=")
+ when "bpaeq"
+ cloopEmitCompareAndBranch(operands, :uint, ">=")
+
+ when "bbb"
+ cloopEmitCompareAndBranch(operands, :uint8, "<")
+ when "bib"
+ cloopEmitCompareAndBranch(operands, :uint32, "<")
+ when "bpb"
+ cloopEmitCompareAndBranch(operands, :uint, "<")
+
+ when "bbbeq"
+ cloopEmitCompareAndBranch(operands, :uint8, "<=")
+ when "bibeq"
+ cloopEmitCompareAndBranch(operands, :uint32, "<=")
+ when "bpbeq"
+ cloopEmitCompareAndBranch(operands, :uint, "<=")
+
+ when "bbgt"
+ cloopEmitCompareAndBranch(operands, :int8, ">")
+ when "bigt"
+ cloopEmitCompareAndBranch(operands, :int32, ">")
+ when "bpgt"
+ cloopEmitCompareAndBranch(operands, :int, ">")
+
+ when "bbgteq"
+ cloopEmitCompareAndBranch(operands, :int8, ">=")
+ when "bigteq"
+ cloopEmitCompareAndBranch(operands, :int32, ">=")
+ when "bpgteq"
+ cloopEmitCompareAndBranch(operands, :int, ">=")
+
+ when "bblt"
+ cloopEmitCompareAndBranch(operands, :int8, "<")
+ when "bilt"
+ cloopEmitCompareAndBranch(operands, :int32, "<")
+ when "bplt"
+ cloopEmitCompareAndBranch(operands, :int, "<")
+
+ when "bblteq"
+ cloopEmitCompareAndBranch(operands, :int8, "<=")
+ when "bilteq"
+ cloopEmitCompareAndBranch(operands, :int32, "<=")
+ when "bplteq"
+ cloopEmitCompareAndBranch(operands, :int, "<=")
+
+ when "btbz"
+ cloopEmitTestAndBranchIf(operands, :int8, "== 0", operands[-1].cLabel)
+ when "btiz"
+ cloopEmitTestAndBranchIf(operands, :int32, "== 0", operands[-1].cLabel)
+ when "btpz"
+ cloopEmitTestAndBranchIf(operands, :int, "== 0", operands[-1].cLabel)
+
+ when "btbnz"
+ cloopEmitTestAndBranchIf(operands, :int8, "!= 0", operands[-1].cLabel)
+ when "btinz"
+ cloopEmitTestAndBranchIf(operands, :int32, "!= 0", operands[-1].cLabel)
+ when "btpnz"
+ cloopEmitTestAndBranchIf(operands, :int, "!= 0", operands[-1].cLabel)
+
+ when "btbs"
+ cloopEmitTestAndBranchIf(operands, :int8, "< 0", operands[-1].cLabel)
+ when "btis"
+ cloopEmitTestAndBranchIf(operands, :int32, "< 0", operands[-1].cLabel)
+ when "btps"
+ cloopEmitTestAndBranchIf(operands, :int, "< 0", operands[-1].cLabel)
+
+ # For jmp, we do not want to assume that we have COMPUTED_GOTO support.
+ # Fortunately, the only times we should ever encounter indirect jmps is
+ # when the jmp target is a CLoop opcode (by design).
+ #
+ # Hence, we check if the jmp target is a known label reference. If so,
+ # we can emit a goto directly. If it is not a known target, then we set
+ # the target in the opcode, and dispatch to it via whatever dispatch
+ # mechanism is in used.
+ when "jmp"
+ if operands[0].is_a? LocalLabelReference or operands[0].is_a? LabelReference
+ # Handles jumps local or global labels.
+ $asm.putc "goto #{operands[0].cLabel};"
+ else
+ # Handles jumps to some computed target.
+ # NOTE: must be an opcode handler or a llint glue helper.
+ $asm.putc "opcode = #{operands[0].clValue(:opcode)};"
+ $asm.putc "DISPATCH_OPCODE();"
+ end
+
+ when "call"
+ $asm.putc "CRASH(); // generic call instruction not supported by design!"
+ when "break"
+ $asm.putc "CRASH(); // break instruction not implemented."
+ when "ret"
+ $asm.putc "goto doReturnHelper;"
+
+ when "cbeq"
+ cloopEmitCompareAndSet(operands, :uint8, "==")
+ when "cieq"
+ cloopEmitCompareAndSet(operands, :uint32, "==")
+ when "cpeq"
+ cloopEmitCompareAndSet(operands, :uint, "==")
+
+ when "cbneq"
+ cloopEmitCompareAndSet(operands, :uint8, "!=")
+ when "cineq"
+ cloopEmitCompareAndSet(operands, :uint32, "!=")
+ when "cpneq"
+ cloopEmitCompareAndSet(operands, :uint, "!=")
+
+ when "cba"
+ cloopEmitCompareAndSet(operands, :uint8, ">")
+ when "cia"
+ cloopEmitCompareAndSet(operands, :uint32, ">")
+ when "cpa"
+ cloopEmitCompareAndSet(operands, :uint, ">")
+
+ when "cbaeq"
+ cloopEmitCompareAndSet(operands, :uint8, ">=")
+ when "ciaeq"
+ cloopEmitCompareAndSet(operands, :uint32, ">=")
+ when "cpaeq"
+ cloopEmitCompareAndSet(operands, :uint, ">=")
+
+ when "cbb"
+ cloopEmitCompareAndSet(operands, :uint8, "<")
+ when "cib"
+ cloopEmitCompareAndSet(operands, :uint32, "<")
+ when "cpb"
+ cloopEmitCompareAndSet(operands, :uint, "<")
+
+ when "cbbeq"
+ cloopEmitCompareAndSet(operands, :uint8, "<=")
+ when "cibeq"
+ cloopEmitCompareAndSet(operands, :uint32, "<=")
+ when "cpbeq"
+ cloopEmitCompareAndSet(operands, :uint, "<=")
+
+ when "cbgt"
+ cloopEmitCompareAndSet(operands, :int8, ">")
+ when "cigt"
+ cloopEmitCompareAndSet(operands, :int32, ">")
+ when "cpgt"
+ cloopEmitCompareAndSet(operands, :int, ">")
+
+ when "cbgteq"
+ cloopEmitCompareAndSet(operands, :int8, ">=")
+ when "cigteq"
+ cloopEmitCompareAndSet(operands, :int32, ">=")
+ when "cpgteq"
+ cloopEmitCompareAndSet(operands, :int, ">=")
+
+ when "cblt"
+ cloopEmitCompareAndSet(operands, :int8, "<")
+ when "cilt"
+ cloopEmitCompareAndSet(operands, :int32, "<")
+ when "cplt"
+ cloopEmitCompareAndSet(operands, :int, "<")
+
+ when "cblteq"
+ cloopEmitCompareAndSet(operands, :int8, "<=")
+ when "cilteq"
+ cloopEmitCompareAndSet(operands, :int32, "<=")
+ when "cplteq"
+ cloopEmitCompareAndSet(operands, :int, "<=")
+
+ when "tbs"
+ cloopEmitTestSet(operands, :int8, "< 0")
+ when "tis"
+ cloopEmitTestSet(operands, :int32, "< 0")
+ when "tps"
+ cloopEmitTestSet(operands, :int, "< 0")
+
+ when "tbz"
+ cloopEmitTestSet(operands, :int8, "== 0")
+ when "tiz"
+ cloopEmitTestSet(operands, :int32, "== 0")
+ when "tpz"
+ cloopEmitTestSet(operands, :int, "== 0")
+
+ when "tbnz"
+ cloopEmitTestSet(operands, :int8, "!= 0")
+ when "tinz"
+ cloopEmitTestSet(operands, :int32, "!= 0")
+ when "tpnz"
+ cloopEmitTestSet(operands, :int, "!= 0")
+
+ # 64-bit instruction: cdqi (based on X64)
+ # Sign extends the lower 32 bits of t0, but put the sign extension into
+ # the lower 32 bits of t1. Leave the upper 32 bits of t0 and t1 unchanged.
+ when "cdqi"
+ $asm.putc "{"
+ $asm.putc " int64_t temp = t0.i32; // sign extend the low 32bit"
+ $asm.putc " t0.i32 = temp; // low word"
+ $asm.putc " t1.i32 = uint64_t(temp) >> 32; // high word"
+ $asm.putc "}"
+
+ # 64-bit instruction: idivi op1 (based on X64)
+ # Divide a 64-bit integer numerator by the specified denominator.
+ # The numerator is specified in t0 and t1 as follows:
+ # 1. low 32 bits of the numerator is in the low 32 bits of t0.
+ # 2. high 32 bits of the numerator is in the low 32 bits of t1.
+ #
+ # The resultant quotient is a signed 32-bit int, and is to be stored
+ # in the lower 32 bits of t0.
+ # The resultant remainder is a signed 32-bit int, and is to be stored
+ # in the lower 32 bits of t1.
+ when "idivi"
+ # Divide t1,t0 (EDX,EAX) by the specified arg, and store the remainder in t1,
+ # and quotient in t0:
+ $asm.putc "{"
+ $asm.putc " int64_t dividend = (int64_t(t1.u32) << 32) | t0.u32;"
+ $asm.putc " int64_t divisor = #{operands[0].clValue(:int)};"
+ $asm.putc " t1.i32 = dividend % divisor; // remainder"
+ $asm.putc " t0.i32 = dividend / divisor; // quotient"
+ $asm.putc "}"
+
+ # 32-bit instruction: fii2d int32LoOp int32HiOp dblOp (based on ARMv7)
+ # Decode 2 32-bit ints (low and high) into a 64-bit double.
+ when "fii2d"
+ $asm.putc "#{operands[2].clValue(:double)} = Ints2Double(#{operands[0].clValue(:uint32)}, #{operands[1].clValue(:uint32)});"
+
+ # 32-bit instruction: f2dii dblOp int32LoOp int32HiOp (based on ARMv7)
+ # Encode a 64-bit double into 2 32-bit ints (low and high).
+ when "fd2ii"
+ $asm.putc "Double2Ints(#{operands[0].clValue(:double)}, #{operands[1].clValue}, #{operands[2].clValue});"
+
+ # 64-bit instruction: fp2d int64Op dblOp (based on X64)
+ # Copy a bit-encoded double in a 64-bit int register to a double register.
+ when "fp2d"
+ $asm.putc "#{operands[1].clValue(:double)} = #{operands[0].clValue(:castToDouble)};"
+
+ # 64-bit instruction: fd2p dblOp int64Op (based on X64 instruction set)
+ # Copy a double as a bit-encoded double into a 64-bit int register.
+ when "fd2p"
+ $asm.putc "#{operands[1].clValue(:voidPtr)} = #{operands[0].clValue(:castToVoidPtr)};"
+
+ when "leai"
+ operands[0].cloopEmitLea(operands[1], :int32)
+ when "leap"
+ operands[0].cloopEmitLea(operands[1], :int)
+
+ when "baddio"
+ cloopEmitOpAndBranchIfOverflow(operands, "+", :int32)
+ when "bsubio"
+ cloopEmitOpAndBranchIfOverflow(operands, "-", :int32)
+ when "bmulio"
+ cloopEmitOpAndBranchIfOverflow(operands, "*", :int32)
+
+ when "baddis"
+ cloopEmitOpAndBranch(operands, "+", :int32, "< 0")
+ when "baddiz"
+ cloopEmitOpAndBranch(operands, "+", :int32, "== 0")
+ when "baddinz"
+ cloopEmitOpAndBranch(operands, "+", :int32, "!= 0")
+
+ when "baddps"
+ cloopEmitOpAndBranch(operands, "+", :int, "< 0")
+ when "baddpz"
+ cloopEmitOpAndBranch(operands, "+", :int, "== 0")
+ when "baddpnz"
+ cloopEmitOpAndBranch(operands, "+", :int, "!= 0")
+
+ when "bsubis"
+ cloopEmitOpAndBranch(operands, "-", :int32, "< 0")
+ when "bsubiz"
+ cloopEmitOpAndBranch(operands, "-", :int32, "== 0")
+ when "bsubinz"
+ cloopEmitOpAndBranch(operands, "-", :int32, "!= 0")
+
+ when "borris"
+ cloopEmitOpAndBranch(operands, "|", :int32, "< 0")
+ when "borriz"
+ cloopEmitOpAndBranch(operands, "|", :int32, "== 0")
+ when "borrinz"
+ cloopEmitOpAndBranch(operands, "|", :int32, "!= 0")
+
+ # A convenience and compact call to crash because we don't want to use
+ # the generic llint crash mechanism which relies on the availability
+ # of the call instruction (which cannot be implemented in a generic
+ # way, and can be abused if we made it just work for this special case).
+ # Using a special cloopCrash instruction is cleaner.
+ when "cloopCrash"
+ $asm.putc "CRASH();"
+
+ # We can't rely on the llint JS call mechanism which actually makes
+ # use of the call instruction. Instead, we just implement JS calls
+ # as an opcode dispatch.
+ when "cloopCallJSFunction"
+ $asm.putc "opcode = #{operands[0].clValue(:opcode)};"
+ $asm.putc "DISPATCH_OPCODE();"
+
+ # We can't do generic function calls with an arbitrary set of args, but
+ # fortunately we don't have to here. All native function calls always
+ # have a fixed prototype of 1 args: the passed ExecState.
+ when "cloopCallNative"
+ $asm.putc "nativeFunc = #{operands[0].clValue(:nativeFunc)};"
+ $asm.putc "functionReturnValue = JSValue::decode(nativeFunc(t0.execState));"
+ $asm.putc "#if USE(JSVALUE32_64)"
+ $asm.putc " t1.i = functionReturnValue.tag();"
+ $asm.putc " t0.i = functionReturnValue.payload();"
+ $asm.putc "#else // USE_JSVALUE64)"
+ $asm.putc " t0.encodedJSValue = JSValue::encode(functionReturnValue);"
+ $asm.putc "#endif // USE_JSVALUE64)"
+
+ # We can't do generic function calls with an arbitrary set of args, but
+ # fortunately we don't have to here. All slow path function calls always
+ # have a fixed prototype too. See cloopEmitCallSlowPath() for details.
+ when "cloopCallSlowPath"
+ cloopEmitCallSlowPath(operands)
+
+ else
+ lowerDefault
+ end
+ end
+end
diff --git a/Source/JavaScriptCore/offlineasm/config.rb b/Source/JavaScriptCore/offlineasm/config.rb
index e6287f367..4c86eeceb 100644
--- a/Source/JavaScriptCore/offlineasm/config.rb
+++ b/Source/JavaScriptCore/offlineasm/config.rb
@@ -21,7 +21,7 @@
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
# THE POSSIBILITY OF SUCH DAMAGE.
-$preferredCommentStartColumn = 70
+$preferredCommentStartColumn = 60
# Turns on dumping of the count of labels.
diff --git a/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb b/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb
index fefbb1290..81c28632c 100644
--- a/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb
+++ b/Source/JavaScriptCore/offlineasm/generate_offset_extractor.rb
@@ -42,7 +42,7 @@ $stderr.puts "offlineasm: Parsing #{inputFlnm} and creating offset extractor #{o
def emitMagicNumber
OFFSET_MAGIC_NUMBERS.each {
| number |
- $output.puts "#{number},"
+ $output.puts "unsigned(#{number}),"
}
end
@@ -120,7 +120,7 @@ File.open(outputFlnm, "w") {
| settings, ast, backend, index |
OFFSET_HEADER_MAGIC_NUMBERS.each {
| number |
- $output.puts "#{number},"
+ $output.puts "unsigned(#{number}),"
}
offsetsList = ast.filter(StructOffset).uniq.sort
diff --git a/Source/JavaScriptCore/offlineasm/instructions.rb b/Source/JavaScriptCore/offlineasm/instructions.rb
index aa1a32393..211c10933 100644
--- a/Source/JavaScriptCore/offlineasm/instructions.rb
+++ b/Source/JavaScriptCore/offlineasm/instructions.rb
@@ -227,7 +227,15 @@ ARMv7_INSTRUCTIONS =
"oris"
]
-INSTRUCTIONS = MACRO_INSTRUCTIONS + X86_INSTRUCTIONS + ARMv7_INSTRUCTIONS
+CXX_INSTRUCTIONS =
+ [
+ "cloopCrash", # no operands
+ "cloopCallJSFunction", # operands: callee
+ "cloopCallNative", # operands: callee
+ "cloopCallSlowPath", # operands: callTarget, currentFrame, currentPC
+ ]
+
+INSTRUCTIONS = MACRO_INSTRUCTIONS + X86_INSTRUCTIONS + ARMv7_INSTRUCTIONS + CXX_INSTRUCTIONS
INSTRUCTION_PATTERN = Regexp.new('\\A((' + INSTRUCTIONS.join(')|(') + '))\\Z')
diff --git a/Source/JavaScriptCore/offlineasm/offsets.rb b/Source/JavaScriptCore/offlineasm/offsets.rb
index 8a064a216..627183dc8 100644
--- a/Source/JavaScriptCore/offlineasm/offsets.rb
+++ b/Source/JavaScriptCore/offlineasm/offsets.rb
@@ -61,7 +61,7 @@ end
#
# offsetsAndConfigurationIndex(ast, file) ->
-# [[offsets, index], ...]
+# {[offsets, index], ...}
#
# Parses the offsets from a file and returns a list of offsets and the
# index of the configuration that is valid in this build target.
@@ -69,7 +69,7 @@ end
def offsetsAndConfigurationIndex(file)
endiannessMarkerBytes = nil
- result = []
+ result = {}
def readInt(endianness, bytes)
if endianness == :little
@@ -155,13 +155,14 @@ def offsetsAndConfigurationIndex(file)
| data |
offsets << readInt(endianness, data)
}
- result << [offsets, index]
+ if not result.has_key?(offsets)
+ result[offsets] = index
+ end
}
end
}
raise MissingMagicValuesException unless result.length >= 1
- raise if result.map{|v| v[1]}.uniq.size < result.map{|v| v[1]}.size
result
end
diff --git a/Source/JavaScriptCore/parser/ASTBuilder.h b/Source/JavaScriptCore/parser/ASTBuilder.h
index 0a71f1294..6e7334f97 100644
--- a/Source/JavaScriptCore/parser/ASTBuilder.h
+++ b/Source/JavaScriptCore/parser/ASTBuilder.h
@@ -220,7 +220,7 @@ public:
ExpressionNode* createRegExp(const JSTokenLocation& location, const Identifier& pattern, const Identifier& flags, int start)
{
- if (Yarr::checkSyntax(pattern.ustring()))
+ if (Yarr::checkSyntax(pattern.string()))
return 0;
RegExpNode* node = new (m_globalData) RegExpNode(location, pattern, flags);
int size = pattern.length() + 2; // + 2 for the two /'s
@@ -943,47 +943,12 @@ ExpressionNode* ASTBuilder::makeAssignNode(const JSTokenLocation& location, Expr
ExpressionNode* ASTBuilder::makePrefixNode(const JSTokenLocation& location, ExpressionNode* expr, Operator op, int start, int divot, int end)
{
- if (!expr->isLocation())
- return new (m_globalData) PrefixErrorNode(location, op, divot, divot - start, end - divot);
-
- if (expr->isResolveNode()) {
- ResolveNode* resolve = static_cast<ResolveNode*>(expr);
- return new (m_globalData) PrefixResolveNode(location, resolve->identifier(), op, divot, divot - start, end - divot);
- }
- if (expr->isBracketAccessorNode()) {
- BracketAccessorNode* bracket = static_cast<BracketAccessorNode*>(expr);
- PrefixBracketNode* node = new (m_globalData) PrefixBracketNode(location, bracket->base(), bracket->subscript(), op, divot, divot - start, end - divot);
- node->setSubexpressionInfo(bracket->divot(), bracket->startOffset());
- return node;
- }
- ASSERT(expr->isDotAccessorNode());
- DotAccessorNode* dot = static_cast<DotAccessorNode*>(expr);
- PrefixDotNode* node = new (m_globalData) PrefixDotNode(location, dot->base(), dot->identifier(), op, divot, divot - start, end - divot);
- node->setSubexpressionInfo(dot->divot(), dot->startOffset());
- return node;
+ return new (m_globalData) PrefixNode(location, expr, op, divot, divot - start, end - divot);
}
ExpressionNode* ASTBuilder::makePostfixNode(const JSTokenLocation& location, ExpressionNode* expr, Operator op, int start, int divot, int end)
{
- if (!expr->isLocation())
- return new (m_globalData) PostfixErrorNode(location, op, divot, divot - start, end - divot);
-
- if (expr->isResolveNode()) {
- ResolveNode* resolve = static_cast<ResolveNode*>(expr);
- return new (m_globalData) PostfixResolveNode(location, resolve->identifier(), op, divot, divot - start, end - divot);
- }
- if (expr->isBracketAccessorNode()) {
- BracketAccessorNode* bracket = static_cast<BracketAccessorNode*>(expr);
- PostfixBracketNode* node = new (m_globalData) PostfixBracketNode(location, bracket->base(), bracket->subscript(), op, divot, divot - start, end - divot);
- node->setSubexpressionInfo(bracket->divot(), bracket->endOffset());
- return node;
-
- }
- ASSERT(expr->isDotAccessorNode());
- DotAccessorNode* dot = static_cast<DotAccessorNode*>(expr);
- PostfixDotNode* node = new (m_globalData) PostfixDotNode(location, dot->base(), dot->identifier(), op, divot, divot - start, end - divot);
- node->setSubexpressionInfo(dot->divot(), dot->endOffset());
- return node;
+ return new (m_globalData) PostfixNode(location, expr, op, divot, divot - start, end - divot);
}
}
diff --git a/Source/JavaScriptCore/parser/Lexer.cpp b/Source/JavaScriptCore/parser/Lexer.cpp
index 2a8a8dc9e..063168be1 100644
--- a/Source/JavaScriptCore/parser/Lexer.cpp
+++ b/Source/JavaScriptCore/parser/Lexer.cpp
@@ -368,7 +368,7 @@ Lexer<T>::~Lexer()
}
template <typename T>
-UString Lexer<T>::invalidCharacterMessage() const
+String Lexer<T>::invalidCharacterMessage() const
{
switch (m_current) {
case 0:
@@ -418,7 +418,7 @@ void Lexer<T>::setCode(const SourceCode& source, ParserArena* arena)
m_error = false;
m_atLineStart = true;
m_columnNumber = 0;
- m_lexErrorMessage = UString();
+ m_lexErrorMessage = String();
m_buffer8.reserveInitialCapacity(initialReadBufferCapacity);
m_buffer16.reserveInitialCapacity((m_codeEnd - m_code) / 2);
diff --git a/Source/JavaScriptCore/parser/Lexer.h b/Source/JavaScriptCore/parser/Lexer.h
index 1ac832a2c..d75f2020d 100644
--- a/Source/JavaScriptCore/parser/Lexer.h
+++ b/Source/JavaScriptCore/parser/Lexer.h
@@ -100,12 +100,12 @@ public:
// Functions for use after parsing.
bool sawError() const { return m_error; }
- UString getErrorMessage() const { return m_lexErrorMessage; }
+ String getErrorMessage() const { return m_lexErrorMessage; }
void clear();
void setOffset(int offset)
{
m_error = 0;
- m_lexErrorMessage = UString();
+ m_lexErrorMessage = String();
m_code = m_codeStart + offset;
m_buffer8.resize(0);
m_buffer16.resize(0);
@@ -137,7 +137,7 @@ private:
int parseFourDigitUnicodeHex();
void shiftLineTerminator();
- UString invalidCharacterMessage() const;
+ String invalidCharacterMessage() const;
ALWAYS_INLINE const T* currentCharacter() const;
ALWAYS_INLINE int currentOffset() const { return m_code - m_codeStart; }
ALWAYS_INLINE void setOffsetFromCharOffset(const T* charOffset) { setOffset(charOffset - m_codeStart); }
@@ -181,7 +181,7 @@ private:
bool m_isReparsing;
bool m_atLineStart;
bool m_error;
- UString m_lexErrorMessage;
+ String m_lexErrorMessage;
T m_current;
diff --git a/Source/JavaScriptCore/parser/NodeConstructors.h b/Source/JavaScriptCore/parser/NodeConstructors.h
index 43d1e17c6..1678bf7ea 100644
--- a/Source/JavaScriptCore/parser/NodeConstructors.h
+++ b/Source/JavaScriptCore/parser/NodeConstructors.h
@@ -287,40 +287,10 @@ namespace JSC {
{
}
- inline PrePostResolveNode::PrePostResolveNode(const JSTokenLocation& location, const Identifier& ident, unsigned divot, unsigned startOffset, unsigned endOffset)
- : ExpressionNode(location, ResultType::numberType()) // could be reusable for pre?
- , ThrowableExpressionData(divot, startOffset, endOffset)
- , m_ident(ident)
- {
- }
-
- inline PostfixResolveNode::PostfixResolveNode(const JSTokenLocation& location, const Identifier& ident, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
- : PrePostResolveNode(location, ident, divot, startOffset, endOffset)
- , m_operator(oper)
- {
- }
-
- inline PostfixBracketNode::PostfixBracketNode(const JSTokenLocation& location, ExpressionNode* base, ExpressionNode* subscript, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
- : ExpressionNode(location)
- , ThrowableSubExpressionData(divot, startOffset, endOffset)
- , m_base(base)
- , m_subscript(subscript)
- , m_operator(oper)
- {
- }
-
- inline PostfixDotNode::PostfixDotNode(const JSTokenLocation& location, ExpressionNode* base, const Identifier& ident, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
- : ExpressionNode(location)
- , ThrowableSubExpressionData(divot, startOffset, endOffset)
- , m_base(base)
- , m_ident(ident)
- , m_operator(oper)
- {
- }
-
- inline PostfixErrorNode::PostfixErrorNode(const JSTokenLocation& location, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
+ inline PostfixNode::PostfixNode(const JSTokenLocation& location, ExpressionNode* expr, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
: ExpressionNode(location)
- , ThrowableSubExpressionData(divot, startOffset, endOffset)
+ , ThrowableExpressionData(divot, startOffset, endOffset)
+ , m_expr(expr)
, m_operator(oper)
{
}
@@ -372,33 +342,10 @@ namespace JSC {
{
}
- inline PrefixResolveNode::PrefixResolveNode(const JSTokenLocation& location, const Identifier& ident, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
- : PrePostResolveNode(location, ident, divot, startOffset, endOffset)
- , m_operator(oper)
- {
- }
-
- inline PrefixBracketNode::PrefixBracketNode(const JSTokenLocation& location, ExpressionNode* base, ExpressionNode* subscript, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
- : ExpressionNode(location)
- , ThrowablePrefixedSubExpressionData(divot, startOffset, endOffset)
- , m_base(base)
- , m_subscript(subscript)
- , m_operator(oper)
- {
- }
-
- inline PrefixDotNode::PrefixDotNode(const JSTokenLocation& location, ExpressionNode* base, const Identifier& ident, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
+ inline PrefixNode::PrefixNode(const JSTokenLocation& location, ExpressionNode* expr, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
: ExpressionNode(location)
, ThrowablePrefixedSubExpressionData(divot, startOffset, endOffset)
- , m_base(base)
- , m_ident(ident)
- , m_operator(oper)
- {
- }
-
- inline PrefixErrorNode::PrefixErrorNode(const JSTokenLocation& location, Operator oper, unsigned divot, unsigned startOffset, unsigned endOffset)
- : ExpressionNode(location)
- , ThrowableExpressionData(divot, startOffset, endOffset)
+ , m_expr(expr)
, m_operator(oper)
{
}
@@ -802,14 +749,14 @@ namespace JSC {
: ExpressionNode(location)
, m_body(body)
{
- m_body->finishParsing(source, parameter, ident);
+ m_body->finishParsing(source, parameter, ident, FunctionNameIsInScope);
}
inline FuncDeclNode::FuncDeclNode(const JSTokenLocation& location, const Identifier& ident, FunctionBodyNode* body, const SourceCode& source, ParameterNode* parameter)
: StatementNode(location)
, m_body(body)
{
- m_body->finishParsing(source, parameter, ident);
+ m_body->finishParsing(source, parameter, ident, FunctionNameIsNotInScope);
}
inline CaseClauseNode::CaseClauseNode(ExpressionNode* expr, SourceElements* statements)
diff --git a/Source/JavaScriptCore/parser/Nodes.cpp b/Source/JavaScriptCore/parser/Nodes.cpp
index 0172359c7..14ee83805 100644
--- a/Source/JavaScriptCore/parser/Nodes.cpp
+++ b/Source/JavaScriptCore/parser/Nodes.cpp
@@ -33,7 +33,7 @@
#include "JIT.h"
#include "JSFunction.h"
#include "JSGlobalObject.h"
-#include "JSStaticScopeObject.h"
+#include "JSNameScope.h"
#include "LabelScope.h"
#include "Lexer.h"
#include "Operations.h"
@@ -167,17 +167,18 @@ inline FunctionBodyNode::FunctionBodyNode(JSGlobalData* globalData, const JSToke
{
}
-void FunctionBodyNode::finishParsing(const SourceCode& source, ParameterNode* firstParameter, const Identifier& ident)
+void FunctionBodyNode::finishParsing(const SourceCode& source, ParameterNode* firstParameter, const Identifier& ident, FunctionNameIsInScopeToggle functionNameIsInScopeToggle)
{
setSource(source);
- finishParsing(FunctionParameters::create(firstParameter), ident);
+ finishParsing(FunctionParameters::create(firstParameter), ident, functionNameIsInScopeToggle);
}
-void FunctionBodyNode::finishParsing(PassRefPtr<FunctionParameters> parameters, const Identifier& ident)
+void FunctionBodyNode::finishParsing(PassRefPtr<FunctionParameters> parameters, const Identifier& ident, FunctionNameIsInScopeToggle functionNameIsInScopeToggle)
{
ASSERT(!source().isNull());
m_parameters = parameters;
m_ident = ident;
+ m_functionNameIsInScopeToggle = functionNameIsInScopeToggle;
}
FunctionBodyNode* FunctionBodyNode::create(JSGlobalData* globalData, const JSTokenLocation& location, bool inStrictContext)
diff --git a/Source/JavaScriptCore/parser/Nodes.h b/Source/JavaScriptCore/parser/Nodes.h
index ed1a85aaf..475689ce9 100644
--- a/Source/JavaScriptCore/parser/Nodes.h
+++ b/Source/JavaScriptCore/parser/Nodes.h
@@ -44,7 +44,7 @@ namespace JSC {
class PropertyListNode;
class ReadModifyResolveNode;
class RegisterID;
- class ScopeChainNode;
+ class JSScope;
class ScopeNode;
typedef unsigned CodeFeatures;
@@ -279,7 +279,7 @@ namespace JSC {
uint16_t endOffset() const { return m_endOffset; }
protected:
- RegisterID* emitThrowReferenceError(BytecodeGenerator&, const UString& message);
+ RegisterID* emitThrowReferenceError(BytecodeGenerator&, const String& message);
private:
uint32_t m_divot;
@@ -461,6 +461,8 @@ namespace JSC {
ExpressionNode* base() const { return m_base; }
ExpressionNode* subscript() const { return m_subscript; }
+ bool subscriptHasAssignments() const { return m_subscriptHasAssignments; }
+
private:
virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
@@ -594,55 +596,17 @@ namespace JSC {
virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
};
- class PrePostResolveNode : public ExpressionNode, public ThrowableExpressionData {
- public:
- PrePostResolveNode(const JSTokenLocation&, const Identifier&, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- protected:
- const Identifier& m_ident;
- };
-
- class PostfixResolveNode : public PrePostResolveNode {
- public:
- PostfixResolveNode(const JSTokenLocation&, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- private:
- virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
-
- Operator m_operator;
- };
-
- class PostfixBracketNode : public ExpressionNode, public ThrowableSubExpressionData {
- public:
- PostfixBracketNode(const JSTokenLocation&, ExpressionNode* base, ExpressionNode* subscript, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- private:
- virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
-
- ExpressionNode* m_base;
- ExpressionNode* m_subscript;
- Operator m_operator;
- };
-
- class PostfixDotNode : public ExpressionNode, public ThrowableSubExpressionData {
- public:
- PostfixDotNode(const JSTokenLocation&, ExpressionNode* base, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- private:
- virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
-
- ExpressionNode* m_base;
- const Identifier& m_ident;
- Operator m_operator;
- };
-
- class PostfixErrorNode : public ExpressionNode, public ThrowableSubExpressionData {
+ class PostfixNode : public ExpressionNode, public ThrowableExpressionData {
public:
- PostfixErrorNode(const JSTokenLocation&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
+ PostfixNode(const JSTokenLocation&, ExpressionNode*, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
private:
virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
+ virtual RegisterID* emitResolve(BytecodeGenerator&, RegisterID* = 0);
+ virtual RegisterID* emitBracket(BytecodeGenerator&, RegisterID* = 0);
+ virtual RegisterID* emitDot(BytecodeGenerator&, RegisterID* = 0);
+ ExpressionNode* m_expr;
Operator m_operator;
};
@@ -720,47 +684,17 @@ namespace JSC {
ExpressionNode* m_expr;
};
- class PrefixResolveNode : public PrePostResolveNode {
+ class PrefixNode : public ExpressionNode, public ThrowablePrefixedSubExpressionData {
public:
- PrefixResolveNode(const JSTokenLocation&, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- private:
- virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
-
- Operator m_operator;
- };
-
- class PrefixBracketNode : public ExpressionNode, public ThrowablePrefixedSubExpressionData {
- public:
- PrefixBracketNode(const JSTokenLocation&, ExpressionNode* base, ExpressionNode* subscript, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- private:
- virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
-
- ExpressionNode* m_base;
- ExpressionNode* m_subscript;
- Operator m_operator;
- };
-
- class PrefixDotNode : public ExpressionNode, public ThrowablePrefixedSubExpressionData {
- public:
- PrefixDotNode(const JSTokenLocation&, ExpressionNode* base, const Identifier&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
-
- private:
- virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
-
- ExpressionNode* m_base;
- const Identifier& m_ident;
- Operator m_operator;
- };
-
- class PrefixErrorNode : public ExpressionNode, public ThrowableExpressionData {
- public:
- PrefixErrorNode(const JSTokenLocation&, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
+ PrefixNode(const JSTokenLocation&, ExpressionNode*, Operator, unsigned divot, unsigned startOffset, unsigned endOffset);
private:
virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
+ virtual RegisterID* emitResolve(BytecodeGenerator&, RegisterID* = 0);
+ virtual RegisterID* emitBracket(BytecodeGenerator&, RegisterID* = 0);
+ virtual RegisterID* emitDot(BytecodeGenerator&, RegisterID* = 0);
+ ExpressionNode* m_expr;
Operator m_operator;
};
@@ -1389,7 +1323,7 @@ namespace JSC {
}
const SourceCode& source() const { return m_source; }
- const UString& sourceURL() const { return m_source.provider()->url(); }
+ const String& sourceURL() const { return m_source.provider()->url(); }
intptr_t sourceID() const { return m_source.providerID(); }
void setFeatures(CodeFeatures features) { m_features = features; }
@@ -1469,6 +1403,7 @@ namespace JSC {
FunctionParameters(ParameterNode*);
};
+ enum FunctionNameIsInScopeToggle { FunctionNameIsNotInScope, FunctionNameIsInScope };
class FunctionBodyNode : public ScopeNode {
public:
static const bool isFunctionNode = true;
@@ -1480,13 +1415,16 @@ namespace JSC {
virtual RegisterID* emitBytecode(BytecodeGenerator&, RegisterID* = 0);
- void finishParsing(const SourceCode&, ParameterNode*, const Identifier&);
- void finishParsing(PassRefPtr<FunctionParameters>, const Identifier&);
+ void finishParsing(const SourceCode&, ParameterNode*, const Identifier&, FunctionNameIsInScopeToggle);
+ void finishParsing(PassRefPtr<FunctionParameters>, const Identifier&, FunctionNameIsInScopeToggle);
const Identifier& ident() { return m_ident; }
void setInferredName(const Identifier& inferredName) { ASSERT(!inferredName.isNull()); m_inferredName = inferredName; }
const Identifier& inferredName() { return m_inferredName.isEmpty() ? m_ident : m_inferredName; }
+ bool functionNameIsInScope() { return m_functionNameIsInScopeToggle == FunctionNameIsInScope; }
+ FunctionNameIsInScopeToggle functionNameIsInScopeToggle() { return m_functionNameIsInScopeToggle; }
+
static const bool scopeIsFunction = true;
private:
@@ -1495,6 +1433,7 @@ namespace JSC {
Identifier m_ident;
Identifier m_inferredName;
+ FunctionNameIsInScopeToggle m_functionNameIsInScopeToggle;
RefPtr<FunctionParameters> m_parameters;
};
diff --git a/Source/JavaScriptCore/parser/Parser.cpp b/Source/JavaScriptCore/parser/Parser.cpp
index 4fd671fb7..3555f07cd 100644
--- a/Source/JavaScriptCore/parser/Parser.cpp
+++ b/Source/JavaScriptCore/parser/Parser.cpp
@@ -40,7 +40,7 @@ using namespace std;
namespace JSC {
template <typename LexerType>
-Parser<LexerType>::Parser(JSGlobalData* globalData, const SourceCode& source, FunctionParameters* parameters, JSParserStrictness strictness, JSParserMode parserMode)
+Parser<LexerType>::Parser(JSGlobalData* globalData, const SourceCode& source, FunctionParameters* parameters, const Identifier& name, JSParserStrictness strictness, JSParserMode parserMode)
: m_globalData(globalData)
, m_source(&source)
, m_stack(wtfThreadData().stack())
@@ -71,6 +71,8 @@ Parser<LexerType>::Parser(JSGlobalData* globalData, const SourceCode& source, Fu
for (unsigned i = 0; i < parameters->size(); i++)
scope->declareParameter(&parameters->at(i));
}
+ if (!name.isNull())
+ scope->declareCallee(&name);
next();
m_lexer->setLastLineNumber(tokenLine());
}
@@ -81,9 +83,9 @@ Parser<LexerType>::~Parser()
}
template <typename LexerType>
-UString Parser<LexerType>::parseInner()
+String Parser<LexerType>::parseInner()
{
- UString parseError = UString();
+ String parseError = String();
unsigned oldFunctionCacheSize = m_functionCache ? m_functionCache->byteSize() : 0;
ASTBuilder context(const_cast<JSGlobalData*>(m_globalData), const_cast<SourceCode*>(m_source));
@@ -1507,7 +1509,7 @@ template <class TreeBuilder> TreeExpression Parser<LexerType>::parsePrimaryExpre
next();
TreeExpression re = context.createRegExp(location, *pattern, *flags, start);
if (!re) {
- const char* yarrErrorMsg = Yarr::checkSyntax(pattern->ustring());
+ const char* yarrErrorMsg = Yarr::checkSyntax(pattern->string());
ASSERT(!m_errorMessage.isNull());
failWithMessage(yarrErrorMsg);
}
diff --git a/Source/JavaScriptCore/parser/Parser.h b/Source/JavaScriptCore/parser/Parser.h
index 79a95b696..3a61da1a8 100644
--- a/Source/JavaScriptCore/parser/Parser.h
+++ b/Source/JavaScriptCore/parser/Parser.h
@@ -56,7 +56,6 @@ class Identifier;
class JSGlobalData;
class ProgramNode;
class SourceCode;
-class UString;
#define fail() do { if (!m_error) updateErrorMessage(); return 0; } while (0)
#define failWithToken(tok) do { if (!m_error) updateErrorMessage(tok); return 0; } while (0)
@@ -209,11 +208,16 @@ struct Scope {
bool isFunction() { return m_isFunction; }
bool isFunctionBoundary() { return m_isFunctionBoundary; }
+ void declareCallee(const Identifier* ident)
+ {
+ m_declaredVariables.add(ident->string().impl());
+ }
+
bool declareVariable(const Identifier* ident)
{
bool isValidStrictMode = m_globalData->propertyNames->eval != *ident && m_globalData->propertyNames->arguments != *ident;
m_isValidStrictMode = m_isValidStrictMode && isValidStrictMode;
- m_declaredVariables.add(ident->ustring().impl());
+ m_declaredVariables.add(ident->string().impl());
return isValidStrictMode;
}
@@ -229,7 +233,7 @@ struct Scope {
bool declareParameter(const Identifier* ident)
{
bool isArguments = m_globalData->propertyNames->arguments == *ident;
- bool isValidStrictMode = m_declaredVariables.add(ident->ustring().impl()).isNewEntry && m_globalData->propertyNames->eval != *ident && !isArguments;
+ bool isValidStrictMode = m_declaredVariables.add(ident->string().impl()).isNewEntry && m_globalData->propertyNames->eval != *ident && !isArguments;
m_isValidStrictMode = m_isValidStrictMode && isValidStrictMode;
if (isArguments)
m_shadowsArguments = true;
@@ -239,7 +243,7 @@ struct Scope {
void useVariable(const Identifier* ident, bool isEval)
{
m_usesEval |= isEval;
- m_usedVariables.add(ident->ustring().impl());
+ m_usedVariables.add(ident->string().impl());
}
void setNeedsFullActivation() { m_needsFullActivation = true; }
@@ -383,7 +387,7 @@ class Parser {
WTF_MAKE_FAST_ALLOCATED;
public:
- Parser(JSGlobalData*, const SourceCode&, FunctionParameters*, JSParserStrictness, JSParserMode);
+ Parser(JSGlobalData*, const SourceCode&, FunctionParameters*, const Identifier&, JSParserStrictness, JSParserMode);
~Parser();
template <class ParsedNode>
@@ -489,7 +493,7 @@ private:
}
Parser();
- UString parseInner();
+ String parseInner();
void didFinishParsing(SourceElements*, ParserArenaData<DeclarationStacks::VarStack>*,
ParserArenaData<DeclarationStacks::FunctionStack>*, CodeFeatures,
@@ -529,9 +533,9 @@ private:
return result;
}
- ALWAYS_INLINE UString getToken() {
+ ALWAYS_INLINE String getToken() {
SourceProvider* sourceProvider = m_source->provider();
- return UString(sourceProvider->getRange(tokenStart(), tokenEnd()).impl());
+ return sourceProvider->getRange(tokenStart(), tokenEnd());
}
ALWAYS_INLINE bool match(JSTokenType expected)
@@ -736,52 +740,34 @@ private:
ALWAYS_INLINE void updateErrorMessageSpecialCase(JSTokenType expectedToken)
{
- String errorMessage;
switch (expectedToken) {
case RESERVED_IF_STRICT:
- errorMessage = "Use of reserved word '";
- errorMessage += getToken().impl();
- errorMessage += "' in strict mode";
- m_errorMessage = errorMessage.impl();
+ m_errorMessage = "Use of reserved word '" + getToken() + "' in strict mode";
return;
case RESERVED:
- errorMessage = "Use of reserved word '";
- errorMessage += getToken().impl();
- errorMessage += "'";
- m_errorMessage = errorMessage.impl();
+ m_errorMessage = "Use of reserved word '" + getToken() + '\'';
return;
case NUMBER:
- errorMessage = "Unexpected number '";
- errorMessage += getToken().impl();
- errorMessage += "'";
- m_errorMessage = errorMessage.impl();
+ m_errorMessage = "Unexpected number '" + getToken() + '\'';
return;
case IDENT:
- errorMessage = "Expected an identifier but found '";
- errorMessage += getToken().impl();
- errorMessage += "' instead";
- m_errorMessage = errorMessage.impl();
+ m_errorMessage = "Expected an identifier but found '" + getToken() + "' instead";
return;
case STRING:
- errorMessage = "Unexpected string ";
- errorMessage += getToken().impl();
- m_errorMessage = errorMessage.impl();
+ m_errorMessage = "Unexpected string " + getToken();
return;
case ERRORTOK:
- errorMessage = "Unrecognized token '";
- errorMessage += getToken().impl();
- errorMessage += "'";
- m_errorMessage = errorMessage.impl();
+ m_errorMessage = "Unrecognized token '" + getToken() + '\'';
return;
case EOFTOK:
- m_errorMessage = "Unexpected EOF";
+ m_errorMessage = ASCIILiteral("Unexpected EOF");
return;
case RETURN:
- m_errorMessage = "Return statements are only valid inside functions";
+ m_errorMessage = ASCIILiteral("Return statements are only valid inside functions");
return;
default:
ASSERT_NOT_REACHED();
- m_errorMessage = "internal error";
+ m_errorMessage = ASCIILiteral("internal error");
return;
}
}
@@ -793,7 +779,7 @@ private:
if (!name)
updateErrorMessageSpecialCase(m_token.m_type);
else
- m_errorMessage = UString(String::format("Unexpected token '%s'", name).impl());
+ m_errorMessage = String::format("Unexpected token '%s'", name);
}
NEVER_INLINE void updateErrorMessage(JSTokenType expectedToken)
@@ -801,31 +787,25 @@ private:
m_error = true;
const char* name = getTokenName(expectedToken);
if (name)
- m_errorMessage = UString(String::format("Expected token '%s'", name).impl());
+ m_errorMessage = String::format("Expected token '%s'", name);
else {
if (!getTokenName(m_token.m_type))
updateErrorMessageSpecialCase(m_token.m_type);
else
updateErrorMessageSpecialCase(expectedToken);
- }
+ }
}
- NEVER_INLINE void updateErrorWithNameAndMessage(const char* beforeMsg, UString name, const char* afterMsg)
+ NEVER_INLINE void updateErrorWithNameAndMessage(const char* beforeMsg, String name, const char* afterMsg)
{
m_error = true;
- String prefix(beforeMsg);
- String postfix(afterMsg);
- prefix += " '";
- prefix += name.impl();
- prefix += "' ";
- prefix += postfix;
- m_errorMessage = prefix.impl();
+ m_errorMessage = makeString(beforeMsg, " '", name, "' ", afterMsg);
}
- NEVER_INLINE void updateErrorMessage(const char* msg)
+ NEVER_INLINE void updateErrorMessage(const char* msg)
{
m_error = true;
- m_errorMessage = UString(msg);
+ m_errorMessage = String(msg);
}
void startLoop() { currentScope()->startLoop(); }
@@ -938,7 +918,7 @@ private:
StackBounds m_stack;
bool m_error;
- UString m_errorMessage;
+ String m_errorMessage;
JSToken m_token;
bool m_allowsIn;
int m_lastLine;
@@ -982,7 +962,7 @@ PassRefPtr<ParsedNode> Parser<LexerType>::parse(JSGlobalObject* lexicalGlobalObj
ASSERT(lexicalGlobalObject);
ASSERT(exception && !*exception);
int errLine;
- UString errMsg;
+ String errMsg;
if (ParsedNode::scopeIsFunction)
m_lexer->setIsReparsing();
@@ -990,13 +970,13 @@ PassRefPtr<ParsedNode> Parser<LexerType>::parse(JSGlobalObject* lexicalGlobalObj
m_sourceElements = 0;
errLine = -1;
- errMsg = UString();
+ errMsg = String();
- UString parseError = parseInner();
+ String parseError = parseInner();
int lineNumber = m_lexer->lineNumber();
bool lexError = m_lexer->sawError();
- UString lexErrorMessage = lexError ? m_lexer->getErrorMessage() : UString();
+ String lexErrorMessage = lexError ? m_lexer->getErrorMessage() : String();
ASSERT(lexErrorMessage.isNull() != lexError);
m_lexer->clear();
@@ -1045,17 +1025,17 @@ PassRefPtr<ParsedNode> Parser<LexerType>::parse(JSGlobalObject* lexicalGlobalObj
}
template <class ParsedNode>
-PassRefPtr<ParsedNode> parse(JSGlobalData* globalData, JSGlobalObject* lexicalGlobalObject, const SourceCode& source, FunctionParameters* parameters, JSParserStrictness strictness, JSParserMode parserMode, Debugger* debugger, ExecState* execState, JSObject** exception)
+PassRefPtr<ParsedNode> parse(JSGlobalData* globalData, JSGlobalObject* lexicalGlobalObject, const SourceCode& source, FunctionParameters* parameters, const Identifier& name, JSParserStrictness strictness, JSParserMode parserMode, Debugger* debugger, ExecState* execState, JSObject** exception)
{
SamplingRegion samplingRegion("Parsing");
ASSERT(source.provider()->data());
if (source.provider()->data()->is8Bit()) {
- Parser< Lexer<LChar> > parser(globalData, source, parameters, strictness, parserMode);
+ Parser< Lexer<LChar> > parser(globalData, source, parameters, name, strictness, parserMode);
return parser.parse<ParsedNode>(lexicalGlobalObject, debugger, execState, exception);
}
- Parser< Lexer<UChar> > parser(globalData, source, parameters, strictness, parserMode);
+ Parser< Lexer<UChar> > parser(globalData, source, parameters, name, strictness, parserMode);
return parser.parse<ParsedNode>(lexicalGlobalObject, debugger, execState, exception);
}
diff --git a/Source/JavaScriptCore/parser/ParserArena.h b/Source/JavaScriptCore/parser/ParserArena.h
index 067b83a26..2f5b447b1 100644
--- a/Source/JavaScriptCore/parser/ParserArena.h
+++ b/Source/JavaScriptCore/parser/ParserArena.h
@@ -113,7 +113,7 @@ namespace JSC {
inline const Identifier& IdentifierArena::makeNumericIdentifier(JSGlobalData* globalData, double number)
{
- m_identifiers.append(Identifier(globalData, UString::number(number)));
+ m_identifiers.append(Identifier(globalData, String::numberToStringECMAScript(number)));
return m_identifiers.last();
}
diff --git a/Source/JavaScriptCore/parser/SourceCode.h b/Source/JavaScriptCore/parser/SourceCode.h
index 11a00337d..bda91b3c8 100644
--- a/Source/JavaScriptCore/parser/SourceCode.h
+++ b/Source/JavaScriptCore/parser/SourceCode.h
@@ -60,10 +60,10 @@ namespace JSC {
{
}
- UString toString() const
+ String toString() const
{
if (!m_provider)
- return UString();
+ return String();
return m_provider->getRange(m_startChar, m_endChar);
}
@@ -90,9 +90,9 @@ namespace JSC {
int m_firstLine;
};
- inline SourceCode makeSource(const UString& source, const UString& url = UString(), const TextPosition& startPosition = TextPosition::minimumPosition())
+ inline SourceCode makeSource(const String& source, const String& url = String(), const TextPosition& startPosition = TextPosition::minimumPosition())
{
- return SourceCode(UStringSourceProvider::create(source, url, startPosition), startPosition.m_line.oneBasedInt());
+ return SourceCode(StringSourceProvider::create(source, url, startPosition), startPosition.m_line.oneBasedInt());
}
inline SourceCode SourceCode::subExpression(unsigned openBrace, unsigned closeBrace, int firstLine)
diff --git a/Source/JavaScriptCore/parser/SourceProvider.h b/Source/JavaScriptCore/parser/SourceProvider.h
index 2e7f71785..7f2e8d995 100644
--- a/Source/JavaScriptCore/parser/SourceProvider.h
+++ b/Source/JavaScriptCore/parser/SourceProvider.h
@@ -30,7 +30,6 @@
#define SourceProvider_h
#include "SourceProviderCache.h"
-#include "UString.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/UnusedParam.h>
@@ -42,7 +41,7 @@ namespace JSC {
public:
static const intptr_t nullID = 1;
- SourceProvider(const UString& url, const TextPosition& startPosition, SourceProviderCache* cache = 0)
+ SourceProvider(const String& url, const TextPosition& startPosition, SourceProviderCache* cache = 0)
: m_url(url)
, m_startPosition(startPosition)
, m_validated(false)
@@ -57,11 +56,11 @@ namespace JSC {
delete m_cache;
}
- virtual UString getRange(int start, int end) const = 0;
+ virtual String getRange(int start, int end) const = 0;
virtual const StringImpl* data() const = 0;
virtual int length() const = 0;
- const UString& url() { return m_url; }
+ const String& url() { return m_url; }
TextPosition startPosition() const { return m_startPosition; }
intptr_t asID()
{
@@ -80,21 +79,21 @@ namespace JSC {
private:
virtual void cacheSizeChanged(int delta) { UNUSED_PARAM(delta); }
- UString m_url;
+ String m_url;
TextPosition m_startPosition;
bool m_validated;
SourceProviderCache* m_cache;
bool m_cacheOwned;
};
- class UStringSourceProvider : public SourceProvider {
+ class StringSourceProvider : public SourceProvider {
public:
- static PassRefPtr<UStringSourceProvider> create(const UString& source, const UString& url, const TextPosition& startPosition = TextPosition::minimumPosition())
+ static PassRefPtr<StringSourceProvider> create(const String& source, const String& url, const TextPosition& startPosition = TextPosition::minimumPosition())
{
- return adoptRef(new UStringSourceProvider(source, url, startPosition));
+ return adoptRef(new StringSourceProvider(source, url, startPosition));
}
- virtual UString getRange(int start, int end) const OVERRIDE
+ virtual String getRange(int start, int end) const OVERRIDE
{
return m_source.substringSharingImpl(start, end - start);
}
@@ -102,13 +101,13 @@ namespace JSC {
int length() const { return m_source.length(); }
private:
- UStringSourceProvider(const UString& source, const UString& url, const TextPosition& startPosition)
+ StringSourceProvider(const String& source, const String& url, const TextPosition& startPosition)
: SourceProvider(url, startPosition)
, m_source(source)
{
}
- UString m_source;
+ String m_source;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/parser/SourceProviderCache.h b/Source/JavaScriptCore/parser/SourceProviderCache.h
index e94230d10..c346fba0c 100644
--- a/Source/JavaScriptCore/parser/SourceProviderCache.h
+++ b/Source/JavaScriptCore/parser/SourceProviderCache.h
@@ -34,6 +34,7 @@
namespace JSC {
class SourceProviderCache {
+ WTF_MAKE_FAST_ALLOCATED;
public:
SourceProviderCache() : m_contentByteSize(0) {}
JS_EXPORT_PRIVATE ~SourceProviderCache();
diff --git a/Source/JavaScriptCore/parser/SourceProviderCacheItem.h b/Source/JavaScriptCore/parser/SourceProviderCacheItem.h
index bfd35648e..9ca121e2a 100644
--- a/Source/JavaScriptCore/parser/SourceProviderCacheItem.h
+++ b/Source/JavaScriptCore/parser/SourceProviderCacheItem.h
@@ -33,6 +33,7 @@
namespace JSC {
class SourceProviderCacheItem {
+ WTF_MAKE_FAST_ALLOCATED;
public:
SourceProviderCacheItem(int closeBraceLine, int closeBracePos)
: closeBraceLine(closeBraceLine)
diff --git a/Source/JavaScriptCore/parser/SyntaxChecker.h b/Source/JavaScriptCore/parser/SyntaxChecker.h
index 7d44ef3c6..0e6889752 100644
--- a/Source/JavaScriptCore/parser/SyntaxChecker.h
+++ b/Source/JavaScriptCore/parser/SyntaxChecker.h
@@ -144,7 +144,7 @@ public:
ExpressionType createNull(const JSTokenLocation&) { return NullExpr; }
ExpressionType createBracketAccess(const JSTokenLocation&, ExpressionType, ExpressionType, bool, int, int, int) { return BracketExpr; }
ExpressionType createDotAccess(const JSTokenLocation&, ExpressionType, const Identifier*, int, int, int) { return DotExpr; }
- ExpressionType createRegExp(const JSTokenLocation&, const Identifier& pattern, const Identifier&, int) { return Yarr::checkSyntax(pattern.ustring()) ? 0 : RegExpExpr; }
+ ExpressionType createRegExp(const JSTokenLocation&, const Identifier& pattern, const Identifier&, int) { return Yarr::checkSyntax(pattern.string()) ? 0 : RegExpExpr; }
ExpressionType createNewExpr(const JSTokenLocation&, ExpressionType, int, int, int, int) { return NewExpr; }
ExpressionType createNewExpr(const JSTokenLocation&, ExpressionType, int, int) { return NewExpr; }
ExpressionType createConditionalExpr(const JSTokenLocation&, ExpressionType, ExpressionType, ExpressionType) { return ConditionalExpr; }
diff --git a/Source/JavaScriptCore/profiler/CallIdentifier.h b/Source/JavaScriptCore/profiler/CallIdentifier.h
index 2da8a2ff1..bf9f904b0 100644
--- a/Source/JavaScriptCore/profiler/CallIdentifier.h
+++ b/Source/JavaScriptCore/profiler/CallIdentifier.h
@@ -27,17 +27,17 @@
#ifndef CallIdentifier_h
#define CallIdentifier_h
-#include <runtime/UString.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
struct CallIdentifier {
WTF_MAKE_FAST_ALLOCATED;
public:
- UString m_name;
- UString m_url;
+ String m_name;
+ String m_url;
unsigned m_lineNumber;
CallIdentifier()
@@ -45,7 +45,7 @@ namespace JSC {
{
}
- CallIdentifier(const UString& name, const UString& url, int lineNumber)
+ CallIdentifier(const String& name, const String& url, int lineNumber)
: m_name(name)
, m_url(!url.isNull() ? url : "")
, m_lineNumber(lineNumber)
@@ -87,7 +87,7 @@ namespace WTF {
template<> struct HashTraits<JSC::CallIdentifier> : GenericHashTraits<JSC::CallIdentifier> {
static void constructDeletedValue(JSC::CallIdentifier& slot)
{
- new (NotNull, &slot) JSC::CallIdentifier(JSC::UString(), JSC::UString(), std::numeric_limits<unsigned>::max());
+ new (NotNull, &slot) JSC::CallIdentifier(String(), String(), std::numeric_limits<unsigned>::max());
}
static bool isDeletedValue(const JSC::CallIdentifier& value)
{
diff --git a/Source/JavaScriptCore/profiler/Profile.cpp b/Source/JavaScriptCore/profiler/Profile.cpp
index 92e32c4ba..51f871898 100644
--- a/Source/JavaScriptCore/profiler/Profile.cpp
+++ b/Source/JavaScriptCore/profiler/Profile.cpp
@@ -32,18 +32,18 @@
namespace JSC {
-PassRefPtr<Profile> Profile::create(const UString& title, unsigned uid)
+PassRefPtr<Profile> Profile::create(const String& title, unsigned uid)
{
return adoptRef(new Profile(title, uid));
}
-Profile::Profile(const UString& title, unsigned uid)
+Profile::Profile(const String& title, unsigned uid)
: m_title(title)
, m_uid(uid)
{
// FIXME: When multi-threading is supported this will be a vector and calls
// into the profiler will need to know which thread it is executing on.
- m_head = ProfileNode::create(0, CallIdentifier("Thread_1", UString(), 0), 0, 0);
+ m_head = ProfileNode::create(0, CallIdentifier("Thread_1", String(), 0), 0, 0);
}
Profile::~Profile()
@@ -128,7 +128,7 @@ void Profile::debugPrintDataSampleStyle() const
std::sort(sortedFunctions.begin(), sortedFunctions.end(), functionNameCountPairComparator);
for (NameCountPairVector::iterator it = sortedFunctions.begin(); it != sortedFunctions.end(); ++it)
- dataLog(" %-12d%s\n", (*it).second, UString((*it).first).utf8().data());
+ dataLog(" %-12d%s\n", (*it).second, String((*it).first).utf8().data());
dataLog("\nSort by top of stack, same collapsed (when >= 5):\n");
}
diff --git a/Source/JavaScriptCore/profiler/Profile.h b/Source/JavaScriptCore/profiler/Profile.h
index 9455e3595..c1c69193c 100644
--- a/Source/JavaScriptCore/profiler/Profile.h
+++ b/Source/JavaScriptCore/profiler/Profile.h
@@ -27,18 +27,18 @@
#define Profile_h
#include "ProfileNode.h"
-#include <runtime/UString.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
class Profile : public RefCounted<Profile> {
public:
- static PassRefPtr<Profile> create(const UString& title, unsigned uid);
+ static PassRefPtr<Profile> create(const String& title, unsigned uid);
virtual ~Profile();
- const UString& title() const { return m_title; }
+ const String& title() const { return m_title; }
ProfileNode* head() const { return m_head.get(); }
void setHead(PassRefPtr<ProfileNode> head) { m_head = head; }
double totalTime() const { return m_head->totalTime(); }
@@ -56,13 +56,13 @@ namespace JSC {
#endif
protected:
- Profile(const UString& title, unsigned uid);
+ Profile(const String& title, unsigned uid);
private:
void removeProfileStart();
void removeProfileEnd();
- UString m_title;
+ String m_title;
RefPtr<ProfileNode> m_head;
unsigned int m_uid;
};
diff --git a/Source/JavaScriptCore/profiler/ProfileGenerator.cpp b/Source/JavaScriptCore/profiler/ProfileGenerator.cpp
index 5db38bca8..09877d3c8 100644
--- a/Source/JavaScriptCore/profiler/ProfileGenerator.cpp
+++ b/Source/JavaScriptCore/profiler/ProfileGenerator.cpp
@@ -40,12 +40,12 @@ namespace JSC {
static const char* NonJSExecution = "(idle)";
-PassRefPtr<ProfileGenerator> ProfileGenerator::create(ExecState* exec, const UString& title, unsigned uid)
+PassRefPtr<ProfileGenerator> ProfileGenerator::create(ExecState* exec, const String& title, unsigned uid)
{
return adoptRef(new ProfileGenerator(exec, title, uid));
}
-ProfileGenerator::ProfileGenerator(ExecState* exec, const UString& title, unsigned uid)
+ProfileGenerator::ProfileGenerator(ExecState* exec, const String& title, unsigned uid)
: m_origin(exec ? exec->lexicalGlobalObject() : 0)
, m_profileGroup(exec ? exec->lexicalGlobalObject()->profileGroup() : 0)
{
@@ -59,7 +59,7 @@ void ProfileGenerator::addParentForConsoleStart(ExecState* exec)
{
int lineNumber;
intptr_t sourceID;
- UString sourceURL;
+ String sourceURL;
JSValue function;
exec->interpreter()->retrieveLastCaller(exec, lineNumber, sourceID, sourceURL, function);
@@ -67,7 +67,7 @@ void ProfileGenerator::addParentForConsoleStart(ExecState* exec)
m_head->insertNode(m_currentNode.get());
}
-const UString& ProfileGenerator::title() const
+const String& ProfileGenerator::title() const
{
return m_profile->title();
}
@@ -135,7 +135,7 @@ void ProfileGenerator::stopProfiling()
m_currentNode = m_currentNode->parent();
if (double headSelfTime = m_head->selfTime()) {
- RefPtr<ProfileNode> idleNode = ProfileNode::create(0, CallIdentifier(NonJSExecution, UString(), 0), m_head.get(), m_head.get());
+ RefPtr<ProfileNode> idleNode = ProfileNode::create(0, CallIdentifier(NonJSExecution, String(), 0), m_head.get(), m_head.get());
idleNode->setTotalTime(headSelfTime);
idleNode->setSelfTime(headSelfTime);
diff --git a/Source/JavaScriptCore/profiler/ProfileGenerator.h b/Source/JavaScriptCore/profiler/ProfileGenerator.h
index 8c8b81731..40cc8de01 100644
--- a/Source/JavaScriptCore/profiler/ProfileGenerator.h
+++ b/Source/JavaScriptCore/profiler/ProfileGenerator.h
@@ -37,15 +37,14 @@ namespace JSC {
class JSGlobalObject;
class Profile;
class ProfileNode;
- class UString;
struct CallIdentifier;
class ProfileGenerator : public RefCounted<ProfileGenerator> {
public:
- static PassRefPtr<ProfileGenerator> create(ExecState*, const UString& title, unsigned uid);
+ static PassRefPtr<ProfileGenerator> create(ExecState*, const WTF::String& title, unsigned uid);
// Members
- const UString& title() const;
+ const WTF::String& title() const;
PassRefPtr<Profile> profile() const { return m_profile; }
JSGlobalObject* origin() const { return m_origin; }
unsigned profileGroup() const { return m_profileGroup; }
@@ -62,7 +61,7 @@ namespace JSC {
typedef void (ProfileGenerator::*ProfileFunction)(ExecState* callerOrHandlerCallFrame, const CallIdentifier& callIdentifier);
private:
- ProfileGenerator(ExecState*, const UString& title, unsigned uid);
+ ProfileGenerator(ExecState*, const WTF::String& title, unsigned uid);
void addParentForConsoleStart(ExecState*);
void removeProfileStart();
diff --git a/Source/JavaScriptCore/profiler/ProfileNode.h b/Source/JavaScriptCore/profiler/ProfileNode.h
index ffe7b6f9d..26000a827 100644
--- a/Source/JavaScriptCore/profiler/ProfileNode.h
+++ b/Source/JavaScriptCore/profiler/ProfileNode.h
@@ -64,8 +64,8 @@ namespace JSC {
// CallIdentifier members
ExecState* callerCallFrame() const { return m_callerCallFrame; }
const CallIdentifier& callIdentifier() const { return m_callIdentifier; }
- const UString& functionName() const { return m_callIdentifier.m_name; }
- const UString& url() const { return m_callIdentifier.m_url; }
+ const String& functionName() const { return m_callIdentifier.m_name; }
+ const String& url() const { return m_callIdentifier.m_url; }
unsigned lineNumber() const { return m_callIdentifier.m_lineNumber; }
// Relationships
@@ -146,8 +146,8 @@ namespace JSC {
static inline bool selfTimeAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->selfTime() < b->selfTime(); }
static inline bool callsDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->numberOfCalls() > b->numberOfCalls(); }
static inline bool callsAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->numberOfCalls() < b->numberOfCalls(); }
- static inline bool functionNameDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->functionName() > b->functionName(); }
- static inline bool functionNameAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return a->functionName() < b->functionName(); }
+ static inline bool functionNameDescendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return codePointCompareLessThan(b->functionName(), a->functionName()); }
+ static inline bool functionNameAscendingComparator(const RefPtr<ProfileNode>& a, const RefPtr<ProfileNode>& b) { return codePointCompareLessThan(a->functionName(), b->functionName()); }
ExecState* m_callerCallFrame;
CallIdentifier m_callIdentifier;
diff --git a/Source/JavaScriptCore/profiler/Profiler.cpp b/Source/JavaScriptCore/profiler/Profiler.cpp
index 723393b5c..9642a0684 100644
--- a/Source/JavaScriptCore/profiler/Profiler.cpp
+++ b/Source/JavaScriptCore/profiler/Profiler.cpp
@@ -39,7 +39,6 @@
#include "Profile.h"
#include "ProfileGenerator.h"
#include "ProfileNode.h"
-#include "UStringConcatenate.h"
#include <stdio.h>
namespace JSC {
@@ -48,7 +47,7 @@ static const char* GlobalCodeExecution = "(program)";
static const char* AnonymousFunction = "(anonymous function)";
static unsigned ProfilesUID = 0;
-static CallIdentifier createCallIdentifierFromFunctionImp(ExecState*, JSObject*, const UString& defaultSourceURL, int defaultLineNumber);
+static CallIdentifier createCallIdentifierFromFunctionImp(ExecState*, JSObject*, const String& defaultSourceURL, int defaultLineNumber);
Profiler* Profiler::s_sharedProfiler = 0;
@@ -59,7 +58,7 @@ Profiler* Profiler::profiler()
return s_sharedProfiler;
}
-void Profiler::startProfiling(ExecState* exec, const UString& title)
+void Profiler::startProfiling(ExecState* exec, const String& title)
{
ASSERT_ARG(title, !title.isNull());
@@ -78,7 +77,7 @@ void Profiler::startProfiling(ExecState* exec, const UString& title)
m_currentProfiles.append(profileGenerator);
}
-PassRefPtr<Profile> Profiler::stopProfiling(ExecState* exec, const UString& title)
+PassRefPtr<Profile> Profiler::stopProfiling(ExecState* exec, const String& title)
{
JSGlobalObject* origin = exec ? exec->lexicalGlobalObject() : 0;
for (ptrdiff_t i = m_currentProfiles.size() - 1; i >= 0; --i) {
@@ -126,7 +125,7 @@ void Profiler::willExecute(ExecState* callerCallFrame, JSValue function)
dispatchFunctionToProfiles(callerCallFrame, m_currentProfiles, &ProfileGenerator::willExecute, createCallIdentifier(callerCallFrame, function, "", 0), callerCallFrame->lexicalGlobalObject()->profileGroup());
}
-void Profiler::willExecute(ExecState* callerCallFrame, const UString& sourceURL, int startingLineNumber)
+void Profiler::willExecute(ExecState* callerCallFrame, const String& sourceURL, int startingLineNumber)
{
ASSERT(!m_currentProfiles.isEmpty());
@@ -142,7 +141,7 @@ void Profiler::didExecute(ExecState* callerCallFrame, JSValue function)
dispatchFunctionToProfiles(callerCallFrame, m_currentProfiles, &ProfileGenerator::didExecute, createCallIdentifier(callerCallFrame, function, "", 0), callerCallFrame->lexicalGlobalObject()->profileGroup());
}
-void Profiler::didExecute(ExecState* callerCallFrame, const UString& sourceURL, int startingLineNumber)
+void Profiler::didExecute(ExecState* callerCallFrame, const String& sourceURL, int startingLineNumber)
{
ASSERT(!m_currentProfiles.isEmpty());
@@ -156,7 +155,7 @@ void Profiler::exceptionUnwind(ExecState* handlerCallFrame)
dispatchFunctionToProfiles(handlerCallFrame, m_currentProfiles, &ProfileGenerator::exceptionUnwind, createCallIdentifier(handlerCallFrame, JSValue(), "", 0), handlerCallFrame->lexicalGlobalObject()->profileGroup());
}
-CallIdentifier Profiler::createCallIdentifier(ExecState* exec, JSValue functionValue, const UString& defaultSourceURL, int defaultLineNumber)
+CallIdentifier Profiler::createCallIdentifier(ExecState* exec, JSValue functionValue, const String& defaultSourceURL, int defaultLineNumber)
{
if (!functionValue)
return CallIdentifier(GlobalCodeExecution, defaultSourceURL, defaultLineNumber);
@@ -164,12 +163,12 @@ CallIdentifier Profiler::createCallIdentifier(ExecState* exec, JSValue functionV
return CallIdentifier("(unknown)", defaultSourceURL, defaultLineNumber);
if (asObject(functionValue)->inherits(&JSFunction::s_info) || asObject(functionValue)->inherits(&InternalFunction::s_info))
return createCallIdentifierFromFunctionImp(exec, asObject(functionValue), defaultSourceURL, defaultLineNumber);
- return CallIdentifier(makeUString("(", asObject(functionValue)->methodTable()->className(asObject(functionValue)), " object)"), defaultSourceURL, defaultLineNumber);
+ return CallIdentifier(makeString("(", asObject(functionValue)->methodTable()->className(asObject(functionValue)), " object)"), defaultSourceURL, defaultLineNumber);
}
-CallIdentifier createCallIdentifierFromFunctionImp(ExecState* exec, JSObject* function, const UString& defaultSourceURL, int defaultLineNumber)
+CallIdentifier createCallIdentifierFromFunctionImp(ExecState* exec, JSObject* function, const String& defaultSourceURL, int defaultLineNumber)
{
- const UString& name = getCalculatedDisplayName(exec, function);
+ const String& name = getCalculatedDisplayName(exec, function);
JSFunction* jsFunction = jsDynamicCast<JSFunction*>(function);
if (jsFunction && !jsFunction->isHostFunction())
return CallIdentifier(name.isEmpty() ? AnonymousFunction : name, jsFunction->jsExecutable()->sourceURL(), jsFunction->jsExecutable()->lineNo());
diff --git a/Source/JavaScriptCore/profiler/Profiler.h b/Source/JavaScriptCore/profiler/Profiler.h
index 877065eca..6852457c7 100644
--- a/Source/JavaScriptCore/profiler/Profiler.h
+++ b/Source/JavaScriptCore/profiler/Profiler.h
@@ -42,23 +42,22 @@ namespace JSC {
class JSObject;
class JSValue;
class ProfileGenerator;
- class UString;
- struct CallIdentifier;
+ struct CallIdentifier;
class Profiler {
WTF_MAKE_FAST_ALLOCATED;
public:
JS_EXPORT_PRIVATE static Profiler* profiler();
- static CallIdentifier createCallIdentifier(ExecState* exec, JSValue, const UString& sourceURL, int lineNumber);
+ static CallIdentifier createCallIdentifier(ExecState*, JSValue, const WTF::String& sourceURL, int lineNumber);
- JS_EXPORT_PRIVATE void startProfiling(ExecState*, const UString& title);
- JS_EXPORT_PRIVATE PassRefPtr<Profile> stopProfiling(ExecState*, const UString& title);
+ JS_EXPORT_PRIVATE void startProfiling(ExecState*, const WTF::String& title);
+ JS_EXPORT_PRIVATE PassRefPtr<Profile> stopProfiling(ExecState*, const WTF::String& title);
void stopProfiling(JSGlobalObject*);
void willExecute(ExecState* callerCallFrame, JSValue function);
- void willExecute(ExecState* callerCallFrame, const UString& sourceURL, int startingLineNumber);
+ void willExecute(ExecState* callerCallFrame, const WTF::String& sourceURL, int startingLineNumber);
void didExecute(ExecState* callerCallFrame, JSValue function);
- void didExecute(ExecState* callerCallFrame, const UString& sourceURL, int startingLineNumber);
+ void didExecute(ExecState* callerCallFrame, const WTF::String& sourceURL, int startingLineNumber);
void exceptionUnwind(ExecState* handlerCallFrame);
diff --git a/Source/JavaScriptCore/runtime/ArgList.cpp b/Source/JavaScriptCore/runtime/ArgList.cpp
index 873ddc2da..301abd530 100644
--- a/Source/JavaScriptCore/runtime/ArgList.cpp
+++ b/Source/JavaScriptCore/runtime/ArgList.cpp
@@ -24,7 +24,7 @@
#include "HeapRootVisitor.h"
#include "JSValue.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
using std::min;
diff --git a/Source/JavaScriptCore/runtime/ArgList.h b/Source/JavaScriptCore/runtime/ArgList.h
index 1512a0fa1..29010b1ee 100644
--- a/Source/JavaScriptCore/runtime/ArgList.h
+++ b/Source/JavaScriptCore/runtime/ArgList.h
@@ -24,7 +24,6 @@
#include "CallFrame.h"
#include "Register.h"
-#include "WriteBarrier.h"
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
diff --git a/Source/JavaScriptCore/runtime/Arguments.cpp b/Source/JavaScriptCore/runtime/Arguments.cpp
index 96791c326..fe79f740e 100644
--- a/Source/JavaScriptCore/runtime/Arguments.cpp
+++ b/Source/JavaScriptCore/runtime/Arguments.cpp
@@ -48,8 +48,7 @@ void Arguments::visitChildren(JSCell* cell, SlotVisitor& visitor)
if (thisObject->d->registerArray)
visitor.appendValues(thisObject->d->registerArray.get(), thisObject->d->numArguments);
visitor.append(&thisObject->d->callee);
- if (thisObject->d->activation)
- visitor.append(&thisObject->d->activation);
+ visitor.append(&thisObject->d->activation);
}
void Arguments::destroy(JSCell* cell)
@@ -99,7 +98,7 @@ bool Arguments::getOwnPropertySlotByIndex(JSCell* cell, ExecState* exec, unsigne
return true;
}
- return JSObject::getOwnPropertySlot(thisObject, exec, Identifier(exec, UString::number(i)), slot);
+ return JSObject::getOwnPropertySlot(thisObject, exec, Identifier(exec, String::number(i)), slot);
}
void Arguments::createStrictModeCallerIfNecessary(ExecState* exec)
@@ -187,7 +186,7 @@ void Arguments::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyN
Arguments* thisObject = jsCast<Arguments*>(object);
for (unsigned i = 0; i < thisObject->d->numArguments; ++i) {
if (!thisObject->d->deletedArguments || !thisObject->d->deletedArguments[i])
- propertyNames.add(Identifier(exec, UString::number(i)));
+ propertyNames.add(Identifier(exec, String::number(i)));
}
if (mode == IncludeDontEnumProperties) {
propertyNames.add(exec->propertyNames().callee);
@@ -205,7 +204,7 @@ void Arguments::putByIndex(JSCell* cell, ExecState* exec, unsigned i, JSValue va
}
PutPropertySlot slot(shouldThrow);
- JSObject::put(thisObject, exec, Identifier(exec, UString::number(i)), value, slot);
+ JSObject::put(thisObject, exec, Identifier(exec, String::number(i)), value, slot);
}
void Arguments::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
@@ -256,7 +255,7 @@ bool Arguments::deletePropertyByIndex(JSCell* cell, ExecState* exec, unsigned i)
}
}
- return JSObject::deleteProperty(thisObject, exec, Identifier(exec, UString::number(i)));
+ return JSObject::deleteProperty(thisObject, exec, Identifier(exec, String::number(i)));
}
bool Arguments::deleteProperty(JSCell* cell, ExecState* exec, PropertyName propertyName)
diff --git a/Source/JavaScriptCore/runtime/Arguments.h b/Source/JavaScriptCore/runtime/Arguments.h
index 90eed25fa..1d0bffd6b 100644
--- a/Source/JavaScriptCore/runtime/Arguments.h
+++ b/Source/JavaScriptCore/runtime/Arguments.h
@@ -49,7 +49,7 @@ namespace JSC {
bool overrodeCaller;
bool isStrictMode;
- WriteBarrier<Unknown>* registers;
+ WriteBarrierBase<Unknown>* registers;
OwnArrayPtr<WriteBarrier<Unknown> > registerArray;
OwnArrayPtr<bool> deletedArguments;
@@ -110,6 +110,7 @@ namespace JSC {
d->activation.set(globalData, this, activation);
d->registers = &activation->registerAt(0);
}
+ void setRegisters(WriteBarrierBase<Unknown>* registers) { d->registers = registers; }
static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
{
@@ -138,7 +139,7 @@ namespace JSC {
void createStrictModeCallerIfNecessary(ExecState*);
void createStrictModeCalleeIfNecessary(ExecState*);
- WriteBarrier<Unknown>& argument(size_t);
+ WriteBarrierBase<Unknown>& argument(size_t);
void init(CallFrame*);
@@ -165,7 +166,7 @@ namespace JSC {
{
}
- inline WriteBarrier<Unknown>& Arguments::argument(size_t i)
+ inline WriteBarrierBase<Unknown>& Arguments::argument(size_t i)
{
return d->registers[CallFrame::argumentOffset(i)];
}
@@ -177,7 +178,7 @@ namespace JSC {
JSFunction* callee = jsCast<JSFunction*>(callFrame->callee());
d->numArguments = callFrame->argumentCount();
- d->registers = reinterpret_cast<WriteBarrier<Unknown>*>(callFrame->registers());
+ d->registers = reinterpret_cast<WriteBarrierBase<Unknown>*>(callFrame->registers());
d->callee.set(callFrame->globalData(), this, callee);
d->overrodeLength = false;
d->overrodeCallee = false;
@@ -197,7 +198,7 @@ namespace JSC {
JSFunction* callee = inlineCallFrame->callee.get();
d->numArguments = inlineCallFrame->arguments.size() - 1;
- d->registers = reinterpret_cast<WriteBarrier<Unknown>*>(callFrame->registers()) + inlineCallFrame->stackOffset;
+ d->registers = reinterpret_cast<WriteBarrierBase<Unknown>*>(callFrame->registers()) + inlineCallFrame->stackOffset;
d->callee.set(callFrame->globalData(), this, callee);
d->overrodeLength = false;
d->overrodeCallee = false;
diff --git a/Source/JavaScriptCore/runtime/ArrayConstructor.cpp b/Source/JavaScriptCore/runtime/ArrayConstructor.cpp
index 83e48ca1b..c9a6dc600 100644
--- a/Source/JavaScriptCore/runtime/ArrayConstructor.cpp
+++ b/Source/JavaScriptCore/runtime/ArrayConstructor.cpp
@@ -85,7 +85,7 @@ static inline JSObject* constructArrayWithSizeQuirk(ExecState* exec, const ArgLi
if (args.size() == 1 && args.at(0).isNumber()) {
uint32_t n = args.at(0).toUInt32(exec);
if (n != args.at(0).toNumber(exec))
- return throwError(exec, createRangeError(exec, "Array size is not a small enough positive integer."));
+ return throwError(exec, createRangeError(exec, ASCIILiteral("Array size is not a small enough positive integer.")));
return constructEmptyArray(exec, globalObject, n);
}
diff --git a/Source/JavaScriptCore/runtime/ArrayPrototype.cpp b/Source/JavaScriptCore/runtime/ArrayPrototype.cpp
index a97cf82de..4b13f993c 100644
--- a/Source/JavaScriptCore/runtime/ArrayPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/ArrayPrototype.cpp
@@ -77,7 +77,7 @@ static inline bool isNumericCompareFunction(ExecState* exec, CallType callType,
FunctionExecutable* executable = callData.js.functionExecutable;
- JSObject* error = executable->compileForCall(exec, callData.js.scopeChain);
+ JSObject* error = executable->compileForCall(exec, callData.js.scope);
if (error)
return false;
@@ -205,13 +205,13 @@ static inline void shift(ExecState* exec, JSObject* thisObj, unsigned header, un
if (exec->hadException())
return;
} else if (!thisObj->methodTable()->deletePropertyByIndex(thisObj, exec, to)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return;
}
}
for (unsigned k = length; k > length - count; --k) {
if (!thisObj->methodTable()->deletePropertyByIndex(thisObj, exec, k - 1)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return;
}
}
@@ -243,7 +243,7 @@ static inline void unshift(ExecState* exec, JSObject* thisObj, unsigned header,
return;
thisObj->methodTable()->putByIndex(thisObj, exec, to, value, true);
} else if (!thisObj->methodTable()->deletePropertyByIndex(thisObj, exec, to)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return;
}
if (exec->hadException())
@@ -300,7 +300,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec)
if (element.isUndefinedOrNull())
continue;
- UString str = element.toUString(exec);
+ String str = element.toWTFString(exec);
strBuffer[k] = str.impl();
totalSize += str.length();
allStrings8Bit = allStrings8Bit && str.is8Bit();
@@ -328,7 +328,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec)
buffer.append(rep->characters8(), rep->length());
}
ASSERT(buffer.size() == totalSize);
- return JSValue::encode(jsString(exec, UString::adopt(buffer)));
+ return JSValue::encode(jsString(exec, String::adopt(buffer)));
}
Vector<UChar> buffer;
@@ -343,7 +343,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncToString(ExecState* exec)
buffer.append(rep->characters(), rep->length());
}
ASSERT(buffer.size() == totalSize);
- return JSValue::encode(jsString(exec, UString::adopt(buffer)));
+ return JSValue::encode(jsString(exec, String::adopt(buffer)));
}
EncodedJSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec)
@@ -362,7 +362,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec)
if (JSValue earlyReturnValue = checker.earlyReturnValue())
return JSValue::encode(earlyReturnValue);
- UString separator(",");
+ String separator(",", String::ConstructFromLiteral);
JSStringJoiner stringJoiner(separator, length);
for (unsigned k = 0; k < length; k++) {
JSValue element = thisObj->get(exec, k);
@@ -373,13 +373,13 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncToLocaleString(ExecState* exec)
JSValue conversionFunction = o->get(exec, exec->propertyNames().toLocaleString);
if (exec->hadException())
return JSValue::encode(jsUndefined());
- UString str;
+ String str;
CallData callData;
CallType callType = getCallData(conversionFunction, callData);
if (callType != CallTypeNone)
- str = call(exec, conversionFunction, callType, callData, element, exec->emptyList()).toUString(exec);
+ str = call(exec, conversionFunction, callType, callData, element, exec->emptyList()).toWTFString(exec);
else
- str = element.toUString(exec);
+ str = element.toWTFString(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
stringJoiner.append(str);
@@ -400,11 +400,11 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec)
if (JSValue earlyReturnValue = checker.earlyReturnValue())
return JSValue::encode(earlyReturnValue);
- UString separator;
+ String separator;
if (!exec->argument(0).isUndefined())
- separator = exec->argument(0).toUString(exec);
+ separator = exec->argument(0).toWTFString(exec);
if (separator.isNull())
- separator = UString(",");
+ separator = String(",", String::ConstructFromLiteral);
JSStringJoiner stringJoiner(separator, length);
@@ -418,18 +418,18 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncJoin(ExecState* exec)
JSValue element = array->getIndex(k);
if (!element.isUndefinedOrNull())
- stringJoiner.append(element.toUStringInline(exec));
+ stringJoiner.append(element.toWTFStringInline(exec));
else
- stringJoiner.append(UString());
+ stringJoiner.append(String());
}
}
for (; k < length; k++) {
JSValue element = thisObj->get(exec, k);
if (!element.isUndefinedOrNull())
- stringJoiner.append(element.toUStringInline(exec));
+ stringJoiner.append(element.toWTFStringInline(exec));
else
- stringJoiner.append(UString());
+ stringJoiner.append(String());
}
return JSValue::encode(stringJoiner.build(exec));
@@ -491,7 +491,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncPop(ExecState* exec)
if (exec->hadException())
return JSValue::encode(jsUndefined());
if (!thisObj->methodTable()->deletePropertyByIndex(thisObj, exec, length - 1)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return JSValue::encode(jsUndefined());
}
putProperty(exec, thisObj, exec->propertyNames().length, jsNumber(length - 1));
@@ -520,7 +520,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncPush(ExecState* exec)
thisObj->methodTable()->putByIndex(thisObj, exec, length + n, exec->argument(n), true);
else {
PutPropertySlot slot;
- Identifier propertyName(exec, JSValue(static_cast<int64_t>(length) + static_cast<int64_t>(n)).toUString(exec));
+ Identifier propertyName(exec, JSValue(static_cast<int64_t>(length) + static_cast<int64_t>(n)).toWTFString(exec));
thisObj->methodTable()->put(thisObj, exec, propertyName, exec->argument(n), slot);
}
if (exec->hadException())
@@ -553,7 +553,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState* exec)
if (exec->hadException())
return JSValue::encode(jsUndefined());
} else if (!thisObj->methodTable()->deletePropertyByIndex(thisObj, exec, k)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return JSValue::encode(jsUndefined());
}
@@ -562,7 +562,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncReverse(ExecState* exec)
if (exec->hadException())
return JSValue::encode(jsUndefined());
} else if (!thisObj->methodTable()->deletePropertyByIndex(thisObj, exec, lk1)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return JSValue::encode(jsUndefined());
}
}
@@ -661,7 +661,7 @@ EncodedJSValue JSC_HOST_CALL arrayProtoFuncSort(ExecState* exec)
l.append(minObj);
compareResult = call(exec, function, callType, callData, jsUndefined(), l).toNumber(exec);
} else
- compareResult = (jObj.toUStringInline(exec) < minObj.toUStringInline(exec)) ? -1 : 1;
+ compareResult = codePointCompareLessThan(jObj.toWTFStringInline(exec), minObj.toWTFStringInline(exec)) ? -1 : 1;
if (compareResult < 0) {
themin = j;
diff --git a/Source/JavaScriptCore/runtime/BooleanObject.cpp b/Source/JavaScriptCore/runtime/BooleanObject.cpp
index 37c6eab0d..bf2655bbb 100644
--- a/Source/JavaScriptCore/runtime/BooleanObject.cpp
+++ b/Source/JavaScriptCore/runtime/BooleanObject.cpp
@@ -21,6 +21,8 @@
#include "config.h"
#include "BooleanObject.h"
+#include "JSScope.h"
+
namespace JSC {
ASSERT_CLASS_FITS_IN_CELL(BooleanObject);
diff --git a/Source/JavaScriptCore/runtime/BooleanPrototype.cpp b/Source/JavaScriptCore/runtime/BooleanPrototype.cpp
index 1551eabf2..c8c77220a 100644
--- a/Source/JavaScriptCore/runtime/BooleanPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/BooleanPrototype.cpp
@@ -77,21 +77,22 @@ bool BooleanPrototype::getOwnPropertyDescriptor(JSObject* object, ExecState* exe
EncodedJSValue JSC_HOST_CALL booleanProtoFuncToString(ExecState* exec)
{
+ JSGlobalData* globalData = &exec->globalData();
JSValue thisValue = exec->hostThisValue();
if (thisValue == jsBoolean(false))
- return JSValue::encode(jsNontrivialString(exec, "false"));
+ return JSValue::encode(globalData->smallStrings.falseString(globalData));
if (thisValue == jsBoolean(true))
- return JSValue::encode(jsNontrivialString(exec, "true"));
+ return JSValue::encode(globalData->smallStrings.trueString(globalData));
if (!thisValue.inherits(&BooleanObject::s_info))
return throwVMTypeError(exec);
if (asBooleanObject(thisValue)->internalValue() == jsBoolean(false))
- return JSValue::encode(jsNontrivialString(exec, "false"));
+ return JSValue::encode(globalData->smallStrings.falseString(globalData));
ASSERT(asBooleanObject(thisValue)->internalValue() == jsBoolean(true));
- return JSValue::encode(jsNontrivialString(exec, "true"));
+ return JSValue::encode(globalData->smallStrings.trueString(globalData));
}
EncodedJSValue JSC_HOST_CALL booleanProtoFuncValueOf(ExecState* exec)
diff --git a/Source/JavaScriptCore/runtime/CallData.h b/Source/JavaScriptCore/runtime/CallData.h
index 15a6a0a48..77478304c 100644
--- a/Source/JavaScriptCore/runtime/CallData.h
+++ b/Source/JavaScriptCore/runtime/CallData.h
@@ -37,7 +37,7 @@ namespace JSC {
class ExecState;
class FunctionExecutable;
class JSObject;
- class ScopeChainNode;
+ class JSScope;
enum CallType {
CallTypeNone,
@@ -53,7 +53,7 @@ namespace JSC {
} native;
struct {
FunctionExecutable* functionExecutable;
- ScopeChainNode* scopeChain;
+ JSScope* scope;
} js;
};
diff --git a/Source/JavaScriptCore/runtime/ClassInfo.h b/Source/JavaScriptCore/runtime/ClassInfo.h
index b0adab32c..4c72f3ed1 100644
--- a/Source/JavaScriptCore/runtime/ClassInfo.h
+++ b/Source/JavaScriptCore/runtime/ClassInfo.h
@@ -75,7 +75,7 @@ namespace JSC {
typedef void (*GetPropertyNamesFunctionPtr)(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
GetPropertyNamesFunctionPtr getPropertyNames;
- typedef UString (*ClassNameFunctionPtr)(const JSObject*);
+ typedef String (*ClassNameFunctionPtr)(const JSObject*);
ClassNameFunctionPtr className;
typedef bool (*HasInstanceFunctionPtr)(JSObject*, ExecState*, JSValue, JSValue);
diff --git a/Source/JavaScriptCore/runtime/CommonSlowPaths.h b/Source/JavaScriptCore/runtime/CommonSlowPaths.h
index 0d3480104..e4c76ad16 100644
--- a/Source/JavaScriptCore/runtime/CommonSlowPaths.h
+++ b/Source/JavaScriptCore/runtime/CommonSlowPaths.h
@@ -119,123 +119,6 @@ inline bool opIn(ExecState* exec, JSValue propName, JSValue baseVal)
return baseObj->hasProperty(exec, property);
}
-ALWAYS_INLINE JSValue opResolve(ExecState* exec, Identifier& ident)
-{
- ScopeChainNode* scopeChain = exec->scopeChain();
-
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
-
- do {
- JSObject* o = iter->get();
- PropertySlot slot(o);
- if (o->getPropertySlot(exec, ident, slot))
- return slot.getValue(exec, ident);
- } while (++iter != end);
-
- exec->globalData().exception = createUndefinedVariableError(exec, ident);
- return JSValue();
-}
-
-ALWAYS_INLINE JSValue opResolveSkip(ExecState* exec, Identifier& ident, int skip)
-{
- ScopeChainNode* scopeChain = exec->scopeChain();
-
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
- CodeBlock* codeBlock = exec->codeBlock();
- bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
- ASSERT(skip || !checkTopLevel);
- if (checkTopLevel && skip--) {
- if (exec->uncheckedR(codeBlock->activationRegister()).jsValue())
- ++iter;
- }
- while (skip--) {
- ++iter;
- ASSERT(iter != end);
- }
- do {
- JSObject* o = iter->get();
- PropertySlot slot(o);
- if (o->getPropertySlot(exec, ident, slot))
- return slot.getValue(exec, ident);
- } while (++iter != end);
-
- exec->globalData().exception = createUndefinedVariableError(exec, ident);
- return JSValue();
-}
-
-ALWAYS_INLINE JSValue opResolveWithBase(ExecState* exec, Identifier& ident, Register& baseSlot)
-{
- ScopeChainNode* scopeChain = exec->scopeChain();
-
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
-
- // FIXME: add scopeDepthIsZero optimization
-
- ASSERT(iter != end);
-
- JSObject* base;
- do {
- base = iter->get();
- PropertySlot slot(base);
- if (base->getPropertySlot(exec, ident, slot)) {
- JSValue result = slot.getValue(exec, ident);
- if (exec->globalData().exception)
- return JSValue();
-
- baseSlot = JSValue(base);
- return result;
- }
- ++iter;
- } while (iter != end);
-
- exec->globalData().exception = createUndefinedVariableError(exec, ident);
- return JSValue();
-}
-
-ALWAYS_INLINE JSValue opResolveWithThis(ExecState* exec, Identifier& ident, Register& baseSlot)
-{
- ScopeChainNode* scopeChain = exec->scopeChain();
-
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator end = scopeChain->end();
-
- // FIXME: add scopeDepthIsZero optimization
-
- ASSERT(iter != end);
-
- JSObject* base;
- do {
- base = iter->get();
- ++iter;
- PropertySlot slot(base);
- if (base->getPropertySlot(exec, ident, slot)) {
- JSValue result = slot.getValue(exec, ident);
- if (exec->globalData().exception)
- return JSValue();
-
- // All entries on the scope chain should be EnvironmentRecords (activations etc),
- // other then 'with' object, which are directly referenced from the scope chain,
- // and the global object. If we hit either an EnvironmentRecord or a global
- // object at the end of the scope chain, this is undefined. If we hit a non-
- // EnvironmentRecord within the scope chain, pass the base as the this value.
- if (iter == end || base->structure()->typeInfo().isEnvironmentRecord())
- baseSlot = jsUndefined();
- else
- baseSlot = JSValue(base);
- return result;
- }
- } while (iter != end);
-
- exec->globalData().exception = createUndefinedVariableError(exec, ident);
- return JSValue();
-}
-
} } // namespace JSC::CommonSlowPaths
#endif // CommonSlowPaths_h
-
diff --git a/Source/JavaScriptCore/runtime/Completion.cpp b/Source/JavaScriptCore/runtime/Completion.cpp
index 1c35b9626..3de8d4841 100644
--- a/Source/JavaScriptCore/runtime/Completion.cpp
+++ b/Source/JavaScriptCore/runtime/Completion.cpp
@@ -51,7 +51,7 @@ bool checkSyntax(ExecState* exec, const SourceCode& source, JSValue* returnedExc
return true;
}
-JSValue evaluate(ExecState* exec, ScopeChainNode* scopeChain, const SourceCode& source, JSValue thisValue, JSValue* returnedException)
+JSValue evaluate(ExecState* exec, const SourceCode& source, JSValue thisValue, JSValue* returnedException)
{
JSLockHolder lock(exec);
ASSERT(exec->globalData().identifierTable == wtfThreadData().currentIdentifierTable());
@@ -72,7 +72,7 @@ JSValue evaluate(ExecState* exec, ScopeChainNode* scopeChain, const SourceCode&
if (!thisValue || thisValue.isUndefinedOrNull())
thisValue = exec->dynamicGlobalObject();
JSObject* thisObj = thisValue.toThisObject(exec);
- JSValue result = exec->interpreter()->execute(program, exec, scopeChain, thisObj);
+ JSValue result = exec->interpreter()->execute(program, exec, thisObj);
if (exec->hadException()) {
if (returnedException)
diff --git a/Source/JavaScriptCore/runtime/Completion.h b/Source/JavaScriptCore/runtime/Completion.h
index 3d3b86fe4..d150fcea2 100644
--- a/Source/JavaScriptCore/runtime/Completion.h
+++ b/Source/JavaScriptCore/runtime/Completion.h
@@ -28,11 +28,11 @@
namespace JSC {
class ExecState;
- class ScopeChainNode;
+ class JSScope;
class SourceCode;
JS_EXPORT_PRIVATE bool checkSyntax(ExecState*, const SourceCode&, JSValue* exception = 0);
- JS_EXPORT_PRIVATE JSValue evaluate(ExecState*, ScopeChainNode*, const SourceCode&, JSValue thisValue = JSValue(), JSValue* exception = 0);
+ JS_EXPORT_PRIVATE JSValue evaluate(ExecState*, const SourceCode&, JSValue thisValue = JSValue(), JSValue* exception = 0);
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/ConstructData.h b/Source/JavaScriptCore/runtime/ConstructData.h
index d7a3c73d3..6426b044e 100644
--- a/Source/JavaScriptCore/runtime/ConstructData.h
+++ b/Source/JavaScriptCore/runtime/ConstructData.h
@@ -38,7 +38,7 @@ namespace JSC {
class ExecState;
class FunctionExecutable;
class JSObject;
- class ScopeChainNode;
+ class JSScope;
enum ConstructType {
ConstructTypeNone,
@@ -52,7 +52,7 @@ namespace JSC {
} native;
struct {
FunctionExecutable* functionExecutable;
- ScopeChainNode* scopeChain;
+ JSScope* scope;
} js;
};
diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp
index 47839817f..0b57f012d 100644
--- a/Source/JavaScriptCore/runtime/DateConversion.cpp
+++ b/Source/JavaScriptCore/runtime/DateConversion.cpp
@@ -25,10 +25,10 @@
#include "config.h"
#include "DateConversion.h"
-#include "UString.h"
#include <wtf/Assertions.h>
#include <wtf/DateMath.h>
#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
#if OS(WINDOWS)
#include <windows.h>
@@ -62,7 +62,7 @@ void appendNumber<2>(StringBuilder& builder, int value)
builder.append(static_cast<char>('0' + value % 10));
}
-UString formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool asUTCVariant)
+String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool asUTCVariant)
{
bool appendDate = format & DateTimeFormatDate;
bool appendTime = format & DateTimeFormatTime;
@@ -73,7 +73,7 @@ UString formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool a
builder.append(weekdayName[(t.weekDay() + 6) % 7]);
if (asUTCVariant) {
- builder.append(", ");
+ builder.appendLiteral(", ");
appendNumber<2>(builder, t.monthDay());
builder.append(' ');
builder.append(monthName[t.month()]);
@@ -96,7 +96,7 @@ UString formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool a
appendNumber<2>(builder, t.minute());
builder.append(':');
appendNumber<2>(builder, t.second());
- builder.append(" GMT");
+ builder.appendLiteral(" GMT");
if (!asUTCVariant) {
int offset = abs(t.utcOffset()) / 60;
@@ -114,7 +114,7 @@ UString formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool a
strftime(timeZoneName, sizeof(timeZoneName), "%Z", &gtm);
#endif
if (timeZoneName[0]) {
- builder.append(" (");
+ builder.appendLiteral(" (");
builder.append(timeZoneName);
builder.append(')');
}
diff --git a/Source/JavaScriptCore/runtime/DateConversion.h b/Source/JavaScriptCore/runtime/DateConversion.h
index fd1a7eb35..8ea4c17ad 100644
--- a/Source/JavaScriptCore/runtime/DateConversion.h
+++ b/Source/JavaScriptCore/runtime/DateConversion.h
@@ -27,9 +27,11 @@
#include <wtf/GregorianDateTime.h>
-namespace JSC {
+namespace WTF {
+class String;
+} // namespace WTF
-class UString;
+namespace JSC {
enum DateTimeFormat {
DateTimeFormatDate = 1,
@@ -37,7 +39,7 @@ enum DateTimeFormat {
DateTimeFormatDateAndTime = DateTimeFormatDate | DateTimeFormatTime
};
-UString formatDateTime(const GregorianDateTime&, DateTimeFormat, bool asUTCVariant);
+WTF::String formatDateTime(const GregorianDateTime&, DateTimeFormat, bool asUTCVariant);
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/DatePrototype.cpp b/Source/JavaScriptCore/runtime/DatePrototype.cpp
index 363eec03a..62211d302 100644
--- a/Source/JavaScriptCore/runtime/DatePrototype.cpp
+++ b/Source/JavaScriptCore/runtime/DatePrototype.cpp
@@ -131,7 +131,7 @@ enum LocaleDateTimeFormat { LocaleDateAndTime, LocaleDate, LocaleTime };
// FIXME: Since this is superior to the strftime-based version, why limit this to PLATFORM(MAC)?
// Instead we should consider using this whenever USE(CF) is true.
-static CFDateFormatterStyle styleFromArgString(const UString& string, CFDateFormatterStyle defaultStyle)
+static CFDateFormatterStyle styleFromArgString(const String& string, CFDateFormatterStyle defaultStyle)
{
if (string == "short")
return kCFDateFormatterShortStyle;
@@ -150,9 +150,9 @@ static JSCell* formatLocaleDate(ExecState* exec, DateInstance*, double timeInMil
CFDateFormatterStyle timeStyle = (format != LocaleDate ? kCFDateFormatterLongStyle : kCFDateFormatterNoStyle);
bool useCustomFormat = false;
- UString customFormatString;
+ String customFormatString;
- UString arg0String = exec->argument(0).toString(exec)->value(exec);
+ String arg0String = exec->argument(0).toString(exec)->value(exec);
if (arg0String == "custom" && !exec->argument(1).isUndefined()) {
useCustomFormat = true;
customFormatString = exec->argument(1).toString(exec)->value(exec);
@@ -190,7 +190,7 @@ static JSCell* formatLocaleDate(ExecState* exec, DateInstance*, double timeInMil
CFRelease(string);
- return jsNontrivialString(exec, UString(buffer, length));
+ return jsNontrivialString(exec, String(buffer, length));
}
#elif USE(ICU_UNICODE) && !UCONFIG_NO_FORMATTING
@@ -212,7 +212,7 @@ static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, doubl
if (status != U_ZERO_ERROR)
return jsEmptyString(exec);
- return jsNontrivialString(exec, UString(buffer, length));
+ return jsNontrivialString(exec, String(buffer, length));
}
#else
@@ -253,7 +253,7 @@ static JSCell* formatLocaleDate(ExecState* exec, const GregorianDateTime& gdt, L
if (length)
length--;
- return jsNontrivialString(exec, UString(buffer.data(), length));
+ return jsNontrivialString(exec, String(buffer.data(), length));
#else // OS(WINDOWS)
@@ -322,7 +322,7 @@ static JSCell* formatLocaleDate(ExecState* exec, const GregorianDateTime& gdt, L
if (length != static_cast<size_t>(-1)) {
for (size_t i = 0; i < length; ++i)
buffer[i] = static_cast<UChar>(tempbuffer[i]);
- return jsNontrivialString(exec, UString(buffer, length));
+ return jsNontrivialString(exec, String(buffer, length));
}
#endif
@@ -334,7 +334,7 @@ static JSCell* formatLocaleDate(ExecState* exec, DateInstance* dateObject, doubl
{
const GregorianDateTime* gregorianDateTime = dateObject->gregorianDateTime(exec);
if (!gregorianDateTime)
- return jsNontrivialString(exec, "Invalid Date");
+ return jsNontrivialString(exec, ASCIILiteral("Invalid Date"));
return formatLocaleDate(exec, *gregorianDateTime, format);
}
@@ -352,7 +352,7 @@ static EncodedJSValue formateDateInstance(ExecState* exec, DateTimeFormat format
? thisDateObj->gregorianDateTimeUTC(exec)
: thisDateObj->gregorianDateTime(exec);
if (!gregorianDateTime)
- return JSValue::encode(jsNontrivialString(exec, "Invalid Date"));
+ return JSValue::encode(jsNontrivialString(exec, String(ASCIILiteral("Invalid Date"))));
return JSValue::encode(jsNontrivialString(exec, formatDateTime(*gregorianDateTime, format, asUTCVariant)));
}
@@ -548,24 +548,30 @@ EncodedJSValue JSC_HOST_CALL dateProtoFuncToISOString(ExecState* exec)
DateInstance* thisDateObj = asDateInstance(thisValue);
if (!isfinite(thisDateObj->internalNumber()))
- return throwVMError(exec, createRangeError(exec, "Invalid Date"));
+ return throwVMError(exec, createRangeError(exec, ASCIILiteral("Invalid Date")));
const GregorianDateTime* gregorianDateTime = thisDateObj->gregorianDateTimeUTC(exec);
if (!gregorianDateTime)
- return JSValue::encode(jsNontrivialString(exec, "Invalid Date"));
+ return JSValue::encode(jsNontrivialString(exec, String(ASCIILiteral("Invalid Date"))));
// Maximum amount of space we need in buffer: 7 (max. digits in year) + 2 * 5 (2 characters each for month, day, hour, minute, second) + 4 (. + 3 digits for milliseconds)
// 6 for formatting and one for null termination = 28. We add one extra character to allow us to force null termination.
- char buffer[29];
+ char buffer[28];
// If the year is outside the bounds of 0 and 9999 inclusive we want to use the extended year format (ES 15.9.1.15.1).
int ms = static_cast<int>(fmod(thisDateObj->internalNumber(), msPerSecond));
if (ms < 0)
ms += msPerSecond;
+
+ int charactersWritten;
if (gregorianDateTime->year() > 9999 || gregorianDateTime->year() < 0)
- snprintf(buffer, sizeof(buffer) - 1, "%+07d-%02d-%02dT%02d:%02d:%02d.%03dZ", gregorianDateTime->year(), gregorianDateTime->month() + 1, gregorianDateTime->monthDay(), gregorianDateTime->hour(), gregorianDateTime->minute(), gregorianDateTime->second(), ms);
+ charactersWritten = snprintf(buffer, sizeof(buffer), "%+07d-%02d-%02dT%02d:%02d:%02d.%03dZ", gregorianDateTime->year(), gregorianDateTime->month() + 1, gregorianDateTime->monthDay(), gregorianDateTime->hour(), gregorianDateTime->minute(), gregorianDateTime->second(), ms);
else
- snprintf(buffer, sizeof(buffer) - 1, "%04d-%02d-%02dT%02d:%02d:%02d.%03dZ", gregorianDateTime->year(), gregorianDateTime->month() + 1, gregorianDateTime->monthDay(), gregorianDateTime->hour(), gregorianDateTime->minute(), gregorianDateTime->second(), ms);
- buffer[sizeof(buffer) - 1] = 0;
- return JSValue::encode(jsNontrivialString(exec, buffer));
+ charactersWritten = snprintf(buffer, sizeof(buffer), "%04d-%02d-%02dT%02d:%02d:%02d.%03dZ", gregorianDateTime->year(), gregorianDateTime->month() + 1, gregorianDateTime->monthDay(), gregorianDateTime->hour(), gregorianDateTime->minute(), gregorianDateTime->second(), ms);
+
+ ASSERT(charactersWritten > 0 && static_cast<unsigned>(charactersWritten) < sizeof(buffer));
+ if (static_cast<unsigned>(charactersWritten) >= sizeof(buffer))
+ return JSValue::encode(jsEmptyString(exec));
+
+ return JSValue::encode(jsNontrivialString(exec, String(buffer, charactersWritten)));
}
EncodedJSValue JSC_HOST_CALL dateProtoFuncToDateString(ExecState* exec)
@@ -1113,13 +1119,13 @@ EncodedJSValue JSC_HOST_CALL dateProtoFuncToJSON(ExecState* exec)
CallData callData;
CallType callType = getCallData(toISOValue, callData);
if (callType == CallTypeNone)
- return throwVMError(exec, createTypeError(exec, "toISOString is not a function"));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("toISOString is not a function")));
JSValue result = call(exec, asObject(toISOValue), callType, callData, object, exec->emptyList());
if (exec->hadException())
return JSValue::encode(jsNull());
if (result.isObject())
- return throwVMError(exec, createTypeError(exec, "toISOString did not return a primitive value"));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("toISOString did not return a primitive value")));
return JSValue::encode(result);
}
diff --git a/Source/JavaScriptCore/runtime/Error.cpp b/Source/JavaScriptCore/runtime/Error.cpp
index a3a990d59..27a729d0a 100644
--- a/Source/JavaScriptCore/runtime/Error.cpp
+++ b/Source/JavaScriptCore/runtime/Error.cpp
@@ -43,37 +43,37 @@ namespace JSC {
static const char* linePropertyName = "line";
static const char* sourceURLPropertyName = "sourceURL";
-JSObject* createError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->errorStructure(), message);
}
-JSObject* createEvalError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createEvalError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->evalErrorConstructor()->errorStructure(), message);
}
-JSObject* createRangeError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createRangeError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->rangeErrorConstructor()->errorStructure(), message);
}
-JSObject* createReferenceError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createReferenceError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->referenceErrorConstructor()->errorStructure(), message);
}
-JSObject* createSyntaxError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createSyntaxError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->syntaxErrorConstructor()->errorStructure(), message);
}
-JSObject* createTypeError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createTypeError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->typeErrorConstructor()->errorStructure(), message);
@@ -81,41 +81,41 @@ JSObject* createTypeError(JSGlobalObject* globalObject, const UString& message)
JSObject* createNotEnoughArgumentsError(JSGlobalObject* globalObject)
{
- return createTypeError(globalObject, "Not enough arguments");
+ return createTypeError(globalObject, ASCIILiteral("Not enough arguments"));
}
-JSObject* createURIError(JSGlobalObject* globalObject, const UString& message)
+JSObject* createURIError(JSGlobalObject* globalObject, const String& message)
{
ASSERT(!message.isEmpty());
return ErrorInstance::create(globalObject->globalData(), globalObject->URIErrorConstructor()->errorStructure(), message);
}
-JSObject* createError(ExecState* exec, const UString& message)
+JSObject* createError(ExecState* exec, const String& message)
{
return createError(exec->lexicalGlobalObject(), message);
}
-JSObject* createEvalError(ExecState* exec, const UString& message)
+JSObject* createEvalError(ExecState* exec, const String& message)
{
return createEvalError(exec->lexicalGlobalObject(), message);
}
-JSObject* createRangeError(ExecState* exec, const UString& message)
+JSObject* createRangeError(ExecState* exec, const String& message)
{
return createRangeError(exec->lexicalGlobalObject(), message);
}
-JSObject* createReferenceError(ExecState* exec, const UString& message)
+JSObject* createReferenceError(ExecState* exec, const String& message)
{
return createReferenceError(exec->lexicalGlobalObject(), message);
}
-JSObject* createSyntaxError(ExecState* exec, const UString& message)
+JSObject* createSyntaxError(ExecState* exec, const String& message)
{
return createSyntaxError(exec->lexicalGlobalObject(), message);
}
-JSObject* createTypeError(ExecState* exec, const UString& message)
+JSObject* createTypeError(ExecState* exec, const String& message)
{
return createTypeError(exec->lexicalGlobalObject(), message);
}
@@ -125,7 +125,7 @@ JSObject* createNotEnoughArgumentsError(ExecState* exec)
return createNotEnoughArgumentsError(exec->lexicalGlobalObject());
}
-JSObject* createURIError(ExecState* exec, const UString& message)
+JSObject* createURIError(ExecState* exec, const String& message)
{
return createURIError(exec->lexicalGlobalObject(), message);
}
@@ -133,7 +133,7 @@ JSObject* createURIError(ExecState* exec, const UString& message)
JSObject* addErrorInfo(CallFrame* callFrame, JSObject* error, int line, const SourceCode& source)
{
JSGlobalData* globalData = &callFrame->globalData();
- const UString& sourceURL = source.provider()->url();
+ const String& sourceURL = source.provider()->url();
if (line != -1)
error->putDirect(*globalData, Identifier(globalData, linePropertyName), jsNumber(line), ReadOnly | DontDelete);
@@ -169,12 +169,12 @@ JSObject* throwError(ExecState* exec, JSObject* error)
JSObject* throwTypeError(ExecState* exec)
{
- return throwError(exec, createTypeError(exec, "Type error"));
+ return throwError(exec, createTypeError(exec, ASCIILiteral("Type error")));
}
JSObject* throwSyntaxError(ExecState* exec)
{
- return throwError(exec, createSyntaxError(exec, "Syntax error"));
+ return throwError(exec, createSyntaxError(exec, ASCIILiteral("Syntax error")));
}
ASSERT_CLASS_FITS_IN_CELL(StrictModeTypeErrorFunction);
diff --git a/Source/JavaScriptCore/runtime/Error.h b/Source/JavaScriptCore/runtime/Error.h
index 65aea3edc..9c34a0574 100644
--- a/Source/JavaScriptCore/runtime/Error.h
+++ b/Source/JavaScriptCore/runtime/Error.h
@@ -36,26 +36,25 @@ namespace JSC {
class JSObject;
class SourceCode;
class Structure;
- class UString;
// Methods to create a range of internal errors.
- JSObject* createError(JSGlobalObject*, const UString&);
- JSObject* createEvalError(JSGlobalObject*, const UString&);
- JSObject* createRangeError(JSGlobalObject*, const UString&);
- JSObject* createReferenceError(JSGlobalObject*, const UString&);
- JSObject* createSyntaxError(JSGlobalObject*, const UString&);
- JSObject* createTypeError(JSGlobalObject*, const UString&);
+ JSObject* createError(JSGlobalObject*, const String&);
+ JSObject* createEvalError(JSGlobalObject*, const String&);
+ JSObject* createRangeError(JSGlobalObject*, const String&);
+ JSObject* createReferenceError(JSGlobalObject*, const String&);
+ JSObject* createSyntaxError(JSGlobalObject*, const String&);
+ JSObject* createTypeError(JSGlobalObject*, const String&);
JSObject* createNotEnoughArgumentsError(JSGlobalObject*);
- JSObject* createURIError(JSGlobalObject*, const UString&);
+ JSObject* createURIError(JSGlobalObject*, const String&);
// ExecState wrappers.
- JS_EXPORT_PRIVATE JSObject* createError(ExecState*, const UString&);
- JSObject* createEvalError(ExecState*, const UString&);
- JS_EXPORT_PRIVATE JSObject* createRangeError(ExecState*, const UString&);
- JS_EXPORT_PRIVATE JSObject* createReferenceError(ExecState*, const UString&);
- JS_EXPORT_PRIVATE JSObject* createSyntaxError(ExecState*, const UString&);
- JS_EXPORT_PRIVATE JSObject* createTypeError(ExecState*, const UString&);
+ JS_EXPORT_PRIVATE JSObject* createError(ExecState*, const String&);
+ JSObject* createEvalError(ExecState*, const String&);
+ JS_EXPORT_PRIVATE JSObject* createRangeError(ExecState*, const String&);
+ JS_EXPORT_PRIVATE JSObject* createReferenceError(ExecState*, const String&);
+ JS_EXPORT_PRIVATE JSObject* createSyntaxError(ExecState*, const String&);
+ JS_EXPORT_PRIVATE JSObject* createTypeError(ExecState*, const String&);
JS_EXPORT_PRIVATE JSObject* createNotEnoughArgumentsError(ExecState*);
- JSObject* createURIError(ExecState*, const UString&);
+ JSObject* createURIError(ExecState*, const String&);
// Methods to add
bool hasErrorInfo(ExecState*, JSObject* error);
@@ -76,7 +75,7 @@ namespace JSC {
class StrictModeTypeErrorFunction : public InternalFunction {
private:
- StrictModeTypeErrorFunction(JSGlobalObject* globalObject, Structure* structure, const UString& message)
+ StrictModeTypeErrorFunction(JSGlobalObject* globalObject, Structure* structure, const String& message)
: InternalFunction(globalObject, structure)
, m_message(message)
{
@@ -87,10 +86,10 @@ namespace JSC {
public:
typedef InternalFunction Base;
- static StrictModeTypeErrorFunction* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& message)
+ static StrictModeTypeErrorFunction* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const String& message)
{
StrictModeTypeErrorFunction* function = new (NotNull, allocateCell<StrictModeTypeErrorFunction>(*exec->heap())) StrictModeTypeErrorFunction(globalObject, structure, message);
- function->finishCreation(exec->globalData(), "");
+ function->finishCreation(exec->globalData(), String());
return function;
}
@@ -126,7 +125,7 @@ namespace JSC {
}
private:
- UString m_message;
+ String m_message;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/ErrorInstance.cpp b/Source/JavaScriptCore/runtime/ErrorInstance.cpp
index 91a6fc40e..9c0fe3e8b 100644
--- a/Source/JavaScriptCore/runtime/ErrorInstance.cpp
+++ b/Source/JavaScriptCore/runtime/ErrorInstance.cpp
@@ -21,6 +21,8 @@
#include "config.h"
#include "ErrorInstance.h"
+#include "JSScope.h"
+
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(ErrorInstance);
diff --git a/Source/JavaScriptCore/runtime/ErrorInstance.h b/Source/JavaScriptCore/runtime/ErrorInstance.h
index d6fa32f99..894676361 100644
--- a/Source/JavaScriptCore/runtime/ErrorInstance.h
+++ b/Source/JavaScriptCore/runtime/ErrorInstance.h
@@ -36,7 +36,7 @@ namespace JSC {
return Structure::create(globalData, globalObject, prototype, TypeInfo(ErrorInstanceType, StructureFlags), &s_info);
}
- static ErrorInstance* create(JSGlobalData& globalData, Structure* structure, const UString& message)
+ static ErrorInstance* create(JSGlobalData& globalData, Structure* structure, const String& message)
{
ErrorInstance* instance = new (NotNull, allocateCell<ErrorInstance>(globalData.heap)) ErrorInstance(globalData, structure);
instance->finishCreation(globalData, message);
@@ -45,7 +45,7 @@ namespace JSC {
static ErrorInstance* create(ExecState* exec, Structure* structure, JSValue message)
{
- return create(exec->globalData(), structure, message.isUndefined() ? UString() : message.toString(exec)->value(exec));
+ return create(exec->globalData(), structure, message.isUndefined() ? String() : message.toString(exec)->value(exec));
}
bool appendSourceToMessage() { return m_appendSourceToMessage; }
@@ -55,7 +55,7 @@ namespace JSC {
protected:
explicit ErrorInstance(JSGlobalData&, Structure*);
- void finishCreation(JSGlobalData& globalData, const UString& message)
+ void finishCreation(JSGlobalData& globalData, const String& message)
{
Base::finishCreation(globalData);
ASSERT(inherits(&s_info));
diff --git a/Source/JavaScriptCore/runtime/ErrorPrototype.cpp b/Source/JavaScriptCore/runtime/ErrorPrototype.cpp
index 5dd3e85e2..6c9d6df04 100644
--- a/Source/JavaScriptCore/runtime/ErrorPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/ErrorPrototype.cpp
@@ -27,7 +27,6 @@
#include "JSStringBuilder.h"
#include "ObjectPrototype.h"
#include "StringRecursionChecker.h"
-#include "UString.h"
namespace JSC {
@@ -60,7 +59,7 @@ void ErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject*)
{
Base::finishCreation(exec->globalData(), "");
ASSERT(inherits(&s_info));
- putDirect(exec->globalData(), exec->propertyNames().name, jsNontrivialString(exec, "Error"), DontEnum);
+ putDirect(exec->globalData(), exec->propertyNames().name, jsNontrivialString(exec, String(ASCIILiteral("Error"))), DontEnum);
}
bool ErrorPrototype::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyName propertyName, PropertySlot &slot)
@@ -97,9 +96,9 @@ EncodedJSValue JSC_HOST_CALL errorProtoFuncToString(ExecState* exec)
return JSValue::encode(jsUndefined());
// 4. If name is undefined, then let name be "Error"; else let name be ToString(name).
- UString nameString;
+ String nameString;
if (name.isUndefined())
- nameString = "Error";
+ nameString = ASCIILiteral("Error");
else {
nameString = name.toString(exec)->value(exec);
if (exec->hadException())
@@ -114,9 +113,9 @@ EncodedJSValue JSC_HOST_CALL errorProtoFuncToString(ExecState* exec)
// (sic)
// 6. If msg is undefined, then let msg be the empty String; else let msg be ToString(msg).
// 7. If msg is undefined, then let msg be the empty String; else let msg be ToString(msg).
- UString messageString;
+ String messageString;
if (message.isUndefined())
- messageString = "";
+ messageString = String();
else {
messageString = message.toString(exec)->value(exec);
if (exec->hadException())
diff --git a/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp b/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp
index ce63ae9af..38c525268 100644
--- a/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp
+++ b/Source/JavaScriptCore/runtime/ExceptionHelpers.cpp
@@ -37,7 +37,6 @@
#include "JSNotAnObject.h"
#include "Interpreter.h"
#include "Nodes.h"
-#include "UStringConcatenate.h"
namespace JSC {
@@ -48,7 +47,7 @@ const ClassInfo InterruptedExecutionError::s_info = { "InterruptedExecutionError
JSValue InterruptedExecutionError::defaultValue(const JSObject*, ExecState* exec, PreferredPrimitiveType hint)
{
if (hint == PreferString)
- return jsNontrivialString(exec, "JavaScript execution exceeded timeout.");
+ return jsNontrivialString(exec, String(ASCIILiteral("JavaScript execution exceeded timeout.")));
return JSValue(std::numeric_limits<double>::quiet_NaN());
}
@@ -75,7 +74,7 @@ const ClassInfo TerminatedExecutionError::s_info = { "TerminatedExecutionError",
JSValue TerminatedExecutionError::defaultValue(const JSObject*, ExecState* exec, PreferredPrimitiveType hint)
{
if (hint == PreferString)
- return jsNontrivialString(exec, "JavaScript execution terminated.");
+ return jsNontrivialString(exec, String(ASCIILiteral("JavaScript execution terminated.")));
return JSValue(std::numeric_limits<double>::quiet_NaN());
}
@@ -97,23 +96,23 @@ bool isTerminatedExecutionException(JSValue value)
JSObject* createStackOverflowError(ExecState* exec)
{
- return createRangeError(exec, "Maximum call stack size exceeded.");
+ return createRangeError(exec, ASCIILiteral("Maximum call stack size exceeded."));
}
JSObject* createStackOverflowError(JSGlobalObject* globalObject)
{
- return createRangeError(globalObject, "Maximum call stack size exceeded.");
+ return createRangeError(globalObject, ASCIILiteral("Maximum call stack size exceeded."));
}
JSObject* createUndefinedVariableError(ExecState* exec, const Identifier& ident)
{
- UString message(makeUString("Can't find variable: ", ident.ustring()));
+ String message(makeString("Can't find variable: ", ident.string()));
return createReferenceError(exec, message);
}
JSObject* createInvalidParamError(ExecState* exec, const char* op, JSValue value)
{
- UString errorMessage = makeUString("'", value.toString(exec)->value(exec), "' is not a valid argument for '", op, "'");
+ String errorMessage = makeString("'", value.toString(exec)->value(exec), "' is not a valid argument for '", op, "'");
JSObject* exception = createTypeError(exec, errorMessage);
ASSERT(exception->isErrorInstance());
static_cast<ErrorInstance*>(exception)->setAppendSourceToMessage();
@@ -122,7 +121,7 @@ JSObject* createInvalidParamError(ExecState* exec, const char* op, JSValue value
JSObject* createNotAConstructorError(ExecState* exec, JSValue value)
{
- UString errorMessage = makeUString("'", value.toString(exec)->value(exec), "' is not a constructor");
+ String errorMessage = makeString("'", value.toString(exec)->value(exec), "' is not a constructor");
JSObject* exception = createTypeError(exec, errorMessage);
ASSERT(exception->isErrorInstance());
static_cast<ErrorInstance*>(exception)->setAppendSourceToMessage();
@@ -131,7 +130,7 @@ JSObject* createNotAConstructorError(ExecState* exec, JSValue value)
JSObject* createNotAFunctionError(ExecState* exec, JSValue value)
{
- UString errorMessage = makeUString("'", value.toString(exec)->value(exec), "' is not a function");
+ String errorMessage = makeString("'", value.toString(exec)->value(exec), "' is not a function");
JSObject* exception = createTypeError(exec, errorMessage);
ASSERT(exception->isErrorInstance());
static_cast<ErrorInstance*>(exception)->setAppendSourceToMessage();
@@ -140,21 +139,21 @@ JSObject* createNotAFunctionError(ExecState* exec, JSValue value)
JSObject* createNotAnObjectError(ExecState* exec, JSValue value)
{
- UString errorMessage = makeUString("'", value.toString(exec)->value(exec), "' is not an object");
+ String errorMessage = makeString("'", value.toString(exec)->value(exec), "' is not an object");
JSObject* exception = createTypeError(exec, errorMessage);
ASSERT(exception->isErrorInstance());
static_cast<ErrorInstance*>(exception)->setAppendSourceToMessage();
return exception;
}
-JSObject* createErrorForInvalidGlobalAssignment(ExecState* exec, const UString& propertyName)
+JSObject* createErrorForInvalidGlobalAssignment(ExecState* exec, const String& propertyName)
{
- return createReferenceError(exec, makeUString("Strict mode forbids implicit creation of global property '", propertyName, "'"));
+ return createReferenceError(exec, makeString("Strict mode forbids implicit creation of global property '", propertyName, "'"));
}
JSObject* createOutOfMemoryError(JSGlobalObject* globalObject)
{
- return createError(globalObject, "Out of memory");
+ return createError(globalObject, ASCIILiteral("Out of memory"));
}
JSObject* throwOutOfMemoryError(ExecState* exec)
diff --git a/Source/JavaScriptCore/runtime/ExceptionHelpers.h b/Source/JavaScriptCore/runtime/ExceptionHelpers.h
index 7bffd294b..d2daaa044 100644
--- a/Source/JavaScriptCore/runtime/ExceptionHelpers.h
+++ b/Source/JavaScriptCore/runtime/ExceptionHelpers.h
@@ -49,7 +49,7 @@ JSObject* createNotAnObjectError(ExecState*, JSValue);
JSObject* createInvalidParamError(ExecState*, const char* op, JSValue);
JSObject* createNotAConstructorError(ExecState*, JSValue);
JSObject* createNotAFunctionError(ExecState*, JSValue);
-JSObject* createErrorForInvalidGlobalAssignment(ExecState*, const UString&);
+JSObject* createErrorForInvalidGlobalAssignment(ExecState*, const String&);
JSObject* throwOutOfMemoryError(ExecState*);
JSObject* throwStackOverflowError(ExecState*);
diff --git a/Source/JavaScriptCore/runtime/Executable.cpp b/Source/JavaScriptCore/runtime/Executable.cpp
index 50bb5ffae..b11220bea 100644
--- a/Source/JavaScriptCore/runtime/Executable.cpp
+++ b/Source/JavaScriptCore/runtime/Executable.cpp
@@ -33,8 +33,8 @@
#include "JIT.h"
#include "JITDriver.h"
#include "Parser.h"
-#include "UStringBuilder.h"
#include <wtf/Vector.h>
+#include <wtf/text/StringBuilder.h>
namespace JSC {
@@ -133,26 +133,17 @@ void ProgramExecutable::destroy(JSCell* cell)
const ClassInfo FunctionExecutable::s_info = { "FunctionExecutable", &ScriptExecutable::s_info, 0, 0, CREATE_METHOD_TABLE(FunctionExecutable) };
-FunctionExecutable::FunctionExecutable(JSGlobalData& globalData, const Identifier& name, const Identifier& inferredName, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, bool inStrictContext)
- : ScriptExecutable(globalData.functionExecutableStructure.get(), globalData, source, inStrictContext)
+FunctionExecutable::FunctionExecutable(JSGlobalData& globalData, FunctionBodyNode* node)
+ : ScriptExecutable(globalData.functionExecutableStructure.get(), globalData, node->source(), node->isStrictMode())
, m_numCapturedVariables(0)
- , m_forceUsesArguments(forceUsesArguments)
- , m_parameters(parameters)
- , m_name(name)
- , m_inferredName(inferredName.isNull() ? globalData.propertyNames->emptyIdentifier : inferredName)
- , m_symbolTable(0)
-{
-}
-
-FunctionExecutable::FunctionExecutable(ExecState* exec, const Identifier& name, const Identifier& inferredName, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, bool inStrictContext)
- : ScriptExecutable(exec->globalData().functionExecutableStructure.get(), exec, source, inStrictContext)
- , m_numCapturedVariables(0)
- , m_forceUsesArguments(forceUsesArguments)
- , m_parameters(parameters)
- , m_name(name)
- , m_inferredName(inferredName.isNull() ? exec->globalData().propertyNames->emptyIdentifier : inferredName)
- , m_symbolTable(0)
+ , m_forceUsesArguments(node->usesArguments())
+ , m_parameters(node->parameters())
+ , m_name(node->ident())
+ , m_inferredName(node->inferredName().isNull() ? globalData.propertyNames->emptyIdentifier : node->inferredName())
+ , m_functionNameIsInScopeToggle(node->functionNameIsInScopeToggle())
{
+ m_firstLine = node->lineNo();
+ m_lastLine = node->lastLine();
}
void FunctionExecutable::destroy(JSCell* cell)
@@ -160,13 +151,13 @@ void FunctionExecutable::destroy(JSCell* cell)
static_cast<FunctionExecutable*>(cell)->FunctionExecutable::~FunctionExecutable();
}
-JSObject* EvalExecutable::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* EvalExecutable::compileOptimized(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
ASSERT(exec->globalData().dynamicGlobalObject);
ASSERT(!!m_evalCodeBlock);
JSObject* error = 0;
if (m_evalCodeBlock->getJITType() != JITCode::topTierJIT())
- error = compileInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_evalCodeBlock->getJITType()), bytecodeIndex);
+ error = compileInternal(exec, scope, JITCode::nextTierJIT(m_evalCodeBlock->getJITType()), bytecodeIndex);
ASSERT(!!m_evalCodeBlock);
return error;
}
@@ -193,7 +184,7 @@ inline const char* samplingDescription(JITCode::JITType jitType)
}
}
-JSObject* EvalExecutable::compileInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex)
+JSObject* EvalExecutable::compileInternal(ExecState* exec, JSScope* scope, JITCode::JITType jitType, unsigned bytecodeIndex)
{
SamplingRegion samplingRegion(samplingDescription(jitType));
@@ -211,20 +202,20 @@ JSObject* EvalExecutable::compileInternal(ExecState* exec, ScopeChainNode* scope
m_evalCodeBlock = newCodeBlock.release();
} else {
if (!lexicalGlobalObject->evalEnabled())
- return throwError(exec, createEvalError(exec, "Eval is disabled"));
- RefPtr<EvalNode> evalNode = parse<EvalNode>(globalData, lexicalGlobalObject, m_source, 0, isStrictMode() ? JSParseStrict : JSParseNormal, EvalNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, lexicalGlobalObject->debugger(), exec, &exception);
+ return throwError(exec, createEvalError(exec, ASCIILiteral("Eval is disabled")));
+ RefPtr<EvalNode> evalNode = parse<EvalNode>(globalData, lexicalGlobalObject, m_source, 0, Identifier(), isStrictMode() ? JSParseStrict : JSParseNormal, EvalNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, lexicalGlobalObject->debugger(), exec, &exception);
if (!evalNode) {
ASSERT(exception);
return exception;
}
recordParse(evalNode->features(), evalNode->hasCapturedVariables(), evalNode->lineNo(), evalNode->lastLine());
- JSGlobalObject* globalObject = scopeChainNode->globalObject.get();
+ JSGlobalObject* globalObject = scope->globalObject();
OwnPtr<CodeBlock> previousCodeBlock = m_evalCodeBlock.release();
ASSERT((jitType == JITCode::bottomTierJIT()) == !previousCodeBlock);
- m_evalCodeBlock = adoptPtr(new EvalCodeBlock(this, globalObject, source().provider(), scopeChainNode->localDepth(), previousCodeBlock.release()));
- OwnPtr<BytecodeGenerator> generator(adoptPtr(new BytecodeGenerator(evalNode.get(), scopeChainNode, m_evalCodeBlock->symbolTable(), m_evalCodeBlock.get(), !!m_evalCodeBlock->alternative() ? OptimizingCompilation : FirstCompilation)));
+ m_evalCodeBlock = adoptPtr(new EvalCodeBlock(this, globalObject, source().provider(), scope->localDepth(), previousCodeBlock.release()));
+ OwnPtr<BytecodeGenerator> generator(adoptPtr(new BytecodeGenerator(evalNode.get(), scope, m_evalCodeBlock->symbolTable(), m_evalCodeBlock.get(), !!m_evalCodeBlock->alternative() ? OptimizingCompilation : FirstCompilation)));
if ((exception = generator->generate())) {
m_evalCodeBlock = static_pointer_cast<EvalCodeBlock>(m_evalCodeBlock->releaseAlternative());
evalNode->destroyData();
@@ -295,20 +286,20 @@ JSObject* ProgramExecutable::checkSyntax(ExecState* exec)
JSObject* exception = 0;
JSGlobalData* globalData = &exec->globalData();
JSGlobalObject* lexicalGlobalObject = exec->lexicalGlobalObject();
- RefPtr<ProgramNode> programNode = parse<ProgramNode>(globalData, lexicalGlobalObject, m_source, 0, JSParseNormal, ProgramNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, lexicalGlobalObject->debugger(), exec, &exception);
+ RefPtr<ProgramNode> programNode = parse<ProgramNode>(globalData, lexicalGlobalObject, m_source, 0, Identifier(), JSParseNormal, ProgramNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, lexicalGlobalObject->debugger(), exec, &exception);
if (programNode)
return 0;
ASSERT(exception);
return exception;
}
-JSObject* ProgramExecutable::compileOptimized(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* ProgramExecutable::compileOptimized(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
ASSERT(exec->globalData().dynamicGlobalObject);
ASSERT(!!m_programCodeBlock);
JSObject* error = 0;
if (m_programCodeBlock->getJITType() != JITCode::topTierJIT())
- error = compileInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_programCodeBlock->getJITType()), bytecodeIndex);
+ error = compileInternal(exec, scope, JITCode::nextTierJIT(m_programCodeBlock->getJITType()), bytecodeIndex);
ASSERT(!!m_programCodeBlock);
return error;
}
@@ -320,7 +311,7 @@ bool ProgramExecutable::jitCompile(ExecState* exec)
}
#endif
-JSObject* ProgramExecutable::compileInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex)
+JSObject* ProgramExecutable::compileInternal(ExecState* exec, JSScope* scope, JITCode::JITType jitType, unsigned bytecodeIndex)
{
SamplingRegion samplingRegion(samplingDescription(jitType));
@@ -337,19 +328,19 @@ JSObject* ProgramExecutable::compileInternal(ExecState* exec, ScopeChainNode* sc
newCodeBlock->setAlternative(static_pointer_cast<CodeBlock>(m_programCodeBlock.release()));
m_programCodeBlock = newCodeBlock.release();
} else {
- RefPtr<ProgramNode> programNode = parse<ProgramNode>(globalData, lexicalGlobalObject, m_source, 0, isStrictMode() ? JSParseStrict : JSParseNormal, ProgramNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, lexicalGlobalObject->debugger(), exec, &exception);
+ RefPtr<ProgramNode> programNode = parse<ProgramNode>(globalData, lexicalGlobalObject, m_source, 0, Identifier(), isStrictMode() ? JSParseStrict : JSParseNormal, ProgramNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, lexicalGlobalObject->debugger(), exec, &exception);
if (!programNode) {
ASSERT(exception);
return exception;
}
recordParse(programNode->features(), programNode->hasCapturedVariables(), programNode->lineNo(), programNode->lastLine());
- JSGlobalObject* globalObject = scopeChainNode->globalObject.get();
+ JSGlobalObject* globalObject = scope->globalObject();
OwnPtr<CodeBlock> previousCodeBlock = m_programCodeBlock.release();
ASSERT((jitType == JITCode::bottomTierJIT()) == !previousCodeBlock);
m_programCodeBlock = adoptPtr(new ProgramCodeBlock(this, GlobalCode, globalObject, source().provider(), previousCodeBlock.release()));
- OwnPtr<BytecodeGenerator> generator(adoptPtr(new BytecodeGenerator(programNode.get(), scopeChainNode, &globalObject->symbolTable(), m_programCodeBlock.get(), !!m_programCodeBlock->alternative() ? OptimizingCompilation : FirstCompilation)));
+ OwnPtr<BytecodeGenerator> generator(adoptPtr(new BytecodeGenerator(programNode.get(), scope, globalObject->symbolTable(), m_programCodeBlock.get(), !!m_programCodeBlock->alternative() ? OptimizingCompilation : FirstCompilation)));
if ((exception = generator->generate())) {
m_programCodeBlock = static_pointer_cast<ProgramCodeBlock>(m_programCodeBlock->releaseAlternative());
programNode->destroyData();
@@ -433,24 +424,24 @@ FunctionCodeBlock* FunctionExecutable::baselineCodeBlockFor(CodeSpecializationKi
return result;
}
-JSObject* FunctionExecutable::compileOptimizedForCall(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* FunctionExecutable::compileOptimizedForCall(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
ASSERT(exec->globalData().dynamicGlobalObject);
ASSERT(!!m_codeBlockForCall);
JSObject* error = 0;
if (m_codeBlockForCall->getJITType() != JITCode::topTierJIT())
- error = compileForCallInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_codeBlockForCall->getJITType()), bytecodeIndex);
+ error = compileForCallInternal(exec, scope, JITCode::nextTierJIT(m_codeBlockForCall->getJITType()), bytecodeIndex);
ASSERT(!!m_codeBlockForCall);
return error;
}
-JSObject* FunctionExecutable::compileOptimizedForConstruct(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex)
+JSObject* FunctionExecutable::compileOptimizedForConstruct(ExecState* exec, JSScope* scope, unsigned bytecodeIndex)
{
ASSERT(exec->globalData().dynamicGlobalObject);
ASSERT(!!m_codeBlockForConstruct);
JSObject* error = 0;
if (m_codeBlockForConstruct->getJITType() != JITCode::topTierJIT())
- error = compileForConstructInternal(exec, scopeChainNode, JITCode::nextTierJIT(m_codeBlockForConstruct->getJITType()), bytecodeIndex);
+ error = compileForConstructInternal(exec, scope, JITCode::nextTierJIT(m_codeBlockForConstruct->getJITType()), bytecodeIndex);
ASSERT(!!m_codeBlockForConstruct);
return error;
}
@@ -472,15 +463,26 @@ FunctionCodeBlock* FunctionExecutable::codeBlockWithBytecodeFor(CodeSpecializati
return baselineCodeBlockFor(kind);
}
-PassOwnPtr<FunctionCodeBlock> FunctionExecutable::produceCodeBlockFor(ScopeChainNode* scopeChainNode, CompilationKind compilationKind, CodeSpecializationKind specializationKind, JSObject*& exception)
+PassOwnPtr<FunctionCodeBlock> FunctionExecutable::produceCodeBlockFor(JSScope* scope, CompilationKind compilationKind, CodeSpecializationKind specializationKind, JSObject*& exception)
{
if (!!codeBlockFor(specializationKind))
return adoptPtr(new FunctionCodeBlock(CodeBlock::CopyParsedBlock, *codeBlockFor(specializationKind)));
exception = 0;
- JSGlobalData* globalData = scopeChainNode->globalData;
- JSGlobalObject* globalObject = scopeChainNode->globalObject.get();
- RefPtr<FunctionBodyNode> body = parse<FunctionBodyNode>(globalData, globalObject, m_source, m_parameters.get(), isStrictMode() ? JSParseStrict : JSParseNormal, FunctionBodyNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, 0, 0, &exception);
+ JSGlobalData* globalData = scope->globalData();
+ JSGlobalObject* globalObject = scope->globalObject();
+ RefPtr<FunctionBodyNode> body = parse<FunctionBodyNode>(
+ globalData,
+ globalObject,
+ m_source,
+ m_parameters.get(),
+ name(),
+ isStrictMode() ? JSParseStrict : JSParseNormal,
+ FunctionBodyNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode,
+ 0,
+ 0,
+ &exception
+ );
if (!body) {
ASSERT(exception);
@@ -488,13 +490,13 @@ PassOwnPtr<FunctionCodeBlock> FunctionExecutable::produceCodeBlockFor(ScopeChain
}
if (m_forceUsesArguments)
body->setUsesArguments();
- body->finishParsing(m_parameters, m_name);
+ body->finishParsing(m_parameters, m_name, m_functionNameIsInScopeToggle);
recordParse(body->features(), body->hasCapturedVariables(), body->lineNo(), body->lastLine());
OwnPtr<FunctionCodeBlock> result;
ASSERT((compilationKind == FirstCompilation) == !codeBlockFor(specializationKind));
result = adoptPtr(new FunctionCodeBlock(this, FunctionCode, globalObject, source().provider(), source().startOffset(), specializationKind == CodeForConstruct));
- OwnPtr<BytecodeGenerator> generator(adoptPtr(new BytecodeGenerator(body.get(), scopeChainNode, result->symbolTable(), result.get(), compilationKind)));
+ OwnPtr<BytecodeGenerator> generator(adoptPtr(new BytecodeGenerator(body.get(), scope, result->symbolTable(), result.get(), compilationKind)));
exception = generator->generate();
body->destroyData();
if (exception)
@@ -504,7 +506,7 @@ PassOwnPtr<FunctionCodeBlock> FunctionExecutable::produceCodeBlockFor(ScopeChain
return result.release();
}
-JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex)
+JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, JSScope* scope, JITCode::JITType jitType, unsigned bytecodeIndex)
{
SamplingRegion samplingRegion(samplingDescription(jitType));
@@ -516,7 +518,7 @@ JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, ScopeChain
#endif
ASSERT((jitType == JITCode::bottomTierJIT()) == !m_codeBlockForCall);
JSObject* exception;
- OwnPtr<FunctionCodeBlock> newCodeBlock = produceCodeBlockFor(scopeChainNode, !!m_codeBlockForCall ? OptimizingCompilation : FirstCompilation, CodeForCall, exception);
+ OwnPtr<FunctionCodeBlock> newCodeBlock = produceCodeBlockFor(scope, !!m_codeBlockForCall ? OptimizingCompilation : FirstCompilation, CodeForCall, exception);
if (!newCodeBlock)
return exception;
@@ -526,7 +528,7 @@ JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, ScopeChain
m_numParametersForCall = m_codeBlockForCall->numParameters();
ASSERT(m_numParametersForCall);
m_numCapturedVariables = m_codeBlockForCall->m_numCapturedVars;
- m_symbolTable = m_codeBlockForCall->sharedSymbolTable();
+ m_symbolTable.set(exec->globalData(), this, m_codeBlockForCall->symbolTable());
#if ENABLE(JIT)
if (!prepareFunctionForExecution(exec, m_codeBlockForCall, m_jitCodeForCall, m_jitCodeForCallWithArityCheck, m_symbolTable, jitType, bytecodeIndex, CodeForCall))
@@ -547,7 +549,7 @@ JSObject* FunctionExecutable::compileForCallInternal(ExecState* exec, ScopeChain
return 0;
}
-JSObject* FunctionExecutable::compileForConstructInternal(ExecState* exec, ScopeChainNode* scopeChainNode, JITCode::JITType jitType, unsigned bytecodeIndex)
+JSObject* FunctionExecutable::compileForConstructInternal(ExecState* exec, JSScope* scope, JITCode::JITType jitType, unsigned bytecodeIndex)
{
SamplingRegion samplingRegion(samplingDescription(jitType));
@@ -559,7 +561,7 @@ JSObject* FunctionExecutable::compileForConstructInternal(ExecState* exec, Scope
ASSERT((jitType == JITCode::bottomTierJIT()) == !m_codeBlockForConstruct);
JSObject* exception;
- OwnPtr<FunctionCodeBlock> newCodeBlock = produceCodeBlockFor(scopeChainNode, !!m_codeBlockForConstruct ? OptimizingCompilation : FirstCompilation, CodeForConstruct, exception);
+ OwnPtr<FunctionCodeBlock> newCodeBlock = produceCodeBlockFor(scope, !!m_codeBlockForConstruct ? OptimizingCompilation : FirstCompilation, CodeForConstruct, exception);
if (!newCodeBlock)
return exception;
@@ -569,7 +571,7 @@ JSObject* FunctionExecutable::compileForConstructInternal(ExecState* exec, Scope
m_numParametersForConstruct = m_codeBlockForConstruct->numParameters();
ASSERT(m_numParametersForConstruct);
m_numCapturedVariables = m_codeBlockForConstruct->m_numCapturedVars;
- m_symbolTable = m_codeBlockForConstruct->sharedSymbolTable();
+ m_symbolTable.set(exec->globalData(), this, m_codeBlockForConstruct->symbolTable());
#if ENABLE(JIT)
if (!prepareFunctionForExecution(exec, m_codeBlockForConstruct, m_jitCodeForConstruct, m_jitCodeForConstructWithArityCheck, m_symbolTable, jitType, bytecodeIndex, CodeForConstruct))
@@ -613,8 +615,8 @@ void FunctionExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor)
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
ScriptExecutable::visitChildren(thisObject, visitor);
- if (thisObject->m_nameValue)
- visitor.append(&thisObject->m_nameValue);
+ visitor.append(&thisObject->m_nameValue);
+ visitor.append(&thisObject->m_symbolTable);
if (thisObject->m_codeBlockForCall)
thisObject->m_codeBlockForCall->visitAggregate(visitor);
if (thisObject->m_codeBlockForConstruct)
@@ -649,16 +651,16 @@ void FunctionExecutable::unlinkCalls()
#endif
}
-FunctionExecutable* FunctionExecutable::fromGlobalCode(const Identifier& functionName, ExecState* exec, Debugger* debugger, const SourceCode& source, JSObject** exception)
+FunctionExecutable* FunctionExecutable::fromGlobalCode(const Identifier& name, ExecState* exec, Debugger* debugger, const SourceCode& source, JSObject** exception)
{
JSGlobalObject* lexicalGlobalObject = exec->lexicalGlobalObject();
- RefPtr<ProgramNode> program = parse<ProgramNode>(&exec->globalData(), lexicalGlobalObject, source, 0, JSParseNormal, ProgramNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, debugger, exec, exception);
+ RefPtr<ProgramNode> program = parse<ProgramNode>(&exec->globalData(), lexicalGlobalObject, source, 0, Identifier(), JSParseNormal, ProgramNode::isFunctionNode ? JSParseFunctionCode : JSParseProgramCode, debugger, exec, exception);
if (!program) {
ASSERT(*exception);
return 0;
}
- // Uses of this function that would not result in a single function expression are invalid.
+ // This function assumes an input string that would result in a single anonymous function expression.
StatementNode* exprStatement = program->singleStatement();
ASSERT(exprStatement);
ASSERT(exprStatement->isExprStatement());
@@ -667,20 +669,23 @@ FunctionExecutable* FunctionExecutable::fromGlobalCode(const Identifier& functio
ASSERT(funcExpr->isFuncExprNode());
FunctionBodyNode* body = static_cast<FuncExprNode*>(funcExpr)->body();
ASSERT(body);
+ ASSERT(body->ident().isNull());
- return FunctionExecutable::create(exec->globalData(), functionName, functionName, body->source(), body->usesArguments(), body->parameters(), body->isStrictMode(), body->lineNo(), body->lastLine());
+ FunctionExecutable* functionExecutable = FunctionExecutable::create(exec->globalData(), body);
+ functionExecutable->m_nameValue.set(exec->globalData(), functionExecutable, jsString(&exec->globalData(), name.string()));
+ return functionExecutable;
}
-UString FunctionExecutable::paramString() const
+String FunctionExecutable::paramString() const
{
FunctionParameters& parameters = *m_parameters;
- UStringBuilder builder;
+ StringBuilder builder;
for (size_t pos = 0; pos < parameters.size(); ++pos) {
if (!builder.isEmpty())
- builder.append(", ");
- builder.append(parameters[pos].ustring());
+ builder.appendLiteral(", ");
+ builder.append(parameters[pos].string());
}
- return builder.toUString();
+ return builder.toString();
}
}
diff --git a/Source/JavaScriptCore/runtime/Executable.h b/Source/JavaScriptCore/runtime/Executable.h
index 2e5ba28ca..f63cc7f99 100644
--- a/Source/JavaScriptCore/runtime/Executable.h
+++ b/Source/JavaScriptCore/runtime/Executable.h
@@ -28,8 +28,10 @@
#include "CallData.h"
#include "CodeSpecializationKind.h"
+#include "HandlerInfo.h"
#include "JSFunction.h"
#include "Interpreter.h"
+#include "LLIntCLoop.h"
#include "Nodes.h"
#include "SamplingTool.h"
#include <wtf/PassOwnPtr.h>
@@ -42,7 +44,7 @@ namespace JSC {
class FunctionCodeBlock;
class LLIntOffsetsExtractor;
class ProgramCodeBlock;
- class ScopeChainNode;
+ class JSScope;
enum CompilationKind { FirstCompilation, OptimizingCompilation };
@@ -200,7 +202,47 @@ namespace JSC {
ASSERT(kind == CodeForConstruct);
return OBJECT_OFFSETOF(ExecutableBase, m_numParametersForConstruct);
}
-#endif
+#endif // ENABLE(JIT)
+
+#if ENABLE(JIT) || ENABLE(LLINT_C_LOOP)
+ MacroAssemblerCodePtr hostCodeEntryFor(CodeSpecializationKind kind)
+ {
+ #if ENABLE(JIT)
+ return generatedJITCodeFor(kind).addressForCall();
+ #else
+ return LLInt::CLoop::hostCodeEntryFor(kind);
+ #endif
+ }
+
+ MacroAssemblerCodePtr jsCodeEntryFor(CodeSpecializationKind kind)
+ {
+ #if ENABLE(JIT)
+ return generatedJITCodeFor(kind).addressForCall();
+ #else
+ return LLInt::CLoop::jsCodeEntryFor(kind);
+ #endif
+ }
+
+ MacroAssemblerCodePtr jsCodeWithArityCheckEntryFor(CodeSpecializationKind kind)
+ {
+ #if ENABLE(JIT)
+ return generatedJITCodeWithArityCheckFor(kind);
+ #else
+ return LLInt::CLoop::jsCodeEntryWithArityCheckFor(kind);
+ #endif
+ }
+
+ static void* catchRoutineFor(HandlerInfo* handler, Instruction* catchPCForInterpreter)
+ {
+ #if ENABLE(JIT)
+ UNUSED_PARAM(catchPCForInterpreter);
+ return handler->nativeCode.executableAddress();
+ #else
+ UNUSED_PARAM(handler);
+ return LLInt::CLoop::catchRoutineFor(catchPCForInterpreter);
+ #endif
+ }
+#endif // ENABLE(JIT || ENABLE(LLINT_C_LOOP)
protected:
ExecutableBase* m_prev;
@@ -236,7 +278,7 @@ namespace JSC {
}
#endif
-#if ENABLE(CLASSIC_INTERPRETER)
+#if ENABLE(CLASSIC_INTERPRETER) || ENABLE(LLINT_C_LOOP)
static NativeExecutable* create(JSGlobalData& globalData, NativeFunction function, NativeFunction constructor)
{
ASSERT(!globalData.canUseJIT());
@@ -320,7 +362,7 @@ namespace JSC {
const SourceCode& source() { return m_source; }
intptr_t sourceID() const { return m_source.providerID(); }
- const UString& sourceURL() const { return m_source.provider()->url(); }
+ const String& sourceURL() const { return m_source.provider()->url(); }
int lineNo() const { return m_firstLine; }
int lastLine() const { return m_lastLine; }
@@ -367,17 +409,17 @@ namespace JSC {
static void destroy(JSCell*);
- JSObject* compile(ExecState* exec, ScopeChainNode* scopeChainNode)
+ JSObject* compile(ExecState* exec, JSScope* scope)
{
ASSERT(exec->globalData().dynamicGlobalObject);
JSObject* error = 0;
if (!m_evalCodeBlock)
- error = compileInternal(exec, scopeChainNode, JITCode::bottomTierJIT());
+ error = compileInternal(exec, scope, JITCode::bottomTierJIT());
ASSERT(!error == !!m_evalCodeBlock);
return error;
}
- JSObject* compileOptimized(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ JSObject* compileOptimized(ExecState*, JSScope*, unsigned bytecodeIndex);
#if ENABLE(JIT)
void jettisonOptimizedCode(JSGlobalData&);
@@ -418,7 +460,7 @@ namespace JSC {
static const unsigned StructureFlags = OverridesVisitChildren | ScriptExecutable::StructureFlags;
EvalExecutable(ExecState*, const SourceCode&, bool);
- JSObject* compileInternal(ExecState*, ScopeChainNode*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
+ JSObject* compileInternal(ExecState*, JSScope*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
static void visitChildren(JSCell*, SlotVisitor&);
OwnPtr<EvalCodeBlock> m_evalCodeBlock;
@@ -438,17 +480,17 @@ namespace JSC {
static void destroy(JSCell*);
- JSObject* compile(ExecState* exec, ScopeChainNode* scopeChainNode)
+ JSObject* compile(ExecState* exec, JSScope* scope)
{
ASSERT(exec->globalData().dynamicGlobalObject);
JSObject* error = 0;
if (!m_programCodeBlock)
- error = compileInternal(exec, scopeChainNode, JITCode::bottomTierJIT());
+ error = compileInternal(exec, scope, JITCode::bottomTierJIT());
ASSERT(!error == !!m_programCodeBlock);
return error;
}
- JSObject* compileOptimized(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ JSObject* compileOptimized(ExecState*, JSScope*, unsigned bytecodeIndex);
#if ENABLE(JIT)
void jettisonOptimizedCode(JSGlobalData&);
@@ -485,7 +527,7 @@ namespace JSC {
static const unsigned StructureFlags = OverridesVisitChildren | ScriptExecutable::StructureFlags;
ProgramExecutable(ExecState*, const SourceCode&);
- JSObject* compileInternal(ExecState*, ScopeChainNode*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
+ JSObject* compileInternal(ExecState*, JSScope*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
static void visitChildren(JSCell*, SlotVisitor&);
OwnPtr<ProgramCodeBlock> m_programCodeBlock;
@@ -497,27 +539,16 @@ namespace JSC {
public:
typedef ScriptExecutable Base;
- static FunctionExecutable* create(ExecState* exec, const Identifier& name, const Identifier& inferredName, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, bool isInStrictContext, int firstLine, int lastLine)
- {
- FunctionExecutable* executable = new (NotNull, allocateCell<FunctionExecutable>(*exec->heap())) FunctionExecutable(exec, name, inferredName, source, forceUsesArguments, parameters, isInStrictContext);
- executable->finishCreation(exec->globalData(), name, firstLine, lastLine);
- return executable;
- }
-
- static FunctionExecutable* create(JSGlobalData& globalData, const Identifier& name, const Identifier& inferredName, const SourceCode& source, bool forceUsesArguments, FunctionParameters* parameters, bool isInStrictContext, int firstLine, int lastLine)
+ static FunctionExecutable* create(JSGlobalData& globalData, FunctionBodyNode* node)
{
- FunctionExecutable* executable = new (NotNull, allocateCell<FunctionExecutable>(globalData.heap)) FunctionExecutable(globalData, name, inferredName, source, forceUsesArguments, parameters, isInStrictContext);
- executable->finishCreation(globalData, name, firstLine, lastLine);
+ FunctionExecutable* executable = new (NotNull, allocateCell<FunctionExecutable>(globalData.heap)) FunctionExecutable(globalData, node);
+ executable->finishCreation(globalData);
return executable;
}
+ static FunctionExecutable* fromGlobalCode(const Identifier& name, ExecState*, Debugger*, const SourceCode&, JSObject** exception);
static void destroy(JSCell*);
- JSFunction* make(ExecState* exec, ScopeChainNode* scopeChain)
- {
- return JSFunction::create(exec, this, scopeChain);
- }
-
// Returns either call or construct bytecode. This can be appropriate
// for answering questions that that don't vary between call and construct --
// for example, argumentsRegister().
@@ -531,19 +562,19 @@ namespace JSC {
FunctionCodeBlock* codeBlockWithBytecodeFor(CodeSpecializationKind);
- PassOwnPtr<FunctionCodeBlock> produceCodeBlockFor(ScopeChainNode*, CompilationKind, CodeSpecializationKind, JSObject*& exception);
+ PassOwnPtr<FunctionCodeBlock> produceCodeBlockFor(JSScope*, CompilationKind, CodeSpecializationKind, JSObject*& exception);
- JSObject* compileForCall(ExecState* exec, ScopeChainNode* scopeChainNode)
+ JSObject* compileForCall(ExecState* exec, JSScope* scope)
{
ASSERT(exec->globalData().dynamicGlobalObject);
JSObject* error = 0;
if (!m_codeBlockForCall)
- error = compileForCallInternal(exec, scopeChainNode, JITCode::bottomTierJIT());
+ error = compileForCallInternal(exec, scope, JITCode::bottomTierJIT());
ASSERT(!error == !!m_codeBlockForCall);
return error;
}
- JSObject* compileOptimizedForCall(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ JSObject* compileOptimizedForCall(ExecState*, JSScope*, unsigned bytecodeIndex);
#if ENABLE(JIT)
void jettisonOptimizedCodeForCall(JSGlobalData&);
@@ -561,17 +592,17 @@ namespace JSC {
return *m_codeBlockForCall;
}
- JSObject* compileForConstruct(ExecState* exec, ScopeChainNode* scopeChainNode)
+ JSObject* compileForConstruct(ExecState* exec, JSScope* scope)
{
ASSERT(exec->globalData().dynamicGlobalObject);
JSObject* error = 0;
if (!m_codeBlockForConstruct)
- error = compileForConstructInternal(exec, scopeChainNode, JITCode::bottomTierJIT());
+ error = compileForConstructInternal(exec, scope, JITCode::bottomTierJIT());
ASSERT(!error == !!m_codeBlockForConstruct);
return error;
}
- JSObject* compileOptimizedForConstruct(ExecState*, ScopeChainNode*, unsigned bytecodeIndex);
+ JSObject* compileOptimizedForConstruct(ExecState*, JSScope*, unsigned bytecodeIndex);
#if ENABLE(JIT)
void jettisonOptimizedCodeForConstruct(JSGlobalData&);
@@ -589,28 +620,28 @@ namespace JSC {
return *m_codeBlockForConstruct;
}
- JSObject* compileFor(ExecState* exec, ScopeChainNode* scopeChainNode, CodeSpecializationKind kind)
+ JSObject* compileFor(ExecState* exec, JSScope* scope, CodeSpecializationKind kind)
{
ASSERT(exec->callee());
ASSERT(exec->callee()->inherits(&JSFunction::s_info));
ASSERT(jsCast<JSFunction*>(exec->callee())->jsExecutable() == this);
if (kind == CodeForCall)
- return compileForCall(exec, scopeChainNode);
+ return compileForCall(exec, scope);
ASSERT(kind == CodeForConstruct);
- return compileForConstruct(exec, scopeChainNode);
+ return compileForConstruct(exec, scope);
}
- JSObject* compileOptimizedFor(ExecState* exec, ScopeChainNode* scopeChainNode, unsigned bytecodeIndex, CodeSpecializationKind kind)
+ JSObject* compileOptimizedFor(ExecState* exec, JSScope* scope, unsigned bytecodeIndex, CodeSpecializationKind kind)
{
ASSERT(exec->callee());
ASSERT(exec->callee()->inherits(&JSFunction::s_info));
ASSERT(jsCast<JSFunction*>(exec->callee())->jsExecutable() == this);
if (kind == CodeForCall)
- return compileOptimizedForCall(exec, scopeChainNode, bytecodeIndex);
+ return compileOptimizedForCall(exec, scope, bytecodeIndex);
ASSERT(kind == CodeForConstruct);
- return compileOptimizedForConstruct(exec, scopeChainNode, bytecodeIndex);
+ return compileOptimizedForConstruct(exec, scope, bytecodeIndex);
}
#if ENABLE(JIT)
@@ -661,12 +692,11 @@ namespace JSC {
JSString* nameValue() const { return m_nameValue.get(); }
size_t parameterCount() const { return m_parameters->size(); } // Excluding 'this'!
unsigned capturedVariableCount() const { return m_numCapturedVariables; }
- UString paramString() const;
- SharedSymbolTable* symbolTable() const { return m_symbolTable; }
+ String paramString() const;
+ SharedSymbolTable* symbolTable() const { return m_symbolTable.get(); }
void clearCodeIfNotCompiling();
static void visitChildren(JSCell*, SlotVisitor&);
- static FunctionExecutable* fromGlobalCode(const Identifier&, ExecState*, Debugger*, const SourceCode&, JSObject** exception);
static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto)
{
return Structure::create(globalData, globalObject, proto, TypeInfo(FunctionExecutableType, StructureFlags), &s_info);
@@ -679,20 +709,17 @@ namespace JSC {
void clearCode();
protected:
- void finishCreation(JSGlobalData& globalData, const Identifier& name, int firstLine, int lastLine)
+ void finishCreation(JSGlobalData& globalData)
{
Base::finishCreation(globalData);
- m_firstLine = firstLine;
- m_lastLine = lastLine;
- m_nameValue.set(globalData, this, jsString(&globalData, name.ustring()));
+ m_nameValue.set(globalData, this, jsString(&globalData, name().string()));
}
private:
- FunctionExecutable(JSGlobalData&, const Identifier& name, const Identifier& inferredName, const SourceCode&, bool forceUsesArguments, FunctionParameters*, bool);
- FunctionExecutable(ExecState*, const Identifier& name, const Identifier& inferredName, const SourceCode&, bool forceUsesArguments, FunctionParameters*, bool);
+ FunctionExecutable(JSGlobalData&, FunctionBodyNode*);
- JSObject* compileForCallInternal(ExecState*, ScopeChainNode*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
- JSObject* compileForConstructInternal(ExecState*, ScopeChainNode*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
+ JSObject* compileForCallInternal(ExecState*, JSScope*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
+ JSObject* compileForConstructInternal(ExecState*, JSScope*, JITCode::JITType, unsigned bytecodeIndex = UINT_MAX);
OwnPtr<FunctionCodeBlock>& codeBlockFor(CodeSpecializationKind kind)
{
@@ -722,8 +749,9 @@ namespace JSC {
OwnPtr<FunctionCodeBlock> m_codeBlockForConstruct;
Identifier m_name;
Identifier m_inferredName;
+ FunctionNameIsInScopeToggle m_functionNameIsInScopeToggle;
WriteBarrier<JSString> m_nameValue;
- SharedSymbolTable* m_symbolTable;
+ WriteBarrier<SharedSymbolTable> m_symbolTable;
};
inline FunctionExecutable* JSFunction::jsExecutable() const
diff --git a/Source/JavaScriptCore/runtime/ExecutionHarness.h b/Source/JavaScriptCore/runtime/ExecutionHarness.h
index 3a876402e..065788aee 100644
--- a/Source/JavaScriptCore/runtime/ExecutionHarness.h
+++ b/Source/JavaScriptCore/runtime/ExecutionHarness.h
@@ -49,7 +49,7 @@ inline bool prepareForExecution(ExecState* exec, OwnPtr<CodeBlockType>& codeBloc
return jitCompileIfAppropriate(exec, codeBlock, jitCode, jitType, bytecodeIndex, JITCode::isBaselineCode(jitType) ? JITCompilationMustSucceed : JITCompilationCanFail);
}
-inline bool prepareFunctionForExecution(ExecState* exec, OwnPtr<FunctionCodeBlock>& codeBlock, JITCode& jitCode, MacroAssemblerCodePtr& jitCodeWithArityCheck, SharedSymbolTable*& symbolTable, JITCode::JITType jitType, unsigned bytecodeIndex, CodeSpecializationKind kind)
+inline bool prepareFunctionForExecution(ExecState* exec, OwnPtr<FunctionCodeBlock>& codeBlock, JITCode& jitCode, MacroAssemblerCodePtr& jitCodeWithArityCheck, WriteBarrier<SharedSymbolTable>& symbolTable, JITCode::JITType jitType, unsigned bytecodeIndex, CodeSpecializationKind kind)
{
#if ENABLE(LLINT)
if (JITCode::isBaselineCode(jitType)) {
diff --git a/Source/JavaScriptCore/runtime/FunctionConstructor.cpp b/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
index 7f82a74ce..40507dae1 100644
--- a/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
+++ b/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
@@ -30,8 +30,7 @@
#include "Lexer.h"
#include "Nodes.h"
#include "Parser.h"
-#include "UStringBuilder.h"
-#include "UStringConcatenate.h"
+#include <wtf/text/StringBuilder.h>
namespace JSC {
@@ -80,38 +79,37 @@ CallType FunctionConstructor::getCallData(JSCell*, CallData& callData)
}
// ECMA 15.3.2 The Function Constructor
-JSObject* constructFunction(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args, const Identifier& functionName, const UString& sourceURL, const TextPosition& position)
+JSObject* constructFunction(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args, const Identifier& functionName, const String& sourceURL, const TextPosition& position)
{
if (!globalObject->evalEnabled())
- return throwError(exec, createEvalError(exec, "Function constructor is disabled"));
+ return throwError(exec, createEvalError(exec, ASCIILiteral("Function constructor is disabled")));
return constructFunctionSkippingEvalEnabledCheck(exec, globalObject, args, functionName, sourceURL, position);
}
-JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args, const Identifier& functionName, const UString& sourceURL, const TextPosition& position)
+JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args, const Identifier& functionName, const String& sourceURL, const TextPosition& position)
{
// Functions need to have a space following the opening { due to for web compatibility
// see https://bugs.webkit.org/show_bug.cgi?id=24350
// We also need \n before the closing } to handle // comments at the end of the last line
- UString program;
+ String program;
if (args.isEmpty())
- program = "(function() { \n})";
+ program = ASCIILiteral("(function() { \n})");
else if (args.size() == 1)
- program = makeUString("(function() { ", args.at(0).toString(exec)->value(exec), "\n})");
+ program = makeString("(function() { ", args.at(0).toString(exec)->value(exec), "\n})");
else {
- UStringBuilder builder;
- builder.append("(function(");
+ StringBuilder builder;
+ builder.appendLiteral("(function(");
builder.append(args.at(0).toString(exec)->value(exec));
for (size_t i = 1; i < args.size() - 1; i++) {
- builder.append(",");
+ builder.append(',');
builder.append(args.at(i).toString(exec)->value(exec));
}
- builder.append(") { ");
+ builder.appendLiteral(") { ");
builder.append(args.at(args.size() - 1).toString(exec)->value(exec));
- builder.append("\n})");
- program = builder.toUString();
+ builder.appendLiteral("\n})");
+ program = builder.toString();
}
- JSGlobalData& globalData = globalObject->globalData();
SourceCode source = makeSource(program, sourceURL, position);
JSObject* exception = 0;
FunctionExecutable* function = FunctionExecutable::fromGlobalCode(functionName, exec, exec->dynamicGlobalObject()->debugger(), source, &exception);
@@ -120,14 +118,13 @@ JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState* exec, JSGlobalObj
return throwError(exec, exception);
}
- ScopeChainNode* scopeChain = ScopeChainNode::create(exec, 0, globalObject, &globalData, globalObject, exec->globalThisValue());
- return JSFunction::create(exec, function, scopeChain);
+ return JSFunction::create(exec, function, globalObject);
}
// ECMA 15.3.2 The Function Constructor
JSObject* constructFunction(ExecState* exec, JSGlobalObject* globalObject, const ArgList& args)
{
- return constructFunction(exec, globalObject, args, Identifier(exec, "anonymous"), UString(), TextPosition::minimumPosition());
+ return constructFunction(exec, globalObject, args, Identifier(exec, "anonymous"), String(), TextPosition::minimumPosition());
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/FunctionConstructor.h b/Source/JavaScriptCore/runtime/FunctionConstructor.h
index 31986b70a..99eafee80 100644
--- a/Source/JavaScriptCore/runtime/FunctionConstructor.h
+++ b/Source/JavaScriptCore/runtime/FunctionConstructor.h
@@ -56,10 +56,10 @@ namespace JSC {
static CallType getCallData(JSCell*, CallData&);
};
- JSObject* constructFunction(ExecState*, JSGlobalObject*, const ArgList&, const Identifier& functionName, const UString& sourceURL, const WTF::TextPosition&);
+ JSObject* constructFunction(ExecState*, JSGlobalObject*, const ArgList&, const Identifier& functionName, const String& sourceURL, const WTF::TextPosition&);
JSObject* constructFunction(ExecState*, JSGlobalObject*, const ArgList&);
- JS_EXPORT_PRIVATE JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState*, JSGlobalObject*, const ArgList&, const Identifier&, const UString&, const WTF::TextPosition&);
+ JS_EXPORT_PRIVATE JSObject* constructFunctionSkippingEvalEnabledCheck(ExecState*, JSGlobalObject*, const ArgList&, const Identifier&, const String&, const WTF::TextPosition&);
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/FunctionPrototype.cpp b/Source/JavaScriptCore/runtime/FunctionPrototype.cpp
index 4206cf2b0..455a21877 100644
--- a/Source/JavaScriptCore/runtime/FunctionPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/FunctionPrototype.cpp
@@ -47,7 +47,7 @@ FunctionPrototype::FunctionPrototype(JSGlobalObject* globalObject, Structure* st
{
}
-void FunctionPrototype::finishCreation(ExecState* exec, const UString& name)
+void FunctionPrototype::finishCreation(ExecState* exec, const String& name)
{
Base::finishCreation(exec->globalData(), name);
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().length, jsNumber(0), DontDelete | ReadOnly | DontEnum);
@@ -55,16 +55,16 @@ void FunctionPrototype::finishCreation(ExecState* exec, const UString& name)
void FunctionPrototype::addFunctionProperties(ExecState* exec, JSGlobalObject* globalObject, JSFunction** callFunction, JSFunction** applyFunction)
{
- JSFunction* toStringFunction = JSFunction::create(exec, globalObject, 0, exec->propertyNames().toString.ustring(), functionProtoFuncToString);
+ JSFunction* toStringFunction = JSFunction::create(exec, globalObject, 0, exec->propertyNames().toString.string(), functionProtoFuncToString);
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().toString, toStringFunction, DontEnum);
- *applyFunction = JSFunction::create(exec, globalObject, 2, exec->propertyNames().apply.ustring(), functionProtoFuncApply);
+ *applyFunction = JSFunction::create(exec, globalObject, 2, exec->propertyNames().apply.string(), functionProtoFuncApply);
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().apply, *applyFunction, DontEnum);
- *callFunction = JSFunction::create(exec, globalObject, 1, exec->propertyNames().call.ustring(), functionProtoFuncCall);
+ *callFunction = JSFunction::create(exec, globalObject, 1, exec->propertyNames().call.string(), functionProtoFuncCall);
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().call, *callFunction, DontEnum);
- JSFunction* bindFunction = JSFunction::create(exec, globalObject, 1, exec->propertyNames().bind.ustring(), functionProtoFuncBind);
+ JSFunction* bindFunction = JSFunction::create(exec, globalObject, 1, exec->propertyNames().bind.string(), functionProtoFuncBind);
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().bind, bindFunction, DontEnum);
}
@@ -83,7 +83,7 @@ CallType FunctionPrototype::getCallData(JSCell*, CallData& callData)
// Functions
// Compatibility hack for the Optimost JavaScript library. (See <rdar://problem/6595040>.)
-static inline void insertSemicolonIfNeeded(UString& functionBody)
+static inline void insertSemicolonIfNeeded(String& functionBody)
{
ASSERT(functionBody[0] == '{');
ASSERT(functionBody[functionBody.length() - 1] == '}');
@@ -92,7 +92,7 @@ static inline void insertSemicolonIfNeeded(UString& functionBody)
UChar ch = functionBody[i];
if (!Lexer<UChar>::isWhiteSpace(ch) && !Lexer<UChar>::isLineTerminator(ch)) {
if (ch != ';' && ch != '}')
- functionBody = makeUString(functionBody.substringSharingImpl(0, i + 1), ";", functionBody.substringSharingImpl(i + 1, functionBody.length() - (i + 1)));
+ functionBody = makeString(functionBody.substringSharingImpl(0, i + 1), ";", functionBody.substringSharingImpl(i + 1, functionBody.length() - (i + 1)));
return;
}
}
@@ -106,7 +106,7 @@ EncodedJSValue JSC_HOST_CALL functionProtoFuncToString(ExecState* exec)
if (function->isHostFunction())
return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "() {\n [native code]\n}"));
FunctionExecutable* executable = function->jsExecutable();
- UString sourceString = executable->source().toString();
+ String sourceString = executable->source().toString();
insertSemicolonIfNeeded(sourceString);
return JSValue::encode(jsMakeNontrivialString(exec, "function ", function->name(exec), "(", executable->paramString(), ") ", sourceString));
}
diff --git a/Source/JavaScriptCore/runtime/FunctionPrototype.h b/Source/JavaScriptCore/runtime/FunctionPrototype.h
index 59427912b..07f381306 100644
--- a/Source/JavaScriptCore/runtime/FunctionPrototype.h
+++ b/Source/JavaScriptCore/runtime/FunctionPrototype.h
@@ -32,7 +32,7 @@ namespace JSC {
static FunctionPrototype* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
{
FunctionPrototype* prototype = new (NotNull, allocateCell<FunctionPrototype>(*exec->heap())) FunctionPrototype(globalObject, structure);
- prototype->finishCreation(exec, "");
+ prototype->finishCreation(exec, String());
return prototype;
}
@@ -46,7 +46,7 @@ namespace JSC {
static const ClassInfo s_info;
protected:
- void finishCreation(ExecState*, const UString& name);
+ void finishCreation(ExecState*, const String& name);
private:
FunctionPrototype(JSGlobalObject*, Structure*);
diff --git a/Source/JavaScriptCore/runtime/GCActivityCallback.cpp b/Source/JavaScriptCore/runtime/GCActivityCallback.cpp
index c2fca8c01..74cbdbaef 100644
--- a/Source/JavaScriptCore/runtime/GCActivityCallback.cpp
+++ b/Source/JavaScriptCore/runtime/GCActivityCallback.cpp
@@ -34,7 +34,7 @@
#include "JSGlobalData.h"
#include "JSLock.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
#include <wtf/RetainPtr.h>
#include <wtf/WTFThreadData.h>
diff --git a/Source/JavaScriptCore/runtime/GCActivityCallback.h b/Source/JavaScriptCore/runtime/GCActivityCallback.h
index 67ee17420..c112a7120 100644
--- a/Source/JavaScriptCore/runtime/GCActivityCallback.h
+++ b/Source/JavaScriptCore/runtime/GCActivityCallback.h
@@ -42,6 +42,7 @@ namespace JSC {
class Heap;
class GCActivityCallback : public HeapTimer {
+ WTF_MAKE_FAST_ALLOCATED;
public:
virtual void didAllocate(size_t) { }
virtual void willCollect() { }
diff --git a/Source/JavaScriptCore/runtime/GetterSetter.cpp b/Source/JavaScriptCore/runtime/GetterSetter.cpp
index 920399dda..8ed582548 100644
--- a/Source/JavaScriptCore/runtime/GetterSetter.cpp
+++ b/Source/JavaScriptCore/runtime/GetterSetter.cpp
@@ -39,10 +39,8 @@ void GetterSetter::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
JSCell::visitChildren(thisObject, visitor);
- if (thisObject->m_getter)
- visitor.append(&thisObject->m_getter);
- if (thisObject->m_setter)
- visitor.append(&thisObject->m_setter);
+ visitor.append(&thisObject->m_getter);
+ visitor.append(&thisObject->m_setter);
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/Identifier.cpp b/Source/JavaScriptCore/runtime/Identifier.cpp
index 0fc54f3c6..a9a2a66bf 100644
--- a/Source/JavaScriptCore/runtime/Identifier.cpp
+++ b/Source/JavaScriptCore/runtime/Identifier.cpp
@@ -23,10 +23,10 @@
#include "CallFrame.h"
#include "JSObject.h"
+#include "JSScope.h"
#include "NumericStrings.h"
-#include "ScopeChain.h"
-#include <new> // for placement new
-#include <string.h> // for strlen
+#include <new>
+#include <string.h>
#include <wtf/Assertions.h>
#include <wtf/FastMalloc.h>
#include <wtf/HashSet.h>
diff --git a/Source/JavaScriptCore/runtime/Identifier.h b/Source/JavaScriptCore/runtime/Identifier.h
index 196fdca23..bdcfbd187 100644
--- a/Source/JavaScriptCore/runtime/Identifier.h
+++ b/Source/JavaScriptCore/runtime/Identifier.h
@@ -23,9 +23,9 @@
#include "JSGlobalData.h"
#include <wtf/ThreadSpecific.h>
-#include "UString.h"
#include <wtf/WTFThreadData.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
@@ -45,14 +45,14 @@ namespace JSC {
Identifier(JSGlobalData* globalData, const char (&characters)[charactersCount]) : m_string(add(globalData, characters)) { }
Identifier(ExecState* exec, StringImpl* rep) : m_string(add(exec, rep)) { }
- Identifier(ExecState* exec, const UString& s) : m_string(add(exec, s.impl())) { }
+ Identifier(ExecState* exec, const String& s) : m_string(add(exec, s.impl())) { }
Identifier(JSGlobalData* globalData, const LChar* s, int length) : m_string(add(globalData, s, length)) { }
Identifier(JSGlobalData* globalData, const UChar* s, int length) : m_string(add(globalData, s, length)) { }
Identifier(JSGlobalData* globalData, StringImpl* rep) : m_string(add(globalData, rep)) { }
- Identifier(JSGlobalData* globalData, const UString& s) : m_string(add(globalData, s.impl())) { }
+ Identifier(JSGlobalData* globalData, const String& s) : m_string(add(globalData, s.impl())) { }
- const UString& ustring() const { return m_string; }
+ const String& string() const { return m_string; }
StringImpl* impl() const { return m_string.impl(); }
const UChar* characters() const { return m_string.characters(); }
@@ -91,7 +91,7 @@ namespace JSC {
JS_EXPORT_PRIVATE static PassRefPtr<StringImpl> add(ExecState*, const char*);
private:
- UString m_string;
+ String m_string;
template <typename CharType>
ALWAYS_INLINE static uint32_t toUInt32FromCharacters(const CharType* characters, unsigned length, bool& ok);
diff --git a/Source/JavaScriptCore/runtime/InitializeThreading.cpp b/Source/JavaScriptCore/runtime/InitializeThreading.cpp
index c7fbd332e..6e7eddbf1 100644
--- a/Source/JavaScriptCore/runtime/InitializeThreading.cpp
+++ b/Source/JavaScriptCore/runtime/InitializeThreading.cpp
@@ -35,7 +35,7 @@
#include "Identifier.h"
#include "JSDateMath.h"
#include "JSGlobalObject.h"
-#include "UString.h"
+#include "LLIntData.h"
#include "WriteBarrier.h"
#include <wtf/dtoa.h>
#include <wtf/Threading.h>
@@ -61,6 +61,9 @@ static void initializeThreadingOnce()
ExecutableAllocator::initializeAllocator();
#endif
RegisterFile::initializeThreading();
+#if ENABLE(LLINT)
+ LLInt::initialize();
+#endif
}
void initializeThreading()
diff --git a/Source/JavaScriptCore/runtime/InternalFunction.cpp b/Source/JavaScriptCore/runtime/InternalFunction.cpp
index 985ab73b0..e2de03d92 100644
--- a/Source/JavaScriptCore/runtime/InternalFunction.cpp
+++ b/Source/JavaScriptCore/runtime/InternalFunction.cpp
@@ -39,27 +39,27 @@ InternalFunction::InternalFunction(JSGlobalObject* globalObject, Structure* stru
{
}
-void InternalFunction::finishCreation(JSGlobalData& globalData, const UString& name)
+void InternalFunction::finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData);
ASSERT(inherits(&s_info));
ASSERT(methodTable()->getCallData != InternalFunction::s_info.methodTable.getCallData);
- putDirect(globalData, globalData.propertyNames->name, jsString(&globalData, name.isNull() ? "" : name), DontDelete | ReadOnly | DontEnum);
+ putDirect(globalData, globalData.propertyNames->name, jsString(&globalData, name), DontDelete | ReadOnly | DontEnum);
}
-const UString& InternalFunction::name(ExecState* exec)
+const String& InternalFunction::name(ExecState* exec)
{
return asString(getDirect(exec->globalData(), exec->globalData().propertyNames->name))->tryGetValue();
}
-const UString InternalFunction::displayName(ExecState* exec)
+const String InternalFunction::displayName(ExecState* exec)
{
JSValue displayName = getDirect(exec->globalData(), exec->globalData().propertyNames->displayName);
if (displayName && isJSString(displayName))
return asString(displayName)->tryGetValue();
- return UString();
+ return String();
}
CallType InternalFunction::getCallData(JSCell*, CallData&)
@@ -68,9 +68,9 @@ CallType InternalFunction::getCallData(JSCell*, CallData&)
return CallTypeNone;
}
-const UString InternalFunction::calculatedDisplayName(ExecState* exec)
+const String InternalFunction::calculatedDisplayName(ExecState* exec)
{
- const UString explicitName = displayName(exec);
+ const String explicitName = displayName(exec);
if (!explicitName.isEmpty())
return explicitName;
diff --git a/Source/JavaScriptCore/runtime/InternalFunction.h b/Source/JavaScriptCore/runtime/InternalFunction.h
index 150fb759e..e26b9f953 100644
--- a/Source/JavaScriptCore/runtime/InternalFunction.h
+++ b/Source/JavaScriptCore/runtime/InternalFunction.h
@@ -37,9 +37,9 @@ namespace JSC {
static JS_EXPORTDATA const ClassInfo s_info;
- JS_EXPORT_PRIVATE const UString& name(ExecState*);
- const UString displayName(ExecState*);
- const UString calculatedDisplayName(ExecState*);
+ JS_EXPORT_PRIVATE const String& name(ExecState*);
+ const String displayName(ExecState*);
+ const String calculatedDisplayName(ExecState*);
static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto)
{
@@ -51,7 +51,7 @@ namespace JSC {
JS_EXPORT_PRIVATE InternalFunction(JSGlobalObject*, Structure*);
- JS_EXPORT_PRIVATE void finishCreation(JSGlobalData&, const UString& name);
+ JS_EXPORT_PRIVATE void finishCreation(JSGlobalData&, const String& name);
static CallType getCallData(JSCell*, CallData&);
};
diff --git a/Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp b/Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp
index 8517085df..cd1d830fe 100644
--- a/Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp
+++ b/Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp
@@ -24,7 +24,6 @@
#include "JSAPIValueWrapper.h"
#include "NumberObject.h"
-#include "UString.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/runtime/JSActivation.cpp b/Source/JavaScriptCore/runtime/JSActivation.cpp
index 5417b0023..ae403ce46 100644
--- a/Source/JavaScriptCore/runtime/JSActivation.cpp
+++ b/Source/JavaScriptCore/runtime/JSActivation.cpp
@@ -42,7 +42,13 @@ ASSERT_CLASS_FITS_IN_CELL(JSActivation);
const ClassInfo JSActivation::s_info = { "JSActivation", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSActivation) };
JSActivation::JSActivation(CallFrame* callFrame, FunctionExecutable* functionExecutable)
- : Base(callFrame->globalData(), callFrame->globalData().activationStructure.get(), functionExecutable->symbolTable(), callFrame->registers())
+ : Base(
+ callFrame->globalData(),
+ callFrame->lexicalGlobalObject()->activationStructure(),
+ callFrame->registers(),
+ callFrame->scope()
+ )
+ , m_registerArray(callFrame->globalData(), this, 0)
, m_numCapturedArgs(max(callFrame->argumentCount(), functionExecutable->parameterCount()))
, m_numCapturedVars(functionExecutable->capturedVariableCount())
, m_isTornOff(false)
@@ -51,20 +57,10 @@ JSActivation::JSActivation(CallFrame* callFrame, FunctionExecutable* functionExe
{
}
-void JSActivation::finishCreation(CallFrame* callFrame)
+void JSActivation::finishCreation(CallFrame* callFrame, FunctionExecutable* functionExecutable)
{
- Base::finishCreation(callFrame->globalData());
+ Base::finishCreation(callFrame->globalData(), functionExecutable->symbolTable());
ASSERT(inherits(&s_info));
-
- // We have to manually ref and deref the symbol table as JSVariableObject
- // doesn't know about SharedSymbolTable
- static_cast<SharedSymbolTable*>(m_symbolTable)->ref();
- callFrame->globalData().heap.addFinalizer(this, &finalize);
-}
-
-void JSActivation::finalize(JSCell* cell)
-{
- static_cast<SharedSymbolTable*>(jsCast<JSActivation*>(cell)->m_symbolTable)->deref();
}
void JSActivation::visitChildren(JSCell* cell, SlotVisitor& visitor)
@@ -76,25 +72,27 @@ void JSActivation::visitChildren(JSCell* cell, SlotVisitor& visitor)
Base::visitChildren(thisObject, visitor);
// No need to mark our registers if they're still in the RegisterFile.
- WriteBarrier<Unknown>* registerArray = thisObject->m_registerArray.get();
+ PropertyStorage registerArray = thisObject->m_registerArray.get();
if (!registerArray)
return;
-
- visitor.appendValues(registerArray, thisObject->m_numCapturedArgs);
- // Skip 'this' and call frame, except for callee and scope chain.
- int offset = CallFrame::offsetFor(thisObject->m_numCapturedArgs + 1);
- visitor.append(registerArray + offset + RegisterFile::ScopeChain);
- visitor.append(registerArray + offset + RegisterFile::Callee);
-
- visitor.appendValues(registerArray + offset, thisObject->m_numCapturedVars);
+ visitor.copyAndAppend(bitwise_cast<void**>(&registerArray), thisObject->registerArraySizeInBytes(), reinterpret_cast<JSValue*>(registerArray), thisObject->registerArraySize());
+ thisObject->m_registerArray.set(registerArray, StorageBarrier::Unchecked);
+ thisObject->m_registers = registerArray + thisObject->registerOffset();
+
+ // Update the arguments object, since it points at our buffer.
+ CallFrame* callFrame = CallFrame::create(reinterpret_cast<Register*>(thisObject->m_registers));
+ if (JSValue v = callFrame->uncheckedR(unmodifiedArgumentsRegister(thisObject->m_argumentsRegister)).jsValue())
+ jsCast<Arguments*>(v)->setRegisters(thisObject->m_registers);
}
inline bool JSActivation::symbolTableGet(PropertyName propertyName, PropertySlot& slot)
{
- SymbolTableEntry entry = symbolTable().inlineGet(propertyName.publicName());
+ SymbolTableEntry entry = symbolTable()->inlineGet(propertyName.publicName());
if (entry.isNull())
return false;
+
+ // Defend against the inspector asking for a var after it has been optimized out.
if (m_isTornOff && entry.getIndex() >= m_numCapturedVars)
return false;
@@ -102,12 +100,26 @@ inline bool JSActivation::symbolTableGet(PropertyName propertyName, PropertySlot
return true;
}
+inline bool JSActivation::symbolTableGet(PropertyName propertyName, PropertyDescriptor& descriptor)
+{
+ SymbolTableEntry entry = symbolTable()->inlineGet(propertyName.publicName());
+ if (entry.isNull())
+ return false;
+
+ // Defend against the inspector asking for a var after it has been optimized out.
+ if (m_isTornOff && entry.getIndex() >= m_numCapturedVars)
+ return false;
+
+ descriptor.setDescriptor(registerAt(entry.getIndex()).get(), entry.getAttributes());
+ return true;
+}
+
inline bool JSActivation::symbolTablePut(ExecState* exec, PropertyName propertyName, JSValue value, bool shouldThrow)
{
JSGlobalData& globalData = exec->globalData();
ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this));
- SymbolTableEntry entry = symbolTable().inlineGet(propertyName.publicName());
+ SymbolTableEntry entry = symbolTable()->inlineGet(propertyName.publicName());
if (entry.isNull())
return false;
if (entry.isReadOnly()) {
@@ -115,6 +127,8 @@ inline bool JSActivation::symbolTablePut(ExecState* exec, PropertyName propertyN
throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
return true;
}
+
+ // Defend against the inspector asking for a var after it has been optimized out.
if (m_isTornOff && entry.getIndex() >= m_numCapturedVars)
return false;
@@ -125,8 +139,12 @@ inline bool JSActivation::symbolTablePut(ExecState* exec, PropertyName propertyN
void JSActivation::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
{
JSActivation* thisObject = jsCast<JSActivation*>(object);
- SymbolTable::const_iterator end = thisObject->symbolTable().end();
- for (SymbolTable::const_iterator it = thisObject->symbolTable().begin(); it != end; ++it) {
+
+ if (mode == IncludeDontEnumProperties)
+ propertyNames.add(exec->propertyNames().arguments);
+
+ SymbolTable::const_iterator end = thisObject->symbolTable()->end();
+ for (SymbolTable::const_iterator it = thisObject->symbolTable()->begin(); it != end; ++it) {
if (it->second.getAttributes() & DontEnum && mode != IncludeDontEnumProperties)
continue;
if (it->second.getIndex() >= thisObject->m_numCapturedVars)
@@ -141,8 +159,8 @@ inline bool JSActivation::symbolTablePutWithAttributes(JSGlobalData& globalData,
{
ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(this));
- SymbolTable::iterator iter = symbolTable().find(propertyName.publicName());
- if (iter == symbolTable().end())
+ SymbolTable::iterator iter = symbolTable()->find(propertyName.publicName());
+ if (iter == symbolTable()->end())
return false;
SymbolTableEntry& entry = iter->second;
ASSERT(!entry.isNull());
@@ -157,9 +175,13 @@ inline bool JSActivation::symbolTablePutWithAttributes(JSGlobalData& globalData,
bool JSActivation::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
JSActivation* thisObject = jsCast<JSActivation*>(cell);
+
if (propertyName == exec->propertyNames().arguments) {
- slot.setCustom(thisObject, thisObject->getArgumentsGetter());
- return true;
+ // Defend against the inspector asking for the arguments object after it has been optimized out.
+ if (!thisObject->m_isTornOff) {
+ slot.setCustom(thisObject, thisObject->getArgumentsGetter());
+ return true;
+ }
}
if (thisObject->symbolTableGet(propertyName, slot))
@@ -177,6 +199,26 @@ bool JSActivation::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyNam
return false;
}
+bool JSActivation::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
+{
+ JSActivation* thisObject = jsCast<JSActivation*>(object);
+
+ if (propertyName == exec->propertyNames().arguments) {
+ // Defend against the inspector asking for the arguments object after it has been optimized out.
+ if (!thisObject->m_isTornOff) {
+ PropertySlot slot;
+ JSActivation::getOwnPropertySlot(thisObject, exec, propertyName, slot);
+ descriptor.setDescriptor(slot.getValue(exec, propertyName), DontEnum);
+ return true;
+ }
+ }
+
+ if (thisObject->symbolTableGet(propertyName, descriptor))
+ return true;
+
+ return Base::getOwnPropertyDescriptor(object, exec, propertyName, descriptor);
+}
+
void JSActivation::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
{
JSActivation* thisObject = jsCast<JSActivation*>(cell);
diff --git a/Source/JavaScriptCore/runtime/JSActivation.h b/Source/JavaScriptCore/runtime/JSActivation.h
index 95639076d..3abe5f54b 100644
--- a/Source/JavaScriptCore/runtime/JSActivation.h
+++ b/Source/JavaScriptCore/runtime/JSActivation.h
@@ -30,9 +30,10 @@
#define JSActivation_h
#include "CodeBlock.h"
+#include "CopiedSpaceInlineMethods.h"
#include "JSVariableObject.h"
-#include "SymbolTable.h"
#include "Nodes.h"
+#include "SymbolTable.h"
namespace JSC {
@@ -49,18 +50,17 @@ namespace JSC {
static JSActivation* create(JSGlobalData& globalData, CallFrame* callFrame, FunctionExecutable* funcExec)
{
JSActivation* activation = new (NotNull, allocateCell<JSActivation>(globalData.heap)) JSActivation(callFrame, funcExec);
- activation->finishCreation(callFrame);
+ activation->finishCreation(callFrame, funcExec);
return activation;
}
- static void finalize(JSCell*);
-
static void visitChildren(JSCell*, SlotVisitor&);
bool isDynamicScope(bool& requiresDynamicChecks) const;
static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);
static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
+ JS_EXPORT_PRIVATE static bool getOwnPropertyDescriptor(JSObject*, ExecState*, PropertyName, PropertyDescriptor&);
static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
@@ -78,8 +78,8 @@ namespace JSC {
bool isValidScopedLookup(int index) { return index < m_numCapturedVars; }
protected:
- void finishCreation(CallFrame*);
- static const unsigned StructureFlags = IsEnvironmentRecord | OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames | JSVariableObject::StructureFlags;
+ void finishCreation(CallFrame*, FunctionExecutable*);
+ static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames | Base::StructureFlags;
private:
bool symbolTableGet(PropertyName, PropertySlot&);
@@ -91,6 +91,11 @@ namespace JSC {
static JSValue argumentsGetter(ExecState*, JSValue, PropertyName);
NEVER_INLINE PropertySlot::GetValueFunc getArgumentsGetter();
+ size_t registerOffset();
+ size_t registerArraySize();
+ size_t registerArraySizeInBytes();
+
+ StorageBarrier m_registerArray; // Independent copy of registers, used when a variable object copies its registers out of the register file.
int m_numCapturedArgs;
int m_numCapturedVars : 30;
bool m_isTornOff : 1;
@@ -117,23 +122,50 @@ namespace JSC {
return false;
}
+ inline size_t JSActivation::registerOffset()
+ {
+ if (!m_numCapturedArgs)
+ return 0;
+
+ size_t capturedArgumentCountIncludingThis = m_numCapturedArgs + 1;
+ return CallFrame::offsetFor(capturedArgumentCountIncludingThis);
+ }
+
+ inline size_t JSActivation::registerArraySize()
+ {
+ return registerOffset() + m_numCapturedVars;
+ }
+
+ inline size_t JSActivation::registerArraySizeInBytes()
+ {
+ return registerArraySize() * sizeof(WriteBarrierBase<Unknown>);
+ }
+
inline void JSActivation::tearOff(JSGlobalData& globalData)
{
ASSERT(!m_registerArray);
ASSERT(m_numCapturedVars + m_numCapturedArgs);
- int registerOffset = CallFrame::offsetFor(m_numCapturedArgs + 1);
- size_t registerArraySize = registerOffset + m_numCapturedVars;
-
- OwnArrayPtr<WriteBarrier<Unknown> > registerArray = adoptArrayPtr(new WriteBarrier<Unknown>[registerArraySize]);
- WriteBarrier<Unknown>* registers = registerArray.get() + registerOffset;
+ void* allocation = 0;
+ if (!globalData.heap.tryAllocateStorage(registerArraySizeInBytes(), &allocation))
+ CRASH();
+ PropertyStorage registerArray = static_cast<PropertyStorage>(allocation);
+ PropertyStorage registers = registerArray + registerOffset();
+ // arguments
int from = CallFrame::argumentOffset(m_numCapturedArgs - 1);
- int to = m_numCapturedVars;
+ int to = CallFrame::thisArgumentOffset(); // Skip 'this' because it's not lexically accessible.
+ for (int i = from; i < to; ++i)
+ registers[i].set(globalData, this, m_registers[i].get());
+
+ // vars
+ from = 0;
+ to = m_numCapturedVars;
for (int i = from; i < to; ++i)
registers[i].set(globalData, this, m_registers[i].get());
- setRegisters(registers, registerArray.release());
+ m_registerArray.set(globalData, this, registerArray);
+ m_registers = registers;
m_isTornOff = true;
}
diff --git a/Source/JavaScriptCore/runtime/JSArray.cpp b/Source/JavaScriptCore/runtime/JSArray.cpp
index 7218604d1..8e1606fd8 100644
--- a/Source/JavaScriptCore/runtime/JSArray.cpp
+++ b/Source/JavaScriptCore/runtime/JSArray.cpp
@@ -113,7 +113,7 @@ static inline bool isDenseEnoughForVector(unsigned length, unsigned numValues)
static bool reject(ExecState* exec, bool throwException, const char* message)
{
if (throwException)
- throwTypeError(exec, message);
+ throwTypeError(exec, ASCIILiteral(message));
return false;
}
@@ -212,14 +212,14 @@ inline void SparseArrayValueMap::put(ExecState* exec, JSArray* array, unsigned i
if (result.isNewEntry && !array->isExtensible()) {
remove(result.iterator);
if (shouldThrow)
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return;
}
if (!(entry.attributes & Accessor)) {
if (entry.attributes & ReadOnly) {
if (shouldThrow)
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return;
}
@@ -233,7 +233,7 @@ inline void SparseArrayValueMap::put(ExecState* exec, JSArray* array, unsigned i
if (!setter) {
if (shouldThrow)
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return;
}
@@ -244,7 +244,7 @@ inline void SparseArrayValueMap::put(ExecState* exec, JSArray* array, unsigned i
call(exec, setter, callType, callData, array, args);
}
-inline bool SparseArrayValueMap::putDirect(ExecState* exec, JSArray* array, unsigned i, JSValue value, bool shouldThrow)
+inline bool SparseArrayValueMap::putDirect(ExecState* exec, JSArray* array, unsigned i, JSValue value, PutDirectIndexMode mode)
{
AddResult result = add(array, i);
SparseArrayEntry& entry = result.iterator->second;
@@ -252,9 +252,9 @@ inline bool SparseArrayValueMap::putDirect(ExecState* exec, JSArray* array, unsi
// To save a separate find & add, we first always add to the sparse map.
// In the uncommon case that this is a new property, and the array is not
// extensible, this is not the right thing to have done - so remove again.
- if (result.isNewEntry && !array->isExtensible()) {
+ if (mode != PutDirectIndexLikePutDirect && result.isNewEntry && !array->isExtensible()) {
remove(result.iterator);
- return reject(exec, shouldThrow, "Attempting to define property on object that is not extensible.");
+ return reject(exec, mode == PutDirectIndexShouldThrow, "Attempting to define property on object that is not extensible.");
}
entry.attributes = 0;
@@ -414,7 +414,7 @@ bool JSArray::defineOwnNumericProperty(ExecState* exec, unsigned index, Property
// state (i.e. defineOwnProperty could be used to set a value without needing to entering 'SparseMode').
if (!descriptor.attributes()) {
ASSERT(!descriptor.isAccessorDescriptor());
- return putDirectIndex(exec, index, descriptor.value(), throwException);
+ return putDirectIndex(exec, index, descriptor.value(), throwException ? PutDirectIndexShouldThrow : PutDirectIndexShouldNotThrow);
}
enterDictionaryMode(exec->globalData());
@@ -723,7 +723,7 @@ void JSArray::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSVa
if (propertyName == exec->propertyNames().length) {
unsigned newLength = value.toUInt32(exec);
if (value.toNumber(exec) != static_cast<double>(newLength)) {
- throwError(exec, createRangeError(exec, "Invalid array length"));
+ throwError(exec, createRangeError(exec, ASCIILiteral("Invalid array length")));
return;
}
thisObject->setLength(exec, newLength, slot.isStrictMode());
@@ -811,7 +811,7 @@ void JSArray::putByIndexBeyondVectorLength(ExecState* exec, unsigned i, JSValue
// Prohibit growing the array if length is not writable.
if (map->lengthIsReadOnly() || !isExtensible()) {
if (shouldThrow)
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return;
}
length = i + 1;
@@ -844,7 +844,7 @@ void JSArray::putByIndexBeyondVectorLength(ExecState* exec, unsigned i, JSValue
valueSlot.set(globalData, this, value);
}
-bool JSArray::putDirectIndexBeyondVectorLength(ExecState* exec, unsigned i, JSValue value, bool shouldThrow)
+bool JSArray::putDirectIndexBeyondVectorLength(ExecState* exec, unsigned i, JSValue value, PutDirectIndexMode mode)
{
JSGlobalData& globalData = exec->globalData();
@@ -875,17 +875,19 @@ bool JSArray::putDirectIndexBeyondVectorLength(ExecState* exec, unsigned i, JSVa
// We don't want to, or can't use a vector to hold this property - allocate a sparse map & add the value.
allocateSparseMap(exec->globalData());
map = m_sparseValueMap;
- return map->putDirect(exec, this, i, value, shouldThrow);
+ return map->putDirect(exec, this, i, value, mode);
}
// Update m_length if necessary.
unsigned length = storage->m_length;
if (i >= length) {
// Prohibit growing the array if length is not writable.
- if (map->lengthIsReadOnly())
- return reject(exec, shouldThrow, StrictModeReadonlyPropertyWriteError);
- if (!isExtensible())
- return reject(exec, shouldThrow, "Attempting to define property on object that is not extensible.");
+ if (mode != PutDirectIndexLikePutDirect) {
+ if (map->lengthIsReadOnly())
+ return reject(exec, mode == PutDirectIndexShouldThrow, StrictModeReadonlyPropertyWriteError);
+ if (!isExtensible())
+ return reject(exec, mode == PutDirectIndexShouldThrow, "Attempting to define property on object that is not extensible.");
+ }
length = i + 1;
storage->m_length = length;
}
@@ -894,7 +896,7 @@ bool JSArray::putDirectIndexBeyondVectorLength(ExecState* exec, unsigned i, JSVa
// We will continue to use a sparse map if SparseMode is set, a vector would be too sparse, or if allocation fails.
unsigned numValuesInArray = storage->m_numValuesInVector + map->size();
if (map->sparseMode() || !isDenseEnoughForVector(length, numValuesInArray) || !increaseVectorLength(exec->globalData(), length))
- return map->putDirect(exec, this, i, value, shouldThrow);
+ return map->putDirect(exec, this, i, value, mode);
// Reread m_storage afterincreaseVectorLength, update m_numValuesInVector.
storage = m_storage;
@@ -1234,7 +1236,7 @@ JSValue JSArray::pop(ExecState* exec)
unsigned length = storage->m_length;
if (!length) {
if (!isLengthWritable())
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return jsUndefined();
}
@@ -1259,7 +1261,7 @@ JSValue JSArray::pop(ExecState* exec)
return jsUndefined();
// Call the [[Delete]] internal method of O with arguments indx and true.
if (!deletePropertyByIndex(this, exec, index)) {
- throwTypeError(exec, "Unable to delete property.");
+ throwTypeError(exec, ASCIILiteral("Unable to delete property."));
return jsUndefined();
}
// Call the [[Put]] internal method of O with arguments "length", indx, and true.
@@ -1292,7 +1294,7 @@ void JSArray::push(ExecState* exec, JSValue value)
methodTable()->putByIndex(this, exec, storage->m_length, value, true);
// Per ES5.1 15.4.4.7 step 6 & 15.4.5.1 step 3.d.
if (!exec->hadException())
- throwError(exec, createRangeError(exec, "Invalid array length"));
+ throwError(exec, createRangeError(exec, ASCIILiteral("Invalid array length")));
return;
}
@@ -1479,7 +1481,7 @@ void JSArray::sort(ExecState* exec)
// a toString call raises an exception.
for (size_t i = 0; i < lengthNotIncludingUndefined; i++)
- values[i].second = values[i].first.toUStringInline(exec);
+ values[i].second = values[i].first.toWTFStringInline(exec);
if (exec->hadException()) {
Heap::heap(this)->popTempSortVector(&values);
diff --git a/Source/JavaScriptCore/runtime/JSArray.h b/Source/JavaScriptCore/runtime/JSArray.h
index c0b9916d1..2aab8c683 100644
--- a/Source/JavaScriptCore/runtime/JSArray.h
+++ b/Source/JavaScriptCore/runtime/JSArray.h
@@ -30,6 +30,8 @@ namespace JSC {
class JSArray;
class LLIntOffsetsExtractor;
+ enum PutDirectIndexMode { PutDirectIndexLikePutDirect, PutDirectIndexShouldNotThrow, PutDirectIndexShouldThrow };
+
struct SparseArrayEntry : public WriteBarrier<Unknown> {
typedef WriteBarrier<Unknown> Base;
@@ -87,7 +89,7 @@ namespace JSC {
// These methods may mutate the contents of the map
void put(ExecState*, JSArray*, unsigned, JSValue, bool shouldThrow);
- bool putDirect(ExecState*, JSArray*, unsigned, JSValue, bool shouldThrow);
+ bool putDirect(ExecState*, JSArray*, unsigned, JSValue, PutDirectIndexMode);
AddResult add(JSArray*, unsigned);
iterator find(unsigned i) { return m_map.find(i); }
// This should ASSERT the remove is valid (check the result of the find).
@@ -173,14 +175,15 @@ namespace JSC {
// This is similar to the JSObject::putDirect* methods:
// - the prototype chain is not consulted
// - accessors are not called.
+ // - it will ignore extensibility and read-only properties if PutDirectIndexLikePutDirect is passed as the mode (the default).
// This method creates a property with attributes writable, enumerable and configurable all set to true.
- bool putDirectIndex(ExecState* exec, unsigned propertyName, JSValue value, bool shouldThrow = true)
+ bool putDirectIndex(ExecState* exec, unsigned propertyName, JSValue value, PutDirectIndexMode mode = PutDirectIndexLikePutDirect)
{
if (canSetIndex(propertyName)) {
setIndex(exec->globalData(), propertyName, value);
return true;
}
- return putDirectIndexBeyondVectorLength(exec, propertyName, value, shouldThrow);
+ return putDirectIndexBeyondVectorLength(exec, propertyName, value, mode);
}
static JS_EXPORTDATA const ClassInfo s_info;
@@ -302,7 +305,7 @@ namespace JSC {
void deallocateSparseMap();
void putByIndexBeyondVectorLength(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
- JS_EXPORT_PRIVATE bool putDirectIndexBeyondVectorLength(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
+ JS_EXPORT_PRIVATE bool putDirectIndexBeyondVectorLength(ExecState*, unsigned propertyName, JSValue, PutDirectIndexMode);
unsigned getNewVectorLength(unsigned desiredLength);
bool increaseVectorLength(JSGlobalData&, unsigned newLength);
diff --git a/Source/JavaScriptCore/runtime/JSBoundFunction.cpp b/Source/JavaScriptCore/runtime/JSBoundFunction.cpp
index 3f6430871..7540d4394 100644
--- a/Source/JavaScriptCore/runtime/JSBoundFunction.cpp
+++ b/Source/JavaScriptCore/runtime/JSBoundFunction.cpp
@@ -76,7 +76,7 @@ EncodedJSValue JSC_HOST_CALL boundFunctionConstruct(ExecState* exec)
return JSValue::encode(construct(exec, targetFunction, constructType, constructData, args));
}
-JSBoundFunction* JSBoundFunction::create(ExecState* exec, JSGlobalObject* globalObject, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int length, const UString& name)
+JSBoundFunction* JSBoundFunction::create(ExecState* exec, JSGlobalObject* globalObject, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int length, const String& name)
{
ConstructData constructData;
ConstructType constructType = JSC::getConstructData(targetFunction, constructData);
@@ -107,7 +107,7 @@ JSBoundFunction::JSBoundFunction(ExecState* exec, JSGlobalObject* globalObject,
{
}
-void JSBoundFunction::finishCreation(ExecState* exec, NativeExecutable* executable, int length, const UString& name)
+void JSBoundFunction::finishCreation(ExecState* exec, NativeExecutable* executable, int length, const String& name)
{
Base::finishCreation(exec, executable, length, name);
ASSERT(inherits(&s_info));
diff --git a/Source/JavaScriptCore/runtime/JSBoundFunction.h b/Source/JavaScriptCore/runtime/JSBoundFunction.h
index dd1229272..5067d194c 100644
--- a/Source/JavaScriptCore/runtime/JSBoundFunction.h
+++ b/Source/JavaScriptCore/runtime/JSBoundFunction.h
@@ -37,7 +37,7 @@ class JSBoundFunction : public JSFunction {
public:
typedef JSFunction Base;
- static JSBoundFunction* create(ExecState*, JSGlobalObject*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int, const UString&);
+ static JSBoundFunction* create(ExecState*, JSGlobalObject*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs, int, const String&);
static bool hasInstance(JSObject*, ExecState*, JSValue, JSValue proto);
@@ -61,7 +61,7 @@ protected:
private:
JSBoundFunction(ExecState*, JSGlobalObject*, Structure*, JSObject* targetFunction, JSValue boundThis, JSValue boundArgs);
- void finishCreation(ExecState*, NativeExecutable*, int, const UString&);
+ void finishCreation(ExecState*, NativeExecutable*, int, const String&);
WriteBarrier<JSObject> m_targetFunction;
WriteBarrier<Unknown> m_boundThis;
diff --git a/Source/JavaScriptCore/runtime/JSCell.cpp b/Source/JavaScriptCore/runtime/JSCell.cpp
index 61e8549ee..ffb76ff95 100644
--- a/Source/JavaScriptCore/runtime/JSCell.cpp
+++ b/Source/JavaScriptCore/runtime/JSCell.cpp
@@ -38,7 +38,7 @@ void JSCell::destroy(JSCell* cell)
cell->JSCell::~JSCell();
}
-bool JSCell::getString(ExecState* exec, UString&stringValue) const
+bool JSCell::getString(ExecState* exec, String& stringValue) const
{
if (!isString())
return false;
@@ -46,9 +46,9 @@ bool JSCell::getString(ExecState* exec, UString&stringValue) const
return true;
}
-UString JSCell::getString(ExecState* exec) const
+String JSCell::getString(ExecState* exec) const
{
- return isString() ? static_cast<const JSString*>(this)->value(exec) : UString();
+ return isString() ? static_cast<const JSString*>(this)->value(exec) : String();
}
JSObject* JSCell::getObject()
@@ -178,10 +178,10 @@ void JSCell::getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, Enum
ASSERT_NOT_REACHED();
}
-UString JSCell::className(const JSObject*)
+String JSCell::className(const JSObject*)
{
ASSERT_NOT_REACHED();
- return UString();
+ return String();
}
const char* JSCell::className()
diff --git a/Source/JavaScriptCore/runtime/JSCell.h b/Source/JavaScriptCore/runtime/JSCell.h
index 39f98356f..ef06b1ecf 100644
--- a/Source/JavaScriptCore/runtime/JSCell.h
+++ b/Source/JavaScriptCore/runtime/JSCell.h
@@ -65,6 +65,8 @@ namespace JSC {
template<typename T> friend void* allocateCell(Heap&);
public:
+ static const unsigned StructureFlags = 0;
+
enum CreatingEarlyCellTag { CreatingEarlyCell };
JSCell(CreatingEarlyCellTag);
@@ -87,8 +89,8 @@ namespace JSC {
const char* className();
// Extracting the value.
- JS_EXPORT_PRIVATE bool getString(ExecState* exec, UString&) const;
- JS_EXPORT_PRIVATE UString getString(ExecState* exec) const; // null string if not a string
+ JS_EXPORT_PRIVATE bool getString(ExecState*, String&) const;
+ JS_EXPORT_PRIVATE String getString(ExecState*) const; // null string if not a string
JS_EXPORT_PRIVATE JSObject* getObject(); // NULL if not an object
const JSObject* getObject() const; // NULL if not an object
@@ -124,7 +126,7 @@ namespace JSC {
// call this function, not its slower virtual counterpart. (For integer
// property names, we want a similar interface with appropriate optimizations.)
bool fastGetOwnPropertySlot(ExecState*, PropertyName, PropertySlot&);
- JSValue fastGetOwnProperty(ExecState*, const UString&);
+ JSValue fastGetOwnProperty(ExecState*, const String&);
static ptrdiff_t structureOffset()
{
@@ -159,7 +161,7 @@ namespace JSC {
static JSValue defaultValue(const JSObject*, ExecState*, PreferredPrimitiveType);
static NO_RETURN_DUE_TO_ASSERT void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
static NO_RETURN_DUE_TO_ASSERT void getPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
- static UString className(const JSObject*);
+ static String className(const JSObject*);
static bool hasInstance(JSObject*, ExecState*, JSValue, JSValue prototypeProperty);
static NO_RETURN_DUE_TO_ASSERT void putDirectVirtual(JSObject*, ExecState*, PropertyName, JSValue, unsigned attributes);
static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, PropertyDescriptor&, bool shouldThrow);
@@ -221,17 +223,17 @@ namespace JSC {
return isCell() && asCell()->isObject();
}
- inline bool JSValue::getString(ExecState* exec, UString& s) const
+ inline bool JSValue::getString(ExecState* exec, String& s) const
{
return isCell() && asCell()->getString(exec, s);
}
- inline UString JSValue::getString(ExecState* exec) const
+ inline String JSValue::getString(ExecState* exec) const
{
- return isCell() ? asCell()->getString(exec) : UString();
+ return isCell() ? asCell()->getString(exec) : String();
}
- template <typename Base> UString HandleConverter<Base, Unknown>::getString(ExecState* exec) const
+ template <typename Base> String HandleConverter<Base, Unknown>::getString(ExecState* exec) const
{
return jsValue().getString(exec);
}
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.cpp b/Source/JavaScriptCore/runtime/JSDateMath.cpp
index fcf1c4345..c54147ef2 100644
--- a/Source/JavaScriptCore/runtime/JSDateMath.cpp
+++ b/Source/JavaScriptCore/runtime/JSDateMath.cpp
@@ -73,7 +73,7 @@
#include "JSDateMath.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+#include "JSScope.h"
#include <algorithm>
#include <limits.h>
@@ -258,7 +258,7 @@ double parseDateFromNullTerminatedCharacters(ExecState* exec, const char* dateSt
return ms - (offset * WTF::msPerMinute);
}
-double parseDate(ExecState* exec, const UString& date)
+double parseDate(ExecState* exec, const String& date)
{
if (date == exec->globalData().cachedDateString)
return exec->globalData().cachedDateStringValue;
diff --git a/Source/JavaScriptCore/runtime/JSDateMath.h b/Source/JavaScriptCore/runtime/JSDateMath.h
index c7fb5a975..a6dd96f99 100644
--- a/Source/JavaScriptCore/runtime/JSDateMath.h
+++ b/Source/JavaScriptCore/runtime/JSDateMath.h
@@ -49,13 +49,12 @@
namespace JSC {
class ExecState;
-class UString;
void msToGregorianDateTime(ExecState*, double, bool outputIsUTC, GregorianDateTime&);
double gregorianDateTimeToMS(ExecState*, const GregorianDateTime&, double, bool inputIsUTC);
double getUTCOffset(ExecState*);
double parseDateFromNullTerminatedCharacters(ExecState*, const char* dateString);
-double parseDate(ExecState*, const UString&);
+double parseDate(ExecState*, const WTF::String&);
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSFunction.cpp b/Source/JavaScriptCore/runtime/JSFunction.cpp
index 0a65deee2..e5cb8cf38 100644
--- a/Source/JavaScriptCore/runtime/JSFunction.cpp
+++ b/Source/JavaScriptCore/runtime/JSFunction.cpp
@@ -38,7 +38,6 @@
#include "ObjectPrototype.h"
#include "Parser.h"
#include "PropertyNameArray.h"
-#include "ScopeChainMark.h"
using namespace WTF;
using namespace Unicode;
@@ -59,7 +58,7 @@ bool JSFunction::isHostFunctionNonInline() const
return isHostFunction();
}
-JSFunction* JSFunction::create(ExecState* exec, JSGlobalObject* globalObject, int length, const UString& name, NativeFunction nativeFunction, Intrinsic intrinsic, NativeFunction nativeConstructor)
+JSFunction* JSFunction::create(ExecState* exec, JSGlobalObject* globalObject, int length, const String& name, NativeFunction nativeFunction, Intrinsic intrinsic, NativeFunction nativeConstructor)
{
NativeExecutable* executable;
#if !ENABLE(JIT)
@@ -81,38 +80,38 @@ JSFunction* JSFunction::create(ExecState* exec, JSGlobalObject* globalObject, in
JSFunction::JSFunction(ExecState* exec, JSGlobalObject* globalObject, Structure* structure)
: Base(exec->globalData(), structure)
, m_executable()
- , m_scopeChain(exec->globalData(), this, globalObject->globalScopeChain())
+ , m_scope(exec->globalData(), this, globalObject)
{
}
-JSFunction::JSFunction(ExecState* exec, FunctionExecutable* executable, ScopeChainNode* scopeChainNode)
- : Base(exec->globalData(), scopeChainNode->globalObject->functionStructure())
+JSFunction::JSFunction(ExecState* exec, FunctionExecutable* executable, JSScope* scope)
+ : Base(exec->globalData(), scope->globalObject()->functionStructure())
, m_executable(exec->globalData(), this, executable)
- , m_scopeChain(exec->globalData(), this, scopeChainNode)
+ , m_scope(exec->globalData(), this, scope)
{
}
-void JSFunction::finishCreation(ExecState* exec, NativeExecutable* executable, int length, const UString& name)
+void JSFunction::finishCreation(ExecState* exec, NativeExecutable* executable, int length, const String& name)
{
Base::finishCreation(exec->globalData());
ASSERT(inherits(&s_info));
m_executable.set(exec->globalData(), this, executable);
- putDirect(exec->globalData(), exec->globalData().propertyNames->name, jsString(exec, name.isNull() ? "" : name), DontDelete | ReadOnly | DontEnum);
+ putDirect(exec->globalData(), exec->globalData().propertyNames->name, jsString(exec, name), DontDelete | ReadOnly | DontEnum);
putDirect(exec->globalData(), exec->propertyNames().length, jsNumber(length), DontDelete | ReadOnly | DontEnum);
}
-void JSFunction::finishCreation(ExecState* exec, FunctionExecutable* executable, ScopeChainNode* scopeChainNode)
+void JSFunction::finishCreation(ExecState* exec, FunctionExecutable* executable, JSScope* scope)
{
JSGlobalData& globalData = exec->globalData();
Base::finishCreation(globalData);
ASSERT(inherits(&s_info));
// Switching the structure here is only safe if we currently have the function structure!
- ASSERT(structure() == scopeChainNode->globalObject->functionStructure());
+ ASSERT(structure() == scope->globalObject()->functionStructure());
setStructureAndReallocateStorageIfNecessary(
globalData,
- scopeChainNode->globalObject->namedFunctionStructure());
- putDirectOffset(globalData, scopeChainNode->globalObject->functionNameOffset(), executable->nameValue());
+ scope->globalObject()->namedFunctionStructure());
+ putDirectOffset(globalData, scope->globalObject()->functionNameOffset(), executable->nameValue());
}
Structure* JSFunction::cacheInheritorID(ExecState* exec)
@@ -125,33 +124,33 @@ Structure* JSFunction::cacheInheritorID(ExecState* exec)
return m_cachedInheritorID.get();
}
-const UString& JSFunction::name(ExecState* exec)
+const String& JSFunction::name(ExecState* exec)
{
return asString(getDirect(exec->globalData(), exec->globalData().propertyNames->name))->tryGetValue();
}
-const UString JSFunction::displayName(ExecState* exec)
+const String JSFunction::displayName(ExecState* exec)
{
JSValue displayName = getDirect(exec->globalData(), exec->globalData().propertyNames->displayName);
if (displayName && isJSString(displayName))
return asString(displayName)->tryGetValue();
- return UString();
+ return String();
}
-const UString JSFunction::calculatedDisplayName(ExecState* exec)
+const String JSFunction::calculatedDisplayName(ExecState* exec)
{
- const UString explicitName = displayName(exec);
+ const String explicitName = displayName(exec);
if (!explicitName.isEmpty())
return explicitName;
- const UString actualName = name(exec);
+ const String actualName = name(exec);
if (!actualName.isEmpty() || isHostFunction())
return actualName;
- return jsExecutable()->inferredName().ustring();
+ return jsExecutable()->inferredName().string();
}
const SourceCode* JSFunction::sourceCode() const
@@ -169,9 +168,8 @@ void JSFunction::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
Base::visitChildren(thisObject, visitor);
- visitor.append(&thisObject->m_scopeChain);
- if (thisObject->m_executable)
- visitor.append(&thisObject->m_executable);
+ visitor.append(&thisObject->m_scope);
+ visitor.append(&thisObject->m_executable);
}
CallType JSFunction::getCallData(JSCell* cell, CallData& callData)
@@ -182,7 +180,7 @@ CallType JSFunction::getCallData(JSCell* cell, CallData& callData)
return CallTypeHost;
}
callData.js.functionExecutable = thisObject->jsExecutable();
- callData.js.scopeChain = thisObject->scope();
+ callData.js.scope = thisObject->scope();
return CallTypeJS;
}
@@ -205,7 +203,7 @@ JSValue JSFunction::callerGetter(ExecState* exec, JSValue slotBase, PropertyName
JSFunction* function = jsCast<JSFunction*>(caller);
if (function->isHostFunction() || !function->jsExecutable()->isStrictMode())
return caller;
- return throwTypeError(exec, "Function.caller used to retrieve strict caller");
+ return throwTypeError(exec, ASCIILiteral("Function.caller used to retrieve strict caller"));
}
JSValue JSFunction::lengthGetter(ExecState*, JSValue slotBase, PropertyName)
@@ -416,27 +414,27 @@ bool JSFunction::defineOwnProperty(JSObject* object, ExecState* exec, PropertyNa
if (descriptor.configurablePresent() && descriptor.configurable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to configurable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to configurable attribute of unconfigurable property.")));
return false;
}
if (descriptor.enumerablePresent() && descriptor.enumerable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change enumerable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change enumerable attribute of unconfigurable property.")));
return false;
}
if (descriptor.isAccessorDescriptor()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change access mechanism for an unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change access mechanism for an unconfigurable property.")));
return false;
}
if (descriptor.writablePresent() && descriptor.writable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change writable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change writable attribute of unconfigurable property.")));
return false;
}
if (!valueCheck) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change value of a readonly property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change value of a readonly property.")));
return false;
}
return true;
@@ -451,12 +449,12 @@ ConstructType JSFunction::getConstructData(JSCell* cell, ConstructData& construc
return ConstructTypeHost;
}
constructData.js.functionExecutable = thisObject->jsExecutable();
- constructData.js.scopeChain = thisObject->scope();
+ constructData.js.scope = thisObject->scope();
return ConstructTypeJS;
}
-UString getCalculatedDisplayName(CallFrame* callFrame, JSObject* object)
+String getCalculatedDisplayName(CallFrame* callFrame, JSObject* object)
{
if (JSFunction* function = jsDynamicCast<JSFunction*>(object))
return function->calculatedDisplayName(callFrame);
diff --git a/Source/JavaScriptCore/runtime/JSFunction.h b/Source/JavaScriptCore/runtime/JSFunction.h
index 56faf00de..4bd5f46fa 100644
--- a/Source/JavaScriptCore/runtime/JSFunction.h
+++ b/Source/JavaScriptCore/runtime/JSFunction.h
@@ -25,7 +25,7 @@
#define JSFunction_h
#include "InternalFunction.h"
-#include "JSObject.h"
+#include "JSScope.h"
namespace JSC {
@@ -44,7 +44,7 @@ namespace JSC {
JS_EXPORT_PRIVATE EncodedJSValue JSC_HOST_CALL callHostFunctionAsConstructor(ExecState*);
- JS_EXPORT_PRIVATE UString getCalculatedDisplayName(CallFrame*, JSObject*);
+ JS_EXPORT_PRIVATE String getCalculatedDisplayName(CallFrame*, JSObject*);
class JSFunction : public JSNonFinalObject {
friend class JIT;
@@ -55,38 +55,38 @@ namespace JSC {
public:
typedef JSNonFinalObject Base;
- JS_EXPORT_PRIVATE static JSFunction* create(ExecState*, JSGlobalObject*, int length, const UString& name, NativeFunction, Intrinsic = NoIntrinsic, NativeFunction nativeConstructor = callHostFunctionAsConstructor);
+ JS_EXPORT_PRIVATE static JSFunction* create(ExecState*, JSGlobalObject*, int length, const String& name, NativeFunction, Intrinsic = NoIntrinsic, NativeFunction nativeConstructor = callHostFunctionAsConstructor);
- static JSFunction* create(ExecState* exec, FunctionExecutable* executable, ScopeChainNode* scopeChain)
+ static JSFunction* create(ExecState* exec, FunctionExecutable* executable, JSScope* scope)
{
- JSFunction* function = new (NotNull, allocateCell<JSFunction>(*exec->heap())) JSFunction(exec, executable, scopeChain);
+ JSFunction* function = new (NotNull, allocateCell<JSFunction>(*exec->heap())) JSFunction(exec, executable, scope);
ASSERT(function->structure()->globalObject());
- function->finishCreation(exec, executable, scopeChain);
+ function->finishCreation(exec, executable, scope);
return function;
}
- JS_EXPORT_PRIVATE const UString& name(ExecState*);
- JS_EXPORT_PRIVATE const UString displayName(ExecState*);
- const UString calculatedDisplayName(ExecState*);
+ JS_EXPORT_PRIVATE const String& name(ExecState*);
+ JS_EXPORT_PRIVATE const String displayName(ExecState*);
+ const String calculatedDisplayName(ExecState*);
- ScopeChainNode* scope()
+ JSScope* scope()
{
ASSERT(!isHostFunctionNonInline());
- return m_scopeChain.get();
+ return m_scope.get();
}
// This method may be called for host functins, in which case it
// will return an arbitrary value. This should only be used for
// optimized paths in which the return value does not matter for
// host functions, and checking whether the function is a host
// function is deemed too expensive.
- ScopeChainNode* scopeUnchecked()
+ JSScope* scopeUnchecked()
{
- return m_scopeChain.get();
+ return m_scope.get();
}
- void setScope(JSGlobalData& globalData, ScopeChainNode* scopeChain)
+ void setScope(JSGlobalData& globalData, JSScope* scope)
{
ASSERT(!isHostFunctionNonInline());
- m_scopeChain.set(globalData, this, scopeChain);
+ m_scope.set(globalData, this, scope);
}
ExecutableBase* executable() const { return m_executable.get(); }
@@ -113,7 +113,7 @@ namespace JSC {
static inline size_t offsetOfScopeChain()
{
- return OBJECT_OFFSETOF(JSFunction, m_scopeChain);
+ return OBJECT_OFFSETOF(JSFunction, m_scope);
}
static inline size_t offsetOfExecutable()
@@ -137,10 +137,10 @@ namespace JSC {
const static unsigned StructureFlags = OverridesGetOwnPropertySlot | ImplementsHasInstance | OverridesVisitChildren | OverridesGetPropertyNames | JSObject::StructureFlags;
JS_EXPORT_PRIVATE JSFunction(ExecState*, JSGlobalObject*, Structure*);
- JSFunction(ExecState*, FunctionExecutable*, ScopeChainNode*);
+ JSFunction(ExecState*, FunctionExecutable*, JSScope*);
- void finishCreation(ExecState*, NativeExecutable*, int length, const UString& name);
- void finishCreation(ExecState*, FunctionExecutable*, ScopeChainNode*);
+ void finishCreation(ExecState*, NativeExecutable*, int length, const String& name);
+ void finishCreation(ExecState*, FunctionExecutable*, JSScope*);
Structure* cacheInheritorID(ExecState*);
@@ -165,7 +165,7 @@ namespace JSC {
static JSValue lengthGetter(ExecState*, JSValue, PropertyName);
WriteBarrier<ExecutableBase> m_executable;
- WriteBarrier<ScopeChainNode> m_scopeChain;
+ WriteBarrier<JSScope> m_scope;
WriteBarrier<Structure> m_cachedInheritorID;
};
diff --git a/Source/JavaScriptCore/runtime/JSGlobalData.cpp b/Source/JavaScriptCore/runtime/JSGlobalData.cpp
index 2d6d1e54f..217526f6a 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalData.cpp
+++ b/Source/JavaScriptCore/runtime/JSGlobalData.cpp
@@ -30,12 +30,12 @@
#include "JSGlobalData.h"
#include "ArgList.h"
-#include "Heap.h"
#include "CommonIdentifiers.h"
#include "DebuggerActivation.h"
#include "FunctionConstructor.h"
#include "GCActivityCallback.h"
#include "GetterSetter.h"
+#include "Heap.h"
#include "HostCallReturnValue.h"
#include "IncrementalSweeper.h"
#include "Interpreter.h"
@@ -45,9 +45,10 @@
#include "JSClassRef.h"
#include "JSFunction.h"
#include "JSLock.h"
+#include "JSNameScope.h"
#include "JSNotAnObject.h"
#include "JSPropertyNameIterator.h"
-#include "JSStaticScopeObject.h"
+#include "JSWithScope.h"
#include "Lexer.h"
#include "Lookup.h"
#include "Nodes.h"
@@ -99,12 +100,19 @@ extern const HashTable stringConstructorTable;
#if ENABLE(ASSEMBLER) && (ENABLE(CLASSIC_INTERPRETER) || ENABLE(LLINT))
static bool enableAssembler(ExecutableAllocator& executableAllocator)
{
- if (!executableAllocator.isValid() || !Options::useJIT())
+ if (!executableAllocator.isValid() || (!Options::useJIT() && !Options::useRegExpJIT()))
return false;
#if USE(CF)
- RetainPtr<CFStringRef> canUseJITKey(AdoptCF, CFStringCreateWithCString(0 , "JavaScriptCoreUseJIT", kCFStringEncodingMacRoman));
- RetainPtr<CFBooleanRef> canUseJIT(AdoptCF, (CFBooleanRef)CFPreferencesCopyAppValue(canUseJITKey.get(), kCFPreferencesCurrentApplication));
+#if COMPILER(GCC) && !COMPILER(CLANG)
+ // FIXME: remove this once the EWS have been upgraded to LLVM.
+ // Work around a bug of GCC with strict-aliasing.
+ RetainPtr<CFStringRef> canUseJITKeyRetain(AdoptCF, CFStringCreateWithCString(0 , "JavaScriptCoreUseJIT", kCFStringEncodingMacRoman));
+ CFStringRef canUseJITKey = canUseJITKeyRetain.get();
+#else
+ CFStringRef canUseJITKey = CFSTR("JavaScriptCoreUseJIT");
+#endif // COMPILER(GCC) && !COMPILER(CLANG)
+ RetainPtr<CFBooleanRef> canUseJIT(AdoptCF, (CFBooleanRef)CFPreferencesCopyAppValue(canUseJITKey, kCFPreferencesCurrentApplication));
if (canUseJIT)
return kCFBooleanTrue == canUseJIT.get();
#endif
@@ -119,7 +127,11 @@ static bool enableAssembler(ExecutableAllocator& executableAllocator)
#endif
JSGlobalData::JSGlobalData(GlobalDataType globalDataType, ThreadStackType threadStackType, HeapType heapType)
- : heap(this, heapType)
+ :
+#if ENABLE(ASSEMBLER)
+ executableAllocator(*this),
+#endif
+ heap(this, heapType)
, globalDataType(globalDataType)
, clientData(0)
, topCallFrame(CallFrame::noCaller())
@@ -145,9 +157,6 @@ JSGlobalData::JSGlobalData(GlobalDataType globalDataType, ThreadStackType thread
, identifierTable(globalDataType == Default ? wtfThreadData().currentIdentifierTable() : createIdentifierTable())
, propertyNames(new CommonIdentifiers(this))
, emptyList(new MarkedArgumentBuffer)
-#if ENABLE(ASSEMBLER)
- , executableAllocator(*this)
-#endif
, parserArena(adoptPtr(new ParserArena))
, keywords(adoptPtr(new Keywords(this)))
, interpreter(0)
@@ -173,6 +182,8 @@ JSGlobalData::JSGlobalData(GlobalDataType globalDataType, ThreadStackType thread
, m_newStringsSinceLastHashConst(0)
#if ENABLE(ASSEMBLER) && (ENABLE(CLASSIC_INTERPRETER) || ENABLE(LLINT))
, m_canUseAssembler(enableAssembler(executableAllocator))
+ , m_canUseJIT(m_canUseAssembler && Options::useJIT())
+ , m_canUseRegExpJIT(m_canUseAssembler && Options::useRegExpJIT())
#endif
#if ENABLE(GC_VALIDATION)
, m_initializingObjectClass(0)
@@ -186,23 +197,21 @@ JSGlobalData::JSGlobalData(GlobalDataType globalDataType, ThreadStackType thread
IdentifierTable* existingEntryIdentifierTable = wtfThreadData().setCurrentIdentifierTable(identifierTable);
structureStructure.set(*this, Structure::createStructure(*this));
debuggerActivationStructure.set(*this, DebuggerActivation::createStructure(*this, 0, jsNull()));
- activationStructure.set(*this, JSActivation::createStructure(*this, 0, jsNull()));
interruptedExecutionErrorStructure.set(*this, InterruptedExecutionError::createStructure(*this, 0, jsNull()));
terminatedExecutionErrorStructure.set(*this, TerminatedExecutionError::createStructure(*this, 0, jsNull()));
- staticScopeStructure.set(*this, JSStaticScopeObject::createStructure(*this, 0, jsNull()));
- strictEvalActivationStructure.set(*this, StrictEvalActivation::createStructure(*this, 0, jsNull()));
stringStructure.set(*this, JSString::createStructure(*this, 0, jsNull()));
notAnObjectStructure.set(*this, JSNotAnObject::createStructure(*this, 0, jsNull()));
propertyNameIteratorStructure.set(*this, JSPropertyNameIterator::createStructure(*this, 0, jsNull()));
getterSetterStructure.set(*this, GetterSetter::createStructure(*this, 0, jsNull()));
apiWrapperStructure.set(*this, JSAPIValueWrapper::createStructure(*this, 0, jsNull()));
- scopeChainNodeStructure.set(*this, ScopeChainNode::createStructure(*this, 0, jsNull()));
+ JSScopeStructure.set(*this, JSScope::createStructure(*this, 0, jsNull()));
executableStructure.set(*this, ExecutableBase::createStructure(*this, 0, jsNull()));
nativeExecutableStructure.set(*this, NativeExecutable::createStructure(*this, 0, jsNull()));
evalExecutableStructure.set(*this, EvalExecutable::createStructure(*this, 0, jsNull()));
programExecutableStructure.set(*this, ProgramExecutable::createStructure(*this, 0, jsNull()));
functionExecutableStructure.set(*this, FunctionExecutable::createStructure(*this, 0, jsNull()));
regExpStructure.set(*this, RegExp::createStructure(*this, 0, jsNull()));
+ sharedSymbolTableStructure.set(*this, SharedSymbolTable::createStructure(*this, 0, jsNull()));
structureChainStructure.set(*this, StructureChain::createStructure(*this, 0, jsNull()));
wtfThreadData().setCurrentIdentifierTable(existingEntryIdentifierTable);
@@ -211,13 +220,13 @@ JSGlobalData::JSGlobalData(GlobalDataType globalDataType, ThreadStackType thread
jitStubs = adoptPtr(new JITThunks(this));
#endif
- interpreter->initialize(&llintData, this->canUseJIT());
+ interpreter->initialize(this->canUseJIT());
initializeHostCallReturnValue(); // This is needed to convince the linker not to drop host call return support.
heap.notifyIsSafeToCollect();
- llintData.performAssertions(*this);
+ LLInt::Data::performAssertions(*this);
}
JSGlobalData::~JSGlobalData()
@@ -371,12 +380,13 @@ NativeExecutable* JSGlobalData::getHostFunction(NativeFunction function, Intrins
ASSERT(canUseJIT());
return jitStubs->hostFunctionStub(this, function, intrinsic != NoIntrinsic ? thunkGeneratorForIntrinsic(intrinsic) : 0, intrinsic);
}
-#else
+
+#else // !ENABLE(JIT)
NativeExecutable* JSGlobalData::getHostFunction(NativeFunction function, NativeFunction constructor)
{
return NativeExecutable::create(*this, function, constructor);
}
-#endif
+#endif // !ENABLE(JIT)
JSGlobalData::ClientData::~ClientData()
{
@@ -386,7 +396,7 @@ void JSGlobalData::resetDateCache()
{
cachedUTCOffset = std::numeric_limits<double>::quiet_NaN();
dstOffsetCache.reset();
- cachedDateString = UString();
+ cachedDateString = String();
cachedDateStringValue = std::numeric_limits<double>::quiet_NaN();
dateInstanceCache.reset();
}
diff --git a/Source/JavaScriptCore/runtime/JSGlobalData.h b/Source/JavaScriptCore/runtime/JSGlobalData.h
index 4604737d2..e4e6784da 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalData.h
+++ b/Source/JavaScriptCore/runtime/JSGlobalData.h
@@ -76,7 +76,6 @@ namespace JSC {
class RegExpCache;
class Stringifier;
class Structure;
- class UString;
#if ENABLE(REGEXP_TRACING)
class RegExp;
#endif
@@ -193,7 +192,15 @@ namespace JSC {
JSLock m_apiLock;
public:
- Heap heap; // The heap is our first data member to ensure that it's destructed after all the objects that reference it.
+#if ENABLE(ASSEMBLER)
+ // executableAllocator should be destructed after the heap, as the heap can call executableAllocator
+ // in its destructor.
+ ExecutableAllocator executableAllocator;
+#endif
+
+ // The heap should be just after executableAllocator and before other members to ensure that it's
+ // destructed after all the objects that reference it.
+ Heap heap;
GlobalDataType globalDataType;
ClientData* clientData;
@@ -221,23 +228,21 @@ namespace JSC {
Strong<Structure> structureStructure;
Strong<Structure> debuggerActivationStructure;
- Strong<Structure> activationStructure;
Strong<Structure> interruptedExecutionErrorStructure;
Strong<Structure> terminatedExecutionErrorStructure;
- Strong<Structure> staticScopeStructure;
- Strong<Structure> strictEvalActivationStructure;
Strong<Structure> stringStructure;
Strong<Structure> notAnObjectStructure;
Strong<Structure> propertyNameIteratorStructure;
Strong<Structure> getterSetterStructure;
Strong<Structure> apiWrapperStructure;
- Strong<Structure> scopeChainNodeStructure;
+ Strong<Structure> JSScopeStructure;
Strong<Structure> executableStructure;
Strong<Structure> nativeExecutableStructure;
Strong<Structure> evalExecutableStructure;
Strong<Structure> programExecutableStructure;
Strong<Structure> functionExecutableStructure;
Strong<Structure> regExpStructure;
+ Strong<Structure> sharedSymbolTableStructure;
Strong<Structure> structureChainStructure;
IdentifierTable* identifierTable;
@@ -274,16 +279,12 @@ namespace JSC {
return m_enabledProfiler;
}
-#if ENABLE(ASSEMBLER)
- ExecutableAllocator executableAllocator;
-#endif
-
#if !ENABLE(JIT)
bool canUseJIT() { return false; } // interpreter only
#elif !ENABLE(CLASSIC_INTERPRETER) && !ENABLE(LLINT)
bool canUseJIT() { return true; } // jit only
#else
- bool canUseJIT() { return m_canUseAssembler; }
+ bool canUseJIT() { return m_canUseJIT; }
#endif
#if !ENABLE(YARR_JIT)
@@ -291,7 +292,7 @@ namespace JSC {
#elif !ENABLE(CLASSIC_INTERPRETER) && !ENABLE(LLINT)
bool canUseRegExpJIT() { return true; } // jit only
#else
- bool canUseRegExpJIT() { return m_canUseAssembler; }
+ bool canUseRegExpJIT() { return m_canUseRegExpJIT; }
#endif
PrivateName m_inheritorIDKey;
@@ -317,8 +318,6 @@ namespace JSC {
const ClassInfo* const jsArrayClassInfo;
const ClassInfo* const jsFinalObjectClassInfo;
- LLInt::Data llintData;
-
ReturnAddressPtr exceptionLocation;
JSValue hostCallReturnValue;
CallFrame* callFrameForThrow;
@@ -362,7 +361,7 @@ namespace JSC {
double cachedUTCOffset;
DSTOffsetCache dstOffsetCache;
- UString cachedDateString;
+ String cachedDateString;
double cachedDateStringValue;
int maxReentryDepth;
@@ -417,6 +416,7 @@ namespace JSC {
{ \
ASSERT(!m_##type##ArrayDescriptor.m_classInfo || m_##type##ArrayDescriptor.m_classInfo == descriptor.m_classInfo); \
m_##type##ArrayDescriptor = descriptor; \
+ ASSERT(m_##type##ArrayDescriptor.m_classInfo); \
} \
const TypedArrayDescriptor& type##ArrayDescriptor() const { ASSERT(m_##type##ArrayDescriptor.m_classInfo); return m_##type##ArrayDescriptor; }
@@ -441,6 +441,8 @@ namespace JSC {
void createNativeThunk();
#if ENABLE(ASSEMBLER) && (ENABLE(CLASSIC_INTERPRETER) || ENABLE(LLINT))
bool m_canUseAssembler;
+ bool m_canUseJIT;
+ bool m_canUseRegExpJIT;
#endif
#if ENABLE(GC_VALIDATION)
const ClassInfo* m_initializingObjectClass;
@@ -470,6 +472,11 @@ namespace JSC {
}
#endif
+ inline Heap* WeakSet::heap() const
+ {
+ return &m_globalData->heap;
+ }
+
} // namespace JSC
#endif // JSGlobalData_h
diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
index ff7b1486f..97e9153cb 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSGlobalObject.cpp
@@ -30,10 +30,6 @@
#include "config.h"
#include "JSGlobalObject.h"
-#include "JSCallbackConstructor.h"
-#include "JSCallbackFunction.h"
-#include "JSCallbackObject.h"
-
#include "Arguments.h"
#include "ArrayConstructor.h"
#include "ArrayPrototype.h"
@@ -42,18 +38,25 @@
#include "CodeBlock.h"
#include "DateConstructor.h"
#include "DatePrototype.h"
+#include "Debugger.h"
#include "Error.h"
#include "ErrorConstructor.h"
#include "ErrorPrototype.h"
#include "FunctionConstructor.h"
#include "FunctionPrototype.h"
#include "GetterSetter.h"
+#include "Interpreter.h"
+#include "JSActivation.h"
#include "JSBoundFunction.h"
+#include "JSCallbackConstructor.h"
+#include "JSCallbackFunction.h"
+#include "JSCallbackObject.h"
#include "JSFunction.h"
#include "JSGlobalObjectFunctions.h"
#include "JSLock.h"
+#include "JSNameScope.h"
#include "JSONObject.h"
-#include "Interpreter.h"
+#include "JSWithScope.h"
#include "Lookup.h"
#include "MathObject.h"
#include "NameConstructor.h"
@@ -70,16 +73,15 @@
#include "RegExpMatchesArray.h"
#include "RegExpObject.h"
#include "RegExpPrototype.h"
-#include "ScopeChainMark.h"
+#include "StrictEvalActivation.h"
#include "StringConstructor.h"
#include "StringPrototype.h"
-#include "Debugger.h"
#include "JSGlobalObject.lut.h"
namespace JSC {
-const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &JSSegmentedVariableObject::s_info, 0, ExecState::globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
+const ClassInfo JSGlobalObject::s_info = { "GlobalObject", &Base::s_info, 0, ExecState::globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &allowsAccessFrom, &supportsProfiling, &supportsRichSourceInfo, &shouldInterruptScript, &javaScriptExperimentsEnabled };
@@ -106,15 +108,8 @@ static const int initialTickCountThreshold = 255;
// Preferred number of milliseconds between each timeout check
static const int preferredScriptCheckTimeInterval = 1000;
-template <typename T> static inline void visitIfNeeded(SlotVisitor& visitor, WriteBarrier<T>* v)
-{
- if (*v)
- visitor.append(v);
-}
-
JSGlobalObject::JSGlobalObject(JSGlobalData& globalData, Structure* structure, const GlobalObjectMethodTable* globalObjectMethodTable)
- : JSSegmentedVariableObject(globalData, structure, &m_symbolTable)
- , m_globalScopeChain()
+ : Base(globalData, structure, 0)
, m_masqueradesAsUndefinedWatchpoint(adoptRef(new WatchpointSet(InitializedWatching)))
, m_weakRandom(Options::forceWeakRandomSeed() ? Options::forcedWeakRandomSeed() : static_cast<unsigned>(randomNumber() * (std::numeric_limits<unsigned>::max() + 1.0)))
, m_evalEnabled(true)
@@ -136,13 +131,17 @@ void JSGlobalObject::destroy(JSCell* cell)
static_cast<JSGlobalObject*>(cell)->JSGlobalObject::~JSGlobalObject();
}
+void JSGlobalObject::setGlobalThis(JSGlobalData& globalData, JSObject* globalThis)
+{
+ m_globalThis.set(globalData, this, globalThis);
+}
+
void JSGlobalObject::init(JSObject* thisValue)
{
ASSERT(globalData().apiLock().currentThreadIsHoldingLock());
-
- m_globalScopeChain.set(globalData(), this, ScopeChainNode::create(0, this, &globalData(), this, thisValue));
- JSGlobalObject::globalExec()->init(0, 0, m_globalScopeChain.get(), CallFrame::noCaller(), 0, 0);
+ setGlobalThis(globalData(), thisValue);
+ JSGlobalObject::globalExec()->init(0, 0, this, CallFrame::noCaller(), 0, 0);
m_debugger = 0;
@@ -156,7 +155,7 @@ void JSGlobalObject::put(JSCell* cell, ExecState* exec, PropertyName propertyNam
if (symbolTablePut(thisObject, exec, propertyName, value, slot.isStrictMode()))
return;
- JSSegmentedVariableObject::put(thisObject, exec, propertyName, value, slot);
+ Base::put(thisObject, exec, propertyName, value, slot);
}
void JSGlobalObject::putDirectVirtual(JSObject* object, ExecState* exec, PropertyName propertyName, JSValue value, unsigned attributes)
@@ -169,7 +168,7 @@ void JSGlobalObject::putDirectVirtual(JSObject* object, ExecState* exec, Propert
JSValue valueBefore = thisObject->getDirect(exec->globalData(), propertyName);
PutPropertySlot slot;
- JSSegmentedVariableObject::put(thisObject, exec, propertyName, value, slot);
+ Base::put(thisObject, exec, propertyName, value, slot);
if (!valueBefore) {
JSValue valueAfter = thisObject->getDirect(exec->globalData(), propertyName);
if (valueAfter)
@@ -212,11 +211,16 @@ void JSGlobalObject::reset(JSValue prototype)
m_applyFunction.set(exec->globalData(), this, applyFunction);
m_objectPrototype.set(exec->globalData(), this, ObjectPrototype::create(exec, this, ObjectPrototype::createStructure(exec->globalData(), this, jsNull())));
GetterSetter* protoAccessor = GetterSetter::create(exec);
- protoAccessor->setGetter(exec->globalData(), JSFunction::create(exec, this, 0, "", globalFuncProtoGetter));
- protoAccessor->setSetter(exec->globalData(), JSFunction::create(exec, this, 0, "", globalFuncProtoSetter));
+ protoAccessor->setGetter(exec->globalData(), JSFunction::create(exec, this, 0, String(), globalFuncProtoGetter));
+ protoAccessor->setSetter(exec->globalData(), JSFunction::create(exec, this, 0, String(), globalFuncProtoSetter));
m_objectPrototype->putDirectAccessor(exec->globalData(), exec->propertyNames().underscoreProto, protoAccessor, Accessor | DontEnum);
m_functionPrototype->structure()->setPrototypeWithoutTransition(exec->globalData(), m_objectPrototype.get());
+ m_nameScopeStructure.set(exec->globalData(), this, JSNameScope::createStructure(exec->globalData(), this, jsNull()));
+ m_activationStructure.set(exec->globalData(), this, JSActivation::createStructure(exec->globalData(), this, jsNull()));
+ m_strictEvalActivationStructure.set(exec->globalData(), this, StrictEvalActivation::createStructure(exec->globalData(), this, jsNull()));
+ m_withScopeStructure.set(exec->globalData(), this, JSWithScope::createStructure(exec->globalData(), this, jsNull()));
+
m_emptyObjectStructure.set(exec->globalData(), this, m_objectPrototype->inheritorID(exec->globalData()));
m_nullPrototypeObjectStructure.set(exec->globalData(), this, createEmptyObjectStructure(exec->globalData(), this, jsNull()));
@@ -267,12 +271,12 @@ void JSGlobalObject::reset(JSValue prototype)
Structure* nativeErrorPrototypeStructure = NativeErrorPrototype::createStructure(exec->globalData(), this, m_errorPrototype.get());
Structure* nativeErrorStructure = NativeErrorConstructor::createStructure(exec->globalData(), this, m_functionPrototype.get());
- m_evalErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "EvalError"));
- m_rangeErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "RangeError"));
- m_referenceErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "ReferenceError"));
- m_syntaxErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "SyntaxError"));
- m_typeErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "TypeError"));
- m_URIErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, "URIError"));
+ m_evalErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("EvalError")));
+ m_rangeErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("RangeError")));
+ m_referenceErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("ReferenceError")));
+ m_syntaxErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("SyntaxError")));
+ m_typeErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("TypeError")));
+ m_URIErrorConstructor.set(exec->globalData(), this, NativeErrorConstructor::create(exec, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("URIError")));
m_objectPrototype->putDirectWithoutTransition(exec->globalData(), exec->propertyNames().constructor, objectConstructor, DontEnum);
m_functionPrototype->putDirectWithoutTransition(exec->globalData(), exec->propertyNames().constructor, functionConstructor, DontEnum);
@@ -300,7 +304,7 @@ void JSGlobalObject::reset(JSValue prototype)
putDirectWithoutTransition(exec->globalData(), Identifier(exec, "TypeError"), m_typeErrorConstructor.get(), DontEnum);
putDirectWithoutTransition(exec->globalData(), Identifier(exec, "URIError"), m_URIErrorConstructor.get(), DontEnum);
- m_evalFunction.set(exec->globalData(), this, JSFunction::create(exec, this, 1, exec->propertyNames().eval.ustring(), globalFuncEval));
+ m_evalFunction.set(exec->globalData(), this, JSFunction::create(exec, this, 1, exec->propertyNames().eval.string(), globalFuncEval));
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().eval, m_evalFunction.get(), DontEnum);
putDirectWithoutTransition(exec->globalData(), Identifier(exec, "JSON"), JSONObject::create(exec, this, JSONObject::createStructure(exec->globalData(), this, m_objectPrototype.get())), DontEnum);
@@ -327,7 +331,7 @@ void JSGlobalObject::reset(JSValue prototype)
void JSGlobalObject::createThrowTypeError(ExecState* exec)
{
- JSFunction* thrower = JSFunction::create(exec, this, 0, "", globalFuncThrowTypeError);
+ JSFunction* thrower = JSFunction::create(exec, this, 0, String(), globalFuncThrowTypeError);
GetterSetter* getterSetter = GetterSetter::create(exec);
getterSetter->setGetter(exec->globalData(), thrower);
getterSetter->setSetter(exec->globalData(), thrower);
@@ -351,54 +355,58 @@ void JSGlobalObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
- JSSegmentedVariableObject::visitChildren(thisObject, visitor);
-
- visitIfNeeded(visitor, &thisObject->m_globalScopeChain);
- visitIfNeeded(visitor, &thisObject->m_methodCallDummy);
-
- visitIfNeeded(visitor, &thisObject->m_regExpConstructor);
- visitIfNeeded(visitor, &thisObject->m_errorConstructor);
- visitIfNeeded(visitor, &thisObject->m_evalErrorConstructor);
- visitIfNeeded(visitor, &thisObject->m_rangeErrorConstructor);
- visitIfNeeded(visitor, &thisObject->m_referenceErrorConstructor);
- visitIfNeeded(visitor, &thisObject->m_syntaxErrorConstructor);
- visitIfNeeded(visitor, &thisObject->m_typeErrorConstructor);
- visitIfNeeded(visitor, &thisObject->m_URIErrorConstructor);
-
- visitIfNeeded(visitor, &thisObject->m_evalFunction);
- visitIfNeeded(visitor, &thisObject->m_callFunction);
- visitIfNeeded(visitor, &thisObject->m_applyFunction);
- visitIfNeeded(visitor, &thisObject->m_throwTypeErrorGetterSetter);
-
- visitIfNeeded(visitor, &thisObject->m_objectPrototype);
- visitIfNeeded(visitor, &thisObject->m_functionPrototype);
- visitIfNeeded(visitor, &thisObject->m_arrayPrototype);
- visitIfNeeded(visitor, &thisObject->m_booleanPrototype);
- visitIfNeeded(visitor, &thisObject->m_stringPrototype);
- visitIfNeeded(visitor, &thisObject->m_numberPrototype);
- visitIfNeeded(visitor, &thisObject->m_datePrototype);
- visitIfNeeded(visitor, &thisObject->m_regExpPrototype);
- visitIfNeeded(visitor, &thisObject->m_errorPrototype);
-
- visitIfNeeded(visitor, &thisObject->m_argumentsStructure);
- visitIfNeeded(visitor, &thisObject->m_arrayStructure);
- visitIfNeeded(visitor, &thisObject->m_booleanObjectStructure);
- visitIfNeeded(visitor, &thisObject->m_callbackConstructorStructure);
- visitIfNeeded(visitor, &thisObject->m_callbackFunctionStructure);
- visitIfNeeded(visitor, &thisObject->m_callbackObjectStructure);
- visitIfNeeded(visitor, &thisObject->m_dateStructure);
- visitIfNeeded(visitor, &thisObject->m_emptyObjectStructure);
- visitIfNeeded(visitor, &thisObject->m_nullPrototypeObjectStructure);
- visitIfNeeded(visitor, &thisObject->m_errorStructure);
- visitIfNeeded(visitor, &thisObject->m_functionStructure);
- visitIfNeeded(visitor, &thisObject->m_boundFunctionStructure);
- visitIfNeeded(visitor, &thisObject->m_namedFunctionStructure);
- visitIfNeeded(visitor, &thisObject->m_numberObjectStructure);
- visitIfNeeded(visitor, &thisObject->m_privateNameStructure);
- visitIfNeeded(visitor, &thisObject->m_regExpMatchesArrayStructure);
- visitIfNeeded(visitor, &thisObject->m_regExpStructure);
- visitIfNeeded(visitor, &thisObject->m_stringObjectStructure);
- visitIfNeeded(visitor, &thisObject->m_internalFunctionStructure);
+ Base::visitChildren(thisObject, visitor);
+
+ visitor.append(&thisObject->m_globalThis);
+ visitor.append(&thisObject->m_methodCallDummy);
+
+ visitor.append(&thisObject->m_regExpConstructor);
+ visitor.append(&thisObject->m_errorConstructor);
+ visitor.append(&thisObject->m_evalErrorConstructor);
+ visitor.append(&thisObject->m_rangeErrorConstructor);
+ visitor.append(&thisObject->m_referenceErrorConstructor);
+ visitor.append(&thisObject->m_syntaxErrorConstructor);
+ visitor.append(&thisObject->m_typeErrorConstructor);
+ visitor.append(&thisObject->m_URIErrorConstructor);
+
+ visitor.append(&thisObject->m_evalFunction);
+ visitor.append(&thisObject->m_callFunction);
+ visitor.append(&thisObject->m_applyFunction);
+ visitor.append(&thisObject->m_throwTypeErrorGetterSetter);
+
+ visitor.append(&thisObject->m_objectPrototype);
+ visitor.append(&thisObject->m_functionPrototype);
+ visitor.append(&thisObject->m_arrayPrototype);
+ visitor.append(&thisObject->m_booleanPrototype);
+ visitor.append(&thisObject->m_stringPrototype);
+ visitor.append(&thisObject->m_numberPrototype);
+ visitor.append(&thisObject->m_datePrototype);
+ visitor.append(&thisObject->m_regExpPrototype);
+ visitor.append(&thisObject->m_errorPrototype);
+
+ visitor.append(&thisObject->m_withScopeStructure);
+ visitor.append(&thisObject->m_strictEvalActivationStructure);
+ visitor.append(&thisObject->m_activationStructure);
+ visitor.append(&thisObject->m_nameScopeStructure);
+ visitor.append(&thisObject->m_argumentsStructure);
+ visitor.append(&thisObject->m_arrayStructure);
+ visitor.append(&thisObject->m_booleanObjectStructure);
+ visitor.append(&thisObject->m_callbackConstructorStructure);
+ visitor.append(&thisObject->m_callbackFunctionStructure);
+ visitor.append(&thisObject->m_callbackObjectStructure);
+ visitor.append(&thisObject->m_dateStructure);
+ visitor.append(&thisObject->m_emptyObjectStructure);
+ visitor.append(&thisObject->m_nullPrototypeObjectStructure);
+ visitor.append(&thisObject->m_errorStructure);
+ visitor.append(&thisObject->m_functionStructure);
+ visitor.append(&thisObject->m_boundFunctionStructure);
+ visitor.append(&thisObject->m_namedFunctionStructure);
+ visitor.append(&thisObject->m_numberObjectStructure);
+ visitor.append(&thisObject->m_privateNameStructure);
+ visitor.append(&thisObject->m_regExpMatchesArrayStructure);
+ visitor.append(&thisObject->m_regExpStructure);
+ visitor.append(&thisObject->m_stringObjectStructure);
+ visitor.append(&thisObject->m_internalFunctionStructure);
}
ExecState* JSGlobalObject::globalExec()
@@ -414,9 +422,9 @@ void JSGlobalObject::addStaticGlobals(GlobalPropertyInfo* globals, int count)
GlobalPropertyInfo& global = globals[i];
ASSERT(global.attributes & DontDelete);
- int index = symbolTable().size();
+ int index = symbolTable()->size();
SymbolTableEntry newEntry(index, global.attributes);
- symbolTable().add(global.identifier.impl(), newEntry);
+ symbolTable()->add(global.identifier.impl(), newEntry);
registerAt(index).set(globalData(), this, global.value);
}
}
@@ -424,7 +432,7 @@ void JSGlobalObject::addStaticGlobals(GlobalPropertyInfo* globals, int count)
bool JSGlobalObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
JSGlobalObject* thisObject = jsCast<JSGlobalObject*>(cell);
- if (getStaticFunctionSlot<JSSegmentedVariableObject>(exec, ExecState::globalObjectTable(exec), thisObject, propertyName, slot))
+ if (getStaticFunctionSlot<Base>(exec, ExecState::globalObjectTable(exec), thisObject, propertyName, slot))
return true;
return symbolTableGet(thisObject, propertyName, slot);
}
@@ -432,7 +440,7 @@ bool JSGlobalObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyN
bool JSGlobalObject::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, PropertyName propertyName, PropertyDescriptor& descriptor)
{
JSGlobalObject* thisObject = jsCast<JSGlobalObject*>(object);
- if (getStaticFunctionDescriptor<JSSegmentedVariableObject>(exec, ExecState::globalObjectTable(exec), thisObject, propertyName, descriptor))
+ if (getStaticFunctionDescriptor<Base>(exec, ExecState::globalObjectTable(exec), thisObject, propertyName, descriptor))
return true;
return symbolTableGet(thisObject, propertyName, descriptor);
}
diff --git a/Source/JavaScriptCore/runtime/JSGlobalObject.h b/Source/JavaScriptCore/runtime/JSGlobalObject.h
index 248004bd5..406a65b51 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalObject.h
+++ b/Source/JavaScriptCore/runtime/JSGlobalObject.h
@@ -77,6 +77,7 @@ namespace JSC {
class JSGlobalObject : public JSSegmentedVariableObject {
private:
+ typedef JSSegmentedVariableObject Base;
typedef HashSet<RefPtr<OpaqueJSWeakObjectMap> > WeakMapSet;
struct JSGlobalObjectRareData {
@@ -93,7 +94,7 @@ namespace JSC {
Register m_globalCallFrame[RegisterFile::CallFrameHeaderSize];
- WriteBarrier<ScopeChainNode> m_globalScopeChain;
+ WriteBarrier<JSObject> m_globalThis;
WriteBarrier<JSObject> m_methodCallDummy;
WriteBarrier<RegExpConstructor> m_regExpConstructor;
@@ -120,6 +121,10 @@ namespace JSC {
WriteBarrier<RegExpPrototype> m_regExpPrototype;
WriteBarrier<ErrorPrototype> m_errorPrototype;
+ WriteBarrier<Structure> m_withScopeStructure;
+ WriteBarrier<Structure> m_strictEvalActivationStructure;
+ WriteBarrier<Structure> m_activationStructure;
+ WriteBarrier<Structure> m_nameScopeStructure;
WriteBarrier<Structure> m_argumentsStructure;
WriteBarrier<Structure> m_arrayStructure;
WriteBarrier<Structure> m_booleanObjectStructure;
@@ -149,8 +154,6 @@ namespace JSC {
WeakRandom m_weakRandom;
- SymbolTable m_symbolTable;
-
bool m_evalEnabled;
bool m_experimentsEnabled;
@@ -166,8 +169,6 @@ namespace JSC {
}
public:
- typedef JSSegmentedVariableObject Base;
-
static JSGlobalObject* create(JSGlobalData& globalData, Structure* structure)
{
JSGlobalObject* globalObject = new (NotNull, allocateCell<JSGlobalObject>(globalData.heap)) JSGlobalObject(globalData, structure);
@@ -252,6 +253,10 @@ namespace JSC {
JSObject* methodCallDummy() const { return m_methodCallDummy.get(); }
+ Structure* withScopeStructure() const { return m_withScopeStructure.get(); }
+ Structure* strictEvalActivationStructure() const { return m_strictEvalActivationStructure.get(); }
+ Structure* activationStructure() const { return m_activationStructure.get(); }
+ Structure* nameScopeStructure() const { return m_nameScopeStructure.get(); }
Structure* argumentsStructure() const { return m_argumentsStructure.get(); }
Structure* arrayStructure() const { return m_arrayStructure.get(); }
Structure* booleanObjectStructure() const { return m_booleanObjectStructure.get(); }
@@ -292,8 +297,6 @@ namespace JSC {
static bool supportsProfiling(const JSGlobalObject*) { return false; }
static bool supportsRichSourceInfo(const JSGlobalObject*) { return true; }
- ScopeChainNode* globalScopeChain() { return m_globalScopeChain.get(); }
-
JS_EXPORT_PRIVATE ExecState* globalExec();
static bool shouldInterruptScript(const JSGlobalObject*) { return true; }
@@ -307,6 +310,7 @@ namespace JSC {
void resetPrototype(JSGlobalData&, JSValue prototype);
JSGlobalData& globalData() const { return *Heap::heap(this)->globalData(); }
+ JSObject* globalThis() const;
static Structure* createStructure(JSGlobalData& globalData, JSValue prototype)
{
@@ -329,7 +333,7 @@ namespace JSC {
unsigned weakRandomInteger() { return m_weakRandom.getUint32(); }
protected:
- static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames | JSSegmentedVariableObject::StructureFlags;
+ static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames | Base::StructureFlags;
struct GlobalPropertyInfo {
GlobalPropertyInfo(const Identifier& i, JSValue v, unsigned a)
@@ -351,6 +355,7 @@ namespace JSC {
// FIXME: Fold reset into init.
JS_EXPORT_PRIVATE void init(JSObject* thisValue);
void reset(JSValue prototype);
+ void setGlobalThis(JSGlobalData&, JSObject* globalThis);
void createThrowTypeError(ExecState*);
@@ -368,7 +373,7 @@ namespace JSC {
inline bool JSGlobalObject::hasOwnPropertyForWrite(ExecState* exec, PropertyName propertyName)
{
PropertySlot slot;
- if (JSSegmentedVariableObject::getOwnPropertySlot(this, exec, propertyName, slot))
+ if (Base::getOwnPropertySlot(this, exec, propertyName, slot))
return true;
bool slotIsWriteable;
return symbolTableGet(this, propertyName, slot, slotIsWriteable);
@@ -376,7 +381,7 @@ namespace JSC {
inline bool JSGlobalObject::symbolTableHasProperty(PropertyName propertyName)
{
- SymbolTableEntry entry = symbolTable().inlineGet(propertyName.publicName());
+ SymbolTableEntry entry = symbolTable()->inlineGet(propertyName.publicName());
return !entry.isNull();
}
@@ -491,6 +496,16 @@ namespace JSC {
return true;
}
+ inline JSObject* JSScope::globalThis()
+ {
+ return globalObject()->globalThis();
+ }
+
+ inline JSObject* JSGlobalObject::globalThis() const
+ {
+ return m_globalThis.get();
+ }
+
} // namespace JSC
#endif // JSGlobalObject_h
diff --git a/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp b/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
index e8017b904..4588ec2d9 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
+++ b/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp
@@ -34,7 +34,6 @@
#include "LiteralParser.h"
#include "Nodes.h"
#include "Parser.h"
-#include "UStringBuilder.h"
#include <wtf/dtoa.h>
#include <stdio.h>
#include <stdlib.h>
@@ -42,6 +41,7 @@
#include <wtf/Assertions.h>
#include <wtf/MathExtras.h>
#include <wtf/StringExtras.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/unicode/UTF8.h>
using namespace WTF;
@@ -53,7 +53,7 @@ static JSValue encode(ExecState* exec, const char* doNotEscape)
{
CString cstr = exec->argument(0).toString(exec)->value(exec).utf8(true);
if (!cstr.data())
- return throwError(exec, createURIError(exec, "String contained an illegal UTF-16 sequence."));
+ return throwError(exec, createURIError(exec, ASCIILiteral("String contained an illegal UTF-16 sequence.")));
JSStringBuilder builder;
const char* p = cstr.data();
@@ -114,7 +114,7 @@ static JSValue decode(ExecState* exec, const CharType* characters, int length, c
}
if (charLen == 0) {
if (strict)
- return throwError(exec, createURIError(exec, "URI error"));
+ return throwError(exec, createURIError(exec, ASCIILiteral("URI error")));
// The only case where we don't use "strict" mode is the "unescape" function.
// For that, it's good to support the wonky "%u" syntax for compatibility with WinIE.
if (k <= length - 6 && p[1] == 'u'
@@ -142,7 +142,7 @@ static JSValue decode(ExecState* exec, const CharType* characters, int length, c
static JSValue decode(ExecState* exec, const char* doNotUnescape, bool strict)
{
JSStringBuilder builder;
- UString str = exec->argument(0).toString(exec)->value(exec);
+ String str = exec->argument(0).toString(exec)->value(exec);
if (str.is8Bit())
return decode(exec, str.characters8(), str.length(), doNotUnescape, strict);
@@ -232,7 +232,7 @@ double parseIntOverflow(const UChar* s, int length, int radix)
// ES5.1 15.1.2.2
template <typename CharType>
ALWAYS_INLINE
-static double parseInt(const UString& s, const CharType* data, int radix)
+static double parseInt(const String& s, const CharType* data, int radix)
{
// 1. Let inputString be ToString(string).
// 2. Let S be a newly created substring of inputString consisting of the first character that is not a
@@ -313,7 +313,7 @@ static double parseInt(const UString& s, const CharType* data, int radix)
return sign * number;
}
-static double parseInt(const UString& s, int radix)
+static double parseInt(const String& s, int radix)
{
if (s.is8Bit())
return parseInt(s, s.characters8(), radix);
@@ -432,7 +432,7 @@ static double toDouble(const CharType* characters, unsigned size)
}
// See ecma-262 9.3.1
-double jsToNumber(const UString& s)
+double jsToNumber(const String& s)
{
unsigned size = s.length();
@@ -450,7 +450,7 @@ double jsToNumber(const UString& s)
return toDouble(s.characters16(), size);
}
-static double parseFloat(const UString& s)
+static double parseFloat(const String& s)
{
unsigned size = s.length();
@@ -499,13 +499,13 @@ EncodedJSValue JSC_HOST_CALL globalFuncEval(ExecState* exec)
JSObject* thisObject = exec->hostThisValue().toThisObject(exec);
JSObject* unwrappedObject = thisObject->unwrappedObject();
if (!unwrappedObject->isGlobalObject() || jsCast<JSGlobalObject*>(unwrappedObject)->evalFunction() != exec->callee())
- return throwVMError(exec, createEvalError(exec, "The \"this\" value passed to eval must be the global object from which eval originated"));
+ return throwVMError(exec, createEvalError(exec, ASCIILiteral("The \"this\" value passed to eval must be the global object from which eval originated")));
JSValue x = exec->argument(0);
if (!x.isString())
return JSValue::encode(x);
- UString s = x.toString(exec)->value(exec);
+ String s = x.toString(exec)->value(exec);
if (s.is8Bit()) {
LiteralParser<LChar> preparser(exec, s.characters8(), s.length(), NonStrictJSON);
@@ -518,11 +518,11 @@ EncodedJSValue JSC_HOST_CALL globalFuncEval(ExecState* exec)
}
EvalExecutable* eval = EvalExecutable::create(exec, makeSource(s), false);
- JSObject* error = eval->compile(exec, jsCast<JSGlobalObject*>(unwrappedObject)->globalScopeChain());
+ JSObject* error = eval->compile(exec, jsCast<JSGlobalObject*>(unwrappedObject));
if (error)
return throwVMError(exec, error);
- return JSValue::encode(exec->interpreter()->execute(eval, exec, thisObject, jsCast<JSGlobalObject*>(unwrappedObject)->globalScopeChain()));
+ return JSValue::encode(exec->interpreter()->execute(eval, exec, thisObject, jsCast<JSGlobalObject*>(unwrappedObject)));
}
EncodedJSValue JSC_HOST_CALL globalFuncParseInt(ExecState* exec)
@@ -548,7 +548,7 @@ EncodedJSValue JSC_HOST_CALL globalFuncParseInt(ExecState* exec)
}
// If ToString throws, we shouldn't call ToInt32.
- UString s = value.toString(exec)->value(exec);
+ String s = value.toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
@@ -615,7 +615,7 @@ EncodedJSValue JSC_HOST_CALL globalFuncEscape(ExecState* exec)
"*+-./@_";
JSStringBuilder builder;
- UString str = exec->argument(0).toString(exec)->value(exec);
+ String str = exec->argument(0).toString(exec)->value(exec);
if (str.is8Bit()) {
const LChar* c = str.characters8();
for (unsigned k = 0; k < str.length(); k++, c++) {
@@ -653,8 +653,8 @@ EncodedJSValue JSC_HOST_CALL globalFuncEscape(ExecState* exec)
EncodedJSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec)
{
- UStringBuilder builder;
- UString str = exec->argument(0).toString(exec)->value(exec);
+ StringBuilder builder;
+ String str = exec->argument(0).toString(exec)->value(exec);
int k = 0;
int len = str.length();
@@ -699,7 +699,7 @@ EncodedJSValue JSC_HOST_CALL globalFuncUnescape(ExecState* exec)
}
}
- return JSValue::encode(jsString(exec, builder.toUString()));
+ return JSValue::encode(jsString(exec, builder.toString()));
}
EncodedJSValue JSC_HOST_CALL globalFuncThrowTypeError(ExecState* exec)
diff --git a/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h b/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h
index 8833bf6d0..757c9dcac 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h
+++ b/Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.h
@@ -56,7 +56,7 @@ namespace JSC {
ALWAYS_INLINE double parseIntOverflow(const char* s, int length, int radix) { return parseIntOverflow(reinterpret_cast<const LChar*>(s), length, radix); }
double parseIntOverflow(const UChar*, int length, int radix);
bool isStrWhiteSpace(UChar);
- double jsToNumber(const UString& s);
+ double jsToNumber(const WTF::String&);
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSGlobalThis.cpp b/Source/JavaScriptCore/runtime/JSGlobalThis.cpp
index b2bbae5d7..a3f2e7785 100644
--- a/Source/JavaScriptCore/runtime/JSGlobalThis.cpp
+++ b/Source/JavaScriptCore/runtime/JSGlobalThis.cpp
@@ -44,8 +44,7 @@ void JSGlobalThis::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
Base::visitChildren(thisObject, visitor);
- if (thisObject->m_unwrappedObject)
- visitor.append(&thisObject->m_unwrappedObject);
+ visitor.append(&thisObject->m_unwrappedObject);
}
void JSGlobalThis::setUnwrappedObject(JSGlobalData& globalData, JSGlobalObject* globalObject)
diff --git a/Source/JavaScriptCore/runtime/JSLock.cpp b/Source/JavaScriptCore/runtime/JSLock.cpp
index be30c0c9c..c57c9cdc5 100644
--- a/Source/JavaScriptCore/runtime/JSLock.cpp
+++ b/Source/JavaScriptCore/runtime/JSLock.cpp
@@ -25,7 +25,7 @@
#include "CallFrame.h"
#include "JSGlobalObject.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
#if USE(PTHREADS)
#include <pthread.h>
diff --git a/Source/JavaScriptCore/runtime/JSNameScope.cpp b/Source/JavaScriptCore/runtime/JSNameScope.cpp
new file mode 100644
index 000000000..5dc665c44
--- /dev/null
+++ b/Source/JavaScriptCore/runtime/JSNameScope.cpp
@@ -0,0 +1,82 @@
+/*
+ * Copyright (C) 2008, 2009, 2012 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.
+ */
+
+#include "config.h"
+#include "JSNameScope.h"
+
+#include "Error.h"
+
+namespace JSC {
+
+ASSERT_CLASS_FITS_IN_CELL(JSNameScope);
+
+const ClassInfo JSNameScope::s_info = { "NameScope", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSNameScope) };
+
+void JSNameScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
+{
+ JSNameScope* thisObject = jsCast<JSNameScope*>(cell);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
+ COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
+ ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
+ Base::visitChildren(thisObject, visitor);
+ visitor.append(&thisObject->m_registerStore);
+}
+
+JSObject* JSNameScope::toThisObject(JSCell*, ExecState* exec)
+{
+ return exec->globalThisValue();
+}
+
+void JSNameScope::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
+{
+ JSNameScope* thisObject = jsCast<JSNameScope*>(cell);
+ if (slot.isStrictMode()) {
+ // Double lookup in strict mode, but this only occurs when
+ // a) indirectly writing to an exception slot
+ // b) writing to a function expression name
+ // (a) is unlikely, and (b) is an error.
+ // Also with a single entry the symbol table lookup should simply be
+ // a pointer compare.
+ PropertySlot slot;
+ bool isWritable = true;
+ symbolTableGet(thisObject, propertyName, slot, isWritable);
+ if (!isWritable) {
+ throwError(exec, createTypeError(exec, StrictModeReadonlyPropertyWriteError));
+ return;
+ }
+ }
+ if (symbolTablePut(thisObject, exec, propertyName, value, slot.isStrictMode()))
+ return;
+
+ ASSERT_NOT_REACHED();
+}
+
+bool JSNameScope::getOwnPropertySlot(JSCell* cell, ExecState*, PropertyName propertyName, PropertySlot& slot)
+{
+ return symbolTableGet(jsCast<JSNameScope*>(cell), propertyName, slot);
+}
+
+} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSNameScope.h b/Source/JavaScriptCore/runtime/JSNameScope.h
new file mode 100644
index 000000000..e67370d92
--- /dev/null
+++ b/Source/JavaScriptCore/runtime/JSNameScope.h
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2008, 2009 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.
+ */
+
+#ifndef JSNameScope_h
+#define JSNameScope_h
+
+#include "JSGlobalObject.h"
+#include "JSVariableObject.h"
+
+namespace JSC {
+
+// Used for scopes with a single named variable: catch and named function expression.
+class JSNameScope : public JSVariableObject {
+public:
+ typedef JSVariableObject Base;
+
+ static JSNameScope* create(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
+ {
+ JSNameScope* scopeObject = new (NotNull, allocateCell<JSNameScope>(*exec->heap())) JSNameScope(exec, exec->scope());
+ scopeObject->finishCreation(exec, identifier, value, attributes);
+ return scopeObject;
+ }
+
+ static JSNameScope* create(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes, JSScope* next)
+ {
+ JSNameScope* scopeObject = new (NotNull, allocateCell<JSNameScope>(*exec->heap())) JSNameScope(exec, next);
+ scopeObject->finishCreation(exec, identifier, value, attributes);
+ return scopeObject;
+ }
+
+ static void visitChildren(JSCell*, SlotVisitor&);
+ bool isDynamicScope(bool& requiresDynamicChecks) const;
+ static JSObject* toThisObject(JSCell*, ExecState*);
+ static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);
+ static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
+
+ static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(NameScopeObjectType, StructureFlags), &s_info); }
+
+ static const ClassInfo s_info;
+
+protected:
+ void finishCreation(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
+ {
+ Base::finishCreation(exec->globalData());
+ m_registerStore.set(exec->globalData(), this, value);
+ symbolTable()->add(identifier.impl(), SymbolTableEntry(-1, attributes));
+ }
+
+ static const unsigned StructureFlags = OverridesGetOwnPropertySlot | OverridesVisitChildren | Base::StructureFlags;
+
+private:
+ JSNameScope(ExecState* exec, JSScope* next)
+ : Base(
+ exec->globalData(),
+ exec->lexicalGlobalObject()->nameScopeStructure(),
+ reinterpret_cast<Register*>(&m_registerStore + 1),
+ next
+ )
+ {
+ }
+
+ WriteBarrier<Unknown> m_registerStore;
+};
+
+inline bool JSNameScope::isDynamicScope(bool&) const
+{
+ return false;
+}
+
+}
+
+#endif // JSNameScope_h
diff --git a/Source/JavaScriptCore/runtime/JSONObject.cpp b/Source/JavaScriptCore/runtime/JSONObject.cpp
index 065ae3828..45854dcea 100644
--- a/Source/JavaScriptCore/runtime/JSONObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSONObject.cpp
@@ -36,9 +36,8 @@
#include "LocalScope.h"
#include "Lookup.h"
#include "PropertyNameArray.h"
-#include "UStringBuilder.h"
-#include "UStringConcatenate.h"
#include <wtf/MathExtras.h>
+#include <wtf/text/StringBuilder.h>
namespace JSC {
@@ -94,7 +93,7 @@ private:
JSObject* object() const { return m_object.get(); }
- bool appendNextProperty(Stringifier&, UStringBuilder&);
+ bool appendNextProperty(Stringifier&, StringBuilder&);
private:
Local<JSObject> m_object;
@@ -107,17 +106,17 @@ private:
friend class Holder;
- static void appendQuotedString(UStringBuilder&, const UString&);
+ static void appendQuotedString(StringBuilder&, const String&);
JSValue toJSON(JSValue, const PropertyNameForFunctionCall&);
enum StringifyResult { StringifyFailed, StringifySucceeded, StringifyFailedDueToUndefinedValue };
- StringifyResult appendStringifiedValue(UStringBuilder&, JSValue, JSObject* holder, const PropertyNameForFunctionCall&);
+ StringifyResult appendStringifiedValue(StringBuilder&, JSValue, JSObject* holder, const PropertyNameForFunctionCall&);
bool willIndent() const;
void indent();
void unindent();
- void startNewLine(UStringBuilder&) const;
+ void startNewLine(StringBuilder&) const;
ExecState* const m_exec;
const Local<Unknown> m_replacer;
@@ -125,11 +124,11 @@ private:
PropertyNameArray m_arrayReplacerPropertyNames;
CallType m_replacerCallType;
CallData m_replacerCallData;
- const UString m_gap;
+ const String m_gap;
Vector<Holder, 16> m_holderStack;
- UString m_repeatedGap;
- UString m_indent;
+ String m_repeatedGap;
+ String m_indent;
};
// ------------------------------ helper functions --------------------------------
@@ -148,7 +147,7 @@ static inline JSValue unwrapBoxedPrimitive(ExecState* exec, JSValue value)
return value;
}
-static inline UString gap(ExecState* exec, JSValue space)
+static inline String gap(ExecState* exec, JSValue space)
{
const unsigned maxGapLength = 10;
space = unwrapBoxedPrimitive(exec, space);
@@ -166,11 +165,11 @@ static inline UString gap(ExecState* exec, JSValue space)
UChar spaces[maxGapLength];
for (int i = 0; i < count; ++i)
spaces[i] = ' ';
- return UString(spaces, count);
+ return String(spaces, count);
}
// If the space value is a string, use it as the gap string, otherwise use no gap string.
- UString spaces = space.getString(exec);
+ String spaces = space.getString(exec);
if (spaces.length() > maxGapLength) {
spaces = spaces.substringSharingImpl(0, maxGapLength);
}
@@ -194,7 +193,7 @@ JSValue PropertyNameForFunctionCall::value(ExecState* exec) const
{
if (!m_value) {
if (m_identifier)
- m_value = jsString(exec, m_identifier->ustring());
+ m_value = jsString(exec, m_identifier->string());
else
m_value = jsNumber(m_number);
}
@@ -245,17 +244,17 @@ Local<Unknown> Stringifier::stringify(Handle<Unknown> value)
PropertyNameForFunctionCall emptyPropertyName(m_exec->globalData().propertyNames->emptyIdentifier);
object->putDirect(m_exec->globalData(), m_exec->globalData().propertyNames->emptyIdentifier, value.get());
- UStringBuilder result;
+ StringBuilder result;
if (appendStringifiedValue(result, value.get(), object, emptyPropertyName) != StringifySucceeded)
return Local<Unknown>(m_exec->globalData(), jsUndefined());
if (m_exec->hadException())
return Local<Unknown>(m_exec->globalData(), jsNull());
- return Local<Unknown>(m_exec->globalData(), jsString(m_exec, result.toUString()));
+ return Local<Unknown>(m_exec->globalData(), jsString(m_exec, result.toString()));
}
template <typename CharType>
-static void appendStringToUStringBuilder(UStringBuilder& builder, const CharType* data, int length)
+static void appendStringToStringBuilder(StringBuilder& builder, const CharType* data, int length)
{
for (int i = 0; i < length; ++i) {
int start = i;
@@ -303,16 +302,16 @@ static void appendStringToUStringBuilder(UStringBuilder& builder, const CharType
}
}
-void Stringifier::appendQuotedString(UStringBuilder& builder, const UString& value)
+void Stringifier::appendQuotedString(StringBuilder& builder, const String& value)
{
int length = value.length();
builder.append('"');
if (value.is8Bit())
- appendStringToUStringBuilder<LChar>(builder, value.characters8(), length);
+ appendStringToStringBuilder<LChar>(builder, value.characters8(), length);
else
- appendStringToUStringBuilder<UChar>(builder, value.characters16(), length);
+ appendStringToStringBuilder<UChar>(builder, value.characters16(), length);
builder.append('"');
}
@@ -341,7 +340,7 @@ inline JSValue Stringifier::toJSON(JSValue value, const PropertyNameForFunctionC
return call(m_exec, object, callType, callData, value, args);
}
-Stringifier::StringifyResult Stringifier::appendStringifiedValue(UStringBuilder& builder, JSValue value, JSObject* holder, const PropertyNameForFunctionCall& propertyName)
+Stringifier::StringifyResult Stringifier::appendStringifiedValue(StringBuilder& builder, JSValue value, JSObject* holder, const PropertyNameForFunctionCall& propertyName)
{
// Call the toJSON function.
value = toJSON(value, propertyName);
@@ -362,7 +361,7 @@ Stringifier::StringifyResult Stringifier::appendStringifiedValue(UStringBuilder&
return StringifyFailedDueToUndefinedValue;
if (value.isNull()) {
- builder.append("null");
+ builder.appendLiteral("null");
return StringifySucceeded;
}
@@ -372,11 +371,14 @@ Stringifier::StringifyResult Stringifier::appendStringifiedValue(UStringBuilder&
return StringifyFailed;
if (value.isBoolean()) {
- builder.append(value.isTrue() ? "true" : "false");
+ if (value.isTrue())
+ builder.appendLiteral("true");
+ else
+ builder.appendLiteral("false");
return StringifySucceeded;
}
- UString stringValue;
+ String stringValue;
if (value.getString(m_exec, stringValue)) {
appendQuotedString(builder, stringValue);
return StringifySucceeded;
@@ -385,9 +387,9 @@ Stringifier::StringifyResult Stringifier::appendStringifiedValue(UStringBuilder&
if (value.isNumber()) {
double number = value.asNumber();
if (!isfinite(number))
- builder.append("null");
+ builder.appendLiteral("null");
else
- builder.append(UString::number(number));
+ builder.append(String::numberToStringECMAScript(number));
return StringifySucceeded;
}
@@ -399,7 +401,7 @@ Stringifier::StringifyResult Stringifier::appendStringifiedValue(UStringBuilder&
CallData callData;
if (object->methodTable()->getCallData(object, callData) != CallTypeNone) {
if (holder->inherits(&JSArray::s_info)) {
- builder.append("null");
+ builder.appendLiteral("null");
return StringifySucceeded;
}
return StringifyFailedDueToUndefinedValue;
@@ -408,7 +410,7 @@ Stringifier::StringifyResult Stringifier::appendStringifiedValue(UStringBuilder&
// Handle cycle detection, and put the holder on the stack.
for (unsigned i = 0; i < m_holderStack.size(); i++) {
if (m_holderStack[i].object() == object) {
- throwError(m_exec, createTypeError(m_exec, "JSON.stringify cannot serialize cyclic structures."));
+ throwError(m_exec, createTypeError(m_exec, ASCIILiteral("JSON.stringify cannot serialize cyclic structures.")));
return StringifyFailed;
}
}
@@ -448,7 +450,7 @@ inline void Stringifier::indent()
// Use a single shared string, m_repeatedGap, so we don't keep allocating new ones as we indent and unindent.
unsigned newSize = m_indent.length() + m_gap.length();
if (newSize > m_repeatedGap.length())
- m_repeatedGap = makeUString(m_repeatedGap, m_gap);
+ m_repeatedGap = makeString(m_repeatedGap, m_gap);
ASSERT(newSize <= m_repeatedGap.length());
m_indent = m_repeatedGap.substringSharingImpl(0, newSize);
}
@@ -459,7 +461,7 @@ inline void Stringifier::unindent()
m_indent = m_repeatedGap.substringSharingImpl(0, m_indent.length() - m_gap.length());
}
-inline void Stringifier::startNewLine(UStringBuilder& builder) const
+inline void Stringifier::startNewLine(StringBuilder& builder) const
{
if (m_gap.isEmpty())
return;
@@ -477,7 +479,7 @@ inline Stringifier::Holder::Holder(JSGlobalData& globalData, JSObject* object)
{
}
-bool Stringifier::Holder::appendNextProperty(Stringifier& stringifier, UStringBuilder& builder)
+bool Stringifier::Holder::appendNextProperty(Stringifier& stringifier, StringBuilder& builder)
{
ASSERT(m_index <= m_size);
@@ -555,7 +557,7 @@ bool Stringifier::Holder::appendNextProperty(Stringifier& stringifier, UStringBu
stringifier.startNewLine(builder);
// Append the property name.
- appendQuotedString(builder, propertyName.ustring());
+ appendQuotedString(builder, propertyName.string());
builder.append(':');
if (stringifier.willIndent())
builder.append(' ');
@@ -570,7 +572,7 @@ bool Stringifier::Holder::appendNextProperty(Stringifier& stringifier, UStringBu
switch (stringifyResult) {
case StringifyFailed:
- builder.append("null");
+ builder.appendLiteral("null");
break;
case StringifySucceeded:
break;
@@ -704,11 +706,11 @@ NEVER_INLINE JSValue Walker::walk(JSValue unfiltered)
}
case ArrayEndVisitMember: {
JSArray* array = arrayStack.peek();
- JSValue filteredValue = callReviver(array, jsString(m_exec, UString::number(indexStack.last())), outValue);
+ JSValue filteredValue = callReviver(array, jsString(m_exec, String::number(indexStack.last())), outValue);
if (filteredValue.isUndefined())
array->methodTable()->deletePropertyByIndex(array, m_exec, indexStack.last());
else
- array->putDirectIndex(m_exec, indexStack.last(), filteredValue, false);
+ array->putDirectIndex(m_exec, indexStack.last(), filteredValue);
if (m_exec->hadException())
return jsNull();
indexStack.last()++;
@@ -767,7 +769,7 @@ NEVER_INLINE JSValue Walker::walk(JSValue unfiltered)
JSObject* object = objectStack.peek();
Identifier prop = propertyStack.last()[indexStack.last()];
PutPropertySlot slot;
- JSValue filteredValue = callReviver(object, jsString(m_exec, prop.ustring()), outValue);
+ JSValue filteredValue = callReviver(object, jsString(m_exec, prop.string()), outValue);
if (filteredValue.isUndefined())
object->methodTable()->deleteProperty(object, m_exec, prop);
else
@@ -810,8 +812,8 @@ NEVER_INLINE JSValue Walker::walk(JSValue unfiltered)
EncodedJSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState* exec)
{
if (!exec->argumentCount())
- return throwVMError(exec, createError(exec, "JSON.parse requires at least one parameter"));
- UString source = exec->argument(0).toString(exec)->value(exec);
+ return throwVMError(exec, createError(exec, ASCIILiteral("JSON.parse requires at least one parameter")));
+ String source = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsNull());
@@ -844,7 +846,7 @@ EncodedJSValue JSC_HOST_CALL JSONProtoFuncParse(ExecState* exec)
EncodedJSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState* exec)
{
if (!exec->argumentCount())
- return throwVMError(exec, createError(exec, "No input to stringify"));
+ return throwVMError(exec, createError(exec, ASCIILiteral("No input to stringify")));
LocalScope scope(exec->globalData());
Local<Unknown> value(exec->globalData(), exec->argument(0));
Local<Unknown> replacer(exec->globalData(), exec->argument(1));
@@ -852,12 +854,12 @@ EncodedJSValue JSC_HOST_CALL JSONProtoFuncStringify(ExecState* exec)
return JSValue::encode(Stringifier(exec, replacer, space).stringify(value).get());
}
-UString JSONStringify(ExecState* exec, JSValue value, unsigned indent)
+String JSONStringify(ExecState* exec, JSValue value, unsigned indent)
{
LocalScope scope(exec->globalData());
Local<Unknown> result = Stringifier(exec, Local<Unknown>(exec->globalData(), jsNull()), Local<Unknown>(exec->globalData(), jsNumber(indent))).stringify(Local<Unknown>(exec->globalData(), value));
if (result.isUndefinedOrNull())
- return UString();
+ return String();
return result.getString(exec);
}
diff --git a/Source/JavaScriptCore/runtime/JSONObject.h b/Source/JavaScriptCore/runtime/JSONObject.h
index 3b8647714..b537b9144 100644
--- a/Source/JavaScriptCore/runtime/JSONObject.h
+++ b/Source/JavaScriptCore/runtime/JSONObject.h
@@ -61,7 +61,7 @@ namespace JSC {
};
- UString JSONStringify(ExecState* exec, JSValue value, unsigned indent);
+ String JSONStringify(ExecState*, JSValue, unsigned indent);
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp
index c40c625e1..812ba3bc8 100644
--- a/Source/JavaScriptCore/runtime/JSObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSObject.cpp
@@ -154,7 +154,7 @@ void JSFinalObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
#endif
}
-UString JSObject::className(const JSObject* object)
+String JSObject::className(const JSObject* object)
{
const ClassInfo* info = object->classInfo();
ASSERT(info);
@@ -182,7 +182,7 @@ void JSObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSV
prototype = obj->prototype();
if (prototype.isNull()) {
if (!thisObject->putDirectInternal<PutModePut>(globalData, propertyName, value, 0, slot, getCallableObject(value)) && slot.isStrictMode())
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return;
}
}
@@ -195,7 +195,7 @@ void JSObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSV
if (offset != invalidOffset) {
if (attributes & ReadOnly) {
if (slot.isStrictMode())
- throwError(exec, createTypeError(exec, StrictModeReadonlyPropertyWriteError));
+ throwError(exec, createTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError)));
return;
}
@@ -204,7 +204,7 @@ void JSObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSV
JSObject* setterFunc = asGetterSetter(gs)->setter();
if (!setterFunc) {
if (slot.isStrictMode())
- throwError(exec, createTypeError(exec, "setting a property that has only a getter"));
+ throwError(exec, createTypeError(exec, ASCIILiteral("setting a property that has only a getter")));
return;
}
@@ -229,7 +229,7 @@ void JSObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSV
}
if (!thisObject->putDirectInternal<PutModePut>(globalData, propertyName, value, 0, slot, getCallableObject(value)) && slot.isStrictMode())
- throwTypeError(exec, StrictModeReadonlyPropertyWriteError);
+ throwTypeError(exec, ASCIILiteral(StrictModeReadonlyPropertyWriteError));
return;
}
@@ -389,7 +389,7 @@ JSValue JSObject::defaultValue(const JSObject* object, ExecState* exec, Preferre
ASSERT(!exec->hadException());
- return throwError(exec, createTypeError(exec, "No default value"));
+ return throwError(exec, createTypeError(exec, ASCIILiteral("No default value")));
}
const HashEntry* JSObject::findPropertyHashEntry(ExecState* exec, PropertyName propertyName) const
@@ -409,7 +409,7 @@ bool JSObject::hasInstance(JSObject*, ExecState* exec, JSValue value, JSValue pr
return false;
if (!proto.isObject()) {
- throwError(exec, createTypeError(exec, "instanceof called on an object with an invalid prototype property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("instanceof called on an object with an invalid prototype property.")));
return false;
}
@@ -718,7 +718,7 @@ bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName
// unless extensions are prevented!
if (!object->isExtensible()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to define property on object that is not extensible."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to define property on object that is not extensible.")));
return false;
}
PropertyDescriptor oldDescriptor;
@@ -736,12 +736,12 @@ bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName
if (!current.configurable()) {
if (descriptor.configurable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to configurable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to configurable attribute of unconfigurable property.")));
return false;
}
if (descriptor.enumerablePresent() && descriptor.enumerable() != current.enumerable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change enumerable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change enumerable attribute of unconfigurable property.")));
return false;
}
}
@@ -759,7 +759,7 @@ bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName
if (descriptor.isDataDescriptor() != current.isDataDescriptor()) {
if (!current.configurable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change access mechanism for an unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change access mechanism for an unconfigurable property.")));
return false;
}
object->methodTable()->deleteProperty(object, exec, propertyName);
@@ -771,13 +771,13 @@ bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName
if (!current.configurable()) {
if (!current.writable() && descriptor.writable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change writable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change writable attribute of unconfigurable property.")));
return false;
}
if (!current.writable()) {
if (descriptor.value() && !sameValue(exec, current.value(), descriptor.value())) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change value of a readonly property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change value of a readonly property.")));
return false;
}
}
@@ -793,12 +793,12 @@ bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName
if (!current.configurable()) {
if (descriptor.setterPresent() && !(current.setterPresent() && JSValue::strictEqual(exec, current.setter(), descriptor.setter()))) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change the setter of an unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change the setter of an unconfigurable property.")));
return false;
}
if (descriptor.getterPresent() && !(current.getterPresent() && JSValue::strictEqual(exec, current.getter(), descriptor.getter()))) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change the getter of an unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change the getter of an unconfigurable property.")));
return false;
}
}
@@ -818,7 +818,7 @@ bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName
return true;
}
-JSObject* throwTypeError(ExecState* exec, const UString& message)
+JSObject* throwTypeError(ExecState* exec, const String& message)
{
return throwError(exec, createTypeError(exec, message));
}
diff --git a/Source/JavaScriptCore/runtime/JSObject.h b/Source/JavaScriptCore/runtime/JSObject.h
index 82da5eef9..f4b847b4c 100644
--- a/Source/JavaScriptCore/runtime/JSObject.h
+++ b/Source/JavaScriptCore/runtime/JSObject.h
@@ -30,7 +30,7 @@
#include "JSCell.h"
#include "PropertySlot.h"
#include "PutPropertySlot.h"
-#include "ScopeChain.h"
+
#include "StorageBarrier.h"
#include "Structure.h"
#include "JSGlobalData.h"
@@ -65,7 +65,7 @@ namespace JSC {
class Structure;
struct HashTable;
- JS_EXPORT_PRIVATE JSObject* throwTypeError(ExecState*, const UString&);
+ JS_EXPORT_PRIVATE JSObject* throwTypeError(ExecState*, const String&);
extern JS_EXPORTDATA const char* StrictModeReadonlyPropertyWriteError;
// ECMA 262-3 8.6.1
@@ -99,7 +99,7 @@ namespace JSC {
JS_EXPORT_PRIVATE static void visitChildren(JSCell*, SlotVisitor&);
- JS_EXPORT_PRIVATE static UString className(const JSObject*);
+ JS_EXPORT_PRIVATE static String className(const JSObject*);
JSValue prototype() const;
void setPrototype(JSGlobalData&, JSValue prototype);
@@ -254,7 +254,7 @@ namespace JSC {
bool isGlobalObject() const;
bool isVariableObject() const;
- bool isStaticScopeObject() const;
+ bool isNameScopeObject() const;
bool isActivationObject() const;
bool isErrorInstance() const;
bool isGlobalThis() const;
@@ -314,8 +314,6 @@ namespace JSC {
return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
}
- static const unsigned StructureFlags = 0;
-
// To instantiate objects you likely want JSFinalObject, below.
// To create derived types you likely want JSNonFinalObject, below.
JSObject(JSGlobalData&, Structure*);
@@ -473,9 +471,9 @@ inline bool JSObject::isVariableObject() const
return structure()->typeInfo().type() >= VariableObjectType;
}
-inline bool JSObject::isStaticScopeObject() const
+inline bool JSObject::isNameScopeObject() const
{
- return structure()->typeInfo().type() == StaticScopeObjectType;
+ return structure()->typeInfo().type() == NameScopeObjectType;
}
inline bool JSObject::isActivationObject() const
@@ -622,7 +620,7 @@ ALWAYS_INLINE bool JSCell::fastGetOwnPropertySlot(ExecState* exec, PropertyName
// identifier. The first time we perform a property access with a given string, try
// performing the property map lookup without forming an identifier. We detect this
// case by checking whether the hash has yet been set for this string.
-ALWAYS_INLINE JSValue JSCell::fastGetOwnProperty(ExecState* exec, const UString& name)
+ALWAYS_INLINE JSValue JSCell::fastGetOwnProperty(ExecState* exec, const String& name)
{
if (!structure()->typeInfo().overridesGetOwnPropertySlot() && !structure()->hasGetterSetterProperties()) {
PropertyOffset offset = name.impl()->hasHash()
diff --git a/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp b/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
index aaf946d3d..b1376c5e8 100644
--- a/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
+++ b/Source/JavaScriptCore/runtime/JSPropertyNameIterator.cpp
@@ -103,8 +103,7 @@ void JSPropertyNameIterator::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
visitor.appendValues(thisObject->m_jsStrings.get(), thisObject->m_jsStringsSize);
- if (thisObject->m_cachedPrototypeChain)
- visitor.append(&thisObject->m_cachedPrototypeChain);
+ visitor.append(&thisObject->m_cachedPrototypeChain);
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h b/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h
index 653ee0463..057ffe293 100644
--- a/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h
+++ b/Source/JavaScriptCore/runtime/JSPropertyNameIterator.h
@@ -87,7 +87,7 @@ namespace JSC {
Base::finishCreation(exec->globalData());
PropertyNameArrayData::PropertyNameVector& propertyNameVector = propertyNameArrayData->propertyNameVector();
for (size_t i = 0; i < m_jsStringsSize; ++i)
- m_jsStrings[i].set(exec->globalData(), this, jsOwnedString(exec, propertyNameVector[i].ustring()));
+ m_jsStrings[i].set(exec->globalData(), this, jsOwnedString(exec, propertyNameVector[i].string()));
m_offsetBase = object->structure()->firstValidOffset();
}
diff --git a/Source/JavaScriptCore/runtime/JSScope.cpp b/Source/JavaScriptCore/runtime/JSScope.cpp
new file mode 100644
index 000000000..b22211970
--- /dev/null
+++ b/Source/JavaScriptCore/runtime/JSScope.cpp
@@ -0,0 +1,262 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#include "config.h"
+#include "JSScope.h"
+
+#include "JSActivation.h"
+#include "JSGlobalObject.h"
+#include "JSNameScope.h"
+#include "JSWithScope.h"
+
+namespace JSC {
+
+ASSERT_CLASS_FITS_IN_CELL(JSScope);
+
+void JSScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
+{
+ JSScope* thisObject = jsCast<JSScope*>(cell);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
+ COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
+ ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
+ Base::visitChildren(thisObject, visitor);
+ visitor.append(&thisObject->m_next);
+}
+
+bool JSScope::isDynamicScope(bool& requiresDynamicChecks) const
+{
+ switch (structure()->typeInfo().type()) {
+ case GlobalObjectType:
+ return static_cast<const JSGlobalObject*>(this)->isDynamicScope(requiresDynamicChecks);
+ case ActivationObjectType:
+ return static_cast<const JSActivation*>(this)->isDynamicScope(requiresDynamicChecks);
+ case NameScopeObjectType:
+ return static_cast<const JSNameScope*>(this)->isDynamicScope(requiresDynamicChecks);
+ default:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+
+ return false;
+}
+
+JSObject* JSScope::objectAtScope(JSScope* scope)
+{
+ JSObject* object = scope;
+ if (object->structure()->typeInfo().type() == WithScopeType)
+ return jsCast<JSWithScope*>(object)->object();
+
+ return object;
+}
+
+int JSScope::localDepth()
+{
+ int scopeDepth = 0;
+ ScopeChainIterator iter = this->begin();
+ ScopeChainIterator end = this->end();
+ while (!iter->inherits(&JSActivation::s_info)) {
+ ++iter;
+ if (iter == end)
+ break;
+ ++scopeDepth;
+ }
+ return scopeDepth;
+}
+
+JSValue JSScope::resolve(CallFrame* callFrame, const Identifier& identifier)
+{
+ JSScope* scope = callFrame->scope();
+ ASSERT(scope);
+
+ do {
+ JSObject* object = JSScope::objectAtScope(scope);
+ PropertySlot slot(object);
+ if (object->getPropertySlot(callFrame, identifier, slot))
+ return slot.getValue(callFrame, identifier);
+ } while ((scope = scope->next()));
+
+ return throwError(callFrame, createUndefinedVariableError(callFrame, identifier));
+}
+
+JSValue JSScope::resolveSkip(CallFrame* callFrame, const Identifier& identifier, int skip)
+{
+ JSScope* scope = callFrame->scope();
+ ASSERT(scope);
+
+ CodeBlock* codeBlock = callFrame->codeBlock();
+
+ bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
+ ASSERT(skip || !checkTopLevel);
+ if (checkTopLevel && skip--) {
+ if (callFrame->uncheckedR(codeBlock->activationRegister()).jsValue())
+ scope = scope->next();
+ }
+ while (skip--) {
+ scope = scope->next();
+ ASSERT(scope);
+ }
+
+ do {
+ JSObject* object = JSScope::objectAtScope(scope);
+ PropertySlot slot(object);
+ if (object->getPropertySlot(callFrame, identifier, slot))
+ return slot.getValue(callFrame, identifier);
+ } while ((scope = scope->next()));
+
+ return throwError(callFrame, createUndefinedVariableError(callFrame, identifier));
+}
+
+JSValue JSScope::resolveGlobal(
+ CallFrame* callFrame,
+ const Identifier& identifier,
+ JSGlobalObject* globalObject,
+ WriteBarrierBase<Structure>* cachedStructure,
+ PropertyOffset* cachedOffset
+)
+{
+ if (globalObject->structure() == cachedStructure->get())
+ return globalObject->getDirectOffset(*cachedOffset);
+
+ PropertySlot slot(globalObject);
+ if (!globalObject->getPropertySlot(callFrame, identifier, slot))
+ return throwError(callFrame, createUndefinedVariableError(callFrame, identifier));
+
+ JSValue result = slot.getValue(callFrame, identifier);
+ if (callFrame->globalData().exception)
+ return JSValue();
+
+ if (slot.isCacheableValue() && !globalObject->structure()->isUncacheableDictionary() && slot.slotBase() == globalObject) {
+ cachedStructure->set(callFrame->globalData(), callFrame->codeBlock()->ownerExecutable(), globalObject->structure());
+ *cachedOffset = slot.cachedOffset();
+ }
+ return result;
+}
+
+JSValue JSScope::resolveGlobalDynamic(
+ CallFrame* callFrame,
+ const Identifier& identifier,
+ int skip,
+ WriteBarrierBase<Structure>* cachedStructure,
+ PropertyOffset* cachedOffset
+)
+{
+ JSScope* scope = callFrame->scope();
+ ASSERT(scope);
+
+ CodeBlock* codeBlock = callFrame->codeBlock();
+
+ bool checkTopLevel = codeBlock->codeType() == FunctionCode && codeBlock->needsFullScopeChain();
+ ASSERT(skip || !checkTopLevel);
+ if (checkTopLevel && skip--) {
+ if (callFrame->uncheckedR(codeBlock->activationRegister()).jsValue())
+ scope = scope->next();
+ }
+ while (skip--) {
+ JSObject* object = JSScope::objectAtScope(scope);
+ if (!object->hasCustomProperties())
+ continue;
+
+ PropertySlot slot(object);
+ if (!object->getPropertySlot(callFrame, identifier, slot))
+ continue;
+
+ JSValue result = slot.getValue(callFrame, identifier);
+ if (callFrame->globalData().exception)
+ return JSValue();
+ return result;
+ }
+
+ return resolveGlobal(callFrame, identifier, callFrame->lexicalGlobalObject(), cachedStructure, cachedOffset);
+}
+
+JSValue JSScope::resolveBase(CallFrame* callFrame, const Identifier& identifier, bool isStrict)
+{
+ JSScope* scope = callFrame->scope();
+ ASSERT(scope);
+
+ do {
+ JSObject* object = JSScope::objectAtScope(scope);
+
+ PropertySlot slot(object);
+ if (!object->getPropertySlot(callFrame, identifier, slot))
+ continue;
+
+ return JSValue(object);
+ } while ((scope = scope->next()));
+
+ if (!isStrict)
+ return callFrame->lexicalGlobalObject();
+
+ return throwError(callFrame, createErrorForInvalidGlobalAssignment(callFrame, identifier.string()));
+}
+
+JSValue JSScope::resolveWithBase(CallFrame* callFrame, const Identifier& identifier, Register* base)
+{
+ JSScope* scope = callFrame->scope();
+ ASSERT(scope);
+
+ do {
+ JSObject* object = JSScope::objectAtScope(scope);
+
+ PropertySlot slot(object);
+ if (!object->getPropertySlot(callFrame, identifier, slot))
+ continue;
+
+ JSValue value = slot.getValue(callFrame, identifier);
+ if (callFrame->globalData().exception)
+ return JSValue();
+
+ *base = JSValue(object);
+ return value;
+ } while ((scope = scope->next()));
+
+ return throwError(callFrame, createUndefinedVariableError(callFrame, identifier));
+}
+
+JSValue JSScope::resolveWithThis(CallFrame* callFrame, const Identifier& identifier, Register* base)
+{
+ JSScope* scope = callFrame->scope();
+ ASSERT(scope);
+
+ do {
+ JSObject* object = JSScope::objectAtScope(scope);
+
+ PropertySlot slot(object);
+ if (!object->getPropertySlot(callFrame, identifier, slot))
+ continue;
+
+ JSValue value = slot.getValue(callFrame, identifier);
+ if (callFrame->globalData().exception)
+ return JSValue();
+
+ *base = object->structure()->typeInfo().isEnvironmentRecord() ? jsUndefined() : JSValue(object);
+ return value;
+ } while ((scope = scope->next()));
+
+ return throwError(callFrame, createUndefinedVariableError(callFrame, identifier));
+}
+
+} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSScope.h b/Source/JavaScriptCore/runtime/JSScope.h
new file mode 100644
index 000000000..011aff57e
--- /dev/null
+++ b/Source/JavaScriptCore/runtime/JSScope.h
@@ -0,0 +1,171 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#ifndef JSScope_h
+#define JSScope_h
+
+#include "JSObject.h"
+
+namespace JSC {
+
+class ScopeChainIterator;
+
+class JSScope : public JSNonFinalObject {
+public:
+ typedef JSNonFinalObject Base;
+
+ friend class LLIntOffsetsExtractor;
+ static size_t offsetOfNext();
+
+ JS_EXPORT_PRIVATE static JSObject* objectAtScope(JSScope*);
+
+ static JSValue resolve(CallFrame*, const Identifier&);
+ static JSValue resolveSkip(CallFrame*, const Identifier&, int skip);
+ static JSValue resolveGlobal(
+ CallFrame*,
+ const Identifier&,
+ JSGlobalObject* globalObject,
+ WriteBarrierBase<Structure>* cachedStructure,
+ PropertyOffset* cachedOffset
+ );
+ static JSValue resolveGlobalDynamic(
+ CallFrame*,
+ const Identifier&,
+ int skip,
+ WriteBarrierBase<Structure>* cachedStructure,
+ PropertyOffset* cachedOffset
+ );
+ static JSValue resolveBase(CallFrame*, const Identifier&, bool isStrict);
+ static JSValue resolveWithBase(CallFrame*, const Identifier&, Register* base);
+ static JSValue resolveWithThis(CallFrame*, const Identifier&, Register* base);
+
+ static void visitChildren(JSCell*, SlotVisitor&);
+
+ bool isDynamicScope(bool& requiresDynamicChecks) const;
+
+ ScopeChainIterator begin();
+ ScopeChainIterator end();
+ JSScope* next();
+ int localDepth();
+
+ JSGlobalObject* globalObject();
+ JSGlobalData* globalData();
+ JSObject* globalThis();
+
+protected:
+ JSScope(JSGlobalData&, Structure*, JSScope* next);
+ static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
+
+private:
+ WriteBarrier<JSScope> m_next;
+};
+
+inline JSScope::JSScope(JSGlobalData& globalData, Structure* structure, JSScope* next)
+ : Base(globalData, structure)
+ , m_next(globalData, this, next, WriteBarrier<JSScope>::MayBeNull)
+{
+}
+
+class ScopeChainIterator {
+public:
+ ScopeChainIterator(JSScope* node)
+ : m_node(node)
+ {
+ }
+
+ JSObject* get() const { return JSScope::objectAtScope(m_node); }
+ JSObject* operator->() const { return JSScope::objectAtScope(m_node); }
+
+ ScopeChainIterator& operator++() { m_node = m_node->next(); return *this; }
+
+ // postfix ++ intentionally omitted
+
+ bool operator==(const ScopeChainIterator& other) const { return m_node == other.m_node; }
+ bool operator!=(const ScopeChainIterator& other) const { return m_node != other.m_node; }
+
+private:
+ JSScope* m_node;
+};
+
+inline ScopeChainIterator JSScope::begin()
+{
+ return ScopeChainIterator(this);
+}
+
+inline ScopeChainIterator JSScope::end()
+{
+ return ScopeChainIterator(0);
+}
+
+inline JSScope* JSScope::next()
+{
+ return m_next.get();
+}
+
+inline JSGlobalObject* JSScope::globalObject()
+{
+ return structure()->globalObject();
+}
+
+inline JSGlobalData* JSScope::globalData()
+{
+ return Heap::heap(this)->globalData();
+}
+
+inline Register& Register::operator=(JSScope* scope)
+{
+ *this = JSValue(scope);
+ return *this;
+}
+
+inline JSScope* Register::scope() const
+{
+ return jsCast<JSScope*>(jsValue());
+}
+
+inline JSGlobalData& ExecState::globalData() const
+{
+ ASSERT(scope()->globalData());
+ return *scope()->globalData();
+}
+
+inline JSGlobalObject* ExecState::lexicalGlobalObject() const
+{
+ return scope()->globalObject();
+}
+
+inline JSObject* ExecState::globalThisValue() const
+{
+ return scope()->globalThis();
+}
+
+inline size_t JSScope::offsetOfNext()
+{
+ return OBJECT_OFFSETOF(JSScope, m_next);
+}
+
+} // namespace JSC
+
+#endif // JSScope_h
diff --git a/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h b/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h
index f1fe0483d..1fd96c17a 100644
--- a/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h
+++ b/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h
@@ -82,8 +82,8 @@ public:
protected:
static const unsigned StructureFlags = OverridesVisitChildren | JSSymbolTableObject::StructureFlags;
- JSSegmentedVariableObject(JSGlobalData& globalData, Structure* structure, SymbolTable* symbolTable)
- : JSSymbolTableObject(globalData, structure, symbolTable)
+ JSSegmentedVariableObject(JSGlobalData& globalData, Structure* structure, JSScope* scope)
+ : JSSymbolTableObject(globalData, structure, scope)
{
}
diff --git a/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp b/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp
index 14187f422..e69de29bb 100644
--- a/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSStaticScopeObject.cpp
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 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.
- */
-
-#include "config.h"
-
-#include "JSStaticScopeObject.h"
-
-#include "Error.h"
-
-namespace JSC {
-ASSERT_CLASS_FITS_IN_CELL(JSStaticScopeObject);
-
-const ClassInfo JSStaticScopeObject::s_info = { "Object", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSStaticScopeObject) };
-
-void JSStaticScopeObject::destroy(JSCell* cell)
-{
- static_cast<JSStaticScopeObject*>(cell)->JSStaticScopeObject::~JSStaticScopeObject();
-}
-
-void JSStaticScopeObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
-{
- JSStaticScopeObject* thisObject = jsCast<JSStaticScopeObject*>(cell);
- ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
- COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
- ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
- JSVariableObject::visitChildren(thisObject, visitor);
- visitor.append(&thisObject->m_registerStore);
-}
-
-JSObject* JSStaticScopeObject::toThisObject(JSCell*, ExecState* exec)
-{
- return exec->globalThisValue();
-}
-
-void JSStaticScopeObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
-{
- JSStaticScopeObject* thisObject = jsCast<JSStaticScopeObject*>(cell);
- if (slot.isStrictMode()) {
- // Double lookup in strict mode, but this only occurs when
- // a) indirectly writing to an exception slot
- // b) writing to a function expression name
- // (a) is unlikely, and (b) is an error.
- // Also with a single entry the symbol table lookup should simply be
- // a pointer compare.
- PropertySlot slot;
- bool isWritable = true;
- symbolTableGet(thisObject, propertyName, slot, isWritable);
- if (!isWritable) {
- throwError(exec, createTypeError(exec, StrictModeReadonlyPropertyWriteError));
- return;
- }
- }
- if (symbolTablePut(thisObject, exec, propertyName, value, slot.isStrictMode()))
- return;
-
- ASSERT_NOT_REACHED();
-}
-
-void JSStaticScopeObject::putDirectVirtual(JSObject* object, ExecState* exec, PropertyName propertyName, JSValue value, unsigned attributes)
-{
- JSStaticScopeObject* thisObject = jsCast<JSStaticScopeObject*>(object);
- if (symbolTablePutWithAttributes(thisObject, exec->globalData(), propertyName, value, attributes))
- return;
-
- ASSERT_NOT_REACHED();
-}
-
-bool JSStaticScopeObject::getOwnPropertySlot(JSCell* cell, ExecState*, PropertyName propertyName, PropertySlot& slot)
-{
- return symbolTableGet(jsCast<JSStaticScopeObject*>(cell), propertyName, slot);
-}
-
-}
diff --git a/Source/JavaScriptCore/runtime/JSStaticScopeObject.h b/Source/JavaScriptCore/runtime/JSStaticScopeObject.h
index f351349a6..e69de29bb 100644
--- a/Source/JavaScriptCore/runtime/JSStaticScopeObject.h
+++ b/Source/JavaScriptCore/runtime/JSStaticScopeObject.h
@@ -1,84 +0,0 @@
-/*
- * Copyright (C) 2008, 2009 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.
- */
-
-#ifndef JSStaticScopeObject_h
-#define JSStaticScopeObject_h
-
-#include "JSVariableObject.h"
-
-namespace JSC{
-
- class JSStaticScopeObject : public JSVariableObject {
- public:
- typedef JSVariableObject Base;
-
- static JSStaticScopeObject* create(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
- {
- JSStaticScopeObject* scopeObject = new (NotNull, allocateCell<JSStaticScopeObject>(*exec->heap())) JSStaticScopeObject(exec);
- scopeObject->finishCreation(exec, identifier, value, attributes);
- return scopeObject;
- }
-
- static void visitChildren(JSCell*, SlotVisitor&);
- bool isDynamicScope(bool& requiresDynamicChecks) const;
- static JSObject* toThisObject(JSCell*, ExecState*);
- static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);
- static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
-
- static void putDirectVirtual(JSObject*, ExecState*, PropertyName, JSValue, unsigned attributes);
-
- static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(StaticScopeObjectType, StructureFlags), &s_info); }
-
- static const ClassInfo s_info;
-
- protected:
- void finishCreation(ExecState* exec, const Identifier& identifier, JSValue value, unsigned attributes)
- {
- Base::finishCreation(exec->globalData());
- m_registerStore.set(exec->globalData(), this, value);
- symbolTable().add(identifier.impl(), SymbolTableEntry(-1, attributes));
- }
- static const unsigned StructureFlags = IsEnvironmentRecord | OverridesGetOwnPropertySlot | OverridesVisitChildren | OverridesGetPropertyNames | JSVariableObject::StructureFlags;
-
- private:
- JSStaticScopeObject(ExecState* exec)
- : JSVariableObject(exec->globalData(), exec->globalData().staticScopeStructure.get(), &m_symbolTable, reinterpret_cast<Register*>(&m_registerStore + 1))
- {
- }
-
- static void destroy(JSCell*);
-
- SymbolTable m_symbolTable;
- WriteBarrier<Unknown> m_registerStore;
- };
-
- inline bool JSStaticScopeObject::isDynamicScope(bool&) const
- {
- return false;
- }
-
-}
-
-#endif // JSStaticScopeObject_h
diff --git a/Source/JavaScriptCore/runtime/JSString.cpp b/Source/JavaScriptCore/runtime/JSString.cpp
index 4eb2a5297..f0e796d89 100644
--- a/Source/JavaScriptCore/runtime/JSString.cpp
+++ b/Source/JavaScriptCore/runtime/JSString.cpp
@@ -130,7 +130,10 @@ void JSRopeString::resolveRope(ExecState* exec) const
for (size_t i = 0; i < s_maxInternalRopeLength && m_fibers[i]; ++i) {
StringImpl* string = m_fibers[i]->m_value.impl();
unsigned length = string->length();
- StringImpl::copyChars(position, string->characters(), length);
+ if (string->is8Bit())
+ StringImpl::copyChars(position, string->characters8(), length);
+ else
+ StringImpl::copyChars(position, string->characters16(), length);
position += length;
m_fibers[i].clear();
}
@@ -139,7 +142,7 @@ void JSRopeString::resolveRope(ExecState* exec) const
}
// Overview: These functions convert a JSString from holding a string in rope form
-// down to a simple UString representation. It does so by building up the string
+// down to a simple String representation. It does so by building up the string
// backwards, since we want to avoid recursion, we expect that the tree structure
// representing the rope is likely imbalanced with more nodes down the left side
// (since appending to the string is likely more common) - and as such resolving
@@ -202,7 +205,10 @@ void JSRopeString::resolveRopeSlowCase(UChar* buffer) const
StringImpl* string = static_cast<StringImpl*>(currentFiber->m_value.impl());
unsigned length = string->length();
position -= length;
- StringImpl::copyChars(position, string->characters(), length);
+ if (string->is8Bit())
+ StringImpl::copyChars(position, string->characters8(), length);
+ else
+ StringImpl::copyChars(position, string->characters16(), length);
}
ASSERT(buffer == position);
@@ -214,7 +220,7 @@ void JSRopeString::outOfMemory(ExecState* exec) const
for (size_t i = 0; i < s_maxInternalRopeLength && m_fibers[i]; ++i)
m_fibers[i].clear();
ASSERT(isRope());
- ASSERT(m_value == UString());
+ ASSERT(m_value.isNull());
if (exec)
throwOutOfMemoryError(exec);
}
@@ -225,7 +231,7 @@ JSString* JSRopeString::getIndexSlowCase(ExecState* exec, unsigned i)
resolveRope(exec);
// Return a safe no-value result, this should never be used, since the excetion will be thrown.
if (exec->exception())
- return jsString(exec, "");
+ return jsEmptyString(exec);
ASSERT(!isRope());
ASSERT(i < m_value.length());
return jsSingleCharacterSubstring(exec, m_value, i);
diff --git a/Source/JavaScriptCore/runtime/JSString.h b/Source/JavaScriptCore/runtime/JSString.h
index e91553aeb..7821b42b8 100644
--- a/Source/JavaScriptCore/runtime/JSString.h
+++ b/Source/JavaScriptCore/runtime/JSString.h
@@ -37,27 +37,25 @@ namespace JSC {
JSString* jsEmptyString(JSGlobalData*);
JSString* jsEmptyString(ExecState*);
- JSString* jsString(JSGlobalData*, const UString&); // returns empty string if passed null string
- JSString* jsString(ExecState*, const UString&); // returns empty string if passed null string
+ JSString* jsString(JSGlobalData*, const String&); // returns empty string if passed null string
+ JSString* jsString(ExecState*, const String&); // returns empty string if passed null string
JSString* jsSingleCharacterString(JSGlobalData*, UChar);
JSString* jsSingleCharacterString(ExecState*, UChar);
- JSString* jsSingleCharacterSubstring(ExecState*, const UString&, unsigned offset);
- JSString* jsSubstring(JSGlobalData*, const UString&, unsigned offset, unsigned length);
- JSString* jsSubstring(ExecState*, const UString&, unsigned offset, unsigned length);
+ JSString* jsSingleCharacterSubstring(ExecState*, const String&, unsigned offset);
+ JSString* jsSubstring(JSGlobalData*, const String&, unsigned offset, unsigned length);
+ JSString* jsSubstring(ExecState*, const String&, unsigned offset, unsigned length);
// Non-trivial strings are two or more characters long.
// These functions are faster than just calling jsString.
- JSString* jsNontrivialString(JSGlobalData*, const UString&);
- JSString* jsNontrivialString(ExecState*, const UString&);
- JSString* jsNontrivialString(JSGlobalData*, const char*);
- JSString* jsNontrivialString(ExecState*, const char*);
+ JSString* jsNontrivialString(JSGlobalData*, const String&);
+ JSString* jsNontrivialString(ExecState*, const String&);
// Should be used for strings that are owned by an object that will
// likely outlive the JSValue this makes, such as the parse tree or a
- // DOM object that contains a UString
- JSString* jsOwnedString(JSGlobalData*, const UString&);
- JSString* jsOwnedString(ExecState*, const UString&);
+ // DOM object that contains a String
+ JSString* jsOwnedString(JSGlobalData*, const String&);
+ JSString* jsOwnedString(ExecState*, const String&);
JSRopeString* jsStringBuilder(JSGlobalData*);
@@ -136,8 +134,8 @@ namespace JSC {
return newString;
}
- const UString& value(ExecState*) const;
- const UString& tryGetValue() const;
+ const String& value(ExecState*) const;
+ const String& tryGetValue() const;
unsigned length() { return m_length; }
JSValue toPrimitive(ExecState*, PreferredPrimitiveType) const;
@@ -190,9 +188,9 @@ namespace JSC {
Is8Bit = 1u
};
- // A string is represented either by a UString or a rope of fibers.
+ // A string is represented either by a String or a rope of fibers.
unsigned m_length;
- mutable UString m_value;
+ mutable String m_value;
private:
friend class LLIntOffsetsExtractor;
@@ -203,7 +201,7 @@ namespace JSC {
static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);
static bool getOwnPropertySlotByIndex(JSCell*, ExecState*, unsigned propertyName, PropertySlot&);
- UString& string() { ASSERT(!isRope()); return m_value; }
+ String& string() { ASSERT(!isRope()); return m_value; }
friend JSValue jsString(ExecState*, JSString*, JSString*);
friend JSString* jsSubstring(ExecState*, JSString*, unsigned offset, unsigned length);
@@ -340,41 +338,33 @@ namespace JSC {
{
if (c <= maxSingleCharacterString)
return globalData->smallStrings.singleCharacterString(globalData, c);
- return JSString::create(*globalData, UString(&c, 1).impl());
+ return JSString::create(*globalData, String(&c, 1).impl());
}
- ALWAYS_INLINE JSString* jsSingleCharacterSubstring(ExecState* exec, const UString& s, unsigned offset)
+ ALWAYS_INLINE JSString* jsSingleCharacterSubstring(ExecState* exec, const String& s, unsigned offset)
{
JSGlobalData* globalData = &exec->globalData();
ASSERT(offset < static_cast<unsigned>(s.length()));
- UChar c = s[offset];
+ UChar c = s.characterAt(offset);
if (c <= maxSingleCharacterString)
return globalData->smallStrings.singleCharacterString(globalData, c);
return JSString::create(*globalData, StringImpl::create(s.impl(), offset, 1));
}
- inline JSString* jsNontrivialString(JSGlobalData* globalData, const char* s)
- {
- ASSERT(s);
- ASSERT(s[0]);
- ASSERT(s[1]);
- return JSString::create(*globalData, UString(s).impl());
- }
-
- inline JSString* jsNontrivialString(JSGlobalData* globalData, const UString& s)
+ inline JSString* jsNontrivialString(JSGlobalData* globalData, const String& s)
{
ASSERT(s.length() > 1);
return JSString::create(*globalData, s.impl());
}
- inline const UString& JSString::value(ExecState* exec) const
+ inline const String& JSString::value(ExecState* exec) const
{
if (isRope())
static_cast<const JSRopeString*>(this)->resolveRope(exec);
return m_value;
}
- inline const UString& JSString::tryGetValue() const
+ inline const String& JSString::tryGetValue() const
{
if (isRope())
static_cast<const JSRopeString*>(this)->resolveRope(0);
@@ -390,13 +380,13 @@ namespace JSC {
return jsSingleCharacterSubstring(exec, m_value, i);
}
- inline JSString* jsString(JSGlobalData* globalData, const UString& s)
+ inline JSString* jsString(JSGlobalData* globalData, const String& s)
{
int size = s.length();
if (!size)
return globalData->smallStrings.emptyString(globalData);
if (size == 1) {
- UChar c = s[0];
+ UChar c = s.characterAt(0);
if (c <= maxSingleCharacterString)
return globalData->smallStrings.singleCharacterString(globalData, c);
}
@@ -414,7 +404,7 @@ namespace JSC {
return jsSubstring(globalData, s->value(exec), offset, length);
}
- inline JSString* jsSubstring8(JSGlobalData* globalData, const UString& s, unsigned offset, unsigned length)
+ inline JSString* jsSubstring8(JSGlobalData* globalData, const String& s, unsigned offset, unsigned length)
{
ASSERT(offset <= static_cast<unsigned>(s.length()));
ASSERT(length <= static_cast<unsigned>(s.length()));
@@ -422,14 +412,14 @@ namespace JSC {
if (!length)
return globalData->smallStrings.emptyString(globalData);
if (length == 1) {
- UChar c = s[offset];
+ UChar c = s.characterAt(offset);
if (c <= maxSingleCharacterString)
return globalData->smallStrings.singleCharacterString(globalData, c);
}
return JSString::createHasOtherOwner(*globalData, StringImpl::create8(s.impl(), offset, length));
}
- inline JSString* jsSubstring(JSGlobalData* globalData, const UString& s, unsigned offset, unsigned length)
+ inline JSString* jsSubstring(JSGlobalData* globalData, const String& s, unsigned offset, unsigned length)
{
ASSERT(offset <= static_cast<unsigned>(s.length()));
ASSERT(length <= static_cast<unsigned>(s.length()));
@@ -437,20 +427,20 @@ namespace JSC {
if (!length)
return globalData->smallStrings.emptyString(globalData);
if (length == 1) {
- UChar c = s[offset];
+ UChar c = s.characterAt(offset);
if (c <= maxSingleCharacterString)
return globalData->smallStrings.singleCharacterString(globalData, c);
}
return JSString::createHasOtherOwner(*globalData, StringImpl::create(s.impl(), offset, length));
}
- inline JSString* jsOwnedString(JSGlobalData* globalData, const UString& s)
+ inline JSString* jsOwnedString(JSGlobalData* globalData, const String& s)
{
int size = s.length();
if (!size)
return globalData->smallStrings.emptyString(globalData);
if (size == 1) {
- UChar c = s[0];
+ UChar c = s.characterAt(0);
if (c <= maxSingleCharacterString)
return globalData->smallStrings.singleCharacterString(globalData, c);
}
@@ -463,13 +453,12 @@ namespace JSC {
}
inline JSString* jsEmptyString(ExecState* exec) { return jsEmptyString(&exec->globalData()); }
- inline JSString* jsString(ExecState* exec, const UString& s) { return jsString(&exec->globalData(), s); }
+ inline JSString* jsString(ExecState* exec, const String& s) { return jsString(&exec->globalData(), s); }
inline JSString* jsSingleCharacterString(ExecState* exec, UChar c) { return jsSingleCharacterString(&exec->globalData(), c); }
- inline JSString* jsSubstring8(ExecState* exec, const UString& s, unsigned offset, unsigned length) { return jsSubstring8(&exec->globalData(), s, offset, length); }
- inline JSString* jsSubstring(ExecState* exec, const UString& s, unsigned offset, unsigned length) { return jsSubstring(&exec->globalData(), s, offset, length); }
- inline JSString* jsNontrivialString(ExecState* exec, const UString& s) { return jsNontrivialString(&exec->globalData(), s); }
- inline JSString* jsNontrivialString(ExecState* exec, const char* s) { return jsNontrivialString(&exec->globalData(), s); }
- inline JSString* jsOwnedString(ExecState* exec, const UString& s) { return jsOwnedString(&exec->globalData(), s); }
+ inline JSString* jsSubstring8(ExecState* exec, const String& s, unsigned offset, unsigned length) { return jsSubstring8(&exec->globalData(), s, offset, length); }
+ inline JSString* jsSubstring(ExecState* exec, const String& s, unsigned offset, unsigned length) { return jsSubstring(&exec->globalData(), s, offset, length); }
+ inline JSString* jsNontrivialString(ExecState* exec, const String& s) { return jsNontrivialString(&exec->globalData(), s); }
+ inline JSString* jsOwnedString(ExecState* exec, const String& s) { return jsOwnedString(&exec->globalData(), s); }
ALWAYS_INLINE bool JSString::getStringPropertySlot(ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
@@ -527,14 +516,14 @@ namespace JSC {
return toStringSlowCase(exec);
}
- inline UString JSValue::toUString(ExecState* exec) const
+ inline String JSValue::toWTFString(ExecState* exec) const
{
if (isString())
return static_cast<JSString*>(asCell())->value(exec);
- return toUStringSlowCase(exec);
+ return toWTFStringSlowCase(exec);
}
- ALWAYS_INLINE UString inlineJSValueNotStringtoUString(const JSValue& value, ExecState* exec)
+ ALWAYS_INLINE String inlineJSValueNotStringtoString(const JSValue& value, ExecState* exec)
{
JSGlobalData& globalData = exec->globalData();
if (value.isInt32())
@@ -542,22 +531,22 @@ namespace JSC {
if (value.isDouble())
return globalData.numericStrings.add(value.asDouble());
if (value.isTrue())
- return globalData.propertyNames->trueKeyword.ustring();
+ return globalData.propertyNames->trueKeyword.string();
if (value.isFalse())
- return globalData.propertyNames->falseKeyword.ustring();
+ return globalData.propertyNames->falseKeyword.string();
if (value.isNull())
- return globalData.propertyNames->nullKeyword.ustring();
+ return globalData.propertyNames->nullKeyword.string();
if (value.isUndefined())
- return globalData.propertyNames->undefinedKeyword.ustring();
+ return globalData.propertyNames->undefinedKeyword.string();
return value.toString(exec)->value(exec);
}
- ALWAYS_INLINE UString JSValue::toUStringInline(ExecState* exec) const
+ ALWAYS_INLINE String JSValue::toWTFStringInline(ExecState* exec) const
{
if (isString())
return static_cast<JSString*>(asCell())->value(exec);
- return inlineJSValueNotStringtoUString(*this, exec);
+ return inlineJSValueNotStringtoString(*this, exec);
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSStringBuilder.h b/Source/JavaScriptCore/runtime/JSStringBuilder.h
index 1a2b812f0..e7778e4fb 100644
--- a/Source/JavaScriptCore/runtime/JSStringBuilder.h
+++ b/Source/JavaScriptCore/runtime/JSStringBuilder.h
@@ -28,7 +28,6 @@
#include "ExceptionHelpers.h"
#include "JSString.h"
-#include "UStringConcatenate.h"
#include <wtf/Vector.h>
namespace JSC {
@@ -92,7 +91,7 @@ public:
m_okay &= buffer16.tryAppend(str, len);
}
- void append(const UString& str)
+ void append(const String& str)
{
unsigned length = str.length();
@@ -129,12 +128,12 @@ public:
buffer8.shrinkToFit();
if (!buffer8.data())
return throwOutOfMemoryError(exec);
- return jsString(exec, UString::adopt(buffer8));
+ return jsString(exec, String::adopt(buffer8));
}
buffer16.shrinkToFit();
if (!buffer16.data())
return throwOutOfMemoryError(exec);
- return jsString(exec, UString::adopt(buffer16));
+ return jsString(exec, String::adopt(buffer16));
}
protected:
diff --git a/Source/JavaScriptCore/runtime/JSStringJoiner.cpp b/Source/JavaScriptCore/runtime/JSStringJoiner.cpp
index ea260243b..cbf9ba48b 100644
--- a/Source/JavaScriptCore/runtime/JSStringJoiner.cpp
+++ b/Source/JavaScriptCore/runtime/JSStringJoiner.cpp
@@ -27,15 +27,15 @@
#include "JSStringJoiner.h"
#include "ExceptionHelpers.h"
+#include "JSScope.h"
#include "JSString.h"
-#include "ScopeChain.h"
#include <wtf/text/StringImpl.h>
namespace JSC {
// The destination is 16bits, at least one string is 16 bits.
-static inline void appendStringToData(UChar*& data, const UString& string)
+static inline void appendStringToData(UChar*& data, const String& string)
{
if (string.isNull())
return;
@@ -57,7 +57,7 @@ static inline void appendStringToData(UChar*& data, const UString& string)
}
// If the destination is 8bits, we know every string has to be 8bit.
-static inline void appendStringToData(LChar*& data, const UString& string)
+static inline void appendStringToData(LChar*& data, const String& string)
{
if (string.isNull())
return;
@@ -73,7 +73,7 @@ static inline void appendStringToData(LChar*& data, const UString& string)
}
template<typename CharacterType>
-static inline PassRefPtr<StringImpl> joinStrings(const Vector<UString>& strings, const UString& separator, unsigned outputLength)
+static inline PassRefPtr<StringImpl> joinStrings(const Vector<String>& strings, const String& separator, unsigned outputLength)
{
ASSERT(outputLength);
@@ -82,7 +82,7 @@ static inline PassRefPtr<StringImpl> joinStrings(const Vector<UString>& strings,
if (!outputStringImpl)
return PassRefPtr<StringImpl>();
- const UString firstString = strings.first();
+ const String firstString = strings.first();
appendStringToData(data, firstString);
for (size_t i = 1; i < strings.size(); ++i) {
diff --git a/Source/JavaScriptCore/runtime/JSStringJoiner.h b/Source/JavaScriptCore/runtime/JSStringJoiner.h
index 49f846c1f..5cb841a80 100644
--- a/Source/JavaScriptCore/runtime/JSStringJoiner.h
+++ b/Source/JavaScriptCore/runtime/JSStringJoiner.h
@@ -27,8 +27,8 @@
#define JSStringJoiner_h
#include "JSValue.h"
-#include "UString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
@@ -37,21 +37,21 @@ class ExecState;
class JSStringJoiner {
public:
- JSStringJoiner(const UString& separator, size_t stringCount);
+ JSStringJoiner(const String& separator, size_t stringCount);
- void append(const UString&);
+ void append(const String&);
JSValue build(ExecState*);
private:
- UString m_separator;
- Vector<UString> m_strings;
+ String m_separator;
+ Vector<String> m_strings;
unsigned m_cumulatedStringsLength;
bool m_isValid;
bool m_is8Bits;
};
-inline JSStringJoiner::JSStringJoiner(const UString& separator, size_t stringCount)
+inline JSStringJoiner::JSStringJoiner(const String& separator, size_t stringCount)
: m_separator(separator)
, m_cumulatedStringsLength(0)
, m_isValid(true)
@@ -61,7 +61,7 @@ inline JSStringJoiner::JSStringJoiner(const UString& separator, size_t stringCou
m_isValid = m_strings.tryReserveCapacity(stringCount);
}
-inline void JSStringJoiner::append(const UString& str)
+inline void JSStringJoiner::append(const String& str)
{
if (!m_isValid)
return;
diff --git a/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp b/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp
index 927ad25cf..72caa33db 100644
--- a/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp
@@ -31,20 +31,26 @@
#include "JSActivation.h"
#include "JSGlobalObject.h"
-#include "JSStaticScopeObject.h"
+#include "JSNameScope.h"
#include "PropertyNameArray.h"
namespace JSC {
-void JSSymbolTableObject::destroy(JSCell* cell)
+void JSSymbolTableObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
{
- static_cast<JSSymbolTableObject*>(cell)->JSSymbolTableObject::~JSSymbolTableObject();
+ JSSymbolTableObject* thisObject = jsCast<JSSymbolTableObject*>(cell);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
+ COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
+ ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
+ Base::visitChildren(thisObject, visitor);
+ visitor.append(&thisObject->m_symbolTable);
}
bool JSSymbolTableObject::deleteProperty(JSCell* cell, ExecState* exec, PropertyName propertyName)
{
JSSymbolTableObject* thisObject = jsCast<JSSymbolTableObject*>(cell);
- if (thisObject->symbolTable().contains(propertyName.publicName()))
+ if (thisObject->symbolTable()->contains(propertyName.publicName()))
return false;
return JSObject::deleteProperty(thisObject, exec, propertyName);
@@ -53,8 +59,8 @@ bool JSSymbolTableObject::deleteProperty(JSCell* cell, ExecState* exec, Property
void JSSymbolTableObject::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
{
JSSymbolTableObject* thisObject = jsCast<JSSymbolTableObject*>(object);
- SymbolTable::const_iterator end = thisObject->symbolTable().end();
- for (SymbolTable::const_iterator it = thisObject->symbolTable().begin(); it != end; ++it) {
+ SymbolTable::const_iterator end = thisObject->symbolTable()->end();
+ for (SymbolTable::const_iterator it = thisObject->symbolTable()->begin(); it != end; ++it) {
if (!(it->second.getAttributes() & DontEnum) || (mode == IncludeDontEnumProperties))
propertyNames.add(Identifier(exec, it->first.get()));
}
@@ -67,22 +73,4 @@ void JSSymbolTableObject::putDirectVirtual(JSObject*, ExecState*, PropertyName,
ASSERT_NOT_REACHED();
}
-bool JSSymbolTableObject::isDynamicScope(bool& requiresDynamicChecks) const
-{
- switch (structure()->typeInfo().type()) {
- case GlobalObjectType:
- return static_cast<const JSGlobalObject*>(this)->isDynamicScope(requiresDynamicChecks);
- case ActivationObjectType:
- return static_cast<const JSActivation*>(this)->isDynamicScope(requiresDynamicChecks);
- case StaticScopeObjectType:
- return static_cast<const JSStaticScopeObject*>(this)->isDynamicScope(requiresDynamicChecks);
- default:
- ASSERT_NOT_REACHED();
- break;
- }
-
- return false;
-}
-
} // namespace JSC
-
diff --git a/Source/JavaScriptCore/runtime/JSSymbolTableObject.h b/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
index 2bbe21d06..1913d018b 100644
--- a/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
+++ b/Source/JavaScriptCore/runtime/JSSymbolTableObject.h
@@ -29,50 +29,49 @@
#ifndef JSSymbolTableObject_h
#define JSSymbolTableObject_h
-#include "JSObject.h"
+#include "JSScope.h"
#include "PropertyDescriptor.h"
#include "SymbolTable.h"
namespace JSC {
-class JSSymbolTableObject : public JSNonFinalObject {
+class JSSymbolTableObject : public JSScope {
public:
- typedef JSNonFinalObject Base;
+ typedef JSScope Base;
- SymbolTable& symbolTable() const { return *m_symbolTable; }
-
- JS_EXPORT_PRIVATE static void destroy(JSCell*);
+ SharedSymbolTable* symbolTable() const { return m_symbolTable.get(); }
static NO_RETURN_DUE_TO_ASSERT void putDirectVirtual(JSObject*, ExecState*, PropertyName, JSValue, unsigned attributes);
JS_EXPORT_PRIVATE static bool deleteProperty(JSCell*, ExecState*, PropertyName);
JS_EXPORT_PRIVATE static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
- bool isDynamicScope(bool& requiresDynamicChecks) const;
-
protected:
- static const unsigned StructureFlags = OverridesGetPropertyNames | JSNonFinalObject::StructureFlags;
+ static const unsigned StructureFlags = IsEnvironmentRecord | OverridesVisitChildren | OverridesGetPropertyNames | Base::StructureFlags;
- JSSymbolTableObject(JSGlobalData& globalData, Structure* structure, SymbolTable* symbolTable)
- : JSNonFinalObject(globalData, structure)
- , m_symbolTable(symbolTable)
+ JSSymbolTableObject(JSGlobalData& globalData, Structure* structure, JSScope* scope)
+ : Base(globalData, structure, scope)
{
}
-
- void finishCreation(JSGlobalData& globalData)
+
+ void finishCreation(JSGlobalData& globalData, SharedSymbolTable* symbolTable = 0)
{
Base::finishCreation(globalData);
- ASSERT(m_symbolTable);
+ if (!symbolTable)
+ symbolTable = SharedSymbolTable::create(globalData);
+ m_symbolTable.set(globalData, this, symbolTable);
}
-
- SymbolTable* m_symbolTable;
+
+ static void visitChildren(JSCell*, SlotVisitor&);
+
+ WriteBarrier<SharedSymbolTable> m_symbolTable;
};
template<typename SymbolTableObjectType>
inline bool symbolTableGet(
SymbolTableObjectType* object, PropertyName propertyName, PropertySlot& slot)
{
- SymbolTable& symbolTable = object->symbolTable();
+ SymbolTable& symbolTable = *object->symbolTable();
SymbolTable::iterator iter = symbolTable.find(propertyName.publicName());
if (iter == symbolTable.end())
return false;
@@ -86,7 +85,7 @@ template<typename SymbolTableObjectType>
inline bool symbolTableGet(
SymbolTableObjectType* object, PropertyName propertyName, PropertyDescriptor& descriptor)
{
- SymbolTable& symbolTable = object->symbolTable();
+ SymbolTable& symbolTable = *object->symbolTable();
SymbolTable::iterator iter = symbolTable.find(propertyName.publicName());
if (iter == symbolTable.end())
return false;
@@ -102,7 +101,7 @@ inline bool symbolTableGet(
SymbolTableObjectType* object, PropertyName propertyName, PropertySlot& slot,
bool& slotIsWriteable)
{
- SymbolTable& symbolTable = object->symbolTable();
+ SymbolTable& symbolTable = *object->symbolTable();
SymbolTable::iterator iter = symbolTable.find(propertyName.publicName());
if (iter == symbolTable.end())
return false;
@@ -121,7 +120,7 @@ inline bool symbolTablePut(
JSGlobalData& globalData = exec->globalData();
ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(object));
- SymbolTable& symbolTable = object->symbolTable();
+ SymbolTable& symbolTable = *object->symbolTable();
SymbolTable::iterator iter = symbolTable.find(propertyName.publicName());
if (iter == symbolTable.end())
return false;
@@ -146,8 +145,8 @@ inline bool symbolTablePutWithAttributes(
{
ASSERT(!Heap::heap(value) || Heap::heap(value) == Heap::heap(object));
- SymbolTable::iterator iter = object->symbolTable().find(propertyName.publicName());
- if (iter == object->symbolTable().end())
+ SymbolTable::iterator iter = object->symbolTable()->find(propertyName.publicName());
+ if (iter == object->symbolTable()->end())
return false;
SymbolTableEntry& entry = iter->second;
ASSERT(!entry.isNull());
diff --git a/Source/JavaScriptCore/runtime/JSType.h b/Source/JavaScriptCore/runtime/JSType.h
index c9603437b..b8ab330f5 100644
--- a/Source/JavaScriptCore/runtime/JSType.h
+++ b/Source/JavaScriptCore/runtime/JSType.h
@@ -49,10 +49,11 @@ enum JSType {
NumberObjectType,
ErrorInstanceType,
GlobalThisType,
+ WithScopeType,
- StaticScopeObjectType,
+ NameScopeObjectType,
// VariableObjectType must be less than MOST of the types of its subclasses and only its subclasses.
- // We use >=VariableObjectType checks to test for Global & Activation objects, but exclude StaticScopes.
+ // We use >=VariableObjectType checks to test for Global & Activation objects, but exclude NameScopes.
VariableObjectType,
GlobalObjectType,
ActivationObjectType,
diff --git a/Source/JavaScriptCore/runtime/JSValue.cpp b/Source/JavaScriptCore/runtime/JSValue.cpp
index c34431178..caff9973b 100644
--- a/Source/JavaScriptCore/runtime/JSValue.cpp
+++ b/Source/JavaScriptCore/runtime/JSValue.cpp
@@ -143,7 +143,7 @@ void JSValue::putToPrimitive(ExecState* exec, PropertyName propertyName, JSValue
JSObject* setterFunc = asGetterSetter(gs)->setter();
if (!setterFunc) {
if (slot.isStrictMode())
- throwError(exec, createTypeError(exec, "setting a property that has only a getter"));
+ throwError(exec, createTypeError(exec, ASCIILiteral("setting a property that has only a getter")));
return;
}
@@ -283,9 +283,9 @@ JSString* JSValue::toStringSlowCase(ExecState* exec) const
return value.toString(exec);
}
-UString JSValue::toUStringSlowCase(ExecState* exec) const
+String JSValue::toWTFStringSlowCase(ExecState* exec) const
{
- return inlineJSValueNotStringtoUString(*this, exec);
+ return inlineJSValueNotStringtoString(*this, exec);
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSValue.h b/Source/JavaScriptCore/runtime/JSValue.h
index 7aa5453e4..ce9405817 100644
--- a/Source/JavaScriptCore/runtime/JSValue.h
+++ b/Source/JavaScriptCore/runtime/JSValue.h
@@ -44,7 +44,6 @@ namespace JSC {
class PropertyName;
class PropertySlot;
class PutPropertySlot;
- class UString;
#if ENABLE(DFG_JIT)
namespace DFG {
class AssemblyHelpers;
@@ -55,9 +54,11 @@ namespace JSC {
class SpeculativeJIT;
}
#endif
+#if ENABLE(LLINT_C_LOOP)
namespace LLInt {
- class Data;
+ class CLoop;
}
+#endif
struct ClassInfo;
struct Instruction;
@@ -121,7 +122,9 @@ namespace JSC {
friend class DFG::OSRExitCompiler;
friend class DFG::SpeculativeJIT;
#endif
- friend class LLInt::Data;
+#if ENABLE(LLINT_C_LOOP)
+ friend class LLInt::CLoop;
+#endif
public:
#if USE(JSVALUE32_64)
@@ -198,8 +201,8 @@ namespace JSC {
bool inherits(const ClassInfo*) const;
// Extracting the value.
- bool getString(ExecState* exec, UString&) const;
- UString getString(ExecState* exec) const; // null string if not a string
+ bool getString(ExecState*, WTF::String&) const;
+ WTF::String getString(ExecState*) const; // null string if not a string
JSObject* getObject() const; // 0 if not an object
// Extracting integer values.
@@ -215,8 +218,8 @@ namespace JSC {
// been set in the ExecState already.
double toNumber(ExecState*) const;
JSString* toString(ExecState*) const;
- UString toUString(ExecState*) const;
- UString toUStringInline(ExecState*) const;
+ WTF::String toWTFString(ExecState*) const;
+ WTF::String toWTFStringInline(ExecState*) const;
JSObject* toObject(ExecState*) const;
JSObject* toObject(ExecState*, JSGlobalObject*) const;
@@ -267,7 +270,7 @@ namespace JSC {
inline const JSValue asValue() const { return *this; }
JS_EXPORT_PRIVATE double toNumberSlowCase(ExecState*) const;
JS_EXPORT_PRIVATE JSString* toStringSlowCase(ExecState*) const;
- JS_EXPORT_PRIVATE UString toUStringSlowCase(ExecState*) const;
+ JS_EXPORT_PRIVATE WTF::String toWTFStringSlowCase(ExecState*) const;
JS_EXPORT_PRIVATE JSObject* toObjectSlowCase(ExecState*, JSGlobalObject*) const;
JS_EXPORT_PRIVATE JSObject* toThisObjectSlowCase(ExecState*) const;
@@ -292,6 +295,14 @@ namespace JSC {
*/
uint32_t tag() const;
int32_t payload() const;
+
+#if ENABLE(LLINT_C_LOOP)
+ // This should only be used by the LLInt C Loop interpreter who needs
+ // synthesize JSValue from its "register"s holding tag and payload
+ // values.
+ explicit JSValue(int32_t tag, int32_t payload);
+#endif
+
#elif USE(JSVALUE64)
/*
* On 64-bit platforms USE(JSVALUE64) should be defined, and we use a NaN-encoded
diff --git a/Source/JavaScriptCore/runtime/JSValueInlineMethods.h b/Source/JavaScriptCore/runtime/JSValueInlineMethods.h
index 1373558f7..4c582ab2a 100644
--- a/Source/JavaScriptCore/runtime/JSValueInlineMethods.h
+++ b/Source/JavaScriptCore/runtime/JSValueInlineMethods.h
@@ -307,6 +307,14 @@ namespace JSC {
u.asBits.payload = i;
}
+#if ENABLE(LLINT_C_LOOP)
+ inline JSValue::JSValue(int32_t tag, int32_t payload)
+ {
+ u.asBits.tag = tag;
+ u.asBits.payload = payload;
+ }
+#endif
+
inline bool JSValue::isNumber() const
{
return isInt32() || isDouble();
@@ -323,7 +331,7 @@ namespace JSC {
return payload();
}
-#else // USE(JSVALUE32_64)
+#else // !USE(JSVALUE32_64) i.e. USE(JSVALUE64)
// JSValue member functions.
inline EncodedJSValue JSValue::encode(JSValue value)
diff --git a/Source/JavaScriptCore/runtime/JSVariableObject.cpp b/Source/JavaScriptCore/runtime/JSVariableObject.cpp
index 7210c9b90..c815dcd11 100644
--- a/Source/JavaScriptCore/runtime/JSVariableObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSVariableObject.cpp
@@ -31,9 +31,4 @@
namespace JSC {
-void JSVariableObject::destroy(JSCell* cell)
-{
- static_cast<JSVariableObject*>(cell)->JSVariableObject::~JSVariableObject();
-}
-
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSVariableObject.h b/Source/JavaScriptCore/runtime/JSVariableObject.h
index 2f0dd42e5..c9f989e68 100644
--- a/Source/JavaScriptCore/runtime/JSVariableObject.h
+++ b/Source/JavaScriptCore/runtime/JSVariableObject.h
@@ -48,53 +48,34 @@ namespace JSC {
public:
typedef JSSymbolTableObject Base;
- WriteBarrier<Unknown>& registerAt(int index) const { return m_registers[index]; }
+ WriteBarrierBase<Unknown>& registerAt(int index) const { return m_registers[index]; }
- WriteBarrier<Unknown>* const * addressOfRegisters() const { return &m_registers; }
+ WriteBarrierBase<Unknown>* const * addressOfRegisters() const { return &m_registers; }
static size_t offsetOfRegisters() { return OBJECT_OFFSETOF(JSVariableObject, m_registers); }
- JS_EXPORT_PRIVATE static void destroy(JSCell*);
-
protected:
- static const unsigned StructureFlags = JSSymbolTableObject::StructureFlags;
-
- JSVariableObject(JSGlobalData& globalData, Structure* structure, SymbolTable* symbolTable, Register* registers)
- : JSSymbolTableObject(globalData, structure, symbolTable)
- , m_registers(reinterpret_cast<WriteBarrier<Unknown>*>(registers))
+ static const unsigned StructureFlags = Base::StructureFlags;
+
+ JSVariableObject(
+ JSGlobalData& globalData,
+ Structure* structure,
+ Register* registers,
+ JSScope* scope
+ )
+ : Base(globalData, structure, scope)
+ , m_registers(reinterpret_cast<WriteBarrierBase<Unknown>*>(registers))
{
}
- void finishCreation(JSGlobalData& globalData)
+ void finishCreation(JSGlobalData& globalData, SharedSymbolTable* symbolTable = 0)
{
- Base::finishCreation(globalData);
- COMPILE_ASSERT(sizeof(WriteBarrier<Unknown>) == sizeof(Register), Register_should_be_same_size_as_WriteBarrier);
+ Base::finishCreation(globalData, symbolTable);
+ COMPILE_ASSERT(sizeof(WriteBarrierBase<Unknown>) == sizeof(Register), Register_should_be_same_size_as_WriteBarrierBase);
}
- PassOwnArrayPtr<WriteBarrier<Unknown> > copyRegisterArray(JSGlobalData&, WriteBarrier<Unknown>* src, size_t count, size_t callframeStarts);
- void setRegisters(WriteBarrier<Unknown>* registers, PassOwnArrayPtr<WriteBarrier<Unknown> > registerArray);
-
- WriteBarrier<Unknown>* m_registers; // "r" in the register file.
- OwnArrayPtr<WriteBarrier<Unknown> > m_registerArray; // Independent copy of registers, used when a variable object copies its registers out of the register file.
+ WriteBarrierBase<Unknown>* m_registers; // "r" in the register file.
};
- inline PassOwnArrayPtr<WriteBarrier<Unknown> > JSVariableObject::copyRegisterArray(JSGlobalData& globalData, WriteBarrier<Unknown>* src, size_t count, size_t callframeStarts)
- {
- OwnArrayPtr<WriteBarrier<Unknown> > registerArray = adoptArrayPtr(new WriteBarrier<Unknown>[count]);
- for (size_t i = 0; i < callframeStarts; i++)
- registerArray[i].set(globalData, this, src[i].get());
- for (size_t i = callframeStarts + RegisterFile::CallFrameHeaderSize; i < count; i++)
- registerArray[i].set(globalData, this, src[i].get());
-
- return registerArray.release();
- }
-
- inline void JSVariableObject::setRegisters(WriteBarrier<Unknown>* registers, PassOwnArrayPtr<WriteBarrier<Unknown> > registerArray)
- {
- ASSERT(registerArray != m_registerArray);
- m_registerArray = registerArray;
- m_registers = registers;
- }
-
} // namespace JSC
#endif // JSVariableObject_h
diff --git a/Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.h b/Source/JavaScriptCore/runtime/JSWithScope.cpp
index fd6634a88..0c4b6e2cc 100644
--- a/Source/JavaScriptCore/dfg/DFGRedundantPhiEliminationPhase.h
+++ b/Source/JavaScriptCore/runtime/JSWithScope.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 Intel Corporation. All rights reserved.
+ * Copyright (C) 2012 Apple Inc. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,27 +23,24 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef DFGRedundantPhiEliminationPhase_h
-#define DFGRedundantPhiEliminationPhase_h
+#include "config.h"
+#include "JSWithScope.h"
-#include <wtf/Platform.h>
+namespace JSC {
-#if ENABLE(DFG_JIT)
+ASSERT_CLASS_FITS_IN_CELL(JSWithScope);
-#include "DFGPhase.h"
+const ClassInfo JSWithScope::s_info = { "WithScope", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(JSWithScope) };
-namespace JSC { namespace DFG {
+void JSWithScope::visitChildren(JSCell* cell, SlotVisitor& visitor)
+{
+ JSWithScope* thisObject = jsCast<JSWithScope*>(cell);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
+ COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
+ ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
-class Graph;
-
-// We inserted many can-be-redundant Phi nodes when building the graph.
-// This phase will just remove them.
-
-bool performRedundantPhiElimination(Graph&);
-
-} } // namespace JSC::DFG
-
-#endif // ENABLE(DFG_JIT)
-
-#endif // DFGRedundantPhiEliminationPhase_h
+ Base::visitChildren(thisObject, visitor);
+ visitor.append(&thisObject->m_object);
+}
+} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSWithScope.h b/Source/JavaScriptCore/runtime/JSWithScope.h
new file mode 100644
index 000000000..ba2b793a9
--- /dev/null
+++ b/Source/JavaScriptCore/runtime/JSWithScope.h
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#ifndef JSWithScope_h
+#define JSWithScope_h
+
+#include "JSGlobalObject.h"
+
+namespace JSC {
+
+class JSWithScope : public JSScope {
+public:
+ typedef JSScope Base;
+
+ static JSWithScope* create(ExecState* exec, JSObject* object)
+ {
+ JSWithScope* withScope = new (NotNull, allocateCell<JSWithScope>(*exec->heap())) JSWithScope(exec, object);
+ withScope->finishCreation(exec->globalData());
+ return withScope;
+ }
+
+ static JSWithScope* create(ExecState* exec, JSObject* object, JSScope* next)
+ {
+ JSWithScope* withScope = new (NotNull, allocateCell<JSWithScope>(*exec->heap())) JSWithScope(exec, object, next);
+ withScope->finishCreation(exec->globalData());
+ return withScope;
+ }
+
+ JSObject* object() { return m_object.get(); }
+
+ static void visitChildren(JSCell*, SlotVisitor&);
+
+ static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto)
+ {
+ return Structure::create(globalData, globalObject, proto, TypeInfo(WithScopeType, StructureFlags), &s_info);
+ }
+
+ static JS_EXPORTDATA const ClassInfo s_info;
+
+protected:
+ static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
+
+private:
+ JSWithScope(ExecState* exec, JSObject* object)
+ : Base(
+ exec->globalData(),
+ exec->lexicalGlobalObject()->withScopeStructure(),
+ exec->scope()
+ )
+ , m_object(exec->globalData(), this, object)
+ {
+ }
+
+ JSWithScope(ExecState* exec, JSObject* object, JSScope* next)
+ : Base(
+ exec->globalData(),
+ exec->lexicalGlobalObject()->withScopeStructure(),
+ next
+ )
+ , m_object(exec->globalData(), this, object)
+ {
+ }
+
+ WriteBarrier<JSObject> m_object;
+};
+
+} // namespace JSC
+
+#endif // JSWithScope_h
diff --git a/Source/JavaScriptCore/runtime/JSWrapperObject.cpp b/Source/JavaScriptCore/runtime/JSWrapperObject.cpp
index f8f5727d8..4a46c2c69 100644
--- a/Source/JavaScriptCore/runtime/JSWrapperObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSWrapperObject.cpp
@@ -33,9 +33,9 @@ void JSWrapperObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
JSObject::visitChildren(thisObject, visitor);
- if (thisObject->m_internalValue)
- visitor.append(&thisObject->m_internalValue);
+ visitor.append(&thisObject->m_internalValue);
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/LiteralParser.cpp b/Source/JavaScriptCore/runtime/LiteralParser.cpp
index e1f85cefe..30a478d48 100644
--- a/Source/JavaScriptCore/runtime/LiteralParser.cpp
+++ b/Source/JavaScriptCore/runtime/LiteralParser.cpp
@@ -31,9 +31,9 @@
#include "JSString.h"
#include "Lexer.h"
#include "StrongInlines.h"
-#include "UStringBuilder.h"
#include <wtf/ASCIICType.h>
#include <wtf/dtoa.h>
+#include <wtf/text/StringBuilder.h>
namespace JSC {
@@ -269,7 +269,7 @@ template <ParserMode mode> TokenType LiteralParser<CharType>::Lexer::lex(Literal
return lexIdentifier(token);
if (*m_ptr == '\'') {
if (mode == StrictJSON) {
- m_lexErrorMessage = "Single quotes (\') are not allowed in JSON";
+ m_lexErrorMessage = ASCIILiteral("Single quotes (\') are not allowed in JSON");
return TokError;
}
return lexString<mode, '\''>(token);
@@ -344,7 +344,7 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse
{
++m_ptr;
const CharType* runStart = m_ptr;
- UStringBuilder builder;
+ StringBuilder builder;
do {
runStart = m_ptr;
while (m_ptr < m_end && isSafeStringCharacter<mode, CharType, terminator>(*m_ptr))
@@ -356,7 +356,7 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse
builder.append(runStart, m_ptr - runStart);
++m_ptr;
if (m_ptr >= m_end) {
- m_lexErrorMessage = "Unterminated string";
+ m_lexErrorMessage = ASCIILiteral("Unterminated string");
return TokError;
}
switch (*m_ptr) {
@@ -395,12 +395,12 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse
case 'u':
if ((m_end - m_ptr) < 5) {
- m_lexErrorMessage = "\\u must be followed by 4 hex digits";
+ m_lexErrorMessage = ASCIILiteral("\\u must be followed by 4 hex digits");
return TokError;
} // uNNNN == 5 characters
for (int i = 1; i < 5; i++) {
if (!isASCIIHexDigit(m_ptr[i])) {
- m_lexErrorMessage = String::format("\"\\%s\" is not a valid unicode escape", UString(m_ptr, 5).ascii().data()).impl();
+ m_lexErrorMessage = String::format("\"\\%s\" is not a valid unicode escape", String(m_ptr, 5).ascii().data()).impl();
return TokError;
}
}
@@ -421,16 +421,16 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse
} while ((mode != NonStrictJSON) && m_ptr != runStart && (m_ptr < m_end) && *m_ptr != terminator);
if (m_ptr >= m_end || *m_ptr != terminator) {
- m_lexErrorMessage = "Unterminated string";
+ m_lexErrorMessage = ASCIILiteral("Unterminated string");
return TokError;
}
if (builder.isEmpty()) {
- token.stringBuffer = UString();
+ token.stringBuffer = String();
setParserTokenString<CharType>(token, runStart);
token.stringLength = m_ptr - runStart;
} else {
- token.stringBuffer = builder.toUString();
+ token.stringBuffer = builder.toString();
if (token.stringBuffer.is8Bit()) {
token.stringIs8Bit = 1;
token.stringToken8 = token.stringBuffer.characters8();
@@ -474,7 +474,7 @@ TokenType LiteralParser<CharType>::Lexer::lexNumber(LiteralParserToken<CharType>
while (m_ptr < m_end && isASCIIDigit(*m_ptr))
++m_ptr;
} else {
- m_lexErrorMessage = "Invalid number";
+ m_lexErrorMessage = ASCIILiteral("Invalid number");
return TokError;
}
@@ -483,7 +483,7 @@ TokenType LiteralParser<CharType>::Lexer::lexNumber(LiteralParserToken<CharType>
++m_ptr;
// [0-9]+
if (m_ptr >= m_end || !isASCIIDigit(*m_ptr)) {
- m_lexErrorMessage = "Invalid digits after decimal point";
+ m_lexErrorMessage = ASCIILiteral("Invalid digits after decimal point");
return TokError;
}
@@ -518,7 +518,7 @@ TokenType LiteralParser<CharType>::Lexer::lexNumber(LiteralParserToken<CharType>
// [0-9]+
if (m_ptr >= m_end || !isASCIIDigit(*m_ptr)) {
- m_lexErrorMessage = "Exponent symbols should be followed by an optional '+' or '-' and then by at least one number";
+ m_lexErrorMessage = ASCIILiteral("Exponent symbols should be followed by an optional '+' or '-' and then by at least one number");
return TokError;
}
@@ -555,7 +555,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
TokenType lastToken = m_lexer.currentToken().type;
if (m_lexer.next() == TokRBracket) {
if (lastToken == TokComma) {
- m_parseErrorMessage = "Unexpected comma at the end of array expression";
+ m_parseErrorMessage = ASCIILiteral("Unexpected comma at the end of array expression");
return JSValue();
}
m_lexer.next();
@@ -574,7 +574,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
goto doParseArrayStartExpression;
if (m_lexer.currentToken().type != TokRBracket) {
- m_parseErrorMessage = "Expected ']'";
+ m_parseErrorMessage = ASCIILiteral("Expected ']'");
return JSValue();
}
@@ -594,7 +594,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
// Check for colon
if (m_lexer.next() != TokColon) {
- m_parseErrorMessage = "Expected ':' before value in object property definition";
+ m_parseErrorMessage = ASCIILiteral("Expected ':' before value in object property definition");
return JSValue();
}
@@ -607,7 +607,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
goto startParseExpression;
}
if (type != TokRBrace) {
- m_parseErrorMessage = "Expected '}'";
+ m_parseErrorMessage = ASCIILiteral("Expected '}'");
return JSValue();
}
m_lexer.next();
@@ -619,14 +619,14 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
case DoParseObjectStartExpression: {
TokenType type = m_lexer.next();
if (type != TokString && (m_mode == StrictJSON || type != TokIdentifier)) {
- m_parseErrorMessage = "Property name must be a string literal";
+ m_parseErrorMessage = ASCIILiteral("Property name must be a string literal");
return JSValue();
}
LiteralParserToken<CharType> identifierToken = m_lexer.currentToken();
// Check for colon
if (m_lexer.next() != TokColon) {
- m_parseErrorMessage = "Expected ':'";
+ m_parseErrorMessage = ASCIILiteral("Expected ':'");
return JSValue();
}
@@ -645,7 +645,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
if (m_lexer.currentToken().type == TokComma)
goto doParseObjectStartExpression;
if (m_lexer.currentToken().type != TokRBrace) {
- m_parseErrorMessage = "Expected '}'";
+ m_parseErrorMessage = ASCIILiteral("Expected '}'");
return JSValue();
}
m_lexer.next();
@@ -664,9 +664,9 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
LiteralParserToken<CharType> stringToken = m_lexer.currentToken();
m_lexer.next();
if (stringToken.stringIs8Bit)
- lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken8, stringToken.stringLength).ustring());
+ lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken8, stringToken.stringLength).string());
else
- lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken16, stringToken.stringLength).ustring());
+ lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken16, stringToken.stringLength).string());
break;
}
case TokNumber: {
@@ -690,47 +690,47 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
lastValue = jsBoolean(false);
break;
case TokRBracket:
- m_parseErrorMessage = "Unexpected token ']'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ']'");
return JSValue();
case TokRBrace:
- m_parseErrorMessage = "Unexpected token '}'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '}'");
return JSValue();
case TokIdentifier: {
const LiteralParserToken<CharType>& token = m_lexer.currentToken();
if (token.stringIs8Bit)
- m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", UString(m_lexer.currentToken().stringToken8, m_lexer.currentToken().stringLength).ascii().data()).impl();
+ m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", String(m_lexer.currentToken().stringToken8, m_lexer.currentToken().stringLength).ascii().data()).impl();
else
- m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", UString(m_lexer.currentToken().stringToken16, m_lexer.currentToken().stringLength).ascii().data()).impl();
+ m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", String(m_lexer.currentToken().stringToken16, m_lexer.currentToken().stringLength).ascii().data()).impl();
return JSValue();
}
case TokColon:
- m_parseErrorMessage = "Unexpected token ':'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ':'");
return JSValue();
case TokLParen:
- m_parseErrorMessage = "Unexpected token '('";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '('");
return JSValue();
case TokRParen:
- m_parseErrorMessage = "Unexpected token ')'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ')'");
return JSValue();
case TokComma:
- m_parseErrorMessage = "Unexpected token ','";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ','");
return JSValue();
case TokDot:
- m_parseErrorMessage = "Unexpected token '.'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '.'");
return JSValue();
case TokAssign:
- m_parseErrorMessage = "Unexpected token '='";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '='");
return JSValue();
case TokSemi:
- m_parseErrorMessage = "Unexpected token ';'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ';'");
return JSValue();
case TokEnd:
- m_parseErrorMessage = "Unexpected EOF";
+ m_parseErrorMessage = ASCIILiteral("Unexpected EOF");
return JSValue();
case TokError:
default:
// Error
- m_parseErrorMessage = "Could not parse value expression";
+ m_parseErrorMessage = ASCIILiteral("Could not parse value expression");
return JSValue();
}
break;
@@ -748,50 +748,50 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
goto startParseExpression;
}
case TokRBracket:
- m_parseErrorMessage = "Unexpected token ']'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ']'");
return JSValue();
case TokLBrace:
- m_parseErrorMessage = "Unexpected token '{'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '{'");
return JSValue();
case TokRBrace:
- m_parseErrorMessage = "Unexpected token '}'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '}'");
return JSValue();
case TokIdentifier:
- m_parseErrorMessage = "Unexpected identifier";
+ m_parseErrorMessage = ASCIILiteral("Unexpected identifier");
return JSValue();
case TokColon:
- m_parseErrorMessage = "Unexpected token ':'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ':'");
return JSValue();
case TokRParen:
- m_parseErrorMessage = "Unexpected token ')'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ')'");
return JSValue();
case TokComma:
- m_parseErrorMessage = "Unexpected token ','";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ','");
return JSValue();
case TokTrue:
- m_parseErrorMessage = "Unexpected token 'true'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token 'true'");
return JSValue();
case TokFalse:
- m_parseErrorMessage = "Unexpected token 'false'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token 'false'");
return JSValue();
case TokNull:
- m_parseErrorMessage = "Unexpected token 'null'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token 'null'");
return JSValue();
case TokEnd:
- m_parseErrorMessage = "Unexpected EOF";
+ m_parseErrorMessage = ASCIILiteral("Unexpected EOF");
return JSValue();
case TokDot:
- m_parseErrorMessage = "Unexpected token '.'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '.'");
return JSValue();
case TokAssign:
- m_parseErrorMessage = "Unexpected token '='";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token '='");
return JSValue();
case TokSemi:
- m_parseErrorMessage = "Unexpected token ';'";
+ m_parseErrorMessage = ASCIILiteral("Unexpected token ';'");
return JSValue();
case TokError:
default:
- m_parseErrorMessage = "Could not parse statement";
+ m_parseErrorMessage = ASCIILiteral("Could not parse statement");
return JSValue();
}
}
@@ -801,7 +801,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState)
return JSValue();
if (m_lexer.next() == TokEnd)
return lastValue;
- m_parseErrorMessage = "Unexpected content at end of JSON literal";
+ m_parseErrorMessage = ASCIILiteral("Unexpected content at end of JSON literal");
return JSValue();
}
default:
diff --git a/Source/JavaScriptCore/runtime/LiteralParser.h b/Source/JavaScriptCore/runtime/LiteralParser.h
index abe3f95b7..c0f308ee5 100644
--- a/Source/JavaScriptCore/runtime/LiteralParser.h
+++ b/Source/JavaScriptCore/runtime/LiteralParser.h
@@ -29,7 +29,7 @@
#include "Identifier.h"
#include "JSGlobalObjectFunctions.h"
#include "JSValue.h"
-#include "UString.h"
+#include <wtf/text/WTFString.h>
namespace JSC {
@@ -67,7 +67,7 @@ struct LiteralParserToken {
TokenType type;
const CharType* start;
const CharType* end;
- UString stringBuffer;
+ String stringBuffer;
union {
double numberToken;
struct {
@@ -94,13 +94,13 @@ public:
{
}
- UString getErrorMessage()
+ String getErrorMessage()
{
if (!m_lexer.getErrorMessage().isEmpty())
return String::format("JSON Parse error: %s", m_lexer.getErrorMessage().ascii().data()).impl();
if (!m_parseErrorMessage.isEmpty())
return String::format("JSON Parse error: %s", m_parseErrorMessage.ascii().data()).impl();
- return "JSON Parse error: Unable to parse JSON string";
+ return ASCIILiteral("JSON Parse error: Unable to parse JSON string");
}
JSValue tryLiteralParse()
@@ -133,10 +133,10 @@ private:
return m_currentToken;
}
- UString getErrorMessage() { return m_lexErrorMessage; }
+ String getErrorMessage() { return m_lexErrorMessage; }
private:
- UString m_lexErrorMessage;
+ String m_lexErrorMessage;
template <ParserMode mode> TokenType lex(LiteralParserToken<CharType>&);
ALWAYS_INLINE TokenType lexIdentifier(LiteralParserToken<CharType>&);
template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType lexString(LiteralParserToken<CharType>&);
@@ -153,7 +153,7 @@ private:
ExecState* m_exec;
typename LiteralParser<CharType>::Lexer m_lexer;
ParserMode m_mode;
- UString m_parseErrorMessage;
+ String m_parseErrorMessage;
static unsigned const MaximumCachableCharacter = 128;
FixedArray<Identifier, MaximumCachableCharacter> m_shortIdentifiers;
FixedArray<Identifier, MaximumCachableCharacter> m_recentIdentifiers;
diff --git a/Source/JavaScriptCore/runtime/MemoryStatistics.cpp b/Source/JavaScriptCore/runtime/MemoryStatistics.cpp
index 14b1c7d06..b35e9fbda 100644
--- a/Source/JavaScriptCore/runtime/MemoryStatistics.cpp
+++ b/Source/JavaScriptCore/runtime/MemoryStatistics.cpp
@@ -37,7 +37,7 @@ GlobalMemoryStatistics globalMemoryStatistics()
GlobalMemoryStatistics stats;
stats.stackBytes = RegisterFile::committedByteCount();
-#if ENABLE(EXECUTABLE_ALLOCATOR_FIXED) || (PLATFORM(BLACKBERRY) && ENABLE(JIT))
+#if ENABLE(EXECUTABLE_ALLOCATOR_FIXED) || ((PLATFORM(BLACKBERRY) || PLATFORM(EFL)) && ENABLE(JIT))
stats.JITBytes = ExecutableAllocator::committedByteCount();
#else
stats.JITBytes = 0;
diff --git a/Source/JavaScriptCore/runtime/NameInstance.cpp b/Source/JavaScriptCore/runtime/NameInstance.cpp
index 410fe62e7..f257243e8 100644
--- a/Source/JavaScriptCore/runtime/NameInstance.cpp
+++ b/Source/JavaScriptCore/runtime/NameInstance.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "NameInstance.h"
+#include "JSScope.h"
+
namespace JSC {
const ClassInfo NameInstance::s_info = { "Name", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(NameInstance) };
diff --git a/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp b/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp
index b6aff916e..a4ba240fd 100644
--- a/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp
+++ b/Source/JavaScriptCore/runtime/NativeErrorConstructor.cpp
@@ -44,9 +44,9 @@ void NativeErrorConstructor::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
InternalFunction::visitChildren(thisObject, visitor);
- if (thisObject->m_errorStructure)
- visitor.append(&thisObject->m_errorStructure);
+ visitor.append(&thisObject->m_errorStructure);
}
static EncodedJSValue JSC_HOST_CALL constructWithNativeErrorConstructor(ExecState* exec)
diff --git a/Source/JavaScriptCore/runtime/NativeErrorConstructor.h b/Source/JavaScriptCore/runtime/NativeErrorConstructor.h
index 76aea9da8..8db237028 100644
--- a/Source/JavaScriptCore/runtime/NativeErrorConstructor.h
+++ b/Source/JavaScriptCore/runtime/NativeErrorConstructor.h
@@ -34,7 +34,7 @@ namespace JSC {
public:
typedef InternalFunction Base;
- static NativeErrorConstructor* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, Structure* prototypeStructure, const UString& name)
+ static NativeErrorConstructor* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, Structure* prototypeStructure, const String& name)
{
NativeErrorConstructor* constructor = new (NotNull, allocateCell<NativeErrorConstructor>(*exec->heap())) NativeErrorConstructor(globalObject, structure);
constructor->finishCreation(exec, globalObject, prototypeStructure, name);
@@ -51,7 +51,7 @@ namespace JSC {
Structure* errorStructure() { return m_errorStructure.get(); }
protected:
- void finishCreation(ExecState* exec, JSGlobalObject* globalObject, Structure* prototypeStructure, const UString& name)
+ void finishCreation(ExecState* exec, JSGlobalObject* globalObject, Structure* prototypeStructure, const String& name)
{
Base::finishCreation(exec->globalData(), name);
ASSERT(inherits(&s_info));
diff --git a/Source/JavaScriptCore/runtime/NativeErrorPrototype.cpp b/Source/JavaScriptCore/runtime/NativeErrorPrototype.cpp
index dfdd87f85..7fee213fa 100644
--- a/Source/JavaScriptCore/runtime/NativeErrorPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/NativeErrorPrototype.cpp
@@ -24,7 +24,6 @@
#include "JSGlobalObject.h"
#include "JSString.h"
#include "NativeErrorConstructor.h"
-#include "UString.h"
namespace JSC {
@@ -35,7 +34,7 @@ NativeErrorPrototype::NativeErrorPrototype(ExecState* exec, Structure* structure
{
}
-void NativeErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject, const UString& nameAndMessage, NativeErrorConstructor* constructor)
+void NativeErrorPrototype::finishCreation(ExecState* exec, JSGlobalObject* globalObject, const WTF::String& nameAndMessage, NativeErrorConstructor* constructor)
{
Base::finishCreation(exec, globalObject);
putDirect(exec->globalData(), exec->propertyNames().name, jsString(exec, nameAndMessage), DontEnum);
diff --git a/Source/JavaScriptCore/runtime/NativeErrorPrototype.h b/Source/JavaScriptCore/runtime/NativeErrorPrototype.h
index 4bceb883a..c94f2b75a 100644
--- a/Source/JavaScriptCore/runtime/NativeErrorPrototype.h
+++ b/Source/JavaScriptCore/runtime/NativeErrorPrototype.h
@@ -33,7 +33,7 @@ namespace JSC {
public:
typedef ErrorPrototype Base;
- static NativeErrorPrototype* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& name, NativeErrorConstructor* constructor)
+ static NativeErrorPrototype* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const String& name, NativeErrorConstructor* constructor)
{
NativeErrorPrototype* prototype = new (NotNull, allocateCell<NativeErrorPrototype>(*exec->heap())) NativeErrorPrototype(exec, structure);
prototype->finishCreation(exec, globalObject, name, constructor);
@@ -41,7 +41,7 @@ namespace JSC {
}
protected:
- void finishCreation(ExecState*, JSGlobalObject*, const UString& nameAndMessage, NativeErrorConstructor*);
+ void finishCreation(ExecState*, JSGlobalObject*, const String& nameAndMessage, NativeErrorConstructor*);
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/NumberPrototype.cpp b/Source/JavaScriptCore/runtime/NumberPrototype.cpp
index 1df7b6951..4a10efd6d 100644
--- a/Source/JavaScriptCore/runtime/NumberPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/NumberPrototype.cpp
@@ -339,7 +339,7 @@ static char* toStringWithRadix(RadixBuffer& buffer, double number, unsigned radi
return startOfResultString;
}
-static UString toUStringWithRadix(int32_t number, unsigned radix)
+static String toStringWithRadix(int32_t number, unsigned radix)
{
LChar buf[1 + 32]; // Worst case is radix == 2, which gives us 32 digits + sign.
LChar* end = buf + WTF_ARRAY_LENGTH(buf);
@@ -361,7 +361,7 @@ static UString toUStringWithRadix(int32_t number, unsigned radix)
if (negative)
*--p = '-';
- return UString(p, static_cast<unsigned>(end - p));
+ return String(p, static_cast<unsigned>(end - p));
}
// toExponential converts a number to a string, always formatting as an expoential.
@@ -378,11 +378,11 @@ EncodedJSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState* exec)
int decimalPlacesInExponent;
bool isUndefined;
if (!getIntegerArgumentInRange(exec, 0, 20, decimalPlacesInExponent, isUndefined))
- return throwVMError(exec, createRangeError(exec, "toExponential() argument must be between 0 and 20"));
+ return throwVMError(exec, createRangeError(exec, ASCIILiteral("toExponential() argument must be between 0 and 20")));
// Handle NaN and Infinity.
if (!isfinite(x))
- return JSValue::encode(jsString(exec, UString::number(x)));
+ return JSValue::encode(jsString(exec, String::numberToStringECMAScript(x)));
// Round if the argument is not undefined, always format as exponential.
char buffer[WTF::NumberToStringBufferLength];
@@ -392,7 +392,7 @@ EncodedJSValue JSC_HOST_CALL numberProtoFuncToExponential(ExecState* exec)
isUndefined
? converter.ToExponential(x, -1, &builder)
: converter.ToExponential(x, decimalPlacesInExponent, &builder);
- return JSValue::encode(jsString(exec, UString(builder.Finalize())));
+ return JSValue::encode(jsString(exec, String(builder.Finalize())));
}
// toFixed converts a number to a string, always formatting as an a decimal fraction.
@@ -409,20 +409,20 @@ EncodedJSValue JSC_HOST_CALL numberProtoFuncToFixed(ExecState* exec)
int decimalPlaces;
bool isUndefined; // This is ignored; undefined treated as 0.
if (!getIntegerArgumentInRange(exec, 0, 20, decimalPlaces, isUndefined))
- return throwVMError(exec, createRangeError(exec, "toFixed() argument must be between 0 and 20"));
+ return throwVMError(exec, createRangeError(exec, ASCIILiteral("toFixed() argument must be between 0 and 20")));
// 15.7.4.5.7 states "If x >= 10^21, then let m = ToString(x)"
// This also covers Ininity, and structure the check so that NaN
// values are also handled by numberToString
if (!(fabs(x) < 1e+21))
- return JSValue::encode(jsString(exec, UString::number(x)));
+ return JSValue::encode(jsString(exec, String::numberToStringECMAScript(x)));
// The check above will return false for NaN or Infinity, these will be
// handled by numberToString.
ASSERT(isfinite(x));
NumberToStringBuffer buffer;
- return JSValue::encode(jsString(exec, UString(numberToFixedWidthString(x, decimalPlaces, buffer))));
+ return JSValue::encode(jsString(exec, String(numberToFixedWidthString(x, decimalPlaces, buffer))));
}
// toPrecision converts a number to a string, takeing an argument specifying a
@@ -442,18 +442,18 @@ EncodedJSValue JSC_HOST_CALL numberProtoFuncToPrecision(ExecState* exec)
int significantFigures;
bool isUndefined;
if (!getIntegerArgumentInRange(exec, 1, 21, significantFigures, isUndefined))
- return throwVMError(exec, createRangeError(exec, "toPrecision() argument must be between 1 and 21"));
+ return throwVMError(exec, createRangeError(exec, ASCIILiteral("toPrecision() argument must be between 1 and 21")));
// To precision called with no argument is treated as ToString.
if (isUndefined)
- return JSValue::encode(jsString(exec, UString::number(x)));
+ return JSValue::encode(jsString(exec, String::numberToStringECMAScript(x)));
// Handle NaN and Infinity.
if (!isfinite(x))
- return JSValue::encode(jsString(exec, UString::number(x)));
+ return JSValue::encode(jsString(exec, String::numberToStringECMAScript(x)));
NumberToStringBuffer buffer;
- return JSValue::encode(jsString(exec, UString(numberToFixedPrecisionString(x, significantFigures, buffer))));
+ return JSValue::encode(jsString(exec, String(numberToFixedPrecisionString(x, significantFigures, buffer))));
}
static inline int32_t extractRadixFromArgs(ExecState* exec)
@@ -485,7 +485,7 @@ static inline EncodedJSValue integerValueToString(ExecState* exec, int32_t radix
return JSValue::encode(jsString(globalData, globalData->numericStrings.add(value)));
}
- return JSValue::encode(jsString(exec, toUStringWithRadix(value, radix)));
+ return JSValue::encode(jsString(exec, toStringWithRadix(value, radix)));
}
@@ -497,7 +497,7 @@ EncodedJSValue JSC_HOST_CALL numberProtoFuncToString(ExecState* exec)
int32_t radix = extractRadixFromArgs(exec);
if (radix < 2 || radix > 36)
- return throwVMError(exec, createRangeError(exec, "toString() radix argument must be between 2 and 36"));
+ return throwVMError(exec, createRangeError(exec, ASCIILiteral("toString() radix argument must be between 2 and 36")));
int32_t integerValue = static_cast<int32_t>(doubleValue);
if (integerValue == doubleValue)
@@ -509,7 +509,7 @@ EncodedJSValue JSC_HOST_CALL numberProtoFuncToString(ExecState* exec)
}
if (!isfinite(doubleValue))
- return JSValue::encode(jsString(exec, UString::number(doubleValue)));
+ return JSValue::encode(jsString(exec, String::numberToStringECMAScript(doubleValue)));
RadixBuffer s;
return JSValue::encode(jsString(exec, toStringWithRadix(s, doubleValue, radix)));
diff --git a/Source/JavaScriptCore/runtime/NumericStrings.h b/Source/JavaScriptCore/runtime/NumericStrings.h
index 7fa20c44d..4cd92fc1f 100644
--- a/Source/JavaScriptCore/runtime/NumericStrings.h
+++ b/Source/JavaScriptCore/runtime/NumericStrings.h
@@ -26,25 +26,25 @@
#ifndef NumericStrings_h
#define NumericStrings_h
-#include "UString.h"
#include <wtf/FixedArray.h>
#include <wtf/HashFunctions.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
class NumericStrings {
public:
- ALWAYS_INLINE UString add(double d)
+ ALWAYS_INLINE String add(double d)
{
CacheEntry<double>& entry = lookup(d);
if (d == entry.key && !entry.value.isNull())
return entry.value;
entry.key = d;
- entry.value = UString::number(d);
+ entry.value = String::numberToStringECMAScript(d);
return entry.value;
}
- ALWAYS_INLINE UString add(int i)
+ ALWAYS_INLINE String add(int i)
{
if (static_cast<unsigned>(i) < cacheSize)
return lookupSmallString(static_cast<unsigned>(i));
@@ -52,11 +52,11 @@ namespace JSC {
if (i == entry.key && !entry.value.isNull())
return entry.value;
entry.key = i;
- entry.value = UString::number(i);
+ entry.value = String::number(i);
return entry.value;
}
- ALWAYS_INLINE UString add(unsigned i)
+ ALWAYS_INLINE String add(unsigned i)
{
if (i < cacheSize)
return lookupSmallString(static_cast<unsigned>(i));
@@ -64,7 +64,7 @@ namespace JSC {
if (i == entry.key && !entry.value.isNull())
return entry.value;
entry.key = i;
- entry.value = UString::number(i);
+ entry.value = String::number(i);
return entry.value;
}
private:
@@ -73,24 +73,24 @@ namespace JSC {
template<typename T>
struct CacheEntry {
T key;
- UString value;
+ String value;
};
CacheEntry<double>& lookup(double d) { return doubleCache[WTF::FloatHash<double>::hash(d) & (cacheSize - 1)]; }
CacheEntry<int>& lookup(int i) { return intCache[WTF::IntHash<int>::hash(i) & (cacheSize - 1)]; }
CacheEntry<unsigned>& lookup(unsigned i) { return unsignedCache[WTF::IntHash<unsigned>::hash(i) & (cacheSize - 1)]; }
- ALWAYS_INLINE const UString& lookupSmallString(unsigned i)
+ ALWAYS_INLINE const String& lookupSmallString(unsigned i)
{
ASSERT(i < cacheSize);
if (smallIntCache[i].isNull())
- smallIntCache[i] = UString::number(i);
+ smallIntCache[i] = String::number(i);
return smallIntCache[i];
}
FixedArray<CacheEntry<double>, cacheSize> doubleCache;
FixedArray<CacheEntry<int>, cacheSize> intCache;
FixedArray<CacheEntry<unsigned>, cacheSize> unsignedCache;
- FixedArray<UString, cacheSize> smallIntCache;
+ FixedArray<String, cacheSize> smallIntCache;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/ObjectConstructor.cpp b/Source/JavaScriptCore/runtime/ObjectConstructor.cpp
index 5a6fcddf0..ed0d0cfc7 100644
--- a/Source/JavaScriptCore/runtime/ObjectConstructor.cpp
+++ b/Source/JavaScriptCore/runtime/ObjectConstructor.cpp
@@ -84,7 +84,7 @@ ObjectConstructor::ObjectConstructor(JSGlobalObject* globalObject, Structure* st
void ObjectConstructor::finishCreation(ExecState* exec, ObjectPrototype* objectPrototype)
{
- Base::finishCreation(exec->globalData(), Identifier(exec, "Object").ustring());
+ Base::finishCreation(exec->globalData(), Identifier(exec, "Object").string());
// ECMA 15.2.3.1
putDirectWithoutTransition(exec->globalData(), exec->propertyNames().prototype, objectPrototype, DontEnum | DontDelete | ReadOnly);
// no. of arguments for constructor
@@ -137,7 +137,7 @@ CallType ObjectConstructor::getCallData(JSCell*, CallData& callData)
EncodedJSValue JSC_HOST_CALL objectConstructorGetPrototypeOf(ExecState* exec)
{
if (!exec->argument(0).isObject())
- return throwVMError(exec, createTypeError(exec, "Requested prototype of a value that is not an object."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Requested prototype of a value that is not an object.")));
JSObject* object = asObject(exec->argument(0));
if (!object->allowsAccessFrom(exec->trueCallerFrame()))
return JSValue::encode(jsUndefined());
@@ -147,8 +147,8 @@ EncodedJSValue JSC_HOST_CALL objectConstructorGetPrototypeOf(ExecState* exec)
EncodedJSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState* exec)
{
if (!exec->argument(0).isObject())
- return throwVMError(exec, createTypeError(exec, "Requested property descriptor of a value that is not an object."));
- UString propertyName = exec->argument(1).toString(exec)->value(exec);
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Requested property descriptor of a value that is not an object.")));
+ String propertyName = exec->argument(1).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsNull());
JSObject* object = asObject(exec->argument(0));
@@ -179,13 +179,13 @@ EncodedJSValue JSC_HOST_CALL objectConstructorGetOwnPropertyDescriptor(ExecState
EncodedJSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState* exec)
{
if (!exec->argument(0).isObject())
- return throwVMError(exec, createTypeError(exec, "Requested property names of a value that is not an object."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Requested property names of a value that is not an object.")));
PropertyNameArray properties(exec);
asObject(exec->argument(0))->methodTable()->getOwnPropertyNames(asObject(exec->argument(0)), exec, properties, IncludeDontEnumProperties);
JSArray* names = constructEmptyArray(exec);
size_t numProperties = properties.size();
for (size_t i = 0; i < numProperties; i++)
- names->push(exec, jsOwnedString(exec, properties[i].ustring()));
+ names->push(exec, jsOwnedString(exec, properties[i].string()));
return JSValue::encode(names);
}
@@ -193,13 +193,13 @@ EncodedJSValue JSC_HOST_CALL objectConstructorGetOwnPropertyNames(ExecState* exe
EncodedJSValue JSC_HOST_CALL objectConstructorKeys(ExecState* exec)
{
if (!exec->argument(0).isObject())
- return throwVMError(exec, createTypeError(exec, "Requested keys of a value that is not an object."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Requested keys of a value that is not an object.")));
PropertyNameArray properties(exec);
asObject(exec->argument(0))->methodTable()->getOwnPropertyNames(asObject(exec->argument(0)), exec, properties, ExcludeDontEnumProperties);
JSArray* keys = constructEmptyArray(exec);
size_t numProperties = properties.size();
for (size_t i = 0; i < numProperties; i++)
- keys->push(exec, jsOwnedString(exec, properties[i].ustring()));
+ keys->push(exec, jsOwnedString(exec, properties[i].string()));
return JSValue::encode(keys);
}
@@ -207,7 +207,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorKeys(ExecState* exec)
static bool toPropertyDescriptor(ExecState* exec, JSValue in, PropertyDescriptor& desc)
{
if (!in.isObject()) {
- throwError(exec, createTypeError(exec, "Property description must be an object."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Property description must be an object.")));
return false;
}
JSObject* description = asObject(in);
@@ -249,7 +249,7 @@ static bool toPropertyDescriptor(ExecState* exec, JSValue in, PropertyDescriptor
if (!get.isUndefined()) {
CallData callData;
if (getCallData(get, callData) == CallTypeNone) {
- throwError(exec, createTypeError(exec, "Getter must be a function."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Getter must be a function.")));
return false;
}
}
@@ -264,7 +264,7 @@ static bool toPropertyDescriptor(ExecState* exec, JSValue in, PropertyDescriptor
if (!set.isUndefined()) {
CallData callData;
if (getCallData(set, callData) == CallTypeNone) {
- throwError(exec, createTypeError(exec, "Setter must be a function."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Setter must be a function.")));
return false;
}
}
@@ -275,12 +275,12 @@ static bool toPropertyDescriptor(ExecState* exec, JSValue in, PropertyDescriptor
return true;
if (desc.value()) {
- throwError(exec, createTypeError(exec, "Invalid property. 'value' present on property with getter or setter."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Invalid property. 'value' present on property with getter or setter.")));
return false;
}
if (desc.writablePresent()) {
- throwError(exec, createTypeError(exec, "Invalid property. 'writable' present on property with getter or setter."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Invalid property. 'writable' present on property with getter or setter.")));
return false;
}
return true;
@@ -289,9 +289,9 @@ static bool toPropertyDescriptor(ExecState* exec, JSValue in, PropertyDescriptor
EncodedJSValue JSC_HOST_CALL objectConstructorDefineProperty(ExecState* exec)
{
if (!exec->argument(0).isObject())
- return throwVMError(exec, createTypeError(exec, "Properties can only be defined on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Properties can only be defined on Objects.")));
JSObject* O = asObject(exec->argument(0));
- UString propertyName = exec->argument(1).toString(exec)->value(exec);
+ String propertyName = exec->argument(1).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsNull());
PropertyDescriptor descriptor;
@@ -340,20 +340,20 @@ static JSValue defineProperties(ExecState* exec, JSObject* object, JSObject* pro
EncodedJSValue JSC_HOST_CALL objectConstructorDefineProperties(ExecState* exec)
{
if (!exec->argument(0).isObject())
- return throwVMError(exec, createTypeError(exec, "Properties can only be defined on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Properties can only be defined on Objects.")));
return JSValue::encode(defineProperties(exec, asObject(exec->argument(0)), exec->argument(1).toObject(exec)));
}
EncodedJSValue JSC_HOST_CALL objectConstructorCreate(ExecState* exec)
{
if (!exec->argument(0).isObject() && !exec->argument(0).isNull())
- return throwVMError(exec, createTypeError(exec, "Object prototype may only be an Object or null."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object prototype may only be an Object or null.")));
JSValue proto = exec->argument(0);
JSObject* newObject = proto.isObject() ? constructEmptyObject(exec, asObject(proto)->inheritorID(exec->globalData())) : constructEmptyObject(exec, exec->lexicalGlobalObject()->nullPrototypeObjectStructure());
if (exec->argument(1).isUndefined())
return JSValue::encode(newObject);
if (!exec->argument(1).isObject())
- return throwVMError(exec, createTypeError(exec, "Property descriptor list must be an Object."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Property descriptor list must be an Object.")));
return JSValue::encode(defineProperties(exec, newObject, asObject(exec->argument(1))));
}
@@ -362,7 +362,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorSeal(ExecState* exec)
// 1. If Type(O) is not Object throw a TypeError exception.
JSValue obj = exec->argument(0);
if (!obj.isObject())
- return throwVMError(exec, createTypeError(exec, "Object.seal can only be called on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object.seal can only be called on Objects.")));
JSObject* object = asObject(obj);
if (isJSFinalObject(object)) {
@@ -399,7 +399,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorFreeze(ExecState* exec)
// 1. If Type(O) is not Object throw a TypeError exception.
JSValue obj = exec->argument(0);
if (!obj.isObject())
- return throwVMError(exec, createTypeError(exec, "Object.freeze can only be called on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object.freeze can only be called on Objects.")));
JSObject* object = asObject(obj);
if (isJSFinalObject(object)) {
@@ -439,7 +439,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorPreventExtensions(ExecState* exec)
{
JSValue obj = exec->argument(0);
if (!obj.isObject())
- return throwVMError(exec, createTypeError(exec, "Object.preventExtensions can only be called on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object.preventExtensions can only be called on Objects.")));
asObject(obj)->preventExtensions(exec->globalData());
return JSValue::encode(obj);
}
@@ -449,7 +449,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorIsSealed(ExecState* exec)
// 1. If Type(O) is not Object throw a TypeError exception.
JSValue obj = exec->argument(0);
if (!obj.isObject())
- return throwVMError(exec, createTypeError(exec, "Object.isSealed can only be called on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object.isSealed can only be called on Objects.")));
JSObject* object = asObject(obj);
if (isJSFinalObject(object))
@@ -479,7 +479,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorIsFrozen(ExecState* exec)
// 1. If Type(O) is not Object throw a TypeError exception.
JSValue obj = exec->argument(0);
if (!obj.isObject())
- return throwVMError(exec, createTypeError(exec, "Object.isFrozen can only be called on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object.isFrozen can only be called on Objects.")));
JSObject* object = asObject(obj);
if (isJSFinalObject(object))
@@ -509,7 +509,7 @@ EncodedJSValue JSC_HOST_CALL objectConstructorIsExtensible(ExecState* exec)
{
JSValue obj = exec->argument(0);
if (!obj.isObject())
- return throwVMError(exec, createTypeError(exec, "Object.isExtensible can only be called on Objects."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Object.isExtensible can only be called on Objects.")));
return JSValue::encode(jsBoolean(asObject(obj)->isExtensible()));
}
diff --git a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp b/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
index 6faa16848..800909385 100644
--- a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
@@ -157,7 +157,7 @@ EncodedJSValue JSC_HOST_CALL objectProtoFuncDefineGetter(ExecState* exec)
JSValue get = exec->argument(1);
CallData callData;
if (getCallData(get, callData) == CallTypeNone)
- return throwVMError(exec, createSyntaxError(exec, "invalid getter usage"));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("invalid getter usage")));
PropertyDescriptor descriptor;
descriptor.setGetter(get);
@@ -177,7 +177,7 @@ EncodedJSValue JSC_HOST_CALL objectProtoFuncDefineSetter(ExecState* exec)
JSValue set = exec->argument(1);
CallData callData;
if (getCallData(set, callData) == CallTypeNone)
- return throwVMError(exec, createSyntaxError(exec, "invalid setter usage"));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("invalid setter usage")));
PropertyDescriptor descriptor;
descriptor.setSetter(set);
@@ -247,7 +247,7 @@ EncodedJSValue JSC_HOST_CALL objectProtoFuncToString(ExecState* exec)
{
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull())
- return JSValue::encode(jsNontrivialString(exec, thisValue.isUndefined() ? "[object Undefined]" : "[object Null]"));
+ return JSValue::encode(jsNontrivialString(exec, String(thisValue.isUndefined() ? ASCIILiteral("[object Undefined]") : ASCIILiteral("[object Null]"))));
JSObject* thisObject = thisValue.toObject(exec);
JSString* result = thisObject->structure()->objectToStringValue();
diff --git a/Source/JavaScriptCore/runtime/Operations.h b/Source/JavaScriptCore/runtime/Operations.h
index 88fffdac4..30ba0b27d 100644
--- a/Source/JavaScriptCore/runtime/Operations.h
+++ b/Source/JavaScriptCore/runtime/Operations.h
@@ -50,7 +50,7 @@ namespace JSC {
return JSRopeString::create(globalData, s1, s2);
}
- ALWAYS_INLINE JSValue jsString(ExecState* exec, const UString& u1, const UString& u2, const UString& u3)
+ ALWAYS_INLINE JSValue jsString(ExecState* exec, const String& u1, const String& u2, const String& u3)
{
JSGlobalData* globalData = &exec->globalData();
@@ -221,7 +221,7 @@ namespace JSC {
return v1.asNumber() < v2.asNumber();
if (isJSString(v1) && isJSString(v2))
- return asString(v1)->value(callFrame) < asString(v2)->value(callFrame);
+ return codePointCompareLessThan(asString(v1)->value(callFrame), asString(v2)->value(callFrame));
double n1;
double n2;
@@ -239,7 +239,7 @@ namespace JSC {
if (wasNotString1 | wasNotString2)
return n1 < n2;
- return asString(p1)->value(callFrame) < asString(p2)->value(callFrame);
+ return codePointCompareLessThan(asString(p1)->value(callFrame), asString(p2)->value(callFrame));
}
// See ES5 11.8.3/11.8.4/11.8.5 for definition of leftFirst, this value ensures correct
@@ -255,7 +255,7 @@ namespace JSC {
return v1.asNumber() <= v2.asNumber();
if (isJSString(v1) && isJSString(v2))
- return !(asString(v2)->value(callFrame) < asString(v1)->value(callFrame));
+ return !codePointCompareLessThan(asString(v2)->value(callFrame), asString(v1)->value(callFrame));
double n1;
double n2;
@@ -273,7 +273,7 @@ namespace JSC {
if (wasNotString1 | wasNotString2)
return n1 <= n2;
- return !(asString(p2)->value(callFrame) < asString(p1)->value(callFrame));
+ return !codePointCompareLessThan(asString(p2)->value(callFrame), asString(p1)->value(callFrame));
}
// Fast-path choices here are based on frequency data from SunSpider:
@@ -347,33 +347,6 @@ namespace JSC {
}
}
- ALWAYS_INLINE JSValue resolveBase(CallFrame* callFrame, Identifier& property, ScopeChainNode* scopeChain, bool isStrictPut)
- {
- ScopeChainIterator iter = scopeChain->begin();
- ScopeChainIterator next = iter;
- ++next;
- ScopeChainIterator end = scopeChain->end();
- ASSERT(iter != end);
-
- PropertySlot slot;
- JSObject* base;
- while (true) {
- base = iter->get();
- if (next == end) {
- if (isStrictPut && !base->getPropertySlot(callFrame, property, slot))
- return JSValue();
- return base;
- }
- if (base->getPropertySlot(callFrame, property, slot))
- return base;
-
- iter = next;
- ++next;
- }
-
- ASSERT_NOT_REACHED();
- return JSValue();
- }
} // namespace JSC
#endif // Operations_h
diff --git a/Source/JavaScriptCore/runtime/Options.cpp b/Source/JavaScriptCore/runtime/Options.cpp
index b5ce39c0d..16c0b5d43 100644
--- a/Source/JavaScriptCore/runtime/Options.cpp
+++ b/Source/JavaScriptCore/runtime/Options.cpp
@@ -138,6 +138,19 @@ void Options::initialize()
; // Deconfuse editors that do auto indentation
#endif
+#if !ENABLE(JIT)
+ useJIT() = false;
+ useDFGJIT() = false;
+#endif
+#if !ENABLE(YARR_JIT)
+ useRegExpJIT() = false;
+#endif
+
+#if USE(CF) || OS(UNIX)
+ zombiesAreImmortal() = !!getenv("JSImmortalZombieEnabled");
+ useZombieMode() = zombiesAreImmortal() || !!getenv("JSZombieEnabled");
+#endif
+
// Do range checks where needed and make corrections to the options:
ASSERT(thresholdForOptimizeAfterLongWarmUp() >= thresholdForOptimizeAfterWarmUp());
ASSERT(thresholdForOptimizeAfterWarmUp() >= thresholdForOptimizeSoon());
diff --git a/Source/JavaScriptCore/runtime/Options.h b/Source/JavaScriptCore/runtime/Options.h
index ab3f34bb6..5e53d1cf2 100644
--- a/Source/JavaScriptCore/runtime/Options.h
+++ b/Source/JavaScriptCore/runtime/Options.h
@@ -65,6 +65,7 @@ namespace JSC {
#define JSC_OPTIONS(v) \
v(bool, useJIT, true) \
v(bool, useDFGJIT, true) \
+ v(bool, useRegExpJIT, true) \
\
/* showDisassembly implies showDFGDisassembly. */ \
v(bool, showDisassembly, false) \
@@ -117,7 +118,10 @@ namespace JSC {
v(unsigned, opaqueRootMergeThreshold, 1000) \
\
v(bool, forceWeakRandomSeed, false) \
- v(unsigned, forcedWeakRandomSeed, 0)
+ v(unsigned, forcedWeakRandomSeed, 0) \
+ \
+ v(bool, useZombieMode, false) \
+ v(bool, zombiesAreImmortal, false)
class Options {
diff --git a/Source/JavaScriptCore/runtime/PropertyMapHashTable.h b/Source/JavaScriptCore/runtime/PropertyMapHashTable.h
index 5953f5e87..2d0f27a3e 100644
--- a/Source/JavaScriptCore/runtime/PropertyMapHashTable.h
+++ b/Source/JavaScriptCore/runtime/PropertyMapHashTable.h
@@ -22,11 +22,11 @@
#define PropertyMapHashTable_h
#include "PropertyOffset.h"
-#include "UString.h"
#include "WriteBarrier.h"
#include <wtf/HashTable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/StringImpl.h>
#ifndef NDEBUG
@@ -44,7 +44,7 @@ extern int numRemoves;
#endif
-#define PROPERTY_MAP_DELETED_ENTRY_KEY ((StringImpl*)1)
+#define PROPERTY_MAP_DELETED_ENTRY_KEY ((StringImpl*)1)
namespace JSC {
diff --git a/Source/JavaScriptCore/runtime/PropertyNameArray.cpp b/Source/JavaScriptCore/runtime/PropertyNameArray.cpp
index 9bae94097..08a5296a4 100644
--- a/Source/JavaScriptCore/runtime/PropertyNameArray.cpp
+++ b/Source/JavaScriptCore/runtime/PropertyNameArray.cpp
@@ -22,7 +22,7 @@
#include "PropertyNameArray.h"
#include "JSObject.h"
-#include "ScopeChain.h"
+
#include "Structure.h"
#include "StructureChain.h"
diff --git a/Source/JavaScriptCore/runtime/RegExp.cpp b/Source/JavaScriptCore/runtime/RegExp.cpp
index 64e553be1..7757274f1 100644
--- a/Source/JavaScriptCore/runtime/RegExp.cpp
+++ b/Source/JavaScriptCore/runtime/RegExp.cpp
@@ -40,7 +40,7 @@ namespace JSC {
const ClassInfo RegExp::s_info = { "RegExp", 0, 0, 0, CREATE_METHOD_TABLE(RegExp) };
-RegExpFlags regExpFlags(const UString& string)
+RegExpFlags regExpFlags(const String& string)
{
RegExpFlags flags = NoFlags;
@@ -83,7 +83,7 @@ public:
~RegExpFunctionalTestCollector();
- void outputOneTest(RegExp*, UString, int, int*, int);
+ void outputOneTest(RegExp*, String, int, int*, int);
void clearRegExp(RegExp* regExp)
{
if (regExp == m_lastRegExp)
@@ -93,7 +93,7 @@ public:
private:
RegExpFunctionalTestCollector();
- void outputEscapedUString(const UString&, bool escapeSlash = false);
+ void outputEscapedString(const String&, bool escapeSlash = false);
static RegExpFunctionalTestCollector* s_instance;
FILE* m_file;
@@ -111,12 +111,12 @@ RegExpFunctionalTestCollector* RegExpFunctionalTestCollector::get()
return s_instance;
}
-void RegExpFunctionalTestCollector::outputOneTest(RegExp* regExp, UString s, int startOffset, int* ovector, int result)
+void RegExpFunctionalTestCollector::outputOneTest(RegExp* regExp, String s, int startOffset, int* ovector, int result)
{
if ((!m_lastRegExp) || (m_lastRegExp != regExp)) {
m_lastRegExp = regExp;
fputc('/', m_file);
- outputEscapedUString(regExp->pattern(), true);
+ outputEscapedString(regExp->pattern(), true);
fputc('/', m_file);
if (regExp->global())
fputc('g', m_file);
@@ -128,7 +128,7 @@ void RegExpFunctionalTestCollector::outputOneTest(RegExp* regExp, UString s, int
}
fprintf(m_file, " \"");
- outputEscapedUString(s);
+ outputEscapedString(s);
fprintf(m_file, "\", %d, %d, (", startOffset, result);
for (unsigned i = 0; i <= regExp->numSubpatterns(); i++) {
int subpatternBegin = ovector[i * 2];
@@ -159,7 +159,7 @@ RegExpFunctionalTestCollector::~RegExpFunctionalTestCollector()
s_instance = 0;
}
-void RegExpFunctionalTestCollector::outputEscapedUString(const UString& s, bool escapeSlash)
+void RegExpFunctionalTestCollector::outputEscapedString(const String& s, bool escapeSlash)
{
int len = s.length();
@@ -217,7 +217,7 @@ void RegExpFunctionalTestCollector::outputEscapedUString(const UString& s, bool
}
#endif
-RegExp::RegExp(JSGlobalData& globalData, const UString& patternString, RegExpFlags flags)
+RegExp::RegExp(JSGlobalData& globalData, const String& patternString, RegExpFlags flags)
: JSCell(globalData, globalData.regExpStructure.get())
, m_state(NotCompiled)
, m_patternString(patternString)
@@ -250,14 +250,14 @@ void RegExp::destroy(JSCell* cell)
thisObject->RegExp::~RegExp();
}
-RegExp* RegExp::createWithoutCaching(JSGlobalData& globalData, const UString& patternString, RegExpFlags flags)
+RegExp* RegExp::createWithoutCaching(JSGlobalData& globalData, const String& patternString, RegExpFlags flags)
{
RegExp* regExp = new (NotNull, allocateCell<RegExp>(globalData.heap)) RegExp(globalData, patternString, flags);
regExp->finishCreation(globalData);
return regExp;
}
-RegExp* RegExp::create(JSGlobalData& globalData, const UString& patternString, RegExpFlags flags)
+RegExp* RegExp::create(JSGlobalData& globalData, const String& patternString, RegExpFlags flags)
{
return globalData.regExpCache()->lookupOrCreate(patternString, flags);
}
@@ -318,7 +318,7 @@ void RegExp::compileIfNecessary(JSGlobalData& globalData, Yarr::YarrCharSize cha
compile(&globalData, charSize);
}
-int RegExp::match(JSGlobalData& globalData, const UString& s, unsigned startOffset, Vector<int, 32>& ovector)
+int RegExp::match(JSGlobalData& globalData, const String& s, unsigned startOffset, Vector<int, 32>& ovector)
{
#if ENABLE(REGEXP_TRACING)
m_rtMatchCallCount++;
@@ -440,7 +440,7 @@ void RegExp::compileIfNecessaryMatchOnly(JSGlobalData& globalData, Yarr::YarrCha
compileMatchOnly(&globalData, charSize);
}
-MatchResult RegExp::match(JSGlobalData& globalData, const UString& s, unsigned startOffset)
+MatchResult RegExp::match(JSGlobalData& globalData, const String& s, unsigned startOffset)
{
#if ENABLE(REGEXP_TRACING)
m_rtMatchCallCount++;
@@ -494,7 +494,7 @@ void RegExp::invalidateCode()
}
#if ENABLE(YARR_JIT_DEBUG)
-void RegExp::matchCompareWithInterpreter(const UString& s, int startOffset, int* offsetVector, int jitResult)
+void RegExp::matchCompareWithInterpreter(const String& s, int startOffset, int* offsetVector, int jitResult)
{
int offsetVectorSize = (m_numSubpatterns + 1) * 2;
Vector<int, 32> interpreterOvector;
diff --git a/Source/JavaScriptCore/runtime/RegExp.h b/Source/JavaScriptCore/runtime/RegExp.h
index ad1020376..287444b95 100644
--- a/Source/JavaScriptCore/runtime/RegExp.h
+++ b/Source/JavaScriptCore/runtime/RegExp.h
@@ -26,10 +26,10 @@
#include "MatchResult.h"
#include "RegExpKey.h"
#include "Structure.h"
-#include "UString.h"
#include "yarr/Yarr.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(YARR_JIT)
#include "yarr/YarrJIT.h"
@@ -40,26 +40,26 @@ namespace JSC {
struct RegExpRepresentation;
class JSGlobalData;
- JS_EXPORT_PRIVATE RegExpFlags regExpFlags(const UString&);
+ JS_EXPORT_PRIVATE RegExpFlags regExpFlags(const String&);
class RegExp : public JSCell {
public:
typedef JSCell Base;
- JS_EXPORT_PRIVATE static RegExp* create(JSGlobalData&, const UString& pattern, RegExpFlags);
+ JS_EXPORT_PRIVATE static RegExp* create(JSGlobalData&, const String& pattern, RegExpFlags);
static void destroy(JSCell*);
bool global() const { return m_flags & FlagGlobal; }
bool ignoreCase() const { return m_flags & FlagIgnoreCase; }
bool multiline() const { return m_flags & FlagMultiline; }
- const UString& pattern() const { return m_patternString; }
+ const String& pattern() const { return m_patternString; }
bool isValid() const { return !m_constructionError && m_flags != InvalidFlags; }
const char* errorMessage() const { return m_constructionError; }
- JS_EXPORT_PRIVATE int match(JSGlobalData&, const UString&, unsigned startOffset, Vector<int, 32>& ovector);
- MatchResult match(JSGlobalData&, const UString&, unsigned startOffset);
+ JS_EXPORT_PRIVATE int match(JSGlobalData&, const String&, unsigned startOffset, Vector<int, 32>& ovector);
+ MatchResult match(JSGlobalData&, const String&, unsigned startOffset);
unsigned numSubpatterns() const { return m_numSubpatterns; }
bool hasCode()
@@ -87,9 +87,9 @@ namespace JSC {
private:
friend class RegExpCache;
- RegExp(JSGlobalData&, const UString&, RegExpFlags);
+ RegExp(JSGlobalData&, const String&, RegExpFlags);
- static RegExp* createWithoutCaching(JSGlobalData&, const UString&, RegExpFlags);
+ static RegExp* createWithoutCaching(JSGlobalData&, const String&, RegExpFlags);
enum RegExpState {
ParseError,
@@ -105,10 +105,10 @@ namespace JSC {
void compileIfNecessaryMatchOnly(JSGlobalData&, Yarr::YarrCharSize);
#if ENABLE(YARR_JIT_DEBUG)
- void matchCompareWithInterpreter(const UString&, int startOffset, int* offsetVector, int jitResult);
+ void matchCompareWithInterpreter(const String&, int startOffset, int* offsetVector, int jitResult);
#endif
- UString m_patternString;
+ String m_patternString;
RegExpFlags m_flags;
const char* m_constructionError;
unsigned m_numSubpatterns;
diff --git a/Source/JavaScriptCore/runtime/RegExpCache.cpp b/Source/JavaScriptCore/runtime/RegExpCache.cpp
index 53a13a4b5..c67dab8e6 100644
--- a/Source/JavaScriptCore/runtime/RegExpCache.cpp
+++ b/Source/JavaScriptCore/runtime/RegExpCache.cpp
@@ -33,7 +33,7 @@
namespace JSC {
-RegExp* RegExpCache::lookupOrCreate(const UString& patternString, RegExpFlags flags)
+RegExp* RegExpCache::lookupOrCreate(const String& patternString, RegExpFlags flags)
{
RegExpKey key(flags, patternString);
if (RegExp* regExp = m_weakCache.get(key))
@@ -63,7 +63,7 @@ void RegExpCache::finalize(Handle<Unknown> handle, void*)
void RegExpCache::addToStrongCache(RegExp* regExp)
{
- UString pattern = regExp->pattern();
+ String pattern = regExp->pattern();
if (pattern.length() > maxStrongCacheablePatternLength)
return;
m_strongCache[m_nextEntryInStrongCache].set(*m_globalData, regExp);
diff --git a/Source/JavaScriptCore/runtime/RegExpCache.h b/Source/JavaScriptCore/runtime/RegExpCache.h
index 4f3ea1536..c6a4a0aa2 100644
--- a/Source/JavaScriptCore/runtime/RegExpCache.h
+++ b/Source/JavaScriptCore/runtime/RegExpCache.h
@@ -28,7 +28,6 @@
#include "RegExp.h"
#include "RegExpKey.h"
#include "Strong.h"
-#include "UString.h"
#include "Weak.h"
#include <wtf/FixedArray.h>
#include <wtf/HashMap.h>
@@ -54,7 +53,7 @@ private:
virtual void finalize(Handle<Unknown>, void* context);
- RegExp* lookupOrCreate(const UString& patternString, RegExpFlags);
+ RegExp* lookupOrCreate(const WTF::String& patternString, RegExpFlags);
void addToStrongCache(RegExp*);
RegExpCacheMap m_weakCache; // Holds all regular expressions currently live.
int m_nextEntryInStrongCache;
diff --git a/Source/JavaScriptCore/runtime/RegExpCachedResult.cpp b/Source/JavaScriptCore/runtime/RegExpCachedResult.cpp
index 07881451a..47cff15f1 100644
--- a/Source/JavaScriptCore/runtime/RegExpCachedResult.cpp
+++ b/Source/JavaScriptCore/runtime/RegExpCachedResult.cpp
@@ -32,13 +32,10 @@ namespace JSC {
void RegExpCachedResult::visitChildren(SlotVisitor& visitor)
{
- if (m_result) {
- visitor.append(&m_lastInput);
- visitor.append(&m_lastRegExp);
- } else {
- visitor.append(&m_reifiedInput);
- visitor.append(&m_reifiedResult);
- }
+ visitor.append(&m_lastInput);
+ visitor.append(&m_lastRegExp);
+ visitor.append(&m_reifiedInput);
+ visitor.append(&m_reifiedResult);
}
RegExpMatchesArray* RegExpCachedResult::lastResult(ExecState* exec, JSObject* owner)
diff --git a/Source/JavaScriptCore/runtime/RegExpCachedResult.h b/Source/JavaScriptCore/runtime/RegExpCachedResult.h
index a72244025..812ff4336 100644
--- a/Source/JavaScriptCore/runtime/RegExpCachedResult.h
+++ b/Source/JavaScriptCore/runtime/RegExpCachedResult.h
@@ -49,8 +49,6 @@ namespace JSC {
{
m_lastInput.set(globalData, owner, jsEmptyString(&globalData));
m_lastRegExp.set(globalData, owner, emptyRegExp);
- m_reifiedResult.clear();
- m_reifiedInput.clear();
}
ALWAYS_INLINE void record(JSGlobalData& globalData, JSObject* owner, RegExp* regExp, JSString* input, MatchResult result)
diff --git a/Source/JavaScriptCore/runtime/RegExpConstructor.cpp b/Source/JavaScriptCore/runtime/RegExpConstructor.cpp
index 0b463474f..b8c4cd0b3 100644
--- a/Source/JavaScriptCore/runtime/RegExpConstructor.cpp
+++ b/Source/JavaScriptCore/runtime/RegExpConstructor.cpp
@@ -92,7 +92,7 @@ RegExpConstructor::RegExpConstructor(JSGlobalObject* globalObject, Structure* st
void RegExpConstructor::finishCreation(ExecState* exec, RegExpPrototype* regExpPrototype)
{
- Base::finishCreation(exec->globalData(), Identifier(exec, "RegExp").ustring());
+ Base::finishCreation(exec->globalData(), Identifier(exec, "RegExp").string());
ASSERT(inherits(&s_info));
// ECMA 15.10.5.1 RegExp.prototype
@@ -262,7 +262,7 @@ JSObject* constructRegExp(ExecState* exec, JSGlobalObject* globalObject, const A
if (arg0.inherits(&RegExpObject::s_info)) {
if (!arg1.isUndefined())
- return throwError(exec, createTypeError(exec, "Cannot supply flags when constructing one RegExp from another."));
+ return throwError(exec, createTypeError(exec, ASCIILiteral("Cannot supply flags when constructing one RegExp from another.")));
// If called as a function, this just returns the first argument (see 15.10.3.1).
if (callAsConstructor) {
RegExp* regExp = static_cast<RegExpObject*>(asObject(arg0))->regExp();
@@ -271,7 +271,7 @@ JSObject* constructRegExp(ExecState* exec, JSGlobalObject* globalObject, const A
return asObject(arg0);
}
- UString pattern = arg0.isUndefined() ? UString("") : arg0.toString(exec)->value(exec);
+ String pattern = arg0.isUndefined() ? String("") : arg0.toString(exec)->value(exec);
if (exec->hadException())
return 0;
@@ -281,7 +281,7 @@ JSObject* constructRegExp(ExecState* exec, JSGlobalObject* globalObject, const A
if (exec->hadException())
return 0;
if (flags == InvalidFlags)
- return throwError(exec, createSyntaxError(exec, "Invalid flags supplied to RegExp constructor."));
+ return throwError(exec, createSyntaxError(exec, ASCIILiteral("Invalid flags supplied to RegExp constructor.")));
}
RegExp* regExp = RegExp::create(exec->globalData(), pattern, flags);
diff --git a/Source/JavaScriptCore/runtime/RegExpConstructor.h b/Source/JavaScriptCore/runtime/RegExpConstructor.h
index d714f2167..2cb1c1204 100644
--- a/Source/JavaScriptCore/runtime/RegExpConstructor.h
+++ b/Source/JavaScriptCore/runtime/RegExpConstructor.h
@@ -55,8 +55,8 @@ namespace JSC {
static const ClassInfo s_info;
- MatchResult performMatch(JSGlobalData&, RegExp*, JSString*, const UString&, int startOffset, int** ovector);
- MatchResult performMatch(JSGlobalData&, RegExp*, JSString*, const UString&, int startOffset);
+ MatchResult performMatch(JSGlobalData&, RegExp*, JSString*, const String&, int startOffset, int** ovector);
+ MatchResult performMatch(JSGlobalData&, RegExp*, JSString*, const String&, int startOffset);
void setMultiline(bool multiline) { m_multiline = multiline; }
bool multiline() const { return m_multiline; }
@@ -101,7 +101,7 @@ namespace JSC {
expression matching through the performMatch function. We use cached results to calculate,
e.g., RegExp.lastMatch and RegExp.leftParen.
*/
- ALWAYS_INLINE MatchResult RegExpConstructor::performMatch(JSGlobalData& globalData, RegExp* regExp, JSString* string, const UString& input, int startOffset, int** ovector)
+ ALWAYS_INLINE MatchResult RegExpConstructor::performMatch(JSGlobalData& globalData, RegExp* regExp, JSString* string, const String& input, int startOffset, int** ovector)
{
int position = regExp->match(globalData, input, startOffset, m_ovector);
@@ -120,7 +120,7 @@ namespace JSC {
return MatchResult(position, end);
}
- ALWAYS_INLINE MatchResult RegExpConstructor::performMatch(JSGlobalData& globalData, RegExp* regExp, JSString* string, const UString& input, int startOffset)
+ ALWAYS_INLINE MatchResult RegExpConstructor::performMatch(JSGlobalData& globalData, RegExp* regExp, JSString* string, const String& input, int startOffset)
{
MatchResult result = regExp->match(globalData, input, startOffset);
if (result)
diff --git a/Source/JavaScriptCore/runtime/RegExpKey.h b/Source/JavaScriptCore/runtime/RegExpKey.h
index cdaff27f5..f93fbbc1d 100644
--- a/Source/JavaScriptCore/runtime/RegExpKey.h
+++ b/Source/JavaScriptCore/runtime/RegExpKey.h
@@ -28,8 +28,8 @@
#ifndef RegExpKey_h
#define RegExpKey_h
-#include "UString.h"
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
@@ -56,7 +56,7 @@ struct RegExpKey {
{
}
- RegExpKey(RegExpFlags flags, const UString& pattern)
+ RegExpKey(RegExpFlags flags, const String& pattern)
: flagsValue(flags)
, pattern(pattern.impl())
{
diff --git a/Source/JavaScriptCore/runtime/RegExpMatchesArray.cpp b/Source/JavaScriptCore/runtime/RegExpMatchesArray.cpp
index 80f1068f2..b2c3027b5 100644
--- a/Source/JavaScriptCore/runtime/RegExpMatchesArray.cpp
+++ b/Source/JavaScriptCore/runtime/RegExpMatchesArray.cpp
@@ -66,9 +66,9 @@ void RegExpMatchesArray::reifyAllProperties(ExecState* exec)
for (unsigned i = 1; i <= numSubpatterns; ++i) {
int start = subpatternResults[2 * i];
if (start >= 0)
- putDirectIndex(exec, i, jsSubstring(exec, m_input.get(), start, subpatternResults[2 * i + 1] - start), false);
+ putDirectIndex(exec, i, jsSubstring(exec, m_input.get(), start, subpatternResults[2 * i + 1] - start));
else
- putDirectIndex(exec, i, jsUndefined(), false);
+ putDirectIndex(exec, i, jsUndefined());
}
}
@@ -83,7 +83,7 @@ void RegExpMatchesArray::reifyMatchProperty(ExecState* exec)
{
ASSERT(m_state == ReifiedNone);
ASSERT(m_result);
- putDirectIndex(exec, 0, jsSubstring(exec, m_input.get(), m_result.start, m_result.end - m_result.start), false);
+ putDirectIndex(exec, 0, jsSubstring(exec, m_input.get(), m_result.start, m_result.end - m_result.start));
m_state = ReifiedMatch;
}
diff --git a/Source/JavaScriptCore/runtime/RegExpObject.cpp b/Source/JavaScriptCore/runtime/RegExpObject.cpp
index 8aeeb9edc..b346c7769 100644
--- a/Source/JavaScriptCore/runtime/RegExpObject.cpp
+++ b/Source/JavaScriptCore/runtime/RegExpObject.cpp
@@ -31,9 +31,8 @@
#include "RegExpConstructor.h"
#include "RegExpMatchesArray.h"
#include "RegExpPrototype.h"
-#include "UStringBuilder.h"
-#include "UStringConcatenate.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/StringBuilder.h>
namespace JSC {
@@ -81,11 +80,10 @@ void RegExpObject::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
Base::visitChildren(thisObject, visitor);
- if (thisObject->m_regExp)
- visitor.append(&thisObject->m_regExp);
- if (UNLIKELY(!thisObject->m_lastIndex.get().isInt32()))
- visitor.append(&thisObject->m_lastIndex);
+ visitor.append(&thisObject->m_regExp);
+ visitor.append(&thisObject->m_lastIndex);
}
bool RegExpObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
@@ -132,7 +130,7 @@ void RegExpObject::getPropertyNames(JSObject* object, ExecState* exec, PropertyN
static bool reject(ExecState* exec, bool throwException, const char* message)
{
if (throwException)
- throwTypeError(exec, message);
+ throwTypeError(exec, ASCIILiteral(message));
return false;
}
@@ -180,7 +178,7 @@ JSValue regExpObjectMultiline(ExecState*, JSValue slotBase, PropertyName)
JSValue regExpObjectSource(ExecState* exec, JSValue slotBase, PropertyName)
{
- UString pattern = asRegExpObject(slotBase)->regExp()->pattern();
+ String pattern = asRegExpObject(slotBase)->regExp()->pattern();
unsigned length = pattern.length();
const UChar* characters = pattern.characters();
bool previousCharacterWasBackslash = false;
@@ -193,7 +191,7 @@ JSValue regExpObjectSource(ExecState* exec, JSValue slotBase, PropertyName)
// source cannot ever validly be "". If the source is empty, return a different Pattern
// that would match the same thing.
if (!length)
- return jsString(exec, "(?:)");
+ return jsNontrivialString(exec, ASCIILiteral("(?:)"));
// early return for strings that don't contain a forwards slash and LineTerminator
for (unsigned i = 0; i < length; ++i) {
@@ -228,7 +226,7 @@ JSValue regExpObjectSource(ExecState* exec, JSValue slotBase, PropertyName)
previousCharacterWasBackslash = false;
inBrackets = false;
- UStringBuilder result;
+ StringBuilder result;
for (unsigned i = 0; i < length; ++i) {
UChar ch = characters[i];
if (!previousCharacterWasBackslash) {
@@ -253,9 +251,9 @@ JSValue regExpObjectSource(ExecState* exec, JSValue slotBase, PropertyName)
else if (ch == '\r')
result.append('r');
else if (ch == 0x2028)
- result.append("u2028");
+ result.appendLiteral("u2028");
else
- result.append("u2029");
+ result.appendLiteral("u2029");
} else
result.append(ch);
@@ -265,7 +263,7 @@ JSValue regExpObjectSource(ExecState* exec, JSValue slotBase, PropertyName)
previousCharacterWasBackslash = ch == '\\';
}
- return jsString(exec, result.toUString());
+ return jsString(exec, result.toString());
}
void RegExpObject::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot& slot)
@@ -289,7 +287,7 @@ MatchResult RegExpObject::match(ExecState* exec, JSString* string)
{
RegExp* regExp = this->regExp();
RegExpConstructor* regExpConstructor = exec->lexicalGlobalObject()->regExpConstructor();
- UString input = string->value(exec);
+ String input = string->value(exec);
JSGlobalData& globalData = exec->globalData();
if (!regExp->global())
return regExpConstructor->performMatch(globalData, regExp, string, input, 0);
diff --git a/Source/JavaScriptCore/runtime/RegExpPrototype.cpp b/Source/JavaScriptCore/runtime/RegExpPrototype.cpp
index 24c7c8027..3c742a0d3 100644
--- a/Source/JavaScriptCore/runtime/RegExpPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/RegExpPrototype.cpp
@@ -34,7 +34,6 @@
#include "RegExp.h"
#include "RegExpCache.h"
#include "StringRecursionChecker.h"
-#include "UStringConcatenate.h"
namespace JSC {
@@ -107,10 +106,10 @@ EncodedJSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState* exec)
if (arg0.inherits(&RegExpObject::s_info)) {
if (!arg1.isUndefined())
- return throwVMError(exec, createTypeError(exec, "Cannot supply flags when constructing one RegExp from another."));
+ return throwVMError(exec, createTypeError(exec, ASCIILiteral("Cannot supply flags when constructing one RegExp from another.")));
regExp = asRegExpObject(arg0)->regExp();
} else {
- UString pattern = !exec->argumentCount() ? UString("") : arg0.toString(exec)->value(exec);
+ String pattern = !exec->argumentCount() ? String("") : arg0.toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
@@ -120,7 +119,7 @@ EncodedJSValue JSC_HOST_CALL regExpProtoFuncCompile(ExecState* exec)
if (exec->hadException())
return JSValue::encode(jsUndefined());
if (flags == InvalidFlags)
- return throwVMError(exec, createSyntaxError(exec, "Invalid flags supplied to RegExp constructor."));
+ return throwVMError(exec, createSyntaxError(exec, ASCIILiteral("Invalid flags supplied to RegExp constructor.")));
}
regExp = RegExp::create(exec->globalData(), pattern, flags);
}
@@ -153,7 +152,7 @@ EncodedJSValue JSC_HOST_CALL regExpProtoFuncToString(ExecState* exec)
postfix[index++] = 'i';
if (thisObject->get(exec, exec->propertyNames().multiline).toBoolean(exec))
postfix[index] = 'm';
- UString source = thisObject->get(exec, exec->propertyNames().source).toString(exec)->value(exec);
+ String source = thisObject->get(exec, exec->propertyNames().source).toString(exec)->value(exec);
// If source is empty, use "/(?:)/" to avoid colliding with comment syntax
return JSValue::encode(jsMakeNontrivialString(exec, "/", source, postfix));
}
diff --git a/Source/JavaScriptCore/runtime/ScopeChain.cpp b/Source/JavaScriptCore/runtime/ScopeChain.cpp
deleted file mode 100644
index e7ea07508..000000000
--- a/Source/JavaScriptCore/runtime/ScopeChain.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2003, 2006, 2008 Apple Inc.
- *
- * 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 "ScopeChain.h"
-
-#include "JSActivation.h"
-#include "JSGlobalObject.h"
-#include "JSObject.h"
-#include "PropertyNameArray.h"
-#include <stdio.h>
-
-namespace JSC {
-
-ASSERT_HAS_TRIVIAL_DESTRUCTOR(ScopeChainNode);
-
-#ifndef NDEBUG
-
-void ScopeChainNode::print()
-{
- ScopeChainIterator scopeEnd = end();
- for (ScopeChainIterator scopeIter = begin(); scopeIter != scopeEnd; ++scopeIter) {
- JSObject* o = scopeIter->get();
- PropertyNameArray propertyNames(globalObject->globalExec());
- o->methodTable()->getPropertyNames(o, globalObject->globalExec(), propertyNames, ExcludeDontEnumProperties);
- PropertyNameArray::const_iterator propEnd = propertyNames.end();
-
- dataLog("----- [scope %p] -----\n", o);
- for (PropertyNameArray::const_iterator propIter = propertyNames.begin(); propIter != propEnd; propIter++) {
- Identifier name = *propIter;
- dataLog("%s, ", name.ustring().utf8().data());
- }
- dataLog("\n");
- }
-}
-
-#endif
-
-const ClassInfo ScopeChainNode::s_info = { "ScopeChainNode", 0, 0, 0, CREATE_METHOD_TABLE(ScopeChainNode) };
-
-int ScopeChainNode::localDepth()
-{
- int scopeDepth = 0;
- ScopeChainIterator iter = this->begin();
- ScopeChainIterator end = this->end();
- while (!(*iter)->inherits(&JSActivation::s_info)) {
- ++iter;
- if (iter == end)
- break;
- ++scopeDepth;
- }
- return scopeDepth;
-}
-
-void ScopeChainNode::visitChildren(JSCell* cell, SlotVisitor& visitor)
-{
- ScopeChainNode* thisObject = jsCast<ScopeChainNode*>(cell);
- ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
- COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
- ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
- if (thisObject->next)
- visitor.append(&thisObject->next);
- visitor.append(&thisObject->object);
- visitor.append(&thisObject->globalObject);
- visitor.append(&thisObject->globalThis);
-}
-
-} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/ScopeChain.h b/Source/JavaScriptCore/runtime/ScopeChain.h
deleted file mode 100644
index c382008f1..000000000
--- a/Source/JavaScriptCore/runtime/ScopeChain.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (C) 2003, 2008, 2009 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
- * 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 ScopeChain_h
-#define ScopeChain_h
-
-#include "JSCell.h"
-#include "Structure.h"
-#include <wtf/FastAllocBase.h>
-
-namespace JSC {
-
- class JSGlobalData;
- class JSGlobalObject;
- class JSObject;
- class LLIntOffsetsExtractor;
- class ScopeChainIterator;
- class SlotVisitor;
-
- class ScopeChainNode : public JSCell {
- private:
- ScopeChainNode(ScopeChainNode* next, JSObject* object, JSGlobalData* globalData, JSGlobalObject* globalObject, JSObject* globalThis)
- : JSCell(*globalData, globalData->scopeChainNodeStructure.get())
- , globalData(globalData)
- , next(*globalData, this, next, WriteBarrier<ScopeChainNode>::MayBeNull)
- , object(*globalData, this, object)
- , globalObject(*globalData, this, globalObject)
- , globalThis(*globalData, this, globalThis)
- {
- }
-
- protected:
- void finishCreation(JSGlobalData* globalData, JSGlobalObject* globalObject)
- {
- Base::finishCreation(*globalData);
- ASSERT_UNUSED(globalObject, globalObject);
- }
-
- public:
- typedef JSCell Base;
-
- static ScopeChainNode* create(ExecState* exec, ScopeChainNode* next, JSObject* object, JSGlobalData* globalData, JSGlobalObject* globalObject, JSObject* globalThis)
- {
- ScopeChainNode* node = new (NotNull, allocateCell<ScopeChainNode>(*exec->heap())) ScopeChainNode(next, object, globalData, globalObject, globalThis);
- node->finishCreation(globalData, globalObject);
- return node;
- }
- static ScopeChainNode* create(ScopeChainNode* next, JSObject* object, JSGlobalData* globalData, JSGlobalObject* globalObject, JSObject* globalThis)
- {
- ScopeChainNode* node = new (NotNull, allocateCell<ScopeChainNode>(globalData->heap)) ScopeChainNode(next, object, globalData, globalObject, globalThis);
- node->finishCreation(globalData, globalObject);
- return node;
- }
-
- JSGlobalData* globalData;
- WriteBarrier<ScopeChainNode> next;
- WriteBarrier<JSObject> object;
- WriteBarrier<JSGlobalObject> globalObject;
- WriteBarrier<JSObject> globalThis;
-
- ScopeChainNode* push(JSObject*);
- ScopeChainNode* pop();
-
- ScopeChainIterator begin();
- ScopeChainIterator end();
-
- int localDepth();
-
-#ifndef NDEBUG
- void print();
-#endif
-
- static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(globalData, globalObject, proto, TypeInfo(CompoundType, StructureFlags), &s_info); }
- static void visitChildren(JSCell*, SlotVisitor&);
- static JS_EXPORTDATA const ClassInfo s_info;
-
- private:
- friend class LLIntOffsetsExtractor;
-
- static const unsigned StructureFlags = OverridesVisitChildren;
- };
-
- inline ScopeChainNode* ScopeChainNode::push(JSObject* o)
- {
- ASSERT(o);
- return ScopeChainNode::create(this, o, globalData, globalObject.get(), globalThis.get());
- }
-
- inline ScopeChainNode* ScopeChainNode::pop()
- {
- ASSERT(next);
- return next.get();
- }
-
- class ScopeChainIterator {
- public:
- ScopeChainIterator(ScopeChainNode* node)
- : m_node(node)
- {
- }
-
- WriteBarrier<JSObject> const & operator*() const { return m_node->object; }
- WriteBarrier<JSObject> const * operator->() const { return &(operator*()); }
-
- ScopeChainIterator& operator++() { m_node = m_node->next.get(); return *this; }
-
- // postfix ++ intentionally omitted
-
- bool operator==(const ScopeChainIterator& other) const { return m_node == other.m_node; }
- bool operator!=(const ScopeChainIterator& other) const { return m_node != other.m_node; }
-
- private:
- ScopeChainNode* m_node;
- };
-
- inline ScopeChainIterator ScopeChainNode::begin()
- {
- return ScopeChainIterator(this);
- }
-
- inline ScopeChainIterator ScopeChainNode::end()
- {
- return ScopeChainIterator(0);
- }
-
- ALWAYS_INLINE JSGlobalData& ExecState::globalData() const
- {
- ASSERT(scopeChain()->globalData);
- return *scopeChain()->globalData;
- }
-
- ALWAYS_INLINE JSGlobalObject* ExecState::lexicalGlobalObject() const
- {
- return scopeChain()->globalObject.get();
- }
-
- ALWAYS_INLINE JSObject* ExecState::globalThisValue() const
- {
- return scopeChain()->globalThis.get();
- }
-
- ALWAYS_INLINE ScopeChainNode* Register::scopeChain() const
- {
- return static_cast<ScopeChainNode*>(jsValue().asCell());
- }
-
- ALWAYS_INLINE Register& Register::operator=(ScopeChainNode* scopeChain)
- {
- *this = JSValue(scopeChain);
- return *this;
- }
-
-} // namespace JSC
-
-#endif // ScopeChain_h
diff --git a/Source/JavaScriptCore/runtime/ScopeChainMark.h b/Source/JavaScriptCore/runtime/ScopeChainMark.h
deleted file mode 100644
index 35701f11d..000000000
--- a/Source/JavaScriptCore/runtime/ScopeChainMark.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (C) 2003, 2006, 2008, 2009 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
- * 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 ScopeChainMark_h
-#define ScopeChainMark_h
-
-#include "ScopeChain.h"
-
-namespace JSC {
-
-} // namespace JSC
-
-#endif // ScopeChainMark_h
diff --git a/Source/JavaScriptCore/runtime/SmallStrings.cpp b/Source/JavaScriptCore/runtime/SmallStrings.cpp
index f50f73d27..56a359279 100644
--- a/Source/JavaScriptCore/runtime/SmallStrings.cpp
+++ b/Source/JavaScriptCore/runtime/SmallStrings.cpp
@@ -31,6 +31,7 @@
#include "JSString.h"
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/StringImpl.h>
namespace JSC {
diff --git a/Source/JavaScriptCore/runtime/SmallStrings.h b/Source/JavaScriptCore/runtime/SmallStrings.h
index e609c5092..5bc9d2252 100644
--- a/Source/JavaScriptCore/runtime/SmallStrings.h
+++ b/Source/JavaScriptCore/runtime/SmallStrings.h
@@ -26,8 +26,8 @@
#ifndef SmallStrings_h
#define SmallStrings_h
-#include "UString.h"
#include <wtf/FixedArray.h>
+#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
#define JSC_COMMON_STRINGS_EACH_NAME(macro) \
@@ -41,6 +41,10 @@
macro(string) \
macro(true)
+namespace WTF {
+class StringImpl;
+}
+
namespace JSC {
class HeapRootVisitor;
@@ -71,7 +75,7 @@ namespace JSC {
return m_singleCharacterStrings[character];
}
- JS_EXPORT_PRIVATE StringImpl* singleCharacterStringRep(unsigned char character);
+ JS_EXPORT_PRIVATE WTF::StringImpl* singleCharacterStringRep(unsigned char character);
void finalizeSmallStrings();
diff --git a/Source/JavaScriptCore/runtime/StorageBarrier.h b/Source/JavaScriptCore/runtime/StorageBarrier.h
index 2a0c842ba..1fae82091 100644
--- a/Source/JavaScriptCore/runtime/StorageBarrier.h
+++ b/Source/JavaScriptCore/runtime/StorageBarrier.h
@@ -66,6 +66,8 @@ public:
ConstPropertyStorage get() const { return m_storage; }
PropertyStorage get() { return m_storage; }
+
+ bool operator!() { return !m_storage; }
private:
PropertyStorage m_storage;
diff --git a/Source/JavaScriptCore/runtime/StrictEvalActivation.cpp b/Source/JavaScriptCore/runtime/StrictEvalActivation.cpp
index 8b47a5d70..b1f28c8aa 100644
--- a/Source/JavaScriptCore/runtime/StrictEvalActivation.cpp
+++ b/Source/JavaScriptCore/runtime/StrictEvalActivation.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "StrictEvalActivation.h"
+#include "JSGlobalObject.h"
+
namespace JSC {
ASSERT_HAS_TRIVIAL_DESTRUCTOR(StrictEvalActivation);
@@ -33,7 +35,11 @@ ASSERT_HAS_TRIVIAL_DESTRUCTOR(StrictEvalActivation);
const ClassInfo StrictEvalActivation::s_info = { "Object", &Base::s_info, 0, 0, CREATE_METHOD_TABLE(StrictEvalActivation) };
StrictEvalActivation::StrictEvalActivation(ExecState* exec)
- : JSNonFinalObject(exec->globalData(), exec->globalData().strictEvalActivationStructure.get())
+ : Base(
+ exec->globalData(),
+ exec->lexicalGlobalObject()->strictEvalActivationStructure(),
+ exec->scope()
+ )
{
}
diff --git a/Source/JavaScriptCore/runtime/StrictEvalActivation.h b/Source/JavaScriptCore/runtime/StrictEvalActivation.h
index d73eedf5a..9f64feb15 100644
--- a/Source/JavaScriptCore/runtime/StrictEvalActivation.h
+++ b/Source/JavaScriptCore/runtime/StrictEvalActivation.h
@@ -26,13 +26,13 @@
#ifndef StrictEvalActivation_h
#define StrictEvalActivation_h
-#include "JSObject.h"
+#include "JSScope.h"
namespace JSC {
-class StrictEvalActivation : public JSNonFinalObject {
+class StrictEvalActivation : public JSScope {
public:
- typedef JSNonFinalObject Base;
+ typedef JSScope Base;
static StrictEvalActivation* create(ExecState* exec)
{
@@ -52,7 +52,7 @@ public:
static const ClassInfo s_info;
protected:
- static const unsigned StructureFlags = IsEnvironmentRecord | JSNonFinalObject::StructureFlags;
+ static const unsigned StructureFlags = IsEnvironmentRecord | Base::StructureFlags;
private:
StrictEvalActivation(ExecState*);
diff --git a/Source/JavaScriptCore/runtime/StringObject.cpp b/Source/JavaScriptCore/runtime/StringObject.cpp
index 3c037bcd1..113dee165 100644
--- a/Source/JavaScriptCore/runtime/StringObject.cpp
+++ b/Source/JavaScriptCore/runtime/StringObject.cpp
@@ -85,27 +85,27 @@ bool StringObject::defineOwnProperty(JSObject* object, ExecState* exec, Property
if (propertyName == exec->propertyNames().length) {
if (!object->isExtensible()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to define property on object that is not extensible."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to define property on object that is not extensible.")));
return false;
}
if (descriptor.configurablePresent() && descriptor.configurable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to configurable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to configurable attribute of unconfigurable property.")));
return false;
}
if (descriptor.enumerablePresent() && descriptor.enumerable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change enumerable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change enumerable attribute of unconfigurable property.")));
return false;
}
if (descriptor.isAccessorDescriptor()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change access mechanism for an unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change access mechanism for an unconfigurable property.")));
return false;
}
if (descriptor.writablePresent() && descriptor.writable()) {
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change writable attribute of unconfigurable property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change writable attribute of unconfigurable property.")));
return false;
}
if (!descriptor.value())
@@ -113,7 +113,7 @@ bool StringObject::defineOwnProperty(JSObject* object, ExecState* exec, Property
if (propertyName == exec->propertyNames().length && sameValue(exec, descriptor.value(), jsNumber(thisObject->internalValue()->length())))
return true;
if (throwException)
- throwError(exec, createTypeError(exec, "Attempting to change value of a readonly property."));
+ throwError(exec, createTypeError(exec, ASCIILiteral("Attempting to change value of a readonly property.")));
return false;
}
@@ -138,7 +138,7 @@ void StringObject::getOwnPropertyNames(JSObject* object, ExecState* exec, Proper
StringObject* thisObject = jsCast<StringObject*>(object);
int size = thisObject->internalValue()->length();
for (int i = 0; i < size; ++i)
- propertyNames.add(Identifier(exec, UString::number(i)));
+ propertyNames.add(Identifier(exec, String::number(i)));
if (mode == IncludeDontEnumProperties)
propertyNames.add(exec->propertyNames().length);
return JSObject::getOwnPropertyNames(thisObject, exec, propertyNames, mode);
diff --git a/Source/JavaScriptCore/runtime/StringPrototype.cpp b/Source/JavaScriptCore/runtime/StringPrototype.cpp
index 001e5e8b0..73633a60b 100644
--- a/Source/JavaScriptCore/runtime/StringPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/StringPrototype.cpp
@@ -162,7 +162,7 @@ bool StringPrototype::getOwnPropertyDescriptor(JSObject* object, ExecState* exec
// Helper for producing a JSString for 'string', where 'string' was been produced by
// calling ToString on 'originalValue'. In cases where 'originalValue' already was a
// string primitive we can just use this, otherwise we need to allocate a new JSString.
-static inline JSString* jsStringWithReuse(ExecState* exec, JSValue originalValue, const UString& string)
+static inline JSString* jsStringWithReuse(ExecState* exec, JSValue originalValue, const String& string)
{
if (originalValue.isString()) {
ASSERT(asString(originalValue)->value(exec) == string);
@@ -172,7 +172,7 @@ static inline JSString* jsStringWithReuse(ExecState* exec, JSValue originalValue
}
template <typename CharType>
-static NEVER_INLINE UString substituteBackreferencesSlow(const UString& replacement, const UString& source, const int* ovector, RegExp* reg, size_t i)
+static NEVER_INLINE String substituteBackreferencesSlow(const String& replacement, const String& source, const int* ovector, RegExp* reg, size_t i)
{
Vector<CharType> substitutedReplacement;
int offset = 0;
@@ -184,7 +184,7 @@ static NEVER_INLINE UString substituteBackreferencesSlow(const UString& replacem
if (ref == '$') {
// "$$" -> "$"
++i;
- substitutedReplacement.append(replacement.getCharacters<CharType>() + offset, i - offset);
+ substitutedReplacement.append(replacement.getCharactersWithUpconvert<CharType>() + offset, i - offset);
offset = i + 1;
continue;
}
@@ -224,21 +224,21 @@ static NEVER_INLINE UString substituteBackreferencesSlow(const UString& replacem
continue;
if (i - offset)
- substitutedReplacement.append(replacement.getCharacters<CharType>() + offset, i - offset);
+ substitutedReplacement.append(replacement.getCharactersWithUpconvert<CharType>() + offset, i - offset);
i += 1 + advance;
offset = i + 1;
if (backrefStart >= 0)
- substitutedReplacement.append(source.getCharacters<CharType>() + backrefStart, backrefLength);
+ substitutedReplacement.append(source.getCharactersWithUpconvert<CharType>() + backrefStart, backrefLength);
} while ((i = replacement.find('$', i + 1)) != notFound);
if (replacement.length() - offset)
- substitutedReplacement.append(replacement.getCharacters<CharType>() + offset, replacement.length() - offset);
+ substitutedReplacement.append(replacement.getCharactersWithUpconvert<CharType>() + offset, replacement.length() - offset);
substitutedReplacement.shrinkToFit();
- return UString::adopt(substitutedReplacement);
+ return String::adopt(substitutedReplacement);
}
-static inline UString substituteBackreferences(const UString& replacement, const UString& source, const int* ovector, RegExp* reg)
+static inline String substituteBackreferences(const String& replacement, const String& source, const int* ovector, RegExp* reg)
{
size_t i = replacement.find('$');
if (UNLIKELY(i != notFound)) {
@@ -249,7 +249,7 @@ static inline UString substituteBackreferences(const UString& replacement, const
return replacement;
}
-static inline int localeCompare(const UString& a, const UString& b)
+static inline int localeCompare(const String& a, const String& b)
{
return Collator::userDefault()->collate(reinterpret_cast<const ::UChar*>(a.characters()), a.length(), reinterpret_cast<const ::UChar*>(b.characters()), b.length());
}
@@ -270,7 +270,7 @@ public:
int length;
};
-static ALWAYS_INLINE JSValue jsSpliceSubstrings(ExecState* exec, JSString* sourceVal, const UString& source, const StringRange* substringRanges, int rangeCount)
+static ALWAYS_INLINE JSValue jsSpliceSubstrings(ExecState* exec, JSString* sourceVal, const String& source, const StringRange* substringRanges, int rangeCount)
{
if (rangeCount == 1) {
int sourceSize = source.length();
@@ -278,7 +278,7 @@ static ALWAYS_INLINE JSValue jsSpliceSubstrings(ExecState* exec, JSString* sourc
int length = substringRanges[0].length;
if (position <= 0 && length >= sourceSize)
return sourceVal;
- // We could call UString::substr, but this would result in redundant checks
+ // We could call String::substringSharingImpl(), but this would result in redundant checks.
return jsString(exec, StringImpl::create(source.impl(), max(0, position), min(sourceSize, length)));
}
@@ -287,7 +287,7 @@ static ALWAYS_INLINE JSValue jsSpliceSubstrings(ExecState* exec, JSString* sourc
totalLength += substringRanges[i].length;
if (!totalLength)
- return jsString(exec, "");
+ return jsEmptyString(exec);
if (source.is8Bit()) {
LChar* buffer;
@@ -325,7 +325,7 @@ static ALWAYS_INLINE JSValue jsSpliceSubstrings(ExecState* exec, JSString* sourc
return jsString(exec, impl.release());
}
-static ALWAYS_INLINE JSValue jsSpliceSubstringsWithSeparators(ExecState* exec, JSString* sourceVal, const UString& source, const StringRange* substringRanges, int rangeCount, const UString* separators, int separatorCount)
+static ALWAYS_INLINE JSValue jsSpliceSubstringsWithSeparators(ExecState* exec, JSString* sourceVal, const String& source, const StringRange* substringRanges, int rangeCount, const String* separators, int separatorCount)
{
if (rangeCount == 1 && separatorCount == 0) {
int sourceSize = source.length();
@@ -333,7 +333,7 @@ static ALWAYS_INLINE JSValue jsSpliceSubstringsWithSeparators(ExecState* exec, J
int length = substringRanges[0].length;
if (position <= 0 && length >= sourceSize)
return sourceVal;
- // We could call UString::substr, but this would result in redundant checks
+ // We could call String::substringSharingImpl(), but this would result in redundant checks.
return jsString(exec, StringImpl::create(source.impl(), max(0, position), min(sourceSize, length)));
}
@@ -348,7 +348,7 @@ static ALWAYS_INLINE JSValue jsSpliceSubstringsWithSeparators(ExecState* exec, J
}
if (!totalLength)
- return jsString(exec, "");
+ return jsEmptyString(exec);
if (source.is8Bit() && allSeperators8Bit) {
LChar* buffer;
@@ -403,7 +403,7 @@ static ALWAYS_INLINE JSValue jsSpliceSubstringsWithSeparators(ExecState* exec, J
return jsString(exec, impl.release());
}
-static NEVER_INLINE EncodedJSValue removeUsingRegExpSearch(ExecState* exec, JSString* string, const UString& source, RegExp* regExp)
+static NEVER_INLINE EncodedJSValue removeUsingRegExpSearch(ExecState* exec, JSString* string, const String& source, RegExp* regExp)
{
size_t lastIndex = 0;
unsigned startPosition = 0;
@@ -444,13 +444,13 @@ static NEVER_INLINE EncodedJSValue removeUsingRegExpSearch(ExecState* exec, JSSt
static NEVER_INLINE EncodedJSValue replaceUsingRegExpSearch(ExecState* exec, JSString* string, JSValue searchValue)
{
JSValue replaceValue = exec->argument(1);
- UString replacementString;
+ String replacementString;
CallData callData;
CallType callType = getCallData(replaceValue, callData);
if (callType == CallTypeNone)
replacementString = replaceValue.toString(exec)->value(exec);
- const UString& source = string->value(exec);
+ const String& source = string->value(exec);
unsigned sourceLen = source.length();
if (exec->hadException())
return JSValue::encode(JSValue());
@@ -474,7 +474,7 @@ static NEVER_INLINE EncodedJSValue replaceUsingRegExpSearch(ExecState* exec, JSS
unsigned startPosition = 0;
Vector<StringRange, 16> sourceRanges;
- Vector<UString, 16> replacements;
+ Vector<String, 16> replacements;
// This is either a loop (if global is set) or a one-way (if not).
if (global && callType == CallTypeJS) {
@@ -601,7 +601,7 @@ static NEVER_INLINE EncodedJSValue replaceUsingRegExpSearch(ExecState* exec, JSS
if (replLen)
replacements.append(substituteBackreferences(replacementString, source, ovector, regExp));
else
- replacements.append(UString());
+ replacements.append(String());
}
}
@@ -628,8 +628,8 @@ static NEVER_INLINE EncodedJSValue replaceUsingRegExpSearch(ExecState* exec, JSS
static inline EncodedJSValue replaceUsingStringSearch(ExecState* exec, JSString* jsString, JSValue searchValue)
{
- const UString& string = jsString->value(exec);
- UString searchString = searchValue.toUString(exec);
+ const String& string = jsString->value(exec);
+ String searchString = searchValue.toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
@@ -651,19 +651,19 @@ static inline EncodedJSValue replaceUsingStringSearch(ExecState* exec, JSString*
return JSValue::encode(jsUndefined());
}
- UString replaceString = replaceValue.toUString(exec);
+ String replaceString = replaceValue.toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
StringImpl* stringImpl = string.impl();
- UString leftPart(StringImpl::create(stringImpl, 0, matchStart));
+ String leftPart(StringImpl::create(stringImpl, 0, matchStart));
size_t matchEnd = matchStart + searchString.impl()->length();
int ovector[2] = { matchStart, matchEnd};
- UString middlePart = substituteBackreferences(replaceString, string, ovector, 0);
+ String middlePart = substituteBackreferences(replaceString, string, ovector, 0);
size_t leftLength = stringImpl->length() - matchEnd;
- UString rightPart(StringImpl::create(stringImpl, matchEnd, leftLength));
+ String rightPart(StringImpl::create(stringImpl, matchEnd, leftLength));
return JSValue::encode(JSC::jsString(exec, leftPart, middlePart, rightPart));
}
@@ -699,7 +699,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncCharAt(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
unsigned len = s.length();
JSValue a0 = exec->argument(0);
if (a0.isUInt32()) {
@@ -719,7 +719,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncCharCodeAt(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
unsigned len = s.length();
JSValue a0 = exec->argument(0);
if (a0.isUInt32()) {
@@ -753,11 +753,11 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncIndexOf(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
JSValue a0 = exec->argument(0);
JSValue a1 = exec->argument(1);
- UString u2 = a0.toString(exec)->value(exec);
+ String u2 = a0.toString(exec)->value(exec);
size_t result;
if (a1.isUndefined())
@@ -788,13 +788,13 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncLastIndexOf(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
int len = s.length();
JSValue a0 = exec->argument(0);
JSValue a1 = exec->argument(1);
- UString u2 = a0.toString(exec)->value(exec);
+ String u2 = a0.toString(exec)->value(exec);
double dpos = a1.toIntegerPreserveNaN(exec);
if (dpos < 0)
dpos = 0;
@@ -813,7 +813,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState* exec)
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
JSString* string = thisValue.toString(exec);
- UString s = string->value(exec);
+ String s = string->value(exec);
JSGlobalData* globalData = &exec->globalData();
JSValue a0 = exec->argument(0);
@@ -836,7 +836,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncMatch(ExecState* exec)
* replaced with the result of the expression new RegExp(regexp).
* Per ECMA 15.10.4.1, if a0 is undefined substitute the empty string.
*/
- regExp = RegExp::create(exec->globalData(), a0.isUndefined() ? UString("") : a0.toString(exec)->value(exec), NoFlags);
+ regExp = RegExp::create(exec->globalData(), a0.isUndefined() ? String("") : a0.toString(exec)->value(exec), NoFlags);
if (!regExp->isValid())
return throwVMError(exec, createSyntaxError(exec, regExp->errorMessage()));
}
@@ -872,7 +872,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState* exec)
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
JSString* string = thisValue.toString(exec);
- UString s = string->value(exec);
+ String s = string->value(exec);
JSGlobalData* globalData = &exec->globalData();
JSValue a0 = exec->argument(0);
@@ -887,7 +887,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSearch(ExecState* exec)
* replaced with the result of the expression new RegExp(regexp).
* Per ECMA 15.10.4.1, if a0 is undefined substitute the empty string.
*/
- reg = RegExp::create(exec->globalData(), a0.isUndefined() ? UString("") : a0.toString(exec)->value(exec), NoFlags);
+ reg = RegExp::create(exec->globalData(), a0.isUndefined() ? String("") : a0.toString(exec)->value(exec), NoFlags);
if (!reg->isValid())
return throwVMError(exec, createSyntaxError(exec, reg->errorMessage()));
}
@@ -901,7 +901,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
int len = s.length();
JSValue a0 = exec->argument(0);
@@ -925,7 +925,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSlice(ExecState* exec)
// Return true in case of early return (resultLength got to limitLength).
template<typename CharacterType>
-static ALWAYS_INLINE bool splitStringByOneCharacterImpl(ExecState* exec, JSArray* result, const UString& input, StringImpl* string, UChar separatorCharacter, size_t& position, unsigned& resultLength, unsigned limitLength)
+static ALWAYS_INLINE bool splitStringByOneCharacterImpl(ExecState* exec, JSArray* result, const String& input, StringImpl* string, UChar separatorCharacter, size_t& position, unsigned& resultLength, unsigned limitLength)
{
// 12. Let q = p.
size_t matchPosition;
@@ -939,7 +939,7 @@ static ALWAYS_INLINE bool splitStringByOneCharacterImpl(ExecState* exec, JSArray
// through q (exclusive).
// 2. Call the [[DefineOwnProperty]] internal method of A with arguments ToString(lengthA),
// Property Descriptor {[[Value]]: T, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
- result->putDirectIndex(exec, resultLength, jsSubstring(exec, input, position, matchPosition - position), false);
+ result->putDirectIndex(exec, resultLength, jsSubstring(exec, input, position, matchPosition - position));
// 3. Increment lengthA by 1.
// 4. If lengthA == lim, return A.
if (++resultLength == limitLength)
@@ -962,7 +962,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// 2. Let S be the result of calling ToString, giving it the this value as its argument.
// 6. Let s be the number of characters in S.
- UString input = thisValue.toString(exec)->value(exec);
+ String input = thisValue.toString(exec)->value(exec);
// 3. Let A be a new array created as if by the expression new Array()
// where Array is the standard built-in constructor with that name.
@@ -993,7 +993,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
if (separatorValue.isUndefined()) {
// a. Call the [[DefineOwnProperty]] internal method of A with arguments "0",
// Property Descriptor {[[Value]]: S, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
- result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input), false);
+ result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input));
// b. Return A.
return JSValue::encode(result);
}
@@ -1006,7 +1006,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// Property Descriptor {[[Value]]: S, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
// d. Return A.
if (!reg->match(*globalData, input, 0))
- result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input), false);
+ result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input));
return JSValue::encode(result);
}
@@ -1037,7 +1037,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// through q (exclusive).
// 2. Call the [[DefineOwnProperty]] internal method of A with arguments ToString(lengthA),
// Property Descriptor {[[Value]]: T, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
- result->putDirectIndex(exec, resultLength, jsSubstring(exec, input, position, matchPosition - position), false);
+ result->putDirectIndex(exec, resultLength, jsSubstring(exec, input, position, matchPosition - position));
// 3. Increment lengthA by 1.
// 4. If lengthA == lim, return A.
if (++resultLength == limit)
@@ -1056,7 +1056,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// ToString(lengthA), Property Descriptor {[[Value]]: cap[i], [[Writable]]:
// true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
int sub = ovector[i * 2];
- result->putDirectIndex(exec, resultLength, sub < 0 ? jsUndefined() : jsSubstring(exec, input, sub, ovector[i * 2 + 1] - sub), false);
+ result->putDirectIndex(exec, resultLength, sub < 0 ? jsUndefined() : jsSubstring(exec, input, sub, ovector[i * 2 + 1] - sub));
// c Increment lengthA by 1.
// d If lengthA == lim, return A.
if (++resultLength == limit)
@@ -1064,7 +1064,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
}
}
} else {
- UString separator = separatorValue.toString(exec)->value(exec);
+ String separator = separatorValue.toString(exec)->value(exec);
// 9. If lim == 0, return A.
if (!limit)
@@ -1075,7 +1075,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
if (separatorValue.isUndefined()) {
// a. Call the [[DefineOwnProperty]] internal method of A with arguments "0",
// Property Descriptor {[[Value]]: S, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
- result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input), false);
+ result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input));
// b. Return A.
return JSValue::encode(result);
}
@@ -1088,7 +1088,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// Property Descriptor {[[Value]]: S, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
// d. Return A.
if (!separator.isEmpty())
- result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input), false);
+ result->putDirectIndex(exec, 0, jsStringWithReuse(exec, thisValue, input));
return JSValue::encode(result);
}
@@ -1099,7 +1099,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
ASSERT(limit);
do {
- result->putDirectIndex(exec, position, jsSingleCharacterSubstring(exec, input, position), false);
+ result->putDirectIndex(exec, position, jsSingleCharacterSubstring(exec, input, position));
} while (++position < limit);
return JSValue::encode(result);
@@ -1139,7 +1139,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// through q (exclusive).
// 2. Call the [[DefineOwnProperty]] internal method of A with arguments ToString(lengthA),
// Property Descriptor {[[Value]]: T, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
- result->putDirectIndex(exec, resultLength, jsSubstring(exec, input, position, matchPosition - position), false);
+ result->putDirectIndex(exec, resultLength, jsSubstring(exec, input, position, matchPosition - position));
// 3. Increment lengthA by 1.
// 4. If lengthA == lim, return A.
if (++resultLength == limit)
@@ -1156,7 +1156,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSplit(ExecState* exec)
// through s (exclusive).
// 15. Call the [[DefineOwnProperty]] internal method of A with arguments ToString(lengthA), Property Descriptor
// {[[Value]]: T, [[Writable]]: true, [[Enumerable]]: true, [[Configurable]]: true}, and false.
- result->putDirectIndex(exec, resultLength++, jsSubstring(exec, input, position, input.length() - position), false);
+ result->putDirectIndex(exec, resultLength++, jsSubstring(exec, input, position, input.length() - position));
// 16. Return A.
return JSValue::encode(result);
@@ -1167,7 +1167,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSubstr(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
unsigned len;
JSString* jsString = 0;
- UString uString;
+ String uString;
if (thisValue.isString()) {
jsString = jsCast<JSString*>(thisValue.asCell());
len = jsString->length();
@@ -1247,7 +1247,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState* exec)
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
JSString* sVal = thisValue.toString(exec);
- const UString& s = sVal->value(exec);
+ const String& s = sVal->value(exec);
int sSize = s.length();
if (!sSize)
@@ -1257,7 +1257,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncToLowerCase(ExecState* exec)
RefPtr<StringImpl> lower = ourImpl->lower();
if (ourImpl == lower)
return JSValue::encode(sVal);
- return JSValue::encode(jsString(exec, UString(lower.release())));
+ return JSValue::encode(jsString(exec, String(lower.release())));
}
EncodedJSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState* exec)
@@ -1266,7 +1266,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState* exec)
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
JSString* sVal = thisValue.toString(exec);
- const UString& s = sVal->value(exec);
+ const String& s = sVal->value(exec);
int sSize = s.length();
if (!sSize)
@@ -1276,7 +1276,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncToUpperCase(ExecState* exec)
RefPtr<StringImpl> upper = sImpl->upper();
if (sImpl == upper)
return JSValue::encode(sVal);
- return JSValue::encode(jsString(exec, UString(upper.release())));
+ return JSValue::encode(jsString(exec, String(upper.release())));
}
EncodedJSValue JSC_HOST_CALL stringProtoFuncLocaleCompare(ExecState* exec)
@@ -1287,7 +1287,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncLocaleCompare(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
JSValue a0 = exec->argument(0);
return JSValue::encode(jsNumber(localeCompare(s, a0.toString(exec)->value(exec))));
@@ -1298,7 +1298,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncBig(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<big>", s, "</big>"));
}
@@ -1307,7 +1307,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSmall(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<small>", s, "</small>"));
}
@@ -1316,7 +1316,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncBlink(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<blink>", s, "</blink>"));
}
@@ -1325,7 +1325,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncBold(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<b>", s, "</b>"));
}
@@ -1334,7 +1334,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncFixed(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<tt>", s, "</tt>"));
}
@@ -1343,7 +1343,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncItalics(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<i>", s, "</i>"));
}
@@ -1352,7 +1352,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncStrike(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<strike>", s, "</strike>"));
}
@@ -1361,7 +1361,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSub(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<sub>", s, "</sub>"));
}
@@ -1370,7 +1370,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncSup(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
return JSValue::encode(jsMakeNontrivialString(exec, "<sup>", s, "</sup>"));
}
@@ -1379,7 +1379,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncFontcolor(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
JSValue a0 = exec->argument(0);
return JSValue::encode(jsMakeNontrivialString(exec, "<font color=\"", a0.toString(exec)->value(exec), "\">", s, "</font>"));
}
@@ -1389,7 +1389,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncFontsize(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
JSValue a0 = exec->argument(0);
uint32_t smallInteger;
@@ -1434,7 +1434,7 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncAnchor(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
JSValue a0 = exec->argument(0);
return JSValue::encode(jsMakeNontrivialString(exec, "<a name=\"", a0.toString(exec)->value(exec), "\">", s, "</a>"));
}
@@ -1444,9 +1444,9 @@ EncodedJSValue JSC_HOST_CALL stringProtoFuncLink(ExecState* exec)
JSValue thisValue = exec->hostThisValue();
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwVMTypeError(exec);
- UString s = thisValue.toString(exec)->value(exec);
+ String s = thisValue.toString(exec)->value(exec);
JSValue a0 = exec->argument(0);
- UString linkText = a0.toString(exec)->value(exec);
+ String linkText = a0.toString(exec)->value(exec);
unsigned linkTextSize = linkText.length();
unsigned stringSize = s.length();
@@ -1489,7 +1489,7 @@ static inline JSValue trimString(ExecState* exec, JSValue thisValue, int trimKin
{
if (thisValue.isUndefinedOrNull()) // CheckObjectCoercible
return throwTypeError(exec);
- UString str = thisValue.toString(exec)->value(exec);
+ String str = thisValue.toString(exec)->value(exec);
unsigned left = 0;
if (trimKind & TrimLeft) {
while (left < str.length() && isTrimWhitespace(str[left]))
diff --git a/Source/JavaScriptCore/runtime/Structure.cpp b/Source/JavaScriptCore/runtime/Structure.cpp
index e02105826..4c8ee8741 100644
--- a/Source/JavaScriptCore/runtime/Structure.cpp
+++ b/Source/JavaScriptCore/runtime/Structure.cpp
@@ -762,32 +762,24 @@ void Structure::visitChildren(JSCell* cell, SlotVisitor& visitor)
Structure* thisObject = jsCast<Structure*>(cell);
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
+
JSCell::visitChildren(thisObject, visitor);
- if (thisObject->m_globalObject)
- visitor.append(&thisObject->m_globalObject);
+ visitor.append(&thisObject->m_globalObject);
if (!thisObject->isObject())
thisObject->m_cachedPrototypeChain.clear();
else {
- if (thisObject->m_prototype)
- visitor.append(&thisObject->m_prototype);
- if (thisObject->m_cachedPrototypeChain)
- visitor.append(&thisObject->m_cachedPrototypeChain);
+ visitor.append(&thisObject->m_prototype);
+ visitor.append(&thisObject->m_cachedPrototypeChain);
}
- if (thisObject->m_previous)
- visitor.append(&thisObject->m_previous);
- if (thisObject->m_specificValueInPrevious)
- visitor.append(&thisObject->m_specificValueInPrevious);
- if (thisObject->m_enumerationCache)
- visitor.append(&thisObject->m_enumerationCache);
+ visitor.append(&thisObject->m_previous);
+ visitor.append(&thisObject->m_specificValueInPrevious);
+ visitor.append(&thisObject->m_enumerationCache);
if (thisObject->m_propertyTable) {
PropertyTable::iterator end = thisObject->m_propertyTable->end();
- for (PropertyTable::iterator ptr = thisObject->m_propertyTable->begin(); ptr != end; ++ptr) {
- if (ptr->specificValue)
- visitor.append(&ptr->specificValue);
- }
+ for (PropertyTable::iterator ptr = thisObject->m_propertyTable->begin(); ptr != end; ++ptr)
+ visitor.append(&ptr->specificValue);
}
- if (thisObject->m_objectToStringValue)
- visitor.append(&thisObject->m_objectToStringValue);
+ visitor.append(&thisObject->m_objectToStringValue);
}
#if DO_PROPERTYMAP_CONSTENCY_CHECK
diff --git a/Source/JavaScriptCore/runtime/Structure.h b/Source/JavaScriptCore/runtime/Structure.h
index 2bb0107b7..57368bee8 100644
--- a/Source/JavaScriptCore/runtime/Structure.h
+++ b/Source/JavaScriptCore/runtime/Structure.h
@@ -36,12 +36,12 @@
#include "Protect.h"
#include "StructureTransitionTable.h"
#include "JSTypeInfo.h"
-#include "UString.h"
#include "Watchpoint.h"
#include "Weak.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/StringImpl.h>
namespace JSC {
@@ -259,7 +259,7 @@ namespace JSC {
bool masqueradesAsUndefined(JSGlobalObject* lexicalGlobalObject);
PropertyOffset get(JSGlobalData&, PropertyName);
- PropertyOffset get(JSGlobalData&, const UString& name);
+ PropertyOffset get(JSGlobalData&, const WTF::String& name);
JS_EXPORT_PRIVATE PropertyOffset get(JSGlobalData&, PropertyName, unsigned& attributes, JSCell*& specificValue);
bool hasGetterSetterProperties() const { return m_hasGetterSetterProperties; }
@@ -501,7 +501,7 @@ namespace JSC {
return entry ? entry->offset : invalidOffset;
}
- inline PropertyOffset Structure::get(JSGlobalData& globalData, const UString& name)
+ inline PropertyOffset Structure::get(JSGlobalData& globalData, const WTF::String& name)
{
ASSERT(structure()->classInfo() == &s_info);
materializePropertyMapIfNecessary(globalData);
@@ -567,6 +567,8 @@ namespace JSC {
ALWAYS_INLINE void MarkStack::internalAppend(JSCell* cell)
{
ASSERT(!m_isCheckingForDefaultMarkViolation);
+ if (!cell)
+ return;
#if ENABLE(GC_VALIDATION)
validate(cell);
#endif
diff --git a/Source/JavaScriptCore/runtime/StructureTransitionTable.h b/Source/JavaScriptCore/runtime/StructureTransitionTable.h
index 2067a8995..7c9d50894 100644
--- a/Source/JavaScriptCore/runtime/StructureTransitionTable.h
+++ b/Source/JavaScriptCore/runtime/StructureTransitionTable.h
@@ -26,11 +26,11 @@
#ifndef StructureTransitionTable_h
#define StructureTransitionTable_h
-#include "UString.h"
#include "WeakGCMap.h"
#include <wtf/HashFunctions.h>
#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/StringImpl.h>
namespace JSC {
diff --git a/Source/JavaScriptCore/runtime/SymbolTable.cpp b/Source/JavaScriptCore/runtime/SymbolTable.cpp
index 2a9d71629..1b7fd89c5 100644
--- a/Source/JavaScriptCore/runtime/SymbolTable.cpp
+++ b/Source/JavaScriptCore/runtime/SymbolTable.cpp
@@ -31,6 +31,8 @@
namespace JSC {
+const ClassInfo SharedSymbolTable::s_info = { "SharedSymbolTable", 0, 0, 0, CREATE_METHOD_TABLE(SharedSymbolTable) };
+
SymbolTableEntry& SymbolTableEntry::copySlow(const SymbolTableEntry& other)
{
ASSERT(other.isFat());
@@ -40,6 +42,12 @@ SymbolTableEntry& SymbolTableEntry::copySlow(const SymbolTableEntry& other)
return *this;
}
+void SharedSymbolTable::destroy(JSCell* cell)
+{
+ SharedSymbolTable* thisObject = jsCast<SharedSymbolTable*>(cell);
+ thisObject->SharedSymbolTable::~SharedSymbolTable();
+}
+
void SymbolTableEntry::freeFatEntrySlow()
{
ASSERT(isFat());
diff --git a/Source/JavaScriptCore/runtime/SymbolTable.h b/Source/JavaScriptCore/runtime/SymbolTable.h
index 8b017efbc..08ea8c163 100644
--- a/Source/JavaScriptCore/runtime/SymbolTable.h
+++ b/Source/JavaScriptCore/runtime/SymbolTable.h
@@ -30,10 +30,10 @@
#define SymbolTable_h
#include "JSObject.h"
-#include "UString.h"
#include "Watchpoint.h"
#include <wtf/AlwaysInline.h>
#include <wtf/HashTraits.h>
+#include <wtf/text/StringImpl.h>
namespace JSC {
@@ -325,12 +325,28 @@ namespace JSC {
typedef HashMap<RefPtr<StringImpl>, SymbolTableEntry, IdentifierRepHash, HashTraits<RefPtr<StringImpl> >, SymbolTableIndexHashTraits> SymbolTable;
- class SharedSymbolTable : public SymbolTable, public RefCounted<SharedSymbolTable> {
- WTF_MAKE_FAST_ALLOCATED;
+ class SharedSymbolTable : public JSCell, public SymbolTable {
public:
- static PassRefPtr<SharedSymbolTable> create() { return adoptRef(new SharedSymbolTable); }
+ static SharedSymbolTable* create(JSGlobalData& globalData)
+ {
+ SharedSymbolTable* sharedSymbolTable = new (NotNull, allocateCell<SharedSymbolTable>(globalData.heap)) SharedSymbolTable(globalData);
+ sharedSymbolTable->finishCreation(globalData);
+ return sharedSymbolTable;
+ }
+ static void destroy(JSCell*);
+
+ static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
+ {
+ return Structure::create(globalData, globalObject, prototype, TypeInfo(LeafType, StructureFlags), &s_info);
+ }
+
+ static JS_EXPORTDATA const ClassInfo s_info;
+
private:
- SharedSymbolTable() { }
+ SharedSymbolTable(JSGlobalData& globalData)
+ : JSCell(globalData, globalData.sharedSymbolTableStructure.get())
+ {
+ }
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/UString.cpp b/Source/JavaScriptCore/runtime/UString.cpp
deleted file mode 100644
index 5b1e9a0e0..000000000
--- a/Source/JavaScriptCore/runtime/UString.cpp
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2007 Cameron Zwarich (cwzwarich@uwaterloo.ca)
- * Copyright (C) 2009 Google 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 "UString.h"
-
-#include "JSGlobalObjectFunctions.h"
-#include "Heap.h"
-#include "Identifier.h"
-#include "Operations.h"
-#include <ctype.h>
-#include <limits.h>
-#include <limits>
-#include <stdio.h>
-#include <stdlib.h>
-#include <wtf/ASCIICType.h>
-#include <wtf/Assertions.h>
-#include <wtf/MathExtras.h>
-#include <wtf/StringExtras.h>
-#include <wtf/Vector.h>
-#include <wtf/dtoa.h>
-#include <wtf/unicode/UTF8.h>
-
-#if HAVE(STRINGS_H)
-#include <strings.h>
-#endif
-
-using namespace WTF;
-using namespace WTF::Unicode;
-using namespace std;
-
-namespace JSC {
-
-COMPILE_ASSERT(sizeof(UString) == sizeof(void*), UString_should_stay_small);
-
-// Construct a string with UTF-16 data.
-UString::UString(const UChar* characters, unsigned length)
- : m_impl(characters ? StringImpl::create(characters, length) : 0)
-{
-}
-
-// Construct a string with UTF-16 data, from a null-terminated source.
-UString::UString(const UChar* characters)
-{
- if (!characters)
- return;
-
- int length = 0;
- while (characters[length] != UChar(0))
- ++length;
-
- m_impl = StringImpl::create(characters, length);
-}
-
-// Construct a string with latin1 data.
-UString::UString(const LChar* characters, unsigned length)
- : m_impl(characters ? StringImpl::create(characters, length) : 0)
-{
-}
-
-UString::UString(const char* characters, unsigned length)
- : m_impl(characters ? StringImpl::create(reinterpret_cast<const LChar*>(characters), length) : 0)
-{
-}
-
-// Construct a string with latin1 data, from a null-terminated source.
-UString::UString(const LChar* characters)
- : m_impl(characters ? StringImpl::create(characters) : 0)
-{
-}
-
-UString::UString(const char* characters)
- : m_impl(characters ? StringImpl::create(reinterpret_cast<const LChar*>(characters)) : 0)
-{
-}
-
-UString UString::number(int i)
-{
- LChar buf[1 + sizeof(i) * 3];
- LChar* end = buf + WTF_ARRAY_LENGTH(buf);
- LChar* p = end;
-
- if (i == 0)
- *--p = '0';
- else if (i == INT_MIN) {
- char minBuf[1 + sizeof(i) * 3];
- snprintf(minBuf, sizeof(minBuf), "%d", INT_MIN);
- return UString(minBuf);
- } else {
- bool negative = false;
- if (i < 0) {
- negative = true;
- i = -i;
- }
- while (i) {
- *--p = static_cast<unsigned short>((i % 10) + '0');
- i /= 10;
- }
- if (negative)
- *--p = '-';
- }
-
- return UString(p, static_cast<unsigned>(end - p));
-}
-
-UString UString::number(long long i)
-{
- LChar buf[1 + sizeof(i) * 3];
- LChar* end = buf + WTF_ARRAY_LENGTH(buf);
- LChar* p = end;
-
- if (i == 0)
- *--p = '0';
- else if (i == std::numeric_limits<long long>::min()) {
- char minBuf[1 + sizeof(i) * 3];
-#if OS(WINDOWS)
- snprintf(minBuf, sizeof(minBuf), "%I64d", std::numeric_limits<long long>::min());
-#else
- snprintf(minBuf, sizeof(minBuf), "%lld", std::numeric_limits<long long>::min());
-#endif
- return UString(minBuf);
- } else {
- bool negative = false;
- if (i < 0) {
- negative = true;
- i = -i;
- }
- while (i) {
- *--p = static_cast<unsigned short>((i % 10) + '0');
- i /= 10;
- }
- if (negative)
- *--p = '-';
- }
-
- return UString(p, static_cast<unsigned>(end - p));
-}
-
-UString UString::number(unsigned u)
-{
- LChar buf[sizeof(u) * 3];
- LChar* end = buf + WTF_ARRAY_LENGTH(buf);
- LChar* p = end;
-
- if (u == 0)
- *--p = '0';
- else {
- while (u) {
- *--p = static_cast<unsigned short>((u % 10) + '0');
- u /= 10;
- }
- }
-
- return UString(p, static_cast<unsigned>(end - p));
-}
-
-UString UString::number(long l)
-{
- LChar buf[1 + sizeof(l) * 3];
- LChar* end = buf + WTF_ARRAY_LENGTH(buf);
- LChar* p = end;
-
- if (l == 0)
- *--p = '0';
- else if (l == LONG_MIN) {
- char minBuf[1 + sizeof(l) * 3];
- snprintf(minBuf, sizeof(minBuf), "%ld", LONG_MIN);
- return UString(minBuf);
- } else {
- bool negative = false;
- if (l < 0) {
- negative = true;
- l = -l;
- }
- while (l) {
- *--p = static_cast<unsigned short>((l % 10) + '0');
- l /= 10;
- }
- if (negative)
- *--p = '-';
- }
-
- return UString(p, end - p);
-}
-
-UString UString::number(double d)
-{
- NumberToStringBuffer buffer;
- return UString(numberToString(d, buffer));
-}
-
-UString UString::substringSharingImpl(unsigned offset, unsigned length) const
-{
- // FIXME: We used to check against a limit of Heap::minExtraCost / sizeof(UChar).
-
- unsigned stringLength = this->length();
- offset = min(offset, stringLength);
- length = min(length, stringLength - offset);
-
- if (!offset && length == stringLength)
- return *this;
- return UString(StringImpl::create(m_impl, offset, length));
-}
-
-bool operator==(const UString& s1, const char *s2)
-{
- if (s1.isEmpty())
- return !s2;
-
- return equal(s1.impl(), s2);
-}
-
-// This method assumes that all simple checks have been performed by
-// the inlined operator==() in the header file.
-bool equalSlowCase(const UString& s1, const UString& s2)
-{
- StringImpl* rep1 = s1.impl();
- StringImpl* rep2 = s2.impl();
- unsigned size1 = rep1->length();
-
- // At this point we know
- // (a) that the strings are the same length and
- // (b) that they are greater than zero length.
- bool s1Is8Bit = rep1->is8Bit();
- bool s2Is8Bit = rep2->is8Bit();
-
- if (s1Is8Bit) {
- const LChar* d1 = rep1->characters8();
- if (s2Is8Bit) {
- const LChar* d2 = rep2->characters8();
-
- if (d1 == d2) // Check to see if the data pointers are the same.
- return true;
-
- // Do quick checks for sizes 1 and 2.
- switch (size1) {
- case 1:
- return d1[0] == d2[0];
- case 2:
- return (d1[0] == d2[0]) & (d1[1] == d2[1]);
- default:
- return (!memcmp(d1, d2, size1 * sizeof(LChar)));
- }
- }
-
- const UChar* d2 = rep2->characters16();
-
- for (unsigned i = 0; i < size1; i++) {
- if (d1[i] != d2[i])
- return false;
- }
- return true;
- }
-
- if (s2Is8Bit) {
- const UChar* d1 = rep1->characters16();
- const LChar* d2 = rep2->characters8();
-
- for (unsigned i = 0; i < size1; i++) {
- if (d1[i] != d2[i])
- return false;
- }
- return true;
-
- }
-
- const UChar* d1 = rep1->characters16();
- const UChar* d2 = rep2->characters16();
-
- if (d1 == d2) // Check to see if the data pointers are the same.
- return true;
-
- // Do quick checks for sizes 1 and 2.
- switch (size1) {
- case 1:
- return d1[0] == d2[0];
- case 2:
- return (d1[0] == d2[0]) & (d1[1] == d2[1]);
- default:
- return (!memcmp(d1, d2, size1 * sizeof(UChar)));
- }
-}
-
-bool operator<(const UString& s1, const UString& s2)
-{
- const unsigned l1 = s1.length();
- const unsigned l2 = s2.length();
- const unsigned lmin = l1 < l2 ? l1 : l2;
- if (s1.is8Bit() && s2.is8Bit()) {
- const LChar* c1 = s1.characters8();
- const LChar* c2 = s2.characters8();
- unsigned length = 0;
- while (length < lmin && *c1 == *c2) {
- c1++;
- c2++;
- length++;
- }
- if (length < lmin)
- return (c1[0] < c2[0]);
-
- return (l1 < l2);
- }
- const UChar* c1 = s1.characters();
- const UChar* c2 = s2.characters();
- unsigned length = 0;
- while (length < lmin && *c1 == *c2) {
- c1++;
- c2++;
- length++;
- }
- if (length < lmin)
- return (c1[0] < c2[0]);
-
- return (l1 < l2);
-}
-
-bool operator>(const UString& s1, const UString& s2)
-{
- const unsigned l1 = s1.length();
- const unsigned l2 = s2.length();
- const unsigned lmin = l1 < l2 ? l1 : l2;
- const UChar* c1 = s1.characters();
- const UChar* c2 = s2.characters();
- unsigned l = 0;
- while (l < lmin && *c1 == *c2) {
- c1++;
- c2++;
- l++;
- }
- if (l < lmin)
- return (c1[0] > c2[0]);
-
- return (l1 > l2);
-}
-
-CString UString::ascii() const
-{
- // Basic Latin1 (ISO) encoding - Unicode characters 0..255 are
- // preserved, characters outside of this range are converted to '?'.
-
- unsigned length = this->length();
-
- if (this->is8Bit()) {
- const LChar* characters = this->characters8();
-
- char* characterBuffer;
- CString result = CString::newUninitialized(length, characterBuffer);
-
- for (unsigned i = 0; i < length; ++i) {
- LChar ch = characters[i];
- characterBuffer[i] = ch && (ch < 0x20 || ch > 0x7f) ? '?' : ch;
- }
-
- return result;
- }
-
- const UChar* characters = this->characters16();
-
- char* characterBuffer;
- CString result = CString::newUninitialized(length, characterBuffer);
-
- for (unsigned i = 0; i < length; ++i) {
- UChar ch = characters[i];
- characterBuffer[i] = ch && (ch < 0x20 || ch >= 0x7f) ? '?' : ch;
- }
-
- return result;
-}
-
-CString UString::latin1() const
-{
- // Basic Latin1 (ISO) encoding - Unicode characters 0..255 are
- // preserved, characters outside of this range are converted to '?'.
-
- unsigned length = this->length();
- const UChar* characters = this->characters();
-
- char* characterBuffer;
- CString result = CString::newUninitialized(length, characterBuffer);
-
- for (unsigned i = 0; i < length; ++i) {
- UChar ch = characters[i];
- characterBuffer[i] = ch > 0xff ? '?' : ch;
- }
-
- return result;
-}
-
-// Helper to write a three-byte UTF-8 code point to the buffer, caller must check room is available.
-static inline void putUTF8Triple(char*& buffer, UChar ch)
-{
- ASSERT(ch >= 0x0800);
- *buffer++ = static_cast<char>(((ch >> 12) & 0x0F) | 0xE0);
- *buffer++ = static_cast<char>(((ch >> 6) & 0x3F) | 0x80);
- *buffer++ = static_cast<char>((ch & 0x3F) | 0x80);
-}
-
-CString UString::utf8(bool strict) const
-{
- unsigned length = this->length();
-
- if (!length)
- return CString("", 0);
-
- // Allocate a buffer big enough to hold all the characters
- // (an individual UTF-16 UChar can only expand to 3 UTF-8 bytes).
- // Optimization ideas, if we find this function is hot:
- // * We could speculatively create a CStringBuffer to contain 'length'
- // characters, and resize if necessary (i.e. if the buffer contains
- // non-ascii characters). (Alternatively, scan the buffer first for
- // ascii characters, so we know this will be sufficient).
- // * We could allocate a CStringBuffer with an appropriate size to
- // have a good chance of being able to write the string into the
- // buffer without reallocing (say, 1.5 x length).
- if (length > numeric_limits<unsigned>::max() / 3)
- return CString();
-
- Vector<char, 1024> bufferVector(length * 3);
- char* buffer = bufferVector.data();
-
- if (is8Bit()) {
- const LChar* characters = this->characters8();
-
- ConversionResult result = convertLatin1ToUTF8(&characters, characters + length, &buffer, buffer + bufferVector.size());
- ASSERT_UNUSED(result, result != targetExhausted); // (length * 3) should be sufficient for any conversion
- } else {
- const UChar* characters = this->characters16();
-
- ConversionResult result = convertUTF16ToUTF8(&characters, characters + length, &buffer, buffer + bufferVector.size(), strict);
- ASSERT(result != targetExhausted); // (length * 3) should be sufficient for any conversion
-
- // Only produced from strict conversion.
- if (result == sourceIllegal)
- return CString();
-
- // Check for an unconverted high surrogate.
- if (result == sourceExhausted) {
- if (strict)
- return CString();
- // This should be one unpaired high surrogate. Treat it the same
- // was as an unpaired high surrogate would have been handled in
- // the middle of a string with non-strict conversion - which is
- // to say, simply encode it to UTF-8.
- ASSERT((characters + 1) == (this->characters() + length));
- ASSERT((*characters >= 0xD800) && (*characters <= 0xDBFF));
- // There should be room left, since one UChar hasn't been converted.
- ASSERT((buffer + 3) <= (buffer + bufferVector.size()));
- putUTF8Triple(buffer, *characters);
- }
- }
-
- return CString(bufferVector.data(), buffer - bufferVector.data());
-}
-
-} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/UString.h b/Source/JavaScriptCore/runtime/UString.h
deleted file mode 100644
index 7677161a3..000000000
--- a/Source/JavaScriptCore/runtime/UString.h
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved.
- * Copyright (C) 2009 Google 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 UString_h
-#define UString_h
-
-#include <wtf/text/StringImpl.h>
-
-namespace JSC {
-
-class UString {
-public:
- // Construct a null string, distinguishable from an empty string.
- UString() { }
-
- // Construct a string with UTF-16 data.
- JS_EXPORT_PRIVATE UString(const UChar* characters, unsigned length);
-
- // Construct a string with UTF-16 data, from a null-terminated source.
- JS_EXPORT_PRIVATE UString(const UChar*);
-
- // Construct a string with latin1 data.
- UString(const LChar* characters, unsigned length);
- JS_EXPORT_PRIVATE UString(const char* characters, unsigned length);
-
- // Construct a string with latin1 data, from a null-terminated source.
- UString(const LChar* characters);
- JS_EXPORT_PRIVATE UString(const char* characters);
-
- // Construct a string referencing an existing StringImpl.
- UString(StringImpl* impl) : m_impl(impl) { }
- UString(PassRefPtr<StringImpl> impl) : m_impl(impl) { }
- UString(RefPtr<StringImpl> impl) : m_impl(impl) { }
-
- // Inline the destructor.
- ALWAYS_INLINE ~UString() { }
-
- void swap(UString& o) { m_impl.swap(o.m_impl); }
-
- template<typename CharType, size_t inlineCapacity>
- static UString adopt(Vector<CharType, inlineCapacity>& vector) { return StringImpl::adopt(vector); }
-
- bool isNull() const { return !m_impl; }
- bool isEmpty() const { return !m_impl || !m_impl->length(); }
-
- StringImpl* impl() const { return m_impl.get(); }
-
- unsigned length() const
- {
- if (!m_impl)
- return 0;
- return m_impl->length();
- }
-
- const UChar* characters() const
- {
- if (!m_impl)
- return 0;
- return m_impl->characters();
- }
-
- const LChar* characters8() const
- {
- if (!m_impl)
- return 0;
- ASSERT(m_impl->is8Bit());
- return m_impl->characters8();
- }
-
- const UChar* characters16() const
- {
- if (!m_impl)
- return 0;
- ASSERT(!m_impl->is8Bit());
- return m_impl->characters16();
- }
-
- template <typename CharType>
- inline const CharType* getCharacters() const;
-
- bool is8Bit() const { return m_impl->is8Bit(); }
-
- JS_EXPORT_PRIVATE CString ascii() const;
- CString latin1() const;
- JS_EXPORT_PRIVATE CString utf8(bool strict = false) const;
-
- UChar operator[](unsigned index) const
- {
- if (!m_impl || index >= m_impl->length())
- return 0;
- if (is8Bit())
- return m_impl->characters8()[index];
- return m_impl->characters16()[index];
- }
-
- JS_EXPORT_PRIVATE static UString number(int);
- JS_EXPORT_PRIVATE static UString number(unsigned);
- JS_EXPORT_PRIVATE static UString number(long);
- static UString number(long long);
- JS_EXPORT_PRIVATE static UString number(double);
-
- // Find a single character or string, also with match function & latin1 forms.
- size_t find(UChar c, unsigned start = 0) const
- { return m_impl ? m_impl->find(c, start) : notFound; }
-
- size_t find(const UString& str) const
- { return m_impl ? m_impl->find(str.impl()) : notFound; }
- size_t find(const UString& str, unsigned start) const
- { return m_impl ? m_impl->find(str.impl(), start) : notFound; }
-
- size_t find(const LChar* str, unsigned start = 0) const
- { return m_impl ? m_impl->find(str, start) : notFound; }
-
- // Find the last instance of a single character or string.
- size_t reverseFind(UChar c, unsigned start = UINT_MAX) const
- { return m_impl ? m_impl->reverseFind(c, start) : notFound; }
- size_t reverseFind(const UString& str, unsigned start = UINT_MAX) const
- { return m_impl ? m_impl->reverseFind(str.impl(), start) : notFound; }
-
- JS_EXPORT_PRIVATE UString substringSharingImpl(unsigned pos, unsigned len = UINT_MAX) const;
-
-private:
- RefPtr<StringImpl> m_impl;
-};
-
-template<>
-inline const LChar* UString::getCharacters<LChar>() const { return characters8(); }
-
-template<>
-inline const UChar* UString::getCharacters<UChar>() const { return characters(); }
-
-NEVER_INLINE bool equalSlowCase(const UString& s1, const UString& s2);
-
-ALWAYS_INLINE bool operator==(const UString& s1, const UString& s2)
-{
- StringImpl* rep1 = s1.impl();
- StringImpl* rep2 = s2.impl();
-
- if (rep1 == rep2) // If they're the same rep, they're equal.
- return true;
-
- unsigned size1 = 0;
- unsigned size2 = 0;
-
- if (rep1)
- size1 = rep1->length();
-
- if (rep2)
- size2 = rep2->length();
-
- if (size1 != size2) // If the lengths are not the same, we're done.
- return false;
-
- if (!size1)
- return true;
-
- if (size1 == 1)
- return (*rep1)[0u] == (*rep2)[0u];
-
- return equalSlowCase(s1, s2);
-}
-
-
-inline bool operator!=(const UString& s1, const UString& s2)
-{
- return !JSC::operator==(s1, s2);
-}
-
-JS_EXPORT_PRIVATE bool operator<(const UString& s1, const UString& s2);
-JS_EXPORT_PRIVATE bool operator>(const UString& s1, const UString& s2);
-
-JS_EXPORT_PRIVATE bool operator==(const UString& s1, const char* s2);
-
-inline bool operator!=(const UString& s1, const char* s2)
-{
- return !JSC::operator==(s1, s2);
-}
-
-inline bool operator==(const char *s1, const UString& s2)
-{
- return operator==(s2, s1);
-}
-
-inline bool operator!=(const char *s1, const UString& s2)
-{
- return !JSC::operator==(s1, s2);
-}
-
-inline int codePointCompare(const UString& s1, const UString& s2)
-{
- return codePointCompare(s1.impl(), s2.impl());
-}
-
-struct UStringHash {
- static unsigned hash(StringImpl* key) { return key->hash(); }
- static bool equal(const StringImpl* a, const StringImpl* b)
- {
- if (a == b)
- return true;
- if (!a || !b)
- return false;
-
- unsigned aLength = a->length();
- unsigned bLength = b->length();
- if (aLength != bLength)
- return false;
-
- // FIXME: perhaps we should have a more abstract macro that indicates when
- // going 4 bytes at a time is unsafe
-#if CPU(ARM) || CPU(SH4) || CPU(MIPS) || CPU(SPARC)
- const UChar* aChars = a->characters();
- const UChar* bChars = b->characters();
- for (unsigned i = 0; i != aLength; ++i) {
- if (*aChars++ != *bChars++)
- return false;
- }
- return true;
-#else
- /* Do it 4-bytes-at-a-time on architectures where it's safe */
- const uint32_t* aChars = reinterpret_cast<const uint32_t*>(a->characters());
- const uint32_t* bChars = reinterpret_cast<const uint32_t*>(b->characters());
-
- unsigned halfLength = aLength >> 1;
- for (unsigned i = 0; i != halfLength; ++i)
- if (*aChars++ != *bChars++)
- return false;
-
- if (aLength & 1 && *reinterpret_cast<const uint16_t*>(aChars) != *reinterpret_cast<const uint16_t*>(bChars))
- return false;
-
- return true;
-#endif
- }
-
- static unsigned hash(const RefPtr<StringImpl>& key) { return key->hash(); }
- static bool equal(const RefPtr<StringImpl>& a, const RefPtr<StringImpl>& b)
- {
- return equal(a.get(), b.get());
- }
-
- static unsigned hash(const UString& key) { return key.impl()->hash(); }
- static bool equal(const UString& a, const UString& b)
- {
- return equal(a.impl(), b.impl());
- }
-
- static const bool safeToCompareToEmptyOrDeleted = false;
-};
-
-} // namespace JSC
-
-namespace WTF {
-
-// UStringHash is the default hash for UString
-template<typename T> struct DefaultHash;
-template<> struct DefaultHash<JSC::UString> {
- typedef JSC::UStringHash Hash;
-};
-
-template <> struct VectorTraits<JSC::UString> : SimpleClassVectorTraits { };
-
-} // namespace WTF
-
-#endif
-
diff --git a/Source/JavaScriptCore/runtime/UStringConcatenate.h b/Source/JavaScriptCore/runtime/UStringConcatenate.h
deleted file mode 100644
index cbd4e60ca..000000000
--- a/Source/JavaScriptCore/runtime/UStringConcatenate.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * 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. ``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 UStringConcatenate_h
-#define UStringConcatenate_h
-
-#include "UString.h"
-#include <wtf/text/StringConcatenate.h>
-
-namespace WTF {
-
-template<>
-class StringTypeAdapter<JSC::UString> {
-public:
- StringTypeAdapter<JSC::UString>(JSC::UString& string)
- : m_string(string)
- , m_length(string.length())
- {
- }
-
- unsigned length() { return m_length; }
-
- bool is8Bit() { return m_string.isNull() || m_string.is8Bit(); }
-
- void writeTo(LChar* destination)
- {
- const LChar* characters = m_string.characters8();
- for (unsigned i = 0; i < m_length; ++i)
- destination[i] = characters[i];
- }
-
- void writeTo(UChar* destination)
- {
- if (is8Bit()) {
- const LChar* characters = m_string.characters8();
- for (unsigned i = 0; i < m_length; ++i)
- destination[i] = characters[i];
- } else {
- const UChar* characters = m_string.characters16();
- for (unsigned i = 0; i < m_length; ++i)
- destination[i] = characters[i];
- }
- }
-
-private:
- const JSC::UString& m_string;
- unsigned m_length;
-};
-
-}; // namespace WTF
-
-namespace JSC {
-
-template<typename StringType1, typename StringType2>
-UString makeUString(StringType1 string1, StringType2 string2)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-template<typename StringType1, typename StringType2, typename StringType3>
-UString makeUString(StringType1 string1, StringType2 string2, StringType3 string3)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2, string3);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-template<typename StringType1, typename StringType2, typename StringType3, typename StringType4>
-UString makeUString(StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2, string3, string4);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-template<typename StringType1, typename StringType2, typename StringType3, typename StringType4, typename StringType5>
-UString makeUString(StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2, string3, string4, string5);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-template<typename StringType1, typename StringType2, typename StringType3, typename StringType4, typename StringType5, typename StringType6>
-UString makeUString(StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5, StringType6 string6)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2, string3, string4, string5, string6);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-template<typename StringType1, typename StringType2, typename StringType3, typename StringType4, typename StringType5, typename StringType6, typename StringType7>
-UString makeUString(StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5, StringType6 string6, StringType7 string7)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2, string3, string4, string5, string6, string7);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-template<typename StringType1, typename StringType2, typename StringType3, typename StringType4, typename StringType5, typename StringType6, typename StringType7, typename StringType8>
-UString makeUString(StringType1 string1, StringType2 string2, StringType3 string3, StringType4 string4, StringType5 string5, StringType6 string6, StringType7 string7, StringType8 string8)
-{
- PassRefPtr<StringImpl> resultImpl = WTF::tryMakeString(string1, string2, string3, string4, string5, string6, string7, string8);
- if (!resultImpl)
- CRASH();
- return resultImpl;
-}
-
-} // namespace JSC
-
-#endif
diff --git a/Source/JavaScriptCore/testRegExp.cpp b/Source/JavaScriptCore/testRegExp.cpp
index 61c21c31b..b0b126f1c 100644
--- a/Source/JavaScriptCore/testRegExp.cpp
+++ b/Source/JavaScriptCore/testRegExp.cpp
@@ -24,11 +24,11 @@
#include <wtf/CurrentTime.h>
#include "InitializeThreading.h"
#include "JSGlobalObject.h"
-#include "UStringBuilder.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <wtf/text/StringBuilder.h>
#if !OS(WINDOWS)
#include <unistd.h>
@@ -63,8 +63,8 @@ struct CommandLine {
bool interactive;
bool verbose;
- Vector<UString> arguments;
- Vector<UString> files;
+ Vector<String> arguments;
+ Vector<String> files;
};
class StopWatch {
@@ -100,7 +100,7 @@ struct RegExpTest {
{
}
- UString subject;
+ String subject;
int offset;
int result;
Vector<int, 32> expectVector;
@@ -108,12 +108,12 @@ struct RegExpTest {
class GlobalObject : public JSGlobalObject {
private:
- GlobalObject(JSGlobalData&, Structure*, const Vector<UString>& arguments);
+ GlobalObject(JSGlobalData&, Structure*, const Vector<String>& arguments);
public:
typedef JSGlobalObject Base;
- static GlobalObject* create(JSGlobalData& globalData, Structure* structure, const Vector<UString>& arguments)
+ static GlobalObject* create(JSGlobalData& globalData, Structure* structure, const Vector<String>& arguments)
{
return new (NotNull, allocateCell<GlobalObject>(globalData.heap)) GlobalObject(globalData, structure, arguments);
}
@@ -126,7 +126,7 @@ public:
}
protected:
- void finishCreation(JSGlobalData& globalData, const Vector<UString>& arguments)
+ void finishCreation(JSGlobalData& globalData, const Vector<String>& arguments)
{
Base::finishCreation(globalData);
UNUSED_PARAM(arguments);
@@ -138,7 +138,7 @@ ASSERT_CLASS_FITS_IN_CELL(GlobalObject);
const ClassInfo GlobalObject::s_info = { "global", &JSGlobalObject::s_info, 0, ExecState::globalObjectTable, CREATE_METHOD_TABLE(GlobalObject) };
-GlobalObject::GlobalObject(JSGlobalData& globalData, Structure* structure, const Vector<UString>& arguments)
+GlobalObject::GlobalObject(JSGlobalData& globalData, Structure* structure, const Vector<String>& arguments)
: JSGlobalObject(globalData, structure)
{
finishCreation(globalData, arguments);
@@ -239,7 +239,7 @@ static bool testOneRegExp(JSGlobalData& globalData, RegExp* regexp, RegExpTest*
return result;
}
-static int scanString(char* buffer, int bufferLength, UStringBuilder& builder, char termChar)
+static int scanString(char* buffer, int bufferLength, StringBuilder& builder, char termChar)
{
bool escape = false;
@@ -307,7 +307,7 @@ static int scanString(char* buffer, int bufferLength, UStringBuilder& builder, c
static RegExp* parseRegExpLine(JSGlobalData& globalData, char* line, int lineLength)
{
- UStringBuilder pattern;
+ StringBuilder pattern;
if (line[0] != '/')
return 0;
@@ -319,12 +319,12 @@ static RegExp* parseRegExpLine(JSGlobalData& globalData, char* line, int lineLen
++i;
- return RegExp::create(globalData, pattern.toUString(), regExpFlags(line + i));
+ return RegExp::create(globalData, pattern.toString(), regExpFlags(line + i));
}
static RegExpTest* parseTestLine(char* line, int lineLength)
{
- UStringBuilder subjectString;
+ StringBuilder subjectString;
if ((line[0] != ' ') || (line[1] != '"'))
return 0;
@@ -363,7 +363,7 @@ static RegExpTest* parseTestLine(char* line, int lineLength)
RegExpTest* result = new RegExpTest();
- result->subject = subjectString.toUString();
+ result->subject = subjectString.toString();
result->offset = offset;
result->result = matchResult;
@@ -394,10 +394,10 @@ static RegExpTest* parseTestLine(char* line, int lineLength)
return result;
}
-static bool runFromFiles(GlobalObject* globalObject, const Vector<UString>& files, bool verbose)
+static bool runFromFiles(GlobalObject* globalObject, const Vector<String>& files, bool verbose)
{
- UString script;
- UString fileName;
+ String script;
+ String fileName;
Vector<char> scriptBuffer;
unsigned tests = 0;
unsigned failures = 0;
diff --git a/Source/JavaScriptCore/tests/mozilla/expected.html b/Source/JavaScriptCore/tests/mozilla/expected.html
index 2283f77b5..06136de27 100644
--- a/Source/JavaScriptCore/tests/mozilla/expected.html
+++ b/Source/JavaScriptCore/tests/mozilla/expected.html
@@ -7,11 +7,11 @@
<p class='results_summary'>
Test List: All tests<br>
Skip List: ecma/Date/15.9.2.1.js, ecma/Date/15.9.2.2-1.js, ecma/Date/15.9.2.2-2.js, ecma/Date/15.9.2.2-3.js, ecma/Date/15.9.2.2-4.js, ecma/Date/15.9.2.2-5.js, ecma/Date/15.9.2.2-6.js, ecma_3/Date/15.9.5.7.js, ecma/Date/15.9.5.14.js, ecma/Date/15.9.5.31-1.js, ecma/Date/15.9.5.34-1.js<br>
-1124 test(s) selected, 1116 test(s) completed, 46 failures reported (4.12% failed)<br>
-Engine command line: "/Volumes/Big/ggaren/webkit/WebKitBuild/Debug/jsc" <br>
-OS type: Darwin garen.apple.com 11.3.0 Darwin Kernel Version 11.3.0: Thu Jan 12 18:47:41 PST 2012; root:xnu-1699.24.23~1/RELEASE_X86_64 x86_64<br>
-Testcase execution time: 1 minutes, 8 seconds.<br>
-Tests completed on Tue Apr 3 22:31:56 2012.<br><br>
+1124 test(s) selected, 1116 test(s) completed, 44 failures reported (3.94% failed)<br>
+Engine command line: "/Volumes/Data/Saxony/OpenSource/WebKitBuild/Debug/jsc" <br>
+OS type: Darwin Bearclaw-Kaliber.local 12.0.0 Darwin Kernel Version 12.0.0: Sun Jun 24 23:00:16 PDT 2012; root:xnu-2050.7.9~1/RELEASE_X86_64 x86_64<br>
+Testcase execution time: 52 seconds.<br>
+Tests completed on Thu Sep 6 15:11:19 2012.<br><br>
[ <a href='#fail_detail'>Failure Details</a> | <a href='#retest_list'>Retest List</a> | <a href='menu.html'>Test Selection Page</a> ]<br>
<hr>
<a name='fail_detail'></a>
@@ -29,6 +29,8 @@ Testcase terminated with signal 0<br>
Complete testcase output was:<br>
RegExp/hex-001.js JS regexp anchoring on empty match bug<br>
BUGNUMBER: http://bugzilla.mozilla.org/show_bug.cgi?id=2157<br>
+Exception: TypeError: '/a||b/' is not a function (evaluating '/a||b/('')')<br>
+global code@./ecma_2/RegExp/regress-001.js:18<br>
</tt><br>
<a name='failure3'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/FunExpr/fe-001.js'>ecma_3/FunExpr/fe-001.js</a> failed</b> <br>
[ <a href='#failure2'>Previous Failure</a> | <a href='#failure4'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
@@ -43,7 +45,10 @@ FAILED!: [reported from test()] <br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
+Exception: SyntaxError: Unexpected token '('<br>
+eval@[native code]<br>
+global code@./ecma_3/Statements/regress-194364.js:56<br>
+</tt><br>
<a name='failure5'></a><dd><b>Testcase <a target='other_window' href='./ecma_3/Unicode/uc-001.js'>ecma_3/Unicode/uc-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=23610' target='other_window'>Bug Number 23610</a><br>
[ <a href='#failure4'>Previous Failure</a> | <a href='#failure6'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>STATUS: Unicode format-control character (Category Cf) test.<br>
@@ -58,6 +63,9 @@ FAILED!: [reported from test()] <br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
JS1_2 Object.toString()<br>
+Exception: TypeError: '/^\{(.*)\}$/' is not a function (evaluating '/^\{(.*)\}$/(s)')<br>
+checkObjectToString@./js1_2/Objects/toString-001.js:103<br>
+global code@./js1_2/Objects/toString-001.js:64<br>
</tt><br>
<a name='failure7'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/Function_object.js'>js1_2/function/Function_object.js</a> failed</b> <br>
[ <a href='#failure6'>Previous Failure</a> | <a href='#failure8'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
@@ -80,69 +88,53 @@ eval("function f(){}function g(){}") = undefined FAILED! expected: error<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
JS_1.2 The variable statment<br>
+Exception: TypeError: '/abc/' is not a function (evaluating 'x("hi")')<br>
+global code@./js1_2/function/regexparg-1.js:80<br>
</tt><br>
-<a name='failure10'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-1.js'>js1_2/function/tostring-1.js</a> failed</b> <br>
+<a name='failure10'></a><dd><b>Testcase <a target='other_window' href='./js1_2/operator/equality.js'>js1_2/operator/equality.js</a> failed</b> <br>
[ <a href='#failure9'>Previous Failure</a> | <a href='#failure11'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt><br>
Failure messages were:<br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-</tt><br>
-<a name='failure11'></a><dd><b>Testcase <a target='other_window' href='./js1_2/function/tostring-2.js'>js1_2/function/tostring-2.js</a> failed</b> <br>
- [ <a href='#failure10'>Previous Failure</a> | <a href='#failure12'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
-<tt><br>
-Failure messages were:<br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-} FAILED! expected: <br>
-</tt><br>
-<a name='failure12'></a><dd><b>Testcase <a target='other_window' href='./js1_2/operator/equality.js'>js1_2/operator/equality.js</a> failed</b> <br>
- [ <a href='#failure11'>Previous Failure</a> | <a href='#failure13'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
-<tt><br>
-Failure messages were:<br>
(new String('x') == 'x') = true FAILED! expected: false<br>
('x' == new String('x')) = true FAILED! expected: false<br>
</tt><br>
-<a name='failure13'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_lastIndex.js'>js1_2/regexp/RegExp_lastIndex.js</a> failed</b> <br>
- [ <a href='#failure12'>Previous Failure</a> | <a href='#failure14'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure11'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/RegExp_lastIndex.js'>js1_2/regexp/RegExp_lastIndex.js</a> failed</b> <br>
+ [ <a href='#failure10'>Previous Failure</a> | <a href='#failure12'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt><br>
Failure messages were:<br>
re=/x./g; re.lastIndex=4; re.exec('xyabcdxa') = xa FAILED! expected: ["xa"]<br>
re.exec('xyabcdef') = xy FAILED! expected: ["xy"]<br>
</tt><br>
-<a name='failure14'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/regress-6359.js'>js1_2/regexp/regress-6359.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=http://bugzilla.mozilla.org/show_bug.cgi?id=6359' target='other_window'>Bug Number http://bugzilla.mozilla.org/show_bug.cgi?id=6359</a><br>
- [ <a href='#failure13'>Previous Failure</a> | <a href='#failure15'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure12'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/regress-6359.js'>js1_2/regexp/regress-6359.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=http://bugzilla.mozilla.org/show_bug.cgi?id=6359' target='other_window'>Bug Number http://bugzilla.mozilla.org/show_bug.cgi?id=6359</a><br>
+ [ <a href='#failure11'>Previous Failure</a> | <a href='#failure13'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
BUGNUMBER: http://bugzilla.mozilla.org/show_bug.cgi?id=6359<br>
+Exception: TypeError: '/(a*)b\1+/' is not a function (evaluating '/(a*)b\1+/("baaac")')<br>
+global code@./js1_2/regexp/regress-6359.js:56<br>
</tt><br>
-<a name='failure15'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/regress-9141.js'>js1_2/regexp/regress-9141.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=http://bugzilla.mozilla.org/show_bug.cgi?id=9141' target='other_window'>Bug Number http://bugzilla.mozilla.org/show_bug.cgi?id=9141</a><br>
- [ <a href='#failure14'>Previous Failure</a> | <a href='#failure16'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure13'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/regress-9141.js'>js1_2/regexp/regress-9141.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=http://bugzilla.mozilla.org/show_bug.cgi?id=9141' target='other_window'>Bug Number http://bugzilla.mozilla.org/show_bug.cgi?id=9141</a><br>
+ [ <a href='#failure12'>Previous Failure</a> | <a href='#failure14'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
BUGNUMBER: http://bugzilla.mozilla.org/show_bug.cgi?id=9141<br>
+Exception: TypeError: '/(?:xx|x)*/' is not a function (evaluating '/(?:xx|x)*/(s)')<br>
+global code@./js1_2/regexp/regress-9141.js:73<br>
</tt><br>
-<a name='failure16'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/simple_form.js'>js1_2/regexp/simple_form.js</a> failed</b> <br>
- [ <a href='#failure15'>Previous Failure</a> | <a href='#failure17'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure14'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/simple_form.js'>js1_2/regexp/simple_form.js</a> failed</b> <br>
+ [ <a href='#failure13'>Previous Failure</a> | <a href='#failure15'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
Executing script: simple_form.js<br>
As described in Netscape doc "Whats new in JavaScript 1.2" RegExp: simple form<br>
+Exception: TypeError: '/[0-9]{3}/' is not a function (evaluating '/[0-9]{3}/('23 2 34 678 9 09')')<br>
+global code@./js1_2/regexp/simple_form.js:43<br>
</tt><br>
-<a name='failure17'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/string_split.js'>js1_2/regexp/string_split.js</a> failed</b> <br>
- [ <a href='#failure16'>Previous Failure</a> | <a href='#failure18'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure15'></a><dd><b>Testcase <a target='other_window' href='./js1_2/regexp/string_split.js'>js1_2/regexp/string_split.js</a> failed</b> <br>
+ [ <a href='#failure14'>Previous Failure</a> | <a href='#failure16'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt><br>
Failure messages were:<br>
'abc'.split(/[a-z]/) = ,,, FAILED! expected: ,,<br>
@@ -150,22 +142,22 @@ Failure messages were:<br>
'abc'.split(new RegExp('[a-z]')) = ,,, FAILED! expected: ,,<br>
'abc'.split(new RegExp('[a-z]')) = ,,, FAILED! expected: ,,<br>
</tt><br>
-<a name='failure18'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/boolean-001.js'>js1_2/version120/boolean-001.js</a> failed</b> <br>
- [ <a href='#failure17'>Previous Failure</a> | <a href='#failure19'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure16'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/boolean-001.js'>js1_2/version120/boolean-001.js</a> failed</b> <br>
+ [ <a href='#failure15'>Previous Failure</a> | <a href='#failure17'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt><br>
Failure messages were:<br>
new Boolean(false) = true FAILED! expected: false<br>
</tt><br>
-<a name='failure19'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/regress-99663.js'>js1_2/version120/regress-99663.js</a> failed</b> <br>
- [ <a href='#failure18'>Previous Failure</a> | <a href='#failure20'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure17'></a><dd><b>Testcase <a target='other_window' href='./js1_2/version120/regress-99663.js'>js1_2/version120/regress-99663.js</a> failed</b> <br>
+ [ <a href='#failure16'>Previous Failure</a> | <a href='#failure18'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>STATUS: Regression test for Bugzilla bug 99663<br>
Failure messages were:<br>
Section 1 of test - got Error: Can't find variable: it FAILED! expected: a "read-only" error<br>
Section 2 of test - got Error: Can't find variable: it FAILED! expected: a "read-only" error<br>
Section 3 of test - got Error: Can't find variable: it FAILED! expected: a "read-only" error<br>
</tt><br>
-<a name='failure20'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/function-001-n.js'>js1_3/Script/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
- [ <a href='#failure19'>Previous Failure</a> | <a href='#failure21'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure18'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/function-001-n.js'>js1_3/Script/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
+ [ <a href='#failure17'>Previous Failure</a> | <a href='#failure19'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 3, got 0<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
@@ -173,15 +165,17 @@ BUGNUMBER: 10278<br>
function-001.js functions not separated by semicolons are errors in version 120 and higher<br>
eval("function f(){}function g(){}") = undefined FAILED! expected: error<br>
</tt><br>
-<a name='failure21'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/script-001.js'>js1_3/Script/script-001.js</a> failed</b> <br>
- [ <a href='#failure20'>Previous Failure</a> | <a href='#failure22'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure19'></a><dd><b>Testcase <a target='other_window' href='./js1_3/Script/script-001.js'>js1_3/Script/script-001.js</a> failed</b> <br>
+ [ <a href='#failure18'>Previous Failure</a> | <a href='#failure20'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
script-001 NativeScript<br>
+Exception: ReferenceError: Can't find variable: Script<br>
+global code@./js1_3/Script/script-001.js:133<br>
</tt><br>
-<a name='failure22'></a><dd><b>Testcase <a target='other_window' href='./js1_3/regress/function-001-n.js'>js1_3/regress/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
- [ <a href='#failure21'>Previous Failure</a> | <a href='#failure23'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure20'></a><dd><b>Testcase <a target='other_window' href='./js1_3/regress/function-001-n.js'>js1_3/regress/function-001-n.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=10278' target='other_window'>Bug Number 10278</a><br>
+ [ <a href='#failure19'>Previous Failure</a> | <a href='#failure21'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 3, got 0<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
@@ -189,90 +183,114 @@ BUGNUMBER: 10278<br>
function-001.js functions not separated by semicolons are errors in version 120 and higher<br>
eval("function f(){}function g(){}") = undefined FAILED! expected: error<br>
</tt><br>
-<a name='failure23'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-001.js'>js1_5/Exceptions/catchguard-001.js</a> failed</b> <br>
+<a name='failure21'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-001.js'>js1_5/Exceptions/catchguard-001.js</a> failed</b> <br>
+ [ <a href='#failure20'>Previous Failure</a> | <a href='#failure22'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<tt>Expected exit code 0, got 3<br>
+Testcase terminated with signal 0<br>
+Complete testcase output was:<br>
+Exception: SyntaxError: Expected token ')'<br>
+</tt><br>
+<a name='failure22'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-002.js'>js1_5/Exceptions/catchguard-002.js</a> failed</b> <br>
+ [ <a href='#failure21'>Previous Failure</a> | <a href='#failure23'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<tt>Expected exit code 0, got 3<br>
+Testcase terminated with signal 0<br>
+Complete testcase output was:<br>
+Exception: SyntaxError: Expected token ')'<br>
+</tt><br>
+<a name='failure23'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-003.js'>js1_5/Exceptions/catchguard-003.js</a> failed</b> <br>
[ <a href='#failure22'>Previous Failure</a> | <a href='#failure24'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure24'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-002.js'>js1_5/Exceptions/catchguard-002.js</a> failed</b> <br>
+Exception: SyntaxError: Expected token ')'<br>
+</tt><br>
+<a name='failure24'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/errstack-001.js'>js1_5/Exceptions/errstack-001.js</a> failed</b> <br>
[ <a href='#failure23'>Previous Failure</a> | <a href='#failure25'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure25'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/catchguard-003.js'>js1_5/Exceptions/catchguard-003.js</a> failed</b> <br>
+Exception: TypeError: 'undefined' is not an object (evaluating 'stackFrames[4].substring')<br>
+global code@./js1_5/Exceptions/errstack-001.js:122<br>
+</tt><br>
+<a name='failure25'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/regress-50447.js'>js1_5/Exceptions/regress-50447.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=50447' target='other_window'>Bug Number 50447</a><br>
[ <a href='#failure24'>Previous Failure</a> | <a href='#failure26'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure26'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/errstack-001.js'>js1_5/Exceptions/errstack-001.js</a> failed</b> <br>
+BUGNUMBER: 50447<br>
+STATUS: Test (non-ECMA) Error object properties fileName, lineNumber<br>
+Exception: TypeError: 'undefined' is not an object (evaluating 'e.fileName.search')<br>
+testRealError@./js1_5/Exceptions/regress-50447.js:65<br>
+test@./js1_5/Exceptions/regress-50447.js:44<br>
+global code@./js1_5/Exceptions/regress-50447.js:34<br>
+</tt><br>
+<a name='failure26'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-001.js'>js1_5/GetSet/getset-001.js</a> failed</b> <br>
[ <a href='#failure25'>Previous Failure</a> | <a href='#failure27'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure27'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Exceptions/regress-50447.js'>js1_5/Exceptions/regress-50447.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=50447' target='other_window'>Bug Number 50447</a><br>
+Exception: SyntaxError: Expected an identifier but found 'getter' instead<br>
+</tt><br>
+<a name='failure27'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-002.js'>js1_5/GetSet/getset-002.js</a> failed</b> <br>
[ <a href='#failure26'>Previous Failure</a> | <a href='#failure28'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-BUGNUMBER: 50447<br>
-STATUS: Test (non-ECMA) Error object properties fileName, lineNumber<br>
+Exception: SyntaxError: Expected an identifier but found 'getter' instead<br>
</tt><br>
-<a name='failure28'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-001.js'>js1_5/GetSet/getset-001.js</a> failed</b> <br>
+<a name='failure28'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-003.js'>js1_5/GetSet/getset-003.js</a> failed</b> <br>
[ <a href='#failure27'>Previous Failure</a> | <a href='#failure29'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure29'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-002.js'>js1_5/GetSet/getset-002.js</a> failed</b> <br>
+Exception: SyntaxError: Expected an identifier but found 'setter' instead<br>
+</tt><br>
+<a name='failure29'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-001.js'>js1_5/Object/regress-90596-001.js</a> failed</b> <br>
[ <a href='#failure28'>Previous Failure</a> | <a href='#failure30'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure30'></a><dd><b>Testcase <a target='other_window' href='./js1_5/GetSet/getset-003.js'>js1_5/GetSet/getset-003.js</a> failed</b> <br>
+Exception: TypeError: 'undefined' is not a function (evaluating 'obj.toSource()')<br>
+global code@./js1_5/Object/regress-90596-001.js:48<br>
+</tt><br>
+<a name='failure30'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-002.js'>js1_5/Object/regress-90596-002.js</a> failed</b> <br>
[ <a href='#failure29'>Previous Failure</a> | <a href='#failure31'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure31'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-001.js'>js1_5/Object/regress-90596-001.js</a> failed</b> <br>
+Exception: ReferenceError: Can't find variable: uneval<br>
+global code@./js1_5/Object/regress-90596-002.js:48<br>
+</tt><br>
+<a name='failure31'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-001.js'>js1_5/Object/regress-96284-001.js</a> failed</b> <br>
[ <a href='#failure30'>Previous Failure</a> | <a href='#failure32'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure32'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-90596-002.js'>js1_5/Object/regress-90596-002.js</a> failed</b> <br>
+Exception: TypeError: 'undefined' is not a function (evaluating 'obj1.toSource()')<br>
+global code@./js1_5/Object/regress-96284-001.js:49<br>
+</tt><br>
+<a name='failure32'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-002.js'>js1_5/Object/regress-96284-002.js</a> failed</b> <br>
[ <a href='#failure31'>Previous Failure</a> | <a href='#failure33'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure33'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-001.js'>js1_5/Object/regress-96284-001.js</a> failed</b> <br>
+Exception: ReferenceError: Can't find variable: uneval<br>
+global code@./js1_5/Object/regress-96284-002.js:49<br>
+</tt><br>
+<a name='failure33'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-44009.js'>js1_5/Regress/regress-44009.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=44009' target='other_window'>Bug Number 44009</a><br>
[ <a href='#failure32'>Previous Failure</a> | <a href='#failure34'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure34'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Object/regress-96284-002.js'>js1_5/Object/regress-96284-002.js</a> failed</b> <br>
- [ <a href='#failure33'>Previous Failure</a> | <a href='#failure35'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
-<tt>Expected exit code 0, got 3<br>
-Testcase terminated with signal 0<br>
-Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure35'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-44009.js'>js1_5/Regress/regress-44009.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=44009' target='other_window'>Bug Number 44009</a><br>
- [ <a href='#failure34'>Previous Failure</a> | <a href='#failure36'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
-<tt>Expected exit code 0, got 3<br>
-Testcase terminated with signal 0<br>
-Complete testcase output was:<br>
BUGNUMBER: 44009<br>
STATUS: Testing that we don't crash on obj.toSource()<br>
+Exception: TypeError: 'undefined' is not a function (evaluating 'obj.toSource()')<br>
+testThis@./js1_5/Regress/regress-44009.js:60<br>
+test@./js1_5/Regress/regress-44009.js:48<br>
+global code@./js1_5/Regress/regress-44009.js:35<br>
</tt><br>
-<a name='failure36'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-103602.js'>js1_5/Regress/regress-103602.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=103602' target='other_window'>Bug Number 103602</a><br>
- [ <a href='#failure35'>Previous Failure</a> | <a href='#failure37'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure34'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-103602.js'>js1_5/Regress/regress-103602.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=103602' target='other_window'>Bug Number 103602</a><br>
+ [ <a href='#failure33'>Previous Failure</a> | <a href='#failure35'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>STATUS: Reassignment to a const is NOT an error per ECMA<br>
Failure messages were:<br>
FAILED!: [reported from test()] Section 1 of test -<br>
@@ -282,26 +300,32 @@ FAILED!: [reported from test()] Section 3 of test -<br>
FAILED!: [reported from test()] Expected value '1', Actual value '2'<br>
FAILED!: [reported from test()] <br>
</tt><br>
-<a name='failure37'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-104077.js'>js1_5/Regress/regress-104077.js</a> failed</b> <br>
- [ <a href='#failure36'>Previous Failure</a> | <a href='#failure38'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure35'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-104077.js'>js1_5/Regress/regress-104077.js</a> failed</b> <br>
+ [ <a href='#failure34'>Previous Failure</a> | <a href='#failure36'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure38'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-127557.js'>js1_5/Regress/regress-127557.js</a> failed</b> <br>
- [ <a href='#failure37'>Previous Failure</a> | <a href='#failure39'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+Exception: SyntaxError: Expected token ')'<br>
+</tt><br>
+<a name='failure36'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-127557.js'>js1_5/Regress/regress-127557.js</a> failed</b> <br>
+ [ <a href='#failure35'>Previous Failure</a> | <a href='#failure37'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure39'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-172699.js'>js1_5/Regress/regress-172699.js</a> failed</b> <br>
- [ <a href='#failure38'>Previous Failure</a> | <a href='#failure40'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+Exception: ReferenceError: Can't find variable: clone<br>
+global code@./js1_5/Regress/regress-127557.js:75<br>
+</tt><br>
+<a name='failure37'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-172699.js'>js1_5/Regress/regress-172699.js</a> failed</b> <br>
+ [ <a href='#failure36'>Previous Failure</a> | <a href='#failure38'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure40'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-179524.js'>js1_5/Regress/regress-179524.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=179524' target='other_window'>Bug Number 179524</a><br>
- [ <a href='#failure39'>Previous Failure</a> | <a href='#failure41'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+Exception: URIError: URI error<br>
+decodeURI@[native code]<br>
+global code@./js1_5/Regress/regress-172699.js:61<br>
+</tt><br>
+<a name='failure38'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Regress/regress-179524.js'>js1_5/Regress/regress-179524.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=179524' target='other_window'>Bug Number 179524</a><br>
+ [ <a href='#failure37'>Previous Failure</a> | <a href='#failure39'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>STATUS: Don't crash on extraneous arguments to str.match(), etc.<br>
Failure messages were:<br>
FAILED!: [reported from test()] Section 14 of test -<br>
@@ -351,14 +375,16 @@ FAILED!: [reported from test()] Section 36 of test -<br>
FAILED!: [reported from test()] Expected value 'SHOULD HAVE FALLEN INTO CATCH-BLOCK!', Actual value 'ABC Zbc'<br>
FAILED!: [reported from test()] <br>
</tt><br>
-<a name='failure41'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-220584.js'>js1_5/Scope/regress-220584.js</a> failed</b> <br>
- [ <a href='#failure40'>Previous Failure</a> | <a href='#failure42'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure39'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/regress-220584.js'>js1_5/Scope/regress-220584.js</a> failed</b> <br>
+ [ <a href='#failure38'>Previous Failure</a> | <a href='#failure40'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure42'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/scope-001.js'>js1_5/Scope/scope-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=53268' target='other_window'>Bug Number 53268</a><br>
- [ <a href='#failure41'>Previous Failure</a> | <a href='#failure43'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+Exception: ReferenceError: Can't find variable: Script<br>
+global code@./js1_5/Scope/regress-220584.js:56<br>
+</tt><br>
+<a name='failure40'></a><dd><b>Testcase <a target='other_window' href='./js1_5/Scope/scope-001.js'>js1_5/Scope/scope-001.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=53268' target='other_window'>Bug Number 53268</a><br>
+ [ <a href='#failure39'>Previous Failure</a> | <a href='#failure41'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>STATUS: Testing scope after changing obj.__proto__<br>
Failure messages were:<br>
FAILED!: [reported from test()] Step 1: setting obj.__proto__ = global object<br>
@@ -369,8 +395,8 @@ FAILED!: [reported from test()] Type mismatch, expected type undefined, actual t
FAILED!: [reported from test()] Expected value 'undefined', Actual value '1'<br>
FAILED!: [reported from test()] <br>
</tt><br>
-<a name='failure43'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-301574.js'>js1_6/Regress/regress-301574.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=301574' target='other_window'>Bug Number 301574</a><br>
- [ <a href='#failure42'>Previous Failure</a> | <a href='#failure44'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure41'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-301574.js'>js1_6/Regress/regress-301574.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=301574' target='other_window'>Bug Number 301574</a><br>
+ [ <a href='#failure40'>Previous Failure</a> | <a href='#failure42'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>STATUS: E4X should be enabled even when e4x=1 not specified<br>
Failure messages were:<br>
FAILED!: E4X should be enabled even when e4x=1 not specified: XML()<br>
@@ -380,26 +406,30 @@ FAILED!: E4X should be enabled even when e4x=1 not specified: XMLList()<br>
FAILED!: Expected value 'No error', Actual value 'error: ReferenceError: Can't find variable: XML'<br>
FAILED!: <br>
</tt><br>
-<a name='failure44'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-309242.js'>js1_6/Regress/regress-309242.js</a> failed</b> <br>
- [ <a href='#failure43'>Previous Failure</a> | <a href='#failure45'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+<a name='failure42'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-309242.js'>js1_6/Regress/regress-309242.js</a> failed</b> <br>
+ [ <a href='#failure41'>Previous Failure</a> | <a href='#failure43'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure45'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-314887.js'>js1_6/Regress/regress-314887.js</a> failed</b> <br>
- [ <a href='#failure44'>Previous Failure</a> | <a href='#failure46'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+Exception: SyntaxError: Unexpected token '<'<br>
+</tt><br>
+<a name='failure43'></a><dd><b>Testcase <a target='other_window' href='./js1_6/Regress/regress-314887.js'>js1_6/Regress/regress-314887.js</a> failed</b> <br>
+ [ <a href='#failure42'>Previous Failure</a> | <a href='#failure44'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
-Testcase produced no output!</tt><br>
-<a name='failure46'></a><dd><b>Testcase <a target='other_window' href='./js1_6/String/regress-306591.js'>js1_6/String/regress-306591.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=306591' target='other_window'>Bug Number 306591</a><br>
- [ <a href='#failure45'>Previous Failure</a> | <a href='#failure47'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
+Exception: SyntaxError: Unexpected token '<'<br>
+</tt><br>
+<a name='failure44'></a><dd><b>Testcase <a target='other_window' href='./js1_6/String/regress-306591.js'>js1_6/String/regress-306591.js</a> failed</b> <a href='http://bugzilla.mozilla.org/show_bug.cgi?id=306591' target='other_window'>Bug Number 306591</a><br>
+ [ <a href='#failure43'>Previous Failure</a> | <a href='#failure45'>Next Failure</a> | <a href='#tippy_top'>Top of Page</a> ]<br>
<tt>Expected exit code 0, got 3<br>
Testcase terminated with signal 0<br>
Complete testcase output was:<br>
BUGNUMBER: 306591<br>
STATUS: String static methods<br>
STATUS: See https://bugzilla.mozilla.org/show_bug.cgi?id=304828<br>
+Exception: TypeError: 'undefined' is not a function (evaluating 'String.split(new String('abc'), '')')<br>
+global code@./js1_6/String/regress-306591.js:48<br>
</tt><br>
</dl>
[ <a href='#tippy_top'>Top of Page</a> | <a href='#fail_detail'>Top of Failures</a> ]<br>
@@ -407,9 +437,9 @@ STATUS: See https://bugzilla.mozilla.org/show_bug.cgi?id=304828<br>
<pre>
<a name='retest_list'></a>
<h2>Retest List</h2><br>
-# Retest List, squirrelfish, generated Tue Apr 3 22:31:56 2012.
+# Retest List, squirrelfish, generated Thu Sep 6 15:11:19 2012.
# Original test base was: All tests.
-# 1116 of 1124 test(s) were completed, 46 failures reported.
+# 1116 of 1124 test(s) were completed, 44 failures reported.
ecma_2/Exceptions/function-001.js
ecma_2/RegExp/regress-001.js
ecma_3/FunExpr/fe-001.js
@@ -419,8 +449,6 @@ js1_2/Objects/toString-001.js
js1_2/function/Function_object.js
js1_2/function/function-001-n.js
js1_2/function/regexparg-1.js
-js1_2/function/tostring-1.js
-js1_2/function/tostring-2.js
js1_2/operator/equality.js
js1_2/regexp/RegExp_lastIndex.js
js1_2/regexp/regress-6359.js
diff --git a/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-1.js b/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-1.js
index d532d65af..cf83f48c1 100644
--- a/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-1.js
+++ b/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-1.js
@@ -34,6 +34,15 @@
Date: 12 november 1997
*/
+// These test cases should not be testing for a particular
+// whitespace formatting (this is implementation defined).
+// Strip out whitespace, or in the case of whitespace
+// abutting a word character reduce to a single space.
+function simplify(str)
+{
+ return str.replace(/\s+/g, " ").replace(/ (\W)/g, "$1").replace(/(\W) /g, "$1").trim();
+}
+
var SECTION = "tostring-1";
var VERSION = "JS1_2";
startTest();
@@ -60,28 +69,28 @@
testcases[tc++] = new TestCase( SECTION,
"stub.toString()",
- t1.valueOf(),
- stub.toString() );
+ simplify(t1.valueOf()),
+ simplify(stub.toString()) );
testcases[tc++] = new TestCase( SECTION,
"ToString.toString()",
- t2.valueOf(),
- ToString.toString() );
+ simplify(t2.valueOf()),
+ simplify(ToString.toString()) );
testcases[tc++] = new TestCase( SECTION,
"Add.toString()",
- t3.valueOf(),
- Add.toString() );
+ simplify(t3.valueOf()),
+ simplify(Add.toString()) );
testcases[tc++] = new TestCase( SECTION,
"noop.toString()",
- t4.toString(),
- noop.toString() );
+ simplify(t4.toString()),
+ simplify(noop.toString()) );
testcases[tc++] = new TestCase( SECTION,
"f.toString()",
- t5.toString(),
- f.toString() );
+ simplify(t5.toString()),
+ simplify(f.toString()) );
test();
function noop( value ) {
diff --git a/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-2.js b/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-2.js
index 146764d2f..8858d194e 100644
--- a/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-2.js
+++ b/Source/JavaScriptCore/tests/mozilla/js1_2/function/tostring-2.js
@@ -37,6 +37,15 @@
Date: 12 november 1997
*/
+// These test cases should not be testing for a particular
+// whitespace formatting (this is implementation defined).
+// Strip out whitespace, or in the case of whitespace
+// abutting a word character reduce to a single space.
+function simplify(str)
+{
+ return str.replace(/\s+/g, " ").replace(/ (\W)/g, "$1").replace(/(\W) /g, "$1").trim();
+}
+
var SECTION = "tostring-2";
var VERSION = "JS1_2";
startTest();
@@ -72,22 +81,26 @@ function ReallyDoesntEqual( a, b ) {
return a !== b;
}
+// Modified to match expected results; JSC won't automatically insert redundant braces into the result.
var testor = new TestFunction( "TestOr", "a", tab+"if (a == null || a == void 0) {\n"+
tab +tab+"return 0;\n"+tab+"} else {\n"+tab+tab+"return a;\n"+tab+"}" );
function TestOr( a ) {
- if ( a == null || a == void 0 )
+ if ( a == null || a == void 0 ) {
return 0;
- else
+ } else {
return a;
+ }
}
+// Modified to match expected results; JSC won't automatically insert redundant braces into the result.
var testand = new TestFunction( "TestAnd", "a", tab+"if (a != null && a != void 0) {\n"+
tab+tab+"return a;\n" + tab+ "} else {\n"+tab+tab+"return 0;\n"+tab+"}" );
function TestAnd( a ) {
- if ( a != null && a != void 0 )
+ if ( a != null && a != void 0 ) {
return a;
- else
+ } else {
return 0;
+ }
}
var or = new TestFunction( "Or", "a, b", tab + "return a | b;" );
@@ -107,48 +120,48 @@ function XOr( a, b ) {
testcases[testcases.length] = new TestCase( SECTION,
"Equals.toString()",
- equals.valueOf(),
- Equals.toString() );
+ simplify(equals.valueOf()),
+ simplify(Equals.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"ReallyEquals.toString()",
- reallyequals.valueOf(),
- ReallyEquals.toString() );
+ simplify(reallyequals.valueOf()),
+ simplify(ReallyEquals.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"DoesntEqual.toString()",
- doesntequal.valueOf(),
- DoesntEqual.toString() );
+ simplify(doesntequal.valueOf()),
+ simplify(DoesntEqual.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"ReallyDoesntEqual.toString()",
- reallydoesntequal.valueOf(),
- ReallyDoesntEqual.toString() );
+ simplify(reallydoesntequal.valueOf()),
+ simplify(ReallyDoesntEqual.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"TestOr.toString()",
- testor.valueOf(),
- TestOr.toString() );
+ simplify(testor.valueOf()),
+ simplify(TestOr.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"TestAnd.toString()",
- testand.valueOf(),
- TestAnd.toString() );
+ simplify(testand.valueOf()),
+ simplify(TestAnd.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"Or.toString()",
- or.valueOf(),
- Or.toString() );
+ simplify(or.valueOf()),
+ simplify(Or.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"And.toString()",
- and.valueOf(),
- And.toString() );
+ simplify(and.valueOf()),
+ simplify(And.toString()) );
testcases[testcases.length] = new TestCase( SECTION,
"XOr.toString()",
- xor.valueOf(),
- XOr.toString() );
+ simplify(xor.valueOf()),
+ simplify(XOr.toString()) );
test();
diff --git a/Source/JavaScriptCore/tools/CodeProfile.h b/Source/JavaScriptCore/tools/CodeProfile.h
index ea360bcbc..db380eedb 100644
--- a/Source/JavaScriptCore/tools/CodeProfile.h
+++ b/Source/JavaScriptCore/tools/CodeProfile.h
@@ -33,6 +33,7 @@
namespace JSC {
class CodeProfile {
+ WTF_MAKE_FAST_ALLOCATED;
public:
CodeProfile(const SourceCode& source, CodeProfile* parent)
: m_file(source.provider()->url().utf8())
diff --git a/Source/JavaScriptCore/yarr/YarrInterpreter.cpp b/Source/JavaScriptCore/yarr/YarrInterpreter.cpp
index ba10171bf..5c2a287c8 100644
--- a/Source/JavaScriptCore/yarr/YarrInterpreter.cpp
+++ b/Source/JavaScriptCore/yarr/YarrInterpreter.cpp
@@ -27,12 +27,12 @@
#include "config.h"
#include "YarrInterpreter.h"
-#include "UString.h"
#include "Yarr.h"
#include "YarrCanonicalizeUCS2.h"
#include <wtf/BumpPointerAllocator.h>
#include <wtf/DataLog.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#ifndef NDEBUG
#include <stdio.h>
@@ -1934,7 +1934,7 @@ PassOwnPtr<BytecodePattern> byteCompile(YarrPattern& pattern, BumpPointerAllocat
return ByteCompiler(pattern).compile(allocator);
}
-unsigned interpret(BytecodePattern* bytecode, const UString& input, unsigned start, unsigned* output)
+unsigned interpret(BytecodePattern* bytecode, const String& input, unsigned start, unsigned* output)
{
if (input.is8Bit())
return Interpreter<LChar>(bytecode, output, input.characters8(), input.length(), start).interpret();
diff --git a/Source/JavaScriptCore/yarr/YarrInterpreter.h b/Source/JavaScriptCore/yarr/YarrInterpreter.h
index 4ecd69eca..fb60bd979 100644
--- a/Source/JavaScriptCore/yarr/YarrInterpreter.h
+++ b/Source/JavaScriptCore/yarr/YarrInterpreter.h
@@ -376,7 +376,7 @@ private:
};
JS_EXPORT_PRIVATE PassOwnPtr<BytecodePattern> byteCompile(YarrPattern&, BumpPointerAllocator*);
-JS_EXPORT_PRIVATE unsigned interpret(BytecodePattern*, const UString& input, unsigned start, unsigned* output);
+JS_EXPORT_PRIVATE unsigned interpret(BytecodePattern*, const String& input, unsigned start, unsigned* output);
unsigned interpret(BytecodePattern*, const LChar* input, unsigned length, unsigned start, unsigned* output);
unsigned interpret(BytecodePattern*, const UChar* input, unsigned length, unsigned start, unsigned* output);
diff --git a/Source/JavaScriptCore/yarr/YarrJIT.cpp b/Source/JavaScriptCore/yarr/YarrJIT.cpp
index eb9861fed..ee6e39753 100644
--- a/Source/JavaScriptCore/yarr/YarrJIT.cpp
+++ b/Source/JavaScriptCore/yarr/YarrJIT.cpp
@@ -39,7 +39,7 @@ namespace JSC { namespace Yarr {
template<YarrJITCompileMode compileMode>
class YarrGenerator : private MacroAssembler {
- friend void jitCompile(JSGlobalData*, YarrCodeBlock& jitObject, const UString& pattern, unsigned& numSubpatterns, const char*& error, bool ignoreCase, bool multiline);
+ friend void jitCompile(JSGlobalData*, YarrCodeBlock& jitObject, const String& pattern, unsigned& numSubpatterns, const char*& error, bool ignoreCase, bool multiline);
#if CPU(ARM)
static const RegisterID input = ARMRegisters::r0;
diff --git a/Source/JavaScriptCore/yarr/YarrJIT.h b/Source/JavaScriptCore/yarr/YarrJIT.h
index 71928e73c..bb7033fde 100644
--- a/Source/JavaScriptCore/yarr/YarrJIT.h
+++ b/Source/JavaScriptCore/yarr/YarrJIT.h
@@ -31,7 +31,6 @@
#include "JSGlobalData.h"
#include "MacroAssemblerCodeRef.h"
#include "MatchResult.h"
-#include "UString.h"
#include "Yarr.h"
#include "YarrPattern.h"
diff --git a/Source/JavaScriptCore/yarr/YarrParser.h b/Source/JavaScriptCore/yarr/YarrParser.h
index 1182d7907..4bab1a090 100644
--- a/Source/JavaScriptCore/yarr/YarrParser.h
+++ b/Source/JavaScriptCore/yarr/YarrParser.h
@@ -26,9 +26,9 @@
#ifndef YarrParser_h
#define YarrParser_h
-#include <runtime/UString.h>
#include "Yarr.h"
#include <wtf/ASCIICType.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Unicode.h>
namespace JSC { namespace Yarr {
@@ -47,7 +47,7 @@ template<class Delegate, typename CharType>
class Parser {
private:
template<class FriendDelegate>
- friend const char* parse(FriendDelegate& delegate, const UString& pattern, unsigned backReferenceLimit);
+ friend const char* parse(FriendDelegate&, const String& pattern, unsigned backReferenceLimit);
enum ErrorCode {
NoError,
@@ -228,7 +228,7 @@ private:
UChar m_character;
};
- Parser(Delegate& delegate, const UString& pattern, unsigned backReferenceLimit)
+ Parser(Delegate& delegate, const String& pattern, unsigned backReferenceLimit)
: m_delegate(delegate)
, m_backReferenceLimit(backReferenceLimit)
, m_err(NoError)
@@ -868,7 +868,7 @@ private:
*/
template<class Delegate>
-const char* parse(Delegate& delegate, const UString& pattern, unsigned backReferenceLimit = quantifyInfinite)
+const char* parse(Delegate& delegate, const String& pattern, unsigned backReferenceLimit = quantifyInfinite)
{
if (pattern.is8Bit())
return Parser<Delegate, LChar>(delegate, pattern, backReferenceLimit).parse();
diff --git a/Source/JavaScriptCore/yarr/YarrPattern.cpp b/Source/JavaScriptCore/yarr/YarrPattern.cpp
index bbda9c526..5080929f4 100644
--- a/Source/JavaScriptCore/yarr/YarrPattern.cpp
+++ b/Source/JavaScriptCore/yarr/YarrPattern.cpp
@@ -820,7 +820,7 @@ private:
bool m_invertParentheticalAssertion;
};
-const char* YarrPattern::compile(const UString& patternString)
+const char* YarrPattern::compile(const String& patternString)
{
YarrPatternConstructor constructor(*this);
@@ -853,7 +853,7 @@ const char* YarrPattern::compile(const UString& patternString)
return 0;
}
-YarrPattern::YarrPattern(const UString& pattern, bool ignoreCase, bool multiline, const char** error)
+YarrPattern::YarrPattern(const String& pattern, bool ignoreCase, bool multiline, const char** error)
: m_ignoreCase(ignoreCase)
, m_multiline(multiline)
, m_containsBackreferences(false)
diff --git a/Source/JavaScriptCore/yarr/YarrPattern.h b/Source/JavaScriptCore/yarr/YarrPattern.h
index a31deee67..14e89b8e0 100644
--- a/Source/JavaScriptCore/yarr/YarrPattern.h
+++ b/Source/JavaScriptCore/yarr/YarrPattern.h
@@ -27,10 +27,10 @@
#ifndef YarrPattern_h
#define YarrPattern_h
-#include <runtime/UString.h>
#include <wtf/CheckedArithmetic.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Unicode.h>
namespace JSC { namespace Yarr {
@@ -316,7 +316,7 @@ struct TermChain {
};
struct YarrPattern {
- JS_EXPORT_PRIVATE YarrPattern(const UString& pattern, bool ignoreCase, bool multiline, const char** error);
+ JS_EXPORT_PRIVATE YarrPattern(const String& pattern, bool ignoreCase, bool multiline, const char** error);
~YarrPattern()
{
@@ -405,7 +405,7 @@ struct YarrPattern {
Vector<CharacterClass*> m_userCharacterClasses;
private:
- const char* compile(const UString& patternString);
+ const char* compile(const String& patternString);
CharacterClass* newlineCached;
CharacterClass* digitsCached;
diff --git a/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp b/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
index 51fda94d8..aa98c4a35 100644
--- a/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
+++ b/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
@@ -50,7 +50,7 @@ public:
void disjunction() {}
};
-const char* checkSyntax(const UString& pattern)
+const char* checkSyntax(const String& pattern)
{
SyntaxChecker syntaxChecker;
return parse(syntaxChecker, pattern);
diff --git a/Source/JavaScriptCore/yarr/YarrSyntaxChecker.h b/Source/JavaScriptCore/yarr/YarrSyntaxChecker.h
index 2013671eb..104ced3ab 100644
--- a/Source/JavaScriptCore/yarr/YarrSyntaxChecker.h
+++ b/Source/JavaScriptCore/yarr/YarrSyntaxChecker.h
@@ -26,11 +26,11 @@
#ifndef YarrSyntaxChecker_h
#define YarrSyntaxChecker_h
-#include <runtime/UString.h>
+#include <wtf/text/WTFString.h>
namespace JSC { namespace Yarr {
-const char* checkSyntax(const UString& pattern);
+const char* checkSyntax(const String& pattern);
}} // JSC::YARR
diff --git a/Source/JavaScriptCore/yarr/yarr.pri b/Source/JavaScriptCore/yarr/yarr.pri
index 623098fd3..7e9b4d3f3 100644
--- a/Source/JavaScriptCore/yarr/yarr.pri
+++ b/Source/JavaScriptCore/yarr/yarr.pri
@@ -10,9 +10,3 @@ SOURCES += \
$$PWD/YarrSyntaxChecker.cpp \
$$PWD/YarrCanonicalizeUCS2.cpp
-# For UString.h
-v8 {
- INCLUDEPATH += \
- $$PWD/.. \
- $$PWD/../runtime
-}
diff --git a/Source/Platform/ChangeLog b/Source/Platform/ChangeLog
index bca5ad8ad..6e913e781 100644
--- a/Source/Platform/ChangeLog
+++ b/Source/Platform/ChangeLog
@@ -1,3 +1,549 @@
+2012-09-10 Tommy Widenflycht <tommyw@google.com>
+
+ [chromium] MediaStream API: Remove the Descriptor postfix
+ https://bugs.webkit.org/show_bug.cgi?id=96268
+
+ Reviewed by Adam Barth.
+
+ After consideration I realized that there is no need whatsoever in using the Descriptor prefix
+ in the WekKit embedder API. Removed from WebRTCSessionDescription and WebRTCICECandidate to start with.
+
+ (WebCore):
+ (WebKit):
+ (WebRTCICECandidate):
+ (WebKit::WebRTCICECandidate::WebRTCICECandidate):
+ (WebKit::WebRTCICECandidate::~WebRTCICECandidate):
+ (WebKit::WebRTCICECandidate::operator=):
+ (WebKit::WebRTCICECandidate::isNull):
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCPeerConnectionHandlerClient.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandlerClient):
+ * chromium/public/WebRTCSessionDescription.h: Renamed from Source/Platform/chromium/public/WebRTCSessionDescriptionDescriptor.h.
+ (WebCore):
+ (WebKit):
+ (WebRTCSessionDescription):
+ (WebKit::WebRTCSessionDescription::WebRTCSessionDescription):
+ (WebKit::WebRTCSessionDescription::~WebRTCSessionDescription):
+ (WebKit::WebRTCSessionDescription::operator=):
+ (WebKit::WebRTCSessionDescription::isNull):
+ * chromium/public/WebRTCSessionDescriptionRequest.h:
+ (WebKit):
+ (WebRTCSessionDescriptionRequest):
+
+2012-09-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] Export WebFilterOperation(FilterType, SkScalar[20]) constructor
+ https://bugs.webkit.org/show_bug.cgi?id=96215
+
+ Reviewed by Adrienne Walker.
+
+ Unlike the other WebFilterOperation constructors this one is defined out-of-line and so must be exported to be
+ usable outside of WebKit.dll
+
+ * chromium/public/WebFilterOperation.h:
+ (WebFilterOperation):
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove unused WebScrollbarThemePainter::isNull
+ https://bugs.webkit.org/show_bug.cgi?id=96169
+
+ Reviewed by Adrienne Walker.
+
+ This doesn't appear to be used anywhere and triggers MSVS C4800 in any chromium file that #includes this header.
+
+ * chromium/public/WebScrollbarThemePainter.h:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
+ https://bugs.webkit.org/show_bug.cgi?id=96151
+
+ Reviewed by Adrienne Walker.
+
+ This adds public input handling interfaces for the compositor.
+
+ * chromium/public/WebInputHandler.h:
+ (WebKit):
+ (WebInputHandler):
+ (WebKit::WebInputHandler::~WebInputHandler):
+ * chromium/public/WebInputHandlerClient.h:
+ (WebKit):
+ (WebInputHandlerClient):
+ (WebKit::WebInputHandlerClient::~WebInputHandlerClient):
+ * chromium/public/WebLayerTreeView.h:
+ (WebLayerTreeView):
+ * chromium/public/WebLayerTreeViewClient.h:
+ (WebKit):
+ (WebKit::WebLayerTreeViewClient::createInputHandler):
+ (WebLayerTreeViewClient):
+
+2012-09-07 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: add RTCPeerConnection::createAnswer
+ https://bugs.webkit.org/show_bug.cgi?id=96092
+
+ Reviewed by Adam Barth.
+
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebRTCPeerConnectionHandler):
+
+2012-09-07 Ian Vollick <vollick@chromium.org>
+
+ [chromium] We should accelerate all transformations, except when we must blend matrices that cannot be decomposed.
+ https://bugs.webkit.org/show_bug.cgi?id=95855
+
+ Reviewed by James Robinson.
+
+ WebTransformOperations are now able to report if they can successfully blend.
+ WebTransformationMatrix::blend now returns a bool if blending would fail.
+
+ * chromium/public/WebTransformOperations.h:
+ (WebTransformOperations):
+ * chromium/public/WebTransformationMatrix.h:
+ (WebTransformationMatrix):
+
+2012-09-07 Nat Duca <nduca@chromium.org>
+ [chromium] Allow enumeration of WebRenderingStats structure
+ https://bugs.webkit.org/show_bug.cgi?id=94565
+
+ Reviewed by James Robinson.
+
+ * chromium/public/WebRenderingStats.h:
+ (WebRenderingStats):
+ (Enumerator):
+ (WebKit::WebRenderingStats::Enumerator::~Enumerator):
+ (WebKit::WebRenderingStats::enumerateFields):
+
+2012-09-07 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have a localized string of empty for date time field
+ https://bugs.webkit.org/show_bug.cgi?id=96081
+
+ Reviewed by Kent Tamura.
+
+ This patch adds a localized string enum field for empty field value
+ description text for accessibility support in multiple fields date
+ time related input types for Chromium ports.
+
+ * chromium/public/WebLocalizedString.h: Added AXDateTimeFieldEmptyValueText
+ enum field.
+
+2012-09-06 Hironori Bono <hbono@chromium.org>
+
+ A build fix for Chromium Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96062
+
+ Reviewed by James Robinson.
+
+ This change fixes a build break on Chromium Windows (debug) caused by r127796
+ <http://trac.webkit.org/changeset/127796>. It removes a redundant WEBKIT_EXPORT.
+
+ * chromium/public/WebTransformationMatrix.h:
+ (WebTransformationMatrix):
+
+2012-09-06 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have localized strings of date time fields for accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=96050
+
+ Reviewed by Kent Tamura.
+
+ This patch adds localized string enum fields for accessibility support
+ in multiple fields date time related input types for Chromium ports.
+
+ * chromium/public/WebLocalizedString.h: Adds AXAMPMFieldText, AXDayOfMonthField,
+ AXHourFieldText, AXMillisecondFieldText, AXMinuteFieldText, AXMonthField,
+ AXSecondFieldText, AXWeekOfYearFieldText, and AXYearFieldText.
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Export public functions on WebTransformationMatrix so they can be used outside of WebKit.dll
+ https://bugs.webkit.org/show_bug.cgi?id=96025
+
+ Reviewed by Adrienne Walker.
+
+ * chromium/public/WebTransformationMatrix.h:
+ (WebTransformationMatrix):
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use WebCompositorSupport functions instead of WebCompositor statics
+ https://bugs.webkit.org/show_bug.cgi?id=96007
+
+ Reviewed by Adrienne Walker.
+
+ Updates comment to reference WebCompositorSupport instead of WebCompositor.
+
+ * chromium/public/WebLayerTreeView.h:
+ (WebLayerTreeView):
+
+2012-09-06 Jeff Timanus <twiz@chromium.org>
+
+ [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=95094
+
+ Reviewed by Adrienne Walker.
+
+ In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class. This is a first pass to
+ try to remove the page-scale logic from GraphicsLayerChromium. This change should be a no-op in terms of
+ contentsScale behaviour.
+
+ * chromium/public/WebContentLayer.h:
+ (WebContentLayer):
+ Export setBoundsContainPageScale() family of routines.
+
+2012-09-06 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add the local and remote description functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95839
+
+ Reviewed by Adam Barth.
+
+ * Platform.gypi:
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCVoidRequest.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
+ (WebCore):
+ (WebKit):
+ (WebRTCVoidRequest):
+ (ExtraData):
+ (WebKit::WebRTCVoidRequest::ExtraData::~ExtraData):
+ (WebKit::WebRTCVoidRequest::WebRTCVoidRequest):
+ (WebKit::WebRTCVoidRequest::~WebRTCVoidRequest):
+ (WebKit::WebRTCVoidRequest::operator=):
+ (WebKit::WebRTCVoidRequest::isNull):
+
+2012-09-05 Kenichi Ishibashi <bashi@chromium.org>
+
+ Unreviewed, rolling out r127612, r127660, and r127664.
+ http://trac.webkit.org/changeset/127612
+ http://trac.webkit.org/changeset/127660
+ http://trac.webkit.org/changeset/127664
+ https://bugs.webkit.org/show_bug.cgi?id=95920
+
+ * Platform.gypi:
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCVoidRequest.h: Removed.
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ [chromium] Move static WebCompositor functions to WebCompositorSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95785
+
+ Reviewed by Darin Fisher.
+
+ The statics on WebCompositor need to be moved to WebCompositorSupport so the embedder can inject an
+ implementation for these via PlatformSupport. This adds the interface for the statics to WebCompositorSupport.
+ After an implementation of these lands on the chromium side, I'll switch all callers over to use these and
+ remove the WebCompositor interface from the API.
+
+ * chromium/public/WebCompositorSupport.h:
+ (WebCompositorSupport):
+ (WebKit::WebCompositorSupport::initialize):
+ (WebKit::WebCompositorSupport::threadingEnabled):
+ (WebKit::WebCompositorSupport::shutdown):
+ (WebKit::WebCompositorSupport::setPerTilePaintingEnabled):
+ (WebKit::WebCompositorSupport::setPartialSwapEnabled):
+ (WebKit::WebCompositorSupport::setAcceleratedAnimationEnabled):
+
+2012-09-05 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove getRenderStyleForStrike from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95363
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * Platform.gypi:
+ * chromium/public/linux/WebFontInfo.h: Added.
+ (WebKit):
+ (WebFontInfo):
+ * chromium/public/linux/WebFontRenderStyle.h: Added.
+ (WebKit):
+
+2012-09-05 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add the local and remote description functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95839
+
+ Reviewed by Adam Barth.
+
+ * Platform.gypi:
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCVoidRequest.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
+ (WebCore):
+ (WebKit):
+ (WebRTCVoidRequest):
+ (ExtraData):
+ (WebKit::WebRTCVoidRequest::ExtraData::~ExtraData):
+ (WebKit::WebRTCVoidRequest::WebRTCVoidRequest):
+ (WebKit::WebRTCVoidRequest::~WebRTCVoidRequest):
+ (WebKit::WebRTCVoidRequest::operator=):
+ (WebKit::WebRTCVoidRequest::isNull):
+
+2012-09-05 Sami Kyostila <skyostil@chromium.org>
+
+ [chromium] Wire up scrollable sublayers in ScrollingCoordinatorChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95679
+
+ Reviewed by James Robinson.
+
+ Introduce WebLayerScrollClient for getting notified about scroll events targeting a WebLayer.
+
+ * Platform.gypi:
+ * chromium/public/WebLayer.h:
+ (WebKit):
+ (WebLayer):
+ * chromium/public/WebLayerScrollClient.h:
+
+2012-09-04 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Attempt to fix build failure on Win
+
+ Remove chromium/public/WebOfferAnswerRequest.h from Platform.gypi,
+ which was added in r127501, but doesn't exist. Unreviewed.
+
+ * Platform.gypi:
+
+2012-09-04 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add the async createOffer functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95734
+
+ Reviewed by Adam Barth.
+
+ * Platform.gypi:
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCSessionDescriptionDescriptor.h: Added.
+ (WebCore):
+ (WebKit):
+ (WebRTCSessionDescriptionDescriptor):
+ (WebKit::WebRTCSessionDescriptionDescriptor::WebRTCSessionDescriptionDescriptor):
+ (WebKit::WebRTCSessionDescriptionDescriptor::~WebRTCSessionDescriptionDescriptor):
+ (WebKit::WebRTCSessionDescriptionDescriptor::operator=):
+ (WebKit::WebRTCSessionDescriptionDescriptor::isNull):
+ * chromium/public/WebRTCSessionDescriptionRequest.h: Added.
+ (WebCore):
+ (WebKit):
+ (WebRTCSessionDescriptionRequest):
+ (ExtraData):
+ (WebKit::WebRTCSessionDescriptionRequest::ExtraData::~ExtraData):
+ (WebKit::WebRTCSessionDescriptionRequest::WebRTCSessionDescriptionRequest):
+ (WebKit::WebRTCSessionDescriptionRequest::~WebRTCSessionDescriptionRequest):
+ (WebKit::WebRTCSessionDescriptionRequest::operator=):
+ (WebKit::WebRTCSessionDescriptionRequest::isNull):
+
+2012-09-04 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Change the MediaStreamTrackList track added/removed signaling
+ https://bugs.webkit.org/show_bug.cgi?id=95721
+
+ Reviewed by Adam Barth.
+
+ Adding the signaling to the WebKit interface.
+
+ * chromium/public/WebMediaStreamCenter.h:
+ (WebKit::WebMediaStreamCenter::didAddMediaStreamTrack):
+ (WebKit::WebMediaStreamCenter::didRemoveMediaStreamTrack):
+
+2012-09-03 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add Ice-related functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95565
+
+ Reviewed by Adam Barth.
+
+ * Platform.gypi:
+ * chromium/public/WebRTCICECandidateDescriptor.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h.
+ (WebCore):
+ (WebKit):
+ (WebRTCICECandidateDescriptor):
+ (WebKit::WebRTCICECandidateDescriptor::WebRTCICECandidateDescriptor):
+ (WebKit::WebRTCICECandidateDescriptor::~WebRTCICECandidateDescriptor):
+ (WebKit::WebRTCICECandidateDescriptor::operator=):
+ (WebKit::WebRTCICECandidateDescriptor::isNull):
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCPeerConnectionHandlerClient.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandlerClient):
+
+2012-09-01 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add MediaStream management to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95543
+
+ Reviewed by Adam Barth.
+
+ * chromium/public/WebMediaStreamCenter.h:
+ (WebMediaStreamCenter):
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCPeerConnectionHandlerClient.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandlerClient):
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
+ https://bugs.webkit.org/show_bug.cgi?id=95520
+
+ Reviewed by Darin Fisher.
+
+ WebPassOwnPtr<T> isn't quite usable from the chromium side - it needs some more work and isn't worth blocking
+ WebCompositorSupport for. Also, the d'tor for WebCompositorSupport needs to be protected, not private, so it can
+ be implemented.
+
+ * Platform.gypi:
+ * chromium/public/WebCompositorSupport.h:
+ (WebKit):
+ (WebKit::WebCompositorSupport::createLayerTreeView):
+ (WebKit::WebCompositorSupport::createLayer):
+ (WebKit::WebCompositorSupport::createContentLayer):
+ (WebKit::WebCompositorSupport::createExternalTextureLayer):
+ (WebKit::WebCompositorSupport::createIOSurfaceLayer):
+ (WebKit::WebCompositorSupport::createImageLayer):
+ (WebKit::WebCompositorSupport::createSolidColorLayer):
+ (WebKit::WebCompositorSupport::createVideoLayer):
+ (WebKit::WebCompositorSupport::createScrollbarLayer):
+ (WebKit::WebCompositorSupport::createAnimation):
+ (WebKit::WebCompositorSupport::createFloatAnimationCurve):
+ (WebKit::WebCompositorSupport::createTransformAnimationCurve):
+ (WebCompositorSupport):
+ * chromium/public/WebPassOwnPtr.h: Removed.
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ Chromium win build fix - fix typo in gypi
+
+ * Platform.gypi:
+
+2012-08-27 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add CompositorSupport interface for constructing compositor classes
+ https://bugs.webkit.org/show_bug.cgi?id=95040
+
+ Reviewed by Darin Fisher.
+
+ Adds a WebCompositorSupport interface as a tear-off of PlatformSupport so the embedder can handle provide
+ implementations of compositor interfaces.
+
+ Adds a new WebPassOwnPtr<> type for use when the caller of an API must take ownership of the provided parameter.
+
+ * Platform.gypi:
+ * chromium/public/Platform.h:
+ (WebKit):
+ (WebKit::Platform::compositorSupport):
+ (Platform):
+ * chromium/public/WebCompositorSupport.h: Added.
+ (WebKit):
+ (WebCompositorSupport):
+ (WebKit::WebCompositorSupport::~WebCompositorSupport):
+
+2012-08-30 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Introduce MediaConstraints
+ https://bugs.webkit.org/show_bug.cgi?id=95198
+
+ Reviewed by Adam Barth.
+
+ Adds WebMediaConstraints.
+
+ * Platform.gypi:
+ * chromium/public/WebMediaConstraints.h: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
+ (WebCore):
+ (WebKit):
+ (WebMediaConstraints):
+ (WebKit::WebMediaConstraints::WebMediaConstraints):
+ (WebKit::WebMediaConstraints::~WebMediaConstraints):
+ (WebKit::WebMediaConstraints::operator=):
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebKit):
+ (WebRTCPeerConnectionHandler):
+
+2012-08-27 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Should accelerate rotations of >= 180 degrees
+ https://bugs.webkit.org/show_bug.cgi?id=94860
+
+ Reviewed by James Robinson.
+
+ When generalizing the keyframe interpolation, it became useful to append an identity transform operation,
+ and to ask a WebTransformOperations object if it isIdentity().
+
+ * chromium/public/WebTransformOperations.h:
+ (WebTransformOperations):
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies of WebScrollbar and WebScrollbarLayer
+ https://bugs.webkit.org/show_bug.cgi?id=94996
+
+ Reviewed by Adrienne Walker.
+
+ This moves the WebScrollbarLayer::create factory out of #if WEBKIT_IMPLEMENTATION and expresses it in API terms
+ only so anyone who can get a handle on a WebScrollbar can construct the layer. Also removes the ::create() from
+ WebScrollbar, anyone who currently has access to a WebCore::Scrollbar also has access to WebScrollbarImpl.
+
+ * chromium/public/WebScrollbar.h:
+ (WebScrollbar):
+ * chromium/public/WebScrollbarLayer.h:
+ (WebScrollbarLayer):
+
+2012-08-23 James Robinson <jamesr@chromium.org>
+
+ [chromium] Convert WebLayerTreeView interface into pure virtual
+ https://bugs.webkit.org/show_bug.cgi?id=94866
+
+ Reviewed by Adrienne Walker.
+
+ This makes the WebLayerTreeView interface pure virtual to provide better insulation from the implementation.
+
+ * chromium/public/WebLayerTreeView.h:
+ (WebKit):
+ (Settings):
+ (WebLayerTreeView):
+ (WebKit::WebLayerTreeView::~WebLayerTreeView):
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up WebAnimation animationId/groupId generation
+ https://bugs.webkit.org/show_bug.cgi?id=94973
+
+ Reviewed by Adrienne Walker.
+
+ This removes the unused groupId from the public interface and makes the implicit animation id generation a bit
+ clearer.
+
+ * chromium/public/WebAnimation.h:
+ (WebAnimation):
+
+2012-08-24 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add readyState functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=94813
+
+ Reviewed by Adam Barth.
+
+ * chromium/public/WebRTCPeerConnectionHandler.h:
+ (WebRTCPeerConnectionHandler):
+ * chromium/public/WebRTCPeerConnectionHandlerClient.h:
+ (WebRTCPeerConnectionHandlerClient):
+
2012-08-23 James Robinson <jamesr@chromium.org>
[chromium] Convert WebAnimationCurve subtypes into pure virtual
diff --git a/Source/Platform/Platform.gyp/.gitignore b/Source/Platform/Platform.gyp/.gitignore
deleted file mode 100644
index 2ca14bf1e..000000000
--- a/Source/Platform/Platform.gyp/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.Makefile
-*.mk
-*.sln
-*.vcproj*
-*.vcxproj*
-*.xcodeproj*
diff --git a/Source/Platform/Platform.gypi b/Source/Platform/Platform.gypi
index 7ab08262a..950d15c59 100644
--- a/Source/Platform/Platform.gypi
+++ b/Source/Platform/Platform.gypi
@@ -44,6 +44,8 @@
'chromium/public/WebClipboard.h',
'chromium/public/WebColor.h',
'chromium/public/WebCommon.h',
+ 'chromium/public/WebCompositor.h',
+ 'chromium/public/WebCompositorSupport.h',
'chromium/public/WebCompositorOutputSurface.h',
'chromium/public/WebCompositorOutputSurfaceClient.h',
'chromium/public/WebContentLayer.h',
@@ -77,9 +79,11 @@
'chromium/public/WebImageLayer.h',
'chromium/public/WebIOSurfaceLayer.h',
'chromium/public/WebLayer.h',
+ 'chromium/public/WebLayerScrollClient.h',
'chromium/public/WebLayerTreeView.h',
'chromium/public/WebLayerTreeViewClient.h',
'chromium/public/WebLocalizedString.h',
+ 'chromium/public/WebMediaConstraints.h',
'chromium/public/WebMediaHints.h',
'chromium/public/WebMediaStreamCenter.h',
'chromium/public/WebMediaStreamCenterClient.h',
@@ -101,8 +105,12 @@
'chromium/public/WebPrivateOwnPtr.h',
'chromium/public/WebPrivatePtr.h',
'chromium/public/WebRTCConfiguration.h',
+ 'chromium/public/WebRTCICECandidate.h',
'chromium/public/WebRTCPeerConnectionHandler.h',
'chromium/public/WebRTCPeerConnectionHandlerClient.h',
+ 'chromium/public/WebRTCSessionDescription.h',
+ 'chromium/public/WebRTCSessionDescriptionRequest.h',
+ 'chromium/public/WebRTCVoidRequest.h',
'chromium/public/WebRect.h',
'chromium/public/WebReferrerPolicy.h',
'chromium/public/WebRenderingStats.h',
@@ -141,6 +149,8 @@
'chromium/public/WebWorkerRunLoop.h',
'chromium/public/android/WebSandboxSupport.h',
'chromium/public/android/WebThemeEngine.h',
+ 'chromium/public/linux/WebFontInfo.h',
+ 'chromium/public/linux/WebFontRenderStyle.h',
'chromium/public/linux/WebSandboxSupport.h',
'chromium/public/linux/WebThemeEngine.h',
'chromium/public/mac/WebSandboxSupport.h',
diff --git a/Source/Platform/chromium/public/Platform.h b/Source/Platform/chromium/public/Platform.h
index d6ba86fe7..47d9905dc 100644
--- a/Source/Platform/chromium/public/Platform.h
+++ b/Source/Platform/chromium/public/Platform.h
@@ -49,6 +49,7 @@ namespace WebKit {
class WebAudioBus;
class WebBlobRegistry;
class WebClipboard;
+class WebCompositorSupport;
class WebCookieJar;
class WebFileSystem;
class WebFileUtilities;
@@ -411,6 +412,8 @@ public:
// This value must be checked again after a context loss event as the platform's capabilities may have changed.
virtual bool canAccelerate2dCanvas() { return false; }
+ virtual WebCompositorSupport* compositorSupport() { return 0; }
+
virtual WebFlingAnimator* createFlingAnimator() { return 0; }
// WebRTC ----------------------------------------------------------
diff --git a/Source/Platform/chromium/public/WebAnimation.h b/Source/Platform/chromium/public/WebAnimation.h
index 621330c7c..fb3b247c3 100644
--- a/Source/Platform/chromium/public/WebAnimation.h
+++ b/Source/Platform/chromium/public/WebAnimation.h
@@ -50,15 +50,15 @@ public:
};
// The caller takes ownership of the returned value.
- WEBKIT_EXPORT static WebAnimation* create(const WebAnimationCurve&, TargetProperty);
-
- // An animationId is effectively the animation's name, and it is not unique.
- // Animations with the same groupId are run at the same time. An animation
- // may be uniquely identified by a combination of groupId and target property.
- WEBKIT_EXPORT static WebAnimation* create(const WebAnimationCurve&, int animationId, int groupId, TargetProperty);
+ // Pass a non-zero value for animationId specify an id to use for this animation, otherwise one will
+ // be generated for you.
+ WEBKIT_EXPORT static WebAnimation* create(const WebAnimationCurve&, TargetProperty, int animationId = 0);
virtual ~WebAnimation() { }
+ // An id is effectively the animation's name, and it is not unique.
+ virtual int id() = 0;
+
virtual TargetProperty targetProperty() const = 0;
// This is the number of times that the animation will play. If this
diff --git a/Source/Platform/chromium/public/WebCompositor.h b/Source/Platform/chromium/public/WebCompositor.h
index 6bdd8ff34..6a8a13ea5 100644
--- a/Source/Platform/chromium/public/WebCompositor.h
+++ b/Source/Platform/chromium/public/WebCompositor.h
@@ -44,7 +44,7 @@ public:
WEBKIT_EXPORT static void initialize(WebThread*);
// Returns whether the compositor was initialized with threading enabled.
- WEBKIT_EXPORT static bool threadingEnabled();
+ WEBKIT_EXPORT static bool isThreadingEnabled();
// Shuts down the compositor. This must be called when all compositor data
// types have been deleted. No compositor classes or methods should be used
diff --git a/Source/Platform/chromium/public/WebCompositorSupport.h b/Source/Platform/chromium/public/WebCompositorSupport.h
new file mode 100644
index 000000000..9088ba9b4
--- /dev/null
+++ b/Source/Platform/chromium/public/WebCompositorSupport.h
@@ -0,0 +1,111 @@
+/*
+ * Copyright (C) 2012 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 WebCompositorSupport_h
+#define WebCompositorSupport_h
+
+#include "WebAnimation.h"
+#include "WebCommon.h"
+#include "WebLayerTreeView.h"
+#include "WebScrollbarThemePainter.h"
+
+namespace WebKit {
+
+class WebAnimationCurve;
+class WebContentLayer;
+class WebContentLayerClient;
+class WebExternalTextureLayer;
+class WebExternalTextureLayerClient;
+class WebFloatAnimationCurve;
+class WebIOSurfaceLayer;
+class WebImageLayer;
+class WebLayer;
+class WebScrollbar;
+class WebScrollbarLayer;
+class WebScrollbarThemeGeometry;
+class WebSolidColorLayer;
+class WebThread;
+class WebTransformAnimationCurve;
+class WebVideoFrameProvider;
+class WebVideoLayer;
+
+class WebCompositorSupport {
+public:
+ // Initializes the compositor. Threaded compositing is enabled by passing in
+ // a non-null WebThread. No compositor classes or methods should be used
+ // prior to calling initialize.
+ virtual void initialize(WebThread*) { }
+
+ // Returns whether the compositor was initialized with threading enabled.
+ virtual bool isThreadingEnabled() { return false; }
+
+ // Shuts down the compositor. This must be called when all compositor data
+ // types have been deleted. No compositor classes or methods should be used
+ // after shutdown.
+ virtual void shutdown() { }
+
+ // These may only be called before initialize.
+ virtual void setPerTilePaintingEnabled(bool) { }
+ virtual void setPartialSwapEnabled(bool) { }
+ virtual void setAcceleratedAnimationEnabled(bool) { }
+
+ // May return 0 if initialization fails.
+ virtual WebLayerTreeView* createLayerTreeView(WebLayerTreeViewClient*, const WebLayer& root, const WebLayerTreeView::Settings&) { return 0; }
+
+
+ // Layers -------------------------------------------------------
+
+ virtual WebLayer* createLayer() { return 0; }
+
+ virtual WebContentLayer* createContentLayer(WebContentLayerClient*) { return 0; }
+
+ virtual WebExternalTextureLayer* createExternalTextureLayer(WebExternalTextureLayerClient* = 0) { return 0; }
+
+ virtual WebIOSurfaceLayer* createIOSurfaceLayer() { return 0; }
+
+ virtual WebImageLayer* createImageLayer() { return 0; }
+
+ virtual WebSolidColorLayer* createSolidColorLayer() { return 0; }
+
+ virtual WebVideoLayer* createVideoLayer(WebVideoFrameProvider*) { return 0; }
+
+ virtual WebScrollbarLayer* createScrollbarLayer(WebScrollbar*, WebScrollbarThemePainter, WebScrollbarThemeGeometry*) { return 0; }
+
+
+ // Animation ----------------------------------------------------
+
+ virtual WebAnimation* createAnimation(const WebAnimationCurve&, WebAnimation::TargetProperty, int animationId = 0) { return 0; }
+
+ virtual WebFloatAnimationCurve* createFloatAnimationCurve() { return 0; }
+
+ virtual WebTransformAnimationCurve* createTransformAnimationCurve() { return 0; }
+
+protected:
+ virtual ~WebCompositorSupport() { }
+};
+
+}
+
+#endif // WebCompositorSupport_h
diff --git a/Source/Platform/chromium/public/WebContentLayer.h b/Source/Platform/chromium/public/WebContentLayer.h
index 312107f9c..7bd2579ac 100644
--- a/Source/Platform/chromium/public/WebContentLayer.h
+++ b/Source/Platform/chromium/public/WebContentLayer.h
@@ -45,8 +45,8 @@ public:
// Defaults to false.
virtual void setDoubleSided(bool) = 0;
- // Set to apply a scale factor used when painting and drawing this layer's content. Defaults to 1.0.
- virtual void setContentsScale(float) = 0;
+ virtual void setBoundsContainPageScale(bool) = 0;
+ virtual bool boundsContainPageScale() const = 0;
// Set to render text in this layer with LCD antialiasing. Only set if you know that this layer will be
// drawn in a way where this makes sense - i.e. opaque background, not rotated or scaled, etc.
diff --git a/Source/Platform/chromium/public/WebFilterOperation.h b/Source/Platform/chromium/public/WebFilterOperation.h
index a8d0ec25b..9f15519a1 100644
--- a/Source/Platform/chromium/public/WebFilterOperation.h
+++ b/Source/Platform/chromium/public/WebFilterOperation.h
@@ -120,7 +120,7 @@ private:
m_dropShadowColor = color;
}
- WebFilterOperation(FilterType, SkScalar matrix[20]);
+ WEBKIT_EXPORT WebFilterOperation(FilterType, SkScalar matrix[20]);
WebFilterOperation(FilterType type, WebRect rect, float inset)
{
diff --git a/Source/Platform/chromium/public/WebInputHandler.h b/Source/Platform/chromium/public/WebInputHandler.h
new file mode 100644
index 000000000..dfb23d527
--- /dev/null
+++ b/Source/Platform/chromium/public/WebInputHandler.h
@@ -0,0 +1,40 @@
+/* Copyright (C) 2012 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. 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 WebInputHandler_h
+#define WebInputHandler_h
+
+namespace WebKit {
+class WebInputHandlerClient;
+
+class WebInputHandler {
+public:
+ virtual ~WebInputHandler() { }
+
+ virtual void bindToClient(WebInputHandlerClient*) = 0;
+ virtual void animate(double monotonicTime) = 0;
+};
+
+}
+
+#endif
diff --git a/Source/Platform/chromium/public/WebInputHandlerClient.h b/Source/Platform/chromium/public/WebInputHandlerClient.h
new file mode 100644
index 000000000..1bef205c4
--- /dev/null
+++ b/Source/Platform/chromium/public/WebInputHandlerClient.h
@@ -0,0 +1,81 @@
+/* Copyright (C) 2012 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. 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 WebInputHandlerClient_h
+#define WebInputHandlerClient_h
+
+#include "WebCommon.h"
+#include "WebPoint.h"
+#include "WebSize.h"
+
+namespace WebKit {
+
+class WebInputHandlerClient {
+public:
+ enum ScrollStatus {
+ ScrollStatusOnMainThread,
+ ScrollStatusStarted,
+ ScrollStatusIgnored
+ };
+ enum ScrollInputType {
+ ScrollInputTypeGesture,
+ ScrollInputTypeWheel
+ };
+
+ // Selects a layer to be scrolled at a given point in window coordinates.
+ // Returns ScrollStarted if the layer at the coordinates can be scrolled,
+ // ScrollOnMainThread if the scroll event should instead be delegated to the
+ // main thread, or ScrollIgnored if there is nothing to be scrolled at the
+ // given coordinates.
+ virtual ScrollStatus scrollBegin(WebPoint, ScrollInputType) = 0;
+
+ // Scroll the selected layer starting at the given window coordinate. If
+ // there is no room to move the layer in the requested direction, its first
+ // ancestor layer that can be scrolled will be moved instead. Should only be
+ // called if scrollBegin() returned ScrollStarted.
+ virtual void scrollBy(WebPoint, WebSize) = 0;
+
+ // Stop scrolling the selected layer. Should only be called if scrollBegin()
+ // returned ScrollStarted.
+ virtual void scrollEnd() = 0;
+
+ virtual void pinchGestureBegin() = 0;
+ virtual void pinchGestureUpdate(float magnifyDelta, WebPoint anchor) = 0;
+ virtual void pinchGestureEnd() = 0;
+
+ virtual void startPageScaleAnimation(WebSize targetPosition,
+ bool anchorPoint,
+ float pageScale,
+ double startTime,
+ double duration) = 0;
+
+ // Request another callback to WebInputHandler::animate().
+ virtual void scheduleAnimation() = 0;
+
+protected:
+ virtual ~WebInputHandlerClient() { }
+};
+
+}
+
+#endif
diff --git a/Source/Platform/chromium/public/WebLayer.h b/Source/Platform/chromium/public/WebLayer.h
index 9bdeb4c01..1bff7efe3 100644
--- a/Source/Platform/chromium/public/WebLayer.h
+++ b/Source/Platform/chromium/public/WebLayer.h
@@ -40,6 +40,7 @@ class SkMatrix44;
namespace WebKit {
class WebAnimationDelegate;
class WebFilterOperations;
+class WebLayerScrollClient;
class WebTransformationMatrix;
struct WebFloatPoint;
struct WebFloatRect;
@@ -165,6 +166,9 @@ public:
// Scrolling
virtual void setScrollPosition(WebPoint) = 0;
+ virtual WebPoint scrollPosition() const = 0;
+
+ virtual void setMaxScrollPosition(WebSize) = 0;
virtual void setScrollable(bool) = 0;
virtual void setHaveWheelEventHandlers(bool) = 0;
virtual void setShouldScrollOnMainThread(bool) = 0;
@@ -172,6 +176,13 @@ public:
virtual void setIsContainerForFixedPositionLayers(bool) = 0;
virtual void setFixedToContainerLayer(bool) = 0;
+ // The scroll client is notified when the scroll position of the WebLayer
+ // changes. Only a single scroll client can be set for a WebLayer at a time.
+ // The WebLayer does not take ownership of the scroll client, and it is the
+ // responsibility of the client to reset the layer's scroll client before
+ // deleting the scroll client.
+ virtual void setScrollClient(WebLayerScrollClient*) = 0;
+
// Forces this layer to use a render surface. There is no benefit in doing
// so, but this is to facilitate benchmarks and tests.
virtual void setForceRenderSurface(bool) = 0;
diff --git a/Source/Platform/chromium/public/WebLayerScrollClient.h b/Source/Platform/chromium/public/WebLayerScrollClient.h
new file mode 100644
index 000000000..8504a342e
--- /dev/null
+++ b/Source/Platform/chromium/public/WebLayerScrollClient.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012 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. 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 WebLayerScrollClient_h
+#define WebLayerScrollClient_h
+
+namespace WebKit {
+
+// A client that is notified of scrolling on a WebLayer.
+class WebLayerScrollClient {
+public:
+ virtual void didScroll() = 0;
+protected:
+ virtual ~WebLayerScrollClient() { }
+};
+
+} // namespace WebKit
+
+#endif // WebLayerScrollClient_h
diff --git a/Source/Platform/chromium/public/WebLayerTreeView.h b/Source/Platform/chromium/public/WebLayerTreeView.h
index 1ad967da1..9c95ad2d3 100644
--- a/Source/Platform/chromium/public/WebLayerTreeView.h
+++ b/Source/Platform/chromium/public/WebLayerTreeView.h
@@ -33,21 +33,15 @@
#include "WebPrivateOwnPtr.h"
#include "WebSize.h"
-namespace WebCore {
-class CCLayerTreeHost;
-struct CCLayerTreeSettings;
-}
-
namespace WebKit {
class WebGraphicsContext3D;
class WebLayer;
class WebLayerTreeViewClient;
-class WebLayerTreeViewImpl;
struct WebPoint;
struct WebRect;
struct WebRenderingStats;
-class WebLayerTreeView : public WebNonCopyable {
+class WebLayerTreeView {
public:
struct Settings {
Settings()
@@ -70,97 +64,83 @@ public:
double refreshRate;
WebSize defaultTileSize;
WebSize maxUntiledLayerSize;
-
-#if WEBKIT_IMPLEMENTATION
- operator WebCore::CCLayerTreeSettings() const;
-#endif
};
- WebLayerTreeView() { }
- ~WebLayerTreeView() { reset(); }
-
- WEBKIT_EXPORT void reset();
+#define WEBLAYERTREEVIEW_IS_PURE_VIRTUAL
+ // Attempts to initialize this WebLayerTreeView with the given client, root layer, and settings.
+ // If initialization fails, this will return nil.
+ WEBKIT_EXPORT static WebLayerTreeView* create(WebLayerTreeViewClient*, const WebLayer& root, const Settings&);
- bool isNull() const;
+ virtual ~WebLayerTreeView() { }
// Initialization and lifecycle --------------------------------------
- // Attempts to initialize this WebLayerTreeView with the given client, root layer, and settings.
- // If initialization fails, this will return false and .isNull() will return true.
- // Must be called before any methods below.
- WEBKIT_EXPORT bool initialize(WebLayerTreeViewClient*, const WebLayer& root, const Settings&);
-
// Indicates that the compositing surface used by this WebLayerTreeView is ready to use.
// A WebLayerTreeView may request a context from its client before the surface is ready,
// but it won't attempt to use it.
- WEBKIT_EXPORT void setSurfaceReady();
+ virtual void setSurfaceReady() = 0;
// Sets the root of the tree. The root is set by way of the constructor.
- // This is typically used to explicitly set the root to null to break
- // cycles.
- WEBKIT_EXPORT void setRootLayer(WebLayer*);
-
- // Returns a unique identifier that can be used on the compositor thread to request a
- // WebCompositorInputHandler instance.
- WEBKIT_EXPORT int compositorIdentifier();
+ virtual void setRootLayer(const WebLayer&) = 0;
+ virtual void clearRootLayer() = 0;
// View properties ---------------------------------------------------
- WEBKIT_EXPORT void setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize = WebSize());
+ virtual void setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize = WebSize()) = 0;
// Gives the viewport size in layer space.
- WEBKIT_EXPORT WebSize layoutViewportSize() const;
+ virtual WebSize layoutViewportSize() const = 0;
// Gives the viewport size in physical device pixels (may be different
// from the above if there exists page scale, device scale or fixed layout
// mode).
- WEBKIT_EXPORT WebSize deviceViewportSize() const;
+ virtual WebSize deviceViewportSize() const = 0;
- WEBKIT_EXPORT void setDeviceScaleFactor(float);
- WEBKIT_EXPORT float deviceScaleFactor() const;
+ virtual void setDeviceScaleFactor(float) = 0;
+ virtual float deviceScaleFactor() const = 0;
// Sets the background color for the viewport.
- WEBKIT_EXPORT void setBackgroundColor(WebColor);
+ virtual void setBackgroundColor(WebColor) = 0;
// Sets the background transparency for the viewport. The default is 'false'.
- WEBKIT_EXPORT void setHasTransparentBackground(bool);
+ virtual void setHasTransparentBackground(bool) = 0;
// Sets whether this view is visible. In threaded mode, a view that is not visible will not
// composite or trigger updateAnimations() or layout() calls until it becomes visible.
- WEBKIT_EXPORT void setVisible(bool);
+ virtual void setVisible(bool) = 0;
// Sets the current page scale factor and minimum / maximum limits. Both limits are initially 1 (no page scale allowed).
- WEBKIT_EXPORT void setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum);
+ virtual void setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum) = 0;
// Starts an animation of the page scale to a target scale factor and scroll offset.
// If useAnchor is true, destination is a point on the screen that will remain fixed for the duration of the animation.
// If useAnchor is false, destination is the final top-left scroll position.
- WEBKIT_EXPORT void startPageScaleAnimation(const WebPoint& destination, bool useAnchor, float newPageScale, double durationSec);
+ virtual void startPageScaleAnimation(const WebPoint& destination, bool useAnchor, float newPageScale, double durationSec) = 0;
// Flow control and scheduling ---------------------------------------
// Requests an updateAnimations() call.
- WEBKIT_EXPORT void setNeedsAnimate();
+ virtual void setNeedsAnimate() = 0;
// Indicates that the view needs to be redrawn. This is typically used when the frontbuffer is damaged.
- WEBKIT_EXPORT void setNeedsRedraw();
+ virtual void setNeedsRedraw() = 0;
// Indicates whether a commit is pending.
- WEBKIT_EXPORT bool commitRequested() const;
+ virtual bool commitRequested() const = 0;
// Triggers a compositing pass. If the compositor thread was not
- // enabled via WebCompositor::initialize, the compositing pass happens
+ // enabled via WebCompositorSupport::initialize, the compositing pass happens
// immediately. If it is enabled, the compositing pass will happen at a
// later time. Before the compositing pass happens (i.e. before composite()
// returns when the compositor thread is disabled), WebContentLayers will be
// asked to paint their dirty region, through
// WebContentLayerClient::paintContents.
- WEBKIT_EXPORT void composite();
+ virtual void composite() = 0;
// Immediately update animations. This should only be used when frame scheduling is handled by
// the WebLayerTreeView user and not internally by the compositor, meaning only in single-threaded
// mode.
- WEBKIT_EXPORT void updateAnimations(double frameBeginTime);
+ virtual void updateAnimations(double frameBeginTime) = 0;
// Composites and attempts to read back the result into the provided
// buffer. If it wasn't possible, e.g. due to context lost, will return
@@ -168,27 +148,24 @@ public:
// large enough contain viewportSize().width() * viewportSize().height()
// pixels. The WebLayerTreeView does not assume ownership of the buffer.
// The buffer is not modified if the false is returned.
- WEBKIT_EXPORT bool compositeAndReadback(void *pixels, const WebRect&);
+ virtual bool compositeAndReadback(void *pixels, const WebRect&) = 0;
// Blocks until the most recently composited frame has finished rendering on the GPU.
// This can have a significant performance impact and should be used with care.
- WEBKIT_EXPORT void finishAllRendering();
+ virtual void finishAllRendering() = 0;
// Debugging / dangerous ---------------------------------------------
// Fills in a WebRenderingStats struct containing information about the state of the compositor.
// This call is relatively expensive in threaded mode as it blocks on the compositor thread.
- WEBKIT_EXPORT void renderingStats(WebRenderingStats&) const;
+ virtual void renderingStats(WebRenderingStats&) const = 0;
// Provides a font atlas to use for debug visualizations. The atlas must be a bitmap containing glyph data, a table of
// ASCII character values to a subrectangle of the atlas representing the corresponding glyph, and the glyph height.
- WEBKIT_EXPORT void setFontAtlas(SkBitmap, WebRect asciiToRectTable[128], int fontHeight);
+ virtual void setFontAtlas(SkBitmap, WebRect asciiToRectTable[128], int fontHeight) = 0;
// Simulates a lost context. For testing only.
- WEBKIT_EXPORT void loseCompositorContext(int numTimes);
-
-protected:
- WebPrivateOwnPtr<WebLayerTreeViewImpl> m_private;
+ virtual void loseCompositorContext(int numTimes) = 0;
};
} // namespace WebKit
diff --git a/Source/Platform/chromium/public/WebLayerTreeViewClient.h b/Source/Platform/chromium/public/WebLayerTreeViewClient.h
index dfb4e8161..46b044a30 100644
--- a/Source/Platform/chromium/public/WebLayerTreeViewClient.h
+++ b/Source/Platform/chromium/public/WebLayerTreeViewClient.h
@@ -28,8 +28,9 @@
namespace WebKit {
class WebCompositorOutputSurface;
-struct WebSize;
+class WebInputHandler;
class WebThread;
+struct WebSize;
class WebLayerTreeViewClient {
public:
@@ -72,6 +73,8 @@ public:
// 3D context event).
virtual void didRecreateOutputSurface(bool success) { }
+ virtual WebInputHandler* createInputHandler() { return 0; }
+
// Indicates that a frame will be committed to the impl side of the compositor
// for rendering.
virtual void willCommit() { }
diff --git a/Source/Platform/chromium/public/WebLocalizedString.h b/Source/Platform/chromium/public/WebLocalizedString.h
index 419dfb242..10373f4c6 100644
--- a/Source/Platform/chromium/public/WebLocalizedString.h
+++ b/Source/Platform/chromium/public/WebLocalizedString.h
@@ -35,17 +35,27 @@ namespace WebKit {
struct WebLocalizedString {
enum Name {
+ AXAMPMFieldText,
AXButtonActionVerb,
AXCheckedCheckBoxActionVerb,
+ AXDateTimeFieldEmptyValueText,
+ AXDayOfMonthFieldText,
AXHeadingText,
+ AXHourFieldText,
AXImageMapText,
AXLinkActionVerb,
AXLinkText,
AXListMarkerText,
+ AXMillisecondFieldText,
+ AXMinuteFieldText,
+ AXMonthFieldText,
AXRadioButtonActionVerb,
+ AXSecondFieldText,
AXTextFieldActionVerb,
AXUncheckedCheckBoxActionVerb,
AXWebAreaText,
+ AXWeekOfYearFieldText,
+ AXYearFieldText,
CalendarClear,
CalendarToday,
DateFormatDayInMonthLabel,
diff --git a/Source/Platform/chromium/public/WebMediaConstraints.h b/Source/Platform/chromium/public/WebMediaConstraints.h
new file mode 100644
index 000000000..c77424880
--- /dev/null
+++ b/Source/Platform/chromium/public/WebMediaConstraints.h
@@ -0,0 +1,79 @@
+/*
+ * Copyright (C) 2012 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 WebMediaConstraints_h
+#define WebMediaConstraints_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+#include "WebPrivatePtr.h"
+#include "WebString.h"
+#include "WebVector.h"
+
+namespace WebCore {
+class MediaConstraints;
+}
+
+namespace WebKit {
+
+class WebMediaConstraints {
+public:
+ WebMediaConstraints() { }
+ WebMediaConstraints(const WebMediaConstraints& other) { assign(other); }
+ ~WebMediaConstraints() { reset(); }
+
+ WebMediaConstraints& operator=(const WebMediaConstraints& other)
+ {
+ assign(other);
+ return *this;
+ }
+
+ WEBKIT_EXPORT void assign(const WebMediaConstraints&);
+
+ WEBKIT_EXPORT void reset();
+ bool isNull() const;
+
+ WEBKIT_EXPORT void getMandatoryConstraintNames(WebVector<WebString>& names) const;
+ WEBKIT_EXPORT void getOptionalConstraintNames(WebVector<WebString>& names) const;
+
+ WEBKIT_EXPORT bool getMandatoryConstraintValue(const WebString& name, WebString& value) const;
+ WEBKIT_EXPORT bool getOptionalConstraintValue(const WebString& name, WebString& value) const;
+
+#if WEBKIT_IMPLEMENTATION
+ WebMediaConstraints(const WTF::PassRefPtr<WebCore::MediaConstraints>&);
+#endif
+
+private:
+ WebPrivatePtr<WebCore::MediaConstraints> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebMediaConstraints_h
diff --git a/Source/Platform/chromium/public/WebMediaStreamCenter.h b/Source/Platform/chromium/public/WebMediaStreamCenter.h
index fdef7b894..2cea5e622 100644
--- a/Source/Platform/chromium/public/WebMediaStreamCenter.h
+++ b/Source/Platform/chromium/public/WebMediaStreamCenter.h
@@ -47,12 +47,10 @@ public:
virtual void queryMediaStreamSources(const WebMediaStreamSourcesRequest&) = 0;
virtual void didEnableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
virtual void didDisableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
+ virtual bool didAddMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) { return false; };
+ virtual bool didRemoveMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) { return false; };
virtual void didStopLocalMediaStream(const WebMediaStreamDescriptor&) = 0;
- virtual void didCreateMediaStream(WebMediaStreamDescriptor&) { }
-
- // DEPRECATED
- virtual void didConstructMediaStream(const WebMediaStreamDescriptor&) { }
-
+ virtual void didCreateMediaStream(WebMediaStreamDescriptor&) = 0;
virtual WebString constructSDP(const WebICECandidateDescriptor&) = 0;
virtual WebString constructSDP(const WebSessionDescriptionDescriptor&) = 0;
};
diff --git a/Source/Platform/chromium/public/WebRTCICECandidate.h b/Source/Platform/chromium/public/WebRTCICECandidate.h
new file mode 100644
index 000000000..5b72f405b
--- /dev/null
+++ b/Source/Platform/chromium/public/WebRTCICECandidate.h
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2012 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 WebRTCICECandidate_h
+#define WebRTCICECandidate_h
+
+#include "WebCommon.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class RTCIceCandidateDescriptor;
+}
+
+namespace WebKit {
+
+class WebString;
+
+class WebRTCICECandidate {
+public:
+ WebRTCICECandidate() { }
+ WebRTCICECandidate(const WebRTCICECandidate& other) { assign(other); }
+ ~WebRTCICECandidate() { reset(); }
+
+ WebRTCICECandidate& operator=(const WebRTCICECandidate& other)
+ {
+ assign(other);
+ return *this;
+ }
+
+ WEBKIT_EXPORT void assign(const WebRTCICECandidate&);
+
+ WEBKIT_EXPORT void initialize(const WebString& candidate, const WebString& sdpMid, unsigned short sdpMLineIndex);
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+ WEBKIT_EXPORT WebString candidate() const;
+ WEBKIT_EXPORT WebString sdpMid() const;
+ WEBKIT_EXPORT unsigned short sdpMLineIndex() const;
+
+#if WEBKIT_IMPLEMENTATION
+ WebRTCICECandidate(WebCore::RTCIceCandidateDescriptor*);
+ WebRTCICECandidate(WTF::PassRefPtr<WebCore::RTCIceCandidateDescriptor>);
+
+ operator WTF::PassRefPtr<WebCore::RTCIceCandidateDescriptor>() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::RTCIceCandidateDescriptor> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebRTCICECandidate_h
diff --git a/Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h b/Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h
index a2641bf9c..823466a52 100644
--- a/Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h
+++ b/Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h
@@ -32,13 +32,32 @@
#define WebRTCPeerConnectionHandler_h
namespace WebKit {
+class WebMediaConstraints;
+class WebMediaStreamDescriptor;
+class WebRTCConfiguration;
+class WebRTCICECandidate;
class WebRTCPeerConnectionHandlerClient;
+class WebRTCSessionDescription;
+class WebRTCSessionDescriptionRequest;
+class WebRTCVoidRequest;
class WebRTCPeerConnectionHandler {
public:
virtual ~WebRTCPeerConnectionHandler() { }
- virtual bool initialize() = 0;
+ virtual bool initialize(const WebRTCConfiguration&, const WebMediaConstraints&) = 0;
+
+ virtual void createOffer(const WebRTCSessionDescriptionRequest&, const WebMediaConstraints&) = 0;
+ virtual void createAnswer(const WebRTCSessionDescriptionRequest&, const WebMediaConstraints&) = 0;
+ virtual void setLocalDescription(const WebRTCVoidRequest&, const WebRTCSessionDescription&) = 0;
+ virtual void setRemoteDescription(const WebRTCVoidRequest&, const WebRTCSessionDescription&) = 0;
+ virtual WebRTCSessionDescription localDescription() = 0;
+ virtual WebRTCSessionDescription remoteDescription() = 0;
+ virtual bool updateICE(const WebRTCConfiguration&, const WebMediaConstraints&) = 0;
+ virtual bool addICECandidate(const WebRTCICECandidate&) = 0;
+ virtual bool addStream(const WebMediaStreamDescriptor&, const WebMediaConstraints&) = 0;
+ virtual void removeStream(const WebMediaStreamDescriptor&) = 0;
+ virtual void stop() = 0;
};
} // namespace WebKit
diff --git a/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h b/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h
index 1443def4f..815981d87 100644
--- a/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h
+++ b/Source/Platform/chromium/public/WebRTCPeerConnectionHandlerClient.h
@@ -32,10 +32,37 @@
#define WebRTCPeerConnectionHandlerClient_h
namespace WebKit {
+class WebMediaStreamDescriptor;
+class WebRTCICECandidate;
class WebRTCPeerConnectionHandlerClient {
public:
+ enum ReadyState {
+ ReadyStateNew = 1,
+ ReadyStateOpening = 2,
+ ReadyStateActive = 3,
+ ReadyStateClosing = 4,
+ ReadyStateClosed = 5
+ };
+
+ enum ICEState {
+ ICEStateNew = 1,
+ ICEStateGathering = 2,
+ ICEStateWaiting = 3,
+ ICEStateChecking = 4,
+ ICEStateConnected = 5,
+ ICEStateCompleted = 6,
+ ICEStateFailed = 7,
+ ICEStateClosed = 8
+ };
+
virtual ~WebRTCPeerConnectionHandlerClient() { }
+
+ virtual void didGenerateICECandidate(const WebRTCICECandidate&) = 0;
+ virtual void didChangeReadyState(ReadyState) = 0;
+ virtual void didChangeICEState(ICEState) = 0;
+ virtual void didAddRemoteStream(const WebMediaStreamDescriptor&) = 0;
+ virtual void didRemoveRemoteStream(const WebMediaStreamDescriptor&) = 0;
};
} // namespace WebKit
diff --git a/Source/Platform/chromium/public/WebRTCSessionDescription.h b/Source/Platform/chromium/public/WebRTCSessionDescription.h
new file mode 100644
index 000000000..5a1f1e45e
--- /dev/null
+++ b/Source/Platform/chromium/public/WebRTCSessionDescription.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2012 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 WebRTCSessionDescription_h
+#define WebRTCSessionDescription_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class RTCSessionDescriptionDescriptor;
+}
+
+namespace WebKit {
+class WebString;
+
+// In order to establish the media plane, PeerConnection needs specific
+// parameters to indicate what to transmit to the remote side, as well
+// as how to handle the media that is received. These parameters are
+// determined by the exchange of session descriptions in offers and
+// answers, and there are certain details to this process that must be
+// handled in the JSEP APIs.
+//
+// Whether a session description was sent or received affects the
+// meaning of that description. For example, the list of codecs sent to
+// a remote party indicates what the local side is willing to decode,
+// and what the remote party should send.
+
+class WebRTCSessionDescription {
+public:
+ WebRTCSessionDescription() { }
+ WebRTCSessionDescription(const WebRTCSessionDescription& other) { assign(other); }
+ ~WebRTCSessionDescription() { reset(); }
+
+ WebRTCSessionDescription& operator=(const WebRTCSessionDescription& other)
+ {
+ assign(other);
+ return *this;
+ }
+
+ WEBKIT_EXPORT void assign(const WebRTCSessionDescription&);
+
+ WEBKIT_EXPORT void initialize(const WebString& type, const WebString& sdp);
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+ WEBKIT_EXPORT WebString type() const;
+ WEBKIT_EXPORT void setType(const WebString&);
+ WEBKIT_EXPORT WebString sdp() const;
+ WEBKIT_EXPORT void setSDP(const WebString&);
+
+#if WEBKIT_IMPLEMENTATION
+ WebRTCSessionDescription(const WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>&);
+
+ operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>() const;
+#endif
+
+private:
+ WebPrivatePtr<WebCore::RTCSessionDescriptionDescriptor> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebRTCSessionDescription_h
diff --git a/Source/Platform/chromium/public/WebRTCSessionDescriptionRequest.h b/Source/Platform/chromium/public/WebRTCSessionDescriptionRequest.h
new file mode 100644
index 000000000..dc63565d7
--- /dev/null
+++ b/Source/Platform/chromium/public/WebRTCSessionDescriptionRequest.h
@@ -0,0 +1,88 @@
+/*
+ * Copyright (C) 2012 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 WebRTCSessionDescriptionRequest_h
+#define WebRTCSessionDescriptionRequest_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+#include "WebPrivatePtr.h"
+#include "WebString.h"
+
+namespace WebCore {
+class RTCSessionDescriptionRequest;
+}
+
+namespace WebKit {
+class WebRTCSessionDescription;
+
+class WebRTCSessionDescriptionRequest {
+public:
+ class ExtraData {
+ public:
+ virtual ~ExtraData() { }
+ };
+
+ WebRTCSessionDescriptionRequest() { }
+ WebRTCSessionDescriptionRequest(const WebRTCSessionDescriptionRequest& other) { assign(other); }
+ ~WebRTCSessionDescriptionRequest() { reset(); }
+
+ WebRTCSessionDescriptionRequest& operator=(const WebRTCSessionDescriptionRequest& other)
+ {
+ assign(other);
+ return *this;
+ }
+
+ WEBKIT_EXPORT void assign(const WebRTCSessionDescriptionRequest&);
+
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+ WEBKIT_EXPORT void requestSucceeded(const WebRTCSessionDescription&) const;
+ WEBKIT_EXPORT void requestFailed(const WebString& error) const;
+
+ // Extra data associated with this object.
+ // If non-null, the extra data pointer will be deleted when the object is destroyed.
+ // Setting the extra data pointer will cause any existing non-null
+ // extra data pointer to be deleted.
+ WEBKIT_EXPORT ExtraData* extraData() const;
+ WEBKIT_EXPORT void setExtraData(ExtraData*);
+
+#if WEBKIT_IMPLEMENTATION
+ WebRTCSessionDescriptionRequest(const WTF::PassRefPtr<WebCore::RTCSessionDescriptionRequest>&);
+#endif
+
+private:
+ WebPrivatePtr<WebCore::RTCSessionDescriptionRequest> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebRTCSessionDescriptionRequest_h
diff --git a/Source/Platform/chromium/public/WebRTCVoidRequest.h b/Source/Platform/chromium/public/WebRTCVoidRequest.h
new file mode 100644
index 000000000..1256bc6c0
--- /dev/null
+++ b/Source/Platform/chromium/public/WebRTCVoidRequest.h
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2012 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 WebRTCVoidRequest_h
+#define WebRTCVoidRequest_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+#include "WebPrivatePtr.h"
+#include "WebString.h"
+
+namespace WebCore {
+class RTCVoidRequest;
+}
+
+namespace WebKit {
+
+class WebRTCVoidRequest {
+public:
+ class ExtraData {
+ public:
+ virtual ~ExtraData() { }
+ };
+
+ WebRTCVoidRequest() { }
+ WebRTCVoidRequest(const WebRTCVoidRequest& other) { assign(other); }
+ ~WebRTCVoidRequest() { reset(); }
+
+ WebRTCVoidRequest& operator=(const WebRTCVoidRequest& other)
+ {
+ assign(other);
+ return *this;
+ }
+
+ WEBKIT_EXPORT void assign(const WebRTCVoidRequest&);
+
+ WEBKIT_EXPORT void reset();
+ bool isNull() const { return m_private.isNull(); }
+
+ WEBKIT_EXPORT void requestSucceeded() const;
+ WEBKIT_EXPORT void requestFailed(const WebString& error) const;
+
+ // Extra data associated with this object.
+ // If non-null, the extra data pointer will be deleted when the object is destroyed.
+ // Setting the extra data pointer will cause any existing non-null
+ // extra data pointer to be deleted.
+ WEBKIT_EXPORT ExtraData* extraData() const;
+ WEBKIT_EXPORT void setExtraData(ExtraData*);
+
+#if WEBKIT_IMPLEMENTATION
+ WebRTCVoidRequest(const WTF::PassRefPtr<WebCore::RTCVoidRequest>&);
+#endif
+
+private:
+ WebPrivatePtr<WebCore::RTCVoidRequest> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebRTCVoidRequest_h
diff --git a/Source/Platform/chromium/public/WebRenderingStats.h b/Source/Platform/chromium/public/WebRenderingStats.h
index 404776378..7b2f6410b 100644
--- a/Source/Platform/chromium/public/WebRenderingStats.h
+++ b/Source/Platform/chromium/public/WebRenderingStats.h
@@ -43,6 +43,28 @@ struct WebRenderingStats {
, totalRasterizeTimeInSeconds(0)
{
}
+
+ // In conjunction with enumerateFields, this allows the embedder to
+ // enumerate the values in this structure without
+ // having to embed references to its specific member variables. This
+ // simplifies the addition of new fields to this type.
+ class Enumerator {
+ public:
+ virtual void addInt(const char* name, int value) = 0;
+ virtual void addDouble(const char* name, double value) = 0;
+ protected:
+ virtual ~Enumerator() { }
+ };
+
+ // Outputs the fields in this structure to the provided enumerator.
+ void enumerateFields(Enumerator* enumerator) const
+ {
+ enumerator->addInt("numAnimationFrames", numAnimationFrames);
+ enumerator->addInt("numFramesSentToScreen", numFramesSentToScreen);
+ enumerator->addInt("droppedFrameCount", droppedFrameCount);
+ enumerator->addDouble("totalPaintTimeInSeconds", totalPaintTimeInSeconds);
+ enumerator->addDouble("totalRasterizeTimeInSeconds", totalRasterizeTimeInSeconds);
+ }
};
} // namespace WebKit
diff --git a/Source/Platform/chromium/public/WebScrollbar.h b/Source/Platform/chromium/public/WebScrollbar.h
index 8baf34b76..0462b6489 100644
--- a/Source/Platform/chromium/public/WebScrollbar.h
+++ b/Source/Platform/chromium/public/WebScrollbar.h
@@ -106,10 +106,6 @@ public:
virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const = 0;
virtual bool isCustomScrollbar() const = 0;
virtual Orientation orientation() const = 0;
-
-#if WEBKIT_IMPLEMENTATION
- WEBKIT_EXPORT static PassOwnPtr<WebScrollbar> create(WebCore::Scrollbar*);
-#endif
};
} // namespace WebKit
diff --git a/Source/Platform/chromium/public/WebScrollbarLayer.h b/Source/Platform/chromium/public/WebScrollbarLayer.h
index 451a0b9c1..57ce3a552 100644
--- a/Source/Platform/chromium/public/WebScrollbarLayer.h
+++ b/Source/Platform/chromium/public/WebScrollbarLayer.h
@@ -38,15 +38,14 @@ namespace WebKit {
class WebScrollbarLayer {
public:
+ // This takes ownership of the provided WebScrollbar and WebScrollbarThemeGeometry.
+ WEBKIT_EXPORT static WebScrollbarLayer* create(WebScrollbar*, WebScrollbarThemePainter, WebScrollbarThemeGeometry*);
+
virtual ~WebScrollbarLayer() { }
virtual WebLayer* layer() = 0;
virtual void setScrollLayer(WebLayer*) = 0;
-
-#if WEBKIT_IMPLEMENTATION
- WEBKIT_EXPORT static WebScrollbarLayer* create(WebCore::Scrollbar*, WebScrollbarThemePainter, PassOwnPtr<WebScrollbarThemeGeometry>);
-#endif
};
} // namespace WebKit
diff --git a/Source/Platform/chromium/public/WebScrollbarThemePainter.h b/Source/Platform/chromium/public/WebScrollbarThemePainter.h
index e6cbeb80d..3cf1d9219 100644
--- a/Source/Platform/chromium/public/WebScrollbarThemePainter.h
+++ b/Source/Platform/chromium/public/WebScrollbarThemePainter.h
@@ -49,7 +49,6 @@ public:
return *this;
}
- bool isNull() const { return m_theme; }
WEBKIT_EXPORT void assign(const WebScrollbarThemePainter&);
WEBKIT_EXPORT void paintScrollbarBackground(WebCanvas*, const WebRect&);
diff --git a/Source/Platform/chromium/public/WebTransformOperations.h b/Source/Platform/chromium/public/WebTransformOperations.h
index a497aaa55..ff3fadcf9 100644
--- a/Source/Platform/chromium/public/WebTransformOperations.h
+++ b/Source/Platform/chromium/public/WebTransformOperations.h
@@ -68,17 +68,26 @@ public:
// as other and its descendants.
WEBKIT_EXPORT bool matchesTypes(const WebTransformOperations& other) const;
+ // Returns true if these operations can be blended. It will only return
+ // false if we must resort to matrix interpolation, and matrix interpolation
+ // fails (this can happen if either matrix cannot be decomposed).
+ WEBKIT_EXPORT bool canBlendWith(const WebTransformOperations& other) const;
+
WEBKIT_EXPORT void appendTranslate(double x, double y, double z);
WEBKIT_EXPORT void appendRotate(double x, double y, double z, double degrees);
WEBKIT_EXPORT void appendScale(double x, double y, double z);
WEBKIT_EXPORT void appendSkew(double x, double y);
WEBKIT_EXPORT void appendPerspective(double depth);
WEBKIT_EXPORT void appendMatrix(const WebTransformationMatrix&);
+ WEBKIT_EXPORT void appendIdentity();
+
+ WEBKIT_EXPORT bool isIdentity() const;
private:
WEBKIT_EXPORT void reset();
WEBKIT_EXPORT void initialize();
WEBKIT_EXPORT void initialize(const WebTransformOperations& prototype);
+ WEBKIT_EXPORT bool blendInternal(const WebTransformOperations& from, double progress, WebTransformationMatrix& result) const;
WebPrivateOwnPtr<WebTransformOperationsPrivate> m_private;
};
diff --git a/Source/Platform/chromium/public/WebTransformationMatrix.h b/Source/Platform/chromium/public/WebTransformationMatrix.h
index 9de9e2c4c..0ecb34c2f 100644
--- a/Source/Platform/chromium/public/WebTransformationMatrix.h
+++ b/Source/Platform/chromium/public/WebTransformationMatrix.h
@@ -45,93 +45,93 @@ namespace WebKit {
class WebTransformationMatrix {
public:
- WebTransformationMatrix();
- WebTransformationMatrix(double a, double b, double c, double d, double e, double f);
- WebTransformationMatrix(double m11, double m12, double m13, double m14,
- double m21, double m22, double m23, double m24,
- double m31, double m32, double m33, double m34,
- double m41, double m42, double m43, double m44);
- WebTransformationMatrix(const WebTransformationMatrix&);
+ WEBKIT_EXPORT WebTransformationMatrix();
+ WEBKIT_EXPORT WebTransformationMatrix(double a, double b, double c, double d, double e, double f);
+ WEBKIT_EXPORT WebTransformationMatrix(double m11, double m12, double m13, double m14,
+ double m21, double m22, double m23, double m24,
+ double m31, double m32, double m33, double m34,
+ double m41, double m42, double m43, double m44);
+ WEBKIT_EXPORT WebTransformationMatrix(const WebTransformationMatrix&);
~WebTransformationMatrix() { }
// Operations that return a separate matrix and do not modify this one.
- WebTransformationMatrix inverse() const;
- WebTransformationMatrix to2dTransform() const;
+ WEBKIT_EXPORT WebTransformationMatrix inverse() const;
+ WEBKIT_EXPORT WebTransformationMatrix to2dTransform() const;
- WebTransformationMatrix& operator=(const WebTransformationMatrix&);
- bool operator==(const WebTransformationMatrix&) const;
- WebTransformationMatrix operator*(const WebTransformationMatrix&) const;
+ WEBKIT_EXPORT WebTransformationMatrix& operator=(const WebTransformationMatrix&);
+ WEBKIT_EXPORT bool operator==(const WebTransformationMatrix&) const;
+ WEBKIT_EXPORT WebTransformationMatrix operator*(const WebTransformationMatrix&) const;
// Operations that modify this matrix
- void multiply(const WebTransformationMatrix&);
- void makeIdentity();
- void translate(double tx, double ty);
- void translate3d(double tx, double ty, double tz);
- void translateRight3d(double tx, double ty, double tz);
- void scale(double s);
- void scaleNonUniform(double sx, double sy);
- void scale3d(double sx, double sy, double sz);
- void rotate(double angle);
- void rotate3d(double rx, double ry, double rz);
- void rotate3d(double x, double y, double z, double angle);
- void skewX(double angle);
- void skewY(double angle);
- void applyPerspective(double p);
- void blend(const WebTransformationMatrix& from, double progress);
-
- bool hasPerspective() const;
- bool isInvertible() const;
- bool isBackFaceVisible() const;
- bool isIdentity() const;
- bool isIdentityOrTranslation() const;
- bool isIntegerTranslation() const;
+ WEBKIT_EXPORT void multiply(const WebTransformationMatrix&);
+ WEBKIT_EXPORT void makeIdentity();
+ WEBKIT_EXPORT void translate(double tx, double ty);
+ WEBKIT_EXPORT void translate3d(double tx, double ty, double tz);
+ WEBKIT_EXPORT void translateRight3d(double tx, double ty, double tz);
+ WEBKIT_EXPORT void scale(double s);
+ WEBKIT_EXPORT void scaleNonUniform(double sx, double sy);
+ WEBKIT_EXPORT void scale3d(double sx, double sy, double sz);
+ WEBKIT_EXPORT void rotate(double angle);
+ WEBKIT_EXPORT void rotate3d(double rx, double ry, double rz);
+ WEBKIT_EXPORT void rotate3d(double x, double y, double z, double angle);
+ WEBKIT_EXPORT void skewX(double angle);
+ WEBKIT_EXPORT void skewY(double angle);
+ WEBKIT_EXPORT void applyPerspective(double p);
+ WEBKIT_EXPORT bool blend(const WebTransformationMatrix& from, double progress);
+
+ WEBKIT_EXPORT bool hasPerspective() const;
+ WEBKIT_EXPORT bool isInvertible() const;
+ WEBKIT_EXPORT bool isBackFaceVisible() const;
+ WEBKIT_EXPORT bool isIdentity() const;
+ WEBKIT_EXPORT bool isIdentityOrTranslation() const;
+ WEBKIT_EXPORT bool isIntegerTranslation() const;
// Accessors
- double m11() const;
- void setM11(double);
- double m12() const;
- void setM12(double);
- double m13() const;
- void setM13(double);
- double m14() const;
- void setM14(double);
- double m21() const;
- void setM21(double);
- double m22() const;
- void setM22(double);
- double m23() const;
- void setM23(double);
- double m24() const;
- void setM24(double);
- double m31() const;
- void setM31(double);
- double m32() const;
- void setM32(double);
- double m33() const;
- void setM33(double);
- double m34() const;
- void setM34(double);
- double m41() const;
- void setM41(double);
- double m42() const;
- void setM42(double);
- double m43() const;
- void setM43(double);
- double m44() const;
- void setM44(double);
-
- double a() const;
- void setA(double);
- double b() const;
- void setB(double);
- double c() const;
- void setC(double);
- double d() const;
- void setD(double);
- double e() const;
- void setE(double);
- double f() const;
- void setF(double);
+ WEBKIT_EXPORT double m11() const;
+ WEBKIT_EXPORT void setM11(double);
+ WEBKIT_EXPORT double m12() const;
+ WEBKIT_EXPORT void setM12(double);
+ WEBKIT_EXPORT double m13() const;
+ WEBKIT_EXPORT void setM13(double);
+ WEBKIT_EXPORT double m14() const;
+ WEBKIT_EXPORT void setM14(double);
+ WEBKIT_EXPORT double m21() const;
+ WEBKIT_EXPORT void setM21(double);
+ WEBKIT_EXPORT double m22() const;
+ WEBKIT_EXPORT void setM22(double);
+ WEBKIT_EXPORT double m23() const;
+ WEBKIT_EXPORT void setM23(double);
+ WEBKIT_EXPORT double m24() const;
+ WEBKIT_EXPORT void setM24(double);
+ WEBKIT_EXPORT double m31() const;
+ WEBKIT_EXPORT void setM31(double);
+ WEBKIT_EXPORT double m32() const;
+ WEBKIT_EXPORT void setM32(double);
+ WEBKIT_EXPORT double m33() const;
+ WEBKIT_EXPORT void setM33(double);
+ WEBKIT_EXPORT double m34() const;
+ WEBKIT_EXPORT void setM34(double);
+ WEBKIT_EXPORT double m41() const;
+ WEBKIT_EXPORT void setM41(double);
+ WEBKIT_EXPORT double m42() const;
+ WEBKIT_EXPORT void setM42(double);
+ WEBKIT_EXPORT double m43() const;
+ WEBKIT_EXPORT void setM43(double);
+ WEBKIT_EXPORT double m44() const;
+ WEBKIT_EXPORT void setM44(double);
+
+ WEBKIT_EXPORT double a() const;
+ WEBKIT_EXPORT void setA(double);
+ WEBKIT_EXPORT double b() const;
+ WEBKIT_EXPORT void setB(double);
+ WEBKIT_EXPORT double c() const;
+ WEBKIT_EXPORT void setC(double);
+ WEBKIT_EXPORT double d() const;
+ WEBKIT_EXPORT void setD(double);
+ WEBKIT_EXPORT double e() const;
+ WEBKIT_EXPORT void setE(double);
+ WEBKIT_EXPORT double f() const;
+ WEBKIT_EXPORT void setF(double);
#if WEBKIT_IMPLEMENTATION
// Conversions between WebKit::WebTransformationMatrix and WebCore::TransformationMatrix
diff --git a/Source/Platform/chromium/public/linux/WebFontInfo.h b/Source/Platform/chromium/public/linux/WebFontInfo.h
new file mode 100644
index 000000000..8c08c8996
--- /dev/null
+++ b/Source/Platform/chromium/public/linux/WebFontInfo.h
@@ -0,0 +1,78 @@
+/*
+ * 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 WebFontInfo_h
+#define WebFontInfo_h
+
+#include "../WebCString.h"
+#include "WebFontFamily.h"
+#include "WebFontRenderStyle.h"
+
+#include <string.h>
+#include <unistd.h>
+
+namespace WebKit {
+
+class WebFontInfo {
+public:
+ // Set a global preference describing whether renderStyleForStrike() should
+ // enable subpixel positioning or not. FontConfig doesn't currently provide
+ // a parameter for controlling this.
+ WEBKIT_EXPORT static void setSubpixelPositioning(bool);
+
+ // Return a font family which provides glyphs for the Unicode code points
+ // specified by |utf16|
+ // characters: a native-endian UTF16 string
+ // numCharacters: the number of 16-bit words in |utf16|
+ // preferredLocale: preferred locale identifier for the |characters|
+ // (e.g. "en", "ja", "zh-CN")
+ //
+ // Returns: the font family or an empty string if the request could not be
+ // satisfied.
+ // Returns: the font family instance. The instance has an empty font name if the request could not be satisfied.
+ WEBKIT_EXPORT static void familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale, WebFontFamily*);
+
+ // Fill out the given WebFontRenderStyle with the user's preferences for
+ // rendering the given font at the given size (in pixels).
+ // family: i.e. "Times New Roman"
+ // sizeAndStyle:
+ // 3322222222221111111111
+ // 10987654321098765432109876543210
+ // +--------------------------------+
+ // |..............Size............IB|
+ // +--------------------------------+
+ // I: italic flag
+ // B: bold flag
+ WEBKIT_EXPORT static void renderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle* result);
+};
+
+} // namespace WebKit
+
+#endif
diff --git a/Source/Platform/chromium/public/linux/WebFontRenderStyle.h b/Source/Platform/chromium/public/linux/WebFontRenderStyle.h
new file mode 100644
index 000000000..919d05c4e
--- /dev/null
+++ b/Source/Platform/chromium/public/linux/WebFontRenderStyle.h
@@ -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:
+ *
+ * * 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 WebFontRenderStyle_h
+#define WebFontRenderStyle_h
+
+#include "../WebCommon.h"
+
+namespace WebCore { struct FontRenderStyle; }
+
+namespace WebKit {
+
+struct WEBKIT_EXPORT WebFontRenderStyle {
+ // Each of the use* members below can take one of three values:
+ // 0: off
+ // 1: on
+ // 2: no preference expressed
+ char useBitmaps; // use embedded bitmap strike if possible
+ char useAutoHint; // use 'auto' hinting (FreeType specific)
+ char useHinting; // hint glyphs to the pixel grid
+ char hintStyle; // level of hinting, 0..3
+ char useAntiAlias; // antialias glyph shapes
+ char useSubpixelRendering; // use subpixel rendering (partially-filled pixels)
+ char useSubpixelPositioning; // use subpixel positioning (fractional X positions for glyphs)
+
+#if WEBKIT_IMPLEMENTATION
+ // Translates the members of this struct to a FontRenderStyle
+ void toFontRenderStyle(WebCore::FontRenderStyle*);
+#endif
+
+ void setDefaults();
+};
+
+} // namespace WebKit
+
+#endif // WebFontRenderStyle_h
diff --git a/Source/ThirdParty/ANGLE/ANGLE.pri b/Source/ThirdParty/ANGLE/ANGLE.pri
new file mode 100644
index 000000000..2f7b700e9
--- /dev/null
+++ b/Source/ThirdParty/ANGLE/ANGLE.pri
@@ -0,0 +1,12 @@
+# -------------------------------------------------------------------
+# This file contains shared rules used both when building ANGLE
+# itself, and by targets that use ANGLE.
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+SOURCE_DIR = $${ROOT_WEBKIT_DIR}/Source/ThirdParty/ANGLE
+
+INCLUDEPATH += \
+ $$SOURCE_DIR/include/GLSLANG
+
diff --git a/Source/ThirdParty/ANGLE/ANGLE.pro b/Source/ThirdParty/ANGLE/ANGLE.pro
new file mode 100644
index 000000000..0054d1d60
--- /dev/null
+++ b/Source/ThirdParty/ANGLE/ANGLE.pro
@@ -0,0 +1,14 @@
+# -------------------------------------------------------------------
+# Main project file for ANGLE
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+TEMPLATE = subdirs
+
+derived_sources.file = DerivedSources.pri
+target.file = Target.pri
+
+SUBDIRS += derived_sources target
+
+addStrictSubdirOrderBetween(derived_sources, target)
diff --git a/Source/ThirdParty/ANGLE/ChangeLog b/Source/ThirdParty/ANGLE/ChangeLog
index 8e82c8474..079763a95 100644
--- a/Source/ThirdParty/ANGLE/ChangeLog
+++ b/Source/ThirdParty/ANGLE/ChangeLog
@@ -1,3 +1,52 @@
+2012-09-06 Andras Becsi <andras.becsi@nokia.com>
+
+ [ANGLE] Fix the build with gcc 4.7
+ https://bugs.webkit.org/show_bug.cgi?id=95989
+
+ Reviewed by Csaba Osztrogonác.
+
+ The build fails because of a bogus warning about the auto-generated
+ pplval variable. Unfortunately the warning is called -Wuninitialized
+ in gcc 4.6 and -Wmaybe-uninitialized in gcc 4.7 thus we also need to
+ ignore unknown pragmas not to break the build with compilers that do
+ not recognize these options.
+
+ * src/compiler/preprocessor/new/ExpressionParser.y:
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+ https://bugs.webkit.org/show_bug.cgi?id=95965
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add build rules to build ANGLE as a static library for the Qt port.
+
+ * ANGLE.pri: Added.
+ * ANGLE.pro: Added.
+ * DerivedSources.pri: Added.
+ * Target.pri: Added.
+
+2012-08-24 Joshua Netterfield <jnetterfield@rim.com>
+
+ [CSS Shaders] [ANGLE] RenameFunction::RenameFunction may store references to temporary string
+ https://bugs.webkit.org/show_bug.cgi?id=94736
+ http://code.google.com/p/angleproject/issues/detail?id=360
+
+ Reviewed by George Staikos.
+
+ When RenameFunction::RenameFunction(const TString& oldFunctionName, const TString&
+ newFunctionName) is called from TCompiler::rewriteCSSShader(TIntermNode*), references to
+ the temporaries oldFunctionName and newFunctionName are stored as mOldFunctionName and
+ mNewFunctionName. This results in undefined behaviour in visitAggregate.
+
+ This same patch is being applied in upstream ANGLE, and is needed for CSS Shader
+ sanitization.
+
+ * src/compiler/RenameFunction.h:
+ (RenameFunction::visitAggregate):
+ (RenameFunction):
+
2012-07-18 Kristóf Kosztyó <kkristof@inf.u-szeged.hu>
[Qt] Buildfix after r122870.
diff --git a/Source/ThirdParty/ANGLE/DerivedSources.pri b/Source/ThirdParty/ANGLE/DerivedSources.pri
new file mode 100644
index 000000000..791e52735
--- /dev/null
+++ b/Source/ThirdParty/ANGLE/DerivedSources.pri
@@ -0,0 +1,38 @@
+# -------------------------------------------------------------------
+# Derived sources for ANGLE
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+# This file is both a top level target, and included from Target.pri,
+# so that the resulting generated sources can be added to SOURCES.
+# We only set the template if we're a top level target, so that we
+# don't override what Target.pri has already set.
+sanitizedFile = $$toSanitizedPath($$_FILE_)
+equals(sanitizedFile, $$toSanitizedPath($$_PRO_FILE_)):TEMPLATE = derived
+
+ANGLE_FLEX_SOURCES = \
+ $$PWD/src/compiler/glslang.l \
+ $$PWD/src/compiler/preprocessor/new/Tokenizer.l
+
+angleflex.output = ${QMAKE_FILE_BASE}_lex.cpp
+angleflex.input = ANGLE_FLEX_SOURCES
+angleflex.commands = flex --noline --nounistd --outfile=${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
+GENERATORS += angleflex
+
+ANGLE_BISON_SOURCES = \
+ $$PWD/src/compiler/glslang.y \
+ $$PWD/src/compiler/preprocessor/new/ExpressionParser.y
+
+anglebison_decl.output = ${QMAKE_FILE_BASE}_tab.h
+anglebison_decl.input = ANGLE_BISON_SOURCES
+anglebison_decl.commands = bison --no-lines --skeleton=yacc.c --defines=${QMAKE_FILE_OUT} --output=${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_OUT_BASE}.cpp ${QMAKE_FILE_IN}
+anglebison_decl.variable_out = GENERATED_FILES
+GENERATORS += anglebison_decl
+
+anglebison_impl.input = ANGLE_BISON_SOURCES
+anglebison_impl.commands = $$escape_expand(\\n)
+anglebison_impl.depends = $$GENERATED_SOURCES_DESTDIR/${QMAKE_FILE_BASE}_tab.h
+anglebison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp
+GENERATORS += anglebison_impl
+
diff --git a/Source/ThirdParty/ANGLE/Target.pri b/Source/ThirdParty/ANGLE/Target.pri
new file mode 100644
index 000000000..4e9303ab7
--- /dev/null
+++ b/Source/ThirdParty/ANGLE/Target.pri
@@ -0,0 +1,164 @@
+# -------------------------------------------------------------------
+# Target file for the ANGLE static library
+#
+# See 'Tools/qmake/README' for an overview of the build system
+# -------------------------------------------------------------------
+
+TEMPLATE = lib
+TARGET = ANGLE
+
+include(ANGLE.pri)
+
+CONFIG += staticlib
+
+INCLUDEPATH += \
+ $$SOURCE_DIR/src \
+ $$SOURCE_DIR/src/compiler/preprocessor/new \
+ $$SOURCE_DIR/include
+
+HEADERS += \
+ src/compiler/BaseTypes.h \
+ src/compiler/BuiltInFunctionEmulator.h \
+ src/compiler/Common.h \
+ src/compiler/ConstantUnion.h \
+ src/compiler/debug.h \
+ src/compiler/depgraph/DependencyGraph.h \
+ src/compiler/depgraph/DependencyGraphBuilder.h \
+ src/compiler/depgraph/DependencyGraphOutput.h \
+ src/compiler/DetectDiscontinuity.h \
+ src/compiler/DetectRecursion.h \
+ src/compiler/Diagnostics.h \
+ src/compiler/DirectiveHandler.h \
+ src/compiler/ExtensionBehavior.h \
+ src/compiler/ForLoopUnroll.h \
+ src/compiler/glslang.h \
+ src/compiler/InfoSink.h \
+ src/compiler/InitializeDll.h \
+ src/compiler/InitializeGlobals.h \
+ src/compiler/Initialize.h \
+ src/compiler/InitializeParseContext.h \
+ src/compiler/intermediate.h \
+ src/compiler/localintermediate.h \
+ src/compiler/MMap.h \
+ src/compiler/MapLongVariableNames.h \
+ src/compiler/osinclude.h \
+ src/compiler/Pragma.h \
+ src/compiler/preprocessor/atom.h \
+ src/compiler/preprocessor/compile.h \
+ src/compiler/preprocessor/cpp.h \
+ src/compiler/preprocessor/length_limits.h \
+ src/compiler/preprocessor/memory.h \
+ src/compiler/preprocessor/new/Diagnostics.h \
+ src/compiler/preprocessor/new/DirectiveHandler.h \
+ src/compiler/preprocessor/new/DirectiveParser.h \
+ src/compiler/preprocessor/new/Input.h \
+ src/compiler/preprocessor/new/Lexer.h \
+ src/compiler/preprocessor/new/Macro.h \
+ src/compiler/preprocessor/new/MacroExpander.h \
+ src/compiler/preprocessor/new/Preprocessor.h \
+ src/compiler/preprocessor/new/SourceLocation.h \
+ src/compiler/preprocessor/new/Token.h \
+ src/compiler/preprocessor/new/Tokenizer.h \
+ src/compiler/preprocessor/parser.h \
+ src/compiler/preprocessor/preprocess.h \
+ src/compiler/preprocessor/scanner.h \
+ src/compiler/preprocessor/slglobals.h \
+ src/compiler/preprocessor/symbols.h \
+ src/compiler/preprocessor/tokens.h \
+ src/compiler/OutputESSL.h \
+ src/compiler/OutputGLSL.h \
+ src/compiler/OutputGLSLBase.h \
+ src/compiler/OutputHLSL.h \
+ src/compiler/ParseHelper.h \
+ src/compiler/PoolAlloc.h \
+ src/compiler/QualifierAlive.h \
+ src/compiler/RemoveTree.h \
+ src/compiler/RenameFunction.h \
+ src/compiler/SearchSymbol.h \
+ src/compiler/ShHandle.h \
+ src/compiler/SymbolTable.h \
+ src/compiler/timing/RestrictFragmentShaderTiming.h \
+ src/compiler/timing/RestrictVertexShaderTiming.h \
+ src/compiler/TranslatorESSL.h \
+ src/compiler/TranslatorGLSL.h \
+ src/compiler/TranslatorHLSL.h \
+ src/compiler/Types.h \
+ src/compiler/UnfoldShortCircuit.h \
+ src/compiler/util.h \
+ src/compiler/ValidateLimitations.h \
+ src/compiler/VariableInfo.h \
+ src/compiler/VersionGLSL.h
+
+SOURCES += \
+ src/compiler/BuiltInFunctionEmulator.cpp \
+ src/compiler/CodeGenGLSL.cpp \
+ src/compiler/Compiler.cpp \
+ src/compiler/debug.cpp \
+ src/compiler/depgraph/DependencyGraph.cpp \
+ src/compiler/depgraph/DependencyGraphBuilder.cpp \
+ src/compiler/depgraph/DependencyGraphOutput.cpp \
+ src/compiler/depgraph/DependencyGraphTraverse.cpp \
+ src/compiler/DetectDiscontinuity.cpp \
+ src/compiler/DetectRecursion.cpp \
+ src/compiler/Diagnostics.cpp \
+ src/compiler/DirectiveHandler.cpp \
+ src/compiler/ForLoopUnroll.cpp \
+ src/compiler/InfoSink.cpp \
+ src/compiler/Initialize.cpp \
+ src/compiler/InitializeDll.cpp \
+ src/compiler/InitializeParseContext.cpp \
+ src/compiler/Intermediate.cpp \
+ src/compiler/intermOut.cpp \
+ src/compiler/IntermTraverse.cpp \
+ src/compiler/MapLongVariableNames.cpp \
+ src/compiler/OutputESSL.cpp \
+ src/compiler/OutputGLSL.cpp \
+ src/compiler/OutputGLSLBase.cpp \
+ src/compiler/OutputHLSL.cpp \
+ src/compiler/parseConst.cpp \
+ src/compiler/ParseHelper.cpp \
+ src/compiler/PoolAlloc.cpp \
+ src/compiler/QualifierAlive.cpp \
+ src/compiler/RemoveTree.cpp \
+ src/compiler/SearchSymbol.cpp \
+ src/compiler/ShaderLang.cpp \
+ src/compiler/SymbolTable.cpp \
+ src/compiler/timing/RestrictFragmentShaderTiming.cpp \
+ src/compiler/timing/RestrictVertexShaderTiming.cpp \
+ src/compiler/TranslatorESSL.cpp \
+ src/compiler/TranslatorGLSL.cpp \
+ src/compiler/TranslatorHLSL.cpp \
+ src/compiler/UnfoldShortCircuit.cpp \
+ src/compiler/util.cpp \
+ src/compiler/ValidateLimitations.cpp \
+ src/compiler/VariableInfo.cpp \
+ src/compiler/VersionGLSL.cpp \
+ src/compiler/preprocessor/atom.c \
+ src/compiler/preprocessor/cpp.c \
+ src/compiler/preprocessor/cppstruct.c \
+ src/compiler/preprocessor/memory.c \
+ src/compiler/preprocessor/new/DiagnosticsBase.cpp \
+ src/compiler/preprocessor/new/DirectiveHandlerBase.cpp \
+ src/compiler/preprocessor/new/DirectiveParser.cpp \
+ src/compiler/preprocessor/new/Input.cpp \
+ src/compiler/preprocessor/new/Lexer.cpp \
+ src/compiler/preprocessor/new/Macro.cpp \
+ src/compiler/preprocessor/new/MacroExpander.cpp \
+ src/compiler/preprocessor/new/Preprocessor.cpp \
+ src/compiler/preprocessor/new/Token.cpp \
+ src/compiler/preprocessor/scanner.c \
+ src/compiler/preprocessor/symbols.c \
+ src/compiler/preprocessor/tokens.c
+
+win32: SOURCES += src/compiler/ossource_win.cpp
+else: SOURCES += src/compiler/ossource_posix.cpp
+
+# Make sure the derived sources are built
+include(DerivedSources.pri)
+
+*g++* {
+ QMAKE_CXXFLAGS += -Wno-unused-variable -Wno-missing-noreturn -Wno-unused-function -Wno-reorder -Wno-error -Wno-unknown-pragmas -Wno-undef
+}
+
+# We do not need anything from Qt
+QT =
diff --git a/Source/ThirdParty/ANGLE/src/compiler/RenameFunction.h b/Source/ThirdParty/ANGLE/src/compiler/RenameFunction.h
index cfdb40da9..9cd6e5e53 100644
--- a/Source/ThirdParty/ANGLE/src/compiler/RenameFunction.h
+++ b/Source/ThirdParty/ANGLE/src/compiler/RenameFunction.h
@@ -20,7 +20,7 @@ public:
, mOldFunctionName(oldFunctionName)
, mNewFunctionName(newFunctionName) {}
- virtual bool visitAggregate(Visit visit, TIntermAggregate* node)
+ virtual bool visitAggregate(Visit, TIntermAggregate* node)
{
TOperator op = node->getOp();
if ((op == EOpFunction || op == EOpFunctionCall) && node->getName() == mOldFunctionName)
@@ -29,8 +29,8 @@ public:
}
private:
- const TString& mOldFunctionName;
- const TString& mNewFunctionName;
+ const TString mOldFunctionName;
+ const TString mNewFunctionName;
};
#endif // COMPILER_RENAME_FUNCTION
diff --git a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y
index b03f9eb56..17c9f057d 100644
--- a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y
+++ b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/ExpressionParser.y
@@ -21,8 +21,13 @@ WHICH GENERATES THE GLSL ES preprocessor expression parser.
// This file is auto-generated by generate_parser.sh. DO NOT EDIT!
#if defined(__GNUC__)
+// Toggle the warning for -Wpragmas to ensure we do not break the build
+// with earlier compiler versions because of unknown pragma options.
+#pragma GCC diagnostic ignored "-Wpragmas"
// Triggered by the auto-generated pplval variable.
#pragma GCC diagnostic ignored "-Wuninitialized"
+#pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
+#pragma GCC diagnostic warning "-Wpragmas"
#elif defined(_MSC_VER)
#pragma warning(disable: 4065 4701)
#endif
diff --git a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/preprocessor.vcproj b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/preprocessor.vcproj
index 36a9759ad..6e80f8648 100644
--- a/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/preprocessor.vcproj
+++ b/Source/ThirdParty/ANGLE/src/compiler/preprocessor/new/preprocessor.vcproj
@@ -1,393 +1,393 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="preprocessor"
- ProjectGUID="{FBE32DF3-0FB0-4F2F-A424-2C21BD7BC325}"
- RootNamespace="preprocessor"
- Keyword="Win32Proj"
- TargetFrameworkVersion="196613"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- DebugInformationFormat="4"
- DisableSpecificWarnings="4100;4127;4244;4702"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4100;4127;4244"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4100;4127;4244;4267;4702"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="4"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- WarnAsError="true"
- DebugInformationFormat="3"
- DisableSpecificWarnings="4100;4127;4244;4267"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\Diagnostics.cpp"
- >
- </File>
- <File
- RelativePath=".\DirectiveHandler.cpp"
- >
- </File>
- <File
- RelativePath=".\DirectiveParser.cpp"
- >
- </File>
- <File
- RelativePath=".\ExpressionParser.cpp"
- >
- </File>
- <File
- RelativePath=".\Input.cpp"
- >
- </File>
- <File
- RelativePath=".\Lexer.cpp"
- >
- </File>
- <File
- RelativePath=".\Macro.cpp"
- >
- </File>
- <File
- RelativePath=".\MacroExpander.cpp"
- >
- </File>
- <File
- RelativePath=".\Preprocessor.cpp"
- >
- </File>
- <File
- RelativePath=".\Token.cpp"
- >
- </File>
- <File
- RelativePath=".\Tokenizer.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\Diagnostics.h"
- >
- </File>
- <File
- RelativePath=".\DirectiveHandler.h"
- >
- </File>
- <File
- RelativePath=".\DirectiveParser.h"
- >
- </File>
- <File
- RelativePath=".\ExpressionParser.h"
- >
- </File>
- <File
- RelativePath=".\Input.h"
- >
- </File>
- <File
- RelativePath=".\Lexer.h"
- >
- </File>
- <File
- RelativePath=".\Macro.h"
- >
- </File>
- <File
- RelativePath=".\MacroExpander.h"
- >
- </File>
- <File
- RelativePath=".\pp_utils.h"
- >
- </File>
- <File
- RelativePath=".\Preprocessor.h"
- >
- </File>
- <File
- RelativePath=".\SourceLocation.h"
- >
- </File>
- <File
- RelativePath=".\Token.h"
- >
- </File>
- <File
- RelativePath=".\Tokenizer.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="preprocessor"
+ ProjectGUID="{FBE32DF3-0FB0-4F2F-A424-2C21BD7BC325}"
+ RootNamespace="preprocessor"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="196613"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ DebugInformationFormat="4"
+ DisableSpecificWarnings="4100;4127;4244;4702"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4100;4127;4244"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4100;4127;4244;4267;4702"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="4"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ EnableIntrinsicFunctions="true"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="0"
+ EnableFunctionLevelLinking="true"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ WarnAsError="true"
+ DebugInformationFormat="3"
+ DisableSpecificWarnings="4100;4127;4244;4267"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\Diagnostics.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\DirectiveHandler.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\DirectiveParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\ExpressionParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Input.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Lexer.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Macro.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\MacroExpander.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Preprocessor.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Token.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Tokenizer.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\Diagnostics.h"
+ >
+ </File>
+ <File
+ RelativePath=".\DirectiveHandler.h"
+ >
+ </File>
+ <File
+ RelativePath=".\DirectiveParser.h"
+ >
+ </File>
+ <File
+ RelativePath=".\ExpressionParser.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Input.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Lexer.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Macro.h"
+ >
+ </File>
+ <File
+ RelativePath=".\MacroExpander.h"
+ >
+ </File>
+ <File
+ RelativePath=".\pp_utils.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Preprocessor.h"
+ >
+ </File>
+ <File
+ RelativePath=".\SourceLocation.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Token.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Tokenizer.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/ANGLE/src/libEGL/libEGL.vcproj b/Source/ThirdParty/ANGLE/src/libEGL/libEGL.vcproj
index d02d292fe..1f216ab48 100644
--- a/Source/ThirdParty/ANGLE/src/libEGL/libEGL.vcproj
+++ b/Source/ThirdParty/ANGLE/src/libEGL/libEGL.vcproj
@@ -1,443 +1,443 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="libEGL"
- ProjectGUID="{E746FCA9-64C3-433E-85E8-9A5A67AB7ED6}"
- RootNamespace="libEGL"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
- LinkIncremental="2"
- ModuleDefinitionFile="libEGL.def"
- DelayLoadDLLs="dwmapi.dll"
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
- LinkIncremental="1"
- ModuleDefinitionFile="libEGL.def"
- DelayLoadDLLs="dwmapi.dll"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
- LinkIncremental="2"
- ModuleDefinitionFile="libEGL.def"
- DelayLoadDLLs="dwmapi.dll"
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
- LinkIncremental="1"
- ModuleDefinitionFile="libEGL.def"
- DelayLoadDLLs="dwmapi.dll"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\Config.cpp"
- >
- </File>
- <File
- RelativePath="..\Common\debug.cpp"
- >
- </File>
- <File
- RelativePath=".\Display.cpp"
- >
- </File>
- <File
- RelativePath=".\libEGL.cpp"
- >
- </File>
- <File
- RelativePath=".\main.cpp"
- >
- </File>
- <File
- RelativePath=".\Surface.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\Config.h"
- >
- </File>
- <File
- RelativePath=".\Display.h"
- >
- </File>
- <File
- RelativePath="..\..\include\EGL\egl.h"
- >
- </File>
- <File
- RelativePath="..\..\include\EGL\eglext.h"
- >
- </File>
- <File
- RelativePath="..\..\include\EGL\eglplatform.h"
- >
- </File>
- <File
- RelativePath=".\main.h"
- >
- </File>
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath=".\Surface.h"
- >
- </File>
- <File
- RelativePath="..\common\version.h"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\libEGL.def"
- >
- </File>
- <File
- RelativePath=".\libEGL.rc"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="libEGL"
+ ProjectGUID="{E746FCA9-64C3-433E-85E8-9A5A67AB7ED6}"
+ RootNamespace="libEGL"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="libEGL.def"
+ DelayLoadDLLs="dwmapi.dll"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="libEGL.def"
+ DelayLoadDLLs="dwmapi.dll"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="libEGL.def"
+ DelayLoadDLLs="dwmapi.dll"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBEGL_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib dxguid.lib dwmapi.lib"
+ LinkIncremental="1"
+ ModuleDefinitionFile="libEGL.def"
+ DelayLoadDLLs="dwmapi.dll"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libEGL.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\Config.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Common\debug.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Display.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\libEGL.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\main.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Surface.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\Config.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Display.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\EGL\egl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\EGL\eglext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\EGL\eglplatform.h"
+ >
+ </File>
+ <File
+ RelativePath=".\main.h"
+ >
+ </File>
+ <File
+ RelativePath=".\resource.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Surface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\common\version.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath=".\libEGL.def"
+ >
+ </File>
+ <File
+ RelativePath=".\libEGL.rc"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.vcproj b/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.vcproj
index d97d4e92c..afd4d50f4 100644
--- a/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.vcproj
+++ b/Source/ThirdParty/ANGLE/src/libGLESv2/libGLESv2.vcproj
@@ -1,561 +1,561 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="libGLESv2"
- ProjectGUID="{B5871A7A-968C-42E3-A33B-981E6F448E78}"
- RootNamespace="libGLESv2"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
- LinkIncremental="2"
- ModuleDefinitionFile="libGLESv2.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702;4718"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
- LinkIncremental="1"
- IgnoreAllDefaultLibraries="false"
- ModuleDefinitionFile="libGLESv2.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702;4718"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
- LinkIncremental="2"
- ModuleDefinitionFile="libGLESv2.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
- ConfigurationType="2"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- InlineFunctionExpansion="2"
- AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
- PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
- RuntimeLibrary="0"
- UsePrecompiledHeader="0"
- WarningLevel="4"
- DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702;4718"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- WarnAsError="true"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
- LinkIncremental="1"
- IgnoreAllDefaultLibraries="false"
- ModuleDefinitionFile="libGLESv2.def"
- GenerateDebugInformation="true"
- SubSystem="2"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\Blit.cpp"
- >
- </File>
- <File
- RelativePath=".\Buffer.cpp"
- >
- </File>
- <File
- RelativePath=".\Context.cpp"
- >
- </File>
- <File
- RelativePath="..\common\debug.cpp"
- >
- </File>
- <File
- RelativePath=".\Fence.cpp"
- >
- </File>
- <File
- RelativePath=".\Framebuffer.cpp"
- >
- </File>
- <File
- RelativePath=".\HandleAllocator.cpp"
- >
- </File>
- <File
- RelativePath=".\IndexDataManager.cpp"
- >
- </File>
- <File
- RelativePath=".\libGLESv2.cpp"
- >
- </File>
- <File
- RelativePath=".\main.cpp"
- >
- </File>
- <File
- RelativePath=".\Program.cpp"
- >
- </File>
- <File
- RelativePath=".\ProgramBinary.cpp"
- >
- </File>
- <File
- RelativePath=".\Query.cpp"
- >
- </File>
- <File
- RelativePath="..\common\RefCountObject.cpp"
- >
- </File>
- <File
- RelativePath=".\Renderbuffer.cpp"
- >
- </File>
- <File
- RelativePath=".\ResourceManager.cpp"
- >
- </File>
- <File
- RelativePath=".\Shader.cpp"
- >
- </File>
- <File
- RelativePath=".\Texture.cpp"
- >
- </File>
- <File
- RelativePath=".\utilities.cpp"
- >
- </File>
- <File
- RelativePath=".\VertexDataManager.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath=".\Blit.h"
- >
- </File>
- <File
- RelativePath=".\Buffer.h"
- >
- </File>
- <File
- RelativePath=".\Context.h"
- >
- </File>
- <File
- RelativePath=".\Fence.h"
- >
- </File>
- <File
- RelativePath=".\Framebuffer.h"
- >
- </File>
- <File
- RelativePath="..\..\include\GLES2\gl2.h"
- >
- </File>
- <File
- RelativePath="..\..\include\GLES2\gl2ext.h"
- >
- </File>
- <File
- RelativePath="..\..\include\GLES2\gl2platform.h"
- >
- </File>
- <File
- RelativePath=".\HandleAllocator.h"
- >
- </File>
- <File
- RelativePath=".\IndexDataManager.h"
- >
- </File>
- <File
- RelativePath=".\main.h"
- >
- </File>
- <File
- RelativePath=".\mathutil.h"
- >
- </File>
- <File
- RelativePath=".\Program.h"
- >
- </File>
- <File
- RelativePath=".\ProgramBinary.h"
- >
- </File>
- <File
- RelativePath=".\Query.h"
- >
- </File>
- <File
- RelativePath="..\common\RefCountObject.h"
- >
- </File>
- <File
- RelativePath=".\Renderbuffer.h"
- >
- </File>
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath=".\ResourceManager.h"
- >
- </File>
- <File
- RelativePath=".\Shader.h"
- >
- </File>
- <File
- RelativePath=".\Texture.h"
- >
- </File>
- <File
- RelativePath=".\utilities.h"
- >
- </File>
- <File
- RelativePath="..\common\version.h"
- >
- </File>
- <File
- RelativePath=".\vertexconversion.h"
- >
- </File>
- <File
- RelativePath=".\VertexDataManager.h"
- >
- </File>
- </Filter>
- <File
- RelativePath=".\libGLESv2.def"
- >
- </File>
- <File
- RelativePath=".\libGLESv2.rc"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="9.00"
+ Name="libGLESv2"
+ ProjectGUID="{B5871A7A-968C-42E3-A33B-981E6F448E78}"
+ RootNamespace="libGLESv2"
+ Keyword="Win32Proj"
+ TargetFrameworkVersion="131072"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ <Platform
+ Name="x64"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="libGLESv2.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+ IntermediateDirectory="$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702;4718"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
+ LinkIncremental="1"
+ IgnoreAllDefaultLibraries="false"
+ ModuleDefinitionFile="libGLESv2.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="1"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="1"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702;4718"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
+ LinkIncremental="2"
+ ModuleDefinitionFile="libGLESv2.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|x64"
+ OutputDirectory="$(SolutionDir)$(PlatformName)\$(ConfigurationName)"
+ IntermediateDirectory="$(PlatformName)\$(ConfigurationName)"
+ ConfigurationType="2"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ TargetEnvironment="3"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="2"
+ InlineFunctionExpansion="2"
+ AdditionalIncludeDirectories="$(ProjectDir)/..; $(ProjectDir)/../../include"
+ PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;LIBGLESV2_EXPORTS;_CRT_SECURE_NO_DEPRECATE;NOMINMAX;_SECURE_SCL=0"
+ RuntimeLibrary="0"
+ UsePrecompiledHeader="0"
+ WarningLevel="4"
+ DisableSpecificWarnings="4100;4127;4189;4239;4244;4245;4512;4702;4718"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ WarnAsError="true"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ AdditionalDependencies="d3d9.lib D3dx9.lib d3dcompiler.lib"
+ LinkIncremental="1"
+ IgnoreAllDefaultLibraries="false"
+ ModuleDefinitionFile="libGLESv2.def"
+ GenerateDebugInformation="true"
+ SubSystem="2"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ RandomizedBaseAddress="1"
+ DataExecutionPrevention="0"
+ TargetMachine="17"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ CommandLine="@echo on&#x0D;&#x0A;mkdir &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.dll&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;copy &quot;$(OutDir)\libGLESv2.lib&quot; &quot;$(ProjectDir)..\..\lib\$(ConfigurationName)\&quot;&#x0D;&#x0A;@echo off&#x0D;&#x0A;"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\Blit.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Buffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Context.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\common\debug.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Fence.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Framebuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\HandleAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\IndexDataManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\libGLESv2.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\main.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Program.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\ProgramBinary.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Query.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\common\RefCountObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Renderbuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\ResourceManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Shader.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\Texture.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\utilities.cpp"
+ >
+ </File>
+ <File
+ RelativePath=".\VertexDataManager.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath=".\Blit.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Buffer.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Context.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Fence.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Framebuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\GLES2\gl2.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\GLES2\gl2ext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\include\GLES2\gl2platform.h"
+ >
+ </File>
+ <File
+ RelativePath=".\HandleAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath=".\IndexDataManager.h"
+ >
+ </File>
+ <File
+ RelativePath=".\main.h"
+ >
+ </File>
+ <File
+ RelativePath=".\mathutil.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Program.h"
+ >
+ </File>
+ <File
+ RelativePath=".\ProgramBinary.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Query.h"
+ >
+ </File>
+ <File
+ RelativePath="..\common\RefCountObject.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Renderbuffer.h"
+ >
+ </File>
+ <File
+ RelativePath=".\resource.h"
+ >
+ </File>
+ <File
+ RelativePath=".\ResourceManager.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Shader.h"
+ >
+ </File>
+ <File
+ RelativePath=".\Texture.h"
+ >
+ </File>
+ <File
+ RelativePath=".\utilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\common\version.h"
+ >
+ </File>
+ <File
+ RelativePath=".\vertexconversion.h"
+ >
+ </File>
+ <File
+ RelativePath=".\VertexDataManager.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath=".\libGLESv2.def"
+ >
+ </File>
+ <File
+ RelativePath=".\libGLESv2.rc"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/glu/.gitignore b/Source/ThirdParty/glu/.gitignore
deleted file mode 100644
index 2ee4f8c07..000000000
--- a/Source/ThirdParty/glu/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.Makefile
-*.mk
-*.sln
-*.vcproj
-*.vcxproj*
-glu.xcodeproj
diff --git a/Source/ThirdParty/gtest/msvc/gtest-md.sln b/Source/ThirdParty/gtest/msvc/gtest-md.sln
index 829b4019a..f7908da11 100644
--- a/Source/ThirdParty/gtest/msvc/gtest-md.sln
+++ b/Source/ThirdParty/gtest/msvc/gtest-md.sln
@@ -1,45 +1,45 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main-md", "gtest_main-md.vcproj", "{3AF54C8A-10BF-4332-9147-F68ED9862033}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_prod_test-md", "gtest_prod_test-md.vcproj", "{24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_unittest-md", "gtest_unittest-md.vcproj", "{4D9FDFB5-986A-4139-823C-F4EE0ED481A2}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug.ActiveCfg = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug.Build.0 = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release.ActiveCfg = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release.Build.0 = Release|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862033}.Debug.ActiveCfg = Debug|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862033}.Debug.Build.0 = Debug|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862033}.Release.ActiveCfg = Release|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862033}.Release.Build.0 = Release|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Debug.ActiveCfg = Debug|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Debug.Build.0 = Debug|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Release.ActiveCfg = Release|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Release.Build.0 = Release|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Debug.ActiveCfg = Debug|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Debug.Build.0 = Debug|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Release.ActiveCfg = Release|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main-md", "gtest_main-md.vcproj", "{3AF54C8A-10BF-4332-9147-F68ED9862033}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_prod_test-md", "gtest_prod_test-md.vcproj", "{24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_unittest-md", "gtest_unittest-md.vcproj", "{4D9FDFB5-986A-4139-823C-F4EE0ED481A2}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug.ActiveCfg = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug.Build.0 = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release.ActiveCfg = Release|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release.Build.0 = Release|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862033}.Debug.ActiveCfg = Debug|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862033}.Debug.Build.0 = Debug|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862033}.Release.ActiveCfg = Release|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862033}.Release.Build.0 = Release|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Debug.ActiveCfg = Debug|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Debug.Build.0 = Debug|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Release.ActiveCfg = Release|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}.Release.Build.0 = Release|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Debug.ActiveCfg = Debug|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Debug.Build.0 = Debug|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Release.ActiveCfg = Release|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A2}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Source/ThirdParty/gtest/msvc/gtest-md.vcproj b/Source/ThirdParty/gtest/msvc/gtest-md.vcproj
index 0d09469e5..016bd8ada 100644
--- a/Source/ThirdParty/gtest/msvc/gtest-md.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest-md.vcproj
@@ -1,777 +1,777 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="gtest-md"
- ProjectGUID="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
- RootNamespace="gtest-md"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
- ConfigurationType="4"
- InheritedPropertySheets="&quot;$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops&quot;"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)\gtest.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- ConfigurationType="4"
- InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)\gtest.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
- ConfigurationType="4"
- InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)\gtest.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
- ConfigurationType="4"
- InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)\gtest.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
- ConfigurationType="4"
- InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)\gtest.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
- ConfigurationType="4"
- InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="false"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)\gtest.lib"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\src\gtest-death-test.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-filepath.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-port.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-test-part.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-typed-test.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest.cc"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\include\gtest\internal\gtest-death-test-internal.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\gtest-death-test.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-filepath.h"
- >
- </File>
- <File
- RelativePath="..\src\gtest-internal-inl.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-internal.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\gtest-message.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-port.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\gtest-spi.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-string.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\gtest.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\gtest_pred_impl.h"
- >
- </File>
- <File
- RelativePath="..\include\gtest\gtest_prod.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="gtest-md"
+ ProjectGUID="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
+ RootNamespace="gtest-md"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="&quot;$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops&quot;"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\gtest.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\gtest.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\gtest.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\gtest.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="3"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\gtest.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ IntermediateDirectory="$(ConfigurationBuildDir)\obj\$(ProjectName)"
+ ConfigurationType="4"
+ InheritedPropertySheets="$(ProjectDir)\..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ CharacterSet="2"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="true"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="false"
+ DebugInformationFormat="4"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)\gtest.lib"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\src\gtest-death-test.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-filepath.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-port.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-test-part.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-typed-test.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest.cc"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\include\gtest\internal\gtest-death-test-internal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-death-test.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-filepath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\src\gtest-internal-inl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-internal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-message.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-port.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-spi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-string.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_pred_impl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_prod.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest.sln b/Source/ThirdParty/gtest/msvc/gtest.sln
index c1b292964..ef4b057ff 100644
--- a/Source/ThirdParty/gtest/msvc/gtest.sln
+++ b/Source/ThirdParty/gtest/msvc/gtest.sln
@@ -1,45 +1,45 @@
-Microsoft Visual Studio Solution File, Format Version 8.00
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "gtest.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main", "gtest_main.vcproj", "{3AF54C8A-10BF-4332-9147-F68ED9862032}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_unittest", "gtest_unittest.vcproj", "{4D9FDFB5-986A-4139-823C-F4EE0ED481A1}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_prod_test", "gtest_prod_test.vcproj", "{24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}"
- ProjectSection(ProjectDependencies) = postProject
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfiguration) = preSolution
- Debug = Debug
- Release = Release
- EndGlobalSection
- GlobalSection(ProjectConfiguration) = postSolution
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Debug.ActiveCfg = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Debug.Build.0 = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Release.ActiveCfg = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Release.Build.0 = Release|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862032}.Debug.ActiveCfg = Debug|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862032}.Debug.Build.0 = Debug|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862032}.Release.ActiveCfg = Release|Win32
- {3AF54C8A-10BF-4332-9147-F68ED9862032}.Release.Build.0 = Release|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Debug.ActiveCfg = Debug|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Debug.Build.0 = Debug|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Release.ActiveCfg = Release|Win32
- {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Release.Build.0 = Release|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Debug.ActiveCfg = Debug|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Debug.Build.0 = Debug|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Release.ActiveCfg = Release|Win32
- {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Release.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- EndGlobalSection
- GlobalSection(ExtensibilityAddIns) = postSolution
- EndGlobalSection
-EndGlobal
+Microsoft Visual Studio Solution File, Format Version 8.00
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "gtest.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_main", "gtest_main.vcproj", "{3AF54C8A-10BF-4332-9147-F68ED9862032}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_unittest", "gtest_unittest.vcproj", "{4D9FDFB5-986A-4139-823C-F4EE0ED481A1}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest_prod_test", "gtest_prod_test.vcproj", "{24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfiguration) = preSolution
+ Debug = Debug
+ Release = Release
+ EndGlobalSection
+ GlobalSection(ProjectConfiguration) = postSolution
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Debug.ActiveCfg = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Debug.Build.0 = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Release.ActiveCfg = Release|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}.Release.Build.0 = Release|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862032}.Debug.ActiveCfg = Debug|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862032}.Debug.Build.0 = Debug|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862032}.Release.ActiveCfg = Release|Win32
+ {3AF54C8A-10BF-4332-9147-F68ED9862032}.Release.Build.0 = Release|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Debug.ActiveCfg = Debug|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Debug.Build.0 = Debug|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Release.ActiveCfg = Release|Win32
+ {4D9FDFB5-986A-4139-823C-F4EE0ED481A1}.Release.Build.0 = Release|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Debug.ActiveCfg = Debug|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Debug.Build.0 = Debug|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Release.ActiveCfg = Release|Win32
+ {24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}.Release.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddIns) = postSolution
+ EndGlobalSection
+EndGlobal
diff --git a/Source/ThirdParty/gtest/msvc/gtest.vcproj b/Source/ThirdParty/gtest/msvc/gtest.vcproj
index c4ca609ed..bd2ed81e4 100644
--- a/Source/ThirdParty/gtest/msvc/gtest.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest.vcproj
@@ -1,237 +1,237 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest"
- ProjectGUID="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- ReferencesPath="">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/gtestd.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- ReferencesPath="&quot;..\include&quot;;&quot;..&quot;">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/gtest.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\src\gtest-death-test.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-filepath.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-test-part.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-port.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest-typed-test.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\src\gtest.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\include\gtest\internal\gtest-death-test-internal.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-death-test.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-filepath.h">
- </File>
- <File
- RelativePath="..\src\gtest-internal-inl.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-internal.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-message.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-port.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-spi.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-string.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest_pred_impl.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest_prod.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest"
+ ProjectGUID="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="4"
+ CharacterSet="2"
+ ReferencesPath="">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/gtestd.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="4"
+ CharacterSet="2"
+ ReferencesPath="&quot;..\include&quot;;&quot;..&quot;">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/gtest.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\src\gtest-death-test.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-filepath.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-test-part.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-port.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest-typed-test.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\src\gtest.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\include\gtest\internal\gtest-death-test-internal.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-death-test.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-filepath.h">
+ </File>
+ <File
+ RelativePath="..\src\gtest-internal-inl.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-internal.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-message.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-port.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-spi.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-string.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_pred_impl.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_prod.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest_main-md.vcproj b/Source/ThirdParty/gtest/msvc/gtest_main-md.vcproj
index 0f92f2244..321667f1b 100644
--- a/Source/ThirdParty/gtest/msvc/gtest_main-md.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest_main-md.vcproj
@@ -1,165 +1,165 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest_main-md"
- ProjectGUID="{3AF54C8A-10BF-4332-9147-F68ED9862033}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- ReferencesPath="">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/$(ProjectName)d.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- ReferencesPath="&quot;..\include&quot;;&quot;..&quot;">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/$(ProjectName).lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
- Name="gtest-md"/>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\src\gtest_main.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\include\gtest\internal\gtest-death-test-internal.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-death-test.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-filepath.h">
- </File>
- <File
- RelativePath="..\src\gtest-internal-inl.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-internal.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-message.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-port.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-spi.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-string.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest_pred_impl.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest_prod.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest_main-md"
+ ProjectGUID="{3AF54C8A-10BF-4332-9147-F68ED9862033}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="4"
+ CharacterSet="2"
+ ReferencesPath="">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/$(ProjectName)d.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="4"
+ CharacterSet="2"
+ ReferencesPath="&quot;..\include&quot;;&quot;..&quot;">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/$(ProjectName).lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
+ Name="gtest-md"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\src\gtest_main.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\include\gtest\internal\gtest-death-test-internal.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-death-test.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-filepath.h">
+ </File>
+ <File
+ RelativePath="..\src\gtest-internal-inl.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-internal.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-message.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-port.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-spi.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-string.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_pred_impl.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_prod.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest_main.vcproj b/Source/ThirdParty/gtest/msvc/gtest_main.vcproj
index 24058c8fe..13cc1d4f9 100644
--- a/Source/ThirdParty/gtest/msvc/gtest_main.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest_main.vcproj
@@ -1,165 +1,165 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest_main"
- ProjectGUID="{3AF54C8A-10BF-4332-9147-F68ED9862032}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- ReferencesPath="">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/$(ProjectName)d.lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="4"
- CharacterSet="2"
- ReferencesPath="&quot;..\include&quot;;&quot;..&quot;">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
- RuntimeLibrary="4"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLibrarianTool"
- OutputFile="$(OutDir)/$(ProjectName).lib"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
- Name="gtest"/>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\src\gtest_main.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\include\gtest\internal\gtest-death-test-internal.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-death-test.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-filepath.h">
- </File>
- <File
- RelativePath="..\src\gtest-internal-inl.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-internal.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-message.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-port.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest-spi.h">
- </File>
- <File
- RelativePath="..\include\gtest\internal\gtest-string.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest_pred_impl.h">
- </File>
- <File
- RelativePath="..\include\gtest\gtest_prod.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest_main"
+ ProjectGUID="{3AF54C8A-10BF-4332-9147-F68ED9862032}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="4"
+ CharacterSet="2"
+ ReferencesPath="">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_LIB"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/$(ProjectName)d.lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="4"
+ CharacterSet="2"
+ ReferencesPath="&quot;..\include&quot;;&quot;..&quot;">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_LIB"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLibrarianTool"
+ OutputFile="$(OutDir)/$(ProjectName).lib"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{C8F6C172-56F2-4E76-B5FA-C3B423B31BE7}"
+ Name="gtest"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\src\gtest_main.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\include\gtest\internal\gtest-death-test-internal.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-death-test.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-filepath.h">
+ </File>
+ <File
+ RelativePath="..\src\gtest-internal-inl.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-internal.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-message.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-port.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest-spi.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\internal\gtest-string.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_pred_impl.h">
+ </File>
+ <File
+ RelativePath="..\include\gtest\gtest_prod.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest_prod_test-md.vcproj b/Source/ThirdParty/gtest/msvc/gtest_prod_test-md.vcproj
index 255b49428..e59c14105 100644
--- a/Source/ThirdParty/gtest/msvc/gtest_prod_test-md.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest_prod_test-md.vcproj
@@ -1,166 +1,166 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest_prod_test-md"
- ProjectGUID="{24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_prod_test.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/gtest_prod_test.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_prod_test.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862033}"
- Name="gtest_main-md"/>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\test\gtest_prod_test.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\test\production.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\test\production.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest_prod_test-md"
+ ProjectGUID="{24848551-EF4F-47E8-9A9D-EA4D49BC3ECB}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_prod_test.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/gtest_prod_test.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_prod_test.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862033}"
+ Name="gtest_main-md"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\test\gtest_prod_test.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\test\production.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\test\production.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest_prod_test.vcproj b/Source/ThirdParty/gtest/msvc/gtest_prod_test.vcproj
index 8fe6f24d3..794808d3b 100644
--- a/Source/ThirdParty/gtest/msvc/gtest_prod_test.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest_prod_test.vcproj
@@ -1,166 +1,166 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest_prod_test"
- ProjectGUID="{24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_prod_test.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/gtest_prod_test.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_prod_test.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862032}"
- Name="gtest_main"/>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\test\gtest_prod_test.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\test\production.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- <File
- RelativePath="..\test\production.h">
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest_prod_test"
+ ProjectGUID="{24848551-EF4F-47E8-9A9D-EA4D49BC3ECA}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_prod_test.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/gtest_prod_test.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_prod_test.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862032}"
+ Name="gtest_main"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\test\gtest_prod_test.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\test\production.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath="..\test\production.h">
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest_unittest-md.vcproj b/Source/ThirdParty/gtest/msvc/gtest_unittest-md.vcproj
index aeaefd035..00542fee3 100644
--- a/Source/ThirdParty/gtest/msvc/gtest_unittest-md.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest_unittest-md.vcproj
@@ -1,149 +1,149 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest_unittest-md"
- ProjectGUID="{4D9FDFB5-986A-4139-823C-F4EE0ED481A2}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="3"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_unittest.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/gtest_unittest.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_unittest.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862033}"
- Name="gtest_main-md"/>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\test\gtest_unittest.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- BasicRuntimeChecks="0"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest_unittest-md"
+ ProjectGUID="{4D9FDFB5-986A-4139-823C-F4EE0ED481A2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="3"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_unittest.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/gtest_unittest.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="2"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_unittest.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862033}"
+ Name="gtest_main-md"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\test\gtest_unittest.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="1"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ BasicRuntimeChecks="0"
+ UsePrecompiledHeader="0"
+ DebugInformationFormat="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/gtest/msvc/gtest_unittest.vcproj b/Source/ThirdParty/gtest/msvc/gtest_unittest.vcproj
index 560346907..05157a09f 100644
--- a/Source/ThirdParty/gtest/msvc/gtest_unittest.vcproj
+++ b/Source/ThirdParty/gtest/msvc/gtest_unittest.vcproj
@@ -1,149 +1,149 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="7.10"
- Name="gtest_unittest"
- ProjectGUID="{4D9FDFB5-986A-4139-823C-F4EE0ED481A1}"
- Keyword="Win32Proj">
- <Platforms>
- <Platform
- Name="Win32"/>
- </Platforms>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="TRUE"
- BasicRuntimeChecks="3"
- RuntimeLibrary="5"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="4"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_unittest.exe"
- LinkIncremental="2"
- GenerateDebugInformation="TRUE"
- ProgramDatabaseFile="$(OutDir)/gtest_unittest.pdb"
- SubSystem="1"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionName)/$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)/$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2">
- <Tool
- Name="VCCLCompilerTool"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="4"
- UsePrecompiledHeader="3"
- WarningLevel="3"
- Detect64BitPortabilityProblems="FALSE"
- DebugInformationFormat="3"/>
- <Tool
- Name="VCCustomBuildTool"/>
- <Tool
- Name="VCLinkerTool"
- AdditionalOptions="/SAFESEH"
- OutputFile="$(OutDir)/gtest_unittest.exe"
- LinkIncremental="1"
- GenerateDebugInformation="TRUE"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"/>
- <Tool
- Name="VCMIDLTool"/>
- <Tool
- Name="VCPostBuildEventTool"/>
- <Tool
- Name="VCPreBuildEventTool"/>
- <Tool
- Name="VCPreLinkEventTool"/>
- <Tool
- Name="VCResourceCompilerTool"/>
- <Tool
- Name="VCWebServiceProxyGeneratorTool"/>
- <Tool
- Name="VCXMLDataGeneratorTool"/>
- <Tool
- Name="VCWebDeploymentTool"/>
- <Tool
- Name="VCManagedWrapperGeneratorTool"/>
- <Tool
- Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
- </Configuration>
- </Configurations>
- <References>
- <ProjectReference
- ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862032}"
- Name="gtest_main"/>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
- <File
- RelativePath="..\test\gtest_unittest.cc">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- Optimization="1"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- BasicRuntimeChecks="0"
- UsePrecompiledHeader="0"
- DebugInformationFormat="3"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
- UsePrecompiledHeader="0"/>
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="gtest_unittest"
+ ProjectGUID="{4D9FDFB5-986A-4139-823C-F4EE0ED481A1}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="4"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_unittest.exe"
+ LinkIncremental="2"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/gtest_unittest.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="$(SolutionName)/$(ConfigurationName)"
+ IntermediateDirectory="$(OutDir)/$(ProjectName)"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="3"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="FALSE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalOptions="/SAFESEH"
+ OutputFile="$(OutDir)/gtest_unittest.exe"
+ LinkIncremental="1"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ <ProjectReference
+ ReferencedProjectIdentifier="{3AF54C8A-10BF-4332-9147-F68ED9862032}"
+ Name="gtest_main"/>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath="..\test\gtest_unittest.cc">
+ <FileConfiguration
+ Name="Debug|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="1"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ BasicRuntimeChecks="0"
+ UsePrecompiledHeader="0"
+ DebugInformationFormat="3"/>
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;..&quot;;&quot;..\include&quot;"
+ UsePrecompiledHeader="0"/>
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/ThirdParty/qunit/.gitignore b/Source/ThirdParty/qunit/.gitignore
deleted file mode 100644
index c6a02825e..000000000
--- a/Source/ThirdParty/qunit/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-.project
-*~
-*.diff
-*.patch
-.DS_Store
-
diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog
index 6fa29193f..cf4eada78 100644
--- a/Source/WTF/ChangeLog
+++ b/Source/WTF/ChangeLog
@@ -1,3 +1,745 @@
+2012-09-09 Mark Lam <mark.lam@apple.com>
+
+ Fixed ASSERT() and ASSERT_AT() macros so that they can be used in
+ comma expressions. Also, added UNUSED_LABEL().
+ https://bugs.webkit.org/show_bug.cgi?id=96127.
+
+ Reviewed by Geoffrey Garen.
+
+ * wtf/Assertions.h:
+ * wtf/UnusedParam.h: Added UNUSED_LABEL(). Removed an obsolete comment.
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Add StringBuilder::appendNumber() and use it
+ https://bugs.webkit.org/show_bug.cgi?id=96030
+
+ Reviewed by Eric Seidel.
+
+ Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code.
+
+ * wtf/DateMath.cpp:
+ (WTF::makeRFC2822DateString):
+ * wtf/text/StringBuilder.cpp:
+ (WTF::StringBuilder::appendNumber):
+ * wtf/text/StringBuilder.h:
+ (StringBuilder):
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Make the String initialization on the function side of String::number()
+ https://bugs.webkit.org/show_bug.cgi?id=95940
+
+ Reviewed by Benjamin Poulain.
+
+ Un-Inline String::number() to make the String initialization done on the function side
+ instead of being on the caller side.
+
+ * GNUmakefile.list.am:
+ * WTF.gypi:
+ * WTF.pro:
+ * WTF.vcproj/WTF.vcproj:
+ * WTF.xcodeproj/project.pbxproj:
+ * wtf/CMakeLists.txt:
+ * wtf/text/IntegerToStringConversion.cpp: Removed.
+ * wtf/text/IntegerToStringConversion.h:
+ (WTF::numberToStringImpl):
+ (WTF::numberToStringSigned):
+ (WTF::numberToStringUnsigned):
+ * wtf/text/WTFString.cpp:
+ (WTF::String::number):
+ * wtf/text/WTFString.h:
+
+2012-09-08 Andreas Kling <kling@webkit.org>
+
+ Give AtomicString SimpleClassVectorTraits.
+ <http://webkit.org/b/96186>
+
+ Reviewed by Karl Anders Carlsson.
+
+ AtomicString can be initialized/moved/compared with memset/memcpy/memcmp,
+ so add a VectorTraits<AtomicString> to make Vector<AtomicString> a little
+ more efficient.
+
+ * wtf/VectorTraits.h:
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127938.
+ http://trac.webkit.org/changeset/127938
+ https://bugs.webkit.org/show_bug.cgi?id=96166
+
+ It broke the build (Requested by smfr on #webkit).
+
+ * wtf/Assertions.h:
+
+2012-09-07 Mark Lam <mark.lam@apple.com>
+
+ Fixed ASSERT() and ASSERT_AT() macros so that they can be used in
+ comma expressions.
+ https://bugs.webkit.org/show_bug.cgi?id=96127.
+
+ Reviewed by Filip Pizlo.
+
+ * wtf/Assertions.h:
+ (wtfAssert):
+
+2012-09-07 Michael Saboff <msaboff@apple.com>
+
+ StringImpl::find(StringImpl*) doesn't handle cases where search and match strings are different bitness
+ https://bugs.webkit.org/show_bug.cgi?id=96125
+
+ Reviewed by Benjamin Poulain.
+
+ Changed findInner and reverseFindInner to be templated on both search and match character types.
+ Changed both find's and reverseFind to use all four bitness combinations of findInner and
+ reverseFindInner.
+
+ * wtf/text/StringImpl.cpp:
+ (WTF::findInner):
+ (WTF::StringImpl::find):
+ (WTF::reverseFindInner):
+ (WTF::StringImpl::reverseFind):
+
+2012-09-07 Michael Saboff <msaboff@apple.com>
+
+ equalIgnoringCase of two StringImpls doesn't handle 8 bit strings
+ https://bugs.webkit.org/show_bug.cgi?id=96028
+
+ Reviewed by Benjamin Poulain.
+
+ Added 8 bit checks and paths to CaseFoldingHash::equal. Also cleaned up StringHash::equal(), removing
+ obvious and in one case wrong comments. Moved equalIgnoringCase(UChar*, UChar*) from StringImpl.cpp
+ to StringImpl.h.
+
+ * wtf/text/StringHash.h:
+ (WTF::StringHash::equal):
+ (WTF::CaseFoldingHash::equal):
+ * wtf/text/StringImpl.cpp:
+ * wtf/text/StringImpl.h:
+ (WTF::equalIgnoringCase):
+
+2012-09-07 Patrick Gansterer <paroga@webkit.org>
+
+ [WIN] Deprecate String += operator
+ https://bugs.webkit.org/show_bug.cgi?id=96083
+
+ Reviewed by Adam Barth.
+
+ * wtf/Platform.h:
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ StringBuilder::toAtomicString() can create an 16 bit string with 8 bit contents
+ https://bugs.webkit.org/show_bug.cgi?id=96029
+
+ Reviewed by Benjamin Poulain.
+
+ Added 8 bit path when creating an AtomicString from a partial 8 bit buffer.
+
+ * wtf/text/StringBuilder.h:
+ (WTF::StringBuilder::toAtomicString):
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ 16 bit JSRopeString up converts an 8 bit fibers to 16 bits during resolution
+ https://bugs.webkit.org/show_bug.cgi?id=95810
+
+ Reviewed by Benjamin Poulain.
+
+ New copy routine that takes an 8 bit source and a 16 bit destination. Used when copying
+ the contents of an 8 bit fiber to the 16 bit buffer when resolving a 16 bit rope.
+
+ * wtf/text/StringImpl.h:
+ (WTF::StringImpl::copyChars):
+ (StringImpl):
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ Unreviewed fix to r127799.
+ https://bugs.webkit.org/show_bug.cgi?id=95807
+
+ Unreviewed fix.
+
+ Removed extraneous "static". This code is hidden behind STRING_STATS define and
+ therefore is not enabled by default.
+
+ * wtf/text/StringImpl.cpp:
+
+2012-09-06 Lauro Neto <lauro.neto@openbossa.org>
+
+ [Qt] Deprecate String += operator
+ https://bugs.webkit.org/show_bug.cgi?id=95895
+
+ Reviewed by Benjamin Poulain.
+
+ Remove Qt from WTF_DEPRECATED_STRING_OPERATORS guard.
+
+ * wtf/Platform.h:
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ ENH: Add Logging to StringImpl to track String Types
+ https://bugs.webkit.org/show_bug.cgi?id=95807
+
+ Reviewed by Benjamin Poulain.
+
+ Added StringsStats class that keeps track of the number of strings, number of 8 and 16 bit
+ strings as well as the number of 8 bit strings up converted to 16 bits. The number of characrters
+ for each type is also accumulated. These statistics are output via DataLog every 5000
+ calls to StringImpl destructor. The 5000 can be adjusted via s_printStringStatsFrequency.
+ This StringStats code is disabled by default and enabled by defining STRING_STATS in
+ wtf/text/StringImpl.h.
+
+ * wtf/text/StringImpl.cpp:
+ (WTF::StringStats::removeString):
+ (WTF::StringStats::printStats):
+ (WTF::StringImpl::~StringImpl):
+ (WTF::StringImpl::getData16SlowCase):
+ * wtf/text/StringImpl.h:
+ (WTF::StringStats::add8BitString):
+ (StringStats):
+ (WTF::StringStats::add16BitString):
+ (WTF::StringStats::addUpconvertedString):
+ (WTF::StringImpl::StringImpl):
+ (StringImpl):
+ (WTF::StringImpl::isSubString):
+ (WTF::StringImpl::stringStats):
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Fix export macros in IntegerToStringConversion.h
+ https://bugs.webkit.org/show_bug.cgi?id=95900
+
+ Reviewed by Benjamin Poulain.
+
+ The WTF_EXPORT_STRING_API must be used only for symbols which are compiled
+ on windows in "non-WTF" binaries too. Since this isn't valid for the
+ IntegerToStringConversion function replace it with WTF_EXPORT_PRIVATE.
+
+ * wtf/text/IntegerToStringConversion.h:
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Various small Windows / MSVC build fixes
+ https://bugs.webkit.org/show_bug.cgi?id=95934
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ For the Qt build on Windows, do not enable WTF_USE_UNIX_DOMAIN_SOCKETS for
+ WebKit2 IPC.
+
+ * wtf/Platform.h:
+
+2012-09-06 Adam Barth <abarth@chromium.org>
+
+ Remove WTF::String::operator+=
+ https://bugs.webkit.org/show_bug.cgi?id=95797
+
+ Reviewed by Sam Weinig.
+
+ This patch encloses WTF::String::operator+= in an ifdef so that we can
+ gradually remove it from the various port-specific files. The ifdef
+ lets us whitelist use of operator+= in individual files during the
+ transition.
+
+ * wtf/Platform.h
+ * wtf/text/WTFString.h:
+
+2012-09-05 Gabor Rapcsanyi <rgabor@webkit.org>
+
+ DFG JIT doesn't work properly on ARM hardfp
+ https://bugs.webkit.org/show_bug.cgi?id=95684
+
+ Reviewed by Filip Pizlo.
+
+ Add hardfp support to DFG JIT. The patch is created with the
+ help of Zoltan Herczeg.
+
+ * wtf/Platform.h:
+
+2012-09-04 Zoltan Horvath <zoltan@webkit.org>
+
+ Extend the coverage of the Custom Allocation Framework in WTF and in JavaScriptCore
+ https://bugs.webkit.org/show_bug.cgi?id=95737
+
+ Reviewed by Eric Seidel.
+
+ Add WTF_MAKE_FAST_ALLOCATED macro to the following class declarations because these are instantiated by operator new.
+
+ * wtf/CryptographicallyRandomNumber.cpp: CryptographicallyRandomNumber is instantiated at wtf/CryptographicallyRandomNumber.cpp:162.
+ * wtf/MediaTime.h: MediaTime is instantiated at wtf/MediaTime.cpp:288.
+ * wtf/MetaAllocator.h:
+ (MetaAllocatorTracker): MetaAllocatorTracker is instantiated at JavaScriptCore/tools/CodeProfiling.cpp:120.
+ * wtf/ThreadingPthreads.cpp:
+ (PthreadState): PthreadState is instantiated at wtf/ThreadingPthreads.cpp:165.
+ * wtf/text/AtomicString.cpp:
+ (AtomicStringTable): AtomicStringTable is instantiated at wtf/text/AtomicString.cpp:43.
+
+2012-09-01 Mark Lam <mark.lam@apple.com>
+
+ LLInt C loop backend.
+ https://bugs.webkit.org/show_bug.cgi?id=91052.
+
+ Reviewed by Filip Pizlo.
+
+ Added configs for the llint C loop backend.
+
+ * wtf/Platform.h:
+
+2012-08-31 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Fix for older compilers. Pass id as the return type to the template
+ instead of relying on default type.
+
+ * wtf/Functional.h:
+ (WTF::R):
+ * wtf/ObjcRuntimeExtras.h:
+
+2012-08-31 Michael Saboff <msaboff@apple.com>
+
+ CSS Parser should directly parse 8 bit source strings
+ https://bugs.webkit.org/show_bug.cgi?id=95207
+
+ Reviewed by Geoffrey Garen.
+
+ * wtf/text/StringImpl.h:
+ (WTF::equalIgnoringCase): Added (const char*, const LChar*, unsigned) flavor to support
+ 8 bit CSS parser work.
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ AtomicString(ASCIILiteral) should not compile
+ https://bugs.webkit.org/show_bug.cgi?id=95413
+
+ Reviewed by Adam Barth.
+
+ * wtf/text/AtomicString.h:
+ (AtomicString): Declare the constructor from ASCIILiteral private to ensure it is
+ not used by accident.
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Ambiguous operator[] after r127191 on some compiler
+ https://bugs.webkit.org/show_bug.cgi?id=95509
+
+ Reviewed by Simon Fraser.
+
+ * wtf/text/WTFString.h:
+ (WTF::String::characterAt): At this as a synonym to operator[] to attempt a build fix.
+
+2012-08-30 Mark Lam <mark.lam@apple.com>
+
+ Render unto #ifdef's that which belong to them.
+ https://bugs.webkit.org/show_bug.cgi?id=95482.
+
+ Reviewed by Filip Pizlo.
+
+ * wtf/Platform.h: Added ENABLE(COMPUTED_GOTO_OPCODES).
+
+2012-08-30 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Add new templates wtfObjcMsgSend and wtfCallIMP that do the appropriate
+ casts to correctly typed function pointers before calling objc_msgSend
+ and IMP methods directly.
+
+ * wtf/Functional.h:
+ (WTF::R): Use wtfObjcMsgSend.
+ * wtf/ObjcRuntimeExtras.h: Added.
+ (wtfObjcMsgSend):
+ (wtfCallIMP):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ * wtf/Platform.h: Useless edit to force a full build. This is needed for some bots for some reason.
+ * wtf/text/WTFString.h: Export a symbol that was exported on UString and needed in WebCore.
+
+ Add String::getCharactersWithUpconvert<>(), which is similar to String::getCharacters<>() but with the same
+ behaviors as UString::getCharacters<>().
+
+ String::getCharactersWithUpconvert<>() is useful when manipulating multiple strings, it allow writting code
+ using 16bits characters if any of the input String is not 8bit.
+
+2012-08-30 Yong Li <yoli@rim.com>
+
+ Vector::shrinkToFit should use realloc when suitable.
+ https://bugs.webkit.org/show_bug.cgi?id=94810
+
+ Reviewed by Benjamin Poulain.
+
+ Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) in the mean time.
+ Use realloc to shrink buffer when inline buffer isn't involved and and canMoveWithMemcpy is true.
+
+ When running the test code attached to the bug, it gives 30-45% performance boost for the large blocks
+ (Every test cycle includes an extra pair of malloc/free, so the boost on shrinkToFit() is even bigger)
+ Performance impact on small blocks is not noticeable. (Tested on BlackBerry)
+
+ * wtf/Vector.h:
+ (WTF::VectorBufferBase::shouldReallocateBuffer):
+ (VectorBufferBase):
+ (WTF::VectorBufferBase::reallocateBuffer):
+ (VectorBuffer):
+ (WTF::VectorBuffer::shouldReallocateBuffer):
+ (WTF::VectorBuffer::reallocateBuffer):
+ (WTF::VectorBuffer::inlineBuffer):
+ (WTF::::shrinkCapacity):
+
+2012-08-30 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for COMPILER(MSVC) && !CPU(X86) after r127001.
+
+ * wtf/MathExtras.h:
+ (lrint): Added additional parentheses to silence compiler warning.
+
+2012-08-29 Benjamin Poulain <bpoulain@apple.com>
+
+ REGRESSION(r126780): Crash using StringImpl::is8Bit before checking if there is an impl
+ https://bugs.webkit.org/show_bug.cgi?id=95380
+
+ Reviewed by Michael Saboff.
+
+ Blindly copying code from UString in r126780 was stupid. I just brought over a bug.
+ This patch adds the zero length branch back so that null strings are handled correctly.
+
+ * wtf/text/WTFString.cpp:
+ (WTF::String::ascii): Return a empty CString if the String is null or empty.
+
+2012-08-29 Dominik Röttsches <dominik.rottsches@intel.com>
+
+ The 2d.imageData.object.round canvas test is failing
+ https://bugs.webkit.org/show_bug.cgi?id=40272
+
+ Reviewed by Benjamin Poulain.
+
+ Updating previous patch to address Benjamin's comments.
+ #ifdef in Uint8ClampedArray removed, fallback implementation for MSVC on non-X86 added.
+
+ * wtf/MathExtras.h:
+ (lrint): Fallback implementation for non-X86 & MSVC case.
+ * wtf/Uint8ClampedArray.h: Removed #ifdef.
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * wtf/HashCountedSet.h:
+ (WTF::::add):
+ (WTF::::remove):
+ (WTF::copyToVector):
+ * wtf/HashIterators.h:
+ (WTF::HashTableConstKeysIterator::get):
+ (WTF::HashTableConstValuesIterator::get):
+ (WTF::HashTableKeysIterator::get):
+ (WTF::HashTableValuesIterator::get):
+ * wtf/HashMap.h:
+ (WTF::KeyValuePairKeyExtractor::extract):
+ (WTF::HashMapValueTraits::isEmptyValue):
+ (WTF::HashMapTranslator::translate):
+ (WTF::HashMapTranslatorAdapter::translate):
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::take):
+ (WTF::operator==):
+ (WTF):
+ (WTF::deleteAllPairSeconds):
+ (WTF::deleteAllValues):
+ (WTF::deleteAllPairFirsts):
+ (WTF::deleteAllKeys):
+ * wtf/HashTable.h:
+ (WTF::hashTableSwap):
+ (WTF::::checkTableConsistencyExceptSize):
+ * wtf/HashTraits.h:
+ (WTF::KeyValuePair::KeyValuePair):
+ (KeyValuePair):
+ (WTF::KeyValuePairHashTraits::constructDeletedValue):
+ (WTF::KeyValuePairHashTraits::isDeletedValue):
+ * wtf/MetaAllocator.cpp:
+ (WTF::MetaAllocator::addFreeSpace):
+ (WTF::MetaAllocator::incrementPageOccupancy):
+ (WTF::MetaAllocator::decrementPageOccupancy):
+ * wtf/RefCountedLeakCounter.cpp:
+ (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
+ * wtf/RefPtrHashMap.h:
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::inlineGet):
+ (WTF::::take):
+ * wtf/Spectrum.h:
+ (WTF::Spectrum::add):
+ (WTF::Spectrum::get):
+ (WTF::Spectrum::buildList):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::identifierByPthreadHandle):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * wtf/HashCountedSet.h:
+ (WTF::::add):
+ (WTF::::remove):
+ (WTF::copyToVector):
+ * wtf/HashIterators.h:
+ (WTF::HashTableConstKeysIterator::get):
+ (WTF::HashTableConstValuesIterator::get):
+ (WTF::HashTableKeysIterator::get):
+ (WTF::HashTableValuesIterator::get):
+ * wtf/HashMap.h:
+ (WTF::KeyValuePairKeyExtractor::extract):
+ (WTF::HashMapValueTraits::isEmptyValue):
+ (WTF::HashMapTranslator::translate):
+ (WTF::HashMapTranslatorAdapter::translate):
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::take):
+ (WTF::operator==):
+ (WTF::deleteAllValues):
+ (WTF::deleteAllKeys):
+ Remove deleteAllPairFirsts/Seconds.
+
+ * wtf/HashTable.h:
+ (WTF::hashTableSwap):
+ (WTF::::checkTableConsistencyExceptSize):
+ * wtf/HashTraits.h:
+ (WTF::KeyValuePair::KeyValuePair):
+ (KeyValuePair):
+ (WTF::KeyValuePairHashTraits::constructDeletedValue):
+ (WTF::KeyValuePairHashTraits::isDeletedValue):
+ * wtf/MetaAllocator.cpp:
+ (WTF::MetaAllocator::addFreeSpace):
+ (WTF::MetaAllocator::incrementPageOccupancy):
+ (WTF::MetaAllocator::decrementPageOccupancy):
+ * wtf/RefCountedLeakCounter.cpp:
+ (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
+ * wtf/RefPtrHashMap.h:
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::inlineGet):
+ (WTF::::take):
+ * wtf/Spectrum.h:
+ (WTF::Spectrum::add):
+ (WTF::Spectrum::get):
+ (WTF::Spectrum::buildList):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::identifierByPthreadHandle):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * wtf/HashCountedSet.h:
+ (WTF::::add):
+ (WTF::::remove):
+ (WTF::copyToVector):
+ * wtf/HashIterators.h:
+ (WTF::HashTableConstKeysIterator::get):
+ (WTF::HashTableConstValuesIterator::get):
+ (WTF::HashTableValuesIterator::get):
+ * wtf/HashMap.h:
+ (WTF::KeyValuePairKeyExtractor::extract):
+ (WTF::HashMapValueTraits::isEmptyValue):
+ (WTF::HashMapTranslator::translate):
+ (WTF::HashMapTranslatorAdapter::translate):
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::take):
+ (WTF::operator==):
+ (WTF):
+ (WTF::deleteAllPairSeconds):
+ (WTF::deleteAllValues):
+ (WTF::deleteAllPairFirsts):
+ (WTF::deleteAllKeys):
+ * wtf/HashTable.h:
+ (WTF::hashTableSwap):
+ (WTF::::checkTableConsistencyExceptSize):
+ * wtf/HashTraits.h:
+ (WTF::KeyValuePair::KeyValuePair):
+ (KeyValuePair):
+ (WTF::KeyValuePairHashTraits::constructDeletedValue):
+ (WTF::KeyValuePairHashTraits::isDeletedValue):
+ * wtf/MetaAllocator.cpp:
+ (WTF::MetaAllocator::addFreeSpace):
+ (WTF::MetaAllocator::incrementPageOccupancy):
+ (WTF::MetaAllocator::decrementPageOccupancy):
+ * wtf/RefCountedLeakCounter.cpp:
+ (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
+ * wtf/RefPtrHashMap.h:
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::inlineGet):
+ (WTF::::take):
+ * wtf/Spectrum.h:
+ (WTF::Spectrum::add):
+ (WTF::Spectrum::get):
+ (WTF::Spectrum::buildList):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::identifierByPthreadHandle):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * wtf/HashCountedSet.h:
+ (WTF::::add):
+ (WTF::::remove):
+ (WTF::copyToVector):
+ * wtf/HashIterators.h:
+ (WTF::HashTableConstKeysIterator::get):
+ (WTF::HashTableConstValuesIterator::get):
+ (WTF::HashTableValuesIterator::get):
+ * wtf/HashMap.h:
+ (WTF::KeyValuePairKeyExtractor::extract):
+ (WTF::HashMapValueTraits::isEmptyValue):
+ (WTF::HashMapTranslator::translate):
+ (WTF::HashMapTranslatorAdapter::translate):
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::take):
+ (WTF::operator==):
+ (WTF::deleteAllValues):
+ (WTF::deleteAllKeys):
+ Remove deleteAllPairFirsts/Seconds.
+
+ * wtf/HashTable.h:
+ (WTF::hashTableSwap):
+ (WTF::::checkTableConsistencyExceptSize):
+ * wtf/HashTraits.h:
+ (WTF::KeyValuePair::KeyValuePair):
+ (KeyValuePair):
+ (WTF::KeyValuePairHashTraits::constructDeletedValue):
+ (WTF::KeyValuePairHashTraits::isDeletedValue):
+ * wtf/MetaAllocator.cpp:
+ (WTF::MetaAllocator::addFreeSpace):
+ (WTF::MetaAllocator::incrementPageOccupancy):
+ (WTF::MetaAllocator::decrementPageOccupancy):
+ * wtf/RefCountedLeakCounter.cpp:
+ (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
+ * wtf/RefPtrHashMap.h:
+ (WTF::::set):
+ (WTF::::get):
+ (WTF::::inlineGet):
+ (WTF::::take):
+ * wtf/Spectrum.h:
+ (WTF::Spectrum::add):
+ (WTF::Spectrum::get):
+ (WTF::Spectrum::buildList):
+ * wtf/ThreadingPthreads.cpp:
+ (WTF::identifierByPthreadHandle):
+
+2012-08-27 Benjamin Poulain <benjamin@webkit.org>
+
+ Add ECMAScript Number to String conversion to WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95016
+
+ Reviewed by Geoffrey Garen.
+
+ * wtf/text/WTFString.cpp:
+ (WTF::String::numberToStringECMAScript):
+ * wtf/text/WTFString.h:
+ Add the implementation of numberToStringECMAScript(double) from UString to String.
+ This will make it easier to replace UString in the future.
+
+2012-08-27 Benjamin Poulain <benjamin@webkit.org>
+
+ Even up WTF::String to CString functions
+ https://bugs.webkit.org/show_bug.cgi?id=95008
+
+ Reviewed by Sam Weinig.
+
+ Apply advantages from UString to WTF::String.
+
+ * wtf/text/WTFString.cpp:
+ (WTF::String::ascii): There is no need to special case the null length, both
+ following branches use CString::newUninitialized(), which create empty string
+ for null length.
+ (WTF::String::latin1): Use characters16() instead of characters() to avoid
+ testing is8Bit() a second time.
+
+2012-08-24 Benjamin Poulain <benjamin@webkit.org>
+
+ Touch Platform.h to solve a build dependency issue
+
+ Unreviewed.
+
+ * wtf/Platform.h:
+
+2012-08-24 Benjamin Poulain <bpoulain@apple.com>
+
+ Unify Number to StringImpl conversion
+ https://bugs.webkit.org/show_bug.cgi?id=94879
+
+ Reviewed by Geoffrey Garen.
+
+ Previously, UString::number() and String::number() used different implementations.
+
+ WTF::String::number() was simply forwarding to String::format().
+ UString::number() had an optimized version of the conversion.
+
+ This patch replace both implementation by a new version, faster than the two previous versions.
+
+ The new functions numberToStringImpl improvements are:
+ -about 3 times faster than String::number().
+ -14% faster than UString::number() on signed numbers.
+ -9% faster than UString::number() on unsigned numbers.
+
+ * GNUmakefile.list.am:
+ * WTF.gypi:
+ * WTF.pro:
+ * WTF.vcproj/WTF.vcproj:
+ * WTF.xcodeproj/project.pbxproj:
+ * wtf/CMakeLists.txt:
+ * wtf/text/IntegerToStringConversion.cpp: Added.
+ (WTF::numberToStringImplSigned):
+ (WTF::numberToStringImpl):
+ (WTF::numberToStringImplUnsigned):
+ * wtf/text/IntegerToStringConversion.h: Added.
+ * wtf/text/WTFString.cpp:
+ (WTF::String::format):
+ * wtf/text/WTFString.h:
+ (WTF::String::number):
+
+2012-08-24 Andras Becsi <andras.becsi@nokia.com>
+
+ [Qt] Be more explicit about the ICU dependency in the error message
+
+ Rubber-stamped by Simon Hausmann.
+
+ When building QtWebKit with a Qt5 which was not configured with libICU support
+ the error message is somewhat ambiguous about the indirect dependency.
+
+ * WTF.pri:
+
2012-08-23 Julien Chaffraix <jchaffraix@webkit.org>
[Chromium] Enable AtomicString && CString && WTFString && StringImpl unit tests
diff --git a/Source/WTF/GNUmakefile.list.am b/Source/WTF/GNUmakefile.list.am
index 7c123e537..a40803455 100644
--- a/Source/WTF/GNUmakefile.list.am
+++ b/Source/WTF/GNUmakefile.list.am
@@ -208,6 +208,7 @@ wtf_sources += \
Source/WTF/wtf/text/Base64.h \
Source/WTF/wtf/text/CString.cpp \
Source/WTF/wtf/text/CString.h \
+ Source/WTF/wtf/text/IntegerToStringConversion.h \
Source/WTF/wtf/text/StringBuffer.h \
Source/WTF/wtf/text/StringBuilder.cpp \
Source/WTF/wtf/text/StringBuilder.h \
diff --git a/Source/WTF/WTF.gyp/.gitignore b/Source/WTF/WTF.gyp/.gitignore
deleted file mode 100644
index 06641986f..000000000
--- a/Source/WTF/WTF.gyp/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-*.Makefile
-*.mk
-*.sln
-*.vcproj*
-*.vcxproj*
-WTF.xcodeproj
diff --git a/Source/WTF/WTF.gypi b/Source/WTF/WTF.gypi
index 531b4381d..cdc73fd45 100644
--- a/Source/WTF/WTF.gypi
+++ b/Source/WTF/WTF.gypi
@@ -113,6 +113,7 @@
'wtf/text/AtomicStringImpl.h',
'wtf/text/Base64.h',
'wtf/text/CString.h',
+ 'wtf/text/IntegerToStringConversion.h',
'wtf/text/StringBuffer.h',
'wtf/text/StringBuilder.h',
'wtf/text/StringConcatenate.h',
diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri
index 1d2d4f771..9e9493301 100644
--- a/Source/WTF/WTF.pri
+++ b/Source/WTF/WTF.pri
@@ -18,7 +18,7 @@ mac {
win32: LIBS += -licuin -licuuc -licudt
else: LIBS += -licui18n -licuuc -licudata
} else {
- error("To build QtWebKit with Qt 5 you need ICU")
+ error("To build QtWebKit with Qt 5 you need to build Qt 5 with libICU support. Check for ICU support being mentioned in qtbase/config.summary.")
}
}
diff --git a/Source/WTF/WTF.pro b/Source/WTF/WTF.pro
index f8223112d..5d6a6e54f 100644
--- a/Source/WTF/WTF.pro
+++ b/Source/WTF/WTF.pro
@@ -135,6 +135,7 @@ HEADERS += \
text/AtomicStringImpl.h \
text/Base64.h \
text/CString.h \
+ text/IntegerToStringConversion.h \
text/StringBuffer.h \
text/StringBuilder.h \
text/StringConcatenate.h \
diff --git a/Source/WTF/WTF.vcproj/WTF.sln b/Source/WTF/WTF.vcproj/WTF.sln
index 396d1c217..76dc6310f 100644
--- a/Source/WTF/WTF.vcproj/WTF.sln
+++ b/Source/WTF/WTF.vcproj/WTF.sln
@@ -1,49 +1,49 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- ProjectSection(ProjectDependencies) = postProject
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.ActiveCfg = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.ActiveCfg = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WTF/WTF.vcproj/WTF.vcproj b/Source/WTF/WTF.vcproj/WTF.vcproj
index 959edae34..789a2546d 100644
--- a/Source/WTF/WTF.vcproj/WTF.vcproj
+++ b/Source/WTF/WTF.vcproj/WTF.vcproj
@@ -1,1254 +1,1258 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTF"
- ProjectGUID="{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- RootNamespace="WTF"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WTFDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WTFRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WTFDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WTFProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WTFReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WTFDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\wtf\win\MainThreadWin.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\win\OwnPtrWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="unicode"
- >
- <File
- RelativePath="..\wtf\unicode\CharacterNames.h"
- >
- </File>
- <File
- RelativePath="..\wtf\unicode\Collator.h"
- >
- </File>
- <File
- RelativePath="..\wtf\unicode\Unicode.h"
- >
- </File>
- <File
- RelativePath="..\wtf\unicode\UnicodeMacrosFromICU.h"
- >
- </File>
- <File
- RelativePath="..\wtf\unicode\UTF8.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\unicode\UTF8.h"
- >
- </File>
- <Filter
- Name="icu"
- >
- <File
- RelativePath="..\wtf\unicode\icu\CollatorICU.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\unicode\icu\UnicodeIcu.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="text"
- >
- <File
- RelativePath="..\wtf\text\ASCIIFastPath.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\AtomicString.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\AtomicString.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\AtomicStringHash.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\AtomicStringImpl.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\Base64.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\Base64.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\CString.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\CString.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringBuffer.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringBuilder.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringConcatenate.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringHash.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringImpl.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringOperators.h"
- >
- </File>
- <File
- RelativePath="..\wtf\text\StringStatics.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\WTFString.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\text\WTFString.h"
- >
- </File>
- </Filter>
- <Filter
- Name="dtoa"
- >
- <File
- RelativePath="..\wtf\dtoa\bignum-dtoa.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\bignum-dtoa.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\bignum.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\bignum.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\cached-powers.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\cached-powers.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\diy-fp.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\diy-fp.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\double-conversion.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\double-conversion.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\double.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\fast-dtoa.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\fast-dtoa.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\fixed-dtoa.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\fixed-dtoa.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\strtod.cc"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\strtod.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa\utils.h"
- >
- </File>
- </Filter>
- <Filter
- Name="threads"
- >
- <File
- RelativePath="..\wtf\threads\BinarySemaphore.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\threads\BinarySemaphore.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\wtf\threads\win\BinarySemaphoreWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <File
- RelativePath="..\wtf\Alignment.h"
- >
- </File>
- <File
- RelativePath="..\wtf\AlwaysInline.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ArrayBuffer.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\ArrayBuffer.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ArrayBufferView.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\ArrayBufferView.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ASCIICType.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Assertions.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\Assertions.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Atomics.h"
- >
- </File>
- <File
- RelativePath="..\wtf\AVLTree.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Bitmap.h"
- >
- </File>
- <File
- RelativePath="..\wtf\BitArray.h"
- >
- </File>
- <File
- RelativePath="..\wtf\BitVector.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\BitVector.h"
- >
- </File>
- <File
- RelativePath="..\wtf\BlockStack.h"
- >
- </File>
- <File
- RelativePath="..\wtf\BloomFilter.h"
- >
- </File>
- <File
- RelativePath="..\wtf\BoundsCheckedPointer.h"
- >
- </File>
- <File
- RelativePath="..\wtf\BumpPointerAllocator.h"
- >
- </File>
- <File
- RelativePath="..\wtf\CheckedArithmetic.h"
- >
- </File>
- <File
- RelativePath="..\wtf\CheckedBoolean.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Compiler.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Complex.h"
- >
- </File>
- <File
- RelativePath="..\wtf\CryptographicallyRandomNumber.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\CryptographicallyRandomNumber.h"
- >
- </File>
- <File
- RelativePath="..\wtf\CurrentTime.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\CurrentTime.h"
- >
- </File>
- <File
- RelativePath="..\wtf\DataLog.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\DataLog.h"
- >
- </File>
- <File
- RelativePath="..\wtf\DateMath.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\DateMath.h"
- >
- </File>
- <File
- RelativePath="..\wtf\DecimalNumber.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\DecimalNumber.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Decoder.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Deque.h"
- >
- </File>
- <File
- RelativePath="..\wtf\DisallowCType.h"
- >
- </File>
- <File
- RelativePath="..\wtf\DoublyLinkedList.h"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\dtoa.h"
- >
- </File>
- <File
- RelativePath="..\wtf\DynamicAnnotations.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\DynamicAnnotations.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Encoder.h"
- >
- </File>
- <File
- RelativePath="..\wtf\FastAllocBase.h"
- >
- </File>
- <File
- RelativePath="..\wtf\FastBitVector.h"
- >
- </File>
- <File
- RelativePath="..\wtf\FastMalloc.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4702"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4702"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4702"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\wtf\FastMalloc.h"
- >
- </File>
- <File
- RelativePath="..\wtf\FixedArray.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Float32Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Float64Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Forward.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Functional.h"
- >
- </File>
- <File
- RelativePath="..\wtf\GetPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\GregorianDateTime.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\GregorianDateTime.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashCountedSet.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashFunctions.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashIterators.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashSet.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashTable.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\HashTable.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HashTraits.h"
- >
- </File>
- <File
- RelativePath="..\wtf\HexNumber.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Int16Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Int32Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Int8Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ListHashSet.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ListRefPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Locker.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MainThread.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\MainThread.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MallocZoneSupport.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MathExtras.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MD5.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\MD5.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MediaTime.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MediaTime.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\MessageQueue.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MetaAllocator.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\MetaAllocator.h"
- >
- </File>
- <File
- RelativePath="..\wtf\MetaAllocatorHandle.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Noncopyable.h"
- >
- </File>
- <File
- RelativePath="..\wtf\NonCopyingSort.h"
- >
- </File>
- <File
- RelativePath="..\wtf\NotFound.h"
- >
- </File>
- <File
- RelativePath="..\wtf\NullPtr.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\NullPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RAMSize.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\RAMSize.h"
- >
- </File>
- <File
- RelativePath="..\wtf\NumberOfCores.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\NumberOfCores.h"
- >
- </File>
- <File
- RelativePath="..\wtf\OSAllocatorWin.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\OSRandomSource.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\OSRandomSource.h"
- >
- </File>
- <File
- RelativePath="..\wtf\OwnArrayPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\OwnPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\OwnPtrCommon.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PackedIntVector.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PageAllocation.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PageAllocationAligned.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\PageAllocationAligned.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PageBlock.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\PageBlock.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PageReservation.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ParallelJobs.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ParallelJobsGeneric.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\ParallelJobsGeneric.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ParallelJobsLibdispatch.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ParallelJobsOpenMP.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PassOwnArrayPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PassOwnPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PassRefPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PassTraits.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Platform.h"
- >
- </File>
- <File
- RelativePath="..\wtf\PossiblyNull.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RandomNumber.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\RandomNumber.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RandomNumberSeed.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RedBlackTree.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RefCounted.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RefCountedLeakCounter.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\RefCountedLeakCounter.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RefPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RefPtrHashMap.h"
- >
- </File>
- <File
- RelativePath="..\wtf\RetainPtr.h"
- >
- </File>
- <File
- RelativePath="..\wtf\SaturatedArithmetic.h"
- >
- </File>
- <File
- RelativePath="..\wtf\SegmentedVector.h"
- >
- </File>
- <File
- RelativePath="..\wtf\SentinelLinkedList.h"
- >
- </File>
- <File
- RelativePath="..\wtf\SHA1.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\SHA1.h"
- >
- </File>
- <File
- RelativePath="..\wtf\SinglyLinkedList.h"
- >
- </File>
- <File
- RelativePath="..\wtf\SizeLimits.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\StackBounds.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\StackBounds.h"
- >
- </File>
- <File
- RelativePath="..\wtf\StaticConstructors.h"
- >
- </File>
- <File
- RelativePath="..\wtf\StdLibExtras.h"
- >
- </File>
- <File
- RelativePath="..\wtf\StringExtras.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\StringExtras.h"
- >
- </File>
- <File
- RelativePath="..\wtf\StringHasher.h"
- >
- </File>
- <File
- RelativePath="..\wtf\TCPackedCache.h"
- >
- </File>
- <File
- RelativePath="..\wtf\TCPageMap.h"
- >
- </File>
- <File
- RelativePath="..\wtf\TCSpinLock.h"
- >
- </File>
- <File
- RelativePath="..\wtf\TCSystemAlloc.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\TCSystemAlloc.h"
- >
- </File>
- <File
- RelativePath="..\wtf\TemporaryChange.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Threading.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\Threading.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ThreadingPrimitives.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ThreadingWin.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\ThreadRestrictionVerifier.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ThreadSafeRefCounted.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ThreadSpecific.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ThreadSpecificWin.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\TypeTraits.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\TypeTraits.h"
- >
- </File>
- <File
- RelativePath="..\wtf\UInt16Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\UInt32Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\UInt8Array.h"
- >
- </File>
- <File
- RelativePath="..\wtf\UnusedParam.h"
- >
- </File>
- <File
- RelativePath="..\wtf\ValueCheck.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Vector.h"
- >
- </File>
- <File
- RelativePath="..\wtf\Vector3.h"
- >
- </File>
- <File
- RelativePath="..\wtf\VectorTraits.h"
- >
- </File>
- <File
- RelativePath="..\wtf\VMTags.h"
- >
- </File>
- <File
- RelativePath="..\wtf\WTFThreadData.cpp"
- >
- </File>
- <File
- RelativePath="..\wtf\WTFThreadData.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTF"
+ ProjectGUID="{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+ RootNamespace="WTF"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WTFDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WTFRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WTFDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WTFProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WTFReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WTFDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\wtf\win\MainThreadWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\win\OwnPtrWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="unicode"
+ >
+ <File
+ RelativePath="..\wtf\unicode\CharacterNames.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\unicode\Collator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\unicode\Unicode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\unicode\UnicodeMacrosFromICU.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\unicode\UTF8.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\unicode\UTF8.h"
+ >
+ </File>
+ <Filter
+ Name="icu"
+ >
+ <File
+ RelativePath="..\wtf\unicode\icu\CollatorICU.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\unicode\icu\UnicodeIcu.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="text"
+ >
+ <File
+ RelativePath="..\wtf\text\ASCIIFastPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\AtomicString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\AtomicString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\AtomicStringHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\AtomicStringImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\Base64.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\Base64.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\CString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\CString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\IntegerToStringConversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringConcatenate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringOperators.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\StringStatics.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\WTFString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\text\WTFString.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="dtoa"
+ >
+ <File
+ RelativePath="..\wtf\dtoa\bignum-dtoa.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\bignum-dtoa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\bignum.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\bignum.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\cached-powers.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\cached-powers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\diy-fp.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\diy-fp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\double-conversion.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\double-conversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\double.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\fast-dtoa.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\fast-dtoa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\fixed-dtoa.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\fixed-dtoa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\strtod.cc"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\strtod.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa\utils.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="threads"
+ >
+ <File
+ RelativePath="..\wtf\threads\BinarySemaphore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\threads\BinarySemaphore.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\wtf\threads\win\BinarySemaphoreWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath="..\wtf\Alignment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\AlwaysInline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ArrayBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ArrayBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ArrayBufferView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ArrayBufferView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ASCIICType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Assertions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Assertions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Atomics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\AVLTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Bitmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BitArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BitVector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BitVector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BlockStack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BloomFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BoundsCheckedPointer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\BumpPointerAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\CheckedArithmetic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\CheckedBoolean.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Compiler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Complex.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\CryptographicallyRandomNumber.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\CryptographicallyRandomNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\CurrentTime.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\CurrentTime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DataLog.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DataLog.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DateMath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DateMath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DecimalNumber.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DecimalNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Decoder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Deque.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DisallowCType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DoublyLinkedList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\dtoa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DynamicAnnotations.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\DynamicAnnotations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Encoder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\FastAllocBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\FastBitVector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\FastMalloc.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4702"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4702"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4702"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\wtf\FastMalloc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\FixedArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Float32Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Float64Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Forward.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Functional.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\GetPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\GregorianDateTime.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\GregorianDateTime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashCountedSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashFunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashIterators.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashTable.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HashTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\HexNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Int16Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Int32Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Int8Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ListHashSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ListRefPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Locker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MainThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MainThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MallocZoneSupport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MathExtras.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MD5.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MD5.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MediaTime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MediaTime.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MessageQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MetaAllocator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MetaAllocator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\MetaAllocatorHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Noncopyable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\NonCopyingSort.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\NotFound.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\NullPtr.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\NullPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RAMSize.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RAMSize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\NumberOfCores.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\NumberOfCores.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\OSAllocatorWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\OSRandomSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\OSRandomSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\OwnArrayPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\OwnPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\OwnPtrCommon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PackedIntVector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PageAllocation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PageAllocationAligned.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PageAllocationAligned.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PageBlock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PageBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PageReservation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ParallelJobs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ParallelJobsGeneric.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ParallelJobsGeneric.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ParallelJobsLibdispatch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ParallelJobsOpenMP.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PassOwnArrayPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PassOwnPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PassRefPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PassTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Platform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\PossiblyNull.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RandomNumber.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RandomNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RandomNumberSeed.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RedBlackTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RefCounted.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RefCountedLeakCounter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RefCountedLeakCounter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RefPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RefPtrHashMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\RetainPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SaturatedArithmetic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SegmentedVector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SentinelLinkedList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SHA1.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SHA1.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SinglyLinkedList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\SizeLimits.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StackBounds.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StackBounds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StaticConstructors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StdLibExtras.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StringExtras.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StringExtras.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\StringHasher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TCPackedCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TCPageMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TCSpinLock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TCSystemAlloc.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TCSystemAlloc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TemporaryChange.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Threading.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Threading.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ThreadingPrimitives.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ThreadingWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ThreadRestrictionVerifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ThreadSafeRefCounted.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ThreadSpecific.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ThreadSpecificWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TypeTraits.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\TypeTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\UInt16Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\UInt32Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\UInt8Array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\UnusedParam.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\ValueCheck.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Vector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\Vector3.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\VectorTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\VMTags.h"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\WTFThreadData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\wtf\WTFThreadData.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WTF/WTF.vcproj/WTFCommon.vsprops b/Source/WTF/WTF.vcproj/WTFCommon.vsprops
index e39ffe603..7adbb2d24 100644
--- a/Source/WTF/WTF.vcproj/WTFCommon.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFCommon.vsprops
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="../;../wtf/;../wtf/threads/;../wtf/unicode/;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;"
- PreprocessorDefinitions="__STD_C"
- ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
- ForcedIncludeFiles="ICUVersion.h"
- />
- <Tool
- Name="VCLibrarianTool"
- AdditionalDependencies="user32.lib"
- OutputFile="$(OutDir)\$(ProjectName)$(WebKitConfigSuffix).lib"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="../;../wtf/;../wtf/threads/;../wtf/unicode/;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;"
+ PreprocessorDefinitions="__STD_C"
+ ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
+ ForcedIncludeFiles="ICUVersion.h"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ AdditionalDependencies="user32.lib"
+ OutputFile="$(OutDir)\$(ProjectName)$(WebKitConfigSuffix).lib"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFDebug.vsprops b/Source/WTF/WTF.vcproj/WTFDebug.vsprops
index f94aa75bb..0f7362890 100644
--- a/Source/WTF/WTF.vcproj/WTFDebug.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WTFCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WTFCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFDebugAll.vsprops b/Source/WTF/WTF.vcproj/WTFDebugAll.vsprops
index 6777d7b77..ba902c952 100644
--- a/Source/WTF/WTF.vcproj/WTFDebugAll.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WTFCommon.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WTFCommon.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFDebugCairoCFLite.vsprops b/Source/WTF/WTF.vcproj/WTFDebugCairoCFLite.vsprops
index 54d69a4cf..439771d91 100644
--- a/Source/WTF/WTF.vcproj/WTFDebugCairoCFLite.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WTFCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WTFCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGenerated.vcproj b/Source/WTF/WTF.vcproj/WTFGenerated.vcproj
index 3cb825062..af8a0d1a1 100644
--- a/Source/WTF/WTF.vcproj/WTFGenerated.vcproj
+++ b/Source/WTF/WTF.vcproj/WTFGenerated.vcproj
@@ -1,95 +1,95 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGenerated"
- ProjectGUID="{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
- RootNamespace="WTFGenerated"
- Keyword="MakeFileProj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WTFGeneratedDebug.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WTFGeneratedDebugAll.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WTFGeneratedRelease.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WTFGeneratedProduction.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WTFGeneratedReleaseCairoCFLite.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WTFGeneratedDebugCairoCFLite.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\build-generated-files.sh"
- >
- </File>
- <File
- RelativePath=".\copy-files.cmd"
- >
- </File>
- <File
- RelativePath=".\work-around-vs-dependency-tracking-bugs.py"
- >
- </File>
- <File
- RelativePath=".\WTFGenerated.make"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGenerated"
+ ProjectGUID="{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
+ RootNamespace="WTFGenerated"
+ Keyword="MakeFileProj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WTFGeneratedDebug.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WTFGeneratedDebugAll.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WTFGeneratedRelease.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WTFGeneratedProduction.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WTFGeneratedReleaseCairoCFLite.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WTFGeneratedDebugCairoCFLite.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath=".\build-generated-files.sh"
+ >
+ </File>
+ <File
+ RelativePath=".\copy-files.cmd"
+ >
+ </File>
+ <File
+ RelativePath=".\work-around-vs-dependency-tracking-bugs.py"
+ >
+ </File>
+ <File
+ RelativePath=".\WTFGenerated.make"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedCommon.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedCommon.vsprops
index 5173df8ef..0c4e34c88 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedCommon.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedCommon.vsprops
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f WTFGenerated.make"
- ReBuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f WTFGenerated.make clean&#x0D;&#x0A;nmake -f WTFGenerated.make"
- CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f WTFGenerated.make clean"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f WTFGenerated.make"
+ ReBuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f WTFGenerated.make clean&#x0D;&#x0A;nmake -f WTFGenerated.make"
+ CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(WebKitOutputDir)\$(ConfigurationName)&#x0D;&#x0A;set PRODUCTION=$(PRODUCTION)&#x0D;&#x0A;nmake /nologo -f WTFGenerated.make clean"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedDebug.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedDebug.vsprops
index 4afc4c9c6..dd3baa8ea 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedDebug.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WTFGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WTFGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedDebugAll.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedDebugAll.vsprops
index 895826971..e3dac0108 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedDebugAll.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WTFGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WTFGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops
index 6ad9f4818..ed6409e89 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WTFGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WTFGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedProduction.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedProduction.vsprops
index 558a1b36e..5327d872a 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedProduction.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WTFGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WTFGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedRelease.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedRelease.vsprops
index f6f7d90ac..6f7a386dc 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedRelease.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WTFGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WTFGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops b/Source/WTF/WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops
index a4d8f29d2..413a96cb7 100644
--- a/Source/WTF/WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFGeneratedReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFGeneratedReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WTFGeneratedCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFGeneratedReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WTFGeneratedCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFProduction.vsprops b/Source/WTF/WTF.vcproj/WTFProduction.vsprops
index ee613e654..b0374ebf7 100644
--- a/Source/WTF/WTF.vcproj/WTFProduction.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WTFCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WTFCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFRelease.vsprops b/Source/WTF/WTF.vcproj/WTFRelease.vsprops
index 640059b71..7cc3b26d6 100644
--- a/Source/WTF/WTF.vcproj/WTFRelease.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WTFCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WTFCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.vcproj/WTFReleaseCairoCFLite.vsprops b/Source/WTF/WTF.vcproj/WTFReleaseCairoCFLite.vsprops
index a35a1fc67..0a5ed9f68 100644
--- a/Source/WTF/WTF.vcproj/WTFReleaseCairoCFLite.vsprops
+++ b/Source/WTF/WTF.vcproj/WTFReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WTFReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WTFCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WTFReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WTFCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WTF/WTF.xcodeproj/project.pbxproj b/Source/WTF/WTF.xcodeproj/project.pbxproj
index b26784f32..d236bd77c 100644
--- a/Source/WTF/WTF.xcodeproj/project.pbxproj
+++ b/Source/WTF/WTF.xcodeproj/project.pbxproj
@@ -11,6 +11,7 @@
143F611F1565F0F900DB514A /* RAMSize.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 143F611D1565F0F900DB514A /* RAMSize.cpp */; };
143F61201565F0F900DB514A /* RAMSize.h in Headers */ = {isa = PBXBuildFile; fileRef = 143F611E1565F0F900DB514A /* RAMSize.h */; settings = {ATTRIBUTES = (Private, ); }; };
14F3B0F715E45E4600210069 /* SaturatedArithmetic.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F3B0F615E45E4600210069 /* SaturatedArithmetic.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 26147B0A15DDCCDC00DDB907 /* IntegerToStringConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = 26147B0815DDCCDC00DDB907 /* IntegerToStringConversion.h */; };
2C05385415BC819000F21B96 /* GregorianDateTime.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C05385315BC819000F21B96 /* GregorianDateTime.h */; };
2CCD892A15C0390200285083 /* GregorianDateTime.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 2CCD892915C0390200285083 /* GregorianDateTime.cpp */; };
4330F38F15745B0500AAFA8F /* URLString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4330F38E15745B0500AAFA8F /* URLString.cpp */; };
@@ -256,6 +257,7 @@
143F611D1565F0F900DB514A /* RAMSize.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RAMSize.cpp; sourceTree = "<group>"; };
143F611E1565F0F900DB514A /* RAMSize.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RAMSize.h; sourceTree = "<group>"; };
14F3B0F615E45E4600210069 /* SaturatedArithmetic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SaturatedArithmetic.h; sourceTree = "<group>"; };
+ 26147B0815DDCCDC00DDB907 /* IntegerToStringConversion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IntegerToStringConversion.h; sourceTree = "<group>"; };
2C05385315BC819000F21B96 /* GregorianDateTime.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GregorianDateTime.h; sourceTree = "<group>"; };
2CCD892915C0390200285083 /* GregorianDateTime.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GregorianDateTime.cpp; sourceTree = "<group>"; };
4330F38E15745B0500AAFA8F /* URLString.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = URLString.cpp; sourceTree = "<group>"; };
@@ -791,6 +793,7 @@
8134013715B092FD001FF0B8 /* Base64.h */,
A8A47321151A825B004123FF /* CString.cpp */,
A8A47322151A825B004123FF /* CString.h */,
+ 26147B0815DDCCDC00DDB907 /* IntegerToStringConversion.h */,
A8A47323151A825B004123FF /* StringBuffer.h */,
A8A47324151A825B004123FF /* StringBuilder.cpp */,
A8A47325151A825B004123FF /* StringBuilder.h */,
@@ -958,6 +961,7 @@
A8A473DE151A825B004123FF /* Int16Array.h in Headers */,
A8A473DF151A825B004123FF /* Int32Array.h in Headers */,
A8A473DD151A825B004123FF /* Int8Array.h in Headers */,
+ 26147B0A15DDCCDC00DDB907 /* IntegerToStringConversion.h in Headers */,
A8A473E0151A825B004123FF /* IntegralTypedArrayBase.h in Headers */,
A8A473E1151A825B004123FF /* ListHashSet.h in Headers */,
A8A473E2151A825B004123FF /* ListRefPtr.h in Headers */,
diff --git a/Source/WTF/wtf/Assertions.h b/Source/WTF/wtf/Assertions.h
index 80d51d605..7e079ab18 100644
--- a/Source/WTF/wtf/Assertions.h
+++ b/Source/WTF/wtf/Assertions.h
@@ -168,19 +168,18 @@ WTF_EXPORT_PRIVATE void WTFInstallReportBacktraceOnCrashHook();
*/
#ifndef CRASH
#if COMPILER(CLANG)
-#define CRASH() do { \
- WTFReportBacktrace(); \
- WTFInvokeCrashHook(); \
- *(int *)(uintptr_t)0xbbadbeef = 0; \
- __builtin_trap(); \
-} while (0)
+#define CRASH() \
+ (WTFReportBacktrace(), \
+ WTFInvokeCrashHook(), \
+ (*(int *)(uintptr_t)0xbbadbeef = 0), \
+ __builtin_trap())
#else
-#define CRASH() do { \
- WTFReportBacktrace(); \
- WTFInvokeCrashHook(); \
- *(int *)(uintptr_t)0xbbadbeef = 0; \
- ((void(*)())0)(); /* More reliable, but doesn't say BBADBEEF */ \
-} while (0)
+#define CRASH() \
+ (WTFReportBacktrace(), \
+ WTFInvokeCrashHook(), \
+ (*(int *)(uintptr_t)0xbbadbeef = 0), \
+ ((void(*)())0)() /* More reliable, but doesn't say BBADBEEF */ \
+ )
#endif
#endif
@@ -244,19 +243,17 @@ inline void assertUnused(T& x) { (void)x; }
#else
-#define ASSERT(assertion) do \
- if (!(assertion)) { \
- WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, #assertion); \
- CRASH(); \
- } \
-while (0)
-
-#define ASSERT_AT(assertion, file, line, function) do \
- if (!(assertion)) { \
- WTFReportAssertionFailure(file, line, function, #assertion); \
- CRASH(); \
- } \
-while (0)
+#define ASSERT(assertion) \
+ (!(assertion) ? \
+ (WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, #assertion), \
+ CRASH()) : \
+ (void)0)
+
+#define ASSERT_AT(assertion, file, line, function) \
+ (!(assertion) ? \
+ (WTFReportAssertionFailure(file, line, function, #assertion), \
+ CRASH()) : \
+ (void)0)
#define ASSERT_NOT_REACHED() do { \
WTFReportAssertionFailure(__FILE__, __LINE__, WTF_PRETTY_FUNCTION, 0); \
diff --git a/Source/WTF/wtf/CMakeLists.txt b/Source/WTF/wtf/CMakeLists.txt
index 543755904..679b20e96 100644
--- a/Source/WTF/wtf/CMakeLists.txt
+++ b/Source/WTF/wtf/CMakeLists.txt
@@ -123,6 +123,7 @@ SET(WTF_HEADERS
text/AtomicStringImpl.h
text/Base64.h
text/CString.h
+ text/IntegerToStringConversion.h
text/StringBuffer.h
text/StringHash.h
text/StringImpl.h
diff --git a/Source/WTF/wtf/CryptographicallyRandomNumber.cpp b/Source/WTF/wtf/CryptographicallyRandomNumber.cpp
index 8c16f5314..e896d6f59 100644
--- a/Source/WTF/wtf/CryptographicallyRandomNumber.cpp
+++ b/Source/WTF/wtf/CryptographicallyRandomNumber.cpp
@@ -50,6 +50,7 @@ public:
};
class ARC4RandomNumberGenerator {
+ WTF_MAKE_FAST_ALLOCATED;
public:
ARC4RandomNumberGenerator();
diff --git a/Source/WTF/wtf/DateMath.cpp b/Source/WTF/wtf/DateMath.cpp
index e18eeccee..6d0e5d73f 100644
--- a/Source/WTF/wtf/DateMath.cpp
+++ b/Source/WTF/wtf/DateMath.cpp
@@ -1072,13 +1072,13 @@ String makeRFC2822DateString(unsigned dayOfWeek, unsigned day, unsigned month, u
{
StringBuilder stringBuilder;
stringBuilder.append(weekdayName[dayOfWeek]);
- stringBuilder.append(", ");
- stringBuilder.append(String::number(day));
- stringBuilder.append(" ");
+ stringBuilder.appendLiteral(", ");
+ stringBuilder.appendNumber(day);
+ stringBuilder.append(' ');
stringBuilder.append(monthName[month]);
- stringBuilder.append(" ");
- stringBuilder.append(String::number(year));
- stringBuilder.append(" ");
+ stringBuilder.append(' ');
+ stringBuilder.appendNumber(year);
+ stringBuilder.append(' ');
stringBuilder.append(twoDigitStringFromNumber(hours));
stringBuilder.append(':');
@@ -1087,7 +1087,7 @@ String makeRFC2822DateString(unsigned dayOfWeek, unsigned day, unsigned month, u
stringBuilder.append(twoDigitStringFromNumber(seconds));
stringBuilder.append(' ');
- stringBuilder.append(utcOffset > 0 ? "+" : "-");
+ stringBuilder.append(utcOffset > 0 ? '+' : '-');
int absoluteUTCOffset = abs(utcOffset);
stringBuilder.append(twoDigitStringFromNumber(absoluteUTCOffset / 60));
stringBuilder.append(twoDigitStringFromNumber(absoluteUTCOffset % 60));
diff --git a/Source/WTF/wtf/Functional.h b/Source/WTF/wtf/Functional.h
index 48d9f321e..f507e0cb1 100644
--- a/Source/WTF/wtf/Functional.h
+++ b/Source/WTF/wtf/Functional.h
@@ -34,6 +34,7 @@
#if PLATFORM(MAC) && COMPILER_SUPPORTS(BLOCKS)
#include <Block.h>
#include <objc/objc-runtime.h>
+#include <wtf/ObjcRuntimeExtras.h>
#endif
namespace WTF {
@@ -634,8 +635,8 @@ public:
//
// dispatch_async(queue, bind(...));
//
- id copiedBlock = objc_msgSend((id)block, sel_registerName("copy"));
- id autoreleasedBlock = objc_msgSend(copiedBlock, sel_registerName("autorelease"));
+ id copiedBlock = wtfObjcMsgSend<id>((id)block, sel_registerName("copy"));
+ id autoreleasedBlock = wtfObjcMsgSend<id>(copiedBlock, sel_registerName("autorelease"));
return (BlockType)autoreleasedBlock;
}
#endif
diff --git a/Source/WTF/wtf/MathExtras.h b/Source/WTF/wtf/MathExtras.h
index 71be89364..d8fd6883e 100644
--- a/Source/WTF/wtf/MathExtras.h
+++ b/Source/WTF/wtf/MathExtras.h
@@ -205,17 +205,23 @@ inline double wtf_pow(double x, double y) { return y == 0 ? 1 : pow(x, y); }
// MSVC's math functions do not bring lrint.
inline long int lrint(double flt)
{
- int intgr;
+ int64_t intgr;
#if CPU(X86)
__asm {
fld flt
fistp intgr
};
#else
-#pragma message("Falling back to casting for lrint(), causes rounding inaccuracy in halfway case.")
- intgr = static_cast<int>(flt);
+ ASSERT(isfinite(flt));
+ double rounded = round(flt);
+ intgr = static_cast<int64_t>(rounded);
+ // If the fractional part is exactly 0.5, we need to check whether
+ // the rounded result is even. If it is not we need to add 1 to
+ // negative values and subtract one from positive values.
+ if ((fabs(intgr - flt) == 0.5) & intgr)
+ intgr -= ((intgr >> 62) | 1); // 1 with the sign of result, i.e. -1 or 1.
#endif
- return intgr;
+ return static_cast<long int>(intgr);
}
#endif // COMPILER(MSVC)
diff --git a/Source/WTF/wtf/MediaTime.h b/Source/WTF/wtf/MediaTime.h
index 61d1e41c5..413b1a73c 100644..100755
--- a/Source/WTF/wtf/MediaTime.h
+++ b/Source/WTF/wtf/MediaTime.h
@@ -26,6 +26,8 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#include "FastAllocBase.h"
+
#include <cmath>
#include <limits>
#include <math.h>
@@ -34,6 +36,7 @@
namespace WTF {
class WTF_EXPORT_PRIVATE MediaTime {
+ WTF_MAKE_FAST_ALLOCATED;
public:
enum {
Valid = 1 << 0,
diff --git a/Source/WTF/wtf/MetaAllocator.h b/Source/WTF/wtf/MetaAllocator.h
index fdad2c97e..ece6412ab 100644
--- a/Source/WTF/wtf/MetaAllocator.h
+++ b/Source/WTF/wtf/MetaAllocator.h
@@ -44,6 +44,7 @@ namespace WTF {
#define ENABLE_META_ALLOCATOR_PROFILE 0
class MetaAllocatorTracker {
+ WTF_MAKE_FAST_ALLOCATED;
public:
void notify(MetaAllocatorHandle*);
void release(MetaAllocatorHandle*);
diff --git a/Source/WTF/wtf/ObjcRuntimeExtras.h b/Source/WTF/wtf/ObjcRuntimeExtras.h
new file mode 100644
index 000000000..3788d4a89
--- /dev/null
+++ b/Source/WTF/wtf/ObjcRuntimeExtras.h
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2012 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 WTF_ObjcRuntimeExtras_h
+#define WTF_ObjcRuntimeExtras_h
+
+template<typename RetType>
+RetType wtfObjcMsgSend(id target, SEL selector)
+{
+ return reinterpret_cast<RetType (*)(id, SEL)>(objc_msgSend)(target, selector);
+}
+
+template<typename RetType, typename Arg1Type>
+RetType wtfObjcMsgSend(id target, SEL selector, Arg1Type arg1)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type)>(objc_msgSend)(target, selector, arg1);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type>
+RetType wtfObjcMsgSend(id target, SEL selector, Arg1Type arg1, Arg2Type arg2)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type)>(objc_msgSend)(target, selector, arg1, arg2);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type>
+RetType wtfObjcMsgSend(id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type)>(objc_msgSend)(target, selector, arg1, arg2, arg3);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type, typename Arg4Type>
+RetType wtfObjcMsgSend(id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type, Arg4Type)>(objc_msgSend)(target, selector, arg1, arg2, arg3, arg4);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type, typename Arg4Type, typename Arg5Type>
+RetType wtfObjcMsgSend(id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type)>(objc_msgSend)(target, selector, arg1, arg2, arg3, arg4, arg5);
+}
+
+template<typename RetType>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector)
+{
+ return reinterpret_cast<RetType (*)(id, SEL)>(implementation)(target, selector);
+}
+
+template<typename RetType, typename Arg1Type>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector, Arg1Type arg1)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type)>(implementation)(target, selector, arg1);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector, Arg1Type arg1, Arg2Type arg2)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type)>(implementation)(target, selector, arg1, arg2);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type)>(implementation)(target, selector, arg1, arg2, arg3);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type, typename Arg4Type>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type, Arg4Type)>(implementation)(target, selector, arg1, arg2, arg3, arg4);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type, typename Arg4Type, typename Arg5Type>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type)>(implementation)(target, selector, arg1, arg2, arg3, arg4, arg5);
+}
+
+template<typename RetType, typename Arg1Type, typename Arg2Type, typename Arg3Type, typename Arg4Type, typename Arg5Type, typename Arg6Type>
+RetType wtfCallIMP(IMP implementation, id target, SEL selector, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5, Arg6Type arg6)
+{
+ return reinterpret_cast<RetType (*)(id, SEL, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Arg6Type)>(implementation)(target, selector, arg1, arg2, arg3, arg4, arg5, arg6);
+}
+
+#endif
diff --git a/Source/WTF/wtf/Platform.h b/Source/WTF/wtf/Platform.h
index 4a4efe846..eb0e73228 100644
--- a/Source/WTF/wtf/Platform.h
+++ b/Source/WTF/wtf/Platform.h
@@ -169,6 +169,10 @@
|| defined(_ARM_)
#define WTF_CPU_ARM 1
+#if defined(__ARM_PCS_VFP)
+#define WTF_CPU_ARM_HARDFP 1
+#endif
+
#if defined(__ARMEB__) || (COMPILER(RVCT) && defined(__BIG_ENDIAN))
#define WTF_CPU_BIG_ENDIAN 1
@@ -954,12 +958,27 @@
#endif
/* Ensure that either the JIT or the interpreter has been enabled. */
-#if !defined(ENABLE_CLASSIC_INTERPRETER) && !ENABLE(JIT)
+#if !defined(ENABLE_CLASSIC_INTERPRETER) && !ENABLE(JIT) && !ENABLE(LLINT)
#define ENABLE_CLASSIC_INTERPRETER 1
#endif
-#if !(ENABLE(JIT) || ENABLE(CLASSIC_INTERPRETER))
+
+/* If the jit and classic interpreter is not available, enable the LLInt C Loop: */
+#if !ENABLE(JIT) && !ENABLE(CLASSIC_INTERPRETER)
+ #define ENABLE_LLINT 1
+ #define ENABLE_LLINT_C_LOOP 1
+ #define ENABLE_DFG_JIT 0
+#endif
+
+/* Do a sanity check to make sure that we at least have one execution engine in
+ use: */
+#if !(ENABLE(JIT) || ENABLE(CLASSIC_INTERPRETER) || ENABLE(LLINT))
#error You have to have at least one execution model enabled to build JSC
#endif
+/* Do a sanity check to make sure that we don't have both the classic interpreter
+ and the llint C loop in use at the same time: */
+#if ENABLE(CLASSIC_INTERPRETER) && ENABLE(LLINT_C_LOOP)
+#error You cannot build both the classic interpreter and the llint C loop together
+#endif
/* Configure the JIT */
#if CPU(X86) && COMPILER(MSVC)
@@ -978,11 +997,16 @@
#define ENABLE_COMPUTED_GOTO_CLASSIC_INTERPRETER 1
#endif
+/* Determine if we need to enable Computed Goto Opcodes or not: */
+#if (HAVE(COMPUTED_GOTO) && ENABLE(LLINT)) || ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
+#define ENABLE_COMPUTED_GOTO_OPCODES 1
+#endif
+
/* Regular Expression Tracing - Set to 1 to trace RegExp's in jsc. Results dumped at exit */
#define ENABLE_REGEXP_TRACING 0
/* Yet Another Regex Runtime - turned on by default for JIT enabled ports. */
-#if !defined(ENABLE_YARR_JIT) && ENABLE(JIT) && !PLATFORM(CHROMIUM)
+#if !defined(ENABLE_YARR_JIT) && (ENABLE(JIT) || ENABLE(LLINT_C_LOOP)) && !PLATFORM(CHROMIUM)
#define ENABLE_YARR_JIT 1
/* Setting this flag compares JIT results with interpreter results. */
@@ -1099,7 +1123,7 @@
#define WTF_USE_EXPORT_MACROS_FOR_TESTING 1
#endif
-#if (PLATFORM(QT) && !OS(DARWIN)) || PLATFORM(GTK) || PLATFORM(EFL)
+#if (PLATFORM(QT) && !OS(DARWIN) && !OS(WINDOWS)) || PLATFORM(GTK) || PLATFORM(EFL)
#define WTF_USE_UNIX_DOMAIN_SOCKETS 1
#endif
@@ -1161,6 +1185,10 @@
#define WTF_USE_ZLIB 1
#endif
+#if PLATFORM(GTK)
+#define WTF_DEPRECATED_STRING_OPERATORS
+#endif
+
#if PLATFORM(QT)
#include <qglobal.h>
#if defined(QT_OPENGL_ES_2) && !defined(WTF_USE_OPENGL_ES_2)
diff --git a/Source/WTF/wtf/ThreadingPthreads.cpp b/Source/WTF/wtf/ThreadingPthreads.cpp
index 226ecbd48..0a2548c1b 100644
--- a/Source/WTF/wtf/ThreadingPthreads.cpp
+++ b/Source/WTF/wtf/ThreadingPthreads.cpp
@@ -62,6 +62,7 @@
namespace WTF {
class PthreadState {
+ WTF_MAKE_FAST_ALLOCATED;
public:
enum JoinableState {
Joinable, // The default thread state. The thread can be joined on.
diff --git a/Source/WTF/wtf/Uint8ClampedArray.h b/Source/WTF/wtf/Uint8ClampedArray.h
index 8505d87ad..f3d92ac24 100644
--- a/Source/WTF/wtf/Uint8ClampedArray.h
+++ b/Source/WTF/wtf/Uint8ClampedArray.h
@@ -31,9 +31,7 @@
#include <wtf/Platform.h>
#include <wtf/Uint8Array.h>
-#if COMPILER(MSVC)
#include <wtf/MathExtras.h>
-#endif
namespace WTF {
diff --git a/Source/WTF/wtf/UnusedParam.h b/Source/WTF/wtf/UnusedParam.h
index 4b7234b8d..31d70e736 100644
--- a/Source/WTF/wtf/UnusedParam.h
+++ b/Source/WTF/wtf/UnusedParam.h
@@ -21,9 +21,6 @@
#ifndef WTF_UnusedParam_h
#define WTF_UnusedParam_h
-/* don't use this for C++, it should only be used in plain C files or
- ObjC methods, where leaving off the parameter name is not allowed. */
-
#include <wtf/Platform.h>
#if COMPILER(INTEL) && !OS(WINDOWS) || COMPILER(RVCT)
@@ -34,4 +31,14 @@ inline void unusedParam(T& x) { (void)x; }
#define UNUSED_PARAM(variable) (void)variable
#endif
+/* This is to keep the compiler from complaining when for local labels are
+ declared but not referenced. For example, this can happen with code that
+ works with auto-generated code.
+*/
+#if COMPILER(MSVC)
+#define UNUSED_LABEL(label) if (false) goto label
+#else
+#define UNUSED_LABEL(label) UNUSED_PARAM(&& label)
+#endif
+
#endif /* WTF_UnusedParam_h */
diff --git a/Source/WTF/wtf/Vector.h b/Source/WTF/wtf/Vector.h
index a3b6a0e62..8a5eaf621 100644
--- a/Source/WTF/wtf/Vector.h
+++ b/Source/WTF/wtf/Vector.h
@@ -26,6 +26,7 @@
#include <wtf/Noncopyable.h>
#include <wtf/NotFound.h>
#include <wtf/StdLibExtras.h>
+#include <wtf/UnusedParam.h>
#include <wtf/ValueCheck.h>
#include <wtf/VectorTraits.h>
#include <limits>
@@ -279,6 +280,27 @@ namespace WTF {
return false;
}
+ bool shouldReallocateBuffer(size_t newCapacity) const
+ {
+#if PLATFORM(BLACKBERRY)
+ // Tested on BlackBerry.
+ return VectorTraits<T>::canMoveWithMemcpy && m_capacity && newCapacity;
+#else
+ // FIXME: Return true on the platforms where realloc() gives better performance.
+ UNUSED_PARAM(newCapacity);
+ return false;
+#endif
+ }
+
+ void reallocateBuffer(size_t newCapacity)
+ {
+ ASSERT(shouldReallocateBuffer(newCapacity));
+ m_capacity = newCapacity;
+ if (newCapacity > std::numeric_limits<size_t>::max() / sizeof(T))
+ CRASH();
+ m_buffer = static_cast<T*>(fastRealloc(m_buffer, newCapacity * sizeof(T)));
+ }
+
void deallocateBuffer(T* bufferToDeallocate)
{
if (!bufferToDeallocate)
@@ -362,6 +384,8 @@ namespace WTF {
using Base::allocateBuffer;
using Base::tryAllocateBuffer;
+ using Base::shouldReallocateBuffer;
+ using Base::reallocateBuffer;
using Base::deallocateBuffer;
using Base::buffer;
@@ -423,7 +447,19 @@ namespace WTF {
return;
Base::deallocateBuffer(bufferToDeallocate);
}
-
+
+ bool shouldReallocateBuffer(size_t newCapacity) const
+ {
+ // We cannot reallocate the inline buffer.
+ return Base::shouldReallocateBuffer(newCapacity) && std::min(m_capacity, newCapacity) > inlineCapacity;
+ }
+
+ void reallocateBuffer(size_t newCapacity)
+ {
+ ASSERT(shouldReallocateBuffer(newCapacity));
+ Base::reallocateBuffer(newCapacity);
+ }
+
void swap(VectorBuffer<T, inlineCapacity>& other)
{
if (buffer() == inlineBuffer() && other.buffer() == other.inlineBuffer()) {
@@ -470,6 +506,7 @@ namespace WTF {
static const size_t m_inlineBufferSize = inlineCapacity * sizeof(T);
T* inlineBuffer() { return reinterpret_cast_ptr<T*>(m_inlineBuffer.buffer); }
+ const T* inlineBuffer() const { return reinterpret_cast_ptr<const T*>(m_inlineBuffer.buffer); }
AlignedBuffer<m_inlineBufferSize, WTF_ALIGN_OF(T)> m_inlineBuffer;
};
@@ -964,6 +1001,11 @@ namespace WTF {
T* oldBuffer = begin();
if (newCapacity > 0) {
+ if (m_buffer.shouldReallocateBuffer(newCapacity)) {
+ m_buffer.reallocateBuffer(newCapacity);
+ return;
+ }
+
T* oldEnd = end();
m_buffer.allocateBuffer(newCapacity);
if (begin() != oldBuffer)
diff --git a/Source/WTF/wtf/VectorTraits.h b/Source/WTF/wtf/VectorTraits.h
index 4041217ab..678225034 100644
--- a/Source/WTF/wtf/VectorTraits.h
+++ b/Source/WTF/wtf/VectorTraits.h
@@ -31,6 +31,8 @@ using std::pair;
namespace WTF {
+ class AtomicString;
+
template<bool isPod, typename T>
struct VectorTraitsBase;
@@ -76,6 +78,9 @@ namespace WTF {
template<typename P>
struct VectorTraits<OwnPtr<P> > : SimpleClassVectorTraits { };
+ template<>
+ struct VectorTraits<AtomicString> : SimpleClassVectorTraits { };
+
template<typename First, typename Second>
struct VectorTraits<pair<First, Second> >
{
diff --git a/Source/WTF/wtf/text/AtomicString.cpp b/Source/WTF/wtf/text/AtomicString.cpp
index 8f14a5fd0..cbb5a20ee 100644
--- a/Source/WTF/wtf/text/AtomicString.cpp
+++ b/Source/WTF/wtf/text/AtomicString.cpp
@@ -37,6 +37,7 @@ using namespace Unicode;
COMPILE_ASSERT(sizeof(AtomicString) == sizeof(String), atomic_string_and_string_must_be_same_size);
class AtomicStringTable {
+ WTF_MAKE_FAST_ALLOCATED;
public:
static AtomicStringTable* create()
{
diff --git a/Source/WTF/wtf/text/AtomicString.h b/Source/WTF/wtf/text/AtomicString.h
index 6b89ac837..efd4e2e8c 100644
--- a/Source/WTF/wtf/text/AtomicString.h
+++ b/Source/WTF/wtf/text/AtomicString.h
@@ -155,6 +155,9 @@ public:
void show() const;
#endif
private:
+ // The explicit constructors with AtomicString::ConstructFromLiteral must be used for literals.
+ AtomicString(ASCIILiteral);
+
String m_string;
WTF_EXPORT_STRING_API static PassRefPtr<StringImpl> add(const LChar*);
diff --git a/Source/WTF/wtf/text/IntegerToStringConversion.h b/Source/WTF/wtf/text/IntegerToStringConversion.h
new file mode 100644
index 000000000..e1f5218ac
--- /dev/null
+++ b/Source/WTF/wtf/text/IntegerToStringConversion.h
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2012 Apple Inc. All Rights Reserved.
+ * Copyright (C) 2012 Patrick Gansterer <paroga@paroga.com>
+ *
+ * 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 IntegerToStringConversion_h
+#define IntegerToStringConversion_h
+
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/StringImpl.h>
+
+namespace WTF {
+
+enum PositiveOrNegativeNumber {
+ PositiveNumber,
+ NegativeNumber
+};
+
+template<typename T> struct ConversionTrait;
+
+template<> struct ConversionTrait<String> {
+ typedef PassRefPtr<StringImpl> ReturnType;
+ typedef void AdditionalArgumentType;
+ static inline ReturnType flush(LChar* characters, unsigned length, void*) { return StringImpl::create(characters, length); }
+};
+template<> struct ConversionTrait<StringBuilder> {
+ typedef void ReturnType;
+ typedef StringBuilder AdditionalArgumentType;
+ static inline ReturnType flush(LChar* characters, unsigned length, StringBuilder* stringBuilder) { stringBuilder->append(characters, length); }
+};
+
+template<typename T> struct UnsignedIntegerTrait;
+
+template<> struct UnsignedIntegerTrait<int> {
+ typedef unsigned int Type;
+};
+template<> struct UnsignedIntegerTrait<long> {
+ typedef unsigned long Type;
+};
+template<> struct UnsignedIntegerTrait<long long> {
+ typedef unsigned long long Type;
+};
+
+template<typename T, typename UnsignedIntegerType, PositiveOrNegativeNumber NumberType>
+static typename ConversionTrait<T>::ReturnType numberToStringImpl(UnsignedIntegerType number, typename ConversionTrait<T>::AdditionalArgumentType* additionalArgument)
+{
+ LChar buf[sizeof(UnsignedIntegerType) * 3 + 1];
+ LChar* end = buf + WTF_ARRAY_LENGTH(buf);
+ LChar* p = end;
+
+ do {
+ *--p = static_cast<LChar>((number % 10) + '0');
+ number /= 10;
+ } while (number);
+
+ if (NumberType == NegativeNumber)
+ *--p = '-';
+
+ return ConversionTrait<T>::flush(p, static_cast<unsigned>(end - p), additionalArgument);
+}
+
+template<typename T, typename SignedIntegerType>
+inline typename ConversionTrait<T>::ReturnType numberToStringSigned(SignedIntegerType number, typename ConversionTrait<T>::AdditionalArgumentType* additionalArgument = 0)
+{
+ if (number < 0)
+ return numberToStringImpl<T, typename UnsignedIntegerTrait<SignedIntegerType>::Type, NegativeNumber>(-number, additionalArgument);
+ return numberToStringImpl<T, typename UnsignedIntegerTrait<SignedIntegerType>::Type, PositiveNumber>(number, additionalArgument);
+}
+
+template<typename T, typename UnsignedIntegerType>
+inline typename ConversionTrait<T>::ReturnType numberToStringUnsigned(UnsignedIntegerType number, typename ConversionTrait<T>::AdditionalArgumentType* additionalArgument = 0)
+{
+ return numberToStringImpl<T, UnsignedIntegerType, PositiveNumber>(number, additionalArgument);
+}
+
+} // namespace WTF
+
+#endif // IntegerToStringConversion_h
diff --git a/Source/WTF/wtf/text/StringBuilder.cpp b/Source/WTF/wtf/text/StringBuilder.cpp
index 4eac75649..18c92db2e 100644
--- a/Source/WTF/wtf/text/StringBuilder.cpp
+++ b/Source/WTF/wtf/text/StringBuilder.cpp
@@ -27,6 +27,7 @@
#include "config.h"
#include "StringBuilder.h"
+#include "IntegerToStringConversion.h"
#include "WTFString.h"
namespace WTF {
@@ -286,6 +287,36 @@ void StringBuilder::append(const LChar* characters, unsigned length)
}
}
+void StringBuilder::appendNumber(int number)
+{
+ numberToStringSigned<StringBuilder>(number, this);
+}
+
+void StringBuilder::appendNumber(unsigned int number)
+{
+ numberToStringUnsigned<StringBuilder>(number, this);
+}
+
+void StringBuilder::appendNumber(long number)
+{
+ numberToStringSigned<StringBuilder>(number, this);
+}
+
+void StringBuilder::appendNumber(unsigned long number)
+{
+ numberToStringUnsigned<StringBuilder>(number, this);
+}
+
+void StringBuilder::appendNumber(long long number)
+{
+ numberToStringSigned<StringBuilder>(number, this);
+}
+
+void StringBuilder::appendNumber(unsigned long long number)
+{
+ numberToStringUnsigned<StringBuilder>(number, this);
+}
+
bool StringBuilder::canShrink() const
{
// Only shrink the buffer if it's less than 80% full. Need to tune this heuristic!
diff --git a/Source/WTF/wtf/text/StringBuilder.h b/Source/WTF/wtf/text/StringBuilder.h
index 37ef5873a..326dcade5 100644
--- a/Source/WTF/wtf/text/StringBuilder.h
+++ b/Source/WTF/wtf/text/StringBuilder.h
@@ -124,7 +124,7 @@ public:
} else
append(&c, 1);
}
-
+
void append(char c)
{
append(static_cast<LChar>(c));
@@ -133,6 +133,13 @@ public:
template<unsigned charactersCount>
ALWAYS_INLINE void appendLiteral(const char (&characters)[charactersCount]) { append(characters, charactersCount - 1); }
+ WTF_EXPORT_PRIVATE void appendNumber(int);
+ WTF_EXPORT_PRIVATE void appendNumber(unsigned int);
+ WTF_EXPORT_PRIVATE void appendNumber(long);
+ WTF_EXPORT_PRIVATE void appendNumber(unsigned long);
+ WTF_EXPORT_PRIVATE void appendNumber(long long);
+ WTF_EXPORT_PRIVATE void appendNumber(unsigned long long);
+
String toString()
{
shrinkToFit();
@@ -154,8 +161,11 @@ public:
return AtomicString();
// If the buffer is sufficiently over-allocated, make a new AtomicString from a copy so its buffer is not so large.
- if (canShrink())
- return AtomicString(characters(), length());
+ if (canShrink()) {
+ if (is8Bit())
+ return AtomicString(characters8(), length());
+ return AtomicString(characters16(), length());
+ }
if (!m_string.isNull())
return AtomicString(m_string);
diff --git a/Source/WTF/wtf/text/StringHash.h b/Source/WTF/wtf/text/StringHash.h
index d030befaf..1928716bd 100644
--- a/Source/WTF/wtf/text/StringHash.h
+++ b/Source/WTF/wtf/text/StringHash.h
@@ -56,19 +56,14 @@ namespace WTF {
return false;
if (a->is8Bit()) {
- if (b->is8Bit()) {
- // Both a & b are 8 bit.
+ if (b->is8Bit())
return WTF::equal(a->characters8(), b->characters8(), aLength);
- }
- // We know that a is 8 bit & b is 16 bit.
return WTF::equal(a->characters8(), b->characters16(), aLength);
}
- if (b->is8Bit()) {
- // We know that a is 8 bit and b is 16 bit.
+ if (b->is8Bit())
return WTF::equal(a->characters16(), b->characters8(), aLength);
- }
return WTF::equal(a->characters16(), b->characters16(), aLength);
}
@@ -126,7 +121,18 @@ namespace WTF {
unsigned length = a->length();
if (length != b->length())
return false;
- return WTF::Unicode::umemcasecmp(a->characters(), b->characters(), length) == 0;
+
+ if (a->is8Bit()) {
+ if (b->is8Bit())
+ return equalIgnoringCase(a->characters8(), b->characters8(), length);
+
+ return equalIgnoringCase(b->characters16(), a->characters8(), length);
+ }
+
+ if (b->is8Bit())
+ return equalIgnoringCase(a->characters16(), b->characters8(), length);
+
+ return equalIgnoringCase(a->characters16(), b->characters16(), length);
}
static unsigned hash(const RefPtr<StringImpl>& key)
diff --git a/Source/WTF/wtf/text/StringImpl.cpp b/Source/WTF/wtf/text/StringImpl.cpp
index 6f9b1dcab..a29263218 100644
--- a/Source/WTF/wtf/text/StringImpl.cpp
+++ b/Source/WTF/wtf/text/StringImpl.cpp
@@ -32,6 +32,9 @@
#include <wtf/WTFThreadData.h>
#include <wtf/unicode/CharacterNames.h>
+#ifdef STRING_STATS
+#include <wtf/DataLog.h>
+#endif
using namespace std;
@@ -41,10 +44,69 @@ using namespace Unicode;
COMPILE_ASSERT(sizeof(StringImpl) == 2 * sizeof(int) + 3 * sizeof(void*), StringImpl_should_stay_small);
+#ifdef STRING_STATS
+StringStats StringImpl::m_stringStats;
+
+unsigned StringStats::s_stringRemovesTillPrintStats = StringStats::s_printStringStatsFrequency;
+
+void StringStats::removeString(StringImpl* string)
+{
+ unsigned length = string->length();
+ bool isSubString = string->isSubString();
+
+ --m_totalNumberStrings;
+
+ if (string->has16BitShadow()) {
+ --m_numberUpconvertedStrings;
+ if (!isSubString)
+ m_totalUpconvertedData -= length;
+ }
+
+ if (string->is8Bit()) {
+ --m_number8BitStrings;
+ if (!isSubString)
+ m_total8BitData -= length;
+ } else {
+ --m_number16BitStrings;
+ if (!isSubString)
+ m_total16BitData -= length;
+ }
+
+ if (!--s_stringRemovesTillPrintStats) {
+ s_stringRemovesTillPrintStats = s_printStringStatsFrequency;
+ printStats();
+ }
+}
+
+void StringStats::printStats()
+{
+ dataLog("String stats for process id %d:\n", getpid());
+
+ unsigned long long totalNumberCharacters = m_total8BitData + m_total16BitData;
+ double percent8Bit = m_totalNumberStrings ? ((double)m_number8BitStrings * 100) / (double)m_totalNumberStrings : 0.0;
+ double average8bitLength = m_number8BitStrings ? (double)m_total8BitData / (double)m_number8BitStrings : 0.0;
+ dataLog("%8u (%5.2f%%) 8 bit %12llu chars %12llu bytes avg length %6.1f\n", m_number8BitStrings, percent8Bit, m_total8BitData, m_total8BitData, average8bitLength);
+
+ double percent16Bit = m_totalNumberStrings ? ((double)m_number16BitStrings * 100) / (double)m_totalNumberStrings : 0.0;
+ double average16bitLength = m_number16BitStrings ? (double)m_total16BitData / (double)m_number16BitStrings : 0.0;
+ dataLog("%8u (%5.2f%%) 16 bit %12llu chars %12llu bytes avg length %6.1f\n", m_number16BitStrings, percent16Bit, m_total16BitData, m_total16BitData * 2, average16bitLength);
+
+ double percentUpconverted = m_totalNumberStrings ? ((double)m_numberUpconvertedStrings * 100) / (double)m_number8BitStrings : 0.0;
+ double averageUpconvertedLength = m_numberUpconvertedStrings ? (double)m_totalUpconvertedData / (double)m_numberUpconvertedStrings : 0.0;
+ dataLog("%8u (%5.2f%%) upconverted %12llu chars %12llu bytes avg length %6.1f\n", m_numberUpconvertedStrings, percentUpconverted, m_totalUpconvertedData, m_totalUpconvertedData * 2, averageUpconvertedLength);
+
+ double averageLength = m_totalNumberStrings ? (double)totalNumberCharacters / (double)m_totalNumberStrings : 0.0;
+ dataLog("%8u Total %12llu chars %12llu bytes avg length %6.1f\n", m_totalNumberStrings, totalNumberCharacters, m_total8BitData + (m_total16BitData + m_totalUpconvertedData) * 2, averageLength);
+}
+#endif
+
+
StringImpl::~StringImpl()
{
ASSERT(!isStatic());
+ STRING_STATS_REMOVE_STRING(this);
+
if (isAtomic())
AtomicString::remove(this);
#if USE(JSC)
@@ -221,6 +283,8 @@ const UChar* StringImpl::getData16SlowCase() const
return m_substringBuffer->characters() + offset;
}
+ STRING_STATS_ADD_UPCONVERTED_STRING(m_length);
+
unsigned len = length();
if (hasTerminatingNullCharacter())
len++;
@@ -791,12 +855,6 @@ bool equalIgnoringCase(const UChar* a, const LChar* b, unsigned length)
return true;
}
-static inline bool equalIgnoringCase(const UChar* a, const UChar* b, int length)
-{
- ASSERT(length >= 0);
- return umemcasecmp(a, b, length) == 0;
-}
-
size_t StringImpl::find(CharacterMatchFunctionPtr matchFunction, unsigned start)
{
if (is8Bit())
@@ -832,7 +890,7 @@ size_t StringImpl::find(const LChar* matchString, unsigned index)
const UChar* searchCharacters = characters() + index;
// Optimization 2: keep a running hash of the strings,
- // only call memcmp if the hashes match.
+ // only call equal if the hashes match.
unsigned searchHash = 0;
unsigned matchHash = 0;
for (unsigned i = 0; i < matchLength; ++i) {
@@ -885,11 +943,11 @@ size_t StringImpl::findIgnoringCase(const LChar* matchString, unsigned index)
return index + i;
}
-template <typename CharType>
-ALWAYS_INLINE static size_t findInner(const CharType* searchCharacters, const CharType* matchCharacters, unsigned index, unsigned searchLength, unsigned matchLength)
+template <typename SearchCharacterType, typename MatchCharacterType>
+ALWAYS_INLINE static size_t findInner(const SearchCharacterType* searchCharacters, const MatchCharacterType* matchCharacters, unsigned index, unsigned searchLength, unsigned matchLength)
{
// Optimization: keep a running hash of the strings,
- // only call memcmp if the hashes match.
+ // only call equal() if the hashes match.
// delta is the number of additional times to test; delta == 0 means test only once.
unsigned delta = searchLength - matchLength;
@@ -904,7 +962,7 @@ ALWAYS_INLINE static size_t findInner(const CharType* searchCharacters, const Ch
unsigned i = 0;
// keep looping until we match
- while (searchHash != matchHash || memcmp(searchCharacters + i, matchCharacters, matchLength * sizeof(CharType))) {
+ while (searchHash != matchHash || !equal(searchCharacters + i, matchCharacters, matchLength)) {
if (i == delta)
return notFound;
searchHash += searchCharacters[i + matchLength];
@@ -941,10 +999,16 @@ size_t StringImpl::find(StringImpl* matchString)
if (UNLIKELY(!matchLength))
return 0;
- if (is8Bit() && matchString->is8Bit())
- return findInner(characters8(), matchString->characters8(), 0, length(), matchLength);
+ if (is8Bit()) {
+ if (matchString->is8Bit())
+ return findInner(characters8(), matchString->characters8(), 0, length(), matchLength);
+ return findInner(characters8(), matchString->characters16(), 0, length(), matchLength);
+ }
- return findInner(characters(), matchString->characters(), 0, length(), matchLength);
+ if (matchString->is8Bit())
+ return findInner(characters16(), matchString->characters8(), 0, length(), matchLength);
+
+ return findInner(characters16(), matchString->characters16(), 0, length(), matchLength);
}
size_t StringImpl::find(StringImpl* matchString, unsigned index)
@@ -977,10 +1041,16 @@ size_t StringImpl::find(StringImpl* matchString, unsigned index)
if (matchLength > searchLength)
return notFound;
- if (is8Bit() && matchString->is8Bit())
- return findInner(characters8() + index, matchString->characters8(), index, searchLength, matchLength);
+ if (is8Bit()) {
+ if (matchString->is8Bit())
+ return findInner(characters8() + index, matchString->characters8(), index, searchLength, matchLength);
+ return findInner(characters8() + index, matchString->characters16(), index, searchLength, matchLength);
+ }
+
+ if (matchString->is8Bit())
+ return findInner(characters16() + index, matchString->characters8(), index, searchLength, matchLength);
- return findInner(characters() + index, matchString->characters(), index, searchLength, matchLength);
+ return findInner(characters16() + index, matchString->characters16(), index, searchLength, matchLength);
}
size_t StringImpl::findIgnoringCase(StringImpl* matchString, unsigned index)
@@ -1021,11 +1091,11 @@ size_t StringImpl::reverseFind(UChar c, unsigned index)
return WTF::reverseFind(characters16(), m_length, c, index);
}
-template <typename CharType>
-ALWAYS_INLINE static size_t reverseFindInner(const CharType* searchCharacters, const CharType* matchCharacters, unsigned index, unsigned length, unsigned matchLength)
+template <typename SearchCharacterType, typename MatchCharacterType>
+ALWAYS_INLINE static size_t reverseFindInner(const SearchCharacterType* searchCharacters, const MatchCharacterType* matchCharacters, unsigned index, unsigned length, unsigned matchLength)
{
// Optimization: keep a running hash of the strings,
- // only call memcmp if the hashes match.
+ // only call equal if the hashes match.
// delta is the number of additional times to test; delta == 0 means test only once.
unsigned delta = min(index, length - matchLength);
@@ -1038,7 +1108,7 @@ ALWAYS_INLINE static size_t reverseFindInner(const CharType* searchCharacters, c
}
// keep looping until we match
- while (searchHash != matchHash || memcmp(searchCharacters + delta, matchCharacters, matchLength * sizeof(CharType))) {
+ while (searchHash != matchHash || !equal(searchCharacters + delta, matchCharacters, matchLength)) {
if (!delta)
return notFound;
delta--;
@@ -1069,10 +1139,16 @@ size_t StringImpl::reverseFind(StringImpl* matchString, unsigned index)
if (matchLength > ourLength)
return notFound;
- if (is8Bit() && matchString->is8Bit())
- return reverseFindInner(characters8(), matchString->characters8(), index, ourLength, matchLength);
+ if (is8Bit()) {
+ if (matchString->is8Bit())
+ return reverseFindInner(characters8(), matchString->characters8(), index, ourLength, matchLength);
+ return reverseFindInner(characters8(), matchString->characters16(), index, ourLength, matchLength);
+ }
+
+ if (matchString->is8Bit())
+ return reverseFindInner(characters16(), matchString->characters8(), index, ourLength, matchLength);
- return reverseFindInner(characters(), matchString->characters(), index, ourLength, matchLength);
+ return reverseFindInner(characters16(), matchString->characters16(), index, ourLength, matchLength);
}
size_t StringImpl::reverseFindIgnoringCase(StringImpl* matchString, unsigned index)
diff --git a/Source/WTF/wtf/text/StringImpl.h b/Source/WTF/wtf/text/StringImpl.h
index c6059f8d4..cd7e10cc5 100644
--- a/Source/WTF/wtf/text/StringImpl.h
+++ b/Source/WTF/wtf/text/StringImpl.h
@@ -68,6 +68,63 @@ enum TextCaseSensitivity { TextCaseSensitive, TextCaseInsensitive };
typedef bool (*CharacterMatchFunctionPtr)(UChar);
typedef bool (*IsWhiteSpaceFunctionPtr)(UChar);
+// Define STRING_STATS to turn on run time statistics of string sizes and memory usage
+#undef STRING_STATS
+
+#ifdef STRING_STATS
+struct StringStats {
+ inline void add8BitString(unsigned length, bool isSubString = false)
+ {
+ ++m_totalNumberStrings;
+ ++m_number8BitStrings;
+ if (!isSubString)
+ m_total8BitData += length;
+ }
+
+ inline void add16BitString(unsigned length, bool isSubString = false)
+ {
+ ++m_totalNumberStrings;
+ ++m_number16BitStrings;
+ if (!isSubString)
+ m_total16BitData += length;
+ }
+
+ inline void addUpconvertedString(unsigned length)
+ {
+ ++m_numberUpconvertedStrings;
+ m_totalUpconvertedData += length;
+ }
+
+ void removeString(StringImpl*);
+ void printStats();
+
+ static const unsigned s_printStringStatsFrequency = 5000;
+ static unsigned s_stringRemovesTillPrintStats;
+
+ unsigned m_totalNumberStrings;
+ unsigned m_number8BitStrings;
+ unsigned m_number16BitStrings;
+ unsigned m_numberUpconvertedStrings;
+ unsigned long long m_total8BitData;
+ unsigned long long m_total16BitData;
+ unsigned long long m_totalUpconvertedData;
+};
+
+#define STRING_STATS_ADD_8BIT_STRING(length) StringImpl::stringStats().add8BitString(length)
+#define STRING_STATS_ADD_8BIT_STRING2(length, isSubString) StringImpl::stringStats().add8BitString(length, isSubString)
+#define STRING_STATS_ADD_16BIT_STRING(length) StringImpl::stringStats().add16BitString(length)
+#define STRING_STATS_ADD_16BIT_STRING2(length, isSubString) StringImpl::stringStats().add16BitString(length, isSubString)
+#define STRING_STATS_ADD_UPCONVERTED_STRING(length) StringImpl::stringStats().addUpconvertedString(length)
+#define STRING_STATS_REMOVE_STRING(string) StringImpl::stringStats().removeString(string)
+#else
+#define STRING_STATS_ADD_8BIT_STRING(length) ((void)0)
+#define STRING_STATS_ADD_8BIT_STRING2(length, isSubString) ((void)0)
+#define STRING_STATS_ADD_16BIT_STRING(length) ((void)0)
+#define STRING_STATS_ADD_16BIT_STRING2(length, isSubString) ((void)0)
+#define STRING_STATS_ADD_UPCONVERTED_STRING(length) ((void)0)
+#define STRING_STATS_REMOVE_STRING(string) ((void)0)
+#endif
+
class StringImpl {
WTF_MAKE_NONCOPYABLE(StringImpl); WTF_MAKE_FAST_ALLOCATED;
friend struct JSC::IdentifierASCIIStringTranslator;
@@ -110,6 +167,8 @@ private:
// Ensure that the hash is computed so that AtomicStringHash can call existingHash()
// with impunity. The empty string is special because it is never entered into
// AtomicString's HashKey, but still needs to compare correctly.
+ STRING_STATS_ADD_16BIT_STRING(m_length);
+
hash();
}
@@ -126,6 +185,8 @@ private:
// Ensure that the hash is computed so that AtomicStringHash can call existingHash()
// with impunity. The empty string is special because it is never entered into
// AtomicString's HashKey, but still needs to compare correctly.
+ STRING_STATS_ADD_8BIT_STRING(m_length);
+
hash();
}
@@ -141,6 +202,8 @@ private:
{
ASSERT(m_data8);
ASSERT(m_length);
+
+ STRING_STATS_ADD_8BIT_STRING(m_length);
}
// Create a normal 16-bit string with internal storage (BufferInternal)
@@ -153,6 +216,8 @@ private:
{
ASSERT(m_data16);
ASSERT(m_length);
+
+ STRING_STATS_ADD_16BIT_STRING(m_length);
}
// Create a StringImpl adopting ownership of the provided buffer (BufferOwned)
@@ -165,6 +230,8 @@ private:
{
ASSERT(m_data8);
ASSERT(m_length);
+
+ STRING_STATS_ADD_8BIT_STRING(m_length);
}
enum ConstructFromLiteralTag { ConstructFromLiteral };
@@ -178,6 +245,8 @@ private:
ASSERT(m_data8);
ASSERT(m_length);
ASSERT(!characters[length]);
+
+ STRING_STATS_ADD_8BIT_STRING(0);
}
// Create a StringImpl adopting ownership of the provided buffer (BufferOwned)
@@ -190,6 +259,8 @@ private:
{
ASSERT(m_data16);
ASSERT(m_length);
+
+ STRING_STATS_ADD_16BIT_STRING(m_length);
}
// Used to create new strings that are a substring of an existing 8-bit StringImpl (BufferSubstring)
@@ -204,6 +275,8 @@ private:
ASSERT(m_data8);
ASSERT(m_length);
ASSERT(m_substringBuffer->bufferOwnership() != BufferSubstring);
+
+ STRING_STATS_ADD_8BIT_STRING2(m_length, true);
}
// Used to create new strings that are a substring of an existing 16-bit StringImpl (BufferSubstring)
@@ -218,6 +291,8 @@ private:
ASSERT(m_data16);
ASSERT(m_length);
ASSERT(m_substringBuffer->bufferOwnership() != BufferSubstring);
+
+ STRING_STATS_ADD_16BIT_STRING2(m_length, true);
}
enum CreateEmptyUnique_T { CreateEmptyUnique };
@@ -238,6 +313,8 @@ private:
if (!hash)
hash = 1 << s_flagCount;
m_hashAndFlags = hash | BufferInternal;
+
+ STRING_STATS_ADD_16BIT_STRING(m_length);
}
#if PLATFORM(QT)
@@ -260,6 +337,8 @@ private:
// Now that we have a ref we can safely reference the string data
m_data16 = reinterpret_cast_ptr<const UChar*>(qStringData->data());
ASSERT(m_data16);
+
+ STRING_STATS_ADD_16BIT_STRING(m_length);
}
#endif
@@ -432,6 +511,10 @@ public:
m_hashAndFlags &= ~s_hashFlagIsAtomic;
}
+#ifdef STRING_STATS
+ bool isSubString() const { return bufferOwnership() == BufferSubstring; }
+#endif
+
#if PLATFORM(QT)
QStringData* qStringData() { return bufferOwnership() == BufferAdoptedQString ? m_qStringData : 0; }
#endif
@@ -528,6 +611,12 @@ public:
memcpy(destination, source, numCharacters * sizeof(T));
}
+ ALWAYS_INLINE static void copyChars(UChar* destination, const LChar* source, unsigned numCharacters)
+ {
+ for (unsigned i = 0; i < numCharacters; ++i)
+ destination[i] = source[i];
+ }
+
// Some string features, like refcounting and the atomicity flag, are not
// thread-safe. We achieve thread safety by isolation, giving each thread
// its own copy of the string.
@@ -622,6 +711,9 @@ public:
operator NSString*();
#endif
+#ifdef STRING_STATS
+ ALWAYS_INLINE static StringStats& stringStats() { return m_stringStats; }
+#endif
private:
// This number must be at least 2 to avoid sharing empty, null as well as 1 character strings from SmallStrings.
static const unsigned s_copyCharsInlineCutOff = 20;
@@ -650,6 +742,9 @@ private:
static const unsigned s_hashFlagIsIdentifier = 1u << 2;
static const unsigned s_hashMaskBufferOwnership = 1u | (1u << 1);
+#ifdef STRING_STATS
+ WTF_EXPORTDATA static StringStats m_stringStats;
+#endif
unsigned m_refCount;
unsigned m_length;
union {
@@ -846,6 +941,12 @@ WTF_EXPORT_STRING_API bool equalIgnoringCase(const UChar*, const LChar*, unsigne
inline bool equalIgnoringCase(const UChar* a, const char* b, unsigned length) { return equalIgnoringCase(a, reinterpret_cast<const LChar*>(b), length); }
inline bool equalIgnoringCase(const LChar* a, const UChar* b, unsigned length) { return equalIgnoringCase(b, a, length); }
inline bool equalIgnoringCase(const char* a, const UChar* b, unsigned length) { return equalIgnoringCase(b, reinterpret_cast<const LChar*>(a), length); }
+inline bool equalIgnoringCase(const char* a, const LChar* b, unsigned length) { return equalIgnoringCase(b, reinterpret_cast<const LChar*>(a), length); }
+inline bool equalIgnoringCase(const UChar* a, const UChar* b, int length)
+{
+ ASSERT(length >= 0);
+ return !Unicode::umemcasecmp(a, b, length);
+}
WTF_EXPORT_STRING_API bool equalIgnoringNullity(StringImpl*, StringImpl*);
diff --git a/Source/WTF/wtf/text/WTFString.cpp b/Source/WTF/wtf/text/WTFString.cpp
index fa3dad71f..6f14bcf56 100644
--- a/Source/WTF/wtf/text/WTFString.cpp
+++ b/Source/WTF/wtf/text/WTFString.cpp
@@ -1,6 +1,6 @@
/*
* (C) 1999 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010, 2012 Apple Inc. All rights reserved.
* Copyright (C) 2007-2009 Torch Mobile, Inc.
*
* This library is free software; you can redistribute it and/or
@@ -22,6 +22,7 @@
#include "config.h"
#include "WTFString.h"
+#include "IntegerToStringConversion.h"
#include <stdarg.h>
#include <wtf/ASCIICType.h>
#include <wtf/DataLog.h>
@@ -417,54 +418,36 @@ String String::format(const char *format, ...)
#endif
}
-String String::number(short n)
+String String::number(int number)
{
- return String::format("%hd", n);
+ return numberToStringSigned<String>(number);
}
-String String::number(unsigned short n)
+String String::number(unsigned int number)
{
- return String::format("%hu", n);
+ return numberToStringUnsigned<String>(number);
}
-String String::number(int n)
+String String::number(long number)
{
- return String::format("%d", n);
+ return numberToStringSigned<String>(number);
}
-String String::number(unsigned n)
+String String::number(unsigned long number)
{
- return String::format("%u", n);
+ return numberToStringUnsigned<String>(number);
}
-String String::number(long n)
+String String::number(long long number)
{
- return String::format("%ld", n);
+ return numberToStringSigned<String>(number);
}
-String String::number(unsigned long n)
+String String::number(unsigned long long number)
{
- return String::format("%lu", n);
+ return numberToStringUnsigned<String>(number);
}
-String String::number(long long n)
-{
-#if OS(WINDOWS) && !PLATFORM(QT)
- return String::format("%I64i", n);
-#else
- return String::format("%lli", n);
-#endif
-}
-
-String String::number(unsigned long long n)
-{
-#if OS(WINDOWS) && !PLATFORM(QT)
- return String::format("%I64u", n);
-#else
- return String::format("%llu", n);
-#endif
-}
-
String String::number(double number, unsigned flags, unsigned precision)
{
NumberToStringBuffer buffer;
@@ -477,6 +460,12 @@ String String::number(double number, unsigned flags, unsigned precision)
return String(numberToFixedWidthString(number, precision, buffer));
}
+String String::numberToStringECMAScript(double number)
+{
+ NumberToStringBuffer buffer;
+ return String(numberToString(number, buffer));
+}
+
int String::toIntStrict(bool* ok, int base) const
{
if (!m_impl) {
@@ -650,8 +639,7 @@ CString String::ascii() const
// preserved, characters outside of this range are converted to '?'.
unsigned length = this->length();
-
- if (!length) {
+ if (!length) {
char* characterBuffer;
return CString::newUninitialized(length, characterBuffer);
}
@@ -696,7 +684,7 @@ CString String::latin1() const
if (is8Bit())
return CString(reinterpret_cast<const char*>(this->characters8()), length);
- const UChar* characters = this->characters();
+ const UChar* characters = this->characters16();
char* characterBuffer;
CString result = CString::newUninitialized(length, characterBuffer);
diff --git a/Source/WTF/wtf/text/WTFString.h b/Source/WTF/wtf/text/WTFString.h
index c781ae3d2..636db9cd9 100644
--- a/Source/WTF/wtf/text/WTFString.h
+++ b/Source/WTF/wtf/text/WTFString.h
@@ -1,6 +1,6 @@
/*
* (C) 1999 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 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
@@ -197,8 +197,13 @@ public:
return m_impl->characters16();
}
- template <typename CharType>
- inline const CharType* getCharacters() const;
+ // Return characters8() or characters16() depending on CharacterType.
+ template <typename CharacterType>
+ inline const CharacterType* getCharacters() const;
+
+ // Like getCharacters() and upconvert if CharacterType is UChar on a 8bit string.
+ template <typename CharacterType>
+ inline const CharacterType* getCharactersWithUpconvert() const;
bool is8Bit() const { return m_impl->is8Bit(); }
@@ -220,16 +225,18 @@ public:
return (*m_impl)[index];
}
- static String number(short);
- WTF_EXPORT_STRING_API static String number(unsigned short);
WTF_EXPORT_STRING_API static String number(int);
- WTF_EXPORT_STRING_API static String number(unsigned);
+ WTF_EXPORT_STRING_API static String number(unsigned int);
WTF_EXPORT_STRING_API static String number(long);
WTF_EXPORT_STRING_API static String number(unsigned long);
WTF_EXPORT_STRING_API static String number(long long);
WTF_EXPORT_STRING_API static String number(unsigned long long);
+
WTF_EXPORT_STRING_API static String number(double, unsigned = ShouldRoundSignificantFigures | ShouldTruncateTrailingZeros, unsigned precision = 6);
+ // Number to String conversion following the ECMAScript definition.
+ WTF_EXPORT_STRING_API static String numberToStringECMAScript(double);
+
// Find a single character or string, also with match function & latin1 forms.
size_t find(UChar c, unsigned start = 0) const
{ return m_impl ? m_impl->find(c, start) : notFound; }
@@ -311,7 +318,7 @@ public:
WTF_EXPORT_STRING_API void remove(unsigned pos, int len = 1);
WTF_EXPORT_STRING_API String substring(unsigned pos, unsigned len = UINT_MAX) const;
- String substringSharingImpl(unsigned pos, unsigned len = UINT_MAX) const;
+ WTF_EXPORT_STRING_API String substringSharingImpl(unsigned pos, unsigned len = UINT_MAX) const;
String left(unsigned len) const { return substring(0, len); }
String right(unsigned len) const { return substring(length() - len, len); }
@@ -440,6 +447,14 @@ public:
WTF_EXPORT_STRING_API void show() const;
#endif
+ // Workaround for a compiler bug. Use operator[] instead.
+ UChar characterAt(unsigned index) const
+ {
+ if (!m_impl || index >= m_impl->length())
+ return 0;
+ return (*m_impl)[index];
+ }
+
private:
RefPtr<StringImpl> m_impl;
};
@@ -449,7 +464,9 @@ QDataStream& operator<<(QDataStream& stream, const String& str);
QDataStream& operator>>(QDataStream& stream, String& str);
#endif
+#ifdef WTF_DEPRECATED_STRING_OPERATORS
inline String& operator+=(String& a, const String& b) { a.append(b); return a; }
+#endif
inline bool operator==(const String& a, const String& b) { return equal(a.impl(), b.impl()); }
inline bool operator==(const String& a, const LChar* b) { return equal(a.impl(), b); }
@@ -514,6 +531,19 @@ inline const UChar* String::getCharacters<UChar>() const
return characters16();
}
+template<>
+inline const LChar* String::getCharactersWithUpconvert<LChar>() const
+{
+ ASSERT(is8Bit());
+ return characters8();
+}
+
+template<>
+inline const UChar* String::getCharactersWithUpconvert<UChar>() const
+{
+ return characters();
+}
+
inline bool String::containsOnlyLatin1() const
{
if (isEmpty())
diff --git a/Source/WebCore/.gitattributes b/Source/WebCore/.gitattributes
deleted file mode 100644
index a90b0f1be..000000000
--- a/Source/WebCore/.gitattributes
+++ /dev/null
@@ -1,8 +0,0 @@
-accessibility/AccessibilityAllInOne.cpp -crlf
-bindings/js/JSExceptionBase.cpp -crlf
-bindings/js/JSExceptionBase.h -crlf
-inspector/Inspector.json -crlf
-platform/chromium/SuddenTerminationChromium.cpp -crlf
-platform/network/win/NetworkStateNotifierWin.cpp -crlf
-platform/wx/wxcode/non-kerned-drawing.h -crlf
-rendering/RenderThemeChromiumWin.h -crlf
diff --git a/Source/WebCore/CMakeLists.txt b/Source/WebCore/CMakeLists.txt
index a14c5bea5..76a115d20 100644
--- a/Source/WebCore/CMakeLists.txt
+++ b/Source/WebCore/CMakeLists.txt
@@ -8,9 +8,9 @@ SET(WebCore_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/Modules/intents"
"${WEBCORE_DIR}/Modules/mediasource"
"${WEBCORE_DIR}/Modules/mediastream"
+ "${WEBCORE_DIR}/Modules/navigatorcontentutils"
"${WEBCORE_DIR}/Modules/networkinfo"
"${WEBCORE_DIR}/Modules/notifications"
- "${WEBCORE_DIR}/Modules/protocolhandler"
"${WEBCORE_DIR}/Modules/proximity"
"${WEBCORE_DIR}/Modules/quota"
"${WEBCORE_DIR}/Modules/vibration"
@@ -222,11 +222,16 @@ SET(WebCore_IDL_FILES
Modules/mediastream/NavigatorUserMediaErrorCallback.idl
Modules/mediastream/NavigatorUserMediaSuccessCallback.idl
Modules/mediastream/PeerConnection00.idl
+ Modules/mediastream/RTCErrorCallback.idl
Modules/mediastream/RTCIceCandidate.idl
+ Modules/mediastream/RTCIceCandidateEvent.idl
Modules/mediastream/RTCPeerConnection.idl
Modules/mediastream/RTCSessionDescription.idl
+ Modules/mediastream/RTCSessionDescriptionCallback.idl
Modules/mediastream/SessionDescription.idl
+ Modules/navigatorcontentutils/NavigatorContentUtils.idl
+
Modules/networkinfo/NavigatorNetworkInfoConnection.idl
Modules/networkinfo/NetworkInfoConnection.idl
@@ -236,8 +241,6 @@ SET(WebCore_IDL_FILES
Modules/notifications/NotificationPermissionCallback.idl
Modules/notifications/WorkerContextNotifications.idl
- Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl
-
Modules/proximity/DeviceProximityEvent.idl
Modules/quota/DOMWindowQuota.idl
@@ -391,6 +394,7 @@ SET(WebCore_IDL_FILES
dom/UIEvent.idl
dom/WebKitAnimationEvent.idl
dom/WebKitNamedFlow.idl
+ dom/DOMNamedFlowCollection.idl
dom/WebKitTransitionEvent.idl
dom/WheelEvent.idl
@@ -816,7 +820,6 @@ SET(WebCore_SOURCES
Modules/indexeddb/IDBKey.cpp
Modules/indexeddb/IDBKeyRange.cpp
Modules/indexeddb/IDBKeyPath.cpp
- Modules/indexeddb/IDBKeyPathBackendImpl.cpp
Modules/indexeddb/IDBLevelDBBackingStore.cpp
Modules/indexeddb/IDBLevelDBCoding.cpp
Modules/indexeddb/IDBObjectStore.cpp
@@ -843,6 +846,7 @@ SET(WebCore_SOURCES
Modules/mediastream/IceCandidate.cpp
Modules/mediastream/LocalMediaStream.cpp
+ Modules/mediastream/MediaConstraintsImpl.cpp
Modules/mediastream/MediaStream.cpp
Modules/mediastream/MediaStreamEvent.cpp
Modules/mediastream/MediaStreamList.cpp
@@ -853,12 +857,17 @@ SET(WebCore_SOURCES
Modules/mediastream/NavigatorMediaStream.cpp
Modules/mediastream/PeerConnection00.cpp
Modules/mediastream/RTCIceCandidate.cpp
+ Modules/mediastream/RTCIceCandidateEvent.cpp
Modules/mediastream/RTCPeerConnection.cpp
Modules/mediastream/RTCSessionDescription.cpp
+ Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp
+ Modules/mediastream/RTCVoidRequestImpl.cpp
Modules/mediastream/SessionDescription.cpp
Modules/mediastream/UserMediaController.cpp
Modules/mediastream/UserMediaRequest.cpp
+ Modules/navigatorcontentutils/NavigatorContentUtils.cpp
+
Modules/networkinfo/NavigatorNetworkInfoConnection.cpp
Modules/networkinfo/NetworkInfo.cpp
Modules/networkinfo/NetworkInfoConnection.cpp
@@ -870,8 +879,6 @@ SET(WebCore_SOURCES
Modules/notifications/Notification.cpp
Modules/notifications/WorkerContextNotifications.cpp
- Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp
-
Modules/proximity/DeviceProximityEvent.cpp
Modules/quota/DOMWindowQuota.cpp
@@ -990,7 +997,9 @@ SET(WebCore_SOURCES
bindings/generic/BindingSecurity.cpp
bindings/generic/RuntimeEnabledFeatures.cpp
+ css/BasicShapeFunctions.cpp
css/CSSAspectRatioValue.cpp
+ css/CSSBasicShapes.cpp
css/CSSBorderImage.cpp
css/CSSBorderImageSliceValue.cpp
css/CSSCalculationValue.cpp
@@ -1035,7 +1044,6 @@ SET(WebCore_SOURCES
css/CSSValue.cpp
css/CSSValueList.cpp
css/CSSValuePool.cpp
- css/CSSWrapShapes.cpp
css/FontFeatureValue.cpp
css/FontValue.cpp
css/LengthFunctions.cpp
@@ -1072,7 +1080,6 @@ SET(WebCore_SOURCES
css/WebKitCSSSVGDocumentValue.cpp
css/WebKitCSSShaderValue.cpp
css/WebKitCSSTransformValue.cpp
- css/WrapShapeFunctions.cpp
dom/ActiveDOMObject.cpp
dom/Attr.cpp
@@ -1108,6 +1115,7 @@ SET(WebCore_SOURCES
dom/DOMCoreException.cpp
dom/DOMError.cpp
dom/DOMImplementation.cpp
+ dom/DOMNamedFlowCollection.cpp
dom/DOMStringList.cpp
dom/DOMStringMap.cpp
dom/Document.cpp
@@ -1141,7 +1149,6 @@ SET(WebCore_SOURCES
dom/IdTargetObserver.cpp
dom/IdTargetObserverRegistry.cpp
dom/KeyboardEvent.cpp
- dom/MemoryInstrumentation.cpp
dom/MessageChannel.cpp
dom/MessageEvent.cpp
dom/MessagePortChannel.cpp
@@ -1154,6 +1161,7 @@ SET(WebCore_SOURCES
dom/MutationObserverInterestGroup.cpp
dom/MutationObserverRegistration.cpp
dom/MutationRecord.cpp
+ dom/NamedFlowCollection.cpp
dom/NamedNodeMap.cpp
dom/NameNodeList.cpp
dom/Node.cpp
@@ -1206,9 +1214,9 @@ SET(WebCore_SOURCES
dom/UserGestureIndicator.cpp
dom/UserTypingGestureIndicator.cpp
dom/ViewportArguments.cpp
+ dom/WebCoreMemoryInstrumentation.cpp
dom/WebKitAnimationEvent.cpp
dom/WebKitNamedFlow.cpp
- dom/WebKitNamedFlowCollection.cpp
dom/WebKitTransitionEvent.cpp
dom/WheelEvent.cpp
dom/WindowEventContext.cpp
@@ -1723,6 +1731,7 @@ SET(WebCore_SOURCES
page/animation/ImplicitAnimation.cpp
page/animation/KeyframeAnimation.cpp
+ page/scrolling/ScrollingConstraints.cpp
page/scrolling/ScrollingCoordinator.cpp
page/scrolling/ScrollingCoordinatorNone.cpp
@@ -1832,6 +1841,7 @@ SET(WebCore_SOURCES
platform/graphics/FontFeatureSettings.cpp
platform/graphics/FractionalLayoutBoxExtent.cpp
platform/graphics/FractionalLayoutRect.cpp
+ platform/graphics/GeneratedImage.cpp
platform/graphics/GeneratorGeneratedImage.cpp
platform/graphics/GlyphPageTreeNode.cpp
platform/graphics/Gradient.cpp
@@ -1925,6 +1935,7 @@ SET(WebCore_SOURCES
platform/mediastream/IceOptions.cpp
platform/mediastream/MediaHints.cpp
platform/mediastream/MediaStreamCenter.cpp
+ platform/mediastream/MediaStreamSource.cpp
platform/mediastream/PeerConnection00Handler.cpp
platform/mediastream/RTCIceCandidateDescriptor.cpp
platform/mediastream/RTCPeerConnectionHandler.cpp
@@ -1979,8 +1990,8 @@ SET(WebCore_SOURCES
platform/text/QuotedPrintable.cpp
platform/text/RegularExpression.cpp
platform/text/SegmentedString.cpp
- platform/text/String.cpp
platform/text/TextBoundaries.cpp
+ platform/text/TextBreakIterator.cpp
platform/text/TextCodec.cpp
platform/text/TextCodecLatin1.cpp
platform/text/TextCodecUTF16.cpp
@@ -2027,13 +2038,13 @@ SET(WebCore_SOURCES
rendering/RenderCounter.cpp
rendering/RenderDeprecatedFlexibleBox.cpp
rendering/RenderDetailsMarker.cpp
+ rendering/RenderDialog.cpp
rendering/RenderEmbeddedObject.cpp
rendering/RenderFieldset.cpp
rendering/RenderFileUploadControl.cpp
rendering/RenderFlexibleBox.cpp
rendering/RenderGrid.cpp
rendering/RenderFlowThread.cpp
- rendering/RenderFlowThreadContainer.cpp
rendering/RenderFrame.cpp
rendering/RenderFrameBase.cpp
rendering/RenderFrameSet.cpp
@@ -2099,6 +2110,7 @@ SET(WebCore_SOURCES
rendering/RenderWordBreak.cpp
rendering/RootInlineBox.cpp
rendering/ScrollBehavior.cpp
+ rendering/WrapShapeInfo.cpp
rendering/break_lines.cpp
rendering/mathml/RenderMathMLBlock.cpp
@@ -2112,6 +2124,7 @@ SET(WebCore_SOURCES
rendering/mathml/RenderMathMLSubSup.cpp
rendering/mathml/RenderMathMLUnderOver.cpp
+ rendering/style/BasicShapes.cpp
rendering/style/ContentData.cpp
rendering/style/CounterDirectives.cpp
rendering/style/FillLayer.cpp
@@ -2140,7 +2153,6 @@ SET(WebCore_SOURCES
rendering/style/StyleVisualData.cpp
rendering/style/SVGRenderStyle.cpp
rendering/style/SVGRenderStyleDefs.cpp
- rendering/style/WrapShapes.cpp
rendering/svg/RenderSVGBlock.cpp
rendering/svg/RenderSVGContainer.cpp
@@ -2479,7 +2491,7 @@ IF (ENABLE_SMOOTH_SCROLLING)
LIST(APPEND WebCore_SOURCES
platform/ActivePlatformGestureAnimation.cpp
platform/ScrollAnimatorNone.cpp
- platform/TouchpadFlingPlatformGestureCurve.cpp
+ platform/TouchFlingPlatformGestureCurve.cpp
)
ENDIF ()
@@ -2560,18 +2572,18 @@ IF (WTF_USE_3D_GRAPHICS)
IF (BISON_VERSION EQUAL "2.5")
# Bison 2.5 can not compile generated glslang.
# See https://bugs.webkit.org/show_bug.cgi?id=93487
- LIST(APPEND WebCore_SOURCES
+ LIST(APPEND ANGLESupport_SOURCES
${THIRDPARTY_DIR}/ANGLE/src/compiler/glslang_lex.cpp
${THIRDPARTY_DIR}/ANGLE/src/compiler/glslang_tab.cpp
)
ELSE ()
- LIST(APPEND WebCore_SOURCES
+ LIST(APPEND ANGLESupport_SOURCES
${DERIVED_SOURCES_WEBCORE_DIR}/glslang.cpp
${DERIVED_SOURCES_WEBCORE_DIR}/glslang_tab.cpp
)
ENDIF ()
- LIST(APPEND WebCore_SOURCES
+ LIST(APPEND ANGLESupport_SOURCES
${THIRDPARTY_DIR}/ANGLE/src/compiler/BuiltInFunctionEmulator.cpp
${THIRDPARTY_DIR}/ANGLE/src/compiler/CodeGenGLSL.cpp
${THIRDPARTY_DIR}/ANGLE/src/compiler/Compiler.cpp
@@ -2761,6 +2773,15 @@ ADD_CUSTOM_COMMAND(
LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorBackendDispatcher.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorFrontend.cpp ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorTypeBuilder.cpp)
+# Generate InspectorOverlayPage.h
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h
+ MAIN_DEPENDENCY inspector/InspectorOverlayPage.html
+ COMMAND ${PERL_EXECUTABLE} ${WEBCORE_DIR}/inspector/xxd.pl InspectorOverlayPage_html ${WEBCORE_DIR}/inspector/InspectorOverlayPage.html ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h
+ VERBATIM)
+LIST(APPEND WebCore_SOURCES ${DERIVED_SOURCES_WEBCORE_DIR}/InspectorOverlayPage.h)
+
+
# Generate InjectedScriptSource.h
ADD_CUSTOM_COMMAND(
OUTPUT ${DERIVED_SOURCES_WEBCORE_DIR}/InjectedScriptSource.h
@@ -2951,6 +2972,14 @@ SET_TARGET_PROPERTIES(${WebCoreTestSupport_LIBRARY_NAME} PROPERTIES FOLDER "WebC
ADD_DEPENDENCIES(${WebCore_LIBRARY_NAME} ${JavaScriptCore_LIBRARY_NAME})
ADD_DEPENDENCIES(${WebCoreTestSupport_LIBRARY_NAME} ${WebCore_LIBRARY_NAME})
+IF (WTF_USE_3D_GRAPHICS)
+ SET(ANGLESupport_LIBRARY_NAME ANGLESupport)
+ ADD_LIBRARY(${ANGLESupport_LIBRARY_NAME} STATIC ${ANGLESupport_SOURCES})
+ SET_TARGET_PROPERTIES(${ANGLESupport_LIBRARY_NAME} PROPERTIES FOLDER "WebCore")
+ LIST(APPEND WebCore_LIBRARIES ${ANGLESupport_LIBRARY_NAME})
+ WEBKIT_SET_EXTRA_COMPILER_FLAGS(${ANGLESupport_LIBRARY_NAME} IGNORECXX_WARNINGS)
+ENDIF ()
+
TARGET_LINK_LIBRARIES(${WebCore_LIBRARY_NAME} ${WebCore_LIBRARIES})
IF (WebCore_LINK_FLAGS)
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 138082037..dde6e7578 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,21805 @@
+2012-09-10 Mike West <mkwst@chromium.org>
+
+ Clarify the cause of console warnings generated by "cross-origin" access to sandboxed iframes.
+ https://bugs.webkit.org/show_bug.cgi?id=64079
+
+ Reviewed by Adam Barth.
+
+ The error message generated when accessing cross-origin content is a bit
+ too generic at the moment, which is misleading when the "cross-origin"
+ nature of an access attempt isn't visible in the URLs that the error
+ displays. Sandboxed iframes, for example, are put into unique origins by
+ default, meaning that all access in or out are subject to cross-origin
+ restrictions, even if the resources would otherwise be same-origin.
+
+ This patch improces the error message to explicitly point to sandboxing
+ as the core of cross-origin requests when relevant. It adds a single new
+ test to check access from parents to children, and relies on existing
+ tests for access in the other direction.
+
+ Test: http/tests/security/sandboxed-iframe-blocks-access-from-parent.html
+
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::crossDomainAccessErrorMessage):
+ Check 'isSandboxed(SandboxOrigin)' against the document and
+ activeWindow when generating the error message. If one or the other
+ is sandboxed, make that clear in the console warning.
+
+2012-09-10 Tommy Widenflycht <tommyw@google.com>
+
+ [chromium] MediaStream API: Remove the Descriptor postfix
+ https://bugs.webkit.org/show_bug.cgi?id=96268
+
+ Reviewed by Adam Barth.
+
+ After consideration I realized that there is no need whatsoever in using the Descriptor prefix
+ in the WekKit embedder API. Removed from WebRTCSessionDescription and WebRTCICECandidate to start with.
+
+ No code changes that affects functionality.
+
+ * WebCore.gypi:
+ * platform/chromium/support/WebRTCICECandidate.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCICECandidateDescriptor.cpp.
+ (WebKit):
+ (WebKit::WebRTCICECandidate::WebRTCICECandidate):
+ (WebKit::WebRTCICECandidate::assign):
+ (WebKit::WebRTCICECandidate::reset):
+ (WebKit::WebRTCICECandidate::initialize):
+ (WebKit::WebRTCICECandidate::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>):
+ (WebKit::WebRTCICECandidate::candidate):
+ (WebKit::WebRTCICECandidate::sdpMid):
+ (WebKit::WebRTCICECandidate::sdpMLineIndex):
+ * platform/chromium/support/WebRTCSessionDescription.cpp: Renamed from Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionDescriptor.cpp.
+ (WebKit):
+ (WebKit::WebRTCSessionDescription::WebRTCSessionDescription):
+ (WebKit::WebRTCSessionDescription::assign):
+ (WebKit::WebRTCSessionDescription::reset):
+ (WebKit::WebRTCSessionDescription::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>):
+ (WebKit::WebRTCSessionDescription::initialize):
+ (WebKit::WebRTCSessionDescription::type):
+ (WebKit::WebRTCSessionDescription::setType):
+ (WebKit::WebRTCSessionDescription::sdp):
+ (WebKit::WebRTCSessionDescription::setSDP):
+ * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp:
+ (WebKit::WebRTCSessionDescriptionRequest::requestSucceeded):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (WebKit):
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-10 Pavel Podivilov <podivilov@chromium.org>
+
+ Web Inspector: support empty entries in source maps.
+ https://bugs.webkit.org/show_bug.cgi?id=96088
+
+ Reviewed by Vsevolod Vlasov.
+
+ Empty entries should be mapped to the compiled script.
+
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping):
+ (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.CompilerScriptMapping.prototype._reset):
+ (WebInspector.SourceMapParser.prototype._parseMap):
+
+2012-09-07 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: only display heap size statistics for timeline records when it makes sense
+ https://bugs.webkit.org/show_bug.cgi?id=96119
+
+ Reviewed by Yury Semikhatsky.
+
+ - drop totalHeapSize from timeline records;
+ - add usedHeapSizeDelta (not set if 0), for heap delta between start and end of the event;
+ - only display memory details for events of scriping category or when delta is not 0;
+
+ * English.lproj/localizedStrings.js:
+ * inspector/InspectorTimelineAgent.cpp:
+ (WebCore::getUsedHeapSize):
+ (WebCore):
+ (WebCore::InspectorTimelineAgent::setHeapSizeStatistics):
+ (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
+ (WebCore::InspectorTimelineAgent::pushCurrentRecord):
+ * inspector/InspectorTimelineAgent.h:
+ (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
+ (TimelineRecordEntry):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.Record.prototype.get usedHeapSizeDelta):
+ (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
+
+2012-09-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Drastically shorten length of commandline needed for JS bindings generator
+ https://bugs.webkit.org/show_bug.cgi?id=96266
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ The generate-bindings script supports the SOURCE_ROOT environment variable for IDL include file
+ lookups, which allows specifying relative include search directories.
+
+ * DerivedSources.pri:
+
+2012-09-10 Kevin Funk <kevin.funk@kdab.com>
+
+ [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled
+ https://bugs.webkit.org/show_bug.cgi?id=96258
+
+ Reviewed by Simon Hausmann.
+
+ Sync with latest changes in Qt5.
+
+ * platform/qt/RenderThemeQt.cpp:
+ * platform/qt/SharedTimerQt.cpp:
+
+2012-09-10 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Create a toggle button for closed captions
+ https://bugs.webkit.org/show_bug.cgi?id=96259
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add toggle button for closed captions to EFL's
+ RenderTheme.
+
+ Test: media/video-controls-captions.html
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::edjeGroupFromFormType):
+ (WebCore::RenderThemeEfl::emitMediaButtonSignal):
+ (WebCore):
+ (WebCore::RenderThemeEfl::supportsClosedCaptioning):
+ (WebCore::RenderThemeEfl::paintMediaToggleClosedCaptionsButton):
+ * platform/efl/RenderThemeEfl.h:
+ (RenderThemeEfl):
+
+2012-09-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [TexMap] Fix compilation on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96257
+
+ Reviewed by Noam Rosenthal.
+
+ TextureMapperGL uses near and far as variable names and unfortunately
+ WinDefs.h on Windows has the nasty habit of unconditionally(!) defining
+ near and far as empty macros. There's no way to prevent WinDefs.h from
+ doing so. Instead we rename the variables. (Another option would've been to
+ #undef)
+
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+
+2012-09-10 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: [Elements] Poor performance upon continuous attribute changes
+ https://bugs.webkit.org/show_bug.cgi?id=96252
+
+ Reviewed by Vsevolod Vlasov.
+
+ The DOM tree is now updated after a non-zero timeout, and same node updates are coalesced rather than added into an array
+ as many times as the DOM node has been tampered with during the update interval.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ * inspector/front-end/utilities.js: Implement Map.prototype.size
+
+2012-09-10 Mike West <mkwst@chromium.org>
+
+ Warn authors about CSP directives ignored due to non-ASCII values.
+ https://bugs.webkit.org/show_bug.cgi?id=96061
+
+ Reviewed by Adam Barth.
+
+ CSP defines directive values as VCHAR minus ';' and ','. Currently, we
+ ignore these directives completely in CSPDirectiveList::parseDirective,
+ but we don't warn authors. We ought to set their expectations correctly,
+ and help them fix issues in their policy.
+
+ This patch adds a console warning for directives that are ignored, and
+ points authors to the wonderful world of percent-encoding for situations
+ where high-ASCII or Unicode (or whatever) characters are required.
+
+ Test: http/tests/security/contentSecurityPolicy/source-list-parsing-nonascii.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirectiveList::parseDirective):
+ Call ContentSecurityPolicy::reportInvalidDirectiveValueCharacter in
+ order to report ignored directives.
+ (WebCore::ContentSecurityPolicy::reportInvalidDirectiveValueCharacter):
+ (WebCore):
+ * page/ContentSecurityPolicy.h:
+ Add new error message.
+
+2012-09-10 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ Unreviewed. Fix make distcheck.
+
+ * GNUmakefile.list.am: Add missing header files.
+
+2012-09-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix linking of QtWebKit.dll on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96250
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ On Windows when using ANGLE, the DLL import library of EGL is called libEGL.lib instead of EGL.lib.
+ However as it turns out we do not need to explicitly link against EGL, because when Qt is configured with ANGLE
+ support it will do that automatically for us.
+
+ * WebCore.pri:
+
+2012-09-10 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] fast/forms/menulist-restrict-line-height.html is failing
+ https://bugs.webkit.org/show_bug.cgi?id=94878
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ <select> element's text is no longer clipped when a CSS
+ line-height is specified. The fix is the same as for
+ Mac port in r24886.
+
+ Test: fast/forms/menulist-restrict-line-height.html
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::adjustMenuListStyle):
+
+2012-09-10 Kevin Funk <kevin.funk@kdab.com>
+
+ Replace calls to QString::fromAscii which is deprecated in Qt5
+ https://bugs.webkit.org/show_bug.cgi?id=96242
+
+ Reviewed by Simon Hausmann.
+
+ Replace with QString::fromLatin1 which does the same.
+
+ * bridge/qt/qt_runtime.cpp:
+
+2012-09-09 Taiju Tsuiki <tzik@chromium.org>
+
+ successCallback of ResolveLocalFileSystemURL should not be optional.
+ https://bugs.webkit.org/show_bug.cgi?id=94802
+
+ Reviewed by Kent Tamura.
+
+ Spec says it should not optional.
+ http://www.w3.org/TR/file-system-api/#widl-LocalFileSystem-resolveLocalFileSystemURL-void-DOMString-url-EntryCallback-successCallback-ErrorCallback-errorCallback
+
+ Tests: fast/filesystem/entry-points-missing-arguments.html
+
+ * Modules/filesystem/DOMWindowFileSystem.idl:
+ * Modules/filesystem/WorkerContextFileSystem.idl:
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Add StringBuilder::appendNumber() and use it
+ https://bugs.webkit.org/show_bug.cgi?id=96030
+
+ Reviewed by Eric Seidel.
+
+ Also fix a bunch of append() vs. appendLiteral() issues in the surrounding code.
+
+ * Modules/websockets/WebSocketHandshake.cpp:
+ (WebCore::hostName):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::resourceString):
+ * css/FontFeatureValue.cpp:
+ (WebCore::FontFeatureValue::customCssText):
+ * dom/Position.cpp:
+ (WebCore::Position::formatForDebugger):
+ * dom/Range.cpp:
+ (WebCore::Range::formatForDebugger):
+ * html/FormController.cpp:
+ (WebCore::FormKeyGenerator::formKey):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::appendServerMapMousePosition):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::font):
+ * inspector/IdentifiersFactory.cpp:
+ (WebCore::IdentifiersFactory::addProcessIdPrefixTo):
+ * page/FrameTree.cpp:
+ (WebCore::FrameTree::uniqueChildName):
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::toRawString):
+ * platform/Decimal.cpp:
+ (WebCore::Decimal::toString):
+ * platform/network/ProxyServer.cpp:
+ (WebCore::appendProxyServerString):
+ * platform/text/TextStream.cpp:
+ (WebCore::TextStream::operator<<):
+ * platform/text/TextStream.h:
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::nodePosition):
+ * xml/XMLErrors.cpp:
+ (WebCore::XMLErrors::appendErrorMessage):
+
+2012-09-09 KyungTae Kim <ktf.kim@samsung.com>
+
+ [EFL] Wrong rendering results for square-button-appearance.html
+ https://bugs.webkit.org/show_bug.cgi?id=85493
+
+ Reviewed by Gyuyoung Kim.
+
+ A square-button is an element that has '-webkit-appearance: square-button' style.
+
+ If it is a block element,
+ the RenderBlock::recomputeLogicalWidth recalculate the width from the padding values.
+
+ But the recalculated width became wrong because the RenderThemeEfl::adjustSizeConstraints
+ called from RenderThemeEfl::adjustButtonStyle adds padding values for a button.
+
+ So, the adjustSizeConstraints must not be called for a square-button(SquareButtonPart).
+
+ Test : fast/css/square-button-appearance.html
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::adjustButtonStyle): Call adjustSizeConstrains only for PushButtonPart and ButtonPart
+
+2012-09-09 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL][WK2] Minibrowser locks up when right clicking editable filed
+ https://bugs.webkit.org/show_bug.cgi?id=96074
+
+ Reviewed by Gyuyoung Kim.
+
+ WebProcess crashes when the context menu type is SubmenuType and non-CROSS_PLATFORM_CONTEXT_MENUS is used.
+ It is because platformSubMenu() in the ContextMenuItemEfl.cpp returns null. This patch implements the setSubMenu()
+ and platformSubMenu() to set and return the subMenuItems.
+
+ * platform/efl/ContextMenuItemEfl.cpp:
+ (WebCore::ContextMenuItem::setSubMenu):
+ (WebCore::ContextMenuItem::platformSubMenu):
+ (WebCore):
+
+2012-09-09 Kangil Han <kangil.han@samsung.com>
+
+ Pass full target idl file path to CodeGenerator as a constructor argument.
+ https://bugs.webkit.org/show_bug.cgi?id=96190
+
+ Reviewed by Kentaro Hara.
+
+ Passing idl file path to CodeGenerator would be useful because CodeGenerator* family could manipulate it when creating derived header and cpp files.
+
+ * bindings/scripts/CodeGenerator.pm:
+ (new):
+ (ProcessDocument):
+ * bindings/scripts/generate-bindings.pl:
+
+2012-09-09 Dan Bernstein <mitz@apple.com>
+
+ Try to fix the build after r128006.
+
+ * dom/Element.cpp:
+ (WebCore::Element::boundsInRootViewSpace): Updated for rename.
+ (WebCore::Element::getBoundingClientRect): Ditto.
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::getBoundingBox): Renamed boundingBox() to this, to avoid clashing
+ with the virtual function on Node. The 'get' prefix also indicates that the result is
+ returned in an out parameter.
+ * svg/SVGElement.h:
+ (SVGElement):
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Replace WTF::numberToString() with String::numberToStringECMAScript()
+ https://bugs.webkit.org/show_bug.cgi?id=96130
+
+ Reviewed by Benjamin Poulain.
+
+ The String class provides a nice wrapper for this function
+ in the meantime, so just use it to avoid code duplication.
+
+ * html/parser/HTMLParserIdioms.cpp:
+ (WebCore::serializeForNumberType):
+ * platform/Decimal.cpp:
+ (WebCore::Decimal::fromDouble):
+
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Rename Node::getRect and getPixelSnappedRect to boundingBox and
+ pixelSnappedBoundingBox respectively.
+
+ Remove overridden getRect method from ContainerNode as it calculates the
+ same rect as the Node implementation but in a more complicated and
+ error-prone way. Also remove the getUpperLeftCorner/getLowerRightCorner
+ support functions as they are no longer needed.
+
+ No new tests, no change in functionality.
+
+ * accessibility/AccessibilitySlider.cpp:
+ (WebCore::AccessibilitySliderThumb::elementRect):
+ Update to call boundingBox.
+
+ * dom/ContainerNode.cpp:
+ * dom/ContainerNode.h:
+ Remove overridden getRect method and the getUpperLeftCorner/
+ getLowerRightCorner support methods .
+
+ * dom/Element.cpp:
+ (WebCore::Element::scrollIntoView):
+ (WebCore::Element::scrollIntoViewIfNeeded):
+ (WebCore::Element::updateFocusAppearance):
+ Update to call boundingBox.
+
+ * dom/Node.h:
+ * dom/Node.cpp:
+ (WebCore::Node::boundingBox):
+ Rename getRect to boundingBox.
+
+ (WebCore::Node::pixelSnappedBoundingBox):
+ Rename getPixelSnappedRect to pixelSnappedBoundingBox.
+
+ * html/ColorInputType.cpp:
+ (WebCore::ColorInputType::elementRectRelativeToRootView):
+ * html/ValidationMessage.cpp:
+ (WebCore::ValidationMessage::buildBubbleTree):
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::CalendarPickerElement::openPopup):
+ * html/shadow/TextControlInnerElements.cpp:
+ (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollElementToRect):
+ (WebCore::FrameView::scrollToAnchor):
+ * page/SpatialNavigation.cpp:
+ (WebCore::nodeRectInAbsoluteCoordinates):
+ Update to call boundingBox/pixelSnappedBoundingBox.
+
+2012-09-09 Christopher Cameron <ccameron@chromium.org>
+
+ [chromium] Do not delete texture backing structures on the main thread
+ https://bugs.webkit.org/show_bug.cgi?id=96018
+
+ Reviewed by James Robinson.
+
+ Do not delete CCPrioritizedTexture::Backing structures on the main
+ thread. Instead, unlink them from their owning CCPrioritizedTexture
+ in the main thread, and have the impl thread then delete all unlinked
+ textures.
+
+ This is towards having the main thread not access the m_backings set,
+ which will allow the impl thread to traverse that set when deleting
+ resources in response to GPU memory management events.
+
+ Tested by existing eviction tests (CCLayerTreeHostTest's
+ TestEvictTextures, LostContextAfterEvictTextures)
+
+ Fix a place where single thread proxy wasn't setting the main thread
+ blocked state correctly.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::unlinkAllContentTextures):
+ (WebCore):
+ (WebCore::CCLayerTreeHost::deleteUnlinkedTextures):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
+ (WebCore::CCPrioritizedTextureManager::clearAllMemory):
+ (WebCore::CCPrioritizedTextureManager::unlinkAllBackings):
+ (WebCore):
+ (WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
+ (CCPrioritizedTextureManager):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::commitAndComposite):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::beginFrame):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+
+2012-09-09 Andreas Kling <kling@webkit.org>
+
+ EventListenerMap: Use Vector instead of HashMap as backend.
+ <http://webkit.org/b/77982>
+
+ Reviewed by Geoff Garen.
+
+ Refactor EventListenerMap to store pair<AtomicString, EventListenerVector> in a Vector
+ instead of using key/value HashMap stores. This is much more space efficient and actually
+ faster since we were spending more time/effort managing the hash map than it costs us
+ to iterate over and compare a couple of pointers. (It's very rare to have more than
+ 4 different event types registered in a single EventListenerMap.)
+
+ This gets rid of the slightly hacky optimization for nodes with listeners of a single type,
+ reducing the complexity of EventListenerMap greatly.
+
+ ~1.1MB progression on Membuster. Also strong (20+ MB on larger patches) savings on WebKit
+ bugzilla review pages, though they don't necessarily represent a common usecase.
+
+ * dom/EventListenerMap.cpp:
+ (WebCore::EventListenerMap::contains):
+ (WebCore::EventListenerMap::clear):
+ (WebCore::EventListenerMap::eventTypes):
+ (WebCore::EventListenerMap::add):
+ (WebCore::EventListenerMap::remove):
+ (WebCore::EventListenerMap::find):
+ (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
+ (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
+ (WebCore::EventListenerIterator::EventListenerIterator):
+ (WebCore::EventListenerIterator::nextListener):
+ * dom/EventListenerMap.h:
+ (WebCore::EventListenerMap::isEmpty):
+ (WebCore::EventListenerMapEntry::EventListenerMapEntry):
+ (EventListenerMapEntry):
+ (EventListenerMap):
+ (EventListenerIterator):
+
+2012-09-09 Lucas Forschler <lforschler@apple.com>
+
+ Build Fix. <rdar://problem/12260893>
+
+ * platform/graphics/mac/WebGLLayer.mm:
+
+2012-09-09 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127979.
+ http://trac.webkit.org/changeset/127979
+ https://bugs.webkit.org/show_bug.cgi?id=96217
+
+ Appears to have broken the windows and linux builds (Requested
+ by jamesr_ on #webkit).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (NativeToJSValue):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (V8DOMWrapper):
+
+2012-09-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] webkit_platform should only be linked into the webkit target
+ https://bugs.webkit.org/show_bug.cgi?id=96213
+
+ Reviewed by Adrienne Walker.
+
+ The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only
+ makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-09-09 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ [EFL] Fix build break when MEDIA_STREAM is enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=96063
+
+ Unreviewed. Fix build break when MEDIA_STREAM is enabled.
+
+ * CMakeLists.txt:
+
+2012-09-09 Adam Barth <abarth@webkit.org>
+
+ [V8] convertEventTargetToV8Object doesn't need to be overloaded
+ https://bugs.webkit.org/show_bug.cgi?id=96195
+
+ Reviewed by Kentaro Hara.
+
+ WTF::getPtr solves this problem for us.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (NativeToJSValue):
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+
+2012-09-09 Adam Barth <abarth@webkit.org>
+
+ [V8] V8PerContextData holds m_context using a v8::Handle rather than a v8::Persistent
+ https://bugs.webkit.org/show_bug.cgi?id=96193
+
+ Reviewed by Kentaro Hara.
+
+ There are two types of handles in V8: Local and Persistent. We are now
+ permitted to keep Local handles in the heap because they get
+ deallocated when the C++ stack unwinds and v8::HandleScope objects are
+ destructed.
+
+ V8PerContextData holds its m_context using the non-specific v8::Handle
+ type. If we used a Local handle here, we'd have a memory safety
+ problem. Thankfully, we use a Persistent handle, which need to be
+ allocated and freed manually.
+
+ This patch makes the type of V8PerContextData::m_context more specific
+ to ensure that we never try to store a local handle in this variable.
+ This patch should not have any behavior change because we were already
+ storing a Persistent handle.
+
+ * bindings/v8/V8PerContextData.h:
+ (WebCore::V8PerContextData::create):
+ (WebCore::V8PerContextData::V8PerContextData):
+ (V8PerContextData):
+
+2012-09-09 Adam Barth <abarth@webkit.org>
+
+ [V8] V8DOMWindowShell does not need to be RefCounted
+ https://bugs.webkit.org/show_bug.cgi?id=96192
+
+ Reviewed by Kentaro Hara.
+
+ V8DOMWindowShell holds a raw Frame pointer, which would point to
+ unallocated memory if any object that wasn't owned by the frame took a
+ reference to a V8DOMWindowShell. Thankfully, the only object that takes
+ a reference to the V8DOMWindowShell is ScriptController, which is owned
+ by the Frame.
+
+ This patch stops V8DOMWindowShell from being RefCounted so that no
+ other objects are tempted to take a reference to it in the future.
+
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::create):
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+
+2012-09-08 Adam Barth <abarth@webkit.org>
+
+ [V8] unsafeHandleToCurrentWorldContext doesn't need to exist
+ https://bugs.webkit.org/show_bug.cgi?id=96191
+
+ Reviewed by Kentaro Hara.
+
+ Previously, we used this function when instantiating DOM wrappers. Now
+ we get the context from the creationContext, so we don't need access to
+ this unsafe handle. This patch inlines the function into its one other
+ caller.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::currentWorldContext):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+
+2012-09-08 Benjamin Poulain <bpoulain@apple.com>
+
+ Specialize nextBreakablePosition depending on breakNBSP
+ https://bugs.webkit.org/show_bug.cgi?id=96042
+
+ Reviewed by Eric Seidel.
+
+ The speed of isBreakableSpace() is limited by the speed of the inner loop of nextBreakablePosition().
+ The branches done to handle noBreakSpace can be simplified outside the loop
+ to reduce the number of tests inside the loop.
+
+ This patch split the code of nextBreakablePosition() in two function, depending if breakNBSP is true
+ or false.
+
+ If breakNBSP is true, isBreakableSpace() would return true on noBreakSpace.
+ ->There is no need to test that value again for needsLineBreakIterator().
+ ->There is no need to special case the switch() of isBreakableSpace() for noBreakSpace.
+
+ If breakNBSP is false:
+ ->isBreakableSpace() does not need to test for noBreakSpace.
+
+ On x86_64, this improves PerformanceTests/Layout/line-layout.html by 2.8%.
+
+ * rendering/break_lines.cpp:
+ (WebCore::isBreakableSpace):
+ (WebCore::nextBreakablePositionIgnoringNBSP):
+ (WebCore::nextBreakablePosition):
+ * rendering/break_lines.h:
+ (WebCore::isBreakable): Remove the default value for breakNBSP, no caller is using it.
+
+2012-09-08 Adam Barth <abarth@chromium.org>
+
+ [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
+ https://bugs.webkit.org/show_bug.cgi?id=96147
+
+ Reviewed by Eric Seidel.
+
+ Previously, we used the Frame when instantiating DOM wrappers. That's
+ sketchy because not all DOM wrappers know how to find their Frame, and
+ the Frame might be displaying a different document now anyway. This
+ patch now gets all the information directly from the creation context.
+
+ In addition, this patch gets the proper creation context in a few more
+ cases, including Location.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GetInternalFields):
+ (GenerateNormalAttrGetter):
+ (GenerateToV8Converters):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ (WebCore::V8Float64Array::wrapSlow):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ (WebCore::V8TestCallback::callbackRequiresThisToPass):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::V8TestEventTarget::wrapSlow):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::wrapSlow):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
+ (WebCore::TestObjV8Internal::objMethodCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::V8TestObj::wrapSlow):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::disposeContext):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore):
+ (WebCore::V8PerContextData::current):
+ (WebCore::V8PerContextData::dispose):
+ (WebCore::V8PerContextData::init):
+ * bindings/v8/V8PerContextData.h:
+ (V8PerContextData):
+
+2012-09-08 Arvid Nilsson <anilsson@rim.com>
+
+ [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program
+ https://bugs.webkit.org/show_bug.cgi?id=94725
+
+ Reviewed by George Staikos.
+
+ Separate the MeshGenerator from the CustomFilterMesh into
+ CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to
+ reuse the mesh generator in its accelerated compositing implementation.
+
+ Also add support for creating a "PlatformCompiledProgram" from a
+ CustomFilterValidatedProgram, so the BlackBerry port can reuse the
+ shader validation code in its accelerated compositing implementation.
+
+ It turns out the GraphicsContext3D is not needed for ANGLE to function,
+ so this patch removes an ASSERT that required a context before
+ validating the shaders using ANGLE. This allows the BlackBerry port to
+ reuse the validation code without triggering the assert. In the future,
+ the validation code could be moved to a separate class to make it more
+ obvious that it isn't really related to GraphicsContext3D.
+
+ In general, this refactoring can be useful for any port that uses
+ OpenGL to implement accelerated compositing.
+
+ Inspired by an original patch by Joshua Netterfield.
+
+ No new tests, because this patch implements no new functionality.
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::getValidatedProgram):
+ * platform/graphics/filters/CustomFilterMesh.cpp:
+ (WebCore::CustomFilterMesh::CustomFilterMesh):
+ * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added.
+ (WebCore):
+ (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator):
+ (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex):
+ (WebCore::CustomFilterMeshGenerator::generateAttachedMesh):
+ (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex):
+ (WebCore::CustomFilterMeshGenerator::generateDetachedMesh):
+ (WebCore::CustomFilterMeshGenerator::addPositionAttribute):
+ (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute):
+ (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute):
+ (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute):
+ (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes):
+ (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes):
+ (WebCore::CustomFilterMeshGenerator::dumpBuffers):
+ * platform/graphics/filters/CustomFilterMeshGenerator.h: Added.
+ (WebCore):
+ (CustomFilterMeshGenerator):
+ (WebCore::CustomFilterMeshGenerator::vertices):
+ (WebCore::CustomFilterMeshGenerator::indices):
+ (WebCore::CustomFilterMeshGenerator::points):
+ (WebCore::CustomFilterMeshGenerator::pointsCount):
+ (WebCore::CustomFilterMeshGenerator::tiles):
+ (WebCore::CustomFilterMeshGenerator::tilesCount):
+ (WebCore::CustomFilterMeshGenerator::indicesCount):
+ (WebCore::CustomFilterMeshGenerator::floatsPerVertex):
+ (WebCore::CustomFilterMeshGenerator::verticesCount):
+ (WebCore::CustomFilterMeshGenerator::addTile):
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
+ (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
+ (WebCore::CustomFilterValidatedProgram::compiledProgram):
+ (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
+ (WebCore):
+ (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
+ (WebCore::CustomFilterValidatedProgram::platformDestroy):
+ * platform/graphics/filters/CustomFilterValidatedProgram.h:
+ (WebCore):
+ (CustomFilterValidatedProgram):
+ * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
+ (WebCore::CustomFilterValidatedProgram::platformDestroy):
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix the build of OpenGLShims on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96123
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ OpenGL functions on Windows are generally defined as __stdcall, so we need to make sure
+ that we declare our own "copies" of those functions with the same calling convention.
+
+ This is also required for the situation where we build against ANGLE, because then we
+ initialize the function table entries with a direct assignment (entry = ::glMyFunction())
+ and the assignment does not compile if the types don't match, i.e. if RHS has a different
+ calling convention than LHS.
+
+ The approach chosen is basically the same as in the Khronos headers,
+ using a GLAPIENTRY macro.
+
+ * platform/graphics/OpenGLShims.h:
+
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ * bindings/js/Dictionary.cpp:
+ (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
+ (WebCore::Dictionary::getOwnPropertyNames):
+ * bindings/js/SerializedScriptValue.cpp:
+ Simplify a few String constructions which were still using type conversion
+ through StringImpl.
+
+ (WebCore::CloneSerializer::write):
+ (WebCore::CloneDeserializer::CachedString::string):
+ (WebCore::CloneDeserializer::readFile):
+ (WebCore::CloneDeserializer::readTerminal):
+ (WebCore::CloneDeserializer::deserialize):
+ * bridge/NP_jsobject.cpp:
+ (_NPN_Enumerate):
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127955.
+ http://trac.webkit.org/changeset/127955
+ https://bugs.webkit.org/show_bug.cgi?id=96174
+
+ Hits an ASSERT (Requested by abarth on #webkit).
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GetInternalFields):
+ (GenerateNormalAttrGetter):
+ (GenerateToV8Converters):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ (WebCore::V8Float64Array::wrapSlow):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ (WebCore::V8TestCallback::callbackRequiresThisToPass):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::V8TestEventTarget::wrapSlow):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::wrapSlow):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
+ (WebCore::TestObjV8Internal::objMethodCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::V8TestObj::wrapSlow):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::disposeContext):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore::V8PerContextData::dispose):
+ (WebCore::V8PerContextData::init):
+ * bindings/v8/V8PerContextData.h:
+ (V8PerContextData):
+
+2012-09-06 Jeffrey Pfau <jpfau@apple.com>
+
+ Extend third-party storage blocking API to optionally allow blocking all storage
+ https://bugs.webkit.org/show_bug.cgi?id=95915
+
+ Reviewed by Brady Eidson.
+
+ Replace boolean API with tri-state API that allows for blocking no, third-party, or all storage.
+
+ Tests: http/tests/security/same-origin-shared-worker-blocked.html
+ http/tests/security/same-origin-storage-blocked.html
+ http/tests/security/same-origin-websql-blocked.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::initSecurityContext):
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::SecurityOrigin):
+ (WebCore::SecurityOrigin::canAccessStorage):
+ * page/SecurityOrigin.h:
+ (WebCore::SecurityOrigin::setStorageBlockingPolicy):
+ (SecurityOrigin):
+ * page/Settings.cpp:
+ (WebCore::Settings::Settings):
+ * page/Settings.h:
+ (WebCore::Settings::setStorageBlockingPolicy):
+ (WebCore::Settings::storageBlockingPolicy):
+ (Settings):
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::setStorageBlockingPolicy):
+ * testing/InternalSettings.h:
+ (InternalSettings):
+ * testing/InternalSettings.idl:
+
+2012-09-07 Adam Barth <abarth@chromium.org>
+
+ [V8] DOM wrapper creation involves a bunch of sketchy code related to finding the Frame
+ https://bugs.webkit.org/show_bug.cgi?id=96147
+
+ Reviewed by Eric Seidel.
+
+ Previously, we used the Frame when instantiating DOM wrappers. That's
+ sketchy because not all DOM wrappers know how to find their Frame, and
+ the Frame might be displaying a different document now anyway. This
+ patch now gets all the information directly from the creation context.
+
+ In addition, this patch gets the proper creation context in a few more
+ cases, including Location.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GetInternalFields):
+ (GenerateNormalAttrGetter):
+ (GenerateToV8Converters):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ (WebCore::V8Float64Array::wrapSlow):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ (WebCore::V8TestCallback::callbackRequiresThisToPass):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::V8TestEventTarget::wrapSlow):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::wrapSlow):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
+ (WebCore::TestObjV8Internal::objMethodCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::V8TestObj::wrapSlow):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::disposeContext):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (V8DOMWrapper):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore):
+ (WebCore::V8PerContextData::current):
+ (WebCore::V8PerContextData::dispose):
+ (WebCore::V8PerContextData::init):
+ * bindings/v8/V8PerContextData.h:
+ (V8PerContextData):
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove transitional WebCompositorSupport fallback code
+ https://bugs.webkit.org/show_bug.cgi?id=96155
+
+ Reviewed by Adrienne Walker.
+
+ The implementation of WebCompositorSupport has rolled out everywhere and the static ::create() functions are
+ going way.
+
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::createScrollbarLayer):
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::createWebAnimation):
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix compilation of TextureMapperShaderManager.cpp with MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=96121
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Named variadic parameters in macros appear to be a GCC extension. Fortunately __VA_ARGS__ seems
+ to work with GCC and MSVC here.
+
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+
+2012-09-07 Victoria Kirst <vrk@chromium.org>
+
+ Seek to end after duration change in HTMLMediaElement
+ https://bugs.webkit.org/show_bug.cgi?id=95986
+
+ Reviewed by Eric Carlson.
+
+ This seeks the media element to the end of the media resource if the current playback
+ position has become greater than the duration after a duration change.
+ http://dev.w3.org/html5/spec/media-elements.html#durationChange
+
+ Test: http/tests/media/media-source/seek-to-end-after-duration-change.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): After firing the duration change event, checks to see if current time exceeds duration and if so, seeks to duration.
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
+ https://bugs.webkit.org/show_bug.cgi?id=96151
+
+ Reviewed by Adrienne Walker.
+
+ Reworks the CC hookup for input handling to be more similar to the OutputSurface handling. If on compositor
+ startup we want to initialize threaded input handling, we ask the embedder for a CCInputHandler implementation
+ via CCLayerTreeHostClient. If the client provides one, we later bind this to a CCInputHandlerClient (actually
+ CCLayerTreeHostImpl) from the compositor thread.
+
+ * platform/graphics/chromium/cc/CCInputHandler.h:
+ (WebCore):
+ (CCInputHandler):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::initialize):
+ (WebCore::CCLayerTreeHost::createInputHandler):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCLayerTreeHostClient.h:
+ (WebCore):
+ (CCLayerTreeHostClient):
+ * platform/graphics/chromium/cc/CCProxy.h:
+ (CCProxy):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ (CCSingleThreadProxy):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::CCThreadProxy):
+ (WebCore::CCThreadProxy::start):
+ (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
+ (WebCore::CCThreadProxy::initializeImplOnImplThread):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-09-07 Adam Barth <abarth@chromium.org>
+
+ [V8] Use a v8::Object rather than a v8::Context to represent the creationContext
+ https://bugs.webkit.org/show_bug.cgi?id=96154
+
+ Reviewed by Eric Seidel.
+
+ This patch is a mechanical search-and-replace. Using a v8::Object
+ rather than a v8::Context lets us delay the call to CreationContext()
+ until we actually need to call it. This should not affect behavior.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNormalAttrGetter):
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ (GenerateToV8Converters):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ (WebCore::toV8):
+ (WebCore::V8Float64Array::wrapSlow):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ (WebCore::V8Float64Array::wrap):
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ (WebCore::V8TestActiveDOMObject::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ (WebCore::V8TestCallback::callbackRequiresThisToPass):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::wrapSlow):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ (WebCore::V8TestCustomNamedGetter::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ (WebCore::V8TestEventConstructor::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::V8TestEventTarget::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ (WebCore::V8TestEventTarget::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::wrapSlow):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (V8TestException):
+ (WebCore::V8TestException::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ (WebCore::V8TestInterface::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::wrapSlow):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ (WebCore::V8TestMediaQueryListListener::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ (WebCore::V8TestNamedConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ (WebCore::V8TestNamedConstructor::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (V8TestNode):
+ (WebCore::V8TestNode::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
+ (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
+ (WebCore::TestObjV8Internal::mutablePointAttrGetter):
+ (WebCore::TestObjV8Internal::immutablePointAttrGetter):
+ (WebCore::TestObjV8Internal::objMethodCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback):
+ (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
+ (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::V8TestObj::wrapSlow):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ (WebCore::V8TestObj::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ (WebCore::V8TestSerializedScriptValueInterface::wrap):
+ (WebCore::toV8):
+ * bindings/v8/DOMTransaction.cpp:
+ (WebCore::DOMTransaction::callFunction):
+ * bindings/v8/IDBCustomBindings.cpp:
+ (WebCore::V8IDBCursorWithValue::valueAccessorGetter):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8Binding.h:
+ (WebCore::V8ValueTraits::arrayV8Value):
+ * bindings/v8/V8Collection.h:
+ (WebCore::getV8Object):
+ (WebCore::getNamedPropertyOfCollection):
+ (WebCore::collectionNamedPropertyGetter):
+ (WebCore::getIndexedPropertyOfCollection):
+ (WebCore::collectionIndexedPropertyGetter):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::getter):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (V8DOMWrapper):
+ * bindings/v8/V8ThrowException.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::V8Blob::constructorCallback):
+ * bindings/v8/custom/V8CSSRuleCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8CSSValueCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toV8Object):
+ (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
+ (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::memoryAccessorGetter):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openCallback):
+ (WebCore::V8DOMWindow::indexedPropertyGetter):
+ (WebCore::V8DOMWindow::namedPropertyGetter):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ (WebCore::V8Document::getCSSCanvasContextCallback):
+ (WebCore::toV8):
+ (WebCore::V8Document::createTouchListCallback):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::V8Document::locationAccessorGetter):
+ * bindings/v8/custom/V8EntryCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8EntrySyncCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::V8Event::dataTransferAccessorGetter):
+ (WebCore::V8Event::clipboardDataAccessorGetter):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8FileReaderCustom.cpp:
+ (WebCore::V8FileReader::resultAccessorGetter):
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::V8HTMLAllCollection::namedPropertyGetter):
+ (WebCore::V8HTMLAllCollection::itemCallback):
+ (WebCore::V8HTMLAllCollection::namedItemCallback):
+ (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+ (WebCore::V8HTMLCollection::namedItemCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::getNamedProperty):
+ (WebCore::V8HTMLDocument::allAccessorGetter):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLElementCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::V8HTMLElement::itemValueAccessorGetter):
+ * 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::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
+ (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
+ * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
+ (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8IDBKeyCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ImageDataCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::V8MessageChannel::constructorCallback):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::dataAccessorGetter):
+ (WebCore::V8MessageEvent::portsAccessorGetter):
+ * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::V8NamedNodeMap::indexedPropertyGetter):
+ (WebCore::V8NamedNodeMap::namedPropertyGetter):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::toV8Slow):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::namedPropertyGetter):
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
+ (WebCore::V8NotificationCenter::createNotificationCallback):
+ * bindings/v8/custom/V8PerformanceCustom.cpp:
+ (WebCore::V8Performance::memoryAccessorGetter):
+ * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8PopStateEventCustom.cpp:
+ (WebCore::V8PopStateEvent::stateAccessorGetter):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8SVGElementCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8SVGPathSegCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ScriptProfileCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ (WebCore::V8StyleSheetList::namedPropertyGetter):
+ * bindings/v8/custom/V8TrackEventCustom.cpp:
+ (WebCore::V8TrackEvent::trackAccessorGetter):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toV8Object):
+ (WebCore::getObjectParameter):
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
+ (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getUniformCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::responseAccessorGetter):
+ * dom/make_names.pl:
+ (printWrapperFunctions):
+ (printWrapperFactoryCppFile):
+ (printWrapperFactoryHeaderFile):
+
+2012-09-07 John Bauman <jbauman@chromium.org>
+
+ Check objects for null when recreating context
+ https://bugs.webkit.org/show_bug.cgi?id=95926
+
+ Reviewed by Dean Jackson.
+
+ Upon navigation the FrameViwe and other objects may go null, so detect
+ that and return rather than try to dereference them.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::maybeRestoreContext):
+
+2012-09-07 Simon Fraser <simon.fraser@apple.com>
+
+ box-shadow causes overlay scrollbars to be in the wrong position when element is composited
+ https://bugs.webkit.org/show_bug.cgi?id=85647
+
+ Reviewed by James Robinson.
+
+ The code that positioned the GraphicsLayers for scrollbars failed to take
+ into account any offset between the origin of the compositing layer,
+ and the renderer. This caused scrollbar layers to be misplaced or hidden
+ on layers with, for example, box-shadows.
+
+ Also moved the code that positions the scrollbar layers into RendderLayerBacking,
+ since this is where all the rest of the GraphicsLayer-positioning code lives.
+
+ Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate.
+
+ Manual test, since overlay scrollbars are not enabled in DRT/WTR:
+ ManualTests/scrollbars/scrollbars-in-composited-layers.html
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::positionOverflowControls):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking):
+
+2012-09-07 David Reveman <reveman@chromium.org>
+
+ [Chromium] Multiple commits without invalidation allowed per redraw.
+ https://bugs.webkit.org/show_bug.cgi?id=95661
+
+ Reviewed by James Robinson.
+
+ Always enter COMMIT_STATE_WAITING_FOR_FIRST_DRAW after commit. This
+ ensures we draw before beginning a new frame.
+
+ Unit tests: CCLayerTreeHostTestContinuousCommit.runMultiThread
+ CCLayerTreeHostTestContinuousInvalidate.runMultiThread
+ CCLayerTreeHostTestContinuousAnimate.runMultiThread
+
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ (WebCore::CCSchedulerStateMachine::updateState):
+
+2012-09-07 Tony Chang <tony@chromium.org>
+
+ Add OVERRIDE to computeLogical{Width,Height} overrides
+ https://bugs.webkit.org/show_bug.cgi?id=96153
+
+ Reviewed by Ojan Vafai.
+
+ I plan on renaming these functions to updateLogical{Width,Height} and
+ I want to be extra sure that I don't mess up.
+
+ No new tests, this is just a refactoring.
+
+ * rendering/RenderFlowThread.h: Also mark the functions virtual!
+ * rendering/RenderListBox.h:
+ (RenderListBox):
+ * rendering/RenderMeter.h:
+ (RenderMeter):
+ * rendering/RenderTable.h:
+ (RenderTable):
+ * rendering/RenderTableCell.h:
+ (RenderTableCell):
+ * rendering/RenderTextControl.h:
+ (RenderTextControl):
+ * rendering/svg/RenderSVGForeignObject.h:
+ (RenderSVGForeignObject):
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: WebCore accessibility roles should be cross-platform
+ https://bugs.webkit.org/show_bug.cgi?id=94870
+
+ Reviewed by Chris Fleizach.
+
+ Make 5 accessibility roles cross-platform rather than GTK-only.
+
+ Instead of mapping the HR tag to SplitterRole (which is an interactive
+ splitter control on Mac), create a new role HorizontalRuleRole.
+
+ Map all of the new roles to AXGroup on Mac, which matches the existing
+ behavior. Add a new test for these roles on Chromium.
+
+ Test: platform/chromium/accessibility/chromium-only-roles.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::supportsARIAAttributes):
+ * accessibility/AccessibilityObject.h:
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
+ (atkRole):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (createAccessibilityRoleMap):
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Fix build of GraphicsContext3DOpenGLCommon.cpp with MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=96120
+
+ Reviewed by Noam Rosenthal.
+
+ Variable stack arrays are a GCC extension. Replace their use with OwnArrayPtr, similar to
+ other functions in the same file.
+
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::getActiveAttrib):
+
+2012-09-07 Emil A Eklund <eae@chromium.org>
+
+ Prevent overflows in FractionalLayoutUnit
+ https://bugs.webkit.org/show_bug.cgi?id=95883
+
+ Reviewed by Eric Seidel.
+
+ Avoid overflow in snapSizeToPixel by using the fraction of the
+ location instead of the full value.
+
+ Add safe versions of min/max, adjusted by half a pixel to allow
+ round to allow rounding without overflowing.
+
+ Avoid overflow when snapping a FractionalLayoutRect by using the
+ safe versions of min/max in infiniteRect.
+
+ Avoid overflow when converting from a Length to a LayoutUnit by
+ limiting the value to FractionalLayoutUnit min/max. This matches
+ the behavior of the non-subpixel code path where the values are
+ similarly limited.
+
+ Test: fast/sub-pixel/large-sizes.html
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::computeLength):
+ Limit to FractionalLayoutUnit min/max.
+
+ * platform/FractionalLayoutUnit.h:
+ (FractionalLayoutUnit):
+ (WebCore::FractionalLayoutUnit::nearlyMax):
+ (WebCore::FractionalLayoutUnit::nearlyMin):
+ Reduce max/increase min by 1/2 to allow round to operate
+ without overflowing.
+
+ (WebCore::snapSizeToPixel):
+ * platform/graphics/FractionalLayoutRect.h:
+ (WebCore::FractionalLayoutRect::infiniteRect):
+ Use nearlyMin/nearlyMax.
+
+ (WebCore::pixelSnappedIntRect):
+ Change pixelSnappedIntRect to use snapSizeToPixel.
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127920 and r127926.
+ http://trac.webkit.org/changeset/127920
+ http://trac.webkit.org/changeset/127926
+ https://bugs.webkit.org/show_bug.cgi?id=96152
+
+ billions and billions of assertion failures on mac debug
+ builds (Requested by thorton on #webkit).
+
+ * WebCore.exp.in:
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData):
+ * dom/Document.cpp:
+ (WebCore::Document::~Document):
+ (WebCore::Document::registerCustomFont):
+ (WebCore):
+ (WebCore::Document::deleteCustomFonts):
+ (WebCore::Document::reportMemoryUsage):
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+ * platform/graphics/FontData.h:
+ * platform/graphics/FontFallbackList.cpp:
+ (WebCore::FontFallbackList::releaseFontData):
+ (WebCore::FontFallbackList::fontDataAt):
+ (WebCore::FontFallbackList::setPlatformFont):
+ * platform/graphics/FontFallbackList.h:
+ (FontFallbackList):
+ (WebCore::FontFallbackList::setGlyphPageZero):
+ (WebCore::FontFallbackList::setGlyphPages):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::pruneFontData):
+
+2012-09-07 Arvid Nilsson <anilsson@rim.com>
+
+ [CSS Shaders] WebKitCSSMixFunctionValue.h needs forward declaration of MemoryObjectInfo
+ https://bugs.webkit.org/show_bug.cgi?id=96150
+
+ Reviewed by George Staikos.
+
+ Otherwise files that include it may fail to compile.
+
+ No new tests, because this patch implements no new functionality.
+
+ * css/WebKitCSSMixFunctionValue.h:
+ (WebCore):
+
+2012-09-07 Stephen Chenney <schenney@chromium.org>
+
+ Mac build fix.
+ https://bugs.webkit.org/show_bug.cgi?id=93640
+
+ Reviewed by Abhishek Arya.
+
+ The original patch for this bug broke the mac builds.
+
+ * WebCore.exp.in: Adding const marker
+
+2012-09-07 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] Add touchscreen specific fling curve parametrization
+ https://bugs.webkit.org/show_bug.cgi?id=95997
+
+ Reviewed by James Robinson.
+
+ Added a new set of fling curve parameters with a good feel for touchscreen
+ initiated flings. Renamed TouchpadFlingPlatformGestureCurve to
+ TouchFlingPlatformGestureCurve to better reflect that the class
+ can serve for both touchscreen and touchpad flings when appropriately
+ parametrized. Updated build files as necessary for the rename.
+
+ No new tests - existing tests apply.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * WebCore.gypi:
+ * platform/ScrollAnimatorNone.cpp:
+ (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
+ * platform/TouchFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp.
+ (WebCore):
+ (WebCore::TouchFlingPlatformGestureCurve::createForTouchPad):
+ (WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen):
+ Added with touchscreen parameters.
+ (WebCore::TouchFlingPlatformGestureCurve::create):
+ (WebCore::position):
+ (WebCore::velocity):
+ (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
+ (WebCore::TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve):
+ (WebCore::TouchFlingPlatformGestureCurve::debugName):
+ (WebCore::TouchFlingPlatformGestureCurve::apply):
+ * platform/TouchFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h.
+ (WebCore):
+ (TouchFlingPlatformGestureCurve):
+ * platform/chromium/support/PlatformGestureCurveFactory.cpp: invokes
+ createForTouchPad or createForTouchScreen as appropriate.
+ (WebKit::PlatformGestureCurveFactory::createCurve):
+
+2012-09-07 Adam Barth <abarth@chromium.org>
+
+ Enter the creationContext before creating DOM wrappers
+ https://bugs.webkit.org/show_bug.cgi?id=96044
+
+ Reviewed by Eric Seidel.
+
+ Now that we have the creationContext available when instantiating DOM
+ wrappers, we should use it! After this patch, we enter the creation
+ context so that the DOM wrapper is created in the right context (and
+ therefore has the right prototype chain).
+
+ This patch would have been tested by
+ fast/dom/prototype-inheritance.html, but that test was removed because
+ it was too much work to maintain. I'll post what the diff would have
+ been to the results for that test as an attachment to this bug.
+
+ Note: After this patch there are a number of cleanup patches to write,
+ but I'll do those separately.
+
+ * bindings/js/JSGeolocationCustom.cpp:
+ (WebCore::JSGeolocation::getCurrentPosition):
+ (WebCore::JSGeolocation::watchPosition):
+ - This patch also includes a minor bug fix to the JSC implementations
+ of Geolocation and Notifications. Previously, JSC was using the
+ current lexical context for the callback object, which makes very
+ little sense as it neither cooresponds to the Geolocation (or
+ Notification) object or the functions being used for the callback.
+
+ To be consistent with how we do callbacks elsewhere in WebKit, we
+ should use the context that corresponds to the Geolocation (or
+ Notification) object. This change happened automatically for V8
+ when this patch fixed the Geolocation (and Notifications) wrapper
+ to use the right context, but for JSC we need to change these lines
+ of code explicitly.
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateToV8Converters):
+
+2012-09-07 Leo Yang <leoyang@rim.com>
+
+ Appcache fallback URL match should use the longest candidate
+ https://bugs.webkit.org/show_bug.cgi?id=96126
+
+ Reviewed by Alexey Proskuryakov.
+
+ Test: http/tests/appcache/multi-fallback.html
+
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::fallbackURLLongerThan):
+ (WebCore::ApplicationCache::setFallbackURLs):
+
+2012-09-07 Stephen Chenney <schenney@chromium.org>
+
+ Font data is purged while fonts are still using it
+ https://bugs.webkit.org/show_bug.cgi?id=93640
+
+ Reviewed by Eric Seidel.
+
+ Move the handling of custom font pruning from Document to FontFallbackList.
+ The previous inplementation allowed fonts to be removed before all their
+ clients were done. This change moves handling of custom font purging to the
+ FontFallbackList class, which is the shared object that is only removed
+ when all clients of a font are done with it. This fixes a crash in Angry
+ Birds due to a seamless iframe and some failing tests in fast/frames/seamless.
+
+ The specific element that causes problems is:
+ <iframe id="ingame_frame0" name="ingame_frame0" frameborder="0" seamless="true"
+ src="http://chrome.angrybirds.com/ingame_graphic.html"
+ onload="this.style.opacity = 1; parent.adLoaded();" scrolling="no"
+ style="opacity: 1; -webkit-transition: opacity 1s ease-in-out 0s;
+ position: absolute; border: 0px; width: 312px; height: 320px; z-index:
+ 300; overflow: hidden; visibility: visible;"></iframe>
+ The source document uses the same font as the embedding document.
+
+ Tests: fast/frames/seamless/seamless-custom-font-pruning-crash.html
+ fast/frames/seamless/seamless-nested-crash.html
+
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData): Remove code to register the
+ font with the document.
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData): Remove code to register
+ the font with the document.
+ * dom/Document.cpp:
+ (WebCore::Document::~Document): Remove code that records and purges
+ custom fonts.
+ (WebCore):
+ (WebCore::Document::reportMemoryUsage): Remove reference to removed
+ object.
+ * dom/Document.h:
+ (Document): Remove method declarations for custom font handling.
+ * platform/graphics/FontData.h: Add RefCounted to FontData. Previously, FontData
+ for custom fonts was owned by a Vector<OwnPtr<FontData>> in Document. Now it
+ is owned by FontFallbackList, and ref counting is required. A future patch will
+ add RefPtr code for all FontData use cases.
+ * platform/graphics/FontFallbackList.cpp:
+ (WebCore): Add global custom font data cache, which owns the FontData pointers
+ used as keys.
+ (WebCore::FontFallbackList::appendFontData): Helper method increments
+ the ref count on custom FontData.
+ (WebCore::FontFallbackList::releaseFontData): Helper method decrements
+ the ref count on custom FontData.
+ (WebCore::FontFallbackList::fontDataAt): Add calls to register the
+ FontFallbackList as a client of custom fonts.
+ * platform/graphics/FontFallbackList.h:
+ (WebCore::FontFallbackList::setGlyphPageZero): Moved this declaration.
+ (WebCore::FontFallbackList::setGlyphPages): Moved this declaration.
+ (FontFallbackList):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::pruneFontData): Removed unnecessary null check.
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127911.
+ http://trac.webkit.org/changeset/127911
+ https://bugs.webkit.org/show_bug.cgi?id=96146
+
+ Patch breaks build with clang (Requested by rbuis on #webkit).
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::getValidatedProgram):
+ * platform/graphics/filters/CustomFilterMesh.cpp:
+ (WebCore):
+ (MeshGenerator):
+ (WebCore::MeshGenerator::MeshGenerator):
+ (WebCore::MeshGenerator::vertices):
+ (WebCore::MeshGenerator::indices):
+ (WebCore::MeshGenerator::points):
+ (WebCore::MeshGenerator::pointsCount):
+ (WebCore::MeshGenerator::tiles):
+ (WebCore::MeshGenerator::tilesCount):
+ (WebCore::MeshGenerator::indicesCount):
+ (WebCore::MeshGenerator::floatsPerVertex):
+ (WebCore::MeshGenerator::verticesCount):
+ (WebCore::MeshGenerator::addTile):
+ (WebCore::MeshGenerator::addAttachedMeshIndex):
+ (WebCore::MeshGenerator::generateAttachedMesh):
+ (WebCore::MeshGenerator::addDetachedMeshVertexAndIndex):
+ (WebCore::MeshGenerator::generateDetachedMesh):
+ (WebCore::MeshGenerator::addPositionAttribute):
+ (WebCore::MeshGenerator::addTexCoordAttribute):
+ (WebCore::MeshGenerator::addMeshCoordAttribute):
+ (WebCore::MeshGenerator::addTriangleCoordAttribute):
+ (WebCore::MeshGenerator::addAttachedMeshVertexAttributes):
+ (WebCore::MeshGenerator::addDetachedMeshVertexAttributes):
+ (WebCore::MeshGenerator::dumpBuffers):
+ (WebCore::CustomFilterMesh::CustomFilterMesh):
+ * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Removed.
+ * platform/graphics/filters/CustomFilterMeshGenerator.h: Removed.
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
+ (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
+ (WebCore::CustomFilterValidatedProgram::compiledProgram):
+ (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
+ * platform/graphics/filters/CustomFilterValidatedProgram.h:
+ (CustomFilterValidatedProgram):
+ * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Removed.
+
+2012-09-07 Ojan Vafai <ojan@chromium.org>
+
+ Fix RenderBox::availableHeight to subtract scrollbars in the right places
+ https://bugs.webkit.org/show_bug.cgi?id=96031
+
+ Reviewed by Tony Chang.
+
+ This matches Firefox 15 and IE9 rendering for the two new tests.
+
+ Tests: fast/block/positioning/percent-top-left-on-relative-position.html
+ fast/css/nested-percent-height-on-replaced.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePercentageLogicalHeight):
+ Subtract scrollbars when recurring on percentage heights.
+ (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
+ This is the wrong place to subtract scrollbars. availableLogicalHeight
+ should return a value that doesn't include scrollbars.
+ (WebCore::RenderBox::availableLogicalHeightUsing):
+ Subtract scrollbars from specified heights. Also, consolidate the code to
+ use computeContentLogicalHeightUsing. This makes percentage heights use
+ the right containingBlock in quirks mode and makes viewport percentage heights work.
+
+2012-09-07 Tony Chang <tony@chromium.org>
+
+ Make RenderBox::computeLogicalWidthInRegion const
+ https://bugs.webkit.org/show_bug.cgi?id=96129
+
+ Reviewed by Ojan Vafai.
+
+ Making computeLogicalWidthInRegion const allows us to get rid of the gross hack in
+ RenderBox::renderBoxRegionInfo.
+
+ No new tests, this is covered by existing layout tests.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::constrainLogicalWidthInRegionByMinMax): Make const.
+ (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Make const.
+ (WebCore::RenderBox::computeLogicalWidth): Use a LogicalExtentComputedValues when calling computeLogicalWidthInRegion.
+ (WebCore::RenderBox::computeLogicalWidthInRegion): Make const. Fill in a LogicalExtentComputedValues struct instead.
+ (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Make const.
+ (WebCore::RenderBox::renderBoxRegionInfo): Remove hack and get region width values in a LogicalExtentComputedValues struct.
+ * rendering/RenderBox.h:
+ (RenderBox):
+
+2012-09-07 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove bad assert in CCRenderPass::Id
+ https://bugs.webkit.org/show_bug.cgi?id=96138
+
+ Reviewed by James Robinson.
+
+ The assert prevents HashMap from creating "deleted" and "empty" ids. We
+ assert that RenderPasses have correct ids already, and don't need to
+ assert inside the Id structure itself.
+
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (WebCore::CCRenderPass::Id::Id):
+
+2012-09-07 Arvid Nilsson <anilsson@rim.com>
+
+ [CSS Shaders] [BlackBerry] Refactor CustomFilterMesh and CustomFilter*Program
+ https://bugs.webkit.org/show_bug.cgi?id=94725
+
+ Reviewed by Rob Buis.
+
+ Separate the MeshGenerator from the CustomFilterMesh into
+ CustomFilterMeshGenerator.h/cpp. This allows the BlackBerry port to
+ reuse the mesh generator in its accelerated compositing implementation.
+
+ Also add support for creating a "PlatformCompiledProgram" from a
+ CustomFilterValidatedProgram, so the BlackBerry port can reuse the
+ shader validation code in its accelerated compositing implementation.
+
+ It turns out the GraphicsContext3D is not needed for ANGLE to function,
+ so this patch removes an ASSERT that required a context before
+ validating the shaders using ANGLE. This allows the BlackBerry port to
+ reuse the validation code without triggering the assert. In the future,
+ the validation code could be moved to a separate class to make it more
+ obvious that it isn't really related to GraphicsContext3D.
+
+ In general, this refactoring can be useful for any port that uses
+ OpenGL to implement accelerated compositing.
+
+ Inspired by an original patch by Joshua Netterfield.
+
+ No new tests, because this patch implements no new functionality.
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::getValidatedProgram):
+ * platform/graphics/filters/CustomFilterMesh.cpp:
+ (WebCore::CustomFilterMesh::CustomFilterMesh):
+ * platform/graphics/filters/CustomFilterMeshGenerator.cpp: Added.
+ (WebCore):
+ (WebCore::CustomFilterMeshGenerator::CustomFilterMeshGenerator):
+ (WebCore::CustomFilterMeshGenerator::addAttachedMeshIndex):
+ (WebCore::CustomFilterMeshGenerator::generateAttachedMesh):
+ (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex):
+ (WebCore::CustomFilterMeshGenerator::generateDetachedMesh):
+ (WebCore::CustomFilterMeshGenerator::addPositionAttribute):
+ (WebCore::CustomFilterMeshGenerator::addTexCoordAttribute):
+ (WebCore::CustomFilterMeshGenerator::addMeshCoordAttribute):
+ (WebCore::CustomFilterMeshGenerator::addTriangleCoordAttribute):
+ (WebCore::CustomFilterMeshGenerator::addAttachedMeshVertexAttributes):
+ (WebCore::CustomFilterMeshGenerator::addDetachedMeshVertexAttributes):
+ (WebCore::CustomFilterMeshGenerator::dumpBuffers):
+ * platform/graphics/filters/CustomFilterMeshGenerator.h: Added.
+ (WebCore):
+ (CustomFilterMeshGenerator):
+ (WebCore::CustomFilterMeshGenerator::vertices):
+ (WebCore::CustomFilterMeshGenerator::indices):
+ (WebCore::CustomFilterMeshGenerator::points):
+ (WebCore::CustomFilterMeshGenerator::pointsCount):
+ (WebCore::CustomFilterMeshGenerator::tiles):
+ (WebCore::CustomFilterMeshGenerator::tilesCount):
+ (WebCore::CustomFilterMeshGenerator::indicesCount):
+ (WebCore::CustomFilterMeshGenerator::floatsPerVertex):
+ (WebCore::CustomFilterMeshGenerator::verticesCount):
+ (WebCore::CustomFilterMeshGenerator::addTile):
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
+ (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
+ (WebCore::CustomFilterValidatedProgram::compiledProgram):
+ (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
+ (WebCore):
+ (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
+ (WebCore::CustomFilterValidatedProgram::platformDestroy):
+ * platform/graphics/filters/CustomFilterValidatedProgram.h:
+ (WebCore):
+ (CustomFilterValidatedProgram):
+ * platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp: Added.
+ (WebCore):
+ (WebCore::CustomFilterValidatedProgram::platformCompiledProgram):
+ (WebCore::CustomFilterValidatedProgram::platformDestroy):
+
+2012-09-07 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make RenderPass ids hold both generating layer id and an index
+ https://bugs.webkit.org/show_bug.cgi?id=95500
+
+ Reviewed by Adrienne Walker.
+
+ This change allows us to avoid complex renderPassId mappings between
+ compositors for ubercomp. The ubercomp layer needs to add a number
+ of RenderPasses to the frame, and these must not conflict with other
+ RenderPasses in the frame. By using its layer id along with an extra
+ value it determines, the layer can create a unique id without needing
+ access to any global state or id generator.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
+ * platform/graphics/chromium/cc/CCDirectRenderer.h:
+ (CCDirectRenderer):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ (WebCore::findRenderPassById):
+ (WebCore::removeRenderPassesRecursive):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::create):
+ (WebCore::CCRenderPass::CCRenderPass):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (Id):
+ (WebCore::CCRenderPass::Id::Id):
+ (WebCore::CCRenderPass::Id::operator==):
+ (WebCore::CCRenderPass::Id::operator!=):
+ (WebCore::CCRenderPass::Id::operator<):
+ (CCRenderPass):
+ (WebCore::CCRenderPass::id):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
+ (WebCore::CCRenderPassDrawQuad::create):
+ (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
+ (CCRenderPassDrawQuad):
+ (WebCore::CCRenderPassDrawQuad::renderPassId):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::renderPassId):
+ (WebCore):
+ (WebCore::CCRenderSurface::appendRenderPasses):
+ (WebCore::CCRenderSurface::appendQuads):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (WebCore):
+ (CCRenderSurface):
+ * platform/graphics/chromium/cc/CCRenderer.h:
+ (WebCore::CCRenderer::haveCachedResourcesForRenderPassId):
+
+2012-09-07 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: add RTCPeerConnection::createAnswer
+ https://bugs.webkit.org/show_bug.cgi?id=96092
+
+ Reviewed by Adam Barth.
+
+ Test: fast/mediastream/RTCPeerConnection-createAnswer.html
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::createAnswer):
+ (WebCore):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::createAnswer):
+ (WebCore):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::createAnswer):
+ (WebCore):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [REGRESSION] Content is not available for dynamically loaded script sometimes.
+ https://bugs.webkit.org/show_bug.cgi?id=95954
+
+ Reviewed by Yury Semikhatsky.
+
+ Resource now loads content from request when it is available.
+ Content was loaded from PageAgent before where it might be not available if the resource was already GCed.
+
+ Test: http/tests/inspector/resource-tree/resource-request-content-after-loading-and-clearing-cache.html
+
+ * inspector/front-end/Resource.js:
+ (WebInspector.Resource.prototype._innerRequestContent.contentLoaded):
+ (WebInspector.Resource.prototype._innerRequestContent.resourceContentLoaded):
+ (WebInspector.Resource.prototype._innerRequestContent):
+
+2012-09-07 Adam Barth <abarth@webkit.org>
+
+ HTMLTokenizer should use the latest EfficientStrings hotness
+ https://bugs.webkit.org/show_bug.cgi?id=95276
+
+ Reviewed by Benjamin Poulain.
+
+ Using ASCIILiteral avoids memcpying the string into the heap and
+ therefore uses less total memory.
+
+ * html/parser/HTMLTokenizer.cpp:
+ (WebCore::HTMLTokenizer::nextToken):
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove dead CCActiveGestureAnimation code and related classes
+ https://bugs.webkit.org/show_bug.cgi?id=96075
+
+ Reviewed by Adrienne Walker.
+
+ The CCGestureCurve / CCActiveGestureAnimation code isn't used and never has been used. Gesture curves are
+ evaluated by the CCInputHandlerClient (WebCompositorInputHandlerImpl), CC itself logically doesn't know anything
+ about gestures.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: Removed.
+ * platform/graphics/chromium/cc/CCActiveGestureAnimation.h: Removed.
+ * platform/graphics/chromium/cc/CCGestureCurve.h: Removed.
+ * platform/graphics/chromium/cc/CCInputHandler.h:
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::animate):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImpl):
+
+2012-09-07 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Move user agent helpers to WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=95745
+
+ Reviewed by Carlos Garcia Campos.
+
+ Moved the user agent determination code from WebKit1 to WebCore so that it can
+ be shared with WebKit2. Also add a method for creating the user agent given
+ a non-default application name.
+
+ * GNUmakefile.list.am: Add new files to the list.
+ * platform/gtk/UserAgentGtk.cpp: Added.
+ * platform/gtk/UserAgentGtk.h.in: Added.
+
+2012-09-07 Adam Barth <abarth@webkit.org>
+
+ Update bindings results after https://bugs.webkit.org/show_bug.cgi?id=96039
+
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ (WebCore::toV8):
+ (WebCore::V8Float64Array::wrapSlow):
+ * bindings/scripts/test/V8/V8Float64Array.h:
+ (V8Float64Array):
+ (WebCore::V8Float64Array::wrap):
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
+ (V8TestActiveDOMObject):
+ (WebCore::V8TestActiveDOMObject::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestCallback.cpp:
+ (WebCore::V8TestCallback::callbackWithClass1Param):
+ (WebCore::V8TestCallback::callbackWithClass2Param):
+ (WebCore::V8TestCallback::callbackWithStringList):
+ (WebCore::V8TestCallback::callbackRequiresThisToPass):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::wrapSlow):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
+ (V8TestCustomNamedGetter):
+ (WebCore::V8TestCustomNamedGetter::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventConstructor.h:
+ (V8TestEventConstructor):
+ (WebCore::V8TestEventConstructor::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::TestEventTargetV8Internal::itemCallback):
+ (WebCore::V8TestEventTarget::wrapSlow):
+ * bindings/scripts/test/V8/V8TestEventTarget.h:
+ (V8TestEventTarget):
+ (WebCore::V8TestEventTarget::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::wrapSlow):
+ * bindings/scripts/test/V8/V8TestException.h:
+ (V8TestException):
+ (WebCore::V8TestException::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
+ (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
+ (WebCore::V8TestInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestInterface.h:
+ (V8TestInterface):
+ (WebCore::V8TestInterface::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::wrapSlow):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
+ (V8TestMediaQueryListListener):
+ (WebCore::V8TestMediaQueryListListener::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructorConstructorCallback):
+ (WebCore::V8TestNamedConstructor::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.h:
+ (V8TestNamedConstructor):
+ (WebCore::V8TestNamedConstructor::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.h:
+ (V8TestNode):
+ (WebCore::V8TestNode::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
+ (WebCore::TestObjV8Internal::typedArrayAttrAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
+ (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
+ (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
+ (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
+ (WebCore::TestObjV8Internal::mutablePointAttrGetter):
+ (WebCore::TestObjV8Internal::immutablePointAttrGetter):
+ (WebCore::TestObjV8Internal::objMethodCallback):
+ (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
+ (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjCallback):
+ (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
+ (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
+ (WebCore::TestObjV8Internal::getSVGDocumentCallback):
+ (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
+ (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
+ (WebCore::TestObjV8Internal::strictFunctionCallback):
+ (WebCore::V8TestObj::wrapSlow):
+ * bindings/scripts/test/V8/V8TestObj.h:
+ (V8TestObj):
+ (WebCore::V8TestObj::wrap):
+ (WebCore::toV8):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
+ (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
+ (V8TestSerializedScriptValueInterface):
+ (WebCore::V8TestSerializedScriptValueInterface::wrap):
+ (WebCore::toV8):
+
+2012-09-07 Lianghui Chen <liachen@rim.com>
+
+ [BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus.
+ https://bugs.webkit.org/show_bug.cgi?id=95488
+ PR: 186597.
+
+ Internally reviewed by Joe Mason.
+ Reviewed by Yong Li.
+
+ The fix for this PR will come as 2 patches. This is the first patch which
+ will make the authentication challenge asynchronous inside WebKit. The
+ bext patch will add an AuthenticationChallengeManager that manages these
+ authentication requests asynchronously.
+
+ This patch add AuthenticationChallengeClient interface to define asynchronous
+ authentication challenge callback. And MediaPlayerPrivateBlackBerry and
+ NetworkJob are changed to inherit from AuthenticationChallengeClient to
+ support asynchronous authentication challenge.
+
+ Note: there is also an accompanying platform patch to make our PlatformPlayer
+ to support asychronous authentication, see PR 186597 for details.
+
+ No new tests as this is platform specific change.
+
+ * platform/blackberry/AuthenticationChallengeManager.h: Added.
+ (WebCore):
+ (AuthenticationChallengeClient):
+ * platform/blackberry/PageClientBlackBerry.h:
+ (WebCore):
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
+ (WebCore::MediaPlayerPrivate::onAuthenticationNeeded):
+ (WebCore::MediaPlayerPrivate::notifyChallengeResult):
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
+ (MediaPlayerPrivate):
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::sendRequestWithCredentials):
+ (WebCore::NetworkJob::notifyChallengeResult):
+ (WebCore):
+ * platform/network/blackberry/NetworkJob.h:
+ (WebCore):
+ (NetworkJob):
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: ARIA spin button should support range value attributes
+ https://bugs.webkit.org/show_bug.cgi?id=96076
+
+ Reviewed by Chris Fleizach.
+
+ Make an ARIA spin button support ARIA range attributes like
+ aria-valuenow, aria-valuemin, etc. - just like slider, progressbar,
+ and scrollbar.
+
+ Test: accessibility/spinbutton-value.html
+
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isSpinButton):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::valueDescription):
+ (WebCore):
+ (WebCore::AccessibilityRenderObject::isAriaRange):
+ (WebCore::AccessibilityRenderObject::valueForRange):
+ (WebCore::AccessibilityRenderObject::maxValueForRange):
+ (WebCore::AccessibilityRenderObject::minValueForRange):
+ (WebCore::AccessibilityRenderObject::stringValue):
+ (WebCore::AccessibilityRenderObject::title):
+ (WebCore::AccessibilityRenderObject::isGenericFocusableElement):
+ (WebCore::AccessibilityRenderObject::ariaRoleHasPresentationalChildren):
+ * accessibility/AccessibilityRenderObject.h:
+ (AccessibilityRenderObject):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127820.
+ http://trac.webkit.org/changeset/127820
+ https://bugs.webkit.org/show_bug.cgi?id=96117
+
+ Introduces crashes in Chromium compositing tests (Requested by
+ fsamuel on #webkit).
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::evictAllContentTextures):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
+ (WebCore::CCPrioritizedTextureManager::clearAllMemory):
+ (WebCore::CCPrioritizedTextureManager::allBackingTexturesWereDeleted):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
+ (CCPrioritizedTextureManager):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::commitAndComposite):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::beginFrame):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Add another all-in-one source
+
+ Rubber-stamped by Tor Arne Vestbø.
+
+ * Target.pri: We can safely add platform/text/TextAllInOne.cpp to ALL_IN_ONE_SOURCES for
+ even smaller combined builds.
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ The existing API was overloaded and could be simplified by passing all the bool arguments in
+ a HitTestRequest argument. This should also help clarify the call as the enum values explicitely
+ state what they do.
+
+ * WebCore.exp.in:
+ * WebCore.order:
+ * dom/Document.cpp:
+ (WebCore::Document::nodesFromRect):
+ * dom/Document.h:
+ (Document):
+ * page/ContextMenuController.cpp:
+ (WebCore::ContextMenuController::createContextMenu):
+ * page/DragController.cpp:
+ (WebCore::DragController::canProcessDrag):
+ (WebCore::DragController::startDrag):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::updateAutoscrollRenderer):
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ (WebCore::EventHandler::handleMousePressEvent):
+ (WebCore::EventHandler::handleGestureEvent):
+ (WebCore::EventHandler::bestClickableNodeForTouchPoint):
+ (WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
+ (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
+ (WebCore::EventHandler::handleTouchEvent):
+ * page/EventHandler.h:
+ (EventHandler):
+ * page/FocusController.cpp:
+ (WebCore::updateFocusCandidateIfNeeded):
+ * page/Frame.cpp:
+ (WebCore::Frame::visiblePositionForPoint):
+ (WebCore::Frame::documentAtPoint):
+ * page/TouchDisambiguation.cpp:
+ (WebCore::findGoodTouchTargets):
+ * rendering/HitTestRequest.h:
+ (HitTestRequest):
+ * testing/Internals.cpp:
+ (WebCore::Internals::nodesFromRect):
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Build of OpenGLShims.cpp against EGL/GLES2 platforms is broken
+ https://bugs.webkit.org/show_bug.cgi?id=95556
+
+ Reviewed by Jocelyn Turcotte.
+
+ There were a few problems:
+
+ 1) GL_ANGLE_framebuffer_blit is the name of the macro indicating the
+ availability of the _declaration_ of that ANGLE extension. It is not the
+ name of the actual function, which is glBlitFramebufferANGLE.
+
+ 2) The presence of the preprocessor macros indicating the availability
+ of the declaration of the extension does not imply presence of the extension
+ prototypes at link time. Instead extensions need to be looked up dynamically
+ at run-time.
+
+ 3) dlfcn.h was unconditionally included. We do not need it when building against
+ Qt (and there it breaks the Windows build)
+
+ This patch implements the dynamic lookup of glBlitFramebufferANGLE
+ (used in GraphicsContext3DOpenGLES.cpp) as well as the dynamic lookup of the
+ Angle and Apple renderbuffer multisampling extensions.
+
+ * platform/graphics/OpenGLShims.cpp:
+ (WebCore):
+ (WebCore::initializeOpenGLShims):
+
+2012-09-07 Zan Dobersek <zandobersek@gmail.com>
+
+ [GTK] Multiple feature defines in webcore_cppflags can occur
+ https://bugs.webkit.org/show_bug.cgi?id=95942
+
+ Reviewed by Martin Robinson.
+
+ Any feature define that guards a feature deemed currently unstable (is intended
+ to be enabled in developer builds but not in release builds) should be added to the
+ newly-added feature_defines_unstable variable.
+
+ This moves away from adding such feature defines to the feature_defines_overrides variable
+ as this can cause duplicates in the later-generated feature_defines and webcore_cppflags
+ variables and further warnings of duplicate macros when generating bindings.
+
+ The feature_defines generation is now done by first checking if the bare feature define
+ is present in feature_defines_unstable, if not then feature_defines_overrides is also
+ checked before using the value from feature_defines_defaults.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am:
+
+2012-09-07 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: move WebCore specific code to separate header
+ https://bugs.webkit.org/show_bug.cgi?id=96101
+
+ Reviewed by Yury Semikhatsky.
+
+ I extracted WebCore related code from MemoryInstrumentation.h to WebCoreMemoryInstrumentation.h
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/js/ScriptWrappable.h:
+ * bindings/v8/DOMDataStore.cpp:
+ * bindings/v8/IntrusiveDOMWrapperMap.h:
+ * bindings/v8/ScriptProfiler.cpp:
+ * bindings/v8/ScriptWrappable.h:
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8DOMMap.h:
+ * css/CSSAspectRatioValue.cpp:
+ * css/CSSBorderImageSliceValue.cpp:
+ * css/CSSCalculationValue.cpp:
+ * css/CSSCanvasValue.cpp:
+ * css/CSSCharsetRule.cpp:
+ * css/CSSComputedStyleDeclaration.cpp:
+ * css/CSSCrossfadeValue.cpp:
+ * css/CSSCursorImageValue.cpp:
+ * css/CSSFontFaceRule.cpp:
+ * css/CSSFontFaceSrcValue.cpp:
+ * css/CSSFunctionValue.cpp:
+ * css/CSSGradientValue.cpp:
+ * css/CSSImageGeneratorValue.cpp:
+ * css/CSSImageSetValue.cpp:
+ * css/CSSImageValue.cpp:
+ * css/CSSImportRule.cpp:
+ * css/CSSInheritedValue.cpp:
+ * css/CSSInitialValue.cpp:
+ * css/CSSLineBoxContainValue.cpp:
+ * css/CSSMediaRule.cpp:
+ * css/CSSPrimitiveValue.cpp:
+ * css/CSSProperty.cpp:
+ * css/CSSReflectValue.cpp:
+ * css/CSSRuleList.h:
+ * css/CSSSelectorList.cpp:
+ * css/CSSStyleRule.cpp:
+ * css/CSSStyleSheet.cpp:
+ * css/CSSTimingFunctionValue.cpp:
+ * css/CSSUnicodeRangeValue.cpp:
+ * css/CSSUnknownRule.h:
+ * css/CSSValue.cpp:
+ * css/CSSValueList.cpp:
+ * css/CSSVariableValue.h:
+ * css/FontFeatureValue.cpp:
+ * css/FontValue.cpp:
+ * css/MediaList.cpp:
+ * css/MediaQuery.cpp:
+ * css/MediaQueryExp.cpp:
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ * css/ShadowValue.cpp:
+ * css/StyleResolver.cpp:
+ * css/StyleRule.cpp:
+ * css/StyleSheetContents.cpp:
+ * css/WebKitCSSArrayFunctionValue.cpp:
+ * css/WebKitCSSFilterValue.cpp:
+ * css/WebKitCSSKeyframeRule.cpp:
+ * css/WebKitCSSKeyframesRule.cpp:
+ * css/WebKitCSSMixFunctionValue.cpp:
+ * css/WebKitCSSSVGDocumentValue.cpp:
+ * css/WebKitCSSShaderValue.cpp:
+ * css/WebKitCSSTransformValue.cpp:
+ * dom/CharacterData.cpp:
+ * dom/Document.cpp:
+ * dom/DocumentEventQueue.cpp:
+ * dom/ElementAttributeData.cpp:
+ * dom/Event.cpp:
+ * dom/MemoryInstrumentation.h:
+ * dom/Node.cpp:
+ * dom/QualifiedName.h:
+ * dom/WebCoreMemoryInstrumentation.cpp: Renamed from Source/WebCore/dom/MemoryInstrumentation.cpp.
+ (WebCore):
+ (WebCore::String):
+ (WebCore::StringImpl):
+ (WebCore::KURL):
+ (WebCore::AtomicString):
+ * dom/WebCoreMemoryInstrumentation.h: Added.
+ (WebCore):
+ (WebCoreMemoryTypes):
+ * loader/DocumentLoader.cpp:
+ * loader/FrameLoader.cpp:
+ * loader/SubresourceLoader.cpp:
+ * loader/SubstituteData.cpp:
+ * loader/cache/CachedCSSStyleSheet.cpp:
+ * loader/cache/CachedFont.cpp:
+ * loader/cache/CachedRawResource.cpp:
+ * loader/cache/CachedResource.cpp:
+ * loader/cache/CachedResourceHandle.cpp:
+ * loader/cache/CachedScript.cpp:
+ * loader/cache/CachedShader.cpp:
+ * loader/cache/CachedXSLStyleSheet.cpp:
+ * loader/cache/MemoryCache.cpp:
+ * platform/SharedBuffer.cpp:
+ * platform/graphics/BitmapImage.cpp:
+ * platform/graphics/CrossfadeGeneratedImage.cpp:
+ * platform/graphics/GeneratedImage.cpp:
+ * platform/graphics/GeneratorGeneratedImage.h:
+ * platform/graphics/Image.cpp:
+ * platform/network/FormData.cpp:
+ * platform/network/ResourceRequestBase.cpp:
+ * platform/network/ResourceResponseBase.cpp:
+ * rendering/style/RenderStyle.cpp:
+ * rendering/style/StyleRareInheritedData.cpp:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ * svg/SVGColor.cpp:
+ * svg/SVGPaint.cpp:
+
+2012-09-07 Ian Vollick <vollick@chromium.org>
+
+ [chromium] We should accelerate all transformations, except when we must blend matrices that cannot be decomposed.
+ https://bugs.webkit.org/show_bug.cgi?id=95855
+
+ Reviewed by James Robinson.
+
+ WebTransformOperations are now able to report if they can successfully blend.
+ WebTransformationMatrix::blend now returns a bool if blending would fail.
+
+ Unit tests:
+ AnimationTranslationUtilTest.createTransformAnimationWithNonDecomposableMatrix
+ AnimationTranslationUtilTest.createTransformAnimationWithNonInvertibleTransform
+
+ * platform/chromium/support/WebTransformOperations.cpp:
+ (WebKit::blendTransformOperations):
+ (WebKit::WebTransformOperations::blend):
+ (WebKit::WebTransformOperations::canBlendWith):
+ (WebKit):
+ (WebKit::WebTransformOperations::blendInternal):
+ * platform/chromium/support/WebTransformationMatrix.cpp:
+ (WebKit::WebTransformationMatrix::blend):
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::WebTransformAnimationCurve):
+
+2012-09-07 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127780 and r127859.
+ http://trac.webkit.org/changeset/127780
+ http://trac.webkit.org/changeset/127859
+ https://bugs.webkit.org/show_bug.cgi?id=96102
+
+ "inspector/styles/protocol-css-regions-commands.html crashing
+ on Chromium Linux Debug and timing out flakily on Release"
+ (Requested by apavlov on #webkit).
+
+ * dom/NamedFlowCollection.cpp:
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::reset):
+ (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+ (WebCore::InspectorCSSAgent::didRemoveNamedFlow):
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::getFlowByName):
+ (WebCore):
+ * inspector/InspectorCSSAgent.h:
+ (WebCore):
+ (InspectorCSSAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow):
+ (WebCore::InspectorInstrumentation::didRemoveNamedFlow):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
+ (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
+ (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlow.parsePayloadArray):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
+
+2012-09-07 Sami Kyostila <skyostil@google.com>
+
+ [chromium] Dynamically removing preserve-3d from a layer has no effect
+ https://bugs.webkit.org/show_bug.cgi?id=95732
+
+ Reviewed by James Robinson.
+
+ Fix removal of preserve-3d CSS attribute from a GraphicsLayerChromium.
+ It was broken by a refactor in http://trac.webkit.org/changeset/126378.
+
+ Test: platform/chromium/compositing/preserve-3d-toggle.html
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2012-09-06 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Implement SCSS source highlighter
+ https://bugs.webkit.org/show_bug.cgi?id=95585
+
+ Reviewed by Vsevolod Vlasov.
+
+ This change modifies the existing CSS highlighter to support SCSS as well. The "text/x-scss" mime-type is assigned to SASSSource.
+
+ * inspector/front-end/CSSCompletions.js:
+ (WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet):
+ * inspector/front-end/ContentProviders.js:
+ (WebInspector.StaticContentProvider): Enabled clients to supply the content mime-type.
+ (WebInspector.StaticContentProvider.prototype.mimeType):
+ (WebInspector.StaticContentProvider.prototype.requestContent): Use client-supplied content mime-type, if any.
+ * inspector/front-end/SASSSourceMapping.js:
+ (WebInspector.SASSSource): Construct StaticContentProvider with the "text/x-scss" mime-type.
+ * inspector/front-end/SourceCSSTokenizer.js:
+ (WebInspector.SourceCSSTokenizer):
+ (WebInspector.SourceCSSTokenizer.prototype.nextToken):
+ * inspector/front-end/SourceCSSTokenizer.re2js: Extended with the SCSS syntax.
+ * inspector/front-end/SourceTokenizer.js:
+ (WebInspector.SourceTokenizer.Registry):
+ * inspector/front-end/inspectorSyntaxHighlight.css:
+ (.webkit-css-bang-keyword):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ X11 Global Selection
+ https://bugs.webkit.org/show_bug.cgi?id=88238
+
+ Reviewed by Tony Chang.
+
+ In X11 global selection is the ability to share the active selection
+ between applications and pasting with middle mouse-button.
+
+ This patch moves the implementations of global selection from the
+ separate implementations in Qt WebKit, Chromium and GTK to WebCore,
+ by implementing a new EditorCommand for pasting the global selection.
+
+ Test: editing/pasteboard/paste-global-selection.html
+
+ * editing/EditorCommand.cpp:
+ (WebCore::executePasteGlobalSelection):
+ (WebCore::createCommandMap):
+ * page/EditorClient.h:
+ (EditorClient):
+ (WebCore::EditorClient::supportsGlobalSelection):
+ * platform/Pasteboard.h:
+ (WebCore::Pasteboard::isSelectionMode):
+ (WebCore::Pasteboard::setSelectionMode):
+ * platform/gtk/PasteboardGtk.cpp:
+ (WebCore::Pasteboard::writeSelection):
+ (WebCore::Pasteboard::writeURL):
+ (WebCore::Pasteboard::isSelectionMode):
+ (WebCore::Pasteboard::setSelectionMode):
+
+2012-09-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Migrate Database to async protocol commands
+ https://bugs.webkit.org/show_bug.cgi?id=95983
+
+ Reviewed by Alexander Pavlov.
+
+ * English.lproj/localizedStrings.js:
+ * inspector/Inspector.json:
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore):
+ (WebCore::InspectorDatabaseAgent::didOpenDatabase):
+ (WebCore::InspectorDatabaseAgent::setFrontend):
+ (WebCore::InspectorDatabaseAgent::clearFrontend):
+ (WebCore::InspectorDatabaseAgent::enable):
+ (WebCore::InspectorDatabaseAgent::executeSQL):
+ * inspector/InspectorDatabaseAgent.h:
+ (InspectorDatabaseAgent):
+ * inspector/front-end/Database.js:
+ (WebInspector.Database.prototype.executeSql):
+ (WebInspector.DatabaseDispatcher.prototype.addDatabase):
+
+2012-09-07 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed single line follow-up change for r127856.
+
+ * dom/MemoryInstrumentation.h:
+ (WebCore::MemoryClassInfo::MemoryClassInfo):
+
+2012-09-07 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Unreviewed inspector closure compilation errors fix.
+
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.NamedFlowCollection):
+
+2012-09-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Migrate FileSystem to async protocol commands.
+ https://bugs.webkit.org/show_bug.cgi?id=95985
+
+ Reviewed by Alexander Pavlov.
+
+ Migrated FileSystem domain to async protocol commands and removed boilerplate code.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore):
+ (WebCore::InspectorFileSystemAgent::~InspectorFileSystemAgent):
+ (WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
+ (WebCore::InspectorFileSystemAgent::requestDirectoryContent):
+ (WebCore::InspectorFileSystemAgent::requestMetadata):
+ (WebCore::InspectorFileSystemAgent::requestFileContent):
+ (WebCore::InspectorFileSystemAgent::deleteEntry):
+ (WebCore::InspectorFileSystemAgent::clearFrontend):
+ (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
+ (WebCore::InspectorFileSystemAgent::assertEnabled):
+ * inspector/InspectorFileSystemAgent.h:
+ (InspectorFileSystemAgent):
+ * inspector/front-end/FileSystemModel.js:
+ (WebInspector.FileSystemModel):
+ (WebInspector.FileSystemModel.prototype._originAdded):
+ (WebInspector.FileSystemModel.prototype._requestFileSystemRoot):
+ (WebInspector.FileSystemModel.prototype.requestDirectoryContent):
+ (WebInspector.FileSystemModel.prototype._requestDirectoryContent):
+ (WebInspector.FileSystemModel.prototype._directoryContentReceived):
+ (WebInspector.FileSystemModel.prototype.requestMetadata):
+ (WebInspector.FileSystemModel.prototype.requestFileContent):
+ (WebInspector.FileSystemModel.prototype._requestFileContent):
+ (WebInspector.FileSystemModel.prototype._deleteEntry):
+
+2012-09-07 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: remove DataRef instrumentation from the core NMI code.
+ https://bugs.webkit.org/show_bug.cgi?id=96086
+
+ Reviewed by Yury Semikhatsky.
+
+ This patch is removing the last WebCore specific methods from core memory instrumentation code.
+
+ It is covered by webkit_unit_tests.
+
+ * dom/MemoryInstrumentation.h:
+ (WebCore):
+ (MemoryObjectInfo):
+ (WebCore::MemoryClassInfo::MemoryClassInfo):
+ * rendering/style/DataRef.h:
+ (DataRef):
+ (WebCore::DataRef::reportMemoryUsage):
+
+2012-09-06 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Migrate IndexedDB to async protocol commands.
+ https://bugs.webkit.org/show_bug.cgi?id=95978
+
+ Reviewed by Alexander Pavlov.
+
+ IndexedDB is now implemented using async protocol commands.
+ Removed boilerplate code used to emulate async commands before.
+
+ * inspector/Inspector.json:
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ (WebCore::InspectorIndexedDBAgent::clearFrontend):
+ (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
+ (WebCore::InspectorIndexedDBAgent::requestDatabase):
+ (WebCore::InspectorIndexedDBAgent::requestData):
+ * inspector/InspectorIndexedDBAgent.h:
+ (InspectorIndexedDBAgent):
+ * inspector/front-end/IndexedDBModel.js:
+ (WebInspector.IndexedDBModel):
+ (WebInspector.IndexedDBModel.prototype._frameDetached):
+ (WebInspector.IndexedDBModel.prototype._reset):
+ (WebInspector.IndexedDBModel.prototype._databaseRemoved):
+ (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
+ (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
+ (WebInspector.IndexedDBModel.prototype._loadDatabase):
+ (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
+ (WebInspector.IndexedDBModel.prototype.loadIndexData):
+ (WebInspector.IndexedDBModel.prototype._requestData.innerCallback):
+ (WebInspector.IndexedDBModel.prototype._requestData):
+
+2012-09-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Add *explicit* keyword to constructors in WebCore/xml
+ https://bugs.webkit.org/show_bug.cgi?id=96071
+
+ Reviewed by Kentaro Hara.
+
+ As a step to let *explicit* add to constructors which have only one parameter,
+ *explicit* is added to Source/WebCore/xml in order to avoid implicit type conversion.
+
+ No new tests. Covered by existing tests.
+
+ * xml/NativeXPathNSResolver.h:
+ (NativeXPathNSResolver):
+ * xml/XMLHttpRequestException.h:
+ (WebCore::XMLHttpRequestException::XMLHttpRequestException):
+ * xml/XMLHttpRequestProgressEventThrottle.h:
+ (XMLHttpRequestProgressEventThrottle):
+ * xml/XMLHttpRequestUpload.h:
+ (XMLHttpRequestUpload):
+ * xml/XPathException.h:
+ (WebCore::XPathException::XPathException):
+ * xml/XPathPredicate.h:
+ (Number):
+ (StringExpression):
+ (Predicate):
+ * xml/XPathValue.h:
+ (WebCore::XPath::ValueData::ValueData):
+ * xml/XPathVariableReference.h:
+ (VariableReference):
+
+2012-09-07 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have a localized string of empty for date time field
+ https://bugs.webkit.org/show_bug.cgi?id=96081
+
+ Reviewed by Kent Tamura.
+
+ This patch add a declaration of function for getting localized string
+ of empty field value date time field for accessibility inside
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ These functions will be used by derived classes of DateTimeFieldElement.
+
+ Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
+ to support "date", "datetime", "month" and "week" multiple fields input
+ UI.
+
+ No new tests. This patch doesn't change behavior.
+
+ * platform/LocalizedStrings.h:
+ (WebCore): Added a declaration of AXDateTimeFieldEmptyValueText().
+
+2012-09-07 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Use ASCIILiteral for cursorStringMap.
+ https://bugs.webkit.org/show_bug.cgi?id=96072
+
+ Reviewed by Gyuyoung Kim.
+
+ This patch converts static strings of cursorStringMap to use ASCIILiteral
+ as recommended by http://trac.webkit.org/wiki/EfficientStrings.
+
+ * platform/efl/EflScreenUtilities.cpp:
+ (WebCore::CursorMap::CursorMap):
+
+2012-09-07 Tim Horton <timothy_horton@apple.com>
+
+ Scrolling performance logging should use WTFLogAlways instead of printf
+ https://bugs.webkit.org/show_bug.cgi?id=96080
+
+ Reviewed by Dan Bernstein.
+
+ Use WTF logging facilities instead of printf() for scrolling performance logging.
+
+ * page/scrolling/mac/ScrollingTreeNodeMac.mm:
+ (WebCore::ScrollingTreeNodeMac::logExposedUnfilledArea):
+ * platform/graphics/ca/mac/WebTileLayer.mm:
+ (-[WebTileLayer logFilledFreshTile]):
+
+2012-09-07 Luke Macpherson <macpherson@chromium.org>
+
+ Make CSSPrimitiveValue::cleanup() handle all UnitTypes, fixing memory leak in the process.
+ https://bugs.webkit.org/show_bug.cgi?id=95938
+
+ Reviewed by Andreas Kling.
+
+ Several unit types have been added without updating the cleanup function, including CSS_VARIABLE_NAME.
+ I've added all the existing unit types back in and cast m_primitiveUnitType (a bitfield in CSSValue)
+ to the enum type to ensure the compiler catches any future errors.
+
+ No test added, but switch made to use enum type so we can't accidentally fail to update this function again.
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::cleanup):
+
+2012-09-07 Tim Horton <timothy_horton@apple.com>
+
+ Add optional debug logging when we fall into/out of threaded scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=93898
+ <rdar://problem/12089098>
+
+ Reviewed by Simon Fraser.
+
+ Add logging when we enter and exit the threaded scrolling mode, and logs the reasons we
+ fall into main-thread scrolling.
+
+ The logging output looks like this:
+ SCROLLING: Switching to main-thread scrolling mode. Time: 15843.554718 Reason(s): viewport-constrained objects
+ SCROLLING: Switching to threaded scrolling mode. Time: 15844.550866
+ SCROLLING: Switching to main-thread scrolling mode. Time: 15845.551214 Reason(s): viewport-constrained objects
+ SCROLLING: Switching to threaded scrolling mode. Time: 15846.552619
+ SCROLLING: Switching to main-thread scrolling mode. Time: 15847.553587 Reason(s): viewport-constrained objects
+ SCROLLING: Switching to threaded scrolling mode. Time: 15848.554084
+
+ No new tests, as this is just debugging logging.
+
+ * WebCore.xcodeproj/project.pbxproj:
+ Expose ScrollingTreeState.h as a private header.
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
+ (WebCore::ScrollingCoordinator::frameViewFixedObjectsDidChange):
+ (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
+ (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
+ (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason):
+ * page/scrolling/ScrollingCoordinator.h:
+ (ScrollingCoordinator):
+ * page/scrolling/ScrollingCoordinatorNone.cpp:
+ (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason):
+ * page/scrolling/ScrollingTreeNode.cpp:
+ (WebCore::ScrollingTreeNode::ScrollingTreeNode):
+ (WebCore::ScrollingTreeNode::update):
+ * page/scrolling/ScrollingTreeNode.h:
+ (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThreadReason):
+ (ScrollingTreeNode):
+ * page/scrolling/ScrollingTreeState.cpp:
+ (WebCore::ScrollingTreeState::ScrollingTreeState):
+ (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThreadReason):
+ * page/scrolling/ScrollingTreeState.h:
+ (WebCore::ScrollingTreeState::shouldUpdateScrollLayerPositionOnMainThreadReason):
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason):
+ Rename updateShouldUpdateScrollLayerPositionOnMainThread to updateShouldUpdateScrollLayerPositionOnMainThreadReason (and related).
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::hasNonLayerViewportConstrainedObjects):
+ Renamed from hasNonLayerFixedObjects to match the rest of the renames going on.
+ (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThreadReason):
+ Construct a bitfield describing the reasons we fall into main-thread scrolling mode.
+
+ * page/scrolling/ScrollingTreeState.h:
+ (ScrollingTreeState):
+ Add ReasonsForUpdatingScrollLayerPositionOnMainThread enum, with the current reasons that we might fallback to main-thread scrolling.
+
+ * page/scrolling/mac/ScrollingTreeNodeMac.mm:
+ (WebCore):
+ (WebCore::ScrollingTreeNodeMac::update): Log every time scrolling mode changes.
+ (WebCore::ScrollingTreeNodeMac::scrollPosition):
+ (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
+ (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
+ (WebCore::logThreadedScrollingMode): Pretty-print the scrolling mode and shouldUpdateScrollLayerPositionOnMainThreadReason.
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for WinCE after r127801.
+
+ * platform/graphics/wince/FontWinCE.cpp:
+ (WebCore::generateComponents):
+
+2012-09-06 Alexander Pavlov <apavlov@chromium.org>
+
+ [Chromium] Regression: Web Inspector tool-tips pixellated with --force-device-scale-factor=2
+ https://bugs.webkit.org/show_bug.cgi?id=95875
+
+ Reviewed by Vsevolod Vlasov.
+
+ The overlay canvas is scaled according to the actual devicePixelRatio of the inspected page, while retaining its original CSS size.
+
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::InspectorOverlay::reset):
+ * inspector/InspectorOverlayPage.html:
+
+2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127822.
+ http://trac.webkit.org/changeset/127822
+ https://bugs.webkit.org/show_bug.cgi?id=96073
+
+ It broke compilation on chromium debug bots (Requested by
+ loislo on #webkit).
+
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
+ * platform/graphics/chromium/cc/CCDirectRenderer.h:
+ (CCDirectRenderer):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ (WebCore::findRenderPassById):
+ (WebCore::removeRenderPassesRecursive):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::create):
+ (WebCore::CCRenderPass::CCRenderPass):
+ (WebCore::CCRenderPass::copy):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (CCRenderPass):
+ (WebCore::CCRenderPass::id):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
+ (WebCore::CCRenderPassDrawQuad::create):
+ (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
+ (WebCore::CCRenderPassDrawQuad::copy):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
+ (WebCore):
+ (CCRenderPassDrawQuad):
+ (WebCore::CCRenderPassDrawQuad::renderPassId):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::appendRenderPasses):
+ (WebCore::CCRenderSurface::appendQuads):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (WebCore):
+ (CCRenderSurface):
+ * platform/graphics/chromium/cc/CCRenderer.h:
+ (WebCore::CCRenderer::haveCachedResourcesForRenderPassId):
+
+2012-09-06 Anna Cavender <annacc@chromium.org>
+
+ The CC button should have chrome-specific rendering for Mac.
+ https://bugs.webkit.org/show_bug.cgi?id=95981
+
+ Reviewed by Eric Carlson.
+
+ This patch allows RenderThemeChromiumMac to define its own behavior for the CC button.
+
+ No new tests. Button should display graphics from chromium resources.
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
+ Adjust styling for the chromium graphics.
+ * rendering/RenderMediaControlsChromium.cpp:
+ (WebCore::paintMediaClosedCaptionsButton):
+ Check whether closed captions are visible to decide how to draw the button.
+ * rendering/RenderThemeChromiumMac.h:
+ (RenderThemeChromiumMac):
+ Override the paint function for the CC button.
+ * rendering/RenderThemeChromiumMac.mm:
+ (WebCore):
+ (WebCore::RenderThemeChromiumMac::paintMediaToggleClosedCaptionsButton):
+ Call the chromium-specific painting function.
+
+2012-09-06 Elliott Sprehn <esprehn@chromium.org>
+
+ Add methods to CounterDirectives to clean up StyleBuilder and RenderCounter.
+ https://bugs.webkit.org/show_bug.cgi?id=94587
+
+ Reviewed by Julien Chaffraix.
+
+ Adds several methods to CounterDirectives and an accessor method to RenderStyle for
+ getting the CounterDirectives by idenfitier and uses those methods to clean up
+ the code in StyleBuilder and RenderCounter. This also switches to using AtomicString
+ directly instead of AtomicStringImpl and calling get() everywhere.
+
+ The refactor fixes the unitialized read in WKBug 94642.
+
+ Test: fast/css/counters/counter-reset-inherit-bug-94642.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::counterToCSSValue): Use new accessors.
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyCounter::applyInheritValue): Use new inherit methods.
+ (WebCore::ApplyPropertyCounter::applyValue): Use new setters.
+ * rendering/RenderCounter.cpp:
+ (WebCore):
+ (WebCore::planCounter):
+ (WebCore::makeCounterNode):
+ (WebCore::destroyCounterNodeWithoutMapRemoval):
+ (WebCore::RenderCounter::destroyCounterNodes):
+ (WebCore::RenderCounter::destroyCounterNode):
+ (WebCore::updateCounters):
+ (WebCore::RenderCounter::rendererStyleChanged):
+ (showCounterRendererTree):
+ * rendering/style/CounterDirectives.cpp:
+ (WebCore::operator==):
+ * rendering/style/CounterDirectives.h: Added new accessors and switched to using AtomicString directly.
+ (CounterDirectives):
+ (WebCore::CounterDirectives::CounterDirectives):
+ (WebCore::CounterDirectives::isReset):
+ (WebCore::CounterDirectives::resetValue):
+ (WebCore::CounterDirectives::setResetValue):
+ (WebCore::CounterDirectives::clearReset):
+ (WebCore::CounterDirectives::inheritReset):
+ (WebCore::CounterDirectives::isIncrement):
+ (WebCore::CounterDirectives::incrementValue):
+ (WebCore::CounterDirectives::addIncrementValue):
+ (WebCore::CounterDirectives::clearIncrement):
+ (WebCore::CounterDirectives::inheritIncrement):
+ (WebCore::CounterDirectives::isDefined): If either reset or increment is used.
+ (WebCore::CounterDirectives::combinedValue): Combined local value of the counter.
+ (WebCore):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::getCounterDirectives): New method which always returns a CounterDirectives instance by identifier.
+ (WebCore):
+ * rendering/style/RenderStyle.h:
+
+2012-09-06 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] accessibility/canvas-description-and-role expected results needed
+ https://bugs.webkit.org/show_bug.cgi?id=95644
+
+ Reviewed by Martin Robinson.
+
+ The new accessibility CanvasRole should be mapped to ATK_ROLE_CANVAS
+ rather than ATK_ROLE_IMAGE.
+
+ No new test because the CanvasRole came with a new layout test lacking
+ expected results for Gtk. The generated expected results for that test
+ reflect the revised mapping to ATK_ROLE_CANVAS.
+
+ * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
+ (atkRole):
+
+2012-09-06 Hironori Bono <hbono@chromium.org>
+
+ A build fix for Chromium Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96062
+
+ Reviewed by James Robinson.
+
+ This change fixes a build break on Chromium Windows caused by r127801
+ <http://trac.webkit.org/changeset/127801>. It replaces characters() with
+ characters16().
+
+ No new tests because this change is a build fix.
+
+ * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
+ (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun):
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make RenderPass ids hold both generating layer id and an index
+ https://bugs.webkit.org/show_bug.cgi?id=95500
+
+ Reviewed by Adrienne Walker.
+
+ This change allows us to avoid complex renderPassId mappings between
+ compositors for ubercomp. The ubercomp layer needs to add a number
+ of RenderPasses to the frame, and these must not conflict with other
+ RenderPasses in the frame. By using its layer id along with an extra
+ value it determines, the layer can create a unique id without needing
+ access to any global state or id generator.
+
+ Covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ (WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
+ * platform/graphics/chromium/cc/CCDirectRenderer.h:
+ (CCDirectRenderer):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ (WebCore::findRenderPassById):
+ (WebCore::removeRenderPassesRecursive):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::create):
+ (WebCore::CCRenderPass::CCRenderPass):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (Id):
+ (WebCore::CCRenderPass::Id::Id):
+ (WebCore::CCRenderPass::Id::operator==):
+ (WebCore::CCRenderPass::Id::operator!=):
+ (WebCore::CCRenderPass::Id::operator<):
+ (CCRenderPass):
+ (WebCore::CCRenderPass::id):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
+ (WebCore::CCRenderPassDrawQuad::create):
+ (WebCore::CCRenderPassDrawQuad::CCRenderPassDrawQuad):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
+ (CCRenderPassDrawQuad):
+ (WebCore::CCRenderPassDrawQuad::renderPassId):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::renderPassId):
+ (WebCore):
+ (WebCore::CCRenderSurface::appendRenderPasses):
+ (WebCore::CCRenderSurface::appendQuads):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (WebCore):
+ (CCRenderSurface):
+ * platform/graphics/chromium/cc/CCRenderer.h:
+ (WebCore::CCRenderer::haveCachedResourcesForRenderPassId):
+
+2012-09-06 Christopher Cameron <ccameron@chromium.org>
+
+ [chromium] Do not delete texture backing structures on the main thread
+ https://bugs.webkit.org/show_bug.cgi?id=96018
+
+ Reviewed by James Robinson.
+
+ Do not delete CCPrioritizedTexture::Backing structures on the main
+ thread. Instead, unlink them from their owning CCPrioritizedTexture
+ in the main thread, and have the impl thread then delete all unlinked
+ textures.
+
+ This is towards having the main thread not access the m_backings set,
+ which will allow the impl thread to traverse that set when deleting
+ resources in response to GPU memory management events.
+
+ Tested by existing eviction tests (CCLayerTreeHostTest's
+ TestEvictTextures, LostContextAfterEvictTextures)
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::unlinkAllContentTextures):
+ (WebCore):
+ (WebCore::CCLayerTreeHost::deleteUnlinkedTextures):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHost):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
+ (WebCore::CCPrioritizedTextureManager::clearAllMemory):
+ (WebCore::CCPrioritizedTextureManager::unlinkAllBackings):
+ (WebCore):
+ (WebCore::CCPrioritizedTextureManager::deleteAllUnlinkedBackings):
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.h:
+ (CCPrioritizedTextureManager):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
+ (WebCore::CCSingleThreadProxy::commitAndComposite):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::beginFrame):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix debug Windows build
+ https://bugs.webkit.org/show_bug.cgi?id=96008
+
+ Reviewed by Tor Arne Vestbø.
+
+ Add a few more files to the AllInOne configuration to reduce the number of object files
+ and their total size, allowing a debug build with MSVC again.
+
+ * Target.pri:
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix text encoding detecting
+ https://bugs.webkit.org/show_bug.cgi?id=96014
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Since we rely on ICU now, we might as well use the actually implemented text encoding
+ detector instead of the dummy "none" one.
+
+ I could not locate any layout tests that actually cover this :(
+
+ * Target.pri:
+
+2012-09-06 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have localized strings of date time fields for accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=96050
+
+ Reviewed by Kent Tamura.
+
+ This patch adds declarations of function for getting localized string
+ of date time field for accessibility inside ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ These functions will be used by derived classes of DateTimeFieldElement.
+
+ Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
+ to support "date", "datetime", "month" and "week" multiple fields input
+ UI.
+
+ No new tests. This patch doesn't change behavior.
+
+ * platform/LocalizedStrings.h:
+ (WebCore): Added declarations of AXAMPMFieldText(), AXDayOfMonthFieldText(),
+ AXHourFieldText(), AXMillisecondFieldText(), AXMinuteFieldText(), AXMonthFieldText(),
+ AXSecondFieldText(), AXWeekOfYearFieldText(), and AXYearFieldText().
+
+2012-09-06 Tony Chang <tony@chromium.org>
+
+ Make computePositionedLogicalWidth and computePositionedLogicalWidthReplaced const
+ https://bugs.webkit.org/show_bug.cgi?id=95907
+
+ Reviewed by Ojan Vafai.
+
+ This is refactoring to make RenderBox::computeLogicalWidth const. Make some methods that
+ get called by computeLogicalWidth const. We path in a struct that we populate with values.
+
+ No new tests, this is just a refactoring.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalWidthInRegion): Make a LogicalExtentComputedValues to
+ hold results.
+ (WebCore::RenderBox::computePositionedLogicalWidth): Make const.
+ (WebCore::RenderBox::computePositionedLogicalWidthUsing): Change output to use LogicalExtentComputedValues
+ instead of 4 separate params.
+ (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Make const.
+ * rendering/RenderBox.h:
+ (RenderBox): Add const and change out params to LogicalExtentComputedValues.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::computeLogicalWidth): Make a LogicalExtentComputedValues to
+ hold results.
+
+2012-09-06 MORITA Hajime <morrita@google.com>
+
+ [Shadow DOM][Refactoring] Element subclasses should have a way to reject author shadows.
+ https://bugs.webkit.org/show_bug.cgi?id=95831
+
+ Reviewed by Dimitri Glazkov.
+
+ Originally, the availability of author shadows was decided by ShadowRoot class.
+ This change moves that responsibility to each Element subclasses to make future
+ author shadow support improvement local to each replaced elements, rather than
+ touching ShadowRoot.cpp for reach.
+
+ No new tests. Should have no behavioral change.
+
+ * dom/Element.h:
+ * dom/ShadowRoot.cpp:
+ (WebCore::allowsAuthorShadowRoot):
+ * html/HTMLTextFormControlElement.h:
+ (HTMLTextFormControlElement):
+ * svg/SVGElement.h:
+ (SVGElement):
+
+2012-09-06 Adam Barth <abarth@chromium.org>
+
+ [V8] Weave creationContext through toV8 and related functions
+ https://bugs.webkit.org/show_bug.cgi?id=96039
+
+ Reviewed by Eric Seidel.
+
+ In order to give DOM wrappers the correct prototype chain, we need to
+ know what the creationContext ought to be for each wrapper. This patch
+ weaves that information through toV8 and related functions.
+
+ This patch doesn't yet use the information. That will take place in a
+ separate patch. For that reason, this patch should not have any
+ behavior change.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ (GenerateNormalAttrGetter):
+ (GenerateNamedConstructorCallback):
+ (GenerateImplementation):
+ (GenerateToV8Converters):
+ (GenerateFunctionCallString):
+ (NativeToJSValue):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::Float64ArrayV8Internal::fooCallback):
+ * bindings/v8/DOMTransaction.cpp:
+ (WebCore::DOMTransaction::callFunction):
+ * bindings/v8/IDBCustomBindings.cpp:
+ (WebCore::V8IDBCursorWithValue::valueAccessorGetter):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8Binding.h:
+ (WebCore::V8ValueTraits::arrayV8Value):
+ * bindings/v8/V8Collection.h:
+ (WebCore::getV8Object):
+ (WebCore::getNamedPropertyOfCollection):
+ (WebCore::collectionNamedPropertyGetter):
+ (WebCore::getIndexedPropertyOfCollection):
+ (WebCore::collectionIndexedPropertyGetter):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::getter):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore):
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
+ (V8DOMWrapper):
+ * bindings/v8/V8ThrowException.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::V8Blob::constructorCallback):
+ * bindings/v8/custom/V8CSSRuleCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8CSSValueCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
+ (WebCore::toV8Object):
+ (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
+ (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
+ * bindings/v8/custom/V8ConsoleCustom.cpp:
+ (WebCore::V8Console::memoryAccessorGetter):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::V8DOMWindow::openCallback):
+ (WebCore::V8DOMWindow::indexedPropertyGetter):
+ (WebCore::V8DOMWindow::namedPropertyGetter):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DataViewCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8DocumentCustom.cpp:
+ (WebCore::V8Document::evaluateCallback):
+ (WebCore::V8Document::getCSSCanvasContextCallback):
+ (WebCore::toV8):
+ (WebCore::V8Document::createTouchListCallback):
+ * bindings/v8/custom/V8DocumentLocationCustom.cpp:
+ (WebCore::V8Document::locationAccessorGetter):
+ * bindings/v8/custom/V8EntryCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8EntrySyncCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8EventCustom.cpp:
+ (WebCore::V8Event::dataTransferAccessorGetter):
+ (WebCore::V8Event::clipboardDataAccessorGetter):
+ (WebCore):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8FileReaderCustom.cpp:
+ (WebCore::V8FileReader::resultAccessorGetter):
+ * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::getItem):
+ (WebCore::V8HTMLAllCollection::namedPropertyGetter):
+ (WebCore::V8HTMLAllCollection::itemCallback):
+ (WebCore::V8HTMLAllCollection::namedItemCallback):
+ (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ (WebCore::V8HTMLCanvasElement::getContextCallback):
+ * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
+ (WebCore::getNamedItems):
+ (WebCore::V8HTMLCollection::namedPropertyGetter):
+ (WebCore::V8HTMLCollection::namedItemCallback):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::getNamedProperty):
+ (WebCore::V8HTMLDocument::allAccessorGetter):
+ (WebCore::toV8):
+ * bindings/v8/custom/V8HTMLElementCustom.cpp:
+ (WebCore::toV8):
+ (WebCore::V8HTMLElement::itemValueAccessorGetter):
+ * 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::v8HTMLImageElementConstructorCallback):
+ * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
+ (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
+ * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
+ (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
+ * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
+ (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
+ * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
+ (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
+ * bindings/v8/custom/V8IDBAnyCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8IDBKeyCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ImageDataCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8MessageChannelConstructor.cpp:
+ (WebCore::V8MessageChannel::constructorCallback):
+ * bindings/v8/custom/V8MessageEventCustom.cpp:
+ (WebCore::V8MessageEvent::dataAccessorGetter):
+ (WebCore::V8MessageEvent::portsAccessorGetter):
+ * bindings/v8/custom/V8MicroDataItemValueCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
+ (WebCore::V8NamedNodeMap::indexedPropertyGetter):
+ (WebCore::V8NamedNodeMap::namedPropertyGetter):
+ * bindings/v8/custom/V8NodeCustom.cpp:
+ (WebCore::toV8Slow):
+ * bindings/v8/custom/V8NodeListCustom.cpp:
+ (WebCore::V8NodeList::namedPropertyGetter):
+ * bindings/v8/custom/V8NotificationCenterCustom.cpp:
+ (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
+ (WebCore::V8NotificationCenter::createNotificationCallback):
+ * bindings/v8/custom/V8PerformanceCustom.cpp:
+ (WebCore):
+ (WebCore::V8Performance::memoryAccessorGetter):
+ * bindings/v8/custom/V8PerformanceEntryCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8PopStateEventCustom.cpp:
+ (WebCore::V8PopStateEvent::stateAccessorGetter):
+ * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
+ (WebCore::V8SQLTransactionSync::executeSqlCallback):
+ * bindings/v8/custom/V8SVGDocumentCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8SVGElementCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8SVGPathSegCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ScriptProfileCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8StyleSheetCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8StyleSheetListCustom.cpp:
+ (WebCore::V8StyleSheetList::namedPropertyGetter):
+ * bindings/v8/custom/V8TrackEventCustom.cpp:
+ (WebCore::V8TrackEvent::trackAccessorGetter):
+ * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
+ (WebCore::toV8Object):
+ (WebCore::getObjectParameter):
+ (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
+ (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
+ (WebCore::V8WebGLRenderingContext::getUniformCallback):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::toV8):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::responseAccessorGetter):
+ * dom/make_names.pl:
+ (printWrapperFunctions):
+ (printWrapperFactoryCppFile):
+ (printWrapperFactoryHeaderFile):
+
+2012-09-06 Lauro Neto <lauro.neto@openbossa.org>
+
+ [Qt] Deprecate String += operator
+ https://bugs.webkit.org/show_bug.cgi?id=95895
+
+ Reviewed by Benjamin Poulain.
+
+ Replaced String +=() with append.
+
+ * platform/qt/RenderThemeQt.cpp:
+ (WebCore::RenderThemeQt::extraMediaControlsStyleSheet):
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ Add 8 bit string data path to TextRun
+ https://bugs.webkit.org/show_bug.cgi?id=95812
+
+ Reviewed by Dan Bernstein.
+
+ Added 8 bit string path to TextRun. Refactored TextRun::data() and ::characters into
+ 8 and 16 bit versions. Made corresponding changes to users of TextRun.
+ For efl, gtk, qt and win platform specific code using TextRun, only the methods have
+ been renamed and the creation of 8 bit TextRuns has been disabled via compilation
+ flags. Someone knowledgeable in those platforms will need to make corresponding changes
+ to enable 8 bit processing of TextRuns.
+
+ No changes to functionality - behavior covered by existing tests.
+
+ * platform/graphics/Font.cpp:
+ (WebCore::normalizeSpacesInternal):
+ (WebCore::Font::normalizeSpaces):
+ (WebCore::Font:normalizeSpaces):
+ (WebCore::Font::codePath):
+ (WebCore::Font::expansionOpportunityCount):
+ * platform/graphics/Font.h:
+ (WebCore::Font::characterRangeCodePath):
+ (WebCore::Font::normalizeSpaces):
+ * platform/graphics/GraphicsContext.cpp:
+ (WebCore::GraphicsContext::drawBidiText):
+ * platform/graphics/TextRun.cpp:
+ (ExpectedTextRunSize):
+ * platform/graphics/TextRun.h:
+ (WebCore::TextRun::TextRun):
+ (WebCore::TextRun::subRun):
+ (WebCore::TextRun::operator[]):
+ (WebCore::TextRun::data8):
+ (WebCore::TextRun::data16):
+ (WebCore::TextRun::characters8):
+ (WebCore::TextRun::characters16):
+ (WebCore::TextRun::is8Bit):
+ (WebCore::TextRun::setText):
+ (WebCore::TextRun::setCharactersLength):
+ * platform/graphics/WidthIterator.cpp:
+ (WebCore::WidthIterator::WidthIterator):
+ (WebCore::WidthIterator::advance):
+ * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
+ (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
+ * platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
+ (WebCore::HarfBuzzShaper::HarfBuzzShaper):
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (WebCore::ComplexTextController::ComplexTextController):
+ (WebCore::ComplexTextController::collectComplexTextRuns):
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
+ * platform/graphics/pango/FontPango.cpp:
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/qt/FontQt.cpp:
+ (WebCore::Font::drawComplexText):
+ (WebCore::Font::floatWidthForComplexText):
+ (WebCore::Font::offsetForPositionForComplexText):
+ (WebCore::Font::selectionRectForComplexText):
+ * platform/graphics/win/UniscribeController.cpp:
+ (WebCore::UniscribeController::advance):
+ (WebCore::UniscribeController::shapeAndPlaceItem):
+ * rendering/RenderText.cpp:
+ (WebCore::RenderText::computeCanUseSimpleFontCodePath):
+ * rendering/svg/SVGTextMetrics.cpp:
+ (WebCore::SVGTextMetrics::SVGTextMetrics):
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
+ (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
+ * svg/SVGFontData.cpp:
+ (WebCore::SVGFontData::applySVGGlyphSelection):
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Don't link cc in to WebKit.dll when use_libcc_for_compositor=1
+ https://bugs.webkit.org/show_bug.cgi?id=96024
+
+ Reviewed by Adam Barth.
+
+ When use_libcc_for_compositor=1, the implementation of the compositor guts are provided through PlatformSupport.
+ We don't need to link anything in to WebKit.dll.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-09-06 Simon Fraser <simon.fraser@apple.com>
+
+ Parcel up logic related to sticky positioning into a Constraints class that will later be used for threaded scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=96026
+
+ Reviewed by James Robinson.
+
+ Lay some groundwork for threaded scrolling with fixed position and sticky
+ position objects, by packaging up logic related to how to reposition
+ fixed and sticky things on viewport changes into "constraints" classes.
+
+ ScrollingConstraints contains a 'ViewportConstraints' base class
+ that is subclassed for sticky position. These classes store
+ data about the constraints that govern the position of an object outside
+ of the render tree, and know how to compute a new position when the
+ viewport changes using only data in the class.
+
+ This patch changes RenderBoxModelObject to use the StickyPositionViewportConstraints
+ class for computing stick offsets at layout time. In the future, we'll have
+ the scrolling tree store copies of the constraint data for threaded scrolling.
+
+ * CMakeLists.txt: Add ScrollingConstraints.* to the build.
+ * GNUmakefile.list.am: Ditto
+ * Target.pri: Ditto
+ * WebCore.gypi: Ditto
+ * WebCore.vcproj/WebCore.vcproj: Ditto
+ * WebCore.xcodeproj/project.pbxproj: Ditto
+ * page/scrolling/ScrollingConstraints.cpp: Added.
+ (WebCore::StickyPositionViewportConstraints::computeStickyOffset):
+ (WebCore::StickyPositionViewportConstraints::layerPositionForViewportRect):
+ * page/scrolling/ScrollingConstraints.h: Added.
+ (WebCore::ViewportConstraints::ViewportConstraints):
+ (WebCore::ViewportConstraints::~ViewportConstraints):
+ (WebCore::ViewportConstraints::anchorEdges):
+ (WebCore::ViewportConstraints::hasAnchorEdge):
+ (WebCore::ViewportConstraints::addAnchorEdge):
+ (WebCore::ViewportConstraints::alignmentOffset):
+ (WebCore::ViewportConstraints::setAlignmentOffset):
+ (StickyPositionViewportConstraints):
+ (WebCore::StickyPositionViewportConstraints::StickyPositionViewportConstraints):
+ (WebCore::StickyPositionViewportConstraints::stickyOffsetAtLastLayout):
+ (WebCore::StickyPositionViewportConstraints::setStickyOffsetAtLastLayout):
+ (WebCore::StickyPositionViewportConstraints::layerPositionAtLastLayout):
+ (WebCore::StickyPositionViewportConstraints::setLayerPositionAtLastLayout):
+ (WebCore::StickyPositionViewportConstraints::leftOffset):
+ (WebCore::StickyPositionViewportConstraints::rightOffset):
+ (WebCore::StickyPositionViewportConstraints::topOffset):
+ (WebCore::StickyPositionViewportConstraints::bottomOffset):
+ (WebCore::StickyPositionViewportConstraints::setLeftOffset):
+ (WebCore::StickyPositionViewportConstraints::setRightOffset):
+ (WebCore::StickyPositionViewportConstraints::setTopOffset):
+ (WebCore::StickyPositionViewportConstraints::setBottomOffset):
+ (WebCore::StickyPositionViewportConstraints::setAbsoluteContainingBlockRect):
+ (WebCore::StickyPositionViewportConstraints::setAbsoluteStickyBoxRect):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::computeStickyPositionConstraints): Fill out
+ data in the supplied StickyPositionViewportConstraints instance.
+ (WebCore::RenderBoxModelObject::stickyPositionOffset): Create a
+ StickyPositionViewportConstraints object on the stack and use it to
+ compute the sticky offset.
+ * rendering/RenderBoxModelObject.h:
+ (RenderBoxModelObject):
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use WebCompositorSupport functions instead of WebCompositor statics
+ https://bugs.webkit.org/show_bug.cgi?id=96007
+
+ Reviewed by Adrienne Walker.
+
+ Calls WebCompositorSupport functions instead of WebCompositor statics.
+
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+
+2012-09-06 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: make IDBKeyPath's string and array constructors explicit
+ https://bugs.webkit.org/show_bug.cgi?id=96004
+
+ Reviewed by Tony Chang.
+
+ Making these explicit to avoid accidental implicit conversions.
+
+ No new tests, existing tests cover correctness.
+
+ * Modules/indexeddb/IDBKeyPath.h:
+ (IDBKeyPath):
+
+2012-09-06 Jeff Timanus <twiz@chromium.org>
+
+ [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=95094
+
+ Reviewed by Adrienne Walker.
+
+ In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class. This is a first pass to
+ try to remove the page-scale logic from GraphicsLayerChromium. This change should be a no-op in terms of
+ contentsScale behaviour.
+
+ Testing covered by existing compositor layout and unit tests.
+
+ * platform/graphics/GraphicsLayer.h:
+ (WebCore::GraphicsLayer::setAppliesPageScale):
+ (WebCore::GraphicsLayer::appliesPageScale):
+ These routines are now virtual, so that they can push the notification to setDisregardsContentsScale in
+ LayerChromium.
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::setSize):
+ (WebCore::GraphicsLayerChromium::setTransform):
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+ (WebCore):
+ (WebCore::GraphicsLayerChromium::setAppliesPageScale):
+ (WebCore::GraphicsLayerChromium::appliesPageScale):
+ Now forwards the appliesPageScaleStatus to the owned layer.
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ (GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::contentsLayer):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ (WebCore::LayerChromium::LayerChromium):
+ (WebCore::LayerChromium::setContentsScale):
+ (WebCore):
+ (WebCore::LayerChromium::setBoundsContainPageScale):
+ setAppliesPageScale is renamed to setBoundsContainPageScale in LayerChromium.
+ * platform/graphics/chromium/LayerChromium.h:
+ (LayerChromium):
+ (WebCore::LayerChromium::boundsContainPageScale):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore):
+ (WebCore::setScale):
+ (WebCore::updateLayerScale):
+ (WebCore::CCLayerTreeHost::updateLayers):
+ The contents scale of a layer is now applied in this routine.
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Split platform geometry types into separate static target
+ https://bugs.webkit.org/show_bug.cgi?id=96021
+
+ Reviewed by Tony Chang.
+
+ This moves several WebCore/platform geometry classes out of webcore_platform into a separate static library.
+ This library is relatively standalone and useful to statically link against in other contexts.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-09-06 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ [EFL] Fuzzy load the Edje theme for HTML forms
+ https://bugs.webkit.org/show_bug.cgi?id=95832
+
+ Reviewed by Antonio Gomes.
+
+ Change the theme so that it is first loaded when actually used.
+ This also fixed the case that it was impossible to change theme
+ a second time.
+
+ Tested by current tests. API unit test coming in separate patch.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore):
+
+ Add some convenience macros.
+
+ (WebCore::applyColorCallback):
+
+ Use just one callback from the edje theme, which just calls
+ setColorFromThemeClass.
+
+ (WebCore::fillColorsFromEdjeClass):
+
+ Add convenience method for receiving colors from Edje and
+ storing them in Color's.
+
+ (WebCore::RenderThemeEfl::setColorFromThemeClass):
+
+ Set the class Color variabled with the values from the theme
+ color class.
+
+ (WebCore::RenderThemeEfl::setThemePath):
+
+ Don't apply the theme immediately.
+
+ (WebCore::RenderThemeEfl::loadTheme):
+
+ Load the new theme and free the current one. If it fails,
+ it will continue using the old one, if exists.
+
+ (WebCore::RenderThemeEfl::adjustSizeConstraints):
+ (WebCore::RenderThemeEfl::themePartCacheEntryReset):
+ (WebCore::RenderThemeEfl::cacheThemePartNew):
+ (WebCore::RenderThemeEfl::paintThemePart):
+ (WebCore::RenderThemeEfl::applyPartDescriptionsFrom):
+ (WebCore::RenderThemeEfl::platformActiveSelectionBackgroundColor):
+ (WebCore::RenderThemeEfl::platformInactiveSelectionBackgroundColor):
+ (WebCore::RenderThemeEfl::platformActiveSelectionForegroundColor):
+ (WebCore::RenderThemeEfl::platformInactiveSelectionForegroundColor):
+ (WebCore::RenderThemeEfl::platformFocusRingColor):
+
+ Ensure the theme is loaded.
+
+ (WebCore::RenderThemeEfl::adjustCheckboxStyle):
+ (WebCore::RenderThemeEfl::adjustRadioStyle):
+ (WebCore::RenderThemeEfl::emitMediaButtonSignal):
+
+ Ensure the theme is loaded.
+
+ * platform/efl/RenderThemeEfl.h:
+ (RenderThemeEfl):
+ (WebCore::RenderThemeEfl::loadThemeIfNeeded):
+
+ Remove unneeded methods and add a method for loading a theme
+ in the case it is not loaded yet.
+
+2012-09-06 Simon Fraser <simon.fraser@apple.com>
+
+ Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=96017
+
+ Reviewed by James Robinson.
+
+ FrameView already has a HashSet of RenderObjects whose position
+ is affected by the viewport rect; this contains fixed and sticky-postion
+ objects. RenderView::setFixedPositionedObjectsNeedLayout() was using
+ the RenderView's list of postioned objects, but this omitted sticky-position
+ objects whose container was not the RenderView. So it's simpler to use
+ FrameView's set of fixed/sticky objects.
+
+ Changed the terminology from "fixed" to "viewport-constrained" for this set
+ of objects.
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::useSlowRepaints):
+ (WebCore::FrameView::addViewportConstrainedObject):
+ (WebCore::FrameView::removeViewportConstrainedObject):
+ (WebCore::FrameView::scrollContentsFastPath):
+ (WebCore::FrameView::setFixedVisibleContentRect):
+ (WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
+ (WebCore::FrameView::repaintFixedElementsAfterScrolling):
+ (WebCore::FrameView::updateFixedElementsAfterScrolling):
+ * page/FrameView.h:
+ (WebCore::FrameView::viewportConstrainedObjects):
+ (WebCore::FrameView::hasViewportConstrainedObjects):
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::ScrollingCoordinator::hasNonLayerFixedObjects):
+ (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::willBeDestroyed):
+ (WebCore::RenderBoxModelObject::styleDidChange):
+ * rendering/RenderView.cpp:
+ * rendering/RenderView.h:
+
+2012-09-06 Andrei Poenaru <poenaru@adobe.com>
+
+ Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
+ https://bugs.webkit.org/show_bug.cgi?id=93443
+
+ Reviewed by Alexander Pavlov.
+
+ Added "regionLayoutUpdate" event to the protocol.
+
+ Removed "getFlowByName" from protocol.
+
+ The front-end keeps in sync the requested Named Flow Collections.
+
+ Modified existing test: inspector/styles/protocol-css-regions-commands.html
+
+ * dom/NamedFlowCollection.cpp:
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (UpdateRegionLayoutTask):
+ (WebCore::UpdateRegionLayoutTask::reset):
+ (WebCore):
+ (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
+ (WebCore::UpdateRegionLayoutTask::scheduleFor):
+ (WebCore::UpdateRegionLayoutTask::onTimer):
+ (WebCore::InspectorCSSAgent::reset):
+ (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+ (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
+ (WebCore::InspectorCSSAgent::didUpdateRegionLayout):
+ (WebCore::InspectorCSSAgent::regionLayoutUpdated):
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
+ * inspector/InspectorCSSAgent.h:
+ (WebCore):
+ (InspectorCSSAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow):
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayout):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
+ (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
+ (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
+ (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
+ (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
+ (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlowCollection):
+ (WebInspector.NamedFlowCollection.prototype.appendNamedFlow):
+ (WebInspector.NamedFlowCollection.prototype.removeNamedFlow):
+ (WebInspector.NamedFlowCollection.prototype.flowByName):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
+
+2012-09-06 Anna Cavender <annacc@chromium.org>
+
+ ASSERT reached when TextTrack.mode is set to DISABLED.
+ https://bugs.webkit.org/show_bug.cgi?id=94651
+
+ Reviewed by Eric Carlson.
+
+ This patch ensures that cues that have already been added to the
+ cueTree in HTMLMediaElement, are not added again.
+
+ Test: media/track/track-mode-disabled-crash.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::textTrackAddCue): Do not add the cue if it already
+ exists in m_cueTree.
+
+2012-09-06 Zan Dobersek <zandobersek@gmail.com>
+
+ Another unreviewed GTK build fix.
+
+ The ENABLE_DATALIST_ELEMENT should default to 0, as it did in stable
+ release versions before r127760. The feature define can be switched
+ on later, when its stability is determined and the test results are
+ rebaselined.
+
+ * GNUmakefile.features.am:
+
+2012-09-06 David Barton <dbarton@mathscribe.com>
+
+ mathml.css: Add more { white-space: nowrap } declarations
+ https://bugs.webkit.org/show_bug.cgi?id=95404
+
+ Reviewed by Eric Seidel.
+
+ mathml.css declared { white-space: nowrap } for mrow, mfenced, msqrt. It is also needed
+ for other tags such as msub, msup, msubsup.
+
+ Added a test to mathml/presentation/sup.xhtml, and a regression test to roots.xhtml.
+
+ * css/mathml.css:
+ (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
+
+2012-09-06 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] Enable different fling behaviour for touchscreen and touchpad
+ https://bugs.webkit.org/show_bug.cgi?id=95756
+
+ Reviewed by James Robinson.
+
+ Add support for a flag on WebGestureEvents that differentiates GestureFlingStart
+ events by their originating device and pass this flag to a factory that produces
+ different device specific fling curves based on the value of the flag.
+
+ Covered by existing layout and unit tests.
+
+ * platform/chromium/support/PlatformGestureCurveFactory.cpp: Modified factory
+ entry point for constructing fling curve for different devices.
+ (WebKit::PlatformGestureCurveFactory::createCurve):
+ * platform/chromium/support/PlatformGestureCurveFactory.h:
+ (PlatformGestureCurveFactory):
+
+2012-09-06 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add the local and remote description functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95839
+
+ Reviewed by Adam Barth.
+
+ As well as adding the local/remote descriptions stuff, I removed the source attribute from
+ RTCSessionDescriptionCallback and RTCErrorCallback since it has been removed from the draft.
+
+ Tests: fast/mediastream/RTCPeerConnection-localDescription.html
+ fast/mediastream/RTCPeerConnection-remoteDescription.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/RTCErrorCallback.h:
+ (RTCErrorCallback):
+ * Modules/mediastream/RTCErrorCallback.idl:
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::createOffer):
+ (WebCore::RTCPeerConnection::setLocalDescription):
+ (WebCore):
+ (WebCore::RTCPeerConnection::localDescription):
+ (WebCore::RTCPeerConnection::setRemoteDescription):
+ (WebCore::RTCPeerConnection::remoteDescription):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (WebCore):
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * Modules/mediastream/RTCSessionDescriptionCallback.h:
+ (RTCSessionDescriptionCallback):
+ * Modules/mediastream/RTCSessionDescriptionCallback.idl:
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
+ (WebCore::RTCSessionDescriptionRequestImpl::create):
+ (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
+ (WebCore::RTCSessionDescriptionRequestImpl::clear):
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
+ (RTCSessionDescriptionRequestImpl):
+ * Modules/mediastream/RTCVoidRequestImpl.cpp: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp.
+ (WebCore):
+ (WebCore::RTCVoidRequestImpl::create):
+ (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
+ (WebCore::RTCVoidRequestImpl::~RTCVoidRequestImpl):
+ (WebCore::RTCVoidRequestImpl::requestSucceeded):
+ (WebCore::RTCVoidRequestImpl::requestFailed):
+ (WebCore::RTCVoidRequestImpl::stop):
+ (WebCore::RTCVoidRequestImpl::clear):
+ * Modules/mediastream/RTCVoidRequestImpl.h: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h.
+ (WebCore):
+ (RTCVoidRequestImpl):
+ * WebCore.gypi:
+ * platform/chromium/support/WebRTCVoidRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
+ (WebKit):
+ (WebKit::WebRTCVoidRequest::WebRTCVoidRequest):
+ (WebKit::WebRTCVoidRequest::assign):
+ (WebKit::WebRTCVoidRequest::reset):
+ (WebKit::WebRTCVoidRequest::requestSucceeded):
+ (WebKit::WebRTCVoidRequest::requestFailed):
+ (ExtraDataContainer):
+ (WebKit::ExtraDataContainer::ExtraDataContainer):
+ (WebKit::ExtraDataContainer::extraData):
+ (WebKit::WebRTCVoidRequest::extraData):
+ (WebKit::WebRTCVoidRequest::setExtraData):
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::setLocalDescription):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerDummy::setRemoteDescription):
+ (WebCore::RTCPeerConnectionHandlerDummy::localDescription):
+ (WebCore::RTCPeerConnectionHandlerDummy::remoteDescription):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (WebCore):
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/RTCVoidRequest.h: Copied from Source/WebCore/Modules/mediastream/RTCErrorCallback.h.
+ (WebCore):
+ (RTCVoidRequest):
+ (ExtraData):
+ (WebCore::RTCVoidRequest::ExtraData::~ExtraData):
+ (WebCore::RTCVoidRequest::~RTCVoidRequest):
+ (WebCore::RTCVoidRequest::extraData):
+ (WebCore::RTCVoidRequest::setExtraData):
+ (WebCore::RTCVoidRequest::RTCVoidRequest):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription):
+ (WebCore::RTCPeerConnectionHandlerChromium::localDescription):
+ (WebCore::RTCPeerConnectionHandlerChromium::remoteDescription):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-06 Sam Weinig <sam@webkit.org>
+
+ Fix one of the Qt builds.
+
+ * dom/TransformSource.h:
+
+2012-09-06 Zan Dobersek <zandobersek@gmail.com>
+
+ Unreviewed GTK build fix.
+
+ CSS Compositing is not currently supported on the GTK port, so
+ the feature define should default to 0.
+
+ * GNUmakefile.features.am:
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ SharedGraphicsContext3D shouldn't depend on CCProxy
+ https://bugs.webkit.org/show_bug.cgi?id=95921
+
+ Reviewed by Adrienne Walker.
+
+ This class just wants to ASSERT() that we're on or not on the main thread. There's perfectly fine cross-platform
+ code in WTF to do that.
+
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
+ (WebCore::SharedGraphicsContext3D::getForImplThread):
+ (WebCore::SharedGraphicsContext3D::haveForImplThread):
+ (WebCore::SharedGraphicsContext3D::createForImplThread):
+
+2012-09-06 Zan Dobersek <zandobersek@gmail.com>
+
+ [Gtk] Remove configuration options for features that are not supported by the Gtk port
+ https://bugs.webkit.org/show_bug.cgi?id=87664
+
+ Reviewed by Martin Robinson.
+
+ Remove addition of macros to feature_defines for features that are completely
+ unsupported by the Gtk port. They're not required anymore since the accompanying
+ configuration flags are also being removed.
+
+ No new tests - no new functionality.
+
+ * GNUmakefile.am:
+ * bindings/gobject/GNUmakefile.am:
+
+2012-09-06 Max Vujovic <mvujovic@adobe.com>
+
+ [CSS Shaders] Vertex attributes should be unbound after a custom filter is applied
+ https://bugs.webkit.org/show_bug.cgi?id=95891
+
+ Reviewed by Dean Jackson.
+
+ Now we unbind the vertex attributes after a custom filter is applied.
+
+ Before this patch, Chromium's GPU process would sometimes print the following error message:
+ "ERROR:gles2_cmd_decoder.cc(5142)] 002CA47B: GL ERROR :GL_INVALID_OPERATION :
+ glDrawElements: attempt to render with no buffer attached to enabled attribute 2"
+
+ This would happen in the following situation:
+ 1) There are two FECustomFilters on the page.
+ 2) One FECustomFilter has a detached mesh. One FECustomFilter has an attached mesh. The
+ detached FECustomFilter has one more vertex attribute (a_triangleCoord) than the attached
+ FECustomFilter.
+ 3) The detached FECustomFilter is destroyed, but a_triangleCoord remains bound.
+ 4) The attached FECustomFilter tries to render, but Chromium notices that there is no buffer
+ attached to the a_triangleCoord attribute.
+
+ No new tests. We can't create an automated test for this because it only reproduces using
+ Chromium's GPU process. DRT does not use Chromium's GPU process.
+
+ * platform/graphics/filters/FECustomFilter.cpp:
+ (WebCore::FECustomFilter::applyShader):
+ Unbind the vertex attributes after the drawElements call.
+ (WebCore::FECustomFilter::unbindVertexAttribute):
+ (WebCore):
+ (WebCore::FECustomFilter::unbindVertexAttributes):
+ Unbind all of the attributes that we bound earlier.
+ * platform/graphics/filters/FECustomFilter.h:
+ (FECustomFilter):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * GNUmakefile.list.am:
+ * Modules/filesystem/AsyncFileWriter.h:
+ * Modules/filesystem/DOMFilePath.h:
+ * Modules/filesystem/DOMFileSystemBase.h:
+ * Modules/filesystem/DirectoryEntry.h:
+ * Modules/filesystem/DirectoryEntrySync.h:
+ * Modules/filesystem/DirectoryReader.h:
+ * Modules/filesystem/DirectoryReaderBase.h:
+ * Modules/filesystem/DirectoryReaderSync.h:
+ * Modules/filesystem/EntryBase.cpp:
+ * Modules/filesystem/EntrySync.h:
+ * Modules/filesystem/FileEntrySync.h:
+ * Modules/filesystem/FileSystemCallbacks.h:
+ * Modules/filesystem/LocalFileSystem.h:
+ * Modules/geolocation/GeolocationError.h:
+ * Modules/geolocation/Geoposition.h:
+ * Modules/geolocation/PositionError.h:
+ * Modules/indexeddb/IDBAny.h:
+ * Modules/indexeddb/IDBDatabaseBackendInterface.h:
+ * Modules/indexeddb/IDBDatabaseCallbacks.h:
+ * Modules/indexeddb/IDBDatabaseCallbacksImpl.h:
+ * Modules/indexeddb/IDBDatabaseError.h:
+ * Modules/indexeddb/IDBFactory.h:
+ * Modules/indexeddb/IDBFactoryBackendInterface.h:
+ * Modules/indexeddb/IDBIndex.h:
+ * Modules/indexeddb/IDBIndexBackendInterface.h:
+ * Modules/indexeddb/IDBKey.h:
+ * Modules/indexeddb/IDBKeyPath.h:
+ * Modules/indexeddb/IDBMetadata.h:
+ * Modules/indexeddb/IDBObjectStore.h:
+ * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
+ * Modules/indexeddb/IDBTransactionBackendInterface.h:
+ * Modules/indexeddb/IDBUpgradeNeededEvent.h:
+ * Modules/indexeddb/IDBVersionChangeEvent.h:
+ * Modules/mediastream/MediaStreamTrack.h:
+ * Modules/networkinfo/NetworkInfoConnection.h:
+ * Modules/notifications/DOMWindowNotifications.h:
+ * Modules/speech/SpeechGrammar.h:
+ * Modules/speech/SpeechRecognition.h:
+ * Modules/speech/SpeechRecognitionAlternative.h:
+ * Modules/speech/SpeechRecognitionClient.h:
+ * Modules/speech/SpeechRecognitionError.h:
+ * Modules/webaudio/AudioContext.cpp:
+ * Modules/webaudio/AudioParam.h:
+ * Modules/webdatabase/AbstractDatabase.h:
+ * Modules/webdatabase/ChangeVersionWrapper.h:
+ * Modules/webdatabase/DOMWindowWebDatabase.h:
+ * Modules/webdatabase/Database.h:
+ * Modules/webdatabase/DatabaseAuthorizer.cpp:
+ * Modules/webdatabase/DatabaseAuthorizer.h:
+ * Modules/webdatabase/DatabaseDetails.h:
+ * Modules/webdatabase/DatabaseSync.h:
+ * Modules/webdatabase/DatabaseTask.h:
+ * Modules/webdatabase/DatabaseTracker.h:
+ * Modules/webdatabase/OriginUsageRecord.h:
+ * Modules/webdatabase/SQLError.h:
+ * Modules/webdatabase/SQLStatement.h:
+ * Modules/webdatabase/SQLStatementSync.h:
+ * Modules/webdatabase/SQLTransaction.cpp:
+ * Modules/webdatabase/SQLTransactionSync.cpp:
+ * Modules/webdatabase/SQLTransactionSync.h:
+ * Modules/webdatabase/WorkerContextWebDatabase.h:
+ * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
+ * Modules/webdatabase/chromium/QuotaTracker.h:
+ * Modules/websockets/ThreadableWebSocketChannel.cpp:
+ * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
+ * Modules/websockets/WebSocketHandshake.h:
+ * Modules/websockets/WebSocketHandshakeResponse.h:
+ * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
+ * Modules/websockets/WorkerThreadableWebSocketChannel.h:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/gobject/ConvertToUTF8String.cpp:
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ * bindings/js/JSClipboardCustom.cpp:
+ * bindings/js/JSImageDataCustom.cpp:
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ * bindings/js/JSLazyEventListener.h:
+ * bindings/js/JSStorageCustom.cpp:
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ * bindings/js/JavaScriptCallFrame.cpp:
+ * bindings/js/ScheduledAction.h:
+ * bindings/js/ScriptDebugServer.h:
+ * bindings/js/ScriptHeapSnapshot.h:
+ * bindings/js/ScriptValue.h:
+ * bindings/js/SerializedScriptValue.h:
+ * bindings/objc/DOMCustomXPathNSResolver.mm:
+ * bindings/objc/DOMXPath.mm:
+ * bindings/objc/WebScriptObject.mm:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (AddIncludesForTypeInImpl):
+ (AddIncludesForSVGAnimatedType):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (AddIncludesForType):
+ * bindings/v8/Dictionary.h:
+ * bindings/v8/JavaScriptCallFrame.h:
+ * bindings/v8/NPV8Object.cpp:
+ * bindings/v8/ScriptDebugServer.h:
+ * bindings/v8/ScriptFunctionCall.h:
+ * bindings/v8/ScriptHeapSnapshot.h:
+ * bindings/v8/ScriptProfile.h:
+ * bindings/v8/ScriptProfileNode.h:
+ * bindings/v8/ScriptProfiler.h:
+ * bindings/v8/ScriptSourceCode.h:
+ * bindings/v8/V8Binding.cpp:
+ * bindings/v8/V8DOMWrapper.h:
+ * bindings/v8/V8LazyEventListener.h:
+ * bindings/v8/V8NPUtils.cpp:
+ * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
+ * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
+ * bindings/v8/custom/V8LocationCustom.cpp:
+ * bridge/IdentifierRep.cpp:
+ * bridge/NP_jsobject.cpp:
+ * bridge/c/c_utility.cpp:
+ * css/CSSBasicShapes.h:
+ * css/CSSBorderImageSliceValue.cpp:
+ * css/CSSCharsetRule.h:
+ * css/CSSCursorImageValue.cpp:
+ * css/CSSFontFaceSrcValue.h:
+ * css/CSSGradientValue.cpp:
+ * css/CSSInheritedValue.cpp:
+ * css/CSSInitialValue.cpp:
+ * css/CSSLineBoxContainValue.cpp:
+ * css/CSSMediaRule.h:
+ * css/CSSProperty.cpp:
+ * css/CSSPropertySourceData.cpp:
+ * css/CSSPropertySourceData.h:
+ * css/CSSReflectValue.cpp:
+ * css/CSSTimingFunctionValue.cpp:
+ * css/CSSUnicodeRangeValue.cpp:
+ * css/CSSValueList.cpp:
+ * css/Counter.h:
+ * css/FontFeatureValue.h:
+ * css/FontValue.cpp:
+ * css/MediaQuery.h:
+ * css/MediaQueryEvaluator.h:
+ * css/MediaQueryListListener.h:
+ * css/ShadowValue.cpp:
+ * css/StyleMedia.h:
+ * css/StyleSheet.h:
+ * css/StyleSheetList.cpp:
+ * css/WebKitCSSMatrix.h:
+ * css/WebKitCSSTransformValue.cpp:
+ * dom/DOMStringList.h:
+ * dom/DOMStringMap.h:
+ * dom/DocumentMarker.h:
+ * dom/ErrorEvent.h:
+ * dom/ExceptionBase.h:
+ * dom/MessagePortChannel.h:
+ * dom/MutationRecord.h:
+ * dom/TransformSource.h:
+ * dom/ViewportArguments.cpp:
+ * editing/DOMTransactionStep.h:
+ * editing/EditingStyle.h:
+ * editing/MarkupAccumulator.h:
+ * editing/SmartReplaceICU.cpp:
+ * editing/SpellChecker.h:
+ * editing/SurroundingText.h:
+ * fileapi/AsyncFileStream.cpp:
+ * fileapi/Blob.h:
+ * fileapi/BlobURL.cpp:
+ * fileapi/File.h:
+ * history/HistoryItem.h:
+ * history/blackberry/HistoryItemViewState.h:
+ * history/cf/HistoryPropertyList.h:
+ * html/DOMFormData.cpp:
+ * html/DOMURL.h:
+ * html/MicroDataItemValue.h:
+ * html/PublicURLManager.h:
+ * html/canvas/CanvasPattern.cpp:
+ * html/canvas/CanvasRenderingContext2D.h:
+ * html/canvas/CanvasStyle.h:
+ * html/canvas/WebGLActiveInfo.h:
+ * html/canvas/WebGLGetInfo.h:
+ * html/canvas/WebGLRenderingContext.h:
+ * html/parser/CSSPreloadScanner.h:
+ * html/parser/HTMLEntitySearch.h:
+ * html/parser/HTMLEntityTable.h:
+ * html/parser/HTMLMetaCharsetParser.cpp:
+ * inspector/CodeGeneratorInspector.py:
+ (InspectorFrontend_h):
+ * inspector/ContentSearchUtils.h:
+ * inspector/InjectedScript.cpp:
+ * inspector/InjectedScriptBase.cpp:
+ * inspector/InjectedScriptManager.h:
+ * inspector/InjectedScriptModule.h:
+ * inspector/InjectedScriptWebGLModule.h:
+ * inspector/InspectorAgent.h:
+ * inspector/InspectorCSSAgent.h:
+ * inspector/InspectorController.h:
+ * inspector/InspectorDOMDebuggerAgent.h:
+ * inspector/InspectorDOMStorageAgent.h:
+ * inspector/InspectorDatabaseAgent.h:
+ * inspector/InspectorDatabaseResource.h:
+ * inspector/InspectorFrontendClientLocal.cpp:
+ * inspector/InspectorFrontendClientLocal.h:
+ * inspector/InspectorFrontendHost.h:
+ * inspector/InspectorIndexedDBAgent.h:
+ * inspector/InspectorPageAgent.h:
+ * inspector/InspectorProfilerAgent.h:
+ * inspector/InspectorResourceAgent.h:
+ * inspector/InspectorState.h:
+ * inspector/InspectorStyleSheet.h:
+ * inspector/InspectorStyleTextEditor.h:
+ * inspector/InspectorValues.h:
+ * inspector/InspectorWebGLAgent.h:
+ * inspector/InspectorWorkerResource.h:
+ * inspector/ScriptArguments.h:
+ * inspector/ScriptBreakpoint.h:
+ * inspector/ScriptCallFrame.h:
+ * inspector/ScriptDebugListener.h:
+ * inspector/TimelineRecordFactory.h:
+ * inspector/generate-inspector-protocol-version:
+ (main):
+ * loader/DocumentLoader.cpp:
+ * loader/DocumentWriter.h:
+ * loader/FTPDirectoryParser.h:
+ * loader/FormState.h:
+ * loader/HistoryController.h:
+ * loader/PolicyChecker.h:
+ * loader/ResourceLoadScheduler.h:
+ * loader/SubframeLoader.h:
+ * loader/SubstituteData.h:
+ * loader/WorkerThreadableLoader.h:
+ * loader/appcache/ApplicationCache.h:
+ * loader/appcache/ApplicationCacheGroup.h:
+ * loader/archive/ArchiveFactory.cpp:
+ * loader/archive/ArchiveResourceCollection.h:
+ * loader/cache/CachedResource.h:
+ * loader/cache/MemoryCache.h:
+ * loader/icon/IconRecord.h:
+ * loader/icon/PageURLRecord.h:
+ * loader/mac/LoaderNSURLExtras.mm:
+ * loader/win/DocumentLoaderWin.cpp:
+ * page/Console.cpp:
+ * page/Coordinates.h:
+ * page/DOMSelection.cpp:
+ * page/EventSource.cpp:
+ * page/GroupSettings.h:
+ * page/NavigatorBase.cpp:
+ * page/OriginAccessEntry.h:
+ * page/Page.h:
+ * page/SecurityOrigin.h:
+ * page/SpeechInputResult.h:
+ * page/UserContentURLPattern.h:
+ * page/WindowFeatures.cpp:
+ * page/WindowFeatures.h:
+ * page/WorkerNavigator.h:
+ * page/animation/AnimationControllerPrivate.h:
+ * platform/AsyncFileSystem.h:
+ * platform/AsyncFileSystemCallbacks.h:
+ * platform/ContentType.h:
+ * platform/ContextMenu.h:
+ * platform/ContextMenuItem.h:
+ * platform/Cookie.h:
+ * platform/CrossThreadCopier.cpp:
+ * platform/DateComponents.cpp:
+ * platform/FileChooser.h:
+ * platform/FileStream.cpp:
+ * platform/FileSystem.h:
+ * platform/KURL.cpp:
+ (WebCore):
+ * platform/KURL.h:
+ * platform/KURLHash.h:
+ * platform/KillRing.h:
+ * platform/Language.cpp:
+ * platform/Length.cpp:
+ * platform/LinkHash.cpp:
+ * platform/Logging.cpp:
+ * platform/MIMETypeRegistry.h:
+ * platform/SSLKeyGenerator.h:
+ * platform/SchemeRegistry.h:
+ * platform/SharedBuffer.h:
+ * platform/Theme.h:
+ * platform/UUID.h:
+ * platform/animation/Animation.h:
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
+ * platform/blackberry/CookieManager.h:
+ * platform/blackberry/CookieMap.h:
+ * platform/blackberry/DragDataBlackBerry.cpp:
+ * platform/blackberry/KURLBlackBerry.cpp:
+ * platform/blackberry/LocalizedStringsBlackBerry.cpp:
+ * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
+ * platform/blackberry/TemporaryLinkStubs.cpp:
+ * platform/cf/FileSystemCF.cpp:
+ * platform/cf/SchedulePair.h:
+ * platform/chromium/ChromiumDataObject.h:
+ * platform/chromium/ClipboardUtilitiesChromium.cpp:
+ * platform/chromium/DragDataChromium.cpp:
+ * platform/chromium/FileSystemChromium.cpp:
+ * platform/chromium/FileSystemChromiumMac.mm:
+ * platform/chromium/LanguageChromium.cpp:
+ * platform/chromium/SSLKeyGeneratorChromium.cpp:
+ * platform/cocoa/KeyEventCocoa.mm:
+ * platform/efl/ErrorsEfl.h:
+ * platform/efl/LanguageEfl.cpp:
+ * platform/efl/LocalizedStringsEfl.cpp:
+ * platform/efl/LoggingEfl.cpp:
+ * platform/efl/PasteboardEfl.cpp:
+ * platform/efl/PlatformScreenEfl.cpp:
+ * platform/graphics/ANGLEWebKitBridge.h:
+ * platform/graphics/BitmapImage.cpp:
+ * platform/graphics/FontPlatformData.cpp:
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/GraphicsTypes.cpp:
+ * platform/graphics/SegmentedFontData.cpp:
+ * platform/graphics/blackberry/IconBlackBerry.cpp:
+ * platform/graphics/blackberry/LayerData.h:
+ * platform/graphics/blackberry/LayerFilterRenderer.cpp:
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ * platform/graphics/blackberry/skia/PlatformSupport.h:
+ * platform/graphics/ca/PlatformCALayer.h:
+ * platform/graphics/ca/PlatformCALayerClient.h:
+ * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
+ * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
+ * platform/graphics/cairo/ImageBufferCairo.cpp:
+ * platform/graphics/cairo/PathCairo.cpp:
+ * platform/graphics/cg/ImageSourceCGMac.mm:
+ * platform/graphics/cg/PathCG.cpp:
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ * platform/graphics/chromium/IconChromium.cpp:
+ * platform/graphics/chromium/IconChromiumAndroid.cpp:
+ * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
+ * platform/graphics/efl/IconEfl.cpp:
+ * platform/graphics/filters/FEComposite.h:
+ * platform/graphics/filters/FEDisplacementMap.h:
+ * platform/graphics/filters/SourceAlpha.cpp:
+ * platform/graphics/filters/SourceAlpha.h:
+ * platform/graphics/filters/SourceGraphic.cpp:
+ * platform/graphics/filters/SourceGraphic.h:
+ * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
+ * platform/graphics/mac/IconMac.mm:
+ * platform/graphics/mac/ImageMac.mm:
+ * platform/graphics/opentype/OpenTypeUtilities.h:
+ * platform/graphics/openvg/PathOpenVG.cpp:
+ * platform/graphics/pango/FontPlatformDataPango.cpp:
+ * platform/graphics/qt/FontCacheQt.cpp:
+ * platform/graphics/qt/FontPlatformDataQt.cpp:
+ * platform/graphics/qt/IconQt.cpp:
+ * platform/graphics/qt/ImageQt.cpp:
+ * platform/graphics/qt/PathQt.cpp:
+ * platform/graphics/skia/FontCustomPlatformData.h:
+ * platform/graphics/skia/ImageSkia.cpp:
+ * platform/graphics/win/FontCustomPlatformData.h:
+ * platform/graphics/win/FontPlatformDataCGWin.cpp:
+ * platform/graphics/win/FontPlatformDataCairoWin.cpp:
+ * platform/graphics/win/FontPlatformDataWin.cpp:
+ * platform/graphics/win/IconWin.cpp:
+ * platform/graphics/win/ImageCGWin.cpp:
+ * platform/graphics/win/ImageCairoWin.cpp:
+ * platform/graphics/win/SimpleFontDataCGWin.cpp:
+ * platform/graphics/wince/FontCustomPlatformData.h:
+ * platform/graphics/wince/FontPlatformData.cpp:
+ * platform/graphics/wince/ImageWinCE.cpp:
+ * platform/graphics/wince/MediaPlayerProxy.cpp:
+ * platform/graphics/wince/PathWinCE.cpp:
+ * platform/graphics/wince/PlatformPathWinCE.cpp:
+ * platform/graphics/wx/FontCacheWx.cpp:
+ * platform/graphics/wx/FontPlatformDataWx.cpp:
+ * platform/graphics/wx/IconWx.cpp:
+ * platform/graphics/wx/PathWx.cpp:
+ * platform/gtk/ErrorsGtk.h:
+ * platform/gtk/FileSystemGtk.cpp:
+ * platform/gtk/GtkPopupMenu.h:
+ * platform/gtk/KeyBindingTranslator.h:
+ * platform/gtk/LanguageGtk.cpp:
+ * platform/gtk/LocalizedStringsGtk.cpp:
+ * platform/gtk/LoggingGtk.cpp:
+ * platform/gtk/PasteboardGtk.cpp:
+ * platform/image-decoders/ImageDecoder.h:
+ * platform/leveldb/LevelDBSlice.h:
+ * platform/mac/FileSystemMac.mm:
+ * platform/mediastream/MediaStreamSource.h:
+ * platform/mock/GeolocationClientMock.h:
+ * platform/network/BlobData.h:
+ * platform/network/BlobRegistryImpl.h:
+ * platform/network/BlobResourceHandle.h:
+ * platform/network/Credential.h:
+ * platform/network/FormData.h:
+ * platform/network/FormDataBuilder.h:
+ * platform/network/HTTPParsers.cpp:
+ * platform/network/HTTPRequest.h:
+ * platform/network/HTTPValidation.cpp:
+ * platform/network/ProtectionSpace.h:
+ * platform/network/ResourceErrorBase.h:
+ * platform/network/SocketStreamErrorBase.h:
+ * platform/network/blackberry/DNSBlackBerry.cpp:
+ * platform/network/blackberry/DeferredData.h:
+ * platform/network/blackberry/NetworkJob.h:
+ * platform/network/cf/CookieJarCFNet.cpp:
+ * platform/network/curl/CookieJarCurl.cpp:
+ * platform/network/curl/ResourceHandleManager.h:
+ * platform/network/qt/DnsPrefetchHelper.cpp:
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ * platform/network/win/CookieJarWin.cpp:
+ * platform/posix/FileSystemPOSIX.cpp:
+ * platform/qt/ClipboardQt.cpp:
+ * platform/qt/CookieJarQt.cpp:
+ * platform/qt/FileSystemQt.cpp:
+ * platform/qt/LanguageQt.cpp:
+ * platform/qt/LocalizedStringsQt.cpp:
+ * platform/qt/LoggingQt.cpp:
+ * platform/qt/PlatformSupport.h:
+ * platform/sql/SQLValue.h:
+ * platform/sql/SQLiteDatabase.h:
+ * platform/sql/SQLiteFileSystem.h:
+ * platform/text/DecodeEscapeSequences.h:
+ * platform/text/LineEnding.cpp:
+ * platform/text/ParserUtilities.h:
+ * platform/text/PlatformString.h: Removed.
+ * platform/text/RegularExpression.h:
+ * platform/text/SegmentedString.h:
+ * platform/text/StringWithDirection.h:
+ * platform/text/SuffixTree.h:
+ * platform/text/TextBreakIteratorICU.cpp:
+ * platform/text/TextCodec.cpp:
+ * platform/text/TextCodec.h:
+ * platform/text/TextCodecLatin1.cpp:
+ * platform/text/TextCodecUTF16.cpp:
+ * platform/text/TextCodecUserDefined.cpp:
+ * platform/text/TextEncoding.cpp:
+ * platform/text/blackberry/StringBlackBerry.cpp:
+ * platform/text/cf/StringCF.cpp:
+ * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp:
+ * platform/text/gtk/TextCodecGtk.cpp:
+ * platform/text/mac/StringMac.mm:
+ * platform/text/mac/TextCodecMac.cpp:
+ * platform/text/qt/TextCodecQt.cpp:
+ * platform/text/win/TextCodecWin.h:
+ * platform/text/wince/TextBreakIteratorWinCE.cpp:
+ * platform/win/BString.cpp:
+ * platform/win/DragDataWin.cpp:
+ * platform/win/GDIObjectCounter.h:
+ * platform/win/LoggingWin.cpp:
+ * platform/win/WCDataObject.cpp:
+ * platform/wince/DragDataWinCE.cpp:
+ * platform/wx/ClipboardWx.cpp:
+ * platform/wx/FileSystemWx.cpp:
+ * platform/wx/LanguageWx.cpp:
+ * platform/wx/LocalizedStringsWx.cpp:
+ * platform/wx/LoggingWx.cpp:
+ * platform/wx/PasteboardWx.cpp:
+ * platform/wx/PopupMenuWx.cpp:
+ * plugins/PluginData.h:
+ * plugins/PluginDatabase.h:
+ * plugins/PluginDebug.cpp:
+ * plugins/PluginPackage.h:
+ * plugins/PluginStream.h:
+ * rendering/style/StyleDashboardRegion.h:
+ * storage/Storage.cpp:
+ * storage/StorageArea.h:
+ * storage/StorageEvent.h:
+ * storage/StorageEventDispatcher.h:
+ * storage/StorageMap.h:
+ * storage/StorageNamespace.h:
+ * storage/StorageNamespaceImpl.h:
+ * storage/StorageSyncManager.h:
+ * storage/StorageTask.h:
+ * storage/StorageTracker.h:
+ * svg/SVGPathByteStreamBuilder.h:
+ * svg/SVGPathParser.h:
+ * svg/SVGPathStringSource.h:
+ * svg/SVGStyledElement.cpp:
+ * svg/animation/SMILTimeContainer.h:
+ * svg/graphics/filters/SVGFilterBuilder.cpp:
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ * testing/Internals.h:
+ * workers/DefaultSharedWorkerRepository.cpp:
+ * workers/WorkerLocation.cpp:
+ * workers/WorkerThread.cpp:
+ * xml/DOMParser.cpp:
+ * xml/NativeXPathNSResolver.cpp:
+ * xml/XMLSerializer.cpp:
+ * xml/XMLSerializer.h:
+ * xml/XPathExpression.cpp:
+ * xml/XPathValue.h:
+ * xml/XSLTUnicodeSort.cpp:
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a customized copy() method to CCRenderPassDrawQuad
+ https://bugs.webkit.org/show_bug.cgi?id=95871
+
+ Reviewed by Adrienne Walker.
+
+ CCRenderPassDrawQuad is special because a copied quad will need to
+ point to a different RenderPass id, since new ids are given to copied
+ RenderPasses. Add a custom copy() method to CCRenderPassDrawQuad that
+ takes as input the new RenderPass id that should appear in the copied
+ quad.
+
+ Test: CCDrawQuad.copyRenderPassDrawQuad
+
+ * platform/graphics/chromium/cc/CCDrawQuad.cpp:
+ (WebCore::CCDrawQuad::copy):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp:
+ (WebCore::CCRenderPassDrawQuad::copy):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderPassDrawQuad.h:
+ (CCRenderPassDrawQuad):
+
+2012-09-06 Nikhil Bhargava <nbhargava@google.com>
+
+ Remove extraneous includes (HTMLElement, SVGElement, GlyphBuffer, Clipboard)
+ https://bugs.webkit.org/show_bug.cgi?id=95780
+
+ Reviewed by Eric Seidel.
+
+ Removes extraneous includes of type HTMLElement, SVGElement, GlyphBuffer,
+ and Clipboard. There is a minor compile-time performance boost.
+
+ * Modules/mediastream/MediaStreamEvent.h:
+ * dom/Event.cpp:
+ * dom/Event.h:
+ (WebCore):
+ * dom/EventDispatchMediator.cpp:
+ * dom/EventListenerMap.cpp:
+ * dom/MouseRelatedEvent.h:
+ * dom/UIEvent.cpp:
+ * html/FormAssociatedElement.h:
+ (WebCore):
+ * inspector/TimelineRecordFactory.cpp:
+ * platform/graphics/FontPlatformData.h:
+ * rendering/RenderLineBoxList.h:
+ * rendering/style/RenderStyle.h:
+ (WebCore):
+ * svg/SVGAnimatedType.h:
+ * svg/SVGExternalResourcesRequired.cpp:
+ * svg/SVGExternalResourcesRequired.h:
+ (WebCore):
+ * svg/SVGURIReference.h:
+ (WebCore):
+
+2012-09-06 Dan Bernstein <mitz@apple.com>
+
+ REGRESSION(r127712): It broke http/tests/xmlhttprequest/basic-auth.html on JSC platforms
+ https://bugs.webkit.org/show_bug.cgi?id=95972
+
+ Reverted r127712, because it was based on the false premise that “[Optional] works the way
+ XMLHttpRequest expects”.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore::JSXMLHttpRequest::open):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ (WebCore::V8XMLHttpRequest::openCallback):
+ (WebCore):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::open):
+ (WebCore):
+ * xml/XMLHttpRequest.h:
+ (XMLHttpRequest):
+ * xml/XMLHttpRequest.idl:
+
+2012-09-06 Keishi Hattori <keishi@webkit.org>
+
+ Use native function bind in page popups
+ https://bugs.webkit.org/show_bug.cgi?id=95976
+
+ Reviewed by Kent Tamura.
+
+ We should be using Function.prototype.bind instead of our own bind implementation.
+
+ No new tests. No behavior change.
+
+ * Resources/pagepopups/calendarPicker.js:
+ (CalendarPicker):
+ (CalendarPicker.prototype._layoutButtons):
+ (YearMonthController.prototype.attachTo):
+ (YearMonthController.prototype._attachLeftButtonsTo):
+ (YearMonthController.prototype._attachRightButtonsTo):
+ (DaysTable.prototype.attachTo):
+ * Resources/pagepopups/colorSuggestionPicker.js:
+ (ColorPicker):
+ (ColorPicker.prototype._layout):
+ * Resources/pagepopups/pickerCommon.js:
+
+2012-09-06 Eugene Klyuchnikov <eustas.bug@gmail.com>
+
+ Web Inspector: Timeline: cache "filteredRecords" for better scrolling performance.
+ https://bugs.webkit.org/show_bug.cgi?id=95731
+
+ Reviewed by Yury Semikhatsky.
+
+ Now scrolling is sluggish on large datasets.
+ Performance degrades, because each refresh causes DFS on all recorded items.
+ Solution: caching/invalidation of DFS (filtering) results.
+
+ Also fixed "truncate selected record range on mode change" glitch.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._scheduleRefresh):
+ Add flag for cache invalidation.
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.prototype.invalidateFilteredRecords):
+ Added.
+ (WebInspector.TimelinePresentationModel.prototype.filteredRecords):
+ Caching/using cached results.
+
+2012-09-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: switch to hierarchical identifiers of MemoryBlockTypes and use these identifiers in protocol.
+ https://bugs.webkit.org/show_bug.cgi?id=95957
+
+ Reviewed by Yury Semikhatsky.
+
+ Now when we use string identifiers as MemoryObjectType we can use them as the identifiers for the protocol
+ instead of MemoryBlockNames hardcoded in InspectorMemoryAgent..
+ At a later stage, when each type of memory will be counted in MemoryInstrumentation
+ we will build the blocks hierarchy for the front-end automatically.
+
+ * dom/MemoryInstrumentation.cpp:
+ (WebCore):
+ * dom/MemoryInstrumentation.h:
+ (GenericMemoryTypes):
+ (WebCore::MemoryInstrumentation::addRootObject):
+ (WebCore::MemoryObjectInfo::reportObjectInfo):
+ (WebCoreMemoryTypes):
+ * inspector/InspectorMemoryAgent.cpp:
+ (MemoryBlockName):
+ (WebCore):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationImpl::countObjectSize):
+ * inspector/front-end/NativeMemorySnapshotView.js:
+ (WebInspector.MemoryBlockViewProperties._initialize):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::reportMemoryUsage):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::reportMemoryUsage):
+ * loader/cache/CachedResourceHandle.cpp:
+ (WebCore::CachedResourceHandleBase::reportMemoryUsage):
+ * platform/SharedBuffer.cpp:
+ (WebCore::SharedBuffer::reportMemoryUsage):
+
+2012-09-06 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ CSS 3 'overflow-wrap' property implementation
+ https://bugs.webkit.org/show_bug.cgi?id=94475
+
+ Reviewed by Ojan Vafai.
+
+ Added 'overflow-wrap' property implementation according to
+ http://www.w3.org/TR/2012/WD-css3-text-20120814/#overflow-wrap.
+ The specification declares that 'word-wrap' as a shorthand
+ for the 'overflow-wrap' property. So what was basically done
+ is declaring of new 'overflow-wrap' property and renaming
+ of the internal data structures from 'WordWrap' to 'OverflowWrap'.
+ Both 'overflow-wrap' and 'word-wrap' properties share the same
+ handlers and thus have the same behaviour.
+
+ Test: fast/text/overflow-wrap.html
+
+ * WebCore.order: Rename exported setWordWrap to setOverflowWrap.
+ * css/CSSComputedStyleDeclaration.cpp: Add CSSPropertyOverflowWrap to computedProperties.
+ (WebCore):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp: Validation for the 'overflow-wrap' property.
+ (WebCore::isValidKeywordPropertyAndValue):
+ (WebCore::isKeywordPropertyID):
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ (WebCore::CSSPrimitiveValue::operator EOverflowWrap):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty): CSSPropertyOverflowWrap is inherited.
+ * css/CSSPropertyNames.in: Declare new 'overflow-wrap' property.
+ * css/StyleBuilder.cpp: Assign property handler (same as for 'word-wrap').
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList): Renaming.
+ * rendering/RenderTextControl.cpp: Ditto.
+ (WebCore::RenderTextControl::computeLogicalHeight):
+ * rendering/RenderTextControlSingleLine.cpp: Ditto.
+ (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
+ * rendering/style/RenderStyle.cpp: Ditto.
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h: Ditto.
+ * rendering/style/RenderStyleConstants.h: Ditto.
+ * rendering/style/StyleRareInheritedData.cpp: Ditto.
+ (WebCore::StyleRareInheritedData::StyleRareInheritedData):
+ (WebCore::StyleRareInheritedData::operator==):
+ * rendering/style/StyleRareInheritedData.h: Ditto.
+ (StyleRareInheritedData):
+
+2012-09-06 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Always log shader compilation failure
+ https://bugs.webkit.org/show_bug.cgi?id=95948
+
+ Reviewed by George Staikos.
+
+ Also add shader source to the logs. In addition, don't bail on the
+ first failure, run through all shaders so we get a complete set of
+ logs.
+
+ No new tests: no change in functionality.
+
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::loadShader):
+ (WebCore::LayerRenderer::initializeSharedGLObjects):
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Remove String::operator+=() from windows platform code
+ https://bugs.webkit.org/show_bug.cgi?id=95904
+
+ Reviewed by Benjamin Poulain.
+
+ Use StringBuilder and operator+() to concatenate strings instead of operator+=().
+
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::filesystemPathFromUrlOrTitle):
+
+2012-09-06 Keishi Hattori <keishi@webkit.org>
+
+ Refactor CalendarPicker to not use global variables.
+ https://bugs.webkit.org/show_bug.cgi?id=95830
+
+ Reviewed by Kent Tamura.
+
+ Introduce CalendarPicker so we can have multiple Pickers in one page
+ popup in the future.
+
+ No new tests. No behavior change.
+
+ * Resources/pagepopups/calendarPicker.js:
+ (initialize):
+ (resetMain):
+ (openCalendarPicker):
+ (CalendarPicker):
+ (CalendarPicker.prototype._layout):
+ (CalendarPicker.prototype.handleToday):
+ (CalendarPicker.prototype.handleClear):
+ (CalendarPicker.prototype.fixWindowSize):
+ (CalendarPicker.prototype._layoutButtons):
+ (YearMonthController):
+ (YearMonthController.prototype.attachTo):
+ (YearMonthController.prototype._redraw):
+ (YearMonthController.prototype._handleYearMonthChange):
+ (YearMonthController.prototype.moveRelatively):
+ (DaysTable):
+ (DaysTable.prototype.attachTo):
+ (CalendarPicker.prototype.stepMismatch):
+ (CalendarPicker.prototype.outOfRange):
+ (CalendarPicker.prototype.isValidDate):
+ (DaysTable.prototype._renderMonth):
+ (DaysTable.prototype._navigateToMonth):
+ (DaysTable.prototype._maybeSetPreviousMonth):
+ (DaysTable.prototype._maybeSetNextMonth):
+ (DaysTable.prototype._handleDayClick):
+ (DaysTable.prototype._handleKey):
+ (CalendarPicker.prototype._handleBodyKeyDown):
+ * Resources/pagepopups/colorSuggestionPicker.js:
+ (ColorPicker):
+ (ColorPicker.prototype._layout):
+ (ColorPicker.prototype._handleKeyDown):
+ (ColorPicker.prototype._handleSwatchClick):
+ * Resources/pagepopups/pickerCommon.js:
+ (Picker):
+ (Picker.prototype.submitValue):
+ (Picker.prototype.handleCancel):
+ (Picker.prototype.chooseOtherColor):
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+ https://bugs.webkit.org/show_bug.cgi?id=95965
+
+ Reviewed by Tor Arne Vestbø.
+
+ Moved all ANGLE build rules from here to Source/Thirty/ANGLE and
+ instead depend on the new library with a simple WEBKIT += ANGLE.
+
+ * DerivedSources.pri:
+ * Target.pri:
+ * platform/graphics/ANGLEWebKitBridge.h: Simplify the include statement
+ for the internal shader compiler API, aligned with the other platforms.
+
+2012-09-06 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Keep placeholder text visible until first input from user.
+ https://bugs.webkit.org/show_bug.cgi?id=95851
+
+ Reviewed by Gyuyoung Kim.
+
+ Current specification, http://dev.w3.org/html5/spec/single-page.html#attr-input-placeholder, has allowed user agent to keep placeholder text until first input.
+ Therefore, this patch enabled it.
+
+ * platform/efl/RenderThemeEfl.h:
+ (WebCore::RenderThemeEfl::shouldShowPlaceholderWhenFocused):
+
+2012-09-06 Elliott Sprehn <esprehn@chromium.org>
+
+ Add new V8DependentRetained that allows keeping a v8::Object alive as long as another v8::Object is alive
+ https://bugs.webkit.org/show_bug.cgi?id=95519
+
+ Reviewed by Adam Barth.
+
+ Add new V8DependentRetained that allows keeping a v8::Object alive as long as another
+ v8::Object is alive. This is useful for keeping callbacks attached to wrappers without
+ keeping strong references to v8::Objects in the C++ side which can result in leaks
+ when cycles are created.
+
+ No new tests needed, this will be used to fix MutationObservers which will have tests.
+
+ * WebCore.gypi:
+ * bindings/v8/V8DependentRetained.h: Added.
+ (WebCore):
+ (V8DependentRetained):
+ (WebCore::V8DependentRetained::V8DependentRetained):
+ (WebCore::V8DependentRetained::~V8DependentRetained):
+ (WebCore::V8DependentRetained::get): Gets the v8::Object value.
+ (WebCore::V8DependentRetained::isEmpty): Checks if the value is still alive.
+ (WebCore::V8DependentRetained::createPropertyName):
+ (WebCore::V8DependentRetained::ownerWeakCallback): Clear the value when the owner is released.
+ (WebCore::V8DependentRetained::valueWeakCallback):
+ (WebCore::V8DependentRetained::release):
+ * bindings/v8/V8HiddenPropertyName.cpp:
+ (WebCore::V8HiddenPropertyName::hiddenReferenceName): Modified to allow creating hidden String or Symbol names.
+ * bindings/v8/V8HiddenPropertyName.h:
+ (V8HiddenPropertyName):
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::V8PerIsolateData):
+ * bindings/v8/V8PerIsolateData.h:
+ (WebCore::V8PerIsolateData::nextDependentRetainedId): Returns the next available hidden property index.
+ (V8PerIsolateData):
+
+2012-09-06 Otto Derek Cheung <otcheung@rim.com>
+
+ [BlackBerry] Removing String operator += uses in Cookie Files
+ https://bugs.webkit.org/show_bug.cgi?id=95884
+
+ Reviewed by Rob Buis.
+
+ Replacing all usages of String operator += in the Cookie code because it is being deprecated.
+ String concats are now done using + or StringBuilder.
+
+ PR 203054
+
+ Tested using Browser Test Cookie suite on browsertest01.rim.net/networking/cookies.
+
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
+ (WebCore::CookieDatabaseBackingStore::upgradeTableIfNeeded):
+ (WebCore::CookieDatabaseBackingStore::invokeOpen):
+ (WebCore::CookieDatabaseBackingStore::invokeRemoveAll):
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::getRawCookies):
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a copy() method to CCRenderPass
+ https://bugs.webkit.org/show_bug.cgi?id=95485
+
+ Reviewed by Adrienne Walker.
+
+ This method allows the ubercomp layer to make a clone of its delegated
+ RenderPasses to insert into the current frame.
+
+ Tests: CCRenderPassTest.copyShouldBeIdenticalExceptIdAndQuads
+
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::copy):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (CCRenderPass):
+
+2012-09-06 Adam Barth <abarth@chromium.org>
+
+ XMLHttpRequest.open does not need custom bindings
+ https://bugs.webkit.org/show_bug.cgi?id=95903
+
+ Reviewed by Kentaro Hara.
+
+ There doesn't appear to be any reason that XMLHttpRequest.open needs
+ custom bindings now that [Optional] works the way XMLHttpRequest
+ expects.
+
+ * bindings/js/JSXMLHttpRequestCustom.cpp:
+ (WebCore):
+ * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::open):
+ (WebCore):
+ (WebCore::XMLHttpRequest::internalOpen):
+ * xml/XMLHttpRequest.h:
+ (XMLHttpRequest):
+ * xml/XMLHttpRequest.idl:
+
+2012-09-06 Adam Barth <abarth@chromium.org>
+
+ Three XSLTProcessor functions don't need to be [Custom]
+ https://bugs.webkit.org/show_bug.cgi?id=95899
+
+ Reviewed by Kentaro Hara.
+
+ These functions are marked [Custom] because they predate our
+ improvements to [Optional]. Now that we have
+ [Optional=DefaultIsUndefined], we can autogenerate these functions.
+
+ There is a (slight!) difference in behavior. Now, in the case of a type
+ error, we return null instead of undefined. This change is unlikely to
+ cause compatibility problems because the vast majority of folks will
+ pass the correct arguments, and, in the few cases where folks pass the
+ wrong argument types, null and undefined will likely work similarly
+ (e.g., they're both falsy and throw when you try to access properties).
+
+ * bindings/js/JSXSLTProcessorCustom.cpp:
+ * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
+ * xml/XSLTProcessor.cpp:
+ (WebCore::XSLTProcessor::transformToDocument):
+ (WebCore::XSLTProcessor::transformToFragment):
+ * xml/XSLTProcessor.h:
+ (WebCore::XSLTProcessor::importStylesheet):
+ * xml/XSLTProcessor.idl:
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Remove String::operator+=() from plugin code
+ https://bugs.webkit.org/show_bug.cgi?id=95896
+
+ Reviewed by Adam Barth.
+
+ Use operator+() to concatenate strings instead of operator+=().
+
+ * plugins/PluginView.cpp:
+ (WebCore::parseRFC822HeaderFields):
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ More fixes for String::operator+=() in Debug mode
+ https://bugs.webkit.org/show_bug.cgi?id=95888
+
+ Reviewed by Adam Barth.
+
+ Use StringBuilder to concatenate strings instead of operator+=().
+
+ * dom/Element.cpp:
+ (WebCore::Element::formatForDebugger):
+ * dom/Node.cpp:
+ (WebCore::appendAttributeDesc):
+ (WebCore::Node::showNode):
+ (WebCore::traverseTreeAndMark):
+ (WebCore::Node::formatForDebugger):
+ * dom/Position.cpp:
+ (WebCore::Position::formatForDebugger):
+ * dom/Range.cpp:
+ (WebCore):
+ (WebCore::Range::formatForDebugger):
+ * dom/Text.cpp:
+ (WebCore::Text::formatForDebugger):
+ * editing/VisibleSelection.cpp:
+ (WebCore::VisibleSelection::formatForDebugger):
+
+2012-09-04 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Fix inconsistencies in NetworkUISourceCodeProvider implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=95752
+
+ Reviewed by Alexander Pavlov.
+
+ NetworkUISourceCodeProvider does not receive ResourceAdded event until resource is finished anymore.
+ StylesSourceMapping now listens for workspace event instead of being called directly by NetworkUISourceCodeProvider.
+ StylesSourceMapping is now created from inspector.js.
+ ProjectDidReset event introduced instead of setTimeout hacks in mappings.
+
+ * inspector/front-end/NetworkUISourceCodeProvider.js:
+ (WebInspector.NetworkUISourceCodeProvider):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._projectWillReset):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._projectDidReset):
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel):
+ (WebInspector.ResourceTreeModel.prototype._onRequestFinished):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel):
+ (WebInspector.ScriptSnippetModel.prototype._projectWillReset):
+ (WebInspector.ScriptSnippetModel.prototype._projectDidReset):
+ * inspector/front-end/StylesSourceMapping.js:
+ (WebInspector.StylesSourceMapping):
+ (WebInspector.StylesSourceMapping.prototype._uiSourceCodeAddedToWorkspace):
+ (WebInspector.StylesSourceMapping.prototype._addUISourceCode):
+ (WebInspector.StylesSourceMapping.prototype._reset):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.WorkspaceController.prototype._mainFrameNavigated):
+ (WebInspector.Project.prototype.reset):
+ * inspector/front-end/inspector.js:
+
+2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127700.
+ http://trac.webkit.org/changeset/127700
+ https://bugs.webkit.org/show_bug.cgi?id=95941
+
+ Breaks inspector closure compilation, uses not defined
+ variables. (Requested by vsevik on #webkit).
+
+ * dom/NamedFlowCollection.cpp:
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::reset):
+ (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+ (WebCore::InspectorCSSAgent::didRemoveNamedFlow):
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::getFlowByName):
+ (WebCore):
+ * inspector/InspectorCSSAgent.h:
+ (WebCore):
+ (InspectorCSSAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow):
+ (WebCore::InspectorInstrumentation::didRemoveNamedFlow):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
+ (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
+ (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlow.parsePayloadArray):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
+
+2012-09-06 Adam Barth <abarth@chromium.org>
+
+ [V8] V8HTMLDocument has two out-of-style function names
+ https://bugs.webkit.org/show_bug.cgi?id=95893
+
+ Reviewed by Kentaro Hara.
+
+ Just a simple style cleanup.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateHeader):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::getter):
+ * bindings/v8/V8DOMWrapper.cpp:
+ (WebCore::V8DOMWrapper::instantiateV8Object):
+ * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
+ (WebCore::V8HTMLDocument::wrapInShadowObject):
+ (WebCore::V8HTMLDocument::getNamedProperty):
+
+2012-09-05 Andrei Poenaru <poenaru@adobe.com>
+
+ Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
+ https://bugs.webkit.org/show_bug.cgi?id=93443
+
+ Reviewed by Alexander Pavlov.
+
+ Added "regionLayoutUpdate" event to the protocol.
+
+ Removed "getFlowByName" from protocol.
+
+ The front-end keeps in sync the requested Named Flow Collections.
+
+ Modified existing test: inspector/styles/protocol-css-regions-commands.html
+
+ * dom/NamedFlowCollection.cpp:
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (UpdateRegionLayoutTask):
+ (WebCore::UpdateRegionLayoutTask::reset):
+ (WebCore):
+ (WebCore::UpdateRegionLayoutTask::UpdateRegionLayoutTask):
+ (WebCore::UpdateRegionLayoutTask::scheduleFor):
+ (WebCore::UpdateRegionLayoutTask::onTimer):
+ (WebCore::InspectorCSSAgent::reset):
+ (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+ (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
+ (WebCore::InspectorCSSAgent::didUpdateRegionLayout):
+ (WebCore::InspectorCSSAgent::regionLayoutUpdated):
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
+ * inspector/InspectorCSSAgent.h:
+ (WebCore):
+ (InspectorCSSAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow):
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayout):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
+ (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
+ (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
+ (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
+ (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
+ (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlowCollection):
+ (WebInspector.NamedFlowCollection.prototype.appendNamedFlow):
+ (WebInspector.NamedFlowCollection.prototype.removeNamedFlow):
+ (WebInspector.NamedFlowCollection.prototype.flowByName):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
+
+2012-09-05 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a copy() method to CCDrawQuad and CCSharedQuadState
+ https://bugs.webkit.org/show_bug.cgi?id=95374
+
+ Reviewed by Adrienne Walker.
+
+ The ubercomp layer will hold a RenderPass full of DrawQuads, and needs
+ to add quads to the current frame in appendQuads(). It will do this by
+ copying the quads it has in its RenderPass into the frame's RenderPass.
+
+ These methods allows it to make a clone of its quads.
+
+ Test: CCDrawQuadTest.copySharedQuadState
+ CCDrawQuadTest.copyCheckerboardDrawQuad
+ CCDrawQuadTest.copyDebugBorderDrawQuad
+ CCDrawQuadTest.copyIOSurfaceDrawQuad
+ CCDrawQuadTest.copyRenderPassDrawQuad
+ CCDrawQuadTest.copySolidColorDrawQuad
+ CCDrawQuadTest.copyStreamVideoDrawQuad
+ CCDrawQuadTest.copyTextureDrawQuad
+ CCDrawQuadTest.copyTileDrawQuadcopy
+ CCDrawQuadTest.copyYUVVideoDrawQuad
+
+ * platform/graphics/chromium/cc/CCDrawQuad.cpp:
+ (WebCore::CCDrawQuad::copy):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCDrawQuad.h:
+ (CCDrawQuad):
+ * platform/graphics/chromium/cc/CCSharedQuadState.cpp:
+ (WebCore::CCSharedQuadState::copy):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCSharedQuadState.h:
+ (CCSharedQuadState):
+
+2012-09-05 Tim Horton <timothy_horton@apple.com>
+
+ Unreviewed; revert a change to ScrollingTreeNodeMac which accidentally
+ slipped into http://trac.webkit.org/changeset/127474.
+
+ This change will be properly landed shortly as part of
+ https://bugs.webkit.org/show_bug.cgi?id=93898.
+
+ * page/scrolling/mac/ScrollingTreeNodeMac.mm:
+ (WebCore::ScrollingTreeNodeMac::update):
+
+2012-09-05 Nate Chapin <japhet@chromium.org>
+
+ Remove duplicate error() impls in CachedResource subclasses
+ https://bugs.webkit.org/show_bug.cgi?id=81161
+
+ Reviewed by Antti Koivisto.
+
+ No new tests, refactor only.
+
+ * loader/cache/CachedCSSStyleSheet.cpp:
+ * loader/cache/CachedCSSStyleSheet.h:
+ * loader/cache/CachedFont.cpp:
+ * loader/cache/CachedFont.h:
+ * loader/cache/CachedImage.cpp:
+ * loader/cache/CachedResource.h: Make checkNotify()
+ virtual, so the right checkNotify() gets called in error().
+ * loader/cache/CachedScript.cpp:
+ * loader/cache/CachedScript.h:
+ * loader/cache/CachedXSLStyleSheet.cpp:
+ * loader/cache/CachedXSLStyleSheet.h:
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ Unreviewed chromium windows build fix.
+
+ Some of the rules in webcore_remaining only apply to files under WebCore/platform/. Since r127687 moved all such
+ files from the webcore_files variable to webcore_platform_files, these rules have to be applied to
+ webcore_platform instead. This also means that these files link into webcore_platform instead of
+ webcore_remaining, which makes a lot more sense, and we can delete several redundant rules.
+
+ * WebCore.gyp/WebCore.gyp:
+
+2012-09-05 Nate Chapin <japhet@chromium.org>
+
+ [chromium] Some SubstituteData loads broken after r121912
+ https://bugs.webkit.org/show_bug.cgi?id=91685
+
+ Reviewed by Adam Barth.
+
+ Test: WebFrameTest.ReplaceNavigationAfterHistoryNavigation in chromium's webkit_unit_tests.
+
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::commitData): receivedFirstData() should be called exactly once per load,
+ on the first commit. I had mistakely assumed in r121912 that isReplacing() was true only for multipart
+ loads, and only after the first commit (chromium uses it for some SubstituteData loads to ensure the error page
+ replaces the failed load). We need to check whether we are loading multipart content before assuming isReplacing()
+ will tell us what we need to know.
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
+ https://bugs.webkit.org/show_bug.cgi?id=95876
+
+ Reviewed by Tony Chang.
+
+ This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
+ path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-09-05 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Large integer versions not persisted correctly
+ https://bugs.webkit.org/show_bug.cgi?id=95873
+
+ Reviewed by Tony Chang.
+
+ Correctly encode AND decode integer versions numbers as VarInts.
+
+ Test: storage/indexeddb/intversion-encoding.html
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+ (WebCore::getVarInt):
+ (WebCore):
+ (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
+
+2012-09-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127596.
+ http://trac.webkit.org/changeset/127596
+ https://bugs.webkit.org/show_bug.cgi?id=95928
+
+ newly added tests are failing (Requested by bashi1 on
+ #webkit).
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePositionedLogicalWidth):
+ * rendering/RenderRegion.cpp:
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+
+2012-09-05 Arnaud Renevier <a.renevier@sisa.samsung.com>
+
+ Build failure with accelerated compositing disabled
+ https://bugs.webkit.org/show_bug.cgi?id=95872
+
+ Reviewed by James Robinson.
+
+ Define DrawingBuffer::markContextChanged even when accelerated
+ compositing is not used.
+
+ No functional change, so no new tests.
+
+ * platform/graphics/gpu/DrawingBuffer.h:
+ (WebCore::DrawingBuffer::markContentsChanged):
+ (DrawingBuffer):
+
+2012-09-05 Michelangelo De Simone <michelangelo@webkit.org>
+
+ Parse the array() function for custom filters
+ https://bugs.webkit.org/show_bug.cgi?id=94226
+
+ Reviewed by Dirk Schulze.
+
+ The patch adds the support for the array() function parsing;
+ according to the specs this function - to be used within custom
+ filters - accepts number (float) values. This patch parses array()
+ arguments using comma as separator: the spec will be updated
+ accordingly shortly.
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseCustomFilterArrayFunction): New method to
+ parse the content of array() function.
+ (WebCore):
+ (WebCore::CSSParser::parseCustomFilter): parseCustomFilterArrayFunction is
+ called whenever a "array(" function is encountered.
+ * css/CSSParser.h:
+ (WebCore):
+ * css/CSSValue.cpp:
+ (WebCore::CSSValue::reportMemoryUsage):
+ (WebCore::CSSValue::cssText):
+ (WebCore::CSSValue::destroy):
+ (WebCore::CSSValue::cloneForCSSOM):
+ * css/CSSValue.h:
+ (WebCore::CSSValue::isWebKitCSSArrayFunctionValue):
+ * css/WebKitCSSArrayFunctionValue.cpp: Added.
+ (WebCore):
+ (WebCore::WebKitCSSArrayFunctionValue::WebKitCSSArrayFunctionValue):
+ (WebCore::WebKitCSSArrayFunctionValue::customCssText):
+ (WebCore::WebKitCSSArrayFunctionValue::cloneForCSSOM):
+ (WebCore::WebKitCSSArrayFunctionValue::reportDescendantMemoryUsage):
+ * css/WebKitCSSArrayFunctionValue.h: Added.
+ (WebCore):
+ (WebKitCSSArrayFunctionValue):
+ (WebCore::WebKitCSSArrayFunctionValue::create):
+
+2012-09-05 Matt Falkenhagen <falken@chromium.org>
+
+ Vertically center non-anchored <dialog> elements
+ https://bugs.webkit.org/show_bug.cgi?id=90670
+
+ Reviewed by Ojan Vafai.
+
+ This adjusts the static default position of non-anchored
+ dialog elements so they are vertically centered in or at the top of
+ the viewport, as per the spec.
+
+ The approach is to add a RenderDialog class whose layout()
+ function adjusts the position after normal RenderBlock::layout runs.
+
+ Test: fast/dom/HTMLDialogElement/non-anchored-dialog-positioning.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.xcodeproj/project.pbxproj:
+ * html/HTMLDialogElement.cpp:
+ (WebCore::HTMLDialogElement::createRenderer):
+ (WebCore):
+ * html/HTMLDialogElement.h:
+ (HTMLDialogElement):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::mapAbsoluteToLocalPoint): Remove assertion since now absoluteToLocal is called during layout.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Ditto.
+ * rendering/RenderDialog.cpp: Added.
+ (WebCore):
+ (WebCore::RenderDialog::layout): Compute the desired top position in the absolute coordinate system, and then set top to the
+ corresponding local coordinate.
+ * rendering/RenderDialog.h: Added.
+ (WebCore):
+ (RenderDialog):
+ (WebCore::RenderDialog::RenderDialog):
+ (WebCore::RenderDialog::~RenderDialog):
+ (WebCore::RenderDialog::renderName):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::isDialog):
+ * rendering/RenderingAllInOne.cpp:
+
+2012-09-05 Kenichi Ishibashi <bashi@chromium.org>
+
+ Unreviewed, rolling out r127612, r127660, and r127664.
+ http://trac.webkit.org/changeset/127612
+ http://trac.webkit.org/changeset/127660
+ http://trac.webkit.org/changeset/127664
+ https://bugs.webkit.org/show_bug.cgi?id=95920
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/RTCErrorCallback.h:
+ (WebCore):
+ (RTCErrorCallback):
+ * Modules/mediastream/RTCErrorCallback.idl:
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::createOffer):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (WebCore):
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * Modules/mediastream/RTCSessionDescriptionCallback.h:
+ (WebCore):
+ (RTCSessionDescriptionCallback):
+ * Modules/mediastream/RTCSessionDescriptionCallback.idl:
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
+ (WebCore::RTCSessionDescriptionRequestImpl::create):
+ (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
+ (WebCore::RTCSessionDescriptionRequestImpl::clear):
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
+ (RTCSessionDescriptionRequestImpl):
+ * Modules/mediastream/RTCVoidRequestImpl.cpp: Removed.
+ * Modules/mediastream/RTCVoidRequestImpl.h: Removed.
+ * WebCore.gypi:
+ * platform/chromium/support/WebRTCVoidRequest.cpp: Removed.
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler):
+ (RTCPeerConnectionHandler):
+ (WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler):
+ * platform/mediastream/RTCVoidRequest.h: Removed.
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-05 Victoria Kirst <vrk@chromium.org>
+
+ Add the duration attribute to MediaSource
+ https://bugs.webkit.org/show_bug.cgi?id=95149
+
+ Reviewed by Eric Carlson.
+
+ Add support for the duration attribute recently added to the MediaSource spec.
+ http://dev.w3.org/html5/spec/media-elements.html#dom-media-duration
+
+ Test: http/tests/media/media-source/video-media-source-duration-changed.html
+
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::duration): Added duration method.
+ (WebCore):
+ (WebCore::MediaSource::setDuration): Added duration setter.
+ * Modules/mediasource/MediaSource.h:
+ (MediaSource):
+ * Modules/mediasource/MediaSource.idl:
+ * platform/graphics/MediaPlayer.cpp:
+ (WebCore::NullMediaPlayerPrivate::sourceSetDuration): Add empty definition.
+ (WebCore::MediaPlayer::sourceSetDuration): Forward call to m_private.
+ (WebCore):
+ * platform/graphics/MediaPlayer.h:
+ * platform/graphics/MediaPlayerPrivate.h:
+ (WebCore::MediaPlayerPrivateInterface::sourceSetDuration): Add empty definition.
+
+2012-09-05 Mihai Parparita <mihaip@chromium.org>
+
+ [Chromium] history.{push,replace}State should no longer be V8EnabledAtRuntime
+ https://bugs.webkit.org/show_bug.cgi?id=95865
+
+ Reviewed by Darin Fisher.
+
+ r55549 made them be runtime-enabled (since the Chromium implementation
+ was not complete at the time), but they've been enabled by default
+ since http://crrev.com/41850
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+ * bindings/generic/RuntimeEnabledFeatures.h:
+ (RuntimeEnabledFeatures):
+ * page/History.idl:
+
+2012-09-05 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: Integer version lost after first open/close/open cycle
+ https://bugs.webkit.org/show_bug.cgi?id=95864
+
+ Reviewed by Tony Chang.
+
+ New backing stores were being created with an old schema version, causing migration
+ to occur when the backing store was re-opened, which would overwrite valid integer
+ version metadata. New backing stores should be created with the latest schema version
+ since no migration is desired.
+
+ Test: storage/indexeddb/intversion-persistence.html
+
+ * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
+ (WebCore::setUpMetadata):
+
+2012-09-05 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Unreviewed, build fix attempt after r127660
+
+ Make clang happy.
+
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (WebCore::RTCPeerConnectionHandlerDummy::RTCPeerConnectionHandlerDummy):
+ Use ASSERT_UNUSED() to suppress -Wunused-private-field warning
+
+2012-09-05 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for Windows.
+
+ * rendering/RenderThemeWin.cpp: Added missing header include.
+
+2012-09-05 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Unreviewed, build fix attempt on win
+
+ r127612 breaks chromium win build.
+
+ * WebCore.gypi:
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (WebCore::RTCPeerConnectionHandler::RTCPeerConnectionHandler):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandler::~RTCPeerConnectionHandler):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (RTCPeerConnectionHandler):
+
+2012-09-05 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL][WK2] Provide implementation for WebProcess functions
+ https://bugs.webkit.org/show_bug.cgi?id=95857
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add implementation for getVolumeFreeSizeForPath()
+ in FileSystem which is required by soup-related
+ code in WebKit2.
+
+ No new tests, no behavior change.
+
+ * platform/FileSystem.h:
+ (WebCore):
+ * platform/efl/FileSystemEfl.cpp:
+ (WebCore::getVolumeFreeSizeForPath):
+ (WebCore):
+
+2012-09-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127635.
+ http://trac.webkit.org/changeset/127635
+ https://bugs.webkit.org/show_bug.cgi?id=95905
+
+ breaks chromium win and mac build (Requested by bashi1 on
+ #webkit).
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-09-05 Bruno de Oliveira Abinader <bruno.abinader@basyskom.com>
+
+ Make RenderStyle::colorIncludingFallback use private getters
+ https://bugs.webkit.org/show_bug.cgi?id=95863
+
+ Reviewed by Eric Seidel.
+
+ For readibility and maintanability reasons, it is better to use getters for
+ visited* color variables than accessing them directly.
+
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::colorIncludingFallback):
+
+2012-09-05 Benjamin Poulain <bpoulain@apple.com>
+
+ More fixes for String::operator+=() on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=95880
+
+ Reviewed by Adam Barth.
+
+ Followup for r127574, I forgot some use of strings.
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getShorthandValue): Use String builder to construct the shorthand.
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
+ https://bugs.webkit.org/show_bug.cgi?id=95876
+
+ Reviewed by Tony Chang.
+
+ This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
+ path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r127629.
+ http://trac.webkit.org/changeset/127629
+ https://bugs.webkit.org/show_bug.cgi?id=95876
+
+ Broke build
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put webcore_platform_files in separate gyp target instead of relying on exclusion patterns
+ https://bugs.webkit.org/show_bug.cgi?id=95876
+
+ Reviewed by Tony Chang.
+
+ This puts the list of WebCore/platform files in a webcore_platform_files gyp variable instead of filtering by
+ path out of webcore_files. This simplifies the .gyp a bit and makes it possible to split this target up further.
+
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+
+2012-09-05 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Slider progress bar goes crazy with negative ranges
+ https://bugs.webkit.org/show_bug.cgi?id=95753
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Now the calculation of what the current value represents in terms
+ of progress (from 0 to 1) is correctly done.
+
+ Test: fast/forms/range/input-range-progress-indicator.html
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::paintThemePart):
+
+2012-09-05 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove getRenderStyleForStrike from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95363
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * platform/chromium/PlatformSupport.h:
+ (PlatformSupport):
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
+ (WebCore::FontPlatformData::operator==):
+ (WebCore::FontPlatformData::getRenderStyleForStrike):
+ (WebCore):
+ (WebCore::FontPlatformData::querySystemForRenderStyle):
+ * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
+ (FontPlatformData):
+
+2012-09-05 Sami Kyostila <skyostil@google.com>
+
+ Enable/disable composited scrolling based on overflow
+ https://bugs.webkit.org/show_bug.cgi?id=95323
+
+ Reviewed by Simon Fraser.
+
+ When an overflow:{auto,overlay} and -webkit-overflow-scrolling:touch
+ element gains or loses overflow, we should correspondingly enable and
+ disable composited scrolling depending on whether the element can be
+ scrolled or not.
+
+ The previous logic in RenderLayer::usesCompositedScrolling() already
+ checked for actual overflow, but we also need to recompute the
+ compositing requirements when the amount of overflow changes during
+ layout. Additionally, layers using composited scrolling are marked as
+ self-painting to ensure they are always promoted to composited layers
+ when needed.
+
+ Test: compositing/overflow/overflow-auto-with-touch-toggle.html
+
+ Note that the behavior for maintaining a stacking context even without
+ the presense of overflow is covered by platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateScrollInfoAfterLayout):
+ (WebCore::RenderLayer::shouldBeSelfPaintingLayer):
+
+2012-09-05 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] PlatformKeyboardEvent::getCurrentModifierState should initialize values.
+ https://bugs.webkit.org/show_bug.cgi?id=95773
+
+ Reviewed by Rob Buis.
+
+ Properly initialize the passed variables even
+ though we haven't implemented the modifier state
+ to ensure the values are deterministic.
+
+ * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
+ (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
+
+2012-09-05 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add the local and remote description functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95839
+
+ Reviewed by Adam Barth.
+
+ As well as adding the local/remote descriptions stuff, I removed the source attribute from
+ RTCSessionDescriptionCallback and RTCErrorCallback since it has been removed from the draft.
+
+ Tests: fast/mediastream/RTCPeerConnection-localDescription.html
+ fast/mediastream/RTCPeerConnection-remoteDescription.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/RTCErrorCallback.h:
+ (RTCErrorCallback):
+ * Modules/mediastream/RTCErrorCallback.idl:
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::createOffer):
+ (WebCore::RTCPeerConnection::setLocalDescription):
+ (WebCore):
+ (WebCore::RTCPeerConnection::localDescription):
+ (WebCore::RTCPeerConnection::setRemoteDescription):
+ (WebCore::RTCPeerConnection::remoteDescription):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (WebCore):
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * Modules/mediastream/RTCSessionDescriptionCallback.h:
+ (RTCSessionDescriptionCallback):
+ * Modules/mediastream/RTCSessionDescriptionCallback.idl:
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp:
+ (WebCore::RTCSessionDescriptionRequestImpl::create):
+ (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
+ (WebCore::RTCSessionDescriptionRequestImpl::clear):
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.h:
+ (RTCSessionDescriptionRequestImpl):
+ * Modules/mediastream/RTCVoidRequestImpl.cpp: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp.
+ (WebCore):
+ (WebCore::RTCVoidRequestImpl::create):
+ (WebCore::RTCVoidRequestImpl::RTCVoidRequestImpl):
+ (WebCore::RTCVoidRequestImpl::~RTCVoidRequestImpl):
+ (WebCore::RTCVoidRequestImpl::requestSucceeded):
+ (WebCore::RTCVoidRequestImpl::requestFailed):
+ (WebCore::RTCVoidRequestImpl::stop):
+ (WebCore::RTCVoidRequestImpl::clear):
+ * Modules/mediastream/RTCVoidRequestImpl.h: Copied from Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h.
+ (WebCore):
+ (RTCVoidRequestImpl):
+ * WebCore.gypi:
+ * platform/chromium/support/WebRTCVoidRequest.cpp: Copied from Source/Platform/chromium/public/WebRTCPeerConnectionHandler.h.
+ (WebKit):
+ (WebKit::WebRTCVoidRequest::WebRTCVoidRequest):
+ (WebKit::WebRTCVoidRequest::assign):
+ (WebKit::WebRTCVoidRequest::reset):
+ (WebKit::WebRTCVoidRequest::requestSucceeded):
+ (WebKit::WebRTCVoidRequest::requestFailed):
+ (ExtraDataContainer):
+ (WebKit::ExtraDataContainer::ExtraDataContainer):
+ (WebKit::ExtraDataContainer::extraData):
+ (WebKit::WebRTCVoidRequest::extraData):
+ (WebKit::WebRTCVoidRequest::setExtraData):
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::setLocalDescription):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerDummy::setRemoteDescription):
+ (WebCore::RTCPeerConnectionHandlerDummy::localDescription):
+ (WebCore::RTCPeerConnectionHandlerDummy::remoteDescription):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (WebCore):
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/RTCVoidRequest.h: Copied from Source/WebCore/Modules/mediastream/RTCErrorCallback.h.
+ (WebCore):
+ (RTCVoidRequest):
+ (ExtraData):
+ (WebCore::RTCVoidRequest::ExtraData::~ExtraData):
+ (WebCore::RTCVoidRequest::~RTCVoidRequest):
+ (WebCore::RTCVoidRequest::extraData):
+ (WebCore::RTCVoidRequest::setExtraData):
+ (WebCore::RTCVoidRequest::RTCVoidRequest):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::setLocalDescription):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerChromium::setRemoteDescription):
+ (WebCore::RTCPeerConnectionHandlerChromium::localDescription):
+ (WebCore::RTCPeerConnectionHandlerChromium::remoteDescription):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-01 Dirk Schulze <krit@webkit.org>
+
+ Use -webkit-clip-path shapes to clip HTML elements
+ https://bugs.webkit.org/show_bug.cgi?id=95646
+
+ Reviewed by Dean Jackson.
+
+ -webkit-clip-path creates a new layer for HTML elements now. The border,
+ background and content gets clipped by the clip path after any filter was
+ applied.
+
+ Tests: css3/masking/clip-path-circle-filter.html
+ css3/masking/clip-path-circle-overflow.html
+ css3/masking/clip-path-circle-overflow-hidden.html
+ css3/masking/clip-path-circle-relative-overflow.html
+ css3/masking/clip-path-circle.html
+ css3/masking/clip-path-ellipse.html
+ css3/masking/clip-path-polygon-evenodd.html
+ css3/masking/clip-path-polygon-nonzero.html
+ css3/masking/clip-path-polygon.html
+ css3/masking/clip-path-rectangle.html
+
+ * rendering/RenderBox.h: Create new layer on clip-path.
+ * rendering/RenderBoxModelObject.h:
+ (WebCore::RenderBoxModelObject::requiresLayer): Create new layer on clip-path.
+ * rendering/RenderInline.h:
+ (WebCore::RenderInline::requiresLayer): Create new layer on clip-path.
+ * rendering/RenderLayer.cpp: Apply clip-path on context of object.
+ (WebCore::RenderLayer::paintLayerContents): Create new layer on clip-path.
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::hasClipPath): Indicates that renderer needs to be clipped by clip-path.
+ * rendering/RenderTableRow.h: Create new layer on clip-path.
+
+2012-09-05 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Use explicit constructor in RenderThemeEfl.
+ https://bugs.webkit.org/show_bug.cgi?id=95853
+
+ Reviewed by Kentaro Hara.
+
+ Added explicit keyword in constructor of RenderThemeEfl in order to avoid implicit type conversion.
+
+ * platform/efl/RenderThemeEfl.h:
+ (RenderThemeEfl):
+
+2012-09-05 Vincent Scheib <scheib@chromium.org>
+
+ webkitPointerLockElement returns null when pointer lock request is pending.
+ https://bugs.webkit.org/show_bug.cgi?id=91186
+
+ Reviewed by Dimitri Glazkov.
+
+ Script should wait for a pointerlockchange event before detecting
+ if it has acquired lock. However, if a script attempted to poll
+ pointerLockElement it could be confused when lock was still pending.
+ This change ensures that if lock is not yet acquired then
+ pointerLockElement will return null.
+
+ Test: pointer-lock/pointerlockelement-null-when-pending.html
+
+ * dom/Document.cpp:
+ (WebCore::Document::webkitPointerLockElement):
+ * page/PointerLockController.cpp:
+ (WebCore::PointerLockController::requestPointerLock):
+ (WebCore::PointerLockController::elementRemoved):
+ (WebCore::PointerLockController::documentDetached):
+ (WebCore::PointerLockController::lockPending):
+ (WebCore):
+ (WebCore::PointerLockController::didAcquirePointerLock):
+ (WebCore::PointerLockController::didNotAcquirePointerLock):
+ (WebCore::PointerLockController::didLosePointerLock):
+ (WebCore::PointerLockController::clearElement):
+ * page/PointerLockController.h:
+ (PointerLockController):
+
+2012-09-05 Sami Kyostila <skyostil@chromium.org>
+
+ [chromium] Wire up scrollable sublayers in ScrollingCoordinatorChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95679
+
+ Reviewed by James Robinson.
+
+ Implement scrollable sublayers in ScrollingCoordinatorChromium and introduce a
+ WebLayerScrollClient which is notified of scroll events on its associated
+ scroll layer. GraphicsLayerChromium uses it to apply scroll events targeted to
+ its platform layer to a ScrollableArea, i.e., the RenderLayer corresponding to
+ the scrollable element.
+
+ Tests: GraphicsLayerChromiumTest.applyScrollToScrollableArea
+ WebLayerTest.ScrollClient
+
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::didScroll):
+ (WebCore):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ (WebCore):
+ (WebCore::GraphicsLayerChromium::setScrollableArea):
+ (WebCore::GraphicsLayerChromium::scrollableArea):
+ (GraphicsLayerChromium):
+ * platform/graphics/chromium/LayerChromium.cpp:
+ * platform/graphics/chromium/LayerChromium.h:
+ (WebKit):
+ (WebCore):
+ (WebCore::LayerChromium::setLayerScrollClient):
+ (LayerChromium):
+
+2012-09-05 Peter Rybin <peter.rybin@gmail.com>
+
+ Web Inspector: CodeGeneratorInspector.py: support asynchronous command implementation
+ https://bugs.webkit.org/show_bug.cgi?id=95649
+
+ Reviewed by Yury Semikhatsky.
+
+ Generator is extended to generate callback object for each asynchronous command.
+
+ * inspector/CodeGeneratorInspector.py:
+ (Writer.append_multiline):
+ (Writer):
+ (Writer.get_indent):
+ (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
+ (InspectorBackendDispatcherImpl):
+ (CallbackBase):
+ (Generator.process_event):
+ (Generator):
+ (Generator.EventMethodStructTemplate):
+ (Generator.EventMethodStructTemplate.append_prolog):
+ (Generator.EventMethodStructTemplate.append_epilog):
+ (Generator.process_command):
+ (Generator.CallbackMethodStructTemplate):
+ (Generator.CallbackMethodStructTemplate.append_prolog):
+ (Generator.CallbackMethodStructTemplate.append_epilog):
+ (Generator.generate_send_method):
+
+2012-09-05 Kevin Ellis <kevers@chromium.org>
+
+ [chromium] Unify size of popup menu for touch and non-touch.
+ https://bugs.webkit.org/show_bug.cgi?id=95606
+
+ Reviewed by Adam Barth.
+
+ Use minimum height for popup menus entries regardless of whether the
+ popup menu is displayed on a touch screen. Replaces use of touch
+ padding. Height meets minimum size requirement for a low error rate
+ while still looking aesthetic for non-touch.
+
+ Covered by existing tests.
+
+ * platform/chromium/PopupListBox.cpp:
+ (WebCore::PopupListBox::getRowHeight):
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore):
+ * platform/chromium/PopupMenuChromium.h:
+ (PopupMenuChromium):
+
+2012-09-05 Mihnea Ovidenie <mihnea@adobe.com>
+
+ [CSS Regions] Auto width is not working for Regions
+ https://bugs.webkit.org/show_bug.cgi?id=74135
+
+ Reviewed by Julien Chaffraix.
+
+ It was not possible to flow content into a region having { width: auto; } since in such case, the region width was computed to 0.
+ Now, a region having auto width, will have its width computed following the rules for calculation of widths and margins
+ (http://www.w3.org/TR/CSS2/visudet.html#Computing_widths_and_margins).
+ For those cases in which resolving the width requires measuring of content's min/max-content values, we use the associated named flow min/max-content
+ values (the same for all regions with width auto in a region chain).
+ When a region has width:auto, the computation of width should be done using normal block/box sizing code, instead of replaced element code.
+ Contains code contributed by Alexandru Chiculita(achicu@adobe.com).
+
+ Tests: fast/regions/autowidth-abspos-regionchain.html
+ fast/regions/autowidth-abspos.html
+ fast/regions/autowidth-float.html
+ fast/regions/autowidth-inlineblock.html
+ fast/regions/autowidth-nonreplaced-abspos.html
+ fast/regions/autowidth-nonreplacedblock-normalflow.html
+ fast/regions/autowidth-normalflow-maxwidth.html
+ fast/regions/autowidth-normalflow-minmaxwidth.html
+ fast/regions/autowidth-normalflow-minwidth.html
+ fast/regions/autowidth-normalflow-vertrl.html
+ fast/regions/autowidth-normalflow.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computePositionedLogicalWidth): For positioned auto-width regions, skip the code path for replaced elements.
+ * rendering/RenderRegion.cpp:
+ (WebCore): Override min/maxPreferredLogicalWidth as they are used in the process of computing width for regions with auto width.
+ As this moment, a region is still a RenderReplaced element, so this code needs to be revisited when the region will become a RenderBlock.
+ Also, for min/max-width, we support only <length> values. We will extend support for other values in a following patch.
+ (WebCore::RenderRegion::minPreferredLogicalWidth):
+ (WebCore::RenderRegion::maxPreferredLogicalWidth):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ Override isInlineBlockOrInlineTable() and shouldComputeSizeAsReplaced() to ensure that computation for width auto follows the normal
+ block/box sizing code.
+
+2012-09-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: extract MemoryObjectType constants from MemoryInstrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=95850
+
+ Reviewed by Yury Semikhatsky.
+
+ I'd like to extract MemoryObjectTypes into separate classes.
+ After that we will be able to move core NMI instrumentation code to WTF.
+
+ * bindings/js/ScriptWrappable.h:
+ (WebCore::ScriptWrappable::reportMemoryUsage):
+ * bindings/v8/DOMDataStore.cpp:
+ (WebCore::DOMDataStore::reportMemoryUsage):
+ * bindings/v8/IntrusiveDOMWrapperMap.h:
+ (WebCore::ChunkedTable::reportMemoryUsage):
+ * bindings/v8/ScriptWrappable.h:
+ (WebCore::ScriptWrappable::reportMemoryUsage):
+ * bindings/v8/V8Binding.cpp:
+ (WebCore::StringCache::reportMemoryUsage):
+ * bindings/v8/V8DOMMap.h:
+ * bindings/v8/V8PerIsolateData.cpp:
+ (WebCore::V8PerIsolateData::reportMemoryUsage):
+ * css/CSSAspectRatioValue.cpp:
+ (WebCore::CSSAspectRatioValue::reportDescendantMemoryUsage):
+ * css/CSSBorderImageSliceValue.cpp:
+ (WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
+ * css/CSSCalculationValue.cpp:
+ (WebCore::CSSCalcValue::reportDescendantMemoryUsage):
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
+ * css/CSSCharsetRule.cpp:
+ (WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
+ * css/CSSCrossfadeValue.cpp:
+ (WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
+ * css/CSSCursorImageValue.cpp:
+ (WebCore::CSSCursorImageValue::reportDescendantMemoryUsage):
+ * css/CSSFontFaceRule.cpp:
+ (WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
+ * css/CSSFontFaceSrcValue.cpp:
+ (WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
+ * css/CSSFunctionValue.cpp:
+ (WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSGradientColorStop::reportMemoryUsage):
+ (WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
+ (WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
+ (WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
+ * css/CSSImageGeneratorValue.cpp:
+ (WebCore::CSSImageGeneratorValue::reportBaseClassMemoryUsage):
+ * css/CSSImageSetValue.cpp:
+ (WebCore::CSSImageSetValue::reportDescendantMemoryUsage):
+ (WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
+ * css/CSSImageValue.cpp:
+ (WebCore::CSSImageValue::reportDescendantMemoryUsage):
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::reportDescendantMemoryUsage):
+ * css/CSSInheritedValue.cpp:
+ (WebCore::CSSInheritedValue::reportDescendantMemoryUsage):
+ * css/CSSInitialValue.cpp:
+ (WebCore::CSSInitialValue::reportDescendantMemoryUsage):
+ * css/CSSLineBoxContainValue.cpp:
+ (WebCore::CSSLineBoxContainValue::reportDescendantMemoryUsage):
+ * css/CSSMediaRule.cpp:
+ (WebCore::CSSMediaRule::reportDescendantMemoryUsage):
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::reportDescendantMemoryUsage):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::reportMemoryUsage):
+ * css/CSSReflectValue.cpp:
+ (WebCore::CSSReflectValue::reportDescendantMemoryUsage):
+ * css/CSSRule.cpp:
+ (WebCore::CSSRule::reportBaseClassMemoryUsage):
+ * css/CSSRuleList.cpp:
+ (WebCore::StaticCSSRuleList::reportMemoryUsage):
+ * css/CSSRuleList.h:
+ * css/CSSSelectorList.cpp:
+ (WebCore::CSSSelectorList::reportMemoryUsage):
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::reportDescendantMemoryUsage):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::reportMemoryUsage):
+ * css/CSSTimingFunctionValue.cpp:
+ (WebCore::CSSLinearTimingFunctionValue::reportDescendantMemoryUsage):
+ (WebCore::CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage):
+ (WebCore::CSSStepsTimingFunctionValue::reportDescendantMemoryUsage):
+ * css/CSSUnicodeRangeValue.cpp:
+ (WebCore::CSSUnicodeRangeValue::reportDescendantMemoryUsage):
+ * css/CSSUnknownRule.h:
+ (WebCore::CSSUnknownRule::reportDescendantMemoryUsage):
+ * css/CSSValue.cpp:
+ (WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
+ * css/CSSValueList.cpp:
+ (WebCore::CSSValueList::reportDescendantMemoryUsage):
+ * css/CSSVariableValue.h:
+ (WebCore::CSSVariableValue::reportDescendantMemoryUsage):
+ * css/FontFeatureValue.cpp:
+ (WebCore::FontFeatureValue::reportDescendantMemoryUsage):
+ * css/FontValue.cpp:
+ (WebCore::FontValue::reportDescendantMemoryUsage):
+ * css/MediaList.cpp:
+ (WebCore::MediaQuerySet::reportMemoryUsage):
+ (WebCore::MediaList::reportMemoryUsage):
+ * css/MediaQuery.cpp:
+ (WebCore::MediaQuery::reportMemoryUsage):
+ * css/MediaQueryExp.cpp:
+ (WebCore::MediaQueryExp::reportMemoryUsage):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
+ (WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
+ (WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
+ * css/ShadowValue.cpp:
+ (WebCore::ShadowValue::reportDescendantMemoryUsage):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::reportMemoryUsage):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::Features::reportMemoryUsage):
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * css/StyleRule.cpp:
+ (WebCore::StyleRuleBase::reportMemoryUsage):
+ (WebCore::StyleRule::reportDescendantMemoryUsage):
+ (WebCore::StyleRulePage::reportDescendantMemoryUsage):
+ (WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
+ (WebCore::StyleRuleBlock::reportDescendantMemoryUsage):
+ (WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
+ (WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
+ * css/StyleRuleImport.cpp:
+ (WebCore::StyleRuleImport::reportDescendantMemoryUsage):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::reportMemoryUsage):
+ * css/WebKitCSSFilterValue.cpp:
+ (WebCore::WebKitCSSFilterValue::reportDescendantMemoryUsage):
+ * css/WebKitCSSKeyframeRule.cpp:
+ (WebCore::StyleKeyframe::reportMemoryUsage):
+ (WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
+ * css/WebKitCSSKeyframesRule.cpp:
+ (WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
+ (WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
+ * css/WebKitCSSMixFunctionValue.cpp:
+ (WebCore::WebKitCSSMixFunctionValue::reportDescendantMemoryUsage):
+ * css/WebKitCSSRegionRule.cpp:
+ (WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
+ * css/WebKitCSSSVGDocumentValue.cpp:
+ (WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
+ * css/WebKitCSSShaderValue.cpp:
+ (WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
+ * css/WebKitCSSTransformValue.cpp:
+ (WebCore::WebKitCSSTransformValue::reportDescendantMemoryUsage):
+ * dom/Attribute.h:
+ (WebCore::Attribute::reportMemoryUsage):
+ * dom/CharacterData.cpp:
+ (WebCore::CharacterData::reportMemoryUsage):
+ * dom/ContainerNode.h:
+ (WebCore::ContainerNode::reportMemoryUsage):
+ * dom/Document.cpp:
+ (WebCore::Document::reportMemoryUsage):
+ * dom/DocumentEventQueue.cpp:
+ (WebCore::DocumentEventQueue::reportMemoryUsage):
+ * dom/Element.h:
+ (WebCore::Element::reportMemoryUsage):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::reportMemoryUsage):
+ * dom/Event.cpp:
+ (WebCore::Event::reportMemoryUsage):
+ * dom/MemoryInstrumentation.cpp:
+ (WebCore):
+ * dom/MemoryInstrumentation.h:
+ (WebCore):
+ (GenericMemoryTypes):
+ (WebCore::MemoryInstrumentation::addRootObject):
+ (WebCore::MemoryObjectInfo::reportObjectInfo):
+ (WebCoreMemoryTypes):
+ * dom/Node.cpp:
+ (WebCore::Node::reportMemoryUsage):
+ * dom/QualifiedName.h:
+ (WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
+ (WebCore::QualifiedName::reportMemoryUsage):
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::reportMemoryUsage):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::reportMemoryUsage):
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::reportMemoryUsage):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::reportMemoryUsage):
+ * loader/ResourceLoader.cpp:
+ (WebCore::ResourceLoader::reportMemoryUsage):
+ * loader/SubresourceLoader.cpp:
+ (WebCore::SubresourceLoader::reportMemoryUsage):
+ * loader/SubstituteData.cpp:
+ (WebCore::SubstituteData::reportMemoryUsage):
+ * loader/cache/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::reportMemoryUsage):
+ * loader/cache/CachedFont.cpp:
+ (WebCore::CachedFont::reportMemoryUsage):
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::reportMemoryUsage):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::reportMemoryUsage):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::reportMemoryUsage):
+ * loader/cache/CachedResourceHandle.cpp:
+ (WebCore::CachedResourceHandleBase::reportMemoryUsage):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::reportMemoryUsage):
+ * loader/cache/CachedSVGDocument.cpp:
+ (WebCore::CachedSVGDocument::reportMemoryUsage):
+ * loader/cache/CachedScript.cpp:
+ (WebCore::CachedScript::reportMemoryUsage):
+ * loader/cache/CachedShader.cpp:
+ (WebCore::CachedShader::reportMemoryUsage):
+ * loader/cache/CachedXSLStyleSheet.cpp:
+ (WebCore::CachedXSLStyleSheet::reportMemoryUsage):
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::reportMemoryUsage):
+ * page/Frame.cpp:
+ (WebCore::Frame::reportMemoryUsage):
+ * platform/SharedBuffer.cpp:
+ (WebCore::SharedBuffer::reportMemoryUsage):
+ * platform/TreeShared.h:
+ (WebCore::TreeShared::reportMemoryUsage):
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::reportMemoryUsage):
+ * platform/graphics/CrossfadeGeneratedImage.cpp:
+ (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
+ * platform/graphics/GeneratedImage.cpp:
+ (WebCore::GeneratedImage::reportMemoryUsage):
+ * platform/graphics/GeneratorGeneratedImage.cpp:
+ (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::reportMemoryUsage):
+ * platform/network/FormData.cpp:
+ (WebCore::FormData::reportMemoryUsage):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::reportMemoryUsage):
+ * platform/network/ResourceResponseBase.cpp:
+ (WebCore::ResourceResponseBase::reportMemoryUsage):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::reportMemoryUsage):
+ * rendering/style/StyleRareInheritedData.cpp:
+ (WebCore::StyleRareInheritedData::reportMemoryUsage):
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
+ * svg/SVGColor.cpp:
+ (WebCore::SVGColor::reportDescendantMemoryUsage):
+ * svg/SVGPaint.cpp:
+ (WebCore::SVGPaint::reportDescendantMemoryUsage):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::reportMemoryUsage):
+
+2012-09-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: extract overloaded instrumentation members for WebCore classes from core NMI code.
+ https://bugs.webkit.org/show_bug.cgi?id=95834
+
+ Reviewed by Yury Semikhatsky.
+
+ I'd like to remove custom instrumentation methods from MemoryInstrumentation class
+ before upstreaming it to WTF. I've done it with help of MemoryInstrumentationTraits template helper.
+
+ Unfortunately it is not possible to use template class because mac-ews bot reports warning: redundant redeclaration of 'something' in same scope.
+ I've found that it is an old problem in gcc that is forced by -Wredundant-decls flag on the bot. See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15867
+
+ * dom/MemoryInstrumentation.cpp:
+ (WebCore::::addInstrumentedObject):
+ (WebCore):
+ * dom/MemoryInstrumentation.h:
+ (WebCore):
+ (MemoryInstrumentationTraits):
+ (MemoryInstrumentation):
+ (WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
+ (InstrumentedPointer):
+ (WebCore::MemoryInstrumentation::addObject):
+ (WebCore::MemoryInstrumentation::addInstrumentedObject):
+ (WebCore::MemoryInstrumentation::addRawBuffer):
+ (WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
+ (WebCore::MemoryInstrumentation::OwningTraits::addObject):
+ (WebCore::::addInstrumentedObject):
+ (WebCore::::addObject):
+ (WebCore::MemoryObjectInfo::MemoryObjectInfo):
+ (WebCore::MemoryObjectInfo::objectType):
+ (WebCore::MemoryObjectInfo::reportObjectInfo):
+ (MemoryObjectInfo):
+ (WebCore::MemoryClassInfo::MemoryClassInfo):
+ (MemoryClassInfo):
+ (WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
+ (WebCore::MemoryInstrumentation::addObjectImpl):
+ (WebCore::MemoryInstrumentation::addHashMap):
+ (WebCore::MemoryInstrumentation::addHashSet):
+ (WebCore::MemoryInstrumentation::addInstrumentedCollection):
+ (WebCore::MemoryInstrumentation::addInstrumentedMapEntries):
+ (WebCore::MemoryInstrumentation::addInstrumentedMapValues):
+ (WebCore::MemoryInstrumentation::addListHashSet):
+ (WebCore::MemoryInstrumentation::addVector):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationImpl::countObjectSize):
+ * inspector/MemoryInstrumentationImpl.h:
+ (WebCore::MemoryInstrumentationImpl::totalSize):
+ (MemoryInstrumentationImpl):
+
+2012-09-05 Tor Arne Vestbø <tor.arne.vestbo@nokia.com>
+
+ [Qt] Build fix on OS X
+
+ Copy/paste-error resulted in us compiling InspectorPageOverlay.h
+
+ Reviewed by Ossy.
+
+ * DerivedSources.pri:
+
+2012-09-05 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127573.
+ http://trac.webkit.org/changeset/127573
+ https://bugs.webkit.org/show_bug.cgi?id=95844
+
+ Breaks EFL Debug bot tests. (Requested by drott on #webkit).
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::themePartCacheEntryReset):
+ (WebCore::RenderThemeEfl::cacheThemePartNew):
+ (WebCore::RenderThemeEfl::paintThemePart):
+ (WebCore::RenderThemeEfl::setThemePath):
+ (WebCore::RenderThemeEfl::createCanvas):
+ (WebCore::RenderThemeEfl::createEdje):
+ (WebCore::RenderThemeEfl::applyPartDescriptions):
+ (WebCore::RenderThemeEfl::themeChanged):
+ (WebCore):
+ * platform/efl/RenderThemeEfl.h:
+ (RenderThemeEfl):
+
+2012-09-05 MORITA Hajime <morrita@google.com>
+
+ ShadowRoot.cloneNode() must always throw a DATA_CLONE_ERR exception.
+ https://bugs.webkit.org/show_bug.cgi?id=91704
+
+ Reviewed by Kentaro Hara.
+
+ This change implement ShadowRoot::cloneNode() which throws an exception.
+ This also adds an overloaded version cloneNode() to ShadowRoot.idl
+ which is enabled only for JavaScript instead of changing the
+ signature of Node::cloneNode().
+
+ Note that changing the existing signature can break GObject bindings
+ compatibility.
+
+ Test: fast/dom/shadow/shadowroot-clonenode.html
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::cloneNode):
+ (WebCore):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+ * dom/ShadowRoot.idl:
+
+2012-09-05 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Unreviewed trivial build fix: Use DOMAllInOne.cpp only if we have xslt available.
+
+ * Target.pri:
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ Covered by existing test cases.
+
+ * testing/Internals.cpp:
+ (WebCore::Internals::numberOfPages):
+ (WebCore):
+ (WebCore::Internals::pageProperty):
+ (WebCore::Internals::pageSizeAndMarginsInPixels):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-09-05 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Automate the use of AllInOne files in the Qt build
+ https://bugs.webkit.org/show_bug.cgi?id=95837
+
+ Reviewed by Tor Arne Vestbø.
+
+ Replace the manual use of SVGAllInOne.cpp with automated use through
+ the ALL_IN_ONE_SOURCES variable. This adds a few more all-in-one sources
+ to the build and leaves out some that do not compile yet due to various
+ platform-dependant pre-processor macro issues.
+
+ * Target.pri:
+
+2012-09-05 Benjamin Poulain <bpoulain@apple.com>
+
+ Fix the uses of String::operator+=() for Mac
+ https://bugs.webkit.org/show_bug.cgi?id=95818
+
+ Reviewed by Dan Bernstein.
+
+ * bindings/js/JSCSSStyleDeclarationCustom.cpp:
+ (WebCore::JSCSSStyleDeclaration::putDelegate):
+ This is a legitimate use of String::append(), it is the only
+ concatenation in this function.
+
+ * loader/appcache/ManifestParser.cpp:
+ (WebCore::parseManifest): Ditto.
+
+2012-09-05 Kenneth Rohde Christiansen <kenneth@webkit.org>
+
+ [EFL] Fuzzy load the Edje theme for HTML forms
+ https://bugs.webkit.org/show_bug.cgi?id=95832
+
+ Reviewed by Gyuyoung Kim.
+
+ Change the theme so that it is first loaded when actually used.
+ This also fixed the case that it was impossible to change theme
+ a second time.
+
+ Tested by current tests. API unit test coming in separate patch.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::themePartCacheEntryReset):
+ (WebCore::RenderThemeEfl::cacheThemePartNew):
+ (WebCore::RenderThemeEfl::paintThemePart):
+ (WebCore::RenderThemeEfl::setThemePath):
+ (WebCore::RenderThemeEfl::edje):
+ (WebCore::RenderThemeEfl::applyPartDescriptions):
+ * platform/efl/RenderThemeEfl.h:
+ (RenderThemeEfl):
+
+2012-09-05 Chris Guan <chris.guan@torchmobile.com.cn>
+
+ [Blackberry] Add document url and securityOrigin to platform request.
+ https://bugs.webkit.org/show_bug.cgi?id=95822
+
+ Reviewed by George Staikos.
+ Internally Reviewed by Joe Mason.
+
+ It is a webworks requirement.
+
+ * platform/network/blackberry/NetworkManager.cpp:
+ (WebCore::NetworkManager::startJob):
+
+2012-09-04 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: replace ObjectType enum with static const char* string identifiers.
+ https://bugs.webkit.org/show_bug.cgi?id=95739
+
+ Reviewed by Yury Semikhatsky.
+
+ When we go deeper into different parts of browser like skia, chromium itself etc.
+ we can't use a single enum for all reported object types.
+ The current idea is to use plain simple strings as ObjectType identifiers.
+ In the future patches we will extract these identifiers into separate class or namespace
+ and and split it between components.
+
+ * dom/MemoryInstrumentation.cpp:
+ (WebCore):
+ * dom/MemoryInstrumentation.h:
+ (MemoryInstrumentation):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore::addMemoryBlockFor):
+ (WebCore):
+ * inspector/MemoryInstrumentationImpl.cpp:
+ (WebCore::MemoryInstrumentationImpl::MemoryInstrumentationImpl):
+ (WebCore::MemoryInstrumentationImpl::countObjectSize):
+ * inspector/MemoryInstrumentationImpl.h:
+ (WebCore::MemoryInstrumentationImpl::totalSize):
+ (WebCore::MemoryInstrumentationImpl::reportedSizeForAllTypes):
+ (MemoryInstrumentationImpl):
+
+2012-09-05 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for WinCE after r127525.
+
+ * platform/graphics/wince/FontCustomPlatformData.h:
+ (WebCore):
+
+2012-09-04 Keishi Hattori <keishi@webkit.org>
+
+ Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer
+ https://bugs.webkit.org/show_bug.cgi?id=95681
+
+ Reviewed by Kent Tamura.
+
+ We are moving calendar picker PagePopupClient to WebKit layer so ports
+ can use their platform native chooser UI if they have one.
+ DateTimeChooser, DateTimeChooserClient etc. will be reused when we
+ implement the week picker and month picker.
+
+ No new tests. No behavior change. Covered by existing calendar picker tests.
+
+ * WebCore.gypi:
+ * html/shadow/CalendarPickerElement.cpp:
+ (WebCore::CalendarPickerElement::CalendarPickerElement):
+ (WebCore::CalendarPickerElement::~CalendarPickerElement):
+ (WebCore::CalendarPickerElement::didChooseValue): Called when user chose a value.
+ (WebCore):
+ (WebCore::CalendarPickerElement::didEndChooser): Called when chooser has ended.
+ (WebCore::CalendarPickerElement::openPopup):
+ (WebCore::CalendarPickerElement::closePopup):
+ * html/shadow/CalendarPickerElement.h:
+ (CalendarPickerElement):
+ * loader/EmptyClients.cpp:
+ (WebCore):
+ (WebCore::EmptyChromeClient::openDateTimeChooser):
+ * loader/EmptyClients.h:
+ (EmptyChromeClient):
+ * page/ChromeClient.h:
+ (WebCore):
+ (ChromeClient):
+ * platform/DateTimeChooser.h:
+ (WebCore):
+ (DateTimeChooserParameters): Contains information needed to open the DateTimeChooser.
+ (DateTimeChooser):
+ (WebCore::DateTimeChooser::~DateTimeChooser):
+ * platform/DateTimeChooserClient.h:
+ (WebCore):
+ (DateTimeChooserClient):
+ (WebCore::DateTimeChooserClient::~DateTimeChooserClient):
+
+2012-09-04 Mike Lawther <mikelawther@chromium.org>
+
+ CSS3 calc: expressions with 'em' units do not zoom correctly.
+ https://bugs.webkit.org/show_bug.cgi?id=95705
+
+ Reviewed by Ojan Vafai.
+
+ Each primitive value in a CSS calc expression now has (zoom) multiplier and scale factor applied
+ independently. Previously the multiplier and a single scale factor was applied to the expression
+ as a whole, but this failed to account for expressions involving font relative units. This is
+ because the multiplier should not be applied to font relative units.
+
+ Test: css3/calc/zoom-with-em.html
+
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::computeLengthDouble):
+
+2012-09-04 Brian Anderson <brianderson@chromium.org>
+
+ [chromium] Prevent compositor ticking if it can't draw
+ https://bugs.webkit.org/show_bug.cgi?id=95399
+
+ Reviewed by James Robinson.
+
+ Background extensions had an always ticking compositor even though
+ they couldn't draw. This patch disables the ticks when canDraw is false
+ and adds a notification mechanism for when canDraw changes states so
+ we can recover properly.
+
+ Tests updated for new interfaces.
+ Regression test added to make sure ticking stops when canDraw is false.
+ notifyIfCanDrawChanged test added to make sure notifications are sent
+ for any changes that might affect canDraw.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
+ (WebCore::CCLayerTreeHostImpl::notifyIfCanDrawChanged):
+ (WebCore):
+ (WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
+ (WebCore::CCLayerTreeHostImpl::setRootLayer):
+ (WebCore::CCLayerTreeHostImpl::initializeRenderer):
+ (WebCore::CCLayerTreeHostImpl::setViewportSize):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (CCLayerTreeHostImplClient):
+ (WebCore::CCLayerTreeHostImpl::resetContentsTexturesPurged):
+ (CCLayerTreeHostImpl):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::setCanDraw):
+ (WebCore):
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ (WebCore::CCSchedulerStateMachine::toString):
+ (WebCore):
+ (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
+ (CCSchedulerStateMachine):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::onCanDrawStateChanged):
+ (WebCore):
+ (WebCore::CCThreadProxy::beginFrame):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+
+2012-09-04 Adam Barth <abarth@chromium.org>
+
+ Remove WTF_DEPRECATED_STRING_OPERATORS from StylePropertySet.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95800
+
+ Reviewed by Benjamin Poulain.
+
+ This patch is a re-spin of part of the patch from
+ https://bugs.webkit.org/show_bug.cgi?id=95502, but with the tests
+ fixed. :)
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::get4Values):
+ (WebCore::StylePropertySet::getLayeredShorthandValue):
+
+2012-09-04 Keishi Hattori <keishi@webkit.org>
+
+ REGRESSION(r126132): MediaSlider and MediaVolumeSlider thumbs don't match mouse when dragged
+ https://bugs.webkit.org/show_bug.cgi?id=95701
+
+ Reviewed by Kent Tamura.
+
+ MediaSlider and MediaVolumeSlider thumbs didn't match mouse when dragged because of the negative margin applied to the thumb.
+
+ Test: platform/chromium/media/media-volume-slider-hit-test.html
+
+ * html/shadow/SliderThumbElement.cpp:
+ (WebCore::SliderThumbElement::setPositionFromPoint): Account for margins when calculating the position.
+
+2012-09-04 Tony Chang <tony@chromium.org>
+
+ Add a const version of RenderBox::computeLogicalHeight
+ https://bugs.webkit.org/show_bug.cgi?id=95787
+
+ Reviewed by Ojan Vafai.
+
+ After this, we can rename the old computeLogicalHeight to computeAndSetLogicalHeight
+ to make it clear that it is modifying values.
+
+ No new tests, this should just be a refactor.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::constrainLogicalHeightByMinMax): Make const.
+ (WebCore::RenderBox::computeLogicalHeight): Add a const version that takes a LogicalExtentComputedValues struct for out values.
+ (WebCore::RenderBox::computeLogicalHeightUsing): Make const.
+ (WebCore::RenderBox::computeContentLogicalHeightUsing): Make const.
+ (WebCore::RenderBox::computePercentageLogicalHeight): Add a const cast. I tried to
+ convert everything below to const, but that's not a simple task. Also, computeReplacedLogicalHeightUsing
+ is already using a const_cast.
+ * rendering/RenderBox.h:
+ (RenderBox): Add const to method signatures.
+
+2012-09-04 Dirk Schulze <krit@webkit.org>
+
+ -webkit-clip-path does not apply origin for polygon()
+ https://bugs.webkit.org/show_bug.cgi?id=95656
+
+ Reviewed by Tim Horton.
+
+ The polygon() shape function did not apply origin of bouding box on created path. The shape was
+ not moved to the correct position.
+
+ Tests: svg/clip-path/clip-path-shape-polygon-relative-expected.svg
+ svg/clip-path/clip-path-shape-polygon-relative.svg
+
+ * rendering/style/BasicShapes.cpp:
+ (WebCore::BasicShapePolygon::path): Apply origin of bounding box.
+
+2012-09-04 Adam Barth <abarth@chromium.org>
+
+ Make chromium-linux build without WTF_DEPRECATED_STRING_OPERATORS
+ https://bugs.webkit.org/show_bug.cgi?id=95798
+
+ Reviewed by Eric Seidel.
+
+ This patch makes the chromium-linux port build without
+ WTF::String::operator+=. There are a couple places that require some
+ more careful study, and I've whitelisted those uses by defining
+ WTF_DEPRECATED_STRING_OPERATORS at the top of the files. (See
+ https://bugs.webkit.org/show_bug.cgi?id=95797 for an explanation of
+ WTF_DEPRECATED_STRING_OPERATORS.)
+
+ * css/StylePropertySet.cpp:
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::InspectorOverlay::drawNodeHighlight):
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
+ (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader):
+
+2012-09-04 Tony Chang <tony@chromium.org>
+
+ Use TrackedRendererListHashSet typedef for percentHeightDescendants()
+ https://bugs.webkit.org/show_bug.cgi?id=95791
+
+ Reviewed by Ojan Vafai.
+
+ There were a couple callers that were using ListHashSet<RenderBox*> instead of the typedef.
+
+ No new tests, this is just a refactor.
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::layoutRows):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
+
+2012-09-04 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: remove final createIndex backend glue
+ https://bugs.webkit.org/show_bug.cgi?id=95385
+
+ Reviewed by Adam Barth.
+
+ Remove all code that created index keys in the IndexedDB backend.
+
+ No new tests, this is just removal of dead code.
+
+ * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Removed.
+ * Modules/indexeddb/IDBKeyPathBackendImpl.h: Removed.
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore):
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * storage/chromium/IDBKeyPathBackendImpl.cpp: Removed.
+
+2012-09-04 Sergey Glazunov <serg.glazunov@gmail.com>
+
+ Frame element doesn't always unload its child frame.
+ https://bugs.webkit.org/show_bug.cgi?id=94717
+
+ Reviewed by Hajime Morita.
+
+ It's possible for a frame element that has been removed from the document
+ to retain an active child frame. This inconsistent state may become a source
+ of security vulnerabilities.
+
+ The patch adds a global HashSet to store the nodes currently processed by
+ ChildFrameDisconnector. Insertion into these nodes' subtrees is not allowed until
+ the processing is complete.
+
+ Also, the ChildFrameDisconnector call in removeChild(ren) is now immediately
+ followed by the actual removal.
+
+ Test: fast/frames/out-of-document-iframe-has-child-frame.html
+
+ * dom/ContainerNode.cpp:
+ (WebCore::willRemoveChildren): Move the ChildFrameDisconnector call out of a loop.
+ (WebCore::ContainerNode::removeChild): Rearrange some event firing code.
+ (WebCore::ContainerNode::removeChildren): Ditto.
+ * dom/ContainerNodeAlgorithms.cpp:
+ (WebCore::ChildFrameDisconnector::collectDescendant): Pass a new parameter to collectDescendant(Node*).
+ * dom/ContainerNodeAlgorithms.h:
+ (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
+ (ChildFrameDisconnector): Maintain a list of nodes that have an active ChildFrameDisconnector.
+ (WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
+ (WebCore::ChildFrameDisconnector::rootNodes):
+ (WebCore::ChildFrameDisconnector::collectDescendant): Add ShouldIncludeRoot parameter.
+ (WebCore::ChildFrameDisconnector::nodeHasDisconnector):
+ (WebCore):
+ * dom/Node.cpp:
+ (WebCore::checkAcceptChild): Reject a parent node if it or one of its parents has an active ChildFrameDisconnector.
+ * html/HTMLFrameElementBase.cpp:
+ (WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check if an element is still in the document.
+
+2012-09-03 Sam Weinig <sam@webkit.org>
+
+ Part 1 of removing PlatformString.h, move remaining functions to new homes
+ https://bugs.webkit.org/show_bug.cgi?id=95702
+
+ Reviewed by Beth Dakin.
+
+ Move utf8Buffer() to SharedBuffer.h/cpp
+ Move numGraphemeClusters() and numCharactersInGraphemeClusters() to TextBreakIterator.h/cpp
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ Update projects.
+
+ * platform/text/TextAllInOne.cpp:
+ Add TextBreakIterator.cpp.
+
+ * editing/Editor.h:
+ Forward declare SharedBuffer, now that PlatformString.h doesn't.
+
+ * html/InputType.cpp:
+ #include TextBreakIterator.h.
+
+ * loader/appcache/ApplicationCacheStorage.h:
+ Replace inclusion of PlatformString.h with WTFString.h and forward declare SharedBuffer.
+
+ * platform/LocalizedStrings.cpp:
+ Replace inclusion of PlatformString.h with TextBreakIterator.h
+
+ * platform/SharedBuffer.cpp:
+ * platform/SharedBuffer.h:
+ Move utf8Buffer() here.
+
+ * platform/text/PlatformString.h:
+ Remove everything except the #include of WTFString.h.
+
+ * platform/text/TextBreakIterator.cpp: Renamed from Source/WebCore/platform/text/String.cpp.
+ (WebCore::numGraphemeClusters):
+ (WebCore::numCharactersInGraphemeClusters):
+ * platform/text/TextBreakIterator.h:
+ Move numGraphemeClusters() and numCharactersInGraphemeClusters() here.
+
+2012-09-04 Julien Chaffraix <jchaffraix@webkit.org>
+
+ REGRESSION(r120832): RenderLayer::clampScrollOffset doesn't properly clamp
+ https://bugs.webkit.org/show_bug.cgi?id=95776
+
+ Reviewed by Simon Fraser.
+
+ r120832 consolidated the clamping logic into RenderLayer::clampScrollOffset. The existing code wouldn't properly ensure that
+ the offset were positive which got exposed to other code paths, leading to the regression.
+
+ Tested by ManualTests/select-menu-list-wrongly-positioned.html as I didn't find a way to create a reliable layout test.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::clampScrollOffset):
+ Fixed the clamping logic to ensure that the scroll offset's dimensions are positive.
+
+2012-09-04 Joshua Bell <jsbell@chromium.org>
+
+ IndexedDB: IDBRequest leaks if IDBCursor closes and no further events fired
+ https://bugs.webkit.org/show_bug.cgi?id=95777
+
+ Reviewed by Tony Chang.
+
+ IDBRequests are kept alive as long as they may fire events, which includes
+ if the associated IDBCursor object can be advanced. When the transaction
+ is finished the IDBCursor is notified which in turn tells the IDBRequest
+ that the cursor won't be the source of more events. However, if this occurs
+ and no further events fire the IDBRequest doesn't clear it's "has pending
+ activity flag". Clear the flag on the notification if the request is
+ otherwise complete.
+
+ No new tests - ActiveDOMObjects and leaks are persnickety.
+
+ * Modules/indexeddb/IDBRequest.cpp:
+ (WebCore::IDBRequest::finishCursor):
+
+2012-09-04 Max Vujovic <mvujovic@adobe.com>
+
+ [CSS Shaders] Implement multiply, screen, darken, lighten, difference, exclusion blend modes.
+ https://bugs.webkit.org/show_bug.cgi?id=93870
+
+ Reviewed by Dirk Schulze.
+
+ Add expressions for the aforementioned blend modes. The expressions are lifted directly
+ from the CSS Compositing and Blending spec [1]. WebKit adds these blending expressions to
+ the author's shader.
+
+ [1]: https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnormal
+
+ Test: css3/filters/custom/custom-filter-blend-modes.html
+
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp:
+ (WebCore::CustomFilterValidatedProgram::blendFunctionString):
+
+2012-09-04 Nikhil Bhargava <nbhargava@google.com>
+
+ Fix style for Event.h
+ https://bugs.webkit.org/show_bug.cgi?id=95779
+
+ Reviewed by Eric Seidel.
+
+ Changes indenting for Event.h to match style guidelines for namespaces
+
+ * dom/Event.h:
+
+2012-09-04 Jeffrey Pfau <jpfau@apple.com>
+
+ Make plugins respect third-party storage blocking setting
+ https://bugs.webkit.org/show_bug.cgi?id=94888
+
+ Reviewed by Brady Eidson.
+
+ Added functions for discerning if a plugin should be able to access its storage in its current origin.
+
+ Tests: http/tests/security/cross-origin-plugin-allowed.html
+ http/tests/security/cross-origin-plugin.html
+
+ * WebCore.exp.in: Export FrameTree::top and SecurityOrigin::canAccessStorage
+ * page/SecurityOrigin.h: Added canAccessPluginStorage
+ (WebCore::SecurityOrigin::canAccessPluginStorage):
+
+2012-09-04 Robert Hogan <robert@webkit.org>
+
+ Regression(r127163): Heap-use-after-free in WebCore::RenderBoxModelObject::hasSelfPaintingLayer
+ https://bugs.webkit.org/show_bug.cgi?id=95632
+
+ Reviewed by Abhishek Arya.
+
+ Don't add floats to the floating object set of blocks that avoid floats. There's no point in doing that
+ and they will never get cleared out during relayout.
+
+ Tests: fast/css/intruding-floats-crash.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloatsIfNeeded):
+
+2012-09-04 Michael Saboff <msaboff@apple.com>
+
+ equal() in CSSParser.cpp should check the length of characters
+ https://bugs.webkit.org/show_bug.cgi?id=95706
+
+ Reviewed by Abhishek Arya.
+
+ Pass the length of string literals to CSSParser static functions equal() and
+ equalIgnoringCase() so that checks won't access out of bounds memory.
+
+ Added test fast/css/crash-comparing-equal.html.
+
+ * css/CSSParser.cpp:
+ (WebCore::equal): Use template to retrieve the length of string literal.
+ (WebCore::equalIgnoringCase): Ditto.
+ (WebCore::CSSParser::parseDashboardRegions): Use const char[] instead of const char*
+
+2012-09-04 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin
+ https://bugs.webkit.org/show_bug.cgi?id=95778
+ PR #202252
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Arvid Nilsson.
+
+ Upstream has switch away from using the parent scroll layer's bounds origin
+ in order to translate contents of all its child layers. Instead now, it directly
+ sets the scroll position of the child scrollable contents layer.
+
+ No new tests, since it is a catch-up with upstreaming code.
+
+ Source/WebCore:
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
+ (WebCore):
+ * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
+ (GraphicsLayerBlackBerry):
+ * platform/graphics/blackberry/LayerCompositingThread.cpp:
+ (WebCore::LayerCompositingThread::updateAnimations):
+ * platform/graphics/blackberry/LayerCompositingThread.h:
+ (WebCore::LayerOverride::LayerOverride):
+ (LayerOverride):
+ * platform/graphics/blackberry/LayerData.h:
+ (LayerData):
+ * platform/graphics/blackberry/LayerRenderer.cpp:
+ (WebCore::LayerRenderer::updateLayersRecursive):
+ * platform/graphics/blackberry/LayerWebKitThread.h:
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+
+2012-09-04 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add the async createOffer functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95734
+
+ Reviewed by Adam Barth.
+
+ createOffer sends a request to the platform implementer requesting it to gather up all candidates.
+ This can take some time, therefore the request is async.
+
+ Test: fast/mediastream/RTCPeerConnection-createOffer.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/RTCErrorCallback.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h.
+ (WebCore):
+ (RTCErrorCallback):
+ (WebCore::RTCErrorCallback::~RTCErrorCallback):
+ * Modules/mediastream/RTCErrorCallback.idl: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h.
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::createOffer):
+ (WebCore):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (WebCore):
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * Modules/mediastream/RTCSessionDescriptionCallback.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h.
+ (WebCore):
+ (RTCSessionDescriptionCallback):
+ (WebCore::RTCSessionDescriptionCallback::~RTCSessionDescriptionCallback):
+ * Modules/mediastream/RTCSessionDescriptionCallback.idl: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h.
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp: Added.
+ (WebCore):
+ (WebCore::RTCSessionDescriptionRequestImpl::create):
+ (WebCore::RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl):
+ (WebCore::RTCSessionDescriptionRequestImpl::~RTCSessionDescriptionRequestImpl):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestSucceeded):
+ (WebCore::RTCSessionDescriptionRequestImpl::requestFailed):
+ (WebCore::RTCSessionDescriptionRequestImpl::stop):
+ (WebCore::RTCSessionDescriptionRequestImpl::clear):
+ * Modules/mediastream/RTCSessionDescriptionRequestImpl.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h.
+ (WebCore):
+ (RTCSessionDescriptionRequestImpl):
+ * WebCore.gypi:
+ * platform/chromium/support/WebRTCSessionDescriptionDescriptor.cpp: Copied from Tools/DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h.
+ (WebKit):
+ (WebKit::WebRTCSessionDescriptionDescriptor::WebRTCSessionDescriptionDescriptor):
+ (WebKit::WebRTCSessionDescriptionDescriptor::assign):
+ (WebKit::WebRTCSessionDescriptionDescriptor::reset):
+ (WebKit::WebRTCSessionDescriptionDescriptor::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>):
+ (WebKit::WebRTCSessionDescriptionDescriptor::initialize):
+ (WebKit::WebRTCSessionDescriptionDescriptor::type):
+ (WebKit::WebRTCSessionDescriptionDescriptor::setType):
+ (WebKit::WebRTCSessionDescriptionDescriptor::sdp):
+ (WebKit::WebRTCSessionDescriptionDescriptor::setSDP):
+ * platform/chromium/support/WebRTCSessionDescriptionRequest.cpp: Added.
+ (WebKit):
+ (WebKit::WebRTCSessionDescriptionRequest::WebRTCSessionDescriptionRequest):
+ (WebKit::WebRTCSessionDescriptionRequest::assign):
+ (WebKit::WebRTCSessionDescriptionRequest::reset):
+ (WebKit::WebRTCSessionDescriptionRequest::requestSucceeded):
+ (WebKit::WebRTCSessionDescriptionRequest::requestFailed):
+ (ExtraDataContainer):
+ (WebKit::ExtraDataContainer::ExtraDataContainer):
+ (WebKit::ExtraDataContainer::extraData):
+ (WebKit::WebRTCSessionDescriptionRequest::extraData):
+ (WebKit::WebRTCSessionDescriptionRequest::setExtraData):
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::createOffer):
+ (WebCore):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (WebCore):
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/RTCSessionDescriptionDescriptor.h:
+ (WebCore::RTCSessionDescriptionDescriptor::type):
+ (WebCore::RTCSessionDescriptionDescriptor::sdp):
+ * platform/mediastream/RTCSessionDescriptionRequest.h: Copied from Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h.
+ (WebCore):
+ (RTCSessionDescriptionRequest):
+ (ExtraData):
+ (WebCore::RTCSessionDescriptionRequest::ExtraData::~ExtraData):
+ (WebCore::RTCSessionDescriptionRequest::~RTCSessionDescriptionRequest):
+ (WebCore::RTCSessionDescriptionRequest::extraData):
+ (WebCore::RTCSessionDescriptionRequest::setExtraData):
+ (WebCore::RTCSessionDescriptionRequest::RTCSessionDescriptionRequest):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::createOffer):
+ (WebCore):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-04 Dan Bernstein <mitz@apple.com>
+
+ Reverted r127468 (the fix for <http://webkit.org/b/93443>) because the test it included caused
+ an assertion failure in Document::updateStyleIfNeeded().
+
+ * dom/NamedFlowCollection.cpp:
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+ (WebCore::InspectorCSSAgent::didRemoveNamedFlow):
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::getFlowByName):
+ (WebCore):
+ * inspector/InspectorCSSAgent.h:
+ (InspectorCSSAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::didRemoveNamedFlowImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow):
+ (WebCore::InspectorInstrumentation::didRemoveNamedFlow):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated.callback):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved.callback):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
+ (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
+ (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlow.parsePayloadArray):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
+
+2012-09-04 Simon Fraser <simon.fraser@apple.com>
+
+ Regression: Heap-use-after-free in WebCore::FrameView::scrollContentsFastPath
+ https://bugs.webkit.org/show_bug.cgi?id=95754
+
+ Reviewed by Dave Hyatt.
+
+ It's possible to have a renderer with position:fixed or sticky style,
+ but no layer, for example a RenderScrollBarPart. Don't register such
+ renderers with the FrameView.
+
+ Moved the code that registers/unregisters with the FrameView from
+ styleWillChange() to styleDidChange(), since in the latter case
+ we can check if we have a RenderLayer. Only register renderers with layers.
+ We always unregister, which required removing an assertion in
+ FrameView::removeFixedObject(), and replacing it with a null check of m_fixedObjects.
+
+ Test: fast/css/remove-fixed-resizer-crash.html
+
+ * page/FrameView.cpp:
+ (WebCore::FrameView::removeFixedObject):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::styleWillChange):
+ (WebCore::RenderBoxModelObject::styleDidChange):
+
+2012-09-04 Dominik Röttsches <dominik.rottsches@intel.com>
+
+ ResourceErrorBase needs to identify timeouts
+ https://bugs.webkit.org/show_bug.cgi?id=95755
+
+ Reviewed by Alexey Proskuryakov.
+
+ Adding a property to check whether this ResourceError was raised due to a timeout.
+ This is preparatory work for bug 74802. In order to implement XHR2 timeout functionality,
+ I need to identify some layers up whether the original network problem has been a timeout.
+
+ No new tests, no change in behavior yet.
+
+ * platform/network/ResourceErrorBase.cpp:
+ (WebCore::ResourceErrorBase::copy): Copying new member.
+ (WebCore::ResourceErrorBase::compare): Comparing new member.
+ * platform/network/ResourceErrorBase.h:
+ (WebCore::ResourceErrorBase::setIsTimeout): New setter.
+ (WebCore::ResourceErrorBase::isTimeout): New getter.
+ (ResourceErrorBase),
+ (WebCore::ResourceErrorBase::ResourceErrorBase): Adding m_isTimeout member.
+
+2012-09-04 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Change the MediaStreamTrackList track added/removed signaling
+ https://bugs.webkit.org/show_bug.cgi?id=95721
+
+ Reviewed by Adam Barth.
+
+ This allows the platform implementor to throw an NOT_SUPPORTED_ERR exception if it doesn support these methods.
+
+ Patch covered by expanded existing test.
+
+ * Modules/mediastream/MediaStreamTrackList.cpp:
+ (WebCore::MediaStreamTrackList::add):
+ (WebCore::MediaStreamTrackList::remove):
+ * platform/mediastream/MediaStreamCenter.h:
+ (MediaStreamCenter):
+ * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp:
+ (WebCore::MediaStreamCenterBlackBerry::didAddMediaStreamTrack):
+ (WebCore):
+ (WebCore::MediaStreamCenterBlackBerry::didRemoveMediaStreamTrack):
+ * platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h:
+ (MediaStreamCenterBlackBerry):
+ * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
+ (WebCore::MediaStreamCenterChromium::didAddMediaStreamTrack):
+ (WebCore::MediaStreamCenterChromium::didRemoveMediaStreamTrack):
+ * platform/mediastream/chromium/MediaStreamCenterChromium.h:
+ (MediaStreamCenterChromium):
+ * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
+ (WebCore::MediaStreamCenterGStreamer::didAddMediaStreamTrack):
+ (WebCore::MediaStreamCenterGStreamer::didRemoveMediaStreamTrack):
+ * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
+ (MediaStreamCenterGStreamer):
+
+2012-09-04 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [GTK] Crash in AccessibilityObject::accessibilityPlatformIncludesObject()
+ https://bugs.webkit.org/show_bug.cgi?id=95740
+
+ Reviewed by Martin Robinson.
+
+ Added sanity check to be sure we have a render object prior to seeing if
+ said object is an anonymous block.
+
+ Testing via unit test because a non-flaky layout test crasher could not
+ be found.
+
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ Sanity check for render object added.
+
+2012-09-04 Christophe Dumez <christophe.dumez@intel.com>
+
+ Automatic features should work in sandboxed iframes if "allow-scripts" flag is set
+ https://bugs.webkit.org/show_bug.cgi?id=93961
+
+ Reviewed by Adam Barth.
+
+ Allow automatic features (video autoplay and form control
+ autofocus) in a sandboxed iframe that has "allow-scripts"
+ flag set. This behavior is according to the latest
+ specification at:
+ http://dev.w3.org/html5/spec/browsers.html#attr-iframe-sandbox-allow-same-origin
+
+ This sandboxed automatic features browsing context flag is
+ relaxed by the same keyword as scripts, because when
+ scripts are enabled these features are trivially possible
+ anyway, and it would be unfortunate to force authors to
+ use script to do them when sandboxed rather than allowing
+ them to use the declarative features.
+
+ Tests: fast/forms/autofocus-in-sandbox-with-allow-scripts.html
+ media/auto-play-in-sandbox-with-allow-scripts.html
+
+ * dom/SecurityContext.cpp:
+ (WebCore::SecurityContext::parseSandboxPolicy):
+
+2012-09-04 Sami Kyostila <skyostil@google.com>
+
+ Register scrolling layers with ScrollingCoordinator
+ https://bugs.webkit.org/show_bug.cgi?id=78862
+
+ Reviewed by James Robinson.
+
+ In order to allow scrollable child layers to be scrolled off the main
+ thread, register them with the ScrollingCoordinator. These layers are
+ also removed from the non-fast scrollable region.
+
+ Whenever the scroll offset or other scroll geometry related attribute of
+ a compositor scrolled layer changes, the ScrollingCoordinator is
+ informed to allow it to update its internal representation of the
+ scrollable layer.
+
+ No tests because the ScrollingCoordinator is currently not testable.
+
+ * page/scrolling/ScrollingCoordinator.cpp:
+ (WebCore::computeNonFastScrollableRegion): Composited scrolling layers
+ can be scrolled off the main thread.
+ (WebCore):
+ (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
+ Callback to ScrollingCoordinator about changes the composited scrolling layers.
+ * page/scrolling/ScrollingCoordinator.h:
+ (WebCore):
+ (ScrollingCoordinator):
+ * page/scrolling/ScrollingCoordinatorNone.cpp:
+ (WebCore):
+ (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
+ * platform/ScrollableArea.h:
+ (WebCore::ScrollableArea::usesCompositedScrolling):
+ * rendering/RenderLayer.cpp:
+ (WebCore):
+ (WebCore::RenderLayer::usesCompositedScrolling):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ (WebCore::RenderLayer::usesCompositedScrolling):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
+ (WebCore::RenderLayerBacking::updateScrollingLayers):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::scrollingLayerDidChange):
+ (WebCore):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+
+2012-09-04 Brian Anderson <brianderson@chromium.org>
+
+ [chromium] Do not allow infinite pending frames in CCFrameRateController
+ https://bugs.webkit.org/show_bug.cgi?id=94254
+
+ Reviewed by James Robinson.
+
+ Removes support for infinite pending frames in CCFrameRateController
+ if swap acks are available.
+
+ Functionality covered by existing tests.
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::CCFrameRateController):
+ (WebCore::CCFrameRateController::setMaxFramesPending):
+ (WebCore::CCFrameRateController::setSwapBuffersCompleteSupported):
+ (WebCore):
+ (WebCore::CCFrameRateController::onTimerTick):
+ (WebCore::CCFrameRateController::didBeginFrame):
+ (WebCore::CCFrameRateController::didFinishFrame):
+ * platform/graphics/chromium/cc/CCFrameRateController.h:
+ (CCFrameRateController):
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::setSwapBuffersCompleteSupported):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::initializeRendererOnImplThread):
+
+2012-09-04 Tim Horton <timothy_horton@apple.com>
+
+ ASSERTion failure when SVG element is removed from document and readded
+ https://bugs.webkit.org/show_bug.cgi?id=95517
+ <rdar://problem/12175583>
+
+ Reviewed by Brady Eidson.
+
+ Previously, SVG animations would cease to animate when their parent
+ <svg> element was removed and re-added to the document.
+
+ Instead, to match Firefox and Opera, we should continue the animation
+ with the same beginTime (i.e. the animation continues as if it had never
+ been removed from the document).
+
+ Test: svg/animations/reinserting-svg-into-document.html
+
+ * svg/SVGSVGElement.cpp:
+ (WebCore::SVGSVGElement::insertedInto): Don't call begin() on an already-started SMILTimeContainer().
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::isStarted): Added.
+ * svg/animation/SMILTimeContainer.h: Add isStarted().
+ * svg/animation/SVGSMILElement.cpp:
+ (WebCore::SVGSMILElement::insertedInto): Always reschedule SVGSMILElements with
+ their parent SMILTimeContainer when they are inserted into the document, otherwise
+ they are lost (and never again update) when their subtree is removed and then
+ readded to the document.
+
+2012-09-04 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] Destroying a render named flow thread without unregistering left-over content nodes triggered an assertion.
+ https://bugs.webkit.org/show_bug.cgi?id=95645
+
+ Reviewed by Abhishek Arya.
+
+ This patch cleans up the render named flow thread before destruction by unregistering left-over content nodes.
+
+ Tests: fast/regions/moved-content-node-crash.html
+
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
+
+2012-09-04 Koji Ishii <kojiishi@gmail.com>
+
+ [chromium] OpenTypeVerticalData.cpp in both webcore_remaining and webcore_platform seems to break incremental linking on Windows Chromium
+ https://bugs.webkit.org/show_bug.cgi?id=95744
+
+ Patch by Koji Ishii <kojiishi@gmail.com> on 2012-09-04
+ Unreviewed build fix, verified by Scott Graham.
+
+ The addition of 'platform/graphics/opentype/*' to webcore_platform in WebCore.gyp was redundant
+ because '/opentype/' was already included to webcore_remaining.
+ It was not only redundant but also breaks incremental linking.
+
+ No new tests are required because no behavior changes.
+
+ * WebCore.gyp/WebCore.gyp: Removed platform/graphics/opentype/* from webcore_platform.
+
+2012-09-04 Otto Derek Cheung <otcheung@rim.com>
+
+ [BlackBerry] Browser is not sending secured Cookie back to server over HTTPS connection
+ https://bugs.webkit.org/show_bug.cgi?id=95747
+
+ PR199729
+
+ Reviewed by Rob Buis.
+ Internally Reviewed by Joe Mason.
+
+ If the browser has never saved a secure protocol cookie in its mapping before,
+ and it tries to set and retreive a secure cookie over a non-secure
+ protocol, it will not show up because the link between the secure and
+ non-secure mapping isn't created until a cookie (sent through secure) is set.
+
+ The fix is to also check for the linkage in getRawCookies. Note that we cannot
+ map the secure CookieMap to the non-secure one because getRawCookies is a const
+ function.
+
+ Manually tested using our Browser Test suite.
+
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::getRawCookies):
+
+2012-09-04 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer] 0.11 build breaks due to rename of gst_message_new_duration
+ https://bugs.webkit.org/show_bug.cgi?id=95751
+
+ Reviewed by Martin Robinson.
+
+ In gstreamer commit f712a9596c2bc1863edf9b816d9854eefca9ba45
+ gst_message_new_duration was renamed to
+ gst_message_new_duration_changed.
+
+ However the only place where we used this is in the HTTP source
+ element and only if appsrc < 0.10.27 is used at runtime. In the
+ case of GStreamer 1.0 this condition will be always false so we
+ can disable this code at build time.
+
+ * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
+ (StreamingClient::didReceiveResponse):
+
+2012-09-04 Andrei Poenaru <poenaru@adobe.com>
+
+ Web Inspector: Protocol Extension: Add "regionLayoutUpdate" event
+ https://bugs.webkit.org/show_bug.cgi?id=93443
+
+ Reviewed by Pavel Feldman.
+
+ Added "regionLayoutUpdate" event to the protocol.
+
+ Removed "getFlowByName" from protocol.
+
+ The front-end keeps in sync the requested Named Flow Collections.
+
+ Modified existing test: inspector/styles/protocol-css-regions-commands.html
+
+ * dom/NamedFlowCollection.cpp:
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ * inspector/Inspector.json:
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::didCreateNamedFlow):
+ (WebCore::InspectorCSSAgent::willRemoveNamedFlow):
+ (WebCore):
+ (WebCore::InspectorCSSAgent::didUpdateRegionLayout):
+ (WebCore::InspectorCSSAgent::getNamedFlowCollection):
+ (WebCore::InspectorCSSAgent::documentNodeWithRequestedFlowsId):
+ * inspector/InspectorCSSAgent.h:
+ (InspectorCSSAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlowImpl):
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayoutImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didCreateNamedFlow):
+ (WebCore::InspectorInstrumentation::willRemoveNamedFlow):
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didUpdateRegionLayout):
+ * inspector/front-end/CSSStyleModel.js:
+ (WebInspector.CSSStyleModel):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync.callback):
+ (WebInspector.CSSStyleModel.prototype.getNamedFlowCollectionAsync):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync.callback):
+ (WebInspector.CSSStyleModel.prototype.getFlowByNameAsync):
+ (WebInspector.CSSStyleModel.prototype._namedFlowCreated):
+ (WebInspector.CSSStyleModel.prototype._namedFlowRemoved):
+ (WebInspector.CSSStyleModel.prototype._regionLayoutUpdated):
+ (WebInspector.CSSStyleModel.prototype._resetNamedFlowCollections):
+ (WebInspector.CSSDispatcher.prototype.namedFlowCreated):
+ (WebInspector.CSSDispatcher.prototype.namedFlowRemoved):
+ (WebInspector.CSSDispatcher.prototype.regionLayoutUpdated):
+ (WebInspector.NamedFlow):
+ (WebInspector.NamedFlowCollection):
+ (WebInspector.NamedFlowCollection.prototype.appendNamedFlow):
+ (WebInspector.NamedFlowCollection.prototype.removeNamedFlow):
+ (WebInspector.NamedFlowCollection.prototype.flowByName):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent):
+
+2012-09-04 Jonathan Liu <net147@gmail.com>
+
+ Fix IDL dependency generation correctly
+ https://bugs.webkit.org/show_bug.cgi?id=95730
+
+ Reviewed by Csaba Osztrogonác.
+
+ IDL dependency generation is still not working after
+ https://bugs.webkit.org/show_bug.cgi?id=88304. This is because spaces
+ added after the filename in an echo command end up being added to the
+ file which isn't handled correctly by preprocess-idls.pl. The problem
+ is fixed by removing the space after the filename.
+
+ * DerivedSources.pri:
+
+2012-09-04 Mario Sanchez Prada <msanchez@igalia.com>
+
+ [Stable] [GTK] Crash in WebCore::HTMLSelectElement::selectedIndex
+ https://bugs.webkit.org/show_bug.cgi?id=95618
+
+ Reviewed by Martin Robinson.
+
+ Make sure we only emit the the signal for menu lists and list
+ boxes rendered from actual HTML select elements.
+
+ * accessibility/gtk/AXObjectCacheAtk.cpp:
+ (WebCore::notifyChildrenSelectionChange): We support accessibility
+ ListBoxes and MenuLists only here, assuming they represent HTML
+ select elements, which might be not always true (e.g. ARIA). Thus,
+ check if that condition is true, early returning in other case.
+
+2012-09-04 Martin Robinson <mrobinson@igalia.com>
+
+ [Cairo] [TextureMapper] Assertion failure in TextureMapperGL
+ https://bugs.webkit.org/show_bug.cgi?id=95713
+
+ Reviewed by Noam Rosenthal.
+
+ Fix an assertion failure by returning a valid context always for GraphicsContext3D::platformContext.
+ This is important because TextureMapperGL uses the platform context to perform hashing.
+
+ No new tests. This is covered by existing accelerated compositing tests.
+
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::platformContext): Return the current GLContext
+ when getting the platform context for private GraphicsContext3DPrivates that render
+ to the currently active context.
+
+2012-09-04 Alexander Shalamov <alexander.shalamov@intel.com>
+
+ [EFL] Check if ecore_x is initialised before calling ecore_x_bell to avoid crash
+ https://bugs.webkit.org/show_bug.cgi?id=86961
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add ecore_x initialisation check before calling ecore_x_bell
+ to avoid crashes when X server is not running.
+
+ * platform/efl/SoundEfl.cpp:
+ (WebCore::systemBeep):
+
+2012-09-04 Alexander Shalamov <alexander.shalamov@intel.com>
+
+ [EFL] Check if ecore_x is initialised before calling ecore_x_bell to avoid crash
+ https://bugs.webkit.org/show_bug.cgi?id=86961
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add ecore_x initialisation check before calling ecore_x_bell
+ to avoid crashes when X server is not running.
+
+ * platform/efl/SoundEfl.cpp:
+ (WebCore::systemBeep):
+
+2012-09-04 Alexander Shalamov <alexander.shalamov@intel.com>
+
+ [EFL][WK2] CSS3 Media Queries functionality is broken
+ https://bugs.webkit.org/show_bug.cgi?id=95680
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ In WK2, WebProcess doesn't have access to ewk_view evas object.
+ Methods that get screen rect or screen depth either return incorrect value or crash.
+ This patch removes dependency to ewk_view evas object and relies on ecore_x_* functions
+ to get screen rectangle or color depth of the screen.
+
+ * platform/efl/EflScreenUtilities.cpp: removed unused getPixelDepth method definition
+ * platform/efl/EflScreenUtilities.h: removed unsused getPixelDepth method declaration
+ (WebCore):
+ * platform/efl/PlatformScreenEfl.cpp:
+ (WebCore):
+ (WebCore::screenHorizontalDPI):
+ (WebCore::screenVerticalDPI):
+ (WebCore::screenDepth):
+ (WebCore::screenDepthPerComponent):
+ (WebCore::screenIsMonochrome):
+ (WebCore::screenRect):
+
+2012-09-04 Michał Pakuła vel Rutka <m.pakula@samsung.com>
+
+ [EFL] Context menu restore.
+ https://bugs.webkit.org/show_bug.cgi?id=74179
+
+ Reviewed by Gyuyoung Kim.
+
+ Adds context menu support for EFL port using non-CROSS_PLATFORM_CONTEXT_MENUS
+ approach, the same as used in WebKit2.
+
+ * PlatformEfl.cmake: Removed -DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1
+
+2012-09-04 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Bugfix: wrong texture binding target in replay for 3D textures
+ https://bugs.webkit.org/show_bug.cgi?id=95687
+
+ Reviewed by Vsevolod Vlasov.
+
+ gl.bindTexture accepts either TEXTURE_2D or TEXTURE_CUBE_MAP targets, but we tried to replay with TEXTURE_CUBE_MAP_POSITIVE_X and others for 3D textures.
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-09-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Allow child-frame content in hit-tests.
+ https://bugs.webkit.org/show_bug.cgi?id=95204
+
+ Reviewed by Antonio Gomes.
+
+ Refactors how EventHandler::hitTestResultAtPoint handles child-frame content,
+ it is now handled by the hit test itself controlled by the AllowChildFrameContent
+ flag in HitTestRequest.
+
+ Tests: fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html
+ touchadjustment/iframe-boundary.html
+
+ * WebCore.exp.in:
+ * WebCore.order:
+ * dom/Document.cpp:
+ (WebCore::Document::nodesFromRect):
+ * dom/Document.h:
+ (Document):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ * rendering/HitTestRequest.h:
+ (WebCore::HitTestRequest::allowChildFrameContent):
+ (WebCore::HitTestRequest::childFrameHitTest):
+ (WebCore::HitTestRequest::testChildFrameScrollBars):
+ * rendering/RenderFrameBase.cpp:
+ (WebCore::RenderFrameBase::nodeAtPoint):
+ (WebCore):
+ * rendering/RenderFrameBase.h:
+ (RenderFrameBase):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hitTest):
+ * testing/Internals.cpp:
+ (WebCore::Internals::nodesFromRect):
+ * testing/Internals.h:
+ (Internals):
+ * testing/Internals.idl:
+
+2012-09-04 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Fix build error in NetworkStateNotifierEfl.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95724
+
+ Unreviewed EFL build fix.
+
+ Make sure <sys/socket.h> is included before
+ <linux/netlink.h> to fix build errors on some
+ systems (e.g. Ubuntu 11.10).
+
+ No new tests, no behavior change.
+
+ * platform/network/efl/NetworkStateNotifierEfl.cpp:
+
+2012-09-04 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Create JavaScriptSources based on network resources.
+ https://bugs.webkit.org/show_bug.cgi?id=95352
+
+ Reviewed by Pavel Feldman.
+
+ Introduced NetworkUISourceCodeProvider that is listening for ResourceTreeModel and creates UISourceCodes for them.
+ RawSourceCode does not create uiSourceCodes based on resource anymore (this is done by NetworkUISourceCodeProvider instead).
+ Moved script <-> uiSourceCode binding logic from RawSourceCode to ResourceScriptMapping.
+ Removed rawSourceCode as it was not needed anymore.
+
+ Tests: inspector/debugger/network-uisourcecode-provider.html
+ inspector/debugger/resource-script-mapping.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CompilerScriptMapping.js:
+ * inspector/front-end/DebuggerModel.js:
+ (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse):
+ * inspector/front-end/JavaScriptSource.js:
+ (WebInspector.JavaScriptSource):
+ * inspector/front-end/NetworkUISourceCodeProvider.js: Renamed from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js.
+ (WebInspector.NetworkUISourceCodeProvider):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._populate):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._styleResourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded.resourceFinished):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addJavaScriptSource):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
+ * inspector/front-end/RawSourceCode.js:
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
+ (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
+ (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode.get var):
+ (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode):
+ (WebInspector.ResourceScriptMapping.prototype.get _uiSourceCodeReplaced):
+ (WebInspector.ResourceScriptMapping.prototype._reset):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
+ (WebInspector.SnippetJavaScriptSource):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
+ (WebInspector.UISourceCode.prototype.setSourceMapping):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/Workspace.js: Drive-by: fixed duplicating uiSourceCodes in workspace.
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2012-09-04 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Save gl.getError() status before taking a WebGL state snapshot and restore it afterwards
+ https://bugs.webkit.org/show_bug.cgi?id=95443
+
+ Reviewed by Vsevolod Vlasov.
+
+ Save gl.getError() status before taking the GL snapshot and restore it afterwards.
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-09-04 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: More directional control characters for debugging in inspector
+ https://bugs.webkit.org/show_bug.cgi?id=95696
+
+ Reviewed by Vsevolod Vlasov.
+
+ Entities for text directionality-related characters added (LRE, RLE, LRO, RLO, PDF).
+
+ * inspector/front-end/ElementsTreeOutline.js:
+
+2012-09-04 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: new CPU Profiles are not shown after reattach
+ https://bugs.webkit.org/show_bug.cgi?id=95686
+
+ Reviewed by Vsevolod Vlasov.
+
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::restore): set m_headersRequested flags
+ to true and clear all profiles on the front-end since there are no
+ collected profiles yet immediately after render process sitching.
+
+2012-09-04 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: cosmetic change, rename m_domMemoryUsage to m_memoryInstrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=95716
+
+ Also m_memoryInstrumentation became a reference to external object because it has other life time than domNodeVisitor.
+
+ Reviewed by Yury Semikhatsky.
+
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ (WebCore::collectDomTreeInfo):
+
+2012-08-31 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Port the Qt pixmap JS bindings to use the JSC C API
+ https://bugs.webkit.org/show_bug.cgi?id=94702
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Based on patch by Noam Rosenthal.
+
+ The conversion uses a simple JSClassRef based binding and only a few
+ uses of private JSC API for the HTML element DOM bindings remain.
+
+ This is essentially used for wrapping QPixmap and QImage types in
+ JavaScript and the other way around, for retrieving the image data
+ out of a HTML image element when converting from JS/DOM to Qt.
+
+ * bridge/qt/qt_pixmapruntime.cpp:
+ (JSC::Bindings::copyPixels):
+ (JSC::Bindings::toPixmap):
+ (JSC::Bindings::toImage):
+ (JSC::Bindings::imageSizeForVariant):
+ (JSC::Bindings::getPixmapWidth):
+ (JSC::Bindings::getPixmapHeight):
+ (JSC::Bindings::assignToHTMLImageElement):
+ (JSC::Bindings::pixmapToImageData):
+ (JSC::Bindings::pixmapToDataUrl):
+ (JSC::Bindings::pixmapToString):
+ (JSC::Bindings::QtPixmapRuntime::toJS):
+ (JSC::Bindings::QtPixmapRuntime::toQt):
+ (JSC::Bindings::QtPixmapRuntime::canHandle):
+ (JSC::Bindings::QtPixmapRuntime::getClassRef):
+ * bridge/qt/qt_pixmapruntime.h:
+ (QtPixmapRuntime):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::convertQVariantToValue):
+
+2012-09-03 Andreas Kling <kling@webkit.org>
+
+ Share immutable ElementAttributeData between elements with identical attributes.
+ <http://webkit.org/b/94990>
+
+ Reviewed by Antti Koivisto.
+
+ Keep a cache of ElementAttributeData objects for a given set of attributes and reuse
+ them in elements with identical attribute maps. ElementAttributeData is made ref-counted
+ to facilitate this. A copy-on-write mechanism is already in place, since mutating call
+ sites have to go via Element::mutableAttributeData().
+
+ The cache is held by Document and cleared in Document::finishedParsing() since the vast
+ majority of immutable ElementAttributeData will be constructed during parsing.
+
+ On the HTML5 spec at <http://whatwg.org/c/>, we get a cache hit rate of nearly 80%,
+ translating into a 3.5MB reduction in memory use.
+
+ * dom/Document.cpp:
+ (WebCore::Document::finishedParsing):
+ (ImmutableAttributeDataCacheKey):
+ (WebCore::ImmutableAttributeDataCacheKey::ImmutableAttributeDataCacheKey):
+ (WebCore::ImmutableAttributeDataCacheKey::operator!=):
+ (WebCore::ImmutableAttributeDataCacheKey::hash):
+ (ImmutableAttributeDataCacheEntry):
+ (WebCore::Document::cachedImmutableAttributeData):
+ * dom/Document.h:
+ * dom/Element.cpp:
+ (WebCore::Element::parserSetAttributes):
+ * dom/Element.h:
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::createImmutable):
+ (WebCore::ElementAttributeData::ElementAttributeData):
+ * dom/ElementAttributeData.h:
+ (WebCore::ElementAttributeData::create):
+ (ElementAttributeData):
+ (WebCore::ElementAttributeData::makeMutable):
+
+2012-09-03 Peter Wang <peter.wang@torchmobile.com.cn>
+
+ Web Inspector: the URL of worker inspector window sometimes is invalid
+ https://bugs.webkit.org/show_bug.cgi?id=95334
+
+ Reviewed by Pavel Feldman.
+
+ In "_openInspectorWindow", before "&dedicatedWorkerId=" should have a '?' to make the whole URL valid.
+
+ No new tests case for this bug.
+
+ * inspector/front-end/WorkerManager.js:
+ (WebInspector.WorkerManager.prototype._openInspectorWindow):
+
+2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Fix e_dbus_shutdown() error when exiting the Minibrowser
+ https://bugs.webkit.org/show_bug.cgi?id=95636
+
+ Reviewed by Gyuyoung Kim.
+
+ Check if the m_timer is active in stopUpdating()
+ to know the BatteryProvider is updating or not.
+ By checking the timer, stopUpdating() will be called
+ only BatteryProviderEfl is updating.
+
+ * platform/efl/BatteryProviderEfl.cpp:
+ (WebCore::BatteryProviderEfl::stopUpdating):
+
+2012-09-03 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127427.
+ http://trac.webkit.org/changeset/127427
+ https://bugs.webkit.org/show_bug.cgi?id=95695
+
+ Breaks some inspector/debugger tests on JSC (Requested by
+ vsevik on #webkit).
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CompilerScriptMapping.js:
+ * inspector/front-end/JavaScriptSource.js:
+ (WebInspector.JavaScriptSource):
+ * inspector/front-end/NetworkUISourceCodeProvider.js: Removed.
+ * inspector/front-end/RawSourceCode.js:
+ (WebInspector.RawSourceCode):
+ (WebInspector.RawSourceCode.prototype.addScript):
+ (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
+ (WebInspector.RawSourceCode.prototype._createUISourceCode):
+ (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
+ (WebInspector.RawSourceCode.prototype.uiSourceCode):
+ (WebInspector.RawSourceCode.prototype._finishedLoading):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype.addScript):
+ (WebInspector.ResourceScriptMapping.prototype._shouldBindScriptToContentProvider):
+ (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
+ (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
+ (WebInspector.ResourceScriptMapping.prototype._reset):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
+ (WebInspector.SnippetJavaScriptSource):
+ * inspector/front-end/StylesUISourceCodeProvider.js: Added.
+ (WebInspector.StylesUISourceCodeProvider):
+ (WebInspector.StylesUISourceCodeProvider.prototype._populate):
+ (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.StylesUISourceCodeProvider.prototype._reset):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2012-09-03 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Create JavaScriptSources based on network resources.
+ https://bugs.webkit.org/show_bug.cgi?id=95352
+
+ Reviewed by Pavel Feldman.
+
+ Introduced NetworkUISourceCodeProvider that is listening for ResourceTreeModel and creates UISourceCodes for them.
+ RawSourceCode does not create uiSourceCodes based on resource anymore (this is done by NetworkUISourceCodeProvider instead).
+ Moved script <-> uiSourceCode binding logic from RawSourceCode to ResourceScriptMapping.
+ Removed rawSourceCode as it was not needed anymore.
+
+ Tests: inspector/debugger/network-uisourcecode-provider.html
+ inspector/debugger/resource-script-mapping.html
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/CompilerScriptMapping.js:
+ * inspector/front-end/JavaScriptSource.js:
+ (WebInspector.JavaScriptSource):
+ * inspector/front-end/NetworkUISourceCodeProvider.js: Renamed from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js.
+ (WebInspector.NetworkUISourceCodeProvider):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._populate):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._styleResourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded.resourceFinished):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._scriptResourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addJavaScriptSource):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._addUISourceCode):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.NetworkUISourceCodeProvider.prototype._reset):
+ * inspector/front-end/RawSourceCode.js:
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
+ (WebInspector.ResourceScriptMapping.prototype._bindUISourceCodeToScripts):
+ (WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
+ (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode.get var):
+ (WebInspector.ResourceScriptMapping.prototype._addOrReplaceTemporaryUISourceCode):
+ (WebInspector.ResourceScriptMapping.prototype.get _uiSourceCodeReplaced):
+ (WebInspector.ResourceScriptMapping.prototype._reset):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
+ (WebInspector.SnippetJavaScriptSource):
+ * inspector/front-end/UISourceCode.js:
+ (WebInspector.UISourceCode):
+ (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
+ (WebInspector.UISourceCode.prototype.setSourceMapping):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+
+2012-09-03 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Make the injected __resourceObject property non-enumerable
+ https://bugs.webkit.org/show_bug.cgi?id=95682
+
+ Reviewed by Pavel Feldman.
+
+ Make the injected auxiliary property __resourceObject non-enumerable to hide it from for..in iterations.
+ Ideally this property should be completely hidden from the user's code.
+ Drive-by: Fix couple of small FIXME's.
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-09-03 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add Ice-related functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95565
+
+ Reviewed by Adam Barth.
+
+ Adds all Ice-related functionality to RTCPeerConnection, including
+ events, callbacks and methods.
+
+ Test: fast/mediastream/RTCPeerConnection-ice.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/RTCIceCandidateEvent.cpp: Added.
+ (WebCore):
+ (WebCore::RTCIceCandidateEvent::create):
+ (WebCore::RTCIceCandidateEvent::RTCIceCandidateEvent):
+ (WebCore::RTCIceCandidateEvent::~RTCIceCandidateEvent):
+ (WebCore::RTCIceCandidateEvent::candidate):
+ (WebCore::RTCIceCandidateEvent::interfaceName):
+ * Modules/mediastream/RTCIceCandidateEvent.h: Added.
+ (WebCore):
+ (RTCIceCandidateEvent):
+ * Modules/mediastream/RTCIceCandidateEvent.idl: Added.
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::RTCPeerConnection):
+ (WebCore::RTCPeerConnection::updateIce):
+ (WebCore):
+ (WebCore::RTCPeerConnection::addIceCandidate):
+ (WebCore::RTCPeerConnection::iceState):
+ (WebCore::RTCPeerConnection::close):
+ (WebCore::RTCPeerConnection::didGenerateIceCandidate):
+ (WebCore::RTCPeerConnection::didChangeIceState):
+ (WebCore::RTCPeerConnection::stop):
+ (WebCore::RTCPeerConnection::changeIceState):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * WebCore.gypi:
+ * dom/EventNames.h:
+ (WebCore):
+ * dom/EventNames.in:
+ * platform/chromium/support/WebRTCICECandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp.
+ (WebKit):
+ (WebKit::WebRTCICECandidateDescriptor::WebRTCICECandidateDescriptor):
+ (WebKit::WebRTCICECandidateDescriptor::assign):
+ (WebKit::WebRTCICECandidateDescriptor::reset):
+ (WebKit::WebRTCICECandidateDescriptor::initialize):
+ (WebKit::WebRTCICECandidateDescriptor::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>):
+ (WebKit::WebRTCICECandidateDescriptor::candidate):
+ (WebKit::WebRTCICECandidateDescriptor::sdpMid):
+ (WebKit::WebRTCICECandidateDescriptor::sdpMLineIndex):
+ * platform/mediastream/RTCIceCandidateDescriptor.h:
+ (WebCore::RTCIceCandidateDescriptor::candidate):
+ (WebCore::RTCIceCandidateDescriptor::sdpMid):
+ (WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (WebCore):
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/RTCPeerConnectionHandlerClient.h:
+ (WebCore):
+ (RTCPeerConnectionHandlerClient):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::updateIce):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerChromium::addIceCandidate):
+ (WebCore::RTCPeerConnectionHandlerChromium::didGenerateICECandidate):
+ (WebCore::RTCPeerConnectionHandlerChromium::didChangeICEState):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (WebKit):
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Unreviewed build fix after r127421
+
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestLocation::HitTestLocation):
+
+2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Move AllowShadowContent flag to HitTestRequest
+ https://bugs.webkit.org/show_bug.cgi?id=95685
+
+ Reviewed by Antonio Gomes.
+
+ Moves the flag and updates the interface for HitTestResult::addNodeToRectBasedTestResult so that
+ it can read the flag from HitTestRequest instead of from HitTestResult.
+
+ No change in functionality. No new tests.
+
+ * dom/Document.cpp:
+ (WebCore::Document::nodesFromRect):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::hitTestResultAtPoint):
+ * rendering/HitTestRequest.h:
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestLocation::HitTestLocation):
+ (WebCore::HitTestResult::HitTestResult):
+ (WebCore::HitTestResult::operator=):
+ (WebCore::HitTestResult::addNodeToRectBasedTestResult):
+ * rendering/HitTestResult.h:
+ (HitTestLocation):
+ (HitTestResult):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::nodeAtPoint):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::nodeAtPoint):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::nodeAtPoint):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::nodeAtPoint):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::hitTestList):
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::nodeAtPoint):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::nodeAtPoint):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::nodeAtPoint):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::nodeAtPoint):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::nodeAtPoint):
+
+2012-09-03 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Unhide hidden characters
+ https://bugs.webkit.org/show_bug.cgi?id=93888
+
+ Reviewed by Pavel Feldman.
+
+ Certain invisible characters will be rendered as HTML entity references in the DOM tree to make them visible to the user.
+
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeElement.prototype._startEditingTextNode):
+
+2012-09-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: rename JavaScriptContextManager to RuntimeModel for consistency.
+ https://bugs.webkit.org/show_bug.cgi?id=95677
+
+ Reviewed by Yury Semikhatsky.
+
+ - renamed the file and the usages
+ - renamed isolatedContextCreated to executionContextCreated for consistency.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/Inspector.json:
+ * inspector/PageRuntimeAgent.cpp:
+ (WebCore::PageRuntimeAgent::notifyContextCreated):
+ * inspector/compile-front-end.py:
+ * inspector/front-end/RuntimeModel.js: Renamed from Source/WebCore/inspector/front-end/JavaScriptContextManager.js.
+ (WebInspector.RuntimeModel):
+ (WebInspector.RuntimeModel.prototype._frameAdded):
+ (WebInspector.RuntimeModel.prototype._frameDetached):
+ (WebInspector.RuntimeModel.prototype._executionContextCreated):
+ (WebInspector.RuntimeDispatcher):
+ (WebInspector.RuntimeDispatcher.prototype.executionContextCreated):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-09-03 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: use linkifyResourceAsNode, not linkifyLocation when linkifying resources in Timeline
+ https://bugs.webkit.org/show_bug.cgi?id=95540
+
+ Reviewed by Pavel Feldman.
+
+ Linkify recource details using WebInspector.linkifyResourceAsNode(), so these bypass linkifier. Also
+ fix closure compiler warning.
+
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
+ (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation):
+
+2012-09-03 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Web Inspector: fixed front-end compilation warnings.
+ Not reviewed.
+
+ * inspector/front-end/FilteredItemSelectionDialog.js:
+ * inspector/front-end/HeapSnapshotView.js:
+
+2012-09-03 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: paint grid on top of box highlight.
+ https://bugs.webkit.org/show_bug.cgi?id=95676
+
+ Reviewed by Alexander Pavlov.
+
+ Otherwise, ruler numbers are not visible when selecting body.
+
+ * inspector/InspectorOverlayPage.html:
+
+2012-08-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: get rid of context execution id fallback.
+ https://bugs.webkit.org/show_bug.cgi?id=95567
+
+ Reviewed by Yury Semikhatsky.
+
+ We now assign execution context id upon changes in the UI.
+
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype.get statusBarItems):
+ (WebInspector.ConsoleView.prototype._contextAdded):
+ (WebInspector.ConsoleView.prototype._addContextList):
+ (WebInspector.ConsoleView.prototype._contextListRemoved):
+ (WebInspector.ConsoleView.prototype._updateExecutionContextSelector):
+ (WebInspector.ConsoleView.prototype._appendExecutionContextOption):
+ (WebInspector.ConsoleView.prototype._executionContextChanged):
+ (WebInspector.ConsoleView.prototype._contextListUpdated):
+ (WebInspector.ConsoleView.prototype._addedExecutionContext):
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow.evalCallback):
+ (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
+ (WebInspector.ConsoleView.prototype._enterKeyPressed):
+ * inspector/front-end/JavaScriptContextManager.js:
+ (WebInspector.JavaScriptContextManager):
+ (WebInspector.JavaScriptContextManager.prototype.contextLists):
+ (WebInspector.JavaScriptContextManager.prototype.contextByFrameAndSecurityOrigin):
+ (WebInspector.JavaScriptContextManager.prototype._frameAdded):
+ (WebInspector.JavaScriptContextManager.prototype._frameNavigated):
+ (WebInspector.JavaScriptContextManager.prototype._frameDetached):
+ (WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated):
+ (WebInspector.FrameExecutionContextList):
+ (WebInspector.FrameExecutionContextList.prototype._frameNavigated):
+ (WebInspector.FrameExecutionContextList.prototype._addExecutionContext):
+ (WebInspector.FrameExecutionContextList.prototype.executionContexts):
+ (WebInspector.FrameExecutionContextList.prototype.contextBySecurityOrigin):
+
+2012-09-03 Grzegorz Czajkowski <g.czajkowski@samsung.com>
+
+ [GTK][EFL] 'dictIter' iterator is not initialized for an inner loop
+ https://bugs.webkit.org/show_bug.cgi?id=95436
+
+ Reviewed by Gustavo Noronha Silva.
+
+ The 'checkSpellingOfString' method assumes that the given string is concatenation of words.
+ To properly handle spellchecking of each word we need to iterate over the all available
+ dictionaries ('dictIter').
+
+ To allow spellchecking for multiple words, 'dictIter' should be initialized at the beginning
+ of vector while spellchecking of the word. This ensures performing of spelling for word based on
+ at least one dictionary.
+
+ * platform/text/enchant/TextCheckerEnchant.cpp:
+ (TextCheckerEnchant::checkSpellingOfString): Moved initialization of 'dictIter' to an inner loop.
+
+2012-09-02 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Empty visible value of AM/PM field of multiple fields time input UI should display variable number of "-" based on maximum number of labels
+ https://bugs.webkit.org/show_bug.cgi?id=95660
+
+ Reviewed by Kent Tamura.
+
+ This patch changes visible empty value of AM/PM field in multiple
+ fields time input UI to "-", "--", "---", and so on based on maximum
+ length of AM/PM labels. In current implementation, it is always "--"
+ regardless locale, although on Arabic, AM/PM are represented in one
+ character.
+
+ This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ No new tests. Once multiple field time input UI uses "lang" HTML
+ attribute to take time format, we can write a test for this patch.
+
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (makeVisibleEmptyValue): Build visible empty value from maximum length
+ of labels.
+ (WebCore::DateTimeSymbolicFieldElement::visibleEmptyValue): Changed to
+ use m_visibleEmptyValue.
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (WebCore::DateTimeSymbolicFieldElement): Added new member variable
+ m_visibleEmptyValue to hold visible empty value.
+
+2012-09-02 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] AM/PM field of multiple fields time input UI should be fixed width
+ https://bugs.webkit.org/show_bug.cgi?id=95542
+
+ Reviewed by Kent Tamura.
+
+ This patch changes width of AM/PM field of multiple field time input
+ UI fixed as maximum width of labels or "--".
+
+ This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ No new tests. Once multiple field time input UI uses "lang" HTML
+ attribute to take time format, we can write a test for this patch.
+
+ * css/html.css:
+ (input::-webkit-datetime-edit-ampm-field): Added "display" property to "inline-block" for setting width.
+ Added "text-align" property to "center".
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement): Changed to call setHasCustomCallback().
+ (WebCore::DateTimeSymbolicFieldElement::customStyleForRenderer): Added for setting field with from maximum width of labels.
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (WebCore::DateTimeSymbolicFieldElement::visibleEmptyValue): Added for using visible empty value in customStyleForRenderer() and visibleValue().
+ (WebCore::DateTimeSymbolicFieldElement::visibleValue): Changed to call visibleEmptyValue() instead of using literal "--".
+ (DateTimeSymbolicFieldElement): Added a declaration of customStyleForRenderer().
+
+2012-09-02 Benjamin Poulain <bpoulain@apple.com>
+
+ Improve the way we use convertedSpaceString() in convertHTMLTextToInterchangeFormat()
+ https://bugs.webkit.org/show_bug.cgi?id=95301
+
+ Reviewed by Darin Adler.
+
+ The static string convertedSpaceString() had a couple of annoying side effects:
+ -The string was 16bits due to noBreakSpace, which forced any input to be converted to 16bits.
+ -The string was kept in the heap for no particular reason.
+
+ This patch redefines convertedSpaceString as a constant literal so that we can use it efficiently.
+
+ The patch also make the binary a tiny bit smaller (700 bytes).
+
+ * editing/HTMLInterchange.cpp:
+ (WebCore::convertHTMLTextToInterchangeFormat):
+
+2012-09-02 Mike West <mkwst@chromium.org>
+
+ Build is broken when SVG is disabled.
+ https://bugs.webkit.org/show_bug.cgi?id=95653
+
+ Reviewed by Dirk Schulze.
+
+ Adding CSSPropertyWebkitClipPath to the massive switch statement in StyleResolver.
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+
+2012-08-31 Antti Koivisto <antti@apple.com>
+
+ Repaints should not be deferred after initial page load is complete
+ https://bugs.webkit.org/show_bug.cgi?id=95480
+
+ Reviewed by Simon Fraser
+
+ Any dynamically triggered resource loading currently sends us back to deferred paint mode, making animation choppy.
+ This is not the intention of this code.
+
+ This patch adds an additional condition that prevents page from re-entering deferred repaint mode after the initial
+ load has completed. It also cleans up the code slightly.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::checkCompleted):
+
+ Add additional call to checkStopDelayingDeferredRepaints() after a frame load completes as the
+ new condition in shouldUseLoadTimeDeferredRepaintDelay() looks for this change too.
+
+ * page/FrameView.cpp:
+ (WebCore):
+
+ Reduced the normal delay from 25ms to 16ms to not interfere with full framerate animation.
+
+ (WebCore::FrameView::syncCompositingStateForThisFrame):
+ (WebCore::FrameView::checkFlushDeferredRepaintsAfterLoadComplete):
+
+ Ensure the repaint delay is reset after load completes even if we don't currently need a repaint.
+
+ (WebCore::FrameView::flushDeferredRepaints):
+
+ We had to identical functions, flushDeferredRepaints() and stopDelayingDeferredRepaints(). Remove
+ the latter.
+
+ (WebCore::FrameView::shouldUseLoadTimeDeferredRepaintDelay):
+
+ Factor the test for using load time repaint timings to a functions. The test for
+ initial page load having completed is new.
+
+ (WebCore::FrameView::updateDeferredRepaintDelay):
+ (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
+ (WebCore::FrameView::setRepaintThrottlingDeferredRepaintDelay):
+ * page/FrameView.h:
+ (FrameView):
+
+2012-09-02 Filip Pizlo <fpizlo@apple.com>
+
+ Don't create access error strings if there is no access error
+ https://bugs.webkit.org/show_bug.cgi?id=95652
+
+ Reviewed by Adam Barth.
+
+ This undoes the 50% performance regression in pdfjs caused by
+ http://trac.webkit.org/changeset/126165
+
+ No new tests because behavior is unchanged.
+
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::shouldAllowAccessToFrame):
+ (WebCore::shouldAllowAccessToDOMWindow):
+
+2012-08-31 Dirk Schulze <krit@webkit.org>
+
+ Use -webkit-clip-path shapes to clip SVG elements
+ https://bugs.webkit.org/show_bug.cgi?id=95620
+
+ Reviewed by Rob Buis.
+
+ This patch adds a path segment for a BasicShape to a given Path object. This
+ path and it's wind rule are used to clip the context of the SVG element.
+
+ Tests: svg/clip-path/clip-path-shape-circle-1-expected.svg
+ svg/clip-path/clip-path-shape-circle-1.svg
+ svg/clip-path/clip-path-shape-circle-2-expected.svg
+ svg/clip-path/clip-path-shape-circle-2.svg
+ svg/clip-path/clip-path-shape-ellipse-1-expected.svg
+ svg/clip-path/clip-path-shape-ellipse-1.svg
+ svg/clip-path/clip-path-shape-ellipse-2-expected.svg
+ svg/clip-path/clip-path-shape-ellipse-2.svg
+ svg/clip-path/clip-path-shape-polygon-1-expected.svg
+ svg/clip-path/clip-path-shape-polygon-1.svg
+ svg/clip-path/clip-path-shape-polygon-2-expected.svg
+ svg/clip-path/clip-path-shape-polygon-2.svg
+ svg/clip-path/clip-path-shape-polygon-3-expected.svg
+ svg/clip-path/clip-path-shape-polygon-3.svg
+ svg/clip-path/clip-path-shape-rounded-rect-1-expected.svg
+ svg/clip-path/clip-path-shape-rounded-rect-1.svg
+ svg/clip-path/clip-path-shape-rounded-rect-2-expected.svg
+ svg/clip-path/clip-path-shape-rounded-rect-2.svg
+
+ * rendering/style/BasicShapes.cpp: Added helper functions that apply path segments to a given path.
+ (WebCore::BasicShapeRectangle::path):
+ (WebCore::BasicShapeCircle::path):
+ (WebCore::BasicShapeEllipse::path):
+ (WebCore::BasicShapePolygon::path):
+ * rendering/style/BasicShapes.h: Make BasicShape virtualized again, since new virtual functions were added.
+ (WebCore::BasicShape::~BasicShape):
+ (BasicShape):
+ (WebCore::BasicShape::windRule): Will return the wind rule of the shape - nonzero by default.
+ (WebCore::BasicShape::BasicShape):
+ (BasicShapeRectangle):
+ (WebCore::BasicShapeRectangle::type): Removed member variable and return type per inheriting class directly.
+ (WebCore::BasicShapeRectangle::BasicShapeRectangle):
+ (BasicShapeCircle):
+ (WebCore::BasicShapeCircle::type): Ditto.
+ (WebCore::BasicShapeCircle::BasicShapeCircle):
+ (BasicShapeEllipse):
+ (WebCore::BasicShapeEllipse::type): Ditto.
+ (WebCore::BasicShapeEllipse::BasicShapeEllipse):
+ (BasicShapePolygon):
+ (WebCore::BasicShapePolygon::windRule):
+ (WebCore::BasicShapePolygon::type): Ditto.
+ (WebCore::BasicShapePolygon::BasicShapePolygon):
+ * rendering/svg/SVGRenderingContext.cpp: If -webkit-clip-path was defined, clip the context to the shape.
+ Right now -webkit-clip-path overrides clip-path, so that people don't use both at the same time. Current
+ clip-path property will be replaced, once -webkit-clip-path gets unprefixed.
+ (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
+
+2012-09-01 Ned Holbrook <nholbrook@apple.com>
+
+ Regression(r126763): Heap-use-after-free in WebCore::nextBreakablePosition
+ https://bugs.webkit.org/show_bug.cgi?id=95229
+
+ Reviewed by Dan Bernstein.
+
+ TextLayout and LazyLineBreakIterator cache a RenderText's string during line breaking but RenderCounter
+ and RenderQuote can replace that string during preferred width calculation. This patch adds a non-virtual member
+ function to RenderText named updateTextIfNeeded() that triggers immediate string replacement by calling
+ the new virtual updateText() if necessary, which in turn calls computePreferredLogicalWidths(). In this way
+ RenderBlock::LineBreaker::nextLineBreak() can ensure a RenderText's string is current before caching it.
+
+ Test: fast/css/content/content-quotes-crash.html
+
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::dirtyLineBoxesForRenderer): Drive-by: replace existing code with the equivalent updateTextIfNeeded().
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak): Use updateTextIfNeeded() prior to caching RenderText string.
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::updateText): Call computePreferredLogicalWidths().
+ (WebCore):
+ * rendering/RenderCounter.h:
+ (RenderCounter):
+ * rendering/RenderQuote.cpp:
+ (WebCore::RenderQuote::updateText): Call computePreferredLogicalWidths().
+ (WebCore):
+ * rendering/RenderQuote.h:
+ (RenderQuote):
+ * rendering/RenderText.h:
+ (WebCore::RenderText::updateTextIfNeeded): Only call virtual updateText() if necessary.
+ (RenderText):
+ (WebCore::RenderText::updateText): Add no-op default implementation for new virtual member function.
+
+2012-09-01 Li Yin <li.yin@intel.com>
+
+ fast/events/message-port-clone.html hits ASSERT in Debug (usually in later tests)
+ https://bugs.webkit.org/show_bug.cgi?id=85811
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ When MessagePort invoked close function, the close status is needed to set,
+ regardless of whether the port is cloned or not.
+
+ Tests: fast/events/message-port-clone.html
+ fast/events/message-port-close.html
+
+ * dom/MessagePort.cpp:
+ (WebCore::MessagePort::close): Must set m_closed to be true.
+
+2012-09-01 Andreas Kling <kling@webkit.org>
+
+ Share inline style between cloned Nodes (copy on write.)
+ <http://webkit.org/b/95451>
+
+ Reviewed by Antti Koivisto.
+
+ When cloning a Node, use an immutable StylePropertySet for the new Node's inline style.
+ If the old Node already had an immutable inline style, we now reuse that, avoiding a copy.
+ Copying is deferred until mutation (either via CSSOM or setting of the style attribute.)
+
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::cloneDataFrom):
+ * css/StylePropertySet.h:
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::immutableCopyIfNeeded):
+
+ Added. Simply returns 'this' if the object is already immutable, otherwise creates a new one.
+
+2012-09-01 Dirk Schulze <krit@webkit.org>
+
+ [Qt] Fix the --minimal build after r127327
+ https://bugs.webkit.org/show_bug.cgi?id=95639
+
+ Unreviewed attempt to fix Qt minimal build.
+
+ * css/StyleBuilder.cpp:
+
+2012-09-01 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] No accessible caret-moved events found in certain content
+ https://bugs.webkit.org/show_bug.cgi?id=72811
+
+ Part of the bug was due to expected accessible objects of DivRole
+ and ParagraphRole being ignored, in favor of including child blocks.
+
+ Reviewed by Chris Fleizach.
+
+ Test: platform/gtk/accessibility/spans-paragraphs-and-divs.html
+
+ * accessibility/AccessibilityObject.cpp:
+ (WebCore::AccessibilityObject::firstAnonymousBlockChild):
+ (WebCore):
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ New method to return the first child which is an anonymous block.
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
+ Include paragraphs and divs which contain a non-nested anonymous block.
+
+2012-09-01 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] No accessible caret-moved events found in certain content
+ https://bugs.webkit.org/show_bug.cgi?id=72811
+
+ Part of the bug was due to extraneous accessible objects resulting
+ from unignored inline and block spans.
+
+ Reviewed by Chris Fleizach.
+
+ Test: platform/gtk/accessibility/spans.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Ignore objects that have spanTag tag name.
+ * accessibility/gtk/AccessibilityObjectAtk.cpp:
+ (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): Ignore most anonymous blocks.
+ * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
+ (roleIsTextType): Add ListItem to the roles which should implement AtkText.
+
+2012-09-01 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] Incorrect/unexpected characters in the text of certain accessibles
+ https://bugs.webkit.org/show_bug.cgi?id=95180
+
+ Reviewed by Chris Fleizach.
+
+ The bug was caused by failing to properly handle anonymous block text
+ which had object replacement characters (multibyte) in it. Calculating
+ the string length based on the UTF-8 string meant that we were returning
+ more characters than were there and in danger of splitting a multibyte
+ character.
+
+ Tests: platform/gtk/accessibility/entry-and-password.html
+ platform/gtk/accessibility/replaced-objects-in-anonymous-blocks.html
+
+ * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
+ (webkitAccessibleTextGetText): Convert the text returned by textForObject()
+ to Unicode before calculating its length.
+
+2012-09-01 Adam Barth <abarth@webkit.org>
+
+ Remove all-but-one use of WTF::String::operator+= from WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=95508
+
+ Reviewed by Benjamin Poulain.
+
+ This patch removes all the uses of WTF::String::operator+= from
+ WebCore, except those in WorkerScriptLoader (which need a more delicate
+ patch). There were actually a handful of legitimate use cases for += in
+ this group. I've replaced them with calls to String::append rather than
+ += so that we can remove += and encourage most contributors to use
+ more efficient string idioms.
+
+ (There are likely some more uses in WebCore hiding in port-specific
+ code---this patch covers only those call sites found when compiling the
+ chromium-mac port.)
+
+ * inspector/InspectorStyleTextEditor.cpp:
+ (WebCore::InspectorStyleTextEditor::insertProperty):
+ - This complicated function looks really inefficient, but I didn't
+ have the heart to rewrite it.
+ * inspector/NetworkResourcesData.cpp:
+ (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
+ * loader/cache/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::sheetText):
+ (WebCore::CachedCSSStyleSheet::data):
+ * loader/cache/CachedFont.cpp:
+ (WebCore::CachedFont::ensureSVGFontData):
+ * loader/cache/CachedScript.cpp:
+ (WebCore::CachedScript::script):
+ * loader/cache/CachedXSLStyleSheet.cpp:
+ (WebCore::CachedXSLStyleSheet::data):
+ - This decoder/flush pattern can probably be improved by combining
+ the decode and flush operations, but I didn't do that in this
+ patch.
+ * page/FrameTree.cpp:
+ (WebCore::FrameTree::uniqueChildName):
+ - I found this code very amusing. It's worried enough about
+ efficiency to give a big speech about why snprintf is safe, but
+ then it implicitly performs a large number of mallocs and memcpy
+ operations.
+ * page/Page.cpp:
+ (WebCore::Page::userStyleSheet):
+ * platform/chromium/support/WebHTTPLoadInfo.cpp:
+ (WebKit::addHeader):
+ * platform/chromium/support/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::addHTTPHeaderField):
+ - This header-appending idiom looks like a reasonable use case for
+ String::append.
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::send):
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::FunTranslate::evaluate):
+ - Fixes 6 year old FIXME.
+ * xml/parser/XMLDocumentParser.cpp:
+ (WebCore::XMLDocumentParser::append):
+ * xml/parser/XMLDocumentParser.h:
+ (XMLDocumentParser):
+ * xml/parser/XMLDocumentParserLibxml2.cpp:
+ (WebCore::XMLDocumentParser::doEnd):
+ * xml/parser/XMLDocumentParserQt.cpp:
+ (WebCore::XMLDocumentParser::doEnd):
+ - Changed m_originalSourceForTransform to a SegmentedString so that
+ we don't need to malloc and copy the entire document every time
+ we get more data from the network.
+
+2012-09-01 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add MediaStream management to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95543
+
+ Reviewed by Adam Barth.
+
+ This includes addStream/removeStream to RTCPeerConnection,
+ as well as didAddRemoteStream/didRemoveRemoteStream to RTCPeerConnectionHandlerClient.
+
+ Test: fast/mediastream/RTCPeerConnection-AddRemoveStream.html
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::parseConfiguration):
+ (WebCore::RTCPeerConnection::RTCPeerConnection):
+ (WebCore::RTCPeerConnection::addStream):
+ (WebCore):
+ (WebCore::RTCPeerConnection::removeStream):
+ (WebCore::RTCPeerConnection::localStreams):
+ (WebCore::RTCPeerConnection::remoteStreams):
+ (WebCore::RTCPeerConnection::didAddRemoteStream):
+ (WebCore::RTCPeerConnection::didRemoveRemoteStream):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * bindings/js/Dictionary.cpp:
+ (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
+ (WebCore::Dictionary::getOwnPropertyNames):
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
+ (WebCore::Dictionary::getOwnPropertyNames):
+ * bindings/v8/Dictionary.h:
+ (Dictionary):
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::addStream):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerDummy::removeStream):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/RTCPeerConnectionHandlerClient.h:
+ (WebCore):
+ (RTCPeerConnectionHandlerClient):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::addStream):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerChromium::removeStream):
+ (WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteStream):
+ (WebCore::RTCPeerConnectionHandlerChromium::didRemoveRemoteStream):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (WebKit):
+ (RTCPeerConnectionHandlerChromium):
+
+2012-09-01 Kent Tamura <tkent@chromium.org>
+
+ Touch a file so that Chromium-win bots correctly re-build for OPENTYPE_VERTICAL
+ https://bugs.webkit.org/show_bug.cgi?id=51450
+
+ * platform/graphics/opentype/OpenTypeVerticalData.cpp:
+
+2012-08-31 Kent Tamura <tkent@chromium.org>
+
+ Touch some files so that Chromium-win bots correctly re-build
+ files for OPENTYPE_VERTICAL.
+ https://bugs.webkit.org/show_bug.cgi?id=51450
+
+ * platform/graphics/FontCache.h:
+ * platform/graphics/SimpleFontData.h:
+ * platform/graphics/opentype/OpenTypeTypes.h:
+
+2012-08-31 Chris Hutten-Czapski <chutten@rim.com>
+
+ -webkit-flex: 0 in inspector.css is confusing
+ https://bugs.webkit.org/show_bug.cgi?id=95568
+
+ Reviewed by Tony Chang.
+
+ The initial value of -webkit-flex results in the same layout as
+ -webkit-flex: 0; but does not depend on the new initial value of auto
+ for min-width.
+
+ This increases the support for the new Web Inspector style to renderers
+ built before rev 122264 but after 117385.
+
+ No new tests (has no effect except to out-of-date renderers)
+
+ * inspector/front-end/inspector.css:
+ (.status-bar-item):
+
+2012-08-31 Filip Pizlo <fpizlo@apple.com>
+
+ JSArray::putDirectIndex should by default behave like JSObject::putDirect
+ https://bugs.webkit.org/show_bug.cgi?id=95630
+
+ Reviewed by Gavin Barraclough.
+
+ No new tests because no change in behavior.
+
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneDeserializer::putProperty):
+
+2012-08-31 Nate Chapin <japhet@chromium.org>
+
+ fast/loader/document-destruction-within-unload.html causes assertion failures on mac and qt.
+ https://bugs.webkit.org/show_bug.cgi?id=66783
+
+ Reviewed by Darin Adler.
+
+ This was a not-quite-regression from trac.webkit.org/changeset/93521, in that we hit asserts
+ in a case where we previously were use-after-freeing. Tweak how we handle cases where a Document
+ is cleared from within an unload handler.
+
+ No new tests, fixing fast/loader/document-destruction-within-unload.html on mac and qt.
+
+ * loader/FrameLoader.cpp:
+ (WebCore::FrameLoader::setDocumentLoader): Instead of trying to reattach a partially removed
+ DocumentLoader if it is detached before being fully added, leave the old one in place, completed.
+ (WebCore::FrameLoader::transitionToCommitted):
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Make computeBlockDirectionMargins const
+ https://bugs.webkit.org/show_bug.cgi?id=95595
+
+ Reviewed by Ojan Vafai.
+
+ This is a step in making computeLogicalHeight const.
+ Refactor RenderBox::computeBlockDirectionMargins and make it const.
+ Add a helper method computeAndSetBlockDirectionMargins for the callers outside of
+ computeLogicalHeight that are calling this.
+
+ No new tests, this is already covered by tests in fast/writing-mode and fast/multicol.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::marginBeforeEstimateForChild): Switch to computeAndSetBlockDirectionMargins
+ (WebCore::RenderBlock::layoutBlockChild): Switch to computeAndSetBlockDirectionMargins
+ (WebCore::RenderBlock::insertFloatingObject): Switch to computeAndSetBlockDirectionMargins
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalHeight): Use const version and fill in a MarginValues struct (to be merged in the next patch).
+ (WebCore::RenderBox::computeBlockDirectionMargins): Pass in out params.
+ (WebCore):
+ (WebCore::RenderBox::computeAndSetBlockDirectionMargins): Does the same as the old computeBlockDirectionMargins.
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderDeprecatedFlexibleBox.cpp:
+ (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): Switch to computeAndSetBlockDirectionMargins
+ (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Switch to computeAndSetBlockDirectionMargins
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::layout): Switch to computeAndSetBlockDirectionMargins
+
+2012-08-30 Dirk Schulze <krit@webkit.org>
+
+ Introduce new CSS property for clip-path
+ https://bugs.webkit.org/show_bug.cgi?id=95474
+
+ Reviewed by Tim Horton.
+
+ This path introduces the new, prefixed CSS property 'clip-path' from the
+ CSS Masking specification. In a first step the property just accepts
+ 'none' and the the basic shapes from CSS Exclusion. Later it will also be
+ possible to reference SVG 'clipPath' elements - like Firefox already does.
+ To enable the parsing of the shapes, the exclusion compiler flags
+ around the shape parser were removed.
+
+ http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html
+
+ Test: fast/masking/parsing-clip-path-shape.html
+
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Return CSSValue for CSSPropertyWebkitClipPath.
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue): Add CSSPropertyWebkitClipPath.
+ (WebCore::CSSParser::parseBasicShape): Modify parser function to accept CSSPropertyWebkitClipPath as well.
+ * css/CSSParser.h:
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in: Added property name -webkit-clip-path.
+ * css/StyleBuilder.cpp:
+ (ApplyPropertyClipPath): New property applier just for -webkit-clip-path.
+ (WebCore::ApplyPropertyClipPath::setValue):
+ (WebCore::ApplyPropertyClipPath::applyValue):
+ (WebCore::ApplyPropertyClipPath::createHandler):
+ (WebCore::StyleBuilder::StyleBuilder):
+ * rendering/style/RenderStyle.cpp: Repaint if there is a difference between two BasicShapes.
+ (WebCore::RenderStyle::diff):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleRareNonInheritedData.cpp:
+ (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+ (WebCore::StyleRareNonInheritedData::operator==):
+ (WebCore::StyleRareNonInheritedData::reportMemoryUsage):
+ * rendering/style/StyleRareNonInheritedData.h: Add new member variable for clip shape.
+ (StyleRareNonInheritedData):
+
+2012-08-31 Joshua Netterfield <jnetterfield@rim.com>
+
+ [BlackBerry] Eliminate WebGL IT policy
+ https://bugs.webkit.org/show_bug.cgi?id=95604
+ Internal RIM PR #198764
+
+ Reviewed by Rob Buis.
+
+ This is no longer a requirement for the BlackBerry port.
+
+ No new tests, because this introduces no new functionality.
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::create):
+
+2012-08-31 Jon Lee <jonlee@apple.com>
+
+ ondisplay event handlers are not called
+ https://bugs.webkit.org/show_bug.cgi?id=95263
+ <rdar://problem/12193359>
+
+ Reviewed by Alexey Proskuryakov.
+
+ To support the legacy API, we conflate ondisplay and onshow.
+
+ * Modules/notifications/Notification.h:
+ (WebCore::Notification::ondisplay): Use display event as an alias for the show event.
+ (WebCore::Notification::setOndisplay):
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ No new tests, shouldn't change anything.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * GNUmakefile.features.am:
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore):
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::isValidKeywordPropertyAndValue): Expand check range to include flex and inline-flex.
+ (WebCore::isKeywordPropertyID):
+ (WebCore::CSSParser::parseValue):
+ * css/CSSPrimitiveValueMappings.h:
+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::isInheritedProperty):
+ * css/CSSPropertyNames.in:
+ * css/CSSValueKeywords.in:
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getPropertyValue):
+ (WebCore::StylePropertySet::asText):
+ * css/StylePropertyShorthand.cpp:
+ (WebCore::webkitFlexShorthand):
+ (WebCore::shorthandForProperty):
+ * css/StylePropertyShorthand.h:
+ (WebCore):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * page/animation/CSSPropertyAnimation.cpp:
+ (WebCore::CSSPropertyAnimation::ensurePropertyMap):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::createObject):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/RenderStyleConstants.h:
+
+2012-08-31 Christopher Cameron <ccameron@chromium.org>
+
+ [chromium] Add main versus impl thread asserts
+ https://bugs.webkit.org/show_bug.cgi?id=95596
+
+ Reviewed by James Robinson.
+
+ Add asserts to prioritized texture manager that specify that a
+ function be called on the main or impl thread.
+
+ Add debug signs that the main thread is blocked to the threaded
+ proxy.
+
+ Add a mechanism to simultaneously set the thread to the impl thread
+ and indicate that the main thread is blocked.
+
+ Update tests that hit asserts in the prioritized texture manager to
+ set their impl thread and main thread blocked state correctly.
+
+ * platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp:
+ (WebCore::CCPrioritizedTextureManager::prioritizeTextures):
+ (WebCore::CCPrioritizedTextureManager::clearPriorities):
+ (WebCore::CCPrioritizedTextureManager::requestLate):
+ (WebCore::CCPrioritizedTextureManager::acquireBackingTextureIfNeeded):
+ (WebCore::CCPrioritizedTextureManager::reduceMemory):
+ (WebCore::CCPrioritizedTextureManager::registerTexture):
+ (WebCore::CCPrioritizedTextureManager::unregisterTexture):
+ (WebCore::CCPrioritizedTextureManager::returnBackingTexture):
+ (WebCore::CCPrioritizedTextureManager::createBacking):
+ (WebCore::CCPrioritizedTextureManager::assertInvariants):
+ * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
+ (WebCore):
+ (DebugScopedSetImplThreadAndMainThreadBlocked):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::compositeAndReadback):
+ (WebCore::CCThreadProxy::finishAllRendering):
+ (WebCore::CCThreadProxy::setVisible):
+ (WebCore::CCThreadProxy::initializeRenderer):
+ (WebCore::CCThreadProxy::recreateContext):
+ (WebCore::CCThreadProxy::implSideRenderingStats):
+ (WebCore::CCThreadProxy::start):
+ (WebCore::CCThreadProxy::forceSerializeOnSwapBuffers):
+ (WebCore::CCThreadProxy::acquireLayerTextures):
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put compositor client interfaces in separate headers, normalize naming
+ https://bugs.webkit.org/show_bug.cgi?id=95522
+
+ Reviewed by Adam Barth.
+
+ Client interfaces should be in their own headers so code implementing these interfaces do not have to
+ transitively #include all of the compositor internals.
+
+ We call things 'clients' not 'delegates' in the compositor.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/ContentLayerChromium.cpp:
+ (WebCore::ContentLayerPainter::ContentLayerPainter):
+ (WebCore::ContentLayerPainter::create):
+ (WebCore::ContentLayerPainter::paint):
+ (WebCore::ContentLayerChromium::create):
+ (WebCore::ContentLayerChromium::ContentLayerChromium):
+ (WebCore::ContentLayerChromium::drawsContent):
+ (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
+ * platform/graphics/chromium/ContentLayerChromium.h:
+ (WebCore):
+ (ContentLayerPainter):
+ (ContentLayerChromium):
+ (WebCore::ContentLayerChromium::clearClient):
+ * platform/graphics/chromium/TextureLayerChromium.cpp:
+ * platform/graphics/chromium/TextureLayerChromium.h:
+ (WebCore):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore):
+
+2012-08-31 Benjamin Poulain <bpoulain@apple.com>
+
+ Fix the Debug builds after r127277
+
+ Unreviewed.
+
+ One assertion was not updated in r127277. The encapsulation of CSSParserString's length
+ has changed and now use an accessor.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::storeVariableDeclaration):
+
+2012-08-31 Simon Fraser <simon.fraser@apple.com>
+
+ (Regression: r126774): Fix crash when scrolling after removing inline sticky element
+ https://bugs.webkit.org/show_bug.cgi?id=95584
+
+ Reviewed by Dave Hyatt.
+
+ Move fixed/sticky registration and unregistration with the FrameView from
+ RenderBox and RenderInline into RenderBoxModelObject, which also
+ fixes the issue that inlines didn't unregister themselves on destruction.
+
+ Test: fast/css/sticky/remove-inline-sticky-crash.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::willBeDestroyed): Code moved to RenderBoxModelObject. No need
+ to null-check style.
+ (WebCore::RenderBox::styleWillChange): Code moved to RenderBoxModelObject.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::willBeDestroyed): Remove fixed objects. Check
+ isPositioned() to avoid this work for most non-positioned renderers.
+ (WebCore::RenderBoxModelObject::styleWillChange): Register and unregister fixed
+ and sticky objects with the FrameView.
+ * rendering/RenderInline.cpp: styleWillChange() is no longer needed.
+ * rendering/RenderInline.h: Ditto.
+
+2012-08-31 Nikhil Bhargava <nbhargava@google.com>
+
+ Remove extraneous includes (Node.h, Document.h, Element.h, RenderObject.h)
+ https://bugs.webkit.org/show_bug.cgi?id=95259
+
+ Reviewed by Sam Weinig.
+
+ Node.h, Document.h, Element.h, and RenderObject.h are four of the most
+ expensive headers to include. This patch removes them from many of the
+ places they are not needed. There is a minor compile-time performance
+ boost.
+
+ * dom/ElementShadow.h:
+ * dom/Range.h:
+ (WebCore):
+ * dom/TreeScopeAdopter.h:
+ (WebCore):
+ * editing/VisiblePosition.h:
+ (WebCore):
+ * html/HTMLCollection.h:
+ (WebCore):
+ * html/parser/HTMLElementStack.h:
+ * html/parser/HTMLTreeBuilder.h:
+ (WebCore):
+ * html/track/WebVTTParser.h:
+ (WebCore):
+ * inspector/InspectorCSSAgent.h:
+ (WebCore):
+ * inspector/InspectorInstrumentation.h:
+ (WebCore):
+ * inspector/InspectorOverlay.h:
+ * loader/ImageLoader.h:
+ * loader/TextTrackLoader.h:
+ (WebCore):
+ * platform/chromium/PopupListBox.cpp:
+ * platform/chromium/PopupListBox.h:
+ (WebCore):
+ * platform/graphics/MediaPlayer.h:
+ (WebCore):
+ * rendering/FilterEffectRenderer.h:
+ * rendering/InlineFlowBox.cpp:
+ * rendering/RenderCounter.cpp:
+ * rendering/RenderGeometryMap.h:
+ (WebCore):
+ * rendering/RenderInputSpeech.h:
+ (WebCore):
+ * rendering/RenderMediaControls.h:
+ (WebCore):
+ * rendering/RenderMediaControlsChromium.h:
+ (WebCore):
+ * rendering/RenderQuote.cpp:
+ * rendering/RenderQuote.h:
+ (WebCore):
+ * rendering/RenderScrollbar.h:
+ (WebCore):
+ * rendering/RenderText.h:
+ (WebCore):
+ * rendering/RenderTheme.h:
+ (WebCore):
+ * rendering/RenderThemeChromiumSkia.h:
+ (WebCore):
+ * rendering/svg/RenderSVGResourceMarker.h:
+ (WebCore):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore):
+ * xml/NativeXPathNSResolver.h:
+ (WebCore):
+ (NativeXPathNSResolver):
+ (WebCore::NativeXPathNSResolver::create):
+ * xml/XPathStep.h:
+ (WebCore):
+ (XPath):
+ (Step):
+ (NodeTest):
+ (WebCore::XPath::Step::NodeTest::NodeTest):
+ (WebCore::XPath::Step::NodeTest::kind):
+ (WebCore::XPath::Step::NodeTest::data):
+ (WebCore::XPath::Step::NodeTest::namespaceURI):
+ (WebCore::XPath::Step::NodeTest::mergedPredicates):
+ (WebCore::XPath::Step::axis):
+ (WebCore::XPath::Step::nodeTest):
+ * xml/parser/NewXMLDocumentParser.cpp:
+ * xml/parser/NewXMLDocumentParser.h:
+ (WebCore):
+ * xml/parser/XMLToken.h:
+ * xml/parser/XMLTreeBuilder.cpp:
+ * xml/parser/XMLTreeBuilder.h:
+ (WebCore):
+
+2012-08-31 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Implement column repainting.
+ https://bugs.webkit.org/show_bug.cgi?id=95593
+
+ Reviewed by Dan Bernstein.
+
+ Make the new columns repaint properly. Note this code is a significant improvement over the
+ old multicolumn code in that repaints are properly issued per-column, i.e., no more fuzzy
+ uniting of rects.
+
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::columnIndexAtOffset):
+ (WebCore):
+ (WebCore::RenderMultiColumnSet::repaintFlowThreadContent):
+ * rendering/RenderMultiColumnSet.h:
+
+2012-08-31 Alok Priyadarshi <alokp@chromium.org>
+
+ [chromium] Layout tests svg-filters.html and alpha.html are crashing intermittently
+ https://bugs.webkit.org/show_bug.cgi?id=92660
+
+ Reviewed by James Robinson.
+
+ We use two GL contexts to create and upload tile textures.
+ One context creates the texture, while another uploads it.
+ Even though the texture is shared by the two contexts, it is not
+ available to the uploading context immediately after creation,
+ unless the creating context is flushed.
+
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::createAcceleratedCanvas):
+ (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
+
+2012-08-31 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Refactor flow thread repainting.
+ https://bugs.webkit.org/show_bug.cgi?id=95586
+
+ Reviewed by Simon Fraser.
+
+ Refactor flow thread repainting in regions to delegate the work to the region. This allows subclasses
+ to customize how the repainting happens so that individual repaints can be issued for columns and pages
+ inside sets.
+
+ repaintFlowThreadContent is the new virtual function that can be subclassed by sets to customize
+ the repaint process.
+
+ repaintFlowThreadContentRectangle is a parameterized helper that will be called for each individual
+ column and page in a set.
+
+ * WebCore.exp.in:
+ Change repaintRectangle's signature to be const.
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::repaintRectangleInRegions):
+ Now delegates the work for each region to RenderRegion::repaintFlowThreadContent.
+
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::repaintUsingContainer):
+ (WebCore::RenderObject::repaint):
+ (WebCore::RenderObject::repaintRectangle):
+ (WebCore::RenderObject::isRooted):
+ * rendering/RenderObject.h:
+ Change a bunch of functions to be const.
+
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::repaintFlowThreadContent):
+ (WebCore):
+ (WebCore::RenderRegion::repaintFlowThreadContentRectangle):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ Add the two new functions (the virtual repaintFlowThreadContent and the helper it
+ uses, repaintFlowThreadContentRectangle).
+
+2012-08-31 Yong Li <yoli@rim.com>
+
+ [BlackBerry] Disable GCController timer for PLATFORM(BLACKBERRY)
+ https://bugs.webkit.org/show_bug.cgi?id=93007
+
+ Reviewed by Rob Buis.
+
+ Disable GCController timer.
+
+ * bindings/js/GCController.cpp:
+ (WebCore::GCController::GCController):
+ (WebCore::GCController::garbageCollectSoon):
+ (WebCore):
+ * bindings/js/GCController.h:
+ (GCController):
+
+2012-08-31 Michael Saboff <msaboff@apple.com>
+
+ CSS Parser should directly parse 8 bit source strings
+ https://bugs.webkit.org/show_bug.cgi?id=95207
+
+ Reviewed by Geoffrey Garen.
+
+ Changed CSSParser to handle 8 bit strings directly. Templatized most private parsing methods
+ and helper methods by character type. Introduced several templatized helper methods for
+ parsing methods. Some of these helper methods have independent source and destination template
+ types to handle that an 8 bit source string when parsed produces a 16 bit result. This is due
+ to unicode escapes. Renamed the lex method "realLex" and made it a templated method. The lex
+ method that is called by cssyylex(), which is now inlined, invokes the correct instance of realLex
+ via a member function pointer.
+
+ Split out the encoding part of parseEscape() into a new templated UnicodeToChars() method.
+
+ Added 8/16 bit switching to CSSParserString as well as added initialization, setters and getters.
+ Note that CSSParserString must have a default constructor as it is part of the YYLVAL union.
+ Therefore created init() methods instead of constructors. Many of the parser function now directly
+ modify the instance in yylval. Made supporting changes in other webcore classes that are used
+ directly by CSSParser.
+
+ Test: fast/css/unicode-escape-in-8bit-string.html
+
+ * css/CSSGrammar.y: Removed cssyylex() and changed manipulation of CSSParserString objects to
+ use newly written methods instead of direct manipulation of attributes.
+
+ * css/CSSParser.cpp:
+ Templatized new or existing helper methods
+ (WebCore::makeLower):
+ (WebCore::isCSSLetter):
+ (WebCore::isCSSEscape):
+ (WebCore::isURILetter):
+ (WebCore::isIdentifierStartAfterDash):
+ (WebCore::isEqualToCSSIdentifier):
+ (WebCore::checkAndSkipEscape):
+ (WebCore::checkForValidDouble):
+ (WebCore::parseDouble):
+ (WebCore::parseColorIntOrPercentage):
+ (WebCore::isTenthAlpha):
+ (WebCore::parseAlphaValue):
+ (WebCore::mightBeRGBA):
+ (WebCore::mightBeRGB):
+ (WebCore::fastParseColorInternal):
+ (WebCore::CSSParser::fastParseColor):
+ (WebCore::CSSParser::parseImageSet):
+ (WebCore::skipWhiteSpace):
+ (WebCore::CSSParser::currentCharacter16):
+ (WebCore::CSSParser::isIdentifierStart):
+ (WebCore::CSSParser::checkAndSkipString):
+ (WebCore::CSSParser::parseUnicodeRange):
+ (WebCore::CSSParser::parseNthChild):
+ (WebCore::CSSParser::parseNthChildExtra):
+ (WebCore::CSSParser::detectFunctionTypeToken):
+ (WebCore::CSSParser::detectMediaQueryToken):
+ (WebCore::CSSParser::detectNumberToken):
+ (WebCore::CSSParser::detectDashToken):
+ (WebCore::CSSParser::detectAtToken):
+ (WebCore::CSSParser::setRuleHeaderEnd):
+ (WebCore::cssPropertyID):
+ (WebCore::isCSSTokenizerIdentifier):
+ (WebCore::isCSSTokenizerURL):
+
+ (WebCore::CSSParser::CSSParser): Updated constructor for initializing new attributes.
+
+ (WebCore::CSSParserString::lower): Calls new makeLower() template helper.
+
+ (WebCore::CSSParser::setupParser): Added 8 bit path and set up parser appropriate to
+ string type.
+
+ (WebCore::equal): Updated to use CSSParserString getters and StringImpl::equal
+ (WebCore::equalIgnoringCase): Updated to use CSSParserString getters and
+ StringImpl::equalIgnoringCase
+ (WebCore::parseColorValue): Updated to use new CSSParserString::init()
+ (WebCore::parseSimpleLength):
+ (WebCore::parseKeywordValue): Updated to use new CSSParserString::init()
+ (WebCore::parseTransformArguments):
+ (WebCore::CSSParser::parseSystemColor): Updated to use new CSSParserString::init()
+ (WebCore::CSSParser::storeVariableDeclaration): Create right character sized AtomicString.
+ (WebCore::FontFamilyValueBuilder::add):
+ (WebCore::TransformOperationInfo::TransformOperationInfo):
+ (WebCore::CSSParser::parseFontFeatureTag):
+
+ (WebCore::CSSParser::parseEscape): Now only parses an escape and returns the resulting
+ Unicode value as an unsigned.
+ (WebCore::CSSParser::UnicodeToChars): New method to write out unicode character(s)
+ based on character type.
+ (WebCore::CSSParser::parseIdentifierInternal): Templated helper.
+ (WebCore::CSSParser::parseIdentifier): Parses identifiers, possibly upconverting
+ the result when a unicode escape is found in an 8 bit source.
+ (WebCore::CSSParser::parseStringInternal): Templated helper.
+ (WebCore::CSSParser::parseString): Parses strings, possibly upconverting
+ the result when a unicode escape is found in an 8 bit source.
+ (WebCore::CSSParser::parseURIInternal): Templated helper.
+ (WebCore::CSSParser::parseURI): Templated and split logic out to parseURIInternal.
+ Reparses a parsed identifier to see if it is a URI. This method doesn't need to up
+ convert from 8 to 16 bits since that would have been done in parseIdentfier().
+ (WebCore::CSSParser::realLex): Lot of template related changes. Removed yylval->string
+ ASSERT checks at the end, since they are too naive to handle upconverted identifier,
+ string and URIs. They compared source pointers (m_tokenStart) with resulting strings.
+ (WebCore::fixUnparsedProperties):
+ (WebCore::CSSParser::fixUnparsedPropertyRanges): Added new template helper with same name.
+ (WebCore::CSSParser::markRuleHeaderStart):
+ (WebCore::CSSParser::markRuleHeaderEnd):
+ (WebCore::CSSParser::markRuleBodyStart):
+ (WebCore::CSSParser::markRuleBodyEnd):
+ (WebCore::CSSParser::markPropertyStart):
+ (WebCore::CSSParser::markPropertyEnd):
+ (WebCore::cssValueKeywordID):
+
+ * css/CSSParser.h:
+ (CSSParser):
+ (WebCore::CSSParser::lex): Made this inline helper that calls correct realLex().
+ (WebCore::CSSParser::is8BitSource):
+ (WebCore::CSSParser::tokenStartOffset): Templated method returning offset in source
+ of the current token start.
+ (WebCore::CSSParser::tokenStartChar): Templated access to m_tokenStart.
+ (WebCore::cssyylex): Made this inline to avoid call.
+ * css/CSSParserValues.h:
+ (WebCore::CSSParserString::init): Added three new initialization methods.
+
+ New setters, getters and helper methods.
+ (WebCore::CSSParserString::clear):
+ (WebCore::CSSParserString::is8Bit):
+ (WebCore::CSSParserString::characters8):
+ (WebCore::CSSParserString::characters16):
+ (WebCore::CSSParserString::length):
+ (WebCore::CSSParserString::setLength):
+ (WebCore::CSSParserString::operator[]):
+ (WebCore::CSSParserString::equalIgnoringCase):
+ (WebCore::CSSParserString::operator String):
+ (WebCore::CSSParserString::operator AtomicString):
+
+ Other methods templatized to support changes in CSSParser.
+ * platform/graphics/Color.cpp:
+ (WebCore::parseHexColorInternal):
+ (WebCore::Color::parseHexColor): New LChar flavor
+ (WebCore::Color::Color):
+ * platform/graphics/Color.h:
+ (Color):
+ * platform/text/TextEncoding.cpp:
+ (WebCore::TextEncoding::TextEncoding):
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::atomicCanonicalTextEncodingName):
+ * platform/text/TextEncodingRegistry.h:
+ * svg/SVGParserUtilities.cpp:
+ (WebCore::genericParseNumber):
+ (WebCore::parseSVGNumber):
+ * svg/SVGParserUtilities.h:
+ (WebCore::isSVGSpace):
+ (WebCore::skipOptionalSVGSpaces):
+ (WebCore::skipOptionalSVGSpacesOrDelimiter):
+
+2012-08-31 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Make RenderFlowThreads into selection roots.
+ https://bugs.webkit.org/show_bug.cgi?id=95580
+
+ Reviewed by Dan Bernstein.
+
+ Make RenderFlowThreads selection roots so that they paint their own selection gaps.
+ This fixes multicolumn selection rendering so that the gaps paint correctly and stop
+ at the edge of the flow thread instead of going out to the edges of enclosing blocks.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::isSelectionRoot):
+
+2012-08-31 Andrei Bucur <abucur@adobe.com>
+
+ [CSS Regions] It should be possible to specify ::BEFORE/AFTER as regions
+ https://bugs.webkit.org/show_bug.cgi?id=90079
+
+ Reviewed by David Hyatt.
+
+ The calls for RenderRegion::node() have been replaced with RenderRegion::generatingNode() to allow pseudo-elements to have RenderRegion renderers.
+ The compare function that establishes the region order was adapted to take into account pseudo-regions.
+ A renderer for the pseudo-element is now generated if it's a region even though there's no content property specified.
+
+ Test: fast/regions/content-flowed-into-pseudo-regions.html
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::computeOverflowStateForRegions):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::compareRenderRegions):
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::ensureBeforeAfterContainer):
+ (WebCore):
+ (WebCore::RenderObjectChildList::updateBeforeAfterContent):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::nodeAtPoint):
+ (WebCore::RenderRegion::checkRegionStyle):
+ (WebCore::RenderRegion::computeStyleInRegion):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::writeRenderNamedFlowThreads):
+
+2012-08-30 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Implement unforced breaking in the new column layout.
+ https://bugs.webkit.org/show_bug.cgi?id=95498
+
+ Reviewed by Dan Bernstein.
+
+ This patch implements unforced breaking for lines and objects inside columns. Forced breaks are
+ not yet handled properly and will be covered in a separate patch.
+
+ * rendering/LayoutState.cpp:
+ (WebCore::LayoutState::LayoutState):
+ Eliminate the flow thread constructor for LayoutState. Flow threads were doing a double push of
+ layout states, once in RenderFlowThread::layout() and then again in RenderBlock::layout(). This
+ double push was unnecessary, so I refactored the code to ensure the RenderBlock push does the
+ right thing for RenderFlowThreads.
+
+ (WebCore):
+ * rendering/LayoutState.h:
+ (LayoutState):
+ Eliminate the flow thread constructor for LayoutState.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::checkForPaginationLogicalHeightChange):
+ This function now handles RenderFlowThreads and properly sets a non-zero page height as well
+ as querying the flow thread to ask if the pagination logical height has changed. The flow thread
+ has a new member that it sets in layout() so that it can answer this question.
+
+ (WebCore::RenderBlock::hasNextPage):
+ Make sure RenderRegionSets always claim to have a next page when they are the last region, since
+ we know columns/pages can always generate additional boxes as needed.
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::RenderFlowThread):
+ Add the m_pageLogicalHeightChanged member variable for tracking whether regions changed dimensions,
+ thus forcing us to repaginate everything.
+
+ (WebCore::RenderFlowThread::layout):
+ Remove the redundant push of layout state now that RenderBlock's covers it.
+
+ (WebCore::RenderFlowThread::regionAtBlockOffset):
+ Always return the last region if it's a set, regardless of the extendLastRegion boolean.
+ This reflects the fact that the last region set can always generate new page/column boxes.
+
+ (WebCore::RenderFlowThread::pageLogicalTopForOffset):
+ Refactored to call into the region it finds for a given offset, so that the region itself
+ can answer the question of where the top of the page is. This enables sets to return the top of
+ specific columns/pages within the set.
+
+ (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
+ Changed to be written in terms of pageLogicalTop and pageLogicalHeight so that it correctly uses
+ only the current column/page when determining remaining height.
+
+ * rendering/RenderFlowThread.h:
+ Added pageLogicalHeightChanged() so that RenderBlock can ask the flow thread if its regions changed
+ dimensions.
+
+ * rendering/RenderMultiColumnBlock.cpp:
+ (WebCore::RenderMultiColumnBlock::checkForPaginationLogicalHeightChange):
+ Tweaked to no longer turn on pagination, since the RenderMultiColumnFlowThread does that and we
+ want to avoid a double push of paginated states. Instead it now just sets the column height ahead
+ of time so that the RenderMultiColumnSets know how big their columns are.
+
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::pageLogicalTopForOffset):
+ Subclassed to return the top of a specific column.
+
+ (WebCore):
+ * rendering/RenderMultiColumnSet.h:
+ Add the subclassed method for pageLogicalTopForOffset.
+
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::pageLogicalTopForOffset):
+ The code from RenderFlow::pageLogicalTopForOffset moved here. Just returns the top of the flow
+ thread portion rect in the region (same as before).
+
+ (WebCore::RenderRegion::layout):
+ Changed to check only the page logical width and height, since we only consider a region as
+ invalidating how you break if there is an actual page height change.
+
+ * rendering/RenderRegion.h:
+ (WebCore::RenderRegion::isRenderRegionSet):
+ Added an isRenderRegionSet() virtual function so that we can test for sets.
+
+ * rendering/RenderRegionSet.h:
+ (WebCore::RenderRegionSet::isRenderRegionSet):
+ Subclassed isRenderRegionSet() to return true.
+
+ * rendering/RenderView.cpp:
+ * rendering/RenderView.h:
+ (LayoutStateMaintainer):
+ (WebCore::LayoutStateMaintainer::push):
+ Remove the pushes of LayoutState that were specific to RenderFlowThreads.
+
+2012-08-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: Update $ to alias to querySelector rather than getElementById
+ https://bugs.webkit.org/show_bug.cgi?id=92648
+
+ Reviewed by Yury Semikhatsky.
+
+ Completed implementation started by Addy Osmani. Updates $ to alias to querySelector
+ with more flexible handling of selectors. Also adds a warning about the change (as per Firebug).
+
+ * inspector/InjectedScriptSource.js:
+ (.):
+
+2012-08-31 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: disable popover on click outside of popover anchor
+ https://bugs.webkit.org/show_bug.cgi?id=95564
+
+ Reviewed by Yury Semikhatsky.
+
+ Immediately hide popover when receiving a click outside of popover anchor.
+
+ * inspector/front-end/Popover.js:
+ (WebInspector.PopoverHelper.prototype._mouseDown):
+
+2012-08-31 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Add proper support for navigator.onLine and associated events
+ https://bugs.webkit.org/show_bug.cgi?id=95532
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add support for detecting online state in EFL port and
+ monitor state changes. The EFL port now has proper
+ support for navigator.onLine and associated events.
+
+ The implementation is based on Eeze library for
+ detecting network interfaces and their configuration.
+ Detection of online state changes relies on rtnetlink.
+
+ No new tests, no behavior change for layout tests.
+
+ * PlatformEfl.cmake: Link unconditionally against Eeze
+ library now.
+ * platform/network/NetworkStateNotifier.cpp:
+ (WebCore):
+ * platform/network/NetworkStateNotifier.h:
+ (NetworkStateNotifier):
+ (WebCore):
+ * platform/network/efl/NetworkStateNotifierEfl.cpp: Added.
+ (WebCore):
+ (WebCore::NetworkStateNotifier::updateState):
+ (WebCore::NetworkStateNotifier::networkInterfaceChanged):
+ (WebCore::readSocketCallback):
+ (WebCore::NetworkStateNotifier::~NetworkStateNotifier):
+ (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+
+2012-08-31 Milian Wolff <milian.wolff@kdab.com>
+
+ [Qt] QNX build fails due to missing OpenGL ES defines
+ https://bugs.webkit.org/show_bug.cgi?id=95554
+
+ Reviewed by Simon Hausmann.
+
+ Apply the fix of bug 91030 to all platforms running on QNX.
+
+ * platform/graphics/opengl/Extensions3DOpenGLES.h:
+
+2012-08-31 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [CMake] Changes on the bindings generator does not trigger generation of the bindings
+ https://bugs.webkit.org/show_bug.cgi?id=95552
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added the engine especific part of the generator to the dependency
+ list.
+
+ * UseJSC.cmake:
+ * UseV8.cmake:
+
+2012-08-31 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Link WebGL calls to the source code where it was made
+ https://bugs.webkit.org/show_bug.cgi?id=95426
+
+ Reviewed by Vsevolod Vlasov.
+
+ Save a stack trace for every call we capture and report to the frontend sourceURL,lineNumber,columnNumber were the call was made from.
+ Right now, this will work only with V8.
+
+ * inspector/InjectedScriptExterns.js:
+ (CallSite.prototype.getFileName):
+ (CallSite.prototype.getLineNumber):
+ (CallSite.prototype.getColumnNumber):
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+ * inspector/Inspector.json:
+ * inspector/front-end/WebGLProfileView.js:
+ (WebInspector.WebGLProfileView):
+ (WebInspector.WebGLProfileView.prototype._showTraceLog):
+
+2012-08-31 Patrick Dubroy <dubroy@chromium.org>
+
+ Web Inspector: Add high-DPI images for status bar glyphs
+ https://bugs.webkit.org/show_bug.cgi?id=95471
+
+ Reviewed by Pavel Feldman.
+
+ Add the new 2x resolution image for the status bar glyphs, and add
+ media queries to use the images on high-DPI devices.
+
+ * inspector/front-end/Images/statusbarButtonGlyphs2x.png: Added.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.css:
+ (.long-click-glyph):
+ (@media (-webkit-min-device-pixel-ratio: 1.5)):
+ (.status-bar-item > .glyph):
+ * inspector/front-end/scriptsPanel.css:
+ (.toggle-breakpoints .glyph):
+ (@media (-webkit-min-device-pixel-ratio: 1.5)):
+ (.status-bar-item.scripts-navigator-show-hide-button > .glyph):
+ (.status-bar-item.scripts-debugger-show-hide-button > .glyph):
+ * WebCore.gypi
+ * inspector/front-end/timelinePanel.css:
+ (#timeline-overview-sidebar .icon):
+ (@media (-webkit-min-device-pixel-ratio: 1.5)):
+
+2012-08-30 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: render box model elements and grid on inspector overlay
+ https://bugs.webkit.org/show_bug.cgi?id=95456
+
+ Reviewed by Vsevolod Vlasov.
+
+ This change migrates native rendering for box model to the InspectorOverlay.
+
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didScrollImpl):
+ * inspector/InspectorInstrumentation.h:
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didScroll):
+ (WebCore):
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::InspectorOverlay::drawNodeHighlight):
+ (WebCore::InspectorOverlay::drawRectHighlight):
+ (WebCore::InspectorOverlay::overlayPage):
+ (WebCore::InspectorOverlay::evaluateInOverlay):
+ * inspector/InspectorOverlay.h:
+ (WebCore::Highlight::setColors):
+ (Highlight):
+ (InspectorOverlay):
+ * inspector/InspectorOverlayPage.html:
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::didLayout):
+ (WebCore):
+ (WebCore::InspectorPageAgent::didScroll):
+ * inspector/InspectorPageAgent.h:
+ * page/Chrome.cpp:
+ (WebCore::Chrome::scroll):
+
+2012-08-31 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Make wrap functions initialization lazy
+ https://bugs.webkit.org/show_bug.cgi?id=95533
+
+ Reviewed by Vsevolod Vlasov.
+
+ WebGL wrap functions initialization is not always needed to be executed: for example, when we will instrument a 2D canvas.
+ Drive-by: fixed variable namings, moved duplicated code into a small auxiliary function.
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-08-31 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Port convertValueToQVariant to use the JSC C API
+ https://bugs.webkit.org/show_bug.cgi?id=94695
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Most of the code is portable to the C API, with a few exceptions for internal
+ types such as byte arrays, dates or when unboxing primitive types.
+
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::QtField::setValueToInstance):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::operator<<):
+ (JSC::Bindings::isJSUint8ClampedArray):
+ (JSC::Bindings::isJSArray):
+ (Bindings):
+ (JSC::Bindings::isJSDate):
+ (JSC::Bindings::isQtObject):
+ (JSC::Bindings::valueRealType):
+ (JSC::Bindings::toString):
+ (JSC::Bindings::unwrapBoxedPrimitive):
+ (JSC::Bindings::convertValueToQVariantMap):
+ (JSC::Bindings::convertToList):
+ (JSC::Bindings::toQString):
+ (JSC::Bindings::getGregorianDateTimeUTC):
+ (JSC::Bindings::toQDateTimeUTC):
+ (JSC::Bindings::convertValueToQVariant):
+ (JSC::Bindings::findMethodIndex):
+ (JSC::Bindings::QtConnectionObject::execute):
+ * bridge/qt/qt_runtime.h:
+ (Bindings):
+
+2012-08-31 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: render path to file and line number as subtitles in selector dialog.
+ https://bugs.webkit.org/show_bug.cgi?id=95481
+
+ Reviewed by Vsevolod Vlasov.
+
+ In case several files have matching names, we should render the path next to it.
+ Using the same subtitle field, we now also render line number for JS and Style outlines.
+
+ * inspector/front-end/FilteredItemSelectionDialog.js:
+ (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
+ (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
+ (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
+ (WebInspector.SelectionDialogContentProvider.prototype.itemSuffixAt):
+ (WebInspector.JavaScriptOutlineDialog.prototype.itemSuffixAt):
+ (WebInspector.JavaScriptOutlineDialog.prototype.itemSubtitleAt):
+ (WebInspector.OpenResourceDialog.prototype.itemSuffixAt):
+ (WebInspector.OpenResourceDialog.prototype.itemSubtitleAt):
+ * inspector/front-end/StyleSheetOutlineDialog.js:
+ (WebInspector.StyleSheetOutlineDialog.prototype.itemSuffixAt):
+ (WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
+ * inspector/front-end/filteredItemSelectionDialog.css:
+ (.js-outline-dialog > .container > div.item):
+ (.js-outline-dialog span.subtitle):
+
+2012-08-31 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Left/Right keys in multiple fields time input UI should move focus physical left/right instead of logical left/right regardless text direction.
+ https://bugs.webkit.org/show_bug.cgi?id=95434
+
+ Reviewed by Kent Tamura.
+
+ This patch also changes handling of Left/Right keys to aware text
+ direction ("dir" attribute"). Left/Right keys should move focus
+ physical right/left instead of logical right/left.
+
+ This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ No new tests. This patch adds a test case into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html
+
+ * html/shadow/DateTimeFieldElement.cpp:
+ (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed to check isRTL() for Left/Right keys then we call
+ appropriate focus motion function.
+ (WebCore::DateTimeFieldElement::isRTL): Added for checking text direction is right-to-left or not.
+ * html/shadow/DateTimeFieldElement.h:
+ (DateTimeFieldElement): Added declaration of isRTL().
+
+2012-08-30 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Blur from field should reset typeahead buffer in multiple fields time input UI
+ https://bugs.webkit.org/show_bug.cgi?id=95525
+
+ Reviewed by Kent Tamura.
+
+ This patch changes to reset typeahead timer used in DateTimeNumericFieldElement
+ on blur from field. It is intuitive that not merging keyboard inputs
+ with interleaving focus motion, e.g. sequence type "1", type Tab, type
+ Shift+Tab, type "2" should set field to "2" instead of "12".
+
+ This patch affects ports which enable both ENABLE_INPUT_TYPE_TIME and
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ No new tests. This patch adds a test case into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html
+
+ * html/shadow/DateTimeNumericFieldElement.cpp:
+ (WebCore::DateTimeNumericFieldElement::didBlur): Added to reset typeahead timer, m_lastDigitCharTime.
+ * html/shadow/DateTimeNumericFieldElement.h:
+ (DateTimeNumericFieldElement): Added a declaration of didBlur().
+
+2012-08-30 MORITA Hajime <morrita@google.com>
+
+ Unreviewed, followup build fix against r127228.
+
+ * dom/Notation.cpp:
+ (WebCore::Notation::cloneNode):
+ * dom/Notation.h:
+ (Notation):
+
+2012-08-30 MORITA Hajime <morrita@google.com>
+
+ Unreviewed, rolling out r126127.
+ http://trac.webkit.org/changeset/126127
+
+ This breaks gobject bindings.
+
+ * dom/Attr.cpp:
+ (WebCore::Attr::cloneNode):
+ * dom/Attr.h:
+ * dom/CDATASection.cpp:
+ (WebCore::CDATASection::cloneNode):
+ * dom/CDATASection.h:
+ (CDATASection):
+ * dom/Comment.cpp:
+ (WebCore::Comment::cloneNode):
+ * dom/Comment.h:
+ (Comment):
+ * dom/Document.cpp:
+ (WebCore::Document::cloneNode):
+ * dom/Document.h:
+ (Document):
+ * dom/DocumentFragment.cpp:
+ (WebCore::DocumentFragment::cloneNode):
+ * dom/DocumentFragment.h:
+ (DocumentFragment):
+ * dom/DocumentType.cpp:
+ (WebCore::DocumentType::cloneNode):
+ * dom/DocumentType.h:
+ (DocumentType):
+ * dom/Element.cpp:
+ (WebCore::Element::cloneNode):
+ * dom/Element.h:
+ (Element):
+ * dom/EntityReference.cpp:
+ (WebCore::EntityReference::cloneNode):
+ * dom/EntityReference.h:
+ (EntityReference):
+ * dom/Node.h:
+ (Node):
+ * dom/Node.idl:
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::cloneNode):
+ * dom/ProcessingInstruction.h:
+ (ProcessingInstruction):
+ * dom/ShadowRoot.cpp:
+ (WebCore::ShadowRoot::cloneNode):
+ * dom/ShadowRoot.h:
+ (ShadowRoot):
+ * dom/Text.cpp:
+ (WebCore::Text::cloneNode):
+ * dom/Text.h:
+ (Text):
+
+2012-08-30 Adam Barth <abarth@webkit.org>
+
+ Loading a worker script should not be O(n^2)
+ https://bugs.webkit.org/show_bug.cgi?id=95518
+
+ Reviewed by Benjamin Poulain.
+
+ Previously, we would malloc a new buffer and memcpy the entire worker
+ script every time we got another packet of data from the network. This
+ patch uses StringBuilder to accumulate the buffer more efficiently.
+
+ * workers/WorkerScriptLoader.cpp:
+ (WebCore::WorkerScriptLoader::WorkerScriptLoader):
+ (WebCore::WorkerScriptLoader::didReceiveData):
+ (WebCore::WorkerScriptLoader::didFinishLoading):
+ (WebCore):
+ (WebCore::WorkerScriptLoader::script):
+ * workers/WorkerScriptLoader.h:
+ (WorkerScriptLoader):
+
+2012-08-30 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Shift+Tab should focus the last field of multiple fields time input UI
+ https://bugs.webkit.org/show_bug.cgi?id=95168
+
+ Reviewed by Kent Tamura.
+
+ This patch changes focus handling in DateTimeEditElement class for
+ multiple fields time input UI.
+
+ Current implementation controls focus in fields by DateTimeEditElement
+ and a focus field is tracked m_focusFieldIndex member variable. In
+ current implementation, it is hard to set focus to the last field when
+ it gets focus by Shift+Tab, because we don't know how DateTimeEditElement
+ gets focus.
+
+ In this new implementation, DateTimeEditElement doesn't control focus
+ rather FocusController class controls focus:
+ - We set focus to DateTimeFieldElement instead of HTMLInputElement
+ which is shadow host of DateTimeEditElement for controlling focus
+ by FocusController.
+ - Focus/blur events in DateTimeFieldElement are routed to HTMLInputElement
+ by shadow DOM mechanism.
+ - TimeInputType class overrides HTMLINputElement::blur() and focus()
+ functions for delegating blur/focus behavior to DateTimeEditElement
+ by calling DateTimeEditElement::blurByOwner()/focusByOwner().
+
+ This patch affects only ports which enable both ENABLE_INPUT_TYPE_TIME
+ and ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ Tests: fast/forms/time-multiple-fields/time-multiple-fields-blur-and-focus-events.html
+ This patch also adds a new test case for Shift+Tab into fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html.
+
+ * html/TimeInputType.cpp:
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::didFieldBlur): Added for the input element not to be matched "focus" pseudo class for removing focus ring.
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::didFieldFocus): Added for the input element to be matched "focus" pseudo class for adding focus ring.
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus): Removed. DateTimeEditElement no longer set focus to HTMLInputElement.
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Removed. In this patch, settting focus to field is handled by DateTimeEditElement. We don't need to call HTMLInputElement::select() which has no effect for "time" input type.
+ (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Revmoed. FocusController manages focus navigation in fields rather than DateTimeEditElement.
+ (WebCore::TimeInputType::blur): Added for delegating blur() action to DateTimeEditElement.
+ (WebCore::TimeInputType::focus): Added for delegating focus() action to DateTimeEditElement.
+ (WebCore::TimeInputType::handleDOMActivateEvent): Removed. HTMLInputElement for "time" input type no longer get focus.
+ (WebCore::TimeInputType::hasCustomFocusLogic): Added for asking FocusController to walk into shadow DOM tree on input type "time".
+ (WebCore::TimeInputType::isKeyboardFocusable): Changed for "input" element not to have focus.
+ (WebCore::TimeInputType::isMouseFocusable): Changed for "input" element not to have focus.
+ * html/TimeInputType.h:
+ (DateTimeEditControlOwnerImpl): Changed for new definition of DateTimeEditControlOwner.
+ (TimeInputType): Changed for new definition of DateTimeEditElement.
+ * html/shadow/DateTimeEditElement.cpp:
+ (WebCore::DateTimeEditElement::DateTimeEditElement): Removed dropped member variable m_focusFieldIndex.
+ (WebCore::DateTimeEditElement::blurByOwner): Added for blur() action asekd by owner.
+ (WebCore::DateTimeEditElement::didBlurFromField): Added for calling DateTimeEditControlOwner::didBlurFromControl().
+ (WebCore::DateTimeEditElement::didFocusOnField): Added for calling DateTimeEditControlOwner::didFocusOnControl().
+ (WebCore::DateTimeEditElement::fieldIndexOf): Added for mapping DateTimeFieldElement to field index.
+ (WebCore::DateTimeEditElement::focusByOwner): Added for focus() action asekd by owner.
+ (WebCore::DateTimeEditElement::focusFieldAt): Removed.
+ (WebCore::DateTimeEditElement::focusedFieldIndex): Added as helper function.
+ (WebCore::DateTimeEditElement::focusedField): Added.
+ (WebCore::DateTimeEditElement::focusOnNextField): Changed to pass a field to focusOnNext().
+ (WebCore::DateTimeEditElement::focusOnPreviousField): ditto.
+ (WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Changed for setting focus to the first field.
+ (WebCore::DateTimeEditElement::handleKeyboardEvent): Removed. Moved handling of Left/Right keys to DateTimeFieldElement. Removed Tab-key handling.
+ (WebCore::DateTimeEditElement::handleMouseEvent): Removed. DateTimeEdit doesn't handle mouse click since this patch.
+ (WebCore::DateTimeEditElement::layout): Changed to use focusFieldIndex() and DateTimeFieldElement::focus().
+ (WebCore::DateTimeEditElement::nextFieldIndex): Removed. focusOnNextField does samething and sets focus.
+ (WebCore::DateTimeEditElement::previousFieldIndex): Removed. focusOnPreviousField does samething and sets focus.
+ (WebCore::DateTimeEditElement::resetLayout): Changed to remove m_focusFieldIndex variable reference.
+ (WebCore::DateTimeEditElement::defaultEventHandler): Changed to remove focus navigation related events, blue/focus/mouse, handling.
+ (WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): Changed to check focus field instead of asking owner.
+ (WebCore::DateTimeEditElement::spinButtonStepDown): Changed to use focusField() instead of m_focusFieldIndex.
+ (WebCore::DateTimeEditElement::spinButtonStepUp): ditto.
+ (WebCore::DateTimeEditElement::updateUIState): ditto.
+ * html/shadow/DateTimeEditElement.h:
+ (EditControlOwner): Added didBlurFromField() and didFocusOnField() function declarations. Removed focusAndSelectEditControlOwner, it was used for set focus to HTMLInputElement, and isEditControlOwnerFocused.
+ (DateTimeEditElement):
+ * html/shadow/DateTimeFieldElement.cpp:
+ (WebCore::DateTimeFieldElement::defaultEventHandler): Changed to handle blur and focus events.
+ (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed to handle Left/Right keys.
+ (WebCore::DateTimeFieldElement::didBlur): Added to call FieldOwner::didBlurFromField() to remove focus ring from owner element.
+ (WebCore::DateTimeFieldElement::didFocus): Added to call FieldOwner::didFocusOnField() to add focus ring to owner element.
+ (WebCore::DateTimeFieldElement::focusOnNextField): Added for moving focus to next field for DateTimeNumbericFieldElment
+ (WebCore::DateTimeFieldElement::isFocusable): Added to make DateTimeFieldElement focusable.
+ (WebCore::DateTimeFieldElement::supportsFocus): Added to make DateTimeFieldElement focusable.
+ * html/shadow/DateTimeFieldElement.h:
+ (FieldOwner): Added declarations for focusable handling.
+ (DateTimeFieldElement): ditto.
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
+ https://bugs.webkit.org/show_bug.cgi?id=95520
+
+ Reviewed by Darin Fisher.
+
+ Adopt the return value of WebCompositorSupport explicitly.
+
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::createWebAnimation):
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2012-08-30 Adam Barth <abarth@webkit.org>
+
+ Replace more instances of += with StringBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=95502
+
+ Reviewed by Darin Adler.
+
+ This patch removes many uses of WTF::String::operator+= in WebCore.
+ Many of these uses are inefficient because they cause us to allocate
+ and memcpy strings more times than necessary. In most cases, I've
+ replaced these inefficient patterns with StringBuilder.
+
+ This patch makes progress towards removing WTF::String::operator+= from
+ the project.
+
+ We can make cssText() more efficient by passing a single StringBuilder
+ instance along to the recursive calls, but I've left that for a later
+ patch.
+
+ * css/CSSBorderImageSliceValue.cpp:
+ (WebCore::CSSBorderImageSliceValue::customCssText):
+ * css/CSSFontFaceSrcValue.cpp:
+ (WebCore::CSSFontFaceSrcValue::customCssText):
+ * css/CSSFunctionValue.cpp:
+ (WebCore::CSSFunctionValue::customCssText):
+ * css/CSSGradientValue.cpp:
+ (WebCore::CSSLinearGradientValue::customCssText):
+ (WebCore::CSSRadialGradientValue::customCssText):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::createKeyframe):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::customCssText):
+ * css/CSSReflectValue.cpp:
+ (WebCore::CSSReflectValue::customCssText):
+ * css/CSSTimingFunctionValue.cpp:
+ (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
+ (WebCore::CSSStepsTimingFunctionValue::customCssText):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::get4Values):
+ (WebCore::StylePropertySet::getLayeredShorthandValue):
+ (WebCore::StylePropertySet::getShorthandValue):
+ * fileapi/BlobURL.cpp:
+ (WebCore::BlobURL::createBlobURL):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
+ * inspector/InspectorClient.cpp:
+ (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::didFailLoading):
+ * inspector/InspectorFileSystemAgent.cpp:
+ (WebCore):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::cachedResourceContent):
+ (WebCore::InspectorPageAgent::getCookies):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::addRule):
+
+2012-08-30 Luke Macpherson <macpherson@chromium.org>
+
+ Make it possible to use CSS Variables inside Calc expressions.
+ https://bugs.webkit.org/show_bug.cgi?id=95284
+
+ Reviewed by Tony Chang.
+
+ Allows calc expressions to contain unevaluated variables, which are then resolved in StyleResolver.cpp when building the RenderStyle tree.
+
+ Tests:
+ fast/css/variables/calc.html
+
+ * css/CSSCalculationValue.cpp:
+ (WebCore::unitCategory):
+ (WebCore):
+ (WebCore::CSSCalcValue::customSerializeResolvingVariables):
+ Generates a CSS expression with variables resolved into their corresponding values.
+ (WebCore::CSSCalcValue::hasVariableReference):
+ Returns true if the calculation's expression tree refers to a variable (that needs to be resolved).
+ (CSSCalcPrimitiveValue):
+ (WebCore::CSSCalcPrimitiveValue::serializeResolvingVariables):
+ Resolves the variable using the underlying CSSPrimitiveValue's serializeResolvingVariables function.
+ (WebCore::CSSCalcPrimitiveValue::hasVariableReference):
+ (WebCore::CSSCalcPrimitiveValue::toCalcValue):
+ (WebCore::CSSCalcPrimitiveValue::doubleValue):
+ (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
+ (WebCore::CSSCalcBinaryOperation::create):
+ (CSSCalcBinaryOperation):
+ (WebCore::CSSCalcBinaryOperation::serializeResolvingVariables):
+ Builds a CSS expression for contained subtrees.
+ (WebCore::CSSCalcBinaryOperation::hasVariableReference):
+ Returns true if either subtree contains a variable.
+ * css/CSSCalculationValue.h:
+ (CSSCalcExpressionNode):
+ (CSSCalcValue):
+ * css/CSSGrammar.y:
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::validCalculationUnit):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::primitiveType):
+ (WebCore::CSSPrimitiveValue::customSerializeResolvingVariables):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+
+2012-08-30 Max Vujovic <mvujovic@adobe.com>
+
+ [CSS Shaders] Implement normal blend mode and source-atop compositing mode
+ https://bugs.webkit.org/show_bug.cgi?id=93869
+
+ Reviewed by Dean Jackson.
+
+ Instead of allowing direct texture access in an author's shader via u_texture, CSS
+ Shaders blends special symbols in the author's shader (css_MixColor and
+ css_ColorMatrix) with the DOM element texture.
+
+ The author specifies the blend mode and composite operator via the CSS mix
+ function like this:
+ -webkit-filter: custom(none mix(shader.fs normal source-atop));
+
+ This patch implements the normal blend mode and the source-atop composite
+ operator. The other blend modes and composite operators will come in later
+ patches.
+
+ This patch introduces a new class, CustomFilterValidatedProgram, which validates
+ the shader using ANGLE. If the shader uses blending and compositing,
+ CustomFilterValidatedProgram uses ANGLE's SH_CSS_SHADERS_SPEC flag. This allows
+ the author's shader to compile successfully with special symbols like
+ "css_MixColor". ANGLE also reserves the "css_" prefix. If the shader doesn't use
+ blending and compositing, CustomFilterValidatedProgram validates the shader using
+ ANGLE's SH_WEBGL_SPEC flag.
+
+ After validation, CustomFilterValidatedProgram adds blending, compositing, and
+ texture access shader code to the author's original shaders. The definitions for
+ css_MixColor and css_ColorMatrix are added before the author's fragment shader
+ code so that the author code can access them. The blending, compositing, and
+ texture access code is added after the author code and is thus inaccessible to the
+ author code. Since ANGLE reserves the "css_" prefix during the validation phase,
+ no collisions are possible between the author's code and the code that WebKit adds.
+
+ The CustomFilterGlobalContext now caches CustomFilterValidatedProgram instead
+ of CustomFilterCompiledProgram. CustomFilterValidatedProgram owns a
+ CustomFilterCompiledProgram. This way, we can use the platform-independent
+ CustomFilterValidatedProgram to validate and rewrite the shaders, regardless of
+ the platform representation of the program (e.g. CustomFilterCompiledProgram).
+
+ Tests: css3/filters/custom/custom-filter-color-matrix.html
+ css3/filters/custom/custom-filter-composite-source-atop.html
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/ANGLEWebKitBridge.cpp:
+ (WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
+ Add a shader spec parameter, since sometimes we want to validate the shader
+ against the CSS Shaders spec and other times we want to validate the shader
+ against the WebGL spec. Note that the CSS Shaders spec is treated as a subset
+ of the WebGL spec in ANGLE.
+ (WebCore::ANGLEWebKitBridge::validateShaderSource):
+ * platform/graphics/ANGLEWebKitBridge.h:
+ (ANGLEWebKitBridge):
+ * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
+ (WebCore::CustomFilterCompiledProgram::CustomFilterCompiledProgram):
+ (WebCore::CustomFilterCompiledProgram::compileShader):
+ (WebCore::CustomFilterCompiledProgram::initializeParameterLocations):
+ (WebCore::CustomFilterCompiledProgram::~CustomFilterCompiledProgram):
+ * platform/graphics/filters/CustomFilterCompiledProgram.h:
+ (WebCore):
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
+ (WebCore::CustomFilterGlobalContext::webglShaderValidator):
+ (WebCore):
+ (WebCore::CustomFilterGlobalContext::mixShaderValidator):
+ (WebCore::CustomFilterGlobalContext::createShaderValidator):
+ (WebCore::CustomFilterGlobalContext::getValidatedProgram):
+ (WebCore::CustomFilterGlobalContext::removeValidatedProgram):
+ * platform/graphics/filters/CustomFilterGlobalContext.h:
+ (WebCore):
+ (CustomFilterGlobalContext):
+ * platform/graphics/filters/CustomFilterProgramInfo.h:
+ (WebCore::CustomFilterProgramInfo::mixSettings):
+ * platform/graphics/filters/CustomFilterValidatedProgram.cpp: Added.
+ (WebCore):
+ (WebCore::CustomFilterValidatedProgram::defaultVertexShaderString):
+ (WebCore::CustomFilterValidatedProgram::defaultFragmentShaderString):
+ (WebCore::CustomFilterValidatedProgram::CustomFilterValidatedProgram):
+ (WebCore::CustomFilterValidatedProgram::compiledProgram):
+ (WebCore::CustomFilterValidatedProgram::rewriteMixVertexShader):
+ (WebCore::CustomFilterValidatedProgram::rewriteMixFragmentShader):
+ (WebCore::CustomFilterValidatedProgram::blendFunctionString):
+ (WebCore::CustomFilterValidatedProgram::compositeFunctionString):
+ (WebCore::CustomFilterValidatedProgram::~CustomFilterValidatedProgram):
+ * platform/graphics/filters/CustomFilterValidatedProgram.h: Added.
+ (WebCore):
+ (CustomFilterValidatedProgram):
+ (WebCore::CustomFilterValidatedProgram::create):
+ (WebCore::CustomFilterValidatedProgram::programInfo):
+ (WebCore::CustomFilterValidatedProgram::isInitialized):
+ (WebCore::CustomFilterValidatedProgram::detachFromGlobalContext):
+ * platform/graphics/filters/FECustomFilter.cpp:
+ (WebCore::FECustomFilter::FECustomFilter):
+ Accept a CustomFilterValidatedProgram instead of CustomFilterProgram.
+ (WebCore::FECustomFilter::create):
+ (WebCore::FECustomFilter::initializeContext):
+ (WebCore::FECustomFilter::bindVertexAttribute):
+ (WebCore::FECustomFilter::bindProgramAndBuffers):
+ * platform/graphics/filters/FECustomFilter.h:
+ (WebCore):
+ (FECustomFilter):
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore):
+ (WebCore::createCustomFilterEffect):
+ (WebCore::FilterEffectRenderer::build):
+ Only create an FECustomFilter if the program validates.
+ * rendering/FilterEffectRenderer.h:
+ (WebCore):
+ (FilterEffectRenderer):
+
+2012-08-30 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Crash in RenderTable::calcBorderEnd
+ https://bugs.webkit.org/show_bug.cgi?id=95487
+
+ Reviewed by Abhishek Arya.
+
+ r126590 opened the window for a race condition in RenderObjectChildList::removeChildNode.
+ This is caused because willBeRemovedFromTree should be strictly following by the actual removal
+ and wasn't.
+
+ This race condition was caused by clearSelection() being called just after willBeRemovedFromTree,
+ which forced a section's cells recalc and would re-add the soon-to-be-removed child, causing the
+ crash.
+
+ Test: fast/table/crash-clearSelection-collapsed-borders.html
+
+ * rendering/RenderObjectChildList.cpp:
+ (WebCore::RenderObjectChildList::removeChildNode):
+ Moved the clearSeletion call before willBeRemovedFromTree. Added a warning about running code
+ after willBeRemovedFromTree and before removing the child from the tree.
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ Mechanical changes to update for JSC interface changes.
+
+2012-08-30 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
+ to a function pointer with right types when calling objc_msgSend and an
+ IMP method directly.
+
+ No new tests because no functional changes.
+
+ * page/mac/EventHandlerMac.mm:
+ (WebCore::selfRetainingNSScrollViewScrollWheel):
+ * platform/mac/WebCoreObjCExtras.mm:
+ (deallocCallback):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Update the code to use String instead of UString.
+
+ On x86_64, this reduces the binary size by 22kb.
+
+ Since it is no longer possible to differenciate JSC::jsString() and WebCore::jsString() by the input
+ types, WebCore::jsString() is renated to WebCore::jsStringWithCache().
+
+ Since the cache is using a PtrHash, JSC::jsString() is used in place of the old WebCore::jsString() when
+ the string is generated locally. This is because the cache can never match in those cases.
+
+2012-08-30 Rob Buis <rbuis@rim.com>
+
+ [CMake] Suppress ANGLE compilation warnings
+ https://bugs.webkit.org/show_bug.cgi?id=95377
+
+ Reviewed by Antonio Gomes.
+
+ Compile ANGLE sources in a static library, and make sure the compile flags suppress warnings.
+
+ * CMakeLists.txt:
+
+2012-08-30 Victor Carbune <victor@rosedu.org>
+
+ [Chromium] Layout Test media/track/track-cue-rendering-snap-to-lines-not-set.html is flaky
+ https://bugs.webkit.org/show_bug.cgi?id=89167
+
+ Reviewed by Eric Carlson.
+
+ Fix for rendering tracks when snap-to-lines not set.
+
+ No new tests. Removed from TestExpectations existing test.
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::TextTrackCue):
+ (WebCore::TextTrackCue::calculateDisplayParameters): Updated the place
+ where m_computedLinePosition is determined.
+
+2012-08-27 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add CompositorSupport interface for constructing compositor classes
+ https://bugs.webkit.org/show_bug.cgi?id=95040
+
+ Reviewed by Darin Fisher.
+
+ Uses WebCompositorSupport interfaces where appropriate to construct compositor types.
+
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::createWebAnimation):
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore::GraphicsLayerChromium::setContentsTo):
+ (WebCore::GraphicsLayerChromium::addAnimation):
+ (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
+
+2012-08-30 Dan Bernstein <mitz@apple.com>
+
+ [CG] ImageCG.cpp contains a mix of Image and BitmapImage functions
+ https://bugs.webkit.org/show_bug.cgi?id=95470
+
+ Reviewed by Darin Adler.
+
+ * WebCore.gypi: Added BitmapImageCG.cpp.
+ * WebCore.vcproj/WebCore.vcproj: Ditto.
+ * WebCore.xcodeproj/project.pbxproj: Ditto.
+ * platform/graphics/cg/BitmapImageCG.cpp: Copied from Source/WebCore/platform/graphics/cg/ImageCG.cpp
+ then deleted Image function implementations.
+ * platform/graphics/cg/ImageCG.cpp: Deleted BitmapImage and FrameData function implementations.
+
+2012-08-30 Victor Carbune <victor@rosedu.org>
+
+ [Chromium] The CC button is not painted
+ https://bugs.webkit.org/show_bug.cgi?id=95395
+
+ Reviewed by Eric Carlson.
+
+ The actual Chromium resource for the CC button was not used by the Chromium theme.
+
+ Existing track rendering tests will be rebaselined and contain the new CC button.
+
+ * rendering/RenderMediaControlsChromium.cpp:
+ (WebCore::paintMediaClosedCaptionsButton): Added for proper painting of the resource.
+ (WebCore):
+ (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
+ Changed to call paintMediaClosedCaptionsButton when the control is the CC button.
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::paintMediaToggleClosedCaptionsButton):
+ Implemented proper behaviour.
+ (WebCore):
+ * rendering/RenderThemeChromiumSkia.h:
+ (RenderThemeChromiumSkia):
+
+2012-08-30 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Introduce MediaConstraints
+ https://bugs.webkit.org/show_bug.cgi?id=95198
+
+ Reviewed by Adam Barth.
+
+ This introduces MediaConstraints together with relevant infrastructure, a chromium mock and LayoutTests.
+
+ Patch covered by expanded existing tests.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Modules/mediastream/MediaConstraintsImpl.cpp: Added.
+ (WebCore):
+ (WebCore::MediaConstraintsImpl::create):
+ (WebCore::MediaConstraintsImpl::initialize):
+ (WebCore::MediaConstraintsImpl::~MediaConstraintsImpl):
+ (WebCore::MediaConstraintsImpl::getMandatoryConstraintNames):
+ (WebCore::MediaConstraintsImpl::getOptionalConstraintNames):
+ (WebCore::MediaConstraintsImpl::getMandatoryConstraintValue):
+ (WebCore::MediaConstraintsImpl::getOptionalConstraintValue):
+ * Modules/mediastream/MediaConstraintsImpl.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
+ (WebCore):
+ (MediaConstraintsImpl):
+ (WebCore::MediaConstraintsImpl::MediaConstraintsImpl):
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::create):
+ (WebCore::RTCPeerConnection::RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (WebCore):
+ (RTCPeerConnection):
+ * WebCore.gypi:
+ * bindings/js/Dictionary.cpp:
+ (WebCore::Dictionary::getOwnPropertyNames):
+ (WebCore):
+ * bindings/js/Dictionary.h:
+ (Dictionary):
+ * bindings/v8/Dictionary.cpp:
+ (WebCore::Dictionary::getOwnPropertyNames):
+ (WebCore):
+ * bindings/v8/Dictionary.h:
+ (Dictionary):
+ * platform/chromium/support/WebMediaConstraints.cpp: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp.
+ (WebKit):
+ (WebKit::WebMediaConstraints::WebMediaConstraints):
+ (WebKit::WebMediaConstraints::assign):
+ (WebKit::WebMediaConstraints::reset):
+ (WebKit::WebMediaConstraints::isNull):
+ (WebKit::WebMediaConstraints::getMandatoryConstraintNames):
+ (WebKit::WebMediaConstraints::getOptionalConstraintNames):
+ (WebKit::WebMediaConstraints::getMandatoryConstraintValue):
+ (WebKit::WebMediaConstraints::getOptionalConstraintValue):
+ * platform/mediastream/MediaConstraints.h: Copied from Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h.
+ (WebCore):
+ (MediaConstraints):
+ (WebCore::MediaConstraints::~MediaConstraints):
+ (WebCore::MediaConstraints::MediaConstraints):
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::initialize):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (WebCore):
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::initialize):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-08-24 Robert Hogan <robert@webkit.org>
+
+ CSS 2.1 failure: margin-collapse-clear-012 fails
+ https://bugs.webkit.org/show_bug.cgi?id=80394
+
+ Reviewed by David Hyatt.
+
+ CSS2.1 states: "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with
+ the adjoining margins of following siblings but that resulting margin does not collapse with the bottom margin of the parent block."
+ This is a change in the spec since http://trac.webkit.org/changeset/47678, so prevent the margins of collapsed blocks from collapsing
+ with parent margins.
+
+ Also, in the case of self-collapsing blocks adjust the clearance so that it is equal to [height of float to clear] - margin-top of the
+ self-collapsing block. (See the 'Explanation' section near the end of http://www.w3.org/TR/CSS21/visuren.html#clearance). This allows
+ the correct value of any margins collapsed with subsequent siblings to contribute to the height of the parent. For example if a block
+ with margin-top of 40px has to clear a float of 100px, the clearance is now 60px so set that as the height of the parent. If a subsequent
+ sibling has a collapsed margin value of 140px (e.g. from a margin-top of 80px and a margin-bottom of 140px) then the height of the parent
+ becomes 200px by adding on that collapsed margin.
+
+ Tests: css2.1/20110323/margin-collapse-clear-012.htm
+ css2.1/20110323/margin-collapse-clear-013.htm
+ css2.1/20110323/margin-collapse-027.htm
+ fast/css/margin-collapse-013-reduction.html
+ fast/css/margin-collapse-top-margin-clearance.html
+ fast/css/margin-collapse-top-margin-clearance-with-sibling.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloatsIfNeeded):
+ (WebCore::RenderBlock::handleAfterSideOfBlock): Without this margin-collapse/block-inside-inline/025.html adds in the margin to
+ an anonymous block containing a block child. FF does this, Opera does not. The spec is not crystal-clear but Opera's behaviour
+ seems correct - it's totally unintuitive to think the margins of an anonymous block and its block-flow child should be considered adjoining.
+ Maybe this is a FIXME pending clarification in the spec?
+ * rendering/RenderBlock.h:
+ (WebCore::RenderBlock::MarginInfo::setCanCollapseMarginAfterWithChildren):
+
+2012-08-30 Rik Cabanier <cabanier@adobe.com>
+
+ Add support for blendmode to webkit rendering engine
+ https://bugs.webkit.org/show_bug.cgi?id=95258
+
+ Reviewed by Simon Fraser.
+
+ This code adds support for blendmodes to the WebCore engine. The CSS parser already
+ supported this keyword but didn't pass it along. Support for rendering blending will
+ be provided in subsequent patches
+
+ Test: css3/compositing/should-have-compositing-layer.html
+
+ * css/StyleBuilder.cpp:
+ (WebCore::StyleBuilder::StyleBuilder):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * rendering/RenderBox.h:
+ * rendering/RenderBoxModelObject.h:
+ (RenderBoxModelObject):
+ (WebCore::RenderBoxModelObject::requiresLayer):
+ * rendering/RenderInline.h:
+ (WebCore::RenderInline::requiresLayer):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::RenderLayer):
+ (WebCore):
+ (WebCore::RenderLayer::updateBlendMode):
+ (WebCore::RenderLayer::ensureBacking):
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly):
+ (WebCore::RenderLayer::styleChanged):
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+ (WebCore::RenderLayer::hasBlendMode):
+ * rendering/RenderLayerCompositor.cpp:
+ (WebCore::RenderLayerCompositor::requiresCompositingLayer):
+ (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
+ (WebCore::RenderLayerCompositor::reasonForCompositing):
+ (WebCore::RenderLayerCompositor::requiresCompositingForIndirectReason):
+ (WebCore::RenderLayerCompositor::requiresCompositingForBlending):
+ (WebCore):
+ * rendering/RenderLayerCompositor.h:
+ (RenderLayerCompositor):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ (WebCore::RenderObject::hasBlendMode):
+ (WebCore::RenderObject::createsGroup):
+ * rendering/RenderTableRow.h:
+ * rendering/style/RenderStyle.h:
+
+2012-08-30 Tony Chang <tony@chromium.org>
+
+ Make RenderBox::computeInlineDirectionMargins const
+ https://bugs.webkit.org/show_bug.cgi?id=95255
+
+ Reviewed by Ojan Vafai.
+
+ This is part of making computeLogical{Height,Width} return computed values rather than
+ mutating the RenderBox directly. This makes a submethod const.
+
+ This change is just a refactor, but I've added some tests to cover code that wasn't
+ previously covered by layout tests.
+
+ Tests: fast/block/margins-perpendicular-containing-block.html
+ fast/table/margins-flipped-text-direction.html
+ fast/table/margins-perpendicular-containing-block.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalWidthInRegion): Handle flipped text direction manually.
+ (WebCore::RenderBox::computeInlineDirectionMargins): Make const with out parameters.
+ No longer need to call setMargin{Start,End}ForChild.
+ (WebCore::shouldFlipBeforeAfterMargins): Helper function to figure out how to map a logical
+ writing mode direction to another logical writing mode direction.
+ (WebCore::RenderBox::computeLogicalHeight): Use const method. This also makes it more
+ obvious that when computing the height, we only modify the before/after margins.
+ * rendering/RenderBox.h:
+ (RenderBox): Make computeInlineDirectionMargins const with out parameters.
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::computeLogicalWidth): Same as RenderBox::comptueLogicalWidthInregion.
+
+2012-08-30 Dirk Schulze <krit@webkit.org>
+
+ Refactor WrapShape classes to BasicShape
+ https://bugs.webkit.org/show_bug.cgi?id=95461
+
+ Reviewed by Rob Buis.
+
+ This is a follow up patch of bug 95411. While the previous patch
+ just renamed the files, this patch renames the classes, enumerations
+ and functions.
+
+ Just refactoring of internal names. No new tests.
+
+ * css/BasicShapeFunctions.cpp:
+ (WebCore::valueForBasicShape):
+ (WebCore::basicShapeForValue):
+ * css/BasicShapeFunctions.h:
+ (WebCore):
+ * css/CSSBasicShapes.cpp:
+ (WebCore::CSSBasicShapeRectangle::cssText):
+ (WebCore::CSSBasicShapeCircle::cssText):
+ (WebCore::CSSBasicShapeEllipse::cssText):
+ (WebCore::CSSBasicShapePolygon::cssText):
+ * css/CSSBasicShapes.h:
+ (WebCore::CSSBasicShape::~CSSBasicShape):
+ (WebCore::CSSBasicShape::CSSBasicShape):
+ (WebCore::CSSBasicShapeRectangle::create):
+ (WebCore::CSSBasicShapeRectangle::type):
+ (WebCore::CSSBasicShapeRectangle::CSSBasicShapeRectangle):
+ (WebCore::CSSBasicShapeCircle::create):
+ (WebCore::CSSBasicShapeCircle::type):
+ (WebCore::CSSBasicShapeCircle::CSSBasicShapeCircle):
+ (WebCore::CSSBasicShapeEllipse::create):
+ (WebCore::CSSBasicShapeEllipse::type):
+ (WebCore::CSSBasicShapeEllipse::CSSBasicShapeEllipse):
+ (WebCore::CSSBasicShapePolygon::create):
+ (WebCore::CSSBasicShapePolygon::type):
+ (WebCore::CSSBasicShapePolygon::CSSBasicShapePolygon):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseValue):
+ (WebCore::CSSParser::parseBasicShapeRectangle):
+ (WebCore::CSSParser::parseBasicShapeCircle):
+ (WebCore::CSSParser::parseBasicShapeEllipse):
+ (WebCore::CSSParser::parseBasicShapePolygon):
+ (WebCore::CSSParser::parseBasicShape):
+ * css/CSSParser.h:
+ (WebCore):
+ * css/CSSPrimitiveValue.cpp:
+ (WebCore::CSSPrimitiveValue::init):
+ * css/CSSPrimitiveValue.h:
+ (WebCore):
+ (WebCore::CSSPrimitiveValue::getShapeValue):
+ (CSSPrimitiveValue):
+ * css/StyleBuilder.cpp:
+ (WebCore):
+ (WebCore::ApplyPropertyWrapShape::setValue):
+ (WebCore::ApplyPropertyWrapShape::applyValue):
+ (WebCore::ApplyPropertyWrapShape::createHandler):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/WrapShapeInfo.cpp:
+ (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock):
+ (WebCore::WrapShapeInfo::computeShapeSize):
+ * rendering/style/BasicShapes.cpp:
+ (WebCore::BasicShape::destroy):
+ * rendering/style/BasicShapes.h:
+ (WebCore::BasicShape::BasicShape):
+ (WebCore::BasicShapeRectangle::create):
+ (WebCore::BasicShapeRectangle::BasicShapeRectangle):
+ (WebCore::BasicShapeCircle::create):
+ (WebCore::BasicShapeCircle::BasicShapeCircle):
+ (WebCore::BasicShapeEllipse::create):
+ (WebCore::BasicShapeEllipse::BasicShapeEllipse):
+ (WebCore::BasicShapePolygon::create):
+ (WebCore::BasicShapePolygon::BasicShapePolygon):
+ * rendering/style/RenderStyle.h:
+ * rendering/style/StyleRareNonInheritedData.h:
+ (StyleRareNonInheritedData):
+
+2012-08-30 Aaron Colwell <acolwell@chromium.org>
+
+ Fix a crash in SourceBufferList.remove().
+ https://bugs.webkit.org/show_bug.cgi?id=94950
+
+ Reviewed by Eric Carlson.
+
+ Move SourceBuffer::clear() call before the removal of the SourceBuffer from
+ SourceBufferList::m_list to avoid a use after free if m_list holds the last
+ reference.
+
+ Test: http/tests/media/media-source/video-media-source-sourcebufferlist-crash.html
+
+ * Modules/mediasource/SourceBufferList.cpp:
+ (WebCore::SourceBufferList::remove):
+
+2012-08-30 Otto Derek Cheung <otcheung@rim.com>
+
+ [BlackBerry] Modifying how IP domains are handled in Cookies
+ https://bugs.webkit.org/show_bug.cgi?id=95381
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Joe Mason.
+
+ Current implementation handles IP addresses like normal domains.
+ This makes invalid cross domain cookies possibe by setting cookie
+ domains to a suffix of the targeted IP. (ex. hackers on 11.121.61.97
+ can set cookies to 61.97, so they show up on the targeted website of
+ 10.120.61.97)
+
+ New Implementation is to detect IP addresses and treat them without
+ exploding them with the delimiter ".". That way, IP addresses will
+ be stored as a whole and other IPs won't have access to it.
+
+ PR 130051
+
+ Manually tested by accessing a webpage via IP (hosted through
+ LAMP - ex:10.121.61.97) and tried to set cookies with domains that
+ are a suffix to the ip address (ex: .97, 121.61.97).
+ Also tried to set cookies to other ip addresses that "domain matches"
+ the IP address (ex. 11.121.61.97). Verified that they all failed.
+
+ Tested using the cookies test page: http://browser.swlab.rim.net/test/cookies
+
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::getRawCookies):
+ (WebCore::CookieManager::checkAndTreatCookie):
+ (WebCore::CookieManager::findOrCreateCookieMap):
+ * platform/blackberry/CookieManager.h:
+ * platform/blackberry/CookieParser.cpp:
+ (WebCore::CookieParser::CookieParser):
+ (WebCore::CookieParser::parseOneCookie):
+ * platform/blackberry/CookieParser.h:
+ (CookieParser):
+ * platform/blackberry/ParsedCookie.cpp:
+ (WebCore::ParsedCookie::ParsedCookie):
+ * platform/blackberry/ParsedCookie.h:
+ (WebCore::ParsedCookie::setDomain):
+ (WebCore::ParsedCookie::domainIsIPAddress):
+ (ParsedCookie):
+
+2012-08-30 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: [regression] ui: heap profiler: splitter between containment and retainment views has white background.
+ https://bugs.webkit.org/show_bug.cgi?id=95460
+
+ Reviewed by Yury Semikhatsky.
+
+ it was regressed at r122332.
+
+ * inspector/front-end/heapProfiler.css:
+ (.heap-snapshot-view .retainers-view-header):
+
+2012-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127131.
+ http://trac.webkit.org/changeset/127131
+ https://bugs.webkit.org/show_bug.cgi?id=95463
+
+ It makes the fast/regions/ test crash on Chromium (Requested
+ by jchaffraix on #webkit).
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * rendering/InlineBox.cpp:
+ * rendering/InlineBox.h:
+ (WebCore):
+ (InlineBox):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::addToLine):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+
+2012-08-30 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Some urls in CSS stylesheets cause errors when generating Computed Styles HTML
+ https://bugs.webkit.org/show_bug.cgi?id=95427
+
+ Reviewed by Vsevolod Vlasov.
+
+ Pass the parent StylesSidebarPane into ComputedStylePropertiesSection to avoid referencing an undefined field.
+ Avoid duplicating the parent pane by externally setting the |data| field on style property sections.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
+ (WebInspector.StylesSidebarPane.prototype.addBlankSection):
+ (WebInspector.StylePropertiesSection.prototype.get pane):
+ (WebInspector.ComputedStylePropertiesSection):
+ (WebInspector.ComputedStylePropertiesSection.prototype.get pane):
+ (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
+
+2012-08-30 Keishi Hattori <keishi@webkit.org>
+
+ Tick marks don't match thumb when applying padding or border to input type=range
+ https://bugs.webkit.org/show_bug.cgi?id=93791
+
+ Reviewed by Kent Tamura.
+
+ Tick marks don't match thumb when styling input type=range. This change
+ calculate tick mark positions from track element size. Bug 94915 handles
+ drawing the track inside the content area.
+
+ Tests: fast/forms/datalist/input-appearance-range-with-padding-with-datalist.html
+ fast/forms/datalist/input-appearance-range-with-transform.html
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::sliderTrackElement):
+ (WebCore):
+ * html/HTMLInputElement.h:
+ (HTMLInputElement):
+ * html/InputType.h:
+ (WebCore::InputType::sliderTrackElement):
+ * html/RangeInputType.cpp:
+ (WebCore::RangeInputType::sliderTrackElement):
+ (WebCore):
+ * html/RangeInputType.h:
+ (RangeInputType):
+ * rendering/RenderTheme.cpp:
+ (WebCore::RenderTheme::paintSliderTicks): rect's position is relative to
+ the transformed ancestor element. sliderBounds is absolute. We use them
+ to calculate the track element position relative to the transformed
+ ancestor element.
+
+2012-08-30 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Remove the now-unneeded invalidations in RenderTable::removeCaption
+ https://bugs.webkit.org/show_bug.cgi?id=94889
+
+ Reviewed by Abhishek Arya.
+
+ Following bug 94842 and 95090, the invalidation code was pushed down to
+ RenderTableCaption. This made apparent that we did some invalidations that
+ were not needed.
+
+ Refactoring covered by existing tests.
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::removeCaption):
+ Removed setNeedsRecalcStyle() as it's unneeded now. It was probably needed back when
+ we didn't support multiple captions (see bug 58249) but the need was never documented
+ so you could wonder if it was really needed in the first place.
+
+2012-08-30 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: [regression] ui: selectors in heap profiler view have no arrows at the right side of the text.
+ https://bugs.webkit.org/show_bug.cgi?id=95455
+
+ Reviewed by Yury Semikhatsky.
+
+ In console we use a span which wraps selectors and have necessary background.
+
+ * inspector/front-end/HeapSnapshotView.js:
+ (WebInspector.HeapSnapshotView.prototype.get statusBarItems.appendArrowImage):
+ (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
+
+2012-08-30 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] LayerTiler needs to respect new setting for prefill rect.
+ https://bugs.webkit.org/show_bug.cgi?id=95446
+
+ Reviewed by Rob Buis.
+
+ Internally reviewed by Arvid Nilsson.
+ Internal PR181637
+ Use new prefill rectangle setting to determine which tiles should be
+ prefilled in LayerTiler.
+
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::shouldPrefillTile):
+
+2012-08-29 Dirk Schulze <krit@webkit.org>
+
+ Refactor WrapShape to Shape/BasicShape
+ https://bugs.webkit.org/show_bug.cgi?id=95411
+
+ Reviewed by Andreas Kling.
+
+ The wrap shapes are currently specified by CSS3 Exclusions but are useful for other
+ CSS related proposals like CSS Masking as well. This is the first patch on a chain
+ of patches to refactor WrapShape to BasicShape. With this patch all relevant files
+ get renamend and the build systems updated. The classes will be renamend in a second
+ step.
+
+ Just renaming of files. No new tests.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/BasicShapeFunctions.cpp: Renamed from Source/WebCore/css/WrapShapeFunctions.cpp.
+ (WebCore):
+ (WebCore::valueForWrapShape):
+ (WebCore::convertToLength):
+ (WebCore::wrapShapeForValue):
+ * css/BasicShapeFunctions.h: Renamed from Source/WebCore/css/WrapShapeFunctions.h.
+ (WebCore):
+ * css/CSSAllInOne.cpp:
+ * css/CSSBasicShapes.cpp: Renamed from Source/WebCore/css/CSSWrapShapes.cpp.
+ (WebCore):
+ (WebCore::CSSWrapShapeRectangle::cssText):
+ (WebCore::CSSWrapShapeCircle::cssText):
+ (WebCore::CSSWrapShapeEllipse::cssText):
+ (WebCore::CSSWrapShapePolygon::cssText):
+ * css/CSSBasicShapes.h: Renamed from Source/WebCore/css/CSSWrapShapes.h.
+ (WebCore):
+ (CSSWrapShape):
+ (WebCore::CSSWrapShape::~CSSWrapShape):
+ (WebCore::CSSWrapShape::CSSWrapShape):
+ (CSSWrapShapeRectangle):
+ (WebCore::CSSWrapShapeRectangle::create):
+ (WebCore::CSSWrapShapeRectangle::x):
+ (WebCore::CSSWrapShapeRectangle::y):
+ (WebCore::CSSWrapShapeRectangle::width):
+ (WebCore::CSSWrapShapeRectangle::height):
+ (WebCore::CSSWrapShapeRectangle::radiusX):
+ (WebCore::CSSWrapShapeRectangle::radiusY):
+ (WebCore::CSSWrapShapeRectangle::setX):
+ (WebCore::CSSWrapShapeRectangle::setY):
+ (WebCore::CSSWrapShapeRectangle::setWidth):
+ (WebCore::CSSWrapShapeRectangle::setHeight):
+ (WebCore::CSSWrapShapeRectangle::setRadiusX):
+ (WebCore::CSSWrapShapeRectangle::setRadiusY):
+ (WebCore::CSSWrapShapeRectangle::type):
+ (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
+ (CSSWrapShapeCircle):
+ (WebCore::CSSWrapShapeCircle::create):
+ (WebCore::CSSWrapShapeCircle::centerX):
+ (WebCore::CSSWrapShapeCircle::centerY):
+ (WebCore::CSSWrapShapeCircle::radius):
+ (WebCore::CSSWrapShapeCircle::setCenterX):
+ (WebCore::CSSWrapShapeCircle::setCenterY):
+ (WebCore::CSSWrapShapeCircle::setRadius):
+ (WebCore::CSSWrapShapeCircle::type):
+ (WebCore::CSSWrapShapeCircle::CSSWrapShapeCircle):
+ (CSSWrapShapeEllipse):
+ (WebCore::CSSWrapShapeEllipse::create):
+ (WebCore::CSSWrapShapeEllipse::centerX):
+ (WebCore::CSSWrapShapeEllipse::centerY):
+ (WebCore::CSSWrapShapeEllipse::radiusX):
+ (WebCore::CSSWrapShapeEllipse::radiusY):
+ (WebCore::CSSWrapShapeEllipse::setCenterX):
+ (WebCore::CSSWrapShapeEllipse::setCenterY):
+ (WebCore::CSSWrapShapeEllipse::setRadiusX):
+ (WebCore::CSSWrapShapeEllipse::setRadiusY):
+ (WebCore::CSSWrapShapeEllipse::type):
+ (WebCore::CSSWrapShapeEllipse::CSSWrapShapeEllipse):
+ (CSSWrapShapePolygon):
+ (WebCore::CSSWrapShapePolygon::create):
+ (WebCore::CSSWrapShapePolygon::appendPoint):
+ (WebCore::CSSWrapShapePolygon::getXAt):
+ (WebCore::CSSWrapShapePolygon::getYAt):
+ (WebCore::CSSWrapShapePolygon::values):
+ (WebCore::CSSWrapShapePolygon::setWindRule):
+ (WebCore::CSSWrapShapePolygon::windRule):
+ (WebCore::CSSWrapShapePolygon::type):
+ (WebCore::CSSWrapShapePolygon::CSSWrapShapePolygon):
+ * css/CSSComputedStyleDeclaration.cpp:
+ * css/CSSParser.cpp:
+ * css/CSSPrimitiveValue.cpp:
+ * css/StyleBuilder.cpp:
+ * rendering/style/BasicShapes.cpp: Renamed from Source/WebCore/rendering/style/WrapShapes.cpp.
+ (WebCore):
+ (WebCore::WrapShape::destroy):
+ * rendering/style/BasicShapes.h: Renamed from Source/WebCore/rendering/style/WrapShapes.h.
+ (WebCore):
+ (WrapShape):
+ (WebCore::WrapShape::deref):
+ (WebCore::WrapShape::type):
+ (WebCore::WrapShape::WrapShape):
+ (WrapShapeRectangle):
+ (WebCore::WrapShapeRectangle::create):
+ (WebCore::WrapShapeRectangle::x):
+ (WebCore::WrapShapeRectangle::y):
+ (WebCore::WrapShapeRectangle::width):
+ (WebCore::WrapShapeRectangle::height):
+ (WebCore::WrapShapeRectangle::cornerRadiusX):
+ (WebCore::WrapShapeRectangle::cornerRadiusY):
+ (WebCore::WrapShapeRectangle::setX):
+ (WebCore::WrapShapeRectangle::setY):
+ (WebCore::WrapShapeRectangle::setWidth):
+ (WebCore::WrapShapeRectangle::setHeight):
+ (WebCore::WrapShapeRectangle::setCornerRadiusX):
+ (WebCore::WrapShapeRectangle::setCornerRadiusY):
+ (WebCore::WrapShapeRectangle::WrapShapeRectangle):
+ (WrapShapeCircle):
+ (WebCore::WrapShapeCircle::create):
+ (WebCore::WrapShapeCircle::centerX):
+ (WebCore::WrapShapeCircle::centerY):
+ (WebCore::WrapShapeCircle::radius):
+ (WebCore::WrapShapeCircle::setCenterX):
+ (WebCore::WrapShapeCircle::setCenterY):
+ (WebCore::WrapShapeCircle::setRadius):
+ (WebCore::WrapShapeCircle::WrapShapeCircle):
+ (WrapShapeEllipse):
+ (WebCore::WrapShapeEllipse::create):
+ (WebCore::WrapShapeEllipse::centerX):
+ (WebCore::WrapShapeEllipse::centerY):
+ (WebCore::WrapShapeEllipse::radiusX):
+ (WebCore::WrapShapeEllipse::radiusY):
+ (WebCore::WrapShapeEllipse::setCenterX):
+ (WebCore::WrapShapeEllipse::setCenterY):
+ (WebCore::WrapShapeEllipse::setRadiusX):
+ (WebCore::WrapShapeEllipse::setRadiusY):
+ (WebCore::WrapShapeEllipse::WrapShapeEllipse):
+ (WrapShapePolygon):
+ (WebCore::WrapShapePolygon::create):
+ (WebCore::WrapShapePolygon::windRule):
+ (WebCore::WrapShapePolygon::values):
+ (WebCore::WrapShapePolygon::getXAt):
+ (WebCore::WrapShapePolygon::getYAt):
+ (WebCore::WrapShapePolygon::setWindRule):
+ (WebCore::WrapShapePolygon::appendPoint):
+ (WebCore::WrapShapePolygon::WrapShapePolygon):
+ * rendering/style/StyleRareNonInheritedData.h:
+
+2012-08-30 Andrei Onea <onea@adobe.com>
+
+ [CSSRegions]Add support for text-shadow in region styling
+ https://bugs.webkit.org/show_bug.cgi?id=94472
+
+ Reviewed by David Hyatt.
+
+ The CSSRegions spec allows region styling to be applied on the text-shadow property
+ as well. We need to also add this in WebKit.
+
+ Test: fast/regions/region-style-text-shadow.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ Make sure we actually collect text-shadow property from parser in an @region rule.
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::styleInRegion):
+ (WebCore):
+ (WebCore::InlineBox::regionDuringLayout):
+ * rendering/InlineBox.h:
+ (WebCore):
+ (InlineBox):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::addToLine):
+ Take into account region styling, so that "knownToHaveNoOverflow" is computed
+ properly.
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ Take into account region styling, so that the visual overflow rect is computed
+ properly.
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ Made computeStyleInRegion public.
+
+2012-08-30 Andreas Kling <kling@webkit.org>
+
+ Element: Share code between setAttributeNode() and other attribute setters.
+ <http://webkit.org/b/95328>
+
+ Reviewed by Antti Koivisto.
+
+ Removed the specialized ElementAttributeData::replaceAttribute() that was only used for
+ replacing an existing Attr node on an Element. Instead, just use Element::setAttributeInternal()
+ like all the other attribute setters.
+
+ * dom/Element.cpp:
+ (WebCore::Element::setAttributeNode):
+ * dom/ElementAttributeData.cpp:
+ * dom/ElementAttributeData.h:
+ (ElementAttributeData):
+
+2012-08-30 Xan Lopez <xlopez@igalia.com>
+
+ 1.9.90 drops symbols, breaking compatibility
+ https://bugs.webkit.org/show_bug.cgi?id=93477
+
+ Reviewed by Martin Robinson.
+
+ Add a bunch of compatibility methods to the GObject DOM bindings
+ to cope with recent renames.
+
+ * bindings/gobject/WebKitDOMCustom.cpp:
+ (webkit_dom_html_element_get_class_list):
+ (webkit_dom_element_get_webkit_region_overflow):
+ (webkit_dom_webkit_named_flow_get_content_nodes):
+ (webkit_dom_webkit_named_flow_get_regions_by_content_node):
+ * bindings/gobject/WebKitDOMCustom.h:
+
+2012-08-29 Antti Koivisto <antti@apple.com>
+
+ Cache and share parsed imported stylesheets
+ https://bugs.webkit.org/show_bug.cgi?id=95219
+
+ Reviewed by Andreas Kling.
+
+ We currently cache and share parsed data structures of stylesheets loaded with <link>. We should do
+ the same with stylesheets loaded using @import rules as they are also fairly common.
+
+ This patch adds support for caching and sharing stylesheets loaded using @import rules. Only leaf
+ stylesheets (that don't have @import rules themselves) can be cached for now.
+
+ * css/CSSImportRule.cpp:
+ (WebCore::CSSImportRule::reattachStyleSheetContents):
+ (WebCore):
+ * css/CSSImportRule.h:
+ (CSSImportRule):
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::willMutateRules):
+ (WebCore::CSSStyleSheet::reattachCSSOMWrappers):
+ * css/CSSStyleSheet.h:
+ (CSSStyleSheet):
+ * css/StyleRuleImport.cpp:
+ (WebCore::StyleRuleImport::setCSSStyleSheet):
+ (WebCore::StyleRuleImport::reattachStyleSheetContents):
+ (WebCore):
+ * css/StyleRuleImport.h:
+ (StyleRuleImport):
+ * loader/cache/CachedCSSStyleSheet.cpp:
+ (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
+
+2012-08-30 Kangil Han <kangil.han@samsung.com>
+
+ Fix compile warning when enable tiled backing store
+ https://bugs.webkit.org/show_bug.cgi?id=95422
+
+ Reviewed by Kentaro Hara.
+
+ Fixed compile warning messages when enabled tiled backing store.
+ In case of TiledBackingStore, it was first thought about static_cast<unsigned>.
+ However, if minus value is assigned to the comparison, it would be critical.
+ So, it was modified as using int value in tiled coordinate calculation.
+
+ * page/Frame.cpp:
+ (WebCore::Frame::tiledBackingStorePaintEnd): comparison between signed and unsigned integer expressions [-Wsign-compare]
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::invalidate): comparison between signed and unsigned integer expressions [-Wsign-compare]
+ (WebCore::TiledBackingStore::paint): comparison between signed and unsigned integer expressions [-Wsign-compare]
+ (WebCore::TiledBackingStore::coverageRatio): comparison between signed and unsigned integer expressions [-Wsign-compare]
+ (WebCore::TiledBackingStore::createTiles): comparison between signed and unsigned integer expressions [-Wsign-compare]
+ * platform/graphics/cairo/GLContext.cpp:
+ (WebCore::GLContext::createOffscreenContext): no return statement in function returning non-void [-Wreturn-type]
+
+2012-08-30 Anton Muhin <antonm@chromium.org>
+
+ Heap-use-after-free in WebCore::ElementV8Internal::onclickAttrGetter
+ https://bugs.webkit.org/show_bug.cgi?id=94440
+
+ Reviewed by Adam Barth.
+
+ The problem appears due to onerror callback which resets onclick attribute.
+ As a part of changing onclick attribute value, previous event listener
+ gets deref which led to its destruction and hence use-after-free.
+ Refing it in ::getListenerObject helps to prevent this unfortunate scenario.
+
+ Test: fast/events/set-attribute-listener-window-onerror-crash.html
+
+ * bindings/v8/V8AbstractEventListener.h:
+ (WebCore::V8AbstractEventListener::getListenerObject):
+
+2012-08-30 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: [Sources] Invisible right sidebar issue
+ https://bugs.webkit.org/show_bug.cgi?id=94924
+
+ Reviewed by Pavel Feldman.
+
+ Debugger sidebar resizer is now hidden when sidebar is hidden.
+ Debugger sidebar show button is moved to the upper right corner in this case.
+
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
+ (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
+ * inspector/front-end/scriptsPanel.css:
+ (button.status-bar-item.scripts-debugger-show-hide-button):
+ (button.status-bar-item.scripts-debugger-show-hide-button:active):
+ (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown):
+ (button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown:active):
+ (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden):
+ (button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden:active):
+
+2012-08-30 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: move GeneratedImage members into its own cpp file
+ https://bugs.webkit.org/show_bug.cgi?id=95351
+
+ Reviewed by Yury Semikhatsky.
+
+ It is trivial patch. The methods of GeneratedImage were in GeneratorGeneratedImage.cpp file.
+ It was Ok when it was a single method.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/GeneratedImage.cpp: Added.
+ (WebCore):
+ (WebCore::GeneratedImage::computeIntrinsicDimensions):
+ (WebCore::GeneratedImage::reportMemoryUsage):
+ * platform/graphics/GeneratorGeneratedImage.cpp:
+
+2012-08-30 Patrick Gansterer <paroga@webkit.org>
+
+ Build fix for WinCE after r126974.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::reportMemoryUsage):
+
+2012-08-30 Adam Barth <abarth@webkit.org>
+
+ Replace uses of WTF::String::operator+= with StringBuilder
+ https://bugs.webkit.org/show_bug.cgi?id=95416
+
+ Reviewed by Benjamin Poulain.
+
+ WTF::String::operator+= appears to be a sandtrap for contributors. The
+ vast majority of the callers are using very inefficient string
+ patterns. This patch removes the use of operator+= in favor of
+ StringBuilder. Eventually, I'd like to remove operator+= so that more
+ code doesn't fall into this trap.
+
+ * Modules/websockets/WebSocketHandshake.cpp:
+ (WebCore::resourceName):
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::appendServerMapMousePosition):
+ (WebCore::HTMLAnchorElement::handleClick):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::font):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::nameForLayer):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::RenderTreeAsText::writeRenderObject):
+ (WebCore::nodePosition):
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::setContent):
+
+2012-08-30 Shinya Kawanaka <shinyak@chromium.org>
+
+ AuthorShadowDOM support for textarea element.
+ https://bugs.webkit.org/show_bug.cgi?id=91485
+
+ Reviewed by Dimitri Glazkov.
+
+ We add AuthorShadowDOM support for textarea element.
+
+ Unlike other replaced elements (e.g. meter, progress, img), we do not need to add
+ extra RenderBlock when we add AuthorShadowDOM. However, since inner element will not have
+ renderer when AuthorShadowDOM does not have any shadow insertion point, we have to check
+ the existence of the renderer of inner element.
+
+ Tests: fast/dom/shadow/shadowdom-for-textarea-with-attribute.html
+ fast/dom/shadow/shadowdom-for-textarea-with-placeholder.html
+ fast/dom/shadow/shadowdom-for-textarea-with-style.html
+ fast/dom/shadow/shadowdom-for-textarea.html
+
+ * dom/ShadowRoot.cpp:
+ (WebCore::allowsAuthorShadowRoot): Needs allow textarea to have AuthorShadowRoot.
+ * rendering/RenderTextControl.cpp: When AuthorShadowDOM does not have any insertion point,
+ innerTextElement() will not have any renderer. We have to tweak these renderers not to be crashed.
+ (WebCore::RenderTextControl::textBlockWidth):
+ (WebCore::RenderTextControl::updateFromElement):
+ (WebCore::RenderTextControl::computeLogicalHeight):
+ (WebCore::RenderTextControl::hitInnerTextElement):
+ (WebCore::RenderTextControl::computePreferredLogicalWidths):
+
+2012-08-29 Adam Barth <abarth@webkit.org>
+
+ [V8] ScriptController::matchesCurrentContext duplicates code from ScriptController::currentWorldContext
+ https://bugs.webkit.org/show_bug.cgi?id=95156
+
+ Reviewed by Eric Seidel.
+
+ matchesCurrentContext duplicated code from currentWorldContext in order
+ to avoid creating a new v8::Local handle in the (common) case that
+ we're already in the right context. This patch just exposes an accessor
+ for the underlying handle so that the bindings code can do this work
+ itself.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateToV8Converters):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::wrapSlow):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::unsafeHandleToCurrentWorldContext):
+ (WebCore):
+ (WebCore::ScriptController::currentWorldContext):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+ * bindings/v8/V8DOMWindowShell.h:
+ (WebCore::V8DOMWindowShell::context):
+
+2012-08-29 Nat Duca <nduca@chromium.org>
+
+ [chromium] setNeedsAnimate should not cause commitRequested to become true
+ https://bugs.webkit.org/show_bug.cgi?id=95393
+
+ Reviewed by James Robinson.
+
+ We use the commitRequested state to determine if the page has been damaged, which
+ then is used by the input flow control logic to coalesce input events. However, we
+ actually have two notions of commitRequested. At the CCLayerTreeHost level, commit
+ being requested means "we've changed the tree in some way." At the proxy level, it
+ means "we've sent a commit request to the impl thread." Without this patch,
+ we use the latter state to answer ::commitRequested. That causes setNeedsAnimate
+ to incorrectly cause the commitRequested bit to be set.
+
+ This change separates the setNeedsCommit state from commitRequestSentToImplThread.
+ This allows us to correctly answer commitRequested in face of mixed animation and
+ invalidation requests.
+
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::CCThreadProxy):
+ (WebCore::CCThreadProxy::setNeedsAnimate):
+ (WebCore::CCThreadProxy::setNeedsCommit):
+ (WebCore::CCThreadProxy::beginFrame):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (CCThreadProxy):
+
+2012-08-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] REGRESSION(r126694): It broke the debug build
+ https://bugs.webkit.org/show_bug.cgi?id=95037
+
+ Unreviewed trivial build fix for debug builds.
+
+ Don't pass WTFStrings through printf, use .ascii().data().
+
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+
+2012-08-29 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ Fix assertion on Document::recalcStyle to not recalc style while painting
+ https://bugs.webkit.org/show_bug.cgi?id=95386
+
+ Reviewed by Eric Seidel.
+
+ * dom/Document.cpp: Move assertion outside the if to reflect that safety check.
+
+2012-08-29 Aaron Colwell <acolwell@chromium.org>
+
+ Add WebKit prefix to MediaSource, SourceBuffer, & SourceBufferList DOMWindow constructor attributes.
+ https://bugs.webkit.org/show_bug.cgi?id=95247
+
+ Reviewed by Eric Carlson.
+
+ Add WebKit prefix to MediaSource, SourceBuffer, and SourceBufferList object constructor attributes.
+
+ Covered by existing layout tests..
+
+ * page/DOMWindow.idl:
+
+2012-08-29 Nate Chapin <japhet@chromium.org>
+
+ ProgressTracker never completes if iframe detached during parsing
+ https://bugs.webkit.org/show_bug.cgi?id=92272
+
+ Reviewed by Adam Barth.
+
+ Add a simple helper class to FrameLoader to ensure progressStarted/progressCompleted calls are matched,
+ and balance the calls when the Frame is detached.
+
+ No new tests, as this behavior has only been producing reliably by setting a breakpoint in a specific place.
+
+ * loader/FrameLoader.cpp:
+ (FrameLoader::FrameProgressTracker):
+ (WebCore::FrameLoader::FrameProgressTracker::create):
+ (WebCore::FrameLoader::FrameProgressTracker::~FrameProgressTracker):
+ (WebCore::FrameLoader::FrameProgressTracker::progressStarted):
+ (WebCore::FrameLoader::FrameProgressTracker::progressCompleted):
+ (WebCore::FrameLoader::FrameProgressTracker::FrameProgressTracker):
+ (WebCore):
+ (WebCore::FrameLoader::init):
+ (WebCore::FrameLoader::prepareForLoadStart):
+ (WebCore::FrameLoader::clearProvisionalLoad):
+ (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
+ (WebCore::FrameLoader::detachFromParent):
+ * loader/FrameLoader.h:
+ (FrameLoader):
+
+2012-08-29 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Rename DateTimeFieldElement::FieldEventHandler to FieldOwner
+ https://bugs.webkit.org/show_bug.cgi?id=95280
+
+ Reviewed by Kent Tamura.
+
+ This patch renames DateTimeFieldElement::FieldEventHandler to FieldOwner
+ for matching functionaly of class and class name to add functions like
+ focusOnNextField().
+
+ This patch affects ports which enables both ENABLE_INPUT_TYPE_TIME and
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ This patch is a part of changing Shift+Tab focus navigation of
+ multiple fields input time UI, bug 95168.
+
+ No new tests. This patch doesn't change behavior.
+
+ * html/shadow/DateTimeEditElement.h:
+ (DateTimeEditElement):
+ * html/shadow/DateTimeFieldElement.cpp:
+ (WebCore::DateTimeFieldElement::FieldOwner::~FieldOwner):
+ (WebCore::DateTimeFieldElement::DateTimeFieldElement):
+ (WebCore::DateTimeFieldElement::focusOnNextField):
+ (WebCore::DateTimeFieldElement::updateVisibleValue):
+ * html/shadow/DateTimeFieldElement.h:
+ (FieldOwner):
+ (WebCore::DateTimeFieldElement::removeEventHandler):
+ (DateTimeFieldElement):
+ * html/shadow/DateTimeFieldElements.cpp:
+ (WebCore::DateTimeAMPMFieldElement::DateTimeAMPMFieldElement):
+ (WebCore::DateTimeAMPMFieldElement::create):
+ (WebCore::DateTimeHourFieldElement::DateTimeHourFieldElement):
+ (WebCore::DateTimeHourFieldElement::create):
+ (WebCore::DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement):
+ (WebCore::DateTimeMillisecondFieldElement::create):
+ (WebCore::DateTimeMinuteFieldElement::DateTimeMinuteFieldElement):
+ (WebCore::DateTimeMinuteFieldElement::create):
+ (WebCore::DateTimeSecondFieldElement::DateTimeSecondFieldElement):
+ (WebCore::DateTimeSecondFieldElement::create):
+ * html/shadow/DateTimeFieldElements.h:
+ (DateTimeAMPMFieldElement):
+ (DateTimeHourFieldElement):
+ (DateTimeMillisecondFieldElement):
+ (DateTimeMinuteFieldElement):
+ (DateTimeSecondFieldElement):
+ * html/shadow/DateTimeNumericFieldElement.cpp:
+ (WebCore::DateTimeNumericFieldElement::DateTimeNumericFieldElement):
+ * html/shadow/DateTimeNumericFieldElement.h:
+ (DateTimeNumericFieldElement):
+ * html/shadow/DateTimeSymbolicFieldElement.cpp:
+ (WebCore::DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement):
+ * html/shadow/DateTimeSymbolicFieldElement.h:
+ (DateTimeSymbolicFieldElement):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Add new role for a canvas element, and a method to determine if
+ a canvas has fallback content, so each platform can decide on the
+ appropriate role mapping to use.
+
+ Test: accessibility/canvas-description-and-role.html
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
+ (WebCore):
+ * accessibility/AccessibilityNodeObject.h:
+ (AccessibilityNodeObject):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isCanvas):
+ (WebCore::AccessibilityObject::canvasHasFallbackContent):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ (WebCore::AccessibilityRenderObject::canHaveChildren):
+ * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
+ (atkRole):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (createAccessibilityRoleMap):
+ (-[WebAccessibilityObjectWrapper role]):
+
+2012-08-29 Michael Saboff <msaboff@apple.com>
+
+ use after free in WebCore::FileReader::doAbort
+ https://bugs.webkit.org/show_bug.cgi?id=91004
+
+ Reviewed by Jian Li.
+
+ Added check in FileReader::abort to not process the abort if we aren't in the LOADING
+ state. This is per the FileAPI spec section 8.5.6 step #1.
+
+ Tests: fast/files/file-reader-immediate-abort.html
+ fast/files/file-reader-done-reading-abort.html
+
+ * fileapi/FileReader.cpp:
+ (WebCore::FileReader::abort):
+
+2012-08-29 Alex Sakhartchouk <alexst@chromium.org>
+
+ [chromium] CCLayerTreeHost::finishCommitOnImplThread wrong setter order
+ https://bugs.webkit.org/show_bug.cgi?id=94828
+
+ Reviewed by Adrienne Walker.
+
+ setDeviceScaleFactor affects maxScrollPosition, making sure it's properly updated.
+ This also removes setter order dependency.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor):
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r126956.
+ http://trac.webkit.org/changeset/126956
+ https://bugs.webkit.org/show_bug.cgi?id=94721
+
+ Breaks several unit tests - see https://bugs.webkit.org/show_bug.cgi?id=95358 for instance.
+
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::CCScheduler):
+ (WebCore::CCScheduler::beginFrameComplete):
+ (WebCore::CCScheduler::vsyncTick):
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCSchedulerClient):
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
+ (WebCore::CCTextureUpdateController::CCTextureUpdateController):
+ (WebCore::CCTextureUpdateController::hasMoreUpdates):
+ (WebCore):
+ (WebCore::CCTextureUpdateController::updateMoreTextures):
+ (WebCore::CCTextureUpdateController::onTimerFired):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.h:
+ (WebCore):
+ (WebCore::CCTextureUpdateController::create):
+ (CCTextureUpdateController):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::didLoseContextOnImplThread):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::hasMoreResourceUpdates):
+ (WebCore):
+ (WebCore::CCThreadProxy::scheduledActionCommit):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (WebCore):
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] Register/unregister contents layers with GraphicsLayerChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95379
+
+ Reviewed by Adrienne Walker.
+
+ Several composited layer types in WebCore are represented by a painted layer and a child "contents layer" that
+ represents some non-painted specific content type. For example, a composited video has a WebCore-painted layer
+ for CSS background and border effects and a child platform video layer backed by a WebVideoLayer with the output
+ of the video decoding pipeline. Cross-platform code associates the PlatformLayer from the various composited
+ systems with the right GraphicsLayer, but the object owning the layer and the GraphicsLayer holding the pointer
+ otherwise have no relationship. This makes shutdown a bit tricky since the object destroying the contents layer
+ has no direct way to notify the GraphicsLayer holding the contents layer pointer that it is going away. The
+ GraphicsLayer will be notified after the next style recalc that its contents layer is gone, but may need to do
+ any number of bookkeeping operations before that happens.
+
+ On most platforms the PlatformLayer is refcounted, so the GraphicsLayer simply holds a ref to its contents layer
+ from the time it is orphaned until the next style recalc and compositing tree rebuild. In Chromium, however,
+ PlatformLayer is not refcounted. This adds an explicit registration mechanism for layers that may be contents
+ layers. A layer has to be registered with GraphicsLayerChromium before it can be used as a contents layer -
+ typically this is just done at creation - and unregistered before it is destroyed.
+
+ Tests: fast/canvas/transformed-canvas-reset.html
+ platform/chromium/virtual/gpu/fast/canvas/transformed-canvas-reset.html
+
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate):
+ (WebCore::createScrollbarLayer):
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
+ (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::updateNames):
+ (WebCore::GraphicsLayerChromium::clearBackgroundColor):
+ (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
+ (WebCore::GraphicsLayerChromium::setContentsToImage):
+ (WebCore):
+ (WebCore::GraphicsLayerChromium::registerContentsLayer):
+ (WebCore::GraphicsLayerChromium::unregisterContentsLayer):
+ (WebCore::GraphicsLayerChromium::clearContentsLayerIfUnregistered):
+ (WebCore::GraphicsLayerChromium::setContentsTo):
+ (WebCore::GraphicsLayerChromium::updateChildList):
+ (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
+ (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
+ (WebCore::GraphicsLayerChromium::updateContentsRect):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+ (GraphicsLayerChromium):
+
+2012-08-29 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ [Texmap] CSS Transform flicks at the end of animation
+ https://bugs.webkit.org/show_bug.cgi?id=95347
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/GraphicsLayerAnimation.cpp: Check if the last loop has
+ been completed and then use 1.0 as normalized value for the progress, otherwise
+ it would work as if there was a new loop forward and then cycle the progress value.
+
+2012-08-29 Abhishek Arya <inferno@chromium.org>
+
+ Crash in WebCore::StyleSheetContents::checkLoadCompleted.
+ https://bugs.webkit.org/show_bug.cgi?id=95106
+
+ Reviewed by Antti Koivisto.
+
+ RefPtr StyleSheetContents since it can get blown away in script execution inside
+ sheetLoaded().
+
+ Test: fast/css/style-element-process-crash.html
+
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::checkLoadCompleted):
+
+2012-08-29 José Dapena Paz <jdapena@igalia.com>
+
+ [Gtk] Process Gtk 3.4 smooth scroll events properly.
+ https://bugs.webkit.org/show_bug.cgi?id=88070
+
+ Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
+ provides detailed delta information.
+
+ Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
+ code to process properly the new direction GDK_SCROLL_SMOOTH and
+ its deltas.
+
+ Reviewed by Martin Robinson.
+
+ Test: fast/events/continuous-platform-wheelevent-in-scrolling-div.html
+
+ * platform/gtk/PlatformWheelEventGtk.cpp:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+
+2012-08-29 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove HUD layer when rootLayer is set to null
+ https://bugs.webkit.org/show_bug.cgi?id=95257
+
+ Reviewed by James Robinson.
+
+ When the rootLayer changes, remove the HUD layer from the old
+ root layer immediately. Then, during commit, set the hud layer
+ on the impl side only if there is a HUD layer present, and if
+ there is a rootLayer present for it to be a child of.
+
+ Tests: CCHudWithRootLayerChange
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
+ (WebCore::CCLayerTreeHost::willCommit):
+ (WebCore::CCLayerTreeHost::setRootLayer):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (WebCore::CCLayerTreeHost::hudLayer):
+ (CCLayerTreeHost):
+
+2012-08-29 Roland Takacs <rtakacs@inf.u-szeged.hu>, Helder Correia <helder.correia@nokia.com>
+
+ [Texmap] Move TextureMapperGL to use GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=78672
+
+ Reviewed by Noam Rosenthal.
+
+ It is based on a previous patch by Helder Correia.
+
+ TextureMapperGL (TMGL) includes direct GL calls and
+ GraphicsContext3D (GC3D) offers many conveniences over the
+ former approach: using existing CSS shader code, ANGLE for
+ shader compilation, reusing WebCore::Texture, having shaders and
+ textures that can delete themselves.
+
+ A GC3D object is created by TMGL with the newly introduced
+ builder createForCurrentGLContext(), which in turn uses
+ the new RenderToCurrentGLContext flag underneath.
+
+ TMGL's dependency on OpenGLShims.h was completely removed.
+ However, GC3D does not map every single GL constant. Thus, it's
+ important to document the following:
+ - GL_FALSE was mapped to false.
+ - GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_PIXELS,
+ GL_UNPACK_SKIP_ROWS, GL_TEXTURE_RECTANGLE_ARB, and
+ GL_UNSIGNED_INT_8_8_8_8_REV were locally defined in TMGL.
+
+ The patch was originally developed by Helder Correia and finished
+ by Roland Takacs.
+
+ No new tests, refactoring.
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (SharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
+ (WebCore::TextureMapperGLData::sharedGLData):
+ (WebCore::TextureMapperGLData::TextureMapperGLData):
+ (TextureMapperGLData):
+ (WebCore::scissorClip):
+ (WebCore::TextureMapperGL::ClipStack::apply):
+ (WebCore::TextureMapperGLData::initializeStencil):
+ (WebCore::TextureMapperGL::TextureMapperGL):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::TextureMapperGL::endPainting):
+ (WebCore::TextureMapperGL::drawQuad):
+ (WebCore::TextureMapperGL::drawBorder):
+ (WebCore):
+ (WebCore::TextureMapperGL::drawTextureRectangleARB):
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::viewportMatrix):
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::BitmapTextureGL::updateContents):
+ (WebCore::TextureMapperGL::drawFiltered):
+ (WebCore::BitmapTextureGL::initializeStencil):
+ (WebCore::BitmapTextureGL::clearIfNeeded):
+ (WebCore::BitmapTextureGL::createFboIfNeeded):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::BitmapTextureGL::~BitmapTextureGL):
+ (WebCore::TextureMapperGL::bindDefaultSurface):
+ (WebCore::TextureMapperGL::beginScissorClip):
+ (WebCore::TextureMapperGL::beginClip):
+ (WebCore::TextureMapperGL::endClip):
+ (WebCore::TextureMapperGL::createTexture):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore::TextureMapperGL::graphicsContext3D):
+ (TextureMapperGL):
+ (ClipStack):
+ (WebCore::BitmapTextureGL::textureTarget):
+ (BitmapTextureGL):
+ (WebCore::BitmapTextureGL::BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::initializeProgram):
+ (WebCore::TextureMapperShaderProgram::getUniformLocation):
+ (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask):
+ (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
+ (WebCore::StandardFilterProgram::~StandardFilterProgram):
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+ (WebCore::StandardFilterProgram::create):
+ (WebCore::StandardFilterProgram::prepare):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (WebCore::TextureMapperShaderProgram::id):
+ (WebCore::TextureMapperShaderProgram::vertexAttrib):
+ (TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::matrixLocation):
+ (WebCore::TextureMapperShaderProgram::flipLocation):
+ (WebCore::TextureMapperShaderProgram::textureSizeLocation):
+ (WebCore::TextureMapperShaderProgram::sourceTextureLocation):
+ (WebCore::TextureMapperShaderProgram::maskTextureLocation):
+ (WebCore::TextureMapperShaderProgram::opacityLocation):
+ (WebCore::TextureMapperShaderProgram::isValidUniformLocation):
+ (StandardFilterProgram):
+ (WebCore::StandardFilterProgram::vertexAttrib):
+ (WebCore::StandardFilterProgram::texCoordAttrib):
+ (WebCore::StandardFilterProgram::textureUniform):
+ (WebCore::TextureMapperShaderProgramSimple::create):
+ (TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramRectSimple::create):
+ (TextureMapperShaderProgramRectSimple):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
+ (TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create):
+ (TextureMapperShaderProgramRectOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramSolidColor::create):
+ (WebCore::TextureMapperShaderProgramSolidColor::colorLocation):
+ (TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation):
+ (TextureMapperShaderProgramAntialiasingNoMask):
+ (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
+ (TextureMapperShaderManager):
+
+2012-08-29 Adam Barth <abarth@webkit.org>
+
+ Convert more static Strings to use ASCIILiteral
+ https://bugs.webkit.org/show_bug.cgi?id=95313
+
+ Reviewed by Eric Seidel.
+
+ This patch converts another swath of static strings to use ASCIILiteral
+ as recommended by http://trac.webkit.org/wiki/EfficientStrings.
+
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::openKeyword):
+ (WebCore):
+ (WebCore::MediaSource::closedKeyword):
+ (WebCore::MediaSource::endedKeyword):
+ * Modules/mediasource/MediaSource.h:
+ (MediaSource):
+ * Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
+ (WebCore::customHandlersStateString):
+ * Modules/notifications/Notification.cpp:
+ (WebCore::Notification::permissionString):
+ * accessibility/AccessibilityMediaControls.cpp:
+ (WebCore::AccessibilityMediaControl::controlTypeName):
+ (WebCore::AccessibilityMediaControl::title):
+ (WebCore::AccessibilityMediaControlsContainer::elementTypeName):
+ (WebCore::AccessibilityMediaTimeline::helpText):
+ * bindings/js/JSInspectorFrontendHostCustom.cpp:
+ (WebCore::JSInspectorFrontendHost::platform):
+ (WebCore::JSInspectorFrontendHost::port):
+ * bindings/js/ScriptEventListener.cpp:
+ (WebCore::eventParameterName):
+ * bindings/v8/ScriptEventListener.cpp:
+ (WebCore::eventParameterName):
+ * css/CSSWrapShapes.cpp:
+ (WebCore::CSSWrapShapeRectangle::cssText):
+ (WebCore::CSSWrapShapeCircle::cssText):
+ (WebCore::CSSWrapShapeEllipse::cssText):
+ (WebCore::CSSWrapShapePolygon::cssText):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parseAuthorStyleSheet):
+ * dom/Document.cpp:
+ (WebCore::Document::readyState):
+ * editing/MarkupAccumulator.cpp:
+ (WebCore::appendCharactersReplacingEntities):
+ * editing/markup.cpp:
+ (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
+ (WebCore::StyledMarkupAccumulator::styleNodeCloseTag):
+ (WebCore::StyledMarkupAccumulator::appendElement):
+ (WebCore::createMarkup):
+ * html/track/TextTrackCue.cpp:
+ (WebCore::startKeyword):
+ (WebCore::middleKeyword):
+ (WebCore::endKeyword):
+ (WebCore::verticalGrowingLeftKeyword):
+ (WebCore::verticalGrowingRightKeyword):
+ (WebCore::TextTrackCue::updateDisplayTree):
+ (WebCore::TextTrackCue::settingName):
+ * page/DiagnosticLoggingKeys.cpp:
+ (WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
+ (WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
+ (WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
+ (WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
+ (WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
+ (WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
+ (WebCore::DiagnosticLoggingKeys::passKey):
+ (WebCore::DiagnosticLoggingKeys::failKey):
+ (WebCore::DiagnosticLoggingKeys::noopKey):
+ * page/PageVisibilityState.cpp:
+ (WebCore::pageVisibilityStateString):
+ * page/UserContentURLPattern.cpp:
+ (WebCore::UserContentURLPattern::parse):
+ * platform/KURLWTFURL.cpp:
+ (WebCore::KURL::string):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::defaultMIMEType):
+ (WebCore::mimeTypeAssociationMap):
+ * platform/network/ContentTypeParser.cpp:
+ (WebCore::ContentTypeParser::parse):
+ * platform/network/win/DownloadBundleWin.cpp:
+ (WebCore::DownloadBundle::fileExtension):
+ * storage/StorageTracker.cpp:
+ (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
+ * svg/SVGAnimatedBoolean.cpp:
+ (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
+
+2012-08-29 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Rename methods to prepare for proper pagination of columns
+ https://bugs.webkit.org/show_bug.cgi?id=95375
+
+ Reviewed by Simon Fraser.
+
+ This patch is doing some renaming and refactoring to prepare for proper pagination of columns. Most of the renames
+ involve changing RenderFlowThread functions to exactly match the names of their RenderBlock callers. These names
+ end up being more accurate once the top of a page and remaining height on a page no longer have a 1:1 mapping to
+ the RenderRegion's dimensions.
+
+ The renames/additions include:
+ renderRegionForLine -> regionAtBlockOffset
+ Justification: The block method is already called regionAtBlockOffset. No lines are involved, so line was
+ never the correct term to be passing in.
+
+ regionLogicalXXXForLine -> pageLogicalXXXForOffset
+ Justification: Matches the RenderBlock callers, and it's more accurate to talk in terms of "pages" now that
+ we have RenderRegionSets that can contain multiple "pages" in a single region.
+
+ logicalWidthForFlowThreadContent/logicalHeightForFlowThreadContent -> pageLogicalWidth/Height.
+ Justification: Makes it more clear we're talking about the width and height of a single page/column rather
+ than the width and height of the region itself.
+
+ logicalHeightOfAllFlowThreadContent
+ This method is new and represents the total flow thread logical height that is consumed by the region.
+ It has to be distinguished from the pageLogicalHeight for a region since sets can have multiple pages/columns.
+
+ Note with this patch we're essentially adopting the convention used by all of the pagination code besides regions
+ of referring to anything we paginate as a "page." I continue to believe this is the simplest way to talk about
+ these objects in code that is generically dealing with all three (like the breaking code in RenderBlock).
+
+ Eventually we might adopt the fragment terminology in the latest CSS draft, in which case
+ RenderRegion would become RenderFragment, RenderFlowThread would become RenderFragmentedBlock, and uses of
+ the generic "page" would become "fragment" instead, but we'll wait for that draft's terminology to stabilize first
+ before switching away from the current names.
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::hasNextPage):
+ (WebCore::RenderBlock::pageLogicalTopForOffset):
+ (WebCore::RenderBlock::pageLogicalHeightForOffset):
+ (WebCore::RenderBlock::pageRemainingLogicalHeightForOffset):
+ (WebCore::RenderBlock::regionAtBlockOffset):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::layout):
+ (WebCore::RenderFlowThread::computeLogicalWidth):
+ (WebCore::RenderFlowThread::computeLogicalHeight):
+ (WebCore::RenderFlowThread::regionAtBlockOffset):
+ (WebCore::RenderFlowThread::pageLogicalTopForOffset):
+ (WebCore::RenderFlowThread::pageLogicalWidthForOffset):
+ (WebCore::RenderFlowThread::pageLogicalHeightForOffset):
+ (WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
+ (WebCore::RenderFlowThread::mapFromFlowToRegion):
+ (WebCore::RenderFlowThread::setRegionRangeForBox):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderMultiColumnSet.h:
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::pageLogicalWidth):
+ (WebCore::RenderRegion::pageLogicalHeight):
+ (WebCore):
+ (WebCore::RenderRegion::logicalHeightOfAllFlowThreadContent):
+ (WebCore::RenderRegion::layout):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+
+2012-08-29 David Grogan <dgrogan@chromium.org>
+
+ IndexedDB: Throw TypeError for invalid version parameters
+ https://bugs.webkit.org/show_bug.cgi?id=95143
+
+ Reviewed by Tony Chang.
+
+ Still need to throw for -1, but developers are running into the string
+ scenario so handling that is more urgent. See
+ https://groups.google.com/a/chromium.org/forum/?fromgroups=#!topic/chromium-html5/QvjsPbBdP4M
+
+ Test: storage/indexeddb/intversion-bad-parameters.html
+
+ * Modules/indexeddb/IDBFactory.cpp:
+ (WebCore::IDBFactory::open):
+
+2012-08-29 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Shaders] Use CSS transform parsing code within CSS Shader
+ https://bugs.webkit.org/show_bug.cgi?id=71401
+
+ Reviewed by Dean Jackson.
+
+ Added computed style for the transform parameters of the custom() filter function.
+ Implemented the FECustomFilter bindings needed to push the value to an actual matrix for the CSS Shader.
+
+ Note that transform parameters animations support will come in a different patch:
+ https://bugs.webkit.org/show_bug.cgi?id=94980.
+
+ Test: css3/filters/custom/effect-custom-transform-parameters.html
+
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::matrixTransformValue): Extracted code from computedTransform into a function, so that we
+ can reuse it.
+ (WebCore):
+ (WebCore::computedTransform):
+ (WebCore::valueForCustomFilterNumberParameter): Made all the custom filter related functions static to match
+ most of the other functions in this file.
+ (WebCore::valueForCustomFilterTransformParameter):
+ (WebCore::valueForCustomFilterParameter):
+ (WebCore::CSSComputedStyleDeclaration::valueForFilter): Needed the object size to compute the transform.
+ (WebCore::CSSComputedStyleDeclaration::valueForShadow): Added the const keyword.
+ (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Passed in the object to the valueForFilter.
+ * css/CSSComputedStyleDeclaration.h:
+ (WebCore):
+ (CSSComputedStyleDeclaration):
+ * css/StyleResolver.cpp:
+ (StyleResolver::parseCustomFilterTransformParameter):
+ (StyleResolver::parseCustomFilterParameter):
+ (StyleResolver::parseCustomFilterParameterList):
+ * css/StyleResolver.h:
+ (StyleResolver):
+ * platform/graphics/filters/CustomFilterParameter.h:
+ * platform/graphics/filters/CustomFilterTransformParameter.h: Filter parameter wrapper for the FilterOperations.
+ (WebCore):
+ (CustomFilterTransformParameter):
+ (WebCore::CustomFilterTransformParameter::create):
+ (WebCore::CustomFilterTransformParameter::blend): Animations will come in future patch.
+ (WebCore::CustomFilterTransformParameter::operator==):
+ (WebCore::CustomFilterTransformParameter::applyTransform):
+ (WebCore::CustomFilterTransformParameter::operations):
+ (WebCore::CustomFilterTransformParameter::setOperations):
+ (WebCore::CustomFilterTransformParameter::CustomFilterTransformParameter):
+ * platform/graphics/filters/FECustomFilter.cpp:
+ (WebCore::FECustomFilter::bindProgramTransformParameter):
+ (WebCore):
+ (WebCore::FECustomFilter::bindProgramParameters):
+ * platform/graphics/filters/FECustomFilter.h:
+ (WebCore):
+ (FECustomFilter):
+
+2012-08-29 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ Use Animation::IterationCountInfinite instead of -1 when setting iteration count
+ https://bugs.webkit.org/show_bug.cgi?id=95339
+
+ Reviewed by Andreas Kling.
+
+ * css/CSSToStyleMap.cpp: Replace -1 for the proper enum.
+
+2012-08-29 Martin Robinson <mrobinson@igalia.com>
+
+ [TexMap][cairo] Add GC3D::RenderToCurrentGLContext support
+ https://bugs.webkit.org/show_bug.cgi?id=92441
+
+ Reviewed by Noam Rosenthal.
+
+ Add a RenderToCurrentGLContext for the Cairo GraphicsContext3D. This will allow
+ TextureMapperGL to be rewritten on top of GraphicsContext3D by exposing the GC3D
+ interface for the widget's GL context.
+
+ No new tests. This will be covered by the existing AC tests after the patch on
+ bug 78672 lands.
+
+ * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
+ (WebCore::GraphicsContext3D::GraphicsContext3D): Only create the offscreen
+ rendering buffers if we are rendering offscreen. Pass the rendering style to
+ the private data factory.
+ (WebCore::GraphicsContext3D::~GraphicsContext3D): Only destroy the offscreen
+ rendering buffers if we are rendering offscreen.
+ * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
+ (WebCore::GraphicsContext3DPrivate::create): Pass the rendering style through.
+ (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate): If we are using
+ a "current GL context" rendering style, we don't need to create a GL context.
+ We'll always just use the one that's currently active.
+ (WebCore::GraphicsContext3DPrivate::paintToTextureMapper): Assert that we only
+ do this with the offscreen rendering style.
+ * platform/graphics/cairo/GraphicsContext3DPrivate.h: Update method definitions
+ and expose the rendering style member GraphicsContext3D.
+
+2012-08-29 Martin Leutelt <martin.leutelt@basyskom.com>
+
+ [Qt] Implement CompositeDifference
+ https://bugs.webkit.org/show_bug.cgi?id=77355
+
+ Reviewed by Noam Rosenthal.
+
+ Add mapping for difference composite mode for
+ future use.
+
+ * platform/graphics/qt/GraphicsContextQt.cpp:
+ (WebCore::toQtCompositionMode):
+
+2012-08-29 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Adjust wtf include header style
+ https://bugs.webkit.org/show_bug.cgi?id=95368
+
+ Reviewed by Yong Li.
+
+ Switch to #include <wtf/...> like the other ports.
+
+ * platform/graphics/blackberry/LayerFilterRenderer.h:
+
+2012-08-29 Eugene Klyuchnikov <eustas.bug@gmail.com>
+
+ Web Inspector: Timeline: avoid "IPC message too big" on save/load
+ https://bugs.webkit.org/show_bug.cgi?id=91991
+
+ Reviewed by Alexander Pavlov.
+
+ Motivation: Now timeline tries to save all data with one chunk.
+ Sometimes this causes "IPC message too big" error.
+
+ Solution: Reuse Profiles/Heap save/load code.
+
+ * inspector/front-end/FileUtils.js:
+ (WebInspector.OutputStream): Moved from HeapSnapshotView.js
+ (WebInspector.findBalancedCurlyBrackets): Moved from HeapSnapshotLoader.js
+ (WebInspector.ChunkedXHRReader): Added.
+ (WebInspector.ChunkedFileWriter): Moved from HeapSnapshotView.js
+ * inspector/front-end/HeapSnapshotLoader.js: Utility method moved to FileUtils.js
+ * inspector/front-end/HeapSnapshotView.js: IO specific classes moved to FileUtils.js
+ * inspector/front-end/HeapSnapshotWorker.js: Added dependency to FileUtils.js
+ * inspector/front-end/TimelineModel.js: Adopted chunked IO API.
+ (WebInspector.TimelineModelLoader): Class for chunked deserialization.
+ (WebInspector.TimelineModelWriteToFileDelegate): Chunked serializer.
+
+2012-08-29 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Implement hit testing for columns.
+ https://bugs.webkit.org/show_bug.cgi?id=95367
+
+ Reviewed by Simon Fraser.
+
+ Add an implementation of nodeAtPoint for RenderMultiColumnSet that works similarly to painting.
+ Multiple calls get made as you walk through the columns to hitTestFlowThreadPortionInRegion.
+
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::nodeAtPoint):
+ (WebCore):
+ * rendering/RenderMultiColumnSet.h:
+ (RenderMultiColumnSet):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::nodeAtPoint):
+
+2012-08-29 Anna Cavender <annacc@chromium.org>
+
+ Create a toggle button for closed captions.
+ https://bugs.webkit.org/show_bug.cgi?id=94395
+
+ Reviewed by Eric Carlson.
+
+ This patch will create a button that toggles any captions or subtitles on or off.
+
+ Test: media/video-controls-captions.html
+
+ * css/mediaControlsChromium.css:
+ (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
+ New style for new button.
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::HTMLMediaElement):
+ Initialize new variable for keeping track of user (button) disabled captions.
+
+ (WebCore::HTMLMediaElement::loadTimerFired):
+ Rename configureNewTextTracks() to configureTextTracks().
+
+ (WebCore::HTMLMediaElement::prepareForLoad):
+ Do not set closedCaptionsVisible to false, we should instead honor the
+ checks for default out-of-band tracks.
+
+ (WebCore::HTMLMediaElement::textTrackModeChanged):
+ Rename configureNewTextTracks() to configureTextTracks().
+
+ (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind):
+ Add checks for when user has requested to see or not see captions.
+
+ (WebCore::HTMLMediaElement::configureTextTracks):
+ Rename configureNewTextTracks() to configureTextTracks().
+
+ (WebCore::HTMLMediaElement::hasClosedCaptions):
+ Return true if we have any caption or subtitle text tracks.
+
+ (WebCore::HTMLMediaElement::setClosedCaptionsVisible):
+ Update the text track display and the closed captions button when the
+ closed captions button is toggled.
+
+ (WebCore::HTMLMediaElement::configureTextTrackDisplay):
+ If the visibility of any text tracks has changed, update the display and
+ the controls.
+
+ (WebCore::HTMLMediaElement::updateClosedCaptionsControls):
+ New function that updates both the text track display and the closed
+ captions button.
+
+ * html/HTMLMediaElement.h:
+ (HTMLMediaElement):
+ New function updateClosedCaptionsControls()
+
+ Adding the button:
+ * html/shadow/MediaControlRootElementChromium.cpp:
+ (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
+ (WebCore::MediaControlRootElementChromium::initializeControls):
+ (WebCore::MediaControlRootElementChromium::setMediaController):
+ (WebCore::MediaControlRootElementChromium::reset):
+ (WebCore::MediaControlRootElementChromium::reportedError):
+ (WebCore::MediaControlRootElementChromium::changedClosedCaptionsVisibility):
+ (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
+ * html/shadow/MediaControlRootElementChromium.h:
+ (WebCore):
+ (MediaControlRootElementChromium):
+
+ Ensure that Linux and Windows render themes will support closed captions:
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore):
+ (WebCore::supportsClosedCaptioning):
+ * rendering/RenderThemeChromiumSkia.h:
+ (RenderThemeChromiumSkia):
+
+2012-08-29 Jessie Berlin <jberlin@apple.com>
+
+ run-bindings-tests failing on Apple Mountain Lion Testers.
+ https://bugs.webkit.org/show_bug.cgi?id=95354
+
+ Reviewed by Eric Seidel.
+
+ The binding tests were expecting incorrect results on Mac. The versions using the @property
+ syntax are correct for Leopard and above. CodeGeneratorObjC.pm was determining which syntax
+ to use based on the value of MACOSX_DEPLOYMENT_TARGET, which might not be set in the
+ environment the tests get run in but is correctly set by xcodebuild.
+
+ * bindings/scripts/CodeGeneratorObjC.pm:
+ (GenerateHeader):
+ Remove the code to support Tiger and earlier and the reliance on MACOSX_DEPLOYMENT_TARGET.
+ * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h:
+ Update the expectations to expect the @property syntax (done with --reset-results).
+ * bindings/scripts/test/ObjC/DOMTestEventConstructor.h:
+ Ditto.
+ * bindings/scripts/test/ObjC/DOMTestException.h:
+ Ditto.
+ * bindings/scripts/test/ObjC/DOMTestInterface.h:
+ Ditto.
+ * bindings/scripts/test/ObjC/DOMTestObj.h:
+ Ditto.
+ * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
+ Ditto.
+
+2012-08-29 Vivek Galatage <vivekgalatage@gmail.com>
+
+ Web Inspector: Refactor InspectorFrontendClientLocal to remove ScriptState as member
+ https://bugs.webkit.org/show_bug.cgi?id=95343
+
+ Reviewed by Yury Semikhatsky.
+
+ The ScriptState is not required to be stored as a member to
+ InspectorFrontendClientLocal hence removing it as member.
+
+ No new tests due to code refactoring.
+
+ * inspector/InspectorFrontendClientLocal.cpp:
+ (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
+ (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
+ * inspector/InspectorFrontendClientLocal.h:
+ (WebCore):
+ (InspectorFrontendClientLocal):
+
+2012-08-28 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Do not clip root layer's subtree to viewport
+ https://bugs.webkit.org/show_bug.cgi?id=95235
+
+ Reviewed by Adrienne Walker.
+
+ The root layer's renderSurface already correctly clips everything
+ to the viewport's bounds. There are some useful reasons that we
+ should not cause the root layer itself to clip the subtree any
+ further, in particular so that surfaces can remain more cacheable,
+ and to make root layer semantics more homogeneous.
+
+ Existing tests updated, and otherwise this change is already
+ covered by layout and unit tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
+ (WebCore::calculateDrawTransformsInternal):
+
+2012-08-28 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Implement column contents painting.
+ https://bugs.webkit.org/show_bug.cgi?id=95251
+
+ Reviewed by Simon Fraser.
+
+ This patch implements paintColumnContents for the new multicolumn blocks. There are a number of
+ improvements made over the current multi-column implementation. They include the fact that left
+ and right columns will now be unclipped, so contents of columns can actually spill out of the block now.
+ Outlines now also work properly. The contents of the first column and last column can also now overflow
+ visually out of the top and bottom of those columns respectively.
+
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::flowThreadPortionRectAt):
+ This method returns the exact portion of the flow thread that matches the column dimensions.
+ The width and height are the column width and height. It is equivalent to RenderRegion::flowThreadPortionRect,
+ but is applied only for a specific column in the set.
+
+ (WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
+ This method expands the flowThreadPortionRect to unclip the edges of left and right columns, the top and
+ bottom edges of first and last columns, and it also expands the painting to go into half of the column
+ gap. It is analogous to RenderRegion::flowThreadPortionOverflowRect, but it's doing the right thing
+ for each individual column.
+
+ (WebCore::RenderMultiColumnSet::paintColumnContents):
+ The implementation of column contents painting. Each column is iterated over, and the two rects above
+ are computed and passed in to RenderFlowThread::paintFlowThreadPortionInRegion. This code does the right
+ thing with offsets and clipping when handed these two rects and handles all of the rest.
+
+ * rendering/RenderMultiColumnSet.h:
+ Declare the new functions that return the flow thread portion rects.
+
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::flowThreadPortionOverflowRect):
+ (WebCore):
+ (WebCore::RenderRegion::overflowRectForFlowThreadPortion):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ * rendering/RenderRegionSet.cpp:
+ Refactor this so that it can be invoked by column sets and operate on the first and last columns instead
+ of only being tied to the first and last regions.
+
+ (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):
+ Fix a bug here where the flowThread.y() should not have been subtracted. We're in local flow thread
+ coordinates.
+
+2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126972.
+ http://trac.webkit.org/changeset/126972
+ https://bugs.webkit.org/show_bug.cgi?id=95349
+
+ accessibility/canvas-description-and-role.html has been
+ failing consistently on several bots and Dominic needs some
+ time to investigate why (Requested by jchaffraix on #webkit).
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ * accessibility/AccessibilityNodeObject.h:
+ * accessibility/AccessibilityObject.h:
+ (AccessibilityObject):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityDescription):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ (WebCore::AccessibilityRenderObject::canHaveChildren):
+ * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
+ (atkRole):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (createAccessibilityRoleMap):
+ (-[WebAccessibilityObjectWrapper role]):
+
+2012-08-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Minor ResourceScriptMapping polish.
+ https://bugs.webkit.org/show_bug.cgi?id=95350
+
+ Reviewed by Alexander Pavlov.
+
+ Added some compiler annotations.
+ ResourceScriptMapping is no longer a UISourceCodeProvider, removed unused methods and obsolete compiler annotations.
+
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+
+2012-08-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Extract StylesSourceMapping from StylesUISourceCodeProvider.
+ https://bugs.webkit.org/show_bug.cgi?id=95345
+
+ Reviewed by Alexander Pavlov.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping): Drive-by: ResourceScriptMapping now uses workspace object passed in parameters, not the global one.
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
+ * inspector/front-end/StylesSourceMapping.js: Copied from Source/WebCore/inspector/front-end/StylesUISourceCodeProvider.js.
+ (WebInspector.StylesSourceMapping):
+ (WebInspector.StylesSourceMapping.prototype.addUISourceCode):
+ (WebInspector.StylesSourceMapping.prototype.rawLocationToUILocation):
+ (WebInspector.StylesSourceMapping.prototype.uiLocationToRawLocation):
+ (WebInspector.StylesSourceMapping.prototype.reset):
+ * inspector/front-end/StylesUISourceCodeProvider.js:
+ (WebInspector.StylesUISourceCodeProvider):
+ (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.StylesUISourceCodeProvider.prototype._reset): Drive-by: _populate is now called with setTimeout.
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-08-29 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Page with @import and :last-child in an edited stylesheet will crash
+ https://bugs.webkit.org/show_bug.cgi?id=95324
+
+ Reviewed by Antti Koivisto.
+
+ Ensure the destroyed StyleRules removal from StyleResolver by creating a separate RuleMutationScope for clearing the StyleSheetContents.
+
+ Test: inspector/styles/import-pseudoclass-crash.html
+
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyleSheet::reparseStyleSheet):
+
+2012-08-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Turn workspace into a container of UiSourceCodes put in different projects.
+ https://bugs.webkit.org/show_bug.cgi?id=95335
+
+ Reviewed by Pavel Feldman.
+
+ Workspace now contains a project that could be filled with uiSourceCodes.
+ Workspace project is still filled by script / style mappings as before.
+ The next step would be to extract NetworkUISourceCodeProvider.
+
+ * inspector/front-end/BreakpointManager.js:
+ (WebInspector.BreakpointManager):
+ * inspector/front-end/CompilerScriptMapping.js:
+ (WebInspector.CompilerScriptMapping):
+ (WebInspector.CompilerScriptMapping.prototype._reset):
+ * inspector/front-end/DebuggerScriptMapping.js:
+ (WebInspector.DebuggerScriptMapping):
+ * inspector/front-end/ResourceScriptMapping.js:
+ (WebInspector.ResourceScriptMapping):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
+ (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
+ (WebInspector.ResourceScriptMapping.prototype._reset):
+ * inspector/front-end/RevisionHistoryView.js:
+ (WebInspector.RevisionHistoryView):
+ * inspector/front-end/SASSSourceMapping.js:
+ (WebInspector.SASSSourceMapping):
+ (_bindUISourceCode):
+ (rawLocationToUILocation):
+ (_reset):
+ * inspector/front-end/ScriptSnippetModel.js:
+ (WebInspector.ScriptSnippetModel):
+ (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
+ (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
+ (WebInspector.SnippetScriptMapping.prototype.addScript):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel):
+ * inspector/front-end/StylesUISourceCodeProvider.js:
+ (WebInspector.StylesUISourceCodeProvider):
+ (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.StylesUISourceCodeProvider.prototype._reset):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.WorkspaceController):
+ (WebInspector.WorkspaceController.prototype._mainFrameNavigated):
+ (WebInspector.Project):
+ (WebInspector.Project.prototype.reset):
+ (WebInspector.Project.prototype.addUISourceCode):
+ (WebInspector.Project.prototype.replaceUISourceCode):
+ (WebInspector.Project.prototype.removeUISourceCode):
+ (WebInspector.Project.prototype.uiSourceCodeForURL):
+ (WebInspector.Project.prototype.uiSourceCodes):
+ (WebInspector.Workspace):
+ (WebInspector.Workspace.prototype.uiSourceCodeForURL):
+ (WebInspector.Workspace.prototype.project):
+ (WebInspector.Workspace.prototype.uiSourceCodes):
+ * inspector/front-end/inspector.js:
+
+2012-08-29 Florin Malita <fmalita@chromium.org>
+
+ Incorrect large-area clipping
+ https://bugs.webkit.org/show_bug.cgi?id=95197
+
+ Reviewed by Nikolas Zimmermann.
+
+ ImageBuffers allocated for clipping and masking are clamped to kMaxImageBufferSize max
+ (4096x4096). In order to properly account for the scaling factor introduced by this
+ clamping, the repaintRect translation component needs to be pushed after the scaling
+ transform.
+
+ Tests: svg/custom/clamped-masking-clipping-expected.svg
+ svg/custom/clamped-masking-clipping.svg
+
+ * rendering/svg/SVGRenderingContext.cpp:
+ (WebCore::SVGRenderingContext::createImageBuffer):
+
+2012-08-29 Yury Semikhatsky <yurys@chromium.org>
+
+ Web Inspector: unsafe static_cast in RetainedDOMInfo::IsEquivalent
+ https://bugs.webkit.org/show_bug.cgi?id=95315
+
+ Reviewed by Vsevolod Vlasov.
+
+ * bindings/v8/RetainedDOMInfo.cpp:
+ (WebCore::RetainedDOMInfo::IsEquivalent): compare retained object info
+ labels before casting v8::RetainedObjectInfo to WebCore::RetainedObjectInfo
+ as the |other| object may not be a descendant of WebCore::RetainedObjectInfo.
+
+2012-08-29 Jochen Eisinger <jochen@chromium.org>
+
+ REGRESSION(r126816): Missing includes when compiling without SVG
+ https://bugs.webkit.org/show_bug.cgi?id=95312
+
+ Reviewed by Eric Seidel.
+
+ * rendering/FilterEffectRenderer.h:
+ * rendering/RenderLayerFilterInfo.h:
+
+2012-08-29 Adam Barth <abarth@webkit.org>
+
+ Improve string efficiency using StringBuilder and StringOperations
+ https://bugs.webkit.org/show_bug.cgi?id=95304
+
+ Reviewed by Eric Seidel.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings.
+
+ * css/CSSLineBoxContainValue.cpp:
+ (WebCore::CSSLineBoxContainValue::customCssText):
+ * css/CSSPropertySourceData.cpp:
+ (WebCore::CSSPropertySourceData::toString):
+ * css/MediaList.cpp:
+ (WebCore::MediaQuerySet::mediaText):
+ * css/ShadowValue.cpp:
+ (WebCore::ShadowValue::customCssText):
+ * dom/MicroDataItemList.cpp:
+ (WebCore::MicroDataItemList::undefinedItemType):
+ * editing/HTMLInterchange.cpp:
+ (WebCore::convertedSpaceString):
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use floating point literals in expressions that initialize floats
+ https://bugs.webkit.org/show_bug.cgi?id=95293
+
+ Reviewed by Adam Barth.
+
+ Visual studio's C4305, which is on for some chromium code, complains about these.
+
+ * platform/graphics/chromium/cc/CCLayerSorter.cpp:
+ (WebCore::CCLayerSorter::createGraphEdges):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::scrollBy):
+ (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
+
+2012-08-29 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Extract StylesUISourceCodeProvider to separate file.
+ https://bugs.webkit.org/show_bug.cgi?id=95319
+
+ Reviewed by Alexander Pavlov.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj: Also added WebGLProfiler files forgotten before.
+ * inspector/compile-front-end.py:
+ * inspector/front-end/StyleSource.js:
+ * inspector/front-end/StylesUISourceCodeProvider.js: Copied from Source/WebCore/inspector/front-end/StyleSource.js.
+ (WebInspector.StylesUISourceCodeProvider):
+ (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
+ (WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
+ (WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
+ (WebInspector.StylesUISourceCodeProvider.prototype._populate):
+ (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
+ (WebInspector.StylesUISourceCodeProvider.prototype.reset):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+
+2012-08-29 Philip Rogers <pdr@google.com>
+
+ Use SVGImage instead of cached image when drawing without a render tree.
+ https://bugs.webkit.org/show_bug.cgi?id=95002
+
+ Reviewed by Nikolas Zimmermann.
+
+ Previously if we tried to use canvas.context2d.drawImage() with an SVG image
+ that was not in the render tree, we would crash. This patch changes this behavior
+ so that we use SVGImage::draw() to draw images that are not in the render tree.
+
+ Test: svg/as-image/svg-canvas-draw-image-detached.html
+
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::requestedSizeAndScales):
+ (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
+
+2012-08-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=93897
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Before r125428 run-time methods (wrapped signals, slots or invokable
+ functions) were subclasses of JSInternalFunction and therefore real
+ function objects in the JavaScript sense. r125428 changed them to be
+ just callable objects, but they did not have Function.prototype as
+ prototype anymore for example nor was their name correct (resulting in
+ a layout test failure).
+
+ This patch changes run-time methods back to being real function objects
+ that have a correct name and have Function.prototype in their prototype
+ change
+
+ The objects returned by JSObjectMakeFunctionWithCallbackInjected are
+ light-weight internal function objects that do not support
+ JSObject{Set/Get}Private. Therefore we inject our own prototype right
+ before the Function.prototype prototype, which uses private data to
+ store a pointer to our C++ QtRuntimeMethod object. This complicates
+ the retrieval of the pointer to that instance slightly, which is why
+ this patch introduces the toRuntimeMethod convenience function that
+ looks up our prototype first and does a check for type-safety.
+
+ At the same time the patch removes the length properties from the
+ run-time method itself as well as connect/disconnect. The length
+ property on a function signifies the number of arguments, but in all
+ three cases that number is actually variable, because of overloading.
+ That is why we choose not to expose it in the first place.
+
+ In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
+ JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
+ either the result of JSObjectMake or the global object of a context ref
+ (AFAICS), which is ensured using an ASSERT. Objects created via
+ JSObjectMakeFunctionWithCalllback do not fall into the required
+ category, cause a failing assertion and can therefore not be stored in
+ the weak object map.
+
+ Consequently this patch removes the use of JSWeakObjectMap again and
+ goes back to the old way of using the internal Weak<> API, for the time
+ being. In a future patch the storage will be simplified to not require
+ the use of a weak object map cache for the run-time methods anymore.
+
+ * bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
+ * bridge/qt/qt_instance.h: Remove method cache.
+ (QtInstance):
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::prototypeForSignalsAndSlots):
+ (JSC::Bindings::QtRuntimeMethod::call):
+ (JSC::Bindings::QtRuntimeMethod::jsObjectRef):
+ (JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
+ (Bindings):
+ (JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
+ * bridge/qt/qt_runtime.h:
+ (QtRuntimeMethod): Remove unused member variables.
+
+2012-08-29 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed: Single line build fix.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::reportMemoryUsage):
+
+2012-08-24 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: Instrument WebCore part of the Image class hierarchy
+ https://bugs.webkit.org/show_bug.cgi?id=94959
+
+ Drive by fix: remove unused GeneratedImage.cpp
+
+ Reviewed by Yury Semikhatsky.
+
+ * html/HTMLImageElement.cpp:
+ (WebCore::HTMLImageElement::reportMemoryUsage):
+ (WebCore):
+ * html/HTMLImageElement.h:
+ (HTMLImageElement):
+ * loader/cache/CachedImage.cpp:
+ (WebCore::CachedImage::reportMemoryUsage):
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::reportMemoryUsage):
+ (WebCore):
+ * platform/graphics/BitmapImage.h:
+ (FrameData):
+ (BitmapImage):
+ * platform/graphics/CrossfadeGeneratedImage.cpp:
+ (WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
+ (WebCore):
+ * platform/graphics/CrossfadeGeneratedImage.h:
+ (WebCore):
+ (CrossfadeGeneratedImage):
+ * platform/graphics/GeneratedImage.cpp: Removed.
+ * platform/graphics/GeneratedImage.h:
+ (GeneratedImage):
+ * platform/graphics/GeneratorGeneratedImage.cpp:
+ (WebCore::GeneratedImage::reportMemoryUsage):
+ (WebCore):
+ (WebCore::GeneratorGeneratedImage::reportMemoryUsage):
+ * platform/graphics/GeneratorGeneratedImage.h:
+ (GeneratorGeneratedImage):
+ * platform/graphics/Image.cpp:
+ (WebCore::Image::reportMemoryUsage):
+ (WebCore):
+ * platform/graphics/Image.h:
+ (WebCore):
+ (Image):
+ * svg/graphics/SVGImage.cpp:
+ (WebCore::SVGImage::reportMemoryUsage):
+ (WebCore):
+ * svg/graphics/SVGImage.h:
+ (SVGImage):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Add new role for a canvas element, and a method to determine if
+ a canvas has fallback content, so each platform can decide on the
+ appropriate role mapping to use.
+
+ Test: accessibility/canvas-description-and-role.html
+
+ * accessibility/AccessibilityNodeObject.cpp:
+ (WebCore::AccessibilityNodeObject::canvasHasFallbackContent):
+ (WebCore):
+ * accessibility/AccessibilityNodeObject.h:
+ (AccessibilityNodeObject):
+ * accessibility/AccessibilityObject.h:
+ (WebCore::AccessibilityObject::isCanvas):
+ (WebCore::AccessibilityObject::canvasHasFallbackContent):
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+ (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
+ (WebCore::AccessibilityRenderObject::canHaveChildren):
+ * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
+ (atkRole):
+ * accessibility/mac/WebAccessibilityObjectWrapper.mm:
+ (createAccessibilityRoleMap):
+ (-[WebAccessibilityObjectWrapper role]):
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Move several files to remove webkit1 dependency from WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=95264
+
+ Reviewed by Gyuyoung Kim.
+
+ ColorChooserEfl.cpp, PopupMenuEfl.cpp and SearchPopupMenuEfl.cpp are WebKit1/Efl
+ specific files and they can not be shared with WebKit2/Efl.
+
+ In order to remove WebKit dependency from WebCore, this patch moves them
+ to WebKit/efl/WebCoreSupport.
+
+ No behavior change. Just a refactoring.
+
+ * PlatformEfl.cmake: Removed files which moved from sources and WebKit/efl/WebCoreSupport from includes.
+ * WebCore.gypi: Ditto.
+
+2012-08-28 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Focusable elements without a role should not be ignored
+ https://bugs.webkit.org/show_bug.cgi?id=94302
+
+ Reviewed by Chris Fleizach.
+
+ Changes the accessibility logic so that a generic element that's focusable is
+ not ignored for accessibility, and returns its inner text as its title. That way
+ if you Tab to the element, a reasonable accessibility notification is generated.
+
+ One exception is the body element, because focusing the body is equivalent to
+ blurring the current focused element and does not result in a "focus" accessibility
+ notification.
+
+ Also fixes logic that determined if an element was contentEditable by making
+ sure it catches the case with no attribute value (e.g. <div contentEditable>),
+ which also implies contentEditable=true according to the spec.
+
+ Test: accessibility/focusable-div.html
+
+ * accessibility/AccessibilityRenderObject.cpp:
+ (WebCore):
+ (WebCore::nodeHasContentEditableAttributeSet):
+ (WebCore::AccessibilityRenderObject::title):
+ (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
+
+2012-08-29 Adam Barth <abarth@webkit.org>
+
+ Deploy ASCIILiteral hotness throughout WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=95282
+
+ Reviewed by Eric Seidel.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings.
+ This patch converts all the DEFINE_STATIC_LOCAL Strings.
+
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::transaction):
+ * Modules/indexeddb/IDBIndex.cpp:
+ (WebCore::IDBIndex::openCursor):
+ (WebCore::IDBIndex::openKeyCursor):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::openCursor):
+ * Modules/mediastream/MediaStreamTrack.cpp:
+ (WebCore::MediaStreamTrack::kind):
+ * css/CSSPropertySourceData.cpp:
+ (WebCore::CSSPropertySourceData::toString):
+ * dom/Document.cpp:
+ (WebCore::Document::processHttpEquiv):
+ * dom/MicroDataItemList.cpp:
+ (WebCore::MicroDataItemList::undefinedItemType):
+ * dom/ScriptElement.cpp:
+ (WebCore::ScriptElement::notifyFinished):
+ * editing/MarkupAccumulator.cpp:
+ (WebCore::MarkupAccumulator::shouldAddNamespaceElement):
+ * html/FormController.cpp:
+ (WebCore::formStateSignature):
+ * html/HTMLTrackElement.cpp:
+ (WebCore::HTMLTrackElement::canLoadUrl):
+ * html/ImageInputType.cpp:
+ (WebCore::ImageInputType::appendFormData):
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::getImageData):
+ * html/parser/XSSAuditor.cpp:
+ (WebCore::XSSAuditor::init):
+ (WebCore::XSSAuditor::filterToken):
+ (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::computePseudoClassMask):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorOverlay.cpp:
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::setPropertyText):
+ (WebCore::InspectorStyle::newLineAndWhitespaceDelimiters):
+ * loader/ImageLoader.cpp:
+ (WebCore::ImageLoader::notifyFinished):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * loader/TextTrackLoader.cpp:
+ (WebCore::TextTrackLoader::corsPolicyPreventedLoad):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::defaultDatabaseFilename):
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPDirectiveList::allowJavaScriptURLs):
+ (WebCore::CSPDirectiveList::allowInlineEventHandlers):
+ (WebCore::CSPDirectiveList::allowInlineScript):
+ (WebCore::CSPDirectiveList::allowInlineStyle):
+ (WebCore::CSPDirectiveList::allowEval):
+ (WebCore::CSPDirectiveList::allowScriptNonce):
+ (WebCore::CSPDirectiveList::allowScriptFromSource):
+ (WebCore::CSPDirectiveList::allowObjectFromSource):
+ (WebCore::CSPDirectiveList::allowChildFrameFromSource):
+ (WebCore::CSPDirectiveList::allowImageFromSource):
+ (WebCore::CSPDirectiveList::allowStyleFromSource):
+ (WebCore::CSPDirectiveList::allowFontFromSource):
+ (WebCore::CSPDirectiveList::allowMediaFromSource):
+ (WebCore::CSPDirectiveList::allowConnectToSource):
+ (WebCore::CSPDirectiveList::allowFormAction):
+ (WebCore::CSPDirectiveList::addDirective):
+ * page/Page.cpp:
+ (WebCore::Page::groupName):
+ * platform/animation/Animation.cpp:
+ (WebCore::Animation::initialAnimationName):
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
+ (WebCore::CookieDatabaseBackingStore::upgradeTableIfNeeded):
+ * platform/blackberry/RenderThemeBlackBerry.cpp:
+ (WebCore::RenderThemeBlackBerry::defaultGUIFont):
+ * platform/chromium/ClipboardUtilitiesChromium.cpp:
+ (WebCore::replaceNewlinesWithWindowsStyleNewlines):
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::systemFont):
+ * platform/graphics/filters/CustomFilterCompiledProgram.cpp:
+ (WebCore):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::replaceNewlinesWithWindowsStyleNewlines):
+ * rendering/RenderThemeChromiumSkia.cpp:
+ (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
+ * svg/SVGAngle.cpp:
+ (WebCore::SVGAngle::valueAsString):
+ * svg/SVGTransform.cpp:
+ (WebCore::SVGTransform::transformTypePrefixForParsing):
+ * xml/parser/XMLTokenizer.cpp:
+ (WebCore::XMLTokenizer::nextToken):
+ * xml/parser/XMLTreeBuilder.cpp:
+ (WebCore::XMLTreeBuilder::processXMLEntity):
+
+2012-08-28 Adam Barth <abarth@webkit.org>
+
+ Deploy ASCIILiteral and StringBuilder in more places in WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=95291
+
+ Reviewed by Benjamin Poulain.
+
+ I wanted to deploy ASCIILiteral in more places in WebCore, but there's
+ a bunch of code that should be using StringBuilder, which I couldn't
+ resist deploying as well.
+
+ * Modules/mediastream/PeerConnection00.cpp:
+ (WebCore::PeerConnection00::createIceOptions):
+ * bindings/js/JSBlobCustom.cpp:
+ (WebCore::JSBlobConstructor::constructJSBlob):
+ * bindings/v8/V8LazyEventListener.cpp:
+ (WebCore::V8LazyEventListener::prepareListenerObject):
+ * bindings/v8/custom/V8BlobCustom.cpp:
+ (WebCore::V8Blob::constructorCallback):
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::customCssText):
+ * css/CSSCrossfadeValue.cpp:
+ (WebCore::CSSCrossfadeValue::customCssText):
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::selectorText):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::selectorText):
+ * editing/EditorCommand.cpp:
+ (WebCore::executeToggleStyleInList):
+ * editing/SmartReplaceICU.cpp:
+ (WebCore::getSmartSet):
+ * editing/markup.cpp:
+ (WebCore::fillContainerFromString):
+ * html/HTMLTitleElement.cpp:
+ (WebCore::HTMLTitleElement::text):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::didFailLoading):
+ * page/EventSource.cpp:
+ (WebCore::EventSource::didReceiveResponse):
+ * platform/blackberry/LocalizedStringsBlackBerry.cpp:
+ (WebCore::platformLanguage):
+ * platform/graphics/GraphicsLayer.cpp:
+ (WebCore::GraphicsLayer::animationNameForTransition):
+ * platform/network/blackberry/rss/RSSAtomParser.cpp:
+ (WebCore::RSSAtomParser::parseContent):
+ * platform/sql/SQLiteDatabase.cpp:
+ (WebCore::SQLiteDatabase::open):
+ (WebCore::SQLiteDatabase::setFullsync):
+ (WebCore::SQLiteDatabase::maximumSize):
+ (WebCore::SQLiteDatabase::pageSize):
+ (WebCore::SQLiteDatabase::freeSpaceSize):
+ (WebCore::SQLiteDatabase::totalSize):
+ (WebCore::SQLiteDatabase::tableExists):
+ (WebCore::SQLiteDatabase::clearAllTables):
+ (WebCore::SQLiteDatabase::runVacuumCommand):
+ (WebCore::SQLiteDatabase::runIncrementalVacuumCommand):
+ (WebCore::SQLiteDatabase::turnOnIncrementalAutoVacuum):
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::bundleName):
+ (WebCore::storageDirectory):
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream):
+ * rendering/RenderMenuList.cpp:
+ (WebCore::RenderMenuList::setTextFromOption):
+
+2012-08-29 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Make HTMLInputElement::blur()/focus() override-able by input type
+ https://bugs.webkit.org/show_bug.cgi?id=95279
+
+ Reviewed by Hajime Morrita.
+
+ This patch allows HTMLInputElement::focus() and blur() functions to be
+ override-able.
+
+ This patch is part of Shift+Tab focus navigation change for multiple
+ field time input UI, bug 95168.
+
+ No new tests. This patch doesn't change behavior.
+
+ * dom/Element.h:
+ (WebCore::Element): Changed blur() to virtual function.
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::blur): Added to call InputType::blur().
+ (WebCore::HTMLInputElement::defaultBlur): Added for default implementation of blur().
+ (WebCore::HTMLInputElement::defaultFocus): Added for default implementation of focus().
+ (WebCore::HTMLInputElement::focus): Added to call InputType::focus()
+ * html/HTMLInputElement.h:
+ (HTMLInputElement): Added declarations of blur(), defaultBlur(), defaultFocus() and focus().
+ * html/InputType.cpp:
+ (WebCore::InputType::blur): Added to call HTMLInputElement::defaultBlur() as default implementation.
+ (WebCore::InputType::focus): Added to call HTMLInputElement::defaultFocus() as default implementation.
+ * html/InputType.h:
+ (InputType): Added declarations of blur(), and focus().
+
+2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126963.
+ http://trac.webkit.org/changeset/126963
+ https://bugs.webkit.org/show_bug.cgi?id=95298
+
+ Does not compile with clang (Requested by abarth on #webkit).
+
+ * html/HTMLInputElement.cpp:
+ * html/HTMLInputElement.h:
+ (HTMLInputElement):
+ * html/InputType.cpp:
+ * html/InputType.h:
+ (InputType):
+
+2012-08-28 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Make HTMLInputElement::blur()/focus() override-able by input type
+ https://bugs.webkit.org/show_bug.cgi?id=95279
+
+ Reviewed by Hajime Morrita.
+
+ This patch allows HTMLInputElement::focus() and blur() functions to be
+ override-able.
+
+ This patch is part of Shift+Tab focus navigation change for multiple
+ field time input UI, bug 95168.
+
+ No new tests. This patch doesn't change behavior.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::blur): Added to call InputType::blur().
+ (WebCore::HTMLInputElement::defaultBlur): Added for default implementation of blur().
+ (WebCore::HTMLInputElement::defaultFocus): Added for default implementation of focus().
+ (WebCore::HTMLInputElement::focus): Added to call InputType::focus()
+ * html/HTMLInputElement.h:
+ (HTMLInputElement): Added declarations of blur(), defaultBlur(), defaultFocus() and focus().
+ * html/InputType.cpp:
+ (WebCore::InputType::blur): Added to call HTMLInputElement::defaultBlur() as default implementation.
+ (WebCore::InputType::focus): Added to call HTMLInputElement::defaultFocus() as default implementation.
+ * html/InputType.h:
+ (InputType): Added declarations of blur(), and focus().
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ Added JSScope::objectInScope(), and refactored callers to use it
+ https://bugs.webkit.org/show_bug.cgi?id=95281
+
+ Reviewed by Gavin Barraclough.
+
+ * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+ (WebCore::JSJavaScriptCallFrame::scopeChain):
+ (WebCore::JSJavaScriptCallFrame::scopeType):
+
+2012-08-28 Andrei Bucur <abucur@adobe.com>
+
+ Layout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing after r126304
+ https://bugs.webkit.org/show_bug.cgi?id=94730
+
+ Reviewed by Adam Barth.
+
+ Having an intermediary node between the named flow renderers and the view may introduce subtle bugs that are hard to track. Also it doesn't fix
+ the pointless destruction of a RenderNamedFlowThread in some special cases (e.g. region->detach, destroy flow thread, region->attach, recreate flow
+ thread).
+ This patch proposes a new way of lazily destroying the renderers for NULL named flows, at layout time. When a renderer has no content nodes or regions
+ attached, its named flow is considered to be in the NULL state. When starting a layout process it is a good time to go through the renderers of the
+ NULL named flows and destroy them.
+
+ Tests: No functional change, the old tests should pass without issues.
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * dom/WebKitNamedFlow.cpp:
+ (WebCore::WebKitNamedFlow::getRegionsByContent):
+ (WebCore::WebKitNamedFlow::getRegions):
+ (WebCore::WebKitNamedFlow::setRenderer):
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::FlowThreadController):
+ (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
+ (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
+ * rendering/FlowThreadController.h:
+ (WebCore):
+ (FlowThreadController):
+ * rendering/RenderFlowThreadContainer.cpp: Removed.
+ * rendering/RenderFlowThreadContainer.h: Removed.
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
+ (WebCore::RenderNamedFlowThread::~RenderNamedFlowThread):
+ (WebCore::RenderNamedFlowThread::addRegionToThread):
+ (WebCore::RenderNamedFlowThread::removeRegionFromThread):
+ (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
+ (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
+ (WebCore::RenderNamedFlowThread::setMarkForDestruction):
+ (WebCore):
+ (WebCore::RenderNamedFlowThread::resetMarkForDestruction):
+ (WebCore::RenderNamedFlowThread::isMarkedForDestruction):
+ * rendering/RenderNamedFlowThread.h:
+ (RenderNamedFlowThread):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::markContainingBlocksForLayout):
+ * rendering/RenderObject.h:
+
+2012-08-28 Kenichi Ishibashi <bashi@chromium.org>
+
+ style->fontMetrics() should be available when setting line-height
+ https://bugs.webkit.org/show_bug.cgi?id=93327
+
+ Reviewed by Darin Adler.
+
+ Setting line-height assumes the fontMetrics are available for the affected font, but
+ the fontMetrics won't be available immediately after setting other properties like
+ font-size. Call styleResolver->updateFont() before setting line-height to update fontMetrics.
+
+ Added a test case to fast/canvas/crash-set-font.html.
+
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::setFont):
+ Call styleResolver->updateFont() before styleResolver->applyPropertyToCurrentStyle(CSSPropertyLineHeight,...)
+
+2012-08-28 David Reveman <reveman@chromium.org>
+
+ [Chromium] Scheduler will never process a commit until it receives a vsync tick.
+ https://bugs.webkit.org/show_bug.cgi?id=94721
+
+ Reviewed by James Robinson.
+
+ Add updateResourcesComplete callback to CCScheduler and use this to
+ indicate completion of texture updates instead of calling
+ CCSchedulerClient::hasMoreResourceUpdates when receiving a vsync tick.
+
+ Unit tests: CCTextureUpdateControllerTest.UpdateMoreTextures
+ CCTextureUpdateControllerTest.HasMoreUpdates
+ CCTextureUpdateControllerTest.UpdatesCompleteInFiniteTime
+
+ * platform/graphics/chromium/cc/CCScheduler.cpp:
+ (WebCore::CCScheduler::CCScheduler):
+ (WebCore::CCScheduler::beginFrameComplete):
+ (WebCore::CCScheduler::vsyncTick):
+ (WebCore::CCScheduler::updateResourcesComplete):
+ (WebCore):
+ (WebCore::CCScheduler::processScheduledActions):
+ * platform/graphics/chromium/cc/CCScheduler.h:
+ (CCSchedulerClient):
+ (CCScheduler):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
+ (WebCore::CCTextureUpdateController::CCTextureUpdateController):
+ (WebCore::CCTextureUpdateController::updateMoreTextures):
+ (WebCore::CCTextureUpdateController::discardUploads):
+ (WebCore::CCTextureUpdateController::onTimerFired):
+ (WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
+ * platform/graphics/chromium/cc/CCTextureUpdateController.h:
+ (CCTextureUpdateControllerClient):
+ (WebCore::CCTextureUpdateControllerClient::~CCTextureUpdateControllerClient):
+ (WebCore):
+ (WebCore::CCTextureUpdateController::create):
+ (CCTextureUpdateController):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::didLoseContextOnImplThread):
+ (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionCommit):
+ (WebCore::CCThreadProxy::updateTexturesCompleted):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCThreadProxy.h:
+ (WebCore):
+
+2012-08-28 John Bates <jbates@google.com>
+
+ [Chromium] Update some compositor trace events
+ https://bugs.webkit.org/show_bug.cgi?id=95275
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/chromium/cc/CCFrameRateController.cpp:
+ (WebCore::CCFrameRateController::setActive):
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::onVSyncParametersChanged):
+
+2012-08-28 Adam Barth <abarth@webkit.org>
+
+ crypto.getRandomValues should throw an exception when given a big array
+ https://bugs.webkit.org/show_bug.cgi?id=95269
+
+ Reviewed by Eric Seidel.
+
+ The W3C Web Cryptography Working Group has taken up specifying
+ window.crypto. The latest draft calls for getRandomValues to throw an
+ exception when given an array that's large.
+
+ Test: security/crypto-random-values-limits.html
+
+ * page/Crypto.cpp:
+ (WebCore::Crypto::getRandomValues):
+
+2012-08-28 Tom Sepez <tsepez@chromium.org>
+
+ CSP doesn't turn off eval, etc. in Web Workers
+ https://bugs.webkit.org/show_bug.cgi?id=93392
+
+ Reviewed by Adam Barth.
+
+ On the JSC side, the blocking of eval() in workers was handled correctly, so it is
+ a matter of adding calls check the policy for setTimeout and SetInterval. On the v8
+ side, it is a matter of handling the above, plus eval().
+
+ On the v8 side, the v8 context isn't available when the callers want to disable eval.
+ Rather than creating it earlier, which is problematic, remember the setting in the
+ WorkerContextExecutionProxy and apply before the next call to its evaluate() method.
+
+ Tests: http/tests/security/contentSecurityPolicy/worker-eval-blocked.html
+ http/tests/security/contentSecurityPolicy/worker-function-function-blocked.html
+
+ * bindings/js/JSWorkerContextCustom.cpp:
+ (WebCore::JSWorkerContext::setTimeout):
+ (WebCore::JSWorkerContext::setInterval):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ (WebCore::WorkerContextExecutionProxy::setEvalAllowed):
+ (WebCore):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ (WorkerContextExecutionProxy):
+ * bindings/v8/WorkerScriptController.cpp:
+ (WebCore::WorkerScriptController::disableEval):
+ * bindings/v8/custom/V8WorkerContextCustom.cpp:
+ (WebCore::SetTimeoutOrInterval):
+
+2012-08-28 Aaron Colwell <acolwell@chromium.org>
+
+ Make MediaSource event dispatch asynchronous.
+ https://bugs.webkit.org/show_bug.cgi?id=95217
+
+ Reviewed by Eric Carlson.
+
+ Update MediaSource & SourceBufferList to use a GenericEventQueue to dispatch events
+ instead of using synchronous dispatch.
+
+ Test: http/tests/media/media-source/video-media-source-async-events.html
+
+ * Modules/mediasource/MediaSource.cpp:
+ (WebCore::MediaSource::MediaSource): Create GenericEventQueue & pass a pointer to SourceBufferList.
+ (WebCore::MediaSource::addSourceBuffer):
+ (WebCore::MediaSource::setReadyState): Updated to use new scheduleEvent() helper method.
+ (WebCore::MediaSource::scheduleEvent): New method for creating events and adding them to the event queue.
+ (WebCore):
+ * Modules/mediasource/MediaSource.h: Added GenericEventQueue member and scheduleEvent() signature.
+ (MediaSource):
+ * Modules/mediasource/SourceBufferList.cpp:
+ (WebCore::SourceBufferList::SourceBufferList):
+ (WebCore::SourceBufferList::remove):
+ (WebCore::SourceBufferList::createAndFireEvent): Updated to queue events instead of synchronously dispatch them.
+ * Modules/mediasource/SourceBufferList.h:
+ (WebCore):
+ (WebCore::SourceBufferList::create):
+ (SourceBufferList):
+
+2012-08-28 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Content detection should not disrupt the page behaviour
+ https://bugs.webkit.org/show_bug.cgi?id=94727
+
+ Reviewed by Adam Barth.
+
+ Tested by WebViewTest::DetectContentAroundPosition.
+
+ * dom/Node.cpp:
+ (WebCore::Node::willRespondToTouchEvents): checks if a node listens to touch events. Very similar to willRespondToMouseClickEvents.
+ (WebCore):
+ * dom/Node.h:
+ (Node):
+
+2012-08-28 Simon Fraser <simon.fraser@apple.com>
+
+ Handle sticky that overflows its container
+ https://bugs.webkit.org/show_bug.cgi?id=95260
+
+ Reviewed by Ojan Vafai.
+
+ When an element with position:sticky overflows its container,
+ don't have the sticky code push it back inside that container.
+ It will just never get offset in the sticky direction.
+
+ Test: fast/css/sticky/sticky-overflowing.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::stickyPositionOffset):
+
+2012-08-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove decodeAudioFileData from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95250
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * platform/audio/chromium/AudioBusChromium.cpp:
+ (WebCore::decodeAudioFileData):
+ (WebCore):
+ (WebCore::AudioBus::loadPlatformResource):
+ (WebCore::createBusFromInMemoryAudioFile):
+ * platform/chromium/PlatformSupport.h:
+ (PlatformSupport):
+
+2012-08-27 Alexandru Chiculita <achicu@adobe.com>
+
+ [CSS Filters] Filters should render using sRGB until the specification says how it works
+ https://bugs.webkit.org/show_bug.cgi?id=94372
+
+ Reviewed by Dirk Schulze.
+
+ The short-hand version of the CSS Filters should render using sRGB until a CSS property is added
+ to allow choosing the color space to be used when computing the filters.
+ For now I've just made all the CSS filters use sRGB by defualt. Note that this change has no effect on SVG filters.
+
+ Test: css3/filters/null-effect-check.html
+
+ * rendering/FilterEffectRenderer.cpp:
+ (WebCore::FilterEffectRenderer::build):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::Watchers::find):
+ (WebCore::Geolocation::Watchers::remove):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::objectStoreNames):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::metadata):
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::deleteDatabase):
+ (WebCore::IDBFactoryBackendImpl::openBackingStore):
+ (WebCore::IDBFactoryBackendImpl::open):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::indexNames):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::deleteIndex):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::metadata):
+ (WebCore::makeIndexWriters):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::objectStoreDeleted):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::dispatchEvent):
+ * Modules/webdatabase/AbstractDatabase.cpp:
+ (WebCore::AbstractDatabase::performOpenAndVerify):
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::diskUsage):
+ * Modules/webdatabase/SQLTransactionCoordinator.cpp:
+ (WebCore::SQLTransactionCoordinator::acquireLock):
+ (WebCore::SQLTransactionCoordinator::releaseLock):
+ (WebCore::SQLTransactionCoordinator::shutdown):
+ * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/chromium/QuotaTracker.cpp:
+ (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
+ (WebCore::QuotaTracker::updateDatabaseSize):
+ * Modules/websockets/WebSocketDeflateFramer.cpp:
+ (WebCore::WebSocketExtensionDeflateFrame::processResponse):
+ * Modules/websockets/WebSocketExtensionDispatcher.cpp:
+ (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::~AXObjectCache):
+ * bindings/gobject/DOMObjectCache.cpp:
+ (WebKit::DOMObjectCache::clearByFrame):
+ * bindings/js/DOMObjectHashTableMap.h:
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ (WebCore::DOMObjectHashTableMap::get):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::visitChildren):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::addListener):
+ (WebCore::PageScriptDebugServer::removeListener):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::~ScriptController):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::attachDebugger):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::createRootObject):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::windowShell):
+ (WebCore::ScriptController::existingWindowShell):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::checkForDuplicate):
+ (WebCore::CloneSerializer::dumpIfTerminal):
+ (WebCore::CloneSerializer::write):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateImplementation):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::V8Float64Array::GetRawTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::GetRawTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::GetRawTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::V8TestEventTarget::GetRawTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::GetRawTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::GetRawTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::GetRawTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::GetRawTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::GetRawTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::deallocate):
+ (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::freeV8NPObject):
+ (WebCore::npCreateV8ScriptObject):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::clearScriptObjects):
+ (WebCore::ScriptController::resetIsolatedWorlds):
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::removeIfPresent):
+ (WebCore::WeakReferenceMap::visit):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::enumerateGlobalHandles):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore::V8PerContextData::dispose):
+ * bindings/v8/npruntime.cpp:
+ * bridge/IdentifierRep.cpp:
+ (WebCore::IdentifierRep::get):
+ * bridge/NP_jsobject.cpp:
+ (ObjectMap::add):
+ (ObjectMap::remove):
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ (JavaClass::~JavaClass):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::WeakMap::set):
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::canvasChanged):
+ (WebCore::CSSCanvasValue::canvasResized):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::counterToCSSValue):
+ * css/CSSCrossfadeValue.cpp:
+ (WebCore::CSSCrossfadeValue::crossfadeChanged):
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ (WebCore::CSSFontSelector::getFontData):
+ * css/CSSImageGeneratorValue.cpp:
+ (WebCore::CSSImageGeneratorValue::addClient):
+ (WebCore::CSSImageGeneratorValue::removeClient):
+ (WebCore::CSSImageGeneratorValue::getImage):
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::parsePseudoType):
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createColorValue):
+ (WebCore::CSSValuePool::createFontFamilyValue):
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyCounter::applyInheritValue):
+ (WebCore::ApplyPropertyCounter::applyValue):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectFeatures):
+ (WebCore::StyleResolver::ruleSetForScope):
+ (WebCore::StyleResolver::appendAuthorStylesheets):
+ (WebCore::StyleResolver::sweepMatchedPropertiesCache):
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parserAddNamespace):
+ (WebCore::StyleSheetContents::determineNamespace):
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::CheckedRadioButtons::addButton):
+ (WebCore::CheckedRadioButtons::removeButton):
+ * dom/ChildListMutationScope.cpp:
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
+ * dom/Document.cpp:
+ (WebCore::Document::pageGroupUserSheets):
+ (WebCore::Document::windowNamedItems):
+ (WebCore::Document::documentNamedItems):
+ (WebCore::Document::getCSSCanvasElement):
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::markerContainingPoint):
+ (WebCore::DocumentMarkerController::renderedRectsForMarkers):
+ (WebCore::DocumentMarkerController::removeMarkers):
+ (WebCore::DocumentMarkerController::repaintMarkers):
+ (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
+ (WebCore::DocumentMarkerController::showMarkers):
+ * dom/DocumentOrderedMap.cpp:
+ (WebCore::DocumentOrderedMap::remove):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ensureAttrListForElement):
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
+ * dom/EventListenerMap.cpp:
+ (WebCore::EventListenerMap::eventTypes):
+ (WebCore::EventListenerMap::add):
+ (WebCore::EventListenerMap::remove):
+ (WebCore::EventListenerMap::find):
+ (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
+ (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
+ (WebCore::EventListenerIterator::nextListener):
+ * dom/IdTargetObserverRegistry.cpp:
+ (WebCore::IdTargetObserverRegistry::addObserver):
+ (WebCore::IdTargetObserverRegistry::removeObserver):
+ * dom/MemoryInstrumentation.h:
+ (WebCore::MemoryInstrumentation::addInstrumentedMapEntries):
+ (WebCore::MemoryInstrumentation::addInstrumentedMapValues):
+ * dom/MutationObserverInterestGroup.cpp:
+ (WebCore::MutationObserverInterestGroup::isOldValueRequested):
+ (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::clearRareData):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::Node::collectMatchingObserversForMutation):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::addCacheWithAtomicName):
+ (WebCore::NodeListsNodeData::addCacheWithName):
+ (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
+ (WebCore::NodeListsNodeData::adoptTreeScope):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorQueryCache::add):
+ * dom/SpaceSplitString.cpp:
+ (WebCore::SpaceSplitStringData::create):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateAttributeStyle):
+ * editing/mac/AlternativeTextUIController.mm:
+ (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
+ * html/FormController.cpp:
+ (WebCore::SavedFormState::serializeTo):
+ (WebCore::SavedFormState::appendControlState):
+ (WebCore::SavedFormState::takeControlState):
+ (WebCore::SavedFormState::getReferencedFilePaths):
+ (WebCore::FormKeyGenerator::formKey):
+ (WebCore::FormController::createSavedFormStateMap):
+ (WebCore::FormController::formElementsState):
+ (WebCore::FormController::takeStateForFormElement):
+ (WebCore::FormController::getReferencedFilePaths):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollectionCacheBase::append):
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::getAttachment):
+ (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
+ (WebCore::WebGLFramebuffer::checkStatus):
+ (WebCore::WebGLFramebuffer::deleteObjectImpl):
+ (WebCore::WebGLFramebuffer::initializeAttachments):
+ * inspector/CodeGeneratorInspector.py:
+ * inspector/DOMPatchSupport.cpp:
+ (WebCore::DOMPatchSupport::diff):
+ (WebCore::DOMPatchSupport::innerPatchChildren):
+ (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
+ * inspector/InjectedScriptManager.cpp:
+ (WebCore::InjectedScriptManager::injectedScriptForId):
+ (WebCore::InjectedScriptManager::injectedScriptIdFor):
+ (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
+ (WebCore::InjectedScriptManager::releaseObjectGroup):
+ (WebCore::InjectedScriptManager::injectedScriptFor):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::SelectorProfile::commitSelector):
+ (WebCore::SelectorProfile::commitSelectorTime):
+ (WebCore::SelectorProfile::toInspectorObject):
+ (WebCore::InspectorCSSAgent::forcePseudoState):
+ (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::assertStyleSheetForId):
+ (WebCore::InspectorCSSAgent::didRemoveDOMNode):
+ (WebCore::InspectorCSSAgent::didModifyDOMAttr):
+ (WebCore::InspectorCSSAgent::resetPseudoStates):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::stopTiming):
+ (WebCore::InspectorConsoleAgent::count):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::nodeForId):
+ (WebCore::InspectorDOMAgent::performSearch):
+ (WebCore::InspectorDOMAgent::getSearchResults):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::clearFrontend):
+ (WebCore::InspectorDOMStorageAgent::enable):
+ (WebCore::InspectorDOMStorageAgent::storageId):
+ (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
+ (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
+ (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore::InspectorDatabaseAgent::enable):
+ (WebCore::InspectorDatabaseAgent::databaseId):
+ (WebCore::InspectorDatabaseAgent::findByFileName):
+ (WebCore::InspectorDatabaseAgent::databaseForId):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::removeBreakpoint):
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ (WebCore::InspectorDebuggerAgent::searchInContent):
+ (WebCore::InspectorDebuggerAgent::getScriptSource):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::cachedResourcesForFrame):
+ (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorPageAgent::frameDetached):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::getProfileHeaders):
+ (WebCore):
+ (WebCore::InspectorProfilerAgent::getProfile):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForHeaders):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::getBoolean):
+ (WebCore::InspectorState::getString):
+ (WebCore::InspectorState::getLong):
+ (WebCore::InspectorState::getDouble):
+ (WebCore::InspectorState::getObject):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::styleWithProperties):
+ (WebCore::InspectorStyleSheet::inspectorStyleForId):
+ * inspector/InspectorValues.cpp:
+ (WebCore::InspectorObjectBase::get):
+ (WebCore::InspectorObjectBase::writeJSON):
+ * inspector/InspectorWorkerAgent.cpp:
+ (WebCore::InspectorWorkerAgent::workerContextTerminated):
+ (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
+ (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
+ * inspector/NetworkResourcesData.cpp:
+ (WebCore::NetworkResourcesData::removeCachedResource):
+ (WebCore::NetworkResourcesData::clear):
+ * loader/CrossOriginAccessControl.cpp:
+ (WebCore::isSimpleCrossOriginAccessRequest):
+ (WebCore::createAccessControlPreflightRequest):
+ * loader/CrossOriginPreflightResultCache.cpp:
+ (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
+ (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::getSubresources):
+ (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::servePendingRequests):
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::removeResource):
+ (WebCore::ApplicationCache::clearStorageID):
+ (WebCore::ApplicationCache::dump):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ (WebCore::ApplicationCacheGroup::startLoadingEntry):
+ (WebCore::ApplicationCacheGroup::addEntry):
+ * loader/appcache/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::fillResourceList):
+ * loader/appcache/ApplicationCacheResource.cpp:
+ (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::empty):
+ (WebCore::ApplicationCacheStorage::storeCopyOfCache):
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::canReuse):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::switchClientsToRevalidatedResource):
+ (WebCore::CachedResource::updateResponseAfterRevalidation):
+ * loader/cache/CachedResourceClientWalker.h:
+ (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::~CachedResourceLoader):
+ (WebCore::CachedResourceLoader::requestResource):
+ (WebCore::CachedResourceLoader::setAutoLoadImages):
+ (WebCore::CachedResourceLoader::removeCachedResource):
+ (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
+ (WebCore::CachedResourceLoader::reportMemoryUsage):
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::removeResourcesWithOrigin):
+ (WebCore::MemoryCache::getOriginsWithCache):
+ (WebCore::MemoryCache::getStatistics):
+ (WebCore::MemoryCache::reportMemoryUsage):
+ (WebCore::MemoryCache::setDisabled):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::removeAllIcons):
+ (WebCore::IconDatabase::iconRecordCountWithData):
+ (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
+ (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent):
+ * page/Frame.cpp:
+ (WebCore::Frame::injectUserScripts):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::pageGroup):
+ (WebCore::PageGroup::closeLocalStorage):
+ (WebCore::PageGroup::clearLocalStorageForAllOrigins):
+ (WebCore::PageGroup::clearLocalStorageForOrigin):
+ (WebCore::PageGroup::syncLocalStorage):
+ (WebCore::PageGroup::addUserScriptToWorld):
+ (WebCore::PageGroup::addUserStyleSheetToWorld):
+ (WebCore::PageGroup::removeUserScriptFromWorld):
+ (WebCore::PageGroup::removeUserStyleSheetFromWorld):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::urlForBlankFrame):
+ * page/SecurityPolicy.cpp:
+ (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
+ (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
+ * page/Settings.cpp:
+ (WebCore::setGenericFontFamilyMap):
+ (WebCore::getGenericFontFamilyForScript):
+ * page/SpeechInput.cpp:
+ (WebCore::SpeechInput::registerListener):
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::boolFeature):
+ (WebCore::WindowFeatures::floatFeature):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateAnimations):
+ (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+ * platform/Language.cpp:
+ (WebCore::languageDidChange):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
+ * platform/audio/HRTFElevation.cpp:
+ (WebCore::getConcatenatedImpulseResponsesForSubject):
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::generateHtmlFragmentForCookies):
+ (WebCore::CookieManager::removeAllCookies):
+ * platform/blackberry/CookieMap.cpp:
+ (WebCore::CookieMap::removeOldestCookie):
+ (WebCore::CookieMap::getAllChildCookies):
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::BinaryPropertyListPlan::writeIntegerArray):
+ * platform/chromium/support/WebHTTPLoadInfo.cpp:
+ (WebKit::addHeader):
+ * platform/chromium/support/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::visitHTTPHeaderFields):
+ * platform/chromium/support/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::addHTTPHeaderField):
+ (WebKit::WebURLResponse::visitHTTPHeaderFields):
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
+ (WebCore::DisplayRefreshMonitorManager::unregisterClient):
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::getCachedFontPlatformData):
+ (WebCore::FontCache::getVerticalData):
+ (WebCore::FontCache::getCachedFontData):
+ (WebCore::FontCache::releaseFontData):
+ (WebCore::FontCache::purgeInactiveFontData):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
+ (WebCore::GlyphPageTreeNode::pageCount):
+ (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneTreeFontData):
+ (WebCore::GlyphPageTreeNode::pruneCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneFontData):
+ (WebCore::GlyphPageTreeNode::showSubtree):
+ (showGlyphPageTrees):
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ (WebCore::TiledBackingStore::resizeEdgeTiles):
+ (WebCore::TiledBackingStore::setKeepRect):
+ * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+ (WebCore::AVFWrapper::avfWrapperForCallbackContext):
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::layerVisibilityChanged):
+ (WebCore::LayerTiler::uploadTexturesIfNeeded):
+ (WebCore::LayerTiler::addTileJob):
+ (WebCore::LayerTiler::deleteTextures):
+ (WebCore::LayerTiler::pruneTextures):
+ (WebCore::LayerTiler::bindContentsTexture):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
+ (WebCore::TextureCacheCompositingThread::textureForTiledContents):
+ (WebCore::TextureCacheCompositingThread::textureForColor):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
+ (WebCore::GraphicsLayerCA::pauseAnimation):
+ (WebCore::GraphicsLayerCA::layerDidDisplay):
+ (WebCore::GraphicsLayerCA::updateGeometry):
+ (WebCore::GraphicsLayerCA::updateTransform):
+ (WebCore::GraphicsLayerCA::updateChildrenTransform):
+ (WebCore::GraphicsLayerCA::updateMasksToBounds):
+ (WebCore::GraphicsLayerCA::updateContentsVisibility):
+ (WebCore::GraphicsLayerCA::updateContentsOpaque):
+ (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
+ (WebCore::GraphicsLayerCA::updateFilters):
+ (WebCore::GraphicsLayerCA::ensureStructuralLayer):
+ (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerCA::updateContentsImage):
+ (WebCore::GraphicsLayerCA::updateContentsRect):
+ (WebCore::GraphicsLayerCA::updateMaskLayer):
+ (WebCore::GraphicsLayerCA::updateLayerAnimations):
+ (WebCore::GraphicsLayerCA::setAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
+ (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::suspendAnimations):
+ (WebCore::GraphicsLayerCA::resumeAnimations):
+ (WebCore::GraphicsLayerCA::findOrMakeClone):
+ (WebCore::GraphicsLayerCA::setOpacityInternal):
+ (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::~TileCache):
+ (WebCore::TileCache::setNeedsDisplay):
+ (WebCore::TileCache::setScale):
+ (WebCore::TileCache::setAcceleratesDrawing):
+ (WebCore::TileCache::setTileDebugBorderWidth):
+ (WebCore::TileCache::setTileDebugBorderColor):
+ (WebCore::TileCache::revalidateTiles):
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+ (PlatformCALayer::animationStarted):
+ (resubmitAllAnimations):
+ (PlatformCALayer::animationForKey):
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::LookupAltName):
+ (WebCore::fontContainsCharacter):
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::getDerivedFontData):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::setLayerTreeHost):
+ (WebCore::TiledLayerChromium::invalidateContentRect):
+ (WebCore::TiledLayerChromium::setTexturePriorities):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ * platform/graphics/chromium/cc/CCDamageTracker.cpp:
+ (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::setBounds):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::startRateLimiter):
+ (WebCore::CCLayerTreeHost::stopRateLimiter):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::findRenderPassById):
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::deleteResource):
+ (WebCore::CCResourceProvider::deleteOwnedResources):
+ (WebCore::CCResourceProvider::resourceType):
+ (WebCore::CCResourceProvider::upload):
+ (WebCore::CCResourceProvider::lockForRead):
+ (WebCore::CCResourceProvider::unlockForRead):
+ (WebCore::CCResourceProvider::lockForWrite):
+ (WebCore::CCResourceProvider::unlockForWrite):
+ (WebCore::CCResourceProvider::destroyChild):
+ (WebCore::CCResourceProvider::getChildToParentMap):
+ (WebCore::CCResourceProvider::prepareSendToParent):
+ (WebCore::CCResourceProvider::prepareSendToChild):
+ (WebCore::CCResourceProvider::receiveFromChild):
+ (WebCore::CCResourceProvider::receiveFromParent):
+ (WebCore::CCResourceProvider::transferResource):
+ (WebCore::CCResourceProvider::trimMailboxDeque):
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
+ (WebCore::CustomFilterGlobalContext::getCompiledProgram):
+ (WebCore::CustomFilterGlobalContext::removeCompiledProgram):
+ * platform/graphics/filters/CustomFilterProgram.cpp:
+ (WebCore::CustomFilterProgram::notifyClients):
+ * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
+ (WebCore::getCachedHarfbuzzFace):
+ (WebCore::releaseCachedHarfbuzzFace):
+ * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
+ (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
+ (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
+ * platform/graphics/mac/SimpleFontDataCoreText.cpp:
+ (WebCore::SimpleFontData::getCFStringAttributes):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+ (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::compileShader):
+ (WebCore::GraphicsContext3D::getShaderiv):
+ (WebCore::GraphicsContext3D::getShaderInfoLog):
+ (WebCore::GraphicsContext3D::getShaderSource):
+ * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
+ (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
+ (WebCore::EGLDisplayOpenVG::destroySurface):
+ (WebCore::EGLDisplayOpenVG::contextForSurface):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FixedSizeFontData::create):
+ * platform/gtk/DataObjectGtk.cpp:
+ (WebCore::DataObjectGtk::forClipboard):
+ * platform/gtk/GtkDragAndDropHelper.cpp:
+ (WebCore::GtkDragAndDropHelper::handleGetDragData):
+ (WebCore::GtkDragAndDropHelper::handleDragLeave):
+ (WebCore::GtkDragAndDropHelper::handleDragMotion):
+ (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
+ (WebCore::GtkDragAndDropHelper::handleDragDrop):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::gtkStyleChangedCallback):
+ (WebCore::getStyleContext):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
+ * platform/network/CredentialStorage.cpp:
+ (WebCore::CredentialStorage::set):
+ (WebCore::CredentialStorage::get):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+ (WebCore::HTTPHeaderMap::get):
+ * platform/network/MIMEHeader.cpp:
+ (WebCore::MIMEHeader::parseHeader):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::create):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ (WebCore::ResourceRequestBase::addHTTPHeaderFields):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::targetTypeFromMimeType):
+ (WebCore::ResourceRequest::initializePlatformRequest):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::makeFinalRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::setHeaderFields):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::initializeHandle):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback):
+ (WebCore::ResourceHandle::setClientCertificate):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::updateSoupMessage):
+ (WebCore::ResourceRequest::toSoupMessage):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::toSoupMessage):
+ * platform/network/win/ResourceHandleWin.cpp:
+ (WebCore::ResourceHandle::start):
+ * platform/qt/RunLoopQt.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/text/LocaleToScriptMappingDefault.cpp:
+ (WebCore::scriptNameToCode):
+ (WebCore::localeToScriptCodeForFontSelection):
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::pruneBlacklistedCodecs):
+ (WebCore::dumpTextEncodingNameMap):
+ * platform/text/transcoder/FontTranscoder.cpp:
+ (WebCore::FontTranscoder::converterType):
+ * platform/text/win/TextCodecWin.cpp:
+ (WebCore::LanguageManager::LanguageManager):
+ (WebCore::getCodePage):
+ (WebCore::TextCodecWin::registerExtendedEncodingNames):
+ (WebCore::TextCodecWin::registerExtendedCodecs):
+ (WebCore::TextCodecWin::enumerateSupportedEncodings):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getDataMapItem):
+ (WebCore::getClipboardData):
+ (WebCore::setClipboardData):
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::types):
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::cachedStorageDirectory):
+ * platform/win/RunLoopWin.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/win/WCDataObject.cpp:
+ (WebCore::WCDataObject::createInstance):
+ * platform/wince/MIMETypeRegistryWinCE.cpp:
+ (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+ * platform/wx/ContextMenuWx.cpp:
+ (WebCore::ContextMenu::appendItem):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::refresh):
+ (WebCore::PluginDatabase::MIMETypeForExtension):
+ (WebCore::PluginDatabase::remove):
+ * plugins/PluginMainThreadScheduler.cpp:
+ (WebCore::PluginMainThreadScheduler::scheduleCall):
+ (WebCore::PluginMainThreadScheduler::dispatchCalls):
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream):
+ * plugins/blackberry/PluginDataBlackBerry.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/wx/PluginDataWx.cpp:
+ (WebCore::PluginData::initPlugins):
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::requiresIdeographicBaseline):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloats):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::destroyCounterNodes):
+ (WebCore::RenderCounter::destroyCounterNode):
+ (WebCore::updateCounters):
+ (WebCore::RenderCounter::rendererStyleChanged):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::setRegionRangeForBox):
+ (WebCore::RenderFlowThread::getRegionRangeForBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paint):
+ (WebCore::performOverlapTests):
+ * rendering/RenderLayerFilterInfo.cpp:
+ (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
+ (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dependsOn):
+ (WebCore::RenderNamedFlowThread::pushDependencies):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::setRenderBoxRegionInfo):
+ (WebCore::RenderRegion::setRegionObjectsRegionStyle):
+ (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
+ (WebCore::RenderRegion::computeChildrenStyleInRegion):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::cachedCollapsedBorder):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::systemColor):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::setSelection):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::resumeWidgetHierarchyUpdates):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::ascentAndDescentForBox):
+ * rendering/VerticalPositionCache.h:
+ (WebCore::VerticalPositionCache::get):
+ * rendering/WrapShapeInfo.cpp:
+ (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock):
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ * rendering/svg/RenderSVGResourceGradient.cpp:
+ (WebCore::RenderSVGResourceGradient::applyResource):
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+ (WebCore::RenderSVGResourcePattern::applyResource):
+ * rendering/svg/SVGResourcesCache.cpp:
+ (WebCore::SVGResourcesCache::resourceDestroyed):
+ * rendering/svg/SVGRootInlineBox.cpp:
+ (WebCore::swapItemsInLayoutAttributes):
+ * rendering/svg/SVGTextLayoutAttributes.cpp:
+ (WebCore::SVGTextLayoutAttributes::dump):
+ * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
+ (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
+ (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
+ * rendering/svg/SVGTextLayoutEngine.cpp:
+ (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::syncTimerFired):
+ (WebCore::StorageAreaSync::performImport):
+ (WebCore::StorageAreaSync::sync):
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::key):
+ (WebCore::StorageMap::setItem):
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::localStorageNamespace):
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::close):
+ (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
+ (WebCore::StorageNamespaceImpl::sync):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
+ (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ (WebCore::SVGDocumentExtensions::isElementPendingResources):
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+ (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
+ (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
+ (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::~SVGElement):
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::updateAnimations):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::~SVGImageCache):
+ (WebCore::SVGImageCache::removeClientFromCache):
+ (WebCore::SVGImageCache::requestedSizeAndScales):
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redraw):
+ (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::effectReferences):
+ (WebCore::SVGFilterBuilder::addBuiltinEffects):
+ * svg/properties/SVGAnimatedProperty.h:
+ (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
+ * svg/properties/SVGAttributeToPropertyMap.cpp:
+ (WebCore::SVGAttributeToPropertyMap::addProperties):
+ (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ * workers/WorkerEventQueue.cpp:
+ (WebCore::WorkerEventQueue::close):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ (WebCore::XMLHttpRequest::getAllResponseHeaders):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::createFunction):
+ * xml/XPathParser.cpp:
+ (isAxisName):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::xsltParamArrayFromParameterMap):
+ * xml/XSLTProcessorQt.cpp:
+ (WebCore::XSLTProcessor::transformToString):
+
+2012-08-28 Jer Noble <jer.noble@apple.com>
+
+ Crash in WebCore::logPluginRequest + 183
+ https://bugs.webkit.org/show_bug.cgi?id=95218
+
+ Reviewed by Oliver Hunt.
+
+ Crash is within findPluginMIMETypeFromURL, caused by a null-dereference of
+ page()->pluginData(). Add a null-check and return an empty string.
+
+ * loader/SubframeLoader.cpp:
+ (WebCore::findPluginMIMETypeFromURL):
+
+2012-08-28 Simon Fraser <simon.fraser@apple.com>
+
+ Regression (r126774): Crash when scrolling after removing sticky element.
+ https://bugs.webkit.org/show_bug.cgi?id=95174
+
+ Reviewed by Abhishek Arya.
+
+ RenderBox::willBeDestroyed() needs to check for both fixed and sticky
+ position to determine whether to remove an object from FrameView's
+ set of fixed objects.
+
+ Test: fast/css/sticky/remove-sticky-crash.html
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::willBeDestroyed):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::Watchers::find):
+ (WebCore::Geolocation::Watchers::remove):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::objectStoreNames):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::metadata):
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::deleteDatabase):
+ (WebCore::IDBFactoryBackendImpl::openBackingStore):
+ (WebCore::IDBFactoryBackendImpl::open):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::indexNames):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::deleteIndex):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::metadata):
+ (WebCore::makeIndexWriters):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::objectStoreDeleted):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::dispatchEvent):
+ * Modules/webdatabase/AbstractDatabase.cpp:
+ (WebCore::AbstractDatabase::performOpenAndVerify):
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::diskUsage):
+ * Modules/webdatabase/SQLTransactionCoordinator.cpp:
+ (WebCore::SQLTransactionCoordinator::acquireLock):
+ (WebCore::SQLTransactionCoordinator::releaseLock):
+ (WebCore::SQLTransactionCoordinator::shutdown):
+ * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/chromium/QuotaTracker.cpp:
+ (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
+ (WebCore::QuotaTracker::updateDatabaseSize):
+ * Modules/websockets/WebSocketDeflateFramer.cpp:
+ (WebCore::WebSocketExtensionDeflateFrame::processResponse):
+ * Modules/websockets/WebSocketExtensionDispatcher.cpp:
+ (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::~AXObjectCache):
+ * bindings/gobject/DOMObjectCache.cpp:
+ (WebKit::DOMObjectCache::clearByFrame):
+ * bindings/js/DOMObjectHashTableMap.h:
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ (WebCore::DOMObjectHashTableMap::get):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::visitChildren):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::addListener):
+ (WebCore::PageScriptDebugServer::removeListener):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::~ScriptController):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::attachDebugger):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::createRootObject):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::windowShell):
+ (WebCore::ScriptController::existingWindowShell):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::checkForDuplicate):
+ (WebCore::CloneSerializer::dumpIfTerminal):
+ (WebCore::CloneSerializer::write):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateImplementation):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::V8Float64Array::GetRawTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::GetRawTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::GetRawTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::V8TestEventTarget::GetRawTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::GetRawTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::GetRawTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::GetRawTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::GetRawTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::GetRawTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::deallocate):
+ (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::freeV8NPObject):
+ (WebCore::npCreateV8ScriptObject):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::clearScriptObjects):
+ (WebCore::ScriptController::resetIsolatedWorlds):
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::removeIfPresent):
+ (WebCore::WeakReferenceMap::visit):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::enumerateGlobalHandles):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore::V8PerContextData::dispose):
+ * bindings/v8/npruntime.cpp:
+ * bridge/IdentifierRep.cpp:
+ (WebCore::IdentifierRep::get):
+ * bridge/NP_jsobject.cpp:
+ (ObjectMap::add):
+ (ObjectMap::remove):
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ (JavaClass::~JavaClass):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::WeakMap::set):
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::canvasChanged):
+ (WebCore::CSSCanvasValue::canvasResized):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::counterToCSSValue):
+ * css/CSSCrossfadeValue.cpp:
+ (WebCore::CSSCrossfadeValue::crossfadeChanged):
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ (WebCore::CSSFontSelector::getFontData):
+ * css/CSSImageGeneratorValue.cpp:
+ (WebCore::CSSImageGeneratorValue::addClient):
+ (WebCore::CSSImageGeneratorValue::removeClient):
+ (WebCore::CSSImageGeneratorValue::getImage):
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::parsePseudoType):
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createColorValue):
+ (WebCore::CSSValuePool::createFontFamilyValue):
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyCounter::applyInheritValue):
+ (WebCore::ApplyPropertyCounter::applyValue):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectFeatures):
+ (WebCore::StyleResolver::ruleSetForScope):
+ (WebCore::StyleResolver::appendAuthorStylesheets):
+ (WebCore::StyleResolver::sweepMatchedPropertiesCache):
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parserAddNamespace):
+ (WebCore::StyleSheetContents::determineNamespace):
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::CheckedRadioButtons::addButton):
+ (WebCore::CheckedRadioButtons::removeButton):
+ * dom/ChildListMutationScope.cpp:
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
+ * dom/Document.cpp:
+ (WebCore::Document::pageGroupUserSheets):
+ (WebCore::Document::windowNamedItems):
+ (WebCore::Document::documentNamedItems):
+ (WebCore::Document::getCSSCanvasElement):
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::markerContainingPoint):
+ (WebCore::DocumentMarkerController::renderedRectsForMarkers):
+ (WebCore::DocumentMarkerController::removeMarkers):
+ (WebCore::DocumentMarkerController::repaintMarkers):
+ (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
+ (WebCore::DocumentMarkerController::showMarkers):
+ * dom/DocumentOrderedMap.cpp:
+ (WebCore::DocumentOrderedMap::remove):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ensureAttrListForElement):
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
+ * dom/EventListenerMap.cpp:
+ (WebCore::EventListenerMap::eventTypes):
+ (WebCore::EventListenerMap::add):
+ (WebCore::EventListenerMap::remove):
+ (WebCore::EventListenerMap::find):
+ (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
+ (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
+ (WebCore::EventListenerIterator::nextListener):
+ * dom/IdTargetObserverRegistry.cpp:
+ (WebCore::IdTargetObserverRegistry::addObserver):
+ (WebCore::IdTargetObserverRegistry::removeObserver):
+ * dom/MemoryInstrumentation.h:
+ (WebCore::MemoryInstrumentation::addInstrumentedMapEntries):
+ (WebCore::MemoryInstrumentation::addInstrumentedMapValues):
+ * dom/MutationObserverInterestGroup.cpp:
+ (WebCore::MutationObserverInterestGroup::isOldValueRequested):
+ (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::clearRareData):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::Node::collectMatchingObserversForMutation):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::addCacheWithAtomicName):
+ (WebCore::NodeListsNodeData::addCacheWithName):
+ (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
+ (WebCore::NodeListsNodeData::adoptTreeScope):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorQueryCache::add):
+ * dom/SpaceSplitString.cpp:
+ (WebCore::SpaceSplitStringData::create):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateAttributeStyle):
+ * editing/mac/AlternativeTextUIController.mm:
+ (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
+ * html/FormController.cpp:
+ (WebCore::SavedFormState::serializeTo):
+ (WebCore::SavedFormState::appendControlState):
+ (WebCore::SavedFormState::takeControlState):
+ (WebCore::SavedFormState::getReferencedFilePaths):
+ (WebCore::FormKeyGenerator::formKey):
+ (WebCore::FormController::createSavedFormStateMap):
+ (WebCore::FormController::formElementsState):
+ (WebCore::FormController::takeStateForFormElement):
+ (WebCore::FormController::getReferencedFilePaths):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollectionCacheBase::append):
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::getAttachment):
+ (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
+ (WebCore::WebGLFramebuffer::checkStatus):
+ (WebCore::WebGLFramebuffer::deleteObjectImpl):
+ (WebCore::WebGLFramebuffer::initializeAttachments):
+ * inspector/CodeGeneratorInspector.py:
+ * inspector/DOMPatchSupport.cpp:
+ (WebCore::DOMPatchSupport::diff):
+ (WebCore::DOMPatchSupport::innerPatchChildren):
+ (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
+ * inspector/InjectedScriptManager.cpp:
+ (WebCore::InjectedScriptManager::injectedScriptForId):
+ (WebCore::InjectedScriptManager::injectedScriptIdFor):
+ (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
+ (WebCore::InjectedScriptManager::releaseObjectGroup):
+ (WebCore::InjectedScriptManager::injectedScriptFor):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::SelectorProfile::commitSelector):
+ (WebCore::SelectorProfile::commitSelectorTime):
+ (WebCore::SelectorProfile::toInspectorObject):
+ (WebCore::InspectorCSSAgent::forcePseudoState):
+ (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::assertStyleSheetForId):
+ (WebCore::InspectorCSSAgent::didRemoveDOMNode):
+ (WebCore::InspectorCSSAgent::didModifyDOMAttr):
+ (WebCore::InspectorCSSAgent::resetPseudoStates):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::stopTiming):
+ (WebCore::InspectorConsoleAgent::count):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::nodeForId):
+ (WebCore::InspectorDOMAgent::performSearch):
+ (WebCore::InspectorDOMAgent::getSearchResults):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::clearFrontend):
+ (WebCore::InspectorDOMStorageAgent::enable):
+ (WebCore::InspectorDOMStorageAgent::storageId):
+ (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
+ (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
+ (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore::InspectorDatabaseAgent::enable):
+ (WebCore::InspectorDatabaseAgent::databaseId):
+ (WebCore::InspectorDatabaseAgent::findByFileName):
+ (WebCore::InspectorDatabaseAgent::databaseForId):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::removeBreakpoint):
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ (WebCore::InspectorDebuggerAgent::searchInContent):
+ (WebCore::InspectorDebuggerAgent::getScriptSource):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::cachedResourcesForFrame):
+ (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorPageAgent::frameDetached):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::getProfileHeaders):
+ (WebCore):
+ (WebCore::InspectorProfilerAgent::getProfile):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForHeaders):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::getBoolean):
+ (WebCore::InspectorState::getString):
+ (WebCore::InspectorState::getLong):
+ (WebCore::InspectorState::getDouble):
+ (WebCore::InspectorState::getObject):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::styleWithProperties):
+ (WebCore::InspectorStyleSheet::inspectorStyleForId):
+ * inspector/InspectorValues.cpp:
+ (WebCore::InspectorObjectBase::get):
+ (WebCore::InspectorObjectBase::writeJSON):
+ * inspector/InspectorWorkerAgent.cpp:
+ (WebCore::InspectorWorkerAgent::workerContextTerminated):
+ (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
+ (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
+ * inspector/NetworkResourcesData.cpp:
+ (WebCore::NetworkResourcesData::removeCachedResource):
+ (WebCore::NetworkResourcesData::clear):
+ * loader/CrossOriginAccessControl.cpp:
+ (WebCore::isSimpleCrossOriginAccessRequest):
+ (WebCore::createAccessControlPreflightRequest):
+ * loader/CrossOriginPreflightResultCache.cpp:
+ (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
+ (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::getSubresources):
+ (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::servePendingRequests):
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::removeResource):
+ (WebCore::ApplicationCache::clearStorageID):
+ (WebCore::ApplicationCache::dump):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ (WebCore::ApplicationCacheGroup::startLoadingEntry):
+ (WebCore::ApplicationCacheGroup::addEntry):
+ * loader/appcache/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::fillResourceList):
+ * loader/appcache/ApplicationCacheResource.cpp:
+ (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::empty):
+ (WebCore::ApplicationCacheStorage::storeCopyOfCache):
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::canReuse):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::switchClientsToRevalidatedResource):
+ (WebCore::CachedResource::updateResponseAfterRevalidation):
+ * loader/cache/CachedResourceClientWalker.h:
+ (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::~CachedResourceLoader):
+ (WebCore::CachedResourceLoader::requestResource):
+ (WebCore::CachedResourceLoader::setAutoLoadImages):
+ (WebCore::CachedResourceLoader::removeCachedResource):
+ (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
+ (WebCore::CachedResourceLoader::reportMemoryUsage):
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::removeResourcesWithOrigin):
+ (WebCore::MemoryCache::getOriginsWithCache):
+ (WebCore::MemoryCache::getStatistics):
+ (WebCore::MemoryCache::reportMemoryUsage):
+ (WebCore::MemoryCache::setDisabled):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::removeAllIcons):
+ (WebCore::IconDatabase::iconRecordCountWithData):
+ (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
+ (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent):
+ * page/Frame.cpp:
+ (WebCore::Frame::injectUserScripts):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::pageGroup):
+ (WebCore::PageGroup::closeLocalStorage):
+ (WebCore::PageGroup::clearLocalStorageForAllOrigins):
+ (WebCore::PageGroup::clearLocalStorageForOrigin):
+ (WebCore::PageGroup::syncLocalStorage):
+ (WebCore::PageGroup::addUserScriptToWorld):
+ (WebCore::PageGroup::addUserStyleSheetToWorld):
+ (WebCore::PageGroup::removeUserScriptFromWorld):
+ (WebCore::PageGroup::removeUserStyleSheetFromWorld):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::urlForBlankFrame):
+ * page/SecurityPolicy.cpp:
+ (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
+ (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
+ * page/Settings.cpp:
+ (WebCore::setGenericFontFamilyMap):
+ (WebCore::getGenericFontFamilyForScript):
+ * page/SpeechInput.cpp:
+ (WebCore::SpeechInput::registerListener):
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::boolFeature):
+ (WebCore::WindowFeatures::floatFeature):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateAnimations):
+ (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+ * platform/Language.cpp:
+ (WebCore::languageDidChange):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
+ * platform/audio/HRTFElevation.cpp:
+ (WebCore::getConcatenatedImpulseResponsesForSubject):
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::generateHtmlFragmentForCookies):
+ (WebCore::CookieManager::removeAllCookies):
+ * platform/blackberry/CookieMap.cpp:
+ (WebCore::CookieMap::removeOldestCookie):
+ (WebCore::CookieMap::getAllChildCookies):
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::BinaryPropertyListPlan::writeIntegerArray):
+ * platform/chromium/support/WebHTTPLoadInfo.cpp:
+ (WebKit::addHeader):
+ * platform/chromium/support/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::visitHTTPHeaderFields):
+ * platform/chromium/support/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::addHTTPHeaderField):
+ (WebKit::WebURLResponse::visitHTTPHeaderFields):
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
+ (WebCore::DisplayRefreshMonitorManager::unregisterClient):
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::getCachedFontPlatformData):
+ (WebCore::FontCache::getCachedFontData):
+ (WebCore::FontCache::getVerticalData):
+ (WebCore::FontCache::releaseFontData):
+ (WebCore::FontCache::purgeInactiveFontData):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
+ (WebCore::GlyphPageTreeNode::pageCount):
+ (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneTreeFontData):
+ (WebCore::GlyphPageTreeNode::pruneCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneFontData):
+ (WebCore::GlyphPageTreeNode::showSubtree):
+ (showGlyphPageTrees):
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ (WebCore::TiledBackingStore::resizeEdgeTiles):
+ (WebCore::TiledBackingStore::setKeepRect):
+ * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+ (WebCore::AVFWrapper::avfWrapperForCallbackContext):
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::layerVisibilityChanged):
+ (WebCore::LayerTiler::uploadTexturesIfNeeded):
+ (WebCore::LayerTiler::addTileJob):
+ (WebCore::LayerTiler::deleteTextures):
+ (WebCore::LayerTiler::pruneTextures):
+ (WebCore::LayerTiler::bindContentsTexture):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
+ (WebCore::TextureCacheCompositingThread::textureForTiledContents):
+ (WebCore::TextureCacheCompositingThread::textureForColor):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
+ (WebCore::GraphicsLayerCA::pauseAnimation):
+ (WebCore::GraphicsLayerCA::layerDidDisplay):
+ (WebCore::GraphicsLayerCA::updateGeometry):
+ (WebCore::GraphicsLayerCA::updateTransform):
+ (WebCore::GraphicsLayerCA::updateChildrenTransform):
+ (WebCore::GraphicsLayerCA::updateMasksToBounds):
+ (WebCore::GraphicsLayerCA::updateContentsVisibility):
+ (WebCore::GraphicsLayerCA::updateContentsOpaque):
+ (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
+ (WebCore::GraphicsLayerCA::updateFilters):
+ (WebCore::GraphicsLayerCA::ensureStructuralLayer):
+ (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerCA::updateContentsImage):
+ (WebCore::GraphicsLayerCA::updateContentsRect):
+ (WebCore::GraphicsLayerCA::updateMaskLayer):
+ (WebCore::GraphicsLayerCA::updateLayerAnimations):
+ (WebCore::GraphicsLayerCA::setAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
+ (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::suspendAnimations):
+ (WebCore::GraphicsLayerCA::resumeAnimations):
+ (WebCore::GraphicsLayerCA::findOrMakeClone):
+ (WebCore::GraphicsLayerCA::setOpacityInternal):
+ (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::~TileCache):
+ (WebCore::TileCache::setNeedsDisplay):
+ (WebCore::TileCache::setScale):
+ (WebCore::TileCache::setAcceleratesDrawing):
+ (WebCore::TileCache::setTileDebugBorderWidth):
+ (WebCore::TileCache::setTileDebugBorderColor):
+ (WebCore::TileCache::revalidateTiles):
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+ (PlatformCALayer::animationStarted):
+ (resubmitAllAnimations):
+ (PlatformCALayer::animationForKey):
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::LookupAltName):
+ (WebCore::fontContainsCharacter):
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::getDerivedFontData):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::setLayerTreeHost):
+ (WebCore::TiledLayerChromium::invalidateContentRect):
+ (WebCore::TiledLayerChromium::setTexturePriorities):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ * platform/graphics/chromium/cc/CCDamageTracker.cpp:
+ (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::setBounds):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::startRateLimiter):
+ (WebCore::CCLayerTreeHost::stopRateLimiter):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::findRenderPassById):
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::deleteResource):
+ (WebCore::CCResourceProvider::deleteOwnedResources):
+ (WebCore::CCResourceProvider::resourceType):
+ (WebCore::CCResourceProvider::upload):
+ (WebCore::CCResourceProvider::lockForRead):
+ (WebCore::CCResourceProvider::unlockForRead):
+ (WebCore::CCResourceProvider::lockForWrite):
+ (WebCore::CCResourceProvider::unlockForWrite):
+ (WebCore::CCResourceProvider::destroyChild):
+ (WebCore::CCResourceProvider::getChildToParentMap):
+ (WebCore::CCResourceProvider::prepareSendToParent):
+ (WebCore::CCResourceProvider::prepareSendToChild):
+ (WebCore::CCResourceProvider::receiveFromChild):
+ (WebCore::CCResourceProvider::receiveFromParent):
+ (WebCore::CCResourceProvider::transferResource):
+ (WebCore::CCResourceProvider::trimMailboxDeque):
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
+ (WebCore::CustomFilterGlobalContext::getCompiledProgram):
+ (WebCore::CustomFilterGlobalContext::removeCompiledProgram):
+ * platform/graphics/filters/CustomFilterProgram.cpp:
+ (WebCore::CustomFilterProgram::notifyClients):
+ * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
+ (WebCore::getCachedHarfbuzzFace):
+ (WebCore::releaseCachedHarfbuzzFace):
+ * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
+ (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
+ (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
+ * platform/graphics/mac/SimpleFontDataCoreText.cpp:
+ (WebCore::SimpleFontData::getCFStringAttributes):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+ (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::compileShader):
+ (WebCore::GraphicsContext3D::getShaderiv):
+ (WebCore::GraphicsContext3D::getShaderInfoLog):
+ (WebCore::GraphicsContext3D::getShaderSource):
+ * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
+ (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
+ (WebCore::EGLDisplayOpenVG::destroySurface):
+ (WebCore::EGLDisplayOpenVG::contextForSurface):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FixedSizeFontData::create):
+ * platform/gtk/DataObjectGtk.cpp:
+ (WebCore::DataObjectGtk::forClipboard):
+ * platform/gtk/GtkDragAndDropHelper.cpp:
+ (WebCore::GtkDragAndDropHelper::handleGetDragData):
+ (WebCore::GtkDragAndDropHelper::handleDragLeave):
+ (WebCore::GtkDragAndDropHelper::handleDragMotion):
+ (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
+ (WebCore::GtkDragAndDropHelper::handleDragDrop):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::gtkStyleChangedCallback):
+ (WebCore::getStyleContext):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
+ * platform/network/CredentialStorage.cpp:
+ (WebCore::CredentialStorage::set):
+ (WebCore::CredentialStorage::get):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+ (WebCore::HTTPHeaderMap::get):
+ * platform/network/MIMEHeader.cpp:
+ (WebCore::MIMEHeader::parseHeader):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::create):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ (WebCore::ResourceRequestBase::addHTTPHeaderFields):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::targetTypeFromMimeType):
+ (WebCore::ResourceRequest::initializePlatformRequest):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::makeFinalRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::setHeaderFields):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::initializeHandle):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback):
+ (WebCore::ResourceHandle::setClientCertificate):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::updateSoupMessage):
+ (WebCore::ResourceRequest::toSoupMessage):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::toSoupMessage):
+ * platform/network/win/ResourceHandleWin.cpp:
+ (WebCore::ResourceHandle::start):
+ * platform/qt/RunLoopQt.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/text/LocaleToScriptMappingDefault.cpp:
+ (WebCore::scriptNameToCode):
+ (WebCore::localeToScriptCodeForFontSelection):
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::pruneBlacklistedCodecs):
+ (WebCore::dumpTextEncodingNameMap):
+ * platform/text/transcoder/FontTranscoder.cpp:
+ (WebCore::FontTranscoder::converterType):
+ * platform/text/win/TextCodecWin.cpp:
+ (WebCore::LanguageManager::LanguageManager):
+ (WebCore::getCodePage):
+ (WebCore::TextCodecWin::registerExtendedEncodingNames):
+ (WebCore::TextCodecWin::registerExtendedCodecs):
+ (WebCore::TextCodecWin::enumerateSupportedEncodings):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getDataMapItem):
+ (WebCore::getClipboardData):
+ (WebCore::setClipboardData):
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::types):
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::cachedStorageDirectory):
+ * platform/win/RunLoopWin.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/win/WCDataObject.cpp:
+ (WebCore::WCDataObject::createInstance):
+ * platform/wince/MIMETypeRegistryWinCE.cpp:
+ (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+ * platform/wx/ContextMenuWx.cpp:
+ (WebCore::ContextMenu::appendItem):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::refresh):
+ (WebCore::PluginDatabase::MIMETypeForExtension):
+ (WebCore::PluginDatabase::remove):
+ * plugins/PluginMainThreadScheduler.cpp:
+ (WebCore::PluginMainThreadScheduler::scheduleCall):
+ (WebCore::PluginMainThreadScheduler::dispatchCalls):
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream):
+ * plugins/blackberry/PluginDataBlackBerry.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/wx/PluginDataWx.cpp:
+ (WebCore::PluginData::initPlugins):
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::requiresIdeographicBaseline):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloats):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::destroyCounterNodes):
+ (WebCore::RenderCounter::destroyCounterNode):
+ (WebCore::updateCounters):
+ (WebCore::RenderCounter::rendererStyleChanged):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::setRegionRangeForBox):
+ (WebCore::RenderFlowThread::getRegionRangeForBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paint):
+ (WebCore::performOverlapTests):
+ * rendering/RenderLayerFilterInfo.cpp:
+ (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
+ (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dependsOn):
+ (WebCore::RenderNamedFlowThread::pushDependencies):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::setRenderBoxRegionInfo):
+ (WebCore::RenderRegion::setRegionObjectsRegionStyle):
+ (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
+ (WebCore::RenderRegion::computeChildrenStyleInRegion):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::cachedCollapsedBorder):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::systemColor):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::setSelection):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::resumeWidgetHierarchyUpdates):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::ascentAndDescentForBox):
+ * rendering/VerticalPositionCache.h:
+ (WebCore::VerticalPositionCache::get):
+ * rendering/WrapShapeInfo.cpp:
+ (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock):
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ * rendering/svg/RenderSVGResourceGradient.cpp:
+ (WebCore::RenderSVGResourceGradient::applyResource):
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+ (WebCore::RenderSVGResourcePattern::applyResource):
+ * rendering/svg/SVGResourcesCache.cpp:
+ (WebCore::SVGResourcesCache::resourceDestroyed):
+ * rendering/svg/SVGRootInlineBox.cpp:
+ (WebCore::swapItemsInLayoutAttributes):
+ * rendering/svg/SVGTextLayoutAttributes.cpp:
+ (WebCore::SVGTextLayoutAttributes::dump):
+ * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
+ (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
+ (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
+ * rendering/svg/SVGTextLayoutEngine.cpp:
+ (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::syncTimerFired):
+ (WebCore::StorageAreaSync::performImport):
+ (WebCore::StorageAreaSync::sync):
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::key):
+ (WebCore::StorageMap::setItem):
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::localStorageNamespace):
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::close):
+ (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
+ (WebCore::StorageNamespaceImpl::sync):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
+ (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ (WebCore::SVGDocumentExtensions::isElementPendingResources):
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+ (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
+ (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
+ (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::~SVGElement):
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::updateAnimations):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::~SVGImageCache):
+ (WebCore::SVGImageCache::removeClientFromCache):
+ (WebCore::SVGImageCache::requestedSizeAndScales):
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redraw):
+ (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::effectReferences):
+ (WebCore::SVGFilterBuilder::addBuiltinEffects):
+ * svg/properties/SVGAnimatedProperty.h:
+ (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
+ * svg/properties/SVGAttributeToPropertyMap.cpp:
+ (WebCore::SVGAttributeToPropertyMap::addProperties):
+ (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ * workers/WorkerEventQueue.cpp:
+ (WebCore::WorkerEventQueue::close):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ (WebCore::XMLHttpRequest::getAllResponseHeaders):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::createFunction):
+ * xml/XPathParser.cpp:
+ (isAxisName):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::xsltParamArrayFromParameterMap):
+ * xml/XSLTProcessorQt.cpp:
+ (WebCore::XSLTProcessor::transformToString):
+
+2012-08-27 Jeffrey Pfau <jpfau@apple.com>
+
+ Make shared workers respect third-party storage blocking setting
+ https://bugs.webkit.org/show_bug.cgi?id=94559
+
+ Reviewed by Adam Barth.
+
+ Shared workers can fundamentally leak information between pages in
+ different contexts if the workers can be accessed from a third-party
+ context. Thus, if third-party storage blocking is enabled, shared
+ workers should be disallowed in third-party contexts.
+
+ Tests: http/tests/security/cross-origin-shared-worker-allowed.html
+ http/tests/security/cross-origin-shared-worker.html
+
+ * page/SecurityOrigin.h: Add canAccessSharedWorkers function
+ (WebCore::SecurityOrigin::canAccessSharedWorkers):
+ * workers/SharedWorker.cpp:
+ (WebCore::SharedWorker::create): Ensure that we can access shared workers before creating the worker.
+
+2012-07-10 Robert Hogan <robert@webkit.org>
+
+ REGRESSION (r94492): Unstable layout of static block inside text-align: center div
+ https://bugs.webkit.org/show_bug.cgi?id=77754
+
+ Reviewed by David Hyatt.
+
+ Text-align of 'center' on an out-of-flow element determines its x-position in the line - it
+ doesn't mean that the element should be centred in the line as though it were a block of text.
+
+ This is a partial revert of http://trac.webkit.org/changeset/113584 and a correction to
+ http://trac.webkit.org/changeset/94492.
+
+ Tests: fast/css/center-align-absolute-position-inline-block.html
+ fast/css/center-align-absolute-position.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::layoutPositionedObjects): Remove an update to the static position when
+ it depended on the child's width. Reverts code added in r113584.
+ * rendering/RenderBlock.h:
+ (RenderBlock): Remove child parameter from startAlignedOffsetForLine()
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setStaticPositions): ditto
+ (WebCore::RenderBlock::startAlignedOffsetForLine): No need to account for the child's width when calculating
+ the offset for the line.
+
+2012-08-27 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications
+ https://bugs.webkit.org/show_bug.cgi?id=95099
+ <rdar://problem/12180186>
+
+ Reviewed by Jessie Berlin.
+
+ This is work toward providing Mac support for web notifications in DRT and WTR (77969).
+
+ Expose functions to convert JSValue to Notification, and to get the NotificationController from a page.
+
+ * WebCore.exp.in:
+ * WebCore.xcodeproj/project.pbxproj: Promote NotificationController.h and JSNotification.h to private headers.
+
+2012-08-28 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Should be able to tab to focus a link in a canvas subtree
+ https://bugs.webkit.org/show_bug.cgi?id=94967
+
+ Reviewed by Chris Fleizach.
+
+ Skips the hasNonEmptyBoundingBox check in isKeyboardFocusable
+ when in a canvas subtree.
+
+ Test: fast/events/tab-focus-link-in-canvas.html
+
+ * html/HTMLAnchorElement.cpp:
+ (WebCore::HTMLAnchorElement::isKeyboardFocusable):
+
+2012-08-28 Koji Ishii <kojiishi@gmail.com>
+
+ OPENTYPE_VERTICAL support for Chromium Win
+ https://bugs.webkit.org/show_bug.cgi?id=94822
+
+ Reviewed by Tony Chang.
+
+ To fix bug 51450 - Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows,
+ this patch adds support of OPENTYPE_VERTICAL feature for Chromium Windows.
+ Since enabling OPENTYPE_VERTICAL feature would require rather a big number of tests to rebaseline,
+ the actual fix is separated into this patch, and the feature will be enabled in bug 51450,
+ so that it is easier to revert on any perf regressions, as suggested by Tony in comment #50 of bug 51450.
+
+ All changes in this patch are behind #if ENABLE(OPENTYPE_VERTICAL) and therefore no tests are included in this patch.
+ All tests in fast/writing-modes currently skipped will be enabled in bug 51450.
+
+ * WebCore.gyp/WebCore.gyp: Added platform/graphics/opentype/OpenType*.
+ * WebCore.gypi: Ditto.
+ * platform/graphics/FontCache.h: SKia uses uint32_t as FontFileKey.
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::fill): Replace vertical alternate glyphs if vertical flow.
+ * platform/graphics/SimpleFontData.cpp: Added m_verticalData.
+ (WebCore::SimpleFontData::SimpleFontData):
+ * platform/graphics/SimpleFontData.h:
+ (WebCore::SimpleFontData::verticalData):
+ (SimpleFontData):
+ (WebCore::SimpleFontData::widthForGlyph):
+ * platform/graphics/chromium/FontChromiumWin.cpp:
+ (WebCore::Font::drawGlyphs): Draw glyphs verticaly if font->verticalData().
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
+ (WebCore::FontPlatformData::verticalData): Added.
+ (WebCore):
+ (WebCore::FontPlatformData::openTypeTable): Added.
+ * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
+ (WebCore):
+ (FontPlatformData): Added verticalData() and openTypeTable().
+
+2012-08-28 Andy Estes <aestes@apple.com>
+
+ Add header guards to WebTileCacheLayer.h.
+ https://bugs.webkit.org/show_bug.cgi?id=95171
+
+ Reviewed by Simon Hausmann.
+
+ Headers love include guards.
+
+ * platform/graphics/ca/mac/WebTileCacheLayer.h:
+
+2012-08-28 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Be robust to WebCore popping an empty GraphicsContext stack
+ https://bugs.webkit.org/show_bug.cgi?id=95152
+
+ Reviewed by James Robinson.
+
+ * platform/graphics/skia/OpaqueRegionSkia.cpp:
+ (WebCore::OpaqueRegionSkia::popCanvasLayer):
+
+2012-08-28 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Rename some flow thread methods and region methods/members to make them
+ more accurate and also change some function signatures so they can be used by RenderMultiColumnSet.
+ https://bugs.webkit.org/show_bug.cgi?id=95213
+
+ Reviewed by Simon Fraser.
+
+ Rename regionRect()/setRegionRect()/m_regionRect on RenderRegion to be flowThreadPortionRect instead.
+ The term regionRect() makes it sound like you're painting a rect in the region's coordinate space,
+ but regionRect() actually represents the portion of the flow thread in the flow thread's coordinate space
+ that this region "owns."
+
+ Also fix paintIntoRegion and hitTestRegion to take specific flow thread portion rects to paint. This
+ allows a region set to paint a portion of a portion, i.e., if a multicolumn set owns part of the flow thread
+ it has to be able to further break up that part into individual columns and issue multiple paint calls, one
+ for each column.
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::layout):
+ (WebCore::RenderFlowThread::paintFlowThreadPortionInRegion):
+ (WebCore::RenderFlowThread::hitTestFlowThreadPortionInRegion):
+ (WebCore::RenderFlowThread::repaintRectangleInRegions):
+ (WebCore::RenderFlowThread::renderRegionForLine):
+ (WebCore::RenderFlowThread::regionLogicalTopForLine):
+ (WebCore::RenderFlowThread::regionLogicalWidthForLine):
+ (WebCore::RenderFlowThread::regionLogicalHeightForLine):
+ (WebCore::RenderFlowThread::regionRemainingLogicalHeightForLine):
+ (WebCore::RenderFlowThread::mapFromFlowToRegion):
+ (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
+ (WebCore::RenderFlowThread::computeOverflowStateForRegions):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::columnCount):
+ (WebCore::RenderMultiColumnSet::paintColumnContents):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::flowThreadPortionOverflowRect):
+ (WebCore::RenderRegion::paintReplaced):
+ (WebCore::RenderRegion::nodeAtPoint):
+ (WebCore::RenderRegion::layout):
+ (WebCore::RenderRegion::offsetFromLogicalTopOfFirstPage):
+ * rendering/RenderRegion.h:
+ (WebCore::RenderRegion::setFlowThreadPortionRect):
+ (WebCore::RenderRegion::flowThreadPortionRect):
+ (RenderRegion):
+ * rendering/RenderRegionSet.cpp:
+ (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):
+
+2012-08-28 Alpha Lam <hclam@chromium.org>
+
+ Report frame bytes by platform ImageDecoder
+ https://bugs.webkit.org/show_bug.cgi?id=94241
+
+ Reviewed by James Robinson.
+
+ Decoded frame bytes should be reported by the platform ImageSource and
+ ImageDecoder. BitmapImage used to guess system memory used by a frame
+ but this is no longer true if a frame is backed by an accelerated
+ surface or defer-decoded.
+
+ Adds ImageSource::frameBytesAtIndex and ImageDecoder::frameBytesAtIndex
+ such that platform can report memory usage correctly.
+
+ No new tests. Refactoring without change of behavior.
+ Tested on Chromium port with pixel tests without any crash or failure.
+
+ * platform/graphics/BitmapImage.cpp:
+ (WebCore::BitmapImage::destroyDecodedData):
+ (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
+ (WebCore::BitmapImage::destroyMetadataAndNotify):
+ (WebCore::BitmapImage::cacheFrame):
+ (WebCore::BitmapImage::dataChanged):
+ * platform/graphics/BitmapImage.h:
+ (WebCore::FrameData::FrameData):
+ (FrameData):
+ (BitmapImage):
+ * platform/graphics/ImageSource.cpp:
+ (WebCore::ImageSource::frameBytesAtIndex):
+ (WebCore):
+ * platform/graphics/ImageSource.h:
+ * platform/graphics/cg/ImageSourceCG.cpp:
+ (WebCore::ImageSource::frameBytesAtIndex):
+ (WebCore):
+ * platform/image-decoders/ImageDecoder.cpp:
+ (WebCore::ImageDecoder::frameBytesAtIndex):
+ (WebCore):
+ * platform/image-decoders/ImageDecoder.h:
+ (ImageDecoder):
+
+2012-08-28 Gustavo Noronha Silva <gns@gnome.org>
+
+ [GTK] Does not regenerate CSS-related sources when configuration changes
+ https://bugs.webkit.org/show_bug.cgi?id=94927
+
+ Reviewed by Eric Seidel.
+
+ In bug 94094 the gtk EWS consistently failed to build the patch. The
+ reason that happens is the .in files have not been touched, so the CSS
+ property names and value keywords sources are not regenerated. By
+ adding an explicit dependency on configure.ac and GNUmakefile.am the
+ problem is fixed (see bug 82465, attachment 160265).
+
+ * GNUmakefile.am: add explicit dependency from the CSS-related .in files
+ on configure.ac and WebCore's GNUmakefile.am
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126813.
+ http://trac.webkit.org/changeset/126813
+ https://bugs.webkit.org/show_bug.cgi?id=95211
+
+ Broke Chromium debug builds (Requested by beverloo on
+ #webkit).
+
+ * WebCore.gypi:
+
+2012-08-28 Iain Merrick <husky@chromium.org>
+
+ [chromium] Split some ASSERT(a && b && c) statements into separate lines.
+ https://bugs.webkit.org/show_bug.cgi?id=95206
+
+ Reviewed by James Robinson.
+
+ This makes for easier debugging, as you can immediately see which clause
+ has failed.
+
+ No change in behavior, no new tests needed.
+
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::deleteResource):
+ (WebCore::CCResourceProvider::upload):
+ (WebCore::CCResourceProvider::lockForRead):
+ (WebCore::CCResourceProvider::unlockForRead):
+ (WebCore::CCResourceProvider::lockForWrite):
+ (WebCore::CCResourceProvider::unlockForWrite):
+ (WebCore::CCResourceProvider::transferResource):
+
+2012-08-28 Anna Cavender <annacc@chromium.org>
+
+ [Chrome] Enable track by default.
+ https://bugs.webkit.org/show_bug.cgi?id=95153
+
+ Reviewed by Eric Carlson.
+
+ This change turns <track> and TextTrack API on by default for Chrome.
+
+ Existing Tests: media/track/*
+
+ * bindings/generic/RuntimeEnabledFeatures.cpp:
+ (WebCore):
+
+2012-08-28 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Checkerboard observed after pinch zooming page with AC layers
+ https://bugs.webkit.org/show_bug.cgi?id=95192
+
+ PR 199177
+ The LayerTiler was passing transformed ("pixel") coordinates to
+ GraphicsLayerClient::contentsVisible(), and that method expects
+ untransformed ("document") coordinates. When the scale was not 1.0,
+ this was comparing apples and oranges.
+
+ Fixed by packaging up the transformation code into a reusable method
+ and mapping the "pixel" tile rect to "document" coordinates before the
+ visibility testing.
+
+ Reviewed by Antonio Gomes.
+
+ Not currently testable by the BlackBerry testing infrastructure.
+
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::shouldPerformRenderJob):
+ * platform/graphics/blackberry/LayerWebKitThread.cpp:
+ (WebCore::LayerWebKitThread::paintContents):
+ (WebCore::LayerWebKitThread::mapFromTransformed):
+ (WebCore):
+ * platform/graphics/blackberry/LayerWebKitThread.h:
+ (LayerWebKitThread):
+
+2012-08-28 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Removing unnecessary include of Class BlackBerryPlatformClient
+ https://bugs.webkit.org/show_bug.cgi?id=95113
+
+ Reviewed by Kentaro Hara.
+
+ Refactoring has lead to relocation of many or all methods from Class
+ BlackBerryPlatformClient to other classes. Some files include
+ BlackBerryPlatformClient but does not use its instance thus these
+ includes has to be removed.
+
+ No new tests as there are no logical modifications done.
+
+ * platform/network/blackberry/NetworkManager.cpp:
+
+2012-08-28 Hugo Parente Lima <hugo.lima@openbossa.org>
+
+ [WK2] Send click events to WebCore when the user clicked on a non-special node with TOUCH_ADJUSTMENT enabled.
+ https://bugs.webkit.org/show_bug.cgi?id=91012
+
+ Reviewed by Antonio Gomes.
+
+ Don't abort the gesture tap handling when the tap hits a non user
+ interactable node like a text node.
+
+ Test: touchadjustment/focusout-on-touch.html
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleGestureTap):
+
+2012-08-28 Andreas Kling <kling@webkit.org>
+
+ Simplify cloning of inline style (below Node.cloneNode)
+ <http://webkit.org/b/95095>
+
+ Reviewed by Eric Seidel.
+
+ Just use StylePropertySet::copy() instead of copying the properties and CSS parser mode manually
+ when cloning an element that has inline style.
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::StylePropertySet):
+ * css/StylePropertySet.h:
+ (StylePropertySet):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ElementAttributeData::cloneDataFrom):
+
+2012-08-28 Sukolsak Sakshuwong <sukolsak@gmail.com>
+
+ Crash in EditingStyle::mergeStyle
+ https://bugs.webkit.org/show_bug.cgi?id=94740
+
+ Reviewed by Ryosuke Niwa.
+
+ This bug happened when we selected "1<progress><a style>2</a></progress>"
+ and executed a create link command because
+
+ 1. The selection ended at <progress>, not the text node inside it, because
+ <progress> is an atomic node.
+ 2. We called removeInlineStyle() to remove conflicting styles.
+ Since the selection started at the text node "1" and ended at <progress>,
+ we did not get to remove <a>.
+ 3. We called fixRangeAndApplyInlineStyle(), which in turn called
+ applyInlineStyleToNodeRange(). This method split the node range
+ into smaller runs. In this case, the run was the whole
+ "1<progress><a style>2</a></progress>".
+ 4. We called removeStyleFromRunBeforeApplyingStyle(). This method tried
+ to remove <a> by calling removeInlineStyleFromElement() on <a> with
+ extractedStyle = 0. But the method expected that extractedStyle was not null.
+ So, it crashed.
+
+ This bug doesn't happen with non-atomic nodes because if <a> is inside a non-atomic
+ node, <a> will be covered by the selection. Therefore, it will be removed in
+ step #2 and we will never call removeInlineStyleFromElement() on <a>
+ again. Thus, the assertion that extractedStyle is not null is reasonable.
+ Hence, this patch fixes this bug by skipping over atomic nodes when we apply style.
+
+ Test: editing/style/apply-style-atomic.html
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle):
+ (WebCore::ApplyStyleCommand::removeInlineStyle):
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Range input ignores padding
+ https://bugs.webkit.org/show_bug.cgi?id=94595
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ We do not constrain the slider size anymore since it was ignoring the
+ padding. Also paint the slider thumb on the step it was suppose
+ to be painted. WebKit will now take care of the positioning of the
+ thumb, the behavior will be now more coherent with other ports.
+
+ As side effect, this patch also fixes setting a slider RTL that wasn't
+ working before and can be verified by the existing tests. Also
+ datalist will stop at tick marks.
+
+ No new tests, rebaselined the existing ones and unskipping failures.
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore):
+ (WebCore::RenderThemeEfl::paintThemePart):
+ (WebCore::RenderThemeEfl::edjeGroupFromFormType):
+ (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
+ (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
+ (WebCore::RenderThemeEfl::adjustSliderThumbSize):
+ (WebCore::RenderThemeEfl::paintSliderThumb):
+ * platform/efl/RenderThemeEfl.h:
+
+2012-08-28 Kevin Funk <kevin.funk@kdab.com>
+
+ Compile fix: use fabs() instead of abs() for doubles
+ https://bugs.webkit.org/show_bug.cgi?id=95184
+
+ Reviewed by Kentaro Hara.
+
+ Simple compilation fix.
+
+ * platform/ScrollAnimatorNone.cpp:
+
+2012-08-28 Christophe Dumez <christophe.dumez@intel.com>
+
+ REGRESSION (r124512): Failures in MathML Presentation tests on GTK and EFL
+ https://bugs.webkit.org/show_bug.cgi?id=93073
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Provide SimpleFontData::platformBoundsForGlyph() implementation
+ for FreeType backend. This fixes several CSS line-box-contain
+ test cases as well as the MathML tests for ports using
+ FreeType.
+
+ No new tests, already covered by:
+ fast/block/lineboxcontain/block-glyphs-replaced.html
+ fast/block/lineboxcontain/glyphs.html
+ mathml/*
+
+ * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
+ (WebCore::SimpleFontData::platformBoundsForGlyph):
+
+2012-08-28 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Rename HitTestPoint and pointInContainer
+ https://bugs.webkit.org/show_bug.cgi?id=90992
+
+ Reviewed by Eric Seidel.
+
+ The former hitTestPoint is not just a point. It can be either a point or an area being
+ hit tested. This patches renames 'point' to 'location' to make it more obvious that the
+ code does not only handle points.
+
+ * rendering/EllipsisBox.cpp:
+ (WebCore::EllipsisBox::nodeAtPoint):
+ * rendering/EllipsisBox.h:
+ (EllipsisBox):
+ * rendering/HitTestResult.cpp:
+ (WebCore::HitTestLocation::HitTestLocation):
+ (WebCore::HitTestLocation::~HitTestLocation):
+ (WebCore::HitTestLocation::operator=):
+ (WebCore::HitTestLocation::move):
+ (WebCore::HitTestLocation::intersectsRect):
+ (WebCore::HitTestLocation::intersects):
+ (WebCore::HitTestLocation::rectForPoint):
+ (WebCore::HitTestResult::HitTestResult):
+ (WebCore::HitTestResult::operator=):
+ (WebCore::HitTestResult::addNodeToRectBasedTestResult):
+ (WebCore::HitTestResult::dictationAlternatives):
+ * rendering/HitTestResult.h:
+ (HitTestLocation):
+ (HitTestResult):
+ (WebCore::HitTestResult::hitTestLocation):
+ * rendering/InlineBox.cpp:
+ (WebCore::InlineBox::nodeAtPoint):
+ * rendering/InlineBox.h:
+ (InlineBox):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::nodeAtPoint):
+ * rendering/InlineFlowBox.h:
+ (InlineFlowBox):
+ * rendering/InlineTextBox.cpp:
+ (WebCore::InlineTextBox::nodeAtPoint):
+ * rendering/InlineTextBox.h:
+ (InlineTextBox):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::isPointInOverflowControl):
+ (WebCore::RenderBlock::nodeAtPoint):
+ (WebCore::RenderBlock::hitTestFloats):
+ (WebCore::RenderBlock::hitTestColumns):
+ (WebCore::RenderBlock::adjustForColumnRect):
+ (WebCore::RenderBlock::hitTestContents):
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::nodeAtPoint):
+ * rendering/RenderBox.h:
+ (RenderBox):
+ * rendering/RenderEmbeddedObject.cpp:
+ (WebCore::RenderEmbeddedObject::nodeAtPoint):
+ * rendering/RenderEmbeddedObject.h:
+ (RenderEmbeddedObject):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::hitTestRegion):
+ * rendering/RenderFlowThread.h:
+ * rendering/RenderFrameSet.cpp:
+ (WebCore::RenderFrameSet::nodeAtPoint):
+ * rendering/RenderFrameSet.h:
+ (RenderFrameSet):
+ * rendering/RenderImage.cpp:
+ (WebCore::RenderImage::nodeAtPoint):
+ * rendering/RenderImage.h:
+ (RenderImage):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::nodeAtPoint):
+ * rendering/RenderInline.h:
+ (RenderInline):
+ * rendering/RenderLayer.cpp:
+ (WebCore::ClipRect::intersects):
+ (WebCore::RenderLayer::hitTest):
+ (WebCore::RenderLayer::createLocalTransformState):
+ (WebCore::RenderLayer::hitTestLayer):
+ (WebCore::RenderLayer::hitTestContents):
+ (WebCore::RenderLayer::hitTestList):
+ (WebCore::RenderLayer::hitTestPaginatedChildLayer):
+ (WebCore::RenderLayer::hitTestChildLayerColumns):
+ * rendering/RenderLayer.h:
+ (ClipRect):
+ (RenderLayer):
+ * rendering/RenderLineBoxList.cpp:
+ (WebCore::RenderLineBoxList::hitTest):
+ * rendering/RenderLineBoxList.h:
+ (RenderLineBoxList):
+ * rendering/RenderListBox.cpp:
+ (WebCore::RenderListBox::isPointInOverflowControl):
+ (WebCore::RenderListBox::nodeAtPoint):
+ * rendering/RenderListBox.h:
+ (RenderListBox):
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::hitTest):
+ (WebCore::RenderObject::nodeAtPoint):
+ * rendering/RenderObject.h:
+ (RenderObject):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::nodeAtPoint):
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::nodeAtPoint):
+ * rendering/RenderTable.h:
+ (RenderTable):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::nodeAtPoint):
+ * rendering/RenderTableRow.h:
+ (RenderTableRow):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::nodeAtPoint):
+ * rendering/RenderTableSection.h:
+ (RenderTableSection):
+ * rendering/RenderText.h:
+ * rendering/RenderTextControlMultiLine.cpp:
+ (WebCore::RenderTextControlMultiLine::nodeAtPoint):
+ * rendering/RenderTextControlMultiLine.h:
+ (RenderTextControlMultiLine):
+ * rendering/RenderTextControlSingleLine.cpp:
+ (WebCore::RenderTextControlSingleLine::nodeAtPoint):
+ * rendering/RenderTextControlSingleLine.h:
+ (RenderTextControlSingleLine):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::nodeAtPoint):
+ * rendering/RenderWidget.h:
+ (RenderWidget):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::nodeAtPoint):
+ * rendering/RootInlineBox.h:
+ (RootInlineBox):
+ * rendering/svg/RenderSVGForeignObject.cpp:
+ (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
+ (WebCore::RenderSVGForeignObject::nodeAtPoint):
+ * rendering/svg/RenderSVGForeignObject.h:
+ (RenderSVGForeignObject):
+ * rendering/svg/RenderSVGModelObject.cpp:
+ (WebCore::RenderSVGModelObject::nodeAtPoint):
+ * rendering/svg/RenderSVGModelObject.h:
+ (RenderSVGModelObject):
+ * rendering/svg/RenderSVGRoot.cpp:
+ (WebCore::RenderSVGRoot::nodeAtPoint):
+ * rendering/svg/RenderSVGRoot.h:
+ (RenderSVGRoot):
+ * rendering/svg/RenderSVGText.cpp:
+ (WebCore::RenderSVGText::nodeAtFloatPoint):
+ (WebCore::RenderSVGText::nodeAtPoint):
+ * rendering/svg/RenderSVGText.h:
+ (RenderSVGText):
+ * rendering/svg/SVGInlineTextBox.cpp:
+ (WebCore::SVGInlineTextBox::nodeAtPoint):
+ * rendering/svg/SVGInlineTextBox.h:
+ (SVGInlineTextBox):
+
+2012-08-28 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] New test introduced in r126611 fails: fast/css/image-set-setting.html
+ https://bugs.webkit.org/show_bug.cgi?id=95054
+
+ Reviewed by Eric Seidel.
+
+ Add missing files to the build for CSS_IMAGE_SET.
+
+ * Target.pri:
+
+2012-08-28 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: introduce overlay page and migrate "paused in debugger" to it.
+ https://bugs.webkit.org/show_bug.cgi?id=95080
+
+ Reviewed by Yury Semikhatsky.
+
+ Separate page instance is now used to render overlay. Paused in debugger is migrated to the new overlay.
+
+ * CMakeLists.txt:
+ * DerivedSources.make:
+ * GNUmakefile.am:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * inspector/InspectorOverlay.cpp:
+ (WebCore::InspectorOverlay::~InspectorOverlay):
+ (WebCore):
+ (WebCore::InspectorOverlay::paint):
+ (WebCore::InspectorOverlay::drawOutline):
+ (WebCore::InspectorOverlay::setPausedInDebuggerMessage):
+ (WebCore::InspectorOverlay::drawNodeHighlight):
+ (WebCore::InspectorOverlay::drawRectHighlight):
+ (WebCore::InspectorOverlay::drawOverlayPage):
+ (WebCore::InspectorOverlay::overlayPage):
+ (WebCore::InspectorOverlay::evaluateInOverlay):
+ * inspector/InspectorOverlay.h:
+ (InspectorOverlay):
+ * inspector/InspectorOverlayPage.html: Added.
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::InspectorPageAgent::didPaint):
+
+2012-08-28 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Simple experimental frontend implementation
+ https://bugs.webkit.org/show_bug.cgi?id=94696
+
+ Reviewed by Vsevolod Vlasov.
+
+ A simple experimental frontend for WebGL instrumentation.
+ This is a draft unpolished UI just to start with. Iterations on the UI will follow.
+
+ * WebCore.gypi:
+ * inspector/front-end/Settings.js:
+ (WebInspector.ExperimentsSettings):
+ * inspector/front-end/WebGLPanel.js: Added.
+ (WebInspector.WebGLPanel):
+ (WebInspector.WebGLPanel.prototype.get toolbarItemLabel):
+ (WebInspector.WebGLPanel.prototype.get statusBarItems):
+ (WebInspector.WebGLPanel.prototype.wasShown):
+ (WebInspector.WebGLPanel.prototype.willHide):
+ (WebInspector.WebGLPanel.prototype._toggleWebGLInspection):
+ (WebInspector.WebGLPanel.prototype._onCaptureFrameButtonClick):
+ (WebInspector.WebGLPanel.prototype._onTraceLogListItemClick):
+ (WebInspector.WebGLPanel.prototype._onFunctionCallItemClick):
+ (WebInspector.WebGLManager):
+ (WebInspector.WebGLManager.prototype.start):
+ (WebInspector.WebGLManager.prototype.stop):
+ (WebInspector.WebGLManager.prototype.dropTraceLog):
+ (WebInspector.WebGLManager.prototype.captureFrame):
+ (WebInspector.WebGLManager.prototype.getTraceLog):
+ (WebInspector.WebGLManager.prototype.replayTraceLog):
+ (WebInspector.WebGLManager.prototype._started):
+ (WebInspector.WebGLManager.prototype._stopped):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+ * inspector/front-end/webGLPanel.css: Added.
+ (.webgl-toggle-status-bar-item .glyph):
+ (.webgl-toggle-status-bar-item.toggled-on .glyph):
+ (.webgl-trace-logs-list):
+ (.webgl-trace-log):
+ (.webgl-trace-logs-list div, .webgl-trace-log div):
+ (#webgl-capture-frame-button):
+ (#webgl-replay-image-container):
+ (#webgl-replay-image):
+
+2012-08-28 Kentaro Hara <haraken@chromium.org>
+
+ Unreviewed, rolling out r126852.
+ http://trac.webkit.org/changeset/126852
+ https://bugs.webkit.org/show_bug.cgi?id=94433
+
+ broke qt and mac tests
+
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::initScript):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initializeIfNeeded):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+ * page/ContentSecurityPolicy.cpp:
+ (CSPDirectiveList):
+ (WebCore::CSPDirectiveList::reportViolation):
+ (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
+ (WebCore::CSPDirectiveList::allowEval):
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ (WebCore):
+ (WebCore::isAllowedByAllWithCallStack):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ (WebCore::ContentSecurityPolicy::logToConsole):
+ * page/ContentSecurityPolicy.h:
+ (WebCore):
+ * page/DOMSecurityPolicy.cpp:
+ (WebCore::DOMSecurityPolicy::allowsEval):
+
+2012-08-28 Mike West <mkwst@chromium.org>
+
+ Add call stacks to Content Security Policy checks when relevant.
+ https://bugs.webkit.org/show_bug.cgi?id=94433
+
+ Reviewed by Adam Barth.
+
+ Previously, we generated stack traces only for eval-related CSP
+ violations. As it turns out, we can call createScriptCallStack from
+ practically anywhere. This patch takes advantage of that to generate
+ stack traces whenever a warning is logged to the console. If we're in
+ a JavaScript stack, brilliant: we get a detailed warning. If not, the
+ stack trace is empty, and we don't pass it into the console logging
+ method.
+
+ This has the advantage of giving us good developer-facing logging for
+ any and all violations that result from script-based injection of
+ resources. Yay!
+
+ Tests: http/tests/inspector/csp-injected-content-warning-contains-stacktrace.html
+ http/tests/inspector/csp-inline-warning-contains-stacktrace.html
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::initScript):
+ * bindings/js/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::create):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initContextIfNeeded):
+ * bindings/v8/custom/V8DOMWindowCustom.cpp:
+ (WebCore::WindowSetTimeoutImpl):
+ Dropping stack trace from call to ContentSecurityPolicy::allowEval.
+ * page/ContentSecurityPolicy.cpp:
+ (CSPDirectiveList):
+ (WebCore::CSPDirectiveList::reportViolation):
+ (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
+ (WebCore::CSPDirectiveList::allowEval):
+ No longer piping a stack trace through CSPDirectiveList::allowEval
+ to reportViolation.
+ (WebCore::ContentSecurityPolicy::didReceiveHeader):
+ Dropping stack trace from call to ContentSecurityPolicy::allowEval.
+ (WebCore):
+ (WebCore::isAllowedByAll):
+ (WebCore::ContentSecurityPolicy::allowEval):
+ (WebCore::ContentSecurityPolicy::reportViolation):
+ (WebCore::ContentSecurityPolicy::logToConsole):
+ No longer piping a stack trace through ContentSecurityPolicy down to
+ the point where it would be logged. Instead, we simply generate the
+ stack trace just before logging it, and only pass it to
+ addConsoleMessage if it's non-empty.
+ * page/ContentSecurityPolicy.h:
+ (WebCore):
+ * page/DOMSecurityPolicy.cpp:
+ (WebCore::DOMSecurityPolicy::allowsEval):
+ Dropping stack trace from call to ContentSecurityPolicy::allowEval.
+
+2012-08-27 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: persist the state of glue records to parents button of Timeline panel
+ https://bugs.webkit.org/show_bug.cgi?id=95091
+
+ Reviewed by Vsevolod Vlasov.
+
+ Add a setting for "Glue records" button on the timeline, use it to persist the state of the button.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelinePanel):
+ (WebInspector.TimelinePanel.prototype._createStatusBarItems.get this):
+ (WebInspector.TimelinePanel.prototype._createStatusBarItems):
+
+2012-08-27 Taiju Tsuiki <tzik@chromium.org>
+
+ Web Inspector: Add delete button to FileSystemView
+ https://bugs.webkit.org/show_bug.cgi?id=93940
+
+ Reviewed by Vsevolod Vlasov.
+
+ Adding status bar button to allow user to delete entries in FileSystem
+ for debugging use.
+
+ Test: http/tests/inspector/filesystem/delete-entry.html
+
+ * inspector/front-end/FileSystemModel.js:
+ (WebInspector.FileSystemModel.prototype.requestFileContent):
+ (WebInspector.FileSystemModel.prototype.deleteEntry.hookFileSystemDeletion):
+ (WebInspector.FileSystemModel.prototype.deleteEntry):
+ (WebInspector.FileSystemModel.prototype._removeFileSystem):
+ (WebInspector.FileSystemModel.Entry.prototype.deleteEntry):
+ (WebInspector.FileSystemRequestManager):
+ (WebInspector.FileSystemRequestManager.prototype.deleteEntry.requestAccepted):
+ (WebInspector.FileSystemRequestManager.prototype.deleteEntry):
+ (WebInspector.FileSystemRequestManager.prototype._deletionCompleted):
+ (WebInspector.FileSystemDispatcher.prototype.deletionCompleted):
+ * inspector/front-end/FileSystemView.js:
+ (WebInspector.FileSystemView):
+ (WebInspector.FileSystemView.prototype.get statusBarItems):
+ (WebInspector.FileSystemView.prototype._refresh):
+ (WebInspector.FileSystemView.prototype._confirmDelete):
+ (WebInspector.FileSystemView.prototype._delete):
+ (WebInspector.FileSystemView.EntryTreeElement.prototype.deleteEntry):
+ (WebInspector.FileSystemView.EntryTreeElement.prototype._deletionCompleted):
+
+2012-08-27 Yoshifumi Inoue <yosin@chromium.org>
+
+ [ShadowDOM] Shadow elements in the input element should be focusable.
+ https://bugs.webkit.org/show_bug.cgi?id=95169
+
+ Reviewed by Kent Tamura.
+
+ This patch introduces new virtual function HTMLElement::hasCustomFocusLogic()
+ to allow input type implementations to use shadow element with focus
+ navigation.
+
+ No new tests. This patch doesn't change behavior.
+
+ (WebCore::HTMLElement::hasCustomFocusLogic): Added to return false as
+ default value.
+ * html/HTMLElement.h:
+ (HTMLElement): Added a declaration of hasCustomFocusLogic().
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::hasCustomFocusLogic): Added to call InputType::hasCustomFocusLogic(),
+ * html/HTMLInputElement.h:
+ (HTMLInputElement): Added a declaration of hasCustomFocusLogic().
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::hasCustomFocusLogic): Added to return true for "audio" and "video" elements.
+ * html/HTMLMediaElement.h:
+ (HTMLMediaElement): Add a declaration of hasCustomFocusLogic()
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::hasCustomFocusLogic): Added to return true.
+ * html/HTMLTextAreaElement.h:
+ (HTMLTextAreaElement): Add a declaration of hasCustomFocusLogic().
+ * page/FocusController.cpp:
+ (WebCore::hasCustomFocusLogic): Changed to call HTMLElement::hasCustomFocusLogic()
+ rather than checking tag names.
+ * html/InputType.cpp:
+ (WebCore::InputType::hasCustomFocusLogic): Added to return true as default value.
+ * html/InputType.h:
+ (InputType): Added a declaration of hasCustomFocusLogic().
+
+2012-08-27 Beth Dakin <bdakin@apple.com>
+
+ https://bugs.webkit.org/show_bug.cgi?id=94848
+ When paged-x/y is specified on the root, columnGap is ignored, and garbage pixels
+ are likely
+
+ Reviewed by Dan Bernstein.
+
+ We used to call setPagination() from applyOverflowToViewport(), but that is too
+ late. We want to setPagination() before we actually lay anything out so that all
+ of the styles (including columnGap!) will be properly set on the RenderView.
+
+ No longer handle pagination here since we take care of it in
+ applyPaginationToViewport()
+ * page/FrameView.cpp:
+ (WebCore::FrameView::applyOverflowToViewport):
+
+ New function to call setPagination(). This function gets the appropriate renderer
+ and uses its RenderStyle to determine if pagination should be set.
+ (WebCore::FrameView::applyPaginationToViewport):
+ (WebCore):
+
+ Call applyPaginationToViewport() before the call to updateStyleIfNeeded().
+ (WebCore::FrameView::layout):
+
+ This code was meant to prevent garbage pixels in column gaps for pagination on the
+ RenderView, but paintContents() does not always get called when we paint into
+ tiles, so I moved this code to RenderView.
+ (WebCore::FrameView::paintContents):
+ * page/FrameView.h:
+ (FrameView):
+
+ The code from RenderView::paintContents() to prevent garbage pixels is moved here.
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::paint):
+
+2012-08-27 Kent Tamura <tkent@chromium.org>
+
+ REGRESSION(r109480): Form state for iframe content is not restored
+ https://bugs.webkit.org/show_bug.cgi?id=90870
+
+ Reviewed by Jochen Eisinger.
+
+ Since r109480, we have restored form state only for documents
+ loaded by FrameLoader::loadItem(). However we should restore form
+ state for documents in sub-frames of documents loaded by
+ FrameLoader::loadItem().
+
+ Test: fast/loader/form-state-restore-with-frames.html
+
+ * history/HistoryItem.cpp:
+ (WebCore::HistoryItem::isAncestorOf):
+ Added. A function to search descendants for the specified
+ HistoryItem. This is used by isAssociatedToRequestedHistoryItem().
+ * history/HistoryItem.h:
+ (HistoryItem): Declare isAncestorOf().
+ * loader/HistoryController.cpp:
+ (WebCore::HistoryController::saveDocumentState):
+ Don't save form state for detached document.
+ This is needed because saveDocumentState() is called twice; before
+ document detach and after document detach. We need to avoid the
+ latter call because formElementsState() for a detached document
+ produces an empty state.
+ (WebCore::isAssociatedToRequestedHistoryItem):
+ Added. This function checks the current HistoryItem is associated
+ to the HistoryItem specified to FrameLoader::loadItem().
+ (WebCore::HistoryController::restoreDocumentState):
+ Uses isAssociatedToRequestedHistoryItem().
+
+2012-08-27 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Should accelerate rotations of >= 180 degrees
+ https://bugs.webkit.org/show_bug.cgi?id=94860
+
+ Reviewed by James Robinson.
+
+ WebTransformOperation now stores enough information to interpolate
+ without resorting to WebTransformationMatrix::blend which is both
+ expensive, and in the case of big rotations, error prone. For example,
+ we now store the axis and angle for rotations, so if two rotations are
+ interpolated, and they are about the same axis, we can simply
+ interpolate the angles.
+
+ Unit tests:
+ WebTransformOperationTest.transformTypesAreUnique
+ WebTransformOperationTest.matchTypesSameLength
+ WebTransformOperationTest.identityAlwaysMatches
+ WebTransformOperationTest.largeRotationsWithSameAxis
+ WebTransformOperationTest.largeRotationsWithSameAxisInDifferentDirection
+ WebTransformOperationTest.largeRotationsWithDifferentAxes
+ WebTransformOperationTest.blendRotationFromIdentity
+ WebTransformOperationTest.blendTranslationFromIdentity
+ WebTransformOperationTest.blendScaleFromIdentity
+ WebTransformOperationTest.blendSkewFromIdentity
+ WebTransformOperationTest.blendPerspectiveFromIdentity
+ WebTransformOperationTest.blendRotationToIdentity
+ WebTransformOperationTest.blendTranslationToIdentity
+ WebTransformOperationTest.blendScaleToIdentity
+ WebTransformOperationTest.blendSkewToIdentity
+ WebTransformOperationTest.blendPerspectiveToIdentity
+ AnimationTranslationUtilTest.createTransformAnimationWithBigRotation
+ AnimationTranslationUtilTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList
+
+ * platform/chromium/support/WebTransformOperations.cpp:
+ (std):
+ (WebKit::WebTransformOperation::WebTransformOperation):
+ (WebTransformOperation):
+ Added x y z and angle.
+ (WebKit::WebTransformOperation::isIdentity):
+ Returns true if this->matrix.isIdentity()
+ (WebKit::isIdentity):
+ Returns true if the argument is null or ->isIdentity()
+ (WebKit):
+ (WebKit::shareSameAxis):
+ A helper function that determines if two transform operations
+ share the same axis. Also returns the axis and 'from' angle
+ to use in the interpolation (in case the axes point in different
+ directions).
+ (WebKit::blendDoubles):
+ Linearly interpolates doubles.
+ (WebKit::blendTransformOperations):
+ Blends two WebTransformOperation objects.
+ (WebKit::WebTransformOperations::blend):
+ Blends two WebTransformOperations objects, taking special care
+ when either isIdentity().
+ (WebKit::WebTransformOperations::matchesTypes):
+ Was changed to reflect the fact that identity transform operations
+ match anything.
+ (WebKit::WebTransformOperations::appendTranslate):
+ (WebKit::WebTransformOperations::appendRotate):
+ (WebKit::WebTransformOperations::appendScale):
+ (WebKit::WebTransformOperations::appendSkew):
+ (WebKit::WebTransformOperations::appendPerspective):
+ (WebKit::WebTransformOperations::appendIdentity):
+ The 'append' functions all populate the new members in
+ WebTransformOperation.
+ (WebKit::WebTransformOperations::isIdentity):
+ Returns false iff any of its transform operations !isIdentity().
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::toWebTransformOperations):
+ (WebCore::WebTransformAnimationCurve):
+ Removed the >= 180 degree restriction.
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::Watchers::find):
+ (WebCore::Geolocation::Watchers::remove):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::objectStoreNames):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::metadata):
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::deleteDatabase):
+ (WebCore::IDBFactoryBackendImpl::openBackingStore):
+ (WebCore::IDBFactoryBackendImpl::open):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::indexNames):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::deleteIndex):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::metadata):
+ (WebCore::makeIndexWriters):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::objectStoreDeleted):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::dispatchEvent):
+ * Modules/webdatabase/AbstractDatabase.cpp:
+ (WebCore::AbstractDatabase::performOpenAndVerify):
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::diskUsage):
+ * Modules/webdatabase/SQLTransactionCoordinator.cpp:
+ (WebCore::SQLTransactionCoordinator::acquireLock):
+ (WebCore::SQLTransactionCoordinator::releaseLock):
+ (WebCore::SQLTransactionCoordinator::shutdown):
+ * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/chromium/QuotaTracker.cpp:
+ (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
+ (WebCore::QuotaTracker::updateDatabaseSize):
+ * Modules/websockets/WebSocketDeflateFramer.cpp:
+ (WebCore::WebSocketExtensionDeflateFrame::processResponse):
+ * Modules/websockets/WebSocketExtensionDispatcher.cpp:
+ (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::~AXObjectCache):
+ * bindings/gobject/DOMObjectCache.cpp:
+ (WebKit::DOMObjectCache::clearByFrame):
+ * bindings/js/DOMObjectHashTableMap.h:
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ (WebCore::DOMObjectHashTableMap::get):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::visitChildren):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::addListener):
+ (WebCore::PageScriptDebugServer::removeListener):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::~ScriptController):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::attachDebugger):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::createRootObject):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::windowShell):
+ (WebCore::ScriptController::existingWindowShell):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::checkForDuplicate):
+ (WebCore::CloneSerializer::dumpIfTerminal):
+ (WebCore::CloneSerializer::write):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateImplementation):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::V8Float64Array::GetRawTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::GetRawTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::GetRawTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::V8TestEventTarget::GetRawTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::GetRawTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::GetRawTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::GetRawTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::GetRawTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::GetRawTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::deallocate):
+ (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::freeV8NPObject):
+ (WebCore::npCreateV8ScriptObject):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::clearScriptObjects):
+ (WebCore::ScriptController::resetIsolatedWorlds):
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::removeIfPresent):
+ (WebCore::WeakReferenceMap::visit):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::enumerateGlobalHandles):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore::V8PerContextData::dispose):
+ * bindings/v8/npruntime.cpp:
+ * bridge/IdentifierRep.cpp:
+ (WebCore::IdentifierRep::get):
+ * bridge/NP_jsobject.cpp:
+ (ObjectMap::add):
+ (ObjectMap::remove):
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ (JavaClass::~JavaClass):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::WeakMap::set):
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::canvasChanged):
+ (WebCore::CSSCanvasValue::canvasResized):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::counterToCSSValue):
+ * css/CSSCrossfadeValue.cpp:
+ (WebCore::CSSCrossfadeValue::crossfadeChanged):
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ (WebCore::CSSFontSelector::getFontData):
+ * css/CSSImageGeneratorValue.cpp:
+ (WebCore::CSSImageGeneratorValue::addClient):
+ (WebCore::CSSImageGeneratorValue::removeClient):
+ (WebCore::CSSImageGeneratorValue::getImage):
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::parsePseudoType):
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createColorValue):
+ (WebCore::CSSValuePool::createFontFamilyValue):
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyCounter::applyInheritValue):
+ (WebCore::ApplyPropertyCounter::applyValue):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectFeatures):
+ (WebCore::StyleResolver::ruleSetForScope):
+ (WebCore::StyleResolver::appendAuthorStylesheets):
+ (WebCore::StyleResolver::sweepMatchedPropertiesCache):
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parserAddNamespace):
+ (WebCore::StyleSheetContents::determineNamespace):
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::CheckedRadioButtons::addButton):
+ (WebCore::CheckedRadioButtons::removeButton):
+ * dom/ChildListMutationScope.cpp:
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
+ * dom/Document.cpp:
+ (WebCore::Document::pageGroupUserSheets):
+ (WebCore::Document::windowNamedItems):
+ (WebCore::Document::documentNamedItems):
+ (WebCore::Document::getCSSCanvasElement):
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::markerContainingPoint):
+ (WebCore::DocumentMarkerController::renderedRectsForMarkers):
+ (WebCore::DocumentMarkerController::removeMarkers):
+ (WebCore::DocumentMarkerController::repaintMarkers):
+ (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
+ (WebCore::DocumentMarkerController::showMarkers):
+ * dom/DocumentOrderedMap.cpp:
+ (WebCore::DocumentOrderedMap::remove):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ensureAttrListForElement):
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
+ * dom/EventListenerMap.cpp:
+ (WebCore::EventListenerMap::eventTypes):
+ (WebCore::EventListenerMap::add):
+ (WebCore::EventListenerMap::remove):
+ (WebCore::EventListenerMap::find):
+ (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
+ (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
+ (WebCore::EventListenerIterator::nextListener):
+ * dom/IdTargetObserverRegistry.cpp:
+ (WebCore::IdTargetObserverRegistry::addObserver):
+ (WebCore::IdTargetObserverRegistry::removeObserver):
+ * dom/MemoryInstrumentation.h:
+ (WebCore::MemoryInstrumentation::addInstrumentedMapEntries):
+ (WebCore::MemoryInstrumentation::addInstrumentedMapValues):
+ * dom/MutationObserverInterestGroup.cpp:
+ (WebCore::MutationObserverInterestGroup::isOldValueRequested):
+ (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::clearRareData):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::Node::collectMatchingObserversForMutation):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::addCacheWithAtomicName):
+ (WebCore::NodeListsNodeData::addCacheWithName):
+ (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
+ (WebCore::NodeListsNodeData::adoptTreeScope):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorQueryCache::add):
+ * dom/SpaceSplitString.cpp:
+ (WebCore::SpaceSplitStringData::create):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateAttributeStyle):
+ * editing/mac/AlternativeTextUIController.mm:
+ (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
+ * html/FormController.cpp:
+ (WebCore::SavedFormState::serializeTo):
+ (WebCore::SavedFormState::appendControlState):
+ (WebCore::SavedFormState::takeControlState):
+ (WebCore::SavedFormState::getReferencedFilePaths):
+ (WebCore::FormKeyGenerator::formKey):
+ (WebCore::FormController::createSavedFormStateMap):
+ (WebCore::FormController::formElementsState):
+ (WebCore::FormController::takeStateForFormElement):
+ (WebCore::FormController::getReferencedFilePaths):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollectionCacheBase::append):
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::getAttachment):
+ (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
+ (WebCore::WebGLFramebuffer::checkStatus):
+ (WebCore::WebGLFramebuffer::deleteObjectImpl):
+ (WebCore::WebGLFramebuffer::initializeAttachments):
+ * inspector/CodeGeneratorInspector.py:
+ * inspector/DOMPatchSupport.cpp:
+ (WebCore::DOMPatchSupport::diff):
+ (WebCore::DOMPatchSupport::innerPatchChildren):
+ (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
+ * inspector/InjectedScriptManager.cpp:
+ (WebCore::InjectedScriptManager::injectedScriptForId):
+ (WebCore::InjectedScriptManager::injectedScriptIdFor):
+ (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
+ (WebCore::InjectedScriptManager::releaseObjectGroup):
+ (WebCore::InjectedScriptManager::injectedScriptFor):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::SelectorProfile::commitSelector):
+ (WebCore::SelectorProfile::commitSelectorTime):
+ (WebCore::SelectorProfile::toInspectorObject):
+ (WebCore::InspectorCSSAgent::forcePseudoState):
+ (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::assertStyleSheetForId):
+ (WebCore::InspectorCSSAgent::didRemoveDOMNode):
+ (WebCore::InspectorCSSAgent::didModifyDOMAttr):
+ (WebCore::InspectorCSSAgent::resetPseudoStates):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::stopTiming):
+ (WebCore::InspectorConsoleAgent::count):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::nodeForId):
+ (WebCore::InspectorDOMAgent::performSearch):
+ (WebCore::InspectorDOMAgent::getSearchResults):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::clearFrontend):
+ (WebCore::InspectorDOMStorageAgent::enable):
+ (WebCore::InspectorDOMStorageAgent::storageId):
+ (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
+ (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
+ (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore::InspectorDatabaseAgent::enable):
+ (WebCore::InspectorDatabaseAgent::databaseId):
+ (WebCore::InspectorDatabaseAgent::findByFileName):
+ (WebCore::InspectorDatabaseAgent::databaseForId):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::removeBreakpoint):
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ (WebCore::InspectorDebuggerAgent::searchInContent):
+ (WebCore::InspectorDebuggerAgent::getScriptSource):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::cachedResourcesForFrame):
+ (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorPageAgent::frameDetached):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::getProfileHeaders):
+ (WebCore):
+ (WebCore::InspectorProfilerAgent::getProfile):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForHeaders):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::getBoolean):
+ (WebCore::InspectorState::getString):
+ (WebCore::InspectorState::getLong):
+ (WebCore::InspectorState::getDouble):
+ (WebCore::InspectorState::getObject):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::styleWithProperties):
+ (WebCore::InspectorStyleSheet::inspectorStyleForId):
+ * inspector/InspectorValues.cpp:
+ (WebCore::InspectorObjectBase::get):
+ (WebCore::InspectorObjectBase::writeJSON):
+ * inspector/InspectorWorkerAgent.cpp:
+ (WebCore::InspectorWorkerAgent::workerContextTerminated):
+ (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
+ (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
+ * inspector/NetworkResourcesData.cpp:
+ (WebCore::NetworkResourcesData::removeCachedResource):
+ (WebCore::NetworkResourcesData::clear):
+ * loader/CrossOriginAccessControl.cpp:
+ (WebCore::isSimpleCrossOriginAccessRequest):
+ (WebCore::createAccessControlPreflightRequest):
+ * loader/CrossOriginPreflightResultCache.cpp:
+ (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
+ (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::getSubresources):
+ (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::servePendingRequests):
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::removeResource):
+ (WebCore::ApplicationCache::clearStorageID):
+ (WebCore::ApplicationCache::dump):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ (WebCore::ApplicationCacheGroup::startLoadingEntry):
+ (WebCore::ApplicationCacheGroup::addEntry):
+ * loader/appcache/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::fillResourceList):
+ * loader/appcache/ApplicationCacheResource.cpp:
+ (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::empty):
+ (WebCore::ApplicationCacheStorage::storeCopyOfCache):
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::canReuse):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::switchClientsToRevalidatedResource):
+ (WebCore::CachedResource::updateResponseAfterRevalidation):
+ * loader/cache/CachedResourceClientWalker.h:
+ (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::~CachedResourceLoader):
+ (WebCore::CachedResourceLoader::requestResource):
+ (WebCore::CachedResourceLoader::setAutoLoadImages):
+ (WebCore::CachedResourceLoader::removeCachedResource):
+ (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
+ (WebCore::CachedResourceLoader::reportMemoryUsage):
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::removeResourcesWithOrigin):
+ (WebCore::MemoryCache::getOriginsWithCache):
+ (WebCore::MemoryCache::getStatistics):
+ (WebCore::MemoryCache::reportMemoryUsage):
+ (WebCore::MemoryCache::setDisabled):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::removeAllIcons):
+ (WebCore::IconDatabase::iconRecordCountWithData):
+ (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
+ (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent):
+ * page/Frame.cpp:
+ (WebCore::Frame::injectUserScripts):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::pageGroup):
+ (WebCore::PageGroup::closeLocalStorage):
+ (WebCore::PageGroup::clearLocalStorageForAllOrigins):
+ (WebCore::PageGroup::clearLocalStorageForOrigin):
+ (WebCore::PageGroup::syncLocalStorage):
+ (WebCore::PageGroup::addUserScriptToWorld):
+ (WebCore::PageGroup::addUserStyleSheetToWorld):
+ (WebCore::PageGroup::removeUserScriptFromWorld):
+ (WebCore::PageGroup::removeUserStyleSheetFromWorld):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::urlForBlankFrame):
+ * page/SecurityPolicy.cpp:
+ (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
+ (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
+ * page/Settings.cpp:
+ (WebCore::setGenericFontFamilyMap):
+ (WebCore::getGenericFontFamilyForScript):
+ * page/SpeechInput.cpp:
+ (WebCore::SpeechInput::registerListener):
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::boolFeature):
+ (WebCore::WindowFeatures::floatFeature):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateAnimations):
+ (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+ * platform/Language.cpp:
+ (WebCore::languageDidChange):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
+ * platform/audio/HRTFElevation.cpp:
+ (WebCore::getConcatenatedImpulseResponsesForSubject):
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::generateHtmlFragmentForCookies):
+ (WebCore::CookieManager::removeAllCookies):
+ * platform/blackberry/CookieMap.cpp:
+ (WebCore::CookieMap::removeOldestCookie):
+ (WebCore::CookieMap::getAllChildCookies):
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::BinaryPropertyListPlan::writeIntegerArray):
+ * platform/chromium/support/WebHTTPLoadInfo.cpp:
+ (WebKit::addHeader):
+ * platform/chromium/support/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::visitHTTPHeaderFields):
+ * platform/chromium/support/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::addHTTPHeaderField):
+ (WebKit::WebURLResponse::visitHTTPHeaderFields):
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
+ (WebCore::DisplayRefreshMonitorManager::unregisterClient):
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::getCachedFontPlatformData):
+ (WebCore::FontCache::getCachedFontData):
+ (WebCore::FontCache::releaseFontData):
+ (WebCore::FontCache::purgeInactiveFontData):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
+ (WebCore::GlyphPageTreeNode::pageCount):
+ (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneTreeFontData):
+ (WebCore::GlyphPageTreeNode::pruneCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneFontData):
+ (WebCore::GlyphPageTreeNode::showSubtree):
+ (showGlyphPageTrees):
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ (WebCore::TiledBackingStore::resizeEdgeTiles):
+ (WebCore::TiledBackingStore::setKeepRect):
+ * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+ (WebCore::AVFWrapper::avfWrapperForCallbackContext):
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::layerVisibilityChanged):
+ (WebCore::LayerTiler::uploadTexturesIfNeeded):
+ (WebCore::LayerTiler::addTileJob):
+ (WebCore::LayerTiler::deleteTextures):
+ (WebCore::LayerTiler::pruneTextures):
+ (WebCore::LayerTiler::bindContentsTexture):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
+ (WebCore::TextureCacheCompositingThread::textureForTiledContents):
+ (WebCore::TextureCacheCompositingThread::textureForColor):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
+ (WebCore::GraphicsLayerCA::pauseAnimation):
+ (WebCore::GraphicsLayerCA::layerDidDisplay):
+ (WebCore::GraphicsLayerCA::updateGeometry):
+ (WebCore::GraphicsLayerCA::updateTransform):
+ (WebCore::GraphicsLayerCA::updateChildrenTransform):
+ (WebCore::GraphicsLayerCA::updateMasksToBounds):
+ (WebCore::GraphicsLayerCA::updateContentsVisibility):
+ (WebCore::GraphicsLayerCA::updateContentsOpaque):
+ (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
+ (WebCore::GraphicsLayerCA::updateFilters):
+ (WebCore::GraphicsLayerCA::ensureStructuralLayer):
+ (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerCA::updateContentsImage):
+ (WebCore::GraphicsLayerCA::updateContentsRect):
+ (WebCore::GraphicsLayerCA::updateMaskLayer):
+ (WebCore::GraphicsLayerCA::updateLayerAnimations):
+ (WebCore::GraphicsLayerCA::setAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
+ (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::suspendAnimations):
+ (WebCore::GraphicsLayerCA::resumeAnimations):
+ (WebCore::GraphicsLayerCA::findOrMakeClone):
+ (WebCore::GraphicsLayerCA::setOpacityInternal):
+ (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::setNeedsDisplay):
+ (WebCore::TileCache::setScale):
+ (WebCore::TileCache::setAcceleratesDrawing):
+ (WebCore::TileCache::setTileDebugBorderWidth):
+ (WebCore::TileCache::setTileDebugBorderColor):
+ (WebCore::TileCache::revalidateTiles):
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+ (PlatformCALayer::animationStarted):
+ (resubmitAllAnimations):
+ (PlatformCALayer::animationForKey):
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::LookupAltName):
+ (WebCore::fontContainsCharacter):
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::getDerivedFontData):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::setLayerTreeHost):
+ (WebCore::TiledLayerChromium::invalidateContentRect):
+ (WebCore::TiledLayerChromium::setTexturePriorities):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ * platform/graphics/chromium/cc/CCDamageTracker.cpp:
+ (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::setBounds):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::startRateLimiter):
+ (WebCore::CCLayerTreeHost::stopRateLimiter):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::findRenderPassById):
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::deleteResource):
+ (WebCore::CCResourceProvider::deleteOwnedResources):
+ (WebCore::CCResourceProvider::resourceType):
+ (WebCore::CCResourceProvider::upload):
+ (WebCore::CCResourceProvider::lockForRead):
+ (WebCore::CCResourceProvider::unlockForRead):
+ (WebCore::CCResourceProvider::lockForWrite):
+ (WebCore::CCResourceProvider::unlockForWrite):
+ (WebCore::CCResourceProvider::destroyChild):
+ (WebCore::CCResourceProvider::getChildToParentMap):
+ (WebCore::CCResourceProvider::prepareSendToParent):
+ (WebCore::CCResourceProvider::prepareSendToChild):
+ (WebCore::CCResourceProvider::receiveFromChild):
+ (WebCore::CCResourceProvider::receiveFromParent):
+ (WebCore::CCResourceProvider::transferResource):
+ (WebCore::CCResourceProvider::trimMailboxDeque):
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
+ (WebCore::CustomFilterGlobalContext::getCompiledProgram):
+ * platform/graphics/filters/CustomFilterProgram.cpp:
+ (WebCore::CustomFilterProgram::notifyClients):
+ * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
+ (WebCore::getCachedHarfbuzzFace):
+ (WebCore::releaseCachedHarfbuzzFace):
+ * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
+ (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
+ (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
+ * platform/graphics/mac/SimpleFontDataCoreText.cpp:
+ (WebCore::SimpleFontData::getCFStringAttributes):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+ (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::compileShader):
+ (WebCore::GraphicsContext3D::getShaderiv):
+ (WebCore::GraphicsContext3D::getShaderInfoLog):
+ (WebCore::GraphicsContext3D::getShaderSource):
+ * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
+ (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
+ (WebCore::EGLDisplayOpenVG::destroySurface):
+ (WebCore::EGLDisplayOpenVG::contextForSurface):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FixedSizeFontData::create):
+ * platform/gtk/DataObjectGtk.cpp:
+ (WebCore::DataObjectGtk::forClipboard):
+ * platform/gtk/GtkDragAndDropHelper.cpp:
+ (WebCore::GtkDragAndDropHelper::handleGetDragData):
+ (WebCore::GtkDragAndDropHelper::handleDragLeave):
+ (WebCore::GtkDragAndDropHelper::handleDragMotion):
+ (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
+ (WebCore::GtkDragAndDropHelper::handleDragDrop):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::gtkStyleChangedCallback):
+ (WebCore::getStyleContext):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
+ * platform/network/CredentialStorage.cpp:
+ (WebCore::CredentialStorage::set):
+ (WebCore::CredentialStorage::get):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+ (WebCore::HTTPHeaderMap::get):
+ * platform/network/MIMEHeader.cpp:
+ (WebCore::MIMEHeader::parseHeader):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::create):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ (WebCore::ResourceRequestBase::addHTTPHeaderFields):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::targetTypeFromMimeType):
+ (WebCore::ResourceRequest::initializePlatformRequest):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::makeFinalRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::setHeaderFields):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::initializeHandle):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback):
+ (WebCore::ResourceHandle::setClientCertificate):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::updateSoupMessage):
+ (WebCore::ResourceRequest::toSoupMessage):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::toSoupMessage):
+ * platform/network/win/ResourceHandleWin.cpp:
+ (WebCore::ResourceHandle::start):
+ * platform/qt/RunLoopQt.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/text/LocaleToScriptMappingDefault.cpp:
+ (WebCore::scriptNameToCode):
+ (WebCore::localeToScriptCodeForFontSelection):
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::pruneBlacklistedCodecs):
+ (WebCore::dumpTextEncodingNameMap):
+ * platform/text/transcoder/FontTranscoder.cpp:
+ (WebCore::FontTranscoder::converterType):
+ * platform/text/win/TextCodecWin.cpp:
+ (WebCore::LanguageManager::LanguageManager):
+ (WebCore::getCodePage):
+ (WebCore::TextCodecWin::registerExtendedEncodingNames):
+ (WebCore::TextCodecWin::registerExtendedCodecs):
+ (WebCore::TextCodecWin::enumerateSupportedEncodings):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getDataMapItem):
+ (WebCore::getClipboardData):
+ (WebCore::setClipboardData):
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::types):
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::cachedStorageDirectory):
+ * platform/win/RunLoopWin.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/win/WCDataObject.cpp:
+ (WebCore::WCDataObject::createInstance):
+ * platform/wince/MIMETypeRegistryWinCE.cpp:
+ (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+ * platform/wx/ContextMenuWx.cpp:
+ (WebCore::ContextMenu::appendItem):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::refresh):
+ (WebCore::PluginDatabase::MIMETypeForExtension):
+ (WebCore::PluginDatabase::remove):
+ * plugins/PluginMainThreadScheduler.cpp:
+ (WebCore::PluginMainThreadScheduler::scheduleCall):
+ (WebCore::PluginMainThreadScheduler::dispatchCalls):
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream):
+ * plugins/blackberry/PluginDataBlackBerry.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/wx/PluginDataWx.cpp:
+ (WebCore::PluginData::initPlugins):
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::requiresIdeographicBaseline):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloats):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::destroyCounterNodes):
+ (WebCore::RenderCounter::destroyCounterNode):
+ (WebCore::updateCounters):
+ (WebCore::RenderCounter::rendererStyleChanged):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::setRegionRangeForBox):
+ (WebCore::RenderFlowThread::getRegionRangeForBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paint):
+ (WebCore::performOverlapTests):
+ * rendering/RenderLayerFilterInfo.cpp:
+ (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
+ (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dependsOn):
+ (WebCore::RenderNamedFlowThread::pushDependencies):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::setRenderBoxRegionInfo):
+ (WebCore::RenderRegion::setRegionObjectsRegionStyle):
+ (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
+ (WebCore::RenderRegion::computeChildrenStyleInRegion):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::cachedCollapsedBorder):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::systemColor):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::setSelection):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::resumeWidgetHierarchyUpdates):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::ascentAndDescentForBox):
+ * rendering/VerticalPositionCache.h:
+ (WebCore::VerticalPositionCache::get):
+ * rendering/WrapShapeInfo.cpp:
+ (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock):
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ * rendering/svg/RenderSVGResourceGradient.cpp:
+ (WebCore::RenderSVGResourceGradient::applyResource):
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+ (WebCore::RenderSVGResourcePattern::applyResource):
+ * rendering/svg/SVGResourcesCache.cpp:
+ (WebCore::SVGResourcesCache::resourceDestroyed):
+ * rendering/svg/SVGRootInlineBox.cpp:
+ (WebCore::swapItemsInLayoutAttributes):
+ * rendering/svg/SVGTextLayoutAttributes.cpp:
+ (WebCore::SVGTextLayoutAttributes::dump):
+ * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
+ (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
+ (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
+ * rendering/svg/SVGTextLayoutEngine.cpp:
+ (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::syncTimerFired):
+ (WebCore::StorageAreaSync::performImport):
+ (WebCore::StorageAreaSync::sync):
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::key):
+ (WebCore::StorageMap::setItem):
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::localStorageNamespace):
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::close):
+ (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
+ (WebCore::StorageNamespaceImpl::sync):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
+ (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ (WebCore::SVGDocumentExtensions::isElementPendingResources):
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+ (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
+ (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
+ (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::~SVGElement):
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::updateAnimations):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::~SVGImageCache):
+ (WebCore::SVGImageCache::removeClientFromCache):
+ (WebCore::SVGImageCache::requestedSizeAndScales):
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redraw):
+ (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::effectReferences):
+ (WebCore::SVGFilterBuilder::addBuiltinEffects):
+ * svg/properties/SVGAnimatedProperty.h:
+ (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
+ * svg/properties/SVGAttributeToPropertyMap.cpp:
+ (WebCore::SVGAttributeToPropertyMap::addProperties):
+ (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ * workers/WorkerEventQueue.cpp:
+ (WebCore::WorkerEventQueue::close):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ (WebCore::XMLHttpRequest::getAllResponseHeaders):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::createFunction):
+ * xml/XPathParser.cpp:
+ (isAxisName):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::xsltParamArrayFromParameterMap):
+ * xml/XSLTProcessorQt.cpp:
+ (WebCore::XSLTProcessor::transformToString):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Modules/geolocation/Geolocation.cpp:
+ (WebCore::Geolocation::Watchers::find):
+ (WebCore::Geolocation::Watchers::remove):
+ * Modules/indexeddb/IDBDatabase.cpp:
+ (WebCore::IDBDatabase::objectStoreNames):
+ * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
+ (WebCore::IDBDatabaseBackendImpl::metadata):
+ * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
+ (WebCore::IDBFactoryBackendImpl::deleteDatabase):
+ (WebCore::IDBFactoryBackendImpl::openBackingStore):
+ (WebCore::IDBFactoryBackendImpl::open):
+ * Modules/indexeddb/IDBObjectStore.cpp:
+ (WebCore::IDBObjectStore::indexNames):
+ (WebCore::IDBObjectStore::put):
+ (WebCore::IDBObjectStore::index):
+ (WebCore::IDBObjectStore::deleteIndex):
+ * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
+ (WebCore::IDBObjectStoreBackendImpl::metadata):
+ (WebCore::makeIndexWriters):
+ (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
+ * Modules/indexeddb/IDBTransaction.cpp:
+ (WebCore::IDBTransaction::objectStore):
+ (WebCore::IDBTransaction::objectStoreDeleted):
+ (WebCore::IDBTransaction::onAbort):
+ (WebCore::IDBTransaction::dispatchEvent):
+ * Modules/webdatabase/AbstractDatabase.cpp:
+ (WebCore::AbstractDatabase::performOpenAndVerify):
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/OriginUsageRecord.cpp:
+ (WebCore::OriginUsageRecord::diskUsage):
+ * Modules/webdatabase/SQLTransactionCoordinator.cpp:
+ (WebCore::SQLTransactionCoordinator::acquireLock):
+ (WebCore::SQLTransactionCoordinator::releaseLock):
+ (WebCore::SQLTransactionCoordinator::shutdown):
+ * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
+ (WebCore::DatabaseTracker::interruptAllDatabasesForContext):
+ * Modules/webdatabase/chromium/QuotaTracker.cpp:
+ (WebCore::QuotaTracker::getDatabaseSizeAndSpaceAvailableToOrigin):
+ (WebCore::QuotaTracker::updateDatabaseSize):
+ * Modules/websockets/WebSocketDeflateFramer.cpp:
+ (WebCore::WebSocketExtensionDeflateFrame::processResponse):
+ * Modules/websockets/WebSocketExtensionDispatcher.cpp:
+ (WebCore::WebSocketExtensionDispatcher::appendAcceptedExtension):
+ * accessibility/AXObjectCache.cpp:
+ (WebCore::AXObjectCache::~AXObjectCache):
+ * bindings/gobject/DOMObjectCache.cpp:
+ (WebKit::DOMObjectCache::clearByFrame):
+ * bindings/js/DOMObjectHashTableMap.h:
+ (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
+ (WebCore::DOMObjectHashTableMap::get):
+ * bindings/js/JSDOMBinding.cpp:
+ (WebCore::cacheDOMStructure):
+ * bindings/js/JSDOMGlobalObject.cpp:
+ (WebCore::JSDOMGlobalObject::visitChildren):
+ * bindings/js/JSDOMGlobalObject.h:
+ (WebCore::getDOMConstructor):
+ * bindings/js/PageScriptDebugServer.cpp:
+ (WebCore::PageScriptDebugServer::addListener):
+ (WebCore::PageScriptDebugServer::removeListener):
+ * bindings/js/ScriptCachedFrameData.cpp:
+ (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
+ (WebCore::ScriptCachedFrameData::restore):
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::~ScriptController):
+ (WebCore::ScriptController::clearWindowShell):
+ (WebCore::ScriptController::attachDebugger):
+ (WebCore::ScriptController::updateDocument):
+ (WebCore::ScriptController::createRootObject):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::clearScriptObjects):
+ * bindings/js/ScriptController.h:
+ (WebCore::ScriptController::windowShell):
+ (WebCore::ScriptController::existingWindowShell):
+ * bindings/js/ScriptDebugServer.cpp:
+ (WebCore::ScriptDebugServer::setBreakpoint):
+ (WebCore::ScriptDebugServer::removeBreakpoint):
+ (WebCore::ScriptDebugServer::hasBreakpoint):
+ * bindings/js/SerializedScriptValue.cpp:
+ (WebCore::CloneSerializer::checkForDuplicate):
+ (WebCore::CloneSerializer::dumpIfTerminal):
+ (WebCore::CloneSerializer::write):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateImplementation):
+ * bindings/scripts/test/V8/V8Float64Array.cpp:
+ (WebCore::V8Float64Array::GetRawTemplate):
+ (WebCore::V8Float64Array::GetTemplate):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::GetRawTemplate):
+ (WebCore::V8TestActiveDOMObject::GetTemplate):
+ * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
+ (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
+ (WebCore::V8TestCustomNamedGetter::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
+ (WebCore::V8TestEventConstructor::GetRawTemplate):
+ (WebCore::V8TestEventConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestEventTarget.cpp:
+ (WebCore::V8TestEventTarget::GetRawTemplate):
+ (WebCore::V8TestEventTarget::GetTemplate):
+ * bindings/scripts/test/V8/V8TestException.cpp:
+ (WebCore::V8TestException::GetRawTemplate):
+ (WebCore::V8TestException::GetTemplate):
+ * bindings/scripts/test/V8/V8TestInterface.cpp:
+ (WebCore::V8TestInterface::GetRawTemplate):
+ (WebCore::V8TestInterface::GetTemplate):
+ * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
+ (WebCore::V8TestMediaQueryListListener::GetRawTemplate):
+ (WebCore::V8TestMediaQueryListListener::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
+ (WebCore::V8TestNamedConstructor::GetRawTemplate):
+ (WebCore::V8TestNamedConstructor::GetTemplate):
+ * bindings/scripts/test/V8/V8TestNode.cpp:
+ (WebCore::V8TestNode::GetRawTemplate):
+ (WebCore::V8TestNode::GetTemplate):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::V8TestObj::GetRawTemplate):
+ (WebCore::V8TestObj::GetTemplate):
+ * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
+ (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
+ (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore::DOMWrapperWorld::deallocate):
+ (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
+ * bindings/v8/NPV8Object.cpp:
+ (WebCore::freeV8NPObject):
+ (WebCore::npCreateV8ScriptObject):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::clearScriptObjects):
+ (WebCore::ScriptController::resetIsolatedWorlds):
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ (WebCore::ScriptController::setIsolatedWorldSecurityOrigin):
+ (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
+ (WebCore::ScriptController::collectIsolatedContexts):
+ * bindings/v8/SerializedScriptValue.cpp:
+ * bindings/v8/V8DOMMap.h:
+ (WebCore::WeakReferenceMap::removeIfPresent):
+ (WebCore::WeakReferenceMap::visit):
+ * bindings/v8/V8GCController.cpp:
+ (WebCore::enumerateGlobalHandles):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore::V8PerContextData::dispose):
+ * bindings/v8/npruntime.cpp:
+ * bridge/IdentifierRep.cpp:
+ (WebCore::IdentifierRep::get):
+ * bridge/NP_jsobject.cpp:
+ (ObjectMap::add):
+ (ObjectMap::remove):
+ * bridge/jni/jsc/JavaClassJSC.cpp:
+ (JavaClass::~JavaClass):
+ * bridge/qt/qt_instance.cpp:
+ (JSC::Bindings::WeakMap::set):
+ * bridge/runtime_root.cpp:
+ (JSC::Bindings::RootObject::invalidate):
+ * css/CSSCanvasValue.cpp:
+ (WebCore::CSSCanvasValue::canvasChanged):
+ (WebCore::CSSCanvasValue::canvasResized):
+ * css/CSSComputedStyleDeclaration.cpp:
+ (WebCore::counterToCSSValue):
+ * css/CSSCrossfadeValue.cpp:
+ (WebCore::CSSCrossfadeValue::crossfadeChanged):
+ * css/CSSFontFaceSource.cpp:
+ (WebCore::CSSFontFaceSource::getFontData):
+ * css/CSSFontSelector.cpp:
+ (WebCore::CSSFontSelector::addFontFaceRule):
+ (WebCore::CSSFontSelector::getFontData):
+ * css/CSSImageGeneratorValue.cpp:
+ (WebCore::CSSImageGeneratorValue::addClient):
+ (WebCore::CSSImageGeneratorValue::removeClient):
+ (WebCore::CSSImageGeneratorValue::getImage):
+ * css/CSSSegmentedFontFace.cpp:
+ (WebCore::CSSSegmentedFontFace::getFontData):
+ * css/CSSSelector.cpp:
+ (WebCore::CSSSelector::parsePseudoType):
+ * css/CSSValuePool.cpp:
+ (WebCore::CSSValuePool::createColorValue):
+ (WebCore::CSSValuePool::createFontFamilyValue):
+ (WebCore::CSSValuePool::createFontFaceValue):
+ * css/PropertySetCSSStyleDeclaration.cpp:
+ (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
+ * css/StyleBuilder.cpp:
+ (WebCore::ApplyPropertyCounter::applyInheritValue):
+ (WebCore::ApplyPropertyCounter::applyValue):
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::collectFeatures):
+ (WebCore::StyleResolver::ruleSetForScope):
+ (WebCore::StyleResolver::appendAuthorStylesheets):
+ (WebCore::StyleResolver::sweepMatchedPropertiesCache):
+ (WebCore::StyleResolver::collectMatchingRulesForList):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::parserAddNamespace):
+ (WebCore::StyleSheetContents::determineNamespace):
+ * dom/CheckedRadioButtons.cpp:
+ (WebCore::CheckedRadioButtons::addButton):
+ (WebCore::CheckedRadioButtons::removeButton):
+ * dom/ChildListMutationScope.cpp:
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
+ (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
+ * dom/Document.cpp:
+ (WebCore::Document::pageGroupUserSheets):
+ (WebCore::Document::windowNamedItems):
+ (WebCore::Document::documentNamedItems):
+ (WebCore::Document::getCSSCanvasElement):
+ * dom/DocumentMarkerController.cpp:
+ (WebCore::DocumentMarkerController::markerContainingPoint):
+ (WebCore::DocumentMarkerController::renderedRectsForMarkers):
+ (WebCore::DocumentMarkerController::removeMarkers):
+ (WebCore::DocumentMarkerController::repaintMarkers):
+ (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
+ (WebCore::DocumentMarkerController::showMarkers):
+ * dom/DocumentOrderedMap.cpp:
+ (WebCore::DocumentOrderedMap::remove):
+ * dom/ElementAttributeData.cpp:
+ (WebCore::ensureAttrListForElement):
+ * dom/EventDispatcher.cpp:
+ (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
+ * dom/EventListenerMap.cpp:
+ (WebCore::EventListenerMap::eventTypes):
+ (WebCore::EventListenerMap::add):
+ (WebCore::EventListenerMap::remove):
+ (WebCore::EventListenerMap::find):
+ (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
+ (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
+ (WebCore::EventListenerIterator::nextListener):
+ * dom/IdTargetObserverRegistry.cpp:
+ (WebCore::IdTargetObserverRegistry::addObserver):
+ (WebCore::IdTargetObserverRegistry::removeObserver):
+ * dom/MemoryInstrumentation.h:
+ (WebCore::MemoryInstrumentation::addInstrumentedMapEntries):
+ (WebCore::MemoryInstrumentation::addInstrumentedMapValues):
+ * dom/MutationObserverInterestGroup.cpp:
+ (WebCore::MutationObserverInterestGroup::isOldValueRequested):
+ (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
+ * dom/Node.cpp:
+ (WebCore::Node::dumpStatistics):
+ (WebCore::Node::clearRareData):
+ (WebCore::NodeListsNodeData::invalidateCaches):
+ (WebCore::Node::collectMatchingObserversForMutation):
+ * dom/NodeRareData.h:
+ (WebCore::NodeListsNodeData::addCacheWithAtomicName):
+ (WebCore::NodeListsNodeData::addCacheWithName):
+ (WebCore::NodeListsNodeData::addCacheWithQualifiedName):
+ (WebCore::NodeListsNodeData::adoptTreeScope):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::checkStyleSheet):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
+ (WebCore::ScriptExecutionContext::adjustMinimumTimerInterval):
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorQueryCache::add):
+ * dom/SpaceSplitString.cpp:
+ (WebCore::SpaceSplitStringData::create):
+ * dom/StyledElement.cpp:
+ (WebCore::StyledElement::updateAttributeStyle):
+ * editing/mac/AlternativeTextUIController.mm:
+ (WebCore::AlternativeTextUIController::AlernativeTextContextController::alternativesForContext):
+ * html/FormController.cpp:
+ (WebCore::SavedFormState::serializeTo):
+ (WebCore::SavedFormState::appendControlState):
+ (WebCore::SavedFormState::takeControlState):
+ (WebCore::SavedFormState::getReferencedFilePaths):
+ (WebCore::FormKeyGenerator::formKey):
+ (WebCore::FormController::createSavedFormStateMap):
+ (WebCore::FormController::formElementsState):
+ (WebCore::FormController::takeStateForFormElement):
+ (WebCore::FormController::getReferencedFilePaths):
+ * html/HTMLCollection.cpp:
+ (WebCore::HTMLCollectionCacheBase::append):
+ * html/canvas/WebGLFramebuffer.cpp:
+ (WebCore::WebGLFramebuffer::getAttachment):
+ (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
+ (WebCore::WebGLFramebuffer::checkStatus):
+ (WebCore::WebGLFramebuffer::deleteObjectImpl):
+ (WebCore::WebGLFramebuffer::initializeAttachments):
+ * inspector/CodeGeneratorInspector.py:
+ * inspector/DOMPatchSupport.cpp:
+ (WebCore::DOMPatchSupport::diff):
+ (WebCore::DOMPatchSupport::innerPatchChildren):
+ (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
+ * inspector/InjectedScriptManager.cpp:
+ (WebCore::InjectedScriptManager::injectedScriptForId):
+ (WebCore::InjectedScriptManager::injectedScriptIdFor):
+ (WebCore::InjectedScriptManager::discardInjectedScriptsFor):
+ (WebCore::InjectedScriptManager::releaseObjectGroup):
+ (WebCore::InjectedScriptManager::injectedScriptFor):
+ * inspector/InspectorCSSAgent.cpp:
+ (WebCore::SelectorProfile::commitSelector):
+ (WebCore::SelectorProfile::commitSelectorTime):
+ (WebCore::SelectorProfile::toInspectorObject):
+ (WebCore::InspectorCSSAgent::forcePseudoState):
+ (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
+ (WebCore::InspectorCSSAgent::assertStyleSheetForId):
+ (WebCore::InspectorCSSAgent::didRemoveDOMNode):
+ (WebCore::InspectorCSSAgent::didModifyDOMAttr):
+ (WebCore::InspectorCSSAgent::resetPseudoStates):
+ * inspector/InspectorConsoleAgent.cpp:
+ (WebCore::InspectorConsoleAgent::stopTiming):
+ (WebCore::InspectorConsoleAgent::count):
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::nodeForId):
+ (WebCore::InspectorDOMAgent::performSearch):
+ (WebCore::InspectorDOMAgent::getSearchResults):
+ * inspector/InspectorDOMDebuggerAgent.cpp:
+ (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
+ * inspector/InspectorDOMStorageAgent.cpp:
+ (WebCore::InspectorDOMStorageAgent::clearFrontend):
+ (WebCore::InspectorDOMStorageAgent::enable):
+ (WebCore::InspectorDOMStorageAgent::storageId):
+ (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
+ (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
+ (WebCore::InspectorDOMStorageAgent::memoryBytesUsedByStorageCache):
+ * inspector/InspectorDatabaseAgent.cpp:
+ (WebCore::InspectorDatabaseAgent::enable):
+ (WebCore::InspectorDatabaseAgent::databaseId):
+ (WebCore::InspectorDatabaseAgent::findByFileName):
+ (WebCore::InspectorDatabaseAgent::databaseForId):
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
+ (WebCore::InspectorDebuggerAgent::removeBreakpoint):
+ (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
+ (WebCore::InspectorDebuggerAgent::searchInContent):
+ (WebCore::InspectorDebuggerAgent::getScriptSource):
+ (WebCore::InspectorDebuggerAgent::didParseSource):
+ * inspector/InspectorIndexedDBAgent.cpp:
+ (WebCore):
+ * inspector/InspectorMemoryAgent.cpp:
+ (WebCore):
+ * inspector/InspectorPageAgent.cpp:
+ (WebCore::cachedResourcesForFrame):
+ (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
+ (WebCore::InspectorPageAgent::frameDetached):
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::getProfileHeaders):
+ (WebCore):
+ (WebCore::InspectorProfilerAgent::getProfile):
+ * inspector/InspectorResourceAgent.cpp:
+ (WebCore::buildObjectForHeaders):
+ (WebCore::InspectorResourceAgent::willSendRequest):
+ * inspector/InspectorState.cpp:
+ (WebCore::InspectorState::getBoolean):
+ (WebCore::InspectorState::getString):
+ (WebCore::InspectorState::getLong):
+ (WebCore::InspectorState::getDouble):
+ (WebCore::InspectorState::getObject):
+ * inspector/InspectorStyleSheet.cpp:
+ (WebCore::InspectorStyle::styleWithProperties):
+ (WebCore::InspectorStyleSheet::inspectorStyleForId):
+ * inspector/InspectorValues.cpp:
+ (WebCore::InspectorObjectBase::get):
+ (WebCore::InspectorObjectBase::writeJSON):
+ * inspector/InspectorWorkerAgent.cpp:
+ (WebCore::InspectorWorkerAgent::workerContextTerminated):
+ (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
+ (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
+ * inspector/NetworkResourcesData.cpp:
+ (WebCore::NetworkResourcesData::removeCachedResource):
+ (WebCore::NetworkResourcesData::clear):
+ * loader/CrossOriginAccessControl.cpp:
+ (WebCore::isSimpleCrossOriginAccessRequest):
+ (WebCore::createAccessControlPreflightRequest):
+ * loader/CrossOriginPreflightResultCache.cpp:
+ (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
+ (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
+ * loader/DocumentLoader.cpp:
+ (WebCore::DocumentLoader::getSubresources):
+ (WebCore::DocumentLoader::substituteResourceDeliveryTimerFired):
+ * loader/MainResourceLoader.cpp:
+ (WebCore::MainResourceLoader::didReceiveResponse):
+ * loader/ResourceLoadScheduler.cpp:
+ (WebCore::ResourceLoadScheduler::servePendingRequests):
+ * loader/appcache/ApplicationCache.cpp:
+ (WebCore::ApplicationCache::removeResource):
+ (WebCore::ApplicationCache::clearStorageID):
+ (WebCore::ApplicationCache::dump):
+ * loader/appcache/ApplicationCacheGroup.cpp:
+ (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
+ (WebCore::ApplicationCacheGroup::startLoadingEntry):
+ (WebCore::ApplicationCacheGroup::addEntry):
+ * loader/appcache/ApplicationCacheHost.cpp:
+ (WebCore::ApplicationCacheHost::fillResourceList):
+ * loader/appcache/ApplicationCacheResource.cpp:
+ (WebCore::ApplicationCacheResource::estimatedSizeInStorage):
+ * loader/appcache/ApplicationCacheStorage.cpp:
+ (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
+ (WebCore::ApplicationCacheStorage::cacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
+ (WebCore::ApplicationCacheStorage::store):
+ (WebCore::ApplicationCacheStorage::empty):
+ (WebCore::ApplicationCacheStorage::storeCopyOfCache):
+ * loader/archive/ArchiveFactory.cpp:
+ (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes):
+ * loader/cache/CachedRawResource.cpp:
+ (WebCore::CachedRawResource::canReuse):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::switchClientsToRevalidatedResource):
+ (WebCore::CachedResource::updateResponseAfterRevalidation):
+ * loader/cache/CachedResourceClientWalker.h:
+ (WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::~CachedResourceLoader):
+ (WebCore::CachedResourceLoader::requestResource):
+ (WebCore::CachedResourceLoader::setAutoLoadImages):
+ (WebCore::CachedResourceLoader::removeCachedResource):
+ (WebCore::CachedResourceLoader::garbageCollectDocumentResources):
+ (WebCore::CachedResourceLoader::reportMemoryUsage):
+ * loader/cache/MemoryCache.cpp:
+ (WebCore::MemoryCache::removeResourcesWithOrigin):
+ (WebCore::MemoryCache::getOriginsWithCache):
+ (WebCore::MemoryCache::getStatistics):
+ (WebCore::MemoryCache::reportMemoryUsage):
+ (WebCore::MemoryCache::setDisabled):
+ * loader/icon/IconDatabase.cpp:
+ (WebCore::IconDatabase::removeAllIcons):
+ (WebCore::IconDatabase::iconRecordCountWithData):
+ (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
+ * page/DOMWindow.cpp:
+ (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents):
+ (WebCore::DOMWindow::dispatchAllPendingUnloadEvents):
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::handleTouchEvent):
+ * page/Frame.cpp:
+ (WebCore::Frame::injectUserScripts):
+ * page/PageGroup.cpp:
+ (WebCore::PageGroup::pageGroup):
+ (WebCore::PageGroup::closeLocalStorage):
+ (WebCore::PageGroup::clearLocalStorageForAllOrigins):
+ (WebCore::PageGroup::clearLocalStorageForOrigin):
+ (WebCore::PageGroup::syncLocalStorage):
+ (WebCore::PageGroup::addUserScriptToWorld):
+ (WebCore::PageGroup::addUserStyleSheetToWorld):
+ (WebCore::PageGroup::removeUserScriptFromWorld):
+ (WebCore::PageGroup::removeUserStyleSheetFromWorld):
+ * page/PageSerializer.cpp:
+ (WebCore::PageSerializer::urlForBlankFrame):
+ * page/SecurityPolicy.cpp:
+ (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
+ (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
+ * page/Settings.cpp:
+ (WebCore::setGenericFontFamilyMap):
+ (WebCore::getGenericFontFamilyForScript):
+ * page/SpeechInput.cpp:
+ (WebCore::SpeechInput::registerListener):
+ * page/WindowFeatures.cpp:
+ (WebCore::WindowFeatures::boolFeature):
+ (WebCore::WindowFeatures::floatFeature):
+ * page/animation/AnimationController.cpp:
+ (WebCore::AnimationControllerPrivate::updateAnimations):
+ (WebCore::AnimationControllerPrivate::suspendAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::resumeAnimationsForDocument):
+ (WebCore::AnimationControllerPrivate::numberOfActiveAnimations):
+ * page/animation/CompositeAnimation.cpp:
+ (WebCore::CompositeAnimation::clearRenderer):
+ (WebCore::CompositeAnimation::updateTransitions):
+ (WebCore::CompositeAnimation::updateKeyframeAnimations):
+ (WebCore::CompositeAnimation::animate):
+ (WebCore::CompositeAnimation::getAnimatedStyle):
+ (WebCore::CompositeAnimation::setAnimating):
+ (WebCore::CompositeAnimation::timeToNextService):
+ (WebCore::CompositeAnimation::getAnimationForProperty):
+ (WebCore::CompositeAnimation::suspendAnimations):
+ (WebCore::CompositeAnimation::resumeAnimations):
+ (WebCore::CompositeAnimation::overrideImplicitAnimations):
+ (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
+ (WebCore::CompositeAnimation::isAnimatingProperty):
+ (WebCore::CompositeAnimation::numberOfActiveAnimations):
+ * platform/Language.cpp:
+ (WebCore::languageDidChange):
+ * platform/MIMETypeRegistry.cpp:
+ (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
+ * platform/audio/HRTFElevation.cpp:
+ (WebCore::getConcatenatedImpulseResponsesForSubject):
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::generateHtmlFragmentForCookies):
+ (WebCore::CookieManager::removeAllCookies):
+ * platform/blackberry/CookieMap.cpp:
+ (WebCore::CookieMap::removeOldestCookie):
+ (WebCore::CookieMap::getAllChildCookies):
+ * platform/cf/BinaryPropertyList.cpp:
+ (WebCore::BinaryPropertyListPlan::writeIntegerArray):
+ * platform/chromium/support/WebHTTPLoadInfo.cpp:
+ (WebKit::addHeader):
+ * platform/chromium/support/WebURLRequest.cpp:
+ (WebKit::WebURLRequest::visitHTTPHeaderFields):
+ * platform/chromium/support/WebURLResponse.cpp:
+ (WebKit::WebURLResponse::addHTTPHeaderField):
+ (WebKit::WebURLResponse::visitHTTPHeaderFields):
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient):
+ (WebCore::DisplayRefreshMonitorManager::unregisterClient):
+ * platform/graphics/FontCache.cpp:
+ (WebCore::FontCache::getCachedFontPlatformData):
+ (WebCore::FontCache::getCachedFontData):
+ (WebCore::FontCache::releaseFontData):
+ (WebCore::FontCache::purgeInactiveFontData):
+ * platform/graphics/GlyphPageTreeNode.cpp:
+ (WebCore::GlyphPageTreeNode::treeGlyphPageCount):
+ (WebCore::GlyphPageTreeNode::pageCount):
+ (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneTreeFontData):
+ (WebCore::GlyphPageTreeNode::pruneCustomFontData):
+ (WebCore::GlyphPageTreeNode::pruneFontData):
+ (WebCore::GlyphPageTreeNode::showSubtree):
+ (showGlyphPageTrees):
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::TiledBackingStore::updateTileBuffers):
+ (WebCore::TiledBackingStore::resizeEdgeTiles):
+ (WebCore::TiledBackingStore::setKeepRect):
+ * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
+ (WebCore::AVFWrapper::avfWrapperForCallbackContext):
+ * platform/graphics/blackberry/LayerTiler.cpp:
+ (WebCore::LayerTiler::layerVisibilityChanged):
+ (WebCore::LayerTiler::uploadTexturesIfNeeded):
+ (WebCore::LayerTiler::addTileJob):
+ (WebCore::LayerTiler::deleteTextures):
+ (WebCore::LayerTiler::pruneTextures):
+ (WebCore::LayerTiler::bindContentsTexture):
+ * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
+ (WebCore::TextureCacheCompositingThread::textureForTiledContents):
+ (WebCore::TextureCacheCompositingThread::textureForColor):
+ * platform/graphics/ca/GraphicsLayerCA.cpp:
+ (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
+ (WebCore::GraphicsLayerCA::pauseAnimation):
+ (WebCore::GraphicsLayerCA::layerDidDisplay):
+ (WebCore::GraphicsLayerCA::updateGeometry):
+ (WebCore::GraphicsLayerCA::updateTransform):
+ (WebCore::GraphicsLayerCA::updateChildrenTransform):
+ (WebCore::GraphicsLayerCA::updateMasksToBounds):
+ (WebCore::GraphicsLayerCA::updateContentsVisibility):
+ (WebCore::GraphicsLayerCA::updateContentsOpaque):
+ (WebCore::GraphicsLayerCA::updateBackfaceVisibility):
+ (WebCore::GraphicsLayerCA::updateFilters):
+ (WebCore::GraphicsLayerCA::ensureStructuralLayer):
+ (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
+ (WebCore::GraphicsLayerCA::updateContentsImage):
+ (WebCore::GraphicsLayerCA::updateContentsRect):
+ (WebCore::GraphicsLayerCA::updateMaskLayer):
+ (WebCore::GraphicsLayerCA::updateLayerAnimations):
+ (WebCore::GraphicsLayerCA::setAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::removeCAAnimationFromLayer):
+ (WebCore::GraphicsLayerCA::pauseCAAnimationOnLayer):
+ (WebCore::GraphicsLayerCA::suspendAnimations):
+ (WebCore::GraphicsLayerCA::resumeAnimations):
+ (WebCore::GraphicsLayerCA::findOrMakeClone):
+ (WebCore::GraphicsLayerCA::setOpacityInternal):
+ (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::setNeedsDisplay):
+ (WebCore::TileCache::setScale):
+ (WebCore::TileCache::setAcceleratesDrawing):
+ (WebCore::TileCache::setTileDebugBorderWidth):
+ (WebCore::TileCache::setTileDebugBorderColor):
+ (WebCore::TileCache::revalidateTiles):
+ * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+ (PlatformCALayer::animationStarted):
+ (resubmitAllAnimations):
+ (PlatformCALayer::animationForKey):
+ * platform/graphics/chromium/FontCacheChromiumWin.cpp:
+ (WebCore::LookupAltName):
+ (WebCore::fontContainsCharacter):
+ * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
+ (WebCore::getDerivedFontData):
+ * platform/graphics/chromium/TiledLayerChromium.cpp:
+ (WebCore::TiledLayerChromium::pushPropertiesTo):
+ (WebCore::TiledLayerChromium::setLayerTreeHost):
+ (WebCore::TiledLayerChromium::invalidateContentRect):
+ (WebCore::TiledLayerChromium::setTexturePriorities):
+ (WebCore::TiledLayerChromium::resetUpdateState):
+ * platform/graphics/chromium/cc/CCDamageTracker.cpp:
+ (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
+ * platform/graphics/chromium/cc/CCDirectRenderer.cpp:
+ (WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
+ * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
+ (WebCore::CCLayerTilingData::setBounds):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
+ (WebCore::CCLayerTreeHost::startRateLimiter):
+ (WebCore::CCLayerTreeHost::stopRateLimiter):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::findRenderPassById):
+ * platform/graphics/chromium/cc/CCResourceProvider.cpp:
+ (WebCore::CCResourceProvider::inUseByConsumer):
+ (WebCore::CCResourceProvider::deleteResource):
+ (WebCore::CCResourceProvider::deleteOwnedResources):
+ (WebCore::CCResourceProvider::resourceType):
+ (WebCore::CCResourceProvider::upload):
+ (WebCore::CCResourceProvider::lockForRead):
+ (WebCore::CCResourceProvider::unlockForRead):
+ (WebCore::CCResourceProvider::lockForWrite):
+ (WebCore::CCResourceProvider::unlockForWrite):
+ (WebCore::CCResourceProvider::destroyChild):
+ (WebCore::CCResourceProvider::getChildToParentMap):
+ (WebCore::CCResourceProvider::prepareSendToParent):
+ (WebCore::CCResourceProvider::prepareSendToChild):
+ (WebCore::CCResourceProvider::receiveFromChild):
+ (WebCore::CCResourceProvider::receiveFromParent):
+ (WebCore::CCResourceProvider::transferResource):
+ (WebCore::CCResourceProvider::trimMailboxDeque):
+ * platform/graphics/filters/CustomFilterGlobalContext.cpp:
+ (WebCore::CustomFilterGlobalContext::~CustomFilterGlobalContext):
+ (WebCore::CustomFilterGlobalContext::getCompiledProgram):
+ * platform/graphics/filters/CustomFilterProgram.cpp:
+ (WebCore::CustomFilterProgram::notifyClients):
+ * platform/graphics/harfbuzz/HarfBuzzSkia.cpp:
+ (WebCore::getCachedHarfbuzzFace):
+ (WebCore::releaseCachedHarfbuzzFace):
+ * platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp:
+ (WebCore::HarfBuzzNGFace::HarfBuzzNGFace):
+ (WebCore::HarfBuzzNGFace::~HarfBuzzNGFace):
+ * platform/graphics/mac/SimpleFontDataCoreText.cpp:
+ (WebCore::SimpleFontData::getCFStringAttributes):
+ * platform/graphics/mac/SimpleFontDataMac.mm:
+ (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
+ * platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
+ (WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::compileShader):
+ (WebCore::GraphicsContext3D::getShaderiv):
+ (WebCore::GraphicsContext3D::getShaderInfoLog):
+ (WebCore::GraphicsContext3D::getShaderSource):
+ * platform/graphics/openvg/EGLDisplayOpenVG.cpp:
+ (WebCore::EGLDisplayOpenVG::~EGLDisplayOpenVG):
+ (WebCore::EGLDisplayOpenVG::destroySurface):
+ (WebCore::EGLDisplayOpenVG::contextForSurface):
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/wince/FontPlatformData.cpp:
+ (WebCore::FixedSizeFontData::create):
+ * platform/gtk/DataObjectGtk.cpp:
+ (WebCore::DataObjectGtk::forClipboard):
+ * platform/gtk/GtkDragAndDropHelper.cpp:
+ (WebCore::GtkDragAndDropHelper::handleGetDragData):
+ (WebCore::GtkDragAndDropHelper::handleDragLeave):
+ (WebCore::GtkDragAndDropHelper::handleDragMotion):
+ (WebCore::GtkDragAndDropHelper::handleDragDataReceived):
+ (WebCore::GtkDragAndDropHelper::handleDragDrop):
+ * platform/gtk/RenderThemeGtk3.cpp:
+ (WebCore::gtkStyleChangedCallback):
+ (WebCore::getStyleContext):
+ * platform/mac/ScrollbarThemeMac.mm:
+ (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
+ * platform/network/CredentialStorage.cpp:
+ (WebCore::CredentialStorage::set):
+ (WebCore::CredentialStorage::get):
+ * platform/network/HTTPHeaderMap.cpp:
+ (WebCore::HTTPHeaderMap::copyData):
+ (WebCore::HTTPHeaderMap::get):
+ * platform/network/MIMEHeader.cpp:
+ (WebCore::MIMEHeader::parseHeader):
+ * platform/network/ResourceHandle.cpp:
+ (WebCore::ResourceHandle::create):
+ * platform/network/ResourceRequestBase.cpp:
+ (WebCore::ResourceRequestBase::addHTTPHeaderField):
+ (WebCore::ResourceRequestBase::addHTTPHeaderFields):
+ * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
+ (WebCore::ResourceRequest::targetTypeFromMimeType):
+ (WebCore::ResourceRequest::initializePlatformRequest):
+ * platform/network/cf/ResourceHandleCFNet.cpp:
+ (WebCore::makeFinalRequest):
+ * platform/network/cf/ResourceRequestCFNet.cpp:
+ (WebCore::setHeaderFields):
+ * platform/network/curl/ResourceHandleManager.cpp:
+ (WebCore::ResourceHandleManager::initializeHandle):
+ * platform/network/mac/ResourceRequestMac.mm:
+ (WebCore::ResourceRequest::doUpdatePlatformRequest):
+ * platform/network/qt/ResourceRequestQt.cpp:
+ (WebCore::ResourceRequest::toNetworkRequest):
+ * platform/network/soup/ResourceHandleSoup.cpp:
+ (WebCore::sendRequestCallback):
+ (WebCore::ResourceHandle::setClientCertificate):
+ * platform/network/soup/ResourceRequestSoup.cpp:
+ (WebCore::ResourceRequest::updateSoupMessage):
+ (WebCore::ResourceRequest::toSoupMessage):
+ * platform/network/soup/ResourceResponseSoup.cpp:
+ (WebCore::ResourceResponse::toSoupMessage):
+ * platform/network/win/ResourceHandleWin.cpp:
+ (WebCore::ResourceHandle::start):
+ * platform/qt/RunLoopQt.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/text/LocaleToScriptMappingDefault.cpp:
+ (WebCore::scriptNameToCode):
+ (WebCore::localeToScriptCodeForFontSelection):
+ * platform/text/TextEncodingRegistry.cpp:
+ (WebCore::pruneBlacklistedCodecs):
+ (WebCore::dumpTextEncodingNameMap):
+ * platform/text/transcoder/FontTranscoder.cpp:
+ (WebCore::FontTranscoder::converterType):
+ * platform/text/win/TextCodecWin.cpp:
+ (WebCore::LanguageManager::LanguageManager):
+ (WebCore::getCodePage):
+ (WebCore::TextCodecWin::registerExtendedEncodingNames):
+ (WebCore::TextCodecWin::registerExtendedCodecs):
+ (WebCore::TextCodecWin::enumerateSupportedEncodings):
+ * platform/win/ClipboardUtilitiesWin.cpp:
+ (WebCore::getDataMapItem):
+ (WebCore::getClipboardData):
+ (WebCore::setClipboardData):
+ * platform/win/ClipboardWin.cpp:
+ (WebCore::ClipboardWin::types):
+ * platform/win/FileSystemWin.cpp:
+ (WebCore::cachedStorageDirectory):
+ * platform/win/RunLoopWin.cpp:
+ (WebCore::RunLoop::TimerBase::timerFired):
+ * platform/win/WCDataObject.cpp:
+ (WebCore::WCDataObject::createInstance):
+ * platform/wince/MIMETypeRegistryWinCE.cpp:
+ (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
+ * platform/wx/ContextMenuWx.cpp:
+ (WebCore::ContextMenu::appendItem):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::refresh):
+ (WebCore::PluginDatabase::MIMETypeForExtension):
+ (WebCore::PluginDatabase::remove):
+ * plugins/PluginMainThreadScheduler.cpp:
+ (WebCore::PluginMainThreadScheduler::scheduleCall):
+ (WebCore::PluginMainThreadScheduler::dispatchCalls):
+ * plugins/PluginStream.cpp:
+ (WebCore::PluginStream::startStream):
+ * plugins/blackberry/PluginDataBlackBerry.cpp:
+ (WebCore::PluginData::initPlugins):
+ * plugins/wx/PluginDataWx.cpp:
+ (WebCore::PluginData::initPlugins):
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
+ * rendering/InlineFlowBox.cpp:
+ (WebCore::InlineFlowBox::requiresIdeographicBaseline):
+ (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::clearFloats):
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::setLogicalWidthForTextRun):
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::ImageQualityController::highQualityRepaintTimerFired):
+ (WebCore::ImageQualityController::shouldPaintAtLowQuality):
+ * rendering/RenderCounter.cpp:
+ (WebCore::RenderCounter::destroyCounterNodes):
+ (WebCore::RenderCounter::destroyCounterNode):
+ (WebCore::updateCounters):
+ (WebCore::RenderCounter::rendererStyleChanged):
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::setRegionRangeForBox):
+ (WebCore::RenderFlowThread::getRegionRangeForBox):
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::paint):
+ (WebCore::performOverlapTests):
+ * rendering/RenderLayerFilterInfo.cpp:
+ (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
+ (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
+ * rendering/RenderNamedFlowThread.cpp:
+ (WebCore::RenderNamedFlowThread::dependsOn):
+ (WebCore::RenderNamedFlowThread::pushDependencies):
+ * rendering/RenderRegion.cpp:
+ (WebCore::RenderRegion::setRenderBoxRegionInfo):
+ (WebCore::RenderRegion::setRegionObjectsRegionStyle):
+ (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
+ (WebCore::RenderRegion::computeChildrenStyleInRegion):
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::cachedCollapsedBorder):
+ * rendering/RenderThemeMac.mm:
+ (WebCore::RenderThemeMac::systemColor):
+ * rendering/RenderView.cpp:
+ (WebCore::RenderView::selectionBounds):
+ (WebCore::RenderView::setSelection):
+ * rendering/RenderWidget.cpp:
+ (WebCore::RenderWidget::resumeWidgetHierarchyUpdates):
+ * rendering/RootInlineBox.cpp:
+ (WebCore::RootInlineBox::ascentAndDescentForBox):
+ * rendering/VerticalPositionCache.h:
+ (WebCore::VerticalPositionCache::get):
+ * rendering/WrapShapeInfo.cpp:
+ (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock):
+ * rendering/svg/RenderSVGInlineText.cpp:
+ (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
+ * rendering/svg/RenderSVGResourceFilter.cpp:
+ (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged):
+ * rendering/svg/RenderSVGResourceGradient.cpp:
+ (WebCore::RenderSVGResourceGradient::applyResource):
+ * rendering/svg/RenderSVGResourcePattern.cpp:
+ (WebCore::RenderSVGResourcePattern::applyResource):
+ * rendering/svg/SVGResourcesCache.cpp:
+ (WebCore::SVGResourcesCache::resourceDestroyed):
+ * rendering/svg/SVGRootInlineBox.cpp:
+ (WebCore::swapItemsInLayoutAttributes):
+ * rendering/svg/SVGTextLayoutAttributes.cpp:
+ (WebCore::SVGTextLayoutAttributes::dump):
+ * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
+ (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
+ (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
+ * rendering/svg/SVGTextLayoutEngine.cpp:
+ (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
+ * rendering/svg/SVGTextMetricsBuilder.cpp:
+ (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
+ * storage/StorageAreaSync.cpp:
+ (WebCore::StorageAreaSync::syncTimerFired):
+ (WebCore::StorageAreaSync::performImport):
+ (WebCore::StorageAreaSync::sync):
+ * storage/StorageMap.cpp:
+ (WebCore::StorageMap::key):
+ (WebCore::StorageMap::setItem):
+ * storage/StorageNamespaceImpl.cpp:
+ (WebCore::StorageNamespaceImpl::localStorageNamespace):
+ (WebCore::StorageNamespaceImpl::copy):
+ (WebCore::StorageNamespaceImpl::close):
+ (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
+ (WebCore::StorageNamespaceImpl::sync):
+ * svg/SVGDocumentExtensions.cpp:
+ (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget):
+ (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
+ (WebCore::SVGDocumentExtensions::addPendingResource):
+ (WebCore::SVGDocumentExtensions::isElementPendingResources):
+ (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
+ (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget):
+ (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement):
+ (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget):
+ * svg/SVGElement.cpp:
+ (WebCore::SVGElement::~SVGElement):
+ * svg/animation/SMILTimeContainer.cpp:
+ (WebCore::SMILTimeContainer::updateAnimations):
+ * svg/graphics/SVGImageCache.cpp:
+ (WebCore::SVGImageCache::~SVGImageCache):
+ (WebCore::SVGImageCache::removeClientFromCache):
+ (WebCore::SVGImageCache::requestedSizeAndScales):
+ (WebCore::SVGImageCache::imageContentChanged):
+ (WebCore::SVGImageCache::redraw):
+ (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
+ * svg/graphics/filters/SVGFilterBuilder.h:
+ (WebCore::SVGFilterBuilder::effectReferences):
+ (WebCore::SVGFilterBuilder::addBuiltinEffects):
+ * svg/properties/SVGAnimatedProperty.h:
+ (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
+ * svg/properties/SVGAttributeToPropertyMap.cpp:
+ (WebCore::SVGAttributeToPropertyMap::addProperties):
+ (WebCore::SVGAttributeToPropertyMap::synchronizeProperties):
+ * workers/WorkerContext.cpp:
+ (WebCore::WorkerContext::hasPendingActivity):
+ * workers/WorkerEventQueue.cpp:
+ (WebCore::WorkerEventQueue::close):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+ (WebCore::XMLHttpRequest::getAllResponseHeaders):
+ * xml/XPathFunctions.cpp:
+ (WebCore::XPath::createFunction):
+ * xml/XPathParser.cpp:
+ (isAxisName):
+ * xml/XSLTProcessorLibxslt.cpp:
+ (WebCore::xsltParamArrayFromParameterMap):
+ * xml/XSLTProcessorQt.cpp:
+ (WebCore::XSLTProcessor::transformToString):
+
+2012-08-27 David Reveman <reveman@chromium.org>
+
+ [Chromium] Stop texture updates when context is lost.
+ https://bugs.webkit.org/show_bug.cgi?id=94983
+
+ Reviewed by James Robinson.
+
+ Free m_currentTextureUpdateController when
+ CCThreadProxy::didLoseContextOnImplThread() is called.
+
+ Unit test: CCLayerTreeHostTestLostContextWhileUpdatingResources.runMultiThread
+
+ * platform/graphics/chromium/cc/CCThreadProxy.cpp:
+ (WebCore::CCThreadProxy::didLoseContextOnImplThread):
+ (WebCore::CCThreadProxy::scheduledActionCommit):
+
+2012-08-27 Dean Jackson <dino@apple.com>
+
+ Unreviewed attempted build fix for Mac.
+
+ After https://bugs.webkit.org/show_bug.cgi?id=95155 and the subsequent r126831
+ LayoutTypesInlineMethods.h needed to be added to the WebCore target.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-08-27 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Crash in RenderTable::removeCaption
+ https://bugs.webkit.org/show_bug.cgi?id=95090
+
+ Reviewed by Abhishek Arya.
+
+ The issue came from the caption addition logic not being called when
+ we move the caption due to being hooked on RenderTable::addChild
+ and not RenderTableCaption::insertedIntoTree. This change implemented
+ the previous hook and simplified our caption handling.
+
+ Test: fast/table/table-caption-moved-crash.html
+
+ * rendering/RenderTable.cpp:
+ (WebCore::RenderTable::addChild):
+ Removed the add-a-caption code as it is now executed from RenderTableCaption::insertedIntoTree.
+
+ (WebCore::RenderTable::addCaption):
+ Added this helper method.
+
+ (WebCore::RenderTable::removeCaption):
+ Changed this function to be more bullet-proof. The old code was checking |index| as it wasn't
+ bullet proof so let's keep it.
+
+ (WebCore::RenderTable::recalcSections):
+ Removed the caption handling code as we should properly handle them now.
+
+ * rendering/RenderTable.h:
+ Added addCaption.
+
+ * rendering/RenderTableCaption.cpp:
+ (WebCore::RenderTableCaption::insertedIntoTree):
+ * rendering/RenderTableCaption.h:
+ Added insertedIntoTree.
+
+2012-08-27 Nikhil Bhargava <nbhargava@google.com>
+
+ Add new file to xcode project -- Update to Bug 95107
+ https://bugs.webkit.org/show_bug.cgi?id=95155
+
+ Reviewed by Tim Horton.
+
+ Add LayoutTypesInlineMethods.h to xcode project file.
+
+ * WebCore.xcodeproj/project.pbxproj:
+
+2012-08-27 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add some #includes that were implicitly picked up to CCScrollbarGeometry*
+ https://bugs.webkit.org/show_bug.cgi?id=95158
+
+ Reviewed by Adrienne Walker.
+
+ These includes are picked up implicitly, better to #include them explicitly to be more robust to refactors.
+
+ * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp:
+ * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h:
+ * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h:
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] V8DOMWindowShell::installDOMWindow is subtle and should explain itself more
+ https://bugs.webkit.org/show_bug.cgi?id=95151
+
+ Reviewed by Kentaro Hara.
+
+ This patch adds some text to V8DOMWindowShell::installDOMWindow that
+ explaining what this code is doing. I've also renamed some variables
+ and created a helper function in an attempt to make it clearer what's
+ going on.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::toInnerGlobalObject):
+ (WebCore):
+ (WebCore::V8DOMWindowShell::installDOMWindow):
+ (WebCore::V8DOMWindowShell::updateDocumentProperty):
+
+2012-08-27 Luke Macpherson <macpherson@chromium.org>
+
+ Fix CSSParserValue::createCSSValue() for viewport based units.
+ https://bugs.webkit.org/show_bug.cgi?id=94772
+
+ Reviewed by Tony Chang.
+
+ Viewport units were not added to CSSParserValue::createCSSValue(). This patch handles that case.
+ Patch also converts from list of if clauses to a switch statement to catch future errors.
+
+ Test: fast/css/variables/calc-vw-crash.html
+
+ * css/CSSParserValues.cpp:
+ (WebCore::CSSParserValue::createCSSValue):
+
+2012-08-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Rename ContentDistributor::distributeShadowChildrenTo to distributeNodeChildrenTo.
+ https://bugs.webkit.org/show_bug.cgi?id=95150
+
+ Reviewed by Hajime Morita.
+
+ Also, made the function take ContainerNode, which decouples it from the callsite's context.
+
+ No new tests, simple rename.
+
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ContentDistributor::distribute): Changed the callsite.
+ (WebCore::ContentDistributor::distributeNodeChildrenTo): Renamed from distributeShadowChildrenTo.
+ * html/shadow/ContentDistributor.h:
+ (WebCore): Added forward decl for ContainerNode.
+ (ContentDistributor): Changed the decl name.
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] V8DOMWindowShell::setContext has no callers
+ https://bugs.webkit.org/show_bug.cgi?id=95147
+
+ Reviewed by Kentaro Hara.
+
+ Dead code is dead.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+
+2012-08-27 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Rename ContentDistributor::distributeShadowChildrenTo to distributeNodeChildrenTo.
+ https://bugs.webkit.org/show_bug.cgi?id=95150
+
+ Reviewed by Hajime Morita.
+
+ Also, made the function take ContainerNode, which decouples it from the callsite's context.
+
+ No new tests, simple rename.
+
+ * html/shadow/ContentDistributor.cpp:
+ (WebCore::ContentDistributor::distribute): Changed the callsite.
+ (WebCore::ContentDistributor::distributeNodeChildrenTo): Renamed from distributeShadowChildrenTo.
+ * html/shadow/ContentDistributor.h:
+ (WebCore): Added forward decl for ContainerNode.
+ (ContentDistributor): Changed the decl name.
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] Inline V8DOMWindowShell::clearDocumentWrapper
+ https://bugs.webkit.org/show_bug.cgi?id=95133
+
+ Reviewed by Eric Seidel.
+
+ Now that we use ScopedPersistent for m_document, clearDocumentWrapper
+ is just one line. It's clearer to just inline it into its callers.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::clearForClose):
+ (WebCore::V8DOMWindowShell::clearForNavigation):
+ (WebCore::V8DOMWindowShell::updateDocumentWrapper):
+ - Notice that ScopedPersistent::set already calls clear, so there's
+ no reason to call clear redundantly.
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+
+2012-08-27 Dana Jansens <danakj@chromium.org>
+
+ [chromium] A general mechanism for passing data into and out of appendQuads and quadCuller via CCAppendQuadsData
+ https://bugs.webkit.org/show_bug.cgi?id=95109
+
+ Reviewed by Adrienne Walker.
+
+ The appendQuads() method has a number of out-parameters that are needed
+ by different steps in the append process:
+ - hadMissingTiles is needed by the layers to report checkerboards.
+ - hadOcclusionFromOutsideTargetSurface is needed by CCQuadCuller to
+ report occlusion.
+
+ Currently one is plumbed through function arguments, and one is
+ plumbed as a member variable on the CCQuadCuller instance.
+
+ We will also need an in-parameter for the DelegatedRendererLayer for
+ ubercomp. Instead of continuously adding more plumbing for these
+ parameters, we create a general machanism to get data to and from the
+ right places.
+
+ Covered by existing tests; no change in behaviour. Specifically,
+ CCLayerTreeHostImpl tests for missing/checkerboard tiles and
+ surface-external occlusion.
+
+ * platform/graphics/chromium/cc/CCAppendQuadsData.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
+ (WebCore):
+ (WebCore::CCAppendQuadsData::CCAppendQuadsData):
+ (CCAppendQuadsData):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
+ (WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
+ (CCHeadsUpDisplayLayerImpl):
+ * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
+ (WebCore::CCIOSurfaceLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
+ (CCIOSurfaceLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerImpl.cpp:
+ (WebCore::CCLayerImpl::appendDebugBorderQuad):
+ * platform/graphics/chromium/cc/CCLayerImpl.h:
+ (WebCore):
+ (WebCore::CCLayerImpl::appendQuads):
+ (CCLayerImpl):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ * platform/graphics/chromium/cc/CCQuadCuller.cpp:
+ (WebCore::CCQuadCuller::CCQuadCuller):
+ (WebCore::CCQuadCuller::append):
+ * platform/graphics/chromium/cc/CCQuadCuller.h:
+ (WebCore):
+ (CCQuadCuller):
+ * platform/graphics/chromium/cc/CCQuadSink.h:
+ (WebCore):
+ (CCQuadSink):
+ * platform/graphics/chromium/cc/CCRenderPass.cpp:
+ (WebCore::CCRenderPass::appendQuadsForLayer):
+ (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
+ * platform/graphics/chromium/cc/CCRenderPass.h:
+ (WebCore):
+ (CCRenderPass):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::appendQuads):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (WebCore):
+ (CCRenderSurface):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
+ (WebCore::CCScrollbarLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+ (CCScrollbarLayerImpl):
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
+ (WebCore::CCSolidColorLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
+ (CCSolidColorLayerImpl):
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
+ (WebCore::CCTextureLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
+ (CCTextureLayerImpl):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
+ (WebCore::CCTiledLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
+ (CCTiledLayerImpl):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
+ (WebCore::CCVideoLayerImpl::appendQuads):
+ * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
+ (CCVideoLayerImpl):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ Delete checks for impossible conditions in V8DOMWindowShell
+ https://bugs.webkit.org/show_bug.cgi?id=95145
+
+ Reviewed by Eric Seidel.
+
+ These situations do not occur. We don't need to check for them.
+
+ * bindings/js/ScriptController.cpp:
+ (WebCore::ScriptController::updateDocument):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::createNewContext):
+ (WebCore::V8DOMWindowShell::updateDocumentProperty):
+ (WebCore::V8DOMWindowShell::setSecurityToken):
+ (WebCore::V8DOMWindowShell::updateDocument):
+ * page/Frame.cpp:
+ (WebCore::Frame::setDocument):
+ - updateDocument used to just return early when m_doc was 0. Now we
+ don't even bother to call it.
+
+2012-08-27 Nikhil Bhargava <nbhargava@google.com>
+
+ Split LayoutTypes.h to improve compile time
+ https://bugs.webkit.org/show_bug.cgi?id=95107
+
+ Reviewed by Eric Seidel.
+
+ The inlines from LayoutTypes.h are moved to LayoutTypesInlineMethods.h.
+ Files that only need the types to be forward declared, don't need to
+ include definitions for FractionalLayout items (those are expensive to
+ include)
+
+ No new tests. Functionality should be the same.
+
+ * WebCore.gypi:
+ * accessibility/AccessibilityObject.h:
+ * css/LengthFunctions.cpp:
+ * dom/DocumentMarkerController.h:
+ * dom/Node.h:
+ * inspector/InspectorOverlay.h:
+ * inspector/InspectorTimelineAgent.h:
+ * inspector/TimelineRecordFactory.h:
+ * loader/SubframeLoader.h:
+ * page/FocusController.h:
+ * page/Page.h:
+ * platform/Length.h:
+ * platform/PopupMenuClient.h:
+ * platform/graphics/transforms/TransformationMatrix.cpp:
+ * platform/graphics/transforms/TransformationMatrix.h:
+ * rendering/AutoTableLayout.h:
+ * rendering/FixedTableLayout.h:
+ * rendering/HitTestingTransformState.cpp:
+ * rendering/LayoutTypes.h:
+ * rendering/LayoutTypesInlineMethods.h: Added.
+ (WebCore):
+ * rendering/RenderMenuList.h:
+ * rendering/RenderThemeChromiumCommon.h:
+ * rendering/TextAutosizer.h:
+ * rendering/style/ShadowData.cpp:
+ * rendering/style/ShadowData.h:
+ * rendering/style/WrapShapes.h:
+ * rendering/svg/SVGRenderSupport.h:
+ * rendering/svg/SVGRenderingContext.h:
+ * svg/graphics/SVGImage.h:
+
+2012-08-27 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put CCThreadImpl / WebCompositorImpl in webcore_chromium_compositor_files gyp section
+ https://bugs.webkit.org/show_bug.cgi?id=94995
+
+ Reviewed by Adrienne Walker.
+
+ These need to be controllable by use_libcc_for_compositor
+
+ * WebCore.gypi:
+
+2012-08-27 Simon Fraser <simon.fraser@apple.com>
+
+ If both left and right (or top and bottom) are specified for sticky, use left (or top)
+ https://bugs.webkit.org/show_bug.cgi?id=95146
+
+ Reviewed by Dan Bernstein.
+
+ Remove the incorrect FIXME comment, and swap the left and right,
+ and top and bottom constraints so that left and top win out,
+ as they do for position:relative.
+
+ Test: fast/css/sticky/sticky-both-sides.html
+
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::stickyPositionOffset):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] Improve the names of some private functions of V8DOMWindowShell.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95132
+
+ Reviewed by Eric Seidel.
+
+ V8DOMWindowShell has a concept of a "DocumentWrapperCache", but that's
+ more easily understood as the "document" property of the Window. This
+ patch renames a couple functions to make this clearer.
+
+ This patch as renames disposeContextHandles to disposeContext because
+ that's what's actually happening.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::isContextInitialized):
+ (WebCore::V8DOMWindowShell::disposeContext):
+ (WebCore::V8DOMWindowShell::clearForClose):
+ (WebCore::V8DOMWindowShell::clearForNavigation):
+ (WebCore):
+ (WebCore::V8DOMWindowShell::initializeIfNeeded):
+ (WebCore::V8DOMWindowShell::updateDocumentProperty):
+ (WebCore::V8DOMWindowShell::clearDocumentProperty):
+ (WebCore::V8DOMWindowShell::updateDocument):
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ WebGL should not flip textures on presentation if contents are unchanged
+ https://bugs.webkit.org/show_bug.cgi?id=94961
+
+ Reviewed by Kenneth Russell.
+
+ For WebGL contexts where antialias and preserveDrawingBuffer are false, chromium implements DrawingBuffer using
+ two textures and flips them on presentation. If the page hasn't actually rendered anything into the WebGL
+ context since the last presentation, this makes an old frame available. This fixes the bug by marking the
+ DrawingBuffer when its contents change.
+
+ Test: compositing/webgl/webgl-repaint.html
+
+ * html/canvas/WebGLRenderingContext.cpp:
+ (WebCore):
+ (WebCore::WebGLRenderingContext::markContextChanged):
+ * platform/graphics/chromium/DrawingBufferChromium.cpp:
+ (WebCore::DrawingBuffer::DrawingBuffer):
+ (WebCore::DrawingBuffer::prepareBackBuffer):
+ * platform/graphics/gpu/DrawingBuffer.h:
+ (WebCore::DrawingBuffer::markContentsChanged):
+ (DrawingBuffer):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] Clean up V8DOMWindowShell's findFrame
+ https://bugs.webkit.org/show_bug.cgi?id=95130
+
+ Reviewed by Eric Seidel.
+
+ This patch just deletes a bunch of unneeded variables from findFrame
+ and adds an ASSERT for what a comment claims to be true.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::findFrame):
+
+2012-08-27 Roger Fong <roger_fong@apple.com>
+
+ Hook procedure should check to see if hook has already been removed before attempting removal.
+ https://bugs.webkit.org/show_bug.cgi?id=95118
+
+ Reviewed by Simon Fraser.
+
+ When the hookFired method in LayerChangesFlusher.cpp gets called in response to a message posted to the message queue
+ it calls CallNextHook to pass the message to the next hook procedure in the hook chain.
+
+ Sometimes, the message can get passed to another hook procedure that can dispatch another message.
+ This message gets passed back through the hook chain and we eventually re-enter the hookFired method.
+
+ When that hookFired call completes, it may remove the hook.
+ When CallNextHook returns, the original call to hookFired may try to remove the hook as well.
+ However, there is no need as the hook as already been removed.
+ This results in an assertion failure, assert(m_hook), when we call removeHook.
+
+ * platform/graphics/ca/win/LayerChangesFlusher.cpp:
+ (WebCore::LayerChangesFlusher::hookFired):
+ Simply check to see if the hook has already been removed before actually trying to remove it.
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies of WebScrollbar and WebScrollbarLayer
+ https://bugs.webkit.org/show_bug.cgi?id=94996
+
+ Reviewed by Adrienne Walker.
+
+ Moves WebScrollbarImpl into WebCore/platform/support to make it accessible to chromium-specific WebCore code and
+ uses it to construct WebScrollbar instances around WebCore::Scrollbars.
+
+ * WebCore.gypi:
+ * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
+ (WebCore::createScrollbarLayer):
+ * platform/chromium/support/WebScrollbarImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarImpl.cpp.
+ (WebKit):
+ (WebKit::WebScrollbarImpl::WebScrollbarImpl):
+ (WebKit::WebScrollbarImpl::isOverlay):
+ (WebKit::WebScrollbarImpl::value):
+ (WebKit::WebScrollbarImpl::location):
+ (WebKit::WebScrollbarImpl::size):
+ (WebKit::WebScrollbarImpl::enabled):
+ (WebKit::WebScrollbarImpl::maximum):
+ (WebKit::WebScrollbarImpl::totalSize):
+ (WebKit::WebScrollbarImpl::isScrollViewScrollbar):
+ (WebKit::WebScrollbarImpl::isScrollableAreaActive):
+ (WebKit::WebScrollbarImpl::getTickmarks):
+ (WebKit::WebScrollbarImpl::controlSize):
+ (WebKit::WebScrollbarImpl::pressedPart):
+ (WebKit::WebScrollbarImpl::hoveredPart):
+ (WebKit::WebScrollbarImpl::scrollbarOverlayStyle):
+ (WebKit::WebScrollbarImpl::orientation):
+ (WebKit::WebScrollbarImpl::isCustomScrollbar):
+ * platform/chromium/support/WebScrollbarImpl.h: Renamed from Source/WebKit/chromium/src/WebScrollbarImpl.h.
+ (WebCore):
+ (WebKit):
+ (WebScrollbarImpl):
+
+2012-08-27 Tony Chang <tony@chromium.org>
+
+ Make RenderBox::computePositionedLogicalHeight const
+ https://bugs.webkit.org/show_bug.cgi?id=94984
+
+ Reviewed by Ojan Vafai.
+
+ This is step 1 in making computeLogical{Height,Width} const.
+ computeLogicalHeight calls computePositionedLogicalHeight, so this patch
+ makes that const first.
+
+ No new tests, just refactoring. Covered by fast/block/positioning/differing-writing-modes-replaced.html
+ and others.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::computeLogicalHeight): Call const version of computePositionedLogicalHeight.
+ (WebCore::RenderBox::computePositionedLogicalHeight): Make const, fills in struct instead.
+ (WebCore::RenderBox::computePositionedLogicalHeightUsing): Make const
+ and pass in a LogicalExtentComputedValues struct instead of 4 separate args for the results.
+ (WebCore::RenderBox::computePositionedLogicalHeightReplaced): Make const, fills in struct instead.
+ * rendering/RenderBox.h:
+ (WebCore::RenderBox::MarginsComputedValues::MarginsComputedValues):
+ (MarginsComputedValues): Struct of just margins. Not used yet, but will be for
+ computeInlineDirectionMargins and computeBlockDirectionMargins.
+ (WebCore::RenderBox::LogicalExtentComputedValues::LogicalExtentComputedValues):
+ (LogicalExtentComputedValues): Struct to be used by computeLogical{Width,Height}. Only used by
+ computeLogicalHeight so far.
+
+2012-08-27 Rob Buis <rbuis@rim.com>
+
+ Fix compiler warnings in TextureMapperLayer.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95128
+
+ Reviewed by Noam Rosenthal.
+
+ Fix the warnings caused by -Wsign-compare.
+
+ * platform/graphics/texmap/TextureMapperLayer.cpp:
+ (WebCore::TextureMapperLayer::paintSelfAndChildren):
+ (WebCore::shouldKeepContentTexture):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] Clean up reportFatalError in V8DOMWindowShell.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95124
+
+ Reviewed by Eric Seidel.
+
+ We don't need a PLATFORM(CHROMIUM) ifdef because MemoryUsageSupport has
+ a stub implementation on non-Chromium platforms. These comments are out
+ of date. We've been "temporarily" calling CRASH here for as long as the
+ bindings have existed and we don't plan to stop.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::reportFatalError):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] Clean up V8DOMWindowShell's reportUncaughtException
+ https://bugs.webkit.org/show_bug.cgi?id=95126
+
+ Reviewed by Eric Seidel.
+
+ This patch changes reportUncaughtException to operate in terms of a
+ DOMWindow rather than a Frame. In general, the bindings should use
+ DOMWindows rather than Frames because a DOMWindow is specific to a
+ given Document whereas a Frame displays many Documents over its
+ lifetime.
+
+ I've also updated some variable names to be more consistent with WebKit
+ naming conventions.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::reportUncaughtException):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ The static functions in V8DOMWindowShell.cpp are poorly named
+ https://bugs.webkit.org/show_bug.cgi?id=95122
+
+ Reviewed by Eric Seidel.
+
+ This patch cleans up the naming of the static functions in
+ V8DOMWindowShell.cpp.
+
+ I've inlined handleFatalErrorInV8 into its one caller.
+
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::reportFatalError):
+ - Removed V8 from the name becaues this entire file is about V8.
+ (WebCore::reportUncaughtException):
+ - Ditto.
+ (WebCore::findFrame):
+ - Remove the "get" prefix because it's a weak verb.
+ (WebCore::reportUnsafeJavaScriptAccess):
+ (WebCore::initializeV8IfNeeded):
+ (WebCore::checkDocumentWrapper):
+ - Move this function up to the top of the file with the rest of the
+ static functions.
+ (WebCore):
+
+2012-08-27 Adam Barth <abarth@webkit.org>
+
+ [V8] initContextIfNeeded is overly specific
+ https://bugs.webkit.org/show_bug.cgi?id=95120
+
+ Reviewed by Eric Seidel.
+
+ This patch is part of a series to clean up V8DOMWindowShell. This
+ patch renames initContextIfNeeded to initializeIfNeeded because callers
+ shouldn't need to worry about what V8DOMWindow needs to initialize.
+
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateToV8Converters):
+ * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
+ (WebCore::V8TestActiveDOMObject::wrapSlow):
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ (WebCore::ScriptController::mainWorldContext):
+ (WebCore::ScriptController::matchesCurrentContext):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::initializeIfNeeded):
+ (WebCore::V8DOMWindowShell::updateDocument):
+ (WebCore::V8DOMWindowShell::namedItemAdded):
+ (WebCore::V8DOMWindowShell::namedItemRemoved):
+ * bindings/v8/V8DOMWindowShell.h:
+ (V8DOMWindowShell):
+ * bindings/v8/WorkerContextExecutionProxy.cpp:
+ (WebCore::WorkerContextExecutionProxy::initializeIfNeeded):
+ (WebCore::WorkerContextExecutionProxy::evaluate):
+ * bindings/v8/WorkerContextExecutionProxy.h:
+ (WorkerContextExecutionProxy):
+
+2012-08-27 Brian Salomon <bsalomon@google.com>
+
+ [Skia/Chromium] Remove use of deprecated Skia names
+ https://bugs.webkit.org/show_bug.cgi?id=95108
+
+ Reviewed by Eric Seidel.
+
+ kSkia8888_PM_GrPixelConfig has been deprecated in favor of kSkia8888_GrPixelConfig.
+ SkGrTexturePixelRef has been deprecated in favor of SkGrPixelRef.
+
+ Covered by existing tests (image filter and canvas tests).
+
+ * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
+ (WebCore::createAcceleratedCanvas):
+ * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
+ * platform/graphics/skia/ImageBufferSkia.cpp:
+ (WebCore::createAcceleratedCanvas):
+
+2012-08-27 Adrienne Walker <enne@google.com>
+
+ [chromium] Unreviewed, remove OVERRIDE from non-virtual function.
+ https://bugs.webkit.org/show_bug.cgi?id=94859
+
+ Unreviewed build fix.
+
+ * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h:
+ (CCScrollbarGeometryFixedThumb):
+
+2012-08-27 Adrienne Walker <enne@google.com>
+
+ [chromium] Prevent scrollbar thumb size from changing during compositor zoom
+ https://bugs.webkit.org/show_bug.cgi?id=94859
+
+ Reviewed by James Robinson.
+
+ During a pinch zoom, the total size of a scrollable area will change,
+ causing the thumb to become a different size. This will cause the
+ thumb texture (painted at a specific size) to stretch. To fix this,
+ add a new CCScrollbarGeometryFixedThumb class which behaves just like
+ a normal WebScrollbarThemeGeometry class, but constrains the thumb to
+ be a fixed size.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/ScrollbarLayerChromium.cpp:
+ (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
+ * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp: Added.
+ (WebCore):
+ (WebCore::CCScrollbarGeometryFixedThumb::create):
+ (WebCore::CCScrollbarGeometryFixedThumb::~CCScrollbarGeometryFixedThumb):
+ (WebCore::CCScrollbarGeometryFixedThumb::update):
+ (WebCore::CCScrollbarGeometryFixedThumb::clone):
+ (WebCore::CCScrollbarGeometryFixedThumb::thumbLength):
+ (WebCore::CCScrollbarGeometryFixedThumb::thumbPosition):
+ (WebCore::CCScrollbarGeometryFixedThumb::splitTrack):
+ (WebCore::CCScrollbarGeometryFixedThumb::CCScrollbarGeometryFixedThumb):
+ * platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h: Added.
+ (WebCore):
+ (CCScrollbarGeometryFixedThumb):
+ * platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp: Added.
+ (WebCore):
+ (WebCore::CCScrollbarGeometryStub::CCScrollbarGeometryStub):
+ (WebCore::CCScrollbarGeometryStub::~CCScrollbarGeometryStub):
+ (WebCore::CCScrollbarGeometryStub::clone):
+ (WebCore::CCScrollbarGeometryStub::thumbPosition):
+ (WebCore::CCScrollbarGeometryStub::thumbLength):
+ (WebCore::CCScrollbarGeometryStub::trackPosition):
+ (WebCore::CCScrollbarGeometryStub::trackLength):
+ (WebCore::CCScrollbarGeometryStub::hasButtons):
+ (WebCore::CCScrollbarGeometryStub::hasThumb):
+ (WebCore::CCScrollbarGeometryStub::trackRect):
+ (WebCore::CCScrollbarGeometryStub::thumbRect):
+ (WebCore::CCScrollbarGeometryStub::minimumThumbLength):
+ (WebCore::CCScrollbarGeometryStub::scrollbarThickness):
+ (WebCore::CCScrollbarGeometryStub::backButtonStartRect):
+ (WebCore::CCScrollbarGeometryStub::backButtonEndRect):
+ (WebCore::CCScrollbarGeometryStub::forwardButtonStartRect):
+ (WebCore::CCScrollbarGeometryStub::forwardButtonEndRect):
+ (WebCore::CCScrollbarGeometryStub::constrainTrackRectToTrackPieces):
+ (WebCore::CCScrollbarGeometryStub::splitTrack):
+ * platform/graphics/chromium/cc/CCScrollbarGeometryStub.h: Added.
+ (WebCore):
+ (CCScrollbarGeometryStub):
+ (WebCore::CCScrollbarGeometryStub::update):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
+ (WebCore::CCScrollbarLayerImpl::setScrollbarGeometry):
+ (WebCore::CCScrollbarLayerImpl::setScrollbarData):
+ * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
+ (WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
+ (CCScrollbarLayerImpl):
+
+2012-08-27 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Have RenderSurface create and add its own generated RenderPass
+ https://bugs.webkit.org/show_bug.cgi?id=94957
+
+ Reviewed by Adrienne Walker.
+
+ Have CCRenderSurface create and add its RenderPass to the appropriate
+ data structures. Previously CCLayerTreeHostImpl had this responsibility
+ but this limits us to a single RenderPass per RenderSurface. In ubercomp
+ we have layers that generate many RenderPasses that all contribute to a
+ single RenderSurface. This target RenderSurface can create all the needed
+ RenderPasses in the correct order for itself when asked to now.
+
+ We invent CCRenderPassSink and make FrameData implement it, so that the
+ RenderSurface does not need to know the details of how the RenderPasses
+ it generates will be stored.
+
+ Test: CCRenderSurfaceTest.sanityCheckSurfaceCreatesCorrectRenderPass
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::FrameData::appendRenderPass):
+ (WebCore):
+ (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
+ (FrameData):
+ * platform/graphics/chromium/cc/CCRenderPassSink.h: Added.
+ (WebCore):
+ (CCRenderPassSink):
+ * platform/graphics/chromium/cc/CCRenderSurface.cpp:
+ (WebCore::CCRenderSurface::appendRenderPasses):
+ (WebCore):
+ * platform/graphics/chromium/cc/CCRenderSurface.h:
+ (WebCore):
+ (CCRenderSurface):
+
+2012-08-27 Takashi Sakamoto <tasak@google.com>
+
+ ShadowRoot insertion point change aborts css transition
+ https://bugs.webkit.org/show_bug.cgi?id=93755
+
+ Reviewed by Hajime Morita.
+
+ ElementShadow always detaches shadow hosts when distribution is
+ changed, i.e. select attribute's value is changed. However it clears
+ the style of the shadow host. So when distribution is changed,
+ no css transition can be started at the same time. To avoid this
+ problem, invalidateDistribution, i.e. a method for invalidating current
+ distribution, should not make shadow host reattach. Instead, it should
+ make distribute nodes reattached and set needsRecalcStyle flag of
+ shadow host.
+
+ Test: transitions/transition-on-shadow-host-with-distributed-node.html
+
+ * dom/ElementShadow.cpp:
+ (WebCore::ElementShadow::addShadowRoot):
+ To support replaced elements, i.e. IMG, and so on, shadow host's
+ renderer must be updated when author shadow roots are addded.
+ So invoke shadow host's reattach instead of shadowRoot's attach.
+ (WebCore::ElementShadow::invalidateDistribution):
+ Remove shadow host's lazy reattach (detach and lazyAttach). Instead, do
+ distributed nodes' lazy reattach and set shadow host's needsRecalcStyle
+ flag.
+ * dom/Node.h:
+ (WebCore::Node::lazyReattach):
+ Newly added. The method works like Node::reattach, but use
+ lazyAttach instead of attach.
+ (WebCore):
+
+2012-08-27 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Fixing infinite recursion in Canvas2DLayerManager
+ https://bugs.webkit.org/show_bug.cgi?id=95110
+
+ Reviewed by Stephen White.
+
+ Fixed infinite recursion by not reporting a change in memory allocation
+ when Canvas2DLayerBridge::freeMemoryIfPossible fails to free memory.
+ Also modified Canvas2DLayerManager::layerAllocatedStorageChanged to
+ only initiate a memory eviction pass if memory consumption has
+ increased.
+
+ Test: webkit_unit_tests Canvas2DLayerManagerTest*
+
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
+ * platform/graphics/chromium/Canvas2DLayerManager.cpp:
+ (WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged):
+
+2012-08-27 Anna Cavender <annacc@chromium.org>
+
+ TextTrack modes are strings
+ https://bugs.webkit.org/show_bug.cgi?id=85050
+
+ Reviewed by Eric Carlson.
+
+ The spec recently changed away from enumeration to string for the type
+ of TextTrack mode.
+ http://dev.w3.org/html5/spec/media-elements.html#texttrackmode
+
+ No new tests. Updates to existing tests.
+
+ * html/HTMLMediaElement.cpp:
+
+ Use the new string mode rather than the old enum. Also, TextTrack::setMode()
+ no longer requires an ExceptionCode:
+ (WebCore::HTMLMediaElement::loadInternal):
+ (WebCore::HTMLMediaElement::textTrackModeChanged):
+ (WebCore::HTMLMediaElement::textTrackKindChanged):
+ (WebCore::HTMLMediaElement::addTextTrack):
+ (WebCore::HTMLMediaElement::showingTrackWithSameKind):
+ (WebCore::HTMLMediaElement::configureTextTrackGroup):
+ (WebCore::HTMLMediaElement::configureNewTextTracks):
+ (WebCore::HTMLMediaElement::configureTextTrackDisplay):
+
+ * html/track/TextTrack.cpp:
+
+ Update these methods to use ConstructFromLiteral for efficiency:
+ (WebCore::TextTrack::subtitlesKeyword):
+ (WebCore::TextTrack::captionsKeyword):
+ (WebCore::TextTrack::descriptionsKeyword):
+ (WebCore::TextTrack::chaptersKeyword):
+ (WebCore::TextTrack::metadataKeyword):
+
+ New methods to use for the mode string (replacing the enum):
+ (WebCore::TextTrack::disabledKeyword):
+ (WebCore::TextTrack::hiddenKeyword):
+ (WebCore::TextTrack::showingKeyword):
+
+ (WebCore::TextTrack::TextTrack): Initialize mode to disabled.
+ (WebCore::TextTrack::setMode): Remove ExceptionCode and no longer throw an
+ INVALID_ACCESS_ERR.
+ (WebCore::TextTrack::mode): Return a keyword string instead of an enum.
+
+ Use the new string mode rather than the old enum:
+ (WebCore::TextTrack::cues):
+ (WebCore::TextTrack::activeCues):
+ (WebCore::TextTrack::isRendered):
+
+ * html/track/TextTrack.h: Remove old enum, add new string keyword methods,
+ and update mode() and setMode() accordingly.
+
+ * html/track/TextTrack.idl: Remove old enum and make mode attribute be a string.
+
+ Use the new string mode rather than the old enum:
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::dispatchEvent):
+ (WebCore::TextTrackCue::isActive):
+
+2012-08-27 Mike West <mkwst@chromium.org>
+
+ 'self' in a CSP directive should match blob: and filesystem: URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=94918
+
+ Reviewed by Adam Barth.
+
+ 'blob:' and 'filesystem:' URLs are same-origin with the page on which
+ they were created. Currently, we're using the wrong URL for comparison
+ when matching against CSP directive source lists. This patch adjusts the
+ matching logic to compare against the blob's inner URL, rather than
+ directly against the blob itself.
+
+ Tests: http/tests/security/contentSecurityPolicy/blob-urls-match-self.html
+ http/tests/security/contentSecurityPolicy/filesystem-urls-match-self.html
+ http/tests/security/contentSecurityPolicy/source-list-parsing-08.html
+
+ * page/ContentSecurityPolicy.cpp:
+ (WebCore::CSPSourceList::matches):
+ If we should use the inner URL of a given resource, extract it into
+ a local variable, and pass that into CSPSource for comparison.
+ * page/SecurityOrigin.cpp:
+ (WebCore::SecurityOrigin::shouldUseInnerURL):
+ (WebCore::SecurityOrigin::extractInnerURL):
+ Move shouldUseInnerURL and extractInnerURL to SecurityOrigin's
+ public signature.
+ (WebCore::shouldTreatAsUniqueOrigin):
+ (WebCore::SecurityOrigin::create):
+ (WebCore::SecurityOrigin::isSecure):
+ shouldUseInnerURL and extractInnerURL are now static methods of
+ SecurityOrigin: updating calls to mathc.
+ * page/SecurityOrigin.h:
+
+2012-08-27 Kevin Funk <kevin.funk@kdab.com>
+
+ Fix compilation when both OS(WINCE) and PLATFORM(QT) are true
+ https://bugs.webkit.org/show_bug.cgi?id=95050
+
+ Reviewed by Simon Hausmann.
+
+ The compilation of NativeImagePtr.h breaks when both OS(WINCE) and PLATFORM(QT) are enabled.
+ This patch fixes this.
+
+ * platform/graphics/NativeImagePtr.h:
+
+2012-08-27 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Fix review comments from patch #93119
+ https://bugs.webkit.org/show_bug.cgi?id=95064
+
+ Reviewed by Adam Barth.
+
+ Adding const to accessors.
+
+ Change covered by exisiting tests..
+
+ * Modules/mediastream/RTCIceCandidate.cpp:
+ (WebCore::RTCIceCandidate::candidate):
+ (WebCore::RTCIceCandidate::sdpMid):
+ (WebCore::RTCIceCandidate::sdpMLineIndex):
+ * Modules/mediastream/RTCIceCandidate.h:
+ (RTCIceCandidate):
+ * Modules/mediastream/RTCSessionDescription.cpp:
+ (WebCore::RTCSessionDescription::create):
+ (WebCore::RTCSessionDescription::type):
+ (WebCore::RTCSessionDescription::sdp):
+ * Modules/mediastream/RTCSessionDescription.h:
+ (RTCSessionDescription):
+
+2012-08-27 Simon Fraser <simon.fraser@apple.com>
+
+ Make Force Repaint work with tiled backing store
+ https://bugs.webkit.org/show_bug.cgi?id=95102
+
+ Reviewed by Dan Bernstein.
+
+ forceRepaint() didn't work correctly with tiled backing
+ store, because it never actually caused a repaint on the tiles.
+
+ Fix by having the drawing area call forceRepaint() on
+ the TileCache (via the TiledBacking interface), which
+ just ends up as a setNeedsDisplay().
+
+ * WebCore.xcodeproj/project.pbxproj:
+ * platform/graphics/TiledBacking.h:
+ * platform/graphics/ca/mac/TileCache.h:
+ * platform/graphics/ca/mac/TileCache.mm:
+ (WebCore::TileCache::forceRepaint):
+
+2012-08-27 Victor Carbune <victor@rosedu.org>
+
+ Crash when trying to render empty cues
+ https://bugs.webkit.org/show_bug.cgi?id=94776
+
+ Reviewed by Eric Carlson.
+
+ Added extra safety checks.
+
+ Test: media/track/track-cue-rendering-empty-cue-crash.html
+
+ * html/track/TextTrackCue.cpp:
+ (WebCore::TextTrackCue::getCueAsHTML):
+ (WebCore::TextTrackCue::updateDisplayTree):
+
+2012-08-24 Simon Fraser <simon.fraser@apple.com>
+
+ Implement sticky positioning
+ https://bugs.webkit.org/show_bug.cgi?id=90046
+
+ Reviewed by Ojan Vafai.
+
+ Initial implementation of position: -webkit-sticky, which
+ constrains an element to be positioned inside the intersection
+ of its container box, and the viewport. Sticky elements create
+ stacking context.
+
+ A stickily positioned element behaves like position:relative
+ (space is reserved for it in-flow), but with an offset that is
+ determined by the sticky position. Changed isInFlowPositioned()
+ to cover relative and sticky.
+
+ Added a convenience isPositioned() to RenderObject(), which
+ is true for an object with any non-static position value.
+
+ Tests: fast/css/sticky/inflow-sticky.html
+ fast/css/sticky/inline-sticky-abspos-child.html
+ fast/css/sticky/inline-sticky.html
+ fast/css/sticky/replaced-sticky.html
+ fast/css/sticky/sticky-as-positioning-container.html
+ fast/css/sticky/sticky-left-percentage.html
+ fast/css/sticky/sticky-left.html
+ fast/css/sticky/sticky-margins.html
+ fast/css/sticky/sticky-side-margins.html
+ fast/css/sticky/sticky-stacking-context.html
+ fast/css/sticky/sticky-top-margins.html
+ fast/css/sticky/sticky-top.html
+ fast/css/sticky/sticky-writing-mode-horizontal-bt.html
+ fast/css/sticky/sticky-writing-mode-vertical-lr.html
+ fast/css/sticky/sticky-writing-mode-vertical-rl.html
+
+ * css/StyleResolver.cpp:
+ (WebCore::StyleResolver::adjustRenderStyle): Have position:sticky
+ create stacking context from the get-go, to make scrolling optimizations easier later.
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scrollContentsFastPath): Use hasViewportConstrainedPosition().
+ * page/FrameView.h: FrameView's "fixed" objects contains both fixed and sticky objects now.
+ * rendering/RenderBlock.cpp: Use isPositioned().
+ (WebCore::RenderBlock::isSelectionRoot):
+ (WebCore::RenderBlock::renderName):
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::styleWillChange): Need to look for both stick and fixed positioning to
+ determine whether to add something to FrameView's fixed object set.
+ (WebCore::RenderBox::computeRectForRepaint): Need to take the sticky offset into account
+ when computing repaint rects.
+ * rendering/RenderBox.h: Implement frameRectForStickyPositioning() for boxes.
+ * rendering/RenderBoxModelObject.cpp:
+ (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
+ (WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
+ (WebCore::RenderBoxModelObject::stickyPositionOffset): Compute the sticky position
+ offset by taking into account the viewport rect, and the conteriner's contentRect
+ inset by its margins.
+ (WebCore::RenderBoxModelObject::offsetForInFlowPosition): Convenience wrapper
+ for getting relative or sticky offset.
+ * rendering/RenderBoxModelObject.h: Have requiresLayer() use isPositioned().
+ (WebCore::RenderBoxModelObject::stickyPositionLogicalOffset):
+ * rendering/RenderInline.cpp:
+ (WebCore::RenderInline::styleWillChange): Need to implement this to
+ add/remove objects from FrameView's fixed object list, since, prior to sticky,
+ only boxes could be fixed.
+ (WebCore::RenderInline::renderName):
+ (WebCore::RenderInline::positionForPoint):
+ (WebCore::RenderInline::computeRectForRepaint):
+ * rendering/RenderInline.h:
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Have to look for fixed or sticky.
+ (WebCore::RenderLayer::calculateClipRects): Use isPositioned().
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly): Ditto.
+ * rendering/RenderLayer.h:
+ * rendering/RenderObject.cpp:
+ (WebCore::RenderObject::styleWillChange):
+ (WebCore::RenderObject::propagateStyleToAnonymousChildren): Should use isInFlowPositioned(),
+ not just isRelPositioned().
+ (WebCore::RenderObject::offsetParent): Use isPositioned().
+ * rendering/RenderObject.h:
+ (WebCore::RenderObject::isInFlowPositioned):
+ (WebCore::RenderObject::isStickyPositioned):
+ (WebCore::RenderObject::setStickyPositioned):
+ (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
+ (RenderObjectBitfields):
+ * rendering/RenderStyle.h: add hasViewportConstrainedPosition() for fixed or sticky position.
+
+2012-08-27 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Unreviewed Mac Chromium build fix after r126763.
+
+ * platform/graphics/Font.cpp:
+
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ For convenience, make RenderLayer::enclosingElement a public method.
+ https://bugs.webkit.org/show_bug.cgi?id=95018
+
+ Reviewed by George Staikos.
+
+ ... this way some platform specific code could make use of it
+ and remove code duplications.
+
+ No new tests needed.
+
+ * rendering/RenderLayer.h:
+ (RenderLayer):
+
+2012-08-27 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: display a dimmed warning icon on a timeline record if it has children with warning
+ https://bugs.webkit.org/show_bug.cgi?id=95087
+
+ Reviewed by Yury Semikhatsky.
+
+ Propagate warning from child timeline records to the top, display a dimmed warning icons for records
+ that have children with warnings.
+
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelineRecordListRow.prototype.update):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.Record):
+ (WebInspector.TimelinePresentationModel.Record.prototype.get aggregatedStats):
+ (WebInspector.TimelinePresentationModel.Record.prototype.setHasWarning):
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-tree-item.child-warning::after):
+
+2012-08-27 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Debugger should break on failed assertions in Break on exceptions mode.
+ https://bugs.webkit.org/show_bug.cgi?id=95088
+
+ Reviewed by Yury Semikhatsky.
+
+ Debugger now breaks when assert message is added to console from console API.
+
+ Test: inspector/debugger/debugger-pause-on-failed-assertion.html
+
+ * English.lproj/localizedStrings.js:
+ * inspector/Inspector.json:
+ * inspector/InspectorDebuggerAgent.cpp:
+ (WebCore::InspectorDebuggerAgent::addMessageToConsole):
+ (WebCore):
+ * inspector/InspectorDebuggerAgent.h:
+ (InspectorDebuggerAgent):
+ * inspector/InspectorInstrumentation.cpp:
+ (WebCore):
+ (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
+ * inspector/front-end/DebuggerModel.js:
+ * inspector/front-end/ScriptsPanel.js:
+
+2012-08-27 Ned Holbrook <nholbrook@apple.com>
+
+ Improve line breaking performance for complex text
+ https://bugs.webkit.org/show_bug.cgi?id=83045
+
+ Reviewed by Darin Adler.
+
+ Currently RenderBlock::LineBreaker::nextLineBreak assumes that measuring individual words is as cheap
+ as free. This is not the case when dealing with complex text, which benefits from laying out as much
+ text as possible and by reusing that layout when feasible: by doing so this patch improves line
+ breaking by 25% as measured with a simple test app.
+
+ The bulk of this change is modifying ComplexTextController::advance, which previously required the
+ text offset to be strictly increasing and assumed unidirectional text; now it supports random seeking
+ in a naive fashion (by restarting to the beginning) and traverses glyphs in logical order. In the
+ latter case, the presence of any non-LTR runs triggers the population of a mapping from logical to
+ visual run indices. Finally, a new flag has been added which inhibits glyph advances from being split
+ across ligatures (thus causing spurious line breaks).
+
+ A ComplexTextController and its associated TextRun and Font are encapsulated in a TextLayout object,
+ which is instantiated as an opaque object via functions that are no-ops unless building for Mac. A
+ static member function (isNeeded) checks to see whether a TextRun is complex, in order to avoid
+ needless instantiation. It also bails if tabs would be enabled since positional effects are not yet
+ handled in this mode.
+
+ No behavioral changes are expected due to this change, so no new tests.
+
+ * platform/graphics/Font.cpp:
+ (WTF): Define deleteOwnedPtr for TextLayout as calling through destroyLayout; relying on operator delete is not workable as the class does not exist on all platforms.
+ (WTF::WebCore::TextLayout):
+ (WebCore): Implement no-op TextLayout wrappers for non-Mac platforms.
+ (WebCore::Font::createLayout):
+ (WebCore::Font::deleteLayout):
+ (WebCore::Font::width):
+ * platform/graphics/Font.h:
+ (WebCore): Add forward declarations for RenderText and TextLayout.
+ (Font): Add functions for dealing with pointer to TextLayout implementation.
+ (WTF): Declare deleteOwnedPtr for TextLayout.
+ * platform/graphics/mac/ComplexTextController.cpp:
+ (TextLayout): An instance of this class corresponds to a ComplexTextController for a particular TextRun.
+ (WebCore::TextLayout::isNeeded): Used by wrapper to avoid instantiation when complex layout is not required.
+ (WebCore::TextLayout::TextLayout):
+ (WebCore::TextLayout::width):
+ (WebCore::TextLayout::fontWithNoWordSpacing): Helper function to allow initialization of member variable.
+ (WebCore::TextLayout::constructTextRun): Ditto.
+ (WebCore): Implement real TextLayout wrappers for Mac.
+ (WebCore::Font::createLayout):
+ (WebCore::Font::deleteLayout):
+ (WebCore::Font::width):
+ (WebCore::ComplexTextController::ComplexTextController): Initialize m_ltrOnly and reserve initial capacity for m_runIndices.
+ (WebCore::ComplexTextController::indexOfCurrentRun): Return (visual) m_complexTextRuns index corresponding to (logical) m_currentRun, lazily constructing m_runIndices if needed.
+ (WebCore::ComplexTextController::incrementCurrentRun): Return next m_complexTextRuns index in logical order.
+ (WebCore::ComplexTextController::advance): Allow restarting, support for bidi reordering, and option to measure only whole glyphs rather than dividing advances.
+ (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Clear m_ltrOnly on detecting a RTL run.
+ * platform/graphics/mac/ComplexTextController.h:
+ (ComplexTextController): Add m_ltrOnly indicating no bidi reordering, and m_runIndices mapping from runs (logical order) to m_complexTextRuns (visual order).
+ (WebCore::ComplexTextController::ComplexTextRun::indexBegin):
+ (WebCore::ComplexTextController::ComplexTextRun::isLTR):
+ (ComplexTextRun): Add helper functions returning values pertinent to individual runs as opposed to the entire containing line.
+ (WebCore::ComplexTextController::stringBegin): Return first string index.
+ (WebCore::ComplexTextController::stringEnd): Return one past last string index.
+ * platform/graphics/mac/ComplexTextControllerCoreText.mm: Initialize m_indexBegin and m_ltr.
+ (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_indexBegin and m_ltr.
+ * rendering/RenderBlock.h:
+ (RenderTextInfo): Add single mapping from RenderText to LazyLineBreakIterator and (possibly null) TextLayout since they are recreated under the same circumstances.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::RenderBlock::RenderTextInfo::RenderTextInfo): Make non-inline to avoid compilation errors.
+ (WebCore::RenderBlock::RenderTextInfo::~RenderTextInfo): Ditto.
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Allow RenderTextInfo to be reused across calls to nextLineBreak.
+ (WebCore::textWidth): Use TextLayout when supplied for measuring.
+ (WebCore::RenderBlock::LineBreaker::nextLineBreak):
+
+2012-08-27 Nico Weber <thakis@chromium.org>
+
+ Add two missing variable initializers to RenderFlowThread
+ https://bugs.webkit.org/show_bug.cgi?id=95048
+
+ Reviewed by Julien Chaffraix.
+
+ The m_dispatchRegionLayoutUpdateEvent change is needed to fix this
+ valgrind warning:
+ Conditional jump or move depends on uninitialised value(s)
+ WebCore::RenderFlowThread::layout() (third_party/WebKit/Source/WebCore/rendering/RenderFlowThread.cpp:189)
+ WebCore::RenderObject::layoutIfNeeded() (third_party/WebKit/Source/WebCore/rendering/RenderObject.h:647)
+ WebCore::FlowThreadController::layoutRenderNamedFlowThreads() (third_party/WebKit/Source/WebCore/rendering/FlowThreadController.cpp:124)
+ WebCore::RenderView::layout() (third_party/WebKit/Source/WebCore/rendering/RenderView.cpp:159)
+ WebCore::FrameView::layout(bool) (third_party/WebKit/Source/WebCore/page/FrameView.cpp:1154)
+ WebCore::FrameView::layoutTimerFired(WebCore::Timer<WebCore::FrameView>*) (third_party/WebKit/Source/WebCore/page/FrameView.cpp:2074)
+ WebCore::Timer<WebCore::FrameView>::fired() (third_party/WebKit/Source/WebCore/platform/Timer.h:100)
+ WebCore::ThreadTimers::sharedTimerFiredInternal() (third_party/WebKit/Source/WebCore/platform/ThreadTimers.cpp:115)
+ WebCore::ThreadTimers::sharedTimerFired() (third_party/WebKit/Source/WebCore/platform/ThreadTimers.cpp:93)
+ webkit_glue::WebKitPlatformSupportImpl::DoTimeout() (./webkit/glue/webkitplatformsupport_impl.h:163)
+ The report came from the `fast/regions/absolute-pos-elem-in-named-flow.html'--pixel-test` test.
+
+ m_dispatchRegionLayoutUpdateEvent was added in https://bugs.webkit.org/show_bug.cgi?id=88778
+ by abucur, reviewed by abarth.
+
+ While here, also initialize m_hasRegionsWithStyling, added in https://bugs.webkit.org/show_bug.cgi?id=85633
+ by mihnea, reviewed by hyatt.
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::RenderFlowThread):
+
+2012-08-27 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
+ https://bugs.webkit.org/show_bug.cgi?id=94386
+
+ Reviewed by Stephen White.
+
+ Before this change, there was no global bound on memory that could be
+ consumed for the purpose of recording 2d canvas deferred draw commands.
+ There was only a per canvas limit. It is possible for canvases to get
+ dereferenced without flushing pending draw commands, which may lock
+ resources until the canvas element is garbage collected. This makes
+ it possible to grow memory consumption indefinitely by hitting reload
+ successively on some canvas-intensive web pages.
+
+ The solution implemented in this change consists in maintaining a
+ global registry of deferred canvas layers and tracking the sum of
+ memory allocated by all canvases for the purpose of storing deferred
+ draw commands. When memory consumption reaches the allowed limit,
+ caches are cleared and draw operations are flushed on one or several
+ canvases, starting with the least recently used, until memory
+ consumption is below a target level.
+
+ New tests: webkit_unit_tests DeferredLayerManagerTest*
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged):
+ Overloaded from SkDeferredCanvas::NotificationClient. Called when
+ there is a change in the number of bytes allocated by the deferred
+ canvas.
+ (WebCore):
+ (WebCore::Canvas2DLayerBridge::flushedDrawCommands):
+ Overloaded from SkDeferredCanvas::NotificationClient. Called when
+ pending draw commands are flush by the deferred canvas.
+ (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
+ Called by the Canvas2DLayerManager to request the release of unlocked
+ memory resources (caches). Request is relayed to SkDeferredCanvas.
+ returns number of bytes freed.
+ (WebCore::Canvas2DLayerBridge::flush):
+ Requests that pending draw commands be flushed immediately from the
+ deferred canvas queue. Request is relayed to SkDeferredCanvas.
+ (WebCore::Canvas2DLayerBridge::contextAcquired):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::bytesAllocated):
+ (WebCore::Canvas2DLayerBridge::updateBytesAllocated):
+ * platform/graphics/chromium/Canvas2DLayerManager.cpp: Added.
+ (WebCore):
+ (WebCore::Canvas2DLayerManager::Canvas2DLayerManager):
+ (WebCore::Canvas2DLayerManager::~Canvas2DLayerManager):
+ (WebCore::Canvas2DLayerManager::init):
+ Sets the global limit for the maximum total number of bytes allocated
+ by deferred layers.
+ (WebCore::Canvas2DLayerManager::get):
+ Singleton accessor
+ (WebCore::Canvas2DLayerManager::layerDidDraw):
+ Called by Canvas2DLayerBridge to indicate that the layer was drawn to.
+ (WebCore::Canvas2DLayerManager::addLayerToList):
+ (WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged):
+ Called by Canvas2DLayerBridge to indicate thet the memory consumed by
+ the layer has changed.
+ (WebCore::Canvas2DLayerManager::layerDidFlush):
+ Called by Canvas2DLayerBridge to indicated that the pending draw
+ commands of the layer were flushed.
+ (WebCore::Canvas2DLayerManager::layerToBeDestroyed):
+ Called by Canvas2DLayerBridge upon destruction.
+ (WebCore::Canvas2DLayerManager::freeMemoryIfNecessary):
+ Called internally. Check that current memory consumption is below
+ the tolerated limit. If check fails, intiates resource releases.
+ (WebCore::Canvas2DLayerManager::removeLayerFromList):
+ (WebCore::Canvas2DLayerManager::isInList):
+ (WebCore::Canvas2DLayerManager::updateBytesAllocated):
+ * platform/graphics/chromium/Canvas2DLayerManager.h: Added.
+ (WebCore):
+ (Canvas2DLayerManager):
+
+2012-08-27 Zeno Albisser <zeno@webkit.org>
+
+ Implement GraphicsSurface::paintToTextureMapper.
+ https://bugs.webkit.org/show_bug.cgi?id=95077
+
+ Forward paintToTextureMapper call directly into
+ GraphicsSurface. This allows getting rid of platform
+ specific code in TextureMapperSurfaceBackingStore.
+
+ Reviewed by Noam Rosenthal.
+
+ * platform/graphics/surfaces/GraphicsSurface.cpp:
+ (WebCore::GraphicsSurface::paintToTextureMapper):
+ (WebCore):
+ * platform/graphics/surfaces/GraphicsSurface.h:
+ (WebCore):
+ (GraphicsSurface):
+ * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ (WebCore):
+ * platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
+ (WebCore):
+ (WebCore::GraphicsSurface::platformPaintToTextureMapper):
+ * platform/graphics/texmap/TextureMapperBackingStore.cpp:
+ (WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
+
+2012-08-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: filter out weak references from retainers tree
+ https://bugs.webkit.org/show_bug.cgi?id=95082
+
+ Reviewed by Yury Semikhatsky.
+
+ Weak references don't retain objects.
+
+ * inspector/front-end/HeapSnapshotGridNodes.js:
+
+2012-08-27 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer][Qt] WebAudio support
+ https://bugs.webkit.org/show_bug.cgi?id=94806
+
+ Reviewed by Simon Hausmann.
+
+ Build fix after r126756 in which I forgot to add the new
+ AudioBusQt.cpp file.
+
+ * platform/audio/qt/AudioBusQt.cpp: Added.
+ (WebCore):
+ (WebCore::AudioBus::loadPlatformResource):
+
+2012-08-27 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer][Qt] WebAudio support
+ https://bugs.webkit.org/show_bug.cgi?id=94806
+
+ Reviewed by Simon Hausmann.
+
+ Build system changes to support WebAudio and its GStreamer
+ backend. A new AudioBusQt implementation is also needed to locate
+ and load local .wav files. Note: WebAudio is still disabled by default in
+ build-webkit. Use --web-audio to explicitely enable it at build time.
+
+ * DerivedSources.pri:
+ * Target.pri:
+ * WebCore.pri:
+ * WebCore.qrc:
+ * platform/audio/HRTFElevation.cpp:
+ (WebCore): Use concatenated HRTF impulse response for increased
+ performance, just like GTK, Mac and EFL ports.
+ * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Undef the
+ signals macro so gio.h can be properly included.
+ * platform/audio/qt/AudioBusQt.cpp: Added.
+ (WebCore):
+ (WebCore::AudioBus::loadPlatformResource):
+
+2012-08-27 Andreas Kling <kling@webkit.org>
+
+ REGRESSION(r126524): Heap-buffer-overflow in WebCore::StylePropertySet::copyPropertiesFrom
+ <http://webkit.org/b/95005>
+
+ Reviewed by Antti Koivisto.
+
+ Remove incorrect assertion that the StylePropertySet is empty before properties are copied
+ into it, as this is no guarantee in editing code.
+ This regressed when splitting the code into mutable/immutable paths. Covered by assertions
+ on existing tests.
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::copyPropertiesFrom):
+
+2012-08-25 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: display cause for style recalculation and layout on Timeline
+ https://bugs.webkit.org/show_bug.cgi?id=95000
+
+ Reviewed by Pavel Feldman.
+
+ Added instrumentation for didInvalidateLayout and didScheduleStyleRecalculation;
+ Dispaly stacks of the above records in Layout and Recalculate Style as "call site" stacks (need a better wording?);
+ Display synchronous Layout records in red, provide a warning that these may affect performance;
+
+ * English.lproj/localizedStrings.js: +"Note" and a warning test for sync layout;
+ * inspector/InspectorInstrumentation.cpp: Plumbing new instrumentation methods through to timeline;
+ (WebCore):
+ (WebCore::InspectorInstrumentation::didInvalidateLayoutImpl):
+ (WebCore::InspectorInstrumentation::didScheduleStyleRecalculationImpl):
+ * inspector/InspectorInstrumentation.h: ditto.
+ (InspectorInstrumentation):
+ (WebCore::InspectorInstrumentation::didInvalidateLayout):
+ (WebCore):
+ * inspector/InspectorTimelineAgent.cpp: ditto.
+ (TimelineRecordType):
+ (WebCore::InspectorTimelineAgent::didInvalidateLayout):
+ (WebCore):
+ (WebCore::InspectorTimelineAgent::didScheduleStyleRecalculation):
+ * inspector/InspectorTimelineAgent.h: ditto.
+ (InspectorTimelineAgent):
+ * inspector/front-end/TimelineModel.js:
+ * inspector/front-end/TimelinePanel.js:
+ (WebInspector.TimelineRecordListRow.prototype.update): Display records with warnings in their own style;
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel._initRecordStyles): Renamed, added new records;
+ (WebInspector.TimelinePresentationModel.recordStyle): Added new records;
+ (WebInspector.TimelinePresentationModel.prototype.reset):
+ (WebInspector.TimelinePresentationModel.prototype._innerAddRecord): Add support for new records, make 'em hidden;
+ (WebInspector.TimelinePresentationModel.Record): Add support for hidden records;
+ (WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
+ (WebInspector.TimelinePresentationModel.Record.prototype._linkifyTopCallFrame): Linkify originator's top frame if no own stack is present;
+ * inspector/front-end/timelinePanel.css:
+ (.timeline-tree-item.warning): Reddish text for records with warnings;
+ * page/FrameView.cpp:
+ (WebCore::FrameView::scheduleRelayout): Added call to InspectorInstrumentation::didInvalidateLayout()
+ (WebCore::FrameView::scheduleRelayoutOfSubtree): Ditto.
+
+2012-08-27 KyungTae Kim <ktf.kim@samsung.com>
+
+ [EFL] Wrong button height on CSS tests
+ https://bugs.webkit.org/show_bug.cgi?id=85494
+
+ Reviewed by Gyuyoung Kim.
+
+ The codes for overriding styles for buttons must be removed
+ for passing the layout test 'fast/css/button-height.html'.
+
+ The 'resetBorder' reset border style for a button (2px outset) to the initial value,
+ and it makes the size of <input type=button> different from the size of <button>.
+ ('fast/css/button-height.html' checks whether they are same.)
+
+ The 'setWhiteSpace' is not needed because the white space already set to 'PRE'.
+
+ The 'setHeight' reset the 'height' style that should not be reset.
+ ('fast/css/buttons-height.html' set the button's height style.)
+
+ Tests : fast/css/button-height.html
+ fast/css/continuationCrash.html
+ fast/css/margin-top-bottom-dynamic.html
+ fast/css/rtl-ordering.html
+ fast/dom/HTMLTextAreaElement/reset-textarea.html
+ fast/forms/basic-buttons.html
+ fast/forms/blankbuttons.html
+ fast/forms/box-shadow-override.html
+ fast/forms/button-positioned.html
+ fast/forms/button-sizes.html
+ fast/forms/button-style-color.html
+ fast/forms/button-table-styles.html
+ fast/forms/button-text-transform.html
+ fast/forms/control-restrict-line-height.html
+ fast/forms/file/file-input-direction.html
+ fast/forms/file/file-input-disabled.html
+ fast/forms/formmove3.html
+ fast/forms/input-appearance-height.html
+ fast/forms/input-button-sizes.html
+ fast/forms/input-value.html
+ fast/forms/targeted-frame-submission.html
+ fast/html/details-replace-summary-child.html
+ fast/html/details-replace-text.html
+ fast/overflow/scroll-nested-positioned-layer-in-overflow.html
+ fast/overflow/scrollRevealButton.html
+ fast/replaced/replaced-breaking.html
+ fast/replaced/width100percent-button.html
+ fast/text/textIteratorNilRenderer.html
+
+ * platform/efl/RenderThemeEfl.cpp:
+ (WebCore::RenderThemeEfl::adjustButtonStyle): No longer override CSS properties for button styling.
+
+2012-08-27 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: DOM tree search issue with quotation marks
+ https://bugs.webkit.org/show_bug.cgi?id=95065
+
+ Reviewed by Pavel Feldman.
+
+ Introduced the exact match mode for attributes (query enclosed in double quotes) where only entire attribute values
+ are matched against the search query (with the double quotes trimmed).
+
+ * inspector/InspectorDOMAgent.cpp:
+ (WebCore::InspectorDOMAgent::performSearch):
+
+2012-08-27 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Implement serializing WebGL state and replaying it later
+ https://bugs.webkit.org/show_bug.cgi?id=94933
+
+ Reviewed by Pavel Feldman.
+
+ This will allow us to save the WebGL state at any arbitrary point in order to replay a trace log later on another canvas.
+ Main points of the change:
+ - Allow every Resource and Call instances be serialized to a Replayable, and resurrected back during a replay on another canvas.
+
+ - Before executing an original WebGL call and saving it to a trace log, first serialize all the Resources that will be involved in
+ this call, if they are not yet serialized. The latter part is implemented with a Cache instance, checking that we convert a Resource
+ to a Replayable only once: the first time it was used in the trace log being collected. We do not need to serialize the subsequent
+ changes to this Resource's state (if any), since they will be saved in the trace log being collected and replayed automatically.
+
+ - Some information about the WebGL state may be requested in the runtime (e.g. with the gl.getParameter method). We use this wherever
+ possible instead of collecting Calls in a Resource log. Otherwise, we have to collect WebGL calls (like gl.texImage2D) in order to
+ replay them later.
+
+ - Later the Replayable objects hierarchy (the TraceLog) may be serialized further for cross-device transmission, for example.
+
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126694 and r126731.
+ http://trac.webkit.org/changeset/126694
+ http://trac.webkit.org/changeset/126731
+ https://bugs.webkit.org/show_bug.cgi?id=95069
+
+ Causes all pages to be rendered as a completely black page in
+ Qt WebKit2 (Requested by carewolf on #webkit).
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (SharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
+ (WebCore::TextureMapperGLData::sharedGLData):
+ (WebCore::TextureMapperGLData::TextureMapperGLData):
+ (TextureMapperGLData):
+ (WebCore::scissorClip):
+ (WebCore::TextureMapperGL::ClipStack::apply):
+ (WebCore::TextureMapperGLData::initializeStencil):
+ (WebCore::TextureMapperGL::TextureMapperGL):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::TextureMapperGL::endPainting):
+ (WebCore::TextureMapperGL::drawQuad):
+ (WebCore::TextureMapperGL::drawBorder):
+ (WebCore):
+ (WebCore::TextureMapperGL::drawTextureRectangleARB):
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::viewportMatrix):
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::BitmapTextureGL::updateContents):
+ (WebCore::TextureMapperGL::drawFiltered):
+ (WebCore::BitmapTextureGL::initializeStencil):
+ (WebCore::BitmapTextureGL::clearIfNeeded):
+ (WebCore::BitmapTextureGL::createFboIfNeeded):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::BitmapTextureGL::~BitmapTextureGL):
+ (WebCore::TextureMapperGL::bindDefaultSurface):
+ (WebCore::TextureMapperGL::beginScissorClip):
+ (WebCore::TextureMapperGL::beginClip):
+ (WebCore::TextureMapperGL::endClip):
+ (WebCore::TextureMapperGL::createTexture):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (TextureMapperGL):
+ (ClipStack):
+ (WebCore::BitmapTextureGL::textureTarget):
+ (BitmapTextureGL):
+ (WebCore::BitmapTextureGL::BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::initializeProgram):
+ (WebCore::TextureMapperShaderProgram::getUniformLocation):
+ (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask):
+ (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
+ (WebCore::StandardFilterProgram::~StandardFilterProgram):
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+ (WebCore::StandardFilterProgram::create):
+ (WebCore::StandardFilterProgram::prepare):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (WebCore::TextureMapperShaderProgram::id):
+ (WebCore::TextureMapperShaderProgram::vertexAttrib):
+ (TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::matrixLocation):
+ (WebCore::TextureMapperShaderProgram::flipLocation):
+ (WebCore::TextureMapperShaderProgram::textureSizeLocation):
+ (WebCore::TextureMapperShaderProgram::sourceTextureLocation):
+ (WebCore::TextureMapperShaderProgram::maskTextureLocation):
+ (WebCore::TextureMapperShaderProgram::opacityLocation):
+ (WebCore::TextureMapperShaderProgram::isValidUniformLocation):
+ (StandardFilterProgram):
+ (WebCore::StandardFilterProgram::vertexAttrib):
+ (WebCore::StandardFilterProgram::texCoordAttrib):
+ (WebCore::StandardFilterProgram::textureUniform):
+ (WebCore::TextureMapperShaderProgramSimple::create):
+ (TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramRectSimple::create):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create):
+ (WebCore::TextureMapperShaderProgramSolidColor::create):
+ (WebCore::TextureMapperShaderProgramSolidColor::colorLocation):
+ (TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation):
+ (TextureMapperShaderProgramAntialiasingNoMask):
+
+2012-08-27 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: HeapSnapshot: filter weak links in markQueriableHeapObjects and two other minor fixes.
+ https://bugs.webkit.org/show_bug.cgi?id=95068
+
+ Reviewed by Yury Semikhatsky.
+
+ - count shortcuts as normal links in distance;
+ shortcuts help us to show object properties without exposing internal scope object
+ - set initial distance to 1 instead of 0
+ the initial value for window was 0 and bfs counted the window object as not visited.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
+ (WebInspector.HeapSnapshot.prototype._bfs):
+ (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126694 and r126731.
+ http://trac.webkit.org/changeset/126694
+ http://trac.webkit.org/changeset/126731
+ https://bugs.webkit.org/show_bug.cgi?id=95069
+
+ Causes all pages to be rendered as a completely black page in
+ Qt WebKit2 (Requested by carewolf on #webkit).
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (SharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
+ (WebCore::TextureMapperGLData::sharedGLData):
+ (WebCore::TextureMapperGLData::TextureMapperGLData):
+ (TextureMapperGLData):
+ (WebCore::scissorClip):
+ (WebCore::TextureMapperGL::ClipStack::apply):
+ (WebCore::TextureMapperGLData::initializeStencil):
+ (WebCore::TextureMapperGL::TextureMapperGL):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::TextureMapperGL::endPainting):
+ (WebCore::TextureMapperGL::drawQuad):
+ (WebCore::TextureMapperGL::drawBorder):
+ (WebCore):
+ (WebCore::TextureMapperGL::drawTextureRectangleARB):
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::viewportMatrix):
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::BitmapTextureGL::updateContents):
+ (WebCore::TextureMapperGL::drawFiltered):
+ (WebCore::BitmapTextureGL::initializeStencil):
+ (WebCore::BitmapTextureGL::clearIfNeeded):
+ (WebCore::BitmapTextureGL::createFboIfNeeded):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::BitmapTextureGL::~BitmapTextureGL):
+ (WebCore::TextureMapperGL::bindDefaultSurface):
+ (WebCore::TextureMapperGL::beginScissorClip):
+ (WebCore::TextureMapperGL::beginClip):
+ (WebCore::TextureMapperGL::endClip):
+ (WebCore::TextureMapperGL::createTexture):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (TextureMapperGL):
+ (ClipStack):
+ (WebCore::BitmapTextureGL::textureTarget):
+ (BitmapTextureGL):
+ (WebCore::BitmapTextureGL::BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::initializeProgram):
+ (WebCore::TextureMapperShaderProgram::getUniformLocation):
+ (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask):
+ (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
+ (WebCore::StandardFilterProgram::~StandardFilterProgram):
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+ (WebCore::StandardFilterProgram::create):
+ (WebCore::StandardFilterProgram::prepare):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (WebCore::TextureMapperShaderProgram::id):
+ (WebCore::TextureMapperShaderProgram::vertexAttrib):
+ (TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::matrixLocation):
+ (WebCore::TextureMapperShaderProgram::flipLocation):
+ (WebCore::TextureMapperShaderProgram::textureSizeLocation):
+ (WebCore::TextureMapperShaderProgram::sourceTextureLocation):
+ (WebCore::TextureMapperShaderProgram::maskTextureLocation):
+ (WebCore::TextureMapperShaderProgram::opacityLocation):
+ (WebCore::TextureMapperShaderProgram::isValidUniformLocation):
+ (StandardFilterProgram):
+ (WebCore::StandardFilterProgram::vertexAttrib):
+ (WebCore::StandardFilterProgram::texCoordAttrib):
+ (WebCore::StandardFilterProgram::textureUniform):
+ (WebCore::TextureMapperShaderProgramSimple::create):
+ (TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramRectSimple::create):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create):
+ (WebCore::TextureMapperShaderProgramSolidColor::create):
+ (WebCore::TextureMapperShaderProgramSolidColor::colorLocation):
+ (TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation):
+ (TextureMapperShaderProgramAntialiasingNoMask):
+
+2012-08-27 Christophe Dumez <christophe.dumez@intel.com>
+
+ Regression(r126721): bindings-tests results need to be updated
+ https://bugs.webkit.org/show_bug.cgi?id=95060
+
+ Reviewed by Kentaro Hara.
+
+ Regenerate bindings-tests results after r126721. This change
+ removed the NULL checks from visitChildren functions.
+
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::JSTestObj::visitChildren):
+ * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
+ (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
+
+2012-08-24 Alexander Pavlov <apavlov@chromium.org>
+
+ Web Inspector: Incorrect property override computation when !important is involved
+ https://bugs.webkit.org/show_bug.cgi?id=94923
+
+ Reviewed by Vsevolod Vlasov.
+
+ The cascade of !important properties was totally wrong if a property was listed as !important first and as non-!important later on.
+
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
+ (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ Module 'protocolhandler' is renamed to 'navigatorcontentutils'.
+
+ No new tests as there is no new functionality.
+
+ * CMakeLists.txt:
+ * Configurations/FeatureDefines.xcconfig:
+ * GNUmakefile.am:
+ * GNUmakefile.features.am:
+ * GNUmakefile.list.am:
+ * Modules/navigatorcontentutils/NavigatorContentUtils.cpp: Renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp.
+ (WebCore):
+ (WebCore::initProtocolHandlerWhitelist):
+ (WebCore::verifyCustomHandlerURL):
+ (WebCore::isProtocolWhitelisted):
+ (WebCore::verifyProtocolHandlerScheme):
+ (WebCore::NavigatorContentUtils::from):
+ (WebCore::NavigatorContentUtils::~NavigatorContentUtils):
+ (WebCore::NavigatorContentUtils::create):
+ (WebCore::NavigatorContentUtils::registerProtocolHandler):
+ (WebCore::customHandlersStateString):
+ (WebCore::NavigatorContentUtils::isProtocolHandlerRegistered):
+ (WebCore::NavigatorContentUtils::unregisterProtocolHandler):
+ (WebCore::NavigatorContentUtils::supplementName):
+ (WebCore::provideNavigatorContentUtilsTo):
+ * Modules/navigatorcontentutils/NavigatorContentUtils.h: Renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.h.
+ (WebCore):
+ (NavigatorContentUtils):
+ (WebCore::NavigatorContentUtils::NavigatorContentUtils):
+ (WebCore::NavigatorContentUtils::client):
+ * Modules/navigatorcontentutils/NavigatorContentUtils.idl: Renamed from Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl.
+ * Modules/navigatorcontentutils/NavigatorContentUtilsClient.h: Renamed from Source/WebCore/Modules/protocolhandler/RegisterProtocolHandlerClient.h.
+ (WebCore):
+ (NavigatorContentUtilsClient):
+ (WebCore::NavigatorContentUtilsClient::~NavigatorContentUtilsClient):
+ * Target.pri:
+ * WebCore.gyp/WebCore.gyp:
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.vcproj/WebCoreCommon.vsprops:
+ * WebCore.vcproj/copyForwardingHeaders.cmd:
+
+2012-08-27 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] REGRESSION(r126694): It broke the debug build
+ https://bugs.webkit.org/show_bug.cgi?id=95037
+
+ Unreviewed trivial build fix for debug builds.
+
+ Don't pass WTFStrings through printf, use .ascii().data().
+
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+
+2012-08-26 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Focus style of millisecond field in multiple fields time input UI is different from other fields
+ https://bugs.webkit.org/show_bug.cgi?id=95046
+
+ Reviewed by Kent Tamura.
+
+ This patch fixes typo for input::-webkit-datetime-edit-millisecond-field:focus
+ selector to make all fields of multiple fields time input UI have same
+ style on focus.
+
+ Test: fast/forms/time-multiple-fields/time-multiple-fields-focus-style.html
+
+ * css/html.css: Fix typo for selector input::-webkit-datetime-edit-millisecond-field:focus
+
+2012-08-26 Nico Weber <thakis@chromium.org>
+
+ Initialized m_hasNonEmptyList to fix a valgrind uninitialized read
+ https://bugs.webkit.org/show_bug.cgi?id=95045
+
+ Reviewed by Kent Tamura.
+
+ Conditional jump or move depends on uninitialised value(s)
+ WebCore::HTMLInputElement::dataList() const (third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:1523)
+ WebCore::RangeInputType::updateTickMarkValues() (third_party/WebKit/Source/WebCore/html/RangeInputType.cpp:351)
+ WebCore::RangeInputType::findClosestTickMarkValue(WebCore::Decimal const&) (third_party/WebKit/Source/WebCore/html/RangeInputType.cpp:370)
+ WebCore::HTMLInputElement::findClosestTickMarkValue(WebCore::Decimal const&) (third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:324)
+ WebCore::SliderThumbElement::setPositionFromPoint(WebCore::FractionalLayoutPoint const&) (third_party/WebKit/Source/WebCore/html/shadow/SliderThumbElement.cpp:296)
+ WebCore::SliderThumbElement::dragFrom(WebCore::FractionalLayoutPoint const&) (third_party/WebKit/Source/WebCore/html/shadow/SliderThumbElement.cpp:246)
+ WebCore::RangeInputType::handleMouseDownEvent(WebCore::MouseEvent*) (third_party/WebKit/Source/WebCore/html/RangeInputType.cpp:159)
+ WebCore::HTMLInputElement::defaultEventHandler(WebCore::Event*) (third_party/WebKit/Source/WebCore/html/HTMLInputElement.cpp:1163)
+ WebCore::MediaControlTimelineElement::defaultEventHandler(WebCore::Event*) (third_party/WebKit/Source/WebCore/html/shadow/MediaControlElements.cpp:916)
+ WebCore::EventDispatcher::dispatchEventPostProcess(WTF::PassRefPtr<WebCore::Event>, void*) (third_party/WebKit/Source/WebCore/dom/EventDispatcher.cpp:357)
+ WebCore::EventDispatcher::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) (third_party/WebKit/Source/WebCore/dom/EventDispatcher.cpp:263)
+ WebCore::MouseEventDispatchMediator::dispatchEvent(WebCore::EventDispatcher*) const (third_party/WebKit/Source/WebCore/dom/MouseEvent.cpp:238)
+ WebCore::EventDispatcher::dispatchEvent(WebCore::Node*, WTF::PassRefPtr<WebCore::EventDispatchMediator>) (third_party/WebKit/Source/WebCore/dom/EventDispatcher.cpp:129)
+ ...
+ The report came from the `media/audio-delete-while-slider-thumb-clicked.html'--pixel-test` test.
+
+ * html/HTMLInputElement.cpp:
+ (WebCore::HTMLInputElement::HTMLInputElement):
+ (WebCore::HTMLInputElement::dataList):
+
+2012-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Removed the NULL checks from visitChildren functions
+ https://bugs.webkit.org/show_bug.cgi?id=95021
+
+ Reviewed by Oliver Hunt.
+
+ As of http://trac.webkit.org/changeset/126624, all values are NULL-checked
+ during GC, so explicit NULL checks aren't needed anymore.
+
+2012-08-26 Geoffrey Garen <ggaren@apple.com>
+
+ Removed a JSC-specific hack from the web inspector
+ https://bugs.webkit.org/show_bug.cgi?id=95033
+
+ Reviewed by Filip Pizlo.
+
+ The hack was never reviewed. If it had been, I suspect it would have
+ gotten an r- for making weird assumptions about the engine's implimentation.
+
+ * inspector/InjectedScriptSource.js: It's not sound to assume that an
+ object has no properties except for "arguments" if and only if it's an
+ activation: non-activations can have a property named "arguments", and
+ activations can optimize out "arguments".
+
+2012-08-26 Christopher Cameron <ccameron@chromium.org>
+
+ [chromium] Fix a bug where CCThreadProxy::canDraw() gets stuck at false on tab switch
+ https://bugs.webkit.org/show_bug.cgi?id=94903
+
+ Reviewed by James Robinson.
+
+ Suppose the impl thread deletes all textures via
+ releaseContentsTextures(). The impl thread will not be able to draw
+ again until resetContentsTexturesPurged() is called in
+ scheduledActionCommit(). When deleting the textures, the function
+ releaseContentsTextures() calls setNeedsCommitOnImplThread() to ensure
+ that a commit will come along to allow drawing again. If this commit
+ is aborted, then the page will not draw until a commit is scheduled,
+ which may be never.
+
+ Make beginFrameAborted() call setNeedsCommit(), so that the requested
+ commit will eventually occur.
+
+ No new tests, update to CCSchedulerStateMachineTest's
+ TestGoesInvisibleBeforeBeginFrameCompletes to require new
+ functionality (new test fails with old behavior).
+
+ * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
+ (WebCore::CCSchedulerStateMachine::beginFrameAborted):
+
+2012-08-26 Antti Koivisto <antti@apple.com>
+
+ Remove parent pointer from StyleSheetContents and StyleRuleImport
+ https://bugs.webkit.org/show_bug.cgi?id=94926
+
+ Reviewed by Andreas Kling.
+
+ To be able to cache and share @imported stylesheets in the future there must not be any parent
+ pointers in the stylesheet tree.
+
+ Parent pointers are used during loading to invoke load completion callbacks and for
+ accessing document context information (like the security origin). They are not used after
+ the sheet load is complete. Instead of keeping the parent pointers around indefinitely as part of the
+ stylesheet data structure we just keep a pointer to the root CSSStyleSheet for the duration of the load.
+
+ This patch doesn't enable any new caching or generally change the behavior.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::insertRule):
+ (WebCore::CSSStyleSheet::rootStyleSheet):
+ (WebCore):
+ (WebCore::CSSStyleSheet::ownerDocument):
+ * css/CSSStyleSheet.h:
+ (CSSStyleSheet):
+ * css/StyleRuleImport.cpp:
+ (WebCore::StyleRuleImport::LoadContext::LoadContext):
+
+ Simplify by making StyleRuleImport CachedStyleSheetClient directly. LoadContext contains
+ fields that can be thrown away after load completes.
+
+ (WebCore):
+ (WebCore::StyleRuleImport::StyleRuleImport):
+ (WebCore::StyleRuleImport::~StyleRuleImport):
+ (WebCore::StyleRuleImport::setCSSStyleSheet):
+ (WebCore::StyleRuleImport::isLoading):
+ (WebCore::StyleRuleImport::hadLoadError):
+ (WebCore::StyleRuleImport::requestStyleSheet):
+ * css/StyleRuleImport.h:
+ (StyleRuleImport):
+ (LoadContext):
+ * css/StyleSheetContents.cpp:
+ (WebCore::StyleSheetContents::StyleSheetContents):
+
+ Remove now unnecessary constructor.
+
+ (WebCore::StyleSheetContents::isCacheable):
+ (WebCore::StyleSheetContents::parserAppendRule):
+ (WebCore::StyleSheetContents::clearRules):
+ (WebCore::StyleSheetContents::wrapperInsertRule):
+ (WebCore::StyleSheetContents::wrapperDeleteRule):
+ (WebCore::StyleSheetContents::requestImportedStyleSheets):
+ (WebCore):
+ (WebCore::StyleSheetContents::parseAuthorStyleSheet):
+ (WebCore::StyleSheetContents::parseStringAtLine):
+ (WebCore::StyleSheetContents::checkImportedSheetLoadCompleted):
+ (WebCore::StyleSheetContents::checkLoadCompleted):
+ (WebCore::StyleSheetContents::getAncestors):
+ (WebCore::StyleSheetContents::hasImportCycle):
+
+ Move the cycle checking to the root stylesheet so we don't need to pass the entire chain around.
+ The extra work here is unlikely to cause problems, massive import trees don't really occur in
+ practice.
+
+ * css/StyleSheetContents.h:
+ (WebCore::StyleSheetContents::create):
+ (StyleSheetContents):
+ * dom/ProcessingInstruction.cpp:
+ (WebCore::ProcessingInstruction::parseStyleSheet):
+ * dom/StyleElement.cpp:
+ (WebCore::StyleElement::createSheet):
+ * html/HTMLLinkElement.cpp:
+ (WebCore::HTMLLinkElement::setCSSStyleSheet):
+
+2012-08-26 Andreas Kling <kling@webkit.org>
+
+ Avoid pointless string/number round-trip in applyRelativeFontStyleChange().
+ <http://webkit.org/b/95031>
+
+ Reviewed by Dan Bernstein.
+
+ Create a CSS_PX primitive value directly instead of passing String::number(foo) + "px" to the CSS parser.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
+
+2012-08-26 Gavin Peters <gavinp@chromium.org>
+
+ Prerenderering should gracefully handle no PrerendererClient or PrerenderingPlatform being provided.
+ https://bugs.webkit.org/show_bug.cgi?id=95036
+
+ Reviewed by Adam Barth.
+
+ Some assertions made sure there was a prerendering platform and client, and this change should make prerendering just be a NOP when no platform is provided, and just continue without a client when there is no client provided. These assertions were causing crashes in chromium's content_shell target, and really for no good reason.
+
+ No new tests, because DumpRenderTree provides both a PrerenderingPlatform and a PrerendererClient. But there is a new layout test in chromium's WebKitBrowserTest for this behaviour, see http://codereview.chromium.org/10869068/
+
+ * loader/Prerenderer.cpp:
+ (WebCore::Prerenderer::Prerenderer):
+ (WebCore::Prerenderer::render):
+ (WebCore::Prerenderer::client):
+ * loader/Prerenderer.h:
+ * loader/PrerendererClient.cpp:
+ (WebCore::PrerendererClient::from):
+ * platform/chromium/Prerender.cpp:
+ (WebCore::Prerender::cancel):
+
+2012-08-26 David Barton <dbarton@mathscribe.com>
+
+ Streamline mathml.css
+ https://bugs.webkit.org/show_bug.cgi?id=95039
+
+ Reviewed by Dan Bernstein.
+
+ Remove 3 no-op { margin: 0px } declarations, and combine several { display: inline-block } ones.
+
+ Tested by existing tests.
+
+ * css/mathml.css:
+ (math):
+ (mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot):
+ (mrow, mfenced):
+ (msubsup > *):
+ (mo, mn, mi, mtext):
+ (annotation, annotation-xml):
+ (msqrt):
+ (mroot):
+
+2012-08-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: make ConsoleView listen to the JavaScriptContextManager
+ https://bugs.webkit.org/show_bug.cgi?id=94940
+
+ Reviewed by Vsevolod Vlasov.
+
+ Otherwise, model is pushing data into the UI.
+
+ * inspector/front-end/ConsoleMessage.js:
+ (WebInspector.ConsoleMessageImpl.prototype.clone):
+ * inspector/front-end/ConsoleView.js:
+ (WebInspector.ConsoleView.prototype._contextAdded):
+ (WebInspector.ConsoleView.prototype._addContext):
+ (WebInspector.ConsoleView.prototype._contextRemoved):
+ * inspector/front-end/JavaScriptContextManager.js:
+ (WebInspector.JavaScriptContextManager):
+ (WebInspector.JavaScriptContextManager.prototype.contexts):
+ (WebInspector.JavaScriptContextManager.prototype._frameAdded):
+ (WebInspector.JavaScriptContextManager.prototype._frameDetached):
+ * inspector/front-end/ParsedURL.js:
+ (WebInspector.ParsedURL.completeURL):
+ (WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):
+ * inspector/front-end/inspector.js:
+
+2012-08-26 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: provide "show function definition" and "reveal in elements panel" using context menu provider.
+ https://bugs.webkit.org/show_bug.cgi?id=94932
+
+ Reviewed by Vsevolod Vlasov.
+
+ Moved corresponding context menu providers into scripts and elements panels.
+
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/ElementsPanel.js:
+ (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
+ (WebInspector.ElementsPanel.prototype.appendApplicableItems.selectNode):
+ (WebInspector.ElementsPanel.prototype.appendApplicableItems.revealElement):
+ (WebInspector.ElementsPanel.prototype.appendApplicableItems):
+ * inspector/front-end/ElementsPanelDescriptor.js: Copied from Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js.
+ (WebInspector.ElementsPanelDescriptor):
+ (WebInspector.ElementsPanelDescriptor.prototype.appendApplicableItems):
+ * inspector/front-end/ObjectPropertiesSection.js:
+ (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
+ (WebInspector.ObjectPropertyTreeElement.prototype.update):
+ (WebInspector.ObjectPropertyTreeElement.prototype._contextMenuFired):
+ * inspector/front-end/ScriptsPanel.js:
+ (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
+ (WebInspector.ScriptsPanel.prototype._appendUISourceCodeItems):
+ (WebInspector.ScriptsPanel.prototype._appendFunctionItems.didGetDetails):
+ (WebInspector.ScriptsPanel.prototype._appendFunctionItems.revealFunction):
+ (WebInspector.ScriptsPanel.prototype._appendFunctionItems):
+ * inspector/front-end/ScriptsPanelDescriptor.js:
+ (WebInspector.ScriptsPanelDescriptor.prototype.appendApplicableItems):
+ * inspector/front-end/WebKit.qrc:
+ * inspector/front-end/inspector.html:
+ * inspector/front-end/inspector.js:
+ (WebInspector._panelDescriptors):
+
+2012-08-26 Joe Mason <jmason@rim.com>
+
+ [BlackBerry] Stop leaking a pthread_attr in CookieDatabaseBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=95029
+
+ Reviewed by Rob Buis.
+
+ No new tests (no behaviour change)
+ RIM PR 198519
+
+ * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
+ (WebCore::CookieDatabaseBackingStore::CookieDatabaseBackingStore): use pthread_attr_default
+ instead of pthread_attr_init
+
+2012-08-25 David Barton <dbarton@mathscribe.com>
+
+ Remove { vertical-align: baseline } declarations from mathml.css
+ https://bugs.webkit.org/show_bug.cgi?id=95015
+
+ Reviewed by Eric Seidel.
+
+ The { vertical-align: baseline } declarations in mathml.css had no positive effect, and could
+ wrongly override a previous { vertical-align: sub } or { vertical-align: super } declaration.
+
+ Added 1 test to mathml/presentation/subsup.xhtml.
+
+ * css/mathml.css:
+ (math):
+ (mrow, mfenced):
+ (msub, msup):
+ (msubsup):
+ (munder, mover, munderover):
+ - Remove { vertical-align: baseline } declarations
+
+2012-08-25 Roland Takacs <rtakacs@inf.u-szeged.hu>, Helder Correia <helder.correia@nokia.com>
+
+ [Texmap] Move TextureMapperGL to use GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=78672
+
+ Reviewed by Noam Rosenthal.
+
+ It is based on a previous patch by Helder Correia.
+
+ TextureMapperGL (TMGL) includes direct GL calls and
+ GraphicsContext3D (GC3D) offers many conveniences over the
+ former approach: using existing CSS shader code, ANGLE for
+ shader compilation, reusing WebCore::Texture, having shaders and
+ textures that can delete themselves.
+
+ A GC3D object is created by TMGL with the newly introduced
+ builder createForCurrentGLContext(), which in turn uses
+ the new RenderToCurrentGLContext flag underneath.
+
+ TMGL's dependency on OpenGLShims.h was completely removed.
+ However, GC3D does not map every single GL constant. Thus, it's
+ important to document the following:
+ - GL_FALSE was mapped to false.
+ - GL_UNPACK_ROW_LENGTH, GL_UNPACK_SKIP_PIXELS,
+ GL_UNPACK_SKIP_ROWS, GL_TEXTURE_RECTANGLE_ARB, and
+ GL_UNSIGNED_INT_8_8_8_8_REV were locally defined in TMGL.
+
+ The patch was originally developed by Helder Correia and finished
+ by Roland Takacs.
+
+ No new tests, refactoring.
+
+ * platform/graphics/GraphicsContext3D.h:
+ * platform/graphics/texmap/TextureMapperGL.cpp:
+ (SharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
+ (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
+ (WebCore::TextureMapperGLData::sharedGLData):
+ (WebCore::TextureMapperGLData::TextureMapperGLData):
+ (TextureMapperGLData):
+ (WebCore::scissorClip):
+ (WebCore::TextureMapperGL::ClipStack::apply):
+ (WebCore::TextureMapperGLData::initializeStencil):
+ (WebCore::TextureMapperGL::TextureMapperGL):
+ (WebCore::TextureMapperGL::beginPainting):
+ (WebCore::TextureMapperGL::endPainting):
+ (WebCore::TextureMapperGL::drawQuad):
+ (WebCore::TextureMapperGL::drawBorder):
+ (WebCore):
+ (WebCore::TextureMapperGL::drawTextureRectangleARB):
+ (WebCore::TextureMapperGL::drawTexture):
+ (WebCore::viewportMatrix):
+ (WebCore::TextureMapperGL::drawTextureWithAntialiasing):
+ (WebCore::TextureMapperGL::drawTexturedQuadWithProgram):
+ (WebCore::BitmapTextureGL::didReset):
+ (WebCore::BitmapTextureGL::updateContents):
+ (WebCore::TextureMapperGL::drawFiltered):
+ (WebCore::BitmapTextureGL::initializeStencil):
+ (WebCore::BitmapTextureGL::clearIfNeeded):
+ (WebCore::BitmapTextureGL::createFboIfNeeded):
+ (WebCore::BitmapTextureGL::bind):
+ (WebCore::BitmapTextureGL::~BitmapTextureGL):
+ (WebCore::TextureMapperGL::bindDefaultSurface):
+ (WebCore::TextureMapperGL::beginScissorClip):
+ (WebCore::TextureMapperGL::beginClip):
+ (WebCore::TextureMapperGL::endClip):
+ (WebCore::TextureMapperGL::createTexture):
+ * platform/graphics/texmap/TextureMapperGL.h:
+ (WebCore::TextureMapperGL::graphicsContext3D):
+ (TextureMapperGL):
+ (ClipStack):
+ (WebCore::BitmapTextureGL::textureTarget):
+ (BitmapTextureGL):
+ (WebCore::BitmapTextureGL::BitmapTextureGL):
+ * platform/graphics/texmap/TextureMapperShaderManager.cpp:
+ (WebCore):
+ (WebCore::TextureMapperShaderManager::getShaderProgram):
+ (WebCore::TextureMapperShaderProgram::TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::initializeProgram):
+ (WebCore::TextureMapperShaderProgram::getUniformLocation):
+ (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask):
+ (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
+ (WebCore::StandardFilterProgram::~StandardFilterProgram):
+ (WebCore::StandardFilterProgram::StandardFilterProgram):
+ (WebCore::StandardFilterProgram::create):
+ (WebCore::StandardFilterProgram::prepare):
+ (WebCore::TextureMapperShaderManager::getShaderForFilter):
+ * platform/graphics/texmap/TextureMapperShaderManager.h:
+ (WebCore::TextureMapperShaderProgram::id):
+ (WebCore::TextureMapperShaderProgram::vertexAttrib):
+ (TextureMapperShaderProgram):
+ (WebCore::TextureMapperShaderProgram::matrixLocation):
+ (WebCore::TextureMapperShaderProgram::flipLocation):
+ (WebCore::TextureMapperShaderProgram::textureSizeLocation):
+ (WebCore::TextureMapperShaderProgram::sourceTextureLocation):
+ (WebCore::TextureMapperShaderProgram::maskTextureLocation):
+ (WebCore::TextureMapperShaderProgram::opacityLocation):
+ (WebCore::TextureMapperShaderProgram::isValidUniformLocation):
+ (StandardFilterProgram):
+ (WebCore::StandardFilterProgram::vertexAttrib):
+ (WebCore::StandardFilterProgram::texCoordAttrib):
+ (WebCore::StandardFilterProgram::textureUniform):
+ (WebCore::TextureMapperShaderProgramSimple::create):
+ (TextureMapperShaderProgramSimple):
+ (WebCore::TextureMapperShaderProgramRectSimple::create):
+ (TextureMapperShaderProgramRectSimple):
+ (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
+ (TextureMapperShaderProgramOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramRectOpacityAndMask::create):
+ (TextureMapperShaderProgramRectOpacityAndMask):
+ (WebCore::TextureMapperShaderProgramSolidColor::create):
+ (WebCore::TextureMapperShaderProgramSolidColor::colorLocation):
+ (TextureMapperShaderProgramSolidColor):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::create):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadVerticesInTextureCoordinatesLocation):
+ (WebCore::TextureMapperShaderProgramAntialiasingNoMask::expandedQuadEdgesInScreenSpaceLocation):
+ (TextureMapperShaderProgramAntialiasingNoMask):
+ (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
+ (TextureMapperShaderManager):
+
+2012-08-25 Philip Rogers <pdr@google.com>
+
+ Roll out r126056 and r126626
+ https://bugs.webkit.org/show_bug.cgi?id=95017
+
+ Reviewed by Dirk Schulze.
+
+ This patch rolls out r126056 which regressed a test.
+ The getBBox() code removed turns out to be required for tight bounding
+ boxes in SVGPathElement::getBBox().
+
+ When this regression occurred the relevant test was skipped in r126626. This
+ patch reverts that skip.
+
+ No new tests.
+
+ * svg/SVGPathElement.cpp:
+ (WebCore::SVGPathElement::getBBox):
+ (WebCore):
+ * svg/SVGPathElement.h:
+ (SVGPathElement):
+
+2012-08-25 Adam Barth <abarth@webkit.org>
+
+ [V8] V8NodeFilterCondition should use ScopedPersistent
+ https://bugs.webkit.org/show_bug.cgi?id=95010
+
+ Reviewed by Eric Seidel.
+
+ V8NodeFilterCondition just re-implements ScopedPersistent by hand.
+
+ * bindings/v8/V8NodeFilterCondition.cpp:
+ (WebCore::V8NodeFilterCondition::V8NodeFilterCondition):
+ (WebCore::V8NodeFilterCondition::~V8NodeFilterCondition):
+ (WebCore::V8NodeFilterCondition::acceptNode):
+ * bindings/v8/V8NodeFilterCondition.h:
+ (WebCore):
+ (V8NodeFilterCondition):
+ (WebCore::V8NodeFilterCondition::create):
+
+2012-07-18 Robert Hogan <robert@webkit.org>
+
+ Tables with just border-style set on the cells do not get a grid
+ https://bugs.webkit.org/show_bug.cgi?id=84286
+
+ Reviewed by Julien Chaffraix.
+
+ This is happening because every cell gets a zero-width border in createSharedCellStyle() if the table border is not explictly set.
+ FF and Opera don't do this, so leave the cell's border alone if there is no table border explicitly set.
+
+ Test: fast/css/table-rules-attribute-none-with-cell-borders.html
+
+ * html/HTMLTableElement.cpp:
+ (WebCore::HTMLTableElement::createSharedCellStyle):
+ * rendering/RenderTreeAsText.cpp:
+ (WebCore::RenderTreeAsText::writeRenderObject): Without this we would end up rebaselining a bunch of tests to report 'border: []'
+ rather than 'border: [none]'. The problem here was that writeRenderObject would only report the first border if it differed from
+ BorderValue(). What we want is for it to report the first border always and then any borders after that if they differ.
+
+2012-08-25 Andrey Kosyakov <caseq@chromium.org>
+
+ Web Inspector: missing time ruler in Timeline and Network panels
+ https://bugs.webkit.org/show_bug.cgi?id=95001
+
+ Reviewed by Pavel Feldman.
+
+ Fixed a call site for Calculator.boundarySpan(), which is now a function rather than a property.
+
+ * inspector/front-end/TimelineGrid.js:
+ (WebInspector.TimelineGrid.prototype.updateDividers):
+
+2012-08-25 Michelangelo De Simone <michelangelo@webkit.org>
+
+ [Crash] Null pointer in CSSParser::parseMixFunction()
+ https://bugs.webkit.org/show_bug.cgi?id=94998
+
+ Reviewed by Benjamin Poulain.
+
+ parseMixFunction() may try to access invalid memory when the arguments of the
+ mix() function are comma-terminated.
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::parseMixFunction):
+
+2012-08-24 Helder Correia <helder.correia@nokia.com>
+
+ [Texmap] Move TextureMapperGL to use GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=78672
+
+ Reviewed by Noam Rosenthal.
+
+ Introducing a new GraphicsContext3D::texImage2DDirect() to allow
+ initialization of textures without allocation. The existing
+ textImage2D() refuses a null pixel buffer, and
+ texImage2DResourceSafe() allows it but performs memory
+ allocation and zeroes the bits. This was not fast enough for
+ BitmapTextureGL frequent setting up.
+
+ No new tests, refactoring.
+
+ * platform/graphics/GraphicsContext3D.h:
+ (GraphicsContext3D):
+ * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
+ (WebCore::GraphicsContext3D::texImage2D):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
+ (WebCore::GraphicsContext3D::texImage2DDirect):
+ (WebCore):
+ * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
+ (WebCore::GraphicsContext3D::texImage2D):
+
+2012-08-24 Roger Fong <roger_fong@apple.com>
+
+ -webkit-font-smoothing: antialiased should use CG font rendering code path, not GDI
+ https://bugs.webkit.org/show_bug.cgi?id=54004
+ <rdar://problem/8971429>
+
+ Reviewed by Dan Bernstein.
+
+ When specifying -webkit-font-smoothing: antialised; the code path ends up using GDI to draw the text.
+ GDI ends up drawing subpixel antialiased text, not aliased text anyways.
+ The CG code path also has the capability of drawing antialiased text. The reason that the GDI path was
+ used in the first place is no longer a concern here so we can stop using the GDI code path.
+
+ * platform/graphics/win/FontCGWin.cpp: Removing GDI font drawing code path.
+ (WebCore):
+ (WebCore::Font::drawGlyphs):
+
+2012-08-24 Sami Kyostila <skyostil@chromium.org>
+
+ Add support for compositing the contents of overflow:scroll areas
+ https://bugs.webkit.org/show_bug.cgi?id=91117
+
+ Reviewed by Simon Fraser.
+
+ Patch by Simon Fraser with modifications by Sami Kyostila and Ian Vollick.
+
+ Allow a RenderLayer which exists for overflow scrolling
+ to use a composited layer for the scrolled contents, which
+ allows for compositing-accelerated overflow scrolling.
+
+ Tests:
+ compositing/overflow/clipping-ancestor-with-accelerated-scrolling-ancestor.html
+ compositing/overflow/iframe-inside-overflow-clipping.html
+ compositing/overflow/nested-scrolling.html
+ compositing/overflow/overflow-auto-with-touch-no-overflow.html
+ compositing/overflow/overflow-auto-with-touch.html
+ compositing/overflow/overflow-clip-with-accelerated-scrolling-ancestor.html
+ compositing/overflow/overflow-hidden-with-touch.html
+ compositing/overflow/overflow-overlay-with-touch-no-overflow.html
+ compositing/overflow/overflow-overlay-with-touch.html
+ compositing/overflow/overflow-scroll-with-touch-no-overflow.html
+ compositing/overflow/overflow-visible-with-touch.html
+ compositing/overflow/remove-overflow-crash.html
+ compositing/overflow/remove-overflow-crash2.html
+ compositing/overflow/scrolling-content-clip-to-viewport.html
+ compositing/overflow/textarea-scroll-touch.html
+
+ * platform/graphics/GraphicsLayerClient.h: New paint phase flag
+ used for scrolled contents. Provide a typedef for the flags
+ so that they can be ORed together.
+
+ * rendering/RenderLayer.h:
+ (WebCore::ClipRectsCache::ClipRectsCache):
+ (ClipRectsCache): In debug builds, store a m_respectingOverflowClip
+ flag so we can ASSERT later that we're fetching clip rects with the
+ same setting the rects were generated with.
+ Add new PaintLayerPaintingOverflowContents painting flag.
+
+ * rendering/RenderLayer.cpp:
+ (WebCore::RenderLayer::usesCompositedScrolling): New method returns
+ true if this layer is using composited overflow scrolling.
+ (WebCore::RenderLayer::scrollTo): Don't repaint if we're doing
+ a composited scroll.
+ (WebCore::RenderLayer::paintLayer): Pass the right flags to backgroundClipRect();
+ if we're painting scrolled contents, we don't want to take the overflow clip rect
+ into account.
+ (WebCore::RenderLayer::paintLayerContents): Ditto. Also don't do the intersectsDamageRect()
+ check if we're painting scrolled contents.
+ (WebCore::RenderLayer::updateClipRects): New parameter to tell whether to respect overflow clipping.
+ Assert if we're fetching cached rects with a different 'respect clip' flag to the one they were generated
+ with.
+ (WebCore::RenderLayer::calculateClipRects): Take the 'respectOverflowClip' flag into account
+ when computing clip rects.
+ (WebCore::RenderLayer::parentClipRects): Ditto
+ (WebCore::RenderLayer::backgroundClipRect): Ditto
+ (WebCore::RenderLayer::calculateRects): Ditto
+ (WebCore::RenderLayer::childrenClipRect): This function is called from widget code, so may use a different
+ 'respect clip rects' setting than that used for painting, so it has to compute clip rects on the fly.
+ (WebCore::RenderLayer::shouldBeNormalFlowOnly): Composited scrolling makes a layer not normal-flow only.
+
+ * rendering/RenderLayerBacking.h:
+ (RenderLayerBacking): New member variables for the layers for scrolled contents, and the scrolling
+ layer which handles the scroll offset.
+ (WebCore::RenderLayerBacking::hasScrollingLayer):
+ (WebCore::RenderLayerBacking::scrollingLayer):
+ (WebCore::RenderLayerBacking::scrollingContentsLayer):
+
+ * rendering/RenderLayerBacking.cpp:
+ (WebCore::RenderLayerBacking::~RenderLayerBacking):
+ (WebCore::RenderLayerBacking::destroyGraphicsLayers): Tear down the scrolling layers, if any.
+ (WebCore::layerOrAncestorIsTransformedOrUsingCompositedScrolling): Renamed from layerOrAncestorIsTransformed,
+ since it has to look for composited scrolling layers too.
+ (WebCore::RenderLayerBacking::shouldClipCompositedBounds): We don't want the contents of scrolling layers
+ to get clipped to the viewport.
+ (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Create scrolling layers if necessary.
+ (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Set scrolling layer geometry.
+ (WebCore::RenderLayerBacking::updateInternalHierarchy): Hook up scrolling layers.
+ (WebCore::RenderLayerBacking::updateDrawsContent): Scrolling layers affect whether the main graphics layer
+ needs to draw content.
+ (WebCore::RenderLayerBacking::updateScrollingLayers): Create or destroy scrolling layers.
+ (WebCore::RenderLayerBacking::paintingPhaseForPrimaryLayer): If we have a scrolled contents layer,
+ the main layer should not paint the foreground.
+ (WebCore::RenderLayerBacking::parentForSublayers): Sublayers are parented in the scrolling contents
+ layer if one exists.
+ (WebCore::RenderLayerBacking::setContentsNeedDisplay): Need to dirty the scrolling contents layer.
+ (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Ditto.
+ (WebCore::RenderLayerBacking::paintIntoLayer): Set the right painting flags.
+ (WebCore::RenderLayerBacking::paintContents): Only clip to the bounds if we're not painting overflow contents.
+
+2012-08-24 Florin Malita <fmalita@chromium.org>
+
+ ASSERTION FAILED: !attached() in WebCore::Node::attach()
+ https://bugs.webkit.org/show_bug.cgi?id=94650
+
+ Reviewed by Abhishek Arya.
+
+ Prevent SVGTests::handleAttributeChange() from attaching elements with detached parents.
+
+ Test: svg/custom/system-language-crash.html
+
+ * svg/SVGTests.cpp:
+ (WebCore::SVGTests::handleAttributeChange):
+
+2012-08-24 Glenn Adams <glenn@skynav.com>
+
+ CSSStyleDeclaration.cssText should not contain extraneous whitespace in final delimiter
+ https://bugs.webkit.org/show_bug.cgi?id=94633
+
+ Reviewed by Benjamin Poulain.
+
+ Ensure cssText final delimiter does not contain extraneous space character after semicolon.
+
+ Test: cssom/cssstyledeclaration-csstext-final-delimiter.html
+
+ * css/CSSFontFaceRule.cpp:
+ (WebCore::CSSFontFaceRule::cssText):
+ Conditionally add SPACE in serialized rule since asText() no longer
+ contains extra space.
+ Construct result using StringBuilder.
+
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::cssText):
+ Conditionally add SPACE in serialized rule since asText() no longer
+ contains extra space.
+ Construct result using StringBuilder.
+
+ * css/CSSProperty.cpp:
+ (WebCore::CSSProperty::cssText):
+ Ensure serialized property does longer contains extra space in cssText.
+ Construct result using StringBuilder.
+
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::cssText):
+ Conditionally add SPACE in serialized rule since asText() no longer
+ contains extra space.
+ Construct result using StringBuilder.
+
+ * css/CSSStyleSheet.cpp:
+ (WebCore::CSSStyleSheet::addRule):
+ Conditionally add SPACE in reserialized rule in case passed style no
+ longer contains extra space. Note that if it does already contain an
+ extra space that inserting an extra space here is harmless (i.e., is
+ effectively normalized during parse).
+ Construct result using StringBuilder.
+
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::asText):
+ Ensure serialized property set does longer contains extra space in final
+ delimiter.
+ Construct result using StringBuilder.
+
+ * css/WebKitCSSKeyframeRule.cpp:
+ (WebCore::StyleKeyframe::cssText):
+ Conditionally add SPACE in serialized rule since asText() no longer
+ contains extra space.
+ Construct result using StringBuilder.
+
+ * editing/ApplyStyleCommand.cpp:
+ (WebCore::ApplyStyleCommand::addBlockStyle):
+ Conditionally add SPACE in block style since cssText no longer contains
+ extra space.
+ Construct result using StringBuilder.
+ (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
+ Conditionally add SPACE in pre-existing inline style since cssText no
+ longer contains extra space.
+ Construct result using StringBuilder.
+
+2012-08-23 James Robinson <jamesr@chromium.org>
+
+ [chromium] Convert WebLayerTreeView interface into pure virtual
+ https://bugs.webkit.org/show_bug.cgi?id=94866
+
+ Reviewed by Adrienne Walker.
+
+ Renames CCLayerTreeHostClient::updateAnimations -> CCLayerTreeHostClient::animate to avoid a naming collision
+ and to better match the other imperative-sounding calls (like layout).
+
+ * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
+ (WebCore::CCLayerTreeHost::updateAnimations):
+ * platform/graphics/chromium/cc/CCLayerTreeHost.h:
+ (CCLayerTreeHostClient):
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up WebAnimation animationId/groupId generation
+ https://bugs.webkit.org/show_bug.cgi?id=94973
+
+ Reviewed by Adrienne Walker.
+
+ This gets rid of AnimationIdVendor and simplifies GraphicsLayerChromium's name<->id mapping. We only have to
+ track the IDs of animations that we have started and can let WebAnimation generate new IDs if we haven't seen
+ the name before.
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
+ * platform/graphics/chromium/AnimationIdVendor.h: Removed.
+ * platform/graphics/chromium/AnimationTranslationUtil.cpp:
+ (WebCore::createWebAnimation):
+ * platform/graphics/chromium/AnimationTranslationUtil.h:
+ (WebCore):
+ * platform/graphics/chromium/GraphicsLayerChromium.cpp:
+ (WebCore::GraphicsLayerChromium::addAnimation):
+ (WebCore::GraphicsLayerChromium::pauseAnimation):
+ (WebCore::GraphicsLayerChromium::removeAnimation):
+ * platform/graphics/chromium/GraphicsLayerChromium.h:
+
+2012-08-24 Benjamin Poulain <bpoulain@apple.com>
+
+ Populate DatabaseTracker's origins lazily on demand
+ https://bugs.webkit.org/show_bug.cgi?id=94649
+
+ Reviewed by Brady Eidson.
+
+ Previously, we would populate m_quotaMap on startup when initialializing DatabaseTracker.
+ This takes a significant amount of time and memory and it is not needed in many cases.
+
+ This patch change DatabaseTracker to invoke populateOrigins() only when needed.
+ This saves:
+ -7-15ms on startup.
+ -96Kbytes of SQLite page cache
+ -the size of m_quotaMap on that particular system.
+
+ * Modules/webdatabase/DatabaseTracker.cpp:
+ (WebCore::DatabaseTracker::DatabaseTracker):
+ (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
+ (WebCore::DatabaseTracker::populateOriginsIfNeeded):
+ (WebCore::DatabaseTracker::origins):
+ (WebCore::DatabaseTracker::quotaForOriginNoLock):
+ (WebCore::DatabaseTracker::addDatabase):
+ (WebCore::DatabaseTracker::deleteOrigin):
+ * Modules/webdatabase/DatabaseTracker.h:
+ (DatabaseTracker):
+
+2012-08-24 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove visitedLinkHash from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=94965
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * platform/chromium/LinkHashChromium.cpp:
+ (WebCore):
+ (WebCore::visitedLinkHash):
+ * platform/chromium/PlatformSupport.h:
+
+2012-08-24 Kevin Ellis <kevers@chromium.org>
+
+ [chromium] Reduce padding on popup menu entries when used on a touch screen.
+ https://bugs.webkit.org/show_bug.cgi?id=94953
+
+ Reviewed by Adam Barth.
+
+ Prior to the patch, the height of entries in a popup menu was 44px,
+ which is excessive. Reduced the padding to make the menu entries
+ 30px tall to match the wrench menu.
+
+ No new tests required.
+
+ * platform/chromium/PopupMenuChromium.cpp:
+ (WebCore):
+
+2012-08-24 Helder Correia <helder.correia@nokia.com>, Roland Takacs <rtakacs@inf.u-szeged.hu>
+
+ [Texmap] Move TextureMapperGL to use GraphicsContext3D
+ https://bugs.webkit.org/show_bug.cgi?id=78672
+
+ Reviewed by Noam Rosenthal.
+
+ This is part of a several patch-refactoring.
+
+ Introduce additional logic in GraphicsContext3DQt to support a
+ new RenderToCurrentGLContext RenderStyle. This is necessary to
+ use GC3D for other things than WebGL, like TextureMapper.
+
+ The GC3D constructor now accepts a RenderStyle instead of the
+ boolean renderDirectlyToHostWindow and thus mimics create()'s
+ signature. This has been changed for all ports in this patch.
+
+ A new GC3D::createForCurrentGLContext() builder was
+ introduced to better abstract the goal of using GC3D with the
+ current context.
+
+ The patch was originally developed by Helder Correia and finished
+ by Roland Takacs.
+
+ No new tests, refactoring.
+
+2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126620.
+ http://trac.webkit.org/changeset/126620
+ https://bugs.webkit.org/show_bug.cgi?id=94976
+
+ ASSERT((intptr_t)m_bytesAllocated + deltaBytes > 0) is
+ triggering on the bots (Requested by jchaffraix on #webkit).
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::contextAcquired):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (Canvas2DLayerBridge):
+ * platform/graphics/chromium/Canvas2DLayerManager.cpp: Removed.
+ * platform/graphics/chromium/Canvas2DLayerManager.h: Removed.
+
+2012-08-24 Andrei Onea <onea@adobe.com>
+
+ [CSSRegions]Expose WebKitNamedFlowCollection interface through document.getNamedFlows()
+ https://bugs.webkit.org/show_bug.cgi?id=93368
+
+ Reviewed by Ryosuke Niwa.
+
+ The WebKitNamedFlowCollection already implemented was being used by Document to store all
+ the named flows - regardless of state - so we need to use another class to expose to JS.
+ WebKitNamedFlowCollection was renamed to NamedFlowCollection since it is used only internally,
+ and the C++ class used to expose to JS is DOMNamedFlowCollection (with the interface name
+ WebKitNamedFlowCollection). DOMNamedFlowCollection is exposed via Document::webKitGetFlows(),
+ and it itself exposes the length property, the indexed getter, and the named getter.
+ http://dev.w3.org/csswg/css3-regions/#document-getnamedflows
+
+ Test: fast/regions/webkit-named-flow-collection.html
+
+ * CMakeLists.txt:
+ * DerivedSources.cpp:
+ * DerivedSources.make:
+ * DerivedSources.pri:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * bindings/gobject/GNUmakefile.am:
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateImplementation):
+ We need to use same trick as with HTMLPropertiesCollection, to make NamedGetter generate required code.
+ * dom/DOMAllInOne.cpp:
+ * dom/DOMNamedFlowCollection.cpp:
+ (WebCore):
+ (WebCore::DOMNamedFlowCollection::DOMNamedFlowCollection):
+ (WebCore::DOMNamedFlowCollection::length):
+ (WebCore::DOMNamedFlowCollection::item):
+ (WebCore::DOMNamedFlowCollection::namedItem):
+ (WebCore::DOMNamedFlowCollection::hasNamedItem):
+ * dom/DOMNamedFlowCollection.h:
+ (WebCore):
+ (DOMNamedFlowCollection):
+ (WebCore::DOMNamedFlowCollection::create):
+ * dom/DOMNamedFlowCollection.idl:
+ * dom/Document.cpp:
+ (WebCore):
+ (WebCore::Document::webkitGetNamedFlows):
+ (WebCore::Document::namedFlows):
+ * dom/Document.h:
+ (WebCore):
+ (Document):
+ * dom/Document.idl:
+ * dom/NamedFlowCollection.cpp:
+ Renamed from Source/WebCore/dom/WebKitNamedFlowCollection.cpp.
+ (WebCore):
+ (WebCore::NamedFlowCollection::NamedFlowCollection):
+ (WebCore::NamedFlowCollection::namedFlows):
+ (WebCore::NamedFlowCollection::flowByName):
+ (WebCore::NamedFlowCollection::ensureFlowWithName):
+ (WebCore::NamedFlowCollection::discardNamedFlow):
+ (WebCore::NamedFlowCollection::documentDestroyed):
+ (WebCore::NamedFlowCollection::createCSSOMSnapshot):
+ Used to create a snapshot of current named flows in CREATED state.
+ * dom/NamedFlowCollection.h:
+ Renamed from Source/WebCore/dom/WebKitNamedFlowCollection.h.
+ (WebCore):
+ (NamedFlowCollection):
+ (WebCore::NamedFlowCollection::create):
+ (WebCore::NamedFlowCollection::document):
+ (WebCore::NamedFlowCollection::~NamedFlowCollection):
+ (WebCore::NamedFlowCollection::NamedFlowHashFunctions::hash):
+ (WebCore::NamedFlowCollection::NamedFlowHashFunctions::equal):
+ (NamedFlowCollection::NamedFlowHashFunctions):
+ (WebCore::NamedFlowCollection::NamedFlowHashTranslator::hash):
+ (WebCore::NamedFlowCollection::NamedFlowHashTranslator::equal):
+ Moved NamedFlowHashFunctions and NamedFlowHashTranslator definitions to .h
+ and made them public, so they can be used in DOMNamedFlow as well.
+ * dom/WebKitNamedFlow.cpp:
+ (WebCore::WebKitNamedFlow::WebKitNamedFlow):
+ (WebCore::WebKitNamedFlow::create):
+ * dom/WebKitNamedFlow.h:
+ (WebCore):
+ (WebKitNamedFlow):
+ * inspector/InspectorCSSAgent.cpp:
+ * rendering/FlowThreadController.cpp:
+ (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
+
+2012-08-24 Chris Evans <cevans@google.com>
+
+ Update comment regarding root node handling in XPath for detached trees.
+ https://bugs.webkit.org/show_bug.cgi?id=36427
+
+ Reviewed by Alexey Proskuryakov.
+
+ * xml/XPathPath.cpp:
+ (WebCore::XPath::LocationPath::evaluate): Update XPath root node comment.
+
+2012-08-24 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
+ https://bugs.webkit.org/show_bug.cgi?id=94386
+
+ Reviewed by Stephen White.
+
+ Before this change, there was no global bound on memory that could be
+ consumed for the purpose of recording 2d canvas deferred draw commands.
+ There was only a per canvas limit. It is possible for canvases to get
+ dereferenced without flushing pending draw commands, which may lock
+ resources until the canvas element is garbage collected. This makes
+ it possible to grow memory consumption indefinitely by hitting reload
+ successively on some canvas-intensive web pages.
+
+ The solution implemented in this change consists in maintaining a
+ global registry of deferred canvas layers and tracking the sum of
+ memory allocated by all canvases for the purpose of storing deferred
+ draw commands. When memory consumption reaches the allowed limit,
+ caches are cleared and draw operations are flushed on one or several
+ canvases, starting with the least recently used, until memory
+ consumption is below a target level.
+
+ New tests: webkit_unit_tests DeferredLayerManagerTest*
+
+ * WebCore.gypi:
+ * platform/graphics/chromium/Canvas2DLayerBridge.cpp:
+ (WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::storageAllocatedForRecordingChanged):
+ Overloaded from SkDeferredCanvas::NotificationClient. Called when
+ there is a change in the number of bytes allocated by the deferred
+ canvas.
+ (WebCore):
+ (WebCore::Canvas2DLayerBridge::flushedDrawCommands):
+ Overloaded from SkDeferredCanvas::NotificationClient. Called when
+ pending draw commands are flush by the deferred canvas.
+ (WebCore::Canvas2DLayerBridge::freeMemoryIfPossible):
+ Called by the Canvas2DLayerManager to request the release of unlocked
+ memory resources (caches). Request is relayed to SkDeferredCanvas.
+ returns number of bytes freed.
+ (WebCore::Canvas2DLayerBridge::flush):
+ Requests that pending draw commands be flushed immediately from the
+ deferred canvas queue. Request is relayed to SkDeferredCanvas.
+ (WebCore::Canvas2DLayerBridge::contextAcquired):
+ * platform/graphics/chromium/Canvas2DLayerBridge.h:
+ (Canvas2DLayerBridge):
+ (WebCore::Canvas2DLayerBridge::bytesAllocated):
+ (WebCore::Canvas2DLayerBridge::updateBytesAllocated):
+ * platform/graphics/chromium/Canvas2DLayerManager.cpp: Added.
+ (WebCore):
+ (WebCore::Canvas2DLayerManager::Canvas2DLayerManager):
+ (WebCore::Canvas2DLayerManager::~Canvas2DLayerManager):
+ (WebCore::Canvas2DLayerManager::init):
+ Sets the global limit for the maximum total number of bytes allocated
+ by deferred layers.
+ (WebCore::Canvas2DLayerManager::get):
+ Singleton accessor
+ (WebCore::Canvas2DLayerManager::layerDidDraw):
+ Called by Canvas2DLayerBridge to indicate that the layer was drawn to.
+ (WebCore::Canvas2DLayerManager::addLayerToList):
+ (WebCore::Canvas2DLayerManager::layerAllocatedStorageChanged):
+ Called by Canvas2DLayerBridge to indicate thet the memory consumed by
+ the layer has changed.
+ (WebCore::Canvas2DLayerManager::layerDidFlush):
+ Called by Canvas2DLayerBridge to indicated that the pending draw
+ commands of the layer were flushed.
+ (WebCore::Canvas2DLayerManager::layerToBeDestroyed):
+ Called by Canvas2DLayerBridge upon destruction.
+ (WebCore::Canvas2DLayerManager::freeMemoryIfNecessary):
+ Called internally. Check that current memory consumption is below
+ the tolerated limit. If check fails, intiates resource releases.
+ (WebCore::Canvas2DLayerManager::removeLayerFromList):
+ (WebCore::Canvas2DLayerManager::isInList):
+ (WebCore::Canvas2DLayerManager::updateBytesAllocated):
+ * platform/graphics/chromium/Canvas2DLayerManager.h: Added.
+ (WebCore):
+ (Canvas2DLayerManager):
+
+2012-08-24 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Changes resulting from moving network related methods
+ from platform client to platform settings.
+ https://bugs.webkit.org/show_bug.cgi?id=94963
+
+ Reviewed by Yong Li.
+
+ Changes in response to Network methods moved from
+ class BlackBerryPlatformClient to class BlackBerryPlatformSettings
+ in platform repository.
+
+ No new tests as there are no logical modifications.
+
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::storeCredentials):
+ * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp:
+ (WebCore::NetworkStateNotifier::NetworkStateNotifier):
+
+2012-08-24 Stephen White <senorblanco@chromium.org>
+
+ Enable accelerated Skia implementation of feBlend filter.
+ https://bugs.webkit.org/show_bug.cgi?id=94954
+
+ Reviewed by James Robinson.
+
+ Will be covered by existing tests in svg/ when tests are run with
+ accelerated painting.
+
+ * WebCore.gypi:
+ * platform/graphics/filters/FEBlend.h:
+ (FEBlend):
+ * platform/graphics/filters/skia/FEBlendSkia.cpp: Added.
+ (WebCore):
+ (WebCore::toSkiaMode):
+ (WebCore::FEBlend::platformApplySkia):
+
+2012-08-24 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] CCLayerTreeHostImpl::scrollBy always assumes screen space deltas
+ https://bugs.webkit.org/show_bug.cgi?id=94946
+
+ Reviewed by James Robinson.
+
+ Multiply scrollBy deltas in CCLayerTreeHostImpl to correctly support
+ scrolling on devices that send deltas in DIP (as opposed to screen)
+ space. Change is a nop on platforms that have not setDeviceScaleFactor
+ to a non-unity value.
+
+ Tested by existing unit tests.
+
+ * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
+ (WebCore::CCLayerTreeHostImpl::scrollBy):
+
+2012-08-24 Anish Bhayani <anish.bhayani@gmail.com>
+
+ webkit-image-set() function not showing up when computing background property
+ https://bugs.webkit.org/show_bug.cgi?id=94536
+
+ Reviewed by Simon Fraser.
+
+ Added isBaseValueList() to ensure ImageSetClass is not displaying shorthand notation.
+ Tests to make sure background shows '-webkit-image-set('.
+
+ Test: fast/css/image-set-setting.html
+
+ * css/CSSValue.h:
+ (CSSValue):
+ (WebCore::CSSValue::isBaseValueList):
+ * css/StylePropertySet.cpp:
+ (WebCore::StylePropertySet::getLayeredShorthandValue):
+
+2012-08-24 Tony Chang <tony@chromium.org>
+
+ Remove unnecessary CSS selector text generation
+ https://bugs.webkit.org/show_bug.cgi?id=94857
+
+ Reviewed by Ojan Vafai.
+
+ When setting the selector text, there was some old code that would
+ check to see if it was unchanged. That got removed, but the code
+ to generate the previous selector text is still there.
+
+ Covered by fast/css/css-set-selector-text.html and
+ fast/css/css-set-selector-text-crash.html.
+
+ * css/CSSPageRule.cpp:
+ (WebCore::CSSPageRule::setSelectorText): Remove unused oldSelectorText.
+ * css/CSSStyleRule.cpp:
+ (WebCore::CSSStyleRule::setSelectorText): Remove unused oldSelectorText
+ and rather than update the cache, just invalidate the previous entry since
+ we may not need the new selector text.
+
+2012-08-24 Cris Neckar <cdn@chromium.org>
+
+ Add support for consumable user gestures
+ https://bugs.webkit.org/show_bug.cgi?id=94867
+
+ Reviewed by Adam Barth.
+
+ Adds a static counter of the number of consumable gestures. This is decremented either when
+ a gestures falls out of scope or is consumed via a call to consumeUserGesture().
+
+ Planned usage in Chromium is to prevent the piggybacking of multiple popup windows on a
+ single user gesture.
+
+ No new tests as this should not change behavior. The platform must implement consumable
+ gestures for this to do anything.
+
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::consumeUserGesture):
+ (WebCore):
+ * bindings/v8/ScriptController.h:
+ (ScriptController):
+ * dom/UserGestureIndicator.cpp:
+ (WebCore):
+ (WebCore::UserGestureIndicator::UserGestureIndicator):
+ (WebCore::UserGestureIndicator::~UserGestureIndicator):
+ (WebCore::UserGestureIndicator::consumeUserGesture):
+ * dom/UserGestureIndicator.h:
+ (WebCore::UserGestureIndicator::processingUserGesture):
+ (UserGestureIndicator):
+
+2012-08-24 Bear Travis <betravis@adobe.com>
+
+ [CSS Exclusions] Enable shape-inside for simple rectangles
+ https://bugs.webkit.org/show_bug.cgi?id=89259
+
+ Reviewed by Levi Weintraub.
+
+ This patch is the first in a series enabling shape-inside. It adds
+ support for inline layout within a single render block with a
+ rectangular shape-inside.
+ Each RenderBlock with a valid shape-inside maintains a WrapShapeInfo,
+ which can calculate the areas, or LineSegments, where inline content
+ can flow on a line. The WrapShapeInfo class maintains a static map of
+ RenderBlocks to WrapShapeInfos. The basic algorithm involves three stages:
+ 1. Determine if the RenderBlock has a valid shape-inside, and store it
+ in a WrapShapeInfo if necessary.
+ 2. If the inline content is affected by a shape-inside, use the
+ corresponding WrapShapeInfo to break the content into line segments.
+ 3. Lay out the line segments.
+
+ Tests: fast/exclusions/shape-inside/shape-inside-floats-simple.html
+ fast/exclusions/shape-inside/shape-inside-inline-elements.html
+ fast/exclusions/shape-inside/shape-inside-overflow.html
+ fast/exclusions/shape-inside/shape-inside-percentage-auto.html
+ fast/exclusions/shape-inside/shape-inside-text.html
+
+ * CMakeLists.txt:
+ * GNUmakefile.list.am:
+ * Target.pri:
+ * WebCore.gypi:
+ * WebCore.vcproj/WebCore.vcproj:
+ * WebCore.xcodeproj/project.pbxproj:
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::willBeDestroyed): Remove WrapShapeInfo when destroyed.
+ (WebCore::RenderBlock::styleDidChange): Detect modifications to style()->wrapShapeInside.
+ (WebCore):
+ (WebCore::RenderBlock::updateWrapShapeInfoAfterStyleChange): Update WrapShapeInfo
+ when style()->wrapShapeInside changes.
+ (WebCore::RenderBlock::layoutBlock): Notify WrapShapeInfo of changes in logicalWidth
+ and logicalHeight before laying out inline content.
+ * rendering/RenderBlock.h:
+ (RenderBlock):
+ (WebCore::RenderBlock::wrapShapeInfo): Return the wrapShapeInfo associated with a
+ RenderBlock.
+ * rendering/RenderBlockLineLayout.cpp:
+ (WebCore::LineWidth::LineWidth): Determine the WrapShapeInfo::LineSegment this LineWidth
+ corresponds to, if any.
+ (LineWidth):
+ (WebCore::LineWidth::updateAvailableWidth): The width's LineSegment boundaries affect
+ the available width.
+ (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): The current LineSegment
+ affects the left & right positioning of inline boxes.
+ (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Move to the top of the inside wrap
+ shape before beginning inline layout, and update the line segments for each line.
+ * rendering/WrapShapeInfo.cpp: Added.
+ (WebCore):
+ (WebCore::WrapShapeInfo::WrapShapeInfo): Create an empty WrapShapeInfo.
+ (WebCore::WrapShapeInfo::~WrapShapeInfo): No additional cleanup.
+ (WebCore::WrapShapeInfo::create): Create a WrapShapeInfo reference.
+ (WebCore::WrapShapeInfo::ensureWrapShapeInfoForRenderBlock): Create a WrapShapeInfo
+ for a RenderBlock with an inside WrapShape and place it in the WrapShapeInfo map.
+ (WebCore::WrapShapeInfo::wrapShapeInfoForRenderBlock): Lookup the WrapShapeInfo for
+ a RenderBlock in the WrapShapeInfo map.
+ (WebCore::WrapShapeInfo::isWrapShapeInfoEnabledForBlock): Determine if a RenderBlock
+ has an inside wrap shape that we can use for inline layout.
+ (WebCore::WrapShapeInfo::removeWrapShapeInfoForRenderBlock): Remove a RenderBlock's
+ WrapShapeInfo from the WrapShapeInfo map.
+ (WebCore::WrapShapeInfo::hasSegments): Returns true if there are any line segments
+ for the current line.
+ (WebCore::WrapShapeInfo::computeShapeSize): Compute the dimensions of the wrap shape
+ based on a block's logical width & height.
+ (WebCore::WrapShapeInfo::computeSegmentsForLine): Sets the current line and computes
+ its line segments.
+ * rendering/WrapShapeInfo.h: Added.
+ (WebCore):
+ (LineSegment):
+ (WrapShapeInfo):
+ (WebCore::WrapShapeInfo::shapeTop): The top of a wrap shape, where the inline content
+ area begins.
+ (WebCore::WrapShapeInfo::segments): The list of line segments for the current line.
+ (WebCore::WrapShapeInfo::wrapShapeSizeNeedsRecomputing): Mark a WrapShapeInfo as
+ needing to recompute its WrapShape dimensions.
+ (WebCore::WrapShapeInfo::lineState): The current line state: above, inside, or below
+ the wrap shape.
+ * rendering/style/RenderStyle.cpp:
+ (WebCore::RenderStyle::diff): Changes to shape inside require relayout.
+
+2012-08-24 David Hyatt <hyatt@apple.com>
+
+ [New Multicolumn] Plumbing to prepare for contents painting and hit testing implementation.
+ https://bugs.webkit.org/show_bug.cgi?id=94945
+
+ Reviewed by Dan Bernstein.
+
+ Make some improvements to how column sets interact with flow threads. Make sure the last column set
+ always expands to hold all of the remaining flow thread contents (including overflow). Rename the
+ column height, count and width variables to have "computed" in front of them to indicate that they
+ just represent what the multi-column algorithm computed so that there is no confusion between the
+ computed column count and the actual number of columns in the set.
+
+ Implement the ability to get the actual column count based off the logical height of the flow thread
+ portion contained within the column set.
+
+ Fix gap painting to use the actual column count rather than the computed column count.
+
+ * rendering/RenderFlowThread.cpp:
+ (WebCore::RenderFlowThread::layout):
+ After a flow thread is done laying out, have it tell the last region to expand to
+ encompass all the remaining contents if it wants to do so. Column and page sets will always do this.
+
+ * rendering/RenderMultiColumnFlowThread.h:
+ (RenderMultiColumnFlowThread):
+ Override computeLogicalHeight() to do nothing. We want the flow thread to just keep its intrinsic
+ height, since the last column set is always going to expand to encompass the flow thread's contents
+ anyway. Unlike CSS Regions, we don't ever "run out of room."
+
+ * rendering/RenderMultiColumnSet.cpp:
+ (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
+ (WebCore::RenderMultiColumnSet::computeLogicalWidth):
+ (WebCore::RenderMultiColumnSet::computeLogicalHeight):
+ (WebCore::RenderMultiColumnSet::columnCount):
+ (WebCore::RenderMultiColumnSet::columnRectAt):
+ (WebCore::RenderMultiColumnSet::paintColumnRules):
+ (WebCore::RenderMultiColumnSet::paintColumnContents):
+ Rename count, width and height for columns to have "computed" in front of the members and functions.
+ In particular, this lets us distinguish the computed column count from the actual column count.
+
+ * rendering/RenderMultiColumnSet.h:
+ (WebCore::RenderMultiColumnSet::computedColumnCount):
+ (WebCore::RenderMultiColumnSet::computedColumnWidth):
+ (WebCore::RenderMultiColumnSet::computedColumnHeight):
+ (WebCore::RenderMultiColumnSet::setComputedColumnWidthAndCount):
+ (WebCore::RenderMultiColumnSet::setComputedColumnHeight):
+ Rename count, width and height for columns to have "computed" in front of the members and functions.
+ In particular, this lets us distinguish the computed column count from the actual column count.
+
+ * rendering/RenderRegion.h:
+ (RenderRegion):
+ (WebCore::RenderRegion::expandToEncompassFlowThreadContentsIfNeeded):
+ * rendering/RenderRegionSet.cpp:
+ (WebCore::RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded):
+ (WebCore):
+ * rendering/RenderRegionSet.h:
+ (RenderRegionSet):
+ Make sure region sets expand to encompass all the remaining flow thread contents. We are always
+ able to generate more columns or pages, so in effect the amount of the flow thread we can
+ consume is unlimited.
+
+
+2012-08-24 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [Qt] Range input progress indicator is upside down when vertical and RTL is set
+ https://bugs.webkit.org/show_bug.cgi?id=94948
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ RTL should not affect vertical sliders, but on Qt it was changing the
+ direction of the progress indicator, making it flow in the opposite
+ direction of the knob.
+
+ * platform/qt/RenderThemeQtMobile.cpp:
+ (WebCore::RenderThemeQtMobile::paintSliderTrack):
+
+2012-08-24 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
+ https://bugs.webkit.org/show_bug.cgi?id=94249
+
+ Reviewed by Rob Buis.
+
+ PR 170160
+
+ Changes in response to Application Directory methods moved from
+ Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
+ platform respository since these methods are more appropriate in
+ class BlackBerryPlatformSettings.
+
+ No new tests as there are no logical modifications.
+
+ * platform/blackberry/CookieManager.cpp:
+ (WebCore::CookieManager::CookieManager):
+ * platform/blackberry/FileSystemBlackBerry.cpp:
+ (WebCore::homeDirectoryPath):
+ * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
+ (WebCore::MediaPlayerPrivate::load):
+ * platform/network/blackberry/AutofillBackingStore.cpp:
+ (WebCore::autofillBackingStore):
+ * platform/network/blackberry/CredentialBackingStore.cpp:
+ (WebCore::credentialBackingStore):
+ * platform/network/blackberry/NetworkJob.cpp:
+ (WebCore::NetworkJob::sendRequestWithCredentials):
+ * plugins/PluginDatabase.cpp:
+ (WebCore::PluginDatabase::isPreferredPluginDirectory):
+
+2012-08-24 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: do not count weak and shortcut edges.
+ https://bugs.webkit.org/show_bug.cgi?id=94947
+
+ Reviewed by Yury Semikhatsky.
+
+ When calculating distance from an object to Window in heap profiler we should only
+ take into account strong real references. This means that shortcuts and weak edges should be ignored.
+
+ * inspector/front-end/HeapSnapshot.js:
+ (WebInspector.HeapSnapshot.prototype._bfs):
+
+2012-08-24 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Crash in RenderTableCell::borderTop() due to custom scrollbars after r124168
+ https://bugs.webkit.org/show_bug.cgi?id=93903
+
+ Reviewed by Tony Chang.
+
+ r124168 changed when we create scrollbars so that it happens (rightly) at style change time.
+ However the RenderScrollbar code assumes that any overflow: scroll RenderScrollbar would be
+ created at layout time as it directly tries to layout to scrollbar parts. The big issues with
+ the move is that the first style change operates on a detached renderer which means that we
+ could crash in some situation.
+
+ Test: scrollbars/custom-scrollbar-table-cell.html
+
+ * rendering/RenderScrollbarPart.cpp:
+ (WebCore::RenderScrollbarPart::computeScrollbarWidth):
+ (WebCore::RenderScrollbarPart::computeScrollbarHeight):
+ Fixed the crash by using style information instead of calling the renderer. This is guaranteed
+ to be safe but it also means that custom scrollbars sizing is not right on table cells with
+ collapsing borders. The existing logic was querying layout information at style change so I
+ wouldn't bet on it working properly anyway.
+
+2012-08-24 Julien Chaffraix <jchaffraix@webkit.org>
+
+ Remove RenderTableSection::removeChild
+ https://bugs.webkit.org/show_bug.cgi?id=94883
+
+ Reviewed by Abhishek Arya.
+
+ This change removed removeChild, replaced by willBeRemoved calls in the children
+ class. This is done to ensure that post-removal invalidations are properly done
+ in table rows and table cells.
+
+ Refactoring covered by existing tests.
+
+ * rendering/RenderTableSection.cpp:
+ (WebCore::RenderTableSection::removeChild):
+ * rendering/RenderTableSection.h:
+ Removed this function...
+
+ * rendering/RenderTableCell.cpp:
+ (WebCore::RenderTableCell::willBeRemovedFromTree):
+ * rendering/RenderTableCell.h:
+ (RenderTableCell):
+ * rendering/RenderTableRow.cpp:
+ (WebCore::RenderTableRow::willBeRemovedFromTree):
+ * rendering/RenderTableRow.h:
+ ... and moved the invalidation into the willBeRemovedFromTree functions.
+ The willBeRemovedFromTree replaced the willBeDestroyed functions in the
+ 2 classes as the invalidation really represented tree removal updates,
+ not death updates.
+
+2012-08-24 Joshua Netterfield <jnetterfield@rim.com>
+
+ [BlackBerry] Extend LayerFilterRenderer in preparation for CSS Shaders
+ https://bugs.webkit.org/show_bug.cgi?id=94724
+
+ Reviewed by George Staikos.
+
+ LayerFilterRenderer defines a CSS Filter in terms of one or more `Action`s.
+ A LayerFilterRendererAction holds a vertex shader, a fragment shader, and
+ zero or more `Parameter`s. A Parameter is a uniform, varying, or other
+ information which is needed to render a filter.
+
+ This patch implements certain new Parameter types, including vertex/element
+ buffers and vertex attributes which are needed to implement composited
+ CSS Shaders on BB10. In addition, a new drawing mode is required in order
+ to draw CSS Shaders meshes from vertex/element buffers.
+
+ No new tests, because this patch introduces no new functionality. When
+ the patch which enables CSS Shaders on BB10 in upstreamed, tests for
+ CSS Shaders will prove this code to be correct.
+
+ * platform/graphics/blackberry/LayerFilterRenderer.cpp:
+ (WebCore::operationTypeToProgramID):
+ (WebCore::Uniform::Uniform):
+ (WebCore::Uniform1f::create):
+ (WebCore::Uniform1f::Uniform1f):
+ (WebCore):
+ (WebCore::Uniform1i::apply):
+ (WebCore::Uniform1i::create):
+ (WebCore::Uniform1i::Uniform1i):
+ (WebCore::Uniform2f::create):
+ (WebCore::Uniform2f::Uniform2f):
+ (WebCore::Uniform3f::create):
+ (WebCore::Uniform3f::Uniform3f):
+ (WebCore::Uniform4f::apply):
+ (WebCore::Uniform4f::create):
+ (WebCore::Uniform4f::Uniform4f):
+ (WebCore::Matrix4fv::apply):
+ (WebCore::Matrix4fv::create):
+ (WebCore::Matrix4fv::Matrix4fv):
+ (WebCore::Matrix4fv::~Matrix4fv):
+ (WebCore::Buffer::apply):
+ (WebCore::Buffer::restoreState):
+ (WebCore::Buffer::create):
+ (WebCore::Buffer::Buffer):
+ (WebCore::VertexAttribf::apply):
+ (WebCore::VertexAttribf::restoreState):
+ (WebCore::VertexAttribf::create):
+ (WebCore::VertexAttribf::VertexAttribf):
+ (WebCore::LayerFilterRendererAction::LayerFilterRendererAction):
+ (WebCore::LayerFilterRendererAction::useActionOn):
+ (WebCore::LayerFilterRendererAction::restoreState):
+ (WebCore::LayerFilterRenderer::LayerFilterRenderer):
+ (WebCore::LayerFilterRenderer::actionsForOperations):
+ (WebCore::LayerFilterRenderer::applyActions):
+ * platform/graphics/blackberry/LayerFilterRenderer.h:
+ (Parameter):
+ (WebCore::Parameter::restoreState):
+ (WebCore::Parameter::~Parameter):
+ (WebCore::Parameter::Parameter):
+ (WebCore):
+ (Uniform):
+ (WebCore::Uniform::~Uniform):
+ (Uniform1f):
+ (Uniform1i):
+ (Uniform2f):
+ (Uniform3f):
+ (Uniform4f):
+ (Matrix4fv):
+ (Buffer):
+ (VertexAttribf):
+ (WebCore::LayerFilterRendererAction::appendParameter):
+ (LayerFilterRendererAction):
+ (WebCore::LayerFilterRendererAction::drawingMode):
+ (WebCore::LayerFilterRendererAction::setDrawingMode):
+ (WebCore::LayerFilterRendererAction::drawingModeParameter):
+ (WebCore::LayerFilterRendererAction::setDrawingModeParameter):
+
+2012-08-24 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add readyState functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=94813
+
+ Reviewed by Adam Barth.
+
+ This patch adds readyState functionality to RTCPeerConnection together with related callbacks and methods.
+
+ Test: fast/mediastream/RTCPeerConnection-state.html
+
+ * Modules/mediastream/RTCPeerConnection.cpp:
+ (WebCore::RTCPeerConnection::RTCPeerConnection):
+ (WebCore::RTCPeerConnection::readyState):
+ (WebCore):
+ (WebCore::RTCPeerConnection::close):
+ (WebCore::RTCPeerConnection::didChangeReadyState):
+ (WebCore::RTCPeerConnection::stop):
+ (WebCore::RTCPeerConnection::changeReadyState):
+ * Modules/mediastream/RTCPeerConnection.h:
+ (RTCPeerConnection):
+ * Modules/mediastream/RTCPeerConnection.idl:
+ * platform/mediastream/RTCPeerConnectionHandler.cpp:
+ (RTCPeerConnectionHandlerDummy):
+ (WebCore::RTCPeerConnectionHandlerDummy::stop):
+ (WebCore):
+ * platform/mediastream/RTCPeerConnectionHandler.h:
+ (RTCPeerConnectionHandler):
+ * platform/mediastream/RTCPeerConnectionHandlerClient.h:
+ (RTCPeerConnectionHandlerClient):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
+ (WebCore::RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium):
+ (WebCore::RTCPeerConnectionHandlerChromium::stop):
+ (WebCore):
+ (WebCore::RTCPeerConnectionHandlerChromium::didChangeReadyState):
+ * platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:
+ (RTCPeerConnectionHandlerChromium):
+
+2012-08-24 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] A follow up to simplify code with nested closures
+ https://bugs.webkit.org/show_bug.cgi?id=94931
+
+ Reviewed by Pavel Feldman.
+
+ Simplifies the code with nested closures.
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-08-24 Vsevolod Vlasov <vsevik@chromium.org>
+
+ Web Inspector: Get rid of frontendReused logic on front-end.
+ https://bugs.webkit.org/show_bug.cgi?id=94929
+
+ Reviewed by Pavel Feldman.
+
+ Removed frontendReused method from ResourceTreeModel.
+
+ * inspector/front-end/ResourceTreeModel.js:
+ (WebInspector.ResourceTreeModel.prototype._frameNavigated):
+ * inspector/front-end/Workspace.js:
+ (WebInspector.Workspace): workspace doesn't need to listen for CachedResourcesLoaded event anymore.
+ * inspector/front-end/inspector.js: removed unused method.
+
+2012-08-24 Grzegorz Czajkowski <g.czajkowski@samsung.com>
+
+ Share WebKit-Gtk's Enchant implementation with others WebKit ports.
+ https://bugs.webkit.org/show_bug.cgi?id=94320
+
+ Reviewed by Carlos Garcia Campos.
+
+ The main reason of this change is to share WebKit-Gtk implementation of spelling
+ with others ports that use the Enchant library.
+ This is the first step to enable spelling for WebKit-Efl (https://bugs.webkit.org/show_bug.cgi?id=91854)
+
+ Files that implement spelling were moved to platform/text/enchant directory.
+
+ This patch stops using Pango backend to find the beginning/end of the word.
+ Those information are delivered through ICU interface by using TextBreakIterator.
+
+ * GNUmakefile.am: Added newly created 'enchant' directory to WebKit-Gtk's sources.
+ * GNUmakefile.list.am: Updated location of TextCheckerEnchant.{h,cpp} files.
+
+ * editing/visible_units.cpp: Removed 'static' modifier for 'isLogicalStartOfWord' and 'islogicalEndOfWord' functions.
+ (WebCore::isLogicalStartOfWord):
+ (WebCore::islogicalEndOfWord):
+ * editing/visible_units.h: Added isLogicalStartOfWord' and 'islogicalEndOfWord' functions to header as they are used by TextCheckerEnchant.cpp
+
+ * platform/text/enchant/TextCheckerEnchant.cpp: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp.
+ (enchantDictDescribeCallback): Added comments.
+ (TextCheckerEnchant::TextCheckerEnchant):
+ (TextCheckerEnchant::~TextCheckerEnchant):
+ (TextCheckerEnchant::ignoreWord):
+ (TextCheckerEnchant::learnWord):
+ (TextCheckerEnchant::checkSpellingOfString): Using ICU instead of Pango to find out the beginning/end of the word.
+ (TextCheckerEnchant::getGuessesForWord): Replaced gchar type to char.
+ (TextCheckerEnchant::updateSpellCheckingLanguages): Using WebCore::defaulLanguage() instead of Pango backend.
+ (TextCheckerEnchant::getSpellCheckingLanguages):
+ (TextCheckerEnchant::freeEnchantBrokerDictionaries):
+ * platform/text/enchant/TextCheckerEnchant.h: Renamed from Source/WebCore/platform/text/gtk/TextCheckerEnchant.h.
+ (WebCore):
+ (TextCheckerEnchant):
+ (WebCore::TextCheckerEnchant::create):
+
+2012-08-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: do not send profile headers to the front-end until explicitly requested.
+ https://bugs.webkit.org/show_bug.cgi?id=94928
+
+ Reviewed by Vsevolod Vlasov.
+
+ Simple flag is added.
+
+ * inspector/InspectorProfilerAgent.cpp:
+ (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
+ (WebCore::InspectorProfilerAgent::addProfile):
+ (WebCore::InspectorProfilerAgent::disable):
+ (WebCore::InspectorProfilerAgent::getProfileHeaders):
+ (WebCore):
+ (WebCore::InspectorProfilerAgent::resetFrontendProfiles):
+ * inspector/InspectorProfilerAgent.h:
+ (InspectorProfilerAgent):
+
+2012-08-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: make ui component compile
+ https://bugs.webkit.org/show_bug.cgi?id=94827
+
+ Reviewed by Vsevolod Vlasov.
+
+ Moved buildImagePreviewContents into the sdk-aware code.
+ Drive-by more compilation fixes.
+
+ * inspector/compile-front-end.py:
+ * inspector/front-end/DOMPresentationUtils.js:
+ (WebInspector.DOMPresentationUtils.buildImagePreviewContents.errorCallback):
+ (WebInspector.DOMPresentationUtils.buildImagePreviewContents.buildContent):
+ (WebInspector.DOMPresentationUtils.buildImagePreviewContents):
+ * inspector/front-end/Database.js:
+ * inspector/front-end/DefaultTextEditor.js:
+ (WebInspector.TextEditorMainPanel):
+ (WebInspector.TextEditorMainPanel.prototype._createLink):
+ * inspector/front-end/ElementsPanel.js:
+ * inspector/front-end/NetworkPanel.js:
+ (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
+ * inspector/front-end/ParsedURL.js:
+ (WebInspector.ParsedURL.prototype.get displayName):
+ * inspector/front-end/ResourceUtils.js:
+ * inspector/front-end/SourceFrame.js:
+ (WebInspector.TextEditorDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
+ (WebInspector.TextEditorDelegateForSourceFrame.prototype.createLink):
+ * inspector/front-end/TextEditor.js:
+ (WebInspector.TextEditorDelegate.prototype.populateTextAreaContextMenu):
+ (WebInspector.TextEditorDelegate.prototype.createLink):
+ * inspector/front-end/TimelinePresentationModel.js:
+ (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
+ * inspector/front-end/UIUtils.js:
+
+2012-08-24 'Pavel Feldman' <pfeldman@chromium.org>
+
+ Not reviewed: fixing inspector/elements/iframe-load-event.html broken by r126572.
+
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.resolveURL):
+
+2012-08-24 Andrey Adaikin <aandrey@chromium.org>
+
+ Web Inspector: [WebGL] Implement custom wrap functions on GL context
+ https://bugs.webkit.org/show_bug.cgi?id=94799
+
+ Reviewed by Pavel Feldman.
+
+ Implement custom wrap functions on WebGL rendering context for WebGL instrumentation.
+
+ * inspector/InjectedScriptWebGLModuleSource.js:
+ (.):
+
+2012-08-24 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: resolve URLs upon creation, get rid of populateHrefContextMenu
+ https://bugs.webkit.org/show_bug.cgi?id=94900
+
+ Reviewed by Vsevolod Vlasov.
+
+ - This change makes sure we resolve URLs upon adding the to the UI. Then we treat them as absolute links in context menu, etc.
+ - There is no need to override context menu for links anymore - system menu will do.
+
+ * inspector/front-end/AuditResultView.js:
+ (WebInspector.AuditResultView):
+ * inspector/front-end/ConsoleView.js:
+ * inspector/front-end/DOMAgent.js:
+ (WebInspector.DOMNode.prototype.descendantUserPropertyCount):
+ (WebInspector.DOMNode.prototype.resolveURL):
+ * inspector/front-end/ElementsPanel.js:
+ * inspector/front-end/ElementsTreeOutline.js:
+ (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
+ (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
+ * inspector/front-end/HandlerRegistry.js:
+ (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
+ (WebInspector.HandlerRegistry.prototype._appendContentProviderItems):
+ (WebInspector.HandlerRegistry.prototype._appendHrefItems):
+ * inspector/front-end/ParsedURL.js:
+ (WebInspector.ParsedURL.completeURL):
+ * inspector/front-end/ResourceUtils.js:
+ (WebInspector.linkifyRequestAsNode):
+ * inspector/front-end/StylesSidebarPane.js:
+ (WebInspector.StylesSidebarPane):
+ (WebInspector.StylePropertyTreeElement.prototype.updateTitle.linkifyURL):
+ * inspector/front-end/UIUtils.js:
+
+2012-08-24 Xan Lopez <xlopez@igalia.com>
+
+ [GTK] Use the new 'feature_defines' variable to generate DOM bindings
+ https://bugs.webkit.org/show_bug.cgi?id=94919
+
+ Reviewed by Carlos Garcia Campos.
+
+ Update to use the new 'feature_defines' variable, otherwise the
+ bindings will be broken.
+
+ * bindings/gobject/GNUmakefile.am: ditto.
+
+2012-08-24 Kentaro Hara <haraken@chromium.org>
+
+ Remove RefPtr from HTMLTextAreaElement::m_placeholder
+ https://bugs.webkit.org/show_bug.cgi?id=94338
+
+ Reviewed by Kent Tamura.
+
+ To avoid reference cycles of RefPtr<Node>s, we want to remove
+ unnecessary RefPtr<Node>s. The rationale is described in bug 94324.
+
+ HTMLTextAreaElement::m_placeholder does not need to be a RefPtr<Node>,
+ because it is guaranteed to point to a shadow DOM tree of the
+ HTMLTextAreaElement node, which is guaranteed to exist in the subtree
+ of the HTMLTextAreaElement node.
+
+ No tests. No change in behavior.
+
+ * html/HTMLTextAreaElement.cpp:
+ (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
+ (WebCore::HTMLTextAreaElement::placeholderElement):
+ (WebCore::HTMLTextAreaElement::attach):
+ (WebCore::HTMLTextAreaElement::updatePlaceholderText):
+ * html/HTMLTextAreaElement.h:
+ (HTMLTextAreaElement):
+
+2012-08-24 Dan Carney <dcarney@google.com>
+
+ [V8] Refactor away IsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=93971
+
+ Reviewed by Kentaro Hara.
+
+ Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
+ This paves the way towards a JSC-like use of DOMWrapperWorld.
+
+ No new tests. No change in functionality.
+
+ * UseV8.cmake:
+ * WebCore.gypi:
+ * bindings/v8/DOMWrapperWorld.cpp:
+ (WebCore):
+ (WebCore::DOMWrapperWorld::createUninitializedWorld):
+ (WebCore::DOMWrapperWorld::createMainWorld):
+ (WebCore::mainThreadNormalWorld):
+ (WebCore::isolatedWorldMap):
+ (WebCore::DOMWrapperWorld::deallocate):
+ (WebCore::DOMWrapperWorld::getOrCreateIsolatedWorld):
+ * bindings/v8/DOMWrapperWorld.h:
+ (DOMWrapperWorld):
+ (WebCore::DOMWrapperWorld::isolatedWorldsExist):
+ (WebCore::DOMWrapperWorld::isMainWorld):
+ (WebCore::DOMWrapperWorld::worldId):
+ (WebCore::DOMWrapperWorld::extensionGroup):
+ (WebCore::DOMWrapperWorld::domDataStore):
+ (WebCore::DOMWrapperWorld::deref):
+ (WebCore::DOMWrapperWorld::DOMWrapperWorld):
+ * bindings/v8/IsolatedWorld.cpp: Removed.
+ * bindings/v8/IsolatedWorld.h: Removed.
+ * bindings/v8/ScriptController.cpp:
+ (WebCore::ScriptController::evaluateInIsolatedWorld):
+ * bindings/v8/V8DOMMap.cpp:
+ (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
+ (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle):
+ * bindings/v8/V8DOMMap.h:
+ (DOMDataStoreHandle):
+ * bindings/v8/V8DOMWrapper.h:
+ (WebCore::V8DOMWrapper::getCachedWrapper):
+ * bindings/v8/V8IsolatedContext.cpp:
+ (WebCore::V8IsolatedContext::V8IsolatedContext):
+ (WebCore::V8IsolatedContext::destroy):
+ * bindings/v8/V8IsolatedContext.h:
+ (V8IsolatedContext):
+ (WebCore::V8IsolatedContext::getEntered):
+ (WebCore::V8IsolatedContext::world):
+ * bindings/v8/V8PerIsolateData.h:
+ (WebCore::V8PerIsolateData::registerDOMDataStore):
+ (WebCore::V8PerIsolateData::unregisterDOMDataStore):
+
+2012-08-24 Adam Barth <abarth@webkit.org>
+
+ [V8] Improve the developer ergonomics of ScopedPersistent
+ https://bugs.webkit.org/show_bug.cgi?id=94901
+
+ Reviewed by Kentaro Hara.
+
+ As requested by haraken, this patch adds some helper functions to
+ ScopedPersistent so that we don't need to call get() all the time.
+
+ * bindings/v8/ScheduledAction.cpp:
+ (WebCore::ScheduledAction::execute):
+ * bindings/v8/ScopedPersistent.h:
+ (WebCore::ScopedPersistent::get):
+ (WebCore::ScopedPersistent::operator->):
+ (ScopedPersistent):
+ (WebCore::ScopedPersistent::isEmpty):
+ * bindings/v8/ScriptValue.cpp:
+ (WebCore::ScriptValue::getString):
+ (WebCore::ScriptValue::toString):
+ * bindings/v8/ScriptValue.h:
+ (WebCore::ScriptValue::isFunction):
+ (WebCore::ScriptValue::isNull):
+ (WebCore::ScriptValue::isUndefined):
+ (WebCore::ScriptValue::isObject):
+ (WebCore::ScriptValue::hasNoValue):
+ * bindings/v8/V8AbstractEventListener.cpp:
+ (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
+ (WebCore::V8AbstractEventListener::getReceiverObject):
+ * bindings/v8/V8AbstractEventListener.h:
+ (WebCore::V8AbstractEventListener::hasExistingListenerObject):
+ * bindings/v8/V8DOMWindowShell.cpp:
+ (WebCore::V8DOMWindowShell::isContextInitialized):
+ (WebCore::V8DOMWindowShell::disposeContextHandles):
+ (WebCore::V8DOMWindowShell::clearForClose):
+ (WebCore::V8DOMWindowShell::clearForNavigation):
+ (WebCore::V8DOMWindowShell::initContextIfNeeded):
+ (WebCore::V8DOMWindowShell::updateDocumentWrapper):
+ (WebCore::V8DOMWindowShell::updateDocumentWrapperCache):
+ (WebCore::V8DOMWindowShell::clearDocumentWrapperCache):
+ (WebCore::V8DOMWindowShell::setSecurityToken):
+ (WebCore::V8DOMWindowShell::updateDocument):
+ (WebCore::V8DOMWindowShell::namedItemAdded):
+ (WebCore::V8DOMWindowShell::namedItemRemoved):
+ (WebCore::V8DOMWindowShell::updateSecurityOrigin):
+ * bindings/v8/V8PerContextData.cpp:
+ (WebCore::V8PerContextData::createWrapperFromCacheSlowCase):
+ (WebCore::V8PerContextData::constructorForTypeSlowCase):
+
+2012-08-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well.
+ https://bugs.webkit.org/show_bug.cgi?id=94904
+
+ Reviewed by Vsevolod Vlasov.
+
+ * WebCore.gypi:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/NetworkPanel.js:
+ * inspector/front-end/inspector.html:
+
+2012-08-24 Xiaobo Wang <xbwang@torchmobile.com.cn>
+
+ Check argument count in the dispatch function for overloaded functions
+ https://bugs.webkit.org/show_bug.cgi?id=94790
+
+ Reviewed by Kentaro Hara.
+
+ Throw NotEnoughArguments exception for overloaded functions if actual argument
+ count is less than the least mandatory argument count among all overloaded.
+
+ Reset JS and V8 binding tests result for the change.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (GenerateFunctionParametersCheck):
+ (GenerateOverloadedFunction):
+ * bindings/scripts/CodeGeneratorV8.pm:
+ (GenerateFunctionParametersCheck):
+ (GenerateOverloadedFunctionCallback):
+ * bindings/scripts/test/JS/JSTestObj.cpp:
+ (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
+ (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
+ * bindings/scripts/test/V8/V8TestObj.cpp:
+ (WebCore::TestObjV8Internal::overloadedMethodCallback):
+ (WebCore::TestObjV8Internal::overloadedMethod1Callback):
+
+2012-08-23 Frederik Gladhorn <gladhorn@kde.org>
+
+ Make it possible to build WebKit with Python 3 (and 2)
+ https://bugs.webkit.org/show_bug.cgi?id=94814
+
+ Exceptions need a hack to work with both.
+ string.join was already deprecated in Python 2.
+ Relative imports are no longer supported, use package name instead.
+
+ Reviewed by Ryosuke Niwa.
+
+ * inspector/CodeGeneratorInspector.py:
+ (EnumConstants.get_enum_constant_code):
+ (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
+ (Generator.go):
+ (Generator.process_event):
+ (Generator.process_command):
+
+2012-08-24 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Get rid of m_useLatchedWheelEventNode
+ https://bugs.webkit.org/show_bug.cgi?id=94684
+
+ Reviewed by Ryosuke Niwa.
+
+ Moves the setting of m_useLatchedWheelEventNode into PlatformWheelEvent.
+
+ * page/EventHandler.cpp:
+ (WebCore::EventHandler::EventHandler):
+ (WebCore::EventHandler::handleWheelEvent):
+ (WebCore::EventHandler::defaultWheelEventHandler):
+ (WebCore::EventHandler::handleGestureScrollCore):
+ * page/EventHandler.h:
+ * platform/PlatformWheelEvent.h:
+ (WebCore::PlatformWheelEvent::PlatformWheelEvent):
+ (WebCore::PlatformWheelEvent::setUseLatchedEventNode):
+ (PlatformWheelEvent):
+ (WebCore::PlatformWheelEvent::hasPreciseScrollingDeltas):
+ (WebCore::PlatformWheelEvent::useLatchedEventNode):
+
+2012-08-24 Yoshifumi Inoue <yosin@chromium.org>
+
+ [Forms] Multiple fields time input UI should handle Delete key as Backspace key
+ https://bugs.webkit.org/show_bug.cgi?id=94902
+
+ Reviewed by Kent Tamura.
+
+ This patch adds treating "Delete" key as same as "Backspace" key for
+ multiple fields time input UI. This patch affects ports which enable
+ both ENABLE_INPUT_TYPE_TIME and ENABLES_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ No new tests. This patch adds a test case for "Delete" key to
+ fast/forms/time-multiple-fields/time-multiple-fields-keyboard-events.html
+
+ * html/shadow/DateTimeFieldElement.cpp:
+ (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler): Changed
+ condition expression to check both Backspace(U+0008) key and
+ Delete(U+007F) key.
+
+2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126546.
+ http://trac.webkit.org/changeset/126546
+ https://bugs.webkit.org/show_bug.cgi?id=94911
+
+ Caused inspector tests to timeout (Requested by dominicc on
+ #webkit).
+
+ * WebCore.gypi:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/NetworkPanel.js:
+ * inspector/front-end/inspector.html:
+
+2012-08-24 Sergio Villar Senin <svillar@igalia.com>
+
+ [GTK] Purge unused favicons from IconDatabase after 30 days
+ https://bugs.webkit.org/show_bug.cgi?id=82346
+
+ Reviewed by Gustavo Noronha Silva.
+
+ Favicons will be removed from the icon database after not being used
+ for more than 30 days. This will keep the database size under
+ control.
+
+ * loader/icon/IconDatabase.cpp:
+ (WebCore):
+ (WebCore::IconDatabase::performURLImport): filter icons older than
+ 30 days.
+
+2012-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126542.
+ http://trac.webkit.org/changeset/126542
+ https://bugs.webkit.org/show_bug.cgi?id=94907
+
+ Broke WK2 build on OS X (Requested by tronical_ on #webkit).
+
+ * inspector/CodeGeneratorInspector.py:
+ (EnumConstants.get_enum_constant_code):
+ (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
+ (Generator.go):
+ (Generator.process_event):
+ (Generator.process_command):
+
+2012-08-23 Kentaro Hara <haraken@chromium.org>
+
+ [V8] StringCache should not return already disposed strings
+ https://bugs.webkit.org/show_bug.cgi?id=94899
+
+ Reviewed by Adam Barth.
+
+ See this Chromium bug (http://code.google.com/p/chromium/issues/detail?id=143937)
+ for details.
+
+ I investigated the crash and found that v8ExternalString() can return
+ already disposed strings:
+
+ class StringCache {
+ v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...)
+ {
+ if (m_lastStringImpl.get() == stringImpl) {
+ ASSERT(!m_lastV8String.IsNearDeath());
+ ASSERT(!m_lastV8String.IsEmpty());
+ return v8::Local<v8::String>::New(m_lastV8String); // m_lastV8String might be already disposed.
+ }
+ return v8ExternalStringSlow(stringImpl, ...);
+ }
+ }
+
+ I couldn't find why m_lastV8String can be prematurely disposed, but the
+ following fix solves the crash:
+
+ class StringCache {
+ v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, ...)
+ {
+ if (m_lastStringImpl.get() == stringImpl && m_lastV8String.IsWeak())
+ return v8::Local<v8::String>::New(m_lastV8String);
+ return v8ExternalStringSlow(stringImpl, ...);
+ }
+ }
+
+ Although the ideal fix might be to fix the root cause of the premature disposal,
+ I think that the proposed fix is reasonable for safety. In fact, we've so far
+ encountered crashes caused by premature disposals (e.g. r123500). The proposed fix
+ will prevent future crashes caused by premature disposals.
+
+ No tests. The crash depends on GC behavior and I couldn't write a test that
+ reproduces the crash. Open http://lore.com/testdrive/Navigating-the-Universe
+ and confirm that Chromium doesn't crash.
+
+ * bindings/v8/V8ValueCache.cpp:
+ (WebCore::StringCache::v8ExternalStringSlow):
+ * bindings/v8/V8ValueCache.h:
+ (WebCore::StringCache::v8ExternalString):
+
+2012-08-23 Pavel Feldman <pfeldman@chromium.org>
+
+ Web Inspector: move ResourceViews to "components" module - it is used from the Resources as well.
+ https://bugs.webkit.org/show_bug.cgi?id=94904
+
+ Reviewed by Vsevolod Vlasov.
+
+ * WebCore.gypi:
+ * inspector/compile-front-end.py:
+ * inspector/front-end/NetworkPanel.js:
+ * inspector/front-end/inspector.html:
+
2012-08-23 Adam Barth <abarth@webkit.org>
[V8] V8DOMWindowShell should use ScopedPersistent
diff --git a/Source/WebCore/Configurations/FeatureDefines.xcconfig b/Source/WebCore/Configurations/FeatureDefines.xcconfig
index cedd95d76..582fad939 100644
--- a/Source/WebCore/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebCore/Configurations/FeatureDefines.xcconfig
@@ -48,7 +48,6 @@ ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
ENABLE_CSS_COMPOSITING = ;
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_FLEXBOX = ENABLE_CSS3_FLEXBOX;
ENABLE_CSS3_TEXT_DECORATION = ;
ENABLE_CUSTOM_SCHEME_HANDLER = ;
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
@@ -105,6 +104,7 @@ ENABLE_MEDIA_STATISTICS = ;
ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
ENABLE_MHTML = ;
ENABLE_MICRODATA = ;
+ENABLE_NAVIGATOR_CONTENT_UTILS = ;
ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS;
ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
@@ -114,7 +114,6 @@ ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
ENABLE_PAGE_VISIBILITY_API = ;
ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
ENABLE_QUOTA = ;
-ENABLE_REGISTER_PROTOCOL_HANDLER = ;
ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
ENABLE_SCRIPTED_SPEECH = ;
ENABLE_SHADOW_DOM = ;
@@ -141,4 +140,4 @@ ENABLE_WIDGET_REGION_macosx = ENABLE_WIDGET_REGION;
ENABLE_WORKERS = ENABLE_WORKERS;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
diff --git a/Source/WebCore/Configurations/Version.xcconfig b/Source/WebCore/Configurations/Version.xcconfig
index 428a583bc..bcc13945e 100644
--- a/Source/WebCore/Configurations/Version.xcconfig
+++ b/Source/WebCore/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 537;
-MINOR_VERSION = 8;
+MINOR_VERSION = 10;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/Source/WebCore/DerivedSources.cpp b/Source/WebCore/DerivedSources.cpp
index 2763a4b49..f00d5568b 100644
--- a/Source/WebCore/DerivedSources.cpp
+++ b/Source/WebCore/DerivedSources.cpp
@@ -91,6 +91,7 @@
#include "JSDOMImplementation.cpp"
#include "JSDOMMimeType.cpp"
#include "JSDOMMimeTypeArray.cpp"
+#include "JSDOMNamedFlowCollection.cpp"
#include "JSDOMParser.cpp"
#include "JSDOMPlugin.cpp"
#include "JSDOMPluginArray.cpp"
diff --git a/Source/WebCore/DerivedSources.make b/Source/WebCore/DerivedSources.make
index ff76c3ad0..b9d63be27 100644
--- a/Source/WebCore/DerivedSources.make
+++ b/Source/WebCore/DerivedSources.make
@@ -236,6 +236,7 @@ BINDING_IDLS = \
$(WebCore)/dom/MutationEvent.idl \
$(WebCore)/dom/MutationObserver.idl \
$(WebCore)/dom/MutationRecord.idl \
+ $(WebCore)/dom/DOMNamedFlowCollection.idl \
$(WebCore)/dom/NamedNodeMap.idl \
$(WebCore)/dom/Node.idl \
$(WebCore)/dom/NodeFilter.idl \
@@ -1029,6 +1030,11 @@ INSPECTOR_GENERATOR_SCRIPTS = inspector/CodeGeneratorInspector.py
InspectorFrontend.h : Inspector.json $(INSPECTOR_GENERATOR_SCRIPTS)
python $(WebCore)/inspector/CodeGeneratorInspector.py $(WebCore)/inspector/Inspector.json --output_h_dir . --output_cpp_dir .
+all : InspectorOverlayPage.h
+
+InspectorOverlayPage.h : InspectorOverlayPage.html
+ perl $(WebCore)/inspector/xxd.pl InspectorOverlayPage_html $(WebCore)/inspector/InspectorOverlayPage.html InspectorOverlayPage.h
+
all : InjectedScriptSource.h
InjectedScriptSource.h : InjectedScriptSource.js
diff --git a/Source/WebCore/DerivedSources.pri b/Source/WebCore/DerivedSources.pri
index 7b5cd2163..011d7f470 100644
--- a/Source/WebCore/DerivedSources.pri
+++ b/Source/WebCore/DerivedSources.pri
@@ -57,6 +57,8 @@ INSPECTOR_JSON = $$PWD/inspector/Inspector.json
INSPECTOR_BACKEND_COMMANDS_QRC = $$PWD/inspector/front-end/InspectorBackendCommands.qrc
+INSPECTOR_OVERLAY_PAGE = $$PWD/inspector/InspectorOverlayPage.html
+
INJECTED_SCRIPT_SOURCE = $$PWD/inspector/InjectedScriptSource.js
INJECTED_SCRIPT_WEBGL_MODULE_SOURCE = $$PWD/inspector/InjectedScriptWebGLModuleSource.js
@@ -139,6 +141,7 @@ IDL_BINDINGS += \
$$PWD/Modules/quota/StorageInfoQuotaCallback.idl \
$$PWD/Modules/quota/StorageInfoUsageCallback.idl \
$$PWD/Modules/webaudio/AudioBuffer.idl \
+ $$PWD/Modules/webaudio/AudioBufferCallback.idl \
$$PWD/Modules/webaudio/AudioBufferSourceNode.idl \
$$PWD/Modules/webaudio/AudioChannelMerger.idl \
$$PWD/Modules/webaudio/AudioChannelSplitter.idl \
@@ -152,11 +155,19 @@ IDL_BINDINGS += \
$$PWD/Modules/webaudio/AudioParam.idl \
$$PWD/Modules/webaudio/AudioProcessingEvent.idl \
$$PWD/Modules/webaudio/AudioSourceNode.idl \
+ $$PWD/Modules/webaudio/BiquadFilterNode.idl \
$$PWD/Modules/webaudio/ConvolverNode.idl \
$$PWD/Modules/webaudio/DelayNode.idl \
$$PWD/Modules/webaudio/DOMWindowWebAudio.idl \
+ $$PWD/Modules/webaudio/DynamicsCompressorNode.idl \
$$PWD/Modules/webaudio/JavaScriptAudioNode.idl \
+ $$PWD/Modules/webaudio/MediaElementAudioSourceNode.idl \
+ $$PWD/Modules/webaudio/MediaStreamAudioSourceNode.idl \
+ $$PWD/Modules/webaudio/OfflineAudioCompletionEvent.idl \
+ $$PWD/Modules/webaudio/Oscillator.idl \
$$PWD/Modules/webaudio/RealtimeAnalyserNode.idl \
+ $$PWD/Modules/webaudio/WaveShaperNode.idl \
+ $$PWD/Modules/webaudio/WaveTable.idl \
$$PWD/Modules/webdatabase/DOMWindowWebDatabase.idl \
$$PWD/Modules/webdatabase/Database.idl \
$$PWD/Modules/webdatabase/DatabaseCallback.idl \
@@ -267,6 +278,7 @@ IDL_BINDINGS += \
$$PWD/dom/UIEvent.idl \
$$PWD/dom/WebKitAnimationEvent.idl \
$$PWD/dom/WebKitNamedFlow.idl \
+ $$PWD/dom/DOMNamedFlowCollection.idl \
$$PWD/dom/WebKitTransitionEvent.idl \
$$PWD/dom/WheelEvent.idl \
$$PWD/editing/DOMTransaction.idl \
@@ -693,7 +705,8 @@ win_cmd_shell: preprocessIdls.commands = type nul > $$IDL_FILES_TMP $$EOC
else: preprocessIdls.commands = cat /dev/null > $$IDL_FILES_TMP $$EOC
for(binding, IDL_BINDINGS) {
# We need "$$binding" instead of "$$binding ", because Windows' echo writes trailing whitespaces. (http://wkb.ug/88304)
- preprocessIdls.commands += echo $$binding>> $$IDL_FILES_TMP $$EOC
+ # A space is omitted between "$$IDL_FILES_TMP" and "$$EOC" to also avoid writing trailing whitespace. (http://wkb.ug/95730)
+ preprocessIdls.commands += echo $$binding>> $$IDL_FILES_TMP$$EOC
}
preprocessIdls.commands += perl -I$$PWD/bindings/scripts $$preprocessIdls.script \
--defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" \
@@ -706,38 +719,44 @@ preprocessIdls.add_output_to_sources = false
preprocessIdls.depends = $$PWD/bindings/scripts/IDLParser.pm $$IDL_BINDINGS
GENERATORS += preprocessIdls
+win32 {
+ env_export = set
+} else {
+ env_export = export
+}
+
# GENERATOR 1: Generate .h and .cpp from IDLs
generateBindings.input = IDL_BINDINGS
generateBindings.script = $$PWD/bindings/scripts/generate-bindings.pl
-generateBindings.commands = perl -I$$PWD/bindings/scripts $$generateBindings.script \
+generateBindings.commands = $$env_export \"SOURCE_ROOT=$$toSystemPath($$PWD)\" && perl -I$$PWD/bindings/scripts $$generateBindings.script \
--defines \"$${FEATURE_DEFINES_JAVASCRIPT}\" \
--generator JS \
- --include $$PWD/Modules/filesystem \
- --include $$PWD/Modules/geolocation \
- --include $$PWD/Modules/indexeddb \
- --include $$PWD/Modules/mediasource \
- --include $$PWD/Modules/notifications \
- --include $$PWD/Modules/quota \
- --include $$PWD/Modules/webaudio \
- --include $$PWD/Modules/webdatabase \
- --include $$PWD/Modules/websockets \
- --include $$PWD/css \
- --include $$PWD/dom \
- --include $$PWD/editing \
- --include $$PWD/fileapi \
- --include $$PWD/html \
- --include $$PWD/html/canvas \
- --include $$PWD/html/shadow \
- --include $$PWD/html/track \
- --include $$PWD/inspector \
- --include $$PWD/loader/appcache \
- --include $$PWD/page \
- --include $$PWD/plugins \
- --include $$PWD/storage \
- --include $$PWD/svg \
- --include $$PWD/testing \
- --include $$PWD/workers \
- --include $$PWD/xml \
+ --include Modules/filesystem \
+ --include Modules/geolocation \
+ --include Modules/indexeddb \
+ --include Modules/mediasource \
+ --include Modules/notifications \
+ --include Modules/quota \
+ --include Modules/webaudio \
+ --include Modules/webdatabase \
+ --include Modules/websockets \
+ --include css \
+ --include dom \
+ --include editing \
+ --include fileapi \
+ --include html \
+ --include html/canvas \
+ --include html/shadow \
+ --include html/track \
+ --include inspector \
+ --include loader/appcache \
+ --include page \
+ --include plugins \
+ --include storage \
+ --include svg \
+ --include testing \
+ --include workers \
+ --include xml \
--outputDir ${QMAKE_FUNC_FILE_OUT_PATH} \
--supplementalDependencyFile ${QMAKE_FUNC_FILE_OUT_PATH}/$$SUPPLEMENTAL_DEPENDENCY_FILE \
--preprocessor \"$${QMAKE_MOC} -E\" ${QMAKE_FILE_NAME}
@@ -773,6 +792,12 @@ inspectorBackendCommands.commands = $$QMAKE_COPY $$toSystemPath($$INSPECTOR_BACK
inspectorBackendCommands.add_output_to_sources = false
GENERATORS += inspectorBackendCommands
+inspectorOverlayPage.output = InspectorOverlayPage.h
+inspectorOverlayPage.input = INSPECTOR_OVERLAY_PAGE
+inspectorOverlayPage.commands = perl $$PWD/inspector/xxd.pl InspectorOverlayPage_html ${QMAKE_FILE_IN} ${QMAKE_FILE_OUT}
+inspectorOverlayPage.add_output_to_sources = false
+GENERATORS += inspectorOverlayPage
+
# GENERATOR 2-a: inspector injected script source compiler
injectedScriptSource.output = InjectedScriptSource.h
injectedScriptSource.input = INJECTED_SCRIPT_SOURCE
@@ -931,35 +956,3 @@ webkitversion.clean = ${QMAKE_FUNC_FILE_OUT_PATH}/WebKitVersion.h
webkitversion.add_output_to_sources = false
GENERATORS += webkitversion
-# Generator 12: Angle parsers
-contains(DEFINES, WTF_USE_3D_GRAPHICS=1) {
-
- ANGLE_DIR = $$replace(PWD, "WebCore", "ThirdParty/ANGLE")
-
- ANGLE_FLEX_SOURCES = \
- $$ANGLE_DIR/src/compiler/glslang.l \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Tokenizer.l
-
- angleflex.output = ${QMAKE_FILE_BASE}_lex.cpp
- angleflex.input = ANGLE_FLEX_SOURCES
- angleflex.commands = flex --noline --nounistd --outfile=${QMAKE_FILE_OUT} ${QMAKE_FILE_IN}
- *g++*: angleflex.variable_out = ANGLE_SOURCES
- GENERATORS += angleflex
-
- ANGLE_BISON_SOURCES = \
- $$ANGLE_DIR/src/compiler/glslang.y \
- $$ANGLE_DIR/src/compiler/preprocessor/new/ExpressionParser.y
-
- anglebison_decl.output = ${QMAKE_FILE_BASE}_tab.h
- anglebison_decl.input = ANGLE_BISON_SOURCES
- anglebison_decl.commands = bison --no-lines --skeleton=yacc.c --defines=${QMAKE_FILE_OUT} --output=${QMAKE_FUNC_FILE_OUT_PATH}$${QMAKE_DIR_SEP}${QMAKE_FILE_OUT_BASE}.cpp ${QMAKE_FILE_IN}
- anglebison_decl.variable_out = GENERATED_FILES
- GENERATORS += anglebison_decl
-
- anglebison_impl.input = ANGLE_BISON_SOURCES
- anglebison_impl.commands = $$escape_expand(\\n)
- anglebison_impl.depends = ${QMAKE_FILE_BASE}_tab.h
- anglebison_impl.output = ${QMAKE_FILE_BASE}_tab.cpp
- *g++*: anglebison_impl.variable_out = ANGLE_SOURCES
- GENERATORS += anglebison_impl
-}
diff --git a/Source/WebCore/English.lproj/localizedStrings.js b/Source/WebCore/English.lproj/localizedStrings.js
index 752cb9e70..cf4b784d3 100644
--- a/Source/WebCore/English.lproj/localizedStrings.js
+++ b/Source/WebCore/English.lproj/localizedStrings.js
@@ -42,7 +42,6 @@ localizedStrings["%s collected"] = "%s collected";
localizedStrings["%s download"] = "%s download";
localizedStrings["%s latency"] = "%s latency";
localizedStrings["%s latency, %s download (%s total)"] = "%s latency, %s download (%s total)";
-localizedStrings["%s of %s"] = "%s of %s";
localizedStrings["%s%.2f%%"] = "%s%.2f%%";
localizedStrings["%s%d"] = "%s%d";
localizedStrings["%s%s"] = "%s%s";
@@ -150,7 +149,6 @@ localizedStrings["DOMContent event fired"] = "DOMContent event fired";
localizedStrings["DOMContent event"] = "DOMContent event";
localizedStrings["DOM Node Count"] = "DOM Node Count";
localizedStrings["Database no longer has expected version."] = "Database no longer has expected version.";
-localizedStrings["Database not found."] = "Database not found.";
localizedStrings["Deactivate all breakpoints."] = "Deactivate all breakpoints.";
localizedStrings["Deactivate all breakpoints"] = "Deactivate all breakpoints";
localizedStrings["Debug"] = "Debug";
@@ -732,3 +730,11 @@ localizedStrings["Emulate position unavailable"] = "Emulate position unavailable
localizedStrings["Override Geolocation"] = "Override Geolocation";
localizedStrings["Geolocation Position"] = "Geolocation Position";
localizedStrings["Override Device Orientation"] = "Override Device Orientation";
+localizedStrings["Note"] = "Note";
+localizedStrings["Forced synchronous layout is a possible performance bottlenck."] = "Forced synchronous layout is a possible performance bottlenck.";
+localizedStrings["Styles invalidated"] = "Styles invalidated";
+localizedStrings["Styles recalculation forced"] = "Styles recalculation forced";
+localizedStrings["Layout invalidated"] = "Layout invalidated";
+localizedStrings["Layout forced"] = "Layout forced";
+localizedStrings["Paused on assertion."] = "Paused on assertion.";
+localizedStrings["%s (%s%s)"] = "%s (%s%s)";
diff --git a/Source/WebCore/ForwardingHeaders/runtime/JSWithScope.h b/Source/WebCore/ForwardingHeaders/runtime/JSWithScope.h
new file mode 100644
index 000000000..209363032
--- /dev/null
+++ b/Source/WebCore/ForwardingHeaders/runtime/JSWithScope.h
@@ -0,0 +1,4 @@
+#ifndef WebCore_FWD_JSWithScope_h
+#define WebCore_FWD_JSWithScope_h
+#include <JavaScriptCore/JSWithScope.h>
+#endif
diff --git a/Source/WebCore/ForwardingHeaders/runtime/ScopeChain.h b/Source/WebCore/ForwardingHeaders/runtime/ScopeChain.h
deleted file mode 100644
index b77cd6941..000000000
--- a/Source/WebCore/ForwardingHeaders/runtime/ScopeChain.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef WebCore_FWD_ScopeChain_h
-#define WebCore_FWD_ScopeChain_h
-#include <JavaScriptCore/ScopeChain.h>
-#endif
diff --git a/Source/WebCore/ForwardingHeaders/runtime/UString.h b/Source/WebCore/ForwardingHeaders/runtime/UString.h
deleted file mode 100644
index d985aa521..000000000
--- a/Source/WebCore/ForwardingHeaders/runtime/UString.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef WebCore_FWD_UString_h
-#define WebCore_FWD_UString_h
-#include <JavaScriptCore/UString.h>
-#endif
diff --git a/Source/WebCore/ForwardingHeaders/runtime/UStringBuilder.h b/Source/WebCore/ForwardingHeaders/runtime/UStringBuilder.h
deleted file mode 100644
index 592a7830f..000000000
--- a/Source/WebCore/ForwardingHeaders/runtime/UStringBuilder.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef WebCore_FWD_UStringBuilder_h
-#define WebCore_FWD_UStringBuilder_h
-#include <JavaScriptCore/UStringBuilder.h>
-#endif
diff --git a/Source/WebCore/ForwardingHeaders/runtime/UStringImpl.h b/Source/WebCore/ForwardingHeaders/runtime/UStringImpl.h
deleted file mode 100644
index 94167a4d6..000000000
--- a/Source/WebCore/ForwardingHeaders/runtime/UStringImpl.h
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifndef WebCore_FWD_UStringImpl_h
-#define WebCore_FWD_UStringImpl_h
-#include <JavaScriptCore/UStringImpl.h>
-#endif
diff --git a/Source/WebCore/GNUmakefile.am b/Source/WebCore/GNUmakefile.am
index 2f06ae3c6..45e3bc695 100644
--- a/Source/WebCore/GNUmakefile.am
+++ b/Source/WebCore/GNUmakefile.am
@@ -15,8 +15,8 @@ webcore_cppflags += \
-I$(srcdir)/Source/WebCore/Modules/indexeddb \
-I$(srcdir)/Source/WebCore/Modules/mediasource \
-I$(srcdir)/Source/WebCore/Modules/mediastream \
+ -I$(srcdir)/Source/WebCore/Modules/navigatorcontentutils \
-I$(srcdir)/Source/WebCore/Modules/notifications \
- -I$(srcdir)/Source/WebCore/Modules/protocolhandler \
-I$(srcdir)/Source/WebCore/Modules/quota \
-I$(srcdir)/Source/WebCore/Modules/webaudio \
-I$(srcdir)/Source/WebCore/Modules/webdatabase \
@@ -117,7 +117,7 @@ webcoregtk_cppflags += \
-I$(srcdir)/Source/WebCore/platform/graphics/gtk \
-I$(srcdir)/Source/WebCore/platform/gtk \
-I$(srcdir)/Source/WebCore/platform/network/soup \
- -I$(srcdir)/Source/WebCore/platform/text/gtk
+ -I$(srcdir)/Source/WebCore/platform/text/enchant
# ---
# Channel mesaging support
@@ -129,15 +129,6 @@ feature_defines_overrides += ENABLE_CHANNEL_MESSAGING=0
endif # END ENABLE_CHANNEL_MESSAGING
# ---
-# Fast Mobile Scrolling
-# ---
-if ENABLE_FAST_MOBILE_SCROLLING
-feature_defines_overrides += ENABLE_FAST_MOBILE_SCROLLING=1
-else
-feature_defines_overrides += ENABLE_FAST_MOBILE_SCROLLING=0
-endif # END ENABLE_FAST_MOBILE_SCROLLING
-
-# ---
# FreeType font backend
# ---
if USE_FREETYPE
@@ -164,15 +155,6 @@ webcoregtk_cppflags += \
endif # END TARGET_WIN32
# ----
-# HTML Details Element
-# ----
-if ENABLE_DETAILS_ELEMENT
-feature_defines_overrides += ENABLE_DETAILS_ELEMENT=1
-else
-feature_defines_overrides += ENABLE_DETAILS_ELEMENT=0
-endif # END ENABLE_DETAILS_ELEMENT
-
-# ----
# HTML Meter Element
# ----
if ENABLE_METER_ELEMENT
@@ -218,33 +200,6 @@ feature_defines_overrides += ENABLE_SQL_DATABASE=0
endif # END ENABLE_SQL_DATABASE
# ----
-# HTML5 datalist Support
-# ----
-if ENABLE_DATALIST_ELEMENT
-feature_defines_overrides += ENABLE_DATALIST_ELEMENT=1
-else
-feature_defines_overrides += ENABLE_DATALIST_ELEMENT=0
-endif # END ENABLE_DATALIST_ELEMENT
-
-# ----
-# HTML5 data transfer items support
-# ----
-if ENABLE_DATA_TRANSFER_ITEMS
-feature_defines_overrides += ENABLE_DATA_TRANSFER_ITEMS=1
-else
-feature_defines_overrides += ENABLE_DATA_TRANSFER_ITEMS=0
-endif # END ENABLE_DATA_TRANSFER_ITEMS
-
-# ----
-# HTML5 <style scoped> support
-# ----
-if ENABLE_STYLE_SCOPED
-feature_defines_overrides += ENABLE_STYLE_SCOPED=1
-else
-feature_defines_overrides += ENABLE_STYLE_SCOPED=0
-endif # END ENABLE_STYLE_SCOPED
-
-# ----
# Indexed Database API support
# ----
if ENABLE_INDEXED_DATABASE
@@ -258,15 +213,6 @@ webcore_cppflags += -DWTF_USE_LEVELDB
endif # END USE_LEVELDB
# ----
-# Support for <input type="file" directory>
-# ----
-if ENABLE_DIRECTORY_UPLOAD
-feature_defines_overrides += ENABLE_DIRECTORY_UPLOAD=1
-else
-feature_defines_overrides += ENABLE_DIRECTORY_UPLOAD=0
-endif # END ENABLE_DIRECTORY_UPLOAD
-
-# ----
# DOM mutation observer support
# ----
if ENABLE_MUTATION_OBSERVERS
@@ -276,60 +222,6 @@ feature_defines_overrides += ENABLE_MUTATION_OBSERVERS=0
endif # END ENABLE_MUTATION_OBSERVERS
# ----
-# FileSystem API support
-# ----
-if ENABLE_FILE_SYSTEM
-feature_defines_overrides += ENABLE_FILE_SYSTEM=1
-else
-feature_defines_overrides += ENABLE_FILE_SYSTEM=0
-endif # END ENABLE_FILE_SYSTEM
-
-# ----
-# Quota support
-# ----
-if ENABLE_QUOTA
-feature_defines_overrides += ENABLE_QUOTA=1
-else
-feature_defines_overrides += ENABLE_QUOTA=0
-endif # END ENABLE_QUOTA
-
-# ----
-# Touch Icon Loading
-# ----
-if ENABLE_TOUCH_ICON_LOADING
-feature_defines_overrides += ENABLE_TOUCH_ICON_LOADING=1
-else
-feature_defines_overrides += ENABLE_TOUCH_ICON_LOADING=0
-endif # END ENABLE_TOUCH_ICON_LOADING
-
-# ----
-# Color Input API support
-# ----
-if ENABLE_INPUT_TYPE_COLOR
-feature_defines_overrides += ENABLE_INPUT_TYPE_COLOR=1
-else
-feature_defines_overrides += ENABLE_INPUT_TYPE_COLOR=0
-endif # END ENABLE_INPUT_TYPE_COLOR
-
-# ----
-# Speech Input API support
-# ----
-if ENABLE_INPUT_SPEECH
-feature_defines_overrides += ENABLE_INPUT_SPEECH=1
-else
-feature_defines_overrides += ENABLE_INPUT_SPEECH=0
-endif # END ENABLE_INPUT_SPEECH
-
-# ----
-# Scripted Speech API support
-# ----
-if ENABLE_SCRIPTED_SPEECH
-feature_defines_overrides += ENABLE_SCRIPTED_SPEECH=1
-else
-feature_defines_overrides += ENABLE_SCRIPTED_SPEECH=0
-endif # END ENABLE_SCRIPTED_SPEECH
-
-# ----
# Icon Database Support
# ----
if ENABLE_ICONDATABASE
@@ -339,15 +231,6 @@ feature_defines_overrides += -DENABLE_ICONDATABASE=0
endif # END ENABLE_ICONDATABASE
# ----
-# Orientation Events
-# ----
-if ENABLE_ORIENTATION_EVENTS
-feature_defines_overrides += ENABLE_ORIENTATION_EVENTS=1
-else
-feature_defines_overrides += ENABLE_ORIENTATION_EVENTS=0
-endif # END ENABLE_ORIENTATION_EVENTS
-
-# ----
# Video Support
# ----
if ENABLE_VIDEO
@@ -362,24 +245,6 @@ feature_defines_overrides += ENABLE_VIDEO=0
endif # END ENABLE_VIDEO
# ----
-# Media Source Support
-# ----
-if ENABLE_MEDIA_SOURCE
-feature_defines_overrides += ENABLE_MEDIA_SOURCE=1
-else
-feature_defines_overrides += ENABLE_MEDIA_SOURCE=0
-endif # END ENABLE_MEDIA_SOURCE
-
-# ----
-# Media Statistics Support
-# ----
-if ENABLE_MEDIA_STATISTICS
-feature_defines_overrides += ENABLE_MEDIA_STATISTICS=1
-else
-feature_defines_overrides += ENABLE_MEDIA_STATISTICS=0
-endif # END ENABLE_MEDIA_STATISTICS
-
-# ----
# Javascript Fullscreen Support
# ----
if ENABLE_FULLSCREEN_API
@@ -484,24 +349,6 @@ feature_defines_overrides += ENABLE_CSS_REGIONS=0
endif # END ENABLE_CSS_REGIONS
# ----
-# Filters
-# ----
-if ENABLE_CSS_FILTERS
-feature_defines_overrides += ENABLE_CSS_FILTERS=1
-else
-feature_defines_overrides += ENABLE_CSS_FILTERS=0
-endif # END ENABLE_CSS_FILTERS
-
-# ----
-# Compositing
-# ----
-if ENABLE_CSS_COMPOSITING
-feature_defines_overrides += ENABLE_CSS_COMPOSITING=1
-else
-feature_defines_overrides += ENABLE_CSS_COMPOSITING=0
-endif # END ENABLE_CSS_COMPOSITING
-
-# ----
# Exclusions
# ----
if ENABLE_CSS_EXCLUSIONS
@@ -535,15 +382,6 @@ DerivedSources/WebCore/MathMLElementFactory.cpp DerivedSources/WebCore/MathMLNam
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $< --tags $(WebCore)/mathml/mathtags.in --attrs $(WebCore)/mathml/mathattrs.in --factory --wrapperFactory --outputDir "$(GENSOURCES_WEBCORE)"
# ----
-# Notifications support
-# ----
-if ENABLE_NOTIFICATIONS
-feature_defines_overrides += ENABLE_NOTIFICATIONS=1 ENABLE_LEGACY_NOTIFICATIONS=1
-else
-feature_defines_overrides += ENABLE_NOTIFICATIONS=0 ENABLE_LEGACY_NOTIFICATIONS=0
-endif # END ENABLE_NOTIFICATIONS
-
-# ----
# SVG Support
#
# FIXME: allow a more fine-grained inclusion/generation of sources per SVG feature
@@ -615,15 +453,6 @@ feature_defines_overrides += ENABLE_LEGACY_WEBKIT_BLOB_BUILDER=0
endif # END ENABLE_LEGACY_WEBKIT_BLOB_BUILDER
# ---
-# Animation API support
-# ---
-if ENABLE_ANIMATION_API
-feature_defines_overrides += ENABLE_ANIMATION_API=1
-else
-feature_defines_overrides += ENABLE_ANIMATION_API=0
-endif # END ENABLE_ANIMATION_API
-
-# ---
# RequestAnimationFrame support
# ---
if ENABLE_REQUEST_ANIMATION_FRAME
@@ -676,42 +505,6 @@ feature_defines_overrides += ENABLE_MHTML=0
endif # END ENABLE_MHTML
# ---
-# HTML5 Microdata support
-# ---
-if ENABLE_MICRODATA
-feature_defines_overrides += ENABLE_MICRODATA=1
-else
-feature_defines_overrides += ENABLE_MICRODATA=0
-endif # END ENABLE_MICRODATA
-
-# ---
-# Register Protocol Handler support
-# ---
-if ENABLE_REGISTER_PROTOCOL_HANDLER
-feature_defines_overrides += ENABLE_REGISTER_PROTOCOL_HANDLER=1
-else
-feature_defines_overrides += ENABLE_REGISTER_PROTOCOL_HANDLER=0
-endif # END ENABLE_REGISTER_PROTOCOL_HANDLER
-
-# ---
-# DeviceOrientation support
-# ---
-if ENABLE_DEVICE_ORIENTATION
-feature_defines_overrides += ENABLE_DEVICE_ORIENTATION=1
-else
-feature_defines_overrides += ENABLE_DEVICE_ORIENTATION=0
-endif # END ENABLE_DEVICE_ORIENTATION
-
-# ---
-# Text Autosizing support
-# ---
-if ENABLE_TEXT_AUTOSIZING
-feature_defines_overrides += ENABLE_TEXT_AUTOSIZING=1
-else
-feature_defines_overrides += ENABLE_TEXT_AUTOSIZING=0
-endif # END ENABLE_TEXT_AUTOSIZING
-
-# ---
# Web Timing support
# ---
if ENABLE_WEB_TIMING
@@ -730,23 +523,6 @@ feature_defines_overrides += ENABLE_IFRAME_SEAMLESS=0
endif # END ENABLE_IFRAME_SEAMLESS
# ---
-# CSS3 Flexbox support
-# ---
-if ENABLE_CSS3_FLEXBOX
-feature_defines_overrides += ENABLE_CSS3_FLEXBOX=1
-else
-feature_defines_overrides += ENABLE_CSS3_FLEXBOX=0
-endif # END ENABLE_CSS3_FLEXBOX
-
-# ---
-# CSS3 Text Decoration support
-if ENABLE_CSS3_TEXT_DECORATION
-feature_defines_overrides += ENABLE_CSS3_TEXT_DECORATION=1
-else
-feature_defines_overrides += ENABLE_CSS3_TEXT_DECORATION=0
-endif # END ENABLE_CSS3_TEXT_DECORATION
-
-# ---
# Link prefetch support
# ---
if ENABLE_LINK_PREFETCH
@@ -756,15 +532,6 @@ feature_defines_overrides += ENABLE_LINK_PREFETCH=0
endif # END ENABLE_LINK_PREFETCH
# ---
-# Widget region support
-# ---
-if ENABLE_WIDGET_REGION
-feature_defines_overrides += ENABLE_WIDGET_REGION=1
-else
-feature_defines_overrides += ENABLE_WIDGET_REGION=0
-endif # END ENABLE_WIDGET_REGION
-
-# ---
# Spell check support
# ---
if ENABLE_SPELLCHECK
@@ -779,22 +546,26 @@ endif # END ENABLE_SPELLCHECK
# ---
if !ENABLE_UNSTABLE_FEATURES
# FIXME: List unstable features here once their configuration options are removed.
-feature_defines_overrides +=
+feature_defines_unstable +=
endif
# Fill the feature_defines variable with all the defines, making it possible
# to override the default define value (as set in feature_defines_defaults)
-# through adding the feature define with the desired value to feature_defines_overrides.
+# through adding the feature define with the desired value to either
+# feature_defines_unstable or feature_defines_overrides.
feature_defines += $(strip $(foreach bare_define, \
$(foreach define,$(feature_defines_defaults), \
$(foreach fvalue,0 1, \
$(if $(findstring =$(fvalue),$(define)),$(patsubst %=$(fvalue),%,$(define))) \
) \
), \
- $(if $(findstring $(bare_define), $(feature_defines_overrides)), \
- $(filter $(bare_define)=%,$(feature_defines_overrides)), \
- $(filter $(bare_define)=%,$(feature_defines_defaults)) \
+ $(if $(findstring $(bare_define), $(feature_defines_unstable)), \
+ $(filter $(bare_define)=%,$(feature_defines_unstable)), \
+ $(if $(findstring $(bare_define), $(feature_defines_overrides)), \
+ $(filter $(bare_define)=%,$(feature_defines_overrides)), \
+ $(filter $(bare_define)=%,$(feature_defines_defaults)) \
+ ) \
) \
))
@@ -802,6 +573,10 @@ feature_defines += $(strip $(foreach bare_define, \
webcore_cppflags += $(foreach define,$(feature_defines),-D$(define))
+$(WEBCORE_CSS_PROPERTY_NAMES): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am
+
+$(WEBCORE_CSS_VALUE_KEYWORDS): $(srcdir)/configure.ac $(srcdir)/Source/WebCore/GNUmakefile.am
+
DerivedSources/WebCore/CSSPropertyNames.cpp: DerivedSources/WebCore/CSSPropertyNames.h
DerivedSources/WebCore/CSSPropertyNames.h: $(WEBCORE_CSS_PROPERTY_NAMES) $(WebCore)/css/makeprop.pl
$(AM_V_GEN)
@@ -918,6 +693,8 @@ DerivedSources/WebCore/InspectorFrontend.h: DerivedSources/WebCore/InspectorFron
DerivedSources/WebCore/InspectorFrontend.cpp: DerivedSources/WebCore/InspectorBackendCommands.js
DerivedSources/WebCore/InspectorBackendCommands.js: DerivedSources/WebCore/InspectorBackendDispatcher.h
DerivedSources/WebCore/InspectorBackendDispatcher.h: DerivedSources/WebCore/InspectorBackendDispatcher.cpp
+DerivedSources/WebCore/InspectorOverlayPage.h: $(WebCore)/inspector/InspectorOverlayPage.html
+ $(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InspectorOverlayPage_html $(WebCore)/inspector/InspectorOverlayPage.html $(GENSOURCES_WEBCORE)/InspectorOverlayPage.h
DerivedSources/WebCore/InjectedScriptSource.h: $(WebCore)/inspector/InjectedScriptSource.js
$(AM_V_GEN)$(PERL) $(WebCore)/inspector/xxd.pl InjectedScriptSource_js $(WebCore)/inspector/InjectedScriptSource.js $(GENSOURCES_WEBCORE)/InjectedScriptSource.h
DerivedSources/WebCore/InjectedScriptWebGLModuleSource.h: $(WebCore)/inspector/InjectedScriptWebGLModuleSource.js
@@ -1120,8 +897,8 @@ EXTRA_DIST += \
$(shell ls $(srcdir)/Source/WebCore/Modules/indexeddb/*.idl) \
$(shell ls $(srcdir)/Source/WebCore/Modules/mediasource/*.idl) \
$(shell ls $(srcdir)/Source/WebCore/Modules/mediastream/*.idl) \
+ $(shell ls $(srcdir)/Source/WebCore/Modules/navigatorcontentutils/*.idl) \
$(shell ls $(srcdir)/Source/WebCore/Modules/notifications/*.idl) \
- $(shell ls $(srcdir)/Source/WebCore/Modules/protocolhandler/*.idl) \
$(shell ls $(srcdir)/Source/WebCore/Modules/quota/*.idl) \
$(shell ls $(srcdir)/Source/WebCore/Modules/webaudio/*.idl) \
$(shell ls $(srcdir)/Source/WebCore/Modules/webdatabase/*.idl) \
@@ -1194,6 +971,7 @@ EXTRA_DIST += \
Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js \
Source/WebCore/inspector/Inspector.json \
Source/WebCore/inspector/Inspector-1.0.json \
+ Source/WebCore/inspector/InspectorOverlayPage.html \
Source/WebCore/inspector/generate-inspector-protocol-version \
Source/WebCore/inspector/xxd.pl \
Source/WebCore/LICENSE-APPLE \
diff --git a/Source/WebCore/GNUmakefile.features.am b/Source/WebCore/GNUmakefile.features.am
index 0a8c3ce65..200058c80 100644
--- a/Source/WebCore/GNUmakefile.features.am
+++ b/Source/WebCore/GNUmakefile.features.am
@@ -7,7 +7,7 @@ feature_defines_defaults += \
ENABLE_CHANNEL_MESSAGING=1 \
ENABLE_CSP_NEXT=0 \
ENABLE_CSS_BOX_DECORATION_BREAK=1 \
- ENABLE_CSS_COMPOSITING=1 \
+ ENABLE_CSS_COMPOSITING=0 \
ENABLE_CSS_EXCLUSIONS=1 \
ENABLE_CSS_FILTERS=0 \
ENABLE_CSS_HIERARCHIES=0 \
@@ -16,10 +16,9 @@ feature_defines_defaults += \
ENABLE_CSS_REGIONS=1 \
ENABLE_CSS_SHADERS=0 \
ENABLE_CSS_VARIABLES=0 \
- ENABLE_CSS3_FLEXBOX=1 \
ENABLE_CUSTOM_SCHEME_HANDLER=0 \
ENABLE_DASHBOARD_SUPPORT=0 \
- ENABLE_DATALIST_ELEMENT=1 \
+ ENABLE_DATALIST_ELEMENT=0 \
ENABLE_DATA_TRANSFER_ITEMS=0 \
ENABLE_DETAILS_ELEMENT=1 \
ENABLE_DEVICE_ORIENTATION=0 \
@@ -60,6 +59,7 @@ feature_defines_defaults += \
ENABLE_MHTML=0 \
ENABLE_MICRODATA=0 \
ENABLE_MUTATION_OBSERVERS=1 \
+ ENABLE_NAVIGATOR_CONTENT_UTILS=0 \
ENABLE_NETSCAPE_PLUGIN_API=1 \
ENABLE_NETWORK_INFO=0 \
ENABLE_NOTIFICATIONS=0 \
@@ -67,7 +67,6 @@ feature_defines_defaults += \
ENABLE_PAGE_VISIBILITY_API=0 \
ENABLE_PROGRESS_ELEMENT=1 \
ENABLE_QUOTA=0 \
- ENABLE_REGISTER_PROTOCOL_HANDLER=0 \
ENABLE_REQUEST_ANIMATION_FRAME=1 \
ENABLE_SCRIPTED_SPEECH=0 \
ENABLE_SHADOW_DOM=1 \
diff --git a/Source/WebCore/GNUmakefile.list.am b/Source/WebCore/GNUmakefile.list.am
index ca110a59a..df8121eff 100644
--- a/Source/WebCore/GNUmakefile.list.am
+++ b/Source/WebCore/GNUmakefile.list.am
@@ -25,6 +25,7 @@ webcore_built_sources += \
DerivedSources/WebCore/InspectorBackendDispatcher.h \
DerivedSources/WebCore/InspectorFrontend.cpp \
DerivedSources/WebCore/InspectorFrontend.h \
+ DerivedSources/WebCore/InspectorOverlayPage.h \
DerivedSources/WebCore/InspectorTypeBuilder.cpp \
DerivedSources/WebCore/InspectorTypeBuilder.h \
DerivedSources/WebCore/InspectorProtocolVersion.h \
@@ -188,6 +189,8 @@ webcore_built_sources += \
DerivedSources/WebCore/JSDOMMimeTypeArray.h \
DerivedSources/WebCore/JSDOMMimeType.cpp \
DerivedSources/WebCore/JSDOMMimeType.h \
+ DerivedSources/WebCore/JSDOMNamedFlowCollection.cpp \
+ DerivedSources/WebCore/JSDOMNamedFlowCollection.h \
DerivedSources/WebCore/JSDOMParser.cpp \
DerivedSources/WebCore/JSDOMParser.h \
DerivedSources/WebCore/JSDOMPluginArray.cpp \
@@ -624,12 +627,18 @@ webcore_built_sources += \
DerivedSources/WebCore/JSRequestAnimationFrameCallback.h \
DerivedSources/WebCore/JSRGBColor.cpp \
DerivedSources/WebCore/JSRGBColor.h \
+ DerivedSources/WebCore/JSRTCErrorCallback.cpp \
+ DerivedSources/WebCore/JSRTCErrorCallback.h \
DerivedSources/WebCore/JSRTCIceCandidate.cpp \
DerivedSources/WebCore/JSRTCIceCandidate.h \
+ DerivedSources/WebCore/JSRTCIceCandidateEvent.cpp \
+ DerivedSources/WebCore/JSRTCIceCandidateEvent.h \
DerivedSources/WebCore/JSRTCPeerConnection.cpp \
DerivedSources/WebCore/JSRTCPeerConnection.h \
DerivedSources/WebCore/JSRTCSessionDescription.cpp \
DerivedSources/WebCore/JSRTCSessionDescription.h \
+ DerivedSources/WebCore/JSRTCSessionDescriptionCallback.cpp \
+ DerivedSources/WebCore/JSRTCSessionDescriptionCallback.h \
DerivedSources/WebCore/JSScreen.cpp \
DerivedSources/WebCore/JSScreen.h \
DerivedSources/WebCore/JSScriptProfile.cpp \
@@ -1136,6 +1145,7 @@ webcore_built_sources += \
DerivedSources/WebCore/MathMLNames.h \
DerivedSources/WebCore/SVGElementFactory.cpp \
DerivedSources/WebCore/SVGNames.cpp \
+ DerivedSources/WebCore/UserAgentGtk.h \
DerivedSources/WebCore/UserAgentStyleSheetsData.cpp \
DerivedSources/WebCore/UserAgentStyleSheets.h \
DerivedSources/WebCore/WebKitFontFamilyNames.cpp \
@@ -1220,14 +1230,17 @@ dom_binding_idls += \
$(WebCore)/Modules/mediastream/NavigatorUserMediaErrorCallback.idl \
$(WebCore)/Modules/mediastream/NavigatorUserMediaSuccessCallback.idl \
$(WebCore)/Modules/mediastream/PeerConnection00.idl \
+ $(WebCore)/Modules/mediastream/RTCErrorCallback.idl \
$(WebCore)/Modules/mediastream/RTCIceCandidate.idl \
+ $(WebCore)/Modules/mediastream/RTCIceCandidateEvent.idl \
$(WebCore)/Modules/mediastream/RTCPeerConnection.idl \
$(WebCore)/Modules/mediastream/RTCSessionDescription.idl \
+ $(WebCore)/Modules/mediastream/RTCSessionDescriptionCallback.idl \
$(WebCore)/Modules/mediastream/SessionDescription.idl \
+ $(WebCore)/Modules/navigatorcontentutils/NavigatorContentUtils.idl \
$(WebCore)/Modules/notifications/Notification.idl \
$(WebCore)/Modules/notifications/NotificationCenter.idl \
$(WebCore)/Modules/notifications/NotificationPermissionCallback.idl \
- $(WebCore)/Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl \
$(WebCore)/Modules/quota/DOMWindowQuota.idl \
$(WebCore)/Modules/quota/StorageInfo.idl \
$(WebCore)/Modules/quota/StorageInfoErrorCallback.idl \
@@ -1348,6 +1361,7 @@ dom_binding_idls += \
$(WebCore)/dom/MutationObserver.idl \
$(WebCore)/dom/MutationRecord.idl \
$(WebCore)/dom/NamedNodeMap.idl \
+ $(WebCore)/dom/DOMNamedFlowCollection.idl \
$(WebCore)/dom/Node.idl \
$(WebCore)/dom/NodeFilter.idl \
$(WebCore)/dom/NodeIterator.idl \
@@ -1836,8 +1850,6 @@ webcore_modules_sources += \
Source/WebCore/Modules/indexeddb/IDBIndex.h \
Source/WebCore/Modules/indexeddb/IDBKey.cpp \
Source/WebCore/Modules/indexeddb/IDBKey.h \
- Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.cpp \
- Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.h \
Source/WebCore/Modules/indexeddb/IDBKeyPath.cpp \
Source/WebCore/Modules/indexeddb/IDBKeyPath.h \
Source/WebCore/Modules/indexeddb/IDBKeyRange.cpp \
@@ -1890,6 +1902,8 @@ webcore_modules_sources += \
Source/WebCore/Modules/mediastream/IceCandidate.h \
Source/WebCore/Modules/mediastream/LocalMediaStream.cpp \
Source/WebCore/Modules/mediastream/LocalMediaStream.h \
+ Source/WebCore/Modules/mediastream/MediaConstraintsImpl.cpp \
+ Source/WebCore/Modules/mediastream/MediaConstraintsImpl.h \
Source/WebCore/Modules/mediastream/MediaStream.cpp \
Source/WebCore/Modules/mediastream/MediaStream.h \
Source/WebCore/Modules/mediastream/MediaStreamEvent.cpp \
@@ -1911,12 +1925,20 @@ webcore_modules_sources += \
Source/WebCore/Modules/mediastream/NavigatorUserMediaSuccessCallback.h \
Source/WebCore/Modules/mediastream/PeerConnection00.cpp \
Source/WebCore/Modules/mediastream/PeerConnection00.h \
+ Source/WebCore/Modules/mediastream/RTCErrorCallback.h \
Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp \
Source/WebCore/Modules/mediastream/RTCIceCandidate.h \
+ Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.cpp \
+ Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.h \
Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp \
Source/WebCore/Modules/mediastream/RTCPeerConnection.h \
Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp \
Source/WebCore/Modules/mediastream/RTCSessionDescription.h \
+ Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h \
+ Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp \
+ Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h \
+ Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp \
+ Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h \
Source/WebCore/Modules/mediastream/SessionDescription.cpp \
Source/WebCore/Modules/mediastream/SessionDescription.h \
Source/WebCore/Modules/mediastream/UserMediaClient.h \
@@ -1924,6 +1946,9 @@ webcore_modules_sources += \
Source/WebCore/Modules/mediastream/UserMediaController.cpp \
Source/WebCore/Modules/mediastream/UserMediaRequest.cpp \
Source/WebCore/Modules/mediastream/UserMediaRequest.h \
+ Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.cpp \
+ Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.h \
+ Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtilsClient.h \
Source/WebCore/Modules/notifications/DOMWindowNotifications.cpp \
Source/WebCore/Modules/notifications/DOMWindowNotifications.h \
Source/WebCore/Modules/notifications/NotificationCenter.cpp \
@@ -1936,9 +1961,6 @@ webcore_modules_sources += \
Source/WebCore/Modules/notifications/NotificationPermissionCallback.h \
Source/WebCore/Modules/notifications/WorkerContextNotifications.cpp \
Source/WebCore/Modules/notifications/WorkerContextNotifications.h \
- Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp \
- Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.h \
- Source/WebCore/Modules/protocolhandler/RegisterProtocolHandlerClient.h \
Source/WebCore/Modules/quota/DOMWindowQuota.cpp \
Source/WebCore/Modules/quota/DOMWindowQuota.h \
Source/WebCore/Modules/quota/StorageInfo.cpp \
@@ -2449,9 +2471,13 @@ webcore_sources += \
Source/WebCore/bridge/runtime_root.cpp \
Source/WebCore/bridge/runtime_root.h \
Source/WebCore/config.h \
+ Source/WebCore/css/BasicShapeFunctions.cpp \
+ Source/WebCore/css/BasicShapeFunctions.h \
Source/WebCore/css/Counter.h \
Source/WebCore/css/CSSAspectRatioValue.cpp \
Source/WebCore/css/CSSAspectRatioValue.h \
+ Source/WebCore/css/CSSBasicShapes.cpp \
+ Source/WebCore/css/CSSBasicShapes.h \
Source/WebCore/css/CSSBorderImageSliceValue.cpp \
Source/WebCore/css/CSSBorderImageSliceValue.h \
Source/WebCore/css/CSSBorderImage.cpp \
@@ -2538,8 +2564,6 @@ webcore_sources += \
Source/WebCore/css/CSSTimingFunctionValue.h \
Source/WebCore/css/CSSToStyleMap.cpp \
Source/WebCore/css/CSSToStyleMap.h \
- Source/WebCore/css/CSSWrapShapes.cpp \
- Source/WebCore/css/CSSWrapShapes.h \
Source/WebCore/css/CSSUnicodeRangeValue.cpp \
Source/WebCore/css/CSSUnicodeRangeValue.h \
Source/WebCore/css/CSSUnknownRule.h \
@@ -2606,6 +2630,8 @@ webcore_sources += \
Source/WebCore/css/SVGCSSComputedStyleDeclaration.cpp \
Source/WebCore/css/SVGCSSParser.cpp \
Source/WebCore/css/SVGCSSStyleSelector.cpp \
+ Source/WebCore/css/WebKitCSSArrayFunctionValue.cpp \
+ Source/WebCore/css/WebKitCSSArrayFunctionValue.h \
Source/WebCore/css/WebKitCSSFilterValue.cpp \
Source/WebCore/css/WebKitCSSFilterValue.h \
Source/WebCore/css/WebKitCSSKeyframeRule.cpp \
@@ -2624,8 +2650,6 @@ webcore_sources += \
Source/WebCore/css/WebKitCSSShaderValue.h \
Source/WebCore/css/WebKitCSSTransformValue.cpp \
Source/WebCore/css/WebKitCSSTransformValue.h \
- Source/WebCore/css/WrapShapeFunctions.cpp \
- Source/WebCore/css/WrapShapeFunctions.h \
Source/WebCore/dom/ActiveDOMObject.cpp \
Source/WebCore/dom/ActiveDOMObject.h \
Source/WebCore/dom/Attr.cpp \
@@ -2720,6 +2744,8 @@ webcore_sources += \
Source/WebCore/dom/DOMError.h \
Source/WebCore/dom/DOMImplementation.cpp \
Source/WebCore/dom/DOMImplementation.h \
+ Source/WebCore/dom/DOMNamedFlowCollection.cpp \
+ Source/WebCore/dom/DOMNamedFlowCollection.h \
Source/WebCore/dom/DOMStringList.cpp \
Source/WebCore/dom/DOMStringList.h \
Source/WebCore/dom/DOMStringMap.cpp \
@@ -2782,7 +2808,6 @@ webcore_sources += \
Source/WebCore/dom/HashChangeEvent.h \
Source/WebCore/dom/KeyboardEvent.cpp \
Source/WebCore/dom/KeyboardEvent.h \
- Source/WebCore/dom/MemoryInstrumentation.cpp \
Source/WebCore/dom/MemoryInstrumentation.h \
Source/WebCore/dom/MessageChannel.cpp \
Source/WebCore/dom/MessageChannel.h \
@@ -2809,6 +2834,8 @@ webcore_sources += \
Source/WebCore/dom/MutationObserverRegistration.h \
Source/WebCore/dom/MutationRecord.cpp \
Source/WebCore/dom/MutationRecord.h \
+ Source/WebCore/dom/NamedFlowCollection.cpp \
+ Source/WebCore/dom/NamedFlowCollection.h \
Source/WebCore/dom/NamedNodeMap.cpp \
Source/WebCore/dom/NamedNodeMap.h \
Source/WebCore/dom/NameNodeList.cpp \
@@ -2918,12 +2945,12 @@ webcore_sources += \
Source/WebCore/dom/UserTypingGestureIndicator.h \
Source/WebCore/dom/ViewportArguments.cpp \
Source/WebCore/dom/ViewportArguments.h \
+ Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp \
+ Source/WebCore/dom/WebCoreMemoryInstrumentation.h \
Source/WebCore/dom/WebKitAnimationEvent.cpp \
Source/WebCore/dom/WebKitAnimationEvent.h \
Source/WebCore/dom/WebKitNamedFlow.cpp \
Source/WebCore/dom/WebKitNamedFlow.h \
- Source/WebCore/dom/WebKitNamedFlowCollection.cpp \
- Source/WebCore/dom/WebKitNamedFlowCollection.h \
Source/WebCore/dom/WebKitTransitionEvent.cpp \
Source/WebCore/dom/WebKitTransitionEvent.h \
Source/WebCore/dom/WheelEvent.cpp \
@@ -4005,6 +4032,8 @@ webcore_sources += \
Source/WebCore/page/PrintContext.h \
Source/WebCore/page/Screen.cpp \
Source/WebCore/page/Screen.h \
+ Source/WebCore/page/scrolling/ScrollingConstraints.cpp \
+ Source/WebCore/page/scrolling/ScrollingConstraints.h \
Source/WebCore/page/scrolling/ScrollingCoordinator.cpp \
Source/WebCore/page/scrolling/ScrollingCoordinator.h \
Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp \
@@ -4156,6 +4185,8 @@ webcore_sources += \
Source/WebCore/platform/Cursor.h \
Source/WebCore/platform/DateComponents.cpp \
Source/WebCore/platform/DateComponents.h \
+ Source/WebCore/platform/DateTimeChooser.h \
+ Source/WebCore/platform/DateTimeChooserClient.h \
Source/WebCore/platform/Decimal.cpp \
Source/WebCore/platform/Decimal.h \
Source/WebCore/platform/DragData.cpp \
@@ -4223,6 +4254,8 @@ webcore_sources += \
Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.h \
Source/WebCore/platform/graphics/filters/CustomFilterMesh.cpp \
Source/WebCore/platform/graphics/filters/CustomFilterMesh.h \
+ Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.cpp \
+ Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.h \
Source/WebCore/platform/graphics/filters/CustomFilterNumberParameter.h \
Source/WebCore/platform/graphics/filters/CustomFilterOperation.cpp \
Source/WebCore/platform/graphics/filters/CustomFilterOperation.h \
@@ -4233,6 +4266,9 @@ webcore_sources += \
Source/WebCore/platform/graphics/filters/CustomFilterProgramInfo.h \
Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp \
Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h \
+ Source/WebCore/platform/graphics/filters/CustomFilterTransformParameter.h \
+ Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp \
+ Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h \
Source/WebCore/platform/graphics/filters/DistantLightSource.cpp \
Source/WebCore/platform/graphics/filters/DistantLightSource.h \
Source/WebCore/platform/graphics/filters/FEBlend.cpp \
@@ -4334,10 +4370,11 @@ webcore_sources += \
Source/WebCore/platform/graphics/FractionalLayoutRect.cpp \
Source/WebCore/platform/graphics/FractionalLayoutRect.h \
Source/WebCore/platform/graphics/FractionalLayoutSize.h \
- Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp \
- Source/WebCore/platform/graphics/GeneratorGeneratedImage.h \
+ Source/WebCore/platform/graphics/GeneratedImage.cpp \
Source/WebCore/platform/graphics/GeneratedImage.h \
Source/WebCore/platform/graphics/Generator.h \
+ Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp \
+ Source/WebCore/platform/graphics/GeneratorGeneratedImage.h \
Source/WebCore/platform/graphics/Glyph.h \
Source/WebCore/platform/graphics/GlyphBuffer.h \
Source/WebCore/platform/graphics/GlyphMetricsMap.h \
@@ -4454,6 +4491,7 @@ webcore_sources += \
Source/WebCore/platform/gtk/LoggingGtk.cpp \
Source/WebCore/platform/gtk/MIMETypeRegistryGtk.cpp \
Source/WebCore/platform/gtk/SharedBufferGtk.cpp \
+ Source/WebCore/platform/gtk/UserAgentGtk.cpp \
Source/WebCore/platform/gtk/TemporaryLinkStubs.cpp \
Source/WebCore/platform/HostWindow.h \
Source/WebCore/platform/KillRing.h \
@@ -4517,6 +4555,7 @@ webcore_sources += \
Source/WebCore/platform/mediastream/IceCandidateDescriptor.h \
Source/WebCore/platform/mediastream/IceOptions.cpp \
Source/WebCore/platform/mediastream/IceOptions.h \
+ Source/WebCore/platform/mediastream/MediaConstraints.h \
Source/WebCore/platform/mediastream/MediaHints.cpp \
Source/WebCore/platform/mediastream/MediaHints.h \
Source/WebCore/platform/mediastream/MediaStreamCenter.cpp \
@@ -4536,8 +4575,10 @@ webcore_sources += \
Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp \
Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h \
Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h \
+ Source/WebCore/platform/mediastream/RTCSessionDescriptionRequest.h \
Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.cpp \
Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h \
+ Source/WebCore/platform/mediastream/RTCVoidRequest.h \
Source/WebCore/platform/mediastream/SessionDescriptionDescriptor.cpp \
Source/WebCore/platform/mediastream/SessionDescriptionDescriptor.h \
Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp \
@@ -4707,8 +4748,8 @@ webcore_sources += \
Source/WebCore/platform/SuddenTermination.h \
Source/WebCore/platform/Supplementable.h \
Source/WebCore/platform/SystemTime.h \
- Source/WebCore/platform/text/gtk/TextCheckerEnchant.h \
- Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp \
+ Source/WebCore/platform/text/enchant/TextCheckerEnchant.h \
+ Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp \
Source/WebCore/platform/text/BidiContext.cpp \
Source/WebCore/platform/text/BidiContext.h \
Source/WebCore/platform/text/BidiResolver.h \
@@ -4728,18 +4769,17 @@ webcore_sources += \
Source/WebCore/platform/text/LocalizedNumber.h \
Source/WebCore/platform/text/LocalizedNumberNone.cpp \
Source/WebCore/platform/text/ParserUtilities.h \
- Source/WebCore/platform/text/PlatformString.h \
Source/WebCore/platform/text/QuotedPrintable.cpp \
Source/WebCore/platform/text/QuotedPrintable.h \
Source/WebCore/platform/text/RegularExpression.cpp \
Source/WebCore/platform/text/RegularExpression.h \
Source/WebCore/platform/text/SegmentedString.cpp \
Source/WebCore/platform/text/SegmentedString.h \
- Source/WebCore/platform/text/String.cpp \
Source/WebCore/platform/text/StringWithDirection.h \
Source/WebCore/platform/text/SuffixTree.h \
Source/WebCore/platform/text/TextBoundaries.cpp \
Source/WebCore/platform/text/TextBoundaries.h \
+ Source/WebCore/platform/text/TextBreakIterator.cpp \
Source/WebCore/platform/text/TextBreakIterator.h \
Source/WebCore/platform/text/TextCheckerClient.h \
Source/WebCore/platform/text/TextChecking.h \
@@ -4769,8 +4809,9 @@ webcore_sources += \
Source/WebCore/platform/text/UnicodeBidi.h \
Source/WebCore/platform/text/UnicodeRange.cpp \
Source/WebCore/platform/text/UnicodeRange.h \
- Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp \
- Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h \
+ Source/WebCore/platform/text/WritingMode.h \
+ Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp \
+ Source/WebCore/platform/TouchFlingPlatformGestureCurve.h \
Source/WebCore/platform/ThemeTypes.h \
Source/WebCore/platform/ThreadCheck.h \
Source/WebCore/platform/ThreadGlobalData.cpp \
@@ -4851,6 +4892,7 @@ webcore_sources += \
Source/WebCore/rendering/LayoutState.cpp \
Source/WebCore/rendering/LayoutState.h \
Source/WebCore/rendering/LayoutTypes.h \
+ Source/WebCore/rendering/LayoutTypesInlineMethods.h \
Source/WebCore/rendering/LayoutRepainter.h \
Source/WebCore/rendering/LayoutRepainter.cpp \
Source/WebCore/rendering/OverlapTestRequestClient.h \
@@ -4883,6 +4925,7 @@ webcore_sources += \
Source/WebCore/rendering/RenderDeprecatedFlexibleBox.h \
Source/WebCore/rendering/RenderDetailsMarker.cpp \
Source/WebCore/rendering/RenderDetailsMarker.h \
+ Source/WebCore/rendering/RenderDialog.h \
Source/WebCore/rendering/RenderEmbeddedObject.cpp \
Source/WebCore/rendering/RenderEmbeddedObject.h \
Source/WebCore/rendering/RenderFieldset.cpp \
@@ -4893,8 +4936,6 @@ webcore_sources += \
Source/WebCore/rendering/RenderFlexibleBox.h \
Source/WebCore/rendering/RenderFlowThread.cpp \
Source/WebCore/rendering/RenderFlowThread.h \
- Source/WebCore/rendering/RenderFlowThreadContainer.cpp \
- Source/WebCore/rendering/RenderFlowThreadContainer.h \
Source/WebCore/rendering/RenderFrameBase.cpp \
Source/WebCore/rendering/RenderFrameBase.h \
Source/WebCore/rendering/RenderFrame.cpp \
@@ -5032,6 +5073,8 @@ webcore_sources += \
Source/WebCore/rendering/ScrollBehavior.cpp \
Source/WebCore/rendering/ScrollBehavior.h \
Source/WebCore/rendering/VerticalPositionCache.h \
+ Source/WebCore/rendering/WrapShapeInfo.cpp \
+ Source/WebCore/rendering/WrapShapeInfo.h \
Source/WebCore/rendering/mathml/RenderMathMLBlock.cpp \
Source/WebCore/rendering/mathml/RenderMathMLBlock.h \
Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp \
@@ -5052,6 +5095,8 @@ webcore_sources += \
Source/WebCore/rendering/mathml/RenderMathMLSubSup.h \
Source/WebCore/rendering/mathml/RenderMathMLUnderOver.cpp \
Source/WebCore/rendering/mathml/RenderMathMLUnderOver.h \
+ Source/WebCore/rendering/style/BasicShapes.cpp \
+ Source/WebCore/rendering/style/BasicShapes.h \
Source/WebCore/rendering/style/BorderData.h \
Source/WebCore/rendering/style/BorderValue.h \
Source/WebCore/rendering/style/CollapsedBorderValue.h \
@@ -5128,8 +5173,6 @@ webcore_sources += \
Source/WebCore/rendering/style/SVGRenderStyleDefs.cpp \
Source/WebCore/rendering/style/SVGRenderStyleDefs.h \
Source/WebCore/rendering/style/SVGRenderStyle.h \
- Source/WebCore/rendering/style/WrapShapes.cpp \
- Source/WebCore/rendering/style/WrapShapes.h \
Source/WebCore/rendering/svg/RenderSVGBlock.cpp \
Source/WebCore/rendering/svg/RenderSVGBlock.h \
Source/WebCore/rendering/svg/RenderSVGContainer.cpp \
diff --git a/Source/WebCore/Modules/filesystem/AsyncFileWriter.h b/Source/WebCore/Modules/filesystem/AsyncFileWriter.h
index 5af1b98d7..505c92b89 100644
--- a/Source/WebCore/Modules/filesystem/AsyncFileWriter.h
+++ b/Source/WebCore/Modules/filesystem/AsyncFileWriter.h
@@ -33,8 +33,8 @@
#if ENABLE(FILE_SYSTEM)
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DOMFilePath.h b/Source/WebCore/Modules/filesystem/DOMFilePath.h
index a1b12d0b9..5f0176625 100644
--- a/Source/WebCore/Modules/filesystem/DOMFilePath.h
+++ b/Source/WebCore/Modules/filesystem/DOMFilePath.h
@@ -33,9 +33,9 @@
#if ENABLE(FILE_SYSTEM)
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DOMFileSystemBase.h b/Source/WebCore/Modules/filesystem/DOMFileSystemBase.h
index ae38278b1..3b4246a91 100644
--- a/Source/WebCore/Modules/filesystem/DOMFileSystemBase.h
+++ b/Source/WebCore/Modules/filesystem/DOMFileSystemBase.h
@@ -37,9 +37,9 @@
#include "FileSystemFlags.h"
#include "FileSystemType.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DOMWindowFileSystem.idl b/Source/WebCore/Modules/filesystem/DOMWindowFileSystem.idl
index b6ef51319..f8f7779e0 100644
--- a/Source/WebCore/Modules/filesystem/DOMWindowFileSystem.idl
+++ b/Source/WebCore/Modules/filesystem/DOMWindowFileSystem.idl
@@ -36,7 +36,7 @@ module window {
[V8EnabledAtRuntime=FileSystem] void webkitRequestFileSystem(in unsigned short type, in long long size,
in [Callback] FileSystemCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
[V8EnabledAtRuntime=FileSystem] void webkitResolveLocalFileSystemURL(in DOMString url,
- in [Callback, Optional] EntryCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
+ in [Callback] EntryCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
};
}
diff --git a/Source/WebCore/Modules/filesystem/DirectoryEntry.h b/Source/WebCore/Modules/filesystem/DirectoryEntry.h
index 62d99e395..58c9e7f67 100644
--- a/Source/WebCore/Modules/filesystem/DirectoryEntry.h
+++ b/Source/WebCore/Modules/filesystem/DirectoryEntry.h
@@ -35,9 +35,9 @@
#include "Entry.h"
#include "FileSystemFlags.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DirectoryEntrySync.h b/Source/WebCore/Modules/filesystem/DirectoryEntrySync.h
index 6989b2770..fcfffea8c 100644
--- a/Source/WebCore/Modules/filesystem/DirectoryEntrySync.h
+++ b/Source/WebCore/Modules/filesystem/DirectoryEntrySync.h
@@ -35,9 +35,9 @@
#include "EntrySync.h"
#include "FileSystemFlags.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DirectoryReader.h b/Source/WebCore/Modules/filesystem/DirectoryReader.h
index bc8985894..f877c414a 100644
--- a/Source/WebCore/Modules/filesystem/DirectoryReader.h
+++ b/Source/WebCore/Modules/filesystem/DirectoryReader.h
@@ -35,9 +35,9 @@
#include "DOMFileSystem.h"
#include "DirectoryReaderBase.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DirectoryReaderBase.h b/Source/WebCore/Modules/filesystem/DirectoryReaderBase.h
index 4096fe8a2..b7e5acdf9 100644
--- a/Source/WebCore/Modules/filesystem/DirectoryReaderBase.h
+++ b/Source/WebCore/Modules/filesystem/DirectoryReaderBase.h
@@ -34,9 +34,9 @@
#if ENABLE(FILE_SYSTEM)
#include "DOMFileSystemBase.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/DirectoryReaderSync.h b/Source/WebCore/Modules/filesystem/DirectoryReaderSync.h
index b1d1282c2..4a89020fd 100644
--- a/Source/WebCore/Modules/filesystem/DirectoryReaderSync.h
+++ b/Source/WebCore/Modules/filesystem/DirectoryReaderSync.h
@@ -34,9 +34,9 @@
#if ENABLE(FILE_SYSTEM)
#include "DirectoryReaderBase.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/EntryBase.cpp b/Source/WebCore/Modules/filesystem/EntryBase.cpp
index 50e608940..4d32e5c73 100644
--- a/Source/WebCore/Modules/filesystem/EntryBase.cpp
+++ b/Source/WebCore/Modules/filesystem/EntryBase.cpp
@@ -36,10 +36,9 @@
#include "AsyncFileSystem.h"
#include "DOMFilePath.h"
#include "DOMFileSystemBase.h"
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include <wtf/PassRefPtr.h>
-#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/EntrySync.h b/Source/WebCore/Modules/filesystem/EntrySync.h
index 644ad7171..d5ee54ee2 100644
--- a/Source/WebCore/Modules/filesystem/EntrySync.h
+++ b/Source/WebCore/Modules/filesystem/EntrySync.h
@@ -35,7 +35,7 @@
#include "DOMFileSystemSync.h"
#include "EntryBase.h"
-#include "PlatformString.h"
+#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
diff --git a/Source/WebCore/Modules/filesystem/FileEntrySync.h b/Source/WebCore/Modules/filesystem/FileEntrySync.h
index 615a604bf..ca3a54e09 100644
--- a/Source/WebCore/Modules/filesystem/FileEntrySync.h
+++ b/Source/WebCore/Modules/filesystem/FileEntrySync.h
@@ -34,9 +34,9 @@
#if ENABLE(FILE_SYSTEM)
#include "EntrySync.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/FileSystemCallbacks.h b/Source/WebCore/Modules/filesystem/FileSystemCallbacks.h
index ac3292696..25fe3685c 100644
--- a/Source/WebCore/Modules/filesystem/FileSystemCallbacks.h
+++ b/Source/WebCore/Modules/filesystem/FileSystemCallbacks.h
@@ -35,9 +35,9 @@
#include "AsyncFileSystemCallbacks.h"
#include "FileSystemType.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/LocalFileSystem.h b/Source/WebCore/Modules/filesystem/LocalFileSystem.h
index cdb2f9c81..aca5aed50 100644
--- a/Source/WebCore/Modules/filesystem/LocalFileSystem.h
+++ b/Source/WebCore/Modules/filesystem/LocalFileSystem.h
@@ -35,9 +35,9 @@
#include "DOMFileSystemBase.h"
#include "FileSystemType.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/filesystem/WorkerContextFileSystem.idl b/Source/WebCore/Modules/filesystem/WorkerContextFileSystem.idl
index cb9c32849..befc0f53c 100644
--- a/Source/WebCore/Modules/filesystem/WorkerContextFileSystem.idl
+++ b/Source/WebCore/Modules/filesystem/WorkerContextFileSystem.idl
@@ -35,7 +35,7 @@ module threads {
[V8EnabledAtRuntime=FileSystem] void webkitRequestFileSystem(in unsigned short type, in long long size, in [Callback, Optional] FileSystemCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
[V8EnabledAtRuntime=FileSystem] DOMFileSystemSync webkitRequestFileSystemSync(in unsigned short type, in long long size) raises (FileException);
- [V8EnabledAtRuntime=FileSystem] void webkitResolveLocalFileSystemURL(in DOMString url, in [Callback, Optional] EntryCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
+ [V8EnabledAtRuntime=FileSystem] void webkitResolveLocalFileSystemURL(in DOMString url, in [Callback] EntryCallback successCallback, in [Callback, Optional] ErrorCallback errorCallback);
[V8EnabledAtRuntime=FileSystem] EntrySync webkitResolveLocalFileSystemSyncURL(in DOMString url) raises (FileException);
attribute [V8EnabledAtRuntime=FileSystem] FileErrorConstructor FileError;
diff --git a/Source/WebCore/Modules/geolocation/GeolocationError.h b/Source/WebCore/Modules/geolocation/GeolocationError.h
index 7352e6b15..bfb61aabe 100644
--- a/Source/WebCore/Modules/geolocation/GeolocationError.h
+++ b/Source/WebCore/Modules/geolocation/GeolocationError.h
@@ -26,10 +26,10 @@
#ifndef GeolocationError_h
#define GeolocationError_h
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/geolocation/Geoposition.h b/Source/WebCore/Modules/geolocation/Geoposition.h
index 5386aaaf4..27064dddf 100644
--- a/Source/WebCore/Modules/geolocation/Geoposition.h
+++ b/Source/WebCore/Modules/geolocation/Geoposition.h
@@ -28,8 +28,8 @@
#include "Coordinates.h"
#include "Event.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/geolocation/PositionError.h b/Source/WebCore/Modules/geolocation/PositionError.h
index 146717041..aa51c6a33 100644
--- a/Source/WebCore/Modules/geolocation/PositionError.h
+++ b/Source/WebCore/Modules/geolocation/PositionError.h
@@ -26,9 +26,9 @@
#ifndef PositionError_h
#define PositionError_h
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/indexeddb/IDBAny.h b/Source/WebCore/Modules/indexeddb/IDBAny.h
index 8ba77429a..d8783d205 100644
--- a/Source/WebCore/Modules/indexeddb/IDBAny.h
+++ b/Source/WebCore/Modules/indexeddb/IDBAny.h
@@ -28,10 +28,10 @@
#if ENABLE(INDEXED_DATABASE)
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp b/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp
index aa93e6a82..b3f70add2 100644
--- a/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBDatabase.cpp
@@ -263,7 +263,8 @@ PassRefPtr<IDBTransaction> IDBDatabase::transaction(ScriptExecutionContext* cont
PassRefPtr<IDBTransaction> IDBDatabase::transaction(ScriptExecutionContext* context, PassRefPtr<DOMStringList> prpStoreNames, unsigned short mode, ExceptionCode& ec)
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Numeric transaction modes are deprecated in IDBDatabase.transaction. Use \"readonly\" or \"readwrite\"."));
+ // FIXME: Is this thread-safe?
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Numeric transaction modes are deprecated in IDBDatabase.transaction. Use \"readonly\" or \"readwrite\".")));
context->addConsoleMessage(JSMessageSource, LogMessageType, WarningMessageLevel, consoleMessage);
AtomicString modeString = IDBTransaction::modeToString(IDBTransaction::Mode(mode), ec);
if (ec)
diff --git a/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h b/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h
index 0f6b35d60..c7d1d601b 100644
--- a/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h
+++ b/Source/WebCore/Modules/indexeddb/IDBDatabaseBackendInterface.h
@@ -26,9 +26,9 @@
#ifndef IDBDatabaseBackendInterface_h
#define IDBDatabaseBackendInterface_h
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h b/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h
index e83de5128..9cebe2d4b 100644
--- a/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h
+++ b/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacks.h
@@ -28,8 +28,8 @@
#if ENABLE(INDEXED_DATABASE)
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h b/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h
index 792be3ad7..8781dbb0a 100644
--- a/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h
+++ b/Source/WebCore/Modules/indexeddb/IDBDatabaseCallbacksImpl.h
@@ -27,8 +27,8 @@
#define IDBDatabaseCallbacksImpl_h
#include "IDBDatabaseCallbacks.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBDatabaseError.h b/Source/WebCore/Modules/indexeddb/IDBDatabaseError.h
index 76ff09f66..d6f8685af 100644
--- a/Source/WebCore/Modules/indexeddb/IDBDatabaseError.h
+++ b/Source/WebCore/Modules/indexeddb/IDBDatabaseError.h
@@ -27,9 +27,9 @@
#define IDBDatabaseError_h
#include "IDBDatabaseException.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBFactory.cpp b/Source/WebCore/Modules/indexeddb/IDBFactory.cpp
index c83ba3645..c20635f2a 100644
--- a/Source/WebCore/Modules/indexeddb/IDBFactory.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBFactory.cpp
@@ -111,6 +111,12 @@ PassRefPtr<IDBOpenDBRequest> IDBFactory::open(ScriptExecutionContext* context, c
ec = NATIVE_TYPE_ERR;
return 0;
}
+ // FIXME: We need to throw an error if script passes -1. Somehow refactor
+ // this to avoid wanting to throw an error with the sentinel.
+ if (!version || version < IDBDatabaseMetadata::NoIntVersion) {
+ ec = NATIVE_TYPE_ERR;
+ return 0;
+ }
if (!isContextValid(context))
return 0;
diff --git a/Source/WebCore/Modules/indexeddb/IDBFactory.h b/Source/WebCore/Modules/indexeddb/IDBFactory.h
index 3645bb81d..7cd961be5 100644
--- a/Source/WebCore/Modules/indexeddb/IDBFactory.h
+++ b/Source/WebCore/Modules/indexeddb/IDBFactory.h
@@ -31,10 +31,10 @@
#include "DOMStringList.h"
#include "IDBFactoryBackendInterface.h"
#include "IDBOpenDBRequest.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h b/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h
index 4ea5d8a33..f56fc06e0 100644
--- a/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h
+++ b/Source/WebCore/Modules/indexeddb/IDBFactoryBackendInterface.h
@@ -29,9 +29,9 @@
#define IDBFactoryBackendInterface_h
#include "IDBCallbacks.h"
-#include "PlatformString.h"
#include <wtf/Threading.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBIndex.cpp b/Source/WebCore/Modules/indexeddb/IDBIndex.cpp
index 1e02d9063..e37ef0b8f 100644
--- a/Source/WebCore/Modules/indexeddb/IDBIndex.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBIndex.cpp
@@ -87,7 +87,8 @@ PassRefPtr<IDBRequest> IDBIndex::openCursor(ScriptExecutionContext* context, Pas
PassRefPtr<IDBRequest> IDBIndex::openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, unsigned short direction, ExceptionCode& ec)
{
IDB_TRACE("IDBIndex::openCursor");
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Numeric direction values are deprecated in IDBIndex.openCursor. Use \"next\", \"nextunique\", \"prev\", or \"prevunique\"."));
+ // FIXME: Is this thread-safe?
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Numeric direction values are deprecated in IDBIndex.openCursor. Use \"next\", \"nextunique\", \"prev\", or \"prevunique\".")));
context->addConsoleMessage(JSMessageSource, LogMessageType, WarningMessageLevel, consoleMessage);
const String& directionString = IDBCursor::directionToString(direction, ec);
if (ec)
@@ -170,7 +171,8 @@ PassRefPtr<IDBRequest> IDBIndex::openKeyCursor(ScriptExecutionContext* context,
PassRefPtr<IDBRequest> IDBIndex::openKeyCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> keyRange, unsigned short direction, ExceptionCode& ec)
{
IDB_TRACE("IDBIndex::openKeyCursor");
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Numeric direction values are deprecated in IDBIndex.openKeyCursor. Use \"next\", \"nextunique\", \"prev\", or \"prevunique\"."));
+ // FIXME: Is this thread-safe?
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Numeric direction values are deprecated in IDBIndex.openKeyCursor. Use \"next\", \"nextunique\", \"prev\", or \"prevunique\".")));
context->addConsoleMessage(JSMessageSource, LogMessageType, WarningMessageLevel, consoleMessage);
const String& directionString = IDBCursor::directionToString(direction, ec);
if (ec)
diff --git a/Source/WebCore/Modules/indexeddb/IDBIndex.h b/Source/WebCore/Modules/indexeddb/IDBIndex.h
index 59e038836..3e26070a9 100644
--- a/Source/WebCore/Modules/indexeddb/IDBIndex.h
+++ b/Source/WebCore/Modules/indexeddb/IDBIndex.h
@@ -33,8 +33,8 @@
#include "IDBMetadata.h"
#include "IDBObjectStore.h"
#include "IDBRequest.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBIndexBackendInterface.h b/Source/WebCore/Modules/indexeddb/IDBIndexBackendInterface.h
index 5c0a16953..0761f0681 100644
--- a/Source/WebCore/Modules/indexeddb/IDBIndexBackendInterface.h
+++ b/Source/WebCore/Modules/indexeddb/IDBIndexBackendInterface.h
@@ -26,9 +26,9 @@
#ifndef IDBIndexBackendInterface_h
#define IDBIndexBackendInterface_h
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBKey.h b/Source/WebCore/Modules/indexeddb/IDBKey.h
index 8598729d7..bb378f8d5 100644
--- a/Source/WebCore/Modules/indexeddb/IDBKey.h
+++ b/Source/WebCore/Modules/indexeddb/IDBKey.h
@@ -28,10 +28,10 @@
#if ENABLE(INDEXED_DATABASE)
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/Threading.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/indexeddb/IDBKeyPath.h b/Source/WebCore/Modules/indexeddb/IDBKeyPath.h
index 5244c8a1b..3d0018229 100644
--- a/Source/WebCore/Modules/indexeddb/IDBKeyPath.h
+++ b/Source/WebCore/Modules/indexeddb/IDBKeyPath.h
@@ -28,8 +28,8 @@
#if ENABLE(INDEXED_DATABASE)
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -45,8 +45,8 @@ void IDBParseKeyPath(const String&, Vector<String>&, IDBKeyPathParseError&);
class IDBKeyPath {
public:
IDBKeyPath() : m_type(NullType) { }
- IDBKeyPath(const String&);
- IDBKeyPath(const Vector<String>& array);
+ explicit IDBKeyPath(const String&);
+ explicit IDBKeyPath(const Vector<String>& array);
enum Type {
NullType = 0,
diff --git a/Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp b/Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp
index 04a4fbba2..15be89610 100644
--- a/Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBLevelDBBackingStore.cpp
@@ -88,6 +88,16 @@ static bool putInt(DBOrTransaction* db, const Vector<char>& key, int64_t value)
}
template <typename DBOrTransaction>
+static bool getVarInt(DBOrTransaction* db, const Vector<char>& key, int64_t& foundInt)
+{
+ Vector<char> result;
+ if (!db->get(key, result))
+ return false;
+
+ return decodeVarInt(result.begin(), result.end(), foundInt) == result.end();
+}
+
+template <typename DBOrTransaction>
static bool putVarInt(DBOrTransaction* db, const Vector<char>& key, int64_t value)
{
return db->put(key, encodeVarInt(value));
@@ -138,16 +148,17 @@ public:
static bool setUpMetadata(LevelDBDatabase* db, const String& origin)
{
+ const int64_t latestSchemaVersion = 1;
const Vector<char> metaDataKey = SchemaVersionKey::encode();
int64_t schemaVersion = 0;
if (!getInt(db, metaDataKey, schemaVersion)) {
- schemaVersion = 0;
- if (!putInt(db, metaDataKey, schemaVersion))
+ schemaVersion = latestSchemaVersion;
+ if (!putInt(db, metaDataKey, latestSchemaVersion))
return false;
} else {
if (!schemaVersion) {
- schemaVersion = 1;
+ schemaVersion = latestSchemaVersion;
RefPtr<LevelDBTransaction> transaction = LevelDBTransaction::create(db);
transaction->put(metaDataKey, encodeInt(schemaVersion));
@@ -176,9 +187,10 @@ static bool setUpMetadata(LevelDBDatabase* db, const String& origin)
return false;
}
}
- ASSERT(schemaVersion == 1);
}
+ ASSERT(schemaVersion == latestSchemaVersion);
+
return true;
}
@@ -282,7 +294,7 @@ bool IDBLevelDBBackingStore::getIDBDatabaseMetaData(const String& name, String&
if (!ok)
return false;
- ok = getInt(m_db.get(), DatabaseMetaDataKey::encode(foundId, DatabaseMetaDataKey::UserIntVersion), foundIntVersion);
+ ok = getVarInt(m_db.get(), DatabaseMetaDataKey::encode(foundId, DatabaseMetaDataKey::UserIntVersion), foundIntVersion);
if (!ok)
return false;
if (foundIntVersion == IDBDatabaseMetadata::DefaultIntVersion)
diff --git a/Source/WebCore/Modules/indexeddb/IDBMetadata.h b/Source/WebCore/Modules/indexeddb/IDBMetadata.h
index 2dc66e7d4..b3cbca1b2 100644
--- a/Source/WebCore/Modules/indexeddb/IDBMetadata.h
+++ b/Source/WebCore/Modules/indexeddb/IDBMetadata.h
@@ -30,9 +30,9 @@
#define IDBMetadata_h
#include "IDBKeyPath.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp b/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp
index c30a253a4..a7aa8a3ea 100644
--- a/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBObjectStore.cpp
@@ -519,7 +519,8 @@ PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* contex
PassRefPtr<IDBRequest> IDBObjectStore::openCursor(ScriptExecutionContext* context, PassRefPtr<IDBKeyRange> range, unsigned short direction, ExceptionCode& ec)
{
IDB_TRACE("IDBObjectStore::openCursor");
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Numeric direction values are deprecated in IDBObjectStore.openCursor. Use \"next\", \"nextunique\", \"prev\", or \"prevunique\"."));
+ // FIXME: Is this thread-safe?
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Numeric direction values are deprecated in IDBObjectStore.openCursor. Use \"next\", \"nextunique\", \"prev\", or \"prevunique\".")));
context->addConsoleMessage(JSMessageSource, LogMessageType, WarningMessageLevel, consoleMessage);
const String& directionString = IDBCursor::directionToString(direction, ec);
if (ec)
diff --git a/Source/WebCore/Modules/indexeddb/IDBObjectStore.h b/Source/WebCore/Modules/indexeddb/IDBObjectStore.h
index 92e0fed96..c05332a51 100644
--- a/Source/WebCore/Modules/indexeddb/IDBObjectStore.h
+++ b/Source/WebCore/Modules/indexeddb/IDBObjectStore.h
@@ -35,11 +35,11 @@
#include "IDBObjectStoreBackendInterface.h"
#include "IDBRequest.h"
#include "IDBTransaction.h"
-#include "PlatformString.h"
#include "SerializedScriptValue.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp b/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp
index b6d0ea0a5..14898a18f 100644
--- a/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendImpl.cpp
@@ -39,11 +39,11 @@
#include "IDBIndexBackendImpl.h"
#include "IDBKey.h"
#include "IDBKeyPath.h"
-#include "IDBKeyPathBackendImpl.h"
#include "IDBKeyRange.h"
#include "IDBTracing.h"
#include "IDBTransactionBackendImpl.h"
#include "ScriptExecutionContext.h"
+#include <wtf/MathExtras.h>
namespace WebCore {
@@ -201,20 +201,6 @@ private:
return false;
}
- PassRefPtr<IDBKey> fetchKeyFromKeyPath(SerializedScriptValue* value)
- {
- IDB_TRACE("IndexWriter::fetchKeyFromKeyPath");
-
- Vector<RefPtr<SerializedScriptValue> > values;
- values.append(value);
- Vector<RefPtr<IDBKey> > keys;
- IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath(values, m_indexMetadata.keyPath, keys);
- if (keys.isEmpty())
- return 0;
- ASSERT(keys.size() == 1);
- return keys[0].release();
- }
-
const IDBIndexMetadata m_indexMetadata;
IDBObjectStoreBackendInterface::IndexKeys m_indexKeys;
};
diff --git a/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendInterface.h b/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendInterface.h
index 86667ab28..0179b6a88 100644
--- a/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendInterface.h
+++ b/Source/WebCore/Modules/indexeddb/IDBObjectStoreBackendInterface.h
@@ -27,8 +27,8 @@
#define IDBObjectStoreBackendInterface_h
#include "IDBCursor.h"
-#include "PlatformString.h"
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBRequest.cpp b/Source/WebCore/Modules/indexeddb/IDBRequest.cpp
index a94af33ca..43f25a8c3 100644
--- a/Source/WebCore/Modules/indexeddb/IDBRequest.cpp
+++ b/Source/WebCore/Modules/indexeddb/IDBRequest.cpp
@@ -232,6 +232,8 @@ void IDBRequest::setResultCursor(PassRefPtr<IDBCursor> cursor, PassRefPtr<IDBKey
void IDBRequest::finishCursor()
{
m_cursorFinished = true;
+ if (m_readyState != PENDING)
+ m_hasPendingActivity = false;
}
bool IDBRequest::shouldEnqueueEvent() const
diff --git a/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h b/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h
index 0e4126cb0..eb7341fe0 100644
--- a/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h
+++ b/Source/WebCore/Modules/indexeddb/IDBTransactionBackendInterface.h
@@ -27,9 +27,9 @@
#define IDBTransactionBackendInterface_h
#include "IDBCallbacks.h"
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INDEXED_DATABASE)
diff --git a/Source/WebCore/Modules/indexeddb/IDBUpgradeNeededEvent.h b/Source/WebCore/Modules/indexeddb/IDBUpgradeNeededEvent.h
index 9785664f0..e143706bb 100644
--- a/Source/WebCore/Modules/indexeddb/IDBUpgradeNeededEvent.h
+++ b/Source/WebCore/Modules/indexeddb/IDBUpgradeNeededEvent.h
@@ -30,9 +30,9 @@
#include "Event.h"
#include "IDBMetadata.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.h b/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.h
index dae9f236c..1214f25f0 100644
--- a/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.h
+++ b/Source/WebCore/Modules/indexeddb/IDBVersionChangeEvent.h
@@ -29,9 +29,9 @@
#if ENABLE(INDEXED_DATABASE)
#include "Event.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/mediasource/MediaSource.cpp b/Source/WebCore/Modules/mediasource/MediaSource.cpp
index cc4f9d7d7..97a57383b 100644
--- a/Source/WebCore/Modules/mediasource/MediaSource.cpp
+++ b/Source/WebCore/Modules/mediasource/MediaSource.cpp
@@ -49,9 +49,28 @@ MediaSource::MediaSource(ScriptExecutionContext* context)
: ContextDestructionObserver(context)
, m_readyState(closedKeyword())
, m_player(0)
+ , m_asyncEventQueue(GenericEventQueue::create(this))
{
- m_sourceBuffers = SourceBufferList::create(scriptExecutionContext());
- m_activeSourceBuffers = SourceBufferList::create(scriptExecutionContext());
+ m_sourceBuffers = SourceBufferList::create(scriptExecutionContext(), m_asyncEventQueue.get());
+ m_activeSourceBuffers = SourceBufferList::create(scriptExecutionContext(), m_asyncEventQueue.get());
+}
+
+const String& MediaSource::openKeyword()
+{
+ DEFINE_STATIC_LOCAL(const String, open, (ASCIILiteral("open")));
+ return open;
+}
+
+const String& MediaSource::closedKeyword()
+{
+ DEFINE_STATIC_LOCAL(const String, closed, (ASCIILiteral("closed")));
+ return closed;
+}
+
+const String& MediaSource::endedKeyword()
+{
+ DEFINE_STATIC_LOCAL(const String, ended, (ASCIILiteral("ended")));
+ return ended;
}
SourceBufferList* MediaSource::sourceBuffers()
@@ -65,6 +84,24 @@ SourceBufferList* MediaSource::activeSourceBuffers()
return m_activeSourceBuffers.get();
}
+double MediaSource::duration() const
+{
+ return m_readyState == closedKeyword() ? std::numeric_limits<float>::quiet_NaN() : m_player->duration();
+}
+
+void MediaSource::setDuration(double duration, ExceptionCode& ec)
+{
+ if (duration < 0.0 || isnan(duration)) {
+ ec = INVALID_ACCESS_ERR;
+ return;
+ }
+ if (m_readyState != openKeyword()) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+ m_player->sourceSetDuration(duration);
+}
+
SourceBuffer* MediaSource::addSourceBuffer(const String& type, ExceptionCode& ec)
{
// 3.1 http://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html#dom-addsourcebuffer
@@ -84,7 +121,7 @@ SourceBuffer* MediaSource::addSourceBuffer(const String& type, ExceptionCode& ec
ec = NOT_SUPPORTED_ERR;
return 0;
}
-
+
// 4. If the readyState attribute is not in the "open" state then throw an
// INVALID_STATE_ERR exception and abort these steps.
if (!m_player || m_readyState != openKeyword()) {
@@ -182,17 +219,17 @@ void MediaSource::setReadyState(const String& state)
m_sourceBuffers->clear();
m_activeSourceBuffers->clear();
m_player = 0;
- dispatchEvent(Event::create(eventNames().webkitsourcecloseEvent, false, false));
+ scheduleEvent(eventNames().webkitsourcecloseEvent);
return;
}
-
+
if (oldState == openKeyword() && m_readyState == endedKeyword()) {
- dispatchEvent(Event::create(eventNames().webkitsourceendedEvent, false, false));
+ scheduleEvent(eventNames().webkitsourceendedEvent);
return;
}
if (m_readyState == openKeyword()) {
- dispatchEvent(Event::create(eventNames().webkitsourceopenEvent, false, false));
+ scheduleEvent(eventNames().webkitsourceopenEvent);
return;
}
}
@@ -301,6 +338,16 @@ EventTargetData* MediaSource::ensureEventTargetData()
return &m_eventTargetData;
}
+void MediaSource::scheduleEvent(const AtomicString& eventName)
+{
+ ASSERT(m_asyncEventQueue);
+
+ RefPtr<Event> event = Event::create(eventName, false, false);
+ event->setTarget(this);
+
+ m_asyncEventQueue->enqueueEvent(event.release());
+}
+
} // namespace WebCore
#endif
diff --git a/Source/WebCore/Modules/mediasource/MediaSource.h b/Source/WebCore/Modules/mediasource/MediaSource.h
index b63833369..2ed2bf2c3 100644
--- a/Source/WebCore/Modules/mediasource/MediaSource.h
+++ b/Source/WebCore/Modules/mediasource/MediaSource.h
@@ -34,6 +34,7 @@
#if ENABLE(MEDIA_SOURCE)
#include "ContextDestructionObserver.h"
+#include "GenericEventQueue.h"
#include "MediaPlayer.h"
#include "SourceBuffer.h"
#include "SourceBufferList.h"
@@ -43,23 +44,9 @@ namespace WebCore {
class MediaSource : public RefCounted<MediaSource>, public EventTarget, public ContextDestructionObserver {
public:
- static const String& openKeyword()
- {
- DEFINE_STATIC_LOCAL(const String, open, ("open"));
- return open;
- }
-
- static const String& closedKeyword()
- {
- DEFINE_STATIC_LOCAL(const String, closed, ("closed"));
- return closed;
- }
-
- static const String& endedKeyword()
- {
- DEFINE_STATIC_LOCAL(const String, ended, ("ended"));
- return ended;
- }
+ static const String& openKeyword();
+ static const String& closedKeyword();
+ static const String& endedKeyword();
static PassRefPtr<MediaSource> create(ScriptExecutionContext*);
virtual ~MediaSource() { }
@@ -67,6 +54,9 @@ public:
SourceBufferList* sourceBuffers();
SourceBufferList* activeSourceBuffers();
+ double duration() const;
+ void setDuration(double, ExceptionCode&);
+
SourceBuffer* addSourceBuffer(const String& type, ExceptionCode&);
void removeSourceBuffer(SourceBuffer*, ExceptionCode&);
@@ -76,7 +66,7 @@ public:
void endOfStream(const String& error, ExceptionCode&);
void setMediaPlayer(MediaPlayer* player) { m_player = player; }
-
+
PassRefPtr<TimeRanges> buffered(const String& id, ExceptionCode&) const;
void append(const String& id, PassRefPtr<Uint8Array> data, ExceptionCode&);
void abort(const String& id, ExceptionCode&);
@@ -98,6 +88,8 @@ private:
virtual void refEventTarget() OVERRIDE { ref(); }
virtual void derefEventTarget() OVERRIDE { deref(); }
+ void scheduleEvent(const AtomicString& eventName);
+
EventTargetData m_eventTargetData;
String m_readyState;
@@ -105,6 +97,7 @@ private:
RefPtr<SourceBufferList> m_sourceBuffers;
RefPtr<SourceBufferList> m_activeSourceBuffers;
+ OwnPtr<GenericEventQueue> m_asyncEventQueue;
};
} // namespace WebCore
diff --git a/Source/WebCore/Modules/mediasource/MediaSource.idl b/Source/WebCore/Modules/mediasource/MediaSource.idl
index 25f7dec1b..fff6a6fd3 100644
--- a/Source/WebCore/Modules/mediasource/MediaSource.idl
+++ b/Source/WebCore/Modules/mediasource/MediaSource.idl
@@ -43,6 +43,8 @@ module html {
// Subset of sourceBuffers that provide data for the selected/enabled tracks.
readonly attribute SourceBufferList activeSourceBuffers;
+ attribute double duration setter raises (DOMException);
+
SourceBuffer addSourceBuffer(in DOMString type) raises (DOMException);
void removeSourceBuffer(in SourceBuffer buffer) raises (DOMException);
diff --git a/Source/WebCore/Modules/mediasource/SourceBufferList.cpp b/Source/WebCore/Modules/mediasource/SourceBufferList.cpp
index ce213d514..583724ba1 100644
--- a/Source/WebCore/Modules/mediasource/SourceBufferList.cpp
+++ b/Source/WebCore/Modules/mediasource/SourceBufferList.cpp
@@ -38,8 +38,10 @@
namespace WebCore {
-SourceBufferList::SourceBufferList(ScriptExecutionContext* context)
+SourceBufferList::SourceBufferList(ScriptExecutionContext* context,
+ GenericEventQueue* asyncEventQueue)
: m_scriptExecutionContext(context)
+ , m_asyncEventQueue(asyncEventQueue)
, m_lastSourceBufferId(0)
{
}
@@ -63,13 +65,13 @@ void SourceBufferList::add(PassRefPtr<SourceBuffer> buffer)
}
bool SourceBufferList::remove(SourceBuffer* buffer)
-{
+{
size_t index = m_list.find(buffer);
if (index == notFound)
return false;
- m_list.remove(index);
buffer->clear();
+ m_list.remove(index);
createAndFireEvent(eventNames().webkitremovesourcebufferEvent);
return true;
}
@@ -110,10 +112,12 @@ bool SourceBufferList::contains(size_t id) const
void SourceBufferList::createAndFireEvent(const AtomicString& eventName)
{
+ ASSERT(m_asyncEventQueue);
+
RefPtr<Event> event = Event::create(eventName, false, false);
event->setTarget(this);
- EventTarget::dispatchEvent(event);
+ m_asyncEventQueue->enqueueEvent(event.release());
}
const AtomicString& SourceBufferList::interfaceName() const
diff --git a/Source/WebCore/Modules/mediasource/SourceBufferList.h b/Source/WebCore/Modules/mediasource/SourceBufferList.h
index c87cf34c8..a95a83768 100644
--- a/Source/WebCore/Modules/mediasource/SourceBufferList.h
+++ b/Source/WebCore/Modules/mediasource/SourceBufferList.h
@@ -40,12 +40,13 @@
namespace WebCore {
class SourceBuffer;
+class GenericEventQueue;
class SourceBufferList : public RefCounted<SourceBufferList>, public EventTarget {
public:
- static PassRefPtr<SourceBufferList> create(ScriptExecutionContext* context)
+ static PassRefPtr<SourceBufferList> create(ScriptExecutionContext* context, GenericEventQueue* asyncEventQueue)
{
- return adoptRef(new SourceBufferList(context));
+ return adoptRef(new SourceBufferList(context, asyncEventQueue));
}
virtual ~SourceBufferList() { }
@@ -72,7 +73,7 @@ protected:
virtual EventTargetData* ensureEventTargetData() OVERRIDE;
private:
- explicit SourceBufferList(ScriptExecutionContext*);
+ SourceBufferList(ScriptExecutionContext*, GenericEventQueue*);
bool contains(size_t id) const;
void createAndFireEvent(const AtomicString&);
@@ -82,6 +83,7 @@ private:
EventTargetData m_eventTargetData;
ScriptExecutionContext* m_scriptExecutionContext;
+ GenericEventQueue* m_asyncEventQueue;
Vector<RefPtr<SourceBuffer> > m_list;
size_t m_lastSourceBufferId;
diff --git a/Source/WebCore/Modules/mediastream/MediaConstraintsImpl.cpp b/Source/WebCore/Modules/mediastream/MediaConstraintsImpl.cpp
new file mode 100644
index 000000000..1336f828a
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/MediaConstraintsImpl.cpp
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2012 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 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "MediaConstraintsImpl.h"
+
+#include "ArrayValue.h"
+#include "Dictionary.h"
+#include "ExceptionCode.h"
+#include <wtf/HashMap.h>
+
+namespace WebCore {
+
+PassRefPtr<MediaConstraintsImpl> MediaConstraintsImpl::create(const Dictionary& constraints, ExceptionCode& ec)
+{
+ RefPtr<MediaConstraintsImpl> object = adoptRef(new MediaConstraintsImpl());
+ if (!object->initialize(constraints)) {
+ ec = TYPE_MISMATCH_ERR;
+ return 0;
+ }
+ return object.release();
+}
+
+bool MediaConstraintsImpl::initialize(const Dictionary& constraints)
+{
+ if (constraints.isUndefinedOrNull())
+ return true;
+
+ Vector<String> names;
+ constraints.getOwnPropertyNames(names);
+
+ String mandatory = ASCIILiteral("mandatory");
+ if (names.contains(mandatory)) {
+ Dictionary mandatoryConstraints;
+ bool ok = constraints.get(mandatory, mandatoryConstraints);
+ if (!ok || mandatoryConstraints.isUndefinedOrNull())
+ return false;
+
+ ok = mandatoryConstraints.getOwnPropertiesAsStringHashMap(m_mandatoryConstraints);
+ if (!ok)
+ return false;
+ }
+
+ String optional = ASCIILiteral("optional");
+ if (names.contains(optional)) {
+ ArrayValue optionalConstraints;
+ bool ok = constraints.get(optional, optionalConstraints);
+ if (!ok || optionalConstraints.isUndefinedOrNull())
+ return false;
+
+ size_t numberOfConstraints;
+ ok = optionalConstraints.length(numberOfConstraints);
+ if (!ok)
+ return false;
+
+ for (size_t i = 0; i < numberOfConstraints; ++i) {
+ Dictionary constraint;
+ ok = optionalConstraints.get(i, constraint);
+ if (!ok || constraint.isUndefinedOrNull())
+ return false;
+ Vector<String> localNames;
+ constraint.getOwnPropertyNames(localNames);
+ if (localNames.size() != 1)
+ return false;
+ String key = localNames[0];
+ String value;
+ ok = constraint.get(key, value);
+ if (!ok)
+ return false;
+ m_optionalConstraintNames.append(key);
+ m_optionalConstraintValues.append(value);
+ }
+ }
+
+ return true;
+}
+
+MediaConstraintsImpl::~MediaConstraintsImpl()
+{
+}
+
+void MediaConstraintsImpl::getMandatoryConstraintNames(Vector<String>& names) const
+{
+ names.clear();
+ HashMap<String, String>::const_iterator i = m_mandatoryConstraints.begin();
+ for (; i != m_mandatoryConstraints.end(); ++i)
+ names.append(i->first);
+}
+
+void MediaConstraintsImpl::getOptionalConstraintNames(Vector<String>& names) const
+{
+ names.clear();
+ names = m_optionalConstraintNames;
+}
+
+bool MediaConstraintsImpl::getMandatoryConstraintValue(const String& name, String& value) const
+{
+ HashMap<String, String>::const_iterator i = m_mandatoryConstraints.find(name);
+ if (i == m_mandatoryConstraints.end())
+ return false;
+
+ value = i->second;
+ return true;
+}
+
+bool MediaConstraintsImpl::getOptionalConstraintValue(const String& name, String& value) const
+{
+ size_t index = m_optionalConstraintNames.find(name);
+ if (index == notFound)
+ return false;
+
+ value = m_optionalConstraintValues[index];
+ return true;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
diff --git a/Source/WebCore/Modules/mediastream/MediaConstraintsImpl.h b/Source/WebCore/Modules/mediastream/MediaConstraintsImpl.h
new file mode 100644
index 000000000..4a731c904
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/MediaConstraintsImpl.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2012 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 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 MediaConstraintsImpl_h
+#define MediaConstraintsImpl_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "ExceptionBase.h"
+#include "MediaConstraints.h"
+#include <wtf/HashMap.h>
+#include <wtf/Vector.h>
+
+namespace WebCore {
+class Dictionary;
+
+class MediaConstraintsImpl : public MediaConstraints {
+public:
+ static PassRefPtr<MediaConstraintsImpl> create(const Dictionary&, ExceptionCode&);
+ virtual ~MediaConstraintsImpl();
+
+ virtual void getMandatoryConstraintNames(Vector<String>& names) const OVERRIDE;
+ virtual void getOptionalConstraintNames(Vector<String>& names) const OVERRIDE;
+
+ virtual bool getMandatoryConstraintValue(const String& name, String& value) const OVERRIDE;
+ virtual bool getOptionalConstraintValue(const String& name, String& value) const OVERRIDE;
+
+private:
+ MediaConstraintsImpl() { }
+ bool initialize(const Dictionary&);
+
+ HashMap<String, String> m_mandatoryConstraints;
+ Vector<String> m_optionalConstraintNames;
+ Vector<String> m_optionalConstraintValues;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // MediaConstraintsImpl_h
+
+
diff --git a/Source/WebCore/Modules/mediastream/MediaStreamEvent.h b/Source/WebCore/Modules/mediastream/MediaStreamEvent.h
index 01b06565b..ec7015eba 100644
--- a/Source/WebCore/Modules/mediastream/MediaStreamEvent.h
+++ b/Source/WebCore/Modules/mediastream/MediaStreamEvent.h
@@ -28,6 +28,7 @@
#if ENABLE(MEDIA_STREAM)
#include "Event.h"
+#include "MediaStream.h"
#include <wtf/text/AtomicString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
index fa071fef2..210a2f36e 100644
--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp
@@ -57,8 +57,8 @@ MediaStreamTrack::~MediaStreamTrack()
String MediaStreamTrack::kind() const
{
- DEFINE_STATIC_LOCAL(String, audioKind, ("audio"));
- DEFINE_STATIC_LOCAL(String, videoKind, ("video"));
+ DEFINE_STATIC_LOCAL(String, audioKind, (ASCIILiteral("audio")));
+ DEFINE_STATIC_LOCAL(String, videoKind, (ASCIILiteral("video")));
switch (m_component->source()->type()) {
case MediaStreamSource::TypeAudio:
diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
index 724a120dc..a471c535c 100644
--- a/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrack.h
@@ -32,10 +32,10 @@
#include "EventTarget.h"
#include "MediaStreamDescriptor.h"
#include "MediaStreamSource.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp b/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp
index e987d010e..b20778e78 100644
--- a/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp
+++ b/Source/WebCore/Modules/mediastream/MediaStreamTrackList.cpp
@@ -88,7 +88,11 @@ void MediaStreamTrackList::add(PassRefPtr<MediaStreamTrack> prpTrack, ExceptionC
return;
m_trackVector.append(track);
- MediaStreamCenter::instance().didAddMediaStreamTrack(m_owner->descriptor(), track->component());
+ if (!MediaStreamCenter::instance().didAddMediaStreamTrack(m_owner->descriptor(), track->component())) {
+ ec = NOT_SUPPORTED_ERR;
+ return;
+ }
+
dispatchEvent(MediaStreamTrackEvent::create(eventNames().addtrackEvent, false, false, track));
}
@@ -110,7 +114,11 @@ void MediaStreamTrackList::remove(PassRefPtr<MediaStreamTrack> prpTrack, Excepti
return;
m_trackVector.remove(index);
- MediaStreamCenter::instance().didRemoveMediaStreamTrack(m_owner->descriptor(), track->component());
+ if (!MediaStreamCenter::instance().didRemoveMediaStreamTrack(m_owner->descriptor(), track->component())) {
+ ec = NOT_SUPPORTED_ERR;
+ return;
+ }
+
dispatchEvent(MediaStreamTrackEvent::create(eventNames().removetrackEvent, false, false, track));
}
diff --git a/Source/WebCore/Modules/mediastream/PeerConnection00.cpp b/Source/WebCore/Modules/mediastream/PeerConnection00.cpp
index 9a61fc342..8556d08c1 100644
--- a/Source/WebCore/Modules/mediastream/PeerConnection00.cpp
+++ b/Source/WebCore/Modules/mediastream/PeerConnection00.cpp
@@ -229,7 +229,7 @@ PassRefPtr<SessionDescription> PeerConnection00::remoteDescription()
PassRefPtr<IceOptions> PeerConnection00::createIceOptions(const Dictionary& dictionary, ExceptionCode& ec)
{
- String useCandidates = "";
+ String useCandidates = emptyString();
dictionary.get("use_candidates", useCandidates);
IceOptions::UseCandidatesOption option;
diff --git a/Source/WebCore/Modules/mediastream/RTCErrorCallback.h b/Source/WebCore/Modules/mediastream/RTCErrorCallback.h
new file mode 100644
index 000000000..644e56f0b
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCErrorCallback.h
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2012 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 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 RTCErrorCallback_h
+#define RTCErrorCallback_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class RTCErrorCallback : public RefCounted<RTCErrorCallback> {
+public:
+ virtual ~RTCErrorCallback() { }
+ virtual bool handleEvent(const String& errorInformation) = 0;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCErrorCallback_h
diff --git a/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl b/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl
new file mode 100644
index 000000000..812e2744f
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCErrorCallback.idl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012 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 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.
+ */
+
+module mediastream {
+
+ interface [
+ Conditional=MEDIA_STREAM,
+ Callback
+ ] RTCErrorCallback {
+ boolean handleEvent(in DOMString errorInformation);
+ };
+
+}
diff --git a/Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp b/Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp
index 0f9d41ca2..d78fd6757 100644
--- a/Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp
+++ b/Source/WebCore/Modules/mediastream/RTCIceCandidate.cpp
@@ -73,17 +73,17 @@ RTCIceCandidate::~RTCIceCandidate()
{
}
-const String& RTCIceCandidate::candidate()
+const String& RTCIceCandidate::candidate() const
{
return m_descriptor->candidate();
}
-const String& RTCIceCandidate::sdpMid()
+const String& RTCIceCandidate::sdpMid() const
{
return m_descriptor->sdpMid();
}
-unsigned short RTCIceCandidate::sdpMLineIndex()
+unsigned short RTCIceCandidate::sdpMLineIndex() const
{
return m_descriptor->sdpMLineIndex();
}
diff --git a/Source/WebCore/Modules/mediastream/RTCIceCandidate.h b/Source/WebCore/Modules/mediastream/RTCIceCandidate.h
index 4a204145a..04b93d7c6 100644
--- a/Source/WebCore/Modules/mediastream/RTCIceCandidate.h
+++ b/Source/WebCore/Modules/mediastream/RTCIceCandidate.h
@@ -50,9 +50,9 @@ public:
static PassRefPtr<RTCIceCandidate> create(PassRefPtr<RTCIceCandidateDescriptor>);
virtual ~RTCIceCandidate();
- const String& candidate();
- const String& sdpMid();
- unsigned short sdpMLineIndex();
+ const String& candidate() const;
+ const String& sdpMid() const;
+ unsigned short sdpMLineIndex() const;
RTCIceCandidateDescriptor* descriptor();
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp b/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.cpp
index 7c6f8e446..cd5f3faa4 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp
+++ b/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.cpp
@@ -24,41 +24,50 @@
#include "config.h"
-#include "CCActiveGestureAnimation.h"
+#if ENABLE(MEDIA_STREAM)
-#include "CCGestureCurve.h"
-#include "TraceEvent.h"
+#include "RTCIceCandidateEvent.h"
+
+#include "EventNames.h"
+#include "RTCIceCandidate.h"
namespace WebCore {
-PassOwnPtr<CCActiveGestureAnimation> CCActiveGestureAnimation::create(PassOwnPtr<CCGestureCurve> curve, CCGestureCurveTarget* target)
+PassRefPtr<RTCIceCandidateEvent> RTCIceCandidateEvent::create()
+{
+ return adoptRef(new RTCIceCandidateEvent);
+}
+
+PassRefPtr<RTCIceCandidateEvent> RTCIceCandidateEvent::create(bool canBubble, bool cancelable, PassRefPtr<RTCIceCandidate> candidate)
{
- return adoptPtr(new CCActiveGestureAnimation(curve, target));
+ return adoptRef(new RTCIceCandidateEvent(canBubble, cancelable, candidate));
}
-CCActiveGestureAnimation::CCActiveGestureAnimation(PassOwnPtr<CCGestureCurve> curve, CCGestureCurveTarget* target)
- : m_startTime(0)
- , m_waitingForFirstTick(true)
- , m_gestureCurve(curve)
- , m_gestureCurveTarget(target)
+RTCIceCandidateEvent::RTCIceCandidateEvent()
{
- TRACE_EVENT_ASYNC_BEGIN1("input", "GestureAnimation", this, "curve", m_gestureCurve->debugName());
}
-CCActiveGestureAnimation::~CCActiveGestureAnimation()
+RTCIceCandidateEvent::RTCIceCandidateEvent(bool canBubble, bool cancelable, PassRefPtr<RTCIceCandidate> candidate)
+ : Event(eventNames().icecandidateEvent, canBubble, cancelable)
+ , m_candidate(candidate)
{
- TRACE_EVENT_ASYNC_END0("input", "GestureAnimation", this);
}
-bool CCActiveGestureAnimation::animate(double monotonicTime)
+RTCIceCandidateEvent::~RTCIceCandidateEvent()
{
- if (m_waitingForFirstTick) {
- m_startTime = monotonicTime;
- m_waitingForFirstTick = false;
- }
+}
- // CCGestureCurves used zero-based time, so subtract start-time.
- return m_gestureCurve->apply(monotonicTime - m_startTime, m_gestureCurveTarget);
+RTCIceCandidate* RTCIceCandidateEvent::candidate() const
+{
+ return m_candidate.get();
+}
+
+const AtomicString& RTCIceCandidateEvent::interfaceName() const
+{
+ return eventNames().interfaceForRTCIceCandidateEvent;
}
} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
diff --git a/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.h b/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.h
new file mode 100644
index 000000000..dc4815316
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.h
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2011 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. 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 RTCIceCandidateEvent_h
+#define RTCIceCandidateEvent_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "Event.h"
+#include <wtf/text/AtomicString.h>
+
+namespace WebCore {
+class RTCIceCandidate;
+
+class RTCIceCandidateEvent : public Event {
+public:
+ virtual ~RTCIceCandidateEvent();
+
+ static PassRefPtr<RTCIceCandidateEvent> create();
+ static PassRefPtr<RTCIceCandidateEvent> create(bool canBubble, bool cancelable, PassRefPtr<RTCIceCandidate>);
+
+ RTCIceCandidate* candidate() const;
+
+ virtual const AtomicString& interfaceName() const;
+
+private:
+ RTCIceCandidateEvent();
+ RTCIceCandidateEvent(bool canBubble, bool cancelable, PassRefPtr<RTCIceCandidate>);
+
+ RefPtr<RTCIceCandidate> m_candidate;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCIceCandidateEvent_h
diff --git a/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.idl b/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.idl
new file mode 100644
index 000000000..c1047e011
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCIceCandidateEvent.idl
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2012 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. 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.
+ */
+
+module events {
+
+ interface [
+ Conditional=MEDIA_STREAM,
+ ] RTCIceCandidateEvent : Event {
+ readonly attribute RTCIceCandidate candidate;
+ };
+
+}
diff --git a/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp b/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
index 77addad9e..6fa7c3882 100644
--- a/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
+++ b/Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp
@@ -35,10 +35,22 @@
#include "RTCPeerConnection.h"
#include "ArrayValue.h"
+#include "Event.h"
#include "ExceptionCode.h"
-#include "KURL.h"
+#include "MediaConstraintsImpl.h"
+#include "MediaStreamEvent.h"
#include "RTCConfiguration.h"
+#include "RTCErrorCallback.h"
+#include "RTCIceCandidate.h"
+#include "RTCIceCandidateDescriptor.h"
+#include "RTCIceCandidateEvent.h"
+#include "RTCSessionDescription.h"
+#include "RTCSessionDescriptionCallback.h"
+#include "RTCSessionDescriptionDescriptor.h"
+#include "RTCSessionDescriptionRequestImpl.h"
+#include "RTCVoidRequestImpl.h"
#include "ScriptExecutionContext.h"
+#include "VoidCallback.h"
namespace WebCore {
@@ -87,16 +99,21 @@ PassRefPtr<RTCConfiguration> RTCPeerConnection::parseConfiguration(const Diction
rtcConfiguration->appendServer(RTCIceServer::create(url, credential));
}
+
return rtcConfiguration.release();
}
-PassRefPtr<RTCPeerConnection> RTCPeerConnection::create(ScriptExecutionContext* context, const Dictionary& rtcConfiguration, const Dictionary&, ExceptionCode& ec)
+PassRefPtr<RTCPeerConnection> RTCPeerConnection::create(ScriptExecutionContext* context, const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionCode& ec)
{
RefPtr<RTCConfiguration> configuration = parseConfiguration(rtcConfiguration, ec);
if (ec)
return 0;
- RefPtr<RTCPeerConnection> peerConnection = adoptRef(new RTCPeerConnection(context, configuration.release(), ec));
+ RefPtr<MediaConstraints> constraints = MediaConstraintsImpl::create(mediaConstraints, ec);
+ if (ec)
+ return 0;
+
+ RefPtr<RTCPeerConnection> peerConnection = adoptRef(new RTCPeerConnection(context, configuration.release(), constraints.release(), ec));
peerConnection->suspendIfNeeded();
if (ec)
return 0;
@@ -104,11 +121,15 @@ PassRefPtr<RTCPeerConnection> RTCPeerConnection::create(ScriptExecutionContext*
return peerConnection.release();
}
-RTCPeerConnection::RTCPeerConnection(ScriptExecutionContext* context, PassRefPtr<RTCConfiguration>, ExceptionCode& ec)
+RTCPeerConnection::RTCPeerConnection(ScriptExecutionContext* context, PassRefPtr<RTCConfiguration> configuration, PassRefPtr<MediaConstraints> constraints, ExceptionCode& ec)
: ActiveDOMObject(context, this)
+ , m_readyState(ReadyStateNew)
+ , m_iceState(IceStateClosed)
+ , m_localStreams(MediaStreamList::create())
+ , m_remoteStreams(MediaStreamList::create())
{
m_peerHandler = RTCPeerConnectionHandler::create(this);
- if (!m_peerHandler || !m_peerHandler->initialize())
+ if (!m_peerHandler || !m_peerHandler->initialize(configuration, constraints))
ec = NOT_SUPPORTED_ERR;
}
@@ -116,6 +137,313 @@ RTCPeerConnection::~RTCPeerConnection()
{
}
+void RTCPeerConnection::createOffer(PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, const Dictionary& mediaConstraints, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ if (!successCallback) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ RefPtr<MediaConstraints> constraints = MediaConstraintsImpl::create(mediaConstraints, ec);
+ if (ec)
+ return;
+
+ RefPtr<RTCSessionDescriptionRequestImpl> request = RTCSessionDescriptionRequestImpl::create(scriptExecutionContext(), successCallback, errorCallback);
+ m_peerHandler->createOffer(request.release(), constraints);
+}
+
+void RTCPeerConnection::createAnswer(PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, const Dictionary& mediaConstraints, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ if (!successCallback) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ RefPtr<MediaConstraints> constraints = MediaConstraintsImpl::create(mediaConstraints, ec);
+ if (ec)
+ return;
+
+ RefPtr<RTCSessionDescriptionRequestImpl> request = RTCSessionDescriptionRequestImpl::create(scriptExecutionContext(), successCallback, errorCallback);
+ m_peerHandler->createAnswer(request.release(), constraints.release());
+}
+
+void RTCPeerConnection::setLocalDescription(PassRefPtr<RTCSessionDescription> prpSessionDescription, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ RefPtr<RTCSessionDescription> sessionDescription = prpSessionDescription;
+ if (!sessionDescription) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ RefPtr<RTCVoidRequestImpl> request = RTCVoidRequestImpl::create(scriptExecutionContext(), successCallback, errorCallback);
+ m_peerHandler->setLocalDescription(request.release(), sessionDescription->descriptor());
+}
+
+PassRefPtr<RTCSessionDescription> RTCPeerConnection::localDescription(ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return 0;
+ }
+
+ RefPtr<RTCSessionDescriptionDescriptor> descriptor = m_peerHandler->localDescription();
+ if (!descriptor)
+ return 0;
+
+ RefPtr<RTCSessionDescription> sessionDescription = RTCSessionDescription::create(descriptor.release());
+ return sessionDescription.release();
+}
+
+void RTCPeerConnection::setRemoteDescription(PassRefPtr<RTCSessionDescription> prpSessionDescription, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ RefPtr<RTCSessionDescription> sessionDescription = prpSessionDescription;
+ if (!sessionDescription) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ RefPtr<RTCVoidRequestImpl> request = RTCVoidRequestImpl::create(scriptExecutionContext(), successCallback, errorCallback);
+ m_peerHandler->setRemoteDescription(request.release(), sessionDescription->descriptor());
+}
+
+PassRefPtr<RTCSessionDescription> RTCPeerConnection::remoteDescription(ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return 0;
+ }
+
+ RefPtr<RTCSessionDescriptionDescriptor> descriptor = m_peerHandler->remoteDescription();
+ if (!descriptor)
+ return 0;
+
+ RefPtr<RTCSessionDescription> desc = RTCSessionDescription::create(descriptor.release());
+ return desc.release();
+}
+
+void RTCPeerConnection::updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ RefPtr<RTCConfiguration> configuration = parseConfiguration(rtcConfiguration, ec);
+ if (ec)
+ return;
+
+ RefPtr<MediaConstraints> constraints = MediaConstraintsImpl::create(mediaConstraints, ec);
+ if (ec)
+ return;
+
+ bool valid = m_peerHandler->updateIce(configuration, constraints);
+ if (!valid)
+ ec = SYNTAX_ERR;
+}
+
+void RTCPeerConnection::addIceCandidate(RTCIceCandidate* iceCandidate, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ if (!iceCandidate) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ bool valid = m_peerHandler->addIceCandidate(iceCandidate->descriptor());
+ if (!valid)
+ ec = SYNTAX_ERR;
+}
+
+String RTCPeerConnection::readyState() const
+{
+ switch (m_readyState) {
+ case ReadyStateNew:
+ return ASCIILiteral("new");
+ case ReadyStateOpening:
+ return ASCIILiteral("opening");
+ case ReadyStateActive:
+ return ASCIILiteral("active");
+ case ReadyStateClosing:
+ return ASCIILiteral("closing");
+ case ReadyStateClosed:
+ return ASCIILiteral("closed");
+ }
+
+ ASSERT_NOT_REACHED();
+ return ASCIILiteral("");
+}
+
+String RTCPeerConnection::iceState() const
+{
+ switch (m_iceState) {
+ case IceStateNew:
+ return ASCIILiteral("new");
+ case IceStateGathering:
+ return ASCIILiteral("gathering");
+ case IceStateWaiting:
+ return ASCIILiteral("waiting");
+ case IceStateChecking:
+ return ASCIILiteral("checking");
+ case IceStateConnected:
+ return ASCIILiteral("connected");
+ case IceStateCompleted:
+ return ASCIILiteral("completed");
+ case IceStateFailed:
+ return ASCIILiteral("failed");
+ case IceStateClosed:
+ return ASCIILiteral("closed");
+ }
+
+ ASSERT_NOT_REACHED();
+ return ASCIILiteral("");
+}
+
+void RTCPeerConnection::addStream(PassRefPtr<MediaStream> prpStream, const Dictionary& mediaConstraints, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ RefPtr<MediaStream> stream = prpStream;
+ if (!stream) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ RefPtr<MediaConstraints> constraints = MediaConstraintsImpl::create(mediaConstraints, ec);
+ if (ec)
+ return;
+
+ if (m_localStreams->contains(stream.get()))
+ return;
+
+ m_localStreams->append(stream);
+
+ bool valid = m_peerHandler->addStream(stream->descriptor(), constraints);
+ if (!valid)
+ ec = SYNTAX_ERR;
+}
+
+void RTCPeerConnection::removeStream(MediaStream* stream, ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ if (!stream) {
+ ec = TYPE_MISMATCH_ERR;
+ return;
+ }
+
+ if (!m_localStreams->contains(stream))
+ return;
+
+ m_localStreams->remove(stream);
+
+ m_peerHandler->removeStream(stream->descriptor());
+}
+
+MediaStreamList* RTCPeerConnection::localStreams() const
+{
+ return m_localStreams.get();
+}
+
+MediaStreamList* RTCPeerConnection::remoteStreams() const
+{
+ return m_remoteStreams.get();
+}
+
+void RTCPeerConnection::close(ExceptionCode& ec)
+{
+ if (m_readyState == ReadyStateClosing || m_readyState == ReadyStateClosed) {
+ ec = INVALID_STATE_ERR;
+ return;
+ }
+
+ changeIceState(IceStateClosed);
+ changeReadyState(ReadyStateClosed);
+ stop();
+}
+
+void RTCPeerConnection::didGenerateIceCandidate(PassRefPtr<RTCIceCandidateDescriptor> iceCandidateDescriptor)
+{
+ ASSERT(scriptExecutionContext()->isContextThread());
+ if (!iceCandidateDescriptor)
+ dispatchEvent(RTCIceCandidateEvent::create(false, false, 0));
+ else {
+ RefPtr<RTCIceCandidate> iceCandidate = RTCIceCandidate::create(iceCandidateDescriptor);
+ dispatchEvent(RTCIceCandidateEvent::create(false, false, iceCandidate.release()));
+ }
+}
+
+void RTCPeerConnection::didChangeReadyState(ReadyState newState)
+{
+ ASSERT(scriptExecutionContext()->isContextThread());
+ changeReadyState(newState);
+}
+
+void RTCPeerConnection::didChangeIceState(IceState newState)
+{
+ ASSERT(scriptExecutionContext()->isContextThread());
+ changeIceState(newState);
+}
+
+void RTCPeerConnection::didAddRemoteStream(PassRefPtr<MediaStreamDescriptor> streamDescriptor)
+{
+ ASSERT(scriptExecutionContext()->isContextThread());
+
+ if (m_readyState == ReadyStateClosed)
+ return;
+
+ RefPtr<MediaStream> stream = MediaStream::create(scriptExecutionContext(), streamDescriptor);
+ m_remoteStreams->append(stream);
+
+ dispatchEvent(MediaStreamEvent::create(eventNames().addstreamEvent, false, false, stream.release()));
+}
+
+void RTCPeerConnection::didRemoveRemoteStream(MediaStreamDescriptor* streamDescriptor)
+{
+ ASSERT(scriptExecutionContext()->isContextThread());
+ ASSERT(streamDescriptor->owner());
+
+ RefPtr<MediaStream> stream = static_cast<MediaStream*>(streamDescriptor->owner());
+ stream->streamEnded();
+
+ if (m_readyState == ReadyStateClosed)
+ return;
+
+ ASSERT(m_remoteStreams->contains(stream.get()));
+ m_remoteStreams->remove(stream.get());
+
+ dispatchEvent(MediaStreamEvent::create(eventNames().removestreamEvent, false, false, stream.release()));
+}
+
const AtomicString& RTCPeerConnection::interfaceName() const
{
return eventNames().interfaceForRTCPeerConnection;
@@ -128,7 +456,13 @@ ScriptExecutionContext* RTCPeerConnection::scriptExecutionContext() const
void RTCPeerConnection::stop()
{
- // FIXME: Make sure that this object stops posting events and releases resources at this stage.
+ m_iceState = IceStateClosed;
+ m_readyState = ReadyStateClosed;
+
+ if (m_peerHandler) {
+ m_peerHandler->stop();
+ m_peerHandler.clear();
+ }
}
EventTargetData* RTCPeerConnection::eventTargetData()
@@ -141,6 +475,39 @@ EventTargetData* RTCPeerConnection::ensureEventTargetData()
return &m_eventTargetData;
}
+void RTCPeerConnection::changeReadyState(ReadyState readyState)
+{
+ if (readyState == m_readyState || m_readyState == ReadyStateClosed)
+ return;
+
+ m_readyState = readyState;
+
+ switch (m_readyState) {
+ case ReadyStateOpening:
+ break;
+ case ReadyStateActive:
+ dispatchEvent(Event::create(eventNames().openEvent, false, false));
+ break;
+ case ReadyStateClosing:
+ case ReadyStateClosed:
+ break;
+ case ReadyStateNew:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+
+ dispatchEvent(Event::create(eventNames().statechangeEvent, false, false));
+}
+
+void RTCPeerConnection::changeIceState(IceState iceState)
+{
+ if (iceState == m_iceState || m_readyState == ReadyStateClosed)
+ return;
+
+ m_iceState = iceState;
+ dispatchEvent(Event::create(eventNames().icechangeEvent, false, false));
+}
+
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
diff --git a/Source/WebCore/Modules/mediastream/RTCPeerConnection.h b/Source/WebCore/Modules/mediastream/RTCPeerConnection.h
index 10423029b..326c968c7 100644
--- a/Source/WebCore/Modules/mediastream/RTCPeerConnection.h
+++ b/Source/WebCore/Modules/mediastream/RTCPeerConnection.h
@@ -37,18 +37,69 @@
#include "Dictionary.h"
#include "EventTarget.h"
#include "ExceptionBase.h"
+#include "MediaStream.h"
+#include "MediaStreamList.h"
+#include "RTCIceCandidate.h"
#include "RTCPeerConnectionHandler.h"
#include "RTCPeerConnectionHandlerClient.h"
#include <wtf/RefCounted.h>
namespace WebCore {
+
+class MediaConstraints;
class RTCConfiguration;
+class RTCErrorCallback;
+class RTCSessionDescription;
+class RTCSessionDescriptionCallback;
+class VoidCallback;
class RTCPeerConnection : public RefCounted<RTCPeerConnection>, public RTCPeerConnectionHandlerClient, public EventTarget, public ActiveDOMObject {
public:
static PassRefPtr<RTCPeerConnection> create(ScriptExecutionContext*, const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionCode&);
~RTCPeerConnection();
+ void createOffer(PassRefPtr<RTCSessionDescriptionCallback>, PassRefPtr<RTCErrorCallback>, const Dictionary& mediaConstraints, ExceptionCode&);
+
+ void createAnswer(PassRefPtr<RTCSessionDescriptionCallback>, PassRefPtr<RTCErrorCallback>, const Dictionary& mediaConstraints, ExceptionCode&);
+
+ void setLocalDescription(PassRefPtr<RTCSessionDescription>, PassRefPtr<VoidCallback>, PassRefPtr<RTCErrorCallback>, ExceptionCode&);
+ PassRefPtr<RTCSessionDescription> localDescription(ExceptionCode&);
+
+ void setRemoteDescription(PassRefPtr<RTCSessionDescription>, PassRefPtr<VoidCallback>, PassRefPtr<RTCErrorCallback>, ExceptionCode&);
+ PassRefPtr<RTCSessionDescription> remoteDescription(ExceptionCode&);
+
+ String readyState() const;
+
+ void updateIce(const Dictionary& rtcConfiguration, const Dictionary& mediaConstraints, ExceptionCode&);
+
+ void addIceCandidate(RTCIceCandidate*, ExceptionCode&);
+
+ String iceState() const;
+
+ MediaStreamList* localStreams() const;
+
+ MediaStreamList* remoteStreams() const;
+
+ void addStream(const PassRefPtr<MediaStream>, const Dictionary& mediaConstraints, ExceptionCode&);
+
+ void removeStream(MediaStream*, ExceptionCode&);
+
+ void close(ExceptionCode&);
+
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(icecandidate);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(open);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(statechange);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(addstream);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(removestream);
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(icechange);
+
+ // RTCPeerConnectionHandlerClient
+ virtual void didGenerateIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) OVERRIDE;
+ virtual void didChangeReadyState(ReadyState) OVERRIDE;
+ virtual void didChangeIceState(IceState) OVERRIDE;
+ virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
+ virtual void didRemoveRemoteStream(MediaStreamDescriptor*) OVERRIDE;
+
// EventTarget
virtual const AtomicString& interfaceName() const OVERRIDE;
virtual ScriptExecutionContext* scriptExecutionContext() const OVERRIDE;
@@ -60,7 +111,7 @@ public:
using RefCounted<RTCPeerConnection>::deref;
private:
- RTCPeerConnection(ScriptExecutionContext*, PassRefPtr<RTCConfiguration>, ExceptionCode&);
+ RTCPeerConnection(ScriptExecutionContext*, PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>, ExceptionCode&);
static PassRefPtr<RTCConfiguration> parseConfiguration(const Dictionary& configuration, ExceptionCode&);
@@ -71,6 +122,15 @@ private:
virtual void derefEventTarget() { deref(); }
EventTargetData m_eventTargetData;
+ void changeReadyState(ReadyState);
+ void changeIceState(IceState);
+
+ ReadyState m_readyState;
+ IceState m_iceState;
+
+ RefPtr<MediaStreamList> m_localStreams;
+ RefPtr<MediaStreamList> m_remoteStreams;
+
OwnPtr<RTCPeerConnectionHandler> m_peerHandler;
};
diff --git a/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl b/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl
index 44ad7235b..8312ecea2 100644
--- a/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl
+++ b/Source/WebCore/Modules/mediastream/RTCPeerConnection.idl
@@ -33,11 +33,55 @@ module mediastream {
interface [
Conditional=MEDIA_STREAM,
ActiveDOMObject,
- Constructor(in Dictionary rtcICEServers, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints),
+ Constructor(in Dictionary rtcIceServers, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints),
ConstructorRaisesException,
CallWith=ScriptExecutionContext,
EventTarget
] RTCPeerConnection {
+ void createOffer(in [Callback] RTCSessionDescriptionCallback successCallback, in [Callback,Optional=DefaultIsUndefined] RTCErrorCallback failureCallback, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints)
+ raises(DOMException);
+
+ void createAnswer(in [Callback] RTCSessionDescriptionCallback successCallback, in [Callback, Optional=DefaultIsUndefined] RTCErrorCallback failureCallback, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints)
+ raises(DOMException);
+
+ void setLocalDescription(in RTCSessionDescription description, in [Callback, Optional=DefaultIsUndefined] VoidCallback successCallback, in [Callback, Optional=DefaultIsUndefined] RTCErrorCallback failureCallback)
+ raises(DOMException);
+ readonly attribute RTCSessionDescription localDescription
+ getter raises(DOMException);
+
+ void setRemoteDescription(in RTCSessionDescription description, in [Callback, Optional=DefaultIsUndefined] VoidCallback successCallback, in [Callback, Optional=DefaultIsUndefined] RTCErrorCallback failureCallback)
+ raises(DOMException);
+ readonly attribute RTCSessionDescription remoteDescription
+ getter raises(DOMException);
+
+ readonly attribute DOMString readyState;
+
+ void updateIce(in [Optional=DefaultIsUndefined] Dictionary configuration, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints)
+ raises(DOMException);
+
+ void addIceCandidate(in RTCIceCandidate candidate)
+ raises(DOMException);
+
+ readonly attribute DOMString iceState;
+
+ readonly attribute MediaStreamList localStreams;
+ readonly attribute MediaStreamList remoteStreams;
+
+ [StrictTypeChecking] void addStream(in MediaStream stream, in [Optional=DefaultIsUndefined] Dictionary mediaConstraints)
+ raises(DOMException);
+ [StrictTypeChecking] void removeStream(in MediaStream stream)
+ raises(DOMException);
+
+ void close()
+ raises(DOMException);
+
+ attribute EventListener onicecandidate;
+ attribute EventListener onopen;
+ attribute EventListener onstatechange;
+ attribute EventListener onaddstream;
+ attribute EventListener onremovestream;
+ attribute EventListener onicechange;
+
// EventTarget interface
void addEventListener(in DOMString type,
in EventListener listener,
diff --git a/Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp b/Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp
index 677949124..897833761 100644
--- a/Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp
+++ b/Source/WebCore/Modules/mediastream/RTCSessionDescription.cpp
@@ -56,7 +56,7 @@ PassRefPtr<RTCSessionDescription> RTCSessionDescription::create(const Dictionary
String sdp;
ok = dictionary.get("sdp", sdp);
- if (!ok || !sdp.length()) {
+ if (!ok || sdp.isEmpty()) {
ec = TYPE_MISMATCH_ERR;
return 0;
}
@@ -79,7 +79,7 @@ RTCSessionDescription::~RTCSessionDescription()
{
}
-const String& RTCSessionDescription::type()
+const String& RTCSessionDescription::type() const
{
return m_descriptor->type();
}
@@ -92,7 +92,7 @@ void RTCSessionDescription::setType(const String& type, ExceptionCode& ec)
ec = TYPE_MISMATCH_ERR;
}
-const String& RTCSessionDescription::sdp()
+const String& RTCSessionDescription::sdp() const
{
return m_descriptor->sdp();
}
diff --git a/Source/WebCore/Modules/mediastream/RTCSessionDescription.h b/Source/WebCore/Modules/mediastream/RTCSessionDescription.h
index 4597069ce..af181d2e4 100644
--- a/Source/WebCore/Modules/mediastream/RTCSessionDescription.h
+++ b/Source/WebCore/Modules/mediastream/RTCSessionDescription.h
@@ -49,10 +49,10 @@ public:
static PassRefPtr<RTCSessionDescription> create(PassRefPtr<RTCSessionDescriptionDescriptor>);
virtual ~RTCSessionDescription();
- const String& type();
+ const String& type() const;
void setType(const String&, ExceptionCode&);
- const String& sdp();
+ const String& sdp() const;
void setSdp(const String&, ExceptionCode&);
RTCSessionDescriptionDescriptor* descriptor();
diff --git a/Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h
new file mode 100644
index 000000000..06ee071c4
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.h
@@ -0,0 +1,52 @@
+/*
+ * Copyright (C) 2012 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 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 RTCSessionDescriptionCallback_h
+#define RTCSessionDescriptionCallback_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class RTCSessionDescription;
+
+class RTCSessionDescriptionCallback : public RefCounted<RTCSessionDescriptionCallback> {
+public:
+ virtual ~RTCSessionDescriptionCallback() { }
+ virtual bool handleEvent(RTCSessionDescription*) = 0;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCSessionDescriptionCallback_h
diff --git a/Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.idl b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.idl
new file mode 100644
index 000000000..5be75e920
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionCallback.idl
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012 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 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.
+ */
+
+module mediastream {
+
+ interface [
+ Conditional=MEDIA_STREAM,
+ Callback
+ ] RTCSessionDescriptionCallback {
+ boolean handleEvent(in RTCSessionDescription sdp);
+ };
+
+}
diff --git a/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp
new file mode 100644
index 000000000..23c553a16
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp
@@ -0,0 +1,94 @@
+/*
+ * Copyright (C) 2012 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 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "RTCSessionDescriptionRequestImpl.h"
+
+#include "RTCErrorCallback.h"
+#include "RTCPeerConnection.h"
+#include "RTCSessionDescription.h"
+#include "RTCSessionDescriptionCallback.h"
+#include "RTCSessionDescriptionDescriptor.h"
+
+namespace WebCore {
+
+PassRefPtr<RTCSessionDescriptionRequestImpl> RTCSessionDescriptionRequestImpl::create(ScriptExecutionContext* context, PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback)
+{
+ RefPtr<RTCSessionDescriptionRequestImpl> request = adoptRef(new RTCSessionDescriptionRequestImpl(context, successCallback, errorCallback));
+ request->suspendIfNeeded();
+ return request.release();
+}
+
+RTCSessionDescriptionRequestImpl::RTCSessionDescriptionRequestImpl(ScriptExecutionContext* context, PassRefPtr<RTCSessionDescriptionCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback)
+ : ActiveDOMObject(context, this)
+ , m_successCallback(successCallback)
+ , m_errorCallback(errorCallback)
+{
+}
+
+RTCSessionDescriptionRequestImpl::~RTCSessionDescriptionRequestImpl()
+{
+}
+
+void RTCSessionDescriptionRequestImpl::requestSucceeded(PassRefPtr<RTCSessionDescriptionDescriptor> descriptor)
+{
+ if (m_successCallback) {
+ RefPtr<RTCSessionDescription> sessionDescription = RTCSessionDescription::create(descriptor);
+ m_successCallback->handleEvent(sessionDescription.get());
+ }
+
+ clear();
+}
+
+void RTCSessionDescriptionRequestImpl::requestFailed(const String& error)
+{
+ if (m_errorCallback)
+ m_errorCallback->handleEvent(error);
+
+ clear();
+}
+
+void RTCSessionDescriptionRequestImpl::stop()
+{
+ clear();
+}
+
+void RTCSessionDescriptionRequestImpl::clear()
+{
+ m_successCallback.clear();
+ m_errorCallback.clear();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
diff --git a/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h
new file mode 100644
index 000000000..d1bcee013
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCSessionDescriptionRequestImpl.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2012 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 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 RTCSessionDescriptionRequestImpl_h
+#define RTCSessionDescriptionRequestImpl_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "ActiveDOMObject.h"
+#include "RTCSessionDescriptionRequest.h"
+
+namespace WebCore {
+
+class RTCErrorCallback;
+class RTCPeerConnection;
+class RTCSessionDescriptionCallback;
+
+class RTCSessionDescriptionRequestImpl : public RTCSessionDescriptionRequest, public ActiveDOMObject {
+public:
+ static PassRefPtr<RTCSessionDescriptionRequestImpl> create(ScriptExecutionContext*, PassRefPtr<RTCSessionDescriptionCallback>, PassRefPtr<RTCErrorCallback>);
+ virtual ~RTCSessionDescriptionRequestImpl();
+
+ virtual void requestSucceeded(PassRefPtr<RTCSessionDescriptionDescriptor>) OVERRIDE;
+ virtual void requestFailed(const String& error) OVERRIDE;
+
+ // ActiveDOMObject
+ virtual void stop() OVERRIDE;
+
+private:
+ RTCSessionDescriptionRequestImpl(ScriptExecutionContext*, PassRefPtr<RTCSessionDescriptionCallback>, PassRefPtr<RTCErrorCallback>);
+
+ void clear();
+
+ RefPtr<RTCSessionDescriptionCallback> m_successCallback;
+ RefPtr<RTCErrorCallback> m_errorCallback;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCSessionDescriptionRequestImpl_h
+
+
diff --git a/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp b/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp
new file mode 100644
index 000000000..cae76137e
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.cpp
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2012 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 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "RTCVoidRequestImpl.h"
+
+#include "RTCErrorCallback.h"
+#include "RTCPeerConnection.h"
+#include "VoidCallback.h"
+
+namespace WebCore {
+
+PassRefPtr<RTCVoidRequestImpl> RTCVoidRequestImpl::create(ScriptExecutionContext* context, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback)
+{
+ RefPtr<RTCVoidRequestImpl> request = adoptRef(new RTCVoidRequestImpl(context, successCallback, errorCallback));
+ request->suspendIfNeeded();
+ return request.release();
+}
+
+RTCVoidRequestImpl::RTCVoidRequestImpl(ScriptExecutionContext* context, PassRefPtr<VoidCallback> successCallback, PassRefPtr<RTCErrorCallback> errorCallback)
+ : ActiveDOMObject(context, this)
+ , m_successCallback(successCallback)
+ , m_errorCallback(errorCallback)
+{
+}
+
+RTCVoidRequestImpl::~RTCVoidRequestImpl()
+{
+}
+
+void RTCVoidRequestImpl::requestSucceeded()
+{
+ if (m_successCallback)
+ m_successCallback->handleEvent();
+
+ clear();
+}
+
+void RTCVoidRequestImpl::requestFailed(const String& error)
+{
+ if (m_errorCallback.get())
+ m_errorCallback->handleEvent(error);
+
+ clear();
+}
+
+void RTCVoidRequestImpl::stop()
+{
+ clear();
+}
+
+void RTCVoidRequestImpl::clear()
+{
+ m_successCallback.clear();
+ m_errorCallback.clear();
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
diff --git a/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h b/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h
new file mode 100644
index 000000000..657abfc7c
--- /dev/null
+++ b/Source/WebCore/Modules/mediastream/RTCVoidRequestImpl.h
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2012 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 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 RTCVoidRequestImpl_h
+#define RTCVoidRequestImpl_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "ActiveDOMObject.h"
+#include "RTCVoidRequest.h"
+
+namespace WebCore {
+
+class RTCErrorCallback;
+class VoidCallback;
+
+class RTCVoidRequestImpl : public RTCVoidRequest, public ActiveDOMObject {
+public:
+ static PassRefPtr<RTCVoidRequestImpl> create(ScriptExecutionContext*, PassRefPtr<VoidCallback>, PassRefPtr<RTCErrorCallback>);
+ virtual ~RTCVoidRequestImpl();
+
+ virtual void requestSucceeded();
+ virtual void requestFailed(const String& error);
+
+ // ActiveDOMObject
+ virtual void stop() OVERRIDE;
+
+private:
+ RTCVoidRequestImpl(ScriptExecutionContext*, PassRefPtr<VoidCallback>, PassRefPtr<RTCErrorCallback>);
+
+ void clear();
+
+ RefPtr<VoidCallback> m_successCallback;
+ RefPtr<RTCErrorCallback> m_errorCallback;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCVoidRequestImpl_h
+
+
diff --git a/Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.cpp
index 71d06a04f..0bc7f12c2 100644
--- a/Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp
+++ b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.cpp
@@ -25,9 +25,9 @@
*/
#include "config.h"
-#include "NavigatorRegisterProtocolHandler.h"
+#include "NavigatorContentUtils.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
#include "Document.h"
#include "ExceptionCode.h"
@@ -110,21 +110,21 @@ static bool verifyProtocolHandlerScheme(const String& scheme, ExceptionCode& ec)
return false;
}
-NavigatorRegisterProtocolHandler* NavigatorRegisterProtocolHandler::from(Page* page)
+NavigatorContentUtils* NavigatorContentUtils::from(Page* page)
{
- return static_cast<NavigatorRegisterProtocolHandler*>(RefCountedSupplement<Page, NavigatorRegisterProtocolHandler>::from(page, NavigatorRegisterProtocolHandler::supplementName()));
+ return static_cast<NavigatorContentUtils*>(RefCountedSupplement<Page, NavigatorContentUtils>::from(page, NavigatorContentUtils::supplementName()));
}
-NavigatorRegisterProtocolHandler::~NavigatorRegisterProtocolHandler()
+NavigatorContentUtils::~NavigatorContentUtils()
{
}
-PassRefPtr<NavigatorRegisterProtocolHandler> NavigatorRegisterProtocolHandler::create(RegisterProtocolHandlerClient* client)
+PassRefPtr<NavigatorContentUtils> NavigatorContentUtils::create(NavigatorContentUtilsClient* client)
{
- return adoptRef(new NavigatorRegisterProtocolHandler(client));
+ return adoptRef(new NavigatorContentUtils(client));
}
-void NavigatorRegisterProtocolHandler::registerProtocolHandler(Navigator* navigator, const String& scheme, const String& url, const String& title, ExceptionCode& ec)
+void NavigatorContentUtils::registerProtocolHandler(Navigator* navigator, const String& scheme, const String& url, const String& title, ExceptionCode& ec)
{
if (!navigator->frame())
return;
@@ -141,22 +141,22 @@ void NavigatorRegisterProtocolHandler::registerProtocolHandler(Navigator* naviga
if (!verifyProtocolHandlerScheme(scheme, ec))
return;
- NavigatorRegisterProtocolHandler::from(navigator->frame()->page())->client()->registerProtocolHandler(scheme, baseURL, url, navigator->frame()->displayStringModifiedByEncoding(title));
+ NavigatorContentUtils::from(navigator->frame()->page())->client()->registerProtocolHandler(scheme, baseURL, url, navigator->frame()->displayStringModifiedByEncoding(title));
}
#if ENABLE(CUSTOM_SCHEME_HANDLER)
-static String customHandlersStateString(const RegisterProtocolHandlerClient::CustomHandlersState state)
+static String customHandlersStateString(const NavigatorContentUtilsClient::CustomHandlersState state)
{
- DEFINE_STATIC_LOCAL(const String, newHandler, ("new"));
- DEFINE_STATIC_LOCAL(const String, registeredHandler, ("registered"));
- DEFINE_STATIC_LOCAL(const String, declinedHandler, ("declined"));
+ DEFINE_STATIC_LOCAL(const String, newHandler, (ASCIILiteral("new")));
+ DEFINE_STATIC_LOCAL(const String, registeredHandler, (ASCIILiteral("registered")));
+ DEFINE_STATIC_LOCAL(const String, declinedHandler, (ASCIILiteral("declined")));
switch (state) {
- case RegisterProtocolHandlerClient::CustomHandlersNew:
+ case NavigatorContentUtilsClient::CustomHandlersNew:
return newHandler;
- case RegisterProtocolHandlerClient::CustomHandlersRegistered:
+ case NavigatorContentUtilsClient::CustomHandlersRegistered:
return registeredHandler;
- case RegisterProtocolHandlerClient::CustomHandlersDeclined:
+ case NavigatorContentUtilsClient::CustomHandlersDeclined:
return declinedHandler;
}
@@ -164,7 +164,7 @@ static String customHandlersStateString(const RegisterProtocolHandlerClient::Cus
return String();
}
-String NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered(Navigator* navigator, const String& scheme, const String& url, ExceptionCode& ec)
+String NavigatorContentUtils::isProtocolHandlerRegistered(Navigator* navigator, const String& scheme, const String& url, ExceptionCode& ec)
{
DEFINE_STATIC_LOCAL(const String, declined, ("declined"));
@@ -180,10 +180,10 @@ String NavigatorRegisterProtocolHandler::isProtocolHandlerRegistered(Navigator*
if (!verifyProtocolHandlerScheme(scheme, ec))
return declined;
- return customHandlersStateString(NavigatorRegisterProtocolHandler::from(navigator->frame()->page())->client()->isProtocolHandlerRegistered(scheme, baseURL, url));
+ return customHandlersStateString(NavigatorContentUtils::from(navigator->frame()->page())->client()->isProtocolHandlerRegistered(scheme, baseURL, url));
}
-void NavigatorRegisterProtocolHandler::unregisterProtocolHandler(Navigator* navigator, const String& scheme, const String& url, ExceptionCode& ec)
+void NavigatorContentUtils::unregisterProtocolHandler(Navigator* navigator, const String& scheme, const String& url, ExceptionCode& ec)
{
if (!navigator->frame())
return;
@@ -197,22 +197,22 @@ void NavigatorRegisterProtocolHandler::unregisterProtocolHandler(Navigator* navi
if (!verifyProtocolHandlerScheme(scheme, ec))
return;
- NavigatorRegisterProtocolHandler::from(navigator->frame()->page())->client()->unregisterProtocolHandler(scheme, baseURL, url);
+ NavigatorContentUtils::from(navigator->frame()->page())->client()->unregisterProtocolHandler(scheme, baseURL, url);
}
#endif
-const AtomicString& NavigatorRegisterProtocolHandler::supplementName()
+const AtomicString& NavigatorContentUtils::supplementName()
{
- DEFINE_STATIC_LOCAL(AtomicString, name, ("NavigatorRegisterProtocolHandler"));
+ DEFINE_STATIC_LOCAL(AtomicString, name, ("NavigatorContentUtils"));
return name;
}
-void provideRegisterProtocolHandlerTo(Page* page, RegisterProtocolHandlerClient* client)
+void provideNavigatorContentUtilsTo(Page* page, NavigatorContentUtilsClient* client)
{
- RefCountedSupplement<Page, NavigatorRegisterProtocolHandler>::provideTo(page, NavigatorRegisterProtocolHandler::supplementName(), NavigatorRegisterProtocolHandler::create(client));
+ RefCountedSupplement<Page, NavigatorContentUtils>::provideTo(page, NavigatorContentUtils::supplementName(), NavigatorContentUtils::create(client));
}
} // namespace WebCore
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.h b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.h
index 5e909e537..f4d6ea23a 100644
--- a/Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.h
+++ b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.h
@@ -24,13 +24,13 @@
* DAMAGE.
*/
-#ifndef NavigatorRegisterProtocolHandler_h
-#define NavigatorRegisterProtocolHandler_h
+#ifndef NavigatorContentUtils_h
+#define NavigatorContentUtils_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClient.h"
#include "RefCountedSupplement.h"
-#include "RegisterProtocolHandlerClient.h"
#include <wtf/PassRefPtr.h>
#include <wtf/text/WTFString.h>
@@ -41,12 +41,12 @@ class Navigator;
typedef int ExceptionCode;
-class NavigatorRegisterProtocolHandler : public RefCountedSupplement<Page, NavigatorRegisterProtocolHandler> {
+class NavigatorContentUtils : public RefCountedSupplement<Page, NavigatorContentUtils> {
public:
- virtual ~NavigatorRegisterProtocolHandler();
+ virtual ~NavigatorContentUtils();
static const AtomicString& supplementName();
- static NavigatorRegisterProtocolHandler* from(Page*);
+ static NavigatorContentUtils* from(Page*);
static void registerProtocolHandler(Navigator*, const String& scheme, const String& url, const String& title, ExceptionCode&);
@@ -55,20 +55,20 @@ public:
static void unregisterProtocolHandler(Navigator*, const String& scheme, const String& url, ExceptionCode&);
#endif
- static PassRefPtr<NavigatorRegisterProtocolHandler> create(RegisterProtocolHandlerClient*);
+ static PassRefPtr<NavigatorContentUtils> create(NavigatorContentUtilsClient*);
private:
- explicit NavigatorRegisterProtocolHandler(RegisterProtocolHandlerClient* client)
+ explicit NavigatorContentUtils(NavigatorContentUtilsClient* client)
: m_client(client)
{ }
- RegisterProtocolHandlerClient* client() { return m_client; }
+ NavigatorContentUtilsClient* client() { return m_client; }
- RegisterProtocolHandlerClient* m_client;
+ NavigatorContentUtilsClient* m_client;
};
} // namespace WebCore
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
-#endif // NavigatorRegisterProtocolHandler_h
+#endif // NavigatorContentUtils_h
diff --git a/Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl
index 274bb5992..b334481e7 100644
--- a/Source/WebCore/Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl
+++ b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtils.idl
@@ -20,14 +20,15 @@
module window {
+ // http://www.w3.org/TR/html5/system-state-and-capabilities.html#custom-handlers
interface [
Supplemental=Navigator
- ] NavigatorRegisterProtocolHandler {
- [Conditional=REGISTER_PROTOCOL_HANDLER] void registerProtocolHandler(in DOMString scheme, in DOMString url, in DOMString title)
+ ] NavigatorContentUtils {
+ [Conditional=NAVIGATOR_CONTENT_UTILS] void registerProtocolHandler(in DOMString scheme, in DOMString url, in DOMString title)
raises(DOMException);
- [Conditional=REGISTER_PROTOCOL_HANDLER&CUSTOM_SCHEME_HANDLER] DOMString isProtocolHandlerRegistered(in DOMString scheme, in DOMString url)
+ [Conditional=NAVIGATOR_CONTENT_UTILS&CUSTOM_SCHEME_HANDLER] DOMString isProtocolHandlerRegistered(in DOMString scheme, in DOMString url)
raises(DOMException);
- [Conditional=REGISTER_PROTOCOL_HANDLER&CUSTOM_SCHEME_HANDLER] void unregisterProtocolHandler(in DOMString scheme, in DOMString url)
+ [Conditional=NAVIGATOR_CONTENT_UTILS&CUSTOM_SCHEME_HANDLER] void unregisterProtocolHandler(in DOMString scheme, in DOMString url)
raises(DOMException);
};
diff --git a/Source/WebCore/Modules/protocolhandler/RegisterProtocolHandlerClient.h b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtilsClient.h
index 1a832ace5..25d67cc10 100644
--- a/Source/WebCore/Modules/protocolhandler/RegisterProtocolHandlerClient.h
+++ b/Source/WebCore/Modules/navigatorcontentutils/NavigatorContentUtilsClient.h
@@ -23,10 +23,10 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef RegisterProtocolHandlerClient_h
-#define RegisterProtocolHandlerClient_h
+#ifndef NavigatorContentUtilsClient_h
+#define NavigatorContentUtilsClient_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
#include <wtf/text/WTFString.h>
@@ -34,9 +34,9 @@ namespace WebCore {
class Page;
-class RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClient {
public:
- virtual ~RegisterProtocolHandlerClient() { }
+ virtual ~NavigatorContentUtilsClient() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) = 0;
#if ENABLE(CUSTOM_SCHEME_HANDLER)
@@ -51,9 +51,9 @@ public:
#endif
};
-void provideRegisterProtocolHandlerTo(Page*, RegisterProtocolHandlerClient*);
+void provideNavigatorContentUtilsTo(Page*, NavigatorContentUtilsClient*);
}
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
-#endif // RegisterProtocolHandlerClient_h
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
+#endif // NavigatorContentUtilsClient_h
diff --git a/Source/WebCore/Modules/networkinfo/NetworkInfoConnection.h b/Source/WebCore/Modules/networkinfo/NetworkInfoConnection.h
index 18a6c9c6e..ede2462c8 100644
--- a/Source/WebCore/Modules/networkinfo/NetworkInfoConnection.h
+++ b/Source/WebCore/Modules/networkinfo/NetworkInfoConnection.h
@@ -36,10 +36,10 @@
#include "Navigator.h"
#include "NetworkInfo.h"
#include "NetworkInfoController.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/notifications/DOMWindowNotifications.h b/Source/WebCore/Modules/notifications/DOMWindowNotifications.h
index 22e26dd60..c06d7de10 100644
--- a/Source/WebCore/Modules/notifications/DOMWindowNotifications.h
+++ b/Source/WebCore/Modules/notifications/DOMWindowNotifications.h
@@ -30,8 +30,8 @@
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
#include "DOMWindowProperty.h"
-#include "PlatformString.h"
#include "Supplementable.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/notifications/Notification.cpp b/Source/WebCore/Modules/notifications/Notification.cpp
index 9248e1bba..36a1c8cbb 100644
--- a/Source/WebCore/Modules/notifications/Notification.cpp
+++ b/Source/WebCore/Modules/notifications/Notification.cpp
@@ -263,9 +263,10 @@ const String& Notification::permission(ScriptExecutionContext* context)
const String& Notification::permissionString(NotificationClient::Permission permission)
{
- DEFINE_STATIC_LOCAL(const String, allowedPermission, ("granted"));
- DEFINE_STATIC_LOCAL(const String, deniedPermission, ("denied"));
- DEFINE_STATIC_LOCAL(const String, defaultPermission, ("default"));
+ DEFINE_STATIC_LOCAL(const String, allowedPermission, (ASCIILiteral("granted")));
+ DEFINE_STATIC_LOCAL(const String, deniedPermission, (ASCIILiteral("denied")));
+ DEFINE_STATIC_LOCAL(const String, defaultPermission, (ASCIILiteral("default")));
+
switch (permission) {
case NotificationClient::PermissionAllowed:
return allowedPermission;
diff --git a/Source/WebCore/Modules/notifications/Notification.h b/Source/WebCore/Modules/notifications/Notification.h
index 17a039518..995a70032 100644
--- a/Source/WebCore/Modules/notifications/Notification.h
+++ b/Source/WebCore/Modules/notifications/Notification.h
@@ -107,10 +107,11 @@ public:
TextDirection direction() const { return dir() == "rtl" ? RTL : LTR; }
- DEFINE_ATTRIBUTE_EVENT_LISTENER(show);
#if ENABLE(LEGACY_NOTIFICATIONS)
- DEFINE_ATTRIBUTE_EVENT_LISTENER(display);
+ EventListener* ondisplay() { return getAttributeEventListener(eventNames().showEvent); }
+ void setOndisplay(PassRefPtr<EventListener> listener) { setAttributeEventListener(eventNames().showEvent, listener); }
#endif
+ DEFINE_ATTRIBUTE_EVENT_LISTENER(show);
DEFINE_ATTRIBUTE_EVENT_LISTENER(error);
DEFINE_ATTRIBUTE_EVENT_LISTENER(close);
DEFINE_ATTRIBUTE_EVENT_LISTENER(click);
diff --git a/Source/WebCore/Modules/speech/SpeechGrammar.h b/Source/WebCore/Modules/speech/SpeechGrammar.h
index e08358bbf..74b00ad76 100644
--- a/Source/WebCore/Modules/speech/SpeechGrammar.h
+++ b/Source/WebCore/Modules/speech/SpeechGrammar.h
@@ -29,8 +29,8 @@
#if ENABLE(SCRIPTED_SPEECH)
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/speech/SpeechRecognition.h b/Source/WebCore/Modules/speech/SpeechRecognition.h
index 3af67bf0f..30d33bcc8 100644
--- a/Source/WebCore/Modules/speech/SpeechRecognition.h
+++ b/Source/WebCore/Modules/speech/SpeechRecognition.h
@@ -30,11 +30,11 @@
#include "ActiveDOMObject.h"
#include "EventTarget.h"
-#include "PlatformString.h"
#include "SpeechGrammarList.h"
#include <wtf/Compiler.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/speech/SpeechRecognitionAlternative.h b/Source/WebCore/Modules/speech/SpeechRecognitionAlternative.h
index c577ea7ce..2f2801480 100644
--- a/Source/WebCore/Modules/speech/SpeechRecognitionAlternative.h
+++ b/Source/WebCore/Modules/speech/SpeechRecognitionAlternative.h
@@ -28,8 +28,8 @@
#if ENABLE(SCRIPTED_SPEECH)
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/speech/SpeechRecognitionClient.h b/Source/WebCore/Modules/speech/SpeechRecognitionClient.h
index acfd55b5b..6235bb2ba 100644
--- a/Source/WebCore/Modules/speech/SpeechRecognitionClient.h
+++ b/Source/WebCore/Modules/speech/SpeechRecognitionClient.h
@@ -28,7 +28,7 @@
#if ENABLE(SCRIPTED_SPEECH)
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/speech/SpeechRecognitionError.h b/Source/WebCore/Modules/speech/SpeechRecognitionError.h
index b898b3fb6..bc1d1773f 100644
--- a/Source/WebCore/Modules/speech/SpeechRecognitionError.h
+++ b/Source/WebCore/Modules/speech/SpeechRecognitionError.h
@@ -29,8 +29,8 @@
#if ENABLE(SCRIPTED_SPEECH)
#include "Event.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webaudio/AudioContext.cpp b/Source/WebCore/Modules/webaudio/AudioContext.cpp
index 599c8b61a..1c94de52e 100644
--- a/Source/WebCore/Modules/webaudio/AudioContext.cpp
+++ b/Source/WebCore/Modules/webaudio/AudioContext.cpp
@@ -53,7 +53,6 @@
#include "OfflineAudioCompletionEvent.h"
#include "OfflineAudioDestinationNode.h"
#include "Oscillator.h"
-#include "PlatformString.h"
#include "RealtimeAnalyserNode.h"
#include "ScriptCallStack.h"
#include "WaveShaperNode.h"
@@ -83,6 +82,7 @@
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
// FIXME: check the proper way to reference an undefined thread ID
const int UndefinedThreadIdentifier = 0xffffffff;
diff --git a/Source/WebCore/Modules/webaudio/AudioParam.h b/Source/WebCore/Modules/webaudio/AudioParam.h
index 7160b8297..d17c6a60d 100644
--- a/Source/WebCore/Modules/webaudio/AudioParam.h
+++ b/Source/WebCore/Modules/webaudio/AudioParam.h
@@ -32,11 +32,11 @@
#include "AudioContext.h"
#include "AudioParamTimeline.h"
#include "AudioSummingJunction.h"
-#include "PlatformString.h"
#include <sys/types.h>
#include <wtf/Float32Array.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/AbstractDatabase.h b/Source/WebCore/Modules/webdatabase/AbstractDatabase.h
index 12b8985d1..d3700e8d4 100644
--- a/Source/WebCore/Modules/webdatabase/AbstractDatabase.h
+++ b/Source/WebCore/Modules/webdatabase/AbstractDatabase.h
@@ -31,10 +31,11 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include "SQLiteDatabase.h"
#include <wtf/Forward.h>
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/text/WTFString.h>
+
#if !LOG_DISABLED || !ERROR_DISABLED
#include "SecurityOrigin.h"
#endif
diff --git a/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.h b/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.h
index 785fe2892..1bae1a985 100644
--- a/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.h
+++ b/Source/WebCore/Modules/webdatabase/ChangeVersionWrapper.h
@@ -30,7 +30,6 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include "SQLTransaction.h"
#include <wtf/Forward.h>
diff --git a/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h b/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h
index bb9947957..96b6cfc95 100644
--- a/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h
+++ b/Source/WebCore/Modules/webdatabase/DOMWindowWebDatabase.h
@@ -29,10 +29,10 @@
#if ENABLE(SQL_DATABASE)
#include "ExceptionCode.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/Database.h b/Source/WebCore/Modules/webdatabase/Database.h
index 12b430e33..0e54022c5 100644
--- a/Source/WebCore/Modules/webdatabase/Database.h
+++ b/Source/WebCore/Modules/webdatabase/Database.h
@@ -32,10 +32,9 @@
#if ENABLE(SQL_DATABASE)
#include "AbstractDatabase.h"
-#include "PlatformString.h"
-
#include <wtf/Deque.h>
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp b/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp
index 72dba4cbf..13932fb01 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp
+++ b/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.cpp
@@ -29,8 +29,8 @@
#include "config.h"
#include "DatabaseAuthorizer.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.h b/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.h
index 104d9c0ff..5625f039d 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.h
+++ b/Source/WebCore/Modules/webdatabase/DatabaseAuthorizer.h
@@ -28,11 +28,11 @@
#ifndef DatabaseAuthorizer_h
#define DatabaseAuthorizer_h
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/HashSet.h>
#include <wtf/ThreadSafeRefCounted.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseDetails.h b/Source/WebCore/Modules/webdatabase/DatabaseDetails.h
index d2bc71b7e..4c8f46ffc 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseDetails.h
+++ b/Source/WebCore/Modules/webdatabase/DatabaseDetails.h
@@ -31,8 +31,8 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseSync.h b/Source/WebCore/Modules/webdatabase/DatabaseSync.h
index bfc124b17..7f18c902f 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseSync.h
+++ b/Source/WebCore/Modules/webdatabase/DatabaseSync.h
@@ -34,8 +34,9 @@
#if ENABLE(SQL_DATABASE)
#include "AbstractDatabase.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
+
#ifndef NDEBUG
#include "SecurityOrigin.h"
#endif
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseTask.h b/Source/WebCore/Modules/webdatabase/DatabaseTask.h
index b8414a3ef..4fa290fac 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseTask.h
+++ b/Source/WebCore/Modules/webdatabase/DatabaseTask.h
@@ -31,13 +31,13 @@
#if ENABLE(SQL_DATABASE)
#include "Database.h"
-#include "PlatformString.h"
#include "SQLTransaction.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/Threading.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp b/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp
index 0e5793cff..46d281292 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp
+++ b/Source/WebCore/Modules/webdatabase/DatabaseTracker.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
+ * Copyright (C) 2007, 2008, 2012 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -84,9 +84,6 @@ DatabaseTracker::DatabaseTracker(const String& databasePath)
setDatabaseDirectoryPath(databasePath);
SQLiteFileSystem::registerSQLiteVFS();
-
- MutexLocker lockDatabase(m_databaseGuard);
- populateOrigins();
}
void DatabaseTracker::setDatabaseDirectoryPath(const String& path)
@@ -194,6 +191,7 @@ bool DatabaseTracker::canEstablishDatabase(ScriptExecutionContext* context, cons
bool DatabaseTracker::hasEntryForOriginNoLock(SecurityOrigin* origin)
{
ASSERT(!m_databaseGuard.tryLock());
+ populateOriginsIfNeeded();
ASSERT(m_quotaMap);
return m_quotaMap->contains(origin);
}
@@ -332,7 +330,7 @@ String DatabaseTracker::fullPathForDatabase(SecurityOrigin* origin, const String
return fullPathForDatabaseNoLock(origin, name, createIfNotExists).isolatedCopy();
}
-void DatabaseTracker::populateOrigins()
+void DatabaseTracker::populateOriginsIfNeeded()
{
ASSERT(!m_databaseGuard.tryLock());
if (m_quotaMap)
@@ -364,6 +362,7 @@ void DatabaseTracker::populateOrigins()
void DatabaseTracker::origins(Vector<RefPtr<SecurityOrigin> >& result)
{
MutexLocker lockDatabase(m_databaseGuard);
+ populateOriginsIfNeeded();
ASSERT(m_quotaMap);
copyKeysToVector(*m_quotaMap, result);
}
@@ -645,6 +644,7 @@ unsigned long long DatabaseTracker::usageForOrigin(SecurityOrigin* origin)
unsigned long long DatabaseTracker::quotaForOriginNoLock(SecurityOrigin* origin)
{
ASSERT(!m_databaseGuard.tryLock());
+ populateOriginsIfNeeded();
ASSERT(m_quotaMap);
return m_quotaMap->get(origin);
}
@@ -705,10 +705,11 @@ void DatabaseTracker::setQuota(SecurityOrigin* origin, unsigned long long quota)
bool DatabaseTracker::addDatabase(SecurityOrigin* origin, const String& name, const String& path)
{
ASSERT(!m_databaseGuard.tryLock());
- ASSERT(m_quotaMap);
openTrackerDatabase(true);
if (!m_database.isOpen())
return false;
+ populateOriginsIfNeeded();
+ ASSERT(m_quotaMap);
// New database should never be added until the origin has been established
ASSERT(hasEntryForOriginNoLock(origin));
@@ -805,6 +806,7 @@ bool DatabaseTracker::deleteOrigin(SecurityOrigin* origin)
SQLiteFileSystem::deleteEmptyDatabaseDirectory(originPath(origin));
+ populateOriginsIfNeeded();
RefPtr<SecurityOrigin> originPossiblyLastReference = origin;
m_quotaMap->remove(origin);
diff --git a/Source/WebCore/Modules/webdatabase/DatabaseTracker.h b/Source/WebCore/Modules/webdatabase/DatabaseTracker.h
index 4ff7fa2c9..bba48927d 100644
--- a/Source/WebCore/Modules/webdatabase/DatabaseTracker.h
+++ b/Source/WebCore/Modules/webdatabase/DatabaseTracker.h
@@ -31,10 +31,10 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#if !PLATFORM(CHROMIUM)
#include "DatabaseDetails.h"
@@ -125,7 +125,7 @@ private:
bool hasEntryForDatabase(SecurityOrigin*, const String& databaseIdentifier);
bool addDatabase(SecurityOrigin*, const String& name, const String& path);
- void populateOrigins();
+ void populateOriginsIfNeeded();
bool deleteDatabaseFile(SecurityOrigin*, const String& name);
diff --git a/Source/WebCore/Modules/webdatabase/OriginUsageRecord.h b/Source/WebCore/Modules/webdatabase/OriginUsageRecord.h
index 61d9c9019..2f83fc17a 100644
--- a/Source/WebCore/Modules/webdatabase/OriginUsageRecord.h
+++ b/Source/WebCore/Modules/webdatabase/OriginUsageRecord.h
@@ -30,10 +30,10 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/SQLError.h b/Source/WebCore/Modules/webdatabase/SQLError.h
index e51db8b12..fd423abdb 100644
--- a/Source/WebCore/Modules/webdatabase/SQLError.h
+++ b/Source/WebCore/Modules/webdatabase/SQLError.h
@@ -31,8 +31,8 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/SQLStatement.h b/Source/WebCore/Modules/webdatabase/SQLStatement.h
index b636b068b..8c26f2ced 100644
--- a/Source/WebCore/Modules/webdatabase/SQLStatement.h
+++ b/Source/WebCore/Modules/webdatabase/SQLStatement.h
@@ -30,12 +30,12 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include "SQLCallbackWrapper.h"
#include "SQLResultSet.h"
#include "SQLValue.h"
#include <wtf/Forward.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/SQLStatementSync.h b/Source/WebCore/Modules/webdatabase/SQLStatementSync.h
index 6dfcc748e..afdee2af3 100644
--- a/Source/WebCore/Modules/webdatabase/SQLStatementSync.h
+++ b/Source/WebCore/Modules/webdatabase/SQLStatementSync.h
@@ -33,10 +33,10 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include "SQLValue.h"
#include <wtf/Forward.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp b/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp
index e9f38a976..325977a8b 100644
--- a/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp
+++ b/Source/WebCore/Modules/webdatabase/SQLTransaction.cpp
@@ -37,7 +37,6 @@
#include "DatabaseThread.h"
#include "ExceptionCode.h"
#include "Logging.h"
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "SQLError.h"
#include "SQLiteTransaction.h"
@@ -53,6 +52,7 @@
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
// There's no way of knowing exactly how much more space will be required when a statement hits the quota limit.
// For now, we'll arbitrarily choose currentQuota + 1mb.
diff --git a/Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp b/Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp
index 7aae7d4ae..e1ddd7b98 100644
--- a/Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp
+++ b/Source/WebCore/Modules/webdatabase/SQLTransactionSync.cpp
@@ -36,7 +36,6 @@
#include "DatabaseAuthorizer.h"
#include "DatabaseContext.h"
#include "DatabaseSync.h"
-#include "PlatformString.h"
#include "SQLException.h"
#include "SQLResultSet.h"
#include "SQLStatementSync.h"
@@ -47,6 +46,7 @@
#include "ScriptExecutionContext.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/SQLTransactionSync.h b/Source/WebCore/Modules/webdatabase/SQLTransactionSync.h
index 309acfbe8..918b97033 100644
--- a/Source/WebCore/Modules/webdatabase/SQLTransactionSync.h
+++ b/Source/WebCore/Modules/webdatabase/SQLTransactionSync.h
@@ -33,10 +33,10 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.h b/Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.h
index 1418b07f1..e51f18bef 100644
--- a/Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.h
+++ b/Source/WebCore/Modules/webdatabase/WorkerContextWebDatabase.h
@@ -30,7 +30,7 @@
#if ENABLE(SQL_DATABASE)
#include "ExceptionCode.h"
-#include "PlatformString.h"
+#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
diff --git a/Source/WebCore/Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp b/Source/WebCore/Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp
index 117fdbeed..88e9bda1a 100644
--- a/Source/WebCore/Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp
+++ b/Source/WebCore/Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp
@@ -36,12 +36,12 @@
#include "AbstractDatabase.h"
#include "DatabaseObserver.h"
#include "QuotaTracker.h"
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "SecurityOrigin.h"
#include "SecurityOriginHash.h"
#include "SQLiteFileSystem.h"
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/webdatabase/chromium/QuotaTracker.h b/Source/WebCore/Modules/webdatabase/chromium/QuotaTracker.h
index def731ed4..a370eb1b7 100644
--- a/Source/WebCore/Modules/webdatabase/chromium/QuotaTracker.h
+++ b/Source/WebCore/Modules/webdatabase/chromium/QuotaTracker.h
@@ -33,10 +33,10 @@
#if ENABLE(SQL_DATABASE)
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include <wtf/HashMap.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp b/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp
index 029e4ffd7..29b16a3e8 100644
--- a/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp
+++ b/Source/WebCore/Modules/websockets/ThreadableWebSocketChannel.cpp
@@ -35,7 +35,6 @@
#include "ThreadableWebSocketChannel.h"
#include "Document.h"
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "ThreadableWebSocketChannelClientWrapper.h"
#include "WebSocketChannel.h"
@@ -44,8 +43,8 @@
#include "WorkerRunLoop.h"
#include "WorkerThread.h"
#include "WorkerThreadableWebSocketChannel.h"
-
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h b/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h
index 8e9dc8579..c6f33a580 100644
--- a/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h
+++ b/Source/WebCore/Modules/websockets/ThreadableWebSocketChannelClientWrapper.h
@@ -33,7 +33,6 @@
#if ENABLE(WEB_SOCKETS) && ENABLE(WORKERS)
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "ThreadableWebSocketChannel.h"
#include "WebSocketChannelClient.h"
@@ -43,6 +42,7 @@
#include <wtf/PassOwnPtr.h>
#include <wtf/Threading.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp b/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp
index caddb9b58..00c82b303 100644
--- a/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp
+++ b/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp
@@ -64,14 +64,18 @@ static const char randomCharacterInSecWebSocketKey[] = "!\"#$%&'()*+,-./:;<=>?@A
static String resourceName(const KURL& url)
{
- String name = url.path();
+ StringBuilder name;
+ name.append(url.path());
if (name.isEmpty())
- name = "/";
- if (!url.query().isNull())
- name += "?" + url.query();
- ASSERT(!name.isEmpty());
- ASSERT(!name.contains(' '));
- return name;
+ name.append('/');
+ if (!url.query().isNull()) {
+ name.append('?');
+ name.append(url.query());
+ }
+ String result = name.toString();
+ ASSERT(!result.isEmpty());
+ ASSERT(!result.contains(' '));
+ return result;
}
static String hostName(const KURL& url, bool secure)
@@ -81,7 +85,7 @@ static String hostName(const KURL& url, bool secure)
builder.append(url.host().lower());
if (url.port() && ((!secure && url.port() != 80) || (secure && url.port() != 443))) {
builder.append(':');
- builder.append(String::number(url.port()));
+ builder.appendNumber(url.port());
}
return builder.toString();
}
diff --git a/Source/WebCore/Modules/websockets/WebSocketHandshake.h b/Source/WebCore/Modules/websockets/WebSocketHandshake.h
index 5d0c17f6b..4f5332aad 100644
--- a/Source/WebCore/Modules/websockets/WebSocketHandshake.h
+++ b/Source/WebCore/Modules/websockets/WebSocketHandshake.h
@@ -34,12 +34,12 @@
#if ENABLE(WEB_SOCKETS)
#include "KURL.h"
-#include "PlatformString.h"
#include "WebSocketExtensionDispatcher.h"
#include "WebSocketExtensionProcessor.h"
#include "WebSocketHandshakeRequest.h"
#include "WebSocketHandshakeResponse.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/websockets/WebSocketHandshakeResponse.h b/Source/WebCore/Modules/websockets/WebSocketHandshakeResponse.h
index fe435ee14..e4a2ba51a 100644
--- a/Source/WebCore/Modules/websockets/WebSocketHandshakeResponse.h
+++ b/Source/WebCore/Modules/websockets/WebSocketHandshakeResponse.h
@@ -34,8 +34,8 @@
#if ENABLE(WEB_SOCKETS)
#include "HTTPHeaderMap.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp b/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp
index 813e6e89e..143c8f2b0 100644
--- a/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp
+++ b/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.cpp
@@ -37,7 +37,6 @@
#include "Blob.h"
#include "CrossThreadTask.h"
#include "Document.h"
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "ThreadableWebSocketChannelClientWrapper.h"
#include "WebSocketChannel.h"
@@ -49,6 +48,7 @@
#include <wtf/ArrayBuffer.h>
#include <wtf/MainThread.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h b/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h
index 2da5da394..33d75342e 100644
--- a/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h
+++ b/Source/WebCore/Modules/websockets/WorkerThreadableWebSocketChannel.h
@@ -33,7 +33,6 @@
#if ENABLE(WEB_SOCKETS) && ENABLE(WORKERS)
-#include "PlatformString.h"
#include "ThreadableWebSocketChannel.h"
#include "WebSocketChannelClient.h"
#include "WorkerContext.h"
@@ -42,6 +41,7 @@
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/PlatformEfl.cmake b/Source/WebCore/PlatformEfl.cmake
index 25c35d57c..b9af98e9f 100644
--- a/Source/WebCore/PlatformEfl.cmake
+++ b/Source/WebCore/PlatformEfl.cmake
@@ -13,7 +13,6 @@ LIST(APPEND WebCore_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/platform/network/soup"
"${WEBCORE_DIR}/platform/text/efl"
"${WEBCORE_DIR}/plugins/efl"
- "${WEBKIT_DIR}/efl/WebCoreSupport"
)
LIST(APPEND WebCore_SOURCES
@@ -23,7 +22,6 @@ LIST(APPEND WebCore_SOURCES
platform/Cursor.cpp
platform/efl/BatteryProviderEfl.cpp
platform/efl/ClipboardEfl.cpp
- platform/efl/ColorChooserEfl.cpp
platform/efl/ContextMenuEfl.cpp
platform/efl/ContextMenuItemEfl.cpp
platform/efl/CursorEfl.cpp
@@ -46,14 +44,12 @@ LIST(APPEND WebCore_SOURCES
platform/efl/PlatformMouseEventEfl.cpp
platform/efl/PlatformScreenEfl.cpp
platform/efl/PlatformWheelEventEfl.cpp
- platform/efl/PopupMenuEfl.cpp
platform/efl/RefPtrEfl.cpp
platform/efl/RenderThemeEfl.cpp
platform/efl/RunLoopEfl.cpp
platform/efl/ScrollViewEfl.cpp
platform/efl/ScrollbarEfl.cpp
platform/efl/ScrollbarThemeEfl.cpp
- platform/efl/SearchPopupMenuEfl.cpp
platform/efl/SharedBufferEfl.cpp
platform/efl/SharedTimerEfl.cpp
platform/efl/SoundEfl.cpp
@@ -76,6 +72,7 @@ LIST(APPEND WebCore_SOURCES
platform/image-decoders/webp/WEBPImageDecoder.cpp
platform/linux/GamepadDeviceLinux.cpp
platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp
+ platform/network/efl/NetworkStateNotifierEfl.cpp
platform/network/soup/CookieJarSoup.cpp
platform/network/soup/CookieStorageSoup.cpp
platform/network/soup/CredentialStorageSoup.cpp
@@ -198,6 +195,7 @@ ENDIF ()
LIST(APPEND WebCore_LIBRARIES
${CAIRO_LIBRARIES}
${ECORE_X_LIBRARIES}
+ ${EEZE_LIBRARIES}
${EFLDEPS_LIBRARIES}
${EVAS_LIBRARIES}
${FONTCONFIG_LIBRARIES}
@@ -218,6 +216,7 @@ LIST(APPEND WebCore_LIBRARIES
LIST(APPEND WebCore_INCLUDE_DIRECTORIES
${CAIRO_INCLUDE_DIRS}
${ECORE_X_INCLUDE_DIRS}
+ ${EEZE_INCLUDE_DIRS}
${EFLDEPS_INCLUDE_DIRS}
${EVAS_INCLUDE_DIRS}
${FREETYPE_INCLUDE_DIRS}
@@ -298,8 +297,7 @@ IF (WTF_USE_3D_GRAPHICS)
)
ENDIF ()
-ADD_DEFINITIONS(-DWTF_USE_CROSS_PLATFORM_CONTEXT_MENUS=1
- -DDATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}")
+ADD_DEFINITIONS(-DDATA_DIR="${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}")
IF (ENABLE_WEB_AUDIO)
LIST(APPEND WebCore_INCLUDE_DIRECTORIES
@@ -325,12 +323,3 @@ IF (ENABLE_WEB_AUDIO)
ADD_DEFINITIONS(-DUNINSTALLED_AUDIO_RESOURCES_DIR="${WEBCORE_DIR}/platform/audio/resources")
ENDIF ()
-IF (ENABLE_GAMEPAD OR ENABLE_NETWORK_INFO)
- LIST(APPEND WebCore_INCLUDE_DIRECTORIES
- ${EEZE_INCLUDE_DIRS}
- )
- LIST(APPEND WebCore_LIBRARIES
- ${EEZE_LIBRARIES}
- )
-ENDIF ()
-
diff --git a/Source/WebCore/Resources/pagepopups/calendarPicker.js b/Source/WebCore/Resources/pagepopups/calendarPicker.js
index 926f76ed1..dd1921106 100644
--- a/Source/WebCore/Resources/pagepopups/calendarPicker.js
+++ b/Source/WebCore/Resources/pagepopups/calendarPicker.js
@@ -276,23 +276,73 @@ function initialize(args) {
resizeWindow(main.offsetWidth, main.offsetHeight);
} else {
global.params = args;
- checkLimits();
- layout();
+ openCalendarPicker();
+ }
+}
- var initialDate = parseDateString(args.currentValue);
- if (initialDate < global.minimumDate)
- initialDate = global.minimumDate;
- else if (initialDate > global.maximumDate)
- initialDate = global.maximumDate;
- global.daysTable.selectDate(initialDate);
+function resetMain() {
+ var main = $("main");
+ main.innerHTML = "";
+ main.className = "";
+};
- setTimeout(fixWindowSize, 0);
- }
+function openCalendarPicker() {
+ resetMain();
+ new CalendarPicker($("main"), global.params);
+};
+
+/**
+ * @constructor
+ * @param {!Element} element
+ * @param {!Object} config
+ */
+function CalendarPicker(element, config) {
+ Picker.call(this, element, config);
+ // We assume this._config.min is a valid date.
+ this.minimumDate = (typeof this._config.min !== "undefined") ? parseDateString(this._config.min) : CalendarPicker.MinimumPossibleDate;
+ // We assume this._config.max is a valid date.
+ this.maximumDate = (typeof this._config.max !== "undefined") ? parseDateString(this._config.max) : CalendarPicker.MaximumPossibleDate;
+ this.step = (typeof this._config.step !== undefined) ? this._config.step * CalendarPicker.BaseStep : CalendarPicker.BaseStep;
+ this.yearMonthController = new YearMonthController(this);
+ this.daysTable = new DaysTable(this);
+ this._layout();
+ var initialDate = parseDateString(this._config.currentValue);
+ if (initialDate < this.minimumDate)
+ initialDate = this.minimumDate;
+ else if (initialDate > this.maximumDate)
+ initialDate = this.maximumDate;
+ this.daysTable.selectDate(initialDate);
+ this.fixWindowSize();
+ document.body.addEventListener("keydown", this._handleBodyKeyDown.bind(this), false);
}
+CalendarPicker.prototype = Object.create(Picker.prototype);
+
+// Hard limits of type=date. See WebCore/platform/DateComponents.h.
+CalendarPicker.MinimumPossibleDate = new Date(-62135596800000.0);
+CalendarPicker.MaximumPossibleDate = new Date(8640000000000000.0);
+// See WebCore/html/DateInputType.cpp.
+CalendarPicker.BaseStep = 86400000;
+
+CalendarPicker.prototype._layout = function() {
+ this._element.style.direction = global.params.isRTL ? "rtl" : "ltr";
+ this.yearMonthController.attachTo(this._element);
+ this.daysTable.attachTo(this._element);
+ this._layoutButtons();
+};
+
+CalendarPicker.prototype.handleToday = function() {
+ var date = new Date();
+ this.daysTable.selectDate(date);
+ this.submitValue(serializeDate(date.getFullYear(), date.getMonth(), date.getDate()));
+};
+
+CalendarPicker.prototype.handleClear = function() {
+ this.submitValue("");
+};
-function fixWindowSize() {
- var yearMonthRightElement = document.getElementsByClassName(ClassNames.YearMonthButtonRight)[0];
- var daysAreaElement = document.getElementsByClassName(ClassNames.DaysArea)[0];
+CalendarPicker.prototype.fixWindowSize = function() {
+ var yearMonthRightElement = this._element.getElementsByClassName(ClassNames.YearMonthButtonRight)[0];
+ var daysAreaElement = this._element.getElementsByClassName(ClassNames.DaysArea)[0];
var headers = daysAreaElement.getElementsByClassName(ClassNames.DayLabel);
var maxCellWidth = 0;
for (var i = 0; i < headers.length; ++i) {
@@ -300,97 +350,58 @@ function fixWindowSize() {
maxCellWidth = headers[i].offsetWidth;
}
var DaysAreaContainerBorder = 1;
- var main = $("main");
var yearMonthEnd;
var daysAreaEnd;
if (global.params.isRTL) {
- var startOffset = main.offsetLeft + main.offsetWidth;
+ var startOffset = this._element.offsetLeft + this._element.offsetWidth;
yearMonthEnd = startOffset - yearMonthRightElement.offsetLeft;
daysAreaEnd = startOffset - (daysAreaElement.offsetLeft + daysAreaElement.offsetWidth) + maxCellWidth * 7 + DaysAreaContainerBorder;
} else {
yearMonthEnd = yearMonthRightElement.offsetLeft + yearMonthRightElement.offsetWidth;
daysAreaEnd = daysAreaElement.offsetLeft + maxCellWidth * 7 + DaysAreaContainerBorder;
}
-
var maxEnd = Math.max(yearMonthEnd, daysAreaEnd);
- var MainPadding = 6;
+ var MainPadding = 6; // FIXME: Fix name.
var MainBorder = 1;
var desiredBodyWidth = maxEnd + MainPadding + MainBorder;
- var mainHeight = main.offsetHeight;
- main.style.width = "auto";
+ var elementHeight = this._element.offsetHeight;
+ this._element.style.width = "auto";
daysAreaElement.style.width = "100%";
daysAreaElement.style.tableLayout = "fixed";
- document.getElementsByClassName(ClassNames.YearMonthUpper)[0].style.display = "-webkit-box";
- document.getElementsByClassName(ClassNames.MonthSelectorBox)[0].style.display = "block";
- resizeWindow(desiredBodyWidth, mainHeight);
-}
-
-function checkLimits() {
- // Hard limits of type=date. See WebCore/platform/DateComponents.h.
- global.minimumDate = new Date(-62135596800000.0);
- global.maximumDate = new Date(8640000000000000.0);
- // See WebCore/html/DateInputType.cpp.
- global.step = 86400000;
-
- if (global.params.min) {
- // We assume params.min is a valid date.
- global.minimumDate = parseDateString(global.params.min);
- }
- if (global.params.max) {
- // We assume params.max is a valid date.
- global.maximumDate = parseDateString(global.params.max);
- }
- if (global.params.step)
- global.step *= global.params.step;
-}
-
-function layout() {
- if (global.params.isRTL)
- document.body.dir = "rtl";
- else
- document.body.dir = "ltr";
- var main = $("main");
- var params = global.params;
- main.removeChild(main.firstChild);
- document.body.addEventListener("keydown", handleGlobalKey, false);
-
- global.yearMonthController = new YearMonthController();
- global.yearMonthController.attachTo(main);
- global.daysTable = new DaysTable();
- global.daysTable.attachTo(main);
- layoutButtons(main);
-}
+ this._element.getElementsByClassName(ClassNames.YearMonthUpper)[0].style.display = "-webkit-box";
+ this._element.getElementsByClassName(ClassNames.MonthSelectorBox)[0].style.display = "block";
+ resizeWindow(desiredBodyWidth, elementHeight);
+};
-/**
- * @param {Element} main
- */
-function layoutButtons(main) {
+CalendarPicker.prototype._layoutButtons = function() {
var container = createElement("div", ClassNames.TodayClearArea);
- global.today = createElement("input", ClassNames.TodayButton);
- global.today.type = "button";
- global.today.value = global.params.todayLabel;
- global.today.addEventListener("click", handleToday, false);
- container.appendChild(global.today);
- global.clear = null;
- if (!global.params.required) {
- global.clear = createElement("input", ClassNames.ClearButton);
- global.clear.type = "button";
- global.clear.value = global.params.clearLabel;
- global.clear.addEventListener("click", handleClear, false);
- container.appendChild(global.clear);
+ this.today = createElement("input", ClassNames.TodayButton);
+ this.today.type = "button";
+ this.today.value = this._config.todayLabel;
+ this.today.addEventListener("click", this.handleToday.bind(this), false);
+ container.appendChild(this.today);
+ this.clear = null;
+ if (!this._config.required) {
+ this.clear = createElement("input", ClassNames.ClearButton);
+ this.clear.type = "button";
+ this.clear.value = this._config.clearLabel;
+ this.clear.addEventListener("click", this.handleClear.bind(this), false);
+ container.appendChild(this.clear);
}
- main.appendChild(container);
+ this._element.appendChild(container);
- global.lastFocusableControl = global.clear || global.today;
-}
+ this.lastFocusableControl = this.clear || this.today;
+};
// ----------------------------------------------------------------
/**
* @constructor
+ * @param {!CalendarPicker} picker
*/
-function YearMonthController() {
+function YearMonthController(picker) {
+ this.picker = picker;
/**
* @type {!number}
*/
@@ -402,9 +413,9 @@ function YearMonthController() {
}
/**
- * @param {!Element} main
+ * @param {!Element} element
*/
-YearMonthController.prototype.attachTo = function(main) {
+YearMonthController.prototype.attachTo = function(element) {
var outerContainer = createElement("div", ClassNames.YearMonthArea);
var innerContainer = createElement("div", ClassNames.YearMonthUpper);
@@ -416,26 +427,26 @@ YearMonthController.prototype.attachTo = function(main) {
innerContainer.appendChild(box);
// We can't use <select> popup in PagePopup.
this._monthPopup = createElement("div", ClassNames.MonthSelectorPopup);
- this._monthPopup.addEventListener("click", bind(this._handleYearMonthChange, this), false);
- this._monthPopup.addEventListener("keydown", bind(this._handleMonthPopupKey, this), false);
- this._monthPopup.addEventListener("mousemove", bind(this._handleMouseMove, this), false);
+ this._monthPopup.addEventListener("click", this._handleYearMonthChange.bind(this), false);
+ this._monthPopup.addEventListener("keydown", this._handleMonthPopupKey.bind(this), false);
+ this._monthPopup.addEventListener("mousemove", this._handleMouseMove.bind(this), false);
this._updateSelectionOnMouseMove = true;
this._monthPopup.tabIndex = 0;
this._monthPopupContents = createElement("div", ClassNames.MonthSelectorPopupContents);
this._monthPopup.appendChild(this._monthPopupContents);
box.appendChild(this._monthPopup);
this._month = createElement("div", ClassNames.MonthSelector);
- this._month.addEventListener("click", bind(this._showPopup, this), false);
+ this._month.addEventListener("click", this._showPopup.bind(this), false);
box.appendChild(this._month);
this._attachRightButtonsTo(innerContainer);
- main.appendChild(outerContainer);
+ element.appendChild(outerContainer);
this._wall = createElement("div", ClassNames.MonthSelectorWall);
- this._wall.addEventListener("click", bind(this._closePopup, this), false);
- main.appendChild(this._wall);
+ this._wall.addEventListener("click", this._closePopup.bind(this), false);
+ element.appendChild(this._wall);
- var maximumYear = global.maximumDate.getUTCFullYear();
+ var maximumYear = this.picker.maximumDate.getUTCFullYear();
var maxWidth = 0;
for (var m = 0; m < 12; ++m) {
this._month.textContent = formatYearMonth(maximumYear, m);
@@ -465,20 +476,20 @@ YearMonthController.prototype._attachLeftButtonsTo = function(parent) {
this._left3 = createElement("input", ClassNames.YearMonthButton);
this._left3.type = "button";
this._left3.value = "<<<";
- this._left3.addEventListener("click", bind(this._handleButtonClick, this), false);
+ this._left3.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._left3);
}
this._left2 = createElement("input", ClassNames.YearMonthButton);
this._left2.type = "button";
this._left2.value = "<<";
- this._left2.addEventListener("click", bind(this._handleButtonClick, this), false);
+ this._left2.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._left2);
this._left1 = createElement("input", ClassNames.YearMonthButton);
this._left1.type = "button";
this._left1.value = "<";
- this._left1.addEventListener("click", bind(this._handleButtonClick, this), false);
+ this._left1.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._left1);
};
@@ -491,20 +502,20 @@ YearMonthController.prototype._attachRightButtonsTo = function(parent) {
this._right1 = createElement("input", ClassNames.YearMonthButton);
this._right1.type = "button";
this._right1.value = ">";
- this._right1.addEventListener("click", bind(this._handleButtonClick, this), false);
+ this._right1.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._right1);
this._right2 = createElement("input", ClassNames.YearMonthButton);
this._right2.type = "button";
this._right2.value = ">>";
- this._right2.addEventListener("click", bind(this._handleButtonClick, this), false);
+ this._right2.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._right2);
if (YearMonthController.addTenYearsButtons) {
this._right3 = createElement("input", ClassNames.YearMonthButton);
this._right3.type = "button";
this._right3.value = ">>>";
- this._right3.addEventListener("click", bind(this._handleButtonClick, this), false);
+ this._right3.addEventListener("click", this._handleButtonClick.bind(this), false);
container.appendChild(this._right3);
}
};
@@ -534,8 +545,8 @@ YearMonthController.prototype.setYearMonth = function(year, month) {
};
YearMonthController.prototype._redraw = function() {
- var min = global.minimumDate.getUTCFullYear() * 12 + global.minimumDate.getUTCMonth();
- var max = global.maximumDate.getUTCFullYear() * 12 + global.maximumDate.getUTCMonth();
+ var min = this.picker.minimumDate.getUTCFullYear() * 12 + this.picker.minimumDate.getUTCMonth();
+ var max = this.picker.maximumDate.getUTCFullYear() * 12 + this.picker.maximumDate.getUTCMonth();
var current = this._currentYear * 12 + this._currentMonth;
if (this._left3)
this._left3.disabled = current - 13 < min;
@@ -680,7 +691,7 @@ YearMonthController.prototype._handleYearMonthChange = function() {
return;
var newYear = Number(result[1]);
var newMonth = Number(result[2]);
- global.daysTable.navigateToMonthAndKeepSelectionPosition(newYear, newMonth);
+ this.picker.daysTable.navigateToMonthAndKeepSelectionPosition(newYear, newMonth);
};
/*
@@ -738,8 +749,8 @@ YearMonthController.prototype._handleButtonClick = function(event) {
* @param {!number} amount
*/
YearMonthController.prototype.moveRelatively = function(amount) {
- var min = global.minimumDate.getUTCFullYear() * 12 + global.minimumDate.getUTCMonth();
- var max = global.maximumDate.getUTCFullYear() * 12 + global.maximumDate.getUTCMonth();
+ var min = this.picker.minimumDate.getUTCFullYear() * 12 + this.picker.minimumDate.getUTCMonth();
+ var max = this.picker.maximumDate.getUTCFullYear() * 12 + this.picker.maximumDate.getUTCMonth();
var current = this._currentYear * 12 + this._currentMonth;
var updated = current;
if (amount < 0)
@@ -748,15 +759,17 @@ YearMonthController.prototype.moveRelatively = function(amount) {
updated = current + amount <= max ? current + amount : max;
if (updated == current)
return;
- global.daysTable.navigateToMonthAndKeepSelectionPosition(Math.floor(updated / 12), updated % 12);
+ this.picker.daysTable.navigateToMonthAndKeepSelectionPosition(Math.floor(updated / 12), updated % 12);
};
// ----------------------------------------------------------------
/**
* @constructor
+ * @param {!CalendarPicker} picker
*/
-function DaysTable() {
+function DaysTable(picker) {
+ this.picker = picker;
/**
* @type {!number}
*/
@@ -790,14 +803,14 @@ DaysTable.prototype._hasSelection = function() {
DaysTable._Weeks = 6;
/**
- * @param {!Element} main
+ * @param {!Element} element
*/
-DaysTable.prototype.attachTo = function(main) {
+DaysTable.prototype.attachTo = function(element) {
this._daysContainer = createElement("table", ClassNames.DaysArea);
- this._daysContainer.addEventListener("click", bind(this._handleDayClick, this), false);
- this._daysContainer.addEventListener("mouseover", bind(this._handleMouseOver, this), false);
- this._daysContainer.addEventListener("mouseout", bind(this._handleMouseOut, this), false);
- this._daysContainer.addEventListener("webkitTransitionEnd", bind(this._moveInDays, this), false);
+ this._daysContainer.addEventListener("click", this._handleDayClick.bind(this), false);
+ this._daysContainer.addEventListener("mouseover", this._handleMouseOver.bind(this), false);
+ this._daysContainer.addEventListener("mouseout", this._handleMouseOut.bind(this), false);
+ this._daysContainer.addEventListener("webkitTransitionEnd", this._moveInDays.bind(this), false);
var container = createElement("tr", ClassNames.DayLabelContainer);
var weekStartDay = global.params.weekStartDay || 0;
for (var i = 0; i < 7; i++)
@@ -820,8 +833,8 @@ DaysTable.prototype.attachTo = function(main) {
container = createElement("div", ClassNames.DaysAreaContainer);
container.appendChild(this._daysContainer);
container.tabIndex = 0;
- container.addEventListener("keydown", bind(this._handleKey, this), false);
- main.appendChild(container);
+ container.addEventListener("keydown", this._handleKey.bind(this), false);
+ element.appendChild(container);
container.focus();
};
@@ -830,24 +843,24 @@ DaysTable.prototype.attachTo = function(main) {
* @param {!number} time date in millisecond.
* @return {!boolean}
*/
-function stepMismatch(time) {
- return (time - global.minimumDate.getTime()) % global.step != 0;
+CalendarPicker.prototype.stepMismatch = function(time) {
+ return (time - this.minimumDate.getTime()) % this.step != 0;
}
/**
* @param {!number} time date in millisecond.
* @return {!boolean}
*/
-function outOfRange(time) {
- return time < global.minimumDate.getTime() || time > global.maximumDate.getTime();
+CalendarPicker.prototype.outOfRange = function(time) {
+ return time < this.minimumDate.getTime() || time > this.maximumDate.getTime();
}
/**
* @param {!number} time date in millisecond.
* @return {!boolean}
*/
-function isValidDate(time) {
- return !outOfRange(time) && !stepMismatch(time);
+CalendarPicker.prototype.isValidDate = function(time) {
+ return !this.outOfRange(time) && !this.stepMismatch(time);
}
/**
@@ -873,9 +886,9 @@ DaysTable.prototype._renderMonth = function(year, month) {
element.innerText = localizeNumber(dayIterator.getUTCDate());
element.className = ClassNames.Day;
element.dataset.submitValue = serializeDate(iterYear, iterMonth, dayIterator.getUTCDate());
- if (outOfRange(time))
+ if (this.picker.outOfRange(time))
element.classList.add(ClassNames.Unavailable);
- else if (stepMismatch(time))
+ else if (this.picker.stepMismatch(time))
element.classList.add(ClassNames.Unavailable);
else if ((iterYear == year && dayIterator.getUTCMonth() < month) || (month == 0 && iterMonth == 11)) {
element.classList.add(ClassNames.Available);
@@ -892,7 +905,7 @@ DaysTable.prototype._renderMonth = function(year, month) {
}
}
- global.today.disabled = !isValidDate(parseDateString().getTime());
+ this.picker.today.disabled = !this.picker.isValidDate(parseDateString().getTime());
};
/**
@@ -900,7 +913,7 @@ DaysTable.prototype._renderMonth = function(year, month) {
* @param {!number} month
*/
DaysTable.prototype._navigateToMonth = function(year, month) {
- global.yearMonthController.setYearMonth(year, month);
+ this.picker.yearMonthController.setYearMonth(year, month);
this._renderMonth(year, month);
};
@@ -975,7 +988,7 @@ DaysTable.prototype._maybeSetPreviousMonth = function() {
var year = global.yearMonthController.year();
var month = global.yearMonthController.month();
var thisMonthStartTime = createUTCDate(year, month, 1).getTime();
- if (global.minimumDate.getTime() >= thisMonthStartTime)
+ if (this.minimumDate.getTime() >= thisMonthStartTime)
return false;
if (month == 0) {
year--;
@@ -998,7 +1011,7 @@ DaysTable.prototype._maybeSetNextMonth = function() {
} else
month++;
var nextMonthStartTime = createUTCDate(year, month, 1).getTime();
- if (global.maximumDate.getTime() < nextMonthStartTime)
+ if (this.picker.maximumDate.getTime() < nextMonthStartTime)
return false;
this._navigateToMonthWithAnimation(year, month);
return true;
@@ -1009,7 +1022,7 @@ DaysTable.prototype._maybeSetNextMonth = function() {
*/
DaysTable.prototype._handleDayClick = function(event) {
if (event.target.classList.contains(ClassNames.Available))
- submitValue(event.target.dataset.submitValue);
+ this.picker.submitValue(event.target.dataset.submitValue);
};
/**
@@ -1110,7 +1123,7 @@ DaysTable.prototype._handleKey = function(event) {
} else if (this._hasSelection() && key == "Enter") {
var dayNode = this._days[y][x];
if (dayNode.classList.contains(ClassNames.Available)) {
- submitValue(dayNode.dataset.submitValue);
+ this.picker.submitValue(dayNode.dataset.submitValue);
event.stopPropagation();
}
@@ -1139,53 +1152,30 @@ DaysTable.prototype.updateSelection = function(event, x, y) {
event.preventDefault();
};
-// ----------------------------------------------------------------
-
-function handleToday() {
- var date = new Date();
- global.daysTable.selectDate(date);
- submitValue(serializeDate(date.getFullYear(), date.getMonth(), date.getDate()));
-}
-
-function handleClear() {
- submitValue("");
-}
-
/**
- * @param {string} value
- */
-function submitValue(value) {
- window.pagePopupController.setValueAndClosePopup(0, value);
-}
-
-function handleCancel() {
- window.pagePopupController.setValueAndClosePopup(-1, "");
-}
-
-/**
- * @param {Event} event
+ * @param {!Event} event
*/
-function handleGlobalKey(event) {
+CalendarPicker.prototype._handleBodyKeyDown = function(event) {
maybeUpdateFocusStyle();
var key = event.keyIdentifier;
if (key == "U+0009") {
if (!event.shiftKey && document.activeElement == global.lastFocusableControl) {
event.stopPropagation();
event.preventDefault();
- global.firstFocusableControl.focus();
+ this.firstFocusableControl.focus();
} else if (event.shiftKey && document.activeElement == global.firstFocusableControl) {
event.stopPropagation();
event.preventDefault();
- global.lastFocusableControl.focus();
+ this.lastFocusableControl.focus();
}
} else if (key == "U+004D") { // 'm'
- global.yearMonthController.moveRelatively(event.shiftKey ? YearMonthController.PreviousMonth : YearMonthController.NextMonth);
+ this.yearMonthController.moveRelatively(event.shiftKey ? YearMonthController.PreviousMonth : YearMonthController.NextMonth);
} else if (key == "U+0059") { // 'y'
- global.yearMonthController.moveRelatively(event.shiftKey ? YearMonthController.PreviousYear : YearMonthController.NextYear);
+ this.yearMonthController.moveRelatively(event.shiftKey ? YearMonthController.PreviousYear : YearMonthController.NextYear);
} else if (key == "U+0044") { // 'd'
- global.yearMonthController.moveRelatively(event.shiftKey ? YearMonthController.PreviousTenYears : YearMonthController.NextTenYears);
+ this.yearMonthController.moveRelatively(event.shiftKey ? YearMonthController.PreviousTenYears : YearMonthController.NextTenYears);
} else if (key == "U+001B") // ESC
- handleCancel();
+ this.handleCancel();
}
function maybeUpdateFocusStyle() {
diff --git a/Source/WebCore/Resources/pagepopups/colorSuggestionPicker.js b/Source/WebCore/Resources/pagepopups/colorSuggestionPicker.js
index d48cb96e7..46a0d4932 100644
--- a/Source/WebCore/Resources/pagepopups/colorSuggestionPicker.js
+++ b/Source/WebCore/Resources/pagepopups/colorSuggestionPicker.js
@@ -74,38 +74,18 @@ function validateArguments(args) {
return null;
}
-var Actions = {
- ChooseOtherColor: -2,
- Cancel: -1,
- SetValue: 0
-};
-
-/**
- * @param {string} value
- */
-function submitValue(value) {
- window.pagePopupController.setValueAndClosePopup(Actions.SetValue, value);
-}
-
-function handleCancel() {
- window.pagePopupController.setValueAndClosePopup(Actions.Cancel, "");
-}
-
-function chooseOtherColor() {
- window.pagePopupController.setValueAndClosePopup(Actions.ChooseOtherColor, "");
-}
-
function ColorPicker(element, config) {
- this._element = element;
+ Picker.call(this, element, config);
this._config = config;
if (this._config.values.length === 0)
this._config.values = DefaultColorPalette;
this._container = null;
this._layout();
- document.body.addEventListener("keydown", bind(this._handleKeyDown, this));
- this._element.addEventListener("mousemove", bind(this._handleMouseMove, this));
- this._element.addEventListener("mousedown", bind(this._handleMouseDown, this));
+ document.body.addEventListener("keydown", this._handleKeyDown.bind(this));
+ this._element.addEventListener("mousemove", this._handleMouseMove.bind(this));
+ this._element.addEventListener("mousedown", this._handleMouseDown.bind(this));
}
+ColorPicker.prototype = Object.create(Picker.prototype);
var SwatchBorderBoxWidth = 24; // keep in sync with CSS
var SwatchBorderBoxHeight = 24; // keep in sync with CSS
@@ -114,7 +94,7 @@ var SwatchesMaxRow = 4;
ColorPicker.prototype._layout = function() {
var container = createElement("div", "color-swatch-container");
- container.addEventListener("click", bind(this._handleSwatchClick, this), false);
+ container.addEventListener("click", this._handleSwatchClick.bind(this), false);
for (var i = 0; i < this._config.values.length; ++i) {
var swatch = createElement("button", "color-swatch");
swatch.dataset.index = i;
@@ -130,7 +110,7 @@ ColorPicker.prototype._layout = function() {
container.style.maxHeight = (SwatchBorderBoxHeight * SwatchesMaxRow) + "px";
this._element.appendChild(container);
var otherButton = createElement("button", "other-color", this._config.otherColorLabel);
- otherButton.addEventListener("click", chooseOtherColor, false);
+ otherButton.addEventListener("click", this.chooseOtherColor.bind(this), false);
this._element.appendChild(otherButton);
this._container = container;
this._otherButton = otherButton;
@@ -158,7 +138,7 @@ ColorPicker.prototype._handleMouseDown = function(event) {
ColorPicker.prototype._handleKeyDown = function(event) {
var key = event.keyIdentifier;
if (key === "U+001B") // ESC
- handleCancel();
+ this.handleCancel();
else if (key == "Left" || key == "Up" || key == "Right" || key == "Down") {
var selectedElement = document.activeElement;
var index = 0;
@@ -194,7 +174,7 @@ ColorPicker.prototype._handleKeyDown = function(event) {
ColorPicker.prototype._handleSwatchClick = function(event) {
if (event.target.classList.contains("color-swatch"))
- submitValue(event.target.dataset.value);
+ this.submitValue(event.target.dataset.value);
};
if (window.dialogArguments) {
diff --git a/Source/WebCore/Resources/pagepopups/pickerCommon.js b/Source/WebCore/Resources/pagepopups/pickerCommon.js
index dfb291814..852332160 100644
--- a/Source/WebCore/Resources/pagepopups/pickerCommon.js
+++ b/Source/WebCore/Resources/pagepopups/pickerCommon.js
@@ -29,12 +29,6 @@ function $(id) {
return document.getElementById(id);
}
-function bind(func, context) {
- return function() {
- return func.apply(context, arguments);
- };
-}
-
/**
* @param {!string} tagName
* @param {string=} opt_class
@@ -76,3 +70,37 @@ function getScrollbarWidth() {
}
return window.scrollbarWidth;
}
+
+/**
+ * @constructor
+ * @param {!Element} element
+ * @param {!Object} config
+ */
+function Picker(element, config) {
+ this._element = element;
+ this._config = config;
+}
+
+/**
+ * @enum {number}
+ */
+Picker.Actions = {
+ SetValue: 0,
+ Cancel: -1,
+ ChooseOtherColor: -2
+};
+
+/**
+ * @param {!string} value
+ */
+Picker.prototype.submitValue = function(value) {
+ window.pagePopupController.setValueAndClosePopup(Picker.Actions.SetValue, value);
+}
+
+Picker.prototype.handleCancel = function() {
+ window.pagePopupController.setValueAndClosePopup(Picker.Actions.Cancel, "");
+}
+
+Picker.prototype.chooseOtherColor = function() {
+ window.pagePopupController.setValueAndClosePopup(Picker.Actions.ChooseOtherColor, "");
+}
diff --git a/Source/WebCore/Target.pri b/Source/WebCore/Target.pri
index 8b0db217d..edbe2f437 100644
--- a/Source/WebCore/Target.pri
+++ b/Source/WebCore/Target.pri
@@ -249,13 +249,15 @@ SOURCES += \
Modules/filesystem/FileWriterSync.cpp \
Modules/filesystem/LocalFileSystem.cpp \
Modules/filesystem/WorkerContextFileSystem.cpp \
+ Modules/navigatorcontentutils/NavigatorContentUtils.cpp \
Modules/notifications/DOMWindowNotifications.cpp \
Modules/notifications/Notification.cpp \
Modules/notifications/NotificationCenter.cpp \
Modules/notifications/NotificationController.cpp \
Modules/notifications/WorkerContextNotifications.cpp \
- Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp \
+ css/BasicShapeFunctions.cpp \
css/CSSAspectRatioValue.cpp \
+ css/CSSBasicShapes.cpp \
css/CSSBorderImageSliceValue.cpp \
css/CSSBorderImage.cpp \
css/CSSCalculationValue.cpp \
@@ -273,6 +275,7 @@ SOURCES += \
css/CSSGradientValue.cpp \
css/CSSImageValue.cpp \
css/CSSImageGeneratorValue.cpp \
+ css/CSSImageSetValue.cpp \
css/CSSImportRule.cpp \
css/CSSInheritedValue.cpp \
css/CSSInitialValue.cpp \
@@ -299,7 +302,6 @@ SOURCES += \
css/CSSValue.cpp \
css/CSSValueList.cpp \
css/CSSValuePool.cpp \
- css/CSSWrapShapes.cpp \
css/FontFeatureValue.cpp \
css/FontValue.cpp \
css/LengthFunctions.cpp \
@@ -325,6 +327,7 @@ SOURCES += \
css/StyleSheet.cpp \
css/StyleSheetContents.cpp \
css/StyleSheetList.cpp \
+ css/WebKitCSSArrayFunctionValue.cpp \
css/WebKitCSSFilterValue.cpp \
css/WebKitCSSKeyframeRule.cpp \
css/WebKitCSSKeyframesRule.cpp \
@@ -334,7 +337,6 @@ SOURCES += \
css/WebKitCSSSVGDocumentValue.cpp \
css/WebKitCSSShaderValue.cpp \
css/WebKitCSSTransformValue.cpp \
- css/WrapShapeFunctions.cpp \
dom/ActiveDOMObject.cpp \
dom/Attr.cpp \
dom/BeforeTextInsertedEvent.cpp \
@@ -375,6 +377,7 @@ SOURCES += \
dom/DOMCoreException.cpp \
dom/DOMError.cpp \
dom/DOMImplementation.cpp \
+ dom/DOMNamedFlowCollection.cpp \
dom/DOMStringList.cpp \
dom/DOMStringMap.cpp \
dom/DatasetDOMStringMap.cpp \
@@ -401,7 +404,6 @@ SOURCES += \
dom/IdTargetObserver.cpp \
dom/IdTargetObserverRegistry.cpp \
dom/KeyboardEvent.cpp \
- dom/MemoryInstrumentation.cpp \
dom/MessageChannel.cpp \
dom/MessageEvent.cpp \
dom/MessagePort.cpp \
@@ -414,6 +416,8 @@ SOURCES += \
dom/MutationObserverInterestGroup.cpp \
dom/MutationObserverRegistration.cpp \
dom/MutationRecord.cpp \
+ dom/WebKitNamedFlow.cpp \
+ dom/NamedFlowCollection.cpp \
dom/NamedNodeMap.cpp \
dom/NameNodeList.cpp \
dom/Node.cpp \
@@ -465,9 +469,8 @@ SOURCES += \
dom/UserGestureIndicator.cpp \
dom/UserTypingGestureIndicator.cpp \
dom/ViewportArguments.cpp \
+ dom/WebCoreMemoryInstrumentation.cpp \
dom/WebKitAnimationEvent.cpp \
- dom/WebKitNamedFlow.cpp \
- dom/WebKitNamedFlowCollection.cpp \
dom/WebKitTransitionEvent.cpp \
dom/WheelEvent.cpp \
dom/WindowEventContext.cpp \
@@ -890,6 +893,7 @@ SOURCES += \
page/PerformanceTiming.cpp \
page/PrintContext.cpp \
page/Screen.cpp \
+ page/scrolling/ScrollingConstraints.cpp \
page/scrolling/ScrollingCoordinator.cpp \
page/scrolling/ScrollingCoordinatorNone.cpp \
page/SecurityOrigin.cpp \
@@ -950,6 +954,7 @@ SOURCES += \
platform/graphics/FontFastPath.cpp \
platform/graphics/FractionalLayoutBoxExtent.cpp \
platform/graphics/FractionalLayoutRect.cpp \
+ platform/graphics/GeneratedImage.cpp \
platform/graphics/GeneratorGeneratedImage.cpp \
platform/graphics/GlyphPageTreeNode.cpp \
platform/graphics/Gradient.cpp \
@@ -1059,8 +1064,8 @@ SOURCES += \
platform/sql/SQLiteTransaction.cpp \
platform/sql/SQLValue.cpp \
platform/text/SegmentedString.cpp \
- platform/text/String.cpp \
platform/text/TextBoundaries.cpp \
+ platform/text/TextBreakIterator.cpp \
platform/text/TextCodec.cpp \
platform/text/TextCodecLatin1.cpp \
platform/text/TextCodecUserDefined.cpp \
@@ -1068,7 +1073,7 @@ SOURCES += \
platform/text/TextCodecUTF8.cpp \
platform/text/TextCodecICU.cpp \
platform/text/TextEncoding.cpp \
- platform/text/TextEncodingDetectorNone.cpp \
+ platform/text/TextEncodingDetectorICU.cpp \
platform/text/TextEncodingRegistry.cpp \
platform/text/TextStream.cpp \
platform/ThreadGlobalData.cpp \
@@ -1113,12 +1118,12 @@ SOURCES += \
rendering/RenderCounter.cpp \
rendering/RenderDeprecatedFlexibleBox.cpp \
rendering/RenderDetailsMarker.cpp \
+ rendering/RenderDialog.cpp \
rendering/RenderEmbeddedObject.cpp \
rendering/RenderFieldset.cpp \
rendering/RenderFileUploadControl.cpp \
rendering/RenderFlexibleBox.cpp \
rendering/RenderFlowThread.cpp \
- rendering/RenderFlowThreadContainer.cpp \
rendering/RenderFrame.cpp \
rendering/RenderFrameBase.cpp \
rendering/RenderFrameSet.cpp \
@@ -1182,6 +1187,8 @@ SOURCES += \
rendering/RenderWordBreak.cpp \
rendering/RootInlineBox.cpp \
rendering/ScrollBehavior.cpp \
+ rendering/WrapShapeInfo.cpp \
+ rendering/style/BasicShapes.cpp \
rendering/style/ContentData.cpp \
rendering/style/CounterDirectives.cpp \
rendering/style/FillLayer.cpp \
@@ -1193,6 +1200,7 @@ SOURCES += \
rendering/style/StyleBackgroundData.cpp \
rendering/style/StyleBoxData.cpp \
rendering/style/StyleCachedImage.cpp \
+ rendering/style/StyleCachedImageSet.cpp \
rendering/style/StyleCachedShader.cpp \
rendering/style/StyleDeprecatedFlexibleBoxData.cpp \
rendering/style/StyleFilterData.cpp \
@@ -1208,7 +1216,6 @@ SOURCES += \
rendering/style/StyleSurroundData.cpp \
rendering/style/StyleTransformData.cpp \
rendering/style/StyleVisualData.cpp \
- rendering/style/WrapShapes.cpp \
storage/StorageTask.cpp \
storage/StorageThread.cpp \
storage/Storage.cpp \
@@ -1400,7 +1407,9 @@ HEADERS += \
Modules/webdatabase/SQLTransactionSyncCallback.h \
Modules/webdatabase/WorkerContextWebDatabase.h \
\
+ css/BasicShapeFunctions.h \
css/CSSAspectRatioValue.h \
+ css/CSSBasicShapes.h \
css/CSSBorderImageSliceValue.h \
css/CSSBorderImage.h \
css/CSSCalculationValue.h \
@@ -1447,7 +1456,6 @@ HEADERS += \
css/CSSValueList.h \
css/CSSValuePool.h \
css/CSSVariableValue.h \
- css/CSSWrapShapes.h \
css/FontFeatureValue.h \
css/FontValue.h \
css/LengthFunctions.h \
@@ -1472,6 +1480,7 @@ HEADERS += \
css/StyleSheet.h \
css/StyleSheetContents.h \
css/StyleSheetList.h \
+ css/WebKitCSSArrayFunctionValue.h \
css/WebKitCSSFilterValue.h \
css/WebKitCSSKeyframeRule.h \
css/WebKitCSSKeyframesRule.h \
@@ -1481,7 +1490,6 @@ HEADERS += \
css/WebKitCSSSVGDocumentValue.h \
css/WebKitCSSShaderValue.h \
css/WebKitCSSTransformValue.h \
- css/WrapShapeFunctions.h \
dom/ActiveDOMObject.h \
dom/Attr.h \
dom/Attribute.h \
@@ -1557,6 +1565,7 @@ HEADERS += \
dom/MutationObserver.h \
dom/MutationObserverRegistration.h \
dom/MutationRecord.h \
+ dom/NamedFlowCollection.h \
dom/NamedNodeMap.h \
dom/NameNodeList.h \
dom/NodeFilterCondition.h \
@@ -1603,9 +1612,9 @@ HEADERS += \
dom/UIEventWithKeyState.h \
dom/UserGestureIndicator.h \
dom/ViewportArguments.h \
+ dom/WebCoreMemoryInstrumentation.h \
dom/WebKitAnimationEvent.h \
dom/WebKitNamedFlow.h \
- dom/WebKitNamedFlowCollection.h \
dom/WebKitTransitionEvent.h \
dom/WheelEvent.h \
editing/AlternativeTextController.h \
@@ -2035,11 +2044,14 @@ HEADERS += \
platform/graphics/CrossfadeGeneratedImage.h \
platform/graphics/filters/CustomFilterGlobalContext.h \
platform/graphics/filters/CustomFilterMesh.h \
+ platform/graphics/filters/CustomFilterMeshGenerator.h \
platform/graphics/filters/CustomFilterNumberParameter.h \
platform/graphics/filters/CustomFilterCompiledProgram.h \
platform/graphics/filters/CustomFilterOperation.h \
platform/graphics/filters/CustomFilterParameter.h \
platform/graphics/filters/CustomFilterProgram.h \
+ platform/graphics/filters/CustomFilterTransformParameter.h \
+ platform/graphics/filters/CustomFilterValidatedProgram.h \
platform/graphics/filters/FEBlend.h \
platform/graphics/filters/FEColorMatrix.h \
platform/graphics/filters/FEComponentTransfer.h \
@@ -2364,6 +2376,8 @@ HEADERS += \
rendering/RenderWordBreak.h \
rendering/RootInlineBox.h \
rendering/ScrollBehavior.h \
+ rendering/WrapShapeInfo.h \
+ rendering/style/BasicShapes.h \
rendering/style/ContentData.h \
rendering/style/CounterDirectives.h \
rendering/style/CursorData.h \
@@ -2397,7 +2411,6 @@ HEADERS += \
rendering/style/StyleVisualData.h \
rendering/style/SVGRenderStyleDefs.h \
rendering/style/SVGRenderStyle.h \
- rendering/style/WrapShapes.h \
rendering/svg/RenderSVGBlock.h \
rendering/svg/RenderSVGContainer.h \
rendering/svg/RenderSVGEllipse.h \
@@ -3109,6 +3122,18 @@ contains(DEFINES, ENABLE_GAMEPAD=1) {
platform/qt/GamepadsQt.cpp
}
+contains(DEFINES, WTF_USE_GSTREAMER=1) {
+ HEADERS += \
+ platform/graphics/gstreamer/GRefPtrGStreamer.h \
+ platform/graphics/gstreamer/GStreamerUtilities.h \
+ platform/graphics/gstreamer/GStreamerVersioning.h
+
+ SOURCES += \
+ platform/graphics/gstreamer/GRefPtrGStreamer.cpp \
+ platform/graphics/gstreamer/GStreamerUtilities.cpp \
+ platform/graphics/gstreamer/GStreamerVersioning.cpp
+}
+
contains(DEFINES, ENABLE_VIDEO=1) {
SOURCES += \
html/HTMLAudioElement.cpp \
@@ -3170,10 +3195,7 @@ contains(DEFINES, ENABLE_VIDEO=1) {
} else: contains(DEFINES, WTF_USE_GSTREAMER=1) {
HEADERS += \
- platform/graphics/gstreamer/GRefPtrGStreamer.h \
platform/graphics/gstreamer/GStreamerGWorld.h \
- platform/graphics/gstreamer/GStreamerUtilities.h \
- platform/graphics/gstreamer/GStreamerVersioning.h \
platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h \
platform/graphics/gstreamer/VideoSinkGStreamer.h \
platform/graphics/gstreamer/WebKitWebSourceGStreamer.h \
@@ -3181,10 +3203,7 @@ contains(DEFINES, ENABLE_VIDEO=1) {
platform/graphics/gstreamer/PlatformVideoWindowPrivate.h \
platform/graphics/gstreamer/ImageGStreamer.h
SOURCES += \
- platform/graphics/gstreamer/GRefPtrGStreamer.cpp \
platform/graphics/gstreamer/GStreamerGWorld.cpp \
- platform/graphics/gstreamer/GStreamerUtilities.cpp \
- platform/graphics/gstreamer/GStreamerVersioning.cpp \
platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp \
platform/graphics/gstreamer/VideoSinkGStreamer.cpp \
platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp \
@@ -3200,6 +3219,187 @@ contains(DEFINES, ENABLE_VIDEO=1) {
}
}
+contains(DEFINES, ENABLE_WEB_AUDIO=1) {
+ HEADERS += \
+ Modules/webaudio/AsyncAudioDecoder.h \
+ Modules/webaudio/AudioBasicInspectorNode.h \
+ Modules/webaudio/AudioBasicProcessorNode.h \
+ Modules/webaudio/AudioBufferCallback.h \
+ Modules/webaudio/AudioBuffer.h \
+ Modules/webaudio/AudioBufferSourceNode.h \
+ Modules/webaudio/AudioChannelMerger.h \
+ Modules/webaudio/AudioChannelSplitter.h \
+ Modules/webaudio/AudioContext.h \
+ Modules/webaudio/AudioDestinationNode.h \
+ Modules/webaudio/AudioGain.h \
+ Modules/webaudio/AudioGainNode.h \
+ Modules/webaudio/AudioListener.h \
+ Modules/webaudio/AudioNode.h \
+ Modules/webaudio/AudioNodeInput.h \
+ Modules/webaudio/AudioNodeOutput.h \
+ Modules/webaudio/AudioPannerNode.h \
+ Modules/webaudio/AudioParam.h \
+ Modules/webaudio/AudioParamTimeline.h \
+ Modules/webaudio/AudioProcessingEvent.h \
+ Modules/webaudio/AudioScheduledSourceNode.h \
+ Modules/webaudio/AudioSourceNode.h \
+ Modules/webaudio/AudioSummingJunction.h \
+ Modules/webaudio/BiquadDSPKernel.h \
+ Modules/webaudio/BiquadFilterNode.h \
+ Modules/webaudio/BiquadProcessor.h \
+ Modules/webaudio/ConvolverNode.h \
+ Modules/webaudio/DefaultAudioDestinationNode.h \
+ Modules/webaudio/DelayDSPKernel.h \
+ Modules/webaudio/DelayNode.h \
+ Modules/webaudio/DelayProcessor.h \
+ Modules/webaudio/DynamicsCompressorNode.h \
+ Modules/webaudio/JavaScriptAudioNode.h \
+ Modules/webaudio/MediaElementAudioSourceNode.h \
+ Modules/webaudio/MediaStreamAudioSourceNode.h \
+ Modules/webaudio/OfflineAudioCompletionEvent.h \
+ Modules/webaudio/OfflineAudioDestinationNode.h \
+ Modules/webaudio/Oscillator.h \
+ Modules/webaudio/RealtimeAnalyser.h \
+ Modules/webaudio/RealtimeAnalyserNode.h \
+ Modules/webaudio/WaveShaperDSPKernel.h \
+ Modules/webaudio/WaveShaperNode.h \
+ Modules/webaudio/WaveShaperProcessor.h \
+ Modules/webaudio/WaveTable.h \
+ platform/audio/AudioArray.h \
+ platform/audio/AudioBus.h \
+ platform/audio/AudioChannel.h \
+ platform/audio/AudioDestination.h \
+ platform/audio/AudioDSPKernel.h \
+ platform/audio/AudioDSPKernelProcessor.h \
+ platform/audio/AudioFIFO.h \
+ platform/audio/AudioFileReader.h \
+ platform/audio/AudioIOCallback.h \
+ platform/audio/AudioProcessor.h \
+ platform/audio/AudioPullFIFO.h \
+ platform/audio/AudioResampler.h \
+ platform/audio/AudioResamplerKernel.h \
+ platform/audio/AudioSourceProviderClient.h \
+ platform/audio/AudioSourceProvider.h \
+ platform/audio/AudioUtilities.h \
+ platform/audio/Biquad.h \
+ platform/audio/Cone.h \
+ platform/audio/DenormalDisabler.h \
+ platform/audio/DirectConvolver.h \
+ platform/audio/Distance.h \
+ platform/audio/DynamicsCompressor.h \
+ platform/audio/DynamicsCompressorKernel.h \
+ platform/audio/EqualPowerPanner.h \
+ platform/audio/FFTConvolver.h \
+ platform/audio/FFTFrame.h \
+ platform/audio/HRTFDatabase.h \
+ platform/audio/HRTFDatabaseLoader.h \
+ platform/audio/HRTFElevation.h \
+ platform/audio/HRTFKernel.h \
+ platform/audio/HRTFPanner.h \
+ platform/audio/MultiChannelResampler.h \
+ platform/audio/Panner.h \
+ platform/audio/ReverbAccumulationBuffer.h \
+ platform/audio/ReverbConvolver.h \
+ platform/audio/ReverbConvolverStage.h \
+ platform/audio/Reverb.h \
+ platform/audio/ReverbInputBuffer.h \
+ platform/audio/SincResampler.h \
+ platform/audio/VectorMath.h \
+ platform/audio/ZeroPole.h
+
+ SOURCES += \
+ bindings/js/JSAudioBufferSourceNodeCustom.cpp \
+ bindings/js/JSAudioContextCustom.cpp \
+ bindings/js/JSDOMWindowWebAudioCustom.cpp \
+ bindings/js/JSJavaScriptAudioNodeCustom.cpp \
+ Modules/webaudio/AsyncAudioDecoder.cpp \
+ Modules/webaudio/AudioBasicInspectorNode.cpp \
+ Modules/webaudio/AudioBasicProcessorNode.cpp \
+ Modules/webaudio/AudioBuffer.cpp \
+ Modules/webaudio/AudioBufferSourceNode.cpp \
+ Modules/webaudio/AudioChannelMerger.cpp \
+ Modules/webaudio/AudioChannelSplitter.cpp \
+ Modules/webaudio/AudioContext.cpp \
+ Modules/webaudio/AudioDestinationNode.cpp \
+ Modules/webaudio/AudioGainNode.cpp \
+ Modules/webaudio/AudioListener.cpp \
+ Modules/webaudio/AudioNode.cpp \
+ Modules/webaudio/AudioNodeInput.cpp \
+ Modules/webaudio/AudioNodeOutput.cpp \
+ Modules/webaudio/AudioPannerNode.cpp \
+ Modules/webaudio/AudioParam.cpp \
+ Modules/webaudio/AudioParamTimeline.cpp \
+ Modules/webaudio/AudioProcessingEvent.cpp \
+ Modules/webaudio/AudioScheduledSourceNode.cpp \
+ Modules/webaudio/AudioSummingJunction.cpp \
+ Modules/webaudio/BiquadDSPKernel.cpp \
+ Modules/webaudio/BiquadFilterNode.cpp \
+ Modules/webaudio/BiquadProcessor.cpp \
+ Modules/webaudio/ConvolverNode.cpp \
+ Modules/webaudio/DefaultAudioDestinationNode.cpp \
+ Modules/webaudio/DelayDSPKernel.cpp \
+ Modules/webaudio/DelayNode.cpp \
+ Modules/webaudio/DelayProcessor.cpp \
+ Modules/webaudio/DynamicsCompressorNode.cpp \
+ Modules/webaudio/JavaScriptAudioNode.cpp \
+ Modules/webaudio/MediaElementAudioSourceNode.cpp \
+ Modules/webaudio/MediaStreamAudioSourceNode.cpp \
+ Modules/webaudio/OfflineAudioCompletionEvent.cpp \
+ Modules/webaudio/OfflineAudioDestinationNode.cpp \
+ Modules/webaudio/Oscillator.cpp \
+ Modules/webaudio/RealtimeAnalyser.cpp \
+ Modules/webaudio/RealtimeAnalyserNode.cpp \
+ Modules/webaudio/WaveShaperDSPKernel.cpp \
+ Modules/webaudio/WaveShaperNode.cpp \
+ Modules/webaudio/WaveShaperProcessor.cpp \
+ Modules/webaudio/WaveTable.cpp \
+ platform/audio/AudioBus.cpp \
+ platform/audio/AudioChannel.cpp \
+ platform/audio/AudioDSPKernelProcessor.cpp \
+ platform/audio/AudioFIFO.cpp \
+ platform/audio/AudioPullFIFO.cpp \
+ platform/audio/AudioResampler.cpp \
+ platform/audio/AudioResamplerKernel.cpp \
+ platform/audio/AudioUtilities.cpp \
+ platform/audio/Biquad.cpp \
+ platform/audio/Cone.cpp \
+ platform/audio/DirectConvolver.cpp \
+ platform/audio/Distance.cpp \
+ platform/audio/DynamicsCompressor.cpp \
+ platform/audio/DynamicsCompressorKernel.cpp \
+ platform/audio/EqualPowerPanner.cpp \
+ platform/audio/FFTConvolver.cpp \
+ platform/audio/FFTFrame.cpp \
+ platform/audio/FFTFrameStub.cpp \
+ platform/audio/HRTFDatabase.cpp \
+ platform/audio/HRTFDatabaseLoader.cpp \
+ platform/audio/HRTFElevation.cpp \
+ platform/audio/HRTFKernel.cpp \
+ platform/audio/HRTFPanner.cpp \
+ platform/audio/MultiChannelResampler.cpp \
+ platform/audio/Panner.cpp \
+ platform/audio/qt/AudioBusQt.cpp \
+ platform/audio/ReverbAccumulationBuffer.cpp \
+ platform/audio/ReverbConvolver.cpp \
+ platform/audio/ReverbConvolverStage.cpp \
+ platform/audio/Reverb.cpp \
+ platform/audio/ReverbInputBuffer.cpp \
+ platform/audio/SincResampler.cpp \
+ platform/audio/VectorMath.cpp \
+ platform/audio/ZeroPole.cpp
+
+ contains(DEFINES, WTF_USE_GSTREAMER=1) {
+ HEADERS += \
+ platform/audio/gstreamer/AudioDestinationGStreamer.h \
+ platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h
+ SOURCES += \
+ platform/audio/gstreamer/AudioDestinationGStreamer.cpp \
+ platform/audio/gstreamer/AudioFileReaderGStreamer.cpp \
+ platform/audio/gstreamer/FFTFrameGStreamer.cpp \
+ platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp
+ }
+}
+
contains(DEFINES, ENABLE_FULLSCREEN_API=1) {
SOURCES += \
rendering/RenderFullScreen.cpp
@@ -3247,6 +3447,8 @@ contains(DEFINES, ENABLE_FILTERS=1) {
platform/graphics/filters/CustomFilterProgram.cpp \
platform/graphics/filters/CustomFilterCompiledProgram.cpp \
platform/graphics/filters/CustomFilterMesh.cpp \
+ platform/graphics/filters/CustomFilterMeshGenerator.cpp \
+ platform/graphics/filters/CustomFilterValidatedProgram.cpp \
platform/graphics/filters/DistantLightSource.cpp \
platform/graphics/filters/FEBlend.cpp \
platform/graphics/filters/FEColorMatrix.cpp \
@@ -3293,6 +3495,9 @@ contains(DEFINES, ENABLE_MATHML=1) {
rendering/mathml/RenderMathMLSquareRoot.cpp \
rendering/mathml/RenderMathMLSubSup.cpp \
rendering/mathml/RenderMathMLUnderOver.cpp
+
+ ALL_IN_ONE_SOURCES +=
+ mathml/MathMLAllInOne.cpp
}
contains(DEFINES, ENABLE_TEXT_AUTOSIZING=1) {
@@ -3330,6 +3535,54 @@ contains(DEFINES, ENABLE_SVG=1) {
rendering/svg/RenderSVGPath.cpp \
rendering/svg/RenderSVGRect.cpp \
rendering/svg/RenderSVGShape.cpp \
+ rendering/svg/RenderSVGBlock.cpp \
+ rendering/svg/RenderSVGContainer.cpp \
+ rendering/svg/RenderSVGForeignObject.cpp \
+ rendering/svg/RenderSVGGradientStop.cpp \
+ rendering/svg/RenderSVGHiddenContainer.cpp \
+ rendering/svg/RenderSVGImage.cpp \
+ rendering/svg/RenderSVGInline.cpp \
+ rendering/svg/RenderSVGInlineText.cpp \
+ rendering/svg/RenderSVGModelObject.cpp \
+ rendering/svg/RenderSVGResource.cpp \
+ rendering/svg/RenderSVGResourceClipper.cpp \
+ rendering/svg/RenderSVGResourceContainer.cpp \
+ rendering/svg/RenderSVGResourceFilter.cpp \
+ rendering/svg/RenderSVGResourceFilterPrimitive.cpp \
+ rendering/svg/RenderSVGResourceGradient.cpp \
+ rendering/svg/RenderSVGResourceLinearGradient.cpp \
+ rendering/svg/RenderSVGResourceMarker.cpp \
+ rendering/svg/RenderSVGResourceMasker.cpp \
+ rendering/svg/RenderSVGResourcePattern.cpp \
+ rendering/svg/RenderSVGResourceRadialGradient.cpp \
+ rendering/svg/RenderSVGResourceSolidColor.cpp \
+ rendering/svg/RenderSVGRoot.cpp \
+ rendering/svg/RenderSVGTSpan.cpp \
+ rendering/svg/RenderSVGText.cpp \
+ rendering/svg/RenderSVGTextPath.cpp \
+ rendering/svg/RenderSVGTransformableContainer.cpp \
+ rendering/svg/RenderSVGViewportContainer.cpp \
+ rendering/svg/SVGInlineFlowBox.cpp \
+ rendering/svg/SVGInlineTextBox.cpp \
+ rendering/svg/SVGPathData.cpp \
+ rendering/svg/SVGRenderSupport.cpp \
+ rendering/svg/SVGRenderTreeAsText.cpp \
+ rendering/svg/SVGRenderingContext.cpp \
+ rendering/svg/SVGResources.cpp \
+ rendering/svg/SVGResourcesCache.cpp \
+ rendering/svg/SVGResourcesCycleSolver.cpp \
+ rendering/svg/SVGRootInlineBox.cpp \
+ rendering/svg/SVGTextChunk.cpp \
+ rendering/svg/SVGTextChunkBuilder.cpp \
+ rendering/svg/SVGTextLayoutAttributes.cpp \
+ rendering/svg/SVGTextLayoutAttributesBuilder.cpp \
+ rendering/svg/SVGTextLayoutEngine.cpp \
+ rendering/svg/SVGTextLayoutEngineBaseline.cpp \
+ rendering/svg/SVGTextLayoutEngineSpacing.cpp \
+ rendering/svg/SVGTextMetrics.cpp \
+ rendering/svg/SVGTextMetricsBuilder.cpp \
+ rendering/svg/SVGTextQuery.cpp \
+ rendering/svg/SVGTextRunRenderingContext.cpp \
svg/animation/SMILTime.cpp \
svg/animation/SMILTimeContainer.cpp \
svg/animation/SVGSMILElement.cpp \
@@ -3339,220 +3592,166 @@ contains(DEFINES, ENABLE_SVG=1) {
svg/graphics/SVGImage.cpp \
svg/graphics/SVGImageCache.cpp \
svg/properties/SVGAttributeToPropertyMap.cpp \
- svg/properties/SVGPathSegListPropertyTearOff.cpp
-
- use_all_in_one_files {
- # Using all in one files to avoid memory exhaustion
- # during the linking phase.
- SOURCES += \
- rendering/svg/RenderSVGAllInOne.cpp \
- svg/SVGAllInOne.cpp
- } else {
- SOURCES += \
- rendering/svg/RenderSVGBlock.cpp \
- rendering/svg/RenderSVGContainer.cpp \
- rendering/svg/RenderSVGForeignObject.cpp \
- rendering/svg/RenderSVGGradientStop.cpp \
- rendering/svg/RenderSVGHiddenContainer.cpp \
- rendering/svg/RenderSVGImage.cpp \
- rendering/svg/RenderSVGInline.cpp \
- rendering/svg/RenderSVGInlineText.cpp \
- rendering/svg/RenderSVGModelObject.cpp \
- rendering/svg/RenderSVGResource.cpp \
- rendering/svg/RenderSVGResourceClipper.cpp \
- rendering/svg/RenderSVGResourceContainer.cpp \
- rendering/svg/RenderSVGResourceFilter.cpp \
- rendering/svg/RenderSVGResourceFilterPrimitive.cpp \
- rendering/svg/RenderSVGResourceGradient.cpp \
- rendering/svg/RenderSVGResourceLinearGradient.cpp \
- rendering/svg/RenderSVGResourceMarker.cpp \
- rendering/svg/RenderSVGResourceMasker.cpp \
- rendering/svg/RenderSVGResourcePattern.cpp \
- rendering/svg/RenderSVGResourceRadialGradient.cpp \
- rendering/svg/RenderSVGResourceSolidColor.cpp \
- rendering/svg/RenderSVGRoot.cpp \
- rendering/svg/RenderSVGTSpan.cpp \
- rendering/svg/RenderSVGText.cpp \
- rendering/svg/RenderSVGTextPath.cpp \
- rendering/svg/RenderSVGTransformableContainer.cpp \
- rendering/svg/RenderSVGViewportContainer.cpp \
- rendering/svg/SVGInlineFlowBox.cpp \
- rendering/svg/SVGInlineTextBox.cpp \
- rendering/svg/SVGPathData.cpp \
- rendering/svg/SVGRenderSupport.cpp \
- rendering/svg/SVGRenderTreeAsText.cpp \
- rendering/svg/SVGRenderingContext.cpp \
- rendering/svg/SVGResources.cpp \
- rendering/svg/SVGResourcesCache.cpp \
- rendering/svg/SVGResourcesCycleSolver.cpp \
- rendering/svg/SVGRootInlineBox.cpp \
- rendering/svg/SVGTextChunk.cpp \
- rendering/svg/SVGTextChunkBuilder.cpp \
- rendering/svg/SVGTextLayoutAttributes.cpp \
- rendering/svg/SVGTextLayoutAttributesBuilder.cpp \
- rendering/svg/SVGTextLayoutEngine.cpp \
- rendering/svg/SVGTextLayoutEngineBaseline.cpp \
- rendering/svg/SVGTextLayoutEngineSpacing.cpp \
- rendering/svg/SVGTextMetrics.cpp \
- rendering/svg/SVGTextMetricsBuilder.cpp \
- rendering/svg/SVGTextQuery.cpp \
- rendering/svg/SVGTextRunRenderingContext.cpp \
- svg/SVGDocumentExtensions.cpp \
- svg/ColorDistance.cpp \
- svg/SVGAElement.cpp \
- svg/SVGAltGlyphDefElement.cpp \
- svg/SVGAltGlyphElement.cpp \
- svg/SVGAltGlyphItemElement.cpp \
- svg/SVGAngle.cpp \
- svg/SVGAnimateColorElement.cpp \
- svg/SVGAnimatedAngle.cpp \
- svg/SVGAnimatedBoolean.cpp \
- svg/SVGAnimatedColor.cpp \
- svg/SVGAnimatedEnumeration.cpp \
- svg/SVGAnimatedInteger.cpp \
- svg/SVGAnimatedIntegerOptionalInteger.cpp \
- svg/SVGAnimatedLength.cpp \
- svg/SVGAnimatedLengthList.cpp \
- svg/SVGAnimatedNumber.cpp \
- svg/SVGAnimatedNumberList.cpp \
- svg/SVGAnimatedNumberOptionalNumber.cpp \
- svg/SVGAnimatedPath.cpp \
- svg/SVGAnimatedPointList.cpp \
- svg/SVGAnimatedPreserveAspectRatio.cpp \
- svg/SVGAnimatedRect.cpp \
- svg/SVGAnimatedString.cpp \
- svg/SVGAnimatedTransformList.cpp \
- svg/SVGAnimatedType.cpp \
- svg/SVGAnimateElement.cpp \
- svg/SVGAnimateMotionElement.cpp \
- svg/SVGAnimateTransformElement.cpp \
- svg/SVGAnimationElement.cpp \
- svg/SVGCircleElement.cpp \
- svg/SVGClipPathElement.cpp \
- svg/SVGColor.cpp \
- svg/SVGComponentTransferFunctionElement.cpp \
- svg/SVGCursorElement.cpp \
- svg/SVGDefsElement.cpp \
- svg/SVGDescElement.cpp \
- svg/SVGDocument.cpp \
- svg/SVGElement.cpp \
- svg/SVGElementInstance.cpp \
- svg/SVGElementInstanceList.cpp \
- svg/SVGEllipseElement.cpp \
- svg/SVGException.cpp \
- svg/SVGExternalResourcesRequired.cpp \
- svg/SVGFEBlendElement.cpp \
- svg/SVGFEColorMatrixElement.cpp \
- svg/SVGFEComponentTransferElement.cpp \
- svg/SVGFECompositeElement.cpp \
- svg/SVGFEConvolveMatrixElement.cpp \
- svg/SVGFEDiffuseLightingElement.cpp \
- svg/SVGFEDisplacementMapElement.cpp \
- svg/SVGFEDistantLightElement.cpp \
- svg/SVGFEDropShadowElement.cpp \
- svg/SVGFEFloodElement.cpp \
- svg/SVGFEFuncAElement.cpp \
- svg/SVGFEFuncBElement.cpp \
- svg/SVGFEFuncGElement.cpp \
- svg/SVGFEFuncRElement.cpp \
- svg/SVGFEGaussianBlurElement.cpp \
- svg/SVGFEImageElement.cpp \
- svg/SVGFELightElement.cpp \
- svg/SVGFEMergeElement.cpp \
- svg/SVGFEMergeNodeElement.cpp \
- svg/SVGFEMorphologyElement.cpp \
- svg/SVGFEOffsetElement.cpp \
- svg/SVGFEPointLightElement.cpp \
- svg/SVGFESpecularLightingElement.cpp \
- svg/SVGFESpotLightElement.cpp \
- svg/SVGFETileElement.cpp \
- svg/SVGFETurbulenceElement.cpp \
- svg/SVGFilterElement.cpp \
- svg/SVGFilterPrimitiveStandardAttributes.cpp \
- svg/SVGFitToViewBox.cpp \
- svg/SVGFontData.cpp \
- svg/SVGFontElement.cpp \
- svg/SVGFontFaceElement.cpp \
- svg/SVGFontFaceFormatElement.cpp \
- svg/SVGFontFaceNameElement.cpp \
- svg/SVGFontFaceSrcElement.cpp \
- svg/SVGFontFaceUriElement.cpp \
- svg/SVGForeignObjectElement.cpp \
- svg/SVGGElement.cpp \
- svg/SVGGlyphElement.cpp \
- svg/SVGGlyphRefElement.cpp \
- svg/SVGGradientElement.cpp \
- svg/SVGHKernElement.cpp \
- svg/SVGImageElement.cpp \
- svg/SVGImageLoader.cpp \
- svg/SVGLangSpace.cpp \
- svg/SVGLength.cpp \
- svg/SVGLengthContext.cpp \
- svg/SVGLengthList.cpp \
- svg/SVGLinearGradientElement.cpp \
- svg/SVGLineElement.cpp \
- svg/SVGLocatable.cpp \
- svg/SVGMarkerElement.cpp \
- svg/SVGMaskElement.cpp \
- svg/SVGMetadataElement.cpp \
- svg/SVGMissingGlyphElement.cpp \
- svg/SVGMPathElement.cpp \
- svg/SVGNumberList.cpp \
- svg/SVGPaint.cpp \
- svg/SVGParserUtilities.cpp \
- svg/SVGPathBlender.cpp \
- svg/SVGPathBuilder.cpp \
- svg/SVGPathByteStreamBuilder.cpp \
- svg/SVGPathByteStreamSource.cpp \
- svg/SVGPathElement.cpp \
- svg/SVGPathParser.cpp \
- svg/SVGPathSegList.cpp \
- svg/SVGPathSegListBuilder.cpp \
- svg/SVGPathSegListSource.cpp \
- svg/SVGPathStringBuilder.cpp \
- svg/SVGPathStringSource.cpp \
- svg/SVGPathTraversalStateBuilder.cpp \
- svg/SVGPathUtilities.cpp \
- svg/SVGPatternElement.cpp \
- svg/SVGPointList.cpp \
- svg/SVGPolyElement.cpp \
- svg/SVGPolygonElement.cpp \
- svg/SVGPolylineElement.cpp \
- svg/SVGPreserveAspectRatio.cpp \
- svg/SVGRadialGradientElement.cpp \
- svg/SVGRectElement.cpp \
- svg/SVGSVGElement.cpp \
- svg/SVGScriptElement.cpp \
- svg/SVGSetElement.cpp \
- svg/SVGStopElement.cpp \
- svg/SVGStringList.cpp \
- svg/SVGStylable.cpp \
- svg/SVGStyleElement.cpp \
- svg/SVGStyledElement.cpp \
- svg/SVGStyledLocatableElement.cpp \
- svg/SVGStyledTransformableElement.cpp \
- svg/SVGSwitchElement.cpp \
- svg/SVGSymbolElement.cpp \
- svg/SVGTRefElement.cpp \
- svg/SVGTSpanElement.cpp \
- svg/SVGTests.cpp \
- svg/SVGTextContentElement.cpp \
- svg/SVGTextElement.cpp \
- svg/SVGTextPathElement.cpp \
- svg/SVGTextPositioningElement.cpp \
- svg/SVGTitleElement.cpp \
- svg/SVGTransform.cpp \
- svg/SVGTransformDistance.cpp \
- svg/SVGTransformList.cpp \
- svg/SVGTransformable.cpp \
- svg/SVGURIReference.cpp \
- svg/SVGUseElement.cpp \
- svg/SVGVKernElement.cpp \
- svg/SVGViewElement.cpp \
- svg/SVGViewSpec.cpp \
- svg/SVGZoomAndPan.cpp \
- svg/SVGZoomEvent.cpp
- }
+ svg/properties/SVGPathSegListPropertyTearOff.cpp \
+ svg/SVGDocumentExtensions.cpp \
+ svg/ColorDistance.cpp \
+ svg/SVGAElement.cpp \
+ svg/SVGAltGlyphDefElement.cpp \
+ svg/SVGAltGlyphElement.cpp \
+ svg/SVGAltGlyphItemElement.cpp \
+ svg/SVGAngle.cpp \
+ svg/SVGAnimateColorElement.cpp \
+ svg/SVGAnimatedAngle.cpp \
+ svg/SVGAnimatedBoolean.cpp \
+ svg/SVGAnimatedColor.cpp \
+ svg/SVGAnimatedEnumeration.cpp \
+ svg/SVGAnimatedInteger.cpp \
+ svg/SVGAnimatedIntegerOptionalInteger.cpp \
+ svg/SVGAnimatedLength.cpp \
+ svg/SVGAnimatedLengthList.cpp \
+ svg/SVGAnimatedNumber.cpp \
+ svg/SVGAnimatedNumberList.cpp \
+ svg/SVGAnimatedNumberOptionalNumber.cpp \
+ svg/SVGAnimatedPath.cpp \
+ svg/SVGAnimatedPointList.cpp \
+ svg/SVGAnimatedPreserveAspectRatio.cpp \
+ svg/SVGAnimatedRect.cpp \
+ svg/SVGAnimatedString.cpp \
+ svg/SVGAnimatedTransformList.cpp \
+ svg/SVGAnimatedType.cpp \
+ svg/SVGAnimateElement.cpp \
+ svg/SVGAnimateMotionElement.cpp \
+ svg/SVGAnimateTransformElement.cpp \
+ svg/SVGAnimationElement.cpp \
+ svg/SVGCircleElement.cpp \
+ svg/SVGClipPathElement.cpp \
+ svg/SVGColor.cpp \
+ svg/SVGComponentTransferFunctionElement.cpp \
+ svg/SVGCursorElement.cpp \
+ svg/SVGDefsElement.cpp \
+ svg/SVGDescElement.cpp \
+ svg/SVGDocument.cpp \
+ svg/SVGElement.cpp \
+ svg/SVGElementInstance.cpp \
+ svg/SVGElementInstanceList.cpp \
+ svg/SVGEllipseElement.cpp \
+ svg/SVGException.cpp \
+ svg/SVGExternalResourcesRequired.cpp \
+ svg/SVGFEBlendElement.cpp \
+ svg/SVGFEColorMatrixElement.cpp \
+ svg/SVGFEComponentTransferElement.cpp \
+ svg/SVGFECompositeElement.cpp \
+ svg/SVGFEConvolveMatrixElement.cpp \
+ svg/SVGFEDiffuseLightingElement.cpp \
+ svg/SVGFEDisplacementMapElement.cpp \
+ svg/SVGFEDistantLightElement.cpp \
+ svg/SVGFEDropShadowElement.cpp \
+ svg/SVGFEFloodElement.cpp \
+ svg/SVGFEFuncAElement.cpp \
+ svg/SVGFEFuncBElement.cpp \
+ svg/SVGFEFuncGElement.cpp \
+ svg/SVGFEFuncRElement.cpp \
+ svg/SVGFEGaussianBlurElement.cpp \
+ svg/SVGFEImageElement.cpp \
+ svg/SVGFELightElement.cpp \
+ svg/SVGFEMergeElement.cpp \
+ svg/SVGFEMergeNodeElement.cpp \
+ svg/SVGFEMorphologyElement.cpp \
+ svg/SVGFEOffsetElement.cpp \
+ svg/SVGFEPointLightElement.cpp \
+ svg/SVGFESpecularLightingElement.cpp \
+ svg/SVGFESpotLightElement.cpp \
+ svg/SVGFETileElement.cpp \
+ svg/SVGFETurbulenceElement.cpp \
+ svg/SVGFilterElement.cpp \
+ svg/SVGFilterPrimitiveStandardAttributes.cpp \
+ svg/SVGFitToViewBox.cpp \
+ svg/SVGFontData.cpp \
+ svg/SVGFontElement.cpp \
+ svg/SVGFontFaceElement.cpp \
+ svg/SVGFontFaceFormatElement.cpp \
+ svg/SVGFontFaceNameElement.cpp \
+ svg/SVGFontFaceSrcElement.cpp \
+ svg/SVGFontFaceUriElement.cpp \
+ svg/SVGForeignObjectElement.cpp \
+ svg/SVGGElement.cpp \
+ svg/SVGGlyphElement.cpp \
+ svg/SVGGlyphRefElement.cpp \
+ svg/SVGGradientElement.cpp \
+ svg/SVGHKernElement.cpp \
+ svg/SVGImageElement.cpp \
+ svg/SVGImageLoader.cpp \
+ svg/SVGLangSpace.cpp \
+ svg/SVGLength.cpp \
+ svg/SVGLengthContext.cpp \
+ svg/SVGLengthList.cpp \
+ svg/SVGLinearGradientElement.cpp \
+ svg/SVGLineElement.cpp \
+ svg/SVGLocatable.cpp \
+ svg/SVGMarkerElement.cpp \
+ svg/SVGMaskElement.cpp \
+ svg/SVGMetadataElement.cpp \
+ svg/SVGMissingGlyphElement.cpp \
+ svg/SVGMPathElement.cpp \
+ svg/SVGNumberList.cpp \
+ svg/SVGPaint.cpp \
+ svg/SVGParserUtilities.cpp \
+ svg/SVGPathBlender.cpp \
+ svg/SVGPathBuilder.cpp \
+ svg/SVGPathByteStreamBuilder.cpp \
+ svg/SVGPathByteStreamSource.cpp \
+ svg/SVGPathElement.cpp \
+ svg/SVGPathParser.cpp \
+ svg/SVGPathSegList.cpp \
+ svg/SVGPathSegListBuilder.cpp \
+ svg/SVGPathSegListSource.cpp \
+ svg/SVGPathStringBuilder.cpp \
+ svg/SVGPathStringSource.cpp \
+ svg/SVGPathTraversalStateBuilder.cpp \
+ svg/SVGPathUtilities.cpp \
+ svg/SVGPatternElement.cpp \
+ svg/SVGPointList.cpp \
+ svg/SVGPolyElement.cpp \
+ svg/SVGPolygonElement.cpp \
+ svg/SVGPolylineElement.cpp \
+ svg/SVGPreserveAspectRatio.cpp \
+ svg/SVGRadialGradientElement.cpp \
+ svg/SVGRectElement.cpp \
+ svg/SVGSVGElement.cpp \
+ svg/SVGScriptElement.cpp \
+ svg/SVGSetElement.cpp \
+ svg/SVGStopElement.cpp \
+ svg/SVGStringList.cpp \
+ svg/SVGStylable.cpp \
+ svg/SVGStyleElement.cpp \
+ svg/SVGStyledElement.cpp \
+ svg/SVGStyledLocatableElement.cpp \
+ svg/SVGStyledTransformableElement.cpp \
+ svg/SVGSwitchElement.cpp \
+ svg/SVGSymbolElement.cpp \
+ svg/SVGTRefElement.cpp \
+ svg/SVGTSpanElement.cpp \
+ svg/SVGTests.cpp \
+ svg/SVGTextContentElement.cpp \
+ svg/SVGTextElement.cpp \
+ svg/SVGTextPathElement.cpp \
+ svg/SVGTextPositioningElement.cpp \
+ svg/SVGTitleElement.cpp \
+ svg/SVGTransform.cpp \
+ svg/SVGTransformDistance.cpp \
+ svg/SVGTransformList.cpp \
+ svg/SVGTransformable.cpp \
+ svg/SVGURIReference.cpp \
+ svg/SVGUseElement.cpp \
+ svg/SVGVKernElement.cpp \
+ svg/SVGViewElement.cpp \
+ svg/SVGViewSpec.cpp \
+ svg/SVGZoomAndPan.cpp \
+ svg/SVGZoomEvent.cpp
+
+ ALL_IN_ONE_SOURCES += \
+ rendering/svg/RenderSVGAllInOne.cpp \
+ svg/SVGAllInOne.cpp
}
contains(DEFINES, ENABLE_JAVASCRIPT_DEBUGGER=1) {
@@ -3733,168 +3932,7 @@ contains(DEFINES, WTF_USE_3D_GRAPHICS=1) {
platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
}
- ANGLE_DIR = $$replace(PWD, "WebCore", "ThirdParty/ANGLE")
-
- INCLUDEPATH += \
- $$ANGLE_DIR/src \
- $$ANGLE_DIR/src/compiler/preprocessor/new \
- $$ANGLE_DIR/include
-
- ANGLE_HEADERS += \
- $$ANGLE_DIR/src/compiler/BaseTypes.h \
- $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.h \
- $$ANGLE_DIR/src/compiler/Common.h \
- $$ANGLE_DIR/src/compiler/ConstantUnion.h \
- $$ANGLE_DIR/src/compiler/debug.h \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraph.h \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphBuilder.h \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphOutput.h \
- $$ANGLE_DIR/src/compiler/DetectDiscontinuity.h \
- $$ANGLE_DIR/src/compiler/DetectRecursion.h \
- $$ANGLE_DIR/src/compiler/Diagnostics.h \
- $$ANGLE_DIR/src/compiler/DirectiveHandler.h \
- $$ANGLE_DIR/src/compiler/ExtensionBehavior.h \
- $$ANGLE_DIR/src/compiler/ForLoopUnroll.h \
- $$ANGLE_DIR/src/compiler/glslang.h \
- $$ANGLE_DIR/src/compiler/InfoSink.h \
- $$ANGLE_DIR/src/compiler/InitializeDll.h \
- $$ANGLE_DIR/src/compiler/InitializeGlobals.h \
- $$ANGLE_DIR/src/compiler/Initialize.h \
- $$ANGLE_DIR/src/compiler/InitializeParseContext.h \
- $$ANGLE_DIR/src/compiler/intermediate.h \
- $$ANGLE_DIR/src/compiler/localintermediate.h \
- $$ANGLE_DIR/src/compiler/MMap.h \
- $$ANGLE_DIR/src/compiler/MapLongVariableNames.h \
- $$ANGLE_DIR/src/compiler/osinclude.h \
- $$ANGLE_DIR/src/compiler/Pragma.h \
- $$ANGLE_DIR/src/compiler/preprocessor/atom.h \
- $$ANGLE_DIR/src/compiler/preprocessor/compile.h \
- $$ANGLE_DIR/src/compiler/preprocessor/cpp.h \
- $$ANGLE_DIR/src/compiler/preprocessor/length_limits.h \
- $$ANGLE_DIR/src/compiler/preprocessor/memory.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Diagnostics.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveHandler.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveParser.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Input.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Lexer.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Macro.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/MacroExpander.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Preprocessor.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/SourceLocation.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Token.h \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Tokenizer.h \
- $$ANGLE_DIR/src/compiler/preprocessor/parser.h \
- $$ANGLE_DIR/src/compiler/preprocessor/preprocess.h \
- $$ANGLE_DIR/src/compiler/preprocessor/scanner.h \
- $$ANGLE_DIR/src/compiler/preprocessor/slglobals.h \
- $$ANGLE_DIR/src/compiler/preprocessor/symbols.h \
- $$ANGLE_DIR/src/compiler/preprocessor/tokens.h \
- $$ANGLE_DIR/src/compiler/OutputESSL.h \
- $$ANGLE_DIR/src/compiler/OutputGLSL.h \
- $$ANGLE_DIR/src/compiler/OutputGLSLBase.h \
- $$ANGLE_DIR/src/compiler/OutputHLSL.h \
- $$ANGLE_DIR/src/compiler/ParseHelper.h \
- $$ANGLE_DIR/src/compiler/PoolAlloc.h \
- $$ANGLE_DIR/src/compiler/QualifierAlive.h \
- $$ANGLE_DIR/src/compiler/RemoveTree.h \
- $$ANGLE_DIR/src/compiler/RenameFunction.h \
- $$ANGLE_DIR/src/compiler/SearchSymbol.h \
- $$ANGLE_DIR/src/compiler/ShHandle.h \
- $$ANGLE_DIR/src/compiler/SymbolTable.h \
- $$ANGLE_DIR/src/compiler/timing/RestrictFragmentShaderTiming.h \
- $$ANGLE_DIR/src/compiler/timing/RestrictVertexShaderTiming.h \
- $$ANGLE_DIR/src/compiler/TranslatorESSL.h \
- $$ANGLE_DIR/src/compiler/TranslatorGLSL.h \
- $$ANGLE_DIR/src/compiler/TranslatorHLSL.h \
- $$ANGLE_DIR/src/compiler/Types.h \
- $$ANGLE_DIR/src/compiler/UnfoldShortCircuit.h \
- $$ANGLE_DIR/src/compiler/util.h \
- $$ANGLE_DIR/src/compiler/ValidateLimitations.h \
- $$ANGLE_DIR/src/compiler/VariableInfo.h \
- $$ANGLE_DIR/src/compiler/VersionGLSL.h
-
- HEADERS += $$ANGLE_HEADERS
-
- ANGLE_SOURCES += \
- $$ANGLE_DIR/src/compiler/BuiltInFunctionEmulator.cpp \
- $$ANGLE_DIR/src/compiler/CodeGenGLSL.cpp \
- $$ANGLE_DIR/src/compiler/Compiler.cpp \
- $$ANGLE_DIR/src/compiler/debug.cpp \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraph.cpp \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphBuilder.cpp \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphOutput.cpp \
- $$ANGLE_DIR/src/compiler/depgraph/DependencyGraphTraverse.cpp \
- $$ANGLE_DIR/src/compiler/DetectDiscontinuity.cpp \
- $$ANGLE_DIR/src/compiler/DetectRecursion.cpp \
- $$ANGLE_DIR/src/compiler/Diagnostics.cpp \
- $$ANGLE_DIR/src/compiler/DirectiveHandler.cpp \
- $$ANGLE_DIR/src/compiler/ForLoopUnroll.cpp \
- $$ANGLE_DIR/src/compiler/InfoSink.cpp \
- $$ANGLE_DIR/src/compiler/Initialize.cpp \
- $$ANGLE_DIR/src/compiler/InitializeDll.cpp \
- $$ANGLE_DIR/src/compiler/InitializeParseContext.cpp \
- $$ANGLE_DIR/src/compiler/Intermediate.cpp \
- $$ANGLE_DIR/src/compiler/intermOut.cpp \
- $$ANGLE_DIR/src/compiler/IntermTraverse.cpp \
- $$ANGLE_DIR/src/compiler/MapLongVariableNames.cpp \
- $$ANGLE_DIR/src/compiler/ossource_posix.cpp \
- $$ANGLE_DIR/src/compiler/OutputESSL.cpp \
- $$ANGLE_DIR/src/compiler/OutputGLSL.cpp \
- $$ANGLE_DIR/src/compiler/OutputGLSLBase.cpp \
- $$ANGLE_DIR/src/compiler/OutputHLSL.cpp \
- $$ANGLE_DIR/src/compiler/parseConst.cpp \
- $$ANGLE_DIR/src/compiler/ParseHelper.cpp \
- $$ANGLE_DIR/src/compiler/PoolAlloc.cpp \
- $$ANGLE_DIR/src/compiler/QualifierAlive.cpp \
- $$ANGLE_DIR/src/compiler/RemoveTree.cpp \
- $$ANGLE_DIR/src/compiler/SearchSymbol.cpp \
- $$ANGLE_DIR/src/compiler/ShaderLang.cpp \
- $$ANGLE_DIR/src/compiler/SymbolTable.cpp \
- $$ANGLE_DIR/src/compiler/timing/RestrictFragmentShaderTiming.cpp \
- $$ANGLE_DIR/src/compiler/timing/RestrictVertexShaderTiming.cpp \
- $$ANGLE_DIR/src/compiler/TranslatorESSL.cpp \
- $$ANGLE_DIR/src/compiler/TranslatorGLSL.cpp \
- $$ANGLE_DIR/src/compiler/TranslatorHLSL.cpp \
- $$ANGLE_DIR/src/compiler/UnfoldShortCircuit.cpp \
- $$ANGLE_DIR/src/compiler/util.cpp \
- $$ANGLE_DIR/src/compiler/ValidateLimitations.cpp \
- $$ANGLE_DIR/src/compiler/VariableInfo.cpp \
- $$ANGLE_DIR/src/compiler/VersionGLSL.cpp
-
- SOURCES += \
- $$ANGLE_DIR/src/compiler/preprocessor/atom.c \
- $$ANGLE_DIR/src/compiler/preprocessor/cpp.c \
- $$ANGLE_DIR/src/compiler/preprocessor/cppstruct.c \
- $$ANGLE_DIR/src/compiler/preprocessor/memory.c \
- $$ANGLE_DIR/src/compiler/preprocessor/new/DiagnosticsBase.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveHandlerBase.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/DirectiveParser.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Input.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Lexer.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Macro.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/MacroExpander.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Preprocessor.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/new/Token.cpp \
- $$ANGLE_DIR/src/compiler/preprocessor/scanner.c \
- $$ANGLE_DIR/src/compiler/preprocessor/symbols.c \
- $$ANGLE_DIR/src/compiler/preprocessor/tokens.c
-
- *g++* {
- ANGLE_CFLAGS += -Wno-unused-variable
- ANGLE_CFLAGS += -Wno-missing-noreturn
- ANGLE_CFLAGS += -Wno-unused-function
- ANGLE_CFLAGS += -Wno-reorder
- ANGLE_CFLAGS += -Wno-error
-
- angle_cxx.commands = $$QMAKE_CXX -c $(CXXFLAGS) $$ANGLE_CFLAGS $(INCPATH) ${QMAKE_FILE_IN} -o ${QMAKE_FILE_OUT}
- angle_cxx.output = ${QMAKE_VAR_OBJECTS_DIR}${QMAKE_FILE_BASE}$$QMAKE_EXT_OBJ
- anglc_cxx.dependency_type = TYPE_C
- angle_cxx.depends = $$ANGLE_HEADERS
- angle_cxx.input = ANGLE_SOURCES
- QMAKE_EXTRA_COMPILERS += angle_cxx
- } else {
- SOURCES += $$ANGLE_SOURCES
- }
+ WEBKIT += angle
CONFIG += opengl-shims
INCLUDEPATH += platform/graphics/gpu
@@ -3978,5 +4016,24 @@ contains(DEFINES, WTF_USE_GRAPHICS_SURFACE=1) {
}
}
+ALL_IN_ONE_SOURCES += \
+ accessibility/AccessibilityAllInOne.cpp \
+ inspector/InspectorAllInOne.cpp \
+ loader/appcache/ApplicationCacheAllInOne.cpp \
+ platform/text/TextAllInOne.cpp \
+ rendering/style/StyleAllInOne.cpp
+
+contains(DEFINES, ENABLE_XSLT=1):contains(DEFINES, WTF_USE_LIBXML2=1) {
+ ALL_IN_ONE_SOURCES += \
+ dom/DOMAllInOne.cpp
+}
+
+# These do not compile at the moment:
+# css/MediaAllInOne.cpp
+# css/CSSAllInOne.cpp
+# editing/EditingAllInOne.cpp
+# html/HTMLElementsAllInOne.cpp
+# rendering/RenderingAllInOne.cpp
+
# Make sure the derived sources are built
include(DerivedSources.pri)
diff --git a/Source/WebCore/UseJSC.cmake b/Source/WebCore/UseJSC.cmake
index e99d2eb65..87ca9969a 100644
--- a/Source/WebCore/UseJSC.cmake
+++ b/Source/WebCore/UseJSC.cmake
@@ -292,6 +292,7 @@ ENDIF ()
LIST(APPEND SCRIPTS_BINDINGS
${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
+ ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorJS.pm
)
SET(IDL_INCLUDES "")
diff --git a/Source/WebCore/UseV8.cmake b/Source/WebCore/UseV8.cmake
index 45eee600e..d041c8164 100755
--- a/Source/WebCore/UseV8.cmake
+++ b/Source/WebCore/UseV8.cmake
@@ -25,7 +25,6 @@ LIST(APPEND WebCore_SOURCES
bindings/v8/DateExtension.cpp
bindings/v8/IDBBindingUtilities.cpp
bindings/v8/IDBCustomBindings.cpp
- bindings/v8/IsolatedWorld.cpp
bindings/v8/Dictionary.cpp
bindings/v8/PageScriptDebugServer.cpp
bindings/v8/RetainedDOMInfo.cpp
@@ -220,6 +219,7 @@ ENDIF ()
LIST(APPEND SCRIPTS_BINDINGS
${WEBCORE_DIR}/bindings/scripts/CodeGenerator.pm
+ ${WEBCORE_DIR}/bindings/scripts/CodeGeneratorV8.pm
)
SET(IDL_INCLUDES "")
diff --git a/Source/WebCore/WebCore.exp.in b/Source/WebCore/WebCore.exp.in
index dd677fd81..b4769f918 100644
--- a/Source/WebCore/WebCore.exp.in
+++ b/Source/WebCore/WebCore.exp.in
@@ -158,7 +158,7 @@ __ZN7WebCore12EventHandler14scrollOverflowENS_15ScrollDirectionENS_17ScrollGranu
__ZN7WebCore12EventHandler15handleAccessKeyERKNS_21PlatformKeyboardEventE
__ZN7WebCore12EventHandler16handleWheelEventERKNS_18PlatformWheelEventE
__ZN7WebCore12EventHandler17scrollRecursivelyENS_15ScrollDirectionENS_17ScrollGranularityEPNS_4NodeE
-__ZN7WebCore12EventHandler20hitTestResultAtPointERKNS_21FractionalLayoutPointEbbNS_17HitTestScrollbarsEjRKNS_20FractionalLayoutSizeE
+__ZN7WebCore12EventHandler20hitTestResultAtPointERKNS_21FractionalLayoutPointEjRKNS_20FractionalLayoutSizeE
__ZN7WebCore12EventHandler21handleMousePressEventERKNS_18PlatformMouseEventE
__ZN7WebCore12EventHandler23handleMouseReleaseEventERKNS_18PlatformMouseEventE
__ZN7WebCore12EventHandler24logicalScrollRecursivelyENS_22ScrollLogicalDirectionENS_17ScrollGranularityEPNS_4NodeE
@@ -184,7 +184,7 @@ __ZN7WebCore12PrintContext9spoolPageERNS_15GraphicsContextEif
__ZN7WebCore12PrintContext9spoolRectERNS_15GraphicsContextERKNS_7IntRectE
__ZN7WebCore12PrintContextC1EPNS_5FrameE
__ZN7WebCore12PrintContextD1Ev
-__ZN7WebCore12RenderObject16repaintRectangleERKNS_20FractionalLayoutRectEb
+__ZNK7WebCore12RenderObject16repaintRectangleERKNS_20FractionalLayoutRectEb
__ZN7WebCore12RenderObject19scrollRectToVisibleERKNS_20FractionalLayoutRectERKNS_15ScrollAlignmentES6_
__ZN7WebCore12RenderWidget28resumeWidgetHierarchyUpdatesEv
__ZN7WebCore12RenderWidget29suspendWidgetHierarchyUpdatesEv
@@ -1177,6 +1177,7 @@ __ZNK7WebCore14SecurityOrigin12isolatedCopyEv
__ZNK7WebCore14SecurityOrigin18databaseIdentifierEv
__ZNK7WebCore14SecurityOrigin5equalEPKS0_
__ZNK7WebCore14SecurityOrigin8toStringEv
+__ZNK7WebCore14SecurityOrigin16canAccessStorageEPKS0_
__ZNK7WebCore15AffineTransform10isIdentityEv
__ZNK7WebCore15AffineTransform12isInvertibleEv
__ZNK7WebCore15AffineTransform7inverseEv
@@ -1333,7 +1334,6 @@ __ZNK7WebCore6Editor7canCopyEv
__ZNK7WebCore6Editor7canEditEv
__ZNK7WebCore6Editor8canPasteEv
__ZNK7WebCore6Editor9canDeleteEv
-__ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE
__ZNK7WebCore6Length22decrementCalculatedRefEv
__ZNK7WebCore6Region5rectsEv
__ZNK7WebCore6Widget14platformWidgetEv
@@ -1354,7 +1354,7 @@ __ZNK7WebCore7RunLoop9TimerBase8isActiveEv
__ZNK7WebCore8Document10renderViewEv
__ZNK7WebCore8Document11completeURLERKN3WTF6StringE
__ZNK7WebCore8Document13axObjectCacheEv
-__ZNK7WebCore8Document13nodesFromRectEiijjjjbb
+__ZNK7WebCore8Document13nodesFromRectEiijjjjj
__ZNK7WebCore8Document14getElementByIdERKN3WTF12AtomicStringE
__ZNK7WebCore8Document31displayStringModifiedByEncodingERKN3WTF6StringE
__ZNK7WebCore8Document4bodyEv
@@ -1374,6 +1374,7 @@ __ZNK7WebCore9DOMWindow27pendingUnloadEventListenersEv
__ZNK7WebCore9FloatQuad11boundingBoxEv
__ZNK7WebCore9FloatRect10intersectsERKS0_
__ZNK7WebCore9FloatSize6isZeroEv
+__ZNK7WebCore9FrameTree3topEv
__ZNK7WebCore9FrameTree10childCountEv
__ZNK7WebCore9FrameTree12traverseNextEPKNS_5FrameE
__ZNK7WebCore9FrameTree14isDescendantOfEPKNS_5FrameE
@@ -1833,7 +1834,7 @@ __ZN7WebCore16ThreadGlobalData26sharedMainThreadStaticDataE
__ZN7WebCore16VisibleSelection27selectionFromContentsOfNodeEPNS_4NodeE
__ZN7WebCore16VisibleSelectionC1Ev
__ZN7WebCore16enclosingIntRectERK6CGRect
-__ZN7WebCore16jsStringSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_10StringHashENS3_10HashTraitsIS6_EENSB_IS9_EEEES6_
+__ZN7WebCore16jsStringWithCacheSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_10StringHashENS3_10HashTraitsIS6_EENSB_IS9_EEEES6_
__ZN7WebCore16nextLinePositionERKNS_15VisiblePositionEiNS_12EditableTypeE
__ZN7WebCore16nextWordPositionERKNS_15VisiblePositionE
__ZN7WebCore17CredentialStorage16clearCredentialsEv
@@ -2309,8 +2310,8 @@ __NPN_SetProperty
__NPN_UTF8FromIdentifier
__ZN7WebCore16ScriptController20windowScriptNPObjectEv
__ZN7WebCore16ScriptController29cleanupScriptObjectsForPluginEPv
-__ZN7WebCore16jsStringSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_7PtrHashIS6_EENS3_10HashTraitsIS6_EENSC_IS9_EEEES6_
__ZN7WebCore17HTMLPlugInElement11getNPObjectEv
+__ZN7WebCore25jsStringWithCacheSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_7PtrHashIS6_EENS3_10HashTraitsIS6_EENSC_IS9_EEEES6_
__ZNK7WebCore14SecurityOrigin9canAccessEPKS0_
__ZNK7WebCore4KURL7hasPathEv
#endif
@@ -2323,7 +2324,9 @@ __ZN7WebCore12Notification17dispatchShowEventEv
__ZN7WebCore12Notification18dispatchClickEventEv
__ZN7WebCore12Notification18dispatchCloseEventEv
__ZN7WebCore12Notification18dispatchErrorEventEv
+__ZN7WebCore14toNotificationEN3JSC7JSValueE
__ZN7WebCore19provideNotificationEPNS_4PageEPNS_18NotificationClientE
+__ZN7WebCore22NotificationController10clientFromEPNS_4PageE
#endif
#if ENABLE(NOTIFICATIONS)
@@ -2336,7 +2339,7 @@ __ZN7WebCore5Frame26sendOrientationChangeEventEi
#if USE(PLUGIN_HOST_PROCESS)
__ZN3JSC13RuntimeMethod11getCallDataEPNS_6JSCellERNS_8CallDataE
-__ZN3JSC13RuntimeMethod14finishCreationERNS_12JSGlobalDataERKNS_7UStringE
+__ZN3JSC13RuntimeMethod14finishCreationERNS_12JSGlobalDataERKN3WTF6StringE
__ZN3JSC13RuntimeMethod18getOwnPropertySlotEPNS_6JSCellEPNS_9ExecStateENS_12PropertyNameERNS_12PropertySlotE
__ZN3JSC13RuntimeMethod24getOwnPropertyDescriptorEPNS_8JSObjectEPNS_9ExecStateENS_12PropertyNameERNS_18PropertyDescriptorE
__ZN3JSC13RuntimeMethod6s_infoE
diff --git a/Source/WebCore/WebCore.gyp/.gitignore b/Source/WebCore/WebCore.gyp/.gitignore
deleted file mode 100644
index d0ba3eb0f..000000000
--- a/Source/WebCore/WebCore.gyp/.gitignore
+++ /dev/null
@@ -1,11 +0,0 @@
-*.Makefile
-*.mk
-*.rules
-*.sln
-*.tmp
-*.vcproj*
-*.vcxproj*
-WebCore.xcodeproj
-webcore_bindings_sources.props
-webcore_bindings_sources.targets
-webcore_bindings_sources.xml
diff --git a/Source/WebCore/WebCore.gyp/WebCore.gyp b/Source/WebCore/WebCore.gyp/WebCore.gyp
index db04f4151..665d6a3d0 100644
--- a/Source/WebCore/WebCore.gyp/WebCore.gyp
+++ b/Source/WebCore/WebCore.gyp/WebCore.gyp
@@ -46,8 +46,6 @@
# binary and increasing the speed of gdb.
'enable_svg%': 1,
- # If set to 1, links against the cc library from the chromium repository
- # instead of the compositor implementation files in platform/graphics/chromium
'use_libcc_for_compositor%': 0,
'enable_wexit_time_destructors': 1,
@@ -66,8 +64,8 @@
'../Modules/indexeddb',
'../Modules/mediasource',
'../Modules/mediastream',
+ '../Modules/navigatorcontentutils',
'../Modules/notifications',
- '../Modules/protocolhandler',
'../Modules/quota',
'../Modules/speech',
'../Modules/webaudio',
@@ -439,6 +437,30 @@
]
},
{
+ 'target_name': 'inspector_overlay_page',
+ 'type': 'none',
+ 'actions': [
+ {
+ 'action_name': 'generateInspectorOverlayPage',
+ 'inputs': [
+ '../inspector/InspectorOverlayPage.html',
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/webkit/InspectorOverlayPage.h',
+ ],
+ 'msvs_cygwin_shell': 0,
+ 'action': [
+ '<(perl_exe)',
+ '../inspector/xxd.pl',
+ 'InspectorOverlayPage_html',
+ '<@(_inputs)',
+ '<@(_outputs)'
+ ],
+ 'message': 'Generating InspectorOverlayPage.h from InspectorOverlayPage.html',
+ },
+ ]
+ },
+ {
'target_name': 'injected_script_source',
'type': 'none',
'actions': [
@@ -1122,8 +1144,8 @@
'--include', '../Modules/intents',
'--include', '../Modules/mediasource',
'--include', '../Modules/mediastream',
+ '--include', '../Modules/navigatorcontentutils',
'--include', '../Modules/notifications',
- '--include', '../Modules/protocolhandler',
'--include', '../Modules/webaudio',
'--include', '../Modules/webdatabase',
'--include', '../css',
@@ -1176,6 +1198,7 @@
'hard_dependency': 1,
'dependencies': [
'webcore_bindings_sources',
+ 'inspector_overlay_page',
'inspector_protocol_sources',
'injected_script_source',
'injected_webgl_script_source',
@@ -1306,12 +1329,12 @@
'debugger_script_source',
'injected_script_source',
'injected_webgl_script_source',
+ 'inspector_overlay_page',
'inspector_protocol_sources',
'webcore_bindings_sources',
'../../ThirdParty/glu/glu.gyp:libtess',
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:yarr',
'../../WTF/WTF.gyp/WTF.gyp:wtf',
- '../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
'<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/skia/skia.gyp:skia',
'<(chromium_src_dir)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
@@ -1331,7 +1354,6 @@
'export_dependent_settings': [
'../../JavaScriptCore/JavaScriptCore.gyp/JavaScriptCore.gyp:yarr',
'../../WTF/WTF.gyp/WTF.gyp:wtf',
- '../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
'<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/skia/skia.gyp:skia',
'<(chromium_src_dir)/third_party/iccjpeg/iccjpeg.gyp:iccjpeg',
@@ -1356,6 +1378,7 @@
'WEBCORE_NAVIGATOR_VENDOR="Google Inc."',
],
'include_dirs': [
+ '../../Platform/chromium',
'<(INTERMEDIATE_DIR)',
'<@(webcore_include_dirs)',
'<(chromium_src_dir)/gpu',
@@ -1599,7 +1622,7 @@
'hard_dependency': 1,
'sources': [
'<@(webcore_privateheader_files)',
- '<@(webcore_files)',
+ '<@(webcore_platform_files)',
# For WebCoreSystemInterface, Mac-only.
'../../WebKit/mac/WebCoreSupport/WebSystemInterface.mm',
@@ -1615,7 +1638,6 @@
['exclude', 'platform/LinkHash\\.cpp$'],
['exclude', 'platform/MIMETypeRegistry\\.cpp$'],
['exclude', 'platform/Theme\\.cpp$'],
- ['exclude', 'platform/graphics/ANGLEWebKitBridge\\.(cpp|h)$'],
# *NEON.cpp files need special compile options.
# They are moved to the webcore_arm_neon target.
['exclude', 'platform/graphics/filters/arm/.*NEON\\.(cpp|h)'],
@@ -1701,6 +1723,11 @@
'action': ['cp', '<@(_inputs)', '<@(_outputs)'],
},
],
+ 'sources': [
+ '../editing/SmartReplaceCF.cpp',
+ '../rendering/RenderThemeMac.mm',
+ '../../WebKit/mac/WebCoreSupport/WebSystemInterface.mm',
+ ],
'sources/': [
# Additional files from the WebCore Mac build that are presently
# used in the WebCore Chromium Mac build too.
@@ -1818,6 +1845,10 @@
'sources/': [
['exclude', 'Posix\\.cpp$'],
+ ['include', '/opentype/'],
+ ['include', '/SkiaFontWin\\.cpp$'],
+ ['include', '/TransparencyWin\\.cpp$'],
+
# The Chromium Win currently uses GlyphPageTreeNodeChromiumWin.cpp from
# platform/graphics/chromium, included by regex above, instead.
['exclude', 'platform/graphics/skia/FontCacheSkia\\.cpp$'],
@@ -1866,6 +1897,19 @@
],
},
{
+ 'target_name': 'webcore_platform_geometry',
+ 'type': 'static_library',
+ 'dependencies': [
+ 'webcore_prerequisites',
+ ],
+ 'defines': [
+ 'WEBKIT_IMPLEMENTATION=1',
+ ],
+ 'sources': [
+ '<@(webcore_platform_geometry_files)',
+ ],
+ },
+ {
'target_name': 'webcore_chromium_compositor',
'type': 'static_library',
'dependencies': [
@@ -2013,7 +2057,6 @@
['exclude', 'Modules/filesystem/LocalFileSystem\\.cpp$'],
['exclude', 'Modules/indexeddb/IDBFactoryBackendInterface\\.cpp$'],
- ['exclude', 'Modules/indexeddb/IDBKeyPathBackendImpl\\.cpp$'],
['exclude', 'Modules/webdatabase/DatabaseTrackerClient\\.h$'],
['exclude', 'Modules/webdatabase/DatabaseTracker\\.cpp$'],
['exclude', 'Modules/webdatabase/OriginQuotaManager\\.(cpp|h)$'],
@@ -2056,19 +2099,6 @@
['OS=="win" and buildtype=="Official"', {
'msvs_shard': 10,
}],
- ['OS=="win"', {
- 'sources/': [
- ['exclude', 'Posix\\.cpp$'],
- ['include', '/opentype/'],
- ['include', '/SkiaFontWin\\.cpp$'],
- ['include', '/TransparencyWin\\.cpp$'],
- ],
- },{ # OS!="win"
- 'sources/': [
- ['exclude', 'Win\\.cpp$'],
- ['exclude', '/(Windows|Uniscribe)[^/]*\\.cpp$']
- ],
- }],
['os_posix == 1 and OS != "mac" and gcc_version == 42', {
# Due to a bug in gcc 4.2.1 (the current version on hardy), we get
# warnings about uninitialized this.
@@ -2110,11 +2140,11 @@
'webcore_dom',
'webcore_html',
'webcore_platform',
+ 'webcore_platform_geometry',
'webcore_remaining',
'webcore_rendering',
# Exported.
'webcore_bindings',
- '../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
'../../WTF/WTF.gyp/WTF.gyp:wtf',
'<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/skia/skia.gyp:skia',
@@ -2124,7 +2154,6 @@
],
'export_dependent_settings': [
'webcore_bindings',
- '../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
'../../WTF/WTF.gyp/WTF.gyp:wtf',
'<(chromium_src_dir)/build/temp_gyp/googleurl.gyp:googleurl',
'<(chromium_src_dir)/skia/skia.gyp:skia',
@@ -2180,11 +2209,7 @@
'webcore_svg',
],
}],
- ['use_libcc_for_compositor==1', {
- 'dependencies': [
- '<(chromium_src_dir)/cc/cc.gyp:cc'
- ],
- }, { # use_libcc_for_compositor==0
+ ['use_libcc_for_compositor==0', {
'dependencies': [
'webcore_chromium_compositor'
],
diff --git a/Source/WebCore/WebCore.gypi b/Source/WebCore/WebCore.gypi
index 0ba33776f..03237f6fc 100644
--- a/Source/WebCore/WebCore.gypi
+++ b/Source/WebCore/WebCore.gypi
@@ -87,6 +87,8 @@
'bridge/runtime_method.h',
'bridge/runtime_object.h',
'bridge/runtime_root.h',
+ 'css/BasicShapeFunctions.h',
+ 'css/CSSBasicShapes.h',
'css/CSSComputedStyleDeclaration.h',
'css/CSSCursorImageValue.h',
'css/CSSHelper.h',
@@ -104,13 +106,11 @@
'css/CSSStyleDeclaration.h',
'css/CSSValue.h',
'css/CSSValueList.h',
- 'css/CSSWrapShapes.h',
'css/LengthFunctions.h',
'css/Pair.h',
'css/WebKitCSSFilterValue.h',
'css/WebKitCSSShaderValue.h',
'css/WebKitCSSTransformValue.h',
- 'css/WrapShapeFunctions.h',
'editing/ApplyBlockElementCommand.h',
'editing/CompositeEditCommand.h',
'editing/DeleteSelectionCommand.h',
@@ -337,6 +337,8 @@
'platform/ThreadGlobalData.h',
'platform/Timer.h',
'platform/TreeShared.h',
+ 'platform/DateTimeChooser.h',
+ 'platform/DateTimeChooserClient.h',
'platform/VisitedLinkStrategy.h',
'platform/VisitedLinks.h',
'platform/Widget.h',
@@ -444,6 +446,7 @@
'platform/mediastream/IceCandidateDescriptor.h',
'platform/mediastream/IceOptions.cpp',
'platform/mediastream/IceOptions.h',
+ 'platform/mediastream/MediaConstraints.h',
'platform/mediastream/MediaHints.cpp',
'platform/mediastream/MediaHints.h',
'platform/mediastream/MediaStreamCenter.cpp',
@@ -461,6 +464,8 @@
'platform/mediastream/RTCPeerConnectionHandlerClient.h',
'platform/mediastream/RTCSessionDescriptionDescriptor.cpp',
'platform/mediastream/RTCSessionDescriptionDescriptor.h',
+ 'platform/mediastream/RTCSessionDescriptionRequest.h',
+ 'platform/mediastream/RTCVoidRequest.h',
'platform/mediastream/SessionDescriptionDescriptor.cpp',
'platform/mediastream/SessionDescriptionDescriptor.h',
'platform/mediastream/chromium/MediaStreamCenterChromium.cpp',
@@ -510,7 +515,6 @@
'platform/text/DecodeEscapeSequences.h',
'platform/text/LineBreakIteratorPoolICU.h',
'platform/text/LineEnding.h',
- 'platform/text/PlatformString.h',
'platform/text/QuotedPrintable.h',
'platform/text/RegularExpression.h',
'platform/text/SegmentedString.h',
@@ -551,6 +555,7 @@
'rendering/InlineTextBox.h',
'rendering/LayoutState.h',
'rendering/LayoutTypes.h',
+ 'rendering/LayoutTypesInlineMethods.h',
'rendering/LayoutRepainter.h',
'rendering/OverlapTestRequestClient.h',
'rendering/Pagination.h',
@@ -560,9 +565,9 @@
'rendering/RenderBlock.h',
'rendering/RenderBox.h',
'rendering/RenderBoxModelObject.h',
+ 'rendering/RenderDialog.h',
'rendering/RenderEmbeddedObject.h',
'rendering/RenderFlowThread.h',
- 'rendering/RenderFlowThreadContainer.h',
'rendering/RenderImage.h',
'rendering/RenderImageResource.h',
'rendering/RenderImageResourceStyleImage.h',
@@ -583,6 +588,8 @@
'rendering/RenderWidget.h',
'rendering/RootInlineBox.h',
'rendering/ScrollBehavior.h',
+ 'rendering/WrapShapeInfo.h',
+ 'rendering/style/BasicShapes.h',
'rendering/style/BorderData.h',
'rendering/style/BorderValue.h',
'rendering/style/CollapsedBorderValue.h',
@@ -621,7 +628,6 @@
'rendering/style/StyleTransformData.h',
'rendering/style/StyleVariableData.h',
'rendering/style/StyleVisualData.h',
- 'rendering/style/WrapShapes.h',
'rendering/svg/SVGResourcesCache.h',
'workers/WorkerRunLoop.h',
'workers/WorkerThread.h',
@@ -860,16 +866,19 @@
'Modules/mediastream/NavigatorUserMediaErrorCallback.idl',
'Modules/mediastream/NavigatorUserMediaSuccessCallback.idl',
'Modules/mediastream/PeerConnection00.idl',
+ 'Modules/mediastream/RTCErrorCallback.idl',
'Modules/mediastream/RTCIceCandidate.idl',
+ 'Modules/mediastream/RTCIceCandidateEvent.idl',
'Modules/mediastream/RTCPeerConnection.idl',
'Modules/mediastream/RTCSessionDescription.idl',
+ 'Modules/mediastream/RTCSessionDescriptionCallback.idl',
'Modules/mediastream/SessionDescription.idl',
+ 'Modules/navigatorcontentutils/NavigatorContentUtils.idl',
'Modules/notifications/DOMWindowNotifications.idl',
'Modules/notifications/Notification.idl',
'Modules/notifications/NotificationCenter.idl',
'Modules/notifications/NotificationPermissionCallback.idl',
'Modules/notifications/WorkerContextNotifications.idl',
- 'Modules/protocolhandler/NavigatorRegisterProtocolHandler.idl',
'Modules/quota/DOMWindowQuota.idl',
'Modules/quota/StorageInfo.idl',
'Modules/quota/StorageInfoErrorCallback.idl',
@@ -1000,6 +1009,7 @@
'dom/MutationEvent.idl',
'dom/MutationObserver.idl',
'dom/MutationRecord.idl',
+ 'dom/DOMNamedFlowCollection.idl',
'dom/NamedNodeMap.idl',
'dom/Node.idl',
'dom/NodeFilter.idl',
@@ -1514,8 +1524,6 @@
'Modules/indexeddb/IDBKey.h',
'Modules/indexeddb/IDBKeyPath.cpp',
'Modules/indexeddb/IDBKeyPath.h',
- 'Modules/indexeddb/IDBKeyPathBackendImpl.cpp',
- 'Modules/indexeddb/IDBKeyPathBackendImpl.h',
'Modules/indexeddb/IDBKeyRange.cpp',
'Modules/indexeddb/IDBKeyRange.h',
'Modules/indexeddb/IDBLevelDBCoding.cpp',
@@ -1577,6 +1585,8 @@
'Modules/mediastream/IceCandidate.h',
'Modules/mediastream/LocalMediaStream.cpp',
'Modules/mediastream/LocalMediaStream.h',
+ 'Modules/mediastream/MediaConstraintsImpl.cpp',
+ 'Modules/mediastream/MediaConstraintsImpl.h',
'Modules/mediastream/MediaStream.cpp',
'Modules/mediastream/MediaStream.h',
'Modules/mediastream/MediaStreamEvent.cpp',
@@ -1598,12 +1608,20 @@
'Modules/mediastream/NavigatorUserMediaSuccessCallback.h',
'Modules/mediastream/PeerConnection00.cpp',
'Modules/mediastream/PeerConnection00.h',
+ 'Modules/mediastream/RTCErrorCallback.h',
'Modules/mediastream/RTCIceCandidate.cpp',
'Modules/mediastream/RTCIceCandidate.h',
+ 'Modules/mediastream/RTCIceCandidateEvent.cpp',
+ 'Modules/mediastream/RTCIceCandidateEvent.h',
'Modules/mediastream/RTCPeerConnection.cpp',
'Modules/mediastream/RTCPeerConnection.h',
'Modules/mediastream/RTCSessionDescription.cpp',
'Modules/mediastream/RTCSessionDescription.h',
+ 'Modules/mediastream/RTCSessionDescriptionCallback.h',
+ 'Modules/mediastream/RTCSessionDescriptionRequestImpl.cpp',
+ 'Modules/mediastream/RTCSessionDescriptionRequestImpl.h',
+ 'Modules/mediastream/RTCVoidRequestImpl.cpp',
+ 'Modules/mediastream/RTCVoidRequestImpl.h',
'Modules/mediastream/SessionDescription.cpp',
'Modules/mediastream/SessionDescription.h',
'Modules/mediastream/UserMediaClient.h',
@@ -1611,6 +1629,9 @@
'Modules/mediastream/UserMediaController.h',
'Modules/mediastream/UserMediaRequest.cpp',
'Modules/mediastream/UserMediaRequest.h',
+ 'Modules/navigatorcontentutils/NavigatorContentUtils.cpp',
+ 'Modules/navigatorcontentutils/NavigatorContentUtils.h',
+ 'Modules/navigatorcontentutils/NavigatorContentUtilsClient.h',
'Modules/notifications/DOMWindowNotifications.cpp',
'Modules/notifications/DOMWindowNotifications.h',
'Modules/notifications/Notification.cpp',
@@ -1622,9 +1643,6 @@
'Modules/notifications/NotificationPermissionCallback.h',
'Modules/notifications/WorkerContextNotifications.cpp',
'Modules/notifications/WorkerContextNotifications.h',
- 'Modules/protocolhandler/NavigatorRegisterProtocolHandler.cpp',
- 'Modules/protocolhandler/NavigatorRegisterProtocolHandler.h',
- 'Modules/protocolhandler/RegisterProtocolHandlerClient.h',
'Modules/quota/DOMWindowQuota.cpp',
'Modules/quota/DOMWindowQuota.h',
'Modules/quota/StorageInfo.cpp',
@@ -2195,8 +2213,6 @@
'bindings/v8/IDBBindingUtilities.h',
'bindings/v8/IDBCustomBindings.cpp',
'bindings/v8/IntrusiveDOMWrapperMap.h',
- 'bindings/v8/IsolatedWorld.cpp',
- 'bindings/v8/IsolatedWorld.h',
'bindings/v8/JavaScriptCallFrame.cpp',
'bindings/v8/JavaScriptCallFrame.h',
'bindings/v8/NPObjectWrapper.cpp',
@@ -2266,6 +2282,7 @@
'bindings/v8/V8Callback.h',
'bindings/v8/V8Collection.cpp',
'bindings/v8/V8Collection.h',
+ 'bindings/v8/V8DependentRetained.h',
'bindings/v8/V8DOMConfiguration.cpp',
'bindings/v8/V8DOMConfiguration.h',
'bindings/v8/V8DOMMap.cpp',
@@ -2493,8 +2510,10 @@
'bridge/testbindings.mm',
'bridge/testqtbindings.cpp',
'config.h',
+ 'css/BasicShapeFunctions.cpp',
'css/CSSAspectRatioValue.cpp',
'css/CSSAspectRatioValue.h',
+ 'css/CSSBasicShapes.cpp',
'css/CSSBorderImage.cpp',
'css/CSSBorderImage.h',
'css/CSSBorderImageSliceValue.cpp',
@@ -2574,7 +2593,6 @@
'css/CSSValuePool.cpp',
'css/CSSValuePool.h',
'css/CSSVariableValue.h',
- 'css/CSSWrapShapes.cpp',
'css/Counter.h',
'css/DashboardRegion.h',
'css/FontFeatureValue.cpp',
@@ -2630,6 +2648,8 @@
'css/StyleSheetContents.h',
'css/StyleSheetList.cpp',
'css/StyleSheetList.h',
+ 'css/WebKitCSSArrayFunctionValue.cpp',
+ 'css/WebKitCSSArrayFunctionValue.h',
'css/WebKitCSSFilterValue.cpp',
'css/WebKitCSSKeyframeRule.cpp',
'css/WebKitCSSKeyframeRule.h',
@@ -2646,7 +2666,6 @@
'css/WebKitCSSSVGDocumentValue.cpp',
'css/WebKitCSSSVGDocumentValue.h',
'css/WebKitCSSTransformValue.cpp',
- 'css/WrapShapeFunctions.cpp',
'editing/AlternativeTextController.cpp',
'editing/AlternativeTextController.h',
'editing/AppendNodeCommand.cpp',
@@ -3163,6 +3182,8 @@
'page/SuspendableTimer.h',
'page/TouchAdjustment.cpp',
'page/TouchAdjustment.h',
+ 'page/TouchDisambiguation.cpp',
+ 'page/TouchDisambiguation.h',
'page/UserContentURLPattern.cpp',
'page/WebKitAnimation.cpp',
'page/WebKitAnimation.h',
@@ -3199,6 +3220,8 @@
'page/mac/PageMac.cpp',
'page/qt/DragControllerQt.cpp',
'page/qt/EventHandlerQt.cpp',
+ 'page/scrolling/ScrollingConstraints.cpp',
+ 'page/scrolling/ScrollingConstraints.h',
'page/scrolling/ScrollingCoordinator.cpp',
'page/scrolling/ScrollingCoordinator.h',
'page/scrolling/ScrollingThread.cpp',
@@ -3215,6 +3238,1207 @@
'page/wince/FrameWinCE.cpp',
'page/wx/DragControllerWx.cpp',
'page/wx/EventHandlerWx.cpp',
+ 'plugins/DOMMimeType.cpp',
+ 'plugins/DOMMimeType.h',
+ 'plugins/DOMMimeTypeArray.cpp',
+ 'plugins/DOMMimeTypeArray.h',
+ 'plugins/DOMPlugin.cpp',
+ 'plugins/DOMPlugin.h',
+ 'plugins/DOMPluginArray.cpp',
+ 'plugins/DOMPluginArray.h',
+ 'plugins/IFrameShimSupport.cpp',
+ 'plugins/IFrameShimSupport.h',
+ 'plugins/PluginData.cpp',
+ 'plugins/PluginDataNone.cpp',
+ 'plugins/PluginDatabase.cpp',
+ 'plugins/PluginDatabase.h',
+ 'plugins/PluginDebug.cpp',
+ 'plugins/PluginDebug.h',
+ 'plugins/PluginMainThreadScheduler.cpp',
+ 'plugins/PluginPackage.cpp',
+ 'plugins/PluginPackage.h',
+ 'plugins/PluginPackageNone.cpp',
+ 'plugins/PluginQuirkSet.h',
+ 'plugins/PluginStream.cpp',
+ 'plugins/PluginStream.h',
+ 'plugins/PluginView.cpp',
+ 'plugins/PluginView.h',
+ 'plugins/PluginViewNone.cpp',
+ 'plugins/chromium/PluginDataChromium.cpp',
+ 'plugins/chromium/PluginDataChromium.h',
+ 'plugins/gtk/PluginPackageGtk.cpp',
+ 'plugins/gtk/PluginViewGtk.cpp',
+ 'plugins/gtk/gtk2xtbin.h',
+ 'plugins/gtk/xembed.h',
+ 'plugins/mac/PluginPackageMac.cpp',
+ 'plugins/mac/PluginViewMac.mm',
+ 'plugins/npapi.cpp',
+ 'plugins/qt/PluginPackageQt.cpp',
+ 'plugins/qt/PluginViewQt.cpp',
+ 'plugins/win/PluginDatabaseWin.cpp',
+ 'plugins/win/PluginMessageThrottlerWin.cpp',
+ 'plugins/win/PluginMessageThrottlerWin.h',
+ 'plugins/win/PluginPackageWin.cpp',
+ 'plugins/win/PluginViewWin.cpp',
+ 'plugins/wx/PluginDataWx.cpp',
+ 'rendering/AutoTableLayout.cpp',
+ 'rendering/AutoTableLayout.h',
+ 'rendering/BidiRun.cpp',
+ 'rendering/BidiRun.h',
+ 'rendering/CounterNode.cpp',
+ 'rendering/CounterNode.h',
+ 'rendering/EllipsisBox.cpp',
+ 'rendering/EllipsisBox.h',
+ 'rendering/FilterEffectRenderer.cpp',
+ 'rendering/FilterEffectRenderer.h',
+ 'rendering/FixedTableLayout.cpp',
+ 'rendering/FixedTableLayout.h',
+ 'rendering/FlowThreadController.cpp',
+ 'rendering/FlowThreadController.h',
+ 'rendering/TextAutosizer.cpp',
+ 'rendering/TextAutosizer.h',
+ 'rendering/HitTestingTransformState.cpp',
+ 'rendering/HitTestingTransformState.h',
+ 'rendering/HitTestResult.cpp',
+ 'rendering/InlineBox.cpp',
+ 'rendering/InlineFlowBox.cpp',
+ 'rendering/InlineIterator.h',
+ 'rendering/InlineTextBox.cpp',
+ 'rendering/LayoutState.cpp',
+ 'rendering/LayoutRepainter.cpp',
+ 'rendering/PointerEventsHitRules.cpp',
+ 'rendering/PointerEventsHitRules.h',
+ 'rendering/RenderApplet.cpp',
+ 'rendering/RenderApplet.h',
+ 'rendering/RenderArena.cpp',
+ 'rendering/RenderArena.h',
+ 'rendering/RenderBR.cpp',
+ 'rendering/RenderBlock.cpp',
+ 'rendering/RenderBlockLineLayout.cpp',
+ 'rendering/RenderBox.cpp',
+ 'rendering/RenderBoxModelObject.cpp',
+ 'rendering/RenderButton.cpp',
+ 'rendering/RenderButton.h',
+ 'rendering/RenderCombineText.cpp',
+ 'rendering/RenderCombineText.h',
+ 'rendering/RenderCounter.cpp',
+ 'rendering/RenderCounter.h',
+ 'rendering/RenderDeprecatedFlexibleBox.cpp',
+ 'rendering/RenderDeprecatedFlexibleBox.h',
+ 'rendering/RenderDetailsMarker.cpp',
+ 'rendering/RenderDetailsMarker.h',
+ 'rendering/RenderDialog.cpp',
+ 'rendering/RenderEmbeddedObject.cpp',
+ 'rendering/RenderFieldset.cpp',
+ 'rendering/RenderFieldset.h',
+ 'rendering/RenderFileUploadControl.cpp',
+ 'rendering/RenderFileUploadControl.h',
+ 'rendering/RenderFlexibleBox.cpp',
+ 'rendering/RenderFlexibleBox.h',
+ 'rendering/RenderFlowThread.cpp',
+ 'rendering/RenderFlowThread.h',
+ 'rendering/RenderFrame.cpp',
+ 'rendering/RenderFrame.h',
+ 'rendering/RenderFrameBase.cpp',
+ 'rendering/RenderFrameBase.h',
+ 'rendering/RenderFrameSet.cpp',
+ 'rendering/RenderFrameSet.h',
+ 'rendering/RenderFullScreen.cpp',
+ 'rendering/RenderFullScreen.h',
+ 'rendering/RenderGrid.cpp',
+ 'rendering/RenderGrid.h',
+ 'rendering/RenderGeometryMap.cpp',
+ 'rendering/RenderGeometryMap.h',
+ 'rendering/RenderHTMLCanvas.cpp',
+ 'rendering/RenderHTMLCanvas.h',
+ 'rendering/RenderIFrame.cpp',
+ 'rendering/RenderIFrame.h',
+ 'rendering/RenderImage.cpp',
+ 'rendering/RenderImageResource.cpp',
+ 'rendering/RenderImageResourceStyleImage.cpp',
+ 'rendering/RenderInline.cpp',
+ 'rendering/RenderInline.h',
+ 'rendering/RenderInputSpeech.cpp',
+ 'rendering/RenderInputSpeech.h',
+ 'rendering/RenderLayer.cpp',
+ 'rendering/RenderLayerBacking.cpp',
+ 'rendering/RenderLayerCompositor.cpp',
+ 'rendering/RenderLayerCompositor.h',
+ 'rendering/RenderLayerFilterInfo.cpp',
+ 'rendering/RenderLayerFilterInfo.h',
+ 'rendering/RenderLineBoxList.cpp',
+ 'rendering/RenderListBox.cpp',
+ 'rendering/RenderListBox.h',
+ 'rendering/RenderListItem.cpp',
+ 'rendering/RenderListMarker.cpp',
+ 'rendering/RenderListMarker.h',
+ 'rendering/RenderMarquee.cpp',
+ 'rendering/RenderMarquee.h',
+ 'rendering/RenderMedia.cpp',
+ 'rendering/RenderMedia.h',
+ 'rendering/RenderMediaControls.cpp',
+ 'rendering/RenderMediaControls.h',
+ 'rendering/RenderMediaControlsChromium.cpp',
+ 'rendering/RenderMediaControlsChromium.h',
+ 'rendering/RenderMenuList.cpp',
+ 'rendering/RenderMenuList.h',
+ 'rendering/RenderMeter.cpp',
+ 'rendering/RenderMeter.h',
+ 'rendering/RenderMultiColumnBlock.cpp',
+ 'rendering/RenderMultiColumnBlock.h',
+ 'rendering/RenderMultiColumnFlowThread.cpp',
+ 'rendering/RenderMultiColumnFlowThread.h',
+ 'rendering/RenderMultiColumnSet.cpp',
+ 'rendering/RenderMultiColumnSet.h',
+ 'rendering/RenderNamedFlowThread.cpp',
+ 'rendering/RenderNamedFlowThread.h',
+ 'rendering/RenderObject.cpp',
+ 'rendering/RenderObjectChildList.cpp',
+ 'rendering/RenderPart.cpp',
+ 'rendering/RenderProgress.cpp',
+ 'rendering/RenderProgress.h',
+ 'rendering/RenderQuote.cpp',
+ 'rendering/RenderQuote.h',
+ 'rendering/RenderRegion.cpp',
+ 'rendering/RenderRegion.h',
+ 'rendering/RenderRegionSet.cpp',
+ 'rendering/RenderRegionSet.h',
+ 'rendering/RenderReplaced.cpp',
+ 'rendering/RenderReplica.cpp',
+ 'rendering/RenderReplica.h',
+ 'rendering/RenderRuby.cpp',
+ 'rendering/RenderRuby.h',
+ 'rendering/RenderRubyBase.cpp',
+ 'rendering/RenderRubyBase.h',
+ 'rendering/RenderRubyRun.cpp',
+ 'rendering/RenderRubyRun.h',
+ 'rendering/RenderRubyText.cpp',
+ 'rendering/RenderRubyText.h',
+ 'rendering/RenderScrollbar.cpp',
+ 'rendering/RenderScrollbar.h',
+ 'rendering/RenderScrollbarPart.cpp',
+ 'rendering/RenderScrollbarPart.h',
+ 'rendering/RenderScrollbarTheme.cpp',
+ 'rendering/RenderScrollbarTheme.h',
+ 'rendering/RenderSearchField.cpp',
+ 'rendering/RenderSearchField.h',
+ 'rendering/RenderSelectionInfo.h',
+ 'rendering/RenderSlider.cpp',
+ 'rendering/RenderSlider.h',
+ 'rendering/RenderTable.cpp',
+ 'rendering/RenderTable.h',
+ 'rendering/RenderTableCaption.cpp',
+ 'rendering/RenderTableCaption.h',
+ 'rendering/RenderTableCell.cpp',
+ 'rendering/RenderTableCell.h',
+ 'rendering/RenderTableCol.cpp',
+ 'rendering/RenderTableCol.h',
+ 'rendering/RenderTableRow.cpp',
+ 'rendering/RenderTableRow.h',
+ 'rendering/RenderTableSection.cpp',
+ 'rendering/RenderTableSection.h',
+ 'rendering/RenderText.cpp',
+ 'rendering/RenderTextControl.cpp',
+ 'rendering/RenderTextControl.h',
+ 'rendering/RenderTextControlMultiLine.cpp',
+ 'rendering/RenderTextControlMultiLine.h',
+ 'rendering/RenderTextControlSingleLine.cpp',
+ 'rendering/RenderTextControlSingleLine.h',
+ 'rendering/RenderTextFragment.cpp',
+ 'rendering/RenderTextFragment.h',
+ 'rendering/RenderTextTrackCue.cpp',
+ 'rendering/RenderTextTrackCue.h',
+ 'rendering/RenderTheme.cpp',
+ 'rendering/RenderTheme.h',
+ 'rendering/RenderThemeChromiumAndroid.cpp',
+ 'rendering/RenderThemeChromiumAndroid.h',
+ 'rendering/RenderThemeChromiumCommon.cpp',
+ 'rendering/RenderThemeChromiumCommon.h',
+ 'rendering/RenderThemeChromiumLinux.cpp',
+ 'rendering/RenderThemeChromiumLinux.h',
+ 'rendering/RenderThemeChromiumMac.h',
+ 'rendering/RenderThemeChromiumMac.mm',
+ 'rendering/RenderThemeChromiumSkia.cpp',
+ 'rendering/RenderThemeChromiumSkia.h',
+ 'rendering/RenderThemeChromiumWin.cpp',
+ 'rendering/RenderThemeChromiumWin.h',
+ 'rendering/RenderThemeMac.h',
+ 'rendering/RenderThemeMac.mm',
+ 'rendering/RenderThemeSafari.cpp',
+ 'rendering/RenderThemeSafari.h',
+ 'rendering/RenderThemeWin.cpp',
+ 'rendering/RenderThemeWin.h',
+ 'rendering/RenderThemeWinCE.cpp',
+ 'rendering/RenderThemeWinCE.h',
+ 'rendering/RenderTreeAsText.cpp',
+ 'rendering/RenderVideo.cpp',
+ 'rendering/RenderVideo.h',
+ 'rendering/RenderView.cpp',
+ 'rendering/RenderWidget.cpp',
+ 'rendering/RenderWidgetProtector.h',
+ 'rendering/RenderWordBreak.cpp',
+ 'rendering/RenderWordBreak.h',
+ 'rendering/RenderingAllInOne.cpp',
+ 'rendering/RootInlineBox.cpp',
+ 'rendering/ScrollBehavior.cpp',
+ 'rendering/TableLayout.h',
+ 'rendering/TrailingFloatsRootInlineBox.h',
+ 'rendering/VerticalPositionCache.h',
+ 'rendering/WrapShapeInfo.cpp',
+ 'rendering/break_lines.cpp',
+ 'rendering/break_lines.h',
+ 'rendering/mathml/RenderMathMLBlock.cpp',
+ 'rendering/mathml/RenderMathMLBlock.h',
+ 'rendering/mathml/RenderMathMLFenced.cpp',
+ 'rendering/mathml/RenderMathMLFenced.h',
+ 'rendering/mathml/RenderMathMLFraction.cpp',
+ 'rendering/mathml/RenderMathMLFraction.h',
+ 'rendering/mathml/RenderMathMLMath.cpp',
+ 'rendering/mathml/RenderMathMLMath.h',
+ 'rendering/mathml/RenderMathMLOperator.cpp',
+ 'rendering/mathml/RenderMathMLOperator.h',
+ 'rendering/mathml/RenderMathMLRoot.cpp',
+ 'rendering/mathml/RenderMathMLRoot.h',
+ 'rendering/mathml/RenderMathMLRow.cpp',
+ 'rendering/mathml/RenderMathMLRow.h',
+ 'rendering/mathml/RenderMathMLSquareRoot.cpp',
+ 'rendering/mathml/RenderMathMLSquareRoot.h',
+ 'rendering/mathml/RenderMathMLSubSup.cpp',
+ 'rendering/mathml/RenderMathMLSubSup.h',
+ 'rendering/mathml/RenderMathMLUnderOver.cpp',
+ 'rendering/mathml/RenderMathMLUnderOver.h',
+ 'rendering/style/BasicShapes.cpp',
+ 'rendering/style/ContentData.cpp',
+ 'rendering/style/CounterDirectives.cpp',
+ 'rendering/style/FillLayer.cpp',
+ 'rendering/style/KeyframeList.cpp',
+ 'rendering/style/KeyframeList.h',
+ 'rendering/style/NinePieceImage.cpp',
+ 'rendering/style/QuotesData.cpp',
+ 'rendering/style/QuotesData.h',
+ 'rendering/style/RenderStyle.cpp',
+ 'rendering/style/ShadowData.cpp',
+ 'rendering/style/StyleAllInOne.cpp',
+ 'rendering/style/StyleBackgroundData.cpp',
+ 'rendering/style/StyleBoxData.cpp',
+ 'rendering/style/StyleCachedImage.cpp',
+ 'rendering/style/StyleCachedImageSet.cpp',
+ 'rendering/style/StyleCachedShader.h',
+ 'rendering/style/StyleCachedShader.cpp',
+ 'rendering/style/StyleCustomFilterProgram.h',
+ 'rendering/style/StyleDeprecatedFlexibleBoxData.cpp',
+ 'rendering/style/StyleFilterData.cpp',
+ 'rendering/style/StyleFlexibleBoxData.cpp',
+ 'rendering/style/StyleGeneratedImage.cpp',
+ 'rendering/style/StyleGridData.cpp',
+ 'rendering/style/StyleGridItemData.cpp',
+ 'rendering/style/StyleInheritedData.cpp',
+ 'rendering/style/StyleMarqueeData.cpp',
+ 'rendering/style/StyleMultiColData.cpp',
+ 'rendering/style/StylePendingImage.h',
+ 'rendering/style/StylePendingShader.h',
+ 'rendering/style/StyleRareInheritedData.cpp',
+ 'rendering/style/StyleRareNonInheritedData.cpp',
+ 'rendering/style/StyleShader.h',
+ 'rendering/style/StyleSurroundData.cpp',
+ 'rendering/style/StyleTransformData.cpp',
+ 'rendering/style/StyleVisualData.cpp',
+ 'rendering/svg/SVGInlineFlowBox.cpp',
+ 'rendering/svg/SVGInlineFlowBox.h',
+ 'rendering/svg/SVGInlineTextBox.cpp',
+ 'rendering/svg/SVGInlineTextBox.h',
+ 'rendering/svg/SVGMarkerData.h',
+ 'rendering/svg/SVGPathData.cpp',
+ 'rendering/svg/SVGPathData.h',
+ 'rendering/svg/SVGRenderSupport.cpp',
+ 'rendering/svg/SVGRenderSupport.h',
+ 'rendering/svg/SVGRenderTreeAsText.cpp',
+ 'rendering/svg/SVGRenderTreeAsText.h',
+ 'rendering/svg/SVGRenderingContext.cpp',
+ 'rendering/svg/SVGRenderingContext.h',
+ 'rendering/svg/SVGResources.cpp',
+ 'rendering/svg/SVGResources.h',
+ 'rendering/svg/SVGResourcesCache.cpp',
+ 'rendering/svg/SVGResourcesCycleSolver.cpp',
+ 'rendering/svg/SVGResourcesCycleSolver.h',
+ 'rendering/svg/SVGRootInlineBox.cpp',
+ 'rendering/svg/SVGRootInlineBox.h',
+ 'rendering/svg/SVGTextChunk.cpp',
+ 'rendering/svg/SVGTextChunk.h',
+ 'rendering/svg/SVGTextChunkBuilder.cpp',
+ 'rendering/svg/SVGTextChunkBuilder.h',
+ 'rendering/svg/SVGTextFragment.h',
+ 'rendering/svg/SVGTextLayoutAttributes.cpp',
+ 'rendering/svg/SVGTextLayoutAttributes.h',
+ 'rendering/svg/SVGTextLayoutAttributesBuilder.cpp',
+ 'rendering/svg/SVGTextLayoutAttributesBuilder.h',
+ 'rendering/svg/SVGTextLayoutEngine.cpp',
+ 'rendering/svg/SVGTextLayoutEngine.h',
+ 'rendering/svg/SVGTextLayoutEngineBaseline.cpp',
+ 'rendering/svg/SVGTextLayoutEngineBaseline.h',
+ 'rendering/svg/SVGTextLayoutEngineSpacing.cpp',
+ 'rendering/svg/SVGTextLayoutEngineSpacing.h',
+ 'rendering/svg/SVGTextMetrics.cpp',
+ 'rendering/svg/SVGTextMetrics.h',
+ 'rendering/svg/SVGTextMetricsBuilder.cpp',
+ 'rendering/svg/SVGTextMetricsBuilder.h',
+ 'rendering/svg/SVGTextQuery.cpp',
+ 'rendering/svg/SVGTextQuery.h',
+ 'rendering/svg/SVGTextRunRenderingContext.cpp',
+ 'rendering/svg/SVGTextRunRenderingContext.h',
+ 'storage/Storage.cpp',
+ 'storage/Storage.h',
+ 'storage/StorageArea.h',
+ 'storage/StorageAreaImpl.cpp',
+ 'storage/StorageAreaImpl.h',
+ 'storage/StorageAreaSync.cpp',
+ 'storage/StorageAreaSync.h',
+ 'storage/StorageEvent.cpp',
+ 'storage/StorageEvent.h',
+ 'storage/StorageEventDispatcher.cpp',
+ 'storage/StorageEventDispatcher.h',
+ 'storage/StorageMap.cpp',
+ 'storage/StorageMap.h',
+ 'storage/StorageNamespace.cpp',
+ 'storage/StorageNamespace.h',
+ 'storage/StorageNamespaceImpl.cpp',
+ 'storage/StorageNamespaceImpl.h',
+ 'storage/StorageSyncManager.cpp',
+ 'storage/StorageSyncManager.h',
+ 'storage/StorageTask.cpp',
+ 'storage/StorageTask.h',
+ 'storage/StorageThread.cpp',
+ 'storage/StorageThread.h',
+ 'storage/StorageTrackerClient.h',
+ 'storage/StorageTracker.cpp',
+ 'storage/StorageTracker.h',
+ 'storage/chromium/IDBFactoryBackendInterface.cpp',
+ 'storage/wince/DatabaseThreadWinCE.cpp',
+ 'storage/wince/DatabaseThreadWinCE.h',
+ 'storage/wince/StorageThreadWinCE.cpp',
+ 'storage/wince/StorageThreadWinCE.h',
+ 'workers/AbstractWorker.cpp',
+ 'workers/AbstractWorker.h',
+ 'workers/DedicatedWorkerContext.cpp',
+ 'workers/DedicatedWorkerContext.h',
+ 'workers/DedicatedWorkerThread.cpp',
+ 'workers/DedicatedWorkerThread.h',
+ 'workers/DefaultSharedWorkerRepository.cpp',
+ 'workers/DefaultSharedWorkerRepository.h',
+ 'workers/SharedWorker.cpp',
+ 'workers/SharedWorker.h',
+ 'workers/SharedWorkerContext.cpp',
+ 'workers/SharedWorkerContext.h',
+ 'workers/SharedWorkerRepository.h',
+ 'workers/SharedWorkerThread.cpp',
+ 'workers/SharedWorkerThread.h',
+ 'workers/Worker.cpp',
+ 'workers/Worker.h',
+ 'workers/WorkerContext.cpp',
+ 'workers/WorkerContext.h',
+ 'workers/WorkerContextProxy.h',
+ 'workers/WorkerEventQueue.cpp',
+ 'workers/WorkerEventQueue.h',
+ 'workers/WorkerLoaderProxy.h',
+ 'workers/WorkerLocation.cpp',
+ 'workers/WorkerLocation.h',
+ 'workers/WorkerMessagingProxy.cpp',
+ 'workers/WorkerMessagingProxy.h',
+ 'workers/WorkerObjectProxy.h',
+ 'workers/WorkerReportingProxy.h',
+ 'workers/WorkerRunLoop.cpp',
+ 'workers/WorkerScriptLoader.cpp',
+ 'workers/WorkerScriptLoader.h',
+ 'workers/WorkerScriptLoaderClient.h',
+ 'workers/WorkerThread.cpp',
+ 'xml/parser/CharacterReferenceParserInlineMethods.h',
+ 'xml/parser/MarkupTokenBase.h',
+ 'xml/parser/MarkupTokenizerBase.h',
+ 'xml/parser/MarkupTokenizerInlineMethods.h',
+ 'xml/parser/NewXMLDocumentParser.cpp',
+ 'xml/parser/NewXMLDocumentParser.h',
+ 'xml/parser/XMLCharacterReferenceParser.cpp',
+ 'xml/parser/XMLCharacterReferenceParser.h',
+ 'xml/parser/XMLDocumentParser.cpp',
+ 'xml/parser/XMLDocumentParser.h',
+ 'xml/parser/XMLDocumentParserLibxml2.cpp',
+ 'xml/parser/XMLDocumentParserQt.cpp',
+ 'xml/parser/XMLDocumentParserScope.cpp',
+ 'xml/parser/XMLDocumentParserScope.h',
+ 'xml/parser/XMLTokenizer.cpp',
+ 'xml/parser/XMLTokenizer.h',
+ 'xml/parser/XMLToken.h',
+ 'xml/parser/XMLTreeBuilder.cpp',
+ 'xml/parser/XMLTreeBuilder.h',
+ 'xml/DOMParser.cpp',
+ 'xml/DOMParser.h',
+ 'xml/NativeXPathNSResolver.cpp',
+ 'xml/NativeXPathNSResolver.h',
+ 'xml/XMLErrors.cpp',
+ 'xml/XMLErrors.h',
+ 'xml/XMLHttpRequest.cpp',
+ 'xml/XMLHttpRequest.h',
+ 'xml/XMLHttpRequestException.cpp',
+ 'xml/XMLHttpRequestException.h',
+ 'xml/XMLHttpRequestProgressEvent.h',
+ 'xml/XMLHttpRequestProgressEventThrottle.cpp',
+ 'xml/XMLHttpRequestProgressEventThrottle.h',
+ 'xml/XMLHttpRequestUpload.cpp',
+ 'xml/XMLHttpRequestUpload.h',
+ 'xml/XMLSerializer.cpp',
+ 'xml/XMLSerializer.h',
+ 'xml/XMLTreeViewer.cpp',
+ 'xml/XMLTreeViewer.h',
+ 'xml/XPathEvaluator.cpp',
+ 'xml/XPathEvaluator.h',
+ 'xml/XPathException.cpp',
+ 'xml/XPathException.h',
+ 'xml/XPathExpression.cpp',
+ 'xml/XPathExpression.h',
+ 'xml/XPathExpressionNode.cpp',
+ 'xml/XPathExpressionNode.h',
+ 'xml/XPathFunctions.cpp',
+ 'xml/XPathFunctions.h',
+ 'xml/XPathNSResolver.cpp',
+ 'xml/XPathNSResolver.h',
+ 'xml/XPathNodeSet.cpp',
+ 'xml/XPathNodeSet.h',
+ 'xml/XPathParser.cpp',
+ 'xml/XPathParser.h',
+ 'xml/XPathPath.cpp',
+ 'xml/XPathPath.h',
+ 'xml/XPathPredicate.cpp',
+ 'xml/XPathPredicate.h',
+ 'xml/XPathResult.cpp',
+ 'xml/XPathResult.h',
+ 'xml/XPathStep.cpp',
+ 'xml/XPathStep.h',
+ 'xml/XPathUtil.cpp',
+ 'xml/XPathUtil.h',
+ 'xml/XPathValue.cpp',
+ 'xml/XPathValue.h',
+ 'xml/XPathVariableReference.cpp',
+ 'xml/XPathVariableReference.h',
+ 'xml/XSLImportRule.cpp',
+ 'xml/XSLImportRule.h',
+ 'xml/XSLStyleSheet.h',
+ 'xml/XSLStyleSheetLibxslt.cpp',
+ 'xml/XSLStyleSheetQt.cpp',
+ 'xml/XSLTExtensions.cpp',
+ 'xml/XSLTExtensions.h',
+ 'xml/XSLTProcessor.cpp',
+ 'xml/XSLTProcessor.h',
+ 'xml/XSLTProcessorLibxslt.cpp',
+ 'xml/XSLTProcessorQt.cpp',
+ 'xml/XSLTUnicodeSort.cpp',
+ 'xml/XSLTUnicodeSort.h',
+ ],
+ 'webcore_dom_files': [
+ 'dom/ActiveDOMObject.cpp',
+ 'dom/Attr.cpp',
+ 'dom/BeforeLoadEvent.h',
+ 'dom/BeforeTextInsertedEvent.cpp',
+ 'dom/BeforeTextInsertedEvent.h',
+ 'dom/BeforeUnloadEvent.cpp',
+ 'dom/BeforeUnloadEvent.h',
+ 'dom/CDATASection.cpp',
+ 'dom/CDATASection.h',
+ 'dom/CharacterData.cpp',
+ 'dom/CheckedRadioButtons.cpp',
+ 'dom/ChildListMutationScope.cpp',
+ 'dom/ChildListMutationScope.h',
+ 'dom/ChildNodeList.cpp',
+ 'dom/ChildNodeList.h',
+ 'dom/ClassNodeList.cpp',
+ 'dom/ClassNodeList.h',
+ 'dom/ClientRect.cpp',
+ 'dom/ClientRect.h',
+ 'dom/ClientRectList.cpp',
+ 'dom/ClientRectList.h',
+ 'dom/Clipboard.cpp',
+ 'dom/ClipboardEvent.cpp',
+ 'dom/ClipboardEvent.h',
+ 'dom/Comment.cpp',
+ 'dom/Comment.h',
+ 'dom/ComposedShadowTreeWalker.cpp',
+ 'dom/ComposedShadowTreeWalker.h',
+ 'dom/CompositionEvent.cpp',
+ 'dom/CompositionEvent.h',
+ 'dom/ContainerNode.cpp',
+ 'dom/ContainerNodeAlgorithms.h',
+ 'dom/ContainerNodeAlgorithms.cpp',
+ 'dom/ContextDestructionObserver.cpp',
+ 'dom/CrossThreadTask.h',
+ 'dom/CustomEvent.cpp',
+ 'dom/CustomEvent.h',
+ 'dom/DOMAllInOne.cpp',
+ 'dom/DOMCoreException.cpp',
+ 'dom/DOMCoreException.h',
+ 'dom/DOMError.cpp',
+ 'dom/DOMError.h',
+ 'dom/DOMImplementation.cpp',
+ 'dom/DOMNamedFlowCollection.cpp',
+ 'dom/DOMNamedFlowCollection.h',
+ 'dom/DOMStringList.cpp',
+ 'dom/DOMStringList.h',
+ 'dom/DOMStringMap.cpp',
+ 'dom/DOMStringMap.h',
+ 'dom/DataTransferItem.cpp',
+ 'dom/DataTransferItem.h',
+ 'dom/DataTransferItemList.h',
+ 'dom/DatasetDOMStringMap.cpp',
+ 'dom/DatasetDOMStringMap.h',
+ 'dom/DecodedDataDocumentParser.cpp',
+ 'dom/DecodedDataDocumentParser.h',
+ 'dom/DeviceMotionClient.h',
+ 'dom/DeviceMotionController.cpp',
+ 'dom/DeviceMotionController.h',
+ 'dom/DeviceMotionData.cpp',
+ 'dom/DeviceMotionData.h',
+ 'dom/DeviceMotionEvent.cpp',
+ 'dom/DeviceMotionEvent.h',
+ 'dom/DeviceOrientationController.cpp',
+ 'dom/DeviceOrientationController.h',
+ 'dom/DeviceOrientationData.cpp',
+ 'dom/DeviceOrientationEvent.cpp',
+ 'dom/DeviceOrientationEvent.h',
+ 'dom/Document.cpp',
+ 'dom/DocumentEventQueue.cpp',
+ 'dom/DocumentEventQueue.h',
+ 'dom/DocumentFragment.cpp',
+ 'dom/DocumentMarkerController.cpp',
+ 'dom/DocumentMarker.cpp',
+ 'dom/DocumentOrderedMap.cpp',
+ 'dom/DocumentParser.cpp',
+ 'dom/DocumentType.cpp',
+ 'dom/DynamicNodeList.cpp',
+ 'dom/DynamicNodeList.h',
+ 'dom/EditingText.cpp',
+ 'dom/EditingText.h',
+ 'dom/ElementShadow.cpp',
+ 'dom/Element.cpp',
+ 'dom/ElementAttributeData.cpp',
+ 'dom/ElementRareData.h',
+ 'dom/Entity.h',
+ 'dom/EntityReference.cpp',
+ 'dom/EntityReference.h',
+ 'dom/ErrorEvent.cpp',
+ 'dom/ErrorEvent.h',
+ 'dom/Event.cpp',
+ 'dom/EventContext.cpp',
+ 'dom/EventContext.h',
+ 'dom/EventDispatchMediator.cpp',
+ 'dom/EventDispatchMediator.h',
+ 'dom/EventDispatcher.cpp',
+ 'dom/EventDispatcher.h',
+ 'dom/EventException.cpp',
+ 'dom/EventException.h',
+ 'dom/EventListenerMap.cpp',
+ 'dom/EventNames.cpp',
+ 'dom/EventQueue.h',
+ 'dom/EventSender.h',
+ 'dom/EventTarget.cpp',
+ 'dom/ExceptionBase.cpp',
+ 'dom/ExceptionBase.h',
+ 'dom/ExceptionCodePlaceholder.cpp',
+ 'dom/GenericEventQueue.cpp',
+ 'dom/GenericEventQueue.h',
+ 'dom/GestureEvent.cpp',
+ 'dom/GestureEvent.h',
+ 'dom/HashChangeEvent.h',
+ 'dom/IgnoreDestructiveWriteCountIncrementer.h',
+ 'dom/IconURL.cpp',
+ 'dom/IconURL.h',
+ 'dom/IdTargetObserver.cpp',
+ 'dom/IdTargetObserver.h',
+ 'dom/IdTargetObserverRegistry.cpp',
+ 'dom/IdTargetObserverRegistry.h',
+ 'dom/KeyboardEvent.cpp',
+ 'dom/MemoryInstrumentation.h',
+ 'dom/MessageChannel.cpp',
+ 'dom/MessageChannel.h',
+ 'dom/MessageEvent.cpp',
+ 'dom/MessageEvent.h',
+ 'dom/MessagePort.cpp',
+ 'dom/MessagePortChannel.cpp',
+ 'dom/MicroDataItemList.cpp',
+ 'dom/MicroDataItemList.h',
+ 'dom/MouseEvent.cpp',
+ 'dom/MouseRelatedEvent.cpp',
+ 'dom/MutationCallback.h',
+ 'dom/MutationEvent.cpp',
+ 'dom/MutationEvent.h',
+ 'dom/MutationObserver.cpp',
+ 'dom/MutationObserver.h',
+ 'dom/MutationObserverInterestGroup.cpp',
+ 'dom/MutationObserverInterestGroup.h',
+ 'dom/MutationObserverRegistration.cpp',
+ 'dom/MutationObserverRegistration.h',
+ 'dom/MutationRecord.cpp',
+ 'dom/MutationRecord.h',
+ 'dom/NamedFlowCollection.cpp',
+ 'dom/NamedFlowCollection.h',
+ 'dom/NameNodeList.cpp',
+ 'dom/NameNodeList.h',
+ 'dom/NamedNodeMap.cpp',
+ 'dom/Node.cpp',
+ 'dom/NodeFilter.cpp',
+ 'dom/NodeFilter.h',
+ 'dom/NodeFilterCondition.cpp',
+ 'dom/NodeFilterCondition.h',
+ 'dom/NodeIterator.cpp',
+ 'dom/NodeIterator.h',
+ 'dom/NodeRareData.h',
+ 'dom/NodeRenderingContext.cpp',
+ 'dom/NodeRenderingContext.h',
+ 'dom/NodeRenderStyle.h',
+ 'dom/NodeWithIndex.h',
+ 'dom/Notation.cpp',
+ 'dom/Notation.h',
+ 'dom/OverflowEvent.cpp',
+ 'dom/OverflowEvent.h',
+ 'dom/PageTransitionEvent.cpp',
+ 'dom/PageTransitionEvent.h',
+ 'dom/PendingScript.cpp',
+ 'dom/PopStateEvent.cpp',
+ 'dom/PopStateEvent.h',
+ 'dom/Position.cpp',
+ 'dom/PositionIterator.cpp',
+ 'dom/PositionIterator.h',
+ 'dom/ProcessingInstruction.cpp',
+ 'dom/ProcessingInstruction.h',
+ 'dom/ProgressEvent.cpp',
+ 'dom/ProgressEvent.h',
+ 'dom/PropertyNodeList.cpp',
+ 'dom/PropertyNodeList.h',
+ 'dom/QualifiedName.cpp',
+ 'dom/Range.cpp',
+ 'dom/RangeException.cpp',
+ 'dom/RangeException.h',
+ 'dom/RawDataDocumentParser.h',
+ 'dom/RegisteredEventListener.cpp',
+ 'dom/RequestAnimationFrameCallback.h',
+ 'dom/ScopedEventQueue.cpp',
+ 'dom/ScopedEventQueue.h',
+ 'dom/ScriptElement.cpp',
+ 'dom/ScriptElement.h',
+ 'dom/ScriptExecutionContext.cpp',
+ 'dom/ScriptRunner.cpp',
+ 'dom/ScriptableDocumentParser.cpp',
+ 'dom/ScriptableDocumentParser.h',
+ 'dom/ScriptedAnimationController.cpp',
+ 'dom/ScriptedAnimationController.h',
+ 'dom/SecurityContext.cpp',
+ 'dom/SecurityContext.h',
+ 'dom/SelectorQuery.cpp',
+ 'dom/SelectorQuery.h',
+ 'dom/ShadowRoot.cpp',
+ 'dom/ShadowRoot.h',
+ 'dom/SpaceSplitString.cpp',
+ 'dom/StaticHashSetNodeList.cpp',
+ 'dom/StaticHashSetNodeList.h',
+ 'dom/StaticNodeList.cpp',
+ 'dom/StaticNodeList.h',
+ 'dom/StringCallback.cpp',
+ 'dom/StringCallback.h',
+ 'dom/StyleElement.cpp',
+ 'dom/StyleElement.h',
+ 'dom/StyledElement.cpp',
+ 'dom/TagNodeList.cpp',
+ 'dom/TagNodeList.h',
+ 'dom/Text.cpp',
+ 'dom/TextEvent.cpp',
+ 'dom/TextEvent.h',
+ 'dom/Touch.cpp',
+ 'dom/Touch.h',
+ 'dom/TouchEvent.cpp',
+ 'dom/TouchEvent.h',
+ 'dom/TouchList.cpp',
+ 'dom/TouchList.h',
+ 'dom/TransformSource.h',
+ 'dom/TransformSourceLibxslt.cpp',
+ 'dom/TransformSourceQt.cpp',
+ 'dom/Traversal.cpp',
+ 'dom/Traversal.h',
+ 'dom/TreeDepthLimit.h',
+ 'dom/TreeScope.cpp',
+ 'dom/TreeScope.h',
+ 'dom/TreeScopeAdopter.cpp',
+ 'dom/TreeScopeAdopter.h',
+ 'dom/TreeWalker.cpp',
+ 'dom/TreeWalker.h',
+ 'dom/UIEvent.cpp',
+ 'dom/UIEventWithKeyState.cpp',
+ 'dom/UserGestureIndicator.cpp',
+ 'dom/UserTypingGestureIndicator.cpp',
+ 'dom/ViewportArguments.cpp',
+ 'dom/WebCoreMemoryInstrumentation.cpp',
+ 'dom/WebCoreMemoryInstrumentation.h',
+ 'dom/WebKitAnimationEvent.cpp',
+ 'dom/WebKitAnimationEvent.h',
+ 'dom/WebKitNamedFlow.cpp',
+ 'dom/WebKitNamedFlow.h',
+ 'dom/WebKitTransitionEvent.cpp',
+ 'dom/WebKitTransitionEvent.h',
+ 'dom/WheelEvent.cpp',
+ 'dom/WheelEvent.h',
+ 'dom/WindowEventContext.cpp',
+ 'dom/WindowEventContext.h',
+ 'dom/default/PlatformMessagePortChannel.cpp',
+ 'dom/default/PlatformMessagePortChannel.h',
+ ],
+ 'webcore_html_files': [
+ 'html/BaseButtonInputType.cpp',
+ 'html/BaseButtonInputType.h',
+ 'html/BaseCheckableInputType.cpp',
+ 'html/BaseCheckableInputType.h',
+ 'html/BaseClickableWithKeyInputType.cpp',
+ 'html/BaseClickableWithKeyInputType.h',
+ 'html/BaseDateAndTimeInputType.cpp',
+ 'html/BaseDateAndTimeInputType.h',
+ 'html/BaseTextInputType.cpp',
+ 'html/BaseTextInputType.h',
+ 'html/ButtonInputType.cpp',
+ 'html/ButtonInputType.h',
+ 'html/CheckboxInputType.cpp',
+ 'html/CheckboxInputType.h',
+ 'html/ClassList.cpp',
+ 'html/ClassList.h',
+ 'html/ColorInputType.cpp',
+ 'html/ColorInputType.h',
+ 'html/DOMFormData.cpp',
+ 'html/DOMFormData.h',
+ 'html/DOMSettableTokenList.cpp',
+ 'html/DOMSettableTokenList.h',
+ 'html/DOMTokenList.cpp',
+ 'html/DOMTokenList.h',
+ 'html/DOMURL.cpp',
+ 'html/DOMURL.h',
+ 'html/DateInputType.cpp',
+ 'html/DateInputType.h',
+ 'html/DateTimeInputType.cpp',
+ 'html/DateTimeInputType.h',
+ 'html/DateTimeLocalInputType.cpp',
+ 'html/DateTimeLocalInputType.h',
+ 'html/EmailInputType.cpp',
+ 'html/EmailInputType.h',
+ 'html/FTPDirectoryDocument.cpp',
+ 'html/FTPDirectoryDocument.h',
+ 'html/FileInputType.cpp',
+ 'html/FileInputType.h',
+ 'html/FormAssociatedElement.cpp',
+ 'html/FormController.cpp',
+ 'html/FormController.h',
+ 'html/FormDataList.cpp',
+ 'html/FormDataList.h',
+ 'html/HTMLAllCollection.cpp',
+ 'html/HTMLAllCollection.h',
+ 'html/HTMLAnchorElement.cpp',
+ 'html/HTMLAnchorElement.h',
+ 'html/HTMLAppletElement.cpp',
+ 'html/HTMLAreaElement.cpp',
+ 'html/HTMLAreaElement.h',
+ 'html/HTMLAudioElement.cpp',
+ 'html/HTMLAudioElement.h',
+ 'html/HTMLBDIElement.h',
+ 'html/HTMLBRElement.cpp',
+ 'html/HTMLBRElement.h',
+ 'html/HTMLBaseElement.cpp',
+ 'html/HTMLBaseElement.h',
+ 'html/HTMLBaseFontElement.cpp',
+ 'html/HTMLBaseFontElement.h',
+ 'html/HTMLBodyElement.cpp',
+ 'html/HTMLBodyElement.h',
+ 'html/HTMLButtonElement.cpp',
+ 'html/HTMLButtonElement.h',
+ 'html/HTMLCanvasElement.cpp',
+ 'html/HTMLCanvasElement.h',
+ 'html/HTMLCollection.cpp',
+ 'html/HTMLDListElement.cpp',
+ 'html/HTMLDListElement.h',
+ 'html/HTMLDataListElement.cpp',
+ 'html/HTMLDataListElement.h',
+ 'html/HTMLDetailsElement.cpp',
+ 'html/HTMLDetailsElement.h',
+ 'html/HTMLDialogElement.cpp',
+ 'html/HTMLDialogElement.h',
+ 'html/HTMLDirectoryElement.cpp',
+ 'html/HTMLDirectoryElement.h',
+ 'html/HTMLDivElement.cpp',
+ 'html/HTMLDivElement.h',
+ 'html/HTMLDocument.cpp',
+ 'html/HTMLElement.cpp',
+ 'html/HTMLElementsAllInOne.cpp',
+ 'html/HTMLEmbedElement.cpp',
+ 'html/HTMLEmbedElement.h',
+ 'html/HTMLFieldSetElement.cpp',
+ 'html/HTMLFieldSetElement.h',
+ 'html/HTMLFontElement.cpp',
+ 'html/HTMLFontElement.h',
+ 'html/HTMLFormCollection.cpp',
+ 'html/HTMLFormCollection.h',
+ 'html/HTMLFormControlElement.cpp',
+ 'html/HTMLFormControlElementWithState.cpp',
+ 'html/HTMLFormElement.cpp',
+ 'html/HTMLFrameElement.cpp',
+ 'html/HTMLFrameElementBase.cpp',
+ 'html/HTMLFrameOwnerElement.cpp',
+ 'html/HTMLFrameSetElement.cpp',
+ 'html/HTMLFrameSetElement.h',
+ 'html/HTMLHRElement.cpp',
+ 'html/HTMLHRElement.h',
+ 'html/HTMLHeadElement.cpp',
+ 'html/HTMLHeadingElement.cpp',
+ 'html/HTMLHeadingElement.h',
+ 'html/HTMLHtmlElement.cpp',
+ 'html/HTMLHtmlElement.h',
+ 'html/HTMLIFrameElement.cpp',
+ 'html/HTMLImageElement.cpp',
+ 'html/HTMLImageElement.h',
+ 'html/HTMLImageLoader.cpp',
+ 'html/HTMLImageLoader.h',
+ 'html/HTMLInputElement.cpp',
+ 'html/HTMLIntentElement.cpp',
+ 'html/HTMLIntentElement.h',
+ 'html/HTMLKeygenElement.cpp',
+ 'html/HTMLKeygenElement.h',
+ 'html/HTMLLIElement.cpp',
+ 'html/HTMLLIElement.h',
+ 'html/HTMLLabelElement.cpp',
+ 'html/HTMLLabelElement.h',
+ 'html/HTMLLegendElement.cpp',
+ 'html/HTMLLegendElement.h',
+ 'html/HTMLLinkElement.cpp',
+ 'html/HTMLLinkElement.h',
+ 'html/HTMLMapElement.cpp',
+ 'html/HTMLMapElement.h',
+ 'html/HTMLMarqueeElement.cpp',
+ 'html/HTMLMarqueeElement.h',
+ 'html/HTMLMediaElement.cpp',
+ 'html/HTMLMenuElement.cpp',
+ 'html/HTMLMenuElement.h',
+ 'html/HTMLMetaElement.cpp',
+ 'html/HTMLMetaElement.h',
+ 'html/HTMLMeterElement.cpp',
+ 'html/HTMLMeterElement.h',
+ 'html/HTMLModElement.cpp',
+ 'html/HTMLModElement.h',
+ 'html/HTMLNameCollection.cpp',
+ 'html/HTMLNameCollection.h',
+ 'html/HTMLOListElement.cpp',
+ 'html/HTMLOListElement.h',
+ 'html/HTMLObjectElement.cpp',
+ 'html/HTMLObjectElement.h',
+ 'html/HTMLOptGroupElement.cpp',
+ 'html/HTMLOptGroupElement.h',
+ 'html/HTMLOptionElement.cpp',
+ 'html/HTMLOptionElement.h',
+ 'html/HTMLOptionsCollection.cpp',
+ 'html/HTMLOptionsCollection.h',
+ 'html/HTMLOutputElement.cpp',
+ 'html/HTMLOutputElement.h',
+ 'html/HTMLParagraphElement.cpp',
+ 'html/HTMLParagraphElement.h',
+ 'html/HTMLParamElement.cpp',
+ 'html/HTMLParamElement.h',
+ 'html/HTMLParserErrorCodes.cpp',
+ 'html/HTMLParserErrorCodes.h',
+ 'html/HTMLPlugInElement.cpp',
+ 'html/HTMLPlugInImageElement.cpp',
+ 'html/HTMLPreElement.cpp',
+ 'html/HTMLPreElement.h',
+ 'html/HTMLProgressElement.cpp',
+ 'html/HTMLProgressElement.h',
+ 'html/HTMLPropertiesCollection.cpp',
+ 'html/HTMLPropertiesCollection.h',
+ 'html/HTMLQuoteElement.cpp',
+ 'html/HTMLQuoteElement.h',
+ 'html/HTMLScriptElement.cpp',
+ 'html/HTMLScriptElement.h',
+ 'html/HTMLSelectElement.cpp',
+ 'html/HTMLSelectElement.h',
+ 'html/HTMLSourceElement.cpp',
+ 'html/HTMLSourceElement.h',
+ 'html/HTMLSpanElement.cpp',
+ 'html/HTMLSpanElement.h',
+ 'html/HTMLStyleElement.cpp',
+ 'html/HTMLStyleElement.h',
+ 'html/HTMLSummaryElement.cpp',
+ 'html/HTMLSummaryElement.h',
+ 'html/HTMLTableCaptionElement.cpp',
+ 'html/HTMLTableCaptionElement.h',
+ 'html/HTMLTableCellElement.cpp',
+ 'html/HTMLTableColElement.cpp',
+ 'html/HTMLTableColElement.h',
+ 'html/HTMLTableElement.cpp',
+ 'html/HTMLTableElement.h',
+ 'html/HTMLTablePartElement.cpp',
+ 'html/HTMLTableRowElement.cpp',
+ 'html/HTMLTableRowElement.h',
+ 'html/HTMLTableRowsCollection.cpp',
+ 'html/HTMLTableRowsCollection.h',
+ 'html/HTMLTableSectionElement.cpp',
+ 'html/HTMLTableSectionElement.h',
+ 'html/HTMLTextAreaElement.cpp',
+ 'html/HTMLTextFormControlElement.cpp',
+ 'html/HTMLTitleElement.cpp',
+ 'html/HTMLTitleElement.h',
+ 'html/HTMLTrackElement.cpp',
+ 'html/HTMLTrackElement.h',
+ 'html/HTMLUListElement.cpp',
+ 'html/HTMLUListElement.h',
+ 'html/HTMLUnknownElement.h',
+ 'html/HTMLVideoElement.cpp',
+ 'html/HTMLVideoElement.h',
+ 'html/HTMLViewSourceDocument.cpp',
+ 'html/HTMLViewSourceDocument.h',
+ 'html/HiddenInputType.cpp',
+ 'html/HiddenInputType.h',
+ 'html/ImageData.cpp',
+ 'html/ImageData.h',
+ 'html/ImageDocument.cpp',
+ 'html/ImageDocument.h',
+ 'html/ImageInputType.cpp',
+ 'html/ImageInputType.h',
+ 'html/InputType.cpp',
+ 'html/LabelableElement.cpp',
+ 'html/LabelsNodeList.cpp',
+ 'html/LabelsNodeList.h',
+ 'html/LinkRelAttribute.cpp',
+ 'html/LinkRelAttribute.h',
+ 'html/MediaController.cpp',
+ 'html/MediaController.h',
+ 'html/MediaDocument.cpp',
+ 'html/MediaDocument.h',
+ 'html/MediaError.h',
+ 'html/MediaFragmentURIParser.cpp',
+ 'html/MediaFragmentURIParser.h',
+ 'html/MediaKeyError.h',
+ 'html/MediaKeyEvent.cpp',
+ 'html/MediaKeyEvent.h',
+ 'html/MicroDataItemValue.cpp',
+ 'html/MicroDataItemValue.h',
+ 'html/MonthInputType.cpp',
+ 'html/MonthInputType.h',
+ 'html/NumberInputType.cpp',
+ 'html/NumberInputType.h',
+ 'html/PasswordInputType.cpp',
+ 'html/PasswordInputType.h',
+ 'html/PluginDocument.cpp',
+ 'html/PluginDocument.h',
+ 'html/PublicURLManager.h',
+ 'html/RadioInputType.cpp',
+ 'html/RadioInputType.h',
+ 'html/RadioNodeList.cpp',
+ 'html/RadioNodeList.h',
+ 'html/RangeInputType.cpp',
+ 'html/RangeInputType.h',
+ 'html/ResetInputType.cpp',
+ 'html/ResetInputType.h',
+ 'html/SearchInputType.cpp',
+ 'html/SearchInputType.h',
+ 'html/StepRange.cpp',
+ 'html/StepRange.h',
+ 'html/SubmitInputType.cpp',
+ 'html/SubmitInputType.h',
+ 'html/TelephoneInputType.cpp',
+ 'html/TelephoneInputType.h',
+ 'html/TextDocument.cpp',
+ 'html/TextDocument.h',
+ 'html/TextFieldInputType.cpp',
+ 'html/TextFieldInputType.h',
+ 'html/TextInputType.cpp',
+ 'html/TextInputType.h',
+ 'html/TextMetrics.h',
+ 'html/TimeInputType.cpp',
+ 'html/TimeInputType.h',
+ 'html/TimeRanges.cpp',
+ 'html/TimeRanges.h',
+ 'html/URLInputType.cpp',
+ 'html/URLInputType.h',
+ 'html/ValidationMessage.cpp',
+ 'html/ValidationMessage.h',
+ 'html/ValidityState.cpp',
+ 'html/ValidityState.h',
+ 'html/WeekInputType.cpp',
+ 'html/WeekInputType.h',
+ 'html/canvas/CanvasContextAttributes.cpp',
+ 'html/canvas/CanvasContextAttributes.h',
+ 'html/canvas/CanvasGradient.cpp',
+ 'html/canvas/CanvasGradient.h',
+ 'html/canvas/CanvasPattern.cpp',
+ 'html/canvas/CanvasPattern.h',
+ 'html/canvas/CanvasRenderingContext.cpp',
+ 'html/canvas/CanvasRenderingContext.h',
+ 'html/canvas/CanvasRenderingContext2D.cpp',
+ 'html/canvas/CanvasRenderingContext2D.h',
+ 'html/canvas/CanvasStyle.cpp',
+ 'html/canvas/CanvasStyle.h',
+ 'html/canvas/CheckedInt.h',
+ 'html/canvas/DataView.cpp',
+ 'html/canvas/DataView.h',
+ 'html/canvas/EXTTextureFilterAnisotropic.cpp',
+ 'html/canvas/EXTTextureFilterAnisotropic.h',
+ 'html/canvas/OESStandardDerivatives.cpp',
+ 'html/canvas/OESStandardDerivatives.h',
+ 'html/canvas/OESTextureFloat.cpp',
+ 'html/canvas/OESTextureFloat.h',
+ 'html/canvas/OESVertexArrayObject.cpp',
+ 'html/canvas/OESVertexArrayObject.h',
+ 'html/canvas/WebGLActiveInfo.h',
+ 'html/canvas/WebGLBuffer.cpp',
+ 'html/canvas/WebGLBuffer.h',
+ 'html/canvas/WebGLCompressedTextureS3TC.cpp',
+ 'html/canvas/WebGLCompressedTextureS3TC.h',
+ 'html/canvas/WebGLContextAttributes.cpp',
+ 'html/canvas/WebGLContextAttributes.h',
+ 'html/canvas/WebGLContextEvent.cpp',
+ 'html/canvas/WebGLContextEvent.h',
+ 'html/canvas/WebGLContextGroup.cpp',
+ 'html/canvas/WebGLContextGroup.h',
+ 'html/canvas/WebGLContextObject.cpp',
+ 'html/canvas/WebGLContextObject.h',
+ 'html/canvas/WebGLDebugRendererInfo.cpp',
+ 'html/canvas/WebGLDebugRendererInfo.h',
+ 'html/canvas/WebGLDebugShaders.cpp',
+ 'html/canvas/WebGLDebugShaders.h',
+ 'html/canvas/WebGLDepthTexture.cpp',
+ 'html/canvas/WebGLDepthTexture.h',
+ 'html/canvas/WebGLExtension.cpp',
+ 'html/canvas/WebGLExtension.h',
+ 'html/canvas/WebGLFramebuffer.cpp',
+ 'html/canvas/WebGLFramebuffer.h',
+ 'html/canvas/WebGLGetInfo.cpp',
+ 'html/canvas/WebGLGetInfo.h',
+ 'html/canvas/WebGLLoseContext.cpp',
+ 'html/canvas/WebGLLoseContext.h',
+ 'html/canvas/WebGLObject.cpp',
+ 'html/canvas/WebGLObject.h',
+ 'html/canvas/WebGLProgram.cpp',
+ 'html/canvas/WebGLProgram.h',
+ 'html/canvas/WebGLRenderbuffer.cpp',
+ 'html/canvas/WebGLRenderbuffer.h',
+ 'html/canvas/WebGLRenderingContext.cpp',
+ 'html/canvas/WebGLRenderingContext.h',
+ 'html/canvas/WebGLShader.cpp',
+ 'html/canvas/WebGLShader.h',
+ 'html/canvas/WebGLShaderPrecisionFormat.cpp',
+ 'html/canvas/WebGLShaderPrecisionFormat.h',
+ 'html/canvas/WebGLSharedObject.cpp',
+ 'html/canvas/WebGLSharedObject.h',
+ 'html/canvas/WebGLTexture.cpp',
+ 'html/canvas/WebGLTexture.h',
+ 'html/canvas/WebGLUniformLocation.cpp',
+ 'html/canvas/WebGLUniformLocation.h',
+ 'html/canvas/WebGLVertexArrayObjectOES.cpp',
+ 'html/canvas/WebGLVertexArrayObjectOES.h',
+ 'html/parser/CSSPreloadScanner.cpp',
+ 'html/parser/CSSPreloadScanner.h',
+ 'html/parser/HTMLConstructionSite.cpp',
+ 'html/parser/HTMLConstructionSite.h',
+ 'html/parser/HTMLDocumentParser.cpp',
+ 'html/parser/HTMLDocumentParser.h',
+ 'html/parser/HTMLElementStack.cpp',
+ 'html/parser/HTMLElementStack.h',
+ 'html/parser/HTMLEntityParser.cpp',
+ 'html/parser/HTMLEntityParser.h',
+ 'html/parser/HTMLEntitySearch.cpp',
+ 'html/parser/HTMLEntitySearch.h',
+ 'html/parser/HTMLEntityTable.h',
+ 'html/parser/HTMLFormattingElementList.cpp',
+ 'html/parser/HTMLFormattingElementList.h',
+ 'html/parser/HTMLInputStream.h',
+ 'html/parser/HTMLMetaCharsetParser.cpp',
+ 'html/parser/HTMLMetaCharsetParser.h',
+ 'html/parser/HTMLParserIdioms.cpp',
+ 'html/parser/HTMLParserScheduler.cpp',
+ 'html/parser/HTMLParserScheduler.h',
+ 'html/parser/HTMLPreloadScanner.cpp',
+ 'html/parser/HTMLPreloadScanner.h',
+ 'html/parser/HTMLScriptRunner.cpp',
+ 'html/parser/HTMLScriptRunner.h',
+ 'html/parser/HTMLScriptRunnerHost.h',
+ 'html/parser/HTMLSourceTracker.cpp',
+ 'html/parser/HTMLSourceTracker.h',
+ 'html/parser/HTMLStackItem.h',
+ 'html/parser/HTMLToken.h',
+ 'html/parser/HTMLTokenizer.cpp',
+ 'html/parser/HTMLTokenizer.h',
+ 'html/parser/HTMLTreeBuilder.cpp',
+ 'html/parser/HTMLTreeBuilder.h',
+ 'html/parser/HTMLViewSourceParser.cpp',
+ 'html/parser/HTMLViewSourceParser.h',
+ 'html/parser/NestingLevelIncrementer.h',
+ 'html/parser/TextDocumentParser.cpp',
+ 'html/parser/TextDocumentParser.h',
+ 'html/parser/TextViewSourceParser.cpp',
+ 'html/parser/TextViewSourceParser.h',
+ 'html/parser/XSSAuditor.cpp',
+ 'html/parser/XSSAuditor.h',
+ 'html/shadow/CalendarPickerElement.cpp',
+ 'html/shadow/CalendarPickerElement.h',
+ 'html/shadow/ContentDistributor.cpp',
+ 'html/shadow/ContentDistributor.h',
+ 'html/shadow/ContentSelectorQuery.cpp',
+ 'html/shadow/ContentSelectorQuery.h',
+ 'html/shadow/DateTimeEditElement.cpp',
+ 'html/shadow/DateTimeEditElement.h',
+ 'html/shadow/DateTimeFieldElement.cpp',
+ 'html/shadow/DateTimeFieldElement.h',
+ 'html/shadow/DateTimeFieldElements.cpp',
+ 'html/shadow/DateTimeFieldElements.h',
+ 'html/shadow/DateTimeNumericFieldElement.cpp',
+ 'html/shadow/DateTimeNumericFieldElement.h',
+ 'html/shadow/DateTimeSymbolicFieldElement.cpp',
+ 'html/shadow/DateTimeSymbolicFieldElement.h',
+ 'html/shadow/DetailsMarkerControl.cpp',
+ 'html/shadow/DetailsMarkerControl.h',
+ 'html/shadow/HTMLContentElement.cpp',
+ 'html/shadow/HTMLContentElement.h',
+ 'html/shadow/HTMLShadowElement.cpp',
+ 'html/shadow/HTMLShadowElement.h',
+ 'html/shadow/ImageInnerElement.cpp',
+ 'html/shadow/ImageInnerElement.h',
+ 'html/shadow/InsertionPoint.cpp',
+ 'html/shadow/InsertionPoint.h',
+ 'html/shadow/MediaControls.cpp',
+ 'html/shadow/MediaControls.h',
+ 'html/shadow/MediaControlElements.cpp',
+ 'html/shadow/MediaControlElements.h',
+ 'html/shadow/MediaControlRootElementChromium.cpp',
+ 'html/shadow/MediaControlRootElementChromium.h',
+ 'html/shadow/MediaControlRootElementChromiumAndroid.cpp',
+ 'html/shadow/MediaControlRootElementChromiumAndroid.h',
+ 'html/shadow/MeterShadowElement.cpp',
+ 'html/shadow/MeterShadowElement.h',
+ 'html/shadow/ProgressShadowElement.cpp',
+ 'html/shadow/ProgressShadowElement.h',
+ 'html/shadow/SliderThumbElement.cpp',
+ 'html/shadow/SliderThumbElement.h',
+ 'html/shadow/SpinButtonElement.cpp',
+ 'html/shadow/SpinButtonElement.h',
+ 'html/shadow/TextControlInnerElements.cpp',
+ 'html/shadow/TextControlInnerElements.h',
+ 'html/shadow/TextFieldDecorationElement.cpp',
+ 'html/shadow/TextFieldDecorationElement.h',
+ 'html/track/LoadableTextTrack.cpp',
+ 'html/track/LoadableTextTrack.h',
+ 'html/track/TextTrack.cpp',
+ 'html/track/TextTrack.h',
+ 'html/track/TextTrackCue.cpp',
+ 'html/track/TextTrackCue.h',
+ 'html/track/TextTrackCueList.cpp',
+ 'html/track/TextTrackCueList.h',
+ 'html/track/TextTrackList.cpp',
+ 'html/track/TrackBase.cpp',
+ 'html/track/TrackEvent.cpp',
+ 'html/track/WebVTTParser.cpp',
+ 'html/track/WebVTTParser.h',
+ 'html/track/WebVTTToken.h',
+ 'html/track/WebVTTTokenizer.cpp',
+ 'html/track/WebVTTTokenizer.h',
+ ],
+ 'webcore_platform_files': [
'platform/ActivePlatformGestureAnimation.cpp',
'platform/ActivePlatformGestureAnimation.h',
'platform/Arena.cpp',
@@ -3296,8 +4520,8 @@
'platform/ThreadTimers.cpp',
'platform/ThreadTimers.h',
'platform/Timer.cpp',
- 'platform/TouchpadFlingPlatformGestureCurve.cpp',
- 'platform/TouchpadFlingPlatformGestureCurve.h',
+ 'platform/TouchFlingPlatformGestureCurve.cpp',
+ 'platform/TouchFlingPlatformGestureCurve.h',
'platform/UUID.cpp',
'platform/UUID.h',
'platform/WheelFlingPlatformGestureCurve.cpp',
@@ -3494,8 +4718,6 @@
'platform/efl/PlatformMouseEventEfl.cpp',
'platform/efl/PlatformScreenEfl.cpp',
'platform/efl/PlatformWheelEventEfl.cpp',
- 'platform/efl/PopupMenuEfl.cpp',
- 'platform/efl/PopupMenuEfl.h',
'platform/efl/RenderThemeEfl.cpp',
'platform/efl/RenderThemeEfl.h',
'platform/efl/ScrollViewEfl.cpp',
@@ -3503,8 +4725,6 @@
'platform/efl/ScrollbarEfl.h',
'platform/efl/ScrollbarThemeEfl.cpp',
'platform/efl/ScrollbarThemeEfl.h',
- 'platform/efl/SearchPopupMenuEfl.cpp',
- 'platform/efl/SearchPopupMenuEfl.h',
'platform/efl/SharedBufferEfl.cpp',
'platform/efl/SharedTimerEfl.cpp',
'platform/efl/SoundEfl.cpp',
@@ -3518,11 +4738,6 @@
'platform/graphics/CrossfadeGeneratedImage.cpp',
'platform/graphics/CrossfadeGeneratedImage.h',
'platform/graphics/Extensions3D.h',
- 'platform/graphics/FloatPoint.cpp',
- 'platform/graphics/FloatPoint3D.cpp',
- 'platform/graphics/FloatQuad.cpp',
- 'platform/graphics/FloatRect.cpp',
- 'platform/graphics/FloatSize.cpp',
'platform/graphics/Font.cpp',
'platform/graphics/FontCache.cpp',
'platform/graphics/FontData.cpp',
@@ -3534,8 +4749,8 @@
'platform/graphics/FontPlatformData.cpp',
'platform/graphics/FontPlatformData.h',
'platform/graphics/FractionalLayoutBoxExtent.cpp',
- 'platform/graphics/FractionalLayoutRect.cpp',
'platform/graphics/GeneratorGeneratedImage.cpp',
+ 'platform/graphics/GeneratedImage.cpp',
'platform/graphics/GeneratedImage.h',
'platform/graphics/GlyphPageTreeNode.cpp',
'platform/graphics/Gradient.cpp',
@@ -3551,7 +4766,6 @@
'platform/graphics/ImageBuffer.cpp',
'platform/graphics/ImageOrientation.cpp',
'platform/graphics/ImageSource.cpp',
- 'platform/graphics/IntRect.cpp',
'platform/graphics/MediaPlayer.cpp',
'platform/graphics/MediaPlayerPrivate.h',
'platform/graphics/NativeImagePtr.h' ,
@@ -3559,7 +4773,6 @@
'platform/graphics/PathTraversalState.cpp',
'platform/graphics/PathTraversalState.h',
'platform/graphics/Pattern.cpp',
- 'platform/graphics/Region.cpp',
'platform/graphics/RoundedRect.cpp',
'platform/graphics/SegmentedFontData.cpp',
'platform/graphics/SegmentedFontData.h',
@@ -3625,6 +4838,7 @@
'platform/graphics/cairo/RefPtrCairo.cpp',
'platform/graphics/cairo/RefPtrCairo.h',
'platform/graphics/cairo/TransformationMatrixCairo.cpp',
+ 'platform/graphics/cg/BitmapImageCG.cpp',
'platform/graphics/cg/ColorCG.cpp',
'platform/graphics/cg/FloatPointCG.cpp',
'platform/graphics/cg/FloatRectCG.cpp',
@@ -3649,12 +4863,12 @@
'platform/graphics/cg/PathCG.cpp',
'platform/graphics/cg/PatternCG.cpp',
'platform/graphics/cg/TransformationMatrixCG.cpp',
- 'platform/graphics/chromium/AnimationIdVendor.cpp',
- 'platform/graphics/chromium/AnimationIdVendor.h',
'platform/graphics/chromium/AnimationTranslationUtil.cpp',
'platform/graphics/chromium/AnimationTranslationUtil.h',
'platform/graphics/chromium/Canvas2DLayerBridge.cpp',
'platform/graphics/chromium/Canvas2DLayerBridge.h',
+ 'platform/graphics/chromium/Canvas2DLayerManager.cpp',
+ 'platform/graphics/chromium/Canvas2DLayerManager.h',
'platform/graphics/chromium/CompositorHUDFontAtlas.cpp',
'platform/graphics/chromium/CompositorHUDFontAtlas.h',
'platform/graphics/chromium/CrossProcessFontLoading.h',
@@ -3698,6 +4912,7 @@
'platform/graphics/filters/CustomFilterGlobalContext.cpp',
'platform/graphics/filters/CustomFilterGlobalContext.h',
'platform/graphics/filters/CustomFilterMesh.h',
+ 'platform/graphics/filters/CustomFilterMeshGenerator.h',
'platform/graphics/filters/CustomFilterNumberParameter.h',
'platform/graphics/filters/CustomFilterOperation.cpp',
'platform/graphics/filters/CustomFilterOperation.h',
@@ -3708,7 +4923,11 @@
'platform/graphics/filters/CustomFilterProgramInfo.h',
'platform/graphics/filters/CustomFilterCompiledProgram.cpp',
'platform/graphics/filters/CustomFilterCompiledProgram.h',
+ 'platform/graphics/filters/CustomFilterValidatedProgram.cpp',
+ 'platform/graphics/filters/CustomFilterValidatedProgram.h',
'platform/graphics/filters/CustomFilterMesh.cpp',
+ 'platform/graphics/filters/CustomFilterMeshGenerator.cpp',
+ 'platform/graphics/filters/CustomFilterTransformParameter.h',
'platform/graphics/filters/DistantLightSource.cpp',
'platform/graphics/filters/DistantLightSource.h',
'platform/graphics/filters/FEBlend.cpp',
@@ -3770,6 +4989,7 @@
'platform/graphics/filters/arm/FEGaussianBlurNEON.h',
'platform/graphics/filters/arm/FELightingNEON.cpp',
'platform/graphics/filters/arm/FELightingNEON.h',
+ 'platform/graphics/filters/skia/FEBlendSkia.cpp',
'platform/graphics/filters/skia/FEColorMatrixSkia.cpp',
'platform/graphics/filters/skia/FEGaussianBlurSkia.cpp',
'platform/graphics/filters/skia/FEMorphologySkia.cpp',
@@ -3788,8 +5008,6 @@
'platform/graphics/gpu/SharedGraphicsContext3D.h',
'platform/graphics/gpu/Texture.cpp',
'platform/graphics/gpu/Texture.h',
- 'platform/graphics/gpu/TilingData.cpp',
- 'platform/graphics/gpu/TilingData.h',
'platform/graphics/gpu/mac/DrawingBufferMac.mm',
'platform/graphics/gpu/qt/DrawingBufferQt.cpp',
'platform/graphics/gstreamer/GRefPtrGStreamer.cpp',
@@ -3871,8 +5089,11 @@
'platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp',
'platform/graphics/opentype/OpenTypeSanitizer.cpp',
'platform/graphics/opentype/OpenTypeSanitizer.h',
+ 'platform/graphics/opentype/OpenTypeTypes.h',
'platform/graphics/opentype/OpenTypeUtilities.cpp',
'platform/graphics/opentype/OpenTypeUtilities.h',
+ 'platform/graphics/opentype/OpenTypeVerticalData.cpp',
+ 'platform/graphics/opentype/OpenTypeVerticalData.h',
'platform/graphics/openvg/EGLDisplayOpenVG.cpp',
'platform/graphics/openvg/EGLDisplayOpenVG.h',
'platform/graphics/openvg/EGLUtils.h',
@@ -3975,7 +5196,6 @@
'platform/graphics/texmap/TextureMapperPlatformLayer.h',
'platform/graphics/texmap/TextureMapperShaderManager.cpp',
'platform/graphics/texmap/TextureMapperShaderManager.h',
- 'platform/graphics/transforms/AffineTransform.cpp',
'platform/graphics/transforms/IdentityTransformOperation.h',
'platform/graphics/transforms/Matrix3DTransformOperation.cpp',
'platform/graphics/transforms/Matrix3DTransformOperation.h',
@@ -3990,7 +5210,6 @@
'platform/graphics/transforms/SkewTransformOperation.cpp',
'platform/graphics/transforms/SkewTransformOperation.h',
'platform/graphics/transforms/TransformOperations.cpp',
- 'platform/graphics/transforms/TransformationMatrix.cpp',
'platform/graphics/transforms/TransformState.cpp',
'platform/graphics/transforms/TransformState.h',
'platform/graphics/transforms/TranslateTransformOperation.cpp',
@@ -4459,10 +5678,10 @@
'platform/text/QuotedPrintable.cpp',
'platform/text/RegularExpression.cpp',
'platform/text/SegmentedString.cpp',
- 'platform/text/String.cpp',
'platform/text/StringWithDirection.h',
'platform/text/SuffixTree.h',
'platform/text/TextBoundaries.cpp',
+ 'platform/text/TextBreakIterator.cpp',
'platform/text/TextBreakIteratorICU.cpp',
'platform/text/TextCodec.cpp',
'platform/text/TextCodecASCIIFastPath.h',
@@ -4625,1203 +5844,20 @@
'platform/wx/wxcode/win/fontprops.cpp',
'platform/wx/wxcode/win/non-kerned-drawing.cpp',
'platform/wx/wxcode/win/scrollbar_render.cpp',
- 'plugins/DOMMimeType.cpp',
- 'plugins/DOMMimeType.h',
- 'plugins/DOMMimeTypeArray.cpp',
- 'plugins/DOMMimeTypeArray.h',
- 'plugins/DOMPlugin.cpp',
- 'plugins/DOMPlugin.h',
- 'plugins/DOMPluginArray.cpp',
- 'plugins/DOMPluginArray.h',
- 'plugins/IFrameShimSupport.cpp',
- 'plugins/IFrameShimSupport.h',
- 'plugins/PluginData.cpp',
- 'plugins/PluginDataNone.cpp',
- 'plugins/PluginDatabase.cpp',
- 'plugins/PluginDatabase.h',
- 'plugins/PluginDebug.cpp',
- 'plugins/PluginDebug.h',
- 'plugins/PluginMainThreadScheduler.cpp',
- 'plugins/PluginPackage.cpp',
- 'plugins/PluginPackage.h',
- 'plugins/PluginPackageNone.cpp',
- 'plugins/PluginQuirkSet.h',
- 'plugins/PluginStream.cpp',
- 'plugins/PluginStream.h',
- 'plugins/PluginView.cpp',
- 'plugins/PluginView.h',
- 'plugins/PluginViewNone.cpp',
- 'plugins/chromium/PluginDataChromium.cpp',
- 'plugins/chromium/PluginDataChromium.h',
- 'plugins/gtk/PluginPackageGtk.cpp',
- 'plugins/gtk/PluginViewGtk.cpp',
- 'plugins/gtk/gtk2xtbin.h',
- 'plugins/gtk/xembed.h',
- 'plugins/mac/PluginPackageMac.cpp',
- 'plugins/mac/PluginViewMac.mm',
- 'plugins/npapi.cpp',
- 'plugins/qt/PluginPackageQt.cpp',
- 'plugins/qt/PluginViewQt.cpp',
- 'plugins/win/PluginDatabaseWin.cpp',
- 'plugins/win/PluginMessageThrottlerWin.cpp',
- 'plugins/win/PluginMessageThrottlerWin.h',
- 'plugins/win/PluginPackageWin.cpp',
- 'plugins/win/PluginViewWin.cpp',
- 'plugins/wx/PluginDataWx.cpp',
- 'rendering/AutoTableLayout.cpp',
- 'rendering/AutoTableLayout.h',
- 'rendering/BidiRun.cpp',
- 'rendering/BidiRun.h',
- 'rendering/CounterNode.cpp',
- 'rendering/CounterNode.h',
- 'rendering/EllipsisBox.cpp',
- 'rendering/EllipsisBox.h',
- 'rendering/FilterEffectRenderer.cpp',
- 'rendering/FilterEffectRenderer.h',
- 'rendering/FixedTableLayout.cpp',
- 'rendering/FixedTableLayout.h',
- 'rendering/FlowThreadController.cpp',
- 'rendering/FlowThreadController.h',
- 'rendering/TextAutosizer.cpp',
- 'rendering/TextAutosizer.h',
- 'rendering/HitTestingTransformState.cpp',
- 'rendering/HitTestingTransformState.h',
- 'rendering/HitTestResult.cpp',
- 'rendering/InlineBox.cpp',
- 'rendering/InlineFlowBox.cpp',
- 'rendering/InlineIterator.h',
- 'rendering/InlineTextBox.cpp',
- 'rendering/LayoutState.cpp',
- 'rendering/LayoutRepainter.cpp',
- 'rendering/PointerEventsHitRules.cpp',
- 'rendering/PointerEventsHitRules.h',
- 'rendering/RenderApplet.cpp',
- 'rendering/RenderApplet.h',
- 'rendering/RenderArena.cpp',
- 'rendering/RenderArena.h',
- 'rendering/RenderBR.cpp',
- 'rendering/RenderBlock.cpp',
- 'rendering/RenderBlockLineLayout.cpp',
- 'rendering/RenderBox.cpp',
- 'rendering/RenderBoxModelObject.cpp',
- 'rendering/RenderButton.cpp',
- 'rendering/RenderButton.h',
- 'rendering/RenderCombineText.cpp',
- 'rendering/RenderCombineText.h',
- 'rendering/RenderCounter.cpp',
- 'rendering/RenderCounter.h',
- 'rendering/RenderDeprecatedFlexibleBox.cpp',
- 'rendering/RenderDeprecatedFlexibleBox.h',
- 'rendering/RenderDetailsMarker.cpp',
- 'rendering/RenderDetailsMarker.h',
- 'rendering/RenderEmbeddedObject.cpp',
- 'rendering/RenderFieldset.cpp',
- 'rendering/RenderFieldset.h',
- 'rendering/RenderFileUploadControl.cpp',
- 'rendering/RenderFileUploadControl.h',
- 'rendering/RenderFlexibleBox.cpp',
- 'rendering/RenderFlexibleBox.h',
- 'rendering/RenderFlowThread.cpp',
- 'rendering/RenderFlowThread.h',
- 'rendering/RenderFlowThreadContainer.cpp',
- 'rendering/RenderFlowThreadContainer.h',
- 'rendering/RenderFrame.cpp',
- 'rendering/RenderFrame.h',
- 'rendering/RenderFrameBase.cpp',
- 'rendering/RenderFrameBase.h',
- 'rendering/RenderFrameSet.cpp',
- 'rendering/RenderFrameSet.h',
- 'rendering/RenderFullScreen.cpp',
- 'rendering/RenderFullScreen.h',
- 'rendering/RenderGrid.cpp',
- 'rendering/RenderGrid.h',
- 'rendering/RenderGeometryMap.cpp',
- 'rendering/RenderGeometryMap.h',
- 'rendering/RenderHTMLCanvas.cpp',
- 'rendering/RenderHTMLCanvas.h',
- 'rendering/RenderIFrame.cpp',
- 'rendering/RenderIFrame.h',
- 'rendering/RenderImage.cpp',
- 'rendering/RenderImageResource.cpp',
- 'rendering/RenderImageResourceStyleImage.cpp',
- 'rendering/RenderInline.cpp',
- 'rendering/RenderInline.h',
- 'rendering/RenderInputSpeech.cpp',
- 'rendering/RenderInputSpeech.h',
- 'rendering/RenderLayer.cpp',
- 'rendering/RenderLayerBacking.cpp',
- 'rendering/RenderLayerCompositor.cpp',
- 'rendering/RenderLayerCompositor.h',
- 'rendering/RenderLayerFilterInfo.cpp',
- 'rendering/RenderLayerFilterInfo.h',
- 'rendering/RenderLineBoxList.cpp',
- 'rendering/RenderListBox.cpp',
- 'rendering/RenderListBox.h',
- 'rendering/RenderListItem.cpp',
- 'rendering/RenderListMarker.cpp',
- 'rendering/RenderListMarker.h',
- 'rendering/RenderMarquee.cpp',
- 'rendering/RenderMarquee.h',
- 'rendering/RenderMedia.cpp',
- 'rendering/RenderMedia.h',
- 'rendering/RenderMediaControls.cpp',
- 'rendering/RenderMediaControls.h',
- 'rendering/RenderMediaControlsChromium.cpp',
- 'rendering/RenderMediaControlsChromium.h',
- 'rendering/RenderMenuList.cpp',
- 'rendering/RenderMenuList.h',
- 'rendering/RenderMeter.cpp',
- 'rendering/RenderMeter.h',
- 'rendering/RenderMultiColumnBlock.cpp',
- 'rendering/RenderMultiColumnBlock.h',
- 'rendering/RenderMultiColumnFlowThread.cpp',
- 'rendering/RenderMultiColumnFlowThread.h',
- 'rendering/RenderMultiColumnSet.cpp',
- 'rendering/RenderMultiColumnSet.h',
- 'rendering/RenderNamedFlowThread.cpp',
- 'rendering/RenderNamedFlowThread.h',
- 'rendering/RenderObject.cpp',
- 'rendering/RenderObjectChildList.cpp',
- 'rendering/RenderPart.cpp',
- 'rendering/RenderProgress.cpp',
- 'rendering/RenderProgress.h',
- 'rendering/RenderQuote.cpp',
- 'rendering/RenderQuote.h',
- 'rendering/RenderRegion.cpp',
- 'rendering/RenderRegion.h',
- 'rendering/RenderRegionSet.cpp',
- 'rendering/RenderRegionSet.h',
- 'rendering/RenderReplaced.cpp',
- 'rendering/RenderReplica.cpp',
- 'rendering/RenderReplica.h',
- 'rendering/RenderRuby.cpp',
- 'rendering/RenderRuby.h',
- 'rendering/RenderRubyBase.cpp',
- 'rendering/RenderRubyBase.h',
- 'rendering/RenderRubyRun.cpp',
- 'rendering/RenderRubyRun.h',
- 'rendering/RenderRubyText.cpp',
- 'rendering/RenderRubyText.h',
- 'rendering/RenderScrollbar.cpp',
- 'rendering/RenderScrollbar.h',
- 'rendering/RenderScrollbarPart.cpp',
- 'rendering/RenderScrollbarPart.h',
- 'rendering/RenderScrollbarTheme.cpp',
- 'rendering/RenderScrollbarTheme.h',
- 'rendering/RenderSearchField.cpp',
- 'rendering/RenderSearchField.h',
- 'rendering/RenderSelectionInfo.h',
- 'rendering/RenderSlider.cpp',
- 'rendering/RenderSlider.h',
- 'rendering/RenderTable.cpp',
- 'rendering/RenderTable.h',
- 'rendering/RenderTableCaption.cpp',
- 'rendering/RenderTableCaption.h',
- 'rendering/RenderTableCell.cpp',
- 'rendering/RenderTableCell.h',
- 'rendering/RenderTableCol.cpp',
- 'rendering/RenderTableCol.h',
- 'rendering/RenderTableRow.cpp',
- 'rendering/RenderTableRow.h',
- 'rendering/RenderTableSection.cpp',
- 'rendering/RenderTableSection.h',
- 'rendering/RenderText.cpp',
- 'rendering/RenderTextControl.cpp',
- 'rendering/RenderTextControl.h',
- 'rendering/RenderTextControlMultiLine.cpp',
- 'rendering/RenderTextControlMultiLine.h',
- 'rendering/RenderTextControlSingleLine.cpp',
- 'rendering/RenderTextControlSingleLine.h',
- 'rendering/RenderTextFragment.cpp',
- 'rendering/RenderTextFragment.h',
- 'rendering/RenderTextTrackCue.cpp',
- 'rendering/RenderTextTrackCue.h',
- 'rendering/RenderTheme.cpp',
- 'rendering/RenderTheme.h',
- 'rendering/RenderThemeChromiumAndroid.cpp',
- 'rendering/RenderThemeChromiumAndroid.h',
- 'rendering/RenderThemeChromiumCommon.cpp',
- 'rendering/RenderThemeChromiumCommon.h',
- 'rendering/RenderThemeChromiumLinux.cpp',
- 'rendering/RenderThemeChromiumLinux.h',
- 'rendering/RenderThemeChromiumMac.h',
- 'rendering/RenderThemeChromiumMac.mm',
- 'rendering/RenderThemeChromiumSkia.cpp',
- 'rendering/RenderThemeChromiumSkia.h',
- 'rendering/RenderThemeChromiumWin.cpp',
- 'rendering/RenderThemeChromiumWin.h',
- 'rendering/RenderThemeMac.h',
- 'rendering/RenderThemeMac.mm',
- 'rendering/RenderThemeSafari.cpp',
- 'rendering/RenderThemeSafari.h',
- 'rendering/RenderThemeWin.cpp',
- 'rendering/RenderThemeWin.h',
- 'rendering/RenderThemeWinCE.cpp',
- 'rendering/RenderThemeWinCE.h',
- 'rendering/RenderTreeAsText.cpp',
- 'rendering/RenderVideo.cpp',
- 'rendering/RenderVideo.h',
- 'rendering/RenderView.cpp',
- 'rendering/RenderWidget.cpp',
- 'rendering/RenderWidgetProtector.h',
- 'rendering/RenderWordBreak.cpp',
- 'rendering/RenderWordBreak.h',
- 'rendering/RenderingAllInOne.cpp',
- 'rendering/RootInlineBox.cpp',
- 'rendering/ScrollBehavior.cpp',
- 'rendering/TableLayout.h',
- 'rendering/TrailingFloatsRootInlineBox.h',
- 'rendering/VerticalPositionCache.h',
- 'rendering/break_lines.cpp',
- 'rendering/break_lines.h',
- 'rendering/mathml/RenderMathMLBlock.cpp',
- 'rendering/mathml/RenderMathMLBlock.h',
- 'rendering/mathml/RenderMathMLFenced.cpp',
- 'rendering/mathml/RenderMathMLFenced.h',
- 'rendering/mathml/RenderMathMLFraction.cpp',
- 'rendering/mathml/RenderMathMLFraction.h',
- 'rendering/mathml/RenderMathMLMath.cpp',
- 'rendering/mathml/RenderMathMLMath.h',
- 'rendering/mathml/RenderMathMLOperator.cpp',
- 'rendering/mathml/RenderMathMLOperator.h',
- 'rendering/mathml/RenderMathMLRoot.cpp',
- 'rendering/mathml/RenderMathMLRoot.h',
- 'rendering/mathml/RenderMathMLRow.cpp',
- 'rendering/mathml/RenderMathMLRow.h',
- 'rendering/mathml/RenderMathMLSquareRoot.cpp',
- 'rendering/mathml/RenderMathMLSquareRoot.h',
- 'rendering/mathml/RenderMathMLSubSup.cpp',
- 'rendering/mathml/RenderMathMLSubSup.h',
- 'rendering/mathml/RenderMathMLUnderOver.cpp',
- 'rendering/mathml/RenderMathMLUnderOver.h',
- 'rendering/style/ContentData.cpp',
- 'rendering/style/CounterDirectives.cpp',
- 'rendering/style/FillLayer.cpp',
- 'rendering/style/KeyframeList.cpp',
- 'rendering/style/KeyframeList.h',
- 'rendering/style/NinePieceImage.cpp',
- 'rendering/style/QuotesData.cpp',
- 'rendering/style/QuotesData.h',
- 'rendering/style/RenderStyle.cpp',
- 'rendering/style/ShadowData.cpp',
- 'rendering/style/StyleAllInOne.cpp',
- 'rendering/style/StyleBackgroundData.cpp',
- 'rendering/style/StyleBoxData.cpp',
- 'rendering/style/StyleCachedImage.cpp',
- 'rendering/style/StyleCachedImageSet.cpp',
- 'rendering/style/StyleCachedShader.h',
- 'rendering/style/StyleCachedShader.cpp',
- 'rendering/style/StyleCustomFilterProgram.h',
- 'rendering/style/StyleDeprecatedFlexibleBoxData.cpp',
- 'rendering/style/StyleFilterData.cpp',
- 'rendering/style/StyleFlexibleBoxData.cpp',
- 'rendering/style/StyleGeneratedImage.cpp',
- 'rendering/style/StyleGridData.cpp',
- 'rendering/style/StyleGridItemData.cpp',
- 'rendering/style/StyleInheritedData.cpp',
- 'rendering/style/StyleMarqueeData.cpp',
- 'rendering/style/StyleMultiColData.cpp',
- 'rendering/style/StylePendingImage.h',
- 'rendering/style/StylePendingShader.h',
- 'rendering/style/StyleRareInheritedData.cpp',
- 'rendering/style/StyleRareNonInheritedData.cpp',
- 'rendering/style/StyleShader.h',
- 'rendering/style/StyleSurroundData.cpp',
- 'rendering/style/StyleTransformData.cpp',
- 'rendering/style/StyleVisualData.cpp',
- 'rendering/style/WrapShapes.cpp',
- 'rendering/svg/SVGInlineFlowBox.cpp',
- 'rendering/svg/SVGInlineFlowBox.h',
- 'rendering/svg/SVGInlineTextBox.cpp',
- 'rendering/svg/SVGInlineTextBox.h',
- 'rendering/svg/SVGMarkerData.h',
- 'rendering/svg/SVGPathData.cpp',
- 'rendering/svg/SVGPathData.h',
- 'rendering/svg/SVGRenderSupport.cpp',
- 'rendering/svg/SVGRenderSupport.h',
- 'rendering/svg/SVGRenderTreeAsText.cpp',
- 'rendering/svg/SVGRenderTreeAsText.h',
- 'rendering/svg/SVGRenderingContext.cpp',
- 'rendering/svg/SVGRenderingContext.h',
- 'rendering/svg/SVGResources.cpp',
- 'rendering/svg/SVGResources.h',
- 'rendering/svg/SVGResourcesCache.cpp',
- 'rendering/svg/SVGResourcesCycleSolver.cpp',
- 'rendering/svg/SVGResourcesCycleSolver.h',
- 'rendering/svg/SVGRootInlineBox.cpp',
- 'rendering/svg/SVGRootInlineBox.h',
- 'rendering/svg/SVGTextChunk.cpp',
- 'rendering/svg/SVGTextChunk.h',
- 'rendering/svg/SVGTextChunkBuilder.cpp',
- 'rendering/svg/SVGTextChunkBuilder.h',
- 'rendering/svg/SVGTextFragment.h',
- 'rendering/svg/SVGTextLayoutAttributes.cpp',
- 'rendering/svg/SVGTextLayoutAttributes.h',
- 'rendering/svg/SVGTextLayoutAttributesBuilder.cpp',
- 'rendering/svg/SVGTextLayoutAttributesBuilder.h',
- 'rendering/svg/SVGTextLayoutEngine.cpp',
- 'rendering/svg/SVGTextLayoutEngine.h',
- 'rendering/svg/SVGTextLayoutEngineBaseline.cpp',
- 'rendering/svg/SVGTextLayoutEngineBaseline.h',
- 'rendering/svg/SVGTextLayoutEngineSpacing.cpp',
- 'rendering/svg/SVGTextLayoutEngineSpacing.h',
- 'rendering/svg/SVGTextMetrics.cpp',
- 'rendering/svg/SVGTextMetrics.h',
- 'rendering/svg/SVGTextMetricsBuilder.cpp',
- 'rendering/svg/SVGTextMetricsBuilder.h',
- 'rendering/svg/SVGTextQuery.cpp',
- 'rendering/svg/SVGTextQuery.h',
- 'rendering/svg/SVGTextRunRenderingContext.cpp',
- 'rendering/svg/SVGTextRunRenderingContext.h',
- 'storage/Storage.cpp',
- 'storage/Storage.h',
- 'storage/StorageArea.h',
- 'storage/StorageAreaImpl.cpp',
- 'storage/StorageAreaImpl.h',
- 'storage/StorageAreaSync.cpp',
- 'storage/StorageAreaSync.h',
- 'storage/StorageEvent.cpp',
- 'storage/StorageEvent.h',
- 'storage/StorageEventDispatcher.cpp',
- 'storage/StorageEventDispatcher.h',
- 'storage/StorageMap.cpp',
- 'storage/StorageMap.h',
- 'storage/StorageNamespace.cpp',
- 'storage/StorageNamespace.h',
- 'storage/StorageNamespaceImpl.cpp',
- 'storage/StorageNamespaceImpl.h',
- 'storage/StorageSyncManager.cpp',
- 'storage/StorageSyncManager.h',
- 'storage/StorageTask.cpp',
- 'storage/StorageTask.h',
- 'storage/StorageThread.cpp',
- 'storage/StorageThread.h',
- 'storage/StorageTrackerClient.h',
- 'storage/StorageTracker.cpp',
- 'storage/StorageTracker.h',
- 'storage/chromium/IDBFactoryBackendInterface.cpp',
- 'storage/chromium/IDBKeyPathBackendImpl.cpp',
- 'storage/wince/DatabaseThreadWinCE.cpp',
- 'storage/wince/DatabaseThreadWinCE.h',
- 'storage/wince/StorageThreadWinCE.cpp',
- 'storage/wince/StorageThreadWinCE.h',
- 'workers/AbstractWorker.cpp',
- 'workers/AbstractWorker.h',
- 'workers/DedicatedWorkerContext.cpp',
- 'workers/DedicatedWorkerContext.h',
- 'workers/DedicatedWorkerThread.cpp',
- 'workers/DedicatedWorkerThread.h',
- 'workers/DefaultSharedWorkerRepository.cpp',
- 'workers/DefaultSharedWorkerRepository.h',
- 'workers/SharedWorker.cpp',
- 'workers/SharedWorker.h',
- 'workers/SharedWorkerContext.cpp',
- 'workers/SharedWorkerContext.h',
- 'workers/SharedWorkerRepository.h',
- 'workers/SharedWorkerThread.cpp',
- 'workers/SharedWorkerThread.h',
- 'workers/Worker.cpp',
- 'workers/Worker.h',
- 'workers/WorkerContext.cpp',
- 'workers/WorkerContext.h',
- 'workers/WorkerContextProxy.h',
- 'workers/WorkerEventQueue.cpp',
- 'workers/WorkerEventQueue.h',
- 'workers/WorkerLoaderProxy.h',
- 'workers/WorkerLocation.cpp',
- 'workers/WorkerLocation.h',
- 'workers/WorkerMessagingProxy.cpp',
- 'workers/WorkerMessagingProxy.h',
- 'workers/WorkerObjectProxy.h',
- 'workers/WorkerReportingProxy.h',
- 'workers/WorkerRunLoop.cpp',
- 'workers/WorkerScriptLoader.cpp',
- 'workers/WorkerScriptLoader.h',
- 'workers/WorkerScriptLoaderClient.h',
- 'workers/WorkerThread.cpp',
- 'xml/parser/CharacterReferenceParserInlineMethods.h',
- 'xml/parser/MarkupTokenBase.h',
- 'xml/parser/MarkupTokenizerBase.h',
- 'xml/parser/MarkupTokenizerInlineMethods.h',
- 'xml/parser/NewXMLDocumentParser.cpp',
- 'xml/parser/NewXMLDocumentParser.h',
- 'xml/parser/XMLCharacterReferenceParser.cpp',
- 'xml/parser/XMLCharacterReferenceParser.h',
- 'xml/parser/XMLDocumentParser.cpp',
- 'xml/parser/XMLDocumentParser.h',
- 'xml/parser/XMLDocumentParserLibxml2.cpp',
- 'xml/parser/XMLDocumentParserQt.cpp',
- 'xml/parser/XMLDocumentParserScope.cpp',
- 'xml/parser/XMLDocumentParserScope.h',
- 'xml/parser/XMLTokenizer.cpp',
- 'xml/parser/XMLTokenizer.h',
- 'xml/parser/XMLToken.h',
- 'xml/parser/XMLTreeBuilder.cpp',
- 'xml/parser/XMLTreeBuilder.h',
- 'xml/DOMParser.cpp',
- 'xml/DOMParser.h',
- 'xml/NativeXPathNSResolver.cpp',
- 'xml/NativeXPathNSResolver.h',
- 'xml/XMLErrors.cpp',
- 'xml/XMLErrors.h',
- 'xml/XMLHttpRequest.cpp',
- 'xml/XMLHttpRequest.h',
- 'xml/XMLHttpRequestException.cpp',
- 'xml/XMLHttpRequestException.h',
- 'xml/XMLHttpRequestProgressEvent.h',
- 'xml/XMLHttpRequestProgressEventThrottle.cpp',
- 'xml/XMLHttpRequestProgressEventThrottle.h',
- 'xml/XMLHttpRequestUpload.cpp',
- 'xml/XMLHttpRequestUpload.h',
- 'xml/XMLSerializer.cpp',
- 'xml/XMLSerializer.h',
- 'xml/XMLTreeViewer.cpp',
- 'xml/XMLTreeViewer.h',
- 'xml/XPathEvaluator.cpp',
- 'xml/XPathEvaluator.h',
- 'xml/XPathException.cpp',
- 'xml/XPathException.h',
- 'xml/XPathExpression.cpp',
- 'xml/XPathExpression.h',
- 'xml/XPathExpressionNode.cpp',
- 'xml/XPathExpressionNode.h',
- 'xml/XPathFunctions.cpp',
- 'xml/XPathFunctions.h',
- 'xml/XPathNSResolver.cpp',
- 'xml/XPathNSResolver.h',
- 'xml/XPathNodeSet.cpp',
- 'xml/XPathNodeSet.h',
- 'xml/XPathParser.cpp',
- 'xml/XPathParser.h',
- 'xml/XPathPath.cpp',
- 'xml/XPathPath.h',
- 'xml/XPathPredicate.cpp',
- 'xml/XPathPredicate.h',
- 'xml/XPathResult.cpp',
- 'xml/XPathResult.h',
- 'xml/XPathStep.cpp',
- 'xml/XPathStep.h',
- 'xml/XPathUtil.cpp',
- 'xml/XPathUtil.h',
- 'xml/XPathValue.cpp',
- 'xml/XPathValue.h',
- 'xml/XPathVariableReference.cpp',
- 'xml/XPathVariableReference.h',
- 'xml/XSLImportRule.cpp',
- 'xml/XSLImportRule.h',
- 'xml/XSLStyleSheet.h',
- 'xml/XSLStyleSheetLibxslt.cpp',
- 'xml/XSLStyleSheetQt.cpp',
- 'xml/XSLTExtensions.cpp',
- 'xml/XSLTExtensions.h',
- 'xml/XSLTProcessor.cpp',
- 'xml/XSLTProcessor.h',
- 'xml/XSLTProcessorLibxslt.cpp',
- 'xml/XSLTProcessorQt.cpp',
- 'xml/XSLTUnicodeSort.cpp',
- 'xml/XSLTUnicodeSort.h',
],
- 'webcore_dom_files': [
- 'dom/ActiveDOMObject.cpp',
- 'dom/Attr.cpp',
- 'dom/BeforeLoadEvent.h',
- 'dom/BeforeTextInsertedEvent.cpp',
- 'dom/BeforeTextInsertedEvent.h',
- 'dom/BeforeUnloadEvent.cpp',
- 'dom/BeforeUnloadEvent.h',
- 'dom/CDATASection.cpp',
- 'dom/CDATASection.h',
- 'dom/CharacterData.cpp',
- 'dom/CheckedRadioButtons.cpp',
- 'dom/ChildListMutationScope.cpp',
- 'dom/ChildListMutationScope.h',
- 'dom/ChildNodeList.cpp',
- 'dom/ChildNodeList.h',
- 'dom/ClassNodeList.cpp',
- 'dom/ClassNodeList.h',
- 'dom/ClientRect.cpp',
- 'dom/ClientRect.h',
- 'dom/ClientRectList.cpp',
- 'dom/ClientRectList.h',
- 'dom/Clipboard.cpp',
- 'dom/ClipboardEvent.cpp',
- 'dom/ClipboardEvent.h',
- 'dom/Comment.cpp',
- 'dom/Comment.h',
- 'dom/ComposedShadowTreeWalker.cpp',
- 'dom/ComposedShadowTreeWalker.h',
- 'dom/CompositionEvent.cpp',
- 'dom/CompositionEvent.h',
- 'dom/ContainerNode.cpp',
- 'dom/ContainerNodeAlgorithms.h',
- 'dom/ContainerNodeAlgorithms.cpp',
- 'dom/ContextDestructionObserver.cpp',
- 'dom/CrossThreadTask.h',
- 'dom/CustomEvent.cpp',
- 'dom/CustomEvent.h',
- 'dom/DOMAllInOne.cpp',
- 'dom/DOMCoreException.cpp',
- 'dom/DOMCoreException.h',
- 'dom/DOMError.cpp',
- 'dom/DOMError.h',
- 'dom/DOMImplementation.cpp',
- 'dom/DOMStringList.cpp',
- 'dom/DOMStringList.h',
- 'dom/DOMStringMap.cpp',
- 'dom/DOMStringMap.h',
- 'dom/DataTransferItem.cpp',
- 'dom/DataTransferItem.h',
- 'dom/DataTransferItemList.h',
- 'dom/DatasetDOMStringMap.cpp',
- 'dom/DatasetDOMStringMap.h',
- 'dom/DecodedDataDocumentParser.cpp',
- 'dom/DecodedDataDocumentParser.h',
- 'dom/DeviceMotionClient.h',
- 'dom/DeviceMotionController.cpp',
- 'dom/DeviceMotionController.h',
- 'dom/DeviceMotionData.cpp',
- 'dom/DeviceMotionData.h',
- 'dom/DeviceMotionEvent.cpp',
- 'dom/DeviceMotionEvent.h',
- 'dom/DeviceOrientationController.cpp',
- 'dom/DeviceOrientationController.h',
- 'dom/DeviceOrientationData.cpp',
- 'dom/DeviceOrientationEvent.cpp',
- 'dom/DeviceOrientationEvent.h',
- 'dom/Document.cpp',
- 'dom/DocumentEventQueue.cpp',
- 'dom/DocumentEventQueue.h',
- 'dom/DocumentFragment.cpp',
- 'dom/DocumentMarkerController.cpp',
- 'dom/DocumentMarker.cpp',
- 'dom/DocumentOrderedMap.cpp',
- 'dom/DocumentParser.cpp',
- 'dom/DocumentType.cpp',
- 'dom/DynamicNodeList.cpp',
- 'dom/DynamicNodeList.h',
- 'dom/EditingText.cpp',
- 'dom/EditingText.h',
- 'dom/ElementShadow.cpp',
- 'dom/Element.cpp',
- 'dom/ElementAttributeData.cpp',
- 'dom/ElementRareData.h',
- 'dom/Entity.h',
- 'dom/EntityReference.cpp',
- 'dom/EntityReference.h',
- 'dom/ErrorEvent.cpp',
- 'dom/ErrorEvent.h',
- 'dom/Event.cpp',
- 'dom/EventContext.cpp',
- 'dom/EventContext.h',
- 'dom/EventDispatchMediator.cpp',
- 'dom/EventDispatchMediator.h',
- 'dom/EventDispatcher.cpp',
- 'dom/EventDispatcher.h',
- 'dom/EventException.cpp',
- 'dom/EventException.h',
- 'dom/EventListenerMap.cpp',
- 'dom/EventNames.cpp',
- 'dom/EventQueue.h',
- 'dom/EventSender.h',
- 'dom/EventTarget.cpp',
- 'dom/ExceptionBase.cpp',
- 'dom/ExceptionBase.h',
- 'dom/ExceptionCodePlaceholder.cpp',
- 'dom/GenericEventQueue.cpp',
- 'dom/GenericEventQueue.h',
- 'dom/GestureEvent.cpp',
- 'dom/GestureEvent.h',
- 'dom/HashChangeEvent.h',
- 'dom/IgnoreDestructiveWriteCountIncrementer.h',
- 'dom/IconURL.cpp',
- 'dom/IconURL.h',
- 'dom/IdTargetObserver.cpp',
- 'dom/IdTargetObserver.h',
- 'dom/IdTargetObserverRegistry.cpp',
- 'dom/IdTargetObserverRegistry.h',
- 'dom/KeyboardEvent.cpp',
- 'dom/MemoryInstrumentation.cpp',
- 'dom/MemoryInstrumentation.h',
- 'dom/MessageChannel.cpp',
- 'dom/MessageChannel.h',
- 'dom/MessageEvent.cpp',
- 'dom/MessageEvent.h',
- 'dom/MessagePort.cpp',
- 'dom/MessagePortChannel.cpp',
- 'dom/MicroDataItemList.cpp',
- 'dom/MicroDataItemList.h',
- 'dom/MouseEvent.cpp',
- 'dom/MouseRelatedEvent.cpp',
- 'dom/MutationCallback.h',
- 'dom/MutationEvent.cpp',
- 'dom/MutationEvent.h',
- 'dom/MutationObserver.cpp',
- 'dom/MutationObserver.h',
- 'dom/MutationObserverInterestGroup.cpp',
- 'dom/MutationObserverInterestGroup.h',
- 'dom/MutationObserverRegistration.cpp',
- 'dom/MutationObserverRegistration.h',
- 'dom/MutationRecord.cpp',
- 'dom/MutationRecord.h',
- 'dom/NameNodeList.cpp',
- 'dom/NameNodeList.h',
- 'dom/NamedNodeMap.cpp',
- 'dom/Node.cpp',
- 'dom/NodeFilter.cpp',
- 'dom/NodeFilter.h',
- 'dom/NodeFilterCondition.cpp',
- 'dom/NodeFilterCondition.h',
- 'dom/NodeIterator.cpp',
- 'dom/NodeIterator.h',
- 'dom/NodeRareData.h',
- 'dom/NodeRenderingContext.cpp',
- 'dom/NodeRenderingContext.h',
- 'dom/NodeRenderStyle.h',
- 'dom/NodeWithIndex.h',
- 'dom/Notation.cpp',
- 'dom/Notation.h',
- 'dom/OverflowEvent.cpp',
- 'dom/OverflowEvent.h',
- 'dom/PageTransitionEvent.cpp',
- 'dom/PageTransitionEvent.h',
- 'dom/PendingScript.cpp',
- 'dom/PopStateEvent.cpp',
- 'dom/PopStateEvent.h',
- 'dom/Position.cpp',
- 'dom/PositionIterator.cpp',
- 'dom/PositionIterator.h',
- 'dom/ProcessingInstruction.cpp',
- 'dom/ProcessingInstruction.h',
- 'dom/ProgressEvent.cpp',
- 'dom/ProgressEvent.h',
- 'dom/PropertyNodeList.cpp',
- 'dom/PropertyNodeList.h',
- 'dom/QualifiedName.cpp',
- 'dom/Range.cpp',
- 'dom/RangeException.cpp',
- 'dom/RangeException.h',
- 'dom/RawDataDocumentParser.h',
- 'dom/RegisteredEventListener.cpp',
- 'dom/RequestAnimationFrameCallback.h',
- 'dom/ScopedEventQueue.cpp',
- 'dom/ScopedEventQueue.h',
- 'dom/ScriptElement.cpp',
- 'dom/ScriptElement.h',
- 'dom/ScriptExecutionContext.cpp',
- 'dom/ScriptRunner.cpp',
- 'dom/ScriptableDocumentParser.cpp',
- 'dom/ScriptableDocumentParser.h',
- 'dom/ScriptedAnimationController.cpp',
- 'dom/ScriptedAnimationController.h',
- 'dom/SecurityContext.cpp',
- 'dom/SecurityContext.h',
- 'dom/SelectorQuery.cpp',
- 'dom/SelectorQuery.h',
- 'dom/ShadowRoot.cpp',
- 'dom/ShadowRoot.h',
- 'dom/SpaceSplitString.cpp',
- 'dom/StaticHashSetNodeList.cpp',
- 'dom/StaticHashSetNodeList.h',
- 'dom/StaticNodeList.cpp',
- 'dom/StaticNodeList.h',
- 'dom/StringCallback.cpp',
- 'dom/StringCallback.h',
- 'dom/StyleElement.cpp',
- 'dom/StyleElement.h',
- 'dom/StyledElement.cpp',
- 'dom/TagNodeList.cpp',
- 'dom/TagNodeList.h',
- 'dom/Text.cpp',
- 'dom/TextEvent.cpp',
- 'dom/TextEvent.h',
- 'dom/Touch.cpp',
- 'dom/Touch.h',
- 'dom/TouchEvent.cpp',
- 'dom/TouchEvent.h',
- 'dom/TouchList.cpp',
- 'dom/TouchList.h',
- 'dom/TransformSource.h',
- 'dom/TransformSourceLibxslt.cpp',
- 'dom/TransformSourceQt.cpp',
- 'dom/Traversal.cpp',
- 'dom/Traversal.h',
- 'dom/TreeDepthLimit.h',
- 'dom/TreeScope.cpp',
- 'dom/TreeScope.h',
- 'dom/TreeScopeAdopter.cpp',
- 'dom/TreeScopeAdopter.h',
- 'dom/TreeWalker.cpp',
- 'dom/TreeWalker.h',
- 'dom/UIEvent.cpp',
- 'dom/UIEventWithKeyState.cpp',
- 'dom/UserGestureIndicator.cpp',
- 'dom/UserTypingGestureIndicator.cpp',
- 'dom/ViewportArguments.cpp',
- 'dom/WebKitAnimationEvent.cpp',
- 'dom/WebKitAnimationEvent.h',
- 'dom/WebKitNamedFlow.cpp',
- 'dom/WebKitNamedFlow.h',
- 'dom/WebKitNamedFlowCollection.cpp',
- 'dom/WebKitNamedFlowCollection.h',
- 'dom/WebKitTransitionEvent.cpp',
- 'dom/WebKitTransitionEvent.h',
- 'dom/WheelEvent.cpp',
- 'dom/WheelEvent.h',
- 'dom/WindowEventContext.cpp',
- 'dom/WindowEventContext.h',
- 'dom/default/PlatformMessagePortChannel.cpp',
- 'dom/default/PlatformMessagePortChannel.h',
- ],
- 'webcore_html_files': [
- 'html/BaseButtonInputType.cpp',
- 'html/BaseButtonInputType.h',
- 'html/BaseCheckableInputType.cpp',
- 'html/BaseCheckableInputType.h',
- 'html/BaseClickableWithKeyInputType.cpp',
- 'html/BaseClickableWithKeyInputType.h',
- 'html/BaseDateAndTimeInputType.cpp',
- 'html/BaseDateAndTimeInputType.h',
- 'html/BaseTextInputType.cpp',
- 'html/BaseTextInputType.h',
- 'html/ButtonInputType.cpp',
- 'html/ButtonInputType.h',
- 'html/CheckboxInputType.cpp',
- 'html/CheckboxInputType.h',
- 'html/ClassList.cpp',
- 'html/ClassList.h',
- 'html/ColorInputType.cpp',
- 'html/ColorInputType.h',
- 'html/DOMFormData.cpp',
- 'html/DOMFormData.h',
- 'html/DOMSettableTokenList.cpp',
- 'html/DOMSettableTokenList.h',
- 'html/DOMTokenList.cpp',
- 'html/DOMTokenList.h',
- 'html/DOMURL.cpp',
- 'html/DOMURL.h',
- 'html/DateInputType.cpp',
- 'html/DateInputType.h',
- 'html/DateTimeInputType.cpp',
- 'html/DateTimeInputType.h',
- 'html/DateTimeLocalInputType.cpp',
- 'html/DateTimeLocalInputType.h',
- 'html/EmailInputType.cpp',
- 'html/EmailInputType.h',
- 'html/FTPDirectoryDocument.cpp',
- 'html/FTPDirectoryDocument.h',
- 'html/FileInputType.cpp',
- 'html/FileInputType.h',
- 'html/FormAssociatedElement.cpp',
- 'html/FormController.cpp',
- 'html/FormController.h',
- 'html/FormDataList.cpp',
- 'html/FormDataList.h',
- 'html/HTMLAllCollection.cpp',
- 'html/HTMLAllCollection.h',
- 'html/HTMLAnchorElement.cpp',
- 'html/HTMLAnchorElement.h',
- 'html/HTMLAppletElement.cpp',
- 'html/HTMLAreaElement.cpp',
- 'html/HTMLAreaElement.h',
- 'html/HTMLAudioElement.cpp',
- 'html/HTMLAudioElement.h',
- 'html/HTMLBDIElement.h',
- 'html/HTMLBRElement.cpp',
- 'html/HTMLBRElement.h',
- 'html/HTMLBaseElement.cpp',
- 'html/HTMLBaseElement.h',
- 'html/HTMLBaseFontElement.cpp',
- 'html/HTMLBaseFontElement.h',
- 'html/HTMLBodyElement.cpp',
- 'html/HTMLBodyElement.h',
- 'html/HTMLButtonElement.cpp',
- 'html/HTMLButtonElement.h',
- 'html/HTMLCanvasElement.cpp',
- 'html/HTMLCanvasElement.h',
- 'html/HTMLCollection.cpp',
- 'html/HTMLDListElement.cpp',
- 'html/HTMLDListElement.h',
- 'html/HTMLDataListElement.cpp',
- 'html/HTMLDataListElement.h',
- 'html/HTMLDetailsElement.cpp',
- 'html/HTMLDetailsElement.h',
- 'html/HTMLDialogElement.cpp',
- 'html/HTMLDialogElement.h',
- 'html/HTMLDirectoryElement.cpp',
- 'html/HTMLDirectoryElement.h',
- 'html/HTMLDivElement.cpp',
- 'html/HTMLDivElement.h',
- 'html/HTMLDocument.cpp',
- 'html/HTMLElement.cpp',
- 'html/HTMLElementsAllInOne.cpp',
- 'html/HTMLEmbedElement.cpp',
- 'html/HTMLEmbedElement.h',
- 'html/HTMLFieldSetElement.cpp',
- 'html/HTMLFieldSetElement.h',
- 'html/HTMLFontElement.cpp',
- 'html/HTMLFontElement.h',
- 'html/HTMLFormCollection.cpp',
- 'html/HTMLFormCollection.h',
- 'html/HTMLFormControlElement.cpp',
- 'html/HTMLFormControlElementWithState.cpp',
- 'html/HTMLFormElement.cpp',
- 'html/HTMLFrameElement.cpp',
- 'html/HTMLFrameElementBase.cpp',
- 'html/HTMLFrameOwnerElement.cpp',
- 'html/HTMLFrameSetElement.cpp',
- 'html/HTMLFrameSetElement.h',
- 'html/HTMLHRElement.cpp',
- 'html/HTMLHRElement.h',
- 'html/HTMLHeadElement.cpp',
- 'html/HTMLHeadingElement.cpp',
- 'html/HTMLHeadingElement.h',
- 'html/HTMLHtmlElement.cpp',
- 'html/HTMLHtmlElement.h',
- 'html/HTMLIFrameElement.cpp',
- 'html/HTMLImageElement.cpp',
- 'html/HTMLImageElement.h',
- 'html/HTMLImageLoader.cpp',
- 'html/HTMLImageLoader.h',
- 'html/HTMLInputElement.cpp',
- 'html/HTMLIntentElement.cpp',
- 'html/HTMLIntentElement.h',
- 'html/HTMLKeygenElement.cpp',
- 'html/HTMLKeygenElement.h',
- 'html/HTMLLIElement.cpp',
- 'html/HTMLLIElement.h',
- 'html/HTMLLabelElement.cpp',
- 'html/HTMLLabelElement.h',
- 'html/HTMLLegendElement.cpp',
- 'html/HTMLLegendElement.h',
- 'html/HTMLLinkElement.cpp',
- 'html/HTMLLinkElement.h',
- 'html/HTMLMapElement.cpp',
- 'html/HTMLMapElement.h',
- 'html/HTMLMarqueeElement.cpp',
- 'html/HTMLMarqueeElement.h',
- 'html/HTMLMediaElement.cpp',
- 'html/HTMLMenuElement.cpp',
- 'html/HTMLMenuElement.h',
- 'html/HTMLMetaElement.cpp',
- 'html/HTMLMetaElement.h',
- 'html/HTMLMeterElement.cpp',
- 'html/HTMLMeterElement.h',
- 'html/HTMLModElement.cpp',
- 'html/HTMLModElement.h',
- 'html/HTMLNameCollection.cpp',
- 'html/HTMLNameCollection.h',
- 'html/HTMLOListElement.cpp',
- 'html/HTMLOListElement.h',
- 'html/HTMLObjectElement.cpp',
- 'html/HTMLObjectElement.h',
- 'html/HTMLOptGroupElement.cpp',
- 'html/HTMLOptGroupElement.h',
- 'html/HTMLOptionElement.cpp',
- 'html/HTMLOptionElement.h',
- 'html/HTMLOptionsCollection.cpp',
- 'html/HTMLOptionsCollection.h',
- 'html/HTMLOutputElement.cpp',
- 'html/HTMLOutputElement.h',
- 'html/HTMLParagraphElement.cpp',
- 'html/HTMLParagraphElement.h',
- 'html/HTMLParamElement.cpp',
- 'html/HTMLParamElement.h',
- 'html/HTMLParserErrorCodes.cpp',
- 'html/HTMLParserErrorCodes.h',
- 'html/HTMLPlugInElement.cpp',
- 'html/HTMLPlugInImageElement.cpp',
- 'html/HTMLPreElement.cpp',
- 'html/HTMLPreElement.h',
- 'html/HTMLProgressElement.cpp',
- 'html/HTMLProgressElement.h',
- 'html/HTMLPropertiesCollection.cpp',
- 'html/HTMLPropertiesCollection.h',
- 'html/HTMLQuoteElement.cpp',
- 'html/HTMLQuoteElement.h',
- 'html/HTMLScriptElement.cpp',
- 'html/HTMLScriptElement.h',
- 'html/HTMLSelectElement.cpp',
- 'html/HTMLSelectElement.h',
- 'html/HTMLSourceElement.cpp',
- 'html/HTMLSourceElement.h',
- 'html/HTMLSpanElement.cpp',
- 'html/HTMLSpanElement.h',
- 'html/HTMLStyleElement.cpp',
- 'html/HTMLStyleElement.h',
- 'html/HTMLSummaryElement.cpp',
- 'html/HTMLSummaryElement.h',
- 'html/HTMLTableCaptionElement.cpp',
- 'html/HTMLTableCaptionElement.h',
- 'html/HTMLTableCellElement.cpp',
- 'html/HTMLTableColElement.cpp',
- 'html/HTMLTableColElement.h',
- 'html/HTMLTableElement.cpp',
- 'html/HTMLTableElement.h',
- 'html/HTMLTablePartElement.cpp',
- 'html/HTMLTableRowElement.cpp',
- 'html/HTMLTableRowElement.h',
- 'html/HTMLTableRowsCollection.cpp',
- 'html/HTMLTableRowsCollection.h',
- 'html/HTMLTableSectionElement.cpp',
- 'html/HTMLTableSectionElement.h',
- 'html/HTMLTextAreaElement.cpp',
- 'html/HTMLTextFormControlElement.cpp',
- 'html/HTMLTitleElement.cpp',
- 'html/HTMLTitleElement.h',
- 'html/HTMLTrackElement.cpp',
- 'html/HTMLTrackElement.h',
- 'html/HTMLUListElement.cpp',
- 'html/HTMLUListElement.h',
- 'html/HTMLUnknownElement.h',
- 'html/HTMLVideoElement.cpp',
- 'html/HTMLVideoElement.h',
- 'html/HTMLViewSourceDocument.cpp',
- 'html/HTMLViewSourceDocument.h',
- 'html/HiddenInputType.cpp',
- 'html/HiddenInputType.h',
- 'html/ImageData.cpp',
- 'html/ImageData.h',
- 'html/ImageDocument.cpp',
- 'html/ImageDocument.h',
- 'html/ImageInputType.cpp',
- 'html/ImageInputType.h',
- 'html/InputType.cpp',
- 'html/LabelableElement.cpp',
- 'html/LabelsNodeList.cpp',
- 'html/LabelsNodeList.h',
- 'html/LinkRelAttribute.cpp',
- 'html/LinkRelAttribute.h',
- 'html/MediaController.cpp',
- 'html/MediaController.h',
- 'html/MediaDocument.cpp',
- 'html/MediaDocument.h',
- 'html/MediaError.h',
- 'html/MediaFragmentURIParser.cpp',
- 'html/MediaFragmentURIParser.h',
- 'html/MediaKeyError.h',
- 'html/MediaKeyEvent.cpp',
- 'html/MediaKeyEvent.h',
- 'html/MicroDataItemValue.cpp',
- 'html/MicroDataItemValue.h',
- 'html/MonthInputType.cpp',
- 'html/MonthInputType.h',
- 'html/NumberInputType.cpp',
- 'html/NumberInputType.h',
- 'html/PasswordInputType.cpp',
- 'html/PasswordInputType.h',
- 'html/PluginDocument.cpp',
- 'html/PluginDocument.h',
- 'html/PublicURLManager.h',
- 'html/RadioInputType.cpp',
- 'html/RadioInputType.h',
- 'html/RadioNodeList.cpp',
- 'html/RadioNodeList.h',
- 'html/RangeInputType.cpp',
- 'html/RangeInputType.h',
- 'html/ResetInputType.cpp',
- 'html/ResetInputType.h',
- 'html/SearchInputType.cpp',
- 'html/SearchInputType.h',
- 'html/StepRange.cpp',
- 'html/StepRange.h',
- 'html/SubmitInputType.cpp',
- 'html/SubmitInputType.h',
- 'html/TelephoneInputType.cpp',
- 'html/TelephoneInputType.h',
- 'html/TextDocument.cpp',
- 'html/TextDocument.h',
- 'html/TextFieldInputType.cpp',
- 'html/TextFieldInputType.h',
- 'html/TextInputType.cpp',
- 'html/TextInputType.h',
- 'html/TextMetrics.h',
- 'html/TimeInputType.cpp',
- 'html/TimeInputType.h',
- 'html/TimeRanges.cpp',
- 'html/TimeRanges.h',
- 'html/URLInputType.cpp',
- 'html/URLInputType.h',
- 'html/ValidationMessage.cpp',
- 'html/ValidationMessage.h',
- 'html/ValidityState.cpp',
- 'html/ValidityState.h',
- 'html/WeekInputType.cpp',
- 'html/WeekInputType.h',
- 'html/canvas/CanvasContextAttributes.cpp',
- 'html/canvas/CanvasContextAttributes.h',
- 'html/canvas/CanvasGradient.cpp',
- 'html/canvas/CanvasGradient.h',
- 'html/canvas/CanvasPattern.cpp',
- 'html/canvas/CanvasPattern.h',
- 'html/canvas/CanvasRenderingContext.cpp',
- 'html/canvas/CanvasRenderingContext.h',
- 'html/canvas/CanvasRenderingContext2D.cpp',
- 'html/canvas/CanvasRenderingContext2D.h',
- 'html/canvas/CanvasStyle.cpp',
- 'html/canvas/CanvasStyle.h',
- 'html/canvas/CheckedInt.h',
- 'html/canvas/DataView.cpp',
- 'html/canvas/DataView.h',
- 'html/canvas/EXTTextureFilterAnisotropic.cpp',
- 'html/canvas/EXTTextureFilterAnisotropic.h',
- 'html/canvas/OESStandardDerivatives.cpp',
- 'html/canvas/OESStandardDerivatives.h',
- 'html/canvas/OESTextureFloat.cpp',
- 'html/canvas/OESTextureFloat.h',
- 'html/canvas/OESVertexArrayObject.cpp',
- 'html/canvas/OESVertexArrayObject.h',
- 'html/canvas/WebGLActiveInfo.h',
- 'html/canvas/WebGLBuffer.cpp',
- 'html/canvas/WebGLBuffer.h',
- 'html/canvas/WebGLCompressedTextureS3TC.cpp',
- 'html/canvas/WebGLCompressedTextureS3TC.h',
- 'html/canvas/WebGLContextAttributes.cpp',
- 'html/canvas/WebGLContextAttributes.h',
- 'html/canvas/WebGLContextEvent.cpp',
- 'html/canvas/WebGLContextEvent.h',
- 'html/canvas/WebGLContextGroup.cpp',
- 'html/canvas/WebGLContextGroup.h',
- 'html/canvas/WebGLContextObject.cpp',
- 'html/canvas/WebGLContextObject.h',
- 'html/canvas/WebGLDebugRendererInfo.cpp',
- 'html/canvas/WebGLDebugRendererInfo.h',
- 'html/canvas/WebGLDebugShaders.cpp',
- 'html/canvas/WebGLDebugShaders.h',
- 'html/canvas/WebGLDepthTexture.cpp',
- 'html/canvas/WebGLDepthTexture.h',
- 'html/canvas/WebGLExtension.cpp',
- 'html/canvas/WebGLExtension.h',
- 'html/canvas/WebGLFramebuffer.cpp',
- 'html/canvas/WebGLFramebuffer.h',
- 'html/canvas/WebGLGetInfo.cpp',
- 'html/canvas/WebGLGetInfo.h',
- 'html/canvas/WebGLLoseContext.cpp',
- 'html/canvas/WebGLLoseContext.h',
- 'html/canvas/WebGLObject.cpp',
- 'html/canvas/WebGLObject.h',
- 'html/canvas/WebGLProgram.cpp',
- 'html/canvas/WebGLProgram.h',
- 'html/canvas/WebGLRenderbuffer.cpp',
- 'html/canvas/WebGLRenderbuffer.h',
- 'html/canvas/WebGLRenderingContext.cpp',
- 'html/canvas/WebGLRenderingContext.h',
- 'html/canvas/WebGLShader.cpp',
- 'html/canvas/WebGLShader.h',
- 'html/canvas/WebGLShaderPrecisionFormat.cpp',
- 'html/canvas/WebGLShaderPrecisionFormat.h',
- 'html/canvas/WebGLSharedObject.cpp',
- 'html/canvas/WebGLSharedObject.h',
- 'html/canvas/WebGLTexture.cpp',
- 'html/canvas/WebGLTexture.h',
- 'html/canvas/WebGLUniformLocation.cpp',
- 'html/canvas/WebGLUniformLocation.h',
- 'html/canvas/WebGLVertexArrayObjectOES.cpp',
- 'html/canvas/WebGLVertexArrayObjectOES.h',
- 'html/parser/CSSPreloadScanner.cpp',
- 'html/parser/CSSPreloadScanner.h',
- 'html/parser/HTMLConstructionSite.cpp',
- 'html/parser/HTMLConstructionSite.h',
- 'html/parser/HTMLDocumentParser.cpp',
- 'html/parser/HTMLDocumentParser.h',
- 'html/parser/HTMLElementStack.cpp',
- 'html/parser/HTMLElementStack.h',
- 'html/parser/HTMLEntityParser.cpp',
- 'html/parser/HTMLEntityParser.h',
- 'html/parser/HTMLEntitySearch.cpp',
- 'html/parser/HTMLEntitySearch.h',
- 'html/parser/HTMLEntityTable.h',
- 'html/parser/HTMLFormattingElementList.cpp',
- 'html/parser/HTMLFormattingElementList.h',
- 'html/parser/HTMLInputStream.h',
- 'html/parser/HTMLMetaCharsetParser.cpp',
- 'html/parser/HTMLMetaCharsetParser.h',
- 'html/parser/HTMLParserIdioms.cpp',
- 'html/parser/HTMLParserScheduler.cpp',
- 'html/parser/HTMLParserScheduler.h',
- 'html/parser/HTMLPreloadScanner.cpp',
- 'html/parser/HTMLPreloadScanner.h',
- 'html/parser/HTMLScriptRunner.cpp',
- 'html/parser/HTMLScriptRunner.h',
- 'html/parser/HTMLScriptRunnerHost.h',
- 'html/parser/HTMLSourceTracker.cpp',
- 'html/parser/HTMLSourceTracker.h',
- 'html/parser/HTMLStackItem.h',
- 'html/parser/HTMLToken.h',
- 'html/parser/HTMLTokenizer.cpp',
- 'html/parser/HTMLTokenizer.h',
- 'html/parser/HTMLTreeBuilder.cpp',
- 'html/parser/HTMLTreeBuilder.h',
- 'html/parser/HTMLViewSourceParser.cpp',
- 'html/parser/HTMLViewSourceParser.h',
- 'html/parser/NestingLevelIncrementer.h',
- 'html/parser/TextDocumentParser.cpp',
- 'html/parser/TextDocumentParser.h',
- 'html/parser/TextViewSourceParser.cpp',
- 'html/parser/TextViewSourceParser.h',
- 'html/parser/XSSAuditor.cpp',
- 'html/parser/XSSAuditor.h',
- 'html/shadow/CalendarPickerElement.cpp',
- 'html/shadow/CalendarPickerElement.h',
- 'html/shadow/ContentDistributor.cpp',
- 'html/shadow/ContentDistributor.h',
- 'html/shadow/ContentSelectorQuery.cpp',
- 'html/shadow/ContentSelectorQuery.h',
- 'html/shadow/DateTimeEditElement.cpp',
- 'html/shadow/DateTimeEditElement.h',
- 'html/shadow/DateTimeFieldElement.cpp',
- 'html/shadow/DateTimeFieldElement.h',
- 'html/shadow/DateTimeFieldElements.cpp',
- 'html/shadow/DateTimeFieldElements.h',
- 'html/shadow/DateTimeNumericFieldElement.cpp',
- 'html/shadow/DateTimeNumericFieldElement.h',
- 'html/shadow/DateTimeSymbolicFieldElement.cpp',
- 'html/shadow/DateTimeSymbolicFieldElement.h',
- 'html/shadow/DetailsMarkerControl.cpp',
- 'html/shadow/DetailsMarkerControl.h',
- 'html/shadow/HTMLContentElement.cpp',
- 'html/shadow/HTMLContentElement.h',
- 'html/shadow/HTMLShadowElement.cpp',
- 'html/shadow/HTMLShadowElement.h',
- 'html/shadow/ImageInnerElement.cpp',
- 'html/shadow/ImageInnerElement.h',
- 'html/shadow/InsertionPoint.cpp',
- 'html/shadow/InsertionPoint.h',
- 'html/shadow/MediaControls.cpp',
- 'html/shadow/MediaControls.h',
- 'html/shadow/MediaControlElements.cpp',
- 'html/shadow/MediaControlElements.h',
- 'html/shadow/MediaControlRootElementChromium.cpp',
- 'html/shadow/MediaControlRootElementChromium.h',
- 'html/shadow/MediaControlRootElementChromiumAndroid.cpp',
- 'html/shadow/MediaControlRootElementChromiumAndroid.h',
- 'html/shadow/MeterShadowElement.cpp',
- 'html/shadow/MeterShadowElement.h',
- 'html/shadow/ProgressShadowElement.cpp',
- 'html/shadow/ProgressShadowElement.h',
- 'html/shadow/SliderThumbElement.cpp',
- 'html/shadow/SliderThumbElement.h',
- 'html/shadow/SpinButtonElement.cpp',
- 'html/shadow/SpinButtonElement.h',
- 'html/shadow/TextControlInnerElements.cpp',
- 'html/shadow/TextControlInnerElements.h',
- 'html/shadow/TextFieldDecorationElement.cpp',
- 'html/shadow/TextFieldDecorationElement.h',
- 'html/track/LoadableTextTrack.cpp',
- 'html/track/LoadableTextTrack.h',
- 'html/track/TextTrack.cpp',
- 'html/track/TextTrack.h',
- 'html/track/TextTrackCue.cpp',
- 'html/track/TextTrackCue.h',
- 'html/track/TextTrackCueList.cpp',
- 'html/track/TextTrackCueList.h',
- 'html/track/TextTrackList.cpp',
- 'html/track/TrackBase.cpp',
- 'html/track/TrackEvent.cpp',
- 'html/track/WebVTTParser.cpp',
- 'html/track/WebVTTParser.h',
- 'html/track/WebVTTToken.h',
- 'html/track/WebVTTTokenizer.cpp',
- 'html/track/WebVTTTokenizer.h',
+ 'webcore_platform_geometry_files': [
+ 'platform/graphics/FloatPoint.cpp',
+ 'platform/graphics/FloatPoint3D.cpp',
+ 'platform/graphics/FloatQuad.cpp',
+ 'platform/graphics/FloatRect.cpp',
+ 'platform/graphics/FloatSize.cpp',
+ 'platform/graphics/IntRect.cpp',
+ 'platform/graphics/FractionalLayoutRect.cpp',
+ 'platform/graphics/Region.cpp',
+ 'platform/graphics/transforms/TransformationMatrix.cpp',
+ 'platform/graphics/transforms/AffineTransform.cpp',
+ 'platform/graphics/gpu/TilingData.cpp',
+ 'platform/graphics/gpu/TilingData.h',
],
'webcore_svg_files': [
'rendering/style/SVGRenderStyle.cpp',
@@ -6308,6 +6344,7 @@
'inspector/front-end/DOMStorage.js',
'inspector/front-end/DOMSyntaxHighlighter.js',
'inspector/front-end/Drawer.js',
+ 'inspector/front-end/ElementsPanelDescriptor.js',
'inspector/front-end/ElementsTreeOutline.js',
'inspector/front-end/EmptyView.js',
'inspector/front-end/ExtensionAPI.js',
@@ -6319,18 +6356,19 @@
'inspector/front-end/FileManager.js',
'inspector/front-end/FileSystemModel.js',
'inspector/front-end/FileUtils.js',
+ 'inspector/front-end/FontView.js',
'inspector/front-end/GoToLineDialog.js',
'inspector/front-end/HAREntry.js',
'inspector/front-end/HandlerRegistry.js',
'inspector/front-end/HeapSnapshotWorker.js',
'inspector/front-end/HelpScreen.js',
+ 'inspector/front-end/ImageView.js',
'inspector/front-end/IndexedDBModel.js',
'inspector/front-end/InspectorBackend.js',
'inspector/front-end/InspectorFrontendAPI.js',
'inspector/front-end/InspectorFrontendHostStub.js',
'inspector/front-end/InspectorView.js',
'inspector/front-end/inspector.js',
- 'inspector/front-end/JavaScriptContextManager.js',
'inspector/front-end/JavaScriptFormatter.js',
'inspector/front-end/JavaScriptSource.js',
'inspector/front-end/jsdifflib.js',
@@ -6341,6 +6379,7 @@
'inspector/front-end/NetworkLog.js',
'inspector/front-end/NetworkPanelDescriptor.js',
'inspector/front-end/NetworkRequest.js',
+ 'inspector/front-end/NetworkUISourceCodeProvider.js',
'inspector/front-end/Object.js',
'inspector/front-end/ObjectPopoverHelper.js',
'inspector/front-end/ObjectPropertiesSection.js',
@@ -6352,13 +6391,14 @@
'inspector/front-end/PresentationConsoleMessageHelper.js',
'inspector/front-end/ProgressBar.js',
'inspector/front-end/PropertiesSection.js',
- 'inspector/front-end/RawSourceCode.js',
'inspector/front-end/RemoteObject.js',
'inspector/front-end/Resource.js',
'inspector/front-end/ResourceScriptMapping.js',
'inspector/front-end/ResourceTreeModel.js',
'inspector/front-end/ResourceType.js',
'inspector/front-end/ResourceUtils.js',
+ 'inspector/front-end/ResourceView.js',
+ 'inspector/front-end/RuntimeModel.js',
'inspector/front-end/SASSSourceMapping.js',
'inspector/front-end/Script.js',
'inspector/front-end/ScriptFormatter.js',
@@ -6386,6 +6426,7 @@
'inspector/front-end/SplitView.js',
'inspector/front-end/StatusBarButton.js',
'inspector/front-end/StyleSource.js',
+ 'inspector/front-end/StylesSourceMapping.js',
'inspector/front-end/TabbedPane.js',
'inspector/front-end/TestController.js',
'inspector/front-end/TextEditor.js',
@@ -6439,6 +6480,7 @@
'inspector/front-end/textEditor.css',
'inspector/front-end/textPrompt.css',
'inspector/front-end/timelinePanel.css',
+ 'inspector/front-end/webGLProfiler.css',
],
'webinspector_elements_js_files': [
'inspector/front-end/ElementsPanel.js',
@@ -6459,8 +6501,6 @@
'inspector/front-end/ResourcesPanel.js',
],
'webinspector_network_js_files': [
- 'inspector/front-end/FontView.js',
- 'inspector/front-end/ImageView.js',
'inspector/front-end/NetworkItemView.js',
'inspector/front-end/RequestCookiesView.js',
'inspector/front-end/RequestHeadersView.js',
@@ -6470,7 +6510,6 @@
'inspector/front-end/RequestResponseView.js',
'inspector/front-end/RequestTimingView.js',
'inspector/front-end/RequestView.js',
- 'inspector/front-end/ResourceView.js',
'inspector/front-end/ResourceWebSocketFrameView.js',
'inspector/front-end/NetworkPanel.js',
],
@@ -6518,6 +6557,7 @@
'inspector/front-end/ProfilesPanel.js',
'inspector/front-end/ProfileLauncherView.js',
'inspector/front-end/TopDownProfileDataGridTree.js',
+ 'inspector/front-end/WebGLProfileView.js',
],
'webinspector_audits_js_files': [
@@ -6642,6 +6682,7 @@
'inspector/front-end/Images/splitviewDimple.png',
'inspector/front-end/Images/splitviewDividerBackground.png',
'inspector/front-end/Images/statusbarButtonGlyphs.png',
+ 'inspector/front-end/Images/statusbarButtonGlyphs2x.png',
'inspector/front-end/Images/statusbarResizerHorizontal.png',
'inspector/front-end/Images/statusbarResizerVertical.png',
'inspector/front-end/Images/successGreenDot.png',
@@ -6746,6 +6787,8 @@
'<(PRODUCT_DIR)/DerivedSources/WebCore/DOMCounterInternal.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMImplementation.mm',
'<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMImplementationInternal.h',
+ '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMNamedFlowCollection.mm',
+ '<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMNamedFlowCollectionInternal.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMTokenList.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMTokenList.mm',
'<(PRODUCT_DIR)/DerivedSources/WebCore/DOMDOMTokenListInternal.h',
@@ -7216,6 +7259,7 @@
'<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorBackendCommands.js',
'<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorFrontend.cpp',
'<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorFrontend.h',
+ '<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorOverlayPage.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorTypeBuilder.cpp',
'<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorTypeBuilder.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/InspectorProtocolVersion.h',
@@ -7344,6 +7388,8 @@
'<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMMimeType.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMMimeTypeArray.cpp',
'<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMMimeTypeArray.h',
+ '<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMNamedFlowCollection.cpp',
+ '<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMNamedFlowCollection.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMParser.cpp',
'<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMParser.h',
'<(PRODUCT_DIR)/DerivedSources/WebCore/JSDOMPlugin.cpp',
@@ -8307,6 +8353,7 @@
'platform/chromium/support/WebHTTPLoadInfo.cpp',
'platform/chromium/support/WebICECandidateDescriptor.cpp',
'platform/chromium/support/WebICEOptions.cpp',
+ 'platform/chromium/support/WebMediaConstraints.cpp',
'platform/chromium/support/WebMediaHints.cpp',
'platform/chromium/support/WebMediaStreamComponent.cpp',
'platform/chromium/support/WebMediaStreamDescriptor.cpp',
@@ -8314,8 +8361,14 @@
'platform/chromium/support/WebMediaStreamSourcesRequest.cpp',
'platform/chromium/support/WebPrerender.cpp',
'platform/chromium/support/WebRTCConfiguration.cpp',
+ 'platform/chromium/support/WebRTCICECandidate.cpp',
+ 'platform/chromium/support/WebRTCSessionDescription.cpp',
+ 'platform/chromium/support/WebRTCSessionDescriptionRequest.cpp',
+ 'platform/chromium/support/WebRTCVoidRequest.cpp',
'platform/chromium/support/WebScrollbarThemeGeometryNative.cpp',
'platform/chromium/support/WebScrollbarThemeGeometryNative.h',
+ 'platform/chromium/support/WebScrollbarImpl.cpp',
+ 'platform/chromium/support/WebScrollbarImpl.h',
'platform/chromium/support/WebSharedGraphicsContext3D.cpp',
'platform/chromium/support/WebThreadSafeData.cpp',
'platform/chromium/support/WebTransformOperations.cpp',
@@ -8338,6 +8391,7 @@
'platform/graphics/chromium/CanvasLayerTextureUpdater.h',
'platform/graphics/chromium/ContentLayerChromium.cpp',
'platform/graphics/chromium/ContentLayerChromium.h',
+ 'platform/graphics/chromium/ContentLayerChromiumClient.h',
'platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp',
'platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h',
'platform/graphics/chromium/GeometryBinding.cpp',
@@ -8373,6 +8427,7 @@
'platform/graphics/chromium/TextureCopier.h',
'platform/graphics/chromium/TextureLayerChromium.cpp',
'platform/graphics/chromium/TextureLayerChromium.h',
+ 'platform/graphics/chromium/TextureLayerChromiumClient.h',
'platform/graphics/chromium/TextureUploader.h',
'platform/graphics/chromium/ThrottledTextureUploader.cpp',
'platform/graphics/chromium/ThrottledTextureUploader.h',
@@ -8385,8 +8440,6 @@
'platform/graphics/chromium/VideoLayerChromium.h',
'platform/graphics/chromium/cc/CCActiveAnimation.cpp',
'platform/graphics/chromium/cc/CCActiveAnimation.h',
- 'platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp',
- 'platform/graphics/chromium/cc/CCActiveGestureAnimation.h',
'platform/graphics/chromium/cc/CCAnimationCurve.cpp',
'platform/graphics/chromium/cc/CCAnimationCurve.h',
'platform/graphics/chromium/cc/CCAnimationEvents.h',
@@ -8411,7 +8464,6 @@
'platform/graphics/chromium/cc/CCFrameRateController.h',
'platform/graphics/chromium/cc/CCFrameRateCounter.cpp',
'platform/graphics/chromium/cc/CCFrameRateCounter.h',
- 'platform/graphics/chromium/cc/CCGestureCurve.h',
'platform/graphics/chromium/cc/CCGraphicsContext.h',
'platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp',
'platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h',
@@ -8436,6 +8488,7 @@
'platform/graphics/chromium/cc/CCLayerTilingData.h',
'platform/graphics/chromium/cc/CCLayerTreeHost.cpp',
'platform/graphics/chromium/cc/CCLayerTreeHost.h',
+ 'platform/graphics/chromium/cc/CCLayerTreeHostClient.h',
'platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp',
'platform/graphics/chromium/cc/CCLayerTreeHostCommon.h',
'platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp',
@@ -8466,6 +8519,7 @@
'platform/graphics/chromium/cc/CCRenderPass.h',
'platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp',
'platform/graphics/chromium/cc/CCRenderPassDrawQuad.h',
+ 'platform/graphics/chromium/cc/CCRenderPassSink.h',
'platform/graphics/chromium/cc/CCRenderSurface.cpp',
'platform/graphics/chromium/cc/CCRenderSurface.h',
'platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp',
@@ -8487,6 +8541,10 @@
'platform/graphics/chromium/cc/CCScrollbarAnimationControllerLinearFade.h',
'platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp',
'platform/graphics/chromium/cc/CCScrollbarLayerImpl.h',
+ 'platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp',
+ 'platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h',
+ 'platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp',
+ 'platform/graphics/chromium/cc/CCScrollbarGeometryStub.h',
'platform/graphics/chromium/cc/CCSettings.cpp',
'platform/graphics/chromium/cc/CCSettings.h',
'platform/graphics/chromium/cc/CCSharedQuadState.cpp',
diff --git a/Source/WebCore/WebCore.order b/Source/WebCore/WebCore.order
index 0b2b17583..4d09ead93 100644
--- a/Source/WebCore/WebCore.order
+++ b/Source/WebCore/WebCore.order
@@ -4520,7 +4520,7 @@ __ZN7WebCore14HTMLDivElementC2ERKNS_13QualifiedNameEPNS_8DocumentE
__ZN7WebCore4Node13setShadowHostEPNS_7ElementE
__ZNK7WebCore27RenderTextControlSingleLine20createInnerTextStyleEPKNS_11RenderStyleE
__ZNK7WebCore17RenderTextControl20adjustInnerTextStyleEPKNS_11RenderStyleEPS1_
-__ZN7WebCore11RenderStyle11setWordWrapENS_9EWordWrapE
+__ZN7WebCore11RenderStyle11setOverflowWrapENS_9EOverflowWrapE
__ZNK7WebCore11RenderTheme20shouldHaveSpinButtonEPNS_16HTMLInputElementE
__ZNK7WebCore16HTMLInputElement11isSteppableEv
__ZNK7WebCore9InputType11isSteppableEv
@@ -22785,7 +22785,7 @@ __ZNK7WebCore12NodeIterator20updateForNodeRemovalEPNS_4NodeERNS0_11NodePointerE
__ZN7WebCore27jsNodeIteratorReferenceNodeEPN3JSC9ExecStateENS0_7JSValueERKNS0_10IdentifierE
__ZNK7WebCore4Node20traversePreviousNodeEPKS0_
__ZN7WebCore37jsNodeIteratorPrototypeFunctionDetachEPN3JSC9ExecStateE
-__ZNK7WebCore8Document13nodesFromRectEiijjjjb
+__ZNK7WebCore8Document13nodesFromRectEiijjjjj
__ZNK7WebCore8Document17handleZeroPaddingERKNS_14HitTestRequestERNS_13HitTestResultE
__ZN3WTF21ListHashSetTranslatorINS_6RefPtrIN7WebCore4NodeEEELm256ENS_7PtrHashIS4_EEE9translateERPNS_15ListHashSetNodeIS4_Lm256EEERKS4_PNS_24ListHashSetNodeAllocatorIS4_Lm256EEE
__ZN7WebCore21StaticHashSetNodeListC1ERN3WTF11ListHashSetINS1_6RefPtrINS_4NodeEEELm256ENS1_7PtrHashIS5_EEEE
diff --git a/Source/WebCore/WebCore.pri b/Source/WebCore/WebCore.pri
index 10181f50a..d2823a4e5 100644
--- a/Source/WebCore/WebCore.pri
+++ b/Source/WebCore/WebCore.pri
@@ -16,8 +16,8 @@ INCLUDEPATH += \
$$SOURCE_DIR/Modules/filesystem \
$$SOURCE_DIR/Modules/geolocation \
$$SOURCE_DIR/Modules/indexeddb \
+ $$SOURCE_DIR/Modules/navigatorcontentutils \
$$SOURCE_DIR/Modules/notifications \
- $$SOURCE_DIR/Modules/protocolhandler \
$$SOURCE_DIR/Modules/quota \
$$SOURCE_DIR/Modules/webaudio \
$$SOURCE_DIR/Modules/webdatabase \
@@ -165,6 +165,11 @@ contains(DEFINES, ENABLE_GAMEPAD=1) {
PKGCONFIG += libudev
}
+contains(DEFINES, WTF_USE_GSTREAMER=1) {
+ DEFINES += ENABLE_GLIB_SUPPORT=1
+ PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10
+}
+
contains(DEFINES, ENABLE_VIDEO=1) {
contains(DEFINES, WTF_USE_QTKIT=1) {
INCLUDEPATH += $$SOURCE_DIR/platform/graphics/mac
@@ -174,19 +179,24 @@ contains(DEFINES, ENABLE_VIDEO=1) {
-framework QuartzCore -framework QTKit
} else:contains(DEFINES, WTF_USE_GSTREAMER=1) {
- DEFINES += ENABLE_GLIB_SUPPORT=1
-
INCLUDEPATH += $$SOURCE_DIR/platform/graphics/gstreamer
-
- PKGCONFIG += glib-2.0 gio-2.0 gstreamer-0.10 gstreamer-app-0.10 gstreamer-base-0.10 gstreamer-interfaces-0.10 gstreamer-pbutils-0.10 gstreamer-plugins-base-0.10 gstreamer-video-0.10
+ PKGCONFIG += gstreamer-video-0.10
} else:contains(DEFINES, WTF_USE_QT_MULTIMEDIA=1) {
CONFIG *= mobility
MOBILITY *= multimedia
}
}
+contains(DEFINES, ENABLE_WEB_AUDIO=1) {
+ contains(DEFINES, WTF_USE_GSTREAMER=1) {
+ DEFINES += WTF_USE_WEBAUDIO_GSTREAMER=1
+ INCLUDEPATH += $$SOURCE_DIR/platform/audio/gstreamer
+ PKGCONFIG += gstreamer-audio-0.10 gstreamer-fft-0.10
+ }
+}
+
contains(DEFINES, WTF_USE_3D_GRAPHICS=1) {
- contains(QT_CONFIG, opengles2): LIBS += -lEGL
+ contains(QT_CONFIG, opengles2):!win32: LIBS += -lEGL
mac: LIBS += -framework IOSurface -framework CoreFoundation
linux-*:contains(DEFINES, HAVE_XCOMPOSITE=1): LIBS += -lXcomposite
}
diff --git a/Source/WebCore/WebCore.qrc b/Source/WebCore/WebCore.qrc
index 1208e9ee9..e9e7bad89 100644
--- a/Source/WebCore/WebCore.qrc
+++ b/Source/WebCore/WebCore.qrc
@@ -15,4 +15,7 @@
<file alias="deleteButton.png">Resources/deleteButton.png</file>
<file alias="inputSpeech.png">Resources/inputSpeech.png</file>
</qresource>
+<qresource prefix="/webkit/resources/audio">
+ <file alias="Composite">platform/audio/resources/Composite.wav</file>
+</qresource>
</RCC>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWin.vcproj b/Source/WebCore/WebCore.vcproj/QTMovieWin.vcproj
index 3e944b774..27c783d95 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWin.vcproj
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWin.vcproj
@@ -1,476 +1,476 @@
-<?xml version="1.0" encoding="windows-1251"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWin"
- ProjectGUID="{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
- RootNamespace="QuickTimeWin"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\QTMovieWinDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\QTMovieWinRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\QTMovieWinDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\QTMovieWinProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\QTMovieWinReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\QTMovieWinDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\platform\graphics\win\QTCFDictionary.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTDecompressionSession.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovie.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieGWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieTask.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieVisualContext.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieWinTimer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTPixelBuffer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTTrack.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\platform\graphics\win\QTCFDictionary.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTDecompressionSession.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovie.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieGWorld.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieTask.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieVisualContext.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTMovieWinTimer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTPixelBuffer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\QTTrack.h"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="windows-1251"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWin"
+ ProjectGUID="{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
+ RootNamespace="QuickTimeWin"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\QTMovieWinDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\QTMovieWinRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\QTMovieWinDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\QTMovieWinProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\QTMovieWinReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\QTMovieWinDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\platform\graphics\win\QTCFDictionary.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTDecompressionSession.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovie.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieGWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieTask.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieVisualContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieWinTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTPixelBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTTrack.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\platform\graphics\win\QTCFDictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTDecompressionSession.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovie.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieGWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieVisualContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTMovieWinTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTPixelBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\QTTrack.h"
+ >
+ </File>
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops
index b692b0b98..57a05f9f1 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinCommon.vsprops
@@ -1,20 +1,20 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinCommon"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)..\&quot;;&quot;$(ProjectDir)..\Platform\&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\QTInternalSDK\CIncludes&quot;;&quot;$(WebKitLibrariesDir)\QuickTime SDK\CIncludes&quot;;&quot;$(ProgramFiles)/QuickTime SDK/cincludes&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;"
- PreprocessorDefinitions="_USRDLL;QTMOVIEWIN_EXPORTS;TARGET_OS_WIN32"
- DisableSpecificWarnings="4819"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="QTMLClient.lib CVClient.lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebKitSystemInterface$(WebKitConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib Msimg32.lib user32.lib advapi32.lib"
- OutputFile="$(OutDir)\$(ProjectName)$(WebKitConfigSuffix).dll"
- AdditionalLibraryDirectories="&quot;$(WebKitLibrariesDir)\QTInternalSDK\Libraries&quot;;&quot;$(WebKitLibrariesDir)\QuickTime SDK\Libraries&quot;;&quot;$(ProgramFiles)\QuickTime SDK\Libraries&quot;"
- IgnoreDefaultLibraryNames="LIBCMT"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinCommon"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)..\&quot;;&quot;$(ProjectDir)..\Platform\&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\QTInternalSDK\CIncludes&quot;;&quot;$(WebKitLibrariesDir)\QuickTime SDK\CIncludes&quot;;&quot;$(ProgramFiles)/QuickTime SDK/cincludes&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;"
+ PreprocessorDefinitions="_USRDLL;QTMOVIEWIN_EXPORTS;TARGET_OS_WIN32"
+ DisableSpecificWarnings="4819"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="QTMLClient.lib CVClient.lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebKitSystemInterface$(WebKitConfigSuffix).lib winmm.lib pthreadVC2$(LibraryConfigSuffix).lib Msimg32.lib user32.lib advapi32.lib"
+ OutputFile="$(OutDir)\$(ProjectName)$(WebKitConfigSuffix).dll"
+ AdditionalLibraryDirectories="&quot;$(WebKitLibrariesDir)\QTInternalSDK\Libraries&quot;;&quot;$(WebKitLibrariesDir)\QuickTime SDK\Libraries&quot;;&quot;$(ProgramFiles)\QuickTime SDK\Libraries&quot;"
+ IgnoreDefaultLibraryNames="LIBCMT"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinDebug.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinDebug.vsprops
index 4f95e7730..7ea6951a5 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinDebug.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\QTMovieWinCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\QTMovieWinCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinDebugAll.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinDebugAll.vsprops
index 3b703c8cf..9e88ac2be 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinDebugAll.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\QTMovieWinCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\QTMovieWinCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops
index e77522bd3..4e97fba49 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\QTMovieWinCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\QTMovieWinCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinProduction.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinProduction.vsprops
index aa7bc0870..31b21f23a 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinProduction.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\QTMovieWinCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\QTMovieWinCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinRelease.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinRelease.vsprops
index f6fde0021..c8a8af9df 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinRelease.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\QTMovieWinCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\QTMovieWinCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops b/Source/WebCore/WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops
index e84a4ba81..97f3567ab 100644
--- a/Source/WebCore/WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops
+++ b/Source/WebCore/WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="QTMovieWinReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\QTMovieWinCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="QTMovieWinReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\QTMovieWinCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCore.sln b/Source/WebCore/WebCore.vcproj/WebCore.sln
index 0ab426bb7..8942b1698 100644
--- a/Source/WebCore/WebCore.vcproj/WebCore.sln
+++ b/Source/WebCore/WebCore.vcproj/WebCore.sln
@@ -1,50 +1,50 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
- ProjectSection(ProjectDependencies) = postProject
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.ActiveCfg = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.ActiveCfg = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WebCore/WebCore.vcproj/WebCore.submit.sln b/Source/WebCore/WebCore.vcproj/WebCore.submit.sln
index 8373b0316..979f4c6d1 100644
--- a/Source/WebCore/WebCore.vcproj/WebCore.submit.sln
+++ b/Source/WebCore/WebCore.vcproj/WebCore.submit.sln
@@ -1,52 +1,52 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
- ProjectSection(ProjectDependencies) = postProject
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
- ProjectSection(ProjectDependencies) = postProject
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.ActiveCfg = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.ActiveCfg = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WebCore/WebCore.vcproj/WebCore.vcproj b/Source/WebCore/WebCore.vcproj/WebCore.vcproj
index 8758fce19..2c78609f5 100755
--- a/Source/WebCore/WebCore.vcproj/WebCore.vcproj
+++ b/Source/WebCore/WebCore.vcproj/WebCore.vcproj
@@ -1,76817 +1,77017 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCore"
- ProjectGUID="{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
- RootNamespace="WebCore"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="DerivedSources"
- >
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ColorData.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSGrammar.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSGrammar.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSPropertyNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSValueKeywords.cpp"
- >
- </File>
- <File
- RelativePath="..\DerivedSources.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventFactory.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventHeaders.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventInterfaces.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventTargetHeaders.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventTargetInterfaces.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionCodeDescription.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionCodeDescription.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionHeaders.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionInterfaces.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HashTools.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLElementFactory.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLElementFactory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLNames.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InjectedScriptSource.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InjectedScriptWebGLModuleSource.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorBackendDispatcher.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorBackendDispatcher.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorFrontend.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorFrontend.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorTypeBuilder.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorTypeBuilder.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSAbstractWorker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSAbstractWorker.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSAttr.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSAttr.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBarInfo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBarInfo.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBeforeLoadEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBeforeLoadEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBlob.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBlob.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasGradient.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasGradient.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasPattern.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasPattern.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext2D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext2D.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCDATASection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCDATASection.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCharacterData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCharacterData.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRect.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRect.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRectList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRectList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClipboard.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClipboard.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSComment.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSComment.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCompositionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCompositionEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSConsole.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSConsole.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCoordinates.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCoordinates.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCounter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCounter.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCrypto.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCrypto.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSCharsetRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSCharsetRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSFontFaceRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSFontFaceRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSImportRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSImportRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSMediaRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSMediaRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPageRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPageRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPrimitiveValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPrimitiveValue.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRuleList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRuleList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleDeclaration.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleDeclaration.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleSheet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleSheet.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValue.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValueList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValueList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCustomEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCustomEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabase.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabaseSync.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabaseSync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItem.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItem.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItemList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItemList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDedicatedWorkerContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDedicatedWorkerContext.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceMotionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceMotionEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceOrientationEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceOrientationEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntry.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntry.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntrySync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntrySync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReader.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReader.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReaderSync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReaderSync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocument.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocument.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentFragment.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentFragment.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentType.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentType.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMApplicationCache.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMApplicationCache.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMCoreException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMCoreException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMError.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMError.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystem.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystem.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystemSync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystemSync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFormData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFormData.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMImplementation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMImplementation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeType.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeType.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeTypeArray.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeTypeArray.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMParser.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPlugin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPlugin.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPluginArray.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPluginArray.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSelection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSelection.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSettableTokenList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSettableTokenList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringMap.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTokenList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTokenList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTransaction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTransaction.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMURL.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMURL.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMWindow.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMWindow.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMWindowBase.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntity.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntity.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntityReference.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntityReference.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntriesCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntriesCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntry.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntry.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArray.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArray.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArraySync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArraySync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntrySync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntrySync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventSource.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventSource.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventTarget.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventTarget.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFile.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFile.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileCallback.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntry.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntry.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntrySync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntrySync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileError.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileError.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileException.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReader.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReader.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReaderSync.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReaderSync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileSystemCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileSystemCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriter.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterCallback.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterSync.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterSync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeolocation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeolocation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeoposition.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeoposition.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHashChangeEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHashChangeEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHistory.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHistory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAllCollection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAllCollection.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAnchorElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAnchorElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAppletElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAppletElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAreaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAreaElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAudioElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAudioElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseFontElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseFontElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBodyElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBodyElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBRElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBRElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLButtonElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLButtonElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCanvasElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCanvasElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCollection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCollection.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLContentElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLContentElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDataListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDataListElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDetailsElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDetailsElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDirectoryElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDirectoryElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDivElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDivElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDListElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDocument.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDocument.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElementWrapperFactory.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElementWrapperFactory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLEmbedElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLEmbedElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFieldSetElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFieldSetElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFormElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFormElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameSetElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameSetElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadingElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadingElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHRElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHRElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHtmlElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHtmlElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLIFrameElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLIFrameElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLImageElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLImageElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLInputElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLInputElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLKeygenElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLKeygenElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLabelElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLabelElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLegendElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLegendElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLIElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLIElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLinkElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLinkElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMapElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMapElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMarqueeElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMarqueeElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMediaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMediaElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMenuElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMenuElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMetaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMetaElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMeterElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMeterElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLModElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLModElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLObjectElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLObjectElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOListElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptGroupElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptGroupElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionsCollection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionsCollection.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOutputElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOutputElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParagraphElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParagraphElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParamElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParamElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPreElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPreElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLProgressElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLProgressElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPropertiesCollection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPropertiesCollection.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLQuoteElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLQuoteElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLScriptElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLScriptElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSelectElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSelectElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLShadowElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLShadowElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSourceElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSourceElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSpanElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSpanElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLStyleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLStyleElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCaptionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCaptionElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCellElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCellElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableColElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableColElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableRowElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableRowElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableSectionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableSectionElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTextAreaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTextAreaElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTitleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTitleElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUListElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUnknownElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUnknownElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUnknownElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLVideoElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLVideoElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBAny.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBAny.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSIDBAnyCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBCursor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBCursor.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabase.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabaseException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabaseException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBFactory.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBFactory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBIndex.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBIndex.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKey.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKey.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSIDBKeyCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKeyRange.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKeyRange.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBRequest.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBRequest.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBTransaction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBTransaction.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSImageData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSImageData.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInjectedScriptHost.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInjectedScriptHost.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSKeyboardEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSLocation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSLocation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaError.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaError.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaQueryList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|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>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaQueryList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMemoryInfo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMemoryInfo.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageChannel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageChannel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessagePort.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessagePort.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMicroDataItemValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMicroDataItemValue.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadata.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadata.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadataCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadataCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMouseEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMouseEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationObserver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationObserver.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationRecord.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationRecord.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNamedNodeMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNamedNodeMap.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNavigator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNavigator.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNode.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNode.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeFilter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeFilter.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeIterator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeIterator.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotification.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotification.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationCenter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationCenter.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationPermissionCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationPermissionCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSOverflowEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSOverflowEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPageTransitionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPageTransitionEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformance.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformance.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntry.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntry.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntryList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntryList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceNavigation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceNavigation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceTiming.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceTiming.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPopStateEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPopStateEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionError.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionError.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionErrorCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionErrorCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProcessingInstruction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProcessingInstruction.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProgressEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProgressEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPropertyNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPropertyNodeList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRadioNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRadioNodeList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRange.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRange.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRangeException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRangeException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRect.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRect.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRequestAnimationFrameCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRequestAnimationFrameCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRGBColor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRGBColor.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSScreen.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSScreen.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSShadowRoot.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSShadowRoot.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorker.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorkerContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorkerContext.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLError.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLError.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSet.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSetRowList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSetRowList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransaction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransaction.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransactionSync.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransactionSync.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorage.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfo.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfo.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoErrorCallback.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoErrorCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoQuotaCallback.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoQuotaCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoUsageCallback.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoUsageCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStringCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStringCallback.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleMedia.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleMedia.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheet.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheetList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheetList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphDefElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphDefElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphItemElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphItemElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAngle.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAngle.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateColorElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateColorElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedAngle.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedAngle.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedBoolean.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedBoolean.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedEnumeration.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedEnumeration.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedInteger.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedInteger.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLength.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLength.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLengthList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLengthList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumber.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumber.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumberList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumberList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedPreserveAspectRatio.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedPreserveAspectRatio.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedRect.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedRect.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedString.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedString.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedTransformList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedTransformList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateMotionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateMotionElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateTransformElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateTransformElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimationElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimationElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCircleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCircleElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGClipPathElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGClipPathElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGColor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGColor.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGComponentTransferFunctionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGComponentTransferFunctionElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCursorElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCursorElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDefsElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDefsElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDescElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDescElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDocument.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDocument.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstance.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstance.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstanceList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstanceList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementWrapperFactory.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementWrapperFactory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGEllipseElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGEllipseElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEBlendElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEBlendElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEColorMatrixElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEColorMatrixElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEComponentTransferElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEComponentTransferElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFECompositeElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFECompositeElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEConvolveMatrixElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEConvolveMatrixElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDiffuseLightingElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDiffuseLightingElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDisplacementMapElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDisplacementMapElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDistantLightElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDistantLightElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDropShadowElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDropShadowElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFloodElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFloodElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncAElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncAElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncBElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncBElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncGElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncGElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncRElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncRElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEGaussianBlurElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEGaussianBlurElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEImageElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEImageElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeNodeElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeNodeElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEOffsetElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEOffsetElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEPointLightElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEPointLightElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpecularLightingElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpecularLightingElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpotLightElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpotLightElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETileElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETileElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETurbulenceElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETurbulenceElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFilterElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFilterElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceFormatElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceFormatElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceNameElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceNameElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceSrcElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceSrcElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceUriElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceUriElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGForeignObjectElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGForeignObjectElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphRefElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphRefElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGradientElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGradientElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGHKernElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGHKernElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGImageElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGImageElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLength.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLength.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLengthList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLengthList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLinearGradientElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLinearGradientElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLineElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLineElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMarkerElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMarkerElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMaskElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMaskElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMatrix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMatrix.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMetadataElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMetadataElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMissingGlyphElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMissingGlyphElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMPathElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMPathElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumber.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumber.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumberList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumberList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPaint.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPaint.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSeg.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSeg.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegClosePath.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegClosePath.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoAbs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoAbs.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoRel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoRel.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPatternElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPatternElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPoint.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPoint.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPointList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPointList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolygonElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolygonElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolylineElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolylineElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPreserveAspectRatio.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPreserveAspectRatio.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRadialGradientElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRadialGradientElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRect.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRect.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRectElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRectElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRenderingIntent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRenderingIntent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGScriptElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGScriptElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSetElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSetElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStopElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStopElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStringList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStringList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStyleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStyleElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSVGElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSVGElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSwitchElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSwitchElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSymbolElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSymbolElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextContentElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextContentElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPathElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPathElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPositioningElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPositioningElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTitleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTitleElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransform.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransform.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransformList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransformList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTRefElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTRefElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTSpanElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTSpanElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUnitTypes.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUnitTypes.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUseElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUseElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewSpec.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewSpec.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGVKernElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGVKernElement.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomAndPan.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomAndPan.h"
- >
- </File>
-
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSText.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextMetrics.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextMetrics.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTimeRanges.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTimeRanges.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTreeWalker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTreeWalker.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUIEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUIEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUndoManager.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUndoManager.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSValidityState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSValidityState.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationList.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitBlobBuilder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitBlobBuilder.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSFilterValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSFilterValue.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframeRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframeRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframesRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframesRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSMatrix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSMatrix.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSRegionRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSRegionRule.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSTransformValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSTransformValue.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitNamedFlow.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitNamedFlow.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitPoint.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitPoint.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitTransitionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitTransitionEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWebSocket.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWebSocket.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWheelEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWheelEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorker.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerContext.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerContextBase.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerLocation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerLocation.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerNavigator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerNavigator.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequest.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequest.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestProgressEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestProgressEvent.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestUpload.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestUpload.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLSerializer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLSerializer.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathEvaluator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathEvaluator.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathException.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathExpression.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathExpression.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathNSResolver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathNSResolver.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathResult.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathResult.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXSLTProcessor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXSLTProcessor.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\kjs_navigator.lut.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLElementFactory.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLElementFactory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLNames.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGElementFactory.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGElementFactory.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGNames.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\UserAgentStyleSheets.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\UserAgentStyleSheetsData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKitFontFamilyNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKitFontFamilyNames.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XLinkNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNames.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNSNames.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNSNames.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLViewerCSS.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLViewerJS.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XPathGrammar.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XPathGrammar.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Modules"
- >
- <Filter
- Name="filesystem"
- >
- <File
- RelativePath="..\Modules\filesystem\AsyncFileWriter.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\AsyncFileWriterClient.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryEntry.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryEntry.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryEntrySync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryEntrySync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryReader.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryReader.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryReaderBase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryReaderSync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DirectoryReaderSync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFilePath.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFilePath.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFileSystem.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFileSystemBase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFileSystemBase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFileSystemSync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMFileSystemSync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMWindowFileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\DOMWindowFileSystem.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntriesCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\Entry.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\Entry.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryArray.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryArray.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryArraySync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryArraySync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryBase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryBase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntryCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntrySync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\EntrySync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\ErrorCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileEntry.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileEntry.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileEntrySync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileEntrySync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileError.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileSystemCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileSystemCallbacks.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileSystemCallbacks.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileSystemFlags.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileSystemType.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriter.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriter.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriterBase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriterBase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriterBaseCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriterCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriterSync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\FileWriterSync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\LocalFileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\LocalFileSystem.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\Metadata.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\MetadataCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\SyncCallbackHelper.h"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\WorkerContextFileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\filesystem\WorkerContextFileSystem.h"
- >
- </File>
- </Filter>
- <Filter
- Name="geolocation"
- >
- <File
- RelativePath="..\Modules\geolocation\Geolocation.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\Geolocation.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\GeolocationController.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\GeolocationController.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\GeolocationError.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\GeolocationPosition.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\Geoposition.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\NavigatorGeolocation.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\NavigatorGeolocation.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\PositionCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\PositionError.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\PositionErrorCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\geolocation\PositionOptions.h"
- >
- </File>
- </Filter>
- <Filter
- Name="indexeddb"
- >
- <File
- RelativePath="..\Modules\indexeddb\DOMWindowIndexedDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\DOMWindowIndexedDatabase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBAny.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBAny.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBCallbacks.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBCursor.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBCursor.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBCursorBackendImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBCursorBackendImpl.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBCursorBackendInterface.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabaseBackendImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabaseBackendImpl.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabaseBackendInterface.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabaseError.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBDatabaseException.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBFactory.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBFactoryBackendImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBFactoryBackendImpl.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBFactoryBackendInterface.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBFactoryBackendInterface.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBIndex.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBIndex.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBIndexBackendImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBIndexBackendImpl.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBIndexBackendInterface.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBKey.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBKey.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBKeyRange.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBKeyRange.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBObjectStore.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBObjectStore.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBObjectStoreBackendImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBObjectStoreBackendImpl.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBObjectStoreBackendInterface.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBRequest.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBTransaction.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\IDBTransaction.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\PageGroupIndexedDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\PageGroupIndexedDatabase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\WorkerContextIndexedDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\indexeddb\WorkerContextIndexedDatabase.h"
- >
- </File>
- </Filter>
- <Filter
- Name="protocolhandler"
- >
- <File
- RelativePath="..\Modules\protocolhandler\NavigatorRegisterProtocolHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\protocolhandler\NavigatorRegisterProtocolHandler.h"
- >
- </File>
- </Filter>
- <Filter
- Name="quota"
- >
- <File
- RelativePath="..\Modules\quota\DOMWindowQuota.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\quota\DOMWindowQuota.h"
- >
- </File>
- <File
- RelativePath="..\Modules\quota\StorageInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\quota\StorageInfo.h"
- >
- </File>
- <File
- RelativePath="..\Modules\quota\StorageInfoErrorCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\quota\StorageInfoQuotaCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\quota\StorageInfoUsageCallback.h"
- >
- </File>
- </Filter>
- <Filter
- Name="mediasource"
- >
- <File
- RelativePath="..\Modules\mediasource\MediaSource.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\MediaSource.h"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\MediaSourceRegistry.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\MediaSourceRegistry.h"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\SourceBuffer.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\SourceBuffer.h"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\SourceBufferList.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\mediasource\SourceBufferList.h"
- >
- </File>
- </Filter>
- <Filter
- Name="notifications"
- >
- <File
- RelativePath="..\Modules\notifications\DOMWindowNotifications.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\DOMWindowNotifications.h"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\Notification.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\Notification.h"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\NotificationCenter.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\NotificationCenter.h"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\NotificationClient.h"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\WorkerContextNotifications.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\notifications\WorkerContextNotifications.h"
- >
- </File>
- </Filter>
- <Filter
- Name="webdatabase"
- >
- <File
- RelativePath="..\Modules\webdatabase\AbstractDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\AbstractDatabase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\ChangeVersionWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\ChangeVersionWrapper.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\Database.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\Database.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseAuthorizer.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseAuthorizer.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseContext.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseContext.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseSync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseSync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseTask.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseTask.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseThread.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseThread.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseTracker.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DatabaseTracker.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DOMWindowWebDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\DOMWindowWebDatabase.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\OriginQuotaManager.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\OriginQuotaManager.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\OriginUsageRecord.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\OriginUsageRecord.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLCallbackWrapper.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLError.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLException.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLException.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLResultSet.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLResultSet.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLResultSetRowList.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLResultSetRowList.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLStatement.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLStatement.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLStatementCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLStatementErrorCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLStatementSync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLStatementSync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransaction.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransaction.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionClient.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionClient.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionCoordinator.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionCoordinator.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionErrorCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionSync.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionSync.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\SQLTransactionSyncCallback.h"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\WorkerContextWebDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\webdatabase\WorkerContextWebDatabase.h"
- >
- </File>
- </Filter>
- <Filter
- Name="websockets"
- >
- <File
- RelativePath="..\Modules\websockets\CloseEvent.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\ThreadableWebSocketChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\ThreadableWebSocketChannel.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\ThreadableWebSocketChannelClientWrapper.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\ThreadableWebSocketChannelClientWrapper.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocket.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocket.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketChannel.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketChannelClient.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketDeflateFramer.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketDeflateFramer.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketDeflater.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketDeflater.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketExtensionDispatcher.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketExtensionDispatcher.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketExtensionProcessor.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketFrame.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketHandshake.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketHandshake.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketHandshakeRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketHandshakeRequest.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketHandshakeResponse.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WebSocketHandshakeResponse.h"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WorkerThreadableWebSocketChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\Modules\websockets\WorkerThreadableWebSocketChannel.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="accessibility"
- >
- <File
- RelativePath="..\accessibility\AccessibilityAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityARIAGrid.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityARIAGrid.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityARIAGridCell.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityARIAGridCell.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityARIAGridRow.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityARIAGridRow.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityImageMapLink.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityImageMapLink.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityList.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityListBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityListBox.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityListBoxOption.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityListBoxOption.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMediaControls.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMediaControls.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMenuList.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMenuList.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMenuListOption.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMenuListOption.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMenuListPopup.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMenuListPopup.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMockObject.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityMockObject.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityObject.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityProgressIndicator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityProgressIndicator.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityRenderObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityRenderObject.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityScrollbar.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityScrollbar.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityScrollView.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityScrollView.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilitySlider.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilitySlider.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilitySpinButton.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilitySpinButton.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTable.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTable.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableCell.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableCell.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableColumn.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableColumn.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableHeaderContainer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableHeaderContainer.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableRow.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AccessibilityTableRow.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\AXObjectCache.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\accessibility\AXObjectCache.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\accessibility\win\AccessibilityObjectWin.cpp"
- >
- </File>
- <File
- RelativePath="..\accessibility\win\AccessibilityObjectWrapperWin.h"
- >
- </File>
- <File
- RelativePath="..\accessibility\win\AXObjectCacheWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="page"
- >
- <File
- RelativePath="..\page\AdjustViewSizeOrNot.h"
- >
- </File>
- <File
- RelativePath="..\page\AlternativeTextClient.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\AnimationBase.cpp"
- >
- </File>
- <File
- RelativePath="..\page\animation\AnimationBase.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\AnimationController.cpp"
- >
- </File>
- <File
- RelativePath="..\page\animation\AnimationController.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\AnimationControllerPrivate.h"
- >
- </File>
- <File
- RelativePath="..\page\BarInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\page\BarInfo.h"
- >
- </File>
- <File
- RelativePath="..\page\Chrome.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Chrome.h"
- >
- </File>
- <File
- RelativePath="..\page\ChromeClient.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\CompositeAnimation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\animation\CompositeAnimation.h"
- >
- </File>
- <File
- RelativePath="..\page\Console.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Console.h"
- >
- </File>
- <File
- RelativePath="..\page\ConsoleTypes.h"
- >
- </File>
- <File
- RelativePath="..\page\ContentSecurityPolicy.cpp"
- >
- </File>
- <File
- RelativePath="..\page\ContentSecurityPolicy.h"
- >
- </File>
- <File
- RelativePath="..\page\ContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\page\ContextMenuController.cpp"
- >
- </File>
- <File
- RelativePath="..\page\ContextMenuController.h"
- >
- </File>
- <File
- RelativePath="..\page\ContextMenuProvider.h"
- >
- </File>
- <File
- RelativePath="..\page\Coordinates.h"
- >
- </File>
- <File
- RelativePath="..\page\Crypto.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Crypto.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\CSSPropertyAnimation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\animation\CSSPropertyAnimation.h"
- >
- </File>
- <File
- RelativePath="..\page\DiagnosticLoggingKeys.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DiagnosticLoggingKeys.h"
- >
- </File>
- <File
- RelativePath="..\page\DOMSelection.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DOMSelection.h"
- >
- </File>
- <File
- RelativePath="..\page\DOMTimer.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DOMTimer.h"
- >
- </File>
- <File
- RelativePath="..\page\DOMWindow.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DOMWindow.h"
- >
- </File>
- <File
- RelativePath="..\page\DOMWindowExtension.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DOMWindowExtension.h"
- >
- </File>
- <File
- RelativePath="..\page\DOMWindowProperty.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DOMWindowProperty.h"
- >
- </File>
- <File
- RelativePath="..\page\DragActions.h"
- >
- </File>
- <File
- RelativePath="..\page\DragClient.h"
- >
- </File>
- <File
- RelativePath="..\page\DragController.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DragController.h"
- >
- </File>
- <File
- RelativePath="..\page\win\DragControllerWin.cpp"
- >
- </File>
- <File
- RelativePath="..\page\DragState.h"
- >
- </File>
- <File
- RelativePath="..\bridge\EditorClient.h"
- >
- </File>
- <File
- RelativePath="..\page\EventHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\page\EventHandler.h"
- >
- </File>
- <File
- RelativePath="..\page\win\EventHandlerWin.cpp"
- >
- </File>
- <File
- RelativePath="..\page\EventSource.cpp"
- >
- </File>
- <File
- RelativePath="..\page\EventSource.h"
- >
- </File>
- <File
- RelativePath="..\page\FocusController.cpp"
- >
- </File>
- <File
- RelativePath="..\page\FocusController.h"
- >
- </File>
- <File
- RelativePath="..\page\FocusDirection.h"
- >
- </File>
- <File
- RelativePath="..\page\Frame.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Frame.h"
- >
- </File>
- <File
- RelativePath="..\page\FrameActionScheduler.cpp"
- >
- </File>
- <File
- RelativePath="..\page\FrameActionScheduler.h"
- >
- </File>
- <File
- RelativePath="..\page\FrameDestructionObserver.cpp"
- >
- </File>
- <File
- RelativePath="..\page\FrameDestructionObserver.h"
- >
- </File>
- <File
- RelativePath="..\page\FrameTree.cpp"
- >
- </File>
- <File
- RelativePath="..\page\FrameTree.h"
- >
- </File>
- <File
- RelativePath="..\page\FrameView.cpp"
- >
- </File>
- <File
- RelativePath="..\page\FrameView.h"
- >
- </File>
- <File
- RelativePath="..\page\GeolocationClient.h"
- >
- </File>
- <File
- RelativePath="..\page\GroupSettings.cpp"
- >
- </File>
- <File
- RelativePath="..\page\GroupSettings.h"
- >
- </File>
- <File
- RelativePath="..\page\HaltablePlugin.h"
- >
- </File>
- <File
- RelativePath="..\page\History.cpp"
- >
- </File>
- <File
- RelativePath="..\page\History.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\ImplicitAnimation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\animation\ImplicitAnimation.h"
- >
- </File>
- <File
- RelativePath="..\page\animation\KeyframeAnimation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\animation\KeyframeAnimation.h"
- >
- </File>
- <File
- RelativePath="..\page\Location.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Location.h"
- >
- </File>
- <File
- RelativePath="..\page\MouseEventWithHitTestResults.cpp"
- >
- </File>
- <File
- RelativePath="..\page\MouseEventWithHitTestResults.h"
- >
- </File>
- <File
- RelativePath="..\page\Navigator.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Navigator.h"
- >
- </File>
- <File
- RelativePath="..\page\NavigatorBase.cpp"
- >
- </File>
- <File
- RelativePath="..\page\NavigatorBase.h"
- >
- </File>
- <File
- RelativePath="..\page\OriginAccessEntry.cpp"
- >
- </File>
- <File
- RelativePath="..\page\OriginAccessEntry.h"
- >
- </File>
- <File
- RelativePath="..\page\Page.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PageGroup.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PageGroup.h"
- >
- </File>
- <File
- RelativePath="..\page\PageGroupLoadDeferrer.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PageGroupLoadDeferrer.h"
- >
- </File>
- <File
- RelativePath="..\page\PageSerializer.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PageSerializer.h"
- >
- </File>
- <File
- RelativePath="..\page\PageVisibilityState.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PageVisibilityState.h"
- >
- </File>
- <File
- RelativePath="..\page\Performance.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Performance.h"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceEntry.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceEntry.h"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceEntryList.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceEntryList.h"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceNavigation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceNavigation.h"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceResourceTiming.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceResourceTiming.h"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceTiming.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PerformanceTiming.h"
- >
- </File>
- <File
- RelativePath="..\page\PrintContext.cpp"
- >
- </File>
- <File
- RelativePath="..\page\PrintContext.h"
- >
- </File>
- <File
- RelativePath="..\page\Screen.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Screen.h"
- >
- </File>
- <File
- RelativePath="..\page\scrolling\ScrollingCoordinator.cpp"
- >
- </File>
- <File
- RelativePath="..\page\scrolling\ScrollingCoordinator.h"
- >
- </File>
- <File
- RelativePath="..\page\scrolling\ScrollingCoordinatorNone.cpp"
- >
- </File>
- <File
- RelativePath="..\page\SecurityOrigin.cpp"
- >
- </File>
- <File
- RelativePath="..\page\SecurityOrigin.h"
- >
- </File>
- <File
- RelativePath="..\page\SecurityPolicy.cpp"
- >
- </File>
- <File
- RelativePath="..\page\SecurityPolicy.h"
- >
- </File>
- <File
- RelativePath="..\page\Settings.cpp"
- >
- </File>
- <File
- RelativePath="..\page\Settings.h"
- >
- </File>
- <File
- RelativePath="..\page\SpatialNavigation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\SpatialNavigation.h"
- >
- </File>
- <File
- RelativePath="..\page\SpeechInput.cpp"
- >
- </File>
- <File
- RelativePath="..\page\SpeechInput.h"
- >
- </File>
- <File
- RelativePath="..\page\SpeechInputClient.h"
- >
- </File>
- <File
- RelativePath="..\page\SpeechInputListener.h"
- >
- </File>
- <File
- RelativePath="..\page\SuspendableTimer.cpp"
- >
- </File>
- <File
- RelativePath="..\page\SuspendableTimer.h"
- >
- </File>
- <File
- RelativePath="..\page\UserContentURLPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\page\UserContentURLPattern.h"
- >
- </File>
- <File
- RelativePath="..\page\UserScript.h"
- >
- </File>
- <File
- RelativePath="..\page\UserScriptTypes.h"
- >
- </File>
- <File
- RelativePath="..\page\UserStyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\page\UserStyleSheetTypes.h"
- >
- </File>
- <File
- RelativePath="..\page\WebKitAnimation.cpp"
- >
- </File>
- <File
- RelativePath="..\page\WebKitAnimation.h"
- >
- </File>
- <File
- RelativePath="..\page\WebKitAnimationList.cpp"
- >
- </File>
- <File
- RelativePath="..\page\WebKitAnimationList.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\WebKitBlobBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\WebKitBlobBuilder.h"
- >
- </File>
- <File
- RelativePath="..\page\WebKitPoint.h"
- >
- </File>
- <File
- RelativePath="..\page\WindowFeatures.cpp"
- >
- </File>
- <File
- RelativePath="..\page\WindowFeatures.h"
- >
- </File>
- <File
- RelativePath="..\page\WindowFocusAllowedIndicator.cpp"
- >
- </File>
- <File
- RelativePath="..\page\WindowFocusAllowedIndicator.h"
- >
- </File>
- <File
- RelativePath="..\page\WorkerNavigator.cpp"
- >
- </File>
- <File
- RelativePath="..\page\WorkerNavigator.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\page\win\FrameCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\page\win\FrameCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\page\win\FrameWin.cpp"
- >
- </File>
- <File
- RelativePath="..\page\win\FrameWin.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="loader"
- >
- <File
- RelativePath="..\loader\CrossOriginAccessControl.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\CrossOriginAccessControl.h"
- >
- </File>
- <File
- RelativePath="..\loader\CrossOriginPreflightResultCache.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\CrossOriginPreflightResultCache.h"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentLoadTiming.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentLoadTiming.h"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentThreadableLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentThreadableLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentWriter.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\DocumentWriter.h"
- >
- </File>
- <File
- RelativePath="..\loader\EmptyClients.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\EmptyClients.h"
- >
- </File>
- <File
- RelativePath="..\loader\FormState.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\FormState.h"
- >
- </File>
- <File
- RelativePath="..\loader\FormSubmission.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\FormSubmission.h"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoaderStateMachine.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoaderStateMachine.h"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoaderTypes.h"
- >
- </File>
- <File
- RelativePath="..\loader\FrameLoadRequest.h"
- >
- </File>
- <File
- RelativePath="..\loader\FrameNetworkingContext.h"
- >
- </File>
- <File
- RelativePath="..\loader\FTPDirectoryParser.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\FTPDirectoryParser.h"
- >
- </File>
- <File
- RelativePath="..\loader\HistoryController.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\HistoryController.h"
- >
- </File>
- <File
- RelativePath="..\loader\ImageLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\ImageLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\ImageLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\LinkLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\LinkLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\LinkLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\MainResourceLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\MainResourceLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\NavigationAction.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\NavigationAction.h"
- >
- </File>
- <File
- RelativePath="..\loader\NavigationScheduler.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\NavigationScheduler.h"
- >
- </File>
- <File
- RelativePath="..\loader\NetscapePlugInStreamLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\NetscapePlugInStreamLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\PingLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\PingLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\PlaceholderDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\PlaceholderDocument.h"
- >
- </File>
- <File
- RelativePath="..\loader\PolicyCallback.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\PolicyCallback.h"
- >
- </File>
- <File
- RelativePath="..\loader\PolicyChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\PolicyChecker.h"
- >
- </File>
- <File
- RelativePath="..\loader\Prerenderer.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\Prerenderer.h"
- >
- </File>
- <File
- RelativePath="..\loader\PrerendererClient.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\PrerendererClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\ProgressTracker.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\ProgressTracker.h"
- >
- </File>
- <File
- RelativePath="..\loader\ResourceLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\ResourceLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\cf\ResourceLoaderCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\ResourceLoaderOptions.h"
- >
- </File>
- <File
- RelativePath="..\loader\ResourceLoadNotifier.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\ResourceLoadNotifier.h"
- >
- </File>
- <File
- RelativePath="..\loader\ResourceLoadScheduler.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\ResourceLoadScheduler.h"
- >
- </File>
- <File
- RelativePath="..\loader\SinkDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\SinkDocument.h"
- >
- </File>
- <File
- RelativePath="..\loader\SubframeLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\SubframeLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\SubresourceLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\SubresourceLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\SubstituteData.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\SubstituteData.h"
- >
- </File>
- <File
- RelativePath="..\loader\SubstituteResource.h"
- >
- </File>
- <File
- RelativePath="..\loader\TextDocument.h"
- >
- </File>
- <File
- RelativePath="..\loader\TextResourceDecoder.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\TextResourceDecoder.h"
- >
- </File>
- <File
- RelativePath="..\loader\ThreadableLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\ThreadableLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\ThreadableLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\WorkerThreadableLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\WorkerThreadableLoader.h"
- >
- </File>
- <Filter
- Name="icon"
- >
- <File
- RelativePath="..\loader\icon\IconController.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconController.h"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconDatabase.h"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconDatabaseBase.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconDatabaseBase.h"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconDatabaseClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconRecord.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\icon\IconRecord.h"
- >
- </File>
- <File
- RelativePath="..\loader\icon\PageURLRecord.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\icon\PageURLRecord.h"
- >
- </File>
- </Filter>
- <Filter
- Name="appcache"
- >
- <File
- RelativePath="..\loader\appcache\ApplicationCache.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCache.h"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheAllInOne.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheGroup.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheGroup.h"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheHost.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheHost.h"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheResource.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheResource.h"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheStorage.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\loader\appcache\ApplicationCacheStorage.h"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\DOMApplicationCache.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\DOMApplicationCache.h"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\ManifestParser.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\appcache\ManifestParser.h"
- >
- </File>
- </Filter>
- <Filter
- Name="archive"
- >
- <File
- RelativePath="..\loader\archive\Archive.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\Archive.h"
- >
- </File>
- <File
- RelativePath="..\loader\archive\ArchiveFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\ArchiveFactory.h"
- >
- </File>
- <File
- RelativePath="..\loader\archive\ArchiveResource.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\ArchiveResource.h"
- >
- </File>
- <File
- RelativePath="..\loader\archive\ArchiveResourceCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\ArchiveResourceCollection.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\loader\archive\cf\LegacyWebArchive.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\cf\LegacyWebArchive.h"
- >
- </File>
- </Filter>
- <Filter
- Name="mhtml"
- >
- <File
- RelativePath="..\loader\archive\mhtml\MHTMLArchive.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\mhtml\MHTMLArchive.h"
- >
- </File>
- <File
- RelativePath="..\loader\archive\mhtml\MHTMLParser.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\archive\mhtml\MHTMLParser.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="cache"
- >
- <File
- RelativePath="..\loader\cache\CachedCSSStyleSheet.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedCSSStyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedFont.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedFont.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedImage.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedImage.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedRawResource.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedRawResource.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResource.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResource.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResourceClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResourceClientWalker.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResourceHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResourceHandle.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResourceLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedResourceLoader.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedScript.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedScript.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedShader.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedShader.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedStyleSheetClient.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedSVGDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedSVGDocument.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedXSLStyleSheet.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachedXSLStyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\CachePolicy.h"
- >
- </File>
- <File
- RelativePath="..\loader\cache\MemoryCache.cpp"
- >
- </File>
- <File
- RelativePath="..\loader\cache\MemoryCache.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="platform"
- >
- <File
- RelativePath="..\platform\Arena.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Arena.h"
- >
- </File>
- <File
- RelativePath="..\platform\AsyncFileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\AsyncFileSystem.h"
- >
- </File>
- <File
- RelativePath="..\platform\AsyncFileSystemCallbacks.h"
- >
- </File>
- <File
- RelativePath="..\platform\AutodrainedPool.h"
- >
- </File>
- <File
- RelativePath="..\platform\CalculationValue.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\CalculationValue.h"
- >
- </File>
- <File
- RelativePath="..\platform\Clock.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Clock.h"
- >
- </File>
- <File
- RelativePath="..\platform\ClockGeneric.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ClockGeneric.h"
- >
- </File>
- <File
- RelativePath="..\platform\ContentType.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ContentType.h"
- >
- </File>
- <File
- RelativePath="..\platform\ContextMenu.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ContextMenu.h"
- >
- </File>
- <File
- RelativePath="..\platform\ContextMenuItem.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ContextMenuItem.h"
- >
- </File>
- <File
- RelativePath="..\platform\CookieJar.h"
- >
- </File>
- <File
- RelativePath="..\platform\CookiesStrategy.h"
- >
- </File>
- <File
- RelativePath="..\platform\CrossThreadCopier.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\CrossThreadCopier.h"
- >
- </File>
- <File
- RelativePath="..\platform\Cursor.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Cursor.h"
- >
- </File>
- <File
- RelativePath="..\platform\DateComponents.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\DateComponents.h"
- >
- </File>
- <File
- RelativePath="..\platform\Decimal.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Decimal.h"
- >
- </File>
- <File
- RelativePath="..\platform\DragData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\DragData.h"
- >
- </File>
- <File
- RelativePath="..\platform\DragImage.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\DragImage.h"
- >
- </File>
- <File
- RelativePath="..\platform\EventLoop.h"
- >
- </File>
- <File
- RelativePath="..\platform\EventTracer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\EventTracer.h"
- >
- </File>
- <File
- RelativePath="..\platform\FileChooser.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\FileChooser.h"
- >
- </File>
- <File
- RelativePath="..\platform\FileIconLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\FileIconLoader.h"
- >
- </File>
- <File
- RelativePath="..\platform\FileMetadata.h"
- >
- </File>
- <File
- RelativePath="..\platform\FileStream.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\FileStream.h"
- >
- </File>
- <File
- RelativePath="..\platform\FileStreamClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\FileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\FileSystem.h"
- >
- </File>
- <File
- RelativePath="..\platform\FloatConversion.h"
- >
- </File>
- <File
- RelativePath="..\platform\FractionalLayoutUnit.h"
- >
- </File>
- <File
- RelativePath="..\platform\HistogramSupport.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\HistogramSupport.h"
- >
- </File>
- <File
- RelativePath="..\platform\HostWindow.h"
- >
- </File>
- <File
- RelativePath="..\platform\KillRing.h"
- >
- </File>
- <File
- RelativePath="..\platform\KillRingNone.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\KURL.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\KURL.h"
- >
- </File>
- <File
- RelativePath="..\platform\KURLHash.h"
- >
- </File>
- <File
- RelativePath="..\platform\Language.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Language.h"
- >
- </File>
- <File
- RelativePath="..\platform\LayoutTestSupport.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\LayoutTestSupport.h"
- >
- </File>
- <File
- RelativePath="..\platform\Length.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Length.h"
- >
- </File>
- <File
- RelativePath="..\platform\LengthBox.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\LengthBox.h"
- >
- </File>
- <File
- RelativePath="..\platform\LengthSize.h"
- >
- </File>
- <File
- RelativePath="..\platform\LinkHash.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\LinkHash.h"
- >
- </File>
- <File
- RelativePath="..\platform\LocalizedStrings.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\LocalizedStrings.h"
- >
- </File>
- <File
- RelativePath="..\platform\Locker.h"
- >
- </File>
- <File
- RelativePath="..\platform\Logging.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Logging.h"
- >
- </File>
- <File
- RelativePath="..\platform\MemoryPressureHandler.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\MemoryPressureHandler.h"
- >
- </File>
- <File
- RelativePath="..\platform\MemoryUsageSupport.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\MemoryUsageSupport.h"
- >
- </File>
- <File
- RelativePath="..\platform\MIMETypeRegistry.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\MIMETypeRegistry.h"
- >
- </File>
- <File
- RelativePath="..\platform\NotImplemented.h"
- >
- </File>
- <File
- RelativePath="..\platform\Pasteboard.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformEvent.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformEvent.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformInstrumentation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformKeyboardEvent.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformMenuDescription.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformMouseEvent.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformScreen.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformStrategies.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformStrategies.h"
- >
- </File>
- <File
- RelativePath="..\platform\PlatformWheelEvent.h"
- >
- </File>
- <File
- RelativePath="..\platform\PopupMenu.h"
- >
- </File>
- <File
- RelativePath="..\platform\PopupMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\PopupMenuStyle.h"
- >
- </File>
- <File
- RelativePath="..\platform\PrerenderHandle.h"
- >
- </File>
- <File
- RelativePath="..\platform\PurgeableBuffer.h"
- >
- </File>
- <File
- RelativePath="..\platform\ReferrerPolicy.h"
- >
- </File>
- <File
- RelativePath="..\platform\RunLoop.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\RunLoop.h"
- >
- </File>
- <File
- RelativePath="..\platform\RuntimeApplicationChecks.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\RuntimeApplicationChecks.h"
- >
- </File>
- <File
- RelativePath="..\platform\SchemeRegistry.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\SchemeRegistry.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollableArea.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollableArea.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollAnimator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollAnimator.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollAnimatorNone.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollAnimatorNone.h"
- >
- </File>
- <File
- RelativePath="..\platform\Scrollbar.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Scrollbar.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollbarTheme.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollbarTheme.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollbarThemeClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollbarThemeComposite.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollbarThemeComposite.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollTypes.h"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollView.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ScrollView.h"
- >
- </File>
- <File
- RelativePath="..\platform\SearchPopupMenu.h"
- >
- </File>
- <File
- RelativePath="..\platform\SharedBuffer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\SharedBuffer.h"
- >
- </File>
- <File
- RelativePath="..\platform\SharedBufferChunkReader.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\SharedBufferChunkReader.h"
- >
- </File>
- <File
- RelativePath="..\platform\SharedTimer.h"
- >
- </File>
- <File
- RelativePath="..\platform\Sound.h"
- >
- </File>
- <File
- RelativePath="..\platform\SSLKeyGenerator.h"
- >
- </File>
- <File
- RelativePath="..\platform\StaticConstructors.h"
- >
- </File>
- <File
- RelativePath="..\platform\StatsCounter.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\StatsCounter.h"
- >
- </File>
- <File
- RelativePath="..\platform\SuddenTermination.h"
- >
- </File>
- <File
- RelativePath="..\platform\SystemTime.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextStyle.h"
- >
- </File>
- <File
- RelativePath="..\platform\Theme.h"
- >
- </File>
- <File
- RelativePath="..\platform\ThemeTypes.h"
- >
- </File>
- <File
- RelativePath="..\platform\ThreadGlobalData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ThreadGlobalData.h"
- >
- </File>
- <File
- RelativePath="..\platform\ThreadTimers.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\ThreadTimers.h"
- >
- </File>
- <File
- RelativePath="..\platform\Timer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Timer.h"
- >
- </File>
- <File
- RelativePath="..\platform\TreeShared.h"
- >
- </File>
- <File
- RelativePath="..\platform\UUID.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\UUID.h"
- >
- </File>
- <File
- RelativePath="..\platform\VisitedLinks.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\VisitedLinks.h"
- >
- </File>
- <File
- RelativePath="..\platform\VisitedLinkStrategy.h"
- >
- </File>
- <File
- RelativePath="..\platform\Widget.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\Widget.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\platform\win\BitmapInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\BitmapInfo.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\BString.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\BString.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ClipboardUtilitiesWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ClipboardUtilitiesWin.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ClipboardWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ClipboardWin.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\COMPtr.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ContextMenuItemWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ContextMenuWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\CursorWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\DefWndProcWindowClass.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\DefWndProcWindowClass.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\DelayLoadedModulesEnumerator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\DelayLoadedModulesEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\DragDataWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\DragImageCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\win\DragImageCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\win\DragImageWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\EditorWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\EventLoopWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\FileSystemWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\GDIObjectCounter.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\GDIObjectCounter.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\HWndDC.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ImportedFunctionsEnumerator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ImportedFunctionsEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ImportedModulesEnumerator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ImportedModulesEnumerator.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ImportedModulesEnumeratorBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\KeyEventWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\LanguageWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\LocalizedStringsWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\LoggingWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\MIMETypeRegistryWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PasteboardWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PathWalker.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PathWalker.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\PEImage.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PEImage.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\PlatformMouseEventWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PlatformScreenWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PopupMenuWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\PopupMenuWin.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\RunLoopWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ScrollbarThemeSafari.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ScrollbarThemeSafari.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\ScrollbarThemeWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\ScrollbarThemeWin.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\SearchPopupMenuWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\SearchPopupMenuWin.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\SharedBufferWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\SharedTimerWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\SoftLinking.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\SoundWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\StructuredExceptionHandlerSupressor.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\SystemInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\SystemInfo.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\SystemTimeWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\TemporaryLinkStubs.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\TextRenderingMode.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\WCDataObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\win\WCDataObject.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\WebCoreInstanceHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\WebCoreInstanceHandle.h"
- >
- </File>
- <File
- RelativePath="..\WebCorePrefix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- DisableSpecificWarnings="4819"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebCorePrefix.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\WebCoreTextRenderer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\WebCoreTextRenderer.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\WheelEventWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\WidgetWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\WindowMessageBroadcaster.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\win\WindowMessageBroadcaster.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\WindowMessageListener.h"
- >
- </File>
- <File
- RelativePath="..\platform\win\WindowsTouch.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\platform\cf\BinaryPropertyList.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\cf\BinaryPropertyList.h"
- >
- </File>
- <File
- RelativePath="..\platform\cf\FileSystemCF.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\cf\KURLCFNet.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\cf\RetainPtr.h"
- >
- </File>
- <File
- RelativePath="..\platform\cf\SchedulePair.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\cf\SchedulePair.h"
- >
- </File>
- <File
- RelativePath="..\platform\cf\SharedBufferCF.cpp"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\platform\cf\win\CertificateCFWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\cf\win\CertificateCFWin.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="graphics"
- >
- <File
- RelativePath="..\platform\graphics\BitmapImage.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\BitmapImage.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Color.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Color.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ColorPath.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\CrossfadeGeneratedImage.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\CrossfadeGeneratedImage.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatPoint.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatPoint.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatPoint3D.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatPoint3D.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatQuad.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatQuad.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatRect.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatRect.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatSize.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FloatSize.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Font.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Font.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontCache.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontCache.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontDescription.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontDescription.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFallbackList.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFallbackList.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFamily.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFamily.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFastPath.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFeatureSettings.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontFeatureSettings.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontMetrics.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontPlatformData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontPlatformData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontRenderingMode.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontSelector.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontSmoothingMode.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FontTraitsMask.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FractionalLayoutBoxExtent.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FractionalLayoutBoxExtent.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FractionalLayoutPoint.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FractionalLayoutRect.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FractionalLayoutRect.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\FractionalLayoutSize.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GeneratedImage.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Generator.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GeneratorGeneratedImage.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Glyph.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GlyphBuffer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GlyphMetricsMap.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GlyphPage.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GlyphPageTreeNode.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GlyphPageTreeNode.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Gradient.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Gradient.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsContext.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsContext.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsContextPrivate.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsLayer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsLayer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsLayerClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsTypes.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\GraphicsTypes.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Icon.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Image.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Image.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageBuffer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageBuffer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageBufferData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageObserver.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageOrientation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageOrientation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ImageSource.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\ImageSource.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\IntPoint.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\IntRect.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\IntRect.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\IntSize.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\IntSizeHash.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\MediaPlayer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\MediaPlayer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\NativeImagePtr.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Path.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Path.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\PathTraversalState.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\PathTraversalState.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Pattern.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Pattern.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\PlatformLayer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Region.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\Region.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\RoundedRect.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\RoundedRect.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SegmentedFontData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SegmentedFontData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ShadowBlur.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ShadowBlur.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SimpleFontData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SimpleFontData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\TextRun.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\TextRun.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\UnitBezier.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\WindRule.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\WOFFFileFormat.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\WOFFFileFormat.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\platform\graphics\win\DIBPixelData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\DIBPixelData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontCacheWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontCustomPlatformData.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontCustomPlatformData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontCustomPlatformDataCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontPlatformDataCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontPlatformDataCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontPlatformDataWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FontWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FullScreenController.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FullScreenController.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\FullScreenControllerClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\GlyphPageTreeNodeCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\GlyphPageTreeNodeCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\GraphicsContextCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\GraphicsContextCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\GraphicsContextWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\IconWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\ImageCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\ImageCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\ImageWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\IntPointWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\IntRectWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\IntSizeWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\LocalWindowsContext.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\MediaPlayerPrivateQuickTimeVisualContext.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\MediaPlayerPrivateQuickTimeVisualContext.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\MediaPlayerPrivateTaskTimer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\MediaPlayerPrivateTaskTimer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\opentype\OpenTypeTypes.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\opentype\OpenTypeUtilities.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\opentype\OpenTypeUtilities.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\opentype\OpenTypeVerticalData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\opentype\OpenTypeVerticalData.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\RefCountedGDIHandle.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\SimpleFontDataCairoWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\SimpleFontDataCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\SimpleFontDataWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\TransformationMatrixWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\UniscribeController.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\UniscribeController.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\win\WKCAImageQueue.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\win\WKCAImageQueue.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="cg"
- >
- <File
- RelativePath="..\platform\graphics\cg\ColorCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\FloatPointCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\FloatRectCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\FloatSizeCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\FontPlatformData.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\GradientCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\GraphicsContextCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\GraphicsContextPlatformPrivateCG.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\ImageBufferCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\ImageBufferDataCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\ImageCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\ImageSourceCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\ImageSourceCG.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\ImageSourceCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\IntPointCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\IntRectCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\IntSizeCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\PathCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\PatternCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\PDFDocumentImage.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\PDFDocumentImage.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cg\TransformationMatrixCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="cairo"
- >
- <File
- RelativePath="..\platform\graphics\cairo\BitmapImageCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\CairoPath.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\CairoUtilities.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\CairoUtilities.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\DrawErrorUnderline.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\FloatRectCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\FontCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\GradientCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\GraphicsContextCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\GraphicsContextPlatformPrivateCairo.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\ImageBufferCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\ImageCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\IntRectCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\NativeImageCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\OwnPtrCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\OwnPtrCairo.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\PathCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\PatternCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\PlatformContextCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\PlatformPathCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\PlatformPathCairo.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\RefPtrCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\RefPtrCairo.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\cairo\TransformationMatrixCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="transforms"
- >
- <File
- RelativePath="..\platform\graphics\transforms\AffineTransform.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\AffineTransform.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\IdentityTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\Matrix3DTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\Matrix3DTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\MatrixTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\MatrixTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\PerspectiveTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\PerspectiveTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\RotateTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\RotateTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\ScaleTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\ScaleTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\SkewTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\SkewTransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformationMatrix.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformationMatrix.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformOperations.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformOperations.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformState.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TransformState.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TranslateTransformOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\transforms\TranslateTransformOperation.h"
- >
- </File>
- </Filter>
- <Filter
- Name="filters"
- >
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterGlobalContext.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterGlobalContext.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterMesh.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterMesh.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterNumberParameter.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterParameter.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterProgram.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterProgram.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterProgramInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterProgramInfo.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterProgramClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterCompiledProgram.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\CustomFilterCompiledProgram.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\DistantLightSource.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\DistantLightSource.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEBlend.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEBlend.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\arm\FEBlendNEON.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEColorMatrix.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEColorMatrix.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEComponentTransfer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEComponentTransfer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEComposite.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEComposite.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\arm\FECompositeArithmeticNEON.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEConvolveMatrix.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEConvolveMatrix.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FECustomFilter.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FECustomFilter.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEDiffuseLighting.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEDiffuseLighting.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEDisplacementMap.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEDisplacementMap.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEDropShadow.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEDropShadow.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEFlood.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEFlood.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEGaussianBlur.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEGaussianBlur.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\arm\FEGaussianBlurNEON.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FELighting.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FELighting.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\arm\FELightingNEON.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\arm\FELightingNEON.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEMerge.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEMerge.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEMorphology.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEMorphology.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEOffset.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FEOffset.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FESpecularLighting.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FESpecularLighting.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FETile.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FETile.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FETurbulence.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FETurbulence.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\Filter.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FilterEffect.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FilterEffect.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FilterOperation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FilterOperation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FilterOperations.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\FilterOperations.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\LightSource.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\LightSource.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\arm\NEONHelpers.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\PointLightSource.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\PointLightSource.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\SourceAlpha.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\SourceAlpha.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\SourceGraphic.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\SourceGraphic.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\SpotLightSource.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\filters\SpotLightSource.h"
- >
- </File>
- </Filter>
- <Filter
- Name="ca"
- >
- <File
- RelativePath="..\platform\graphics\ca\GraphicsLayerCA.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\GraphicsLayerCA.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\PlatformCAAnimation.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\PlatformCALayer.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\PlatformCALayerClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\TransformationMatrixCA.cpp"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\platform\graphics\ca\win\AbstractCACFLayerTreeHost.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\CACFLayerTreeHost.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\CACFLayerTreeHost.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\CACFLayerTreeHostClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\LayerChangesFlusher.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\LayerChangesFlusher.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\LegacyCACFLayerTreeHost.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\LegacyCACFLayerTreeHost.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\PlatformCAAnimationWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\PlatformCALayerWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\PlatformCALayerWinInternal.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\PlatformCALayerWinInternal.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\WKCACFViewLayerTreeHost.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\ca\win\WKCACFViewLayerTreeHost.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="avfoundation"
- >
- <File
- RelativePath="..\platform\graphics\avfoundation\MediaPlayerPrivateAVFoundation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\avfoundation\MediaPlayerPrivateAVFoundation.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\platform\graphics\avfoundation\cf\AVFoundationCFSoftLinking.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\avfoundation\cf\CoreMediaSoftLinking.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\avfoundation\cf\MediaPlayerPrivateAVFoundationCF.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\avfoundation\cf\MediaPlayerPrivateAVFoundationCF.h"
- >
- </File>
- </Filter>
- </Filter>
- </Filter>
- <Filter
- Name="network"
- >
- <File
- RelativePath="..\platform\network\AuthenticationChallengeBase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\AuthenticationChallengeBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\AuthenticationClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobData.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobRegistry.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobRegistryImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobRegistryImpl.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobResourceHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobResourceHandle.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\BlobStorageData.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\CookieStorage.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\Credential.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\Credential.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\CredentialStorage.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\CredentialStorage.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\DataURL.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\DataURL.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\DNSResolveQueue.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\DNSResolveQueue.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\FormData.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\FormData.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\FormDataBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\FormDataBuilder.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPHeaderMap.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPHeaderMap.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPParsers.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPParsers.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPRequest.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPValidation.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\HTTPValidation.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\MIMEHeader.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\MIMEHeader.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\NetworkingContext.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\NetworkStateNotifier.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\NetworkStateNotifier.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ProtectionSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ProtectionSpace.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ProtectionSpaceHash.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ProxyServer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ProxyServer.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceErrorBase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceErrorBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceHandle.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceHandleClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceHandleInternal.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceLoadInfo.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceLoadPriority.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceLoadTiming.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceLoadTiming.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceRequestBase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceRequestBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceResponseBase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\ResourceResponseBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\SocketStreamErrorBase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\SocketStreamErrorBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\SocketStreamHandleBase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\SocketStreamHandleBase.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\SocketStreamHandleClient.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\platform\network\cf\AuthenticationCF.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\AuthenticationCF.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\AuthenticationChallenge.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\CookieJarCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\CookieStorageCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\CookieStorageCFNet.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\cf\CredentialStorageCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\DNSCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\DownloadBundle.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\cf\FormDataStreamCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\FormDataStreamCFNet.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\LoaderRunLoopCF.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\cf\LoaderRunLoopCF.h"
- >
- </File>
- <File
- RelativePath="..\platform\network\cf\ProxyServerCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceError.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceErrorCF.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceHandleCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceRequest.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceRequestCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceRequestCFNet.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceResponse.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\ResourceResponseCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\SocketStreamError.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\SocketStreamHandle.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\cf\SocketStreamHandleCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\platform\network\win\DownloadBundleWin.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\network\win\NetworkStateNotifierWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="curl"
- >
- <File
- RelativePath="..\platform\network\curl\AuthenticationChallenge.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\CookieJarCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\CredentialStorageCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\DNSCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\FormDataStreamCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\FormDataStreamCurl.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ProxyServerCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ResourceError.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ResourceHandleCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ResourceHandleManager.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ResourceHandleManager.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ResourceRequest.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\ResourceResponse.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\network\curl\SocketStreamHandleCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="sql"
- >
- <File
- RelativePath="..\platform\sql\SQLiteAuthorizer.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteDatabase.h"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteFileSystem.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteFileSystem.h"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteStatement.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteStatement.h"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteTransaction.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLiteTransaction.h"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLValue.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\sql\SQLValue.h"
- >
- </File>
- </Filter>
- <Filter
- Name="text"
- >
- <File
- RelativePath="..\platform\text\BidiContext.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\BidiContext.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\BidiResolver.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\BidiRunList.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\DateTimeFormat.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\DateTimeFormat.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\DecodeEscapeSequences.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\Hyphenation.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\LineBreakIteratorPoolICU.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\LineEnding.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\LineEnding.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\LocaleToScriptMapping.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\LocaleToScriptMappingDefault.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\LocalizedDate.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\LocalizedDateNone.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\LocalizedNumber.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\LocalizedNumberNone.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\ParserUtilities.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\PlatformString.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\QuotedPrintable.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\QuotedPrintable.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\RegularExpression.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\RegularExpression.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\SegmentedString.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\SegmentedString.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\String.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\StringHash.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\StringImpl.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\StringTruncator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\StringTruncator.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\StringWithDirection.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\SuffixTree.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SurrogatePairAwareTextIterator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SurrogatePairAwareTextIterator.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SVGGlyph.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\SVGGlyph.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextAllInOne.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextBoundaries.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextBoundaries.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextBreakIterator.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextBreakIteratorICU.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextBreakIteratorInternalICU.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCheckerClient.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextChecking.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodec.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextCodec.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodecASCIIFastPath.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodecICU.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextCodecICU.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodecLatin1.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextCodecLatin1.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodecUserDefined.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextCodecUserDefined.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodecUTF16.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextCodecUTF16.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextCodecUTF8.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextCodecUTF8.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextDirection.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextEncoding.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextEncoding.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextEncodingDetector.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextEncodingDetectorICU.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextEncodingRegistry.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextEncodingRegistry.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\TextStream.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\text\TextStream.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\UnicodeBidi.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\UnicodeRange.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\UnicodeRange.h"
- >
- </File>
- <File
- RelativePath="..\platform\text\WritingMode.h"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\WidthIterator.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\graphics\WidthIterator.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\platform\text\cf\HyphenationCF.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\cf\StringCF.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\cf\StringImplCF.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\platform\text\win\TextBreakIteratorInternalICUWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="transcoder"
- >
- <File
- RelativePath="..\platform\text\transcoder\FontTranscoder.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\text\transcoder\FontTranscoder.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="image-decoders"
- >
- <File
- RelativePath="..\platform\image-decoders\ImageDecoder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\ImageDecoder.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <Filter
- Name="cairo"
- >
- <File
- RelativePath="..\platform\image-decoders\cairo\ImageDecoderCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="gif"
- >
- <File
- RelativePath="..\platform\image-decoders\gif\GIFImageDecoder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\gif\GIFImageDecoder.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\gif\GIFImageReader.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\gif\GIFImageReader.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="jpeg"
- >
- <File
- RelativePath="..\platform\image-decoders\jpeg\JPEGImageDecoder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4481;4611"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4481;4611"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\jpeg\JPEGImageDecoder.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="png"
- >
- <File
- RelativePath="..\platform\image-decoders\png\PNGImageDecoder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4481;4611"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- DisableSpecificWarnings="4481;4611"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\png\PNGImageDecoder.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="bmp"
- >
- <File
- RelativePath="..\platform\image-decoders\bmp\BMPImageDecoder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\bmp\BMPImageDecoder.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\bmp\BMPImageReader.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\bmp\BMPImageReader.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="ico"
- >
- <File
- RelativePath="..\platform\image-decoders\ico\ICOImageDecoder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\image-decoders\ico\ICOImageDecoder.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="animation"
- >
- <File
- RelativePath="..\platform\animation\Animation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\animation\Animation.h"
- >
- </File>
- <File
- RelativePath="..\platform\animation\AnimationList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- ObjectFile="$(IntDir)\$(InputName)1.obj"
- XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\platform\animation\AnimationList.h"
- >
- </File>
- <File
- RelativePath="..\platform\animation\AnimationUtilities.h"
- >
- </File>
- <File
- RelativePath="..\platform\animation\TimingFunction.h"
- >
- </File>
- </Filter>
- <Filter
- Name="mock"
- >
- <File
- RelativePath="..\platform\mock\DeviceOrientationClientMock.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\mock\DeviceOrientationClientMock.h"
- >
- </File>
- <File
- RelativePath="..\platform\mock\GeolocationClientMock.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\mock\GeolocationClientMock.h"
- >
- </File>
- <File
- RelativePath="..\platform\mock\ScrollbarThemeMock.cpp"
- >
- </File>
- <File
- RelativePath="..\platform\mock\ScrollbarThemeMock.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="css"
- >
- <File
- RelativePath="..\css\Counter.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\css\CSSAspectRatioValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSAspectRatioValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSBorderImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSBorderImage.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSBorderImageSliceValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSBorderImageSliceValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSCalculationValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\CSSCalculationValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSCanvasValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSCanvasValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSCharsetRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSCharsetRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSComputedStyleDeclaration.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSComputedStyleDeclaration.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSCrossfadeValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSCrossfadeValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSCursorImageValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSCursorImageValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSFontFace.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSFontFace.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSFontFaceRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSFontFaceRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSFontFaceSource.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSFontFaceSource.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSFontFaceSrcValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSFontFaceSrcValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSFontSelector.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSFontSelector.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSFunctionValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSFunctionValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSGradientValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSGradientValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSGrammar.y"
- >
- </File>
- <File
- RelativePath="..\css\CSSHelper.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSImageGeneratorValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSImageGeneratorValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSImageValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSImageValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSImportRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSImportRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSInheritedValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSInheritedValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSInitialValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSInitialValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSLineBoxContainValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSLineBoxContainValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSMediaRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSMediaRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSNamespace.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSOMUtils.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSOMUtils.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSPageRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSPageRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSParser.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSParserMode.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSParserValues.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSParserValues.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSPrimitiveValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\CSSPrimitiveValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSProperty.cpp"
- >
- </File>
- <File
- RelativePath="..\css\CSSProperty.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSPropertyNames.in"
- >
- </File>
- <File
- RelativePath="..\css\CSSPropertySourceData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSPropertySourceData.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSReflectionDirection.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSReflectValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSReflectValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSRuleList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSRuleList.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSSegmentedFontFace.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSSegmentedFontFace.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSSelector.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSSelector.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSSelectorList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSSelectorList.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSStyleDeclaration.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSStyleRule.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSStyleRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSStyleSheet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSStyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSTimingFunctionValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSTimingFunctionValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSToStyleMap.cpp"
- >
- </File>
- <File
- RelativePath="..\css\CSSToStyleMap.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSUnicodeRangeValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSUnicodeRangeValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSUnknownRule.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSValueKeywords.in"
- >
- </File>
- <File
- RelativePath="..\css\CSSValueList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSValueList.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSValuePool.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSValuePool.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSVariableValue.h"
- >
- </File>
- <File
- RelativePath="..\css\CSSWrapShapes.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\CSSWrapShapes.h"
- >
- </File>
- <File
- RelativePath="..\css\DashboardRegion.h"
- >
- </File>
- <File
- RelativePath="..\css\FontFeatureValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\FontFeatureValue.h"
- >
- </File>
- <File
- RelativePath="..\css\FontValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\FontValue.h"
- >
- </File>
- <File
- RelativePath="..\css\fullscreen.css"
- >
- </File>
- <File
- RelativePath="..\css\fullscreenQuickTime.css"
- >
- </File>
- <File
- RelativePath="..\css\html.css"
- >
- </File>
- <File
- RelativePath="..\css\LengthFunctions.cpp"
- >
- </File>
- <File
- RelativePath="..\css\LengthFunctions.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaAllInOne.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\mediaControls.css"
- >
- </File>
- <File
- RelativePath="..\css\MediaFeatureNames.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaFeatureNames.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaList.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaList.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaQuery.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaQuery.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaQueryEvaluator.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaQueryEvaluator.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaQueryExp.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaQueryExp.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaQueryList.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaQueryList.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaQueryListListener.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaQueryListListener.h"
- >
- </File>
- <File
- RelativePath="..\css\MediaQueryMatcher.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\MediaQueryMatcher.h"
- >
- </File>
- <File
- RelativePath="..\css\Pair.h"
- >
- </File>
- <File
- RelativePath="..\css\PropertySetCSSStyleDeclaration.cpp"
- >
- </File>
- <File
- RelativePath="..\css\PropertySetCSSStyleDeclaration.h"
- >
- </File>
- <File
- RelativePath="..\css\quirks.css"
- >
- </File>
- <File
- RelativePath="..\css\Rect.h"
- >
- </File>
- <File
- RelativePath="..\css\RGBColor.cpp"
- >
- </File>
- <File
- RelativePath="..\css\RGBColor.h"
- >
- </File>
- <File
- RelativePath="..\css\SelectorChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\css\SelectorChecker.h"
- >
- </File>
- <File
- RelativePath="..\css\ShadowValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\ShadowValue.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleBuilder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\StyleBuilder.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleMedia.cpp"
- >
- </File>
- <File
- RelativePath="..\css\StyleMedia.h"
- >
- </File>
- <File
- RelativePath="..\css\StylePropertySet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\StylePropertySet.h"
- >
- </File>
- <File
- RelativePath="..\css\StylePropertyShorthand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\StylePropertyShorthand.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleResolver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\css\StyleResolver.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleRule.cpp"
- >
- </File>
- <File
- RelativePath="..\css\StyleRule.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleRuleImport.cpp"
- >
- </File>
- <File
- RelativePath="..\css\StyleRuleImport.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleSheet.cpp"
- >
- </File>
- <File
- RelativePath="..\css\StyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleSheetContents.cpp"
- >
- </File>
- <File
- RelativePath="..\css\StyleSheetContents.h"
- >
- </File>
- <File
- RelativePath="..\css\StyleSheetList.cpp"
- >
- </File>
- <File
- RelativePath="..\css\StyleSheetList.h"
- >
- </File>
- <File
- RelativePath="..\css\SVGCSSComputedStyleDeclaration.cpp"
- >
- </File>
- <File
- RelativePath="..\css\SVGCSSParser.cpp"
- >
- </File>
- <File
- RelativePath="..\css\SVGCSSStyleSelector.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSFilterValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSFilterValue.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSKeyframeRule.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSKeyframeRule.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSKeyframesRule.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSKeyframesRule.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSMatrix.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSMatrix.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSMixFunctionValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSMixFunctionValue.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSRegionRule.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSRegionRule.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSSVGDocumentValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSSVGDocumentValue.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSShaderValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSShaderValue.h"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSTransformValue.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WebKitCSSTransformValue.h"
- >
- </File>
- <File
- RelativePath="..\css\WrapShapeFunctions.cpp"
- >
- </File>
- <File
- RelativePath="..\css\WrapShapeFunctions.h"
- >
- </File>
- </Filter>
- <Filter
- Name="rendering"
- >
- <File
- RelativePath="..\rendering\AutoTableLayout.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\AutoTableLayout.h"
- >
- </File>
- <File
- RelativePath="..\rendering\BidiRun.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\BidiRun.h"
- >
- </File>
- <File
- RelativePath="..\rendering\break_lines.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\break_lines.h"
- >
- </File>
- <File
- RelativePath="..\rendering\CounterNode.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\CounterNode.h"
- >
- </File>
- <File
- RelativePath="..\rendering\EllipsisBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\EllipsisBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\FilterEffectRenderer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\FilterEffectRenderer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\FixedTableLayout.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\FixedTableLayout.h"
- >
- </File>
- <File
- RelativePath="..\rendering\FlowThreadController.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\FlowThreadController.h"
- >
- </File>
- <File
- RelativePath="..\rendering\GapRects.h"
- >
- </File>
- <File
- RelativePath="..\rendering\HitTestingTransformState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\HitTestingTransformState.h"
- >
- </File>
- <File
- RelativePath="..\rendering\HitTestRequest.h"
- >
- </File>
- <File
- RelativePath="..\rendering\HitTestResult.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\HitTestResult.h"
- >
- </File>
- <File
- RelativePath="..\rendering\InlineBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\InlineBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\InlineFlowBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\InlineFlowBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\InlineIterator.h"
- >
- </File>
- <File
- RelativePath="..\rendering\InlineTextBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\InlineTextBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\LayoutRepainter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\LayoutRepainter.h"
- >
- </File>
- <File
- RelativePath="..\rendering\LayoutState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\LayoutState.h"
- >
- </File>
- <File
- RelativePath="..\rendering\LayoutTypes.h"
- >
- </File>
- <File
- RelativePath="..\rendering\PaintInfo.h"
- >
- </File>
- <File
- RelativePath="..\rendering\PaintPhase.h"
- >
- </File>
- <File
- RelativePath="..\rendering\PointerEventsHitRules.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\PointerEventsHitRules.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderApplet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderApplet.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderArena.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderArena.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderBlock.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderBlock.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderBlockLineLayout.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderBoxModelObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderBoxModelObject.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderBR.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderBR.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderButton.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderButton.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderCombineText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderCombineText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderCounter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderCounter.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderDeprecatedFlexibleBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderDeprecatedFlexibleBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderDetailsMarker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderDetailsMarker.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderEmbeddedObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderEmbeddedObject.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFieldset.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderFieldset.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFileUploadControl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderFileUploadControl.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFlexibleBox.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFlexibleBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFlowThread.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFlowThread.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFlowThreadContainer.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFlowThreadContainer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderForeignObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderForeignObject.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFrame.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderFrame.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFrameBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderFrameBase.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFrameSet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderFrameSet.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFullScreen.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderFullScreen.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderGeometryMap.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderGeometryMap.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderGrid.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderGrid.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderHTMLCanvas.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderHTMLCanvas.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderIFrame.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderIFrame.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderImageResource.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderImageResource.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderImageResourceStyleImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderImageResourceStyleImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderingAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderInline.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderInline.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLayer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderLayer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLayerBacking.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLayerBacking.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLayerCompositor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderLayerCompositor.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLayerFilterInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLayerFilterInfo.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderLineBoxList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderLineBoxList.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderListBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderListBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderListItem.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderListItem.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderListMarker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderListMarker.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMarquee.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMarquee.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMedia.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMedia.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMediaControls.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMediaControls.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMenuList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMenuList.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMeter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMeter.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMultiColumnBlock.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMultiColumnBlock.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMultiColumnFlowThread.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMultiColumnFlowThread.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderMultiColumnSet.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderMultiColumnSet.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderNamedFlowThread.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderNamedFlowThread.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderObject.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderObjectChildList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderObjectChildList.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderPart.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderPart.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderProgress.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderProgress.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderQuote.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderQuote.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRegion.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRegion.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRegionSet.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRegionSet.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderReplaced.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderReplaced.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderReplica.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderReplica.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRuby.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderRuby.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRubyBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderRubyBase.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRubyRun.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderRubyRun.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderRubyText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderRubyText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderScrollbar.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderScrollbar.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderScrollbarPart.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderScrollbarPart.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderScrollbarTheme.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderScrollbarTheme.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderSearchField.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderSearchField.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderSelectionInfo.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderSlider.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderSlider.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGBlock.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGBlock.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGContainer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGContainer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGGradientStop.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGGradientStop.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGHiddenContainer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGHiddenContainer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGModelObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGModelObject.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResource.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResource.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceClipper.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceClipper.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceContainer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceContainer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceFilter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceFilter.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceFilterPrimitive.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceFilterPrimitive.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceGradient.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceGradient.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceLinearGradient.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceLinearGradient.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceMarker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceMarker.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceMasker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceMasker.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourcePattern.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourcePattern.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceRadialGradient.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceRadialGradient.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceSolidColor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGResourceSolidColor.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGRoot.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGRoot.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGTransformableContainer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGViewportContainer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTable.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTable.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTableCaption.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTableCaption.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTableCell.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTableCell.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTableCol.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTableCol.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTableRow.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTableRow.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTableSection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTableSection.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTextControl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTextControl.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTextControlMultiLine.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTextControlMultiLine.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTextControlSingleLine.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTextControlSingleLine.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTextFragment.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTextFragment.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTextTrackCue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTextTrackCue.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderTheme.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTheme.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderThemeSafari.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderThemeSafari.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderThemeWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderThemeWin.h"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTreeAsText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderTreeAsText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderVideo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderVideo.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderView.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderView.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderWidget.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderWidget.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RenderWordBreak.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RenderWordBreak.h"
- >
- </File>
- <File
- RelativePath="..\rendering\RootInlineBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\RootInlineBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\ScrollBehavior.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\ScrollBehavior.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGMarkerData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGPathData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGPathData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRenderingContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRenderingContext.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRenderSupport.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRenderSupport.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRenderTreeAsText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRenderTreeAsText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGResources.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGResources.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGResourcesCache.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGResourcesCache.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGResourcesCycleSolver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGResourcesCycleSolver.h"
- >
- </File>
- <File
- RelativePath="..\rendering\TableLayout.h"
- >
- </File>
- <File
- RelativePath="..\rendering\TrailingFloatsRootInlineBox.h"
- >
- </File>
- <Filter
- Name="mathml"
- >
- <File
- RelativePath="..\rendering\mathml\RenderMathMLBlock.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLBlock.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLFenced.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLFenced.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLFraction.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLFraction.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLMath.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLMath.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLOperator.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLOperator.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLRoot.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLRoot.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLRow.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLRow.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLSquareRoot.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLSquareRoot.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLSubSup.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLSubSup.h"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLUnderOver.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\mathml\RenderMathMLUnderOver.h"
- >
- </File>
- </Filter>
- <Filter
- Name="style"
- >
- <File
- RelativePath="..\rendering\style\BorderData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\BorderValue.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\CollapsedBorderValue.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\ContentData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\ContentData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\CounterContent.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\CounterDirectives.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\CounterDirectives.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\CursorData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\CursorList.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\DataRef.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\FillLayer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\FillLayer.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\KeyframeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\KeyframeList.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\NinePieceImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\NinePieceImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\OutlineValue.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\QuotesData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\QuotesData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\RenderStyle.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\RenderStyle.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\RenderStyleConstants.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\ShadowData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\ShadowData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleBackgroundData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleBackgroundData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleBoxData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleBoxData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleCachedImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleCachedImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleCachedShader.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleCachedShader.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleCustomFilterProgram.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleDeprecatedFlexibleBoxData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleDeprecatedFlexibleBoxData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleFilterData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleFilterData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleFlexibleBoxData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleFlexibleBoxData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleGeneratedImage.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleGeneratedImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleGridData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleGridData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleGridItemData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleGridItemData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleInheritedData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleInheritedData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleMarqueeData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleMarqueeData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleMultiColData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleMultiColData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StylePendingImage.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StylePendingShader.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleRareInheritedData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleRareInheritedData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleRareNonInheritedData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleRareNonInheritedData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleReflection.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleShader.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleSurroundData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleSurroundData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleTransformData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleTransformData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleVisualData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\StyleVariableData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\StyleVisualData.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\SVGRenderStyle.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\SVGRenderStyle.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\SVGRenderStyleDefs.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\style\SVGRenderStyleDefs.h"
- >
- </File>
- <File
- RelativePath="..\rendering\style\WrapShapes.cpp"
- >
- </File>
- <File
- RelativePath="..\rendering\style\WrapShapes.h"
- >
- </File>
- </Filter>
- <Filter
- Name="svg"
- >
- <File
- RelativePath="..\rendering\svg\RenderSVGEllipse.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGEllipse.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGInline.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGInline.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGInlineText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGInlineText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGPath.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGPath.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGRect.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGRect.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGShape.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGShape.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGText.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGTextPath.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGTextPath.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGTSpan.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\RenderSVGTSpan.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGInlineFlowBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGInlineFlowBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGInlineTextBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGInlineTextBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRootInlineBox.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGRootInlineBox.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextChunk.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextChunk.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextChunkBuilder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextChunkBuilder.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextFragment.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutAttributes.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutAttributes.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutAttributesBuilder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutAttributesBuilder.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutEngine.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutEngine.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutEngineBaseline.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutEngineBaseline.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutEngineSpacing.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextLayoutEngineSpacing.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextMetrics.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextMetrics.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextMetricsBuilder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextMetricsBuilder.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextQuery.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextQuery.h"
- >
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextRunRenderingContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\rendering\svg\SVGTextRunRenderingContext.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="xml"
- >
- <File
- RelativePath="..\xml\DOMParser.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\DOMParser.h"
- >
- </File>
- <File
- RelativePath="..\xml\NativeXPathNSResolver.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\NativeXPathNSResolver.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLErrors.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLErrors.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequest.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestException.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestException.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestProgressEvent.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestProgressEventThrottle.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestProgressEventThrottle.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestUpload.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLHttpRequestUpload.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLSerializer.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLSerializer.h"
- >
- </File>
- <File
- RelativePath="..\xml\XMLTreeViewer.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XMLTreeViewer.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathEvaluator.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathEvaluator.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathException.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathException.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathExpression.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathExpression.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathExpressionNode.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathExpressionNode.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathFunctions.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathFunctions.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathGrammar.y"
- >
- </File>
- <File
- RelativePath="..\xml\XPathNodeSet.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathNodeSet.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathNSResolver.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathNSResolver.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\xml\XPathParser.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathPath.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathPath.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathPredicate.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathPredicate.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathResult.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathResult.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathStep.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathStep.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathUtil.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathUtil.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathValue.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathValue.h"
- >
- </File>
- <File
- RelativePath="..\xml\XPathVariableReference.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XPathVariableReference.h"
- >
- </File>
- <File
- RelativePath="..\xml\XSLImportRule.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XSLImportRule.h"
- >
- </File>
- <File
- RelativePath="..\xml\XSLStyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\xml\XSLStyleSheetLibxslt.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTExtensions.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTExtensions.h"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTProcessor.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTProcessor.h"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTProcessorLibxslt.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTUnicodeSort.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\XSLTUnicodeSort.h"
- >
- </File>
- <Filter
- Name="parser"
- >
- <File
- RelativePath="..\xml\parser\CharacterReferenceInlineMethods.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\MarkupTokenBase.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\MarkupTokenizerBase.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\MarkupTokenizerInlineMethods.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\NewXMLDocumentParser.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\parser\NewXMLDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLDocumentParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\xml\parser\XMLDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLDocumentParserLibxml2.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLDocumentParserScope.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\xml\parser\XMLDocumentParserScope.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLToken.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLTokenizer.h"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLTreeBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\xml\parser\XMLTreeBuilder.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="dom"
- >
- <File
- RelativePath="..\dom\ActiveDOMObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ActiveDOMObject.h"
- >
- </File>
- <File
- RelativePath="..\dom\AtomicStringList.h"
- >
- </File>
- <File
- RelativePath="..\dom\Attr.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Attr.h"
- >
- </File>
- <File
- RelativePath="..\dom\Attribute.h"
- >
- </File>
- <File
- RelativePath="..\dom\BeforeLoadEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\BeforeTextInsertedEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\BeforeTextInsertedEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\BeforeUnloadEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\BeforeUnloadEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\CDATASection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\CDATASection.h"
- >
- </File>
- <File
- RelativePath="..\dom\CharacterData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\CharacterData.h"
- >
- </File>
- <File
- RelativePath="..\dom\CheckedRadioButtons.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\CheckedRadioButtons.h"
- >
- </File>
- <File
- RelativePath="..\dom\ChildListMutationScope.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ChildListMutationScope.h"
- >
- </File>
- <File
- RelativePath="..\dom\ChildNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ChildNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\ClassNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ClassNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\ClientRect.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ClientRect.h"
- >
- </File>
- <File
- RelativePath="..\dom\ClientRectList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ClientRectList.h"
- >
- </File>
- <File
- RelativePath="..\dom\Clipboard.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Clipboard.h"
- >
- </File>
- <File
- RelativePath="..\dom\ClipboardAccessPolicy.h"
- >
- </File>
- <File
- RelativePath="..\dom\ClipboardEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ClipboardEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\Comment.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Comment.h"
- >
- </File>
- <File
- RelativePath="..\dom\ComposedShadowTreeWalker.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\ComposedShadowTreeWalker.h"
- >
- </File>
- <File
- RelativePath="..\dom\CompositionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\CompositionEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\ContainerNode.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ContainerNode.h"
- >
- </File>
- <File
- RelativePath="..\dom\ContextDestructionObserver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ContextDestructionObserver.h"
- >
- </File>
- <File
- RelativePath="..\dom\CrossThreadTask.h"
- >
- </File>
- <File
- RelativePath="..\dom\CustomEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\CustomEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\DatasetDOMStringMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DatasetDOMStringMap.h"
- >
- </File>
- <File
- RelativePath="..\dom\DataTransferItem.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DataTransferItem.h"
- >
- </File>
- <File
- RelativePath="..\dom\DataTransferItemList.h"
- >
- </File>
- <File
- RelativePath="..\dom\DecodedDataDocumentParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DecodedDataDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceMotionClient.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceMotionController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DeviceMotionController.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceMotionData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DeviceMotionData.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceMotionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DeviceMotionEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationClient.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationController.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationData.h"
- >
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DeviceOrientationEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\Document.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Document.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentFragment.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DocumentFragment.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentMarker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DocumentMarker.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentMarkerController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DocumentMarkerController.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentOrderedMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DocumentOrderedMap.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentTiming.h"
- >
- </File>
- <File
- RelativePath="..\dom\DocumentType.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DocumentType.h"
- >
- </File>
- <File
- RelativePath="..\dom\DOMAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\DOMCoreException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DOMCoreException.h"
- >
- </File>
- <File
- RelativePath="..\dom\DOMError.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DOMError.h"
- >
- </File>
- <File
- RelativePath="..\dom\DOMImplementation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DOMImplementation.h"
- >
- </File>
- <File
- RelativePath="..\dom\DOMStringList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DOMStringList.h"
- >
- </File>
- <File
- RelativePath="..\dom\DOMStringMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DOMStringMap.h"
- >
- </File>
- <File
- RelativePath="..\dom\DOMTimeStamp.h"
- >
- </File>
- <File
- RelativePath="..\dom\DynamicNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\DynamicNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\EditingText.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EditingText.h"
- >
- </File>
- <File
- RelativePath="..\dom\Element.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Element.h"
- >
- </File>
- <File
- RelativePath="..\dom\Entity.h"
- >
- </File>
- <File
- RelativePath="..\dom\EntityReference.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EntityReference.h"
- >
- </File>
- <File
- RelativePath="..\dom\ErrorEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ErrorEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\Event.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Event.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EventContext.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventDispatcher.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EventDispatcher.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventDispatchMediator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EventDispatchMediator.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EventException.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventListener.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventListenerMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|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>
- </File>
- <File
- RelativePath="..\dom\EventListenerMap.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventNames.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EventNames.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventQueue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\EventQueue.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventSender.h"
- >
- </File>
- <File
- RelativePath="..\dom\EventTarget.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|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>
- </File>
- <File
- RelativePath="..\dom\EventTarget.h"
- >
- </File>
- <File
- RelativePath="..\dom\ExceptionBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ExceptionBase.h"
- >
- </File>
- <File
- RelativePath="..\dom\ExceptionCode.h"
- >
- </File>
- <File
- RelativePath="..\dom\ExceptionCodePlaceholder.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ExceptionCodePlaceholder.h"
- >
- </File>
- <File
- RelativePath="..\dom\GenericEventQueue.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\GenericEventQueue.h"
- >
- </File>
- <File
- RelativePath="..\dom\HashChangeEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\IconURL.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\IconURL.h"
- >
- </File>
- <File
- RelativePath="..\dom\IdTargetObserver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\IdTargetObserver.h"
- >
- </File>
- <File
- RelativePath="..\dom\IdTargetObserverRegistry.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\IdTargetObserverRegistry.h"
- >
- </File>
- <File
- RelativePath="..\dom\IgnoreDestructiveWriteCountIncrementer.h"
- >
- </File>
- <File
- RelativePath="..\dom\KeyboardEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\KeyboardEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\MemoryInstrumentation.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\MemoryInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\dom\MessageChannel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MessageChannel.h"
- >
- </File>
- <File
- RelativePath="..\dom\MessageEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MessageEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\MessagePort.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MessagePort.h"
- >
- </File>
- <File
- RelativePath="..\dom\MessagePortChannel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MessagePortChannel.h"
- >
- </File>
- <File
- RelativePath="..\dom\MicroDataItemList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MicroDataItemList.h"
- >
- </File>
- <File
- RelativePath="..\dom\MouseEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MouseEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\MouseRelatedEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MouseRelatedEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\MutationEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MutationEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\MutationObserver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MutationObserver.h"
- >
- </File>
- <File
- RelativePath="..\dom\MutationObserverInterestGroup.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MutationObserverInterestGroup.h"
- >
- </File>
- <File
- RelativePath="..\dom\MutationObserverRegistration.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MutationObserverRegistration.h"
- >
- </File>
- <File
- RelativePath="..\dom\MutationRecord.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\MutationRecord.h"
- >
- </File>
- <File
- RelativePath="..\dom\NamedNodeMap.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\NamedNodeMap.h"
- >
- </File>
- <File
- RelativePath="..\dom\NameNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\NameNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\Node.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\Node.h"
- >
- </File>
- <File
- RelativePath="..\dom\NodeFilter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\NodeFilter.h"
- >
- </File>
- <File
- RelativePath="..\dom\NodeFilterCondition.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\NodeFilterCondition.h"
- >
- </File>
- <File
- RelativePath="..\dom\NodeIterator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\NodeIterator.h"
- >
- </File>
- <File
- RelativePath="..\dom\NodeRenderingContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\NodeRenderingContext.h"
- >
- </File>
- <File
- RelativePath="..\dom\Notation.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Notation.h"
- >
- </File>
- <File
- RelativePath="..\dom\OverflowEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\OverflowEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\PageTransitionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\PageTransitionEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\PendingScript.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\PendingScript.h"
- >
- </File>
- <File
- RelativePath="..\dom\default\PlatformMessagePortChannel.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\default\PlatformMessagePortChannel.h"
- >
- </File>
- <File
- RelativePath="..\dom\PopStateEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\PopStateEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\Position.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Position.h"
- >
- </File>
- <File
- RelativePath="..\dom\PositionIterator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\PositionIterator.h"
- >
- </File>
- <File
- RelativePath="..\dom\ProcessingInstruction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ProcessingInstruction.h"
- >
- </File>
- <File
- RelativePath="..\dom\ProgressEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ProgressEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\PropertyNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\PropertyNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\QualifiedName.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\QualifiedName.h"
- >
- </File>
- <File
- RelativePath="..\dom\Range.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Range.h"
- >
- </File>
- <File
- RelativePath="..\dom\RangeBoundaryPoint.h"
- >
- </File>
- <File
- RelativePath="..\dom\RangeException.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\RangeException.h"
- >
- </File>
- <File
- RelativePath="..\dom\RegisteredEventListener.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\RegisteredEventListener.h"
- >
- </File>
- <File
- RelativePath="..\dom\RenderedDocumentMarker.h"
- >
- </File>
- <File
- RelativePath="..\dom\ScopedEventQueue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ScopedEventQueue.h"
- >
- </File>
- <File
- RelativePath="..\dom\ScriptableDocumentParser.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ScriptableDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\dom\ScriptedAnimationController.cpp"
- >
- </File>
- <File
- RelativePath="..\dom\ScriptedAnimationController.h"
- >
- </File>
- <File
- RelativePath="..\dom\ScriptElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ScriptElement.h"
- >
- </File>
- <File
- RelativePath="..\dom\ScriptExecutionContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ScriptExecutionContext.h"
- >
- </File>
- <File
- RelativePath="..\dom\ScriptRunner.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ScriptRunner.h"
- >
- </File>
- <File
- RelativePath="..\dom\SecurityContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\SecurityContext.h"
- >
- </File>
- <File
- RelativePath="..\dom\SelectorQuery.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\SelectorQuery.h"
- >
- </File>
- <File
- RelativePath="..\dom\SpaceSplitString.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\SpaceSplitString.h"
- >
- </File>
- <File
- RelativePath="..\dom\StaticHashSetNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\StaticHashSetNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\StaticNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\StaticNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\StringCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\StringCallback.h"
- >
- </File>
- <File
- RelativePath="..\dom\StyledElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\StyledElement.h"
- >
- </File>
- <File
- RelativePath="..\dom\StyleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\StyleElement.h"
- >
- </File>
- <File
- RelativePath="..\dom\TagNodeList.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\TagNodeList.h"
- >
- </File>
- <File
- RelativePath="..\dom\Text.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Text.h"
- >
- </File>
- <File
- RelativePath="..\dom\TextEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\TextEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\TextEventInputType.h"
- >
- </File>
- <File
- RelativePath="..\dom\TransformSource.h"
- >
- </File>
- <File
- RelativePath="..\dom\TransformSourceLibxslt.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Traversal.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\Traversal.h"
- >
- </File>
- <File
- RelativePath="..\dom\TreeDepthLimit.h"
- >
- </File>
- <File
- RelativePath="..\dom\TreeScope.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\TreeScope.h"
- >
- </File>
- <File
- RelativePath="..\dom\TreeScopeAdopter.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\TreeScopeAdopter.h"
- >
- </File>
- <File
- RelativePath="..\dom\TreeWalker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\TreeWalker.h"
- >
- </File>
- <File
- RelativePath="..\dom\UIEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\UIEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\UIEventWithKeyState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\UIEventWithKeyState.h"
- >
- </File>
- <File
- RelativePath="..\dom\UserGestureIndicator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\UserGestureIndicator.h"
- >
- </File>
- <File
- RelativePath="..\dom\UserTypingGestureIndicator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\UserTypingGestureIndicator.h"
- >
- </File>
- <File
- RelativePath="..\dom\ViewportArguments.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\ViewportArguments.h"
- >
- </File>
- <File
- RelativePath="..\dom\WebKitAnimationEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\WebKitAnimationEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\WebKitNamedFlow.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\WebKitNamedFlow.h"
- >
- </File>
- <File
- RelativePath="..\dom\WebKitNamedFlowCollection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\WebKitNamedFlowCollection.h"
- >
- </File>
- <File
- RelativePath="..\dom\WebKitTransitionEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\WebKitTransitionEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\WheelEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\WheelEvent.h"
- >
- </File>
- <File
- RelativePath="..\dom\WindowEventContext.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\dom\WindowEventContext.h"
- >
- </File>
- </Filter>
- <Filter
- Name="workers"
- >
- <File
- RelativePath="..\workers\AbstractWorker.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\AbstractWorker.h"
- >
- </File>
- <File
- RelativePath="..\workers\DedicatedWorkerContext.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\DedicatedWorkerContext.h"
- >
- </File>
- <File
- RelativePath="..\workers\DedicatedWorkerThread.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\DedicatedWorkerThread.h"
- >
- </File>
- <File
- RelativePath="..\workers\DefaultSharedWorkerRepository.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\DefaultSharedWorkerRepository.h"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorker.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorker.h"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorkerContext.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorkerContext.h"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorkerRepository.h"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorkerThread.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\SharedWorkerThread.h"
- >
- </File>
- <File
- RelativePath="..\workers\Worker.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\Worker.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerContext.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerContext.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerContextProxy.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerEventQueue.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerEventQueue.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerLoaderProxy.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerLocation.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerLocation.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerMessagingProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerMessagingProxy.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerObjectProxy.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerReportingProxy.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerRunLoop.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerRunLoop.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerScriptLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerScriptLoader.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerScriptLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerThread.cpp"
- >
- </File>
- <File
- RelativePath="..\workers\WorkerThread.h"
- >
- </File>
- </Filter>
- <Filter
- Name="editing"
- >
- <File
- RelativePath="..\editing\AppendNodeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\AppendNodeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\ApplyStyleCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\ApplyStyleCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\BreakBlockquoteCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\BreakBlockquoteCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\CompositeEditCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\CompositeEditCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\CorrectionPanelInfo.h"
- >
- </File>
- <File
- RelativePath="..\editing\CreateLinkCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\CreateLinkCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\DeleteButton.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DeleteButton.h"
- >
- </File>
- <File
- RelativePath="..\editing\DeleteButtonController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DeleteButtonController.h"
- >
- </File>
- <File
- RelativePath="..\editing\DeleteFromTextNodeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DeleteFromTextNodeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\DeleteSelectionCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DeleteSelectionCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\DictationAlternative.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DictationAlternative.h"
- >
- </File>
- <File
- RelativePath="..\editing\DictationCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DictationCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\DOMTransactionStep.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\DOMTransactionStep.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditAction.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\EditCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditingAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\editing\EditingBehavior.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditingBehaviorTypes.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditingBoundary.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditingStyle.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\EditingStyle.h"
- >
- </File>
- <File
- RelativePath="..\editing\Editor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\Editor.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditorCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\EditorDeleteAction.h"
- >
- </File>
- <File
- RelativePath="..\editing\EditorInsertAction.h"
- >
- </File>
- <File
- RelativePath="..\editing\FindOptions.h"
- >
- </File>
- <File
- RelativePath="..\editing\FormatBlockCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\FormatBlockCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\FrameSelection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\FrameSelection.h"
- >
- </File>
- <File
- RelativePath="..\editing\htmlediting.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\htmlediting.h"
- >
- </File>
- <File
- RelativePath="..\editing\HTMLInterchange.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\HTMLInterchange.h"
- >
- </File>
- <File
- RelativePath="..\editing\IndentOutdentCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\IndentOutdentCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\InsertIntoTextNodeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\InsertIntoTextNodeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\InsertLineBreakCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\InsertLineBreakCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\InsertListCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\InsertListCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\InsertNodeBeforeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\InsertNodeBeforeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\InsertParagraphSeparatorCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\InsertParagraphSeparatorCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\InsertTextCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\InsertTextCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\markup.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\markup.h"
- >
- </File>
- <File
- RelativePath="..\editing\MarkupAccumulator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\MarkupAccumulator.h"
- >
- </File>
- <File
- RelativePath="..\editing\MergeIdenticalElementsCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\MergeIdenticalElementsCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\ModifySelectionListLevel.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\ModifySelectionListLevel.h"
- >
- </File>
- <File
- RelativePath="..\editing\MoveSelectionCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\MoveSelectionCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\RemoveCSSPropertyCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\RemoveCSSPropertyCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\RemoveFormatCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\RemoveNodeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\RemoveNodeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\RemoveNodePreservingChildrenCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\RemoveNodePreservingChildrenCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\RenderedPosition.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\RenderedPosition.h"
- >
- </File>
- <File
- RelativePath="..\editing\ReplaceNodeWithSpanCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\ReplaceNodeWithSpanCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\ReplaceSelectionCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\ReplaceSelectionCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SetNodeAttributeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SetNodeAttributeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SetSelectionCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SetSelectionCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SimplifyMarkupCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SimplifyMarkupCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SmartReplace.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SmartReplace.h"
- >
- </File>
- <File
- RelativePath="..\editing\SmartReplaceCF.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SpellChecker.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SpellChecker.h"
- >
- </File>
- <File
- RelativePath="..\editing\SpellingCorrectionCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SpellingCorrectionCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SplitElementCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SplitElementCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SplitTextNodeCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SplitTextNodeCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\SplitTextNodeContainingElementCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\SplitTextNodeContainingElementCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\TextAffinity.h"
- >
- </File>
- <File
- RelativePath="..\editing\TextCheckingHelper.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\TextCheckingHelper.h"
- >
- </File>
- <File
- RelativePath="..\editing\TextGranularity.h"
- >
- </File>
- <File
- RelativePath="..\editing\TextInsertionBaseCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\TextInsertionBaseCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\TextIterator.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\TextIterator.h"
- >
- </File>
- <File
- RelativePath="..\editing\TypingCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\TypingCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\UndoManager.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\UndoManager.h"
- >
- </File>
- <File
- RelativePath="..\editing\UndoStep.h"
- >
- </File>
- <File
- RelativePath="..\editing\UnlinkCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\UnlinkCommand.h"
- >
- </File>
- <File
- RelativePath="..\editing\visible_units.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\visible_units.h"
- >
- </File>
- <File
- RelativePath="..\editing\VisiblePosition.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\VisiblePosition.h"
- >
- </File>
- <File
- RelativePath="..\editing\VisibleSelection.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\VisibleSelection.h"
- >
- </File>
- <File
- RelativePath="..\editing\WrapContentsInDummySpanCommand.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\WrapContentsInDummySpanCommand.h"
- >
- </File>
- </Filter>
- <Filter
- Name="html"
- >
- <File
- RelativePath="..\fileapi\AsyncFileStream.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\AsyncFileStream.h"
- >
- </File>
- <File
- RelativePath="..\html\BaseButtonInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\BaseButtonInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\BaseCheckableInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\BaseCheckableInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\BaseClickableWithKeyInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\BaseClickableWithKeyInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\BaseDateAndTimeInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\BaseDateAndTimeInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\BaseTextInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\BaseTextInputType.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\Blob.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\Blob.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\BlobURL.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\BlobURL.h"
- >
- </File>
- <File
- RelativePath="..\html\ButtonInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ButtonInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasGradient.cpp"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasGradient.h"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasPattern.h"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasRenderingContext.cpp"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasRenderingContext.h"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasRenderingContext2D.cpp"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasRenderingContext2D.h"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasStyle.cpp"
- >
- </File>
- <File
- RelativePath="..\html\canvas\CanvasStyle.h"
- >
- </File>
- <File
- RelativePath="..\html\CheckboxInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\CheckboxInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\ClassList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ClassList.h"
- >
- </File>
- <File
- RelativePath="..\html\CollectionType.h"
- >
- </File>
- <File
- RelativePath="..\html\ColorInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ColorInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\canvas\DataView.cpp"
- >
- </File>
- <File
- RelativePath="..\html\canvas\DataView.h"
- >
- </File>
- <File
- RelativePath="..\html\DateInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DateInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\DateTimeInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DateTimeInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\DateTimeLocalInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DateTimeLocalInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\DOMFormData.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DOMFormData.h"
- >
- </File>
- <File
- RelativePath="..\html\DOMSettableTokenList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DOMSettableTokenList.h"
- >
- </File>
- <File
- RelativePath="..\html\DOMTokenList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DOMTokenList.h"
- >
- </File>
- <File
- RelativePath="..\html\DOMURL.cpp"
- >
- </File>
- <File
- RelativePath="..\html\DOMURL.h"
- >
- </File>
- <File
- RelativePath="..\html\EmailInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\EmailInputType.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\File.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\File.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileException.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileException.h"
- >
- </File>
- <File
- RelativePath="..\html\FileInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\FileInputType.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileList.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileList.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReader.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReader.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReaderLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReaderLoader.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReaderLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReaderSync.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileReaderSync.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileThread.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileThread.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\FileThreadTask.h"
- >
- </File>
- <File
- RelativePath="..\html\FormAssociatedElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\FormAssociatedElement.h"
- >
- </File>
- <File
- RelativePath="..\html\FormController.cpp"
- >
- </File>
- <File
- RelativePath="..\html\FormController.h"
- >
- </File>
- <File
- RelativePath="..\html\FormDataList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\FormDataList.h"
- >
- </File>
- <File
- RelativePath="..\html\FTPDirectoryDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\FTPDirectoryDocument.h"
- >
- </File>
- <File
- RelativePath="..\html\HiddenInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HiddenInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLAllCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLAllCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLAnchorElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLAnchorElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLAppletElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLAppletElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLAreaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLAreaElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLAudioElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLAudioElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLBaseElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLBaseElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLBaseFontElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLBaseFontElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLBDIElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLBodyElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLBodyElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLBRElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLBRElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLButtonElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLButtonElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLCanvasElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLCanvasElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDataListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLDataListElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDetailsElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLDetailsElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDirectoryElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLDirectoryElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDivElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLDivElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLDListElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLDocument.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLElementsAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLEmbedElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLEmbedElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFieldSetElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFieldSetElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFontElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFontElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFormCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFormCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFormControlElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFormControlElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFormControlElementWithState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFormControlElementWithState.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFormElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFormElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFrameElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFrameElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFrameElementBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFrameElementBase.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFrameOwnerElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFrameOwnerElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLFrameSetElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLFrameSetElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLHeadElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLHeadElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLHeadingElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLHeadingElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLHRElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLHRElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLHtmlElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLHtmlElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLIFrameElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLIFrameElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLImageElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLImageElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLImageLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLImageLoader.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLInputElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLInputElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLKeygenElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLKeygenElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLLabelElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLLabelElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLLegendElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLLegendElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLLIElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLLIElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLLinkElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLLinkElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLMapElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLMapElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLMarqueeElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLMarqueeElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLMediaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLMediaElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLMenuElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLMenuElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLMetaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLMetaElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLMeterElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLMeterElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLModElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLModElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLNameCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLNameCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLObjectElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLObjectElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLOListElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOptGroupElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLOptGroupElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOptionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLOptionElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOptionsCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOptionsCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOutputElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLOutputElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLParagraphElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLParagraphElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLParamElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLParamElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLParserErrorCodes.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLParserErrorCodes.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLPlugInElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLPlugInElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLPlugInImageElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLPlugInImageElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLPreElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLPreElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLProgressElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLProgressElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLPropertiesCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLPropertiesCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLQuoteElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLQuoteElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLScriptElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLScriptElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLSelectElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLSelectElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLSelectElementWin.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLSourceElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLSourceElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLSpanElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLSpanElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLStyleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLStyleElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLSummaryElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLSummaryElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableCaptionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTableCaptionElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableCellElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTableCellElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableColElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTableColElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTableElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTablePartElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTablePartElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableRowElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTableRowElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableRowsCollection.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableRowsCollection.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTableSectionElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTableSectionElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTextAreaElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTextAreaElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTextFormControlElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTextFormControlElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLTitleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLTitleElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLUListElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLUListElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLVideoElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\HTMLVideoElement.h"
- >
- </File>
- <File
- RelativePath="..\html\HTMLViewSourceDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\HTMLViewSourceDocument.h"
- >
- </File>
- <File
- RelativePath="..\html\ImageData.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ImageData.h"
- >
- </File>
- <File
- RelativePath="..\html\ImageDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ImageDocument.h"
- >
- </File>
- <File
- RelativePath="..\html\ImageInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ImageInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\InputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\InputType.h"
- >
- </File>
- <File
- RelativePath="..\html\LabelableElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\LabelableElement.h"
- >
- </File>
- <File
- RelativePath="..\html\LabelsNodeList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\LabelsNodeList.h"
- >
- </File>
- <File
- RelativePath="..\html\LinkRelAttribute.cpp"
- >
- </File>
- <File
- RelativePath="..\html\LinkRelAttribute.h"
- >
- </File>
- <File
- RelativePath="..\html\MediaController.cpp"
- >
- </File>
- <File
- RelativePath="..\html\MediaController.h"
- >
- </File>
- <File
- RelativePath="..\html\MediaDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\MediaDocument.h"
- >
- </File>
- <File
- RelativePath="..\html\MediaError.h"
- >
- </File>
- <File
- RelativePath="..\html\MediaFragmentURIParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\MediaFragmentURIParser.h"
- >
- </File>
- <File
- RelativePath="..\html\MicroDataItemValue.cpp"
- >
- </File>
- <File
- RelativePath="..\html\MicroDataItemValue.h"
- >
- </File>
- <File
- RelativePath="..\html\MonthInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\MonthInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\NumberInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\NumberInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\PasswordInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\PasswordInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\PluginDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\PluginDocument.h"
- >
- </File>
- <File
- RelativePath="..\html\PublicURLManager.h"
- >
- </File>
- <File
- RelativePath="..\html\RadioInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\RadioInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\RadioNodeList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\RadioNodeList.h"
- >
- </File>
- <File
- RelativePath="..\html\RangeInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\RangeInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\ResetInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ResetInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\SearchInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\SearchInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\StepRange.cpp"
- >
- </File>
- <File
- RelativePath="..\html\StepRange.h"
- >
- </File>
- <File
- RelativePath="..\html\SubmitInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\SubmitInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\TelephoneInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\TelephoneInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\TextDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\html\TextFieldInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\TextFieldInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\TextInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\TextInputType.h"
- >
- </File>
- <File
- RelativePath="..\fileapi\ThreadableBlobRegistry.cpp"
- >
- </File>
- <File
- RelativePath="..\fileapi\ThreadableBlobRegistry.h"
- >
- </File>
- <File
- RelativePath="..\html\TimeInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\TimeInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\TimeRanges.cpp"
- >
- </File>
- <File
- RelativePath="..\html\TimeRanges.h"
- >
- </File>
- <File
- RelativePath="..\html\URLInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\URLInputType.h"
- >
- </File>
- <File
- RelativePath="..\html\ValidationMessage.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ValidationMessage.h"
- >
- </File>
- <File
- RelativePath="..\html\ValidityState.cpp"
- >
- </File>
- <File
- RelativePath="..\html\ValidityState.h"
- >
- </File>
- <File
- RelativePath="..\html\VoidCallback.h"
- >
- </File>
- <File
- RelativePath="..\html\WeekInputType.cpp"
- >
- </File>
- <File
- RelativePath="..\html\WeekInputType.h"
- >
- </File>
- <Filter
- Name="parser"
- >
- <File
- RelativePath="..\html\parser\CSSPreloadScanner.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\CSSPreloadScanner.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLConstructionSite.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLConstructionSite.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLDocumentParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLElementStack.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLElementStack.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntityParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntityParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntitySearch.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLEntitySearch.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLFormattingElementList.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLFormattingElementList.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLInputStream.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLMetaCharsetParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLMetaCharsetParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLParserIdioms.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLParserIdioms.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLParserScheduler.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLParserScheduler.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLPreloadScanner.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLPreloadScanner.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLScriptRunner.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLScriptRunner.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLScriptRunnerHost.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLSourceTracker.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLSourceTracker.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLStackItem.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLToken.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTokenizer.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTokenizer.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTreeBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLTreeBuilder.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLViewSourceParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\HTMLViewSourceParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\NestingLevelIncrementer.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextDocumentParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextDocumentParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextViewSourceParser.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\TextViewSourceParser.h"
- >
- </File>
- <File
- RelativePath="..\html\parser\XSSAuditor.cpp"
- >
- </File>
- <File
- RelativePath="..\html\parser\XSSAuditor.h"
- >
- </File>
- </Filter>
- <Filter
- Name="shadow"
- >
- <File
- RelativePath="..\html\shadow\ContentDistributor.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ContentDistributor.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ContentSelectorQuery.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ContentSelectorQuery.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\DetailsMarkerControl.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\DetailsMarkerControl.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\HTMLContentElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\shadow\HTMLContentElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\HTMLShadowElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\html\shadow\HTMLShadowElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\InsertionPoint.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\InsertionPoint.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ImageInnerElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ImageInnerElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MediaControlElements.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MediaControlElements.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MediaControlRootElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MediaControlRootElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MediaControls.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MediaControls.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MeterShadowElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\MeterShadowElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ProgressBarValueElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ProgressShadowElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\ProgressShadowElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\SliderThumbElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\SliderThumbElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\SpinButtonElement.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\SpinButtonElement.h"
- >
- </File>
- <File
- RelativePath="..\html\shadow\TextControlInnerElements.cpp"
- >
- </File>
- <File
- RelativePath="..\html\shadow\TextControlInnerElements.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="bindings"
- >
- <File
- RelativePath="..\bindings\ScriptControllerBase.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\ScriptControllerBase.h"
- >
- </File>
- <Filter
- Name="generic"
- >
- <File
- RelativePath="..\bindings\generic\ActiveDOMCallback.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\generic\ActiveDOMCallback.h"
- >
- </File>
- <File
- RelativePath="..\bindings\generic\BindingSecurity.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\generic\BindingSecurity.h"
- >
- </File>
- <File
- RelativePath="..\bindings\generic\GenericBinding.h"
- >
- </File>
- <File
- RelativePath="..\bindings\generic\RuntimeEnabledFeatures.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\generic\RuntimeEnabledFeatures.h"
- >
- </File>
- </Filter>
- <Filter
- Name="js"
- >
- <File
- RelativePath="..\bindings\js\ArrayValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ArrayValue.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\CachedScriptSourceProvider.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\CallbackFunction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\BindingState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\BindingState.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\CallbackFunction.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\Dictionary.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\DOMObjectHashTableMap.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\DOMObjectHashTableMap.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\DOMTransaction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\DOMTransaction.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\DOMWrapperWorld.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\DOMWrapperWorld.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\GCController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\GCController.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\IDBBindingUtilities.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\IDBBindingUtilities.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\IDBCustomBindings.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JavaScriptCallFrame.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JavaScriptCallFrame.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSAttrCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSBindingsAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSBlobCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCallbackData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCallbackData.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSCanvasRenderingContext2DCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCanvasRenderingContextCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCDATASectionCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSClipboardCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSConsoleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCoordinatesCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSFontFaceRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSImportRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSMediaRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSPageRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSRuleListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSStyleDeclarationCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSStyleDeclarationCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSStyleRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCSSValueCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCustomSQLStatementErrorCallback.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCustomXPathNSResolver.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSCustomXPathNSResolver.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDedicatedWorkerContextCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDesktopNotificationsCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDeviceMotionEventCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDeviceOrientationEventCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDictionary.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDictionary.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDocumentCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMBinding.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMBinding.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMFormDataCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMGlobalObject.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMGlobalObject.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMImplementationCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMMimeTypeArrayCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMPluginArrayCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMPluginCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMStringListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMStringMapCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMStringMapCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMTokenListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowBase.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowShell.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowShell.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowWebAudioCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWindowWebSocketCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWrapper.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSDOMWrapper.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSEntryCustom.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSEntrySyncCustom.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSErrorHandler.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSErrorHandler.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSEventCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSEventListener.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSEventListener.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSEventSourceCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSEventTargetCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSExceptionBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSExceptionBase.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSFileReaderCustom.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSGeolocationCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHistoryCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHistoryCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLAllCollectionCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLAppletElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLAppletElementCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLCanvasElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLCollectionCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLDocumentCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLEmbedElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLEmbedElementCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLFormElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLFrameElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLFrameSetElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLInputElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLInputElementCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLLinkElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLObjectElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLObjectElementCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLOptionsCollectionCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLOutputElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLSelectElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLSelectElementCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSHTMLStyleElementCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSImageConstructor.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSImageConstructor.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSImageDataCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSInjectedScriptHostCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSInjectedScriptManager.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSInspectorFrontendHostCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSJavaScriptCallFrameCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSLazyEventListener.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSLazyEventListener.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSLocationCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSLocationCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSMainThreadExecState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMainThreadExecState.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSMediaListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMemoryInfoCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMessageChannelCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMessageEventCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMessagePortCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMessagePortCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSMicroDataItemValueCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMicroDataItemValueCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSMutationCallbackCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSMutationObserverCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNamedNodeMapCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeFilterCondition.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeFilterCondition.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeFilterCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeIteratorCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNodeListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSNotificationCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSPluginElementFunctions.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSPluginElementFunctions.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSProcessingInstructionCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSRequestAnimationFrameCallbackCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSScriptProfileNodeCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSharedWorkerCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSQLResultSetRowListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSQLTransactionCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSQLTransactionSyncCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSStorageCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSStorageCustom.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSStyleSheetCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSStyleSheetListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSVGElementInstanceCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSVGLengthCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSSVGPathSegCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSTextCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSTreeWalkerCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSUndoManagerCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebKitAnimationCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebKitAnimationListCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebKitCSSKeyframeRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebKitCSSKeyframesRuleCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebKitCSSMatrixCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebKitPointCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWebSocketCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWorkerContextBase.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWorkerContextBase.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\JSWorkerContextCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSWorkerCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSXMLHttpRequestCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSXMLHttpRequestUploadCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSXPathResultCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\JSXSLTProcessorCustom.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\PageScriptDebugServer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\PageScriptDebugServer.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\PageScriptDebugServer.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScheduledAction.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScheduledAction.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptCachedFrameData.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptCachedFrameData.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptCallStackFactory.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptCallStackFactory.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptController.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptControllerWin.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptDebugServer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptDebugServer.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptEventListener.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptEventListener.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptFunctionCall.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptFunctionCall.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptGCEvent.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptGCEvent.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptHeapSnapshot.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptInstance.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptObject.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptObject.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptProfile.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptProfile.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptProfileNode.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptProfiler.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptProfiler.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptSourceCode.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptSourceProvider.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptState.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\ScriptState.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptValue.cpp"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptValue.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\ScriptWrappable.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\SerializedScriptValue.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\SerializedScriptValue.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\StringSourceProvider.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\WebCoreJSClientData.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\WorkerScriptController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\bindings\js\WorkerScriptController.h"
- >
- </File>
- <File
- RelativePath="..\bindings\js\WorkerScriptDebugServer.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="scripts"
- >
- <File
- RelativePath="..\bindings\scripts\CodeGenerator.pm"
- >
- </File>
- <File
- RelativePath="..\bindings\scripts\CodeGeneratorJS.pm"
- >
- </File>
- <File
- RelativePath="..\bindings\scripts\generate-bindings.pl"
- >
- </File>
- <File
- RelativePath="..\bindings\scripts\IDLAttributes.txt"
- >
- </File>
- <File
- RelativePath="..\bindings\scripts\IDLParser.pm"
- >
- </File>
- <File
- RelativePath="..\bindings\scripts\IDLStructure.pm"
- >
- </File>
- <File
- RelativePath="..\bindings\scripts\preprocess-idls.pl"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="plugins"
- >
- <File
- RelativePath="..\plugins\DOMMimeType.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMMimeType.h"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMMimeTypeArray.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMMimeTypeArray.h"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMPlugin.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMPlugin.h"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMPluginArray.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\DOMPluginArray.h"
- >
- </File>
- <File
- RelativePath="..\plugins\npapi.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\npapi.h"
- >
- </File>
- <File
- RelativePath="..\plugins\npfunctions.h"
- >
- </File>
- <File
- RelativePath="..\plugins\npruntime.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginData.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginData.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginDatabase.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginDebug.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginDebug.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginMainThreadScheduler.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginMainThreadScheduler.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginPackage.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginPackage.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginQuirkSet.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginStrategy.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginStream.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginStream.h"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginView.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\PluginView.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\plugins\win\PluginDatabaseWin.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\win\PluginMessageThrottlerWin.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\win\PluginMessageThrottlerWin.h"
- >
- </File>
- <File
- RelativePath="..\plugins\win\PluginPackageWin.cpp"
- >
- </File>
- <File
- RelativePath="..\plugins\win\PluginViewWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="svg"
- >
- <File
- RelativePath="..\svg\ColorDistance.h"
- >
- </File>
- <File
- RelativePath="..\svg\DeprecatedSVGAnimatedProperty.h"
- >
- </File>
- <File
- RelativePath="..\svg\DeprecatedSVGAnimatedPropertyTraits.h"
- >
- </File>
- <File
- RelativePath="..\svg\DeprecatedSVGAnimatedTemplate.h"
- >
- </File>
- <File
- RelativePath="..\svg\ElementTimeControl.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAllInOne.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAltGlyphDefElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAltGlyphElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAltGlyphItemElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAngle.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimateColorElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedAngle.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedBoolean.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedColor.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedEnumeration.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedInteger.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedIntegerOptionalInteger.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedLength.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedLengthList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedNumber.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedNumberList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedNumberOptionalNumber.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedPath.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedPointList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedPreserveAspectRatio.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedRect.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedString.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedTransformList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedType.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatedTypeAnimator.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimateElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimateMotionElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimateTransformElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimationElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGAnimatorFactory.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGCircleElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGClipPathElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGColor.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGComponentTransferFunctionElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGCursorElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGDefsElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGDescElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGDocument.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGDocumentExtensions.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGElementInstance.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGElementInstanceList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGElementRareData.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGEllipseElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGException.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGExternalResourcesRequired.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEBlendElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEColorMatrixElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEComponentTransferElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFECompositeElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEConvolveMatrixElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEDiffuseLightingElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEDisplacementMapElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEDistantLightElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEDropShadowElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEFloodElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEFuncAElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEFuncBElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEFuncGElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEFuncRElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEGaussianBlurElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEImageElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFELightElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEMergeElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEMergeNodeElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEOffsetElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFEPointLightElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFESpecularLightingElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFESpotLightElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFETileElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFETurbulenceElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFilterElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFilterPrimitiveStandardAttributes.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFitToViewBox.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontData.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontFaceElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGFontFaceElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontFaceFormatElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontFaceNameElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontFaceSrcElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGFontFaceUriElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGForeignObjectElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGGElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGGlyphElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGGlyphElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGGlyphMap.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGGlyphRefElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGGlyphRefElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGGradientElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGHKernElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGHKernElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGImageElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGImageLoader.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLangSpace.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLength.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLengthContext.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLengthList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLinearGradientElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLineElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGLocatable.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGMarkerElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGMaskElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGMaskElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGMatrix.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGMetadataElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGMissingGlyphElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGMPathElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGNumberList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPaint.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGParserUtilities.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGParsingError.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathBlender.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathBuilder.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathByteStream.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathByteStreamBuilder.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathByteStreamSource.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathConsumer.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathParser.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSeg.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegArc.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegClosePath.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegCurvetoCubic.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegCurvetoCubicSmooth.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegCurvetoQuadratic.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegCurvetoQuadraticSmooth.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegLineto.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegLinetoHorizontal.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegLinetoVertical.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegListBuilder.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegListSource.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSegMoveto.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathSource.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathStringBuilder.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathStringSource.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathTraversalStateBuilder.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPathUtilities.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPatternElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPointList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPolyElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPolygonElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPolylineElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGPreserveAspectRatio.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGRadialGradientElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGRectElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGRenderingIntent.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGScriptElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGSetElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStopElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStringList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStylable.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStyledElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGStyledElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStyledLocatableElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStyledTransformableElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGStyleElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGStyleElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGSVGElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGSwitchElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGSymbolElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTests.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTextContentElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTextElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTextPathElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTextPositioningElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTitleElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTransform.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTransformable.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTransformDistance.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTransformList.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTRefElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGTSpanElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGUnitTypes.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGURIReference.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGUseElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGViewElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGViewSpec.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGVKernElement.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\svg\SVGVKernElement.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGZoomAndPan.h"
- >
- </File>
- <File
- RelativePath="..\svg\SVGZoomEvent.h"
- >
- </File>
- <Filter
- Name="animation"
- >
- <File
- RelativePath="..\svg\animation\SMILTime.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\animation\SMILTime.h"
- >
- </File>
- <File
- RelativePath="..\svg\animation\SMILTimeContainer.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\animation\SMILTimeContainer.h"
- >
- </File>
- <File
- RelativePath="..\svg\animation\SVGSMILElement.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\animation\SVGSMILElement.h"
- >
- </File>
- </Filter>
- <Filter
- Name="graphics"
- >
- <File
- RelativePath="..\svg\graphics\SVGImage.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\SVGImage.h"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\SVGImageCache.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\SVGImageCache.h"
- >
- </File>
- <Filter
- Name="filters"
- >
- <File
- RelativePath="..\svg\graphics\filters\SVGFEImage.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\filters\SVGFEImage.h"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\filters\SVGFilter.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\filters\SVGFilter.h"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\filters\SVGFilterBuilder.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\graphics\filters\SVGFilterBuilder.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="properties"
- >
- <File
- RelativePath="..\svg\properties\SVGAnimatedEnumerationPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedListPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedPathSegListPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedProperty.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedPropertyDescription.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedPropertyMacros.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedStaticPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAnimatedTransformListPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAttributeToPropertyMap.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGAttributeToPropertyMap.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGListProperty.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGListPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGPathSegListPropertyTearOff.cpp"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGPathSegListPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGProperty.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGPropertyInfo.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGPropertyTraits.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGStaticListPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGStaticPropertyTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGStaticPropertyWithParentTearOff.h"
- >
- </File>
- <File
- RelativePath="..\svg\properties\SVGTransformListPropertyTearOff.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="ForwardingHeaders"
- >
- <File
- RelativePath="..\ForwardingHeaders\wtf\MainThread.h"
- >
- </File>
- <Filter
- Name="wtf"
- >
- <File
- RelativePath="..\ForwardingHeaders\wtf\AlwaysInline.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\Assertions.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\Deque.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\dtoa.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\FastMalloc.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\Forward.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\GetPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\HashCountedSet.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\HashMap.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\HashSet.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\HashTable.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\HashTraits.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\ListHashSet.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\MathExtras.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\MessageQueue.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\Noncopyable.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\OwnArrayPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\OwnPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\OwnPtrCommon.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\PassOwnPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\PassRefPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\Platform.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\RefPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\RetainPtr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\StringExtras.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\wtf\Vector.h"
- >
- </File>
- <Filter
- Name="unicode"
- >
- <File
- RelativePath="..\ForwardingHeaders\wtf\unicode\Unicode.h"
- >
- </File>
- <Filter
- Name="icu"
- >
- <File
- RelativePath="..\ForwardingHeaders\wtf\unicode\icu\UnicodeIcu.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="text"
- >
- <File
- RelativePath="..\ForwardingHeaders\wtf\text\CString.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="JSC"
- >
- <File
- RelativePath="..\ForwardingHeaders\runtime\ArgList.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\Heap.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\Identifier.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\JSLock.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\JSObject.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\JSString.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\JSValue.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\Lookup.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\Operations.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\PropertyMap.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\Protect.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\StringObject.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\UString.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\runtime\UStringImpl.h"
- >
- </File>
- </Filter>
- <Filter
- Name="yarr"
- >
- <File
- RelativePath="..\ForwardingHeaders\yarr\Yarr.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\yarr\YarrInterpreter.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\yarr\YarrPattern.h"
- >
- </File>
- </Filter>
- <Filter
- Name="bindings"
- >
- <File
- RelativePath="..\ForwardingHeaders\bindings\NP_jsobject.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\bindings\npruntime_impl.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\bindings\runtime_root.h"
- >
- </File>
- </Filter>
- <Filter
- Name="profiler"
- >
- <File
- RelativePath="..\ForwardingHeaders\profiler\Profile.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\profiler\ProfileNode.h"
- >
- </File>
- <File
- RelativePath="..\ForwardingHeaders\profiler\Profiler.h"
- >
- </File>
- </Filter>
- <Filter
- Name="masm"
- >
- <File
- RelativePath="..\ForwardingHeaders\masm\MacroAssembler.h"
- >
- </File>
- </Filter>
- <Filter
- Name="heap"
- >
- <File
- RelativePath="..\ForwardingHeaders\heap\Strong.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="history"
- >
- <File
- RelativePath="..\history\BackForwardController.cpp"
- >
- </File>
- <File
- RelativePath="..\history\BackForwardController.h"
- >
- </File>
- <File
- RelativePath="..\history\BackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\history\BackForwardListImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\history\BackForwardListImpl.h"
- >
- </File>
- <File
- RelativePath="..\history\CachedFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\history\CachedFrame.h"
- >
- </File>
- <File
- RelativePath="..\history\CachedFramePlatformData.h"
- >
- </File>
- <File
- RelativePath="..\history\CachedPage.cpp"
- >
- </File>
- <File
- RelativePath="..\history\CachedPage.h"
- >
- </File>
- <File
- RelativePath="..\history\HistoryItem.cpp"
- >
- </File>
- <File
- RelativePath="..\history\HistoryItem.h"
- >
- </File>
- <File
- RelativePath="..\history\PageCache.cpp"
- >
- </File>
- <File
- RelativePath="..\history\PageCache.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\history\cf\HistoryPropertyList.cpp"
- >
- </File>
- <File
- RelativePath="..\history\cf\HistoryPropertyList.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="storage"
- >
- <File
- RelativePath="..\storage\Storage.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\Storage.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageArea.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageAreaImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageAreaImpl.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageAreaSync.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageAreaSync.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageEvent.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageEvent.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageEventDispatcher.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageEventDispatcher.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageInfo.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageInfoErrorCallback.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageInfoQuotaCallback.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageInfoUsageCallback.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageMap.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageMap.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageNamespace.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageNamespace.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageNamespaceImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageNamespaceImpl.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageSyncManager.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageSyncManager.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageTask.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageTask.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageThread.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageThread.h"
- >
- </File>
- <File
- RelativePath="..\storage\StorageTracker.cpp"
- >
- </File>
- <File
- RelativePath="..\storage\StorageTracker.h"
- >
- </File>
- </Filter>
- <Filter
- Name="strings"
- >
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\AtomicString.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringImpl.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\WTFString.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="bridge"
- >
- <File
- RelativePath="..\bridge\Bridge.h"
- >
- </File>
- <File
- RelativePath="..\bridge\jsc\BridgeJSC.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\jsc\BridgeJSC.h"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_class.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_class.h"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_instance.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_instance.h"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_runtime.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_runtime.h"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_utility.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\c\c_utility.h"
- >
- </File>
- <File
- RelativePath="..\bridge\c\CRuntimeObject.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\c\CRuntimeObject.h"
- >
- </File>
- <File
- RelativePath="..\bridge\IdentifierRep.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\IdentifierRep.h"
- >
- </File>
- <File
- RelativePath="..\bridge\NP_jsobject.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\NP_jsobject.h"
- >
- </File>
- <File
- RelativePath="..\bridge\npruntime.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\npruntime_impl.h"
- >
- </File>
- <File
- RelativePath="..\bridge\npruntime_internal.h"
- >
- </File>
- <File
- RelativePath="..\bridge\npruntime_priv.h"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_array.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_array.h"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_method.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_method.h"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_object.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_object.h"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_root.cpp"
- >
- </File>
- <File
- RelativePath="..\bridge\runtime_root.h"
- >
- </File>
- </Filter>
- <Filter
- Name="inspector"
- >
- <File
- RelativePath="..\inspector\BindingVisitors.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ConsoleMessage.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\ConsoleMessage.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ContentSearchUtils.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\ContentSearchUtils.h"
- >
- </File>
- <File
- RelativePath="..\inspector\DOMEditor.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\DOMEditor.h"
- >
- </File>
- <File
- RelativePath="..\inspector\DOMPatchSupport.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\DOMPatchSupport.h"
- >
- </File>
- <File
- RelativePath="..\inspector\IdentifiersFactory.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\IdentifiersFactory.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InjectedScript.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InjectedScript.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptBase.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptBase.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptHost.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptHost.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptManager.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptManager.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptModule.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptModule.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptWebGLModule.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InjectedScriptWebGLModule.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorAllInOne.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorApplicationCacheAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorApplicationCacheAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorBaseAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorBaseAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorClient.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorClient.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorConsoleAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorConsoleAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorConsoleInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorController.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorController.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorCounters.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorCounters.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorCSSAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorCSSAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDatabaseAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDatabaseAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDatabaseInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDatabaseResource.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDatabaseResource.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDebuggerAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDebuggerAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMDebuggerAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMDebuggerAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMStorageAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMStorageAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMStorageResource.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorDOMStorageResource.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorFileSystemAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorFileSystemAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorFrontendChannel.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorFrontendClient.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorFrontendClientLocal.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorFrontendClientLocal.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorFrontendHost.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorFrontendHost.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorHistory.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorHistory.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorIndexedDBAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorIndexedDBAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorInstrumentation.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorMemoryAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorMemoryAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorOverlay.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorOverlay.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorPageAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorPageAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorProfilerAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorProfilerAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorResourceAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorResourceAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorRuntimeAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorRuntimeAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorState.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorState.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorStateClient.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorStyleSheet.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorStyleSheet.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorStyleTextEditor.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorStyleTextEditor.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorTimelineAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorTimelineAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorValues.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorValues.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorWebGLAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorWebGLAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorWebGLInstrumentation.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorWorkerAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InspectorWorkerAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InspectorWorkerResource.h"
- >
- </File>
- <File
- RelativePath="..\inspector\InstrumentingAgents.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\InstrumentingAgents.h"
- >
- </File>
- <File
- RelativePath="..\inspector\MemoryInstrumentationImpl.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\MemoryInstrumentationImpl.h"
- >
- </File>
- <File
- RelativePath="..\inspector\NetworkResourcesData.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\NetworkResourcesData.h"
- >
- </File>
- <File
- RelativePath="..\inspector\PageConsoleAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\PageConsoleAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\PageDebuggerAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\PageDebuggerAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\PageRuntimeAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\PageRuntimeAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ScriptArguments.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\ScriptArguments.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ScriptBreakpoint.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ScriptCallFrame.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\ScriptCallFrame.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ScriptCallStack.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\ScriptCallStack.h"
- >
- </File>
- <File
- RelativePath="..\inspector\ScriptDebugListener.h"
- >
- </File>
- <File
- RelativePath="..\inspector\TimelineRecordFactory.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\TimelineRecordFactory.h"
- >
- </File>
- <File
- RelativePath="..\inspector\WorkerConsoleAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\WorkerConsoleAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\WorkerDebuggerAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\WorkerDebuggerAgent.h"
- >
- </File>
- <File
- RelativePath="..\inspector\WorkerInspectorController.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\WorkerInspectorController.h"
- >
- </File>
- <File
- RelativePath="..\inspector\WorkerRuntimeAgent.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\inspector\WorkerRuntimeAgent.h"
- >
- </File>
- <Filter
- Name="front-end"
- >
- <File
- RelativePath="..\inspector\front-end\AdvancedSearchController.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ApplicationCacheItemsView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ApplicationCacheModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\AuditCategories.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\AuditFormatters.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\AuditLauncherView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\AuditResultView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\AuditRules.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\auditsPanel.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\AuditsPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\BottomUpProfileDataGridTree.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\breadcrumbList.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\BreakpointManager.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\BreakpointsSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CallStackSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Checkbox.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CodeMirrorTextEditor.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Color.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CompilerScriptMapping.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ConsoleMessage.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ConsoleModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ConsolePanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ConsoleView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ContentProvider.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ContentProviders.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ContextMenu.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CookieItemsView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CookieParser.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CookiesTable.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CPUProfileView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CSSCompletions.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CSSKeywordCompletions.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CSSSelectorProfileView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\CSSStyleModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cm\codemirror.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cm\codemirror.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cm\css.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cm\htmlmixed.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cm\javascript.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cm\xml.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\cmdevtools.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Database.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DatabaseQueryView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DatabaseTableView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\dataGrid.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DataGrid.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DebuggerModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DebuggerScriptMapping.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DefaultTextEditor.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\dialog.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Dialog.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DirectoryContentView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMAgent.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMBreakpointsSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMExtension.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMPresentationUtils.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMStorage.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMStorageItemsView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\DOMSyntaxHighlighter.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Drawer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\elementsPanel.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ElementsPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ElementsTreeOutline.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\EmptyView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\EventListenersSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ExtensionAPI.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ExtensionAuditCategory.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ExtensionPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ExtensionRegistryStub.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ExtensionServer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ExtensionView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FileContentView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FileManager.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FileSystemModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FileSystemView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FileUtils.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\filteredItemSelectionDialog.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FilteredItemSelectionDialog.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\FontView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\GoToLineDialog.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HandlerRegistry.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HAREntry.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\heapProfiler.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshot.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotDataGrids.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotGridNodes.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotLoader.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotProxy.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotWorker.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HeapSnapshotWorkerDispatcher.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\helpScreen.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\HelpScreen.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ImageView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\IndexedDBModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\indexedDBViews.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\IndexedDBViews.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\inspector.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\inspector.html"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\inspector.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\InspectorBackend.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\inspectorCommon.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\InspectorFrontendAPI.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\InspectorFrontendHostStub.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\inspectorSyntaxHighlight.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\InspectorView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\JavaScriptContextManager.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\JavaScriptFormatter.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UglifyJS\JavaScriptFormatter.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\JavaScriptSource.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\JavaScriptSourceFrame.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\jsdifflib.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\KeyboardShortcut.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Linkifier.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\MetricsSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NativeBreakpointsSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NavigatorOverlayController.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\nativeMemoryProfiler.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\navigatorView.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NativeMemorySnapshotView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NavigatorView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NetworkItemView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NetworkLog.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\networkLogView.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NetworkManager.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\networkPanel.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NetworkPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NetworkPanelDescriptor.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\NetworkRequest.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Object.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ObjectPopoverHelper.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ObjectPropertiesSection.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Panel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ParsedURL.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\panelEnablerView.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\PanelEnablerView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UglifyJS\parse-js.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Placard.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\popover.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Popover.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\PresentationConsoleMessageHelper.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ProfileDataGridTree.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ProfileLauncherView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ProfilesPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ProgressBar.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\PropertiesSection.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\PropertiesSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RawSourceCode.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RemoteObject.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestCookiesView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestHeadersView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestHTMLView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestJSONView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestPreviewView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestResponseView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestTimingView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RequestView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Resource.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourceScriptMapping.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\resourcesPanel.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourcesPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourceTreeModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourceType.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourceUtils.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\resourceView.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourceView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ResourceWebSocketFrameView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\revisionHistory.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\RevisionHistoryView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SASSSourceMapping.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScopeChainSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Script.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptFormatter.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptFormatterWorker.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptsNavigator.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptSnippetModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\scriptsPanel.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptsPanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptsPanelDescriptor.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ScriptsSearchScope.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SearchController.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Section.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Settings.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SettingsScreen.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ShortcutsScreen.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\ShowMoreDataGridNode.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SidebarOverlay.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SidebarTreeElement.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SnippetJavaScriptSourceFrame.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SnippetStorage.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SoftContextMenu.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SourceCSSTokenizer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SourceFrame.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SourceHTMLTokenizer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SourceJavaScriptTokenizer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SourceMapping.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SourceTokenizer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Spectrum.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\splitView.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SplitView.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\StatusBarButton.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\StyleSheetOutlineDialog.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\StylesSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\StyleSource.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\SummaryBar.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TabbedEditorContainer.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\tabbedPane.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TabbedPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TestController.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\textEditor.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TextEditor.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TextEditorHighlighter.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TextEditorModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\textPrompt.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TextPrompt.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelineFrameController.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelineGrid.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelineManager.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelineModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelineOverviewPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\timelinePanel.css"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelinePanel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TimelinePresentationModel.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Toolbar.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\TopDownProfileDataGridTree.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\treeoutline.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UISourceCode.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UISourceCodeFrame.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UIString.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UIUtils.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UserAgentSupport.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\UserMetrics.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\utilities.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\View.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\WatchExpressionsSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\WorkersSidebarPane.js"
- >
- </File>
- <File
- RelativePath="..\inspector\front-end\Workspace.js"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="mathml"
- >
- <File
- RelativePath="..\mathml\MathMLAllInOne.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\mathml\MathMLElement.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\mathml\MathMLElement.h"
- >
- </File>
- <File
- RelativePath="..\mathml\MathMLInlineContainerElement.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\mathml\MathMLInlineContainerElement.h"
- >
- </File>
- <File
- RelativePath="..\mathml\MathMLMathElement.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\mathml\MathMLMathElement.h"
- >
- </File>
- <File
- RelativePath="..\mathml\MathMLTextElement.cpp"
- >
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\mathml\MathMLTextElement.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\editing\AlternativeTextController.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_LTCG|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\editing\AlternativeTextController.h"
- >
- </File>
- <File
- RelativePath="..\config.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCore"
+ ProjectGUID="{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
+ RootNamespace="WebCore"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="DerivedSources"
+ >
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ColorData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSGrammar.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSGrammar.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSPropertyNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\CSSValueKeywords.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DerivedSources.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventHeaders.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventInterfaces.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventTargetHeaders.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventTargetInterfaces.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionCodeDescription.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionCodeDescription.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionHeaders.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\ExceptionInterfaces.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HashTools.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLElementFactory.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLElementFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\HTMLNames.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InjectedScriptSource.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InjectedScriptWebGLModuleSource.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorBackendDispatcher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorBackendDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorFrontend.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorFrontend.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorOverlayPage.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorTypeBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\InspectorTypeBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSAbstractWorker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSAbstractWorker.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSAttr.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSAttr.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBarInfo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBarInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBeforeLoadEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBeforeLoadEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBlob.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSBlob.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasGradient.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasGradient.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasPattern.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext2D.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCanvasRenderingContext2D.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCDATASection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCDATASection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCharacterData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCharacterData.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRect.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRect.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRectList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClientRectList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClipboard.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSClipboard.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSComment.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSComment.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCompositionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCompositionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSConsole.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSConsole.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCoordinates.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCoordinates.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCounter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCounter.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCrypto.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCrypto.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSCharsetRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSCharsetRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSFontFaceRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSFontFaceRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSImportRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSImportRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSMediaRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSMediaRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPageRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPageRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPrimitiveValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSPrimitiveValue.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRuleList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSRuleList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleDeclaration.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleDeclaration.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleSheet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValue.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValueList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCSSValueList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCustomEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSCustomEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabaseSync.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDatabaseSync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItem.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItem.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItemList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDataTransferItemList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDedicatedWorkerContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDedicatedWorkerContext.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceMotionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceMotionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceOrientationEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSDeviceOrientationEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntry.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntrySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryEntrySync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReader.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReader.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReaderSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDirectoryReaderSync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocument.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentFragment.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentFragment.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentType.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDocumentType.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMApplicationCache.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMApplicationCache.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMCoreException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMCoreException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMError.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMError.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystem.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystemSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFileSystemSync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFormData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMFormData.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMImplementation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMImplementation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeType.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeType.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeTypeArray.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMMimeTypeArray.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMParser.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPlugin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPlugin.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPluginArray.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMPluginArray.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSelection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSelection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSettableTokenList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMSettableTokenList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMStringMap.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTokenList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTokenList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTransaction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMURL.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMURL.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMWindow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMWindow.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMWindowBase.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntity.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntity.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntityReference.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntityReference.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntriesCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntriesCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntry.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArray.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArray.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArraySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryArraySync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntryCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntrySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEntrySync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSErrorEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventSource.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventSource.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventTarget.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSEventTarget.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFile.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFile.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntrySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileEntrySync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileError.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileError.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileException.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReader.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReader.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReaderSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileReaderSync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileSystemCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileSystemCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriter.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterSync.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSFileWriterSync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeolocation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeolocation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeoposition.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSGeoposition.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHashChangeEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHashChangeEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHistory.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHistory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAllCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAllCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAnchorElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAnchorElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAppletElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAppletElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAreaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAreaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAudioElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLAudioElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseFontElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBaseFontElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBodyElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBodyElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBRElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLBRElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLButtonElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLButtonElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCanvasElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCanvasElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLContentElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLContentElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDataListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDataListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDetailsElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDetailsElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDirectoryElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDirectoryElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDivElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDivElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDocument.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElementWrapperFactory.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLElementWrapperFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLEmbedElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLEmbedElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFieldSetElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFieldSetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFormElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFormElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameSetElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLFrameSetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadingElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHeadingElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHRElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHRElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHtmlElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLHtmlElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLIFrameElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLIFrameElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLImageElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLInputElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLInputElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLKeygenElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLKeygenElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLabelElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLabelElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLegendElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLegendElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLIElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLIElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLinkElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLLinkElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMapElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMapElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMarqueeElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMarqueeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMediaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMediaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMenuElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMenuElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMetaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMetaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMeterElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMeterElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLModElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLModElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLObjectElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLObjectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptGroupElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptGroupElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionsCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOptionsCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOutputElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLOutputElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParagraphElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParagraphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParamElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLParamElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPreElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPreElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLProgressElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLProgressElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPropertiesCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLPropertiesCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLQuoteElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLQuoteElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLScriptElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLScriptElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSelectElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSelectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLShadowElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLShadowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSourceElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSourceElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSpanElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLSpanElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLStyleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLStyleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCaptionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCaptionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCellElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableCellElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableColElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableColElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableRowElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableRowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableSectionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTableSectionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTextAreaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTextAreaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTitleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLTitleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUnknownElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUnknownElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLUnknownElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLVideoElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSHTMLVideoElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBAny.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBAny.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSIDBAnyCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBCursor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBCursor.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabaseException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBDatabaseException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBFactory.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBIndex.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBIndex.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKey.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKey.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSIDBKeyCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKeyRange.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBKeyRange.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBObjectStore.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBRequest.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBTransaction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSIDBTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSImageData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSImageData.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInjectedScriptHost.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInjectedScriptHost.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSInspectorFrontendHost.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSJavaScriptCallFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSKeyboardEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSKeyboardEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSLocation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSLocation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaError.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaError.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaQueryList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|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>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMediaQueryList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMemoryInfo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMemoryInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageChannel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessageEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessagePort.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMessagePort.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMicroDataItemValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMicroDataItemValue.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadata.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadata.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadataCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMetadataCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMouseEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMouseEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationObserver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationObserver.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationRecord.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSMutationRecord.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNamedNodeMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNamedNodeMap.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNavigator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNavigator.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNode.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNode.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeFilter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeIterator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotification.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotification.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationCenter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationCenter.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationPermissionCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSNotificationPermissionCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSOverflowEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSOverflowEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPageTransitionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPageTransitionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformance.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformance.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntry.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntryList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceEntryList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceNavigation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceNavigation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceTiming.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPerformanceTiming.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPopStateEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPopStateEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionError.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionError.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionErrorCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPositionErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProcessingInstruction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProcessingInstruction.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProgressEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSProgressEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPropertyNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSPropertyNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRadioNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRadioNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRange.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRange.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRangeException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRangeException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRect.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRect.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRequestAnimationFrameCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRequestAnimationFrameCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRGBColor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSRGBColor.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSScreen.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSScreen.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSShadowRoot.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSShadowRoot.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorker.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorkerContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSharedWorkerContext.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLError.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLError.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSet.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSetRowList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSQLResultSetRowList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransaction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransactionSync.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSSQLTransactionSync.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorage.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoErrorCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoQuotaCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoQuotaCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoUsageCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStorageInfoUsageCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStringCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStringCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleMedia.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleMedia.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheetList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSStyleSheetList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphDefElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphDefElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphItemElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAltGlyphItemElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAngle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAngle.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateColorElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateColorElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedAngle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedAngle.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedBoolean.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedBoolean.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedEnumeration.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedEnumeration.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedInteger.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedInteger.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLength.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLength.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLengthList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedLengthList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumber.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumberList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedNumberList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedPreserveAspectRatio.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedPreserveAspectRatio.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedRect.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedRect.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedString.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedString.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedTransformList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimatedTransformList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateMotionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateMotionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateTransformElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimateTransformElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimationElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGAnimationElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCircleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCircleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGClipPathElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGClipPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGColor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGColor.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGComponentTransferFunctionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGComponentTransferFunctionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCursorElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGCursorElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDefsElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDefsElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDescElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDescElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDocument.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstance.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstanceList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementInstanceList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementWrapperFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGElementWrapperFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGEllipseElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGEllipseElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEBlendElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEBlendElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEColorMatrixElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEColorMatrixElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEComponentTransferElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEComponentTransferElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFECompositeElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFECompositeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEConvolveMatrixElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEConvolveMatrixElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDiffuseLightingElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDiffuseLightingElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDisplacementMapElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDisplacementMapElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDistantLightElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDistantLightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDropShadowElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEDropShadowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFloodElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFloodElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncAElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncAElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncBElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncBElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncGElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncRElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEFuncRElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEGaussianBlurElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEGaussianBlurElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEImageElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeNodeElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEMergeNodeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEOffsetElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEOffsetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEPointLightElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFEPointLightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpecularLightingElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpecularLightingElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpotLightElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFESpotLightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETileElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETileElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETurbulenceElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFETurbulenceElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFilterElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFilterElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceFormatElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceFormatElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceNameElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceNameElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceSrcElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceSrcElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceUriElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGFontFaceUriElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGForeignObjectElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGForeignObjectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphRefElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGlyphRefElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGradientElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGGradientElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGHKernElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGHKernElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGImageElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLength.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLength.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLengthList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLengthList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLinearGradientElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLinearGradientElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLineElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGLineElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMarkerElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMarkerElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMaskElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMaskElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMatrix.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMetadataElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMetadataElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMissingGlyphElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMissingGlyphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMPathElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGMPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumber.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumberList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGNumberList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPaint.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPaint.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSeg.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSeg.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegArcRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegClosePath.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegClosePath.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoCubicSmoothRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegCurvetoQuadraticSmoothRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoHorizontalRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegLinetoVerticalRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoAbs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoAbs.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoRel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPathSegMovetoRel.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPatternElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPatternElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPoint.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPointList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPointList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolygonElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolygonElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolylineElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPolylineElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPreserveAspectRatio.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGPreserveAspectRatio.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRadialGradientElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRadialGradientElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRect.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRect.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRectElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRenderingIntent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGRenderingIntent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGScriptElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGScriptElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSetElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStopElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStopElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStringList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStringList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStyleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGStyleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSVGElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSVGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSwitchElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSwitchElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSymbolElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGSymbolElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextContentElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextContentElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPathElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPositioningElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTextPositioningElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTitleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTitleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransform.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransform.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransformList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTransformList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTRefElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTRefElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTSpanElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGTSpanElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUnitTypes.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUnitTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUseElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGUseElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewSpec.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGViewSpec.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGVKernElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGVKernElement.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomAndPan.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomAndPan.h"
+ >
+ </File>
+
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSSVGZoomEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSText.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextMetrics.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTextMetrics.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTimeRanges.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTimeRanges.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTreeWalker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSTreeWalker.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUIEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUIEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUndoManager.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSUndoManager.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSValidityState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSValidityState.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitAnimationList.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitBlobBuilder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitBlobBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSFilterValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSFilterValue.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframeRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframeRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframesRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSKeyframesRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSMatrix.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSRegionRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSRegionRule.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSTransformValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitCSSTransformValue.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitNamedFlow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitNamedFlow.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMNamedFlowCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSDOMNamedFlowCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitPoint.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitTransitionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWebKitTransitionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWebSocket.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWebSocket.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWheelEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSWheelEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorker.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerContext.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerContextBase.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerLocation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerLocation.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerNavigator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSWorkerNavigator.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequest.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestProgressEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestProgressEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestUpload.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLHttpRequestUpload.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLSerializer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXMLSerializer.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathEvaluator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathEvaluator.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathException.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathExpression.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathExpression.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathNSResolver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathNSResolver.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathResult.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXPathResult.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXSLTProcessor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\JSXSLTProcessor.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\kjs_navigator.lut.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLElementFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLElementFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\MathMLNames.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGElementFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGElementFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\SVGNames.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\UserAgentStyleSheets.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\UserAgentStyleSheetsData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKitFontFamilyNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKitFontFamilyNames.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XLinkNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNames.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNSNames.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLNSNames.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLViewerCSS.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XMLViewerJS.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XPathGrammar.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\XPathGrammar.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Modules"
+ >
+ <Filter
+ Name="filesystem"
+ >
+ <File
+ RelativePath="..\Modules\filesystem\AsyncFileWriter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\AsyncFileWriterClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryEntry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryEntrySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryEntrySync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryReader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryReader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryReaderBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryReaderSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DirectoryReaderSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFilePath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFilePath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFileSystemBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFileSystemBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFileSystemSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMFileSystemSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMWindowFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\DOMWindowFileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntriesCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\Entry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\Entry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryArraySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryArraySync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntryCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntrySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\EntrySync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\ErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileEntry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileEntrySync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileEntrySync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileSystemCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileSystemCallbacks.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileSystemCallbacks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileSystemFlags.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileSystemType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriterBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriterBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriterBaseCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriterCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriterSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\FileWriterSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\LocalFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\LocalFileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\Metadata.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\MetadataCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\SyncCallbackHelper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\WorkerContextFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\filesystem\WorkerContextFileSystem.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="geolocation"
+ >
+ <File
+ RelativePath="..\Modules\geolocation\Geolocation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\Geolocation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\GeolocationController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\GeolocationController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\GeolocationError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\GeolocationPosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\Geoposition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\NavigatorGeolocation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\NavigatorGeolocation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\PositionCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\PositionError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\PositionErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\geolocation\PositionOptions.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="indexeddb"
+ >
+ <File
+ RelativePath="..\Modules\indexeddb\DOMWindowIndexedDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\DOMWindowIndexedDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBAny.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBAny.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBCallbacks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBCursor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBCursor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBCursorBackendImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBCursorBackendImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBCursorBackendInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabaseBackendImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabaseBackendImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabaseBackendInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabaseError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBDatabaseException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBFactoryBackendImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBFactoryBackendImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBFactoryBackendInterface.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBFactoryBackendInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBIndex.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBIndex.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBIndexBackendImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBIndexBackendImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBIndexBackendInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBKey.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBKey.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBKeyRange.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBKeyRange.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBObjectStore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBObjectStore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBObjectStoreBackendImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBObjectStoreBackendImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBObjectStoreBackendInterface.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBTransaction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\IDBTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\PageGroupIndexedDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\PageGroupIndexedDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\WorkerContextIndexedDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\indexeddb\WorkerContextIndexedDatabase.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="navigatorcontentutils"
+ >
+ <File
+ RelativePath="..\Modules\navigatorcontentutils\NavigatorContentUtils.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\navigatorcontentutils\NavigatorContentUtils.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="quota"
+ >
+ <File
+ RelativePath="..\Modules\quota\DOMWindowQuota.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\quota\DOMWindowQuota.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\quota\StorageInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\quota\StorageInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\quota\StorageInfoErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\quota\StorageInfoQuotaCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\quota\StorageInfoUsageCallback.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="mediasource"
+ >
+ <File
+ RelativePath="..\Modules\mediasource\MediaSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\MediaSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\MediaSourceRegistry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\MediaSourceRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\SourceBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\SourceBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\SourceBufferList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\mediasource\SourceBufferList.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="notifications"
+ >
+ <File
+ RelativePath="..\Modules\notifications\DOMWindowNotifications.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\DOMWindowNotifications.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\Notification.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\Notification.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\NotificationCenter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\NotificationCenter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\NotificationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\WorkerContextNotifications.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\notifications\WorkerContextNotifications.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="webdatabase"
+ >
+ <File
+ RelativePath="..\Modules\webdatabase\AbstractDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\AbstractDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\ChangeVersionWrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\ChangeVersionWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\Database.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\Database.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseAuthorizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseAuthorizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseTask.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseTracker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DatabaseTracker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DOMWindowWebDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\DOMWindowWebDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\OriginQuotaManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\OriginQuotaManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\OriginUsageRecord.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\OriginUsageRecord.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLCallbackWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLException.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLResultSet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLResultSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLResultSetRowList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLResultSetRowList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLStatement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLStatement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLStatementCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLStatementErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLStatementSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLStatementSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransaction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionCoordinator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionCoordinator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\SQLTransactionSyncCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\WorkerContextWebDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\webdatabase\WorkerContextWebDatabase.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="websockets"
+ >
+ <File
+ RelativePath="..\Modules\websockets\CloseEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\ThreadableWebSocketChannel.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\ThreadableWebSocketChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\ThreadableWebSocketChannelClientWrapper.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\ThreadableWebSocketChannelClientWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocket.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocket.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketChannel.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketChannelClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketDeflateFramer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketDeflateFramer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketDeflater.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketDeflater.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketExtensionDispatcher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketExtensionDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketExtensionProcessor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketHandshake.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketHandshake.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketHandshakeRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketHandshakeRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketHandshakeResponse.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WebSocketHandshakeResponse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WorkerThreadableWebSocketChannel.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Modules\websockets\WorkerThreadableWebSocketChannel.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="accessibility"
+ >
+ <File
+ RelativePath="..\accessibility\AccessibilityAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityARIAGrid.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityARIAGrid.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityARIAGridCell.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityARIAGridCell.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityARIAGridRow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityARIAGridRow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityImageMapLink.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityImageMapLink.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityListBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityListBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityListBoxOption.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityListBoxOption.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMediaControls.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMediaControls.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMenuList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMenuList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMenuListOption.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMenuListOption.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMenuListPopup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMenuListPopup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMockObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityMockObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityProgressIndicator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityProgressIndicator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityRenderObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityRenderObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityScrollbar.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityScrollbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityScrollView.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityScrollView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilitySlider.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilitySlider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilitySpinButton.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilitySpinButton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTable.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableCell.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableCell.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableColumn.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableColumn.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableHeaderContainer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableHeaderContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableRow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AccessibilityTableRow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\AXObjectCache.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\accessibility\AXObjectCache.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\accessibility\win\AccessibilityObjectWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\win\AccessibilityObjectWrapperWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\accessibility\win\AXObjectCacheWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="page"
+ >
+ <File
+ RelativePath="..\page\AdjustViewSizeOrNot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\AlternativeTextClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\AnimationBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\AnimationBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\AnimationController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\AnimationController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\AnimationControllerPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\BarInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\BarInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Chrome.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Chrome.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ChromeClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\CompositeAnimation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\CompositeAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Console.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Console.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ConsoleTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ContentSecurityPolicy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ContentSecurityPolicy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ContextMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ContextMenuController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ContextMenuController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\ContextMenuProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Coordinates.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Crypto.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Crypto.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\CSSPropertyAnimation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\CSSPropertyAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DiagnosticLoggingKeys.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DiagnosticLoggingKeys.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMSelection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMSelection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMWindow.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMWindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMWindowExtension.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMWindowExtension.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMWindowProperty.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DOMWindowProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DragActions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DragClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DragController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DragController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\win\DragControllerWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\DragState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\EditorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\EventHandler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\EventHandler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\win\EventHandlerWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\EventSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\EventSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FocusController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FocusController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FocusDirection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Frame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Frame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameActionScheduler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameActionScheduler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameDestructionObserver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameDestructionObserver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameTree.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\FrameView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\GeolocationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\GroupSettings.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\GroupSettings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\HaltablePlugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\History.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\History.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\ImplicitAnimation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\ImplicitAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\KeyframeAnimation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\animation\KeyframeAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Location.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Location.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\MouseEventWithHitTestResults.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\MouseEventWithHitTestResults.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Navigator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Navigator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\NavigatorBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\NavigatorBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\OriginAccessEntry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\OriginAccessEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Page.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageGroup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageGroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageGroupLoadDeferrer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageGroupLoadDeferrer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageSerializer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageSerializer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageVisibilityState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PageVisibilityState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Performance.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Performance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceEntry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceEntry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceEntryList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceEntryList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceNavigation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceNavigation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceResourceTiming.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceResourceTiming.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceTiming.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PerformanceTiming.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PrintContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\PrintContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Screen.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Screen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\scrolling\ScrollingConstraints.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\scrolling\ScrollingConstraints.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\scrolling\ScrollingCoordinator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\scrolling\ScrollingCoordinator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\scrolling\ScrollingCoordinatorNone.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SecurityOrigin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SecurityOrigin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SecurityPolicy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SecurityPolicy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Settings.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\Settings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SpatialNavigation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SpatialNavigation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SpeechInput.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SpeechInput.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SpeechInputClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SpeechInputListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SuspendableTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\SuspendableTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\UserContentURLPattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\UserContentURLPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\UserScript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\UserScriptTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\UserStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\UserStyleSheetTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WebKitAnimation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WebKitAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WebKitAnimationList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WebKitAnimationList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\WebKitBlobBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\WebKitBlobBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WebKitPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WindowFeatures.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WindowFeatures.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WindowFocusAllowedIndicator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WindowFocusAllowedIndicator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WorkerNavigator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\WorkerNavigator.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\page\win\FrameCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\page\win\FrameCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\page\win\FrameWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\page\win\FrameWin.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="loader"
+ >
+ <File
+ RelativePath="..\loader\CrossOriginAccessControl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\CrossOriginAccessControl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\CrossOriginPreflightResultCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\CrossOriginPreflightResultCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentLoadTiming.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentLoadTiming.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentThreadableLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentThreadableLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentWriter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\DocumentWriter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\EmptyClients.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\EmptyClients.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FormState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FormState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FormSubmission.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FormSubmission.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoaderStateMachine.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoaderStateMachine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoaderTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameLoadRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FrameNetworkingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FTPDirectoryParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\FTPDirectoryParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\HistoryController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\HistoryController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ImageLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ImageLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ImageLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\LinkLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\LinkLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\LinkLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\MainResourceLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\MainResourceLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\NavigationAction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\NavigationAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\NavigationScheduler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\NavigationScheduler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\NetscapePlugInStreamLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\NetscapePlugInStreamLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PingLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PingLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PlaceholderDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PlaceholderDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PolicyCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PolicyCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PolicyChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PolicyChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\Prerenderer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\Prerenderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PrerendererClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\PrerendererClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ProgressTracker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ProgressTracker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cf\ResourceLoaderCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoaderOptions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoadNotifier.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoadNotifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoadScheduler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ResourceLoadScheduler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SinkDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SinkDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubframeLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubframeLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubresourceLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubresourceLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubstituteData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubstituteData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\SubstituteResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\TextDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\TextResourceDecoder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\TextResourceDecoder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ThreadableLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ThreadableLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\ThreadableLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\WorkerThreadableLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\WorkerThreadableLoader.h"
+ >
+ </File>
+ <Filter
+ Name="icon"
+ >
+ <File
+ RelativePath="..\loader\icon\IconController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconDatabaseBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconDatabaseBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconDatabaseClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconRecord.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\IconRecord.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\PageURLRecord.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\icon\PageURLRecord.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="appcache"
+ >
+ <File
+ RelativePath="..\loader\appcache\ApplicationCache.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheAllInOne.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheGroup.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheGroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheHost.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheResource.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheStorage.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ApplicationCacheStorage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\DOMApplicationCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\DOMApplicationCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ManifestParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\appcache\ManifestParser.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="archive"
+ >
+ <File
+ RelativePath="..\loader\archive\Archive.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\Archive.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\ArchiveFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\ArchiveFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\ArchiveResource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\ArchiveResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\ArchiveResourceCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\ArchiveResourceCollection.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\loader\archive\cf\LegacyWebArchive.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\cf\LegacyWebArchive.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="mhtml"
+ >
+ <File
+ RelativePath="..\loader\archive\mhtml\MHTMLArchive.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\mhtml\MHTMLArchive.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\mhtml\MHTMLParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\archive\mhtml\MHTMLParser.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="cache"
+ >
+ <File
+ RelativePath="..\loader\cache\CachedCSSStyleSheet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedCSSStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedFont.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedFont.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedRawResource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedRawResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResourceClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResourceClientWalker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResourceHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResourceHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResourceLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedResourceLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedScript.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedScript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedShader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedShader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedStyleSheetClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedSVGDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedSVGDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedXSLStyleSheet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachedXSLStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\CachePolicy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\MemoryCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\loader\cache\MemoryCache.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="platform"
+ >
+ <File
+ RelativePath="..\platform\Arena.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Arena.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\AsyncFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\AsyncFileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\AsyncFileSystemCallbacks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\AutodrainedPool.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\CalculationValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\CalculationValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Clock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Clock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ClockGeneric.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ClockGeneric.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ContentType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ContentType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ContextMenu.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ContextMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ContextMenuItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ContextMenuItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\CookieJar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\CookiesStrategy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\CrossThreadCopier.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\CrossThreadCopier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Cursor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Cursor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\DateComponents.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\DateComponents.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Decimal.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Decimal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\DragData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\DragData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\DragImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\DragImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\EventLoop.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\EventTracer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\EventTracer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileChooser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileChooser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileIconLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileIconLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileMetadata.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileStream.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileStreamClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FloatConversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\FractionalLayoutUnit.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\HistogramSupport.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\HistogramSupport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\HostWindow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\KillRing.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\KillRingNone.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\KURL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\KURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\KURLHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Language.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Language.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LayoutTestSupport.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LayoutTestSupport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Length.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Length.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LengthBox.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LengthBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LengthSize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LinkHash.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LinkHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LocalizedStrings.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\LocalizedStrings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Locker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Logging.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Logging.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\MemoryPressureHandler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\MemoryPressureHandler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\MemoryUsageSupport.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\MemoryUsageSupport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\MIMETypeRegistry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\MIMETypeRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\NotImplemented.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Pasteboard.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformInstrumentation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformKeyboardEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformMenuDescription.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformMouseEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformScreen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformStrategies.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformStrategies.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PlatformWheelEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PopupMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PopupMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PopupMenuStyle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PrerenderHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\PurgeableBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ReferrerPolicy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\RunLoop.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\RunLoop.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\RuntimeApplicationChecks.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\RuntimeApplicationChecks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SchemeRegistry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SchemeRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollableArea.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollableArea.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollAnimator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollAnimator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollAnimatorNone.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollAnimatorNone.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Scrollbar.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Scrollbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollbarTheme.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollbarTheme.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollbarThemeClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollbarThemeComposite.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollbarThemeComposite.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ScrollView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SearchPopupMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SharedBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SharedBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SharedBufferChunkReader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SharedBufferChunkReader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SharedTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Sound.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SSLKeyGenerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\StaticConstructors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\StatsCounter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\StatsCounter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SuddenTermination.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\SystemTime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextStyle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Theme.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ThemeTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ThreadGlobalData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ThreadGlobalData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ThreadTimers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\ThreadTimers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Timer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Timer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\TreeShared.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\UUID.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\UUID.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\VisitedLinks.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\VisitedLinks.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\VisitedLinkStrategy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Widget.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\Widget.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\platform\win\BitmapInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\BitmapInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\BString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\BString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ClipboardUtilitiesWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ClipboardUtilitiesWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ClipboardWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ClipboardWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\COMPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ContextMenuItemWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ContextMenuWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\CursorWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\DefWndProcWindowClass.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\DefWndProcWindowClass.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\DelayLoadedModulesEnumerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\DelayLoadedModulesEnumerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\DragDataWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\DragImageCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\win\DragImageCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\win\DragImageWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\EditorWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\EventLoopWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\FileSystemWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\GDIObjectCounter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\GDIObjectCounter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\HWndDC.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ImportedFunctionsEnumerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ImportedFunctionsEnumerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ImportedModulesEnumerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ImportedModulesEnumerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ImportedModulesEnumeratorBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\KeyEventWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\LanguageWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\LocalizedStringsWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\LoggingWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\MIMETypeRegistryWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PasteboardWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PathWalker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PathWalker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PEImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PEImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PlatformMouseEventWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PlatformScreenWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PopupMenuWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\PopupMenuWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\RunLoopWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ScrollbarThemeSafari.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ScrollbarThemeSafari.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ScrollbarThemeWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\ScrollbarThemeWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SearchPopupMenuWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SearchPopupMenuWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SharedBufferWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SharedTimerWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SoftLinking.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SoundWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\StructuredExceptionHandlerSupressor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SystemInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SystemInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\SystemTimeWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\TemporaryLinkStubs.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\TextRenderingMode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WCDataObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\win\WCDataObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WebCoreInstanceHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WebCoreInstanceHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCorePrefix.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ DisableSpecificWarnings="4819"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebCorePrefix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WebCoreTextRenderer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WebCoreTextRenderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WheelEventWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WidgetWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WindowMessageBroadcaster.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WindowMessageBroadcaster.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WindowMessageListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\win\WindowsTouch.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\platform\cf\BinaryPropertyList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\BinaryPropertyList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\FileSystemCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\KURLCFNet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\RetainPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\SchedulePair.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\SchedulePair.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\SharedBufferCF.cpp"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\platform\cf\win\CertificateCFWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\cf\win\CertificateCFWin.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="graphics"
+ >
+ <File
+ RelativePath="..\platform\graphics\BitmapImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\BitmapImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Color.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Color.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ColorPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\CrossfadeGeneratedImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\CrossfadeGeneratedImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatPoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatPoint3D.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatPoint3D.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatQuad.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatQuad.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatRect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatSize.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FloatSize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Font.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Font.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontDescription.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontDescription.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFallbackList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFallbackList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFamily.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFamily.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFastPath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFeatureSettings.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontFeatureSettings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontMetrics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontPlatformData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontPlatformData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontRenderingMode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontSelector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontSmoothingMode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FontTraitsMask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FractionalLayoutBoxExtent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FractionalLayoutBoxExtent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FractionalLayoutPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FractionalLayoutRect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FractionalLayoutRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\FractionalLayoutSize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GeneratedImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GeneratedImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Generator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GeneratorGeneratedImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Glyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GlyphBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GlyphMetricsMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GlyphPage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GlyphPageTreeNode.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GlyphPageTreeNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Gradient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Gradient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsContextPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsLayer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsLayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsLayerClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsTypes.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\GraphicsTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Icon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Image.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Image.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageBuffer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageBuffer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageBufferData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageObserver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageOrientation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageOrientation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageSource.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ImageSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\IntPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\IntRect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\IntRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\IntSize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\IntSizeHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\MediaPlayer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\MediaPlayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\NativeImagePtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Path.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Path.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\PathTraversalState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\PathTraversalState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Pattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Pattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\PlatformLayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Region.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\Region.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\RoundedRect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\RoundedRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SegmentedFontData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SegmentedFontData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ShadowBlur.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ShadowBlur.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SimpleFontData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SimpleFontData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\TextRun.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\TextRun.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\UnitBezier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\WindRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\WOFFFileFormat.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\WOFFFileFormat.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\platform\graphics\win\DIBPixelData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\DIBPixelData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontCacheWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontCustomPlatformData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontCustomPlatformData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontCustomPlatformDataCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontPlatformDataCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontPlatformDataCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontPlatformDataWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FontWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FullScreenController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FullScreenController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\FullScreenControllerClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\GlyphPageTreeNodeCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\GlyphPageTreeNodeCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\GraphicsContextCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\GraphicsContextCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\GraphicsContextWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\IconWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\ImageCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\ImageCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\ImageWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\IntPointWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\IntRectWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\IntSizeWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\LocalWindowsContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateFullscreenWindow.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateQuickTimeVisualContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateQuickTimeVisualContext.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateTaskTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\MediaPlayerPrivateTaskTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\opentype\OpenTypeTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\opentype\OpenTypeUtilities.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\opentype\OpenTypeUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\opentype\OpenTypeVerticalData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\opentype\OpenTypeVerticalData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\RefCountedGDIHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\SimpleFontDataCairoWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\SimpleFontDataCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\SimpleFontDataWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\TransformationMatrixWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\UniscribeController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\UniscribeController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\WKCAImageQueue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\win\WKCAImageQueue.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="cg"
+ >
+ <File
+ RelativePath="..\platform\graphics\cg\BitmapImageCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ColorCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\FloatPointCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\FloatRectCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\FloatSizeCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\FontPlatformData.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\GradientCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\GraphicsContextCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\GraphicsContextPlatformPrivateCG.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ImageBufferCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ImageBufferDataCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ImageCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ImageSourceCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ImageSourceCG.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\ImageSourceCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\IntPointCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\IntRectCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\IntSizeCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\PathCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\PatternCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\PDFDocumentImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\PDFDocumentImage.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cg\TransformationMatrixCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="cairo"
+ >
+ <File
+ RelativePath="..\platform\graphics\cairo\BitmapImageCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\CairoPath.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\CairoUtilities.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\CairoUtilities.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\DrawErrorUnderline.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\FloatRectCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\FontCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\GradientCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\GraphicsContextCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\GraphicsContextPlatformPrivateCairo.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\ImageBufferCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\ImageCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\IntRectCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\NativeImageCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\OwnPtrCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\OwnPtrCairo.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\PathCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\PatternCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\PlatformContextCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\PlatformPathCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\PlatformPathCairo.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\RefPtrCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\RefPtrCairo.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\cairo\TransformationMatrixCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="transforms"
+ >
+ <File
+ RelativePath="..\platform\graphics\transforms\AffineTransform.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\AffineTransform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\IdentityTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\Matrix3DTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\Matrix3DTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\MatrixTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\MatrixTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\PerspectiveTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\PerspectiveTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\RotateTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\RotateTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\ScaleTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\ScaleTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\SkewTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\SkewTransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformationMatrix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformationMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformOperations.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformOperations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TransformState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TranslateTransformOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\transforms\TranslateTransformOperation.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="filters"
+ >
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterGlobalContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterGlobalContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterMesh.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterMesh.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterMeshGenerator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterMeshGenerator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterNumberParameter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterTransformParameter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterParameter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterProgram.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterProgram.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterProgramInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterProgramInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterProgramClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterCompiledProgram.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterCompiledProgram.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterValidatedProgram.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\CustomFilterValidatedProgram.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\DistantLightSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\DistantLightSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEBlend.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEBlend.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\arm\FEBlendNEON.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEColorMatrix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEColorMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEComponentTransfer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEComponentTransfer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEComposite.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEComposite.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\arm\FECompositeArithmeticNEON.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEConvolveMatrix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEConvolveMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FECustomFilter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FECustomFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEDiffuseLighting.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEDiffuseLighting.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEDisplacementMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEDisplacementMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEDropShadow.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEDropShadow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEFlood.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEFlood.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEGaussianBlur.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEGaussianBlur.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\arm\FEGaussianBlurNEON.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FELighting.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FELighting.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\arm\FELightingNEON.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\arm\FELightingNEON.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEMerge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEMerge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEMorphology.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEMorphology.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEOffset.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FEOffset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FESpecularLighting.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FESpecularLighting.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FETile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FETile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FETurbulence.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FETurbulence.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\Filter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FilterEffect.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FilterEffect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FilterOperation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FilterOperation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FilterOperations.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\FilterOperations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\LightSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\LightSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\arm\NEONHelpers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\PointLightSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\PointLightSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\SourceAlpha.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\SourceAlpha.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\SourceGraphic.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\SourceGraphic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\SpotLightSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\filters\SpotLightSource.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="ca"
+ >
+ <File
+ RelativePath="..\platform\graphics\ca\GraphicsLayerCA.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\GraphicsLayerCA.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\PlatformCAAnimation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\PlatformCALayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\PlatformCALayerClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\TransformationMatrixCA.cpp"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\platform\graphics\ca\win\AbstractCACFLayerTreeHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\CACFLayerTreeHost.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\CACFLayerTreeHost.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\CACFLayerTreeHostClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\LayerChangesFlusher.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\LayerChangesFlusher.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\LegacyCACFLayerTreeHost.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\LegacyCACFLayerTreeHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\PlatformCAAnimationWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\PlatformCALayerWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\PlatformCALayerWinInternal.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\PlatformCALayerWinInternal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\WKCACFViewLayerTreeHost.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\ca\win\WKCACFViewLayerTreeHost.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="avfoundation"
+ >
+ <File
+ RelativePath="..\platform\graphics\avfoundation\MediaPlayerPrivateAVFoundation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\avfoundation\MediaPlayerPrivateAVFoundation.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\platform\graphics\avfoundation\cf\AVFoundationCFSoftLinking.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\avfoundation\cf\CoreMediaSoftLinking.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\avfoundation\cf\MediaPlayerPrivateAVFoundationCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\avfoundation\cf\MediaPlayerPrivateAVFoundationCF.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="network"
+ >
+ <File
+ RelativePath="..\platform\network\AuthenticationChallengeBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\AuthenticationChallengeBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\AuthenticationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobRegistryImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobRegistryImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobResourceHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobResourceHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\BlobStorageData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\CookieStorage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\Credential.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\Credential.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\CredentialStorage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\CredentialStorage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\DataURL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\DataURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\DNSResolveQueue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\DNSResolveQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\FormData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\FormData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\FormDataBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\FormDataBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPHeaderMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPHeaderMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPParsers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPParsers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPValidation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\HTTPValidation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\MIMEHeader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\MIMEHeader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\NetworkingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\NetworkStateNotifier.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\NetworkStateNotifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ProtectionSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ProtectionSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ProtectionSpaceHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ProxyServer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ProxyServer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceErrorBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceErrorBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceHandleClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceHandleInternal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceLoadInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceLoadPriority.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceLoadTiming.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceLoadTiming.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceRequestBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceRequestBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceResponseBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\ResourceResponseBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\SocketStreamErrorBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\SocketStreamErrorBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\SocketStreamHandleBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\SocketStreamHandleBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\SocketStreamHandleClient.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\platform\network\cf\AuthenticationCF.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\AuthenticationCF.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\AuthenticationChallenge.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\CookieJarCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\CookieStorageCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\CookieStorageCFNet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\CredentialStorageCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\DNSCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\DownloadBundle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\FormDataStreamCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\FormDataStreamCFNet.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\LoaderRunLoopCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\LoaderRunLoopCF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ProxyServerCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceError.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceErrorCF.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceHandleCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceRequest.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceRequestCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceRequestCFNet.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceResponse.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\ResourceResponseCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\SocketStreamError.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\SocketStreamHandle.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\cf\SocketStreamHandleCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\platform\network\win\DownloadBundleWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\network\win\NetworkStateNotifierWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="curl"
+ >
+ <File
+ RelativePath="..\platform\network\curl\AuthenticationChallenge.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\CookieJarCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\CredentialStorageCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\DNSCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\FormDataStreamCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\FormDataStreamCurl.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ProxyServerCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ResourceError.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ResourceHandleCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ResourceHandleManager.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ResourceHandleManager.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ResourceRequest.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\ResourceResponse.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\network\curl\SocketStreamHandleCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="sql"
+ >
+ <File
+ RelativePath="..\platform\sql\SQLiteAuthorizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteFileSystem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteFileSystem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteStatement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteStatement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteTransaction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLiteTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\sql\SQLValue.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="text"
+ >
+ <File
+ RelativePath="..\platform\text\BidiContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\BidiContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\BidiResolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\BidiRunList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\DateTimeFormat.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\DateTimeFormat.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\DecodeEscapeSequences.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\Hyphenation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LineBreakIteratorPoolICU.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LineEnding.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LineEnding.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LocaleToScriptMapping.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LocaleToScriptMappingDefault.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LocalizedDate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LocalizedDateNone.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LocalizedNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\LocalizedNumberNone.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\ParserUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\QuotedPrintable.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\QuotedPrintable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\RegularExpression.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\RegularExpression.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\SegmentedString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\SegmentedString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\StringHash.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\StringImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\StringTruncator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\StringTruncator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\StringWithDirection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\SuffixTree.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SurrogatePairAwareTextIterator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SurrogatePairAwareTextIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SVGGlyph.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\SVGGlyph.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextAllInOne.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextBoundaries.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextBoundaries.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextBreakIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextBreakIterator.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextBreakIteratorICU.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextBreakIteratorInternalICU.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCheckerClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextChecking.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodec.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodec.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecASCIIFastPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecICU.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecICU.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecLatin1.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecLatin1.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecUserDefined.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecUserDefined.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecUTF16.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecUTF16.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecUTF8.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextCodecUTF8.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextDirection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextEncoding.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextEncoding.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextEncodingDetector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextEncodingDetectorICU.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextEncodingRegistry.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextEncodingRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\TextStream.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\text\TextStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\UnicodeBidi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\UnicodeRange.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\UnicodeRange.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\WritingMode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\WidthIterator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\graphics\WidthIterator.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\platform\text\cf\HyphenationCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\cf\StringCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\cf\StringImplCF.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\platform\text\win\TextBreakIteratorInternalICUWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="transcoder"
+ >
+ <File
+ RelativePath="..\platform\text\transcoder\FontTranscoder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\text\transcoder\FontTranscoder.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="image-decoders"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\ImageDecoder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\ImageDecoder.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <Filter
+ Name="cairo"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\cairo\ImageDecoderCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="gif"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\gif\GIFImageDecoder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\gif\GIFImageDecoder.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\gif\GIFImageReader.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\gif\GIFImageReader.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="jpeg"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\jpeg\JPEGImageDecoder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4481;4611"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4481;4611"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\jpeg\JPEGImageDecoder.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="png"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\png\PNGImageDecoder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4481;4611"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ DisableSpecificWarnings="4481;4611"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\png\PNGImageDecoder.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="bmp"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\bmp\BMPImageDecoder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\bmp\BMPImageDecoder.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\bmp\BMPImageReader.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\bmp\BMPImageReader.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="ico"
+ >
+ <File
+ RelativePath="..\platform\image-decoders\ico\ICOImageDecoder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\image-decoders\ico\ICOImageDecoder.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="animation"
+ >
+ <File
+ RelativePath="..\platform\animation\Animation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\animation\Animation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\animation\AnimationList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ ObjectFile="$(IntDir)\$(InputName)1.obj"
+ XMLDocumentationFileName="$(IntDir)\$(InputName)1.xdc"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\platform\animation\AnimationList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\animation\AnimationUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\animation\TimingFunction.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="mock"
+ >
+ <File
+ RelativePath="..\platform\mock\DeviceOrientationClientMock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\mock\DeviceOrientationClientMock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\mock\GeolocationClientMock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\mock\GeolocationClientMock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\mock\ScrollbarThemeMock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\platform\mock\ScrollbarThemeMock.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="css"
+ >
+ <File
+ RelativePath="..\css\Counter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSAspectRatioValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSAspectRatioValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSBorderImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSBorderImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSBorderImageSliceValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSBorderImageSliceValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSCalculationValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSCalculationValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSCanvasValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSCanvasValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSCharsetRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSCharsetRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSComputedStyleDeclaration.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSComputedStyleDeclaration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSCrossfadeValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSCrossfadeValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSCursorImageValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSCursorImageValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFace.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFaceRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFaceRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFaceSource.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFaceSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFaceSrcValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSFontFaceSrcValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSFontSelector.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSFontSelector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSFunctionValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSFunctionValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSGradientValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSGradientValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSGrammar.y"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSHelper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSImageGeneratorValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSImageGeneratorValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSImageValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSImageValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSImportRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSImportRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSInheritedValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSInheritedValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSInitialValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSInitialValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSLineBoxContainValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSLineBoxContainValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSMediaRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSMediaRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSNamespace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSOMUtils.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSOMUtils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSPageRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSPageRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSParserMode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSParserValues.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSParserValues.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSPrimitiveValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSPrimitiveValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSProperty.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSPropertyNames.in"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSPropertySourceData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSPropertySourceData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSReflectionDirection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSReflectValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSReflectValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSRuleList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSRuleList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSSegmentedFontFace.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSSegmentedFontFace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSSelector.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSSelector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSSelectorList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSSelectorList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSStyleDeclaration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSStyleRule.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSStyleRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSStyleSheet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSTimingFunctionValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSTimingFunctionValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSToStyleMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSToStyleMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSUnicodeRangeValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSUnicodeRangeValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSUnknownRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSValueKeywords.in"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSValueList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSValueList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSValuePool.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSValuePool.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSVariableValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\CSSBasicShapes.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\CSSBasicShapes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\DashboardRegion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\FontFeatureValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\FontFeatureValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\FontValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\FontValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\fullscreen.css"
+ >
+ </File>
+ <File
+ RelativePath="..\css\fullscreenQuickTime.css"
+ >
+ </File>
+ <File
+ RelativePath="..\css\html.css"
+ >
+ </File>
+ <File
+ RelativePath="..\css\LengthFunctions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\LengthFunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaAllInOne.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\mediaControls.css"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaFeatureNames.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaFeatureNames.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaList.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaQuery.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaQuery.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryEvaluator.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryEvaluator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryExp.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryExp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryList.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryListListener.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryListListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryMatcher.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\MediaQueryMatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\Pair.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\PropertySetCSSStyleDeclaration.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\PropertySetCSSStyleDeclaration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\quirks.css"
+ >
+ </File>
+ <File
+ RelativePath="..\css\Rect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\RGBColor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\RGBColor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\SelectorChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\SelectorChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\ShadowValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\ShadowValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleBuilder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\StyleBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleMedia.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleMedia.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StylePropertySet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\StylePropertySet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StylePropertyShorthand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\StylePropertyShorthand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleResolver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\css\StyleResolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleRule.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleRuleImport.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleRuleImport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleSheet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleSheetContents.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleSheetContents.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleSheetList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\StyleSheetList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\SVGCSSComputedStyleDeclaration.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\SVGCSSParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\SVGCSSStyleSelector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSArrayFunctionValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSArrayFunctionValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSFilterValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSFilterValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSKeyframeRule.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSKeyframeRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSKeyframesRule.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSKeyframesRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSMatrix.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSMixFunctionValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSMixFunctionValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSRegionRule.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSRegionRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSSVGDocumentValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSSVGDocumentValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSShaderValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSShaderValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSTransformValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\WebKitCSSTransformValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\css\BasicShapeFunctions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\css\BasicShapeFunctions.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="rendering"
+ >
+ <File
+ RelativePath="..\rendering\AutoTableLayout.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\AutoTableLayout.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\BidiRun.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\BidiRun.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\break_lines.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\break_lines.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\CounterNode.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\CounterNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\EllipsisBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\EllipsisBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\FilterEffectRenderer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\FilterEffectRenderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\FixedTableLayout.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\FixedTableLayout.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\FlowThreadController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\FlowThreadController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\GapRects.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\HitTestingTransformState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\HitTestingTransformState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\HitTestRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\HitTestResult.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\HitTestResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\InlineBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\InlineBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\InlineFlowBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\InlineFlowBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\InlineIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\InlineTextBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\InlineTextBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\LayoutRepainter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\LayoutRepainter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\LayoutState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\LayoutState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\LayoutTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\PaintInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\PaintPhase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\PointerEventsHitRules.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\PointerEventsHitRules.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderApplet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderApplet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderArena.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderArena.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBlock.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBlockLineLayout.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBoxModelObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBoxModelObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBR.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderBR.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderButton.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderButton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderCombineText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderCombineText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderCounter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderCounter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderDeprecatedFlexibleBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderDeprecatedFlexibleBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderDetailsMarker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderDetailsMarker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderEmbeddedObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderEmbeddedObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFieldset.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFieldset.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFileUploadControl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFileUploadControl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFlexibleBox.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFlexibleBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFlowThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFlowThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderForeignObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderForeignObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFrame.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFrameBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFrameBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFrameSet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFrameSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFullScreen.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderFullScreen.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderGeometryMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderGeometryMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderGrid.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderGrid.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderHTMLCanvas.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderHTMLCanvas.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderIFrame.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderIFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderImageResource.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderImageResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderImageResourceStyleImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderImageResourceStyleImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderingAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderInline.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderInline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayerBacking.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayerBacking.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayerCompositor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayerCompositor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayerFilterInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLayerFilterInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLineBoxList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderLineBoxList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderListBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderListBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderListItem.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderListItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderListMarker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderListMarker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMarquee.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMarquee.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMedia.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMedia.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMediaControls.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMediaControls.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMenuList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMenuList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMeter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMeter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMultiColumnBlock.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMultiColumnBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMultiColumnFlowThread.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMultiColumnFlowThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMultiColumnSet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderMultiColumnSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderNamedFlowThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderNamedFlowThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderObjectChildList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderObjectChildList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderPart.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderPart.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderProgress.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderProgress.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderQuote.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderQuote.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRegion.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRegion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRegionSet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRegionSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderReplaced.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderReplaced.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderReplica.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderReplica.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRuby.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRuby.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRubyBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRubyBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRubyRun.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRubyRun.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRubyText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderRubyText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderScrollbar.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderScrollbar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderScrollbarPart.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderScrollbarPart.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderScrollbarTheme.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderScrollbarTheme.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderSearchField.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderSearchField.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderSelectionInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderSlider.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderSlider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\WrapShapeInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\WrapShapeInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGBlock.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGContainer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGGradientStop.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGGradientStop.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGHiddenContainer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGHiddenContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGModelObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGModelObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResource.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceClipper.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceClipper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceContainer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceFilter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceFilterPrimitive.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceFilterPrimitive.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceGradient.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceGradient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceLinearGradient.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceLinearGradient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceMarker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceMarker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceMasker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceMasker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourcePattern.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourcePattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceRadialGradient.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceRadialGradient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceSolidColor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGResourceSolidColor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGRoot.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGRoot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGTransformableContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGViewportContainer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTable.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableCaption.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableCaption.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableCell.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableCell.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableCol.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableCol.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableRow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableRow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableSection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTableSection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextControl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextControl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextControlMultiLine.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextControlMultiLine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextControlSingleLine.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextControlSingleLine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextFragment.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextFragment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextTrackCue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTextTrackCue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTheme.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTheme.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderThemeSafari.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderThemeSafari.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderThemeWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderThemeWin.h"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTreeAsText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderTreeAsText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderVideo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderVideo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderView.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderWidget.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderWidget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RenderWordBreak.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RenderWordBreak.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\RootInlineBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\RootInlineBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\ScrollBehavior.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\ScrollBehavior.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGMarkerData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGPathData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGPathData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRenderingContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRenderingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRenderSupport.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRenderSupport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRenderTreeAsText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRenderTreeAsText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGResources.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGResources.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGResourcesCache.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGResourcesCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGResourcesCycleSolver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGResourcesCycleSolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\TableLayout.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\TrailingFloatsRootInlineBox.h"
+ >
+ </File>
+ <Filter
+ Name="mathml"
+ >
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLBlock.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLBlock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLFenced.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLFenced.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLFraction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLFraction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLMath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLMath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLOperator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLOperator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLRoot.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLRoot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLRow.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLRow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLSquareRoot.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLSquareRoot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLSubSup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLSubSup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLUnderOver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\mathml\RenderMathMLUnderOver.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="style"
+ >
+ <File
+ RelativePath="..\rendering\style\BorderData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\BorderValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\CollapsedBorderValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\ContentData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\ContentData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\CounterContent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\CounterDirectives.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\CounterDirectives.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\CursorData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\CursorList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\DataRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\FillLayer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\FillLayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\KeyframeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\KeyframeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\NinePieceImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\NinePieceImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\OutlineValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\QuotesData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\QuotesData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\RenderStyle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\RenderStyle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\RenderStyleConstants.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\ShadowData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\ShadowData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleBackgroundData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleBackgroundData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleBoxData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleBoxData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleCachedImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleCachedImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleCachedShader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleCachedShader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleCustomFilterProgram.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleDeprecatedFlexibleBoxData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleDeprecatedFlexibleBoxData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleFilterData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleFilterData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleFlexibleBoxData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleFlexibleBoxData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleGeneratedImage.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleGeneratedImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleGridData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleGridData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleGridItemData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleGridItemData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleInheritedData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleInheritedData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleMarqueeData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleMarqueeData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleMultiColData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleMultiColData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StylePendingImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StylePendingShader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleRareInheritedData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleRareInheritedData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleRareNonInheritedData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleRareNonInheritedData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleReflection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleShader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleSurroundData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleSurroundData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleTransformData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleTransformData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleVisualData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleVariableData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\StyleVisualData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\SVGRenderStyle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\SVGRenderStyle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\SVGRenderStyleDefs.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\style\SVGRenderStyleDefs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\BasicShapes.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\style\BasicShapes.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="svg"
+ >
+ <File
+ RelativePath="..\rendering\svg\RenderSVGEllipse.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGEllipse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGInline.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGInline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGInlineText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGInlineText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGPath.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGRect.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGShape.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGShape.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGTextPath.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGTextPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGTSpan.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\RenderSVGTSpan.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGInlineFlowBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGInlineFlowBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGInlineTextBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGInlineTextBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRootInlineBox.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGRootInlineBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextChunk.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextChunk.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextChunkBuilder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextChunkBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextFragment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutAttributes.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutAttributes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutAttributesBuilder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutAttributesBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutEngine.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutEngine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutEngineBaseline.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutEngineBaseline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutEngineSpacing.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextLayoutEngineSpacing.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextMetrics.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextMetrics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextMetricsBuilder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextMetricsBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextQuery.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextQuery.h"
+ >
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextRunRenderingContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\rendering\svg\SVGTextRunRenderingContext.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="xml"
+ >
+ <File
+ RelativePath="..\xml\DOMParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\DOMParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\NativeXPathNSResolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\NativeXPathNSResolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLErrors.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLErrors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestException.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestProgressEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestProgressEventThrottle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestProgressEventThrottle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestUpload.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLHttpRequestUpload.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLSerializer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLSerializer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLTreeViewer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XMLTreeViewer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathEvaluator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathEvaluator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathException.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathExpression.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathExpression.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathExpressionNode.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathExpressionNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathFunctions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathFunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathGrammar.y"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathNodeSet.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathNodeSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathNSResolver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathNSResolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ ForcedIncludeFiles="$(NOINHERIT);ICUVersion.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\xml\XPathParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathPath.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathPredicate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathPredicate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathStep.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathStep.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathUtil.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathUtil.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathVariableReference.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XPathVariableReference.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLImportRule.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLImportRule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLStyleSheetLibxslt.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTExtensions.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTExtensions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTProcessor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTProcessor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTProcessorLibxslt.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTUnicodeSort.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\XSLTUnicodeSort.h"
+ >
+ </File>
+ <Filter
+ Name="parser"
+ >
+ <File
+ RelativePath="..\xml\parser\CharacterReferenceInlineMethods.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\MarkupTokenBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\MarkupTokenizerBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\MarkupTokenizerInlineMethods.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\NewXMLDocumentParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\NewXMLDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLDocumentParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLDocumentParserLibxml2.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLDocumentParserScope.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLDocumentParserScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLToken.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLTokenizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLTreeBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\xml\parser\XMLTreeBuilder.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="dom"
+ >
+ <File
+ RelativePath="..\dom\ActiveDOMObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ActiveDOMObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\AtomicStringList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Attr.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Attr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Attribute.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\BeforeLoadEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\BeforeTextInsertedEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\BeforeTextInsertedEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\BeforeUnloadEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\BeforeUnloadEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\CDATASection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\CDATASection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\CharacterData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\CharacterData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\CheckedRadioButtons.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\CheckedRadioButtons.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ChildListMutationScope.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ChildListMutationScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ChildNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ChildNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ClassNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ClassNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ClientRect.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ClientRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ClientRectList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ClientRectList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Clipboard.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Clipboard.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ClipboardAccessPolicy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ClipboardEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ClipboardEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Comment.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Comment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ComposedShadowTreeWalker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ComposedShadowTreeWalker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\CompositionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\CompositionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ContainerNode.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ContainerNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ContextDestructionObserver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ContextDestructionObserver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\CrossThreadTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\CustomEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\CustomEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DatasetDOMStringMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DatasetDOMStringMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DataTransferItem.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DataTransferItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DataTransferItemList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DecodedDataDocumentParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DecodedDataDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DeviceMotionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DeviceOrientationEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Document.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Document.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentFragment.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DocumentFragment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentMarker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DocumentMarker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentMarkerController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DocumentMarkerController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentOrderedMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DocumentOrderedMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentTiming.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DocumentType.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DocumentType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMCoreException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DOMCoreException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMError.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DOMError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMImplementation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DOMImplementation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMStringList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DOMStringList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMStringMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DOMStringMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMTimeStamp.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DynamicNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DynamicNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EditingText.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EditingText.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Element.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Element.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Entity.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EntityReference.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EntityReference.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ErrorEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ErrorEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Event.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Event.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EventContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventDispatcher.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EventDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventDispatchMediator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EventDispatchMediator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EventException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventListenerMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|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>
+ </File>
+ <File
+ RelativePath="..\dom\EventListenerMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventNames.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EventNames.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventQueue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\EventQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventSender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\EventTarget.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|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>
+ </File>
+ <File
+ RelativePath="..\dom\EventTarget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ExceptionBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ExceptionBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ExceptionCode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ExceptionCodePlaceholder.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ExceptionCodePlaceholder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\GenericEventQueue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\GenericEventQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\HashChangeEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\IconURL.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\IconURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\IdTargetObserver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\IdTargetObserver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\IdTargetObserverRegistry.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\IdTargetObserverRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\IgnoreDestructiveWriteCountIncrementer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\KeyboardEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\KeyboardEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MemoryInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MessageChannel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MessageChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MessageEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MessageEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MessagePort.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MessagePort.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MessagePortChannel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MessagePortChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MicroDataItemList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MicroDataItemList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MouseEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MouseEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MouseRelatedEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MouseRelatedEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MutationEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MutationEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MutationObserver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MutationObserver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MutationObserverInterestGroup.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MutationObserverInterestGroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MutationObserverRegistration.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MutationObserverRegistration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\MutationRecord.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\MutationRecord.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NamedNodeMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NamedNodeMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NameNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\NameNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Node.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Node.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NodeFilter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\NodeFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NodeFilterCondition.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\NodeFilterCondition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NodeIterator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\NodeIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NodeRenderingContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\NodeRenderingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Notation.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Notation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\OverflowEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\OverflowEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\PageTransitionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\PageTransitionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\PendingScript.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\PendingScript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\default\PlatformMessagePortChannel.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\default\PlatformMessagePortChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\PopStateEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\PopStateEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Position.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Position.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\PositionIterator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\PositionIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ProcessingInstruction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ProcessingInstruction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ProgressEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ProgressEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\PropertyNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\PropertyNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\QualifiedName.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\QualifiedName.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Range.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Range.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\RangeBoundaryPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\RangeException.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\RangeException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\RegisteredEventListener.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\RegisteredEventListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\RenderedDocumentMarker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScopedEventQueue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ScopedEventQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScriptableDocumentParser.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ScriptableDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScriptedAnimationController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScriptedAnimationController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScriptElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ScriptElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScriptExecutionContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ScriptExecutionContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ScriptRunner.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ScriptRunner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\SecurityContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\SecurityContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\SelectorQuery.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\SelectorQuery.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\SpaceSplitString.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\SpaceSplitString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\StaticHashSetNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\StaticHashSetNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\StaticNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\StaticNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\StringCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\StringCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\StyledElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\StyledElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\StyleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\StyleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TagNodeList.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\TagNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\Text.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Text.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TextEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\TextEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TextEventInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TransformSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TransformSourceLibxslt.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Traversal.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\Traversal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TreeDepthLimit.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TreeScope.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\TreeScope.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TreeScopeAdopter.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\TreeScopeAdopter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\TreeWalker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\TreeWalker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\UIEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\UIEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\UIEventWithKeyState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\UIEventWithKeyState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\UserGestureIndicator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\UserGestureIndicator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\UserTypingGestureIndicator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\UserTypingGestureIndicator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\ViewportArguments.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\ViewportArguments.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WebKitAnimationEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\WebKitAnimationEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WebKitNamedFlow.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\WebKitNamedFlow.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\NamedFlowCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\NamedFlowCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\DOMNamedFlowCollection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\DOMNamedFlowCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WebCoreMemoryInstrumentation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WebCoreMemoryInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WebKitTransitionEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\WebKitTransitionEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WheelEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\WheelEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\dom\WindowEventContext.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\dom\WindowEventContext.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="workers"
+ >
+ <File
+ RelativePath="..\workers\AbstractWorker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\AbstractWorker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\DedicatedWorkerContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\DedicatedWorkerContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\DedicatedWorkerThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\DedicatedWorkerThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\DefaultSharedWorkerRepository.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\DefaultSharedWorkerRepository.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorkerContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorkerContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorkerRepository.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorkerThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\SharedWorkerThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\Worker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\Worker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerContextProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerEventQueue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerEventQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerLoaderProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerLocation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerLocation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerMessagingProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerMessagingProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerObjectProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerReportingProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerRunLoop.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerRunLoop.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerScriptLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerScriptLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerScriptLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\workers\WorkerThread.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="editing"
+ >
+ <File
+ RelativePath="..\editing\AppendNodeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\AppendNodeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\ApplyStyleCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\ApplyStyleCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\BreakBlockquoteCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\BreakBlockquoteCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\CompositeEditCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\CompositeEditCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\CorrectionPanelInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\CreateLinkCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\CreateLinkCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DeleteButton.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DeleteButton.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DeleteButtonController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DeleteButtonController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DeleteFromTextNodeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DeleteFromTextNodeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DeleteSelectionCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DeleteSelectionCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DictationAlternative.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DictationAlternative.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DictationCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DictationCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\DOMTransactionStep.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\DOMTransactionStep.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\EditCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditingAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditingBehavior.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditingBehaviorTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditingBoundary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditingStyle.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\EditingStyle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\Editor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\Editor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditorCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\EditorDeleteAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\EditorInsertAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\FindOptions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\FormatBlockCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\FormatBlockCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\FrameSelection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\FrameSelection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\htmlediting.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\htmlediting.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\HTMLInterchange.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\HTMLInterchange.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\IndentOutdentCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\IndentOutdentCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\InsertIntoTextNodeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\InsertIntoTextNodeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\InsertLineBreakCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\InsertLineBreakCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\InsertListCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\InsertListCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\InsertNodeBeforeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\InsertNodeBeforeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\InsertParagraphSeparatorCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\InsertParagraphSeparatorCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\InsertTextCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\InsertTextCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\markup.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\markup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\MarkupAccumulator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\MarkupAccumulator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\MergeIdenticalElementsCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\MergeIdenticalElementsCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\ModifySelectionListLevel.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\ModifySelectionListLevel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\MoveSelectionCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\MoveSelectionCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\RemoveCSSPropertyCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\RemoveCSSPropertyCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\RemoveFormatCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\RemoveNodeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\RemoveNodeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\RemoveNodePreservingChildrenCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\RemoveNodePreservingChildrenCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\RenderedPosition.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\RenderedPosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\ReplaceNodeWithSpanCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\ReplaceNodeWithSpanCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\ReplaceSelectionCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\ReplaceSelectionCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SetNodeAttributeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SetNodeAttributeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SetSelectionCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SetSelectionCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SimplifyMarkupCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SimplifyMarkupCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SmartReplace.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SmartReplace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SmartReplaceCF.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SpellChecker.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SpellChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SpellingCorrectionCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SpellingCorrectionCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SplitElementCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SplitElementCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SplitTextNodeCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SplitTextNodeCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\SplitTextNodeContainingElementCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\SplitTextNodeContainingElementCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\TextAffinity.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\TextCheckingHelper.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\TextCheckingHelper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\TextGranularity.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\TextInsertionBaseCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\TextInsertionBaseCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\TextIterator.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\TextIterator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\TypingCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\TypingCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\UndoManager.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\UndoManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\UndoStep.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\UnlinkCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\UnlinkCommand.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\visible_units.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\visible_units.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\VisiblePosition.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\VisiblePosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\VisibleSelection.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\VisibleSelection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\editing\WrapContentsInDummySpanCommand.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\WrapContentsInDummySpanCommand.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="html"
+ >
+ <File
+ RelativePath="..\fileapi\AsyncFileStream.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\AsyncFileStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseButtonInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseButtonInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseCheckableInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseCheckableInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseClickableWithKeyInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseClickableWithKeyInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseDateAndTimeInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseDateAndTimeInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseTextInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\BaseTextInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\Blob.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\Blob.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\BlobURL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\BlobURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ButtonInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ButtonInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasGradient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasGradient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasPattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasRenderingContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasRenderingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasRenderingContext2D.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasRenderingContext2D.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasStyle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\CanvasStyle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\CheckboxInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\CheckboxInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ClassList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ClassList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\CollectionType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ColorInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ColorInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\DataView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\canvas\DataView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DateInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DateInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DateTimeInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DateTimeInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DateTimeLocalInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DateTimeLocalInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMFormData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMFormData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMSettableTokenList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMSettableTokenList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMTokenList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMTokenList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMURL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\DOMURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\EmailInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\EmailInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\File.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\File.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileException.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FileInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FileInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReaderLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReaderLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReaderLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReaderSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileReaderSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\FileThreadTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FormAssociatedElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FormAssociatedElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FormController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FormController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FormDataList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FormDataList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FTPDirectoryDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\FTPDirectoryDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HiddenInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HiddenInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLAllCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLAllCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLAnchorElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLAnchorElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLAppletElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLAppletElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLAreaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLAreaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLAudioElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLAudioElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLBaseElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLBaseElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLBaseFontElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLBaseFontElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLBDIElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLBodyElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLBodyElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLBRElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLBRElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLButtonElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLButtonElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLCanvasElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLCanvasElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDataListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLDataListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDetailsElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLDetailsElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDirectoryElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLDirectoryElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDivElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLDivElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLDListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLElementsAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLEmbedElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLEmbedElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFieldSetElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFieldSetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFontElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFontElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormControlElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormControlElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormControlElementWithState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormControlElementWithState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFormElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameElementBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameElementBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameOwnerElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameOwnerElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameSetElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLFrameSetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLHeadElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLHeadElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLHeadingElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLHeadingElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLHRElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLHRElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLHtmlElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLHtmlElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLIFrameElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLIFrameElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLImageElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLImageLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLImageLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLInputElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLInputElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLKeygenElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLKeygenElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLLabelElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLLabelElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLLegendElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLLegendElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLLIElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLLIElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLLinkElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLLinkElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLMapElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLMapElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLMarqueeElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLMarqueeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLMediaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLMediaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLMenuElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLMenuElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLMetaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLMetaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLMeterElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLMeterElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLModElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLModElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLNameCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLNameCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLObjectElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLObjectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLOListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOptGroupElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLOptGroupElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOptionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLOptionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOptionsCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOptionsCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOutputElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLOutputElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLParagraphElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLParagraphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLParamElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLParamElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLParserErrorCodes.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLParserErrorCodes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLPlugInElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLPlugInElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLPlugInImageElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLPlugInImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLPreElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLPreElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLProgressElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLProgressElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLPropertiesCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLPropertiesCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLQuoteElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLQuoteElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLScriptElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLScriptElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLSelectElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLSelectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLSelectElementWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLSourceElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLSourceElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLSpanElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLSpanElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLStyleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLStyleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLSummaryElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLSummaryElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableCaptionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableCaptionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableCellElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableCellElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableColElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableColElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTablePartElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTablePartElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableRowElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableRowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableRowsCollection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableRowsCollection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableSectionElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTableSectionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTextAreaElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTextAreaElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTextFormControlElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTextFormControlElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLTitleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLTitleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLUListElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLUListElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLVideoElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\HTMLVideoElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLViewSourceDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\HTMLViewSourceDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ImageData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ImageData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ImageDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ImageDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ImageInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ImageInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\InputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\InputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LabelableElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LabelableElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LabelsNodeList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LabelsNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LinkRelAttribute.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\LinkRelAttribute.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaFragmentURIParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MediaFragmentURIParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MicroDataItemValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MicroDataItemValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MonthInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\MonthInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\NumberInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\NumberInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\PasswordInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\PasswordInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\PluginDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\PluginDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\PublicURLManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\RadioInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\RadioInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\RadioNodeList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\RadioNodeList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\RangeInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\RangeInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ResetInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ResetInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\SearchInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\SearchInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\StepRange.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\StepRange.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\SubmitInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\SubmitInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TelephoneInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TelephoneInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TextDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TextFieldInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TextFieldInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TextInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TextInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\ThreadableBlobRegistry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\fileapi\ThreadableBlobRegistry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TimeInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TimeInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TimeRanges.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\TimeRanges.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\URLInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\URLInputType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ValidationMessage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ValidationMessage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ValidityState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\ValidityState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\VoidCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\WeekInputType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\WeekInputType.h"
+ >
+ </File>
+ <Filter
+ Name="parser"
+ >
+ <File
+ RelativePath="..\html\parser\CSSPreloadScanner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\CSSPreloadScanner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLConstructionSite.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLConstructionSite.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLDocumentParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLElementStack.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLElementStack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntityParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntityParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntitySearch.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLEntitySearch.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLFormattingElementList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLFormattingElementList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLInputStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLMetaCharsetParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLMetaCharsetParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLParserIdioms.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLParserIdioms.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLParserScheduler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLParserScheduler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLPreloadScanner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLPreloadScanner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLScriptRunner.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLScriptRunner.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLScriptRunnerHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLSourceTracker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLSourceTracker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLStackItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLToken.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTokenizer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTokenizer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTreeBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLTreeBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLViewSourceParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\HTMLViewSourceParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\NestingLevelIncrementer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextDocumentParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextDocumentParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextViewSourceParser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\TextViewSourceParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\XSSAuditor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\parser\XSSAuditor.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="shadow"
+ >
+ <File
+ RelativePath="..\html\shadow\ContentDistributor.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ContentDistributor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ContentSelectorQuery.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ContentSelectorQuery.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\DetailsMarkerControl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\DetailsMarkerControl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\HTMLContentElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\shadow\HTMLContentElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\HTMLShadowElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\html\shadow\HTMLShadowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\InsertionPoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\InsertionPoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ImageInnerElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ImageInnerElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MediaControlElements.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MediaControlElements.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MediaControlRootElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MediaControlRootElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MediaControls.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MediaControls.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MeterShadowElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\MeterShadowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ProgressBarValueElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ProgressShadowElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\ProgressShadowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\SliderThumbElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\SliderThumbElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\SpinButtonElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\SpinButtonElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\TextControlInnerElements.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\html\shadow\TextControlInnerElements.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="bindings"
+ >
+ <File
+ RelativePath="..\bindings\ScriptControllerBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\ScriptControllerBase.h"
+ >
+ </File>
+ <Filter
+ Name="generic"
+ >
+ <File
+ RelativePath="..\bindings\generic\ActiveDOMCallback.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\generic\ActiveDOMCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\generic\BindingSecurity.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\generic\BindingSecurity.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\generic\GenericBinding.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\generic\RuntimeEnabledFeatures.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\generic\RuntimeEnabledFeatures.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="js"
+ >
+ <File
+ RelativePath="..\bindings\js\ArrayValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ArrayValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\CachedScriptSourceProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\CallbackFunction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\BindingState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\BindingState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\CallbackFunction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\Dictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\DOMObjectHashTableMap.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\DOMObjectHashTableMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\DOMTransaction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\DOMTransaction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\DOMWrapperWorld.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\DOMWrapperWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\GCController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\GCController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\IDBBindingUtilities.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\IDBBindingUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\IDBCustomBindings.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JavaScriptCallFrame.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JavaScriptCallFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSAttrCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSBindingsAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSBlobCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCallbackData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCallbackData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCanvasRenderingContext2DCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCanvasRenderingContextCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCDATASectionCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSClipboardCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSConsoleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCoordinatesCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSFontFaceRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSImportRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSMediaRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSPageRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSRuleListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSStyleDeclarationCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSStyleDeclarationCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSStyleRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCSSValueCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCustomSQLStatementErrorCallback.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCustomXPathNSResolver.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSCustomXPathNSResolver.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDedicatedWorkerContextCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDesktopNotificationsCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDeviceMotionEventCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDeviceOrientationEventCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDictionary.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDocumentCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMBinding.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMBinding.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMFormDataCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMGlobalObject.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMGlobalObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMImplementationCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMMimeTypeArrayCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMPluginArrayCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMPluginCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMStringListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMStringMapCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMStringMapCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMTokenListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowShell.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowShell.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowWebAudioCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWindowWebSocketCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWrapper.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSDOMWrapper.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEntryCustom.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEntrySyncCustom.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSErrorHandler.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSErrorHandler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEventCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEventListener.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEventListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEventSourceCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSEventTargetCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSExceptionBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSExceptionBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSFileReaderCustom.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSGeolocationCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHistoryCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHistoryCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLAllCollectionCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLAppletElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLAppletElementCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLCanvasElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLCollectionCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLDocumentCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLEmbedElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLEmbedElementCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLFormElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLFrameElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLFrameSetElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLInputElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLInputElementCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLLinkElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLObjectElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLObjectElementCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLOptionsCollectionCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLOutputElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLSelectElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLSelectElementCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSHTMLStyleElementCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSImageConstructor.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSImageConstructor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSImageDataCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSInjectedScriptHostCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSInjectedScriptManager.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSInspectorFrontendHostCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSJavaScriptCallFrameCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSLazyEventListener.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSLazyEventListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSLocationCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSLocationCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMainThreadExecState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMainThreadExecState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMediaListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMemoryInfoCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMessageChannelCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMessageEventCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMessagePortCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMessagePortCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMicroDataItemValueCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMicroDataItemValueCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMutationCallbackCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSMutationObserverCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNamedNodeMapCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeFilterCondition.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeFilterCondition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeFilterCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeIteratorCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNodeListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSNotificationCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSPluginElementFunctions.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSPluginElementFunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSProcessingInstructionCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSRequestAnimationFrameCallbackCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSScriptProfileNodeCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSharedWorkerCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSQLResultSetRowListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSQLTransactionCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSQLTransactionSyncCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSStorageCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSStorageCustom.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSStyleSheetCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSStyleSheetListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSVGElementInstanceCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSVGLengthCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSSVGPathSegCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSTextCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSTreeWalkerCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSUndoManagerCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebKitAnimationCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebKitAnimationListCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebKitCSSKeyframeRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebKitCSSKeyframesRuleCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebKitCSSMatrixCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebKitPointCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWebSocketCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWorkerContextBase.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWorkerContextBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWorkerContextCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSWorkerCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSXMLHttpRequestCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSXMLHttpRequestUploadCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSXPathResultCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\JSXSLTProcessorCustom.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\PageScriptDebugServer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\PageScriptDebugServer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\PageScriptDebugServer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScheduledAction.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScheduledAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptCachedFrameData.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptCachedFrameData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptCallStackFactory.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptCallStackFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptControllerWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptDebugServer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptDebugServer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptEventListener.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptEventListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptFunctionCall.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptFunctionCall.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptGCEvent.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptGCEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptHeapSnapshot.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptProfile.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptProfile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptProfileNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptProfiler.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptProfiler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptSourceCode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptSourceProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptState.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\ScriptWrappable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\SerializedScriptValue.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\SerializedScriptValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\StringSourceProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\WebCoreJSClientData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\WorkerScriptController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\bindings\js\WorkerScriptController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\js\WorkerScriptDebugServer.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="scripts"
+ >
+ <File
+ RelativePath="..\bindings\scripts\CodeGenerator.pm"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\scripts\CodeGeneratorJS.pm"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\scripts\generate-bindings.pl"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\scripts\IDLAttributes.txt"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\scripts\IDLParser.pm"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\scripts\IDLStructure.pm"
+ >
+ </File>
+ <File
+ RelativePath="..\bindings\scripts\preprocess-idls.pl"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="plugins"
+ >
+ <File
+ RelativePath="..\plugins\DOMMimeType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMMimeType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMMimeTypeArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMMimeTypeArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMPlugin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMPlugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMPluginArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\DOMPluginArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\npapi.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\npapi.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\npfunctions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\npruntime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginDebug.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginDebug.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginMainThreadScheduler.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginMainThreadScheduler.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginPackage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginPackage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginQuirkSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginStrategy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginStream.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\PluginView.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\plugins\win\PluginDatabaseWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\win\PluginMessageThrottlerWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\win\PluginMessageThrottlerWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\win\PluginPackageWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\plugins\win\PluginViewWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="svg"
+ >
+ <File
+ RelativePath="..\svg\ColorDistance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\DeprecatedSVGAnimatedProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\DeprecatedSVGAnimatedPropertyTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\DeprecatedSVGAnimatedTemplate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\ElementTimeControl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAllInOne.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAltGlyphDefElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAltGlyphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAltGlyphItemElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAngle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimateColorElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedAngle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedBoolean.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedColor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedEnumeration.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedInteger.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedIntegerOptionalInteger.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedLength.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedLengthList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedNumberList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedNumberOptionalNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedPath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedPointList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedPreserveAspectRatio.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedRect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedTransformList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatedTypeAnimator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimateElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimateMotionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimateTransformElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimationElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGAnimatorFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGCircleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGClipPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGColor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGComponentTransferFunctionElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGCursorElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGDefsElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGDescElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGDocumentExtensions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGElementInstance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGElementInstanceList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGElementRareData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGEllipseElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGException.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGExternalResourcesRequired.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEBlendElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEColorMatrixElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEComponentTransferElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFECompositeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEConvolveMatrixElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEDiffuseLightingElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEDisplacementMapElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEDistantLightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEDropShadowElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEFloodElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEFuncAElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEFuncBElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEFuncGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEFuncRElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEGaussianBlurElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFELightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEMergeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEMergeNodeElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEOffsetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFEPointLightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFESpecularLightingElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFESpotLightElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFETileElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFETurbulenceElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFilterElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFilterPrimitiveStandardAttributes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFitToViewBox.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontFaceElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontFaceElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontFaceFormatElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontFaceNameElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontFaceSrcElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGFontFaceUriElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGForeignObjectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGGlyphElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGGlyphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGGlyphMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGGlyphRefElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGGlyphRefElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGGradientElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGHKernElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGHKernElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGImageElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGImageLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLangSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLength.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLengthContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLengthList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLinearGradientElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLineElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGLocatable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGMarkerElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGMaskElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGMaskElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGMatrix.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGMetadataElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGMissingGlyphElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGMPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGNumberList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPaint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGParserUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGParsingError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathBlender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathByteStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathByteStreamBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathByteStreamSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathConsumer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathParser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSeg.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegArc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegClosePath.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegCurvetoCubic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegCurvetoCubicSmooth.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegCurvetoQuadratic.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegCurvetoQuadraticSmooth.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegLineto.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegLinetoHorizontal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegLinetoVertical.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegListBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegListSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSegMoveto.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathStringBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathStringSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathTraversalStateBuilder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPathUtilities.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPatternElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPointList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPolyElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPolygonElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPolylineElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGPreserveAspectRatio.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGRadialGradientElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGRectElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGRenderingIntent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGScriptElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGSetElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStopElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStringList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStylable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStyledElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGStyledElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStyledLocatableElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStyledTransformableElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGStyleElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGStyleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGSVGElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGSwitchElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGSymbolElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTests.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTextContentElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTextElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTextPathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTextPositioningElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTitleElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTransform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTransformable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTransformDistance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTransformList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTRefElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGTSpanElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGUnitTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGURIReference.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGUseElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGViewElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGViewSpec.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGVKernElement.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\svg\SVGVKernElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGZoomAndPan.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\SVGZoomEvent.h"
+ >
+ </File>
+ <Filter
+ Name="animation"
+ >
+ <File
+ RelativePath="..\svg\animation\SMILTime.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\animation\SMILTime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\animation\SMILTimeContainer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\animation\SMILTimeContainer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\animation\SVGSMILElement.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\animation\SVGSMILElement.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="graphics"
+ >
+ <File
+ RelativePath="..\svg\graphics\SVGImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\SVGImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\SVGImageCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\SVGImageCache.h"
+ >
+ </File>
+ <Filter
+ Name="filters"
+ >
+ <File
+ RelativePath="..\svg\graphics\filters\SVGFEImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\filters\SVGFEImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\filters\SVGFilter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\filters\SVGFilter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\filters\SVGFilterBuilder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\graphics\filters\SVGFilterBuilder.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="properties"
+ >
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedEnumerationPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedListPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedPathSegListPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedPropertyDescription.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedPropertyMacros.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedStaticPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAnimatedTransformListPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAttributeToPropertyMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGAttributeToPropertyMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGListProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGListPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGPathSegListPropertyTearOff.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGPathSegListPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGProperty.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGPropertyInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGPropertyTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGStaticListPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGStaticPropertyTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGStaticPropertyWithParentTearOff.h"
+ >
+ </File>
+ <File
+ RelativePath="..\svg\properties\SVGTransformListPropertyTearOff.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="ForwardingHeaders"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\MainThread.h"
+ >
+ </File>
+ <Filter
+ Name="wtf"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\AlwaysInline.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\Assertions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\Deque.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\dtoa.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\FastMalloc.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\Forward.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\GetPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\HashCountedSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\HashMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\HashSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\HashTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\HashTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\ListHashSet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\MathExtras.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\MessageQueue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\Noncopyable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\OwnArrayPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\OwnPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\OwnPtrCommon.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\PassOwnPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\PassRefPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\Platform.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\RefPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\RetainPtr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\StringExtras.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\Vector.h"
+ >
+ </File>
+ <Filter
+ Name="unicode"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\unicode\Unicode.h"
+ >
+ </File>
+ <Filter
+ Name="icu"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\unicode\icu\UnicodeIcu.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="text"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\wtf\text\CString.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="JSC"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\ArgList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\Heap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\Identifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\JSLock.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\JSObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\JSString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\JSValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\Lookup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\Operations.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\PropertyMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\Protect.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\runtime\StringObject.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="yarr"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\yarr\Yarr.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\yarr\YarrInterpreter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\yarr\YarrPattern.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="bindings"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\bindings\NP_jsobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\bindings\npruntime_impl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\bindings\runtime_root.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="profiler"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\profiler\Profile.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\profiler\ProfileNode.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForwardingHeaders\profiler\Profiler.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="masm"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\masm\MacroAssembler.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="heap"
+ >
+ <File
+ RelativePath="..\ForwardingHeaders\heap\Strong.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="history"
+ >
+ <File
+ RelativePath="..\history\BackForwardController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\BackForwardController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\BackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\BackForwardListImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\BackForwardListImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\CachedFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\CachedFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\CachedFramePlatformData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\CachedPage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\CachedPage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\HistoryItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\HistoryItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\history\PageCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\PageCache.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\history\cf\HistoryPropertyList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\history\cf\HistoryPropertyList.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="storage"
+ >
+ <File
+ RelativePath="..\storage\Storage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\Storage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageArea.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageAreaImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageAreaImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageAreaSync.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageAreaSync.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageEventDispatcher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageEventDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageInfoErrorCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageInfoQuotaCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageInfoUsageCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageNamespace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageNamespace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageNamespaceImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageNamespaceImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageSyncManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageSyncManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageTask.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageTask.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageThread.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageThread.h"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageTracker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\storage\StorageTracker.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="strings"
+ >
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\AtomicString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\StringImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\include\private\wtf\text\WTFString.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="bridge"
+ >
+ <File
+ RelativePath="..\bridge\Bridge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\jsc\BridgeJSC.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\jsc\BridgeJSC.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_class.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_class.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_instance.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_instance.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_runtime.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_runtime.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_utility.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\c_utility.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\CRuntimeObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\c\CRuntimeObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\IdentifierRep.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\IdentifierRep.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\NP_jsobject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\NP_jsobject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\npruntime.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\npruntime_impl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\npruntime_internal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\npruntime_priv.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_array.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_array.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_method.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_method.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_object.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_object.h"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_root.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\bridge\runtime_root.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="inspector"
+ >
+ <File
+ RelativePath="..\inspector\BindingVisitors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ConsoleMessage.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\ConsoleMessage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ContentSearchUtils.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\ContentSearchUtils.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\DOMEditor.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\DOMEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\DOMPatchSupport.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\DOMPatchSupport.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\IdentifiersFactory.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\IdentifiersFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScript.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScript.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptBase.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptHost.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptManager.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptModule.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptModule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptWebGLModule.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InjectedScriptWebGLModule.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorAllInOne.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorApplicationCacheAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorApplicationCacheAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorBaseAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorBaseAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorClient.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorConsoleAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorConsoleAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorConsoleInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorController.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorCounters.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorCounters.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorCSSAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorCSSAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDatabaseAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDatabaseAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDatabaseInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDatabaseResource.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDatabaseResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDebuggerAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDebuggerAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMDebuggerAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMDebuggerAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMStorageAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMStorageAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMStorageResource.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorDOMStorageResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFileSystemAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFileSystemAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFrontendChannel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFrontendClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFrontendClientLocal.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFrontendClientLocal.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFrontendHost.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorFrontendHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorHistory.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorHistory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorIndexedDBAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorIndexedDBAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorInstrumentation.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorMemoryAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorMemoryAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorOverlay.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorOverlay.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorPageAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorPageAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorProfilerAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorProfilerAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorResourceAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorResourceAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorRuntimeAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorRuntimeAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorState.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorStateClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorStyleSheet.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorStyleSheet.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorStyleTextEditor.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorStyleTextEditor.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorTimelineAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorTimelineAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorValues.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorValues.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorWebGLAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorWebGLAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorWebGLInstrumentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorWorkerAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorWorkerAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InspectorWorkerResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\InstrumentingAgents.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\InstrumentingAgents.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\MemoryInstrumentationImpl.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\MemoryInstrumentationImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\NetworkResourcesData.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\NetworkResourcesData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\PageConsoleAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\PageConsoleAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\PageDebuggerAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\PageDebuggerAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\PageRuntimeAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\PageRuntimeAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptArguments.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptArguments.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptBreakpoint.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptCallFrame.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptCallFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptCallStack.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptCallStack.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\ScriptDebugListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\TimelineRecordFactory.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\TimelineRecordFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerConsoleAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerConsoleAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerDebuggerAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerDebuggerAgent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerInspectorController.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerInspectorController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerRuntimeAgent.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\inspector\WorkerRuntimeAgent.h"
+ >
+ </File>
+ <Filter
+ Name="front-end"
+ >
+ <File
+ RelativePath="..\inspector\front-end\AdvancedSearchController.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ApplicationCacheItemsView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ApplicationCacheModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\AuditCategories.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\AuditFormatters.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\AuditLauncherView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\AuditResultView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\AuditRules.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\auditsPanel.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\AuditsPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\BottomUpProfileDataGridTree.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\breadcrumbList.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\BreakpointManager.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\BreakpointsSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CallStackSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Checkbox.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CodeMirrorTextEditor.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Color.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CompilerScriptMapping.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ConsoleMessage.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ConsoleModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ConsolePanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ConsoleView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ContentProvider.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ContentProviders.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ContextMenu.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CookieItemsView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CookieParser.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CookiesTable.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CPUProfileView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CSSCompletions.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CSSKeywordCompletions.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CSSSelectorProfileView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\CSSStyleModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cm\codemirror.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cm\codemirror.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cm\css.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cm\htmlmixed.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cm\javascript.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cm\xml.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\cmdevtools.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Database.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DatabaseQueryView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DatabaseTableView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\dataGrid.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DataGrid.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DebuggerModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DebuggerScriptMapping.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DefaultTextEditor.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\dialog.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Dialog.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DirectoryContentView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMAgent.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMBreakpointsSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMExtension.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMPresentationUtils.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMStorage.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMStorageItemsView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\DOMSyntaxHighlighter.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Drawer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\elementsPanel.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ElementsPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ElementsPanelDescriptor.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ElementsTreeOutline.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\EmptyView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\EventListenersSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ExtensionAPI.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ExtensionAuditCategory.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ExtensionPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ExtensionRegistryStub.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ExtensionServer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ExtensionView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FileContentView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FileManager.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FileSystemModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FileSystemView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FileUtils.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\filteredItemSelectionDialog.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FilteredItemSelectionDialog.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\FontView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\GoToLineDialog.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HandlerRegistry.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HAREntry.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\heapProfiler.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshot.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotDataGrids.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotGridNodes.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotLoader.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotProxy.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotWorker.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HeapSnapshotWorkerDispatcher.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\helpScreen.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\HelpScreen.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ImageView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\IndexedDBModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\indexedDBViews.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\IndexedDBViews.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\inspector.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\inspector.html"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\inspector.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\InspectorBackend.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\inspectorCommon.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\InspectorFrontendAPI.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\InspectorFrontendHostStub.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\inspectorSyntaxHighlight.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\InspectorView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\JavaScriptFormatter.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UglifyJS\JavaScriptFormatter.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\JavaScriptSource.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\JavaScriptSourceFrame.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\jsdifflib.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\KeyboardShortcut.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Linkifier.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\MetricsSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NativeBreakpointsSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NavigatorOverlayController.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\nativeMemoryProfiler.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\navigatorView.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NativeMemorySnapshotView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NavigatorView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkItemView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkLog.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\networkLogView.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkManager.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\networkPanel.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkPanelDescriptor.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkUISourceCodeProvider.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\NetworkRequest.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Object.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ObjectPopoverHelper.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ObjectPropertiesSection.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Panel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ParsedURL.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\panelEnablerView.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\PanelEnablerView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UglifyJS\parse-js.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Placard.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\popover.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Popover.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\PresentationConsoleMessageHelper.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ProfileDataGridTree.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ProfileLauncherView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ProfilesPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ProgressBar.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\PropertiesSection.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\PropertiesSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RemoteObject.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestCookiesView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestHeadersView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestHTMLView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestJSONView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestPreviewView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestResponseView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestTimingView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RequestView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Resource.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourceScriptMapping.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\resourcesPanel.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourcesPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourceTreeModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourceType.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourceUtils.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RuntimeModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\resourceView.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourceView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ResourceWebSocketFrameView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\revisionHistory.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\RevisionHistoryView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SASSSourceMapping.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScopeChainSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Script.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptFormatter.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptFormatterWorker.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptsNavigator.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptSnippetModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\scriptsPanel.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptsPanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptsPanelDescriptor.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ScriptsSearchScope.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SearchController.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Section.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Settings.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SettingsScreen.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ShortcutsScreen.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\ShowMoreDataGridNode.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SidebarOverlay.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SidebarTreeElement.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SnippetJavaScriptSourceFrame.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SnippetStorage.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SoftContextMenu.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceCSSTokenizer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceFrame.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceHTMLTokenizer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceJavaScriptTokenizer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceMapping.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SourceTokenizer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Spectrum.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\splitView.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SplitView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\StatusBarButton.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\StyleSheetOutlineDialog.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\StylesSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\StylesSourceMapping.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\StyleSource.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\SummaryBar.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TabbedEditorContainer.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\tabbedPane.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TabbedPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TestController.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\textEditor.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TextEditor.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TextEditorHighlighter.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TextEditorModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\textPrompt.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TextPrompt.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelineFrameController.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelineGrid.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelineManager.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelineModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelineOverviewPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\timelinePanel.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelinePanel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TimelinePresentationModel.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Toolbar.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\TopDownProfileDataGridTree.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\treeoutline.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UISourceCode.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UISourceCodeFrame.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UIString.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UIUtils.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UserAgentSupport.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\UserMetrics.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\utilities.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\View.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\WatchExpressionsSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\webGLProfiler.css"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\WebGLProfileView.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\WorkersSidebarPane.js"
+ >
+ </File>
+ <File
+ RelativePath="..\inspector\front-end\Workspace.js"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="mathml"
+ >
+ <File
+ RelativePath="..\mathml\MathMLAllInOne.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLElement.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLInlineContainerElement.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLInlineContainerElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLMathElement.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLMathElement.h"
+ >
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLTextElement.cpp"
+ >
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\mathml\MathMLTextElement.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\editing\AlternativeTextController.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_LTCG|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\editing\AlternativeTextController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\config.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreCFNetwork.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreCFNetwork.vsprops
index 8fe5da3f0..ea8f8e4e2 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreCFNetwork.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreCFNetwork.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreCFNetwork"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(ProjectDir)..\platform\network\cf"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreCFNetwork"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="$(ProjectDir)..\platform\network\cf"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreCG.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreCG.vsprops
index 16121f0cb..2ff833092 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreCG.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreCG.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreCG"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)..\platform\graphics\cg&quot;;&quot;$(ProjectDir)..\svg\graphics\cg&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreCG"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)..\platform\graphics\cg&quot;;&quot;$(ProjectDir)..\svg\graphics\cg&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreCURL.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreCURL.vsprops
index 2d0d3534e..4320e0580 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreCURL.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreCURL.vsprops
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreCURL"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(ProjectDir)..\platform\network\curl"
- PreprocessorDefinitions="USE_WINDOWS_SSPI;USE_SSLEAY;HAVE_ZLIB"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreCURL"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="$(ProjectDir)..\platform\network\curl"
+ PreprocessorDefinitions="USE_WINDOWS_SSPI;USE_SSLEAY;HAVE_ZLIB"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreCairo.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreCairo.vsprops
index 900b5248b..adc45487b 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreCairo.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreCairo.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreCairo"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)..\platform\graphics\cairo&quot;;&quot;$(ProjectDir)..\platform\graphics\win\cairo&quot;;&quot;$(ProjectDir)..\svg\graphics\cairo&quot;;&quot;$(ProjectDir)..\platform\image-decoders&quot;;&quot;$(ProjectDir)..\platform\image-decoders\bmp&quot;;&quot;$(ProjectDir)..\platform\image-decoders\cairo&quot;;&quot;$(ProjectDir)..\platform\image-decoders\gif&quot;;&quot;$(ProjectDir)..\platform\image-decoders\ico&quot;;&quot;$(ProjectDir)..\platform\image-decoders\jpeg&quot;;&quot;$(ProjectDir)..\platform\image-decoders\png&quot;;&quot;$(ProjectDir)..\platform\image-decoders\webp&quot;;&quot;$(WebKitLibrariesDir)\include\cairo&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreCairo"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)..\platform\graphics\cairo&quot;;&quot;$(ProjectDir)..\platform\graphics\win\cairo&quot;;&quot;$(ProjectDir)..\svg\graphics\cairo&quot;;&quot;$(ProjectDir)..\platform\image-decoders&quot;;&quot;$(ProjectDir)..\platform\image-decoders\bmp&quot;;&quot;$(ProjectDir)..\platform\image-decoders\cairo&quot;;&quot;$(ProjectDir)..\platform\image-decoders\gif&quot;;&quot;$(ProjectDir)..\platform\image-decoders\ico&quot;;&quot;$(ProjectDir)..\platform\image-decoders\jpeg&quot;;&quot;$(ProjectDir)..\platform\image-decoders\png&quot;;&quot;$(ProjectDir)..\platform\image-decoders\webp&quot;;&quot;$(WebKitLibrariesDir)\include\cairo&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
index 15aa9bf0a..c46b65b07 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreCommon.vsprops
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\Modules\filesystem&quot;;&quot;$(ProjectDir)..\Modules\geolocation&quot;;&quot;$(ProjectDir)..\Modules\indexeddb&quot;;&quot;$(ProjectDir)..\Modules\mediasource&quot;;&quot;$(ProjectDir)..\Modules\protocolhandler&quot;;&quot;$(ProjectDir)..\Modules\quota&quot;;&quot;$(ProjectDir)..\Modules\notifications&quot;;&quot;$(ProjectDir)..\Modules\webdatabase&quot;;&quot;$(ProjectDir)..\Modules\websockets&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\mathml&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\scrolling&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\ca&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters\arm&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(ProjectDir)..\xml\parser&quot;;&quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\testing&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
- PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="WebCorePrefix.h"
- ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
- ForcedIncludeFiles="WebCorePrefix.h;ICUVersion.h"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)..&quot;;&quot;$(ProjectDir)..\Modules\filesystem&quot;;&quot;$(ProjectDir)..\Modules\geolocation&quot;;&quot;$(ProjectDir)..\Modules\indexeddb&quot;;&quot;$(ProjectDir)..\Modules\mediasource&quot;;&quot;$(ProjectDir)..\Modules\navigatorcontentutils&quot;;&quot;$(ProjectDir)..\Modules\quota&quot;;&quot;$(ProjectDir)..\Modules\notifications&quot;;&quot;$(ProjectDir)..\Modules\webdatabase&quot;;&quot;$(ProjectDir)..\Modules\websockets&quot;;&quot;$(ProjectDir)..\accessibility&quot;;&quot;$(ProjectDir)..\accessibility\win&quot;;&quot;$(ProjectDir)..\bridge&quot;;&quot;$(ProjectDir)..\bridge\c&quot;;&quot;$(ProjectDir)..\bridge\jsc&quot;;&quot;$(ProjectDir)..\css&quot;;&quot;$(ProjectDir)..\editing&quot;;&quot;$(ProjectDir)..\fileapi&quot;;&quot;$(ProjectDir)..\rendering&quot;;&quot;$(ProjectDir)..\rendering\mathml&quot;;&quot;$(ProjectDir)..\rendering\style&quot;;&quot;$(ProjectDir)..\rendering\svg&quot;;&quot;$(ProjectDir)..\bindings&quot;;&quot;$(ProjectDir)..\bindings\generic&quot;;&quot;$(ProjectDir)..\bindings\js&quot;;&quot;$(ProjectDir)..\bindings\js\specialization&quot;;&quot;$(ProjectDir)..\dom&quot;;&quot;$(ProjectDir)..\dom\default&quot;;&quot;$(ProjectDir)..\history&quot;;&quot;$(ProjectDir)..\html&quot;;&quot;$(ProjectDir)..\html\canvas&quot;;&quot;$(ProjectDir)..\html\parser&quot;;&quot;$(ProjectDir)..\html\shadow&quot;;&quot;$(ProjectDir)..\inspector&quot;;&quot;$(ProjectDir)..\loader&quot;;&quot;$(ProjectDir)..\loader\appcache&quot;;&quot;$(ProjectDir)..\loader\archive&quot;;&quot;$(ProjectDir)..\loader\archive\cf&quot;;&quot;$(ProjectDir)..\loader\cache&quot;;&quot;$(ProjectDir)..\loader\icon&quot;;&quot;$(ProjectDir)..\mathml&quot;;&quot;$(ProjectDir)..\page&quot;;&quot;$(ProjectDir)..\page\animation&quot;;&quot;$(ProjectDir)..\page\scrolling&quot;;&quot;$(ProjectDir)..\page\win&quot;;&quot;$(ProjectDir)..\platform&quot;;&quot;$(ProjectDir)..\platform\animation&quot;;&quot;$(ProjectDir)..\platform\mock&quot;;&quot;$(ProjectDir)..\platform\sql&quot;;&quot;$(ProjectDir)..\platform\win&quot;;&quot;$(ProjectDir)..\platform\network&quot;;&quot;$(ProjectDir)..\platform\network\win&quot;;&quot;$(ProjectDir)..\platform\cf&quot;;&quot;$(ProjectDir)..\platform\graphics&quot;;&quot;$(ProjectDir)..\platform\graphics\ca&quot;;&quot;$(ProjectDir)..\platform\graphics\filters&quot;;&quot;$(ProjectDir)..\platform\graphics\filters\arm&quot;;&quot;$(ProjectDir)..\platform\graphics\opentype&quot;;&quot;$(ProjectDir)..\platform\graphics\transforms&quot;;&quot;$(ProjectDir)..\platform\text&quot;;&quot;$(ProjectDir)..\platform\text\transcoder&quot;;&quot;$(ProjectDir)..\platform\graphics\win&quot;;&quot;$(ProjectDir)..\xml&quot;;&quot;$(ProjectDir)..\xml\parser&quot;;&quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;;&quot;$(ProjectDir)..\plugins&quot;;&quot;$(ProjectDir)..\plugins\win&quot;;&quot;$(ProjectDir)..\svg\animation&quot;;&quot;$(ProjectDir)..\svg\graphics&quot;;&quot;$(ProjectDir)..\svg\properties&quot;;&quot;$(ProjectDir)..\svg\graphics\filters&quot;;&quot;$(ProjectDir)..\svg&quot;;&quot;$(ProjectDir)..\testing&quot;;&quot;$(ProjectDir)..\wml&quot;;&quot;$(ProjectDir)..\storage&quot;;&quot;$(ProjectDir)..\websockets&quot;;&quot;$(ProjectDir)..\workers&quot;;&quot;$(ConfigurationBuildDir)\include&quot;;&quot;$(ConfigurationBuildDir)\include\private&quot;;&quot;$(ConfigurationBuildDir)\include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\include\private\JavaScriptCore&quot;;&quot;$(ProjectDir)..\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\include&quot;;&quot;$(WebKitLibrariesDir)\include\private&quot;;&quot;$(WebKitLibrariesDir)\include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(WebKitLibrariesDir)\include\sqlite&quot;;&quot;$(WebKitLibrariesDir)\include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\zlib&quot;"
+ PreprocessorDefinitions="__WIN32__;DISABLE_3D_RENDERING;WEBCORE_CONTEXT_MENUS"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="WebCorePrefix.h"
+ ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
+ ForcedIncludeFiles="WebCorePrefix.h;ICUVersion.h"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreDebug.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreDebug.vsprops
index 52e3de183..fb77d7de8 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreDebug.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;.\WebCoreQuartzCore.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;.\WebCoreQuartzCore.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreDebugAll.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreDebugAll.vsprops
index 5c3ff8751..9006d3fe5 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreDebugAll.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebCoreQuartzCore.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebCoreQuartzCore.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops
index 09274b975..626dc4a62 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCairo.vsprops;.\WebCoreCURL.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCairo.vsprops;.\WebCoreCURL.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreGenerated.vcproj b/Source/WebCore/WebCore.vcproj/WebCoreGenerated.vcproj
index a07eccd54..61287060a 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreGenerated.vcproj
+++ b/Source/WebCore/WebCore.vcproj/WebCoreGenerated.vcproj
@@ -1,98 +1,98 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreGenerated"
- ProjectGUID="{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
- Keyword="MakeFileProj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops;.\WebCoreGeneratedCairo.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops;.\WebCoreGeneratedCairo.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\build-generated-files.sh"
- >
- </File>
- <File
- RelativePath=".\copyForwardingHeaders.cmd"
- >
- </File>
- <File
- RelativePath=".\copyWebCoreResourceFiles.cmd"
- >
- </File>
- <File
- RelativePath="..\DerivedSources.make"
- >
- </File>
- <File
- RelativePath=".\migrate-scripts.sh"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreGenerated"
+ ProjectGUID="{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
+ Keyword="MakeFileProj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops;.\WebCoreGeneratedCairo.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebCoreGeneratedCommon.vsprops;.\WebCoreGeneratedCairo.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath=".\build-generated-files.sh"
+ >
+ </File>
+ <File
+ RelativePath=".\copyForwardingHeaders.cmd"
+ >
+ </File>
+ <File
+ RelativePath=".\copyWebCoreResourceFiles.cmd"
+ >
+ </File>
+ <File
+ RelativePath="..\DerivedSources.make"
+ >
+ </File>
+ <File
+ RelativePath=".\migrate-scripts.sh"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCairo.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCairo.vsprops
index a4eb98cf8..892f98545 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCairo.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCairo.vsprops
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreGeneratedCairo"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; cairo&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(ConfigurationBuildDir)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cairo curl&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- ReBuildCommandLine="echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; cairo&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(ConfigurationBuildDir)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cairo curl&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- CleanCommandLine="del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreGeneratedCairo"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; cairo&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(ConfigurationBuildDir)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cairo curl&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ ReBuildCommandLine="echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; cairo&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(ConfigurationBuildDir)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cairo curl&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ CleanCommandLine="del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCommon.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCommon.vsprops
index 5f12834d3..3f423e623 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCommon.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreGeneratedCommon.vsprops
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreGeneratedCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; windows&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(WebKitOutputDir)/$(ConfigurationName)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cg cf&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- ReBuildCommandLine="echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; windows&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(WebKitOutputDir)/$(ConfigurationName)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cg cf&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- CleanCommandLine="del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreGeneratedCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; windows&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(WebKitOutputDir)/$(ConfigurationName)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cg cf&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ ReBuildCommandLine="echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;bash build-generated-files.sh &quot;$(ConfigurationBuildDir)&quot; &quot;$(WebKitLibrariesDir)&quot; &quot;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win&quot; windows&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;bash migrate-scripts.sh &quot;$(WebKitOutputDir)/$(ConfigurationName)/obj/WebCore/scripts&quot;&#x0D;&#x0A;cmd /C copyForwardingHeaders.cmd cg cf&#x0D;&#x0A;cmd /C copyWebCoreResourceFiles.cmd&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ CleanCommandLine="del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\DerivedSources&quot;&#x0D;&#x0A;del /s /q &quot;$(ConfigurationBuildDir)\obj\WebCore\scripts&quot;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreMediaQT.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreMediaQT.vsprops
index 3e48c7d84..7552ac271 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreMediaQT.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreMediaQT.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreMediaQT"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(WebKitLibrariesDir)\include\CoreAudio&quot;;&quot;$(WebKitLibrariesDir)\include\AVFoundation&quot;;&quot;$(ProjectDir)..\platform\graphics\avfoundation&quot;;&quot;$(ProjectDir)..\platform\graphics\avfoundation\cf&quot;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreMediaQT"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(WebKitLibrariesDir)\include\CoreAudio&quot;;&quot;$(WebKitLibrariesDir)\include\AVFoundation&quot;;&quot;$(ProjectDir)..\platform\graphics\avfoundation&quot;;&quot;$(ProjectDir)..\platform\graphics\avfoundation\cf&quot;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreProduction.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreProduction.vsprops
index 105547ace..4c3f076e9 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreProduction.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;.\WebCoreQuartzCore.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;.\WebCoreQuartzCore.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCorePthreads.vsprops b/Source/WebCore/WebCore.vcproj/WebCorePthreads.vsprops
index 3313667af..7757ee2c9 100644
--- a/Source/WebCore/WebCore.vcproj/WebCorePthreads.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCorePthreads.vsprops
@@ -1,11 +1,11 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCorePthreads"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(WebKitLibrariesDir)\include\pthreads"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCorePthreads"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="$(WebKitLibrariesDir)\include\pthreads"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreQuartzCore.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreQuartzCore.vsprops
index 48328c9d7..085769b40 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreQuartzCore.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreQuartzCore.vsprops
@@ -1,12 +1,12 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreQuartzCore"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\platform\graphics\ca\win&quot;;&quot;$(DXSDK_DIR)\Include&quot;"
- PreprocessorDefinitions="QUARTZCORE_DLL"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreQuartzCore"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\platform\graphics\ca\win&quot;;&quot;$(DXSDK_DIR)\Include&quot;"
+ PreprocessorDefinitions="QUARTZCORE_DLL"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreRelease.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreRelease.vsprops
index f33052490..9ba9c3eef 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreRelease.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;.\WebCoreQuartzCore.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCG.vsprops;.\WebCoreCFNetwork.vsprops;.\WebCorePthreads.vsprops;.\WebCoreMediaQT.vsprops;.\WebCoreQuartzCore.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops b/Source/WebCore/WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops
index 09d7686ed..298b926df 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops
+++ b/Source/WebCore/WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCairo.vsprops;.\WebCoreCURL.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebCoreCommon.vsprops;.\WebCoreCairo.vsprops;.\WebCoreCURL.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebCore/WebCore.vcproj/WebCoreTestSupport.vcproj b/Source/WebCore/WebCore.vcproj/WebCoreTestSupport.vcproj
index 501f9da09..a31620081 100644
--- a/Source/WebCore/WebCore.vcproj/WebCoreTestSupport.vcproj
+++ b/Source/WebCore/WebCore.vcproj/WebCoreTestSupport.vcproj
@@ -1,774 +1,774 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebCoreTestSupport"
- ProjectGUID="{83414B15-1C0D-490B-990E-03F4D49170E4}"
- RootNamespace="WebCore"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebCoreProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories=""
- ForcedIncludeFiles=""
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="DerivedSources"
- >
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSMallocStatistics.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSMallocStatistics.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternals.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternals.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternalSettings.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternalSettings.h"
- >
- </File>
- </Filter>
- <Filter
- Name="testing"
- >
- <File
- RelativePath="..\testing\MallocStatistics.h"
- >
- </File>
- <File
- RelativePath="..\testing\Internals.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\testing\Internals.h"
- >
- </File>
- <File
- RelativePath="..\testing\InternalSettings.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\testing\InternalSettings.h"
- >
- </File>
- <File
- RelativePath="..\testing\js\WebCoreTestSupport.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="0"
- DisableSpecificWarnings="4065;4273;4565;4701;4702"
- ForcedIncludeFiles="$(NOINHERIT)"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\testing\js\WebCoreTestSupport.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\config.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebCoreTestSupport"
+ ProjectGUID="{83414B15-1C0D-490B-990E-03F4D49170E4}"
+ RootNamespace="WebCore"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebCoreProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories=""
+ ForcedIncludeFiles=""
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="DerivedSources"
+ >
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSMallocStatistics.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSMallocStatistics.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternals.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternals.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternalSettings.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebCore\DerivedSources\JSInternalSettings.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="testing"
+ >
+ <File
+ RelativePath="..\testing\MallocStatistics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\testing\Internals.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\testing\Internals.h"
+ >
+ </File>
+ <File
+ RelativePath="..\testing\InternalSettings.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\testing\InternalSettings.h"
+ >
+ </File>
+ <File
+ RelativePath="..\testing\js\WebCoreTestSupport.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="0"
+ DisableSpecificWarnings="4065;4273;4565;4701;4702"
+ ForcedIncludeFiles="$(NOINHERIT)"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\testing\js\WebCoreTestSupport.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\config.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebCore/WebCore.vcproj/copyForwardingHeaders.cmd b/Source/WebCore/WebCore.vcproj/copyForwardingHeaders.cmd
index 79c362061..754a57fd0 100755
--- a/Source/WebCore/WebCore.vcproj/copyForwardingHeaders.cmd
+++ b/Source/WebCore/WebCore.vcproj/copyForwardingHeaders.cmd
@@ -22,8 +22,8 @@ xcopy /y /d "%CONFIGURATIONBUILDDIR%\obj\WebCore\DerivedSources\*.h" "%CONFIGURA
xcopy /y /d "%ProjectDir%..\Modules\filesystem\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
xcopy /y /d "%ProjectDir%..\Modules\geolocation\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
xcopy /y /d "%ProjectDir%..\Modules\mediasource\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
+xcopy /y /d "%ProjectDir%..\Modules\navigatorcontentutils\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
xcopy /y /d "%ProjectDir%..\Modules\notifications\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
-xcopy /y /d "%ProjectDir%..\Modules\protocolhandler\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
xcopy /y /d "%ProjectDir%..\Modules\quota\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
xcopy /y /d "%ProjectDir%..\Modules\webdatabase\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
xcopy /y /d "%ProjectDir%..\Modules\websockets\*.h" "%CONFIGURATIONBUILDDIR%\include\WebCore"
diff --git a/Source/WebCore/WebCore.xcodeproj/project.pbxproj b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
index a974ffaf6..84fcad81c 100644
--- a/Source/WebCore/WebCore.xcodeproj/project.pbxproj
+++ b/Source/WebCore/WebCore.xcodeproj/project.pbxproj
@@ -262,6 +262,8 @@
0F580FAF149800D400FB5BD8 /* AnimationUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F580FAE149800D400FB5BD8 /* AnimationUtilities.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F5B7A5410F65D7A00376302 /* RenderEmbeddedObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F5B7A5210F65D7A00376302 /* RenderEmbeddedObject.cpp */; };
0F5B7A5510F65D7A00376302 /* RenderEmbeddedObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F5B7A5310F65D7A00376302 /* RenderEmbeddedObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 0F605AEC15F94848004DF0C0 /* ScrollingConstraints.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F605AEA15F94848004DF0C0 /* ScrollingConstraints.cpp */; };
+ 0F605AED15F94848004DF0C0 /* ScrollingConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F605AEB15F94848004DF0C0 /* ScrollingConstraints.h */; };
0FCF33240F2B9715004B6795 /* ColorCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCF33230F2B9715004B6795 /* ColorCG.cpp */; };
0FCF332C0F2B9A25004B6795 /* WebTiledLayer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FCF33280F2B9A25004B6795 /* WebTiledLayer.mm */; };
0FCF332D0F2B9A25004B6795 /* WebTiledLayer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCF33290F2B9A25004B6795 /* WebTiledLayer.h */; };
@@ -290,8 +292,6 @@
1059459D15B42B0C004D37FD /* JSPropertyNodeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1059459C15B42B0C004D37FD /* JSPropertyNodeList.cpp */; };
1059459F15B42B1A004D37FD /* JSPropertyNodeList.h in Headers */ = {isa = PBXBuildFile; fileRef = 1059459E15B42B1A004D37FD /* JSPropertyNodeList.h */; };
10FB084B14E15C7E00A3DB98 /* PublicURLManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 10FB084A14E15C7E00A3DB98 /* PublicURLManager.h */; };
- 12F35EB6158745A40035CB63 /* WebKitNamedFlowCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 12F35EB4158745A40035CB63 /* WebKitNamedFlowCollection.h */; };
- 12F35EB7158745A40035CB63 /* WebKitNamedFlowCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 12F35EB5158745A40035CB63 /* WebKitNamedFlowCollection.cpp */; };
1402645E0AFDC19B005919E2 /* LoggingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1402645D0AFDC19B005919E2 /* LoggingMac.mm */; };
1403B99709EB13AF00797C7F /* DOMWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = 1403B99509EB13AF00797C7F /* DOMWindow.h */; settings = {ATTRIBUTES = (Private, ); }; };
1403B99809EB13AF00797C7F /* DOMWindow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1403B99609EB13AF00797C7F /* DOMWindow.cpp */; };
@@ -352,6 +352,8 @@
14E8378E09F85D4F00B85AE4 /* JSEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 14E8378D09F85D4F00B85AE4 /* JSEvent.h */; };
14FFE31D0AE1963300136BF5 /* HTMLFrameElementBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 14FFE31B0AE1963300136BF5 /* HTMLFrameElementBase.h */; settings = {ATTRIBUTES = (Private, ); }; };
14FFE31E0AE1963300136BF5 /* HTMLFrameElementBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14FFE31C0AE1963300136BF5 /* HTMLFrameElementBase.cpp */; };
+ 150B923915F08DC400E10986 /* WebKitCSSArrayFunctionValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 150B923715F08DC400E10986 /* WebKitCSSArrayFunctionValue.cpp */; };
+ 150B923A15F08DC400E10986 /* WebKitCSSArrayFunctionValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 150B923815F08DC400E10986 /* WebKitCSSArrayFunctionValue.h */; };
15C7708D100D3C6B005BA267 /* ValidityState.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C7708A100D3C6A005BA267 /* ValidityState.h */; };
15C7708E100D3C6B005BA267 /* ValidityState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 15C7708B100D3C6A005BA267 /* ValidityState.cpp */; };
15C77093100D3CA8005BA267 /* JSValidityState.h in Headers */ = {isa = PBXBuildFile; fileRef = 15C77091100D3CA8005BA267 /* JSValidityState.h */; };
@@ -509,7 +511,7 @@
1AAADDA314DB409F00AF64B3 /* ScrollingTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAADDA114DB409F00AF64B3 /* ScrollingTree.cpp */; };
1AAADDA414DB409F00AF64B3 /* ScrollingTree.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAADDA214DB409F00AF64B3 /* ScrollingTree.h */; settings = {ATTRIBUTES = (Private, ); }; };
1AAADDBE14DC640700AF64B3 /* ScrollingTreeState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAADDBC14DC640600AF64B3 /* ScrollingTreeState.cpp */; };
- 1AAADDBF14DC640700AF64B3 /* ScrollingTreeState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAADDBD14DC640600AF64B3 /* ScrollingTreeState.h */; };
+ 1AAADDBF14DC640700AF64B3 /* ScrollingTreeState.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAADDBD14DC640600AF64B3 /* ScrollingTreeState.h */; settings = {ATTRIBUTES = (Private, ); }; };
1AAADDDA14DC74EC00AF64B3 /* ScrollingTreeStateMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AAADDD814DC74EC00AF64B3 /* ScrollingTreeStateMac.mm */; };
1AAADDE314DC8C8F00AF64B3 /* ScrollingTreeNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AAADDE114DC8C8F00AF64B3 /* ScrollingTreeNode.cpp */; };
1AAADDE414DC8C8F00AF64B3 /* ScrollingTreeNode.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AAADDE214DC8C8F00AF64B3 /* ScrollingTreeNode.h */; };
@@ -614,7 +616,7 @@
1AF62F2414DAFE910041556C /* ScrollingThreadMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 1AF62F2314DAFE910041556C /* ScrollingThreadMac.mm */; };
1AF62F2514DAFE9E0041556C /* ScrollingThread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AF62F2014DAFE790041556C /* ScrollingThread.cpp */; };
1AF62F2614DAFEA10041556C /* ScrollingThread.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF62F2114DAFE790041556C /* ScrollingThread.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 1AF89A421518FDEA00E547B5 /* TiledBacking.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF89A411518FDEA00E547B5 /* TiledBacking.h */; };
+ 1AF89A421518FDEA00E547B5 /* TiledBacking.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF89A411518FDEA00E547B5 /* TiledBacking.h */; settings = {ATTRIBUTES = (Private, ); }; };
1AF8E11A1256592600230FF7 /* ProxyServer.h in Headers */ = {isa = PBXBuildFile; fileRef = 1AF8E1191256592600230FF7 /* ProxyServer.h */; settings = {ATTRIBUTES = (Private, ); }; };
1AF8E13312565A4400230FF7 /* ProxyServer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AF8E13212565A4400230FF7 /* ProxyServer.cpp */; };
1AF8E1C3125673E000230FF7 /* ProxyServerCFNet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AF8E1C1125673E000230FF7 /* ProxyServerCFNet.cpp */; };
@@ -871,7 +873,7 @@
31288E740E3005D6003619AE /* WebKitCSSKeyframesRule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31288E700E3005D6003619AE /* WebKitCSSKeyframesRule.cpp */; };
31288E750E3005D6003619AE /* WebKitCSSKeyframesRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 31288E710E3005D6003619AE /* WebKitCSSKeyframesRule.h */; };
3128CA68147331520074C72A /* NotificationController.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3128CA67147331520074C72A /* NotificationController.cpp */; };
- 3128CA6B147331630074C72A /* NotificationController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3128CA6A147331630074C72A /* NotificationController.h */; };
+ 3128CA6B147331630074C72A /* NotificationController.h in Headers */ = {isa = PBXBuildFile; fileRef = 3128CA6A147331630074C72A /* NotificationController.h */; settings = {ATTRIBUTES = (Private, ); }; };
312C0C41146DC6CC0016C911 /* Notification.h in Headers */ = {isa = PBXBuildFile; fileRef = 333F704F0FB49CA2008E12A6 /* Notification.h */; settings = {ATTRIBUTES = (Private, ); }; };
312D67B11535691F00563D0D /* Dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 312D67B01535691F00563D0D /* Dictionary.cpp */; };
31313F651443B35F006E2A90 /* FilterEffectRenderer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31313F631443B35E006E2A90 /* FilterEffectRenderer.cpp */; };
@@ -921,6 +923,7 @@
319E69B513299BBD004AC91A /* WebKitAnimationList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 319E69AF13299BBD004AC91A /* WebKitAnimationList.cpp */; };
319E69B613299BBD004AC91A /* WebKitAnimationList.h in Headers */ = {isa = PBXBuildFile; fileRef = 319E69B013299BBD004AC91A /* WebKitAnimationList.h */; };
319FBD5F15D2F464009640A6 /* CachedImageClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 319FBD5D15D2F444009640A6 /* CachedImageClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 31B801BB15EC58C700CE643D /* LayoutTypesInlineMethods.h in Headers */ = {isa = PBXBuildFile; fileRef = 84894CA815EC489700A40481 /* LayoutTypesInlineMethods.h */; settings = {ATTRIBUTES = (Private, ); }; };
31C0FF210E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */; };
31C0FF220E4CEB6E007D6FE5 /* WebKitAnimationEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 31C0FF1C0E4CEB6E007D6FE5 /* WebKitAnimationEvent.h */; };
31C0FF240E4CEB6E007D6FE5 /* WebKitTransitionEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 31C0FF1E0E4CEB6E007D6FE5 /* WebKitTransitionEvent.cpp */; };
@@ -953,7 +956,7 @@
3314ACEC10892086000F0E56 /* JSExceptionBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 3314ACEA10892086000F0E56 /* JSExceptionBase.h */; };
33503C9A10179A74003B47E1 /* NotificationClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503C9910179A74003B47E1 /* NotificationClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
33503CA310179AD7003B47E1 /* JSNotification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33503C9F10179AD7003B47E1 /* JSNotification.cpp */; };
- 33503CA410179AD7003B47E1 /* JSNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503CA010179AD7003B47E1 /* JSNotification.h */; };
+ 33503CA410179AD7003B47E1 /* JSNotification.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503CA010179AD7003B47E1 /* JSNotification.h */; settings = {ATTRIBUTES = (Private, ); }; };
33503CA510179AD7003B47E1 /* JSNotificationCenter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33503CA110179AD7003B47E1 /* JSNotificationCenter.cpp */; };
33503CA610179AD7003B47E1 /* JSNotificationCenter.h in Headers */ = {isa = PBXBuildFile; fileRef = 33503CA210179AD7003B47E1 /* JSNotificationCenter.h */; };
33503CC010179C1A003B47E1 /* JSDesktopNotificationsCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 33503CBF10179C1A003B47E1 /* JSDesktopNotificationsCustom.cpp */; };
@@ -987,6 +990,7 @@
375CD23B119D44EA00A2A859 /* HyphenationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 375CD239119D44EA00A2A859 /* HyphenationMac.mm */; };
376DCCE113B4F966002EBEFC /* TextRun.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 376DCCE013B4F966002EBEFC /* TextRun.cpp */; };
3774ABA50FA21EB400AD7DE9 /* OverlapTestRequestClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 3774ABA30FA21EB400AD7DE9 /* OverlapTestRequestClient.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 377A3A9015EFCE9B0059F5C7 /* BitmapImageCG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 377A3A8F15EFCE9A0059F5C7 /* BitmapImageCG.cpp */; };
377C4CDF1014E9F600B9AE42 /* PlaceholderDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 377C4CDD1014E9F600B9AE42 /* PlaceholderDocument.h */; };
377C4CE01014E9F600B9AE42 /* PlaceholderDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 377C4CDE1014E9F600B9AE42 /* PlaceholderDocument.cpp */; };
3784C34B0E11AA34007D8D48 /* FontTraitsMask.h in Headers */ = {isa = PBXBuildFile; fileRef = 3784C34A0E11AA34007D8D48 /* FontTraitsMask.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1452,6 +1456,7 @@
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, ); }; };
4F32BB1B14FA85E800F6C1A3 /* MemoryInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F32BB1A14FA85AA00F6C1A3 /* MemoryInstrumentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 4F377FF515FA356A00E5D60D /* WebCoreMemoryInstrumentation.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F377FF415FA356A00E5D60D /* WebCoreMemoryInstrumentation.h */; settings = {ATTRIBUTES = (Private, ); }; };
4F4F5FFB11CBD2E100A186BF /* InspectorFrontend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */; };
4F6FDD641341DEDD001F8EE3 /* InspectorPageAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */; };
4F6FDD651341DEDD001F8EE3 /* InspectorPageAgent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6FDD631341DEDD001F8EE3 /* InspectorPageAgent.h */; };
@@ -1461,9 +1466,9 @@
4F8565EA1530356E00FAE776 /* MemoryInstrumentationImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F8565E81530356E00FAE776 /* MemoryInstrumentationImpl.h */; };
4FA3B90A125CD12200300BAD /* InspectorState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FA3B908125CD12100300BAD /* InspectorState.cpp */; };
4FA3B90B125CD12200300BAD /* InspectorState.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FA3B909125CD12200300BAD /* InspectorState.h */; };
+ 4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */; };
4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4FD8D0F0119C718B002FA825 /* ScriptGCEvent.cpp */; };
4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = 4FD8D0F1119C718B002FA825 /* ScriptGCEvent.h */; };
- 501BA9E21393CEA000F7ACEB /* CSSWrapShapes.h in Headers */ = {isa = PBXBuildFile; fileRef = 501BA9E11393CEA000F7ACEB /* CSSWrapShapes.h */; settings = {ATTRIBUTES = (Private, ); }; };
501BAAA913950E2C00F7ACEB /* WindRule.h in Headers */ = {isa = PBXBuildFile; fileRef = 501BAAA813950E2C00F7ACEB /* WindRule.h */; settings = {ATTRIBUTES = (Private, ); }; };
5038BC0714711CDB0095E0D1 /* WebKitCSSShaderValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5038BC0614711CDB0095E0D1 /* WebKitCSSShaderValue.cpp */; };
5038BE2F1472AD230095E0D1 /* StyleCachedShader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5038BE2D1472AD230095E0D1 /* StyleCachedShader.cpp */; };
@@ -1492,7 +1497,6 @@
50D40612147D49DE00D30BB5 /* CustomFilterCompiledProgram.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D40610147D49DE00D30BB5 /* CustomFilterCompiledProgram.h */; };
50D88CB515BDFDAA001809F4 /* CustomFilterProgramInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50D88CB315BDFDAA001809F4 /* CustomFilterProgramInfo.cpp */; };
50D88CB615BDFDAA001809F4 /* CustomFilterProgramInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 50D88CB415BDFDAA001809F4 /* CustomFilterProgramInfo.h */; };
- 50E566D6139E38C500214433 /* CSSWrapShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 501BAAB11395114B00F7ACEB /* CSSWrapShapes.cpp */; };
510184690B08602A004A825F /* CachedPage.h in Headers */ = {isa = PBXBuildFile; fileRef = 510184670B08602A004A825F /* CachedPage.h */; settings = {ATTRIBUTES = (Private, ); }; };
5101846A0B08602A004A825F /* CachedPage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510184680B08602A004A825F /* CachedPage.cpp */; };
510D4A33103165EE0049EA54 /* SocketStreamErrorBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510D4A2D103165EE0049EA54 /* SocketStreamErrorBase.cpp */; };
@@ -1606,6 +1610,15 @@
51FB5505113E3E9100821176 /* JSCloseEvent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51FB5503113E3E9100821176 /* JSCloseEvent.cpp */; };
521D46F611AEC98100514613 /* KillRingMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 521D46F511AEC98100514613 /* KillRingMac.mm */; };
521D46F811AEC9B100514613 /* KillRing.h in Headers */ = {isa = PBXBuildFile; fileRef = 521D46F711AEC9B100514613 /* KillRing.h */; };
+ 52B6C9C215E3F4DF00690B05 /* DOMNamedFlowCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52B6C9BD15E3F4DF00690B05 /* DOMNamedFlowCollection.cpp */; };
+ 52B6C9C315E3F4DF00690B05 /* DOMNamedFlowCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B6C9BE15E3F4DF00690B05 /* DOMNamedFlowCollection.h */; };
+ 52B6C9C515E3F4DF00690B05 /* NamedFlowCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52B6C9C015E3F4DF00690B05 /* NamedFlowCollection.cpp */; };
+ 52B6C9C615E3F4DF00690B05 /* NamedFlowCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 52B6C9C115E3F4DF00690B05 /* NamedFlowCollection.h */; };
+ 52CCA9E215E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 52CCA9E015E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp */; };
+ 52CCA9E315E3F62C0053C77F /* JSDOMNamedFlowCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 52CCA9E115E3F62C0053C77F /* JSDOMNamedFlowCollection.h */; };
+ 52CCA9E815E3F64C0053C77F /* DOMDOMNamedFlowCollection.h in Headers */ = {isa = PBXBuildFile; fileRef = 52CCA9E515E3F64C0053C77F /* DOMDOMNamedFlowCollection.h */; };
+ 52CCA9E915E3F64C0053C77F /* DOMDOMNamedFlowCollection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52CCA9E615E3F64C0053C77F /* DOMDOMNamedFlowCollection.mm */; };
+ 52CCA9EA15E3F64C0053C77F /* DOMDOMNamedFlowCollectionInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 52CCA9E715E3F64C0053C77F /* DOMDOMNamedFlowCollectionInternal.h */; };
52F52E1114A0134F00ACC397 /* NSScrollerImpDetails.mm in Sources */ = {isa = PBXBuildFile; fileRef = 52F52E1014A0134F00ACC397 /* NSScrollerImpDetails.mm */; };
5317612213C516690026E454 /* StyleFlexibleBoxData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5317612013C516690026E454 /* StyleFlexibleBoxData.cpp */; };
5317612313C516690026E454 /* StyleFlexibleBoxData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5317612113C516690026E454 /* StyleFlexibleBoxData.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1701,8 +1714,6 @@
5DFE8F560D16477B0076E937 /* ScheduledAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCA378BA0D15F64200B793D6 /* ScheduledAction.cpp */; };
5DFE8F570D16477C0076E937 /* ScheduledAction.h in Headers */ = {isa = PBXBuildFile; fileRef = BCA378BB0D15F64200B793D6 /* ScheduledAction.h */; };
5FC7DC26CFE2563200B85AE4 /* JSEventTarget.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FC7DC26CFE2563200B85AE5 /* JSEventTarget.h */; };
- 603EA36015DD1D7000E150E6 /* RenderFlowThreadContainer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 603EA35E15DD1D7000E150E6 /* RenderFlowThreadContainer.cpp */; };
- 603EA36115DD1D7000E150E6 /* RenderFlowThreadContainer.h in Headers */ = {isa = PBXBuildFile; fileRef = 603EA35F15DD1D7000E150E6 /* RenderFlowThreadContainer.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, ); }; };
628D214C12131ED10055DCFC /* NetworkingContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 628D214B12131ED10055DCFC /* NetworkingContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -1904,6 +1915,8 @@
76CDD2F51103DA6600680521 /* AccessibilityMenuListPopup.h in Headers */ = {isa = PBXBuildFile; fileRef = 76CDD2EF1103DA6600680521 /* AccessibilityMenuListPopup.h */; };
76CDD2F61103DA6600680521 /* AccessibilityMenuListOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76CDD2F01103DA6600680521 /* AccessibilityMenuListOption.cpp */; };
76CDD2F71103DA6600680521 /* AccessibilityMenuListOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 76CDD2F11103DA6600680521 /* AccessibilityMenuListOption.h */; };
+ 76F2E2EB15F74CEF005FF664 /* RenderDialog.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76F2E2E915F74CEF005FF664 /* RenderDialog.cpp */; };
+ 76F2E2EC15F74CEF005FF664 /* RenderDialog.h in Headers */ = {isa = PBXBuildFile; fileRef = 76F2E2EA15F74CEF005FF664 /* RenderDialog.h */; };
76FC2B0B12370DA0006A991A /* DOMTokenList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76FC2B0812370DA0006A991A /* DOMTokenList.cpp */; };
76FC2B0C12370DA0006A991A /* DOMTokenList.h in Headers */ = {isa = PBXBuildFile; fileRef = 76FC2B0912370DA0006A991A /* DOMTokenList.h */; };
76FF17E311235673001D61B5 /* PluginViewNone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 76FF17E211235673001D61B5 /* PluginViewNone.cpp */; };
@@ -1974,6 +1987,8 @@
7BD117EB15B8DB0100C974A3 /* DOMTransactionStep.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7BD117E915B8DB0100C974A3 /* DOMTransactionStep.cpp */; };
7BD117EC15B8DB0100C974A3 /* DOMTransactionStep.h in Headers */ = {isa = PBXBuildFile; fileRef = 7BD117EA15B8DB0100C974A3 /* DOMTransactionStep.h */; };
7C522D4B15B477E8009B7C95 /* InspectorOverlay.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */; };
+ 7E12E90F15FA5D3A005E4126 /* CustomFilterMeshGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E12E90D15FA5D3A005E4126 /* CustomFilterMeshGenerator.h */; };
+ 7E12E91015FA5D3A005E4126 /* CustomFilterMeshGenerator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E12E90E15FA5D3A005E4126 /* CustomFilterMeshGenerator.cpp */; };
7E33CD01127F340D00BE8F17 /* PurgePriority.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E33CD00127F340D00BE8F17 /* PurgePriority.h */; settings = {ATTRIBUTES = (Private, ); }; };
7E37EF2E1339208800B29250 /* SubresourceLoaderCF.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E37EF2D1339208800B29250 /* SubresourceLoaderCF.cpp */; };
7E99AF510B13846468FB01A5 /* WindowFocusAllowedIndicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E99AF520B13846468FB01A5 /* WindowFocusAllowedIndicator.cpp */; };
@@ -3423,8 +3438,6 @@
9712A5DC15004EDA0048AF10 /* IDBKey.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A58315004EDA0048AF10 /* IDBKey.h */; };
9712A5DE15004EDA0048AF10 /* IDBKeyPath.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A58515004EDA0048AF10 /* IDBKeyPath.cpp */; };
9712A5DF15004EDA0048AF10 /* IDBKeyPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A58615004EDA0048AF10 /* IDBKeyPath.h */; };
- 9712A5E015004EDA0048AF10 /* IDBKeyPathBackendImpl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A58715004EDA0048AF10 /* IDBKeyPathBackendImpl.cpp */; };
- 9712A5E115004EDA0048AF10 /* IDBKeyPathBackendImpl.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A58815004EDA0048AF10 /* IDBKeyPathBackendImpl.h */; };
9712A5E215004EDA0048AF10 /* IDBKeyRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A58915004EDA0048AF10 /* IDBKeyRange.cpp */; };
9712A5E315004EDA0048AF10 /* IDBKeyRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 9712A58A15004EDA0048AF10 /* IDBKeyRange.h */; };
9712A5E515004EDA0048AF10 /* IDBLevelDBBackingStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9712A58C15004EDA0048AF10 /* IDBLevelDBBackingStore.cpp */; };
@@ -3760,6 +3773,8 @@
A1E1154813015C5D0054AC8C /* SpotLightSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */; };
A24BF77B15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.h in Headers */ = {isa = PBXBuildFile; fileRef = A24BF77915CC3BAF003191F2 /* WebKitCSSMixFunctionValue.h */; };
A24BF77C15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A24BF77A15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.cpp */; };
+ A29532CF15DD5E1700469EBC /* CustomFilterValidatedProgram.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A29532CD15DD5E1700469EBC /* CustomFilterValidatedProgram.cpp */; };
+ A29532D015DD5E1700469EBC /* CustomFilterValidatedProgram.h in Headers */ = {isa = PBXBuildFile; fileRef = A29532CE15DD5E1700469EBC /* CustomFilterValidatedProgram.h */; };
A3BB59F31457A40D00AC56FE /* DocumentEventQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A3BB59F11457A40D00AC56FE /* DocumentEventQueue.cpp */; };
A3BB59F41457A40D00AC56FE /* DocumentEventQueue.h in Headers */ = {isa = PBXBuildFile; fileRef = A3BB59F21457A40D00AC56FE /* DocumentEventQueue.h */; settings = {ATTRIBUTES = (Private, ); }; };
A3E2643014748991005A8588 /* WorkerEventQueue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A3E2642E14748991005A8588 /* WorkerEventQueue.cpp */; };
@@ -4907,12 +4922,10 @@
B2C3DA240D006C1D00EF6F26 /* BidiContext.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3D9F30D006C1D00EF6F26 /* BidiContext.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2C3DA250D006C1D00EF6F26 /* BidiResolver.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3D9F40D006C1D00EF6F26 /* BidiResolver.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2C3DA2A0D006C1D00EF6F26 /* CharsetData.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3D9FA0D006C1D00EF6F26 /* CharsetData.h */; settings = {ATTRIBUTES = (Private, ); }; };
- B2C3DA2B0D006C1D00EF6F26 /* PlatformString.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3D9FB0D006C1D00EF6F26 /* PlatformString.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2C3DA2C0D006C1D00EF6F26 /* RegularExpression.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3D9FC0D006C1D00EF6F26 /* RegularExpression.cpp */; };
B2C3DA2D0D006C1D00EF6F26 /* RegularExpression.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3D9FD0D006C1D00EF6F26 /* RegularExpression.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2C3DA2E0D006C1D00EF6F26 /* SegmentedString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3D9FE0D006C1D00EF6F26 /* SegmentedString.cpp */; };
B2C3DA2F0D006C1D00EF6F26 /* SegmentedString.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3D9FF0D006C1D00EF6F26 /* SegmentedString.h */; settings = {ATTRIBUTES = (Private, ); }; };
- B2C3DA300D006C1D00EF6F26 /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3DA000D006C1D00EF6F26 /* String.cpp */; };
B2C3DA340D006C1D00EF6F26 /* TextBoundaries.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DA040D006C1D00EF6F26 /* TextBoundaries.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2C3DA360D006C1D00EF6F26 /* TextBreakIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = B2C3DA060D006C1D00EF6F26 /* TextBreakIterator.h */; settings = {ATTRIBUTES = (Private, ); }; };
B2C3DA370D006C1D00EF6F26 /* TextBreakIteratorICU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B2C3DA070D006C1D00EF6F26 /* TextBreakIteratorICU.cpp */; };
@@ -5623,6 +5636,7 @@
BCD3F9831326C93700098A60 /* TextOrientation.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD3F9821326C93700098A60 /* TextOrientation.h */; settings = {ATTRIBUTES = (Private, ); }; };
BCD41ABB0C060DE800C0E446 /* JSHTMLFrameSetElementCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD41ABA0C060DE800C0E446 /* JSHTMLFrameSetElementCustom.cpp */; };
BCD533640ED6848900887468 /* CachedScriptSourceProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD533630ED6848900887468 /* CachedScriptSourceProvider.h */; };
+ BCD8A5F015F56F2C0098D071 /* TextBreakIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD8A5EF15F56F2C0098D071 /* TextBreakIterator.cpp */; };
BCD9C2620C17AA67005C90A2 /* JSDOMWindowCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD9C25E0C17AA67005C90A2 /* JSDOMWindowCustom.cpp */; };
BCD9C2630C17AA67005C90A2 /* JSNamedNodeMapCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD9C25F0C17AA67005C90A2 /* JSNamedNodeMapCustom.cpp */; };
BCD9C2640C17AA67005C90A2 /* JSNodeCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD9C2600C17AA67005C90A2 /* JSNodeCustom.cpp */; };
@@ -6191,7 +6205,7 @@
F39BE95B12673BF400E0A674 /* ScriptArguments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F39BE95912673BF400E0A674 /* ScriptArguments.cpp */; };
F39BE95C12673BF400E0A674 /* ScriptArguments.h in Headers */ = {isa = PBXBuildFile; fileRef = F39BE95A12673BF400E0A674 /* ScriptArguments.h */; };
F3ABFE0C130E9DA000E7F7D1 /* InstrumentingAgents.h in Headers */ = {isa = PBXBuildFile; fileRef = F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */; };
- F3BFC9D315C177EC004244E5 /* MemoryInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3BFC9D215C177EC004244E5 /* MemoryInstrumentation.cpp */; };
+ F3BFC9D315C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3BFC9D215C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp */; };
F3D461481161D53200CA0D09 /* JSErrorHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3D461461161D53200CA0D09 /* JSErrorHandler.cpp */; };
F3D461491161D53200CA0D09 /* JSErrorHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = F3D461471161D53200CA0D09 /* JSErrorHandler.h */; };
F3D4C47812E07663003DA150 /* InspectorDOMDebuggerAgent.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F3D4C47612E07663003DA150 /* InspectorDOMDebuggerAgent.cpp */; };
@@ -6212,7 +6226,6 @@
F52AD5E41534245F0059FBE6 /* EmptyClients.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F52AD5E31534245F0059FBE6 /* EmptyClients.cpp */; };
F544F78815CFB2A800AF33A8 /* NumberLocalizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F544F78615CFB2A800AF33A8 /* NumberLocalizer.cpp */; };
F544F78915CFB2A800AF33A8 /* NumberLocalizer.h in Headers */ = {isa = PBXBuildFile; fileRef = F544F78715CFB2A800AF33A8 /* NumberLocalizer.h */; };
- F553B89315BE26C000B134C9 /* WrapShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F553B89215BE26C000B134C9 /* WrapShapes.cpp */; };
F55B3DAD1251F12D003EF269 /* BaseTextInputType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55B3D791251F12D003EF269 /* BaseTextInputType.cpp */; };
F55B3DAE1251F12D003EF269 /* BaseTextInputType.h in Headers */ = {isa = PBXBuildFile; fileRef = F55B3D7A1251F12D003EF269 /* BaseTextInputType.h */; };
F55B3DAF1251F12D003EF269 /* ButtonInputType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F55B3D7B1251F12D003EF269 /* ButtonInputType.cpp */; };
@@ -6295,6 +6308,12 @@
FABE72FE1059C21100D999DD /* MathMLNames.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FABE72FC1059C21100D999DD /* MathMLNames.cpp */; };
FB78AD2E151BF5E600FE54D3 /* CSSParserMode.h in Headers */ = {isa = PBXBuildFile; fileRef = FB78AD2C151BF5D200FE54D3 /* CSSParserMode.h */; settings = {ATTRIBUTES = (Private, ); }; };
FBC220DF1237FBEB00BCF788 /* GraphicsContext3DOpenGL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBC220DE1237FBEB00BCF788 /* GraphicsContext3DOpenGL.cpp */; };
+ FBD6AF8815EF25C9008B7110 /* CSSBasicShapes.h in Headers */ = {isa = PBXBuildFile; fileRef = FBD6AF8715EF21D4008B7110 /* CSSBasicShapes.h */; };
+ FBD6AF8915EF25DB008B7110 /* BasicShapeFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBD6AF8415EF21D4008B7110 /* BasicShapeFunctions.cpp */; };
+ FBD6AF8A15EF25DF008B7110 /* BasicShapeFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = FBD6AF8515EF21D4008B7110 /* BasicShapeFunctions.h */; };
+ FBD6AF8B15EF25E5008B7110 /* CSSBasicShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBD6AF8615EF21D4008B7110 /* CSSBasicShapes.cpp */; };
+ FBD6AF8C15EF2604008B7110 /* BasicShapes.h in Headers */ = {isa = PBXBuildFile; fileRef = FBD6AF8315EF21A3008B7110 /* BasicShapes.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ FBD6AF8D15EF260A008B7110 /* BasicShapes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FBD6AF8215EF21A3008B7110 /* BasicShapes.cpp */; };
FD00D7A414A3F61900734011 /* SincResampler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD00D7A214A3F61900734011 /* SincResampler.cpp */; };
FD00D7A514A3F61900734011 /* SincResampler.h in Headers */ = {isa = PBXBuildFile; fileRef = FD00D7A314A3F61900734011 /* SincResampler.h */; };
FD06DFA5134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */; };
@@ -6440,6 +6459,8 @@
FD6ED2C8136B8E66003CF072 /* DynamicsCompressor.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6ED2C6136B8E66003CF072 /* DynamicsCompressor.h */; };
FD6F252C13F5EF0E0065165F /* MediaElementAudioSourceNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD6F252913F5EF0E0065165F /* MediaElementAudioSourceNode.cpp */; };
FD6F252D13F5EF0E0065165F /* MediaElementAudioSourceNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */; };
+ FD748ABF15BF74ED0059CF0D /* WrapShapeInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD748ABD15BF74ED0059CF0D /* WrapShapeInfo.cpp */; };
+ FD748AC015BF74ED0059CF0D /* WrapShapeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = FD748ABE15BF74ED0059CF0D /* WrapShapeInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */; };
FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */; };
FD7F299113D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */; };
@@ -6503,9 +6524,6 @@
FDC54F041399B0DA008D9117 /* BiquadFilterNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDC54F011399B0DA008D9117 /* BiquadFilterNode.cpp */; };
FDC54F051399B0DA008D9117 /* BiquadFilterNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FDC54F021399B0DA008D9117 /* BiquadFilterNode.h */; };
FDE2D55B159E66EB00DCCCF8 /* AudioIOCallback.h in Headers */ = {isa = PBXBuildFile; fileRef = FDE2D55A159E66EB00DCCCF8 /* AudioIOCallback.h */; };
- FDE6860215B0A93B00BB480C /* WrapShapeFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7E95A215ACD6090039E3D0 /* WrapShapeFunctions.cpp */; };
- FDE6860315B0A96100BB480C /* WrapShapeFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7E95A015ACD5620039E3D0 /* WrapShapeFunctions.h */; settings = {ATTRIBUTES = (Private, ); }; };
- FDE6860415B0A96100BB480C /* WrapShapes.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB51CF4159CD70300E227C5 /* WrapShapes.h */; settings = {ATTRIBUTES = (Private, ); }; };
FDEA6242152102E200479DF0 /* JSOscillator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDEA6240152102E200479DF0 /* JSOscillator.cpp */; };
FDEA6243152102E200479DF0 /* JSOscillator.h in Headers */ = {isa = PBXBuildFile; fileRef = FDEA6241152102E200479DF0 /* JSOscillator.h */; };
FDEA6246152102FC00479DF0 /* JSWaveTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDEA6244152102FC00479DF0 /* JSWaveTable.cpp */; };
@@ -7268,6 +7286,8 @@
0F580FAE149800D400FB5BD8 /* AnimationUtilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AnimationUtilities.h; path = animation/AnimationUtilities.h; sourceTree = "<group>"; };
0F5B7A5210F65D7A00376302 /* RenderEmbeddedObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderEmbeddedObject.cpp; sourceTree = "<group>"; };
0F5B7A5310F65D7A00376302 /* RenderEmbeddedObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderEmbeddedObject.h; sourceTree = "<group>"; };
+ 0F605AEA15F94848004DF0C0 /* ScrollingConstraints.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScrollingConstraints.cpp; sourceTree = "<group>"; };
+ 0F605AEB15F94848004DF0C0 /* ScrollingConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScrollingConstraints.h; sourceTree = "<group>"; };
0FCF33230F2B9715004B6795 /* ColorCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ColorCG.cpp; sourceTree = "<group>"; };
0FCF33280F2B9A25004B6795 /* WebTiledLayer.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebTiledLayer.mm; sourceTree = "<group>"; };
0FCF33290F2B9A25004B6795 /* WebTiledLayer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebTiledLayer.h; sourceTree = "<group>"; };
@@ -7300,8 +7320,6 @@
1059459C15B42B0C004D37FD /* JSPropertyNodeList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPropertyNodeList.cpp; sourceTree = "<group>"; };
1059459E15B42B1A004D37FD /* JSPropertyNodeList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPropertyNodeList.h; sourceTree = "<group>"; };
10FB084A14E15C7E00A3DB98 /* PublicURLManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PublicURLManager.h; sourceTree = "<group>"; };
- 12F35EB4158745A40035CB63 /* WebKitNamedFlowCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitNamedFlowCollection.h; sourceTree = "<group>"; };
- 12F35EB5158745A40035CB63 /* WebKitNamedFlowCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitNamedFlowCollection.cpp; sourceTree = "<group>"; };
1402645D0AFDC19B005919E2 /* LoggingMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = LoggingMac.mm; sourceTree = "<group>"; };
1403B90C09EB124500797C7F /* DOMWindow.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMWindow.idl; sourceTree = "<group>"; };
1403B99509EB13AF00797C7F /* DOMWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMWindow.h; sourceTree = "<group>"; };
@@ -7378,6 +7396,8 @@
14E8378D09F85D4F00B85AE4 /* JSEvent.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSEvent.h; sourceTree = "<group>"; };
14FFE31B0AE1963300136BF5 /* HTMLFrameElementBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLFrameElementBase.h; sourceTree = "<group>"; };
14FFE31C0AE1963300136BF5 /* HTMLFrameElementBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLFrameElementBase.cpp; sourceTree = "<group>"; };
+ 150B923715F08DC400E10986 /* WebKitCSSArrayFunctionValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitCSSArrayFunctionValue.cpp; sourceTree = "<group>"; };
+ 150B923815F08DC400E10986 /* WebKitCSSArrayFunctionValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitCSSArrayFunctionValue.h; sourceTree = "<group>"; };
15C77089100D3C6A005BA267 /* ValidityState.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ValidityState.idl; sourceTree = "<group>"; };
15C7708A100D3C6A005BA267 /* ValidityState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValidityState.h; sourceTree = "<group>"; };
15C7708B100D3C6A005BA267 /* ValidityState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ValidityState.cpp; sourceTree = "<group>"; };
@@ -8071,6 +8091,7 @@
375CD239119D44EA00A2A859 /* HyphenationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HyphenationMac.mm; sourceTree = "<group>"; };
376DCCE013B4F966002EBEFC /* TextRun.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextRun.cpp; sourceTree = "<group>"; };
3774ABA30FA21EB400AD7DE9 /* OverlapTestRequestClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OverlapTestRequestClient.h; sourceTree = "<group>"; };
+ 377A3A8F15EFCE9A0059F5C7 /* BitmapImageCG.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BitmapImageCG.cpp; sourceTree = "<group>"; };
377C4CDD1014E9F600B9AE42 /* PlaceholderDocument.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlaceholderDocument.h; sourceTree = "<group>"; };
377C4CDE1014E9F600B9AE42 /* PlaceholderDocument.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PlaceholderDocument.cpp; sourceTree = "<group>"; };
3784C34A0E11AA34007D8D48 /* FontTraitsMask.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FontTraitsMask.h; sourceTree = "<group>"; };
@@ -8595,6 +8616,7 @@
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>"; };
4F32BB1A14FA85AA00F6C1A3 /* MemoryInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentation.h; sourceTree = "<group>"; };
+ 4F377FF415FA356A00E5D60D /* WebCoreMemoryInstrumentation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebCoreMemoryInstrumentation.h; sourceTree = "<group>"; };
4F4F5FFA11CBD2D200A186BF /* InspectorFrontend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorFrontend.cpp; sourceTree = "<group>"; };
4F4F5FFC11CBD30100A186BF /* InspectorFrontend.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorFrontend.h; sourceTree = "<group>"; };
4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorPageAgent.cpp; sourceTree = "<group>"; };
@@ -8605,11 +8627,10 @@
4F8565E81530356E00FAE776 /* MemoryInstrumentationImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryInstrumentationImpl.h; sourceTree = "<group>"; };
4FA3B908125CD12100300BAD /* InspectorState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorState.cpp; sourceTree = "<group>"; };
4FA3B909125CD12200300BAD /* InspectorState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorState.h; sourceTree = "<group>"; };
+ 4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GeneratedImage.cpp; 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>"; };
- 501BA9E11393CEA000F7ACEB /* CSSWrapShapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSWrapShapes.h; sourceTree = "<group>"; };
501BAAA813950E2C00F7ACEB /* WindRule.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WindRule.h; sourceTree = "<group>"; };
- 501BAAB11395114B00F7ACEB /* CSSWrapShapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSWrapShapes.cpp; sourceTree = "<group>"; };
5038BC0614711CDB0095E0D1 /* WebKitCSSShaderValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitCSSShaderValue.cpp; sourceTree = "<group>"; };
5038BE2D1472AD230095E0D1 /* StyleCachedShader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleCachedShader.cpp; path = style/StyleCachedShader.cpp; sourceTree = "<group>"; };
5038BE2E1472AD230095E0D1 /* StyleCachedShader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StyleCachedShader.h; path = style/StyleCachedShader.h; sourceTree = "<group>"; };
@@ -8624,6 +8645,7 @@
50987C24157D676D00BDA835 /* CustomFilterGlobalContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomFilterGlobalContext.cpp; path = filters/CustomFilterGlobalContext.cpp; sourceTree = "<group>"; };
50987C25157D676D00BDA835 /* CustomFilterGlobalContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterGlobalContext.h; path = filters/CustomFilterGlobalContext.h; sourceTree = "<group>"; };
509CC9FA14C069ED00BBECBD /* CustomFilterParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterParameter.h; path = filters/CustomFilterParameter.h; sourceTree = "<group>"; };
+ 509EC10815E848CA00E82581 /* CustomFilterTransformParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterTransformParameter.h; path = filters/CustomFilterTransformParameter.h; sourceTree = "<group>"; };
50ACE2CA14B5D79300446666 /* CustomFilterOperation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterOperation.h; path = filters/CustomFilterOperation.h; sourceTree = "<group>"; };
50B42157146976960087E604 /* WebKitCSSShaderValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitCSSShaderValue.h; sourceTree = "<group>"; };
50CC089914C6E99C0017AB51 /* CustomFilterNumberParameter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterNumberParameter.h; path = filters/CustomFilterNumberParameter.h; sourceTree = "<group>"; };
@@ -8760,6 +8782,16 @@
51FB5503113E3E9100821176 /* JSCloseEvent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCloseEvent.cpp; 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>"; };
+ 52B6C9BD15E3F4DF00690B05 /* DOMNamedFlowCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMNamedFlowCollection.cpp; sourceTree = "<group>"; };
+ 52B6C9BE15E3F4DF00690B05 /* DOMNamedFlowCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMNamedFlowCollection.h; sourceTree = "<group>"; };
+ 52B6C9BF15E3F4DF00690B05 /* DOMNamedFlowCollection.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMNamedFlowCollection.idl; sourceTree = "<group>"; };
+ 52B6C9C015E3F4DF00690B05 /* NamedFlowCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NamedFlowCollection.cpp; sourceTree = "<group>"; };
+ 52B6C9C115E3F4DF00690B05 /* NamedFlowCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NamedFlowCollection.h; sourceTree = "<group>"; };
+ 52CCA9E015E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMNamedFlowCollection.cpp; sourceTree = "<group>"; };
+ 52CCA9E115E3F62C0053C77F /* JSDOMNamedFlowCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMNamedFlowCollection.h; sourceTree = "<group>"; };
+ 52CCA9E515E3F64C0053C77F /* DOMDOMNamedFlowCollection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMDOMNamedFlowCollection.h; sourceTree = "<group>"; };
+ 52CCA9E615E3F64C0053C77F /* DOMDOMNamedFlowCollection.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DOMDOMNamedFlowCollection.mm; sourceTree = "<group>"; };
+ 52CCA9E715E3F64C0053C77F /* DOMDOMNamedFlowCollectionInternal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMDOMNamedFlowCollectionInternal.h; sourceTree = "<group>"; };
52F52E1014A0134F00ACC397 /* NSScrollerImpDetails.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NSScrollerImpDetails.mm; sourceTree = "<group>"; };
5317612013C516690026E454 /* StyleFlexibleBoxData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StyleFlexibleBoxData.cpp; path = style/StyleFlexibleBoxData.cpp; sourceTree = "<group>"; };
5317612113C516690026E454 /* StyleFlexibleBoxData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = StyleFlexibleBoxData.h; path = style/StyleFlexibleBoxData.h; sourceTree = "<group>"; };
@@ -8851,8 +8883,6 @@
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>"; };
5FC7DC26CFE2563200B85AE5 /* JSEventTarget.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = JSEventTarget.h; sourceTree = "<group>"; };
- 603EA35E15DD1D7000E150E6 /* RenderFlowThreadContainer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderFlowThreadContainer.cpp; sourceTree = "<group>"; };
- 603EA35F15DD1D7000E150E6 /* RenderFlowThreadContainer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderFlowThreadContainer.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>"; };
628D214B12131ED10055DCFC /* NetworkingContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkingContext.h; sourceTree = "<group>"; };
@@ -9078,6 +9108,8 @@
76CDD2EF1103DA6600680521 /* AccessibilityMenuListPopup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityMenuListPopup.h; sourceTree = "<group>"; };
76CDD2F01103DA6600680521 /* AccessibilityMenuListOption.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AccessibilityMenuListOption.cpp; sourceTree = "<group>"; };
76CDD2F11103DA6600680521 /* AccessibilityMenuListOption.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccessibilityMenuListOption.h; sourceTree = "<group>"; };
+ 76F2E2E915F74CEF005FF664 /* RenderDialog.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderDialog.cpp; sourceTree = "<group>"; };
+ 76F2E2EA15F74CEF005FF664 /* RenderDialog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderDialog.h; sourceTree = "<group>"; };
76FC2B0812370DA0006A991A /* DOMTokenList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DOMTokenList.cpp; sourceTree = "<group>"; };
76FC2B0912370DA0006A991A /* DOMTokenList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMTokenList.h; sourceTree = "<group>"; };
76FC2B0A12370DA0006A991A /* DOMTokenList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMTokenList.idl; sourceTree = "<group>"; };
@@ -9127,6 +9159,7 @@
7A563F9512DF5C9100F4536D /* InjectedScriptSource.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = InjectedScriptSource.js; sourceTree = "<group>"; };
7A674BD90F9EBF4E006CF099 /* PageGroupLoadDeferrer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PageGroupLoadDeferrer.cpp; sourceTree = "<group>"; };
7A674BDA0F9EBF4E006CF099 /* PageGroupLoadDeferrer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PageGroupLoadDeferrer.h; sourceTree = "<group>"; };
+ 7A7256B915EB9F5B007323A7 /* InspectorOverlayPage.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = InspectorOverlayPage.html; sourceTree = "<group>"; };
7A74ECB8101839A500BF939E /* InspectorDOMStorageAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDOMStorageAgent.cpp; sourceTree = "<group>"; };
7A74ECB9101839A600BF939E /* InspectorDOMStorageAgent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDOMStorageAgent.h; sourceTree = "<group>"; };
7A74ECBC101839DA00BF939E /* JSInspectorFrontendHostCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSInspectorFrontendHostCustom.cpp; sourceTree = "<group>"; };
@@ -9161,6 +9194,8 @@
7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorOverlay.cpp; sourceTree = "<group>"; };
7C522D4A15B478B2009B7C95 /* InspectorOverlay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorOverlay.h; sourceTree = "<group>"; };
7C60128060078BB70E367A95 /* DNSResolveQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DNSResolveQueue.cpp; sourceTree = "<group>"; };
+ 7E12E90D15FA5D3A005E4126 /* CustomFilterMeshGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterMeshGenerator.h; path = filters/CustomFilterMeshGenerator.h; sourceTree = "<group>"; };
+ 7E12E90E15FA5D3A005E4126 /* CustomFilterMeshGenerator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomFilterMeshGenerator.cpp; path = filters/CustomFilterMeshGenerator.cpp; sourceTree = "<group>"; };
7E33CD00127F340D00BE8F17 /* PurgePriority.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PurgePriority.h; sourceTree = "<group>"; };
7E37EF2D1339208800B29250 /* SubresourceLoaderCF.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SubresourceLoaderCF.cpp; path = cf/SubresourceLoaderCF.cpp; sourceTree = "<group>"; };
7E99AF520B13846468FB01A5 /* WindowFocusAllowedIndicator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WindowFocusAllowedIndicator.cpp; sourceTree = "<group>"; };
@@ -9277,6 +9312,7 @@
848522871190173C006EDC7F /* SVGVKernElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SVGVKernElement.cpp; sourceTree = "<group>"; };
848522881190173C006EDC7F /* SVGVKernElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SVGVKernElement.h; sourceTree = "<group>"; };
848522891190173C006EDC7F /* SVGVKernElement.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = SVGVKernElement.idl; sourceTree = "<group>"; };
+ 84894CA815EC489700A40481 /* LayoutTypesInlineMethods.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayoutTypesInlineMethods.h; sourceTree = "<group>"; };
849F77750EFEC6200090849D /* StrokeStyleApplier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StrokeStyleApplier.h; sourceTree = "<group>"; };
84A81F3B0FC7DFF000955300 /* SourceAlpha.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SourceAlpha.cpp; path = filters/SourceAlpha.cpp; sourceTree = "<group>"; };
84A81F3C0FC7DFF000955300 /* SourceAlpha.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SourceAlpha.h; path = filters/SourceAlpha.h; sourceTree = "<group>"; };
@@ -10577,8 +10613,6 @@
9712A58415004EDA0048AF10 /* IDBKey.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBKey.idl; path = Modules/indexeddb/IDBKey.idl; sourceTree = "<group>"; };
9712A58515004EDA0048AF10 /* IDBKeyPath.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBKeyPath.cpp; path = Modules/indexeddb/IDBKeyPath.cpp; sourceTree = "<group>"; };
9712A58615004EDA0048AF10 /* IDBKeyPath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBKeyPath.h; path = Modules/indexeddb/IDBKeyPath.h; sourceTree = "<group>"; };
- 9712A58715004EDA0048AF10 /* IDBKeyPathBackendImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBKeyPathBackendImpl.cpp; path = Modules/indexeddb/IDBKeyPathBackendImpl.cpp; sourceTree = "<group>"; };
- 9712A58815004EDA0048AF10 /* IDBKeyPathBackendImpl.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBKeyPathBackendImpl.h; path = Modules/indexeddb/IDBKeyPathBackendImpl.h; sourceTree = "<group>"; };
9712A58915004EDA0048AF10 /* IDBKeyRange.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = IDBKeyRange.cpp; path = Modules/indexeddb/IDBKeyRange.cpp; sourceTree = "<group>"; };
9712A58A15004EDA0048AF10 /* IDBKeyRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IDBKeyRange.h; path = Modules/indexeddb/IDBKeyRange.h; sourceTree = "<group>"; };
9712A58B15004EDA0048AF10 /* IDBKeyRange.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = IDBKeyRange.idl; path = Modules/indexeddb/IDBKeyRange.idl; sourceTree = "<group>"; };
@@ -10962,6 +10996,8 @@
A1E1154713015C5D0054AC8C /* SpotLightSource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SpotLightSource.cpp; path = filters/SpotLightSource.cpp; sourceTree = "<group>"; };
A24BF77915CC3BAF003191F2 /* WebKitCSSMixFunctionValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebKitCSSMixFunctionValue.h; sourceTree = "<group>"; };
A24BF77A15CC3BAF003191F2 /* WebKitCSSMixFunctionValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebKitCSSMixFunctionValue.cpp; sourceTree = "<group>"; };
+ A29532CD15DD5E1700469EBC /* CustomFilterValidatedProgram.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CustomFilterValidatedProgram.cpp; path = filters/CustomFilterValidatedProgram.cpp; sourceTree = "<group>"; };
+ A29532CE15DD5E1700469EBC /* CustomFilterValidatedProgram.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CustomFilterValidatedProgram.h; path = filters/CustomFilterValidatedProgram.h; sourceTree = "<group>"; };
A3BB59F11457A40D00AC56FE /* DocumentEventQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DocumentEventQueue.cpp; sourceTree = "<group>"; };
A3BB59F21457A40D00AC56FE /* DocumentEventQueue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DocumentEventQueue.h; sourceTree = "<group>"; };
A3E2642E14748991005A8588 /* WorkerEventQueue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WorkerEventQueue.cpp; path = workers/WorkerEventQueue.cpp; sourceTree = "<group>"; };
@@ -12164,12 +12200,10 @@
B2C3D9F30D006C1D00EF6F26 /* BidiContext.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BidiContext.h; sourceTree = "<group>"; };
B2C3D9F40D006C1D00EF6F26 /* BidiResolver.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = BidiResolver.h; sourceTree = "<group>"; };
B2C3D9FA0D006C1D00EF6F26 /* CharsetData.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = CharsetData.h; sourceTree = "<group>"; };
- B2C3D9FB0D006C1D00EF6F26 /* PlatformString.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PlatformString.h; sourceTree = "<group>"; };
B2C3D9FC0D006C1D00EF6F26 /* RegularExpression.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = RegularExpression.cpp; sourceTree = "<group>"; };
B2C3D9FD0D006C1D00EF6F26 /* RegularExpression.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = RegularExpression.h; sourceTree = "<group>"; };
B2C3D9FE0D006C1D00EF6F26 /* SegmentedString.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = SegmentedString.cpp; sourceTree = "<group>"; };
B2C3D9FF0D006C1D00EF6F26 /* SegmentedString.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = SegmentedString.h; sourceTree = "<group>"; };
- B2C3DA000D006C1D00EF6F26 /* String.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = String.cpp; sourceTree = "<group>"; };
B2C3DA040D006C1D00EF6F26 /* TextBoundaries.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TextBoundaries.h; sourceTree = "<group>"; };
B2C3DA060D006C1D00EF6F26 /* TextBreakIterator.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = TextBreakIterator.h; sourceTree = "<group>"; };
B2C3DA070D006C1D00EF6F26 /* TextBreakIteratorICU.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = TextBreakIteratorICU.cpp; sourceTree = "<group>"; };
@@ -12908,6 +12942,7 @@
BCD3F9821326C93700098A60 /* TextOrientation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TextOrientation.h; sourceTree = "<group>"; };
BCD41ABA0C060DE800C0E446 /* JSHTMLFrameSetElementCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLFrameSetElementCustom.cpp; sourceTree = "<group>"; };
BCD533630ED6848900887468 /* CachedScriptSourceProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedScriptSourceProvider.h; sourceTree = "<group>"; };
+ BCD8A5EF15F56F2C0098D071 /* TextBreakIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextBreakIterator.cpp; sourceTree = "<group>"; };
BCD9C25E0C17AA67005C90A2 /* JSDOMWindowCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMWindowCustom.cpp; sourceTree = "<group>"; };
BCD9C25F0C17AA67005C90A2 /* JSNamedNodeMapCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSNamedNodeMapCustom.cpp; sourceTree = "<group>"; };
BCD9C2600C17AA67005C90A2 /* JSNodeCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = JSNodeCustom.cpp; sourceTree = "<group>"; };
@@ -13549,7 +13584,7 @@
F39BE95912673BF400E0A674 /* ScriptArguments.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptArguments.cpp; sourceTree = "<group>"; };
F39BE95A12673BF400E0A674 /* ScriptArguments.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptArguments.h; sourceTree = "<group>"; };
F3ABFE0B130E9DA000E7F7D1 /* InstrumentingAgents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InstrumentingAgents.h; sourceTree = "<group>"; };
- F3BFC9D215C177EC004244E5 /* MemoryInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MemoryInstrumentation.cpp; sourceTree = "<group>"; };
+ F3BFC9D215C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebCoreMemoryInstrumentation.cpp; sourceTree = "<group>"; };
F3D461461161D53200CA0D09 /* JSErrorHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSErrorHandler.cpp; sourceTree = "<group>"; };
F3D461471161D53200CA0D09 /* JSErrorHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSErrorHandler.h; sourceTree = "<group>"; };
F3D4C47612E07663003DA150 /* InspectorDOMDebuggerAgent.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDOMDebuggerAgent.cpp; sourceTree = "<group>"; };
@@ -13578,7 +13613,6 @@
F52AD5E31534245F0059FBE6 /* EmptyClients.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EmptyClients.cpp; sourceTree = "<group>"; };
F544F78615CFB2A800AF33A8 /* NumberLocalizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NumberLocalizer.cpp; sourceTree = "<group>"; };
F544F78715CFB2A800AF33A8 /* NumberLocalizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NumberLocalizer.h; sourceTree = "<group>"; };
- F553B89215BE26C000B134C9 /* WrapShapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WrapShapes.cpp; path = style/WrapShapes.cpp; sourceTree = "<group>"; };
F55B3D791251F12D003EF269 /* BaseTextInputType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BaseTextInputType.cpp; sourceTree = "<group>"; };
F55B3D7A1251F12D003EF269 /* BaseTextInputType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTextInputType.h; sourceTree = "<group>"; };
F55B3D7B1251F12D003EF269 /* ButtonInputType.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ButtonInputType.cpp; sourceTree = "<group>"; };
@@ -13677,6 +13711,12 @@
FABE72FC1059C21100D999DD /* MathMLNames.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MathMLNames.cpp; sourceTree = "<group>"; };
FB78AD2C151BF5D200FE54D3 /* CSSParserMode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSParserMode.h; sourceTree = "<group>"; };
FBC220DE1237FBEB00BCF788 /* GraphicsContext3DOpenGL.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraphicsContext3DOpenGL.cpp; sourceTree = "<group>"; };
+ FBD6AF8215EF21A3008B7110 /* BasicShapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasicShapes.cpp; path = style/BasicShapes.cpp; sourceTree = "<group>"; };
+ FBD6AF8315EF21A3008B7110 /* BasicShapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BasicShapes.h; path = style/BasicShapes.h; sourceTree = "<group>"; };
+ FBD6AF8415EF21D4008B7110 /* BasicShapeFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BasicShapeFunctions.cpp; sourceTree = "<group>"; };
+ FBD6AF8515EF21D4008B7110 /* BasicShapeFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BasicShapeFunctions.h; sourceTree = "<group>"; };
+ FBD6AF8615EF21D4008B7110 /* CSSBasicShapes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CSSBasicShapes.cpp; sourceTree = "<group>"; };
+ FBD6AF8715EF21D4008B7110 /* CSSBasicShapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CSSBasicShapes.h; sourceTree = "<group>"; };
FD00D7A214A3F61900734011 /* SincResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SincResampler.cpp; sourceTree = "<group>"; };
FD00D7A314A3F61900734011 /* SincResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SincResampler.h; sourceTree = "<group>"; };
FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DefaultAudioDestinationNode.cpp; sourceTree = "<group>"; };
@@ -13846,10 +13886,10 @@
FD6F252913F5EF0E0065165F /* MediaElementAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaElementAudioSourceNode.cpp; sourceTree = "<group>"; };
FD6F252A13F5EF0E0065165F /* MediaElementAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaElementAudioSourceNode.h; sourceTree = "<group>"; };
FD6F252B13F5EF0E0065165F /* MediaElementAudioSourceNode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaElementAudioSourceNode.idl; sourceTree = "<group>"; };
+ FD748ABD15BF74ED0059CF0D /* WrapShapeInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WrapShapeInfo.cpp; sourceTree = "<group>"; };
+ FD748ABE15BF74ED0059CF0D /* WrapShapeInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WrapShapeInfo.h; sourceTree = "<group>"; };
FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDynamicsCompressorNode.cpp; sourceTree = "<group>"; };
FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicsCompressorNode.h; sourceTree = "<group>"; };
- FD7E95A015ACD5620039E3D0 /* WrapShapeFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WrapShapeFunctions.h; sourceTree = "<group>"; };
- FD7E95A215ACD6090039E3D0 /* WrapShapeFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WrapShapeFunctions.cpp; sourceTree = "<group>"; };
FD7F298A13D4C0CB00AD9535 /* WaveShaperDSPKernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveShaperDSPKernel.cpp; sourceTree = "<group>"; };
FD7F298B13D4C0CB00AD9535 /* WaveShaperDSPKernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WaveShaperDSPKernel.h; sourceTree = "<group>"; };
FD7F298C13D4C0CB00AD9535 /* WaveShaperNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WaveShaperNode.cpp; sourceTree = "<group>"; };
@@ -13908,7 +13948,6 @@
FDB052DE1561A42C00B500D6 /* AudioSummingJunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioSummingJunction.h; sourceTree = "<group>"; };
FDB1700314A2BAB200A2B5D9 /* MultiChannelResampler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MultiChannelResampler.cpp; sourceTree = "<group>"; };
FDB1700414A2BAB200A2B5D9 /* MultiChannelResampler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MultiChannelResampler.h; sourceTree = "<group>"; };
- FDB51CF4159CD70300E227C5 /* WrapShapes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WrapShapes.h; path = style/WrapShapes.h; sourceTree = "<group>"; };
FDBD480A159BC6870093EB4F /* JSMediaStreamAudioSourceNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamAudioSourceNode.cpp; sourceTree = "<group>"; };
FDBD480B159BC6870093EB4F /* JSMediaStreamAudioSourceNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaStreamAudioSourceNode.h; sourceTree = "<group>"; };
FDC54F011399B0DA008D9117 /* BiquadFilterNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = BiquadFilterNode.cpp; sourceTree = "<group>"; };
@@ -14513,6 +14552,8 @@
isa = PBXGroup;
children = (
1AF62EE214DA22A70041556C /* mac */,
+ 0F605AEA15F94848004DF0C0 /* ScrollingConstraints.cpp */,
+ 0F605AEB15F94848004DF0C0 /* ScrollingConstraints.h */,
1AF62EE414DA22A70041556C /* ScrollingCoordinator.cpp */,
1AF62EE514DA22A70041556C /* ScrollingCoordinator.h */,
3866AF3714F1C17100283D68 /* ScrollingCoordinatorNone.cpp */,
@@ -14650,6 +14691,7 @@
7AA51DD4148506A900AD2752 /* InspectorMemoryAgent.h */,
7C522D4915B477E8009B7C95 /* InspectorOverlay.cpp */,
7C522D4A15B478B2009B7C95 /* InspectorOverlay.h */,
+ 7A7256B915EB9F5B007323A7 /* InspectorOverlayPage.html */,
4F6FDD621341DEDD001F8EE3 /* InspectorPageAgent.cpp */,
4F6FDD631341DEDD001F8EE3 /* InspectorPageAgent.h */,
9F0D6B2C121BFEBA006C0288 /* InspectorProfilerAgent.cpp */,
@@ -16011,6 +16053,9 @@
8A19592F147EA16E00D1EA61 /* DOMWebKitNamedFlow.h */,
8A195930147EA16E00D1EA61 /* DOMWebKitNamedFlow.mm */,
8A195931147EA16E00D1EA61 /* DOMWebKitNamedFlowInternal.h */,
+ 52CCA9E515E3F64C0053C77F /* DOMDOMNamedFlowCollection.h */,
+ 52CCA9E615E3F64C0053C77F /* DOMDOMNamedFlowCollection.mm */,
+ 52CCA9E715E3F64C0053C77F /* DOMDOMNamedFlowCollectionInternal.h */,
);
name = Core;
sourceTree = "<group>";
@@ -17754,8 +17799,6 @@
9712A58415004EDA0048AF10 /* IDBKey.idl */,
9712A58515004EDA0048AF10 /* IDBKeyPath.cpp */,
9712A58615004EDA0048AF10 /* IDBKeyPath.h */,
- 9712A58715004EDA0048AF10 /* IDBKeyPathBackendImpl.cpp */,
- 9712A58815004EDA0048AF10 /* IDBKeyPathBackendImpl.h */,
9712A58915004EDA0048AF10 /* IDBKeyRange.cpp */,
9712A58A15004EDA0048AF10 /* IDBKeyRange.h */,
9712A58B15004EDA0048AF10 /* IDBKeyRange.idl */,
@@ -18111,6 +18154,9 @@
A75E8B7F0E1DE2B0007F2481 /* filters */ = {
isa = PBXGroup;
children = (
+ 7E12E90D15FA5D3A005E4126 /* CustomFilterMeshGenerator.h */,
+ 7E12E90E15FA5D3A005E4126 /* CustomFilterMeshGenerator.cpp */,
+ 509EC10815E848CA00E82581 /* CustomFilterTransformParameter.h */,
49ECEB5C1499790D00CDD3A4 /* arm */,
50D4060F147D49DE00D30BB5 /* CustomFilterCompiledProgram.cpp */,
50D40610147D49DE00D30BB5 /* CustomFilterCompiledProgram.h */,
@@ -18127,6 +18173,8 @@
503D0CA914B5B08700F32F57 /* CustomFilterProgramClient.h */,
50D88CB315BDFDAA001809F4 /* CustomFilterProgramInfo.cpp */,
50D88CB415BDFDAA001809F4 /* CustomFilterProgramInfo.h */,
+ A29532CD15DD5E1700469EBC /* CustomFilterValidatedProgram.cpp */,
+ A29532CE15DD5E1700469EBC /* CustomFilterValidatedProgram.h */,
A1E1154313015C3D0054AC8C /* DistantLightSource.cpp */,
84730D5A1248F0B300D3A9C9 /* DistantLightSource.h */,
A75E8B800E1DE2D6007F2481 /* FEBlend.cpp */,
@@ -18835,6 +18883,8 @@
A83B79100CCB001B000B0825 /* Core */ = {
isa = PBXGroup;
children = (
+ 52CCA9E015E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp */,
+ 52CCA9E115E3F62C0053C77F /* JSDOMNamedFlowCollection.h */,
65DF31D809D1C122000BE325 /* JSAttr.cpp */,
65DF31D909D1C123000BE325 /* JSAttr.h */,
93F9B79E0BA6032600854064 /* JSCDATASection.cpp */,
@@ -19692,6 +19742,7 @@
B27535290B053814002CE64F /* cg */ = {
isa = PBXGroup;
children = (
+ 377A3A8F15EFCE9A0059F5C7 /* BitmapImageCG.cpp */,
0FCF33230F2B9715004B6795 /* ColorCG.cpp */,
B275352B0B053814002CE64F /* FloatPointCG.cpp */,
B275352C0B053814002CE64F /* FloatRectCG.cpp */,
@@ -19828,6 +19879,7 @@
144FCFDF14EF2509000D17A3 /* FractionalLayoutRect.h */,
144FCE5814EC79E7000D17A3 /* FractionalLayoutSize.h */,
BC23F0DA0DAFF4A4009FDC91 /* GeneratedImage.h */,
+ 4FB390AC15EF61F3007AD51F /* GeneratedImage.cpp */,
BCE04C890DAFF7A0007A0F41 /* Generator.h */,
2D2FC0561460CD6F00263633 /* GeneratorGeneratedImage.cpp */,
2D2FC0571460CD6F00263633 /* GeneratorGeneratedImage.h */,
@@ -19945,18 +19997,17 @@
F544F78615CFB2A800AF33A8 /* NumberLocalizer.cpp */,
F544F78715CFB2A800AF33A8 /* NumberLocalizer.h */,
BC76AC110DD7AD5C00415F34 /* ParserUtilities.h */,
- B2C3D9FB0D006C1D00EF6F26 /* PlatformString.h */,
379E371413736A6600B9E919 /* QuotedPrintable.cpp */,
379E371513736A6600B9E919 /* QuotedPrintable.h */,
B2C3D9FC0D006C1D00EF6F26 /* RegularExpression.cpp */,
B2C3D9FD0D006C1D00EF6F26 /* RegularExpression.h */,
B2C3D9FE0D006C1D00EF6F26 /* SegmentedString.cpp */,
B2C3D9FF0D006C1D00EF6F26 /* SegmentedString.h */,
- B2C3DA000D006C1D00EF6F26 /* String.cpp */,
9B6C41521344949000085B62 /* StringWithDirection.h */,
97C0784F1165D5BE003A32EF /* SuffixTree.h */,
372C00C3129611F1005C9575 /* TextBoundaries.cpp */,
B2C3DA040D006C1D00EF6F26 /* TextBoundaries.h */,
+ BCD8A5EF15F56F2C0098D071 /* TextBreakIterator.cpp */,
B2C3DA060D006C1D00EF6F26 /* TextBreakIterator.h */,
B2C3DA070D006C1D00EF6F26 /* TextBreakIteratorICU.cpp */,
B2C3DA080D006C1D00EF6F26 /* TextBreakIteratorInternalICU.h */,
@@ -20382,6 +20433,8 @@
BC8C8FAA0DDCD2F200B592F4 /* style */ = {
isa = PBXGroup;
children = (
+ FBD6AF8215EF21A3008B7110 /* BasicShapes.cpp */,
+ FBD6AF8315EF21A3008B7110 /* BasicShapes.h */,
BC5EB5E00E81BE8700B25965 /* BorderData.h */,
BC5EB5DA0E81B7EA00B25965 /* BorderValue.h */,
BC5EB5DE0E81B9AB00B25965 /* CollapsedBorderValue.h */,
@@ -20456,8 +20509,6 @@
BC2274750E8366E200E7F975 /* SVGRenderStyle.h */,
BC2274760E8366E200E7F975 /* SVGRenderStyleDefs.cpp */,
BC2274770E8366E200E7F975 /* SVGRenderStyleDefs.h */,
- F553B89215BE26C000B134C9 /* WrapShapes.cpp */,
- FDB51CF4159CD70300E227C5 /* WrapShapes.h */,
);
name = style;
sourceTree = "<group>";
@@ -21005,11 +21056,15 @@
F523D18402DE42E8018635CA /* css */ = {
isa = PBXGroup;
children = (
+ FBD6AF8415EF21D4008B7110 /* BasicShapeFunctions.cpp */,
+ FBD6AF8515EF21D4008B7110 /* BasicShapeFunctions.h */,
93CA4C9C09DF93FA00DF8677 /* maketokenizer */,
A80E6CDA0A1989CA007FB8C5 /* Counter.h */,
930705C709E0C95F00B17FE4 /* Counter.idl */,
CAE9F90D146441F000C245B0 /* CSSAspectRatioValue.cpp */,
CAE9F90E146441F000C245B0 /* CSSAspectRatioValue.h */,
+ FBD6AF8615EF21D4008B7110 /* CSSBasicShapes.cpp */,
+ FBD6AF8715EF21D4008B7110 /* CSSBasicShapes.h */,
E16A84F714C85CCC002977DF /* CSSBorderImage.cpp */,
E16A84F814C85CCC002977DF /* CSSBorderImage.h */,
BC274B30140EBED800EADFA6 /* CSSBorderImageSliceValue.cpp */,
@@ -21123,8 +21178,6 @@
E49BDA0A131FD3E5003C56F0 /* CSSValuePool.cpp */,
E49BD9F9131FD2ED003C56F0 /* CSSValuePool.h */,
CAE9F90E146441F000C245B1 /* CSSVariableValue.h */,
- 501BAAB11395114B00F7ACEB /* CSSWrapShapes.cpp */,
- 501BA9E11393CEA000F7ACEB /* CSSWrapShapes.h */,
A80E6CE10A1989CA007FB8C5 /* DashboardRegion.h */,
4A6E9FC113C17D1D0046A7F8 /* FontFeatureValue.cpp */,
4A6E9FC213C17D1D0046A7F8 /* FontFeatureValue.h */,
@@ -21203,6 +21256,8 @@
B2227B030D00BFF10071B782 /* SVGCSSStyleSelector.cpp */,
B2227B040D00BFF10071B782 /* SVGCSSValueKeywords.in */,
BC5EC1760A507E3E006007F5 /* view-source.css */,
+ 150B923715F08DC400E10986 /* WebKitCSSArrayFunctionValue.cpp */,
+ 150B923815F08DC400E10986 /* WebKitCSSArrayFunctionValue.h */,
3106036C14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp */,
3106036D14327D2E00ABF4BA /* WebKitCSSFilterValue.h */,
3106036E14327D2E00ABF4BA /* WebKitCSSFilterValue.idl */,
@@ -21227,8 +21282,6 @@
BC9ADD7F0CC4092200098C4C /* WebKitCSSTransformValue.cpp */,
BC9ADD220CC4032600098C4C /* WebKitCSSTransformValue.h */,
31611E540E1C4D4A00F6A579 /* WebKitCSSTransformValue.idl */,
- FD7E95A215ACD6090039E3D0 /* WrapShapeFunctions.cpp */,
- FD7E95A015ACD5620039E3D0 /* WrapShapeFunctions.h */,
);
path = css;
sourceTree = "<group>";
@@ -21276,6 +21329,7 @@
2D9066040BE141D400956998 /* LayoutState.cpp */,
2D9066050BE141D400956998 /* LayoutState.h */,
BACF290013B2A0D500781F90 /* LayoutTypes.h */,
+ 84894CA815EC489700A40481 /* LayoutTypesInlineMethods.h */,
3774ABA30FA21EB400AD7DE9 /* OverlapTestRequestClient.h */,
9377AB9F15DEFEEF0031FD04 /* Pagination.h */,
0885067D11DA045B00182B98 /* PaintInfo.h */,
@@ -21306,6 +21360,8 @@
BCEA482F097D93020094C9E4 /* RenderDeprecatedFlexibleBox.h */,
D302754512A5FE84004BD828 /* RenderDetailsMarker.cpp */,
D302754612A5FE84004BD828 /* RenderDetailsMarker.h */,
+ 76F2E2E915F74CEF005FF664 /* RenderDialog.cpp */,
+ 76F2E2EA15F74CEF005FF664 /* RenderDialog.h */,
0F5B7A5210F65D7A00376302 /* RenderEmbeddedObject.cpp */,
0F5B7A5310F65D7A00376302 /* RenderEmbeddedObject.h */,
A8EA73AF0A1900E300A8EF5F /* RenderFieldset.cpp */,
@@ -21316,8 +21372,6 @@
53C8298C13D8D92700DE2DEB /* RenderFlexibleBox.h */,
508CCA4E13CF106B003151F3 /* RenderFlowThread.cpp */,
508CCA4D13CF106B003151F3 /* RenderFlowThread.h */,
- 603EA35E15DD1D7000E150E6 /* RenderFlowThreadContainer.cpp */,
- 603EA35F15DD1D7000E150E6 /* RenderFlowThreadContainer.h */,
A871DECC0A1530C700B12A68 /* RenderFrame.cpp */,
A871DECB0A1530C700B12A68 /* RenderFrame.h */,
0FD3080C117CF7E700A791F7 /* RenderFrameBase.cpp */,
@@ -21461,6 +21515,8 @@
A8CFF04C0A154F09000A4234 /* TableLayout.h */,
37FC96DA1104ED71003E1FAD /* TrailingFloatsRootInlineBox.h */,
BCA257141293C010007A263D /* VerticalPositionCache.h */,
+ FD748ABD15BF74ED0059CF0D /* WrapShapeInfo.cpp */,
+ FD748ABE15BF74ED0059CF0D /* WrapShapeInfo.h */,
);
path = rendering;
sourceTree = "<group>";
@@ -21470,6 +21526,9 @@
F523D32402DE4478018635CA /* dom */ = {
isa = PBXGroup;
children = (
+ 52B6C9BF15E3F4DF00690B05 /* DOMNamedFlowCollection.idl */,
+ 52B6C9C015E3F4DF00690B05 /* NamedFlowCollection.cpp */,
+ 52B6C9C115E3F4DF00690B05 /* NamedFlowCollection.h */,
E1C4DE6D0EA75C650023CCD6 /* ActiveDOMObject.cpp */,
E1C4DE680EA75C1E0023CCD6 /* ActiveDOMObject.h */,
A8C4A7FC09D563270003AC8D /* Attr.cpp */,
@@ -21583,6 +21642,8 @@
A8185F3609765765005826D9 /* DOMImplementation.cpp */,
A8185F3309765765005826D9 /* DOMImplementation.h */,
93EEC1E909C2877700C515D1 /* DOMImplementation.idl */,
+ 52B6C9BD15E3F4DF00690B05 /* DOMNamedFlowCollection.cpp */,
+ 52B6C9BE15E3F4DF00690B05 /* DOMNamedFlowCollection.h */,
C55610F011A704EB00B82D27 /* DOMStringList.cpp */,
C544274911A57E7A0063A749 /* DOMStringList.h */,
C544274A11A57E7A0063A749 /* DOMStringList.idl */,
@@ -21661,7 +21722,6 @@
BC9A6144146859D9006057FD /* make_dom_exceptions.pl */,
BC9A6145146859D9006057FD /* make_event_factory.pl */,
BC9A6146146859D9006057FD /* make_names.pl */,
- F3BFC9D215C177EC004244E5 /* MemoryInstrumentation.cpp */,
4F32BB1A14FA85AA00F6C1A3 /* MemoryInstrumentation.h */,
E1ADECCD0E76AD8B004A1A5E /* MessageChannel.cpp */,
E1ADECCC0E76AD8B004A1A5E /* MessageChannel.h */,
@@ -21827,14 +21887,14 @@
BCDF317A11F8D683003C5BF8 /* UserTypingGestureIndicator.h */,
CEF418CC1179678C009D112C /* ViewportArguments.cpp */,
CEF418CD1179678C009D112C /* ViewportArguments.h */,
+ F3BFC9D215C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp */,
+ 4F377FF415FA356A00E5D60D /* WebCoreMemoryInstrumentation.h */,
31C0FF1B0E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp */,
31C0FF1C0E4CEB6E007D6FE5 /* WebKitAnimationEvent.h */,
31C0FF1D0E4CEB6E007D6FE5 /* WebKitAnimationEvent.idl */,
D7613A4E1474F13F00DB8606 /* WebKitNamedFlow.cpp */,
D7613A4D1474F13F00DB8606 /* WebKitNamedFlow.h */,
D7613A4A1474EE9500DB8606 /* WebKitNamedFlow.idl */,
- 12F35EB5158745A40035CB63 /* WebKitNamedFlowCollection.cpp */,
- 12F35EB4158745A40035CB63 /* WebKitNamedFlowCollection.h */,
31C0FF1E0E4CEB6E007D6FE5 /* WebKitTransitionEvent.cpp */,
31C0FF1F0E4CEB6E007D6FE5 /* WebKitTransitionEvent.h */,
31C0FF200E4CEB6E007D6FE5 /* WebKitTransitionEvent.idl */,
@@ -22489,7 +22549,6 @@
A80E6CE90A1989CA007FB8C5 /* CSSValueList.h in Headers */,
E49BD9FA131FD2ED003C56F0 /* CSSValuePool.h in Headers */,
CAE9F910146441F000C245B1 /* CSSVariableValue.h in Headers */,
- 501BA9E21393CEA000F7ACEB /* CSSWrapShapes.h in Headers */,
93F1992F08245E59001E9ABC /* Cursor.h in Headers */,
BC2272A20E82E87C00E7F975 /* CursorData.h in Headers */,
BC2272AD0E82E8F300E7F975 /* CursorList.h in Headers */,
@@ -22503,6 +22562,7 @@
503D0CAB14B5B08700F32F57 /* CustomFilterProgram.h in Headers */,
503D0CAC14B5B08700F32F57 /* CustomFilterProgramClient.h in Headers */,
50D88CB615BDFDAA001809F4 /* CustomFilterProgramInfo.h in Headers */,
+ A29532D015DD5E1700469EBC /* CustomFilterValidatedProgram.h in Headers */,
A8CB413E0E8633FD0032C4F0 /* DashArray.h in Headers */,
A80E6D0B0A1989CA007FB8C5 /* DashboardRegion.h in Headers */,
97BC6A211505F081001B74AC /* Database.h in Headers */,
@@ -22637,6 +22697,8 @@
85E711960AC5D5350053270F /* DOMDocumentTypeInternal.h in Headers */,
8518DCE90A9CC80D0091B7A6 /* DOMDOMImplementation.h in Headers */,
85E711970AC5D5350053270F /* DOMDOMImplementationInternal.h in Headers */,
+ 52CCA9E815E3F64C0053C77F /* DOMDOMNamedFlowCollection.h in Headers */,
+ 52CCA9EA15E3F64C0053C77F /* DOMDOMNamedFlowCollectionInternal.h in Headers */,
2D9A247415B9C2E300D34527 /* DOMDOMSecurityPolicy.h in Headers */,
2D9A247515B9C2E300D34527 /* DOMDOMSecurityPolicyInternal.h in Headers */,
9B3A8872145632F9003AE8F5 /* DOMDOMSettableTokenList.h in Headers */,
@@ -22812,6 +22874,7 @@
85989DCD0ACC8BBD00A0BC51 /* DOMMouseEventInternal.h in Headers */,
85C7F5BF0AAFB7CC004014DD /* DOMMutationEvent.h in Headers */,
85989DCE0ACC8BBD00A0BC51 /* DOMMutationEventInternal.h in Headers */,
+ 52B6C9C315E3F4DF00690B05 /* DOMNamedFlowCollection.h in Headers */,
8518DD780A9CF31B0091B7A6 /* DOMNamedNodeMap.h in Headers */,
85E711D20AC5D5350053270F /* DOMNamedNodeMapInternal.h in Headers */,
853BF4DB0ABB6B55008647BB /* DOMNode.h in Headers */,
@@ -23594,7 +23657,6 @@
9712A5DA15004EDA0048AF10 /* IDBIndexBackendInterface.h in Headers */,
9712A5DC15004EDA0048AF10 /* IDBKey.h in Headers */,
9712A5DF15004EDA0048AF10 /* IDBKeyPath.h in Headers */,
- 9712A5E115004EDA0048AF10 /* IDBKeyPathBackendImpl.h in Headers */,
9712A5E315004EDA0048AF10 /* IDBKeyRange.h in Headers */,
9712A5E615004EDA0048AF10 /* IDBLevelDBBackingStore.h in Headers */,
9712A5E815004EDA0048AF10 /* IDBLevelDBCoding.h in Headers */,
@@ -23799,6 +23861,7 @@
2E0888D51148848A00AF4265 /* JSDOMFormData.h in Headers */,
E1C36C030EB076D6007410BC /* JSDOMGlobalObject.h in Headers */,
65DF31F809D1CC60000BE325 /* JSDOMImplementation.h in Headers */,
+ 52CCA9E315E3F62C0053C77F /* JSDOMNamedFlowCollection.h in Headers */,
A9D248070D757E7D00FDF959 /* JSDOMMimeType.h in Headers */,
A9D248090D757E7D00FDF959 /* JSDOMMimeTypeArray.h in Headers */,
1ACE53E00A8D18810022947D /* JSDOMParser.h in Headers */,
@@ -24374,6 +24437,7 @@
D6E528A4149A926D00EFE1F3 /* MutationObserverInterestGroup.h in Headers */,
D6E276B014637455001D280A /* MutationObserverRegistration.h in Headers */,
C6F08FBD1430FE8F00685849 /* MutationRecord.h in Headers */,
+ 52B6C9C615E3F4DF00690B05 /* NamedFlowCollection.h in Headers */,
A81872230977D3C0005826D9 /* NamedNodeMap.h in Headers */,
A818721E0977D3C0005826D9 /* NameNodeList.h in Headers */,
6B3480940EEF50D400AC1B41 /* NativeImagePtr.h in Headers */,
@@ -24493,7 +24557,6 @@
C598905814E9C29900E8D18B /* PlatformPasteboard.h in Headers */,
BCEC01D70C274EB4009F4EC9 /* PlatformScreen.h in Headers */,
1AD8F81B11CAB9E900E93E54 /* PlatformStrategies.h in Headers */,
- B2C3DA2B0D006C1D00EF6F26 /* PlatformString.h in Headers */,
935C476B09AC4D4F00A6AAB4 /* PlatformWheelEvent.h in Headers */,
A9C6E4F40D745E48006442E9 /* PluginData.h in Headers */,
97205ABC1239292700B17380 /* PluginDocument.h in Headers */,
@@ -24579,7 +24642,6 @@
066C77310AB603FD00238CC4 /* RenderFileUploadControl.h in Headers */,
53C8298E13D8D92700DE2DEB /* RenderFlexibleBox.h in Headers */,
508CCA4F13CF106B003151F3 /* RenderFlowThread.h in Headers */,
- 603EA36115DD1D7000E150E6 /* RenderFlowThreadContainer.h in Headers */,
A871DED30A1530C700B12A68 /* RenderFrame.h in Headers */,
0FD3080F117CF7E700A791F7 /* RenderFrameBase.h in Headers */,
A871DED10A1530C700B12A68 /* RenderFrameSet.h in Headers */,
@@ -25331,6 +25393,7 @@
31C0FF220E4CEB6E007D6FE5 /* WebKitAnimationEvent.h in Headers */,
319E69B613299BBD004AC91A /* WebKitAnimationList.h in Headers */,
976D6C7C122B8A3D001FD1F7 /* WebKitBlobBuilder.h in Headers */,
+ 150B923A15F08DC400E10986 /* WebKitCSSArrayFunctionValue.h in Headers */,
3106037014327D2E00ABF4BA /* WebKitCSSFilterValue.h in Headers */,
31288E730E3005D6003619AE /* WebKitCSSKeyframeRule.h in Headers */,
31288E750E3005D6003619AE /* WebKitCSSKeyframesRule.h in Headers */,
@@ -25341,7 +25404,6 @@
29CD61DE146D02890068E82A /* WebKitCSSShaderValue.h in Headers */,
0562F9471573ECEB0031CA16 /* WebKitCSSSVGDocumentValue.h in Headers */,
BC9ADD230CC4032600098C4C /* WebKitCSSTransformValue.h in Headers */,
- 12F35EB6158745A40035CB63 /* WebKitNamedFlowCollection.h in Headers */,
494BD7950F55C8EE00747828 /* WebKitPoint.h in Headers */,
31C0FF250E4CEB6E007D6FE5 /* WebKitTransitionEvent.h in Headers */,
0FCF332F0F2B9A25004B6795 /* WebLayer.h in Headers */,
@@ -25404,8 +25466,7 @@
0B9056F90F2685F30095FF6A /* WorkerThreadableLoader.h in Headers */,
97AABD2D14FA09D5007457AE /* WorkerThreadableWebSocketChannel.h in Headers */,
93309E24099E64920056E581 /* WrapContentsInDummySpanCommand.h in Headers */,
- FDE6860315B0A96100BB480C /* WrapShapeFunctions.h in Headers */,
- FDE6860415B0A96100BB480C /* WrapShapes.h in Headers */,
+ FD748AC015BF74ED0059CF0D /* WrapShapeInfo.h in Headers */,
9BAF3B2412C1A39800014BF1 /* WritingDirection.h in Headers */,
6565820209D1508D000E61D7 /* XLinkNames.h in Headers */,
00D0464B13C4D14500326FCC /* XMLCharacterReferenceParser.h in Headers */,
@@ -25449,6 +25510,14 @@
FD537353137B651800008DCE /* ZeroPole.h in Headers */,
9377ABA015DEFEEF0031FD04 /* Pagination.h in Headers */,
14476AA815DC4BB100305DB2 /* WritingMode.h in Headers */,
+ 31B801BB15EC58C700CE643D /* LayoutTypesInlineMethods.h in Headers */,
+ FBD6AF8815EF25C9008B7110 /* CSSBasicShapes.h in Headers */,
+ FBD6AF8A15EF25DF008B7110 /* BasicShapeFunctions.h in Headers */,
+ FBD6AF8C15EF2604008B7110 /* BasicShapes.h in Headers */,
+ 76F2E2EC15F74CEF005FF664 /* RenderDialog.h in Headers */,
+ 0F605AED15F94848004DF0C0 /* ScrollingConstraints.h in Headers */,
+ 4F377FF515FA356A00E5D60D /* WebCoreMemoryInstrumentation.h in Headers */,
+ 7E12E90F15FA5D3A005E4126 /* CustomFilterMeshGenerator.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -26060,7 +26129,6 @@
1ABA76CB11D20E57004C201C /* CSSValueKeywords.cpp in Sources */,
A80E6CE40A1989CA007FB8C5 /* CSSValueList.cpp in Sources */,
E49BDA0B131FD3E5003C56F0 /* CSSValuePool.cpp in Sources */,
- 50E566D6139E38C500214433 /* CSSWrapShapes.cpp in Sources */,
E11AF15111B9A1A300805103 /* Cursor.cpp in Sources */,
265541521489B233000DFC5D /* CursorIOS.cpp in Sources */,
93F19A2608245E59001E9ABC /* CursorMac.mm in Sources */,
@@ -26071,6 +26139,7 @@
50CC0A3914C6F5B10017AB51 /* CustomFilterOperation.cpp in Sources */,
503D0CAA14B5B08700F32F57 /* CustomFilterProgram.cpp in Sources */,
50D88CB515BDFDAA001809F4 /* CustomFilterProgramInfo.cpp in Sources */,
+ A29532CF15DD5E1700469EBC /* CustomFilterValidatedProgram.cpp in Sources */,
97BC6A201505F081001B74AC /* Database.cpp in Sources */,
97BC6A231505F081001B74AC /* DatabaseAuthorizer.cpp in Sources */,
97BC6A271505F081001B74AC /* DatabaseContext.cpp in Sources */,
@@ -26794,7 +26863,6 @@
9712A5D815004EDA0048AF10 /* IDBIndexBackendImpl.cpp in Sources */,
9712A5DB15004EDA0048AF10 /* IDBKey.cpp in Sources */,
9712A5DE15004EDA0048AF10 /* IDBKeyPath.cpp in Sources */,
- 9712A5E015004EDA0048AF10 /* IDBKeyPathBackendImpl.cpp in Sources */,
9712A5E215004EDA0048AF10 /* IDBKeyRange.cpp in Sources */,
9712A5E515004EDA0048AF10 /* IDBLevelDBBackingStore.cpp in Sources */,
9712A5E715004EDA0048AF10 /* IDBLevelDBCoding.cpp in Sources */,
@@ -27638,7 +27706,6 @@
FD671A77159BB07000197559 /* MediaStreamAudioSourceNode.cpp in Sources */,
BCB16C170979C3BD00467741 /* MemoryCache.cpp in Sources */,
9FFE3E7A11B59C5D0037874E /* MemoryInfo.cpp in Sources */,
- F3BFC9D315C177EC004244E5 /* MemoryInstrumentation.cpp in Sources */,
4F8565E91530356E00FAE776 /* MemoryInstrumentationImpl.cpp in Sources */,
657EDA081385CB97004E0645 /* MemoryPressureHandler.cpp in Sources */,
657EDA0B1385CBD8004E0645 /* MemoryPressureHandlerMac.mm in Sources */,
@@ -27819,7 +27886,6 @@
066C77300AB603FD00238CC4 /* RenderFileUploadControl.cpp in Sources */,
53C8298D13D8D92700DE2DEB /* RenderFlexibleBox.cpp in Sources */,
508CCA5013CF106B003151F3 /* RenderFlowThread.cpp in Sources */,
- 603EA36015DD1D7000E150E6 /* RenderFlowThreadContainer.cpp in Sources */,
A871DED40A1530C700B12A68 /* RenderFrame.cpp in Sources */,
0FD3080E117CF7E700A791F7 /* RenderFrameBase.cpp in Sources */,
A871DED20A1530C700B12A68 /* RenderFrameSet.cpp in Sources */,
@@ -28083,7 +28149,6 @@
511F23170DC160DA004F0032 /* StorageTask.cpp in Sources */,
511F23190DC160DA004F0032 /* StorageThread.cpp in Sources */,
3AB02D2B12D4F91600FBB694 /* StorageTracker.cpp in Sources */,
- B2C3DA300D006C1D00EF6F26 /* String.cpp in Sources */,
8102C5881325BB1100DDE67A /* StringCallback.cpp in Sources */,
B2B2645C0D00A77E000ACC1D /* StringCF.cpp in Sources */,
B2B2645D0D00A77E000ACC1D /* StringImplCF.cpp in Sources */,
@@ -28392,6 +28457,7 @@
FD581FB41520F93B003A7A75 /* WaveTable.cpp in Sources */,
29A8124A0FBB9CA900510293 /* WebAccessibilityObjectWrapper.mm in Sources */,
CD127DED14F3097D00E84779 /* WebCoreFullScreenWindow.mm in Sources */,
+ F3BFC9D315C177EC004244E5 /* WebCoreMemoryInstrumentation.cpp in Sources */,
371941961566B37200A276D8 /* WebCoreNSCellExtras.m in Sources */,
934D9BA50B8C116B007B42A9 /* WebCoreNSStringExtras.mm in Sources */,
C5B4C24E1509236C00A6EF37 /* WebCoreNSURLExtras.mm in Sources */,
@@ -28428,6 +28494,7 @@
31C0FF210E4CEB6E007D6FE5 /* WebKitAnimationEvent.cpp in Sources */,
319E69B513299BBD004AC91A /* WebKitAnimationList.cpp in Sources */,
976D6C7B122B8A3D001FD1F7 /* WebKitBlobBuilder.cpp in Sources */,
+ 150B923915F08DC400E10986 /* WebKitCSSArrayFunctionValue.cpp in Sources */,
3106036F14327D2E00ABF4BA /* WebKitCSSFilterValue.cpp in Sources */,
31288E720E3005D6003619AE /* WebKitCSSKeyframeRule.cpp in Sources */,
31288E740E3005D6003619AE /* WebKitCSSKeyframesRule.cpp in Sources */,
@@ -28439,7 +28506,6 @@
BC9ADD800CC4092200098C4C /* WebKitCSSTransformValue.cpp in Sources */,
1A1414B513A0F0500019996C /* WebKitFontFamilyNames.cpp in Sources */,
D7613A501474F13F00DB8606 /* WebKitNamedFlow.cpp in Sources */,
- 12F35EB7158745A40035CB63 /* WebKitNamedFlowCollection.cpp in Sources */,
31C0FF240E4CEB6E007D6FE5 /* WebKitTransitionEvent.cpp in Sources */,
0FCF332E0F2B9A25004B6795 /* WebLayer.mm in Sources */,
E1A3162E134BC32D007C9A4F /* WebNSAttributedStringExtras.mm in Sources */,
@@ -28491,8 +28557,7 @@
0B9056F80F2685F30095FF6A /* WorkerThreadableLoader.cpp in Sources */,
97AABD2C14FA09D5007457AE /* WorkerThreadableWebSocketChannel.cpp in Sources */,
93309E23099E64920056E581 /* WrapContentsInDummySpanCommand.cpp in Sources */,
- FDE6860215B0A93B00BB480C /* WrapShapeFunctions.cpp in Sources */,
- F553B89315BE26C000B134C9 /* WrapShapes.cpp in Sources */,
+ FD748ABF15BF74ED0059CF0D /* WrapShapeInfo.cpp in Sources */,
A833C7CC0A2CF07400D57664 /* XLinkNames.cpp in Sources */,
00D0464A13C4D14500326FCC /* XMLCharacterReferenceParser.cpp in Sources */,
00B9318713BA8DB30035A948 /* XMLDocumentParser.cpp in Sources */,
@@ -28533,6 +28598,19 @@
E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */,
977E2E0E12F0FC9C00C13379 /* XSSAuditor.cpp in Sources */,
FD537352137B651800008DCE /* ZeroPole.cpp in Sources */,
+ 52B6C9C215E3F4DF00690B05 /* DOMNamedFlowCollection.cpp in Sources */,
+ 52B6C9C515E3F4DF00690B05 /* NamedFlowCollection.cpp in Sources */,
+ 52CCA9E215E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp in Sources */,
+ 52CCA9E915E3F64C0053C77F /* DOMDOMNamedFlowCollection.mm in Sources */,
+ FBD6AF8915EF25DB008B7110 /* BasicShapeFunctions.cpp in Sources */,
+ FBD6AF8B15EF25E5008B7110 /* CSSBasicShapes.cpp in Sources */,
+ FBD6AF8D15EF260A008B7110 /* BasicShapes.cpp in Sources */,
+ 4FB390AD15EF61F3007AD51F /* GeneratedImage.cpp in Sources */,
+ 377A3A9015EFCE9B0059F5C7 /* BitmapImageCG.cpp in Sources */,
+ BCD8A5F015F56F2C0098D071 /* TextBreakIterator.cpp in Sources */,
+ 76F2E2EB15F74CEF005FF664 /* RenderDialog.cpp in Sources */,
+ 0F605AEC15F94848004DF0C0 /* ScrollingConstraints.cpp in Sources */,
+ 7E12E91015FA5D3A005E4126 /* CustomFilterMeshGenerator.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Source/WebCore/accessibility/AccessibilityMediaControls.cpp b/Source/WebCore/accessibility/AccessibilityMediaControls.cpp
index 977830138..3d380df1a 100644
--- a/Source/WebCore/accessibility/AccessibilityMediaControls.cpp
+++ b/Source/WebCore/accessibility/AccessibilityMediaControls.cpp
@@ -85,21 +85,21 @@ MediaControlElementType AccessibilityMediaControl::controlType() const
String AccessibilityMediaControl::controlTypeName() const
{
- DEFINE_STATIC_LOCAL(const String, mediaEnterFullscreenButtonName, ("EnterFullscreenButton"));
- DEFINE_STATIC_LOCAL(const String, mediaExitFullscreenButtonName, ("ExitFullscreenButton"));
- DEFINE_STATIC_LOCAL(const String, mediaMuteButtonName, ("MuteButton"));
- DEFINE_STATIC_LOCAL(const String, mediaPlayButtonName, ("PlayButton"));
- DEFINE_STATIC_LOCAL(const String, mediaSeekBackButtonName, ("SeekBackButton"));
- DEFINE_STATIC_LOCAL(const String, mediaSeekForwardButtonName, ("SeekForwardButton"));
- DEFINE_STATIC_LOCAL(const String, mediaRewindButtonName, ("RewindButton"));
- DEFINE_STATIC_LOCAL(const String, mediaReturnToRealtimeButtonName, ("ReturnToRealtimeButton"));
- DEFINE_STATIC_LOCAL(const String, mediaUnMuteButtonName, ("UnMuteButton"));
- DEFINE_STATIC_LOCAL(const String, mediaPauseButtonName, ("PauseButton"));
- DEFINE_STATIC_LOCAL(const String, mediaStatusDisplayName, ("StatusDisplay"));
- DEFINE_STATIC_LOCAL(const String, mediaCurrentTimeDisplay, ("CurrentTimeDisplay"));
- DEFINE_STATIC_LOCAL(const String, mediaTimeRemainingDisplay, ("TimeRemainingDisplay"));
- DEFINE_STATIC_LOCAL(const String, mediaShowClosedCaptionsButtonName, ("ShowClosedCaptionsButton"));
- DEFINE_STATIC_LOCAL(const String, mediaHideClosedCaptionsButtonName, ("HideClosedCaptionsButton"));
+ DEFINE_STATIC_LOCAL(const String, mediaEnterFullscreenButtonName, (ASCIILiteral("EnterFullscreenButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaExitFullscreenButtonName, (ASCIILiteral("ExitFullscreenButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaMuteButtonName, (ASCIILiteral("MuteButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaPlayButtonName, (ASCIILiteral("PlayButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaSeekBackButtonName, (ASCIILiteral("SeekBackButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaSeekForwardButtonName, (ASCIILiteral("SeekForwardButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaRewindButtonName, (ASCIILiteral("RewindButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaReturnToRealtimeButtonName, (ASCIILiteral("ReturnToRealtimeButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaUnMuteButtonName, (ASCIILiteral("UnMuteButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaPauseButtonName, (ASCIILiteral("PauseButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaStatusDisplayName, (ASCIILiteral("StatusDisplay")));
+ DEFINE_STATIC_LOCAL(const String, mediaCurrentTimeDisplay, (ASCIILiteral("CurrentTimeDisplay")));
+ DEFINE_STATIC_LOCAL(const String, mediaTimeRemainingDisplay, (ASCIILiteral("TimeRemainingDisplay")));
+ DEFINE_STATIC_LOCAL(const String, mediaShowClosedCaptionsButtonName, (ASCIILiteral("ShowClosedCaptionsButton")));
+ DEFINE_STATIC_LOCAL(const String, mediaHideClosedCaptionsButtonName, (ASCIILiteral("HideClosedCaptionsButton")));
switch (controlType()) {
case MediaEnterFullscreenButton:
@@ -142,7 +142,7 @@ String AccessibilityMediaControl::controlTypeName() const
String AccessibilityMediaControl::title() const
{
- DEFINE_STATIC_LOCAL(const String, controlsPanel, ("ControlsPanel"));
+ DEFINE_STATIC_LOCAL(const String, controlsPanel, (ASCIILiteral("ControlsPanel")));
if (controlType() == MediaControlsPanel)
return localizedMediaControlElementString(controlsPanel);
@@ -237,8 +237,8 @@ bool AccessibilityMediaControlsContainer::controllingVideoElement() const
const String AccessibilityMediaControlsContainer::elementTypeName() const
{
- DEFINE_STATIC_LOCAL(const String, videoElement, ("VideoElement"));
- DEFINE_STATIC_LOCAL(const String, audioElement, ("AudioElement"));
+ DEFINE_STATIC_LOCAL(const String, videoElement, (ASCIILiteral("VideoElement")));
+ DEFINE_STATIC_LOCAL(const String, audioElement, (ASCIILiteral("AudioElement")));
if (controllingVideoElement())
return videoElement;
@@ -273,7 +273,7 @@ String AccessibilityMediaTimeline::valueDescription() const
String AccessibilityMediaTimeline::helpText() const
{
- DEFINE_STATIC_LOCAL(const String, slider, ("Slider"));
+ DEFINE_STATIC_LOCAL(const String, slider, (ASCIILiteral("Slider")));
return localizedMediaControlElementHelpText(slider);
}
diff --git a/Source/WebCore/accessibility/AccessibilityNodeObject.cpp b/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
index fa7410700..e58456c14 100644
--- a/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityNodeObject.cpp
@@ -306,6 +306,23 @@ bool AccessibilityNodeObject::accessibilityIsIgnored() const
return m_role == UnknownRole;
}
+bool AccessibilityNodeObject::canvasHasFallbackContent() const
+{
+ Node* node = this->node();
+ if (!node || !node->hasTagName(canvasTag))
+ return false;
+
+ // If it has any children that are elements, we'll assume it might be fallback
+ // content. If it has no children or its only children are not elements
+ // (e.g. just text nodes), it doesn't have fallback content.
+ for (Node* child = node->firstChild(); child; child = child->nextSibling()) {
+ if (child->isElementNode())
+ return true;
+ }
+
+ return false;
+}
+
bool AccessibilityNodeObject::canSetFocusAttribute() const
{
Node* node = this->node();
@@ -384,4 +401,15 @@ AccessibilityRole AccessibilityNodeObject::remapAriaRoleDueToParent(Accessibilit
return role;
}
+// If you call node->rendererIsEditable() since that will return true if an ancestor is editable.
+// This only returns true if this is the element that actually has the contentEditable attribute set.
+bool AccessibilityNodeObject::hasContentEditableAttributeSet() const
+{
+ if (!hasAttribute(contenteditableAttr))
+ return false;
+ const AtomicString& contentEditableValue = getAttribute(contenteditableAttr);
+ // Both "true" (case-insensitive) and the empty string count as true.
+ return contentEditableValue.isEmpty() || equalIgnoringCase(contentEditableValue, "true");
+}
+
} // namespace WebCore
diff --git a/Source/WebCore/accessibility/AccessibilityNodeObject.h b/Source/WebCore/accessibility/AccessibilityNodeObject.h
index e0a2cad8e..e13aed645 100644
--- a/Source/WebCore/accessibility/AccessibilityNodeObject.h
+++ b/Source/WebCore/accessibility/AccessibilityNodeObject.h
@@ -66,6 +66,8 @@ public:
virtual bool isAccessibilityNodeObject() const { return true; }
+ virtual bool canvasHasFallbackContent() const;
+
virtual bool canSetFocusAttribute() const;
virtual AccessibilityObject* firstChild() const;
@@ -98,6 +100,7 @@ protected:
AccessibilityRole ariaRoleAttribute() const;
AccessibilityRole determineAriaRoleAttribute() const;
AccessibilityRole remapAriaRoleDueToParent(AccessibilityRole) const;
+ bool hasContentEditableAttributeSet() const;
private:
Node* m_node;
diff --git a/Source/WebCore/accessibility/AccessibilityObject.cpp b/Source/WebCore/accessibility/AccessibilityObject.cpp
index f867ec3ee..a5330684e 100644
--- a/Source/WebCore/accessibility/AccessibilityObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityObject.cpp
@@ -1294,6 +1294,19 @@ const AtomicString& AccessibilityObject::invalidStatus() const
return ariaInvalid;
}
+bool AccessibilityObject::hasAttribute(const QualifiedName& attribute) const
+{
+ Node* elementNode = node();
+ if (!elementNode)
+ return false;
+
+ if (!elementNode->isElementNode())
+ return false;
+
+ Element* element = static_cast<Element*>(elementNode);
+ return element->fastHasAttribute(attribute);
+}
+
const AtomicString& AccessibilityObject::getAttribute(const QualifiedName& attribute) const
{
Node* elementNode = node();
@@ -1340,6 +1353,15 @@ bool AccessibilityObject::isAncestorOfObject(const AccessibilityObject* axObject
return this == axObject || axObject->isDescendantOfObject(this);
}
+AccessibilityObject* AccessibilityObject::firstAnonymousBlockChild() const
+{
+ for (AccessibilityObject* child = firstChild(); child; child = child->nextSibling()) {
+ if (child->renderer() && child->renderer()->isAnonymousBlock())
+ return child;
+ }
+ return 0;
+}
+
typedef HashMap<String, AccessibilityRole, CaseFoldingHash> ARIARoleMap;
struct RoleEntry {
@@ -1474,7 +1496,12 @@ bool AccessibilityObject::isInsideARIALiveRegion() const
bool AccessibilityObject::supportsARIAAttributes() const
{
- return supportsARIALiveRegion() || supportsARIADragging() || supportsARIADropping() || supportsARIAFlowTo() || supportsARIAOwns();
+ return supportsARIALiveRegion()
+ || supportsARIADragging()
+ || supportsARIADropping()
+ || supportsARIAFlowTo()
+ || supportsARIAOwns()
+ || hasAttribute(aria_labelAttr);
}
bool AccessibilityObject::supportsARIALiveRegion() const
@@ -1534,6 +1561,14 @@ AccessibilitySortDirection AccessibilityObject::sortDirection() const
return SortDirectionNone;
}
+
+bool AccessibilityObject::supportsRangeValue() const
+{
+ return isProgressIndicator()
+ || isSlider()
+ || isScrollbar()
+ || isSpinButton();
+}
bool AccessibilityObject::supportsARIAExpanded() const
{
diff --git a/Source/WebCore/accessibility/AccessibilityObject.h b/Source/WebCore/accessibility/AccessibilityObject.h
index ea77ae48b..ca63f3f1d 100644
--- a/Source/WebCore/accessibility/AccessibilityObject.h
+++ b/Source/WebCore/accessibility/AccessibilityObject.h
@@ -31,6 +31,7 @@
#define AccessibilityObject_h
#include "FloatQuad.h"
+#include "FractionalLayoutRect.h"
#include "LayoutTypes.h"
#include "VisiblePosition.h"
#include "VisibleSelection.h"
@@ -103,6 +104,7 @@ enum AccessibilityRole {
BrowserRole,
BusyIndicatorRole,
ButtonRole,
+ CanvasRole,
CellRole,
CheckBoxRole,
ColorWellRole,
@@ -128,6 +130,7 @@ enum AccessibilityRole {
GrowAreaRole,
HeadingRole,
HelpTagRole,
+ HorizontalRuleRole,
IgnoredRole,
ImageRole,
ImageMapRole,
@@ -364,7 +367,7 @@ public:
virtual bool isMenuList() const { return false; }
virtual bool isMenuListPopup() const { return false; }
virtual bool isMenuListOption() const { return false; }
- virtual bool isSpinButton() const { return false; }
+ virtual bool isSpinButton() const { return roleValue() == SpinButtonRole; }
virtual bool isSpinButtonPart() const { return false; }
virtual bool isMockObject() const { return false; }
bool isTextControl() const { return roleValue() == TextAreaRole || roleValue() == TextFieldRole; }
@@ -380,6 +383,7 @@ public:
bool isListItem() const { return roleValue() == ListItemRole; }
bool isCheckboxOrRadio() const { return isCheckbox() || isRadioButton(); }
bool isScrollView() const { return roleValue() == ScrollAreaRole; }
+ bool isCanvas() const { return roleValue() == CanvasRole; }
bool isBlockquote() const;
bool isLandmark() const;
@@ -457,6 +461,8 @@ public:
virtual const AtomicString& invalidStatus() const;
bool supportsARIAExpanded() const;
AccessibilitySortDirection sortDirection() const;
+ virtual bool canvasHasFallbackContent() const { return false; }
+ bool supportsRangeValue() const;
// ARIA drag and drop
virtual bool supportsARIADropping() const { return false; }
@@ -582,8 +588,10 @@ public:
virtual void handleAriaExpandedChanged() { }
bool isDescendantOfObject(const AccessibilityObject*) const;
bool isAncestorOfObject(const AccessibilityObject*) const;
+ AccessibilityObject* firstAnonymousBlockChild() const;
static AccessibilityRole ariaRoleToWebCoreRole(const String&);
+ bool hasAttribute(const QualifiedName&) const;
const AtomicString& getAttribute(const QualifiedName&) const;
virtual VisiblePositionRange visiblePositionRange() const { return VisiblePositionRange(); }
diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
index 7fa5d3bb6..87e2f8179 100644
--- a/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.cpp
@@ -1156,8 +1156,7 @@ AccessibilityButtonState AccessibilityRenderObject::checkboxOrRadioValue() const
String AccessibilityRenderObject::valueDescription() const
{
- // Only sliders and progress bars support value descriptions currently.
- if (!isProgressIndicator() && !isSlider())
+ if (!isARIARange())
return String();
return getAttribute(aria_valuetextAttr).string();
@@ -1167,10 +1166,18 @@ float AccessibilityRenderObject::stepValueForRange() const
{
return getAttribute(stepAttr).toFloat();
}
+
+bool AccessibilityRenderObject::isARIARange() const
+{
+ return m_ariaRole == ProgressIndicatorRole
+ || m_ariaRole == SliderRole
+ || m_ariaRole == ScrollBarRole
+ || m_ariaRole == SpinButtonRole;
+}
float AccessibilityRenderObject::valueForRange() const
{
- if (!isProgressIndicator() && !isSlider() && !isScrollbar())
+ if (!isARIARange())
return 0.0f;
return getAttribute(aria_valuenowAttr).toFloat();
@@ -1178,7 +1185,7 @@ float AccessibilityRenderObject::valueForRange() const
float AccessibilityRenderObject::maxValueForRange() const
{
- if (!isProgressIndicator() && !isSlider())
+ if (!isARIARange())
return 0.0f;
return getAttribute(aria_valuemaxAttr).toFloat();
@@ -1186,7 +1193,7 @@ float AccessibilityRenderObject::maxValueForRange() const
float AccessibilityRenderObject::minValueForRange() const
{
- if (!isProgressIndicator() && !isSlider())
+ if (!isARIARange())
return 0.0f;
return getAttribute(aria_valueminAttr).toFloat();
@@ -1398,10 +1405,15 @@ String AccessibilityRenderObject::title() const
default:
break;
}
-
+
if (isHeading() || isLink())
return textUnderElement();
-
+
+ // If it's focusable but it's not content editable or a known control type, then it will appear to
+ // the user as a single atomic object, so we should use its text as the default title.
+ if (isGenericFocusableElement())
+ return textUnderElement();
+
return String();
}
@@ -1487,7 +1499,7 @@ String AccessibilityRenderObject::accessibilityDescription() const
return ariaDescription;
Node* node = m_renderer->node();
- if (isImage() || isInputImage() || isNativeImage()) {
+ if (isImage() || isInputImage() || isNativeImage() || isCanvas()) {
if (node && node->isHTMLElement()) {
const AtomicString& alt = toHTMLElement(node)->getAttribute(altAttr);
if (alt.isEmpty())
@@ -1938,12 +1950,8 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
// Anything that is content editable should not be ignored.
// However, one cannot just call node->rendererIsEditable() since that will ask if its parents
// are also editable. Only the top level content editable region should be exposed.
- if (node && node->isElementNode()) {
- Element* element = static_cast<Element*>(node);
- const AtomicString& contentEditable = element->getAttribute(contenteditableAttr);
- if (equalIgnoringCase(contentEditable, "true"))
- return false;
- }
+ if (hasContentEditableAttributeSet())
+ return false;
// List items play an important role in defining the structure of lists. They should not be ignored.
if (roleValue() == ListItemRole)
@@ -1952,8 +1960,17 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
// if this element has aria attributes on it, it should not be ignored.
if (supportsARIAAttributes())
return false;
+
+ // <span> tags are inline tags and not meant to convey information if they have no other aria
+ // information on them. If we don't ignore them, they may emit signals expected to come from
+ // their parent. In addition, because included spans are GroupRole objects, and GroupRole
+ // objects are often containers with meaningful information, the inclusion of a span can have
+ // the side effect of causing the immediate parent accessible to be ignored. This is especially
+ // problematic for platforms which have distinct roles for textual block elements.
+ if (node && node->hasTagName(spanTag))
+ return true;
- if (m_renderer->isBlockFlow() && m_renderer->childrenInline())
+ if (m_renderer->isBlockFlow() && m_renderer->childrenInline() && !canSetFocusAttribute())
return !toRenderBlock(m_renderer)->firstLineBox() && !mouseButtonListener();
// ignore images seemingly used as spacers
@@ -1974,13 +1991,6 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
return true;
}
- if (node && node->hasTagName(canvasTag)) {
- RenderHTMLCanvas* canvas = toRenderHTMLCanvas(m_renderer);
- if (canvas->height() <= 1 || canvas->width() <= 1)
- return true;
- return false;
- }
-
if (isNativeImage()) {
// check for one-dimensional image
RenderImage* image = toRenderImage(m_renderer);
@@ -1995,7 +2005,16 @@ bool AccessibilityRenderObject::accessibilityIsIgnored() const
}
return false;
}
-
+
+ if (isCanvas()) {
+ if (canvasHasFallbackContent())
+ return false;
+ RenderHTMLCanvas* canvas = toRenderHTMLCanvas(m_renderer);
+ if (canvas->height() <= 1 || canvas->width() <= 1)
+ return true;
+ // Otherwise fall through; use presence of help text, title, or description to decide.
+ }
+
if (isWebArea() || m_renderer->isListMarker())
return false;
@@ -3118,6 +3137,35 @@ bool AccessibilityRenderObject::isDescendantOfElementType(const QualifiedName& t
}
return false;
}
+
+bool AccessibilityRenderObject::isGenericFocusableElement() const
+{
+ if (!canSetFocusAttribute())
+ return false;
+
+ // If it's a control, it's not generic.
+ if (isControl())
+ return false;
+
+ // If it has an aria role, it's not generic.
+ if (m_ariaRole != UnknownRole)
+ return false;
+
+ // If the content editable attribute is set on this element, that's the reason
+ // it's focusable, and existing logic should handle this case already - so it's not a
+ // generic focusable element.
+ if (hasContentEditableAttributeSet())
+ return false;
+
+ // The web area and body element are both focusable, but existing logic handles these
+ // cases already, so we don't need to include them here.
+ if (roleValue() == WebAreaRole)
+ return false;
+ if (node() && node()->hasTagName(bodyTag))
+ return false;
+
+ return true;
+}
AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
{
@@ -3152,7 +3200,7 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
return ImageRole;
}
if (node && node->hasTagName(canvasTag))
- return ImageRole;
+ return CanvasRole;
if (cssBox && cssBox->isRenderView())
return WebAreaRole;
@@ -3211,10 +3259,9 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
// Table sections should be ignored.
if (m_renderer->isTableSection())
return IgnoredRole;
-
-#if PLATFORM(GTK)
+
if (m_renderer->isHR())
- return SplitterRole;
+ return HorizontalRuleRole;
if (node && node->hasTagName(pTag))
return ParagraphRole;
@@ -3227,10 +3274,6 @@ AccessibilityRole AccessibilityRenderObject::determineAccessibilityRole()
if (node && node->hasTagName(formTag))
return FormRole;
-#else
- if (node && node->hasTagName(labelTag))
- return GroupRole;
-#endif
if (node && node->hasTagName(articleTag))
return DocumentArticleRole;
@@ -3339,6 +3382,7 @@ bool AccessibilityRenderObject::ariaRoleHasPresentationalChildren() const
case SliderRole:
case ImageRole:
case ProgressIndicatorRole:
+ case SpinButtonRole:
// case SeparatorRole:
return true;
default:
@@ -3397,10 +3441,6 @@ bool AccessibilityRenderObject::canHaveChildren() const
if (!m_renderer)
return false;
- // Canvas is a special case; its role is ImageRole but it is allowed to have children.
- if (node() && node()->hasTagName(canvasTag))
- return true;
-
// Elements that should not have children
switch (roleValue()) {
case ImageRole:
diff --git a/Source/WebCore/accessibility/AccessibilityRenderObject.h b/Source/WebCore/accessibility/AccessibilityRenderObject.h
index 288a9422c..074c617ad 100644
--- a/Source/WebCore/accessibility/AccessibilityRenderObject.h
+++ b/Source/WebCore/accessibility/AccessibilityRenderObject.h
@@ -300,6 +300,9 @@ private:
bool renderObjectIsObservable(RenderObject*) const;
RenderObject* renderParentObject() const;
bool isDescendantOfElementType(const QualifiedName& tagName) const;
+ // This returns true if it's focusable but it's not content editable and it's not a control or ARIA control.
+ bool isGenericFocusableElement() const;
+ bool isARIARange() const;
void addTextFieldChildren();
void addImageMapChildren();
diff --git a/Source/WebCore/accessibility/AccessibilitySlider.cpp b/Source/WebCore/accessibility/AccessibilitySlider.cpp
index 7a0abd03d..53143e061 100644
--- a/Source/WebCore/accessibility/AccessibilitySlider.cpp
+++ b/Source/WebCore/accessibility/AccessibilitySlider.cpp
@@ -177,7 +177,7 @@ LayoutRect AccessibilitySliderThumb::elementRect() const
RenderObject* sliderRenderer = m_parent->renderer();
if (!sliderRenderer || !sliderRenderer->isSlider())
return LayoutRect();
- return sliderThumbElementOf(sliderRenderer->node())->getRect();
+ return sliderThumbElementOf(sliderRenderer->node())->boundingBox();
}
bool AccessibilitySliderThumb::accessibilityIsIgnored() const
diff --git a/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp b/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp
index 0054f1619..949c3833d 100644
--- a/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp
+++ b/Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp
@@ -81,11 +81,16 @@ static void notifyChildrenSelectionChange(AccessibilityObject* object)
if (!object || !(object->isListBox() || object->isMenuList()))
return;
+ // Only support HTML select elements so far (ARIA selectors not supported).
+ Node* node = object->node();
+ if (!node || !node->hasTagName(HTMLNames::selectTag))
+ return;
+
// Emit signal from the listbox's point of view first.
g_signal_emit_by_name(object->wrapper(), "selection-changed");
// Find the item where the selection change was triggered from.
- HTMLSelectElement* select = toHTMLSelectElement(object->node());
+ HTMLSelectElement* select = toHTMLSelectElement(node);
if (!select)
return;
int changedItemIndex = select->activeSelectionStartListIndex();
diff --git a/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp b/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
index 39f48883e..4cf6979bb 100644
--- a/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
+++ b/Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp
@@ -41,7 +41,7 @@ AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesO
return DefaultBehavior;
AccessibilityRole role = roleValue();
- if (role == SplitterRole)
+ if (role == HorizontalRuleRole)
return IncludeObject;
// We expose the slider as a whole but not its value indicator.
@@ -78,6 +78,36 @@ AccessibilityObjectInclusion AccessibilityObject::accessibilityPlatformIncludesO
if (role == UnknownRole)
return IgnoreObject;
+ // Given a paragraph or div containing a non-nested anonymous block, WebCore
+ // ignores the paragraph or div and includes the block. We want the opposite:
+ // ATs are expecting accessible objects associated with textual elements. They
+ // usually have no need for the anonymous block. And when the wrong objects
+ // get included or ignored, needed accessibility signals do not get emitted.
+ if (role == ParagraphRole || role == DivRole) {
+ AccessibilityObject* child = firstAnonymousBlockChild();
+ if (!child)
+ return DefaultBehavior;
+
+ child = child->firstChild();
+ if (child->isLink() || !child->firstAnonymousBlockChild())
+ return IncludeObject;
+ }
+
+ // Block spans result in objects of ATK_ROLE_PANEL which are almost always unwanted.
+ // However, if we ignore block spans whose parent is the body, the child controls
+ // will become immediate children of the ATK_ROLE_DOCUMENT_FRAME and any text will
+ // become text within the document frame itself. This ultimately may be what we want
+ // and would largely be consistent with what we see from Gecko. However, ignoring
+ // spans whose parent is the body changes the current behavior we see from WebCore.
+ // Until we have sufficient time to properly analyze these cases, we will defer to
+ // WebCore. We only check that the parent is not aria because we do not expect
+ // anonymous blocks which are aria-related to themselves have an aria role, nor
+ // have we encountered instances where the parent of an anonymous block also lacked
+ // an aria role but the grandparent had one.
+ if (renderer() && renderer()->isAnonymousBlock() && !parent->renderer()->isBody()
+ && parent->ariaRoleAttribute() == UnknownRole)
+ return IgnoreObject;
+
return DefaultBehavior;
}
diff --git a/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp b/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp
index 691d32e34..a293d41fd 100644
--- a/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp
+++ b/Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp
@@ -537,7 +537,9 @@ static gchar* webkitAccessibleTextGetText(AtkText* text, gint startOffset, gint
if (!ret.length()) {
// This can happen at least with anonymous RenderBlocks (e.g. body text amongst paragraphs)
- ret = String(textForObject(coreObject));
+ // In such instances, there may also be embedded objects. The object replacement character
+ // is something ATs want included and we have to account for the fact that it is multibyte.
+ ret = String::fromUTF8(textForObject(coreObject));
if (!end)
end = ret.length();
}
diff --git a/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp b/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
index f7f9f6ee8..ec990376f 100644
--- a/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
+++ b/Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp
@@ -476,7 +476,7 @@ static AtkRole atkRole(AccessibilityRole role)
case SplitGroupRole:
return ATK_ROLE_SPLIT_PANE;
case SplitterRole:
- return ATK_ROLE_SEPARATOR;
+ return ATK_ROLE_UNKNOWN;
case ColorWellRole:
return ATK_ROLE_COLOR_CHOOSER;
case ListRole:
@@ -524,6 +524,10 @@ static AtkRole atkRole(AccessibilityRole role)
return ATK_ROLE_SECTION;
case FormRole:
return ATK_ROLE_FORM;
+ case CanvasRole:
+ return ATK_ROLE_CANVAS;
+ case HorizontalRuleRole:
+ return ATK_ROLE_SEPARATOR;
default:
return ATK_ROLE_UNKNOWN;
}
@@ -819,7 +823,7 @@ static GType GetAtkInterfaceTypeFromWAIType(WAIType type)
static bool roleIsTextType(AccessibilityRole role)
{
- return role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole;
+ return role == ParagraphRole || role == HeadingRole || role == DivRole || role == CellRole || role == ListItemRole;
}
static guint16 getInterfaceMaskFromObject(AccessibilityObject* coreObject)
diff --git a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm b/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm
index 6f5e75161..b509dacd1 100644
--- a/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm
+++ b/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapper.mm
@@ -1578,7 +1578,8 @@ static const AccessibilityRoleMap& createAccessibilityRoleMap()
{ FormRole, NSAccessibilityGroupRole },
{ SpinButtonRole, NSAccessibilityIncrementorRole },
{ FooterRole, NSAccessibilityGroupRole },
- { ToggleButtonRole, NSAccessibilityButtonRole }
+ { ToggleButtonRole, NSAccessibilityButtonRole },
+ { CanvasRole, NSAccessibilityImageRole }
};
AccessibilityRoleMap& roleMap = *new AccessibilityRoleMap;
@@ -1599,7 +1600,10 @@ static NSString* roleValueToNSString(AccessibilityRole value)
{
if (m_object->isAttachment())
return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityRoleAttribute];
- NSString* string = roleValueToNSString(m_object->roleValue());
+ AccessibilityRole role = m_object->roleValue();
+ if (role == CanvasRole && m_object->canvasHasFallbackContent())
+ role = GroupRole;
+ NSString* string = roleValueToNSString(role);
if (string != nil)
return string;
return NSAccessibilityUnknownRole;
@@ -1995,7 +1999,7 @@ static NSString* roleValueToNSString(AccessibilityRole value)
if ([[[self attachmentView] accessibilityAttributeNames] containsObject:NSAccessibilityValueAttribute])
return [[self attachmentView] accessibilityAttributeValue:NSAccessibilityValueAttribute];
}
- if (m_object->isProgressIndicator() || m_object->isSlider() || m_object->isScrollbar())
+ if (m_object->supportsRangeValue())
return [NSNumber numberWithFloat:m_object->valueForRange()];
if (m_object->roleValue() == SliderThumbRole)
return [NSNumber numberWithFloat:m_object->parentObject()->valueForRange()];
diff --git a/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp b/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
index da7849dda..32cd06e4a 100644
--- a/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
+++ b/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.cpp
@@ -50,7 +50,6 @@ bool RuntimeEnabledFeatures::isDataTransferItemsEnabled = true;
bool RuntimeEnabledFeatures::isGeolocationEnabled = true;
bool RuntimeEnabledFeatures::isIndexedDBEnabled = false;
bool RuntimeEnabledFeatures::isWebAudioEnabled = false;
-bool RuntimeEnabledFeatures::isPushStateEnabled = false;
bool RuntimeEnabledFeatures::isTouchEnabled = true;
bool RuntimeEnabledFeatures::isDeviceMotionEnabled = true;
bool RuntimeEnabledFeatures::isDeviceOrientationEnabled = true;
@@ -175,7 +174,7 @@ bool RuntimeEnabledFeatures::isMediaSourceEnabled = false;
#endif
#if ENABLE(VIDEO_TRACK)
-#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(EFL)
+#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(EFL) || PLATFORM(CHROMIUM)
bool RuntimeEnabledFeatures::isVideoTrackEnabled = true;
#else
bool RuntimeEnabledFeatures::isVideoTrackEnabled = false;
diff --git a/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h b/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
index c68c3a80e..f21e81291 100644
--- a/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
+++ b/Source/WebCore/bindings/generic/RuntimeEnabledFeatures.h
@@ -129,10 +129,6 @@ public:
static bool webkitAudioContextEnabled() { return isWebAudioEnabled; }
#endif
- static void setPushStateEnabled(bool isEnabled) { isPushStateEnabled = isEnabled; }
- static bool pushStateEnabled() { return isPushStateEnabled; }
- static bool replaceStateEnabled() { return isPushStateEnabled; }
-
#if ENABLE(TOUCH_EVENTS)
static bool touchEnabled() { return isTouchEnabled; }
static void setTouchEnabled(bool isEnabled) { isTouchEnabled = isEnabled; }
@@ -276,7 +272,6 @@ private:
static bool isGeolocationEnabled;
static bool isIndexedDBEnabled;
static bool isWebAudioEnabled;
- static bool isPushStateEnabled;
static bool isTouchEnabled;
static bool isDeviceMotionEnabled;
static bool isDeviceOrientationEnabled;
diff --git a/Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp b/Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp
index 67375e488..181fc2aa3 100644
--- a/Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp
+++ b/Source/WebCore/bindings/gobject/ConvertToUTF8String.cpp
@@ -22,8 +22,8 @@
#include "ConvertToUTF8String.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <glib.h>
diff --git a/Source/WebCore/bindings/gobject/GNUmakefile.am b/Source/WebCore/bindings/gobject/GNUmakefile.am
index 2db3ad3e7..443bdf692 100644
--- a/Source/WebCore/bindings/gobject/GNUmakefile.am
+++ b/Source/WebCore/bindings/gobject/GNUmakefile.am
@@ -39,6 +39,7 @@ webkitgtk_gdom_built_sources += \
DerivedSources/webkit/WebKitDOMDOMMimeTypeArrayPrivate.h \
DerivedSources/webkit/WebKitDOMDOMMimeType.cpp \
DerivedSources/webkit/WebKitDOMDOMMimeTypePrivate.h \
+ DerivedSources/webkit/WebKitDOMDOMNamedFlowCollection.cpp \
DerivedSources/webkit/WebKitDOMDOMPluginArray.cpp \
DerivedSources/webkit/WebKitDOMDOMPluginArrayPrivate.h \
DerivedSources/webkit/WebKitDOMDOMPlugin.cpp \
@@ -281,6 +282,7 @@ webkitgtk_built_h_api += \
DerivedSources/webkit/WebKitDOMDocumentFragment.h \
DerivedSources/webkit/WebKitDOMDocumentType.h \
DerivedSources/webkit/WebKitDOMDOMImplementation.h \
+ DerivedSources/webkit/WebKitDOMDOMNamedFlowCollection.h \
DerivedSources/webkit/WebKitDOMDOMSettableTokenList.h \
DerivedSources/webkit/WebKitDOMDOMSecurityPolicy.h \
DerivedSources/webkit/WebKitDOMDOMStringList.h \
@@ -432,17 +434,6 @@ webkitgtk_gdom_built_sources += \
DerivedSources/webkit/WebKitDOMTrackEventPrivate.h
endif
-if ENABLE_MICRODATA
-webkitgtk_built_h_api += \
- $(top_builddir)/DerivedSources/webkit/WebKitDOMHTMLPropertiesCollection.h \
- $(top_builddir)/DerivedSources/webkit/WebKitDOMPropertyNodeList.h
-webkitgtk_gdom_built_sources += \
- DerivedSources/webkit/WebKitDOMHTMLPropertiesCollection.cpp \
- DerivedSources/webkit/WebKitDOMHTMLPropertiesCollectionPrivate.h \
- DerivedSources/webkit/WebKitDOMPropertyNodeList.cpp \
- DerivedSources/webkit/WebKitDOMPropertyNodeListPrivate.h
-endif
-
if ENABLE_WEB_TIMING
webkitgtk_built_h_api += \
$(top_builddir)/DerivedSources/webkit/WebKitDOMPerformance.h \
@@ -483,6 +474,6 @@ $(top_builddir)/DerivedSources/webkit/WebKitDOMCustom.h: $(WebCore)/bindings/gob
$(AM_V_GEN)cp -f $< $@
# Filter out SVG and IndexedDB for now
-gdom_feature_defines := $(filter-out ENABLE_INDEXED_DATABASE=1, $(filter-out ENABLE_SVG%, $(FEATURE_DEFINES))) ENABLE_INDEXED_DATABASE=0
+gdom_feature_defines := $(filter-out ENABLE_INDEXED_DATABASE=1, $(filter-out ENABLE_SVG%, $(feature_defines))) ENABLE_INDEXED_DATABASE=0
DerivedSources/webkit/WebKitDOM%.cpp DerivedSources/webkit/WebKitDOM%.h DerivedSources/webkit/WebKitDOM%Private.h: %.idl $(SCRIPTS_FOR_GENERATE_BINDINGS) $(WebCore)/bindings/scripts/CodeGeneratorGObject.pm $(WebCore)/bindings/gobject/GNUmakefile.am $(supplemental_dependency_file)
$(AM_V_GEN)$(PERL) -I$(WebCore)/bindings/scripts $(WebCore)/bindings/scripts/generate-bindings.pl --include $(WebCore)/dom --include $(WebCore)/html --include $(WebCore)/css --include $(WebCore)/page --include $(WebCore)/xml --include $(WebCore)/svg --outputDir "$(GENSOURCES_WEBKIT)" --defines "LANGUAGE_GOBJECT=1 $(gdom_feature_defines)" --generator GObject --supplementalDependencyFile $(supplemental_dependency_file) $<
diff --git a/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp b/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp
index 68aa9fba2..6659785df 100644
--- a/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp
+++ b/Source/WebCore/bindings/gobject/WebKitDOMCustom.cpp
@@ -69,6 +69,31 @@ webkit_dom_webkit_named_flow_get_overflow(WebKitDOMWebKitNamedFlow* flow)
return webkit_dom_webkit_named_flow_get_overset(flow);
}
+WebKitDOMDOMTokenList*
+webkit_dom_html_element_get_class_list(WebKitDOMHTMLElement* element)
+{
+ return webkit_dom_element_get_class_list(WEBKIT_DOM_ELEMENT(element));
+}
+
+gchar*
+webkit_dom_element_get_webkit_region_overflow(WebKitDOMElement* element)
+{
+ return webkit_dom_element_get_webkit_region_overset(element);
+}
+
+WebKitDOMNodeList*
+webkit_dom_webkit_named_flow_get_content_nodes(WebKitDOMWebKitNamedFlow* namedFlow)
+{
+ return webkit_dom_webkit_named_flow_get_content(namedFlow);
+
+}
+
+WebKitDOMNodeList*
+webkit_dom_webkit_named_flow_get_regions_by_content_node(WebKitDOMWebKitNamedFlow* namedFlow, WebKitDOMNode* contentNode)
+{
+ return webkit_dom_webkit_named_flow_get_regions_by_content(namedFlow, contentNode);
+}
+
void
webkit_dom_html_form_element_dispatch_form_change(WebKitDOMHTMLFormElement* self)
{
diff --git a/Source/WebCore/bindings/gobject/WebKitDOMCustom.h b/Source/WebCore/bindings/gobject/WebKitDOMCustom.h
index c81be3909..d5ee3b526 100644
--- a/Source/WebCore/bindings/gobject/WebKitDOMCustom.h
+++ b/Source/WebCore/bindings/gobject/WebKitDOMCustom.h
@@ -36,6 +36,9 @@ WEBKIT_API WebKitDOMDOMTokenList* webkit_dom_html_element_get_class_list(WebKitD
WEBKIT_API void webkit_dom_html_form_element_dispatch_form_change(WebKitDOMHTMLFormElement* self);
WEBKIT_API void webkit_dom_html_form_element_dispatch_form_input(WebKitDOMHTMLFormElement* self);
WEBKIT_API gboolean webkit_dom_webkit_named_flow_get_overflow(WebKitDOMWebKitNamedFlow* flow);
+WEBKIT_API gchar* webkit_dom_element_get_webkit_region_overflow(WebKitDOMElement* element);
+WEBKIT_API WebKitDOMNodeList* webkit_dom_webkit_named_flow_get_content_nodes(WebKitDOMWebKitNamedFlow* namedFlow);
+WEBKIT_API WebKitDOMNodeList* webkit_dom_webkit_named_flow_get_regions_by_content_node(WebKitDOMWebKitNamedFlow* namedFlow, WebKitDOMNode* contentNode);
G_END_DECLS
diff --git a/Source/WebCore/bindings/js/CachedScriptSourceProvider.h b/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
index 8efb48175..0dd3cf577 100644
--- a/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
+++ b/Source/WebCore/bindings/js/CachedScriptSourceProvider.h
@@ -29,7 +29,6 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedScript.h"
-#include "JSDOMBinding.h" // for stringToUString
#include "ScriptSourceProvider.h"
#include <parser/SourceCode.h>
@@ -45,14 +44,14 @@ namespace WebCore {
m_cachedScript->removeClient(this);
}
- virtual JSC::UString getRange(int start, int end) const OVERRIDE
+ virtual String getRange(int start, int end) const OVERRIDE
{
int length = end - start;
ASSERT(length >= 0);
ASSERT(start + length <= this->length());
String script = m_cachedScript->script();
- return JSC::UString(StringImpl::create(script.impl(), start, length));
+ return String(StringImpl::create(script.impl(), start, length));
}
const StringImpl* data() const { return m_cachedScript->script().impl(); }
@@ -66,7 +65,7 @@ namespace WebCore {
private:
CachedScriptSourceProvider(CachedScript* cachedScript)
- : ScriptSourceProvider(stringToUString(cachedScript->response().url()), TextPosition::minimumPosition(), cachedScript->sourceProviderCache())
+ : ScriptSourceProvider(cachedScript->response().url(), TextPosition::minimumPosition(), cachedScript->sourceProviderCache())
, m_cachedScript(cachedScript)
{
m_cachedScript->addClient(this);
diff --git a/Source/WebCore/bindings/js/Dictionary.cpp b/Source/WebCore/bindings/js/Dictionary.cpp
index ba960dc82..5c81f2025 100644
--- a/Source/WebCore/bindings/js/Dictionary.cpp
+++ b/Source/WebCore/bindings/js/Dictionary.cpp
@@ -54,7 +54,7 @@ JSObject* Dictionary::asJSObject<Notification>(Notification* object) const
}
#endif
-bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& map) const
+bool Dictionary::getOwnPropertiesAsStringHashMap(HashMap<String, String>& map) const
{
if (!m_dictionary.isValid())
return false;
@@ -65,13 +65,13 @@ bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& m
PropertyNameArray propertyNames(exec);
JSObject::getOwnPropertyNames(object, exec, propertyNames, ExcludeDontEnumProperties);
for (PropertyNameArray::const_iterator it = propertyNames.begin(); it != propertyNames.end(); it++) {
- String stringKey = ustringToString(it->ustring());
+ String stringKey = it->string();
if (stringKey.isEmpty())
continue;
JSValue value = object->get(exec, *it);
if (exec->hadException())
continue;
- String stringValue = ustringToString(value.toString(exec)->value(exec));
+ String stringValue = value.toString(exec)->value(exec);
if (!exec->hadException())
map.set(stringKey, stringValue);
}
@@ -79,6 +79,25 @@ bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& m
return true;
}
+bool Dictionary::getOwnPropertyNames(Vector<String>& names) const
+{
+ if (!m_dictionary.isValid())
+ return false;
+
+ JSObject* object = m_dictionary.initializerObject();
+ ExecState* exec = m_dictionary.execState();
+
+ PropertyNameArray propertyNames(exec);
+ JSObject::getOwnPropertyNames(object, exec, propertyNames, ExcludeDontEnumProperties);
+ for (PropertyNameArray::const_iterator it = propertyNames.begin(); it != propertyNames.end(); it++) {
+ String stringKey = it->string();
+ if (!stringKey.isEmpty())
+ names.append(stringKey);
+ }
+
+ return true;
+}
+
bool Dictionary::getWithUndefinedOrNullCheck(const String& propertyName, String& value) const
{
return m_dictionary.getWithUndefinedOrNullCheck(propertyName, value);
diff --git a/Source/WebCore/bindings/js/Dictionary.h b/Source/WebCore/bindings/js/Dictionary.h
index 1cbd7d955..94da878ff 100644
--- a/Source/WebCore/bindings/js/Dictionary.h
+++ b/Source/WebCore/bindings/js/Dictionary.h
@@ -60,7 +60,8 @@ public:
bool isObject() const { return m_dictionary.isValid(); }
bool isUndefinedOrNull() const { return !m_dictionary.isValid(); }
- bool getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>&) const;
+ bool getOwnPropertiesAsStringHashMap(HashMap<String, String>&) const;
+ bool getOwnPropertyNames(Vector<String>&) const;
bool getWithUndefinedOrNullCheck(const String& propertyName, String& value) const;
private:
diff --git a/Source/WebCore/bindings/js/GCController.cpp b/Source/WebCore/bindings/js/GCController.cpp
index 79509687f..85272a8f1 100644
--- a/Source/WebCore/bindings/js/GCController.cpp
+++ b/Source/WebCore/bindings/js/GCController.cpp
@@ -49,7 +49,7 @@ GCController& gcController()
}
GCController::GCController()
-#if !USE(CF)
+#if !USE(CF) && !PLATFORM(BLACKBERRY)
: m_GCTimer(this, &GCController::gcTimerFired)
#endif
{
@@ -62,7 +62,7 @@ void GCController::garbageCollectSoon()
// systems with CoreFoundation. If and when the notion of a run loop is pushed
// down into WTF so that more platforms can take advantage of it, we will be
// able to use reportAbandonedObjectGraph on more platforms.
-#if USE(CF)
+#if USE(CF) || PLATFORM(BLACKBERRY)
JSLockHolder lock(JSDOMWindow::commonJSGlobalData());
JSDOMWindow::commonJSGlobalData()->heap.reportAbandonedObjectGraph();
#else
@@ -71,7 +71,7 @@ void GCController::garbageCollectSoon()
#endif
}
-#if !USE(CF)
+#if !USE(CF) && !PLATFORM(BLACKBERRY)
void GCController::gcTimerFired(Timer<GCController>*)
{
collect(0);
diff --git a/Source/WebCore/bindings/js/GCController.h b/Source/WebCore/bindings/js/GCController.h
index 40c8a7da9..3479b4de7 100644
--- a/Source/WebCore/bindings/js/GCController.h
+++ b/Source/WebCore/bindings/js/GCController.h
@@ -26,7 +26,7 @@
#ifndef GCController_h
#define GCController_h
-#if USE(CF)
+#if USE(CF) || PLATFORM(BLACKBERRY)
#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
#else
@@ -50,7 +50,7 @@ namespace WebCore {
private:
GCController(); // Use gcController() instead
-#if !USE(CF)
+#if !USE(CF) && !PLATFORM(BLACKBERRY)
void gcTimerFired(Timer<GCController>*);
Timer<GCController> m_GCTimer;
#endif
diff --git a/Source/WebCore/bindings/js/IDBBindingUtilities.cpp b/Source/WebCore/bindings/js/IDBBindingUtilities.cpp
index cdc0c4884..b55e76bbd 100644
--- a/Source/WebCore/bindings/js/IDBBindingUtilities.cpp
+++ b/Source/WebCore/bindings/js/IDBBindingUtilities.cpp
@@ -39,7 +39,7 @@ PassRefPtr<IDBKey> createIDBKeyFromValue(JSC::ExecState* exec, JSC::JSValue valu
if (value.isInt32())
return IDBKey::createNumber(value.toNumber(exec));
if (value.isString())
- return IDBKey::createString(ustringToString(value.toString(exec)->value(exec)));
+ return IDBKey::createString(value.toString(exec)->value(exec));
// FIXME: Implement dates.
return 0;
}
diff --git a/Source/WebCore/bindings/js/JSAttrCustom.cpp b/Source/WebCore/bindings/js/JSAttrCustom.cpp
index 640edf139..31ad5c204 100644
--- a/Source/WebCore/bindings/js/JSAttrCustom.cpp
+++ b/Source/WebCore/bindings/js/JSAttrCustom.cpp
@@ -45,8 +45,8 @@ void JSAttr::visitChildren(JSCell* cell, SlotVisitor& visitor)
ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
- Base::visitChildren(thisObject, visitor);
+ Base::visitChildren(thisObject, visitor);
Element* element = thisObject->impl()->ownerElement();
if (!element)
return;
diff --git a/Source/WebCore/bindings/js/JSBlobCustom.cpp b/Source/WebCore/bindings/js/JSBlobCustom.cpp
index 6a9122c2e..3ee618432 100644
--- a/Source/WebCore/bindings/js/JSBlobCustom.cpp
+++ b/Source/WebCore/bindings/js/JSBlobCustom.cpp
@@ -76,7 +76,7 @@ EncodedJSValue JSC_HOST_CALL JSBlobConstructor::constructJSBlob(ExecState* exec)
return throwVMError(exec, createTypeError(exec, "First argument of the constructor is not of type Array"));
String type;
- String endings = "transparent";
+ String endings = ASCIILiteral("transparent");
if (exec->argumentCount() > 1) {
JSValue blobPropertyBagValue = exec->argument(1);
@@ -129,7 +129,7 @@ EncodedJSValue JSC_HOST_CALL JSBlobConstructor::constructJSBlob(ExecState* exec)
if (item.inherits(&JSBlob::s_info))
blobBuilder->append(toBlob(item));
else {
- String string = ustringToString(item.toString(exec)->value(exec));
+ String string = item.toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
blobBuilder->append(string, endings, ASSERT_NO_EXCEPTION);
diff --git a/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp b/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp
index 464e8bb77..646d71cff 100644
--- a/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp
+++ b/Source/WebCore/bindings/js/JSCSSStyleDeclarationCustom.cpp
@@ -33,7 +33,6 @@
#include "HashTools.h"
#include "JSCSSValue.h"
#include "JSNode.h"
-#include "PlatformString.h"
#include "Settings.h"
#include "StylePropertySet.h"
#include <runtime/StringPrototype.h>
@@ -283,7 +282,7 @@ static inline JSValue getPropertyValueFallback(ExecState* exec, JSCSSStyleDeclar
{
// If the property is a shorthand property (such as "padding"),
// it can only be accessed using getPropertyValue.
- return jsString(exec, thisObj->impl()->getPropertyValueInternal(static_cast<CSSPropertyID>(index)));
+ return jsStringWithCache(exec, thisObj->impl()->getPropertyValueInternal(static_cast<CSSPropertyID>(index)));
}
static inline JSValue cssPropertyGetterPixelOrPosPrefix(ExecState* exec, JSCSSStyleDeclaration* thisObj, unsigned propertyID)
@@ -358,7 +357,7 @@ bool JSCSSStyleDeclaration::putDelegate(ExecState* exec, PropertyName propertyNa
String propValue = valueToStringWithNullCheck(exec, value);
if (propertyInfo.hadPixelOrPosPrefix)
- propValue += "px";
+ propValue.append("px");
bool important = false;
if (Settings::shouldRespectPriorityInCSSAttributeSetters()) {
@@ -377,7 +376,7 @@ bool JSCSSStyleDeclaration::putDelegate(ExecState* exec, PropertyName propertyNa
JSValue JSCSSStyleDeclaration::getPropertyCSSValue(ExecState* exec)
{
- const String& propertyName(ustringToString(exec->argument(0).toString(exec)->value(exec)));
+ const String& propertyName = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
diff --git a/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
index 0c674cb6f..026b1ae1d 100644
--- a/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
+++ b/Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
@@ -44,7 +44,7 @@ static JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, CanvasStyl
return toJS(exec, globalObject, style->canvasGradient());
if (style->canvasPattern())
return toJS(exec, globalObject, style->canvasPattern());
- return jsString(exec, style->color());
+ return jsStringWithCache(exec, style->color());
}
static PassRefPtr<CanvasStyle> toHTMLCanvasStyle(ExecState*, JSValue value)
@@ -69,7 +69,7 @@ void JSCanvasRenderingContext2D::setStrokeStyle(ExecState* exec, JSValue value)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
if (value.isString()) {
- context->setStrokeColor(ustringToString(asString(value)->value(exec)));
+ context->setStrokeColor(asString(value)->value(exec));
return;
}
context->setStrokeStyle(toHTMLCanvasStyle(exec, value));
@@ -85,7 +85,7 @@ void JSCanvasRenderingContext2D::setFillStyle(ExecState* exec, JSValue value)
{
CanvasRenderingContext2D* context = static_cast<CanvasRenderingContext2D*>(impl());
if (value.isString()) {
- context->setFillColor(ustringToString(asString(value)->value(exec)));
+ context->setFillColor(asString(value)->value(exec));
return;
}
context->setFillStyle(toHTMLCanvasStyle(exec, value));
diff --git a/Source/WebCore/bindings/js/JSClipboardCustom.cpp b/Source/WebCore/bindings/js/JSClipboardCustom.cpp
index 8cfd65a29..7be8c8dc8 100644
--- a/Source/WebCore/bindings/js/JSClipboardCustom.cpp
+++ b/Source/WebCore/bindings/js/JSClipboardCustom.cpp
@@ -36,11 +36,11 @@
#include "IntPoint.h"
#include "JSNode.h"
#include "Node.h"
-#include "PlatformString.h"
#include <runtime/ArrayPrototype.h>
#include <runtime/Error.h>
#include <wtf/HashSet.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -59,7 +59,7 @@ JSValue JSClipboard::types(ExecState* exec) const
MarkedArgumentBuffer list;
HashSet<String>::const_iterator end = types.end();
for (HashSet<String>::const_iterator it = types.begin(); it != end; ++it)
- list.append(jsString(exec, stringToUString(*it)));
+ list.append(jsStringWithCache(exec, *it));
return constructArray(exec, globalObject(), list);
}
@@ -73,7 +73,7 @@ JSValue JSClipboard::clearData(ExecState* exec)
}
if (exec->argumentCount() == 1) {
- clipboard->clearData(ustringToString(exec->argument(0).toString(exec)->value(exec)));
+ clipboard->clearData(exec->argument(0).toString(exec)->value(exec));
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp b/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
index 847bce4d6..d1dc0b1ce 100644
--- a/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+++ b/Source/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
@@ -87,7 +87,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
RefPtr<JSCustomXPathNSResolver> selfProtector(this);
MarkedArgumentBuffer args;
- args.append(jsString(exec, prefix));
+ args.append(jsStringWithCache(exec, prefix));
m_globalObject->globalData().timeoutChecker.start();
JSValue retval = JSMainThreadExecState::call(exec, function, callType, callData, m_customResolver.get(), args);
@@ -98,7 +98,7 @@ String JSCustomXPathNSResolver::lookupNamespaceURI(const String& prefix)
reportCurrentException(exec);
else {
if (!retval.isUndefinedOrNull())
- result = ustringToString(retval.toString(exec)->value(exec));
+ result = retval.toString(exec)->value(exec);
}
Document::updateStyleForAllDocuments();
diff --git a/Source/WebCore/bindings/js/JSDOMBinding.cpp b/Source/WebCore/bindings/js/JSDOMBinding.cpp
index 6551d6687..fe084ea4d 100644
--- a/Source/WebCore/bindings/js/JSDOMBinding.cpp
+++ b/Source/WebCore/bindings/js/JSDOMBinding.cpp
@@ -48,9 +48,9 @@ const JSC::HashTable* getHashTableForGlobalData(JSGlobalData& globalData, const
return DOMObjectHashTableMap::mapFor(globalData).get(staticTable);
}
-JSValue jsStringSlowCase(ExecState* exec, JSStringCache& stringCache, StringImpl* stringImpl)
+JSValue jsStringWithCacheSlowCase(ExecState* exec, JSStringCache& stringCache, StringImpl* stringImpl)
{
- JSString* wrapper = jsString(exec, UString(stringImpl));
+ JSString* wrapper = JSC::jsString(exec, String(stringImpl));
weakAdd(stringCache, stringImpl, PassWeak<JSString>(wrapper, currentWorld(exec)->stringWrapperOwner(), stringImpl));
return wrapper;
}
@@ -59,40 +59,40 @@ JSValue jsStringOrNull(ExecState* exec, const String& s)
{
if (s.isNull())
return jsNull();
- return jsString(exec, s);
+ return jsStringWithCache(exec, s);
}
JSValue jsOwnedStringOrNull(ExecState* exec, const String& s)
{
if (s.isNull())
return jsNull();
- return jsOwnedString(exec, stringToUString(s));
+ return jsOwnedString(exec, s);
}
JSValue jsStringOrUndefined(ExecState* exec, const String& s)
{
if (s.isNull())
return jsUndefined();
- return jsString(exec, s);
+ return jsStringWithCache(exec, s);
}
JSValue jsString(ExecState* exec, const KURL& url)
{
- return jsString(exec, url.string());
+ return jsStringWithCache(exec, url.string());
}
JSValue jsStringOrNull(ExecState* exec, const KURL& url)
{
if (url.isNull())
return jsNull();
- return jsString(exec, url.string());
+ return jsStringWithCache(exec, url.string());
}
JSValue jsStringOrUndefined(ExecState* exec, const KURL& url)
{
if (url.isNull())
return jsUndefined();
- return jsString(exec, url.string());
+ return jsStringWithCache(exec, url.string());
}
AtomicStringImpl* findAtomicString(PropertyName propertyName)
@@ -108,14 +108,14 @@ String valueToStringWithNullCheck(ExecState* exec, JSValue value)
{
if (value.isNull())
return String();
- return ustringToString(value.toString(exec)->value(exec));
+ return value.toString(exec)->value(exec);
}
String valueToStringWithUndefinedOrNullCheck(ExecState* exec, JSValue value)
{
if (value.isUndefinedOrNull())
return String();
- return ustringToString(value.toString(exec)->value(exec));
+ return value.toString(exec)->value(exec);
}
JSValue jsDateOrNull(ExecState* exec, double value)
@@ -139,7 +139,7 @@ JSC::JSValue jsArray(JSC::ExecState* exec, JSDOMGlobalObject* globalObject, Pass
JSC::MarkedArgumentBuffer list;
if (stringList) {
for (unsigned i = 0; i < stringList->length(); ++i)
- list.append(jsString(exec, stringList->item(i)));
+ list.append(jsStringWithCache(exec, stringList->item(i)));
}
return JSC::constructArray(exec, globalObject, list);
}
@@ -149,14 +149,14 @@ void reportException(ExecState* exec, JSValue exception)
if (isTerminatedExecutionException(exception))
return;
- UString errorMessage = exception.toString(exec)->value(exec);
+ String errorMessage = exception.toString(exec)->value(exec);
JSObject* exceptionObject = exception.toObject(exec);
int lineNumber = exceptionObject->get(exec, Identifier(exec, "line")).toInt32(exec);
- UString exceptionSourceURL = exceptionObject->get(exec, Identifier(exec, "sourceURL")).toString(exec)->value(exec);
+ String exceptionSourceURL = exceptionObject->get(exec, Identifier(exec, "sourceURL")).toString(exec)->value(exec);
exec->clearException();
if (ExceptionBase* exceptionBase = toExceptionBase(exception))
- errorMessage = stringToUString(exceptionBase->message() + ": " + exceptionBase->description());
+ errorMessage = exceptionBase->message() + ": " + exceptionBase->description();
JSDOMGlobalObject* globalObject = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject());
if (JSDOMWindow* window = jsDynamicCast<JSDOMWindow*>(globalObject)) {
@@ -164,7 +164,7 @@ void reportException(ExecState* exec, JSValue exception)
return;
}
ScriptExecutionContext* scriptExecutionContext = globalObject->scriptExecutionContext();
- scriptExecutionContext->reportException(ustringToString(errorMessage), lineNumber, ustringToString(exceptionSourceURL), 0);
+ scriptExecutionContext->reportException(errorMessage, lineNumber, exceptionSourceURL, 0);
}
void reportCurrentException(ExecState* exec)
@@ -221,20 +221,22 @@ bool shouldAllowAccessToFrame(ExecState* exec, Frame* frame, String& message)
{
if (!frame)
return false;
- bool result = BindingSecurity::shouldAllowAccessToFrame(exec, frame, DoNotReportSecurityError);
+ if (BindingSecurity::shouldAllowAccessToFrame(exec, frame, DoNotReportSecurityError))
+ return true;
// FIXME: The following line of code should move somewhere that it can be shared with immediatelyReportUnsafeAccessTo.
message = frame->document()->domWindow()->crossDomainAccessErrorMessage(activeDOMWindow(exec));
- return result;
+ return false;
}
bool shouldAllowAccessToDOMWindow(ExecState* exec, DOMWindow* target, String& message)
{
if (!target)
return false;
- bool result = BindingSecurity::shouldAllowAccessToDOMWindow(exec, target, DoNotReportSecurityError);
+ if (BindingSecurity::shouldAllowAccessToDOMWindow(exec, target, DoNotReportSecurityError))
+ return true;
// FIXME: The following line of code should move somewhere that it can be shared with immediatelyReportUnsafeAccessTo.
message = target->crossDomainAccessErrorMessage(activeDOMWindow(exec));
- return result;
+ return false;
}
void printErrorMessageForFrame(Frame* frame, const String& message)
diff --git a/Source/WebCore/bindings/js/JSDOMBinding.h b/Source/WebCore/bindings/js/JSDOMBinding.h
index 0c3d53748..009b27c3a 100644
--- a/Source/WebCore/bindings/js/JSDOMBinding.h
+++ b/Source/WebCore/bindings/js/JSDOMBinding.h
@@ -233,12 +233,12 @@ enum ParameterDefaultPolicy {
// Convert a DOM implementation exception code into a JavaScript exception in the execution state.
void setDOMException(JSC::ExecState*, ExceptionCode);
- JSC::JSValue jsString(JSC::ExecState*, const String&); // empty if the string is null
- JSC::JSValue jsStringSlowCase(JSC::ExecState*, JSStringCache&, StringImpl*);
+ JSC::JSValue jsStringWithCache(JSC::ExecState*, const String&);
+ JSC::JSValue jsStringWithCacheSlowCase(JSC::ExecState*, JSStringCache&, StringImpl*);
JSC::JSValue jsString(JSC::ExecState*, const KURL&); // empty if the URL is null
- inline JSC::JSValue jsString(JSC::ExecState* exec, const AtomicString& s)
+ inline JSC::JSValue jsStringWithCache(JSC::ExecState* exec, const AtomicString& s)
{
- return jsString(exec, s.string());
+ return jsStringWithCache(exec, s.string());
}
JSC::JSValue jsStringOrNull(JSC::ExecState*, const String&); // null if the string is null
@@ -252,11 +252,8 @@ enum ParameterDefaultPolicy {
JSC::JSValue jsOwnedStringOrNull(JSC::ExecState*, const String&);
String propertyNameToString(JSC::PropertyName);
- String ustringToString(const JSC::UString&);
- JSC::UString stringToUString(const String&);
AtomicString propertyNameToAtomicString(JSC::PropertyName);
- AtomicString ustringToAtomicString(const JSC::UString&);
AtomicStringImpl* findAtomicString(JSC::PropertyName);
String valueToStringWithNullCheck(JSC::ExecState*, JSC::JSValue); // null if the value is null
@@ -317,7 +314,7 @@ enum ParameterDefaultPolicy {
struct JSValueTraits<String> {
static inline JSC::JSValue arrayJSValue(JSC::ExecState* exec, JSDOMGlobalObject*, const String& value)
{
- return jsString(exec, stringToUString(value));
+ return jsStringWithCache(exec, value);
}
};
@@ -358,7 +355,7 @@ enum ParameterDefaultPolicy {
struct NativeValueTraits<String> {
static inline bool arrayNativeValue(JSC::ExecState* exec, JSC::JSValue jsValue, String& indexedValue)
{
- indexedValue = ustringToString(jsValue.toString(exec)->value(exec));
+ indexedValue = jsValue.toString(exec)->value(exec);
return true;
}
};
@@ -409,30 +406,22 @@ enum ParameterDefaultPolicy {
void printErrorMessageForFrame(Frame*, const String& message);
JSC::JSValue objectToStringFunctionGetter(JSC::ExecState*, JSC::JSValue, JSC::PropertyName);
- inline JSC::JSValue jsString(JSC::ExecState* exec, const String& s)
+ inline JSC::JSValue jsStringWithCache(JSC::ExecState* exec, const String& s)
{
StringImpl* stringImpl = s.impl();
if (!stringImpl || !stringImpl->length())
return jsEmptyString(exec);
+ // FIXME: we shouldn't invoke StringImpl::characters().
+ // FIXME: why not just return a SmallStrings when possible?
if (stringImpl->length() == 1 && stringImpl->characters()[0] <= 0xFF)
- return jsString(exec, stringToUString(s));
+ return JSC::jsString(exec, s);
JSStringCache& stringCache = currentWorld(exec)->m_stringCache;
if (JSC::JSString* string = stringCache.get(stringImpl))
return string;
- return jsStringSlowCase(exec, stringCache, stringImpl);
- }
-
- inline String ustringToString(const JSC::UString& u)
- {
- return u.impl();
- }
-
- inline JSC::UString stringToUString(const String& s)
- {
- return JSC::UString(s.impl());
+ return jsStringWithCacheSlowCase(exec, stringCache, stringImpl);
}
inline String propertyNameToString(JSC::PropertyName propertyName)
@@ -440,11 +429,6 @@ enum ParameterDefaultPolicy {
return propertyName.publicName();
}
- inline AtomicString ustringToAtomicString(const JSC::UString& u)
- {
- return AtomicString(u.impl());
- }
-
inline AtomicString propertyNameToAtomicString(JSC::PropertyName propertyName)
{
return AtomicString(propertyName.publicName());
diff --git a/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp b/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp
index 7be93328c..4ed4497a1 100644
--- a/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDOMFormDataCustom.cpp
@@ -60,15 +60,15 @@ EncodedJSValue JSC_HOST_CALL JSDOMFormDataConstructor::constructJSDOMFormData(Ex
JSValue JSDOMFormData::append(ExecState* exec)
{
if (exec->argumentCount() >= 2) {
- String name = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ String name = exec->argument(0).toString(exec)->value(exec);
JSValue value = exec->argument(1);
if (value.inherits(&JSBlob::s_info)) {
String filename;
if (exec->argumentCount() >= 3 && !exec->argument(2).isUndefinedOrNull())
- filename = ustringToString(exec->argument(2).toString(exec)->value(exec));
+ filename = exec->argument(2).toString(exec)->value(exec);
impl()->append(name, toBlob(value), filename);
} else
- impl()->append(name, ustringToString(value.toString(exec)->value(exec)));
+ impl()->append(name, value.toString(exec)->value(exec));
}
return jsUndefined();
diff --git a/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp b/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp
index 7f8d5ec53..6869dcea4 100644
--- a/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDOMStringListCustom.cpp
@@ -34,7 +34,7 @@ PassRefPtr<DOMStringList> toDOMStringList(ExecState* exec, JSValue value)
JSArray* array = asArray(value);
RefPtr<DOMStringList> stringList = DOMStringList::create();
for (unsigned i = 0; i < array->length(); ++i)
- stringList->append(ustringToString(array->getIndex(i).toString(exec)->value(exec)));
+ stringList->append(array->getIndex(i).toString(exec)->value(exec));
return stringList.release();
}
diff --git a/Source/WebCore/bindings/js/JSDOMStringMapCustom.cpp b/Source/WebCore/bindings/js/JSDOMStringMapCustom.cpp
index 891ea6ab4..d3979c494 100644
--- a/Source/WebCore/bindings/js/JSDOMStringMapCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDOMStringMapCustom.cpp
@@ -43,7 +43,7 @@ bool JSDOMStringMap::canGetItemsForName(ExecState*, DOMStringMap* impl, Property
JSValue JSDOMStringMap::nameGetter(ExecState* exec, JSValue slotBase, PropertyName propertyName)
{
JSDOMStringMap* thisObj = jsCast<JSDOMStringMap*>(asObject(slotBase));
- return jsString(exec, thisObj->impl()->item(propertyNameToAtomicString(propertyName)));
+ return jsStringWithCache(exec, thisObj->impl()->item(propertyNameToAtomicString(propertyName)));
}
void JSDOMStringMap::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyNameArray& propertyNames, EnumerationMode mode)
@@ -53,7 +53,7 @@ void JSDOMStringMap::getOwnPropertyNames(JSObject* object, ExecState* exec, Prop
thisObject->m_impl->getNames(names);
size_t length = names.size();
for (size_t i = 0; i < length; ++i)
- propertyNames.add(Identifier(exec, stringToUString(names[i])));
+ propertyNames.add(Identifier(exec, names[i]));
Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);
}
@@ -72,7 +72,7 @@ bool JSDOMStringMap::deleteProperty(JSCell* cell, ExecState* exec, PropertyName
bool JSDOMStringMap::putDelegate(ExecState* exec, PropertyName propertyName, JSValue value, PutPropertySlot&)
{
- String stringValue = ustringToString(value.toString(exec)->value(exec));
+ String stringValue = value.toString(exec)->value(exec);
if (exec->hadException())
return false;
ExceptionCode ec = 0;
diff --git a/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp b/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
index a1f0c1b22..3439afb45 100644
--- a/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -421,12 +421,12 @@ void JSDOMWindow::setLocation(ExecState* exec, JSValue value)
}
#endif
- UString locationString = value.toString(exec)->value(exec);
+ String locationString = value.toString(exec)->value(exec);
if (exec->hadException())
return;
if (Location* location = impl()->location())
- location->setHref(ustringToString(locationString), activeDOMWindow(exec), firstDOMWindow(exec));
+ location->setHref(locationString, activeDOMWindow(exec), firstDOMWindow(exec));
}
JSValue JSDOMWindow::event(ExecState* exec) const
@@ -472,7 +472,7 @@ JSValue JSDOMWindow::open(ExecState* exec)
String urlString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(0));
if (exec->hadException())
return jsUndefined();
- AtomicString frameName = exec->argument(1).isUndefinedOrNull() ? "_blank" : ustringToAtomicString(exec->argument(1).toString(exec)->value(exec));
+ AtomicString frameName = exec->argument(1).isUndefinedOrNull() ? "_blank" : exec->argument(1).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
String windowFeaturesString = valueToStringWithUndefinedOrNullCheck(exec, exec->argument(2));
@@ -641,7 +641,7 @@ JSValue JSDOMWindow::addEventListener(ExecState* exec)
if (!listener.isObject())
return jsUndefined();
- impl()->addEventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
+ impl()->addEventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
return jsUndefined();
}
@@ -655,7 +655,7 @@ JSValue JSDOMWindow::removeEventListener(ExecState* exec)
if (!listener.isObject())
return jsUndefined();
- impl()->removeEventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
+ impl()->removeEventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), this, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JSDOMWindowShell.cpp b/Source/WebCore/bindings/js/JSDOMWindowShell.cpp
index 758e7278b..55d99bc80 100644
--- a/Source/WebCore/bindings/js/JSDOMWindowShell.cpp
+++ b/Source/WebCore/bindings/js/JSDOMWindowShell.cpp
@@ -85,7 +85,7 @@ void JSDOMWindowShell::setWindow(PassRefPtr<DOMWindow> domWindow)
// JSObject methods
// ----
-UString JSDOMWindowShell::className(const JSObject* object)
+String JSDOMWindowShell::className(const JSObject* object)
{
const JSDOMWindowShell* thisObject = jsCast<const JSDOMWindowShell*>(object);
return thisObject->window()->methodTable()->className(thisObject->window());
diff --git a/Source/WebCore/bindings/js/JSDOMWindowShell.h b/Source/WebCore/bindings/js/JSDOMWindowShell.h
index 5f22d7b18..84ac4f336 100644
--- a/Source/WebCore/bindings/js/JSDOMWindowShell.h
+++ b/Source/WebCore/bindings/js/JSDOMWindowShell.h
@@ -77,7 +77,7 @@ namespace WebCore {
private:
static const unsigned StructureFlags = JSC::OverridesGetOwnPropertySlot | JSC::OverridesGetPropertyNames | Base::StructureFlags;
- static JSC::UString className(const JSC::JSObject*);
+ static String className(const JSC::JSObject*);
static bool getOwnPropertySlot(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::PropertySlot&);
static bool getOwnPropertyDescriptor(JSC::JSObject*, JSC::ExecState*, JSC::PropertyName, JSC::PropertyDescriptor&);
static void put(JSC::JSCell*, JSC::ExecState*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&);
diff --git a/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp b/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp
index 8e9948f1a..193a6c4a3 100644
--- a/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDeviceMotionEventCustom.cpp
@@ -164,7 +164,7 @@ JSValue JSDeviceMotionEvent::interval(ExecState*) const
JSValue JSDeviceMotionEvent::initDeviceMotionEvent(ExecState* exec)
{
- const String& type = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ const String type = exec->argument(0).toString(exec)->value(exec);
bool bubbles = exec->argument(1).toBoolean(exec);
bool cancelable = exec->argument(2).toBoolean(exec);
diff --git a/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp b/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp
index d03b740aa..1f070fe60 100644
--- a/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDeviceOrientationEventCustom.cpp
@@ -70,7 +70,7 @@ JSValue JSDeviceOrientationEvent::absolute(ExecState*) const
JSValue JSDeviceOrientationEvent::initDeviceOrientationEvent(ExecState* exec)
{
- const String& type = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ const String type = exec->argument(0).toString(exec)->value(exec);
bool bubbles = exec->argument(1).toBoolean(exec);
bool cancelable = exec->argument(2).toBoolean(exec);
// If alpha, beta or gamma are null or undefined, mark them as not provided.
diff --git a/Source/WebCore/bindings/js/JSDictionary.cpp b/Source/WebCore/bindings/js/JSDictionary.cpp
index 85b759198..d4e226473 100644
--- a/Source/WebCore/bindings/js/JSDictionary.cpp
+++ b/Source/WebCore/bindings/js/JSDictionary.cpp
@@ -101,7 +101,7 @@ void JSDictionary::convertValue(JSC::ExecState* exec, JSC::JSValue value, Dictio
void JSDictionary::convertValue(ExecState* exec, JSValue value, String& result)
{
- result = ustringToString(value.toString(exec)->value(exec));
+ result = value.toString(exec)->value(exec);
}
void JSDictionary::convertValue(ExecState* exec, JSValue value, Vector<String>& result)
@@ -118,7 +118,7 @@ void JSDictionary::convertValue(ExecState* exec, JSValue value, Vector<String>&
JSValue itemValue = object->get(exec, i);
if (exec->hadException())
return;
- result.append(ustringToString(itemValue.toString(exec)->value(exec)));
+ result.append(itemValue.toString(exec)->value(exec));
}
}
@@ -182,7 +182,7 @@ void JSDictionary::convertValue(ExecState* exec, JSValue value, HashSet<AtomicSt
JSValue itemValue = object->get(exec, i);
if (exec->hadException())
return;
- result.add(ustringToAtomicString(itemValue.toString(exec)->value(exec)));
+ result.add(itemValue.toString(exec)->value(exec));
}
}
#endif
@@ -202,7 +202,7 @@ bool JSDictionary::getWithUndefinedOrNullCheck(const String& propertyName, Strin
if (tryGetProperty(propertyName.utf8().data(), value) != PropertyFound || value.isUndefinedOrNull())
return false;
- result = ustringToString(value.toString(m_exec)->value(m_exec));
+ result = value.toWTFString(m_exec);
return true;
}
diff --git a/Source/WebCore/bindings/js/JSDocumentCustom.cpp b/Source/WebCore/bindings/js/JSDocumentCustom.cpp
index 647b4461e..5488404b4 100644
--- a/Source/WebCore/bindings/js/JSDocumentCustom.cpp
+++ b/Source/WebCore/bindings/js/JSDocumentCustom.cpp
@@ -69,12 +69,12 @@ void JSDocument::setLocation(ExecState* exec, JSValue value)
if (!frame)
return;
- UString locationString = value.toString(exec)->value(exec);
+ String locationString = value.toString(exec)->value(exec);
if (exec->hadException())
return;
if (Location* location = frame->document()->domWindow()->location())
- location->setHref(ustringToString(locationString), activeDOMWindow(exec), firstDOMWindow(exec));
+ location->setHref(locationString, activeDOMWindow(exec), firstDOMWindow(exec));
}
JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, Document* document)
diff --git a/Source/WebCore/bindings/js/JSErrorHandler.cpp b/Source/WebCore/bindings/js/JSErrorHandler.cpp
index 5b4b59f8f..b65925600 100644
--- a/Source/WebCore/bindings/js/JSErrorHandler.cpp
+++ b/Source/WebCore/bindings/js/JSErrorHandler.cpp
@@ -85,8 +85,8 @@ void JSErrorHandler::handleEvent(ScriptExecutionContext* scriptExecutionContext,
globalObject->setCurrentEvent(event);
MarkedArgumentBuffer args;
- args.append(jsString(exec, errorEvent->message()));
- args.append(jsString(exec, errorEvent->filename()));
+ args.append(jsStringWithCache(exec, errorEvent->message()));
+ args.append(jsStringWithCache(exec, errorEvent->filename()));
args.append(jsNumber(errorEvent->lineno()));
JSGlobalData& globalData = globalObject->globalData();
diff --git a/Source/WebCore/bindings/js/JSEventListener.cpp b/Source/WebCore/bindings/js/JSEventListener.cpp
index 779e8d739..5eeb41018 100644
--- a/Source/WebCore/bindings/js/JSEventListener.cpp
+++ b/Source/WebCore/bindings/js/JSEventListener.cpp
@@ -144,7 +144,7 @@ void JSEventListener::handleEvent(ScriptExecutionContext* scriptExecutionContext
reportCurrentException(exec);
} else {
if (!retval.isUndefinedOrNull() && event->storesResultAsString())
- event->storeResult(ustringToString(retval.toString(exec)->value(exec)));
+ event->storeResult(retval.toString(exec)->value(exec));
if (m_isAttribute) {
if (retval.isFalse())
event->preventDefault();
diff --git a/Source/WebCore/bindings/js/JSGeolocationCustom.cpp b/Source/WebCore/bindings/js/JSGeolocationCustom.cpp
index 57fb180a3..f1599a416 100644
--- a/Source/WebCore/bindings/js/JSGeolocationCustom.cpp
+++ b/Source/WebCore/bindings/js/JSGeolocationCustom.cpp
@@ -101,12 +101,12 @@ JSValue JSGeolocation::getCurrentPosition(ExecState* exec)
{
// Arguments: PositionCallback, (optional)PositionErrorCallback, (optional)PositionOptions
- RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(exec, jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(0));
+ RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(exec, globalObject(), exec->argument(0));
if (exec->hadException())
return jsUndefined();
ASSERT(positionCallback);
- RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(exec, jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(1), CallbackAllowUndefined | CallbackAllowNull);
+ RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(exec, globalObject(), exec->argument(1), CallbackAllowUndefined | CallbackAllowNull);
if (exec->hadException())
return jsUndefined();
@@ -123,12 +123,12 @@ JSValue JSGeolocation::watchPosition(ExecState* exec)
{
// Arguments: PositionCallback, (optional)PositionErrorCallback, (optional)PositionOptions
- RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(exec, jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(0));
+ RefPtr<PositionCallback> positionCallback = createFunctionOnlyCallback<JSPositionCallback>(exec, globalObject(), exec->argument(0));
if (exec->hadException())
return jsUndefined();
ASSERT(positionCallback);
- RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(exec, jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), exec->argument(1), CallbackAllowUndefined | CallbackAllowNull);
+ RefPtr<PositionErrorCallback> positionErrorCallback = createFunctionOnlyCallback<JSPositionErrorCallback>(exec, globalObject(), exec->argument(1), CallbackAllowUndefined | CallbackAllowNull);
if (exec->hadException())
return jsUndefined();
diff --git a/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp b/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
index 8546729f4..5561bcad0 100644
--- a/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
+++ b/Source/WebCore/bindings/js/JSHTMLAllCollectionCustom.cpp
@@ -70,7 +70,7 @@ static EncodedJSValue JSC_HOST_CALL callHTMLAllCollection(ExecState* exec)
if (exec->argumentCount() == 1) {
// Support for document.all(<index>) etc.
- UString string = exec->argument(0).toString(exec)->value(exec);
+ String string = exec->argument(0).toString(exec)->value(exec);
unsigned index = toUInt32FromStringImpl(string.impl());
if (index != PropertyName::NotAnIndex)
return JSValue::encode(toJS(exec, jsCollection->globalObject(), collection->item(index)));
@@ -80,10 +80,10 @@ static EncodedJSValue JSC_HOST_CALL callHTMLAllCollection(ExecState* exec)
}
// The second arg, if set, is the index of the item we want
- UString string = exec->argument(0).toString(exec)->value(exec);
- unsigned index = toUInt32FromStringImpl(exec->argument(1).toString(exec)->value(exec).impl());
+ String string = exec->argument(0).toString(exec)->value(exec);
+ unsigned index = toUInt32FromStringImpl(exec->argument(1).toWTFString(exec).impl());
if (index != PropertyName::NotAnIndex) {
- if (Node* node = collection->namedItemWithIndex(ustringToAtomicString(string), index))
+ if (Node* node = collection->namedItemWithIndex(string, index))
return JSValue::encode(toJS(exec, jsCollection->globalObject(), node));
}
diff --git a/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp b/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
index 3f9a39fd2..80212a9ee 100644
--- a/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
+++ b/Source/WebCore/bindings/js/JSHTMLCanvasElementCustom.cpp
@@ -45,7 +45,7 @@ namespace WebCore {
JSValue JSHTMLCanvasElement::getContext(ExecState* exec)
{
HTMLCanvasElement* canvas = static_cast<HTMLCanvasElement*>(impl());
- const UString& contextId = exec->argument(0).toString(exec)->value(exec);
+ const String& contextId = exec->argument(0).toString(exec)->value(exec);
RefPtr<CanvasContextAttributes> attrs;
#if ENABLE(WEBGL)
if (contextId == "experimental-webgl" || contextId == "webkit-3d") {
@@ -74,7 +74,7 @@ JSValue JSHTMLCanvasElement::getContext(ExecState* exec)
}
}
#endif
- CanvasRenderingContext* context = canvas->getContext(ustringToString(contextId), attrs.get());
+ CanvasRenderingContext* context = canvas->getContext(contextId, attrs.get());
if (!context)
return jsNull();
JSValue jsValue = toJS(exec, globalObject(), WTF::getPtr(context));
@@ -105,7 +105,7 @@ JSValue JSHTMLCanvasElement::toDataURL(ExecState* exec)
}
}
- JSValue result = jsString(exec, canvas->toDataURL(type, qualityPtr, ec));
+ JSValue result = JSC::jsString(exec, canvas->toDataURL(type, qualityPtr, ec));
setDOMException(exec, ec);
return result;
}
diff --git a/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp b/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
index 5e2f35efd..3c6893b00 100644
--- a/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
+++ b/Source/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
@@ -136,15 +136,15 @@ static inline void documentWrite(ExecState* exec, HTMLDocument* document, Newlin
size_t size = exec->argumentCount();
- UString firstString = exec->argument(0).toString(exec)->value(exec);
- SegmentedString segmentedString = ustringToString(firstString);
+ String firstString = exec->argument(0).toString(exec)->value(exec);
+ SegmentedString segmentedString = firstString;
if (size != 1) {
if (!size)
segmentedString.clear();
else {
for (size_t i = 1; i < size; ++i) {
- UString subsequentString = exec->argument(i).toString(exec)->value(exec);
- segmentedString.append(SegmentedString(ustringToString(subsequentString)));
+ String subsequentString = exec->argument(i).toString(exec)->value(exec);
+ segmentedString.append(SegmentedString(subsequentString));
}
}
}
diff --git a/Source/WebCore/bindings/js/JSHTMLElementCustom.cpp b/Source/WebCore/bindings/js/JSHTMLElementCustom.cpp
index d0df62044..c25b8171f 100644
--- a/Source/WebCore/bindings/js/JSHTMLElementCustom.cpp
+++ b/Source/WebCore/bindings/js/JSHTMLElementCustom.cpp
@@ -28,6 +28,7 @@
#include "Document.h"
#include "HTMLFormElement.h"
+#include <runtime/JSWithScope.h>
#if ENABLE(MICRODATA)
#include "JSMicroDataItemValue.h"
@@ -37,19 +38,19 @@ namespace WebCore {
using namespace JSC;
-ScopeChainNode* JSHTMLElement::pushEventHandlerScope(ExecState* exec, ScopeChainNode* scope) const
+JSScope* JSHTMLElement::pushEventHandlerScope(ExecState* exec, JSScope* scope) const
{
HTMLElement* element = impl();
// The document is put on first, fall back to searching it only after the element and form.
- scope = scope->push(asObject(toJS(exec, globalObject(), element->ownerDocument())));
+ scope = JSWithScope::create(exec, asObject(toJS(exec, globalObject(), element->ownerDocument())), scope);
// The form is next, searched before the document, but after the element itself.
if (HTMLFormElement* form = element->form())
- scope = scope->push(asObject(toJS(exec, globalObject(), form)));
+ scope = JSWithScope::create(exec, asObject(toJS(exec, globalObject(), form)), scope);
// The element is on top, searched first.
- return scope->push(asObject(toJS(exec, globalObject(), element)));
+ return JSWithScope::create(exec, asObject(toJS(exec, globalObject(), element)), scope);
}
#if ENABLE(MICRODATA)
diff --git a/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp b/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp
index 36fd8b746..520ce650b 100644
--- a/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp
+++ b/Source/WebCore/bindings/js/JSHTMLInputElementCustom.cpp
@@ -75,7 +75,7 @@ JSValue JSHTMLInputElement::selectionDirection(ExecState* exec) const
if (!input->canHaveSelection())
return throwTypeError(exec);
- return jsString(exec, input->selectionDirection());
+ return jsStringWithCache(exec, input->selectionDirection());
}
void JSHTMLInputElement::setSelectionDirection(ExecState* exec, JSValue value)
@@ -86,7 +86,7 @@ void JSHTMLInputElement::setSelectionDirection(ExecState* exec, JSValue value)
return;
}
- input->setSelectionDirection(ustringToString(value.toString(exec)->value(exec)));
+ input->setSelectionDirection(value.toString(exec)->value(exec));
}
JSValue JSHTMLInputElement::setSelectionRange(ExecState* exec)
@@ -97,7 +97,7 @@ JSValue JSHTMLInputElement::setSelectionRange(ExecState* exec)
int start = exec->argument(0).toInt32(exec);
int end = exec->argument(1).toInt32(exec);
- String direction = ustringToString(exec->argument(2).toString(exec)->value(exec));
+ String direction = exec->argument(2).toString(exec)->value(exec);
input->setSelectionRange(start, end, direction);
return jsUndefined();
diff --git a/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp b/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp
index 3f907ac75..77113c70f 100644
--- a/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp
+++ b/Source/WebCore/bindings/js/JSIDBAnyCustom.cpp
@@ -65,7 +65,7 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, IDBAny* idbAny)
case IDBAny::NullType:
return jsNull();
case IDBAny::StringType:
- return jsString(exec, idbAny->string());
+ return jsStringWithCache(exec, idbAny->string());
case IDBAny::DOMStringListType:
return toJS(exec, globalObject, idbAny->domStringList());
case IDBAny::IDBCursorType:
diff --git a/Source/WebCore/bindings/js/JSIDBKeyCustom.cpp b/Source/WebCore/bindings/js/JSIDBKeyCustom.cpp
index b2b78ec57..4afa550b5 100644
--- a/Source/WebCore/bindings/js/JSIDBKeyCustom.cpp
+++ b/Source/WebCore/bindings/js/JSIDBKeyCustom.cpp
@@ -56,7 +56,7 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, IDBKey* key)
return JSValue(outArray);
}
case IDBKey::StringType:
- return jsString(exec, key->string());
+ return jsStringWithCache(exec, key->string());
case IDBKey::DateType:
return jsDateOrNull(exec, key->date());
case IDBKey::NumberType:
diff --git a/Source/WebCore/bindings/js/JSImageDataCustom.cpp b/Source/WebCore/bindings/js/JSImageDataCustom.cpp
index d9d694ec7..57770728d 100644
--- a/Source/WebCore/bindings/js/JSImageDataCustom.cpp
+++ b/Source/WebCore/bindings/js/JSImageDataCustom.cpp
@@ -28,9 +28,8 @@
#include "JSUint8ClampedArray.h"
#include "ImageData.h"
-#include "PlatformString.h"
-
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
diff --git a/Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp b/Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp
index 141375078..9efed46bf 100644
--- a/Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp
+++ b/Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp
@@ -109,8 +109,8 @@ JSValue JSInjectedScriptHost::internalConstructorName(ExecState* exec)
return jsUndefined();
JSObject* thisObject = exec->argument(0).toThisObject(exec);
- UString result = thisObject->methodTable()->className(thisObject);
- return jsString(exec, result);
+ String result = thisObject->methodTable()->className(thisObject);
+ return jsStringWithCache(exec, result);
}
JSValue JSInjectedScriptHost::isHTMLAllCollection(ExecState* exec)
@@ -170,7 +170,7 @@ JSValue JSInjectedScriptHost::functionDetails(ExecState* exec)
int lineNumber = sourceCode->firstLine();
if (lineNumber)
lineNumber -= 1; // In the inspector protocol all positions are 0-based while in SourceCode they are 1-based
- UString scriptId = UString::number(sourceCode->provider()->asID());
+ String scriptId = String::number(sourceCode->provider()->asID());
JSObject* location = constructEmptyObject(exec);
location->putDirect(exec->globalData(), Identifier(exec, "lineNumber"), jsNumber(lineNumber));
@@ -178,12 +178,12 @@ JSValue JSInjectedScriptHost::functionDetails(ExecState* exec)
JSObject* result = constructEmptyObject(exec);
result->putDirect(exec->globalData(), Identifier(exec, "location"), location);
- UString name = function->name(exec);
+ String name = function->name(exec);
if (!name.isEmpty())
- result->putDirect(exec->globalData(), Identifier(exec, "name"), jsString(exec, name));
- UString displayName = function->displayName(exec);
+ result->putDirect(exec->globalData(), Identifier(exec, "name"), jsStringWithCache(exec, name));
+ String displayName = function->displayName(exec);
if (!displayName.isEmpty())
- result->putDirect(exec->globalData(), Identifier(exec, "displayName"), jsString(exec, displayName));
+ result->putDirect(exec->globalData(), Identifier(exec, "displayName"), jsStringWithCache(exec, displayName));
// FIXME: provide function scope data in "scopesRaw" property when JSC supports it.
// https://bugs.webkit.org/show_bug.cgi?id=87192
return result;
@@ -260,7 +260,7 @@ JSValue JSInjectedScriptHost::databaseId(ExecState* exec)
#if ENABLE(SQL_DATABASE)
Database* database = toDatabase(exec->argument(0));
if (database)
- return jsString(exec, impl()->databaseIdImpl(database));
+ return jsStringWithCache(exec, impl()->databaseIdImpl(database));
#endif
return jsUndefined();
}
@@ -271,7 +271,7 @@ JSValue JSInjectedScriptHost::storageId(ExecState* exec)
return jsUndefined();
Storage* storage = toStorage(exec->argument(0));
if (storage)
- return jsString(exec, impl()->storageIdImpl(storage));
+ return jsStringWithCache(exec, impl()->storageIdImpl(storage));
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JSInjectedScriptManager.cpp b/Source/WebCore/bindings/js/JSInjectedScriptManager.cpp
index e63f4974c..dc502fc8d 100644
--- a/Source/WebCore/bindings/js/JSInjectedScriptManager.cpp
+++ b/Source/WebCore/bindings/js/JSInjectedScriptManager.cpp
@@ -54,12 +54,12 @@ ScriptObject InjectedScriptManager::createInjectedScript(const String& source, S
{
JSLockHolder lock(scriptState);
- SourceCode sourceCode = makeSource(stringToUString(source));
+ SourceCode sourceCode = makeSource(source);
JSDOMGlobalObject* globalObject = jsCast<JSDOMGlobalObject*>(scriptState->lexicalGlobalObject());
JSValue globalThisValue = scriptState->globalThisValue();
JSValue evaluationException;
- JSValue evaluationReturnValue = JSMainThreadExecState::evaluate(scriptState, globalObject->globalScopeChain(), sourceCode, globalThisValue, &evaluationException);
+ JSValue evaluationReturnValue = JSMainThreadExecState::evaluate(scriptState, sourceCode, globalThisValue, &evaluationException);
if (evaluationException)
return ScriptObject();
diff --git a/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp b/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
index 338f4c479..e5cd25e63 100644
--- a/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
+++ b/Source/WebCore/bindings/js/JSInspectorFrontendHostCustom.cpp
@@ -41,11 +41,11 @@
#include "InspectorFrontendHost.h"
#include "JSEvent.h"
#include "MouseEvent.h"
-#include "PlatformString.h"
#include <runtime/JSArray.h>
#include <runtime/JSLock.h>
#include <runtime/JSObject.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -54,35 +54,35 @@ namespace WebCore {
JSValue JSInspectorFrontendHost::platform(ExecState* execState)
{
#if PLATFORM(MAC)
- DEFINE_STATIC_LOCAL(const String, platform, ("mac"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("mac")));
#elif OS(WINDOWS)
- DEFINE_STATIC_LOCAL(const String, platform, ("windows"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("windows")));
#elif OS(LINUX)
- DEFINE_STATIC_LOCAL(const String, platform, ("linux"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("linux")));
#elif OS(FREEBSD)
- DEFINE_STATIC_LOCAL(const String, platform, ("freebsd"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("freebsd")));
#elif OS(OPENBSD)
- DEFINE_STATIC_LOCAL(const String, platform, ("openbsd"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("openbsd")));
#elif OS(SOLARIS)
- DEFINE_STATIC_LOCAL(const String, platform, ("solaris"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("solaris")));
#else
- DEFINE_STATIC_LOCAL(const String, platform, ("unknown"));
+ DEFINE_STATIC_LOCAL(const String, platform, (ASCIILiteral("unknown")));
#endif
- return jsString(execState, platform);
+ return jsStringWithCache(execState, platform);
}
JSValue JSInspectorFrontendHost::port(ExecState* execState)
{
#if PLATFORM(QT)
- DEFINE_STATIC_LOCAL(const String, port, ("qt"));
+ DEFINE_STATIC_LOCAL(const String, port, (ASCIILiteral("qt")));
#elif PLATFORM(GTK)
- DEFINE_STATIC_LOCAL(const String, port, ("gtk"));
+ DEFINE_STATIC_LOCAL(const String, port, (ASCIILiteral("gtk")));
#elif PLATFORM(WX)
- DEFINE_STATIC_LOCAL(const String, port, ("wx"));
+ DEFINE_STATIC_LOCAL(const String, port, (ASCIILiteral("wx")));
#else
- DEFINE_STATIC_LOCAL(const String, port, ("unknown"));
+ DEFINE_STATIC_LOCAL(const String, port, (ASCIILiteral("unknown")));
#endif
- return jsString(execState, port);
+ return jsStringWithCache(execState, port);
}
#if ENABLE(CONTEXT_MENUS)
@@ -99,7 +99,7 @@ static void populateContextMenuItems(ExecState* exec, JSArray* array, ContextMen
if (!type.isString())
continue;
- String typeString = ustringToString(type.toString(exec)->value(exec));
+ String typeString = type.toString(exec)->value(exec);
if (typeString == "separator") {
ContextMenuItem item(SeparatorType,
ContextMenuItemCustomTagNoAction,
@@ -111,12 +111,12 @@ static void populateContextMenuItems(ExecState* exec, JSArray* array, ContextMen
populateContextMenuItems(exec, subItemsArray, subMenu);
ContextMenuItem item(SubmenuType,
ContextMenuItemCustomTagNoAction,
- ustringToString(label.toString(exec)->value(exec)),
+ label.toString(exec)->value(exec),
&subMenu);
menu.appendItem(item);
} else {
ContextMenuAction typedId = static_cast<ContextMenuAction>(ContextMenuItemBaseCustomTag + id.toInt32(exec));
- ContextMenuItem menuItem((typeString == "checkbox" ? CheckableActionType : ActionType), typedId, ustringToString(label.toString(exec)->value(exec)));
+ ContextMenuItem menuItem((typeString == "checkbox" ? CheckableActionType : ActionType), typedId, label.toString(exec)->value(exec));
if (!enabled.isUndefined())
menuItem.setEnabled(enabled.toBoolean(exec));
if (!checked.isUndefined())
diff --git a/Source/WebCore/bindings/js/JSIntentConstructor.cpp b/Source/WebCore/bindings/js/JSIntentConstructor.cpp
index 60a214a73..4f29c742a 100644
--- a/Source/WebCore/bindings/js/JSIntentConstructor.cpp
+++ b/Source/WebCore/bindings/js/JSIntentConstructor.cpp
@@ -61,11 +61,11 @@ EncodedJSValue JSC_HOST_CALL JSIntentConstructor::constructJSIntent(ExecState* e
return JSValue::encode(asObject(toJS(exec, castedThis->globalObject(), impl.get())));
}
- const String& action(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String action(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toWTFString(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& type(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String type(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toWTFString(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
diff --git a/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp b/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
index 40d3a3fb8..a71ff0c51 100644
--- a/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
+++ b/Source/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
@@ -63,9 +63,9 @@ JSValue JSJavaScriptCallFrame::type(ExecState* exec) const
{
switch (impl()->type()) {
case DebuggerCallFrame::FunctionType:
- return jsString(exec, UString("function"));
+ return jsString(exec, ASCIILiteral("function"));
case DebuggerCallFrame::ProgramType:
- return jsString(exec, UString("program"));
+ return jsString(exec, ASCIILiteral("program"));
}
ASSERT_NOT_REACHED();
@@ -77,7 +77,7 @@ JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
if (!impl()->scopeChain())
return jsNull();
- ScopeChainNode* scopeChain = impl()->scopeChain();
+ JSScope* scopeChain = impl()->scopeChain();
ScopeChainIterator iter = scopeChain->begin();
ScopeChainIterator end = scopeChain->end();
@@ -86,7 +86,7 @@ JSValue JSJavaScriptCallFrame::scopeChain(ExecState* exec) const
MarkedArgumentBuffer list;
do {
- list.append(iter->get());
+ list.append(iter.get());
++iter;
} while (iter != end);
@@ -102,12 +102,12 @@ JSValue JSJavaScriptCallFrame::scopeType(ExecState* exec)
return jsUndefined();
int index = exec->argument(0).asInt32();
- ScopeChainNode* scopeChain = impl()->scopeChain();
+ JSScope* scopeChain = impl()->scopeChain();
ScopeChainIterator end = scopeChain->end();
bool foundLocalScope = false;
for (ScopeChainIterator iter = scopeChain->begin(); iter != end; ++iter) {
- JSObject* scope = iter->get();
+ JSObject* scope = iter.get();
if (scope->isActivationObject()) {
if (!foundLocalScope) {
// First activation object is local scope, each successive activation object is closure.
diff --git a/Source/WebCore/bindings/js/JSLazyEventListener.cpp b/Source/WebCore/bindings/js/JSLazyEventListener.cpp
index 8879727e2..87dc49253 100644
--- a/Source/WebCore/bindings/js/JSLazyEventListener.cpp
+++ b/Source/WebCore/bindings/js/JSLazyEventListener.cpp
@@ -94,10 +94,10 @@ JSObject* JSLazyEventListener::initializeJSFunction(ScriptExecutionContext* exec
ExecState* exec = globalObject->globalExec();
MarkedArgumentBuffer args;
- args.append(jsNontrivialString(exec, stringToUString(m_eventParameterName)));
- args.append(jsString(exec, m_code));
+ args.append(jsNontrivialString(exec, m_eventParameterName));
+ args.append(jsStringWithCache(exec, m_code));
- JSObject* jsFunction = constructFunctionSkippingEvalEnabledCheck(exec, exec->lexicalGlobalObject(), args, Identifier(exec, stringToUString(m_functionName)), stringToUString(m_sourceURL), m_position); // FIXME: is globalExec ok?
+ JSObject* jsFunction = constructFunctionSkippingEvalEnabledCheck(exec, exec->lexicalGlobalObject(), args, Identifier(exec, m_functionName), m_sourceURL, m_position); // FIXME: is globalExec ok?
if (exec->hadException()) {
reportCurrentException(exec);
exec->clearException();
diff --git a/Source/WebCore/bindings/js/JSLazyEventListener.h b/Source/WebCore/bindings/js/JSLazyEventListener.h
index aa05c83ba..4b2998001 100644
--- a/Source/WebCore/bindings/js/JSLazyEventListener.h
+++ b/Source/WebCore/bindings/js/JSLazyEventListener.h
@@ -21,8 +21,8 @@
#define JSLazyEventListener_h
#include "JSEventListener.h"
-#include "PlatformString.h"
#include <wtf/text/TextPosition.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/js/JSLocationCustom.cpp b/Source/WebCore/bindings/js/JSLocationCustom.cpp
index 5cb0c073e..14bd35749 100644
--- a/Source/WebCore/bindings/js/JSLocationCustom.cpp
+++ b/Source/WebCore/bindings/js/JSLocationCustom.cpp
@@ -179,76 +179,76 @@ bool JSLocation::defineOwnProperty(JSObject* object, ExecState* exec, PropertyNa
void JSLocation::setHref(ExecState* exec, JSValue value)
{
- UString href = value.toString(exec)->value(exec);
+ String href = value.toString(exec)->value(exec);
if (exec->hadException())
return;
- impl()->setHref(ustringToString(href), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setHref(href, activeDOMWindow(exec), firstDOMWindow(exec));
}
void JSLocation::setProtocol(ExecState* exec, JSValue value)
{
- UString protocol = value.toString(exec)->value(exec);
+ String protocol = value.toString(exec)->value(exec);
if (exec->hadException())
return;
ExceptionCode ec = 0;
- impl()->setProtocol(ustringToString(protocol), activeDOMWindow(exec), firstDOMWindow(exec), ec);
+ impl()->setProtocol(protocol, activeDOMWindow(exec), firstDOMWindow(exec), ec);
setDOMException(exec, ec);
}
void JSLocation::setHost(ExecState* exec, JSValue value)
{
- UString host = value.toString(exec)->value(exec);
+ String host = value.toString(exec)->value(exec);
if (exec->hadException())
return;
- impl()->setHost(ustringToString(host), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setHost(host, activeDOMWindow(exec), firstDOMWindow(exec));
}
void JSLocation::setHostname(ExecState* exec, JSValue value)
{
- UString hostname = value.toString(exec)->value(exec);
+ String hostname = value.toString(exec)->value(exec);
if (exec->hadException())
return;
- impl()->setHostname(ustringToString(hostname), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setHostname(hostname, activeDOMWindow(exec), firstDOMWindow(exec));
}
void JSLocation::setPort(ExecState* exec, JSValue value)
{
- UString port = value.toString(exec)->value(exec);
+ String port = value.toWTFString(exec);
if (exec->hadException())
return;
- impl()->setPort(ustringToString(port), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setPort(port, activeDOMWindow(exec), firstDOMWindow(exec));
}
void JSLocation::setPathname(ExecState* exec, JSValue value)
{
- UString pathname = value.toString(exec)->value(exec);
+ String pathname = value.toString(exec)->value(exec);
if (exec->hadException())
return;
- impl()->setPathname(ustringToString(pathname), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setPathname(pathname, activeDOMWindow(exec), firstDOMWindow(exec));
}
void JSLocation::setSearch(ExecState* exec, JSValue value)
{
- UString pathname = value.toString(exec)->value(exec);
+ String pathname = value.toString(exec)->value(exec);
if (exec->hadException())
return;
- impl()->setSearch(ustringToString(pathname), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setSearch(pathname, activeDOMWindow(exec), firstDOMWindow(exec));
}
void JSLocation::setHash(ExecState* exec, JSValue value)
{
- UString hash = value.toString(exec)->value(exec);
+ String hash = value.toString(exec)->value(exec);
if (exec->hadException())
return;
- impl()->setHash(ustringToString(hash), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->setHash(hash, activeDOMWindow(exec), firstDOMWindow(exec));
}
JSValue JSLocation::replace(ExecState* exec)
{
- UString urlString = exec->argument(0).toString(exec)->value(exec);
+ String urlString = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
- impl()->replace(ustringToString(urlString), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->replace(urlString, activeDOMWindow(exec), firstDOMWindow(exec));
return jsUndefined();
}
@@ -260,10 +260,10 @@ JSValue JSLocation::reload(ExecState* exec)
JSValue JSLocation::assign(ExecState* exec)
{
- UString urlString = exec->argument(0).toString(exec)->value(exec);
+ String urlString = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
- impl()->assign(ustringToString(urlString), activeDOMWindow(exec), firstDOMWindow(exec));
+ impl()->assign(urlString, activeDOMWindow(exec), firstDOMWindow(exec));
return jsUndefined();
}
@@ -273,7 +273,7 @@ JSValue JSLocation::toStringFunction(ExecState* exec)
if (!frame || !shouldAllowAccessToFrame(exec, frame))
return jsUndefined();
- return jsString(exec, impl()->toString());
+ return jsStringWithCache(exec, impl()->toString());
}
bool JSLocationPrototype::putDelegate(ExecState* exec, PropertyName propertyName, JSValue, PutPropertySlot&)
diff --git a/Source/WebCore/bindings/js/JSMainThreadExecState.h b/Source/WebCore/bindings/js/JSMainThreadExecState.h
index 838e3edb3..109ce8b92 100644
--- a/Source/WebCore/bindings/js/JSMainThreadExecState.h
+++ b/Source/WebCore/bindings/js/JSMainThreadExecState.h
@@ -63,18 +63,18 @@ public:
String resourceName;
int lineNumber = 1;
if (callType == JSC::CallTypeJS) {
- resourceName = ustringToString(callData.js.functionExecutable->sourceURL());
+ resourceName = callData.js.functionExecutable->sourceURL();
lineNumber = callData.js.functionExecutable->lineNo();
} else
resourceName = "undefined";
return InspectorInstrumentation::willCallFunction(context, resourceName, lineNumber);
}
- static JSC::JSValue evaluate(JSC::ExecState* exec, JSC::ScopeChainNode* chain, const JSC::SourceCode& source, JSC::JSValue thisValue, JSC::JSValue* exception)
+ static JSC::JSValue evaluate(JSC::ExecState* exec, const JSC::SourceCode& source, JSC::JSValue thisValue, JSC::JSValue* exception)
{
JSMainThreadExecState currentState(exec);
JSC::JSLockHolder lock(exec);
- return JSC::evaluate(exec, chain, source, thisValue, exception);
+ return JSC::evaluate(exec, source, thisValue, exception);
};
protected:
diff --git a/Source/WebCore/bindings/js/JSMessageEventCustom.cpp b/Source/WebCore/bindings/js/JSMessageEventCustom.cpp
index 64fcef88a..e44cddda9 100644
--- a/Source/WebCore/bindings/js/JSMessageEventCustom.cpp
+++ b/Source/WebCore/bindings/js/JSMessageEventCustom.cpp
@@ -71,7 +71,7 @@ JSValue JSMessageEvent::data(ExecState* exec) const
break;
case MessageEvent::DataTypeString:
- result = jsString(exec, event->dataAsString());
+ result = jsStringWithCache(exec, event->dataAsString());
break;
case MessageEvent::DataTypeBlob:
@@ -102,11 +102,11 @@ JSValue JSMessageEvent::ports(ExecState* exec) const
static JSC::JSValue handleInitMessageEvent(JSMessageEvent* jsEvent, JSC::ExecState* exec)
{
- const UString& typeArg = exec->argument(0).toString(exec)->value(exec);
+ const String& typeArg = exec->argument(0).toString(exec)->value(exec);
bool canBubbleArg = exec->argument(1).toBoolean(exec);
bool cancelableArg = exec->argument(2).toBoolean(exec);
- const UString& originArg = exec->argument(4).toString(exec)->value(exec);
- const UString& lastEventIdArg = exec->argument(5).toString(exec)->value(exec);
+ const String originArg = exec->argument(4).toString(exec)->value(exec);
+ const String lastEventIdArg = exec->argument(5).toString(exec)->value(exec);
DOMWindow* sourceArg = toDOMWindow(exec->argument(6));
OwnPtr<MessagePortArray> messagePorts;
OwnPtr<ArrayBufferArray> arrayBuffers;
@@ -122,7 +122,7 @@ static JSC::JSValue handleInitMessageEvent(JSMessageEvent* jsEvent, JSC::ExecSta
return jsUndefined();
MessageEvent* event = static_cast<MessageEvent*>(jsEvent->impl());
- event->initMessageEvent(ustringToAtomicString(typeArg), canBubbleArg, cancelableArg, dataArg, ustringToString(originArg), ustringToString(lastEventIdArg), sourceArg, messagePorts.release());
+ event->initMessageEvent(typeArg, canBubbleArg, cancelableArg, dataArg, originArg, lastEventIdArg, sourceArg, messagePorts.release());
jsEvent->m_data.set(exec->globalData(), jsEvent, dataArg.jsValue());
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JSMicroDataItemValueCustom.cpp b/Source/WebCore/bindings/js/JSMicroDataItemValueCustom.cpp
index 09fc33d74..a70709a99 100644
--- a/Source/WebCore/bindings/js/JSMicroDataItemValueCustom.cpp
+++ b/Source/WebCore/bindings/js/JSMicroDataItemValueCustom.cpp
@@ -46,7 +46,7 @@ JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, MicroDataItemValu
return jsNull();
if (itemValue->isNode())
return toJS(exec, globalObject, itemValue->getNode());
- return jsString(exec, itemValue->getString());
+ return jsStringWithCache(exec, itemValue->getString());
}
}
diff --git a/Source/WebCore/bindings/js/JSNodeCustom.cpp b/Source/WebCore/bindings/js/JSNodeCustom.cpp
index 3630c0136..be1291315 100644
--- a/Source/WebCore/bindings/js/JSNodeCustom.cpp
+++ b/Source/WebCore/bindings/js/JSNodeCustom.cpp
@@ -188,7 +188,7 @@ JSValue JSNode::appendChild(ExecState* exec)
return jsNull();
}
-ScopeChainNode* JSNode::pushEventHandlerScope(ExecState* exec, ScopeChainNode* node) const
+JSScope* JSNode::pushEventHandlerScope(ExecState* exec, JSScope* node) const
{
if (inherits(&JSHTMLElement::s_info))
return jsCast<const JSHTMLElement*>(this)->pushEventHandlerScope(exec, node);
diff --git a/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp b/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
index 480035565..0d09375d1 100644
--- a/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
+++ b/Source/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
@@ -63,7 +63,7 @@ JSValue JSSQLResultSetRowList::item(ExecState* exec)
switch (value.type()) {
case SQLValue::StringValue:
- jsValue = jsString(exec, value.string());
+ jsValue = jsStringWithCache(exec, value.string());
break;
case SQLValue::NullValue:
jsValue = jsNull();
@@ -75,7 +75,7 @@ JSValue JSSQLResultSetRowList::item(ExecState* exec)
ASSERT_NOT_REACHED();
}
- object->putDirect(exec->globalData(), Identifier(exec, stringToUString(m_impl->columnNames()[i])), jsValue, DontDelete | ReadOnly);
+ object->putDirect(exec->globalData(), Identifier(exec, m_impl->columnNames()[i]), jsValue, DontDelete | ReadOnly);
}
return object;
diff --git a/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp b/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp
index a3c198f85..7a90c43bf 100644
--- a/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp
+++ b/Source/WebCore/bindings/js/JSSQLTransactionCustom.cpp
@@ -50,7 +50,7 @@ JSValue JSSQLTransaction::executeSql(ExecState* exec)
return jsUndefined();
}
- String sqlStatement = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ String sqlStatement = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
@@ -81,7 +81,7 @@ JSValue JSSQLTransaction::executeSql(ExecState* exec)
sqlValues.append(value.asNumber());
else {
// Convert the argument to a string and append it
- sqlValues.append(ustringToString(value.toString(exec)->value(exec)));
+ sqlValues.append(value.toString(exec)->value(exec));
if (exec->hadException())
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp b/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp
index 96c1884cb..33f843447 100644
--- a/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp
+++ b/Source/WebCore/bindings/js/JSSQLTransactionSyncCustom.cpp
@@ -49,7 +49,7 @@ JSValue JSSQLTransactionSync::executeSql(ExecState* exec)
return jsUndefined();
}
- String sqlStatement = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ String sqlStatement = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
@@ -80,7 +80,7 @@ JSValue JSSQLTransactionSync::executeSql(ExecState* exec)
sqlValues.append(value.asNumber());
else {
// Convert the argument to a string and append it
- sqlValues.append(ustringToString(value.toString(exec)->value(exec)));
+ sqlValues.append(value.toString(exec)->value(exec));
if (exec->hadException())
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp b/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp
index c79b793fa..7f6eb28f0 100644
--- a/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp
+++ b/Source/WebCore/bindings/js/JSSharedWorkerCustom.cpp
@@ -62,8 +62,8 @@ EncodedJSValue JSC_HOST_CALL JSSharedWorkerConstructor::constructJSSharedWorker(
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- UString scriptURL = exec->argument(0).toString(exec)->value(exec);
- UString name;
+ String scriptURL = exec->argument(0).toString(exec)->value(exec);
+ String name;
if (exec->argumentCount() > 1)
name = exec->argument(1).toString(exec)->value(exec);
@@ -73,7 +73,7 @@ EncodedJSValue JSC_HOST_CALL JSSharedWorkerConstructor::constructJSSharedWorker(
// FIXME: We need to use both the dynamic scope and the lexical scope (dynamic scope for resolving the worker URL)
DOMWindow* window = asJSDOMWindow(exec->lexicalGlobalObject())->impl();
ExceptionCode ec = 0;
- RefPtr<SharedWorker> worker = SharedWorker::create(window->document(), ustringToString(scriptURL), ustringToString(name), ec);
+ RefPtr<SharedWorker> worker = SharedWorker::create(window->document(), scriptURL, name, ec);
if (ec) {
setDOMException(exec, ec);
return JSValue::encode(JSValue());
diff --git a/Source/WebCore/bindings/js/JSStorageCustom.cpp b/Source/WebCore/bindings/js/JSStorageCustom.cpp
index a7937b014..925e840ae 100644
--- a/Source/WebCore/bindings/js/JSStorageCustom.cpp
+++ b/Source/WebCore/bindings/js/JSStorageCustom.cpp
@@ -26,9 +26,9 @@
#include "config.h"
#include "JSStorageCustom.h"
-#include "PlatformString.h"
-#include <runtime/PropertyNameArray.h>
#include "Storage.h"
+#include <runtime/PropertyNameArray.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -73,7 +73,7 @@ void JSStorage::getOwnPropertyNames(JSObject* object, ExecState* exec, PropertyN
JSStorage* thisObject = jsCast<JSStorage*>(object);
unsigned length = thisObject->m_impl->length();
for (unsigned i = 0; i < length; ++i)
- propertyNames.add(Identifier(exec, stringToUString(thisObject->m_impl->key(i))));
+ propertyNames.add(Identifier(exec, thisObject->m_impl->key(i)));
Base::getOwnPropertyNames(thisObject, exec, propertyNames, mode);
}
@@ -91,7 +91,7 @@ bool JSStorage::putDelegate(ExecState* exec, PropertyName propertyName, JSValue
if (prototype.isObject() && asObject(prototype)->hasProperty(exec, propertyName))
return false;
- String stringValue = ustringToString(value.toString(exec)->value(exec));
+ String stringValue = value.toString(exec)->value(exec);
if (exec->hadException())
return true;
diff --git a/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp b/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp
index af008074f..f4af55d82 100644
--- a/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp
+++ b/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp
@@ -107,7 +107,7 @@ static JSValue toJS(ExecState* exec, JSDOMGlobalObject* globalObject, const WebG
case WebGLGetInfo::kTypeNull:
return jsNull();
case WebGLGetInfo::kTypeString:
- return jsString(exec, info.getString());
+ return jsStringWithCache(exec, info.getString());
case WebGLGetInfo::kTypeUnsignedInt:
return jsNumber(info.getUnsignedInt());
case WebGLGetInfo::kTypeWebGLBuffer:
@@ -254,7 +254,7 @@ JSValue JSWebGLRenderingContext::getExtension(ExecState* exec)
return throwError(exec, createNotEnoughArgumentsError(exec));
WebGLRenderingContext* context = static_cast<WebGLRenderingContext*>(impl());
- const String& name = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ const String name = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
WebGLExtension* extension = context->getExtension(name);
@@ -363,7 +363,7 @@ JSValue JSWebGLRenderingContext::getSupportedExtensions(ExecState* exec)
Vector<String> value = context->getSupportedExtensions();
MarkedArgumentBuffer list;
for (size_t ii = 0; ii < value.size(); ++ii)
- list.append(jsString(exec, value[ii]));
+ list.append(jsStringWithCache(exec, value[ii]));
return constructArray(exec, globalObject(), list);
}
diff --git a/Source/WebCore/bindings/js/JSWebSocketCustom.cpp b/Source/WebCore/bindings/js/JSWebSocketCustom.cpp
index c42b3cbdf..3e350ccc4 100644
--- a/Source/WebCore/bindings/js/JSWebSocketCustom.cpp
+++ b/Source/WebCore/bindings/js/JSWebSocketCustom.cpp
@@ -61,7 +61,7 @@ EncodedJSValue JSC_HOST_CALL JSWebSocketConstructor::constructJSWebSocket(ExecSt
if (!exec->argumentCount())
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- String urlString = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ String urlString = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return throwVMError(exec, createSyntaxError(exec, "wrong URL"));
RefPtr<WebSocket> webSocket = WebSocket::create(context);
@@ -74,14 +74,14 @@ EncodedJSValue JSC_HOST_CALL JSWebSocketConstructor::constructJSWebSocket(ExecSt
Vector<String> protocols;
JSArray* protocolsArray = asArray(protocolsValue);
for (unsigned i = 0; i < protocolsArray->length(); ++i) {
- String protocol = ustringToString(protocolsArray->getIndex(i).toString(exec)->value(exec));
+ String protocol = protocolsArray->getIndex(i).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(JSValue());
protocols.append(protocol);
}
webSocket->connect(urlString, protocols, ec);
} else {
- String protocol = ustringToString(protocolsValue.toString(exec)->value(exec));
+ String protocol = protocolsValue.toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(JSValue());
webSocket->connect(urlString, protocol, ec);
@@ -106,7 +106,7 @@ JSValue JSWebSocket::send(ExecState* exec)
else if (message.inherits(&JSBlob::s_info))
result = impl()->send(toBlob(message), ec);
else {
- String stringMessage = ustringToString(message.toString(exec)->value(exec));
+ String stringMessage = message.toString(exec)->value(exec);
if (exec->hadException())
return jsUndefined();
result = impl()->send(stringMessage, ec);
diff --git a/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp b/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp
index 1fff81ac0..ec56331e2 100644
--- a/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp
+++ b/Source/WebCore/bindings/js/JSWorkerContextCustom.cpp
@@ -109,7 +109,7 @@ JSValue JSWorkerContext::importScripts(ExecState* exec)
Vector<String> urls;
for (unsigned i = 0; i < exec->argumentCount(); i++) {
- urls.append(ustringToString(exec->argument(i).toString(exec)->value(exec)));
+ urls.append(exec->argument(i).toString(exec)->value(exec));
if (exec->hadException())
return jsUndefined();
}
@@ -122,20 +122,22 @@ JSValue JSWorkerContext::importScripts(ExecState* exec)
JSValue JSWorkerContext::setTimeout(ExecState* exec)
{
- // FIXME: Should we enforce a Content-Security-Policy on workers?
- OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), 0);
+ OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), impl()->contentSecurityPolicy());
if (exec->hadException())
return jsUndefined();
+ if (!action)
+ return jsNumber(0);
int delay = exec->argument(1).toInt32(exec);
return jsNumber(impl()->setTimeout(action.release(), delay));
}
JSValue JSWorkerContext::setInterval(ExecState* exec)
{
- // FIXME: Should we enforce a Content-Security-Policy on workers?
- OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), 0);
+ OwnPtr<ScheduledAction> action = ScheduledAction::create(exec, currentWorld(exec), impl()->contentSecurityPolicy());
if (exec->hadException())
return jsUndefined();
+ if (!action)
+ return jsNumber(0);
int delay = exec->argument(1).toInt32(exec);
return jsNumber(impl()->setInterval(action.release(), delay));
}
diff --git a/Source/WebCore/bindings/js/JSWorkerCustom.cpp b/Source/WebCore/bindings/js/JSWorkerCustom.cpp
index 7145fcf34..b1f38a586 100644
--- a/Source/WebCore/bindings/js/JSWorkerCustom.cpp
+++ b/Source/WebCore/bindings/js/JSWorkerCustom.cpp
@@ -57,7 +57,7 @@ EncodedJSValue JSC_HOST_CALL JSWorkerConstructor::constructJSWorker(ExecState* e
if (!exec->argumentCount())
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- UString scriptURL = exec->argument(0).toString(exec)->value(exec);
+ String scriptURL = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(JSValue());
@@ -65,7 +65,7 @@ EncodedJSValue JSC_HOST_CALL JSWorkerConstructor::constructJSWorker(ExecState* e
DOMWindow* window = asJSDOMWindow(exec->lexicalGlobalObject())->impl();
ExceptionCode ec = 0;
- RefPtr<Worker> worker = Worker::create(window->document(), ustringToString(scriptURL), ec);
+ RefPtr<Worker> worker = Worker::create(window->document(), scriptURL, ec);
if (ec) {
setDOMException(exec, ec);
return JSValue::encode(JSValue());
diff --git a/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp b/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
index c08c29560..90bd48b7f 100644
--- a/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
+++ b/Source/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
@@ -84,8 +84,8 @@ JSValue JSXMLHttpRequest::open(ExecState* exec)
if (exec->argumentCount() < 2)
return throwError(exec, createNotEnoughArgumentsError(exec));
- const KURL& url = impl()->scriptExecutionContext()->completeURL(ustringToString(exec->argument(1).toString(exec)->value(exec)));
- String method = ustringToString(exec->argument(0).toString(exec)->value(exec));
+ const KURL& url = impl()->scriptExecutionContext()->completeURL(exec->argument(1).toString(exec)->value(exec));
+ String method = exec->argument(0).toString(exec)->value(exec);
ExceptionCode ec = 0;
if (exec->argumentCount() >= 3) {
@@ -130,16 +130,16 @@ JSValue JSXMLHttpRequest::send(ExecState* exec)
else if (val.inherits(&JSArrayBufferView::s_info))
impl()->send(toArrayBufferView(val), ec);
else
- impl()->send(ustringToString(val.toString(exec)->value(exec)), ec);
+ impl()->send(val.toString(exec)->value(exec), ec);
}
int signedLineNumber;
intptr_t sourceID;
- UString sourceURL;
+ String sourceURL;
JSValue function;
exec->interpreter()->retrieveLastCaller(exec, signedLineNumber, sourceID, sourceURL, function);
impl()->setLastSendLineNumber(signedLineNumber >= 0 ? signedLineNumber : 0);
- impl()->setLastSendURL(ustringToString(sourceURL));
+ impl()->setLastSendURL(sourceURL);
setDOMException(exec, ec);
return jsUndefined();
diff --git a/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp b/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
index 70b69809d..5436a6b9f 100644
--- a/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
+++ b/Source/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
@@ -38,60 +38,21 @@
#include "JSDocumentFragment.h"
#include "JSNode.h"
#include "Node.h"
-#include "PlatformString.h"
#include "XSLTProcessor.h"
#include "JSDOMBinding.h"
+#include <wtf/text/WTFString.h>
using namespace JSC;
namespace WebCore {
-JSValue JSXSLTProcessor::importStylesheet(ExecState* exec)
-{
- JSValue nodeVal = exec->argument(0);
- if (nodeVal.inherits(&JSNode::s_info)) {
- JSNode* node = jsCast<JSNode*>(asObject(nodeVal));
- impl()->importStylesheet(node->impl());
- return jsUndefined();
- }
- // Throw exception?
- return jsUndefined();
-}
-
-JSValue JSXSLTProcessor::transformToFragment(ExecState* exec)
-{
- JSValue nodeVal = exec->argument(0);
- JSValue docVal = exec->argument(1);
- if (nodeVal.inherits(&JSNode::s_info) && docVal.inherits(&JSDocument::s_info)) {
- WebCore::Node* node = jsCast<JSNode*>(asObject(nodeVal))->impl();
- Document* doc = static_cast<Document*>(jsCast<JSDocument*>(asObject(docVal))->impl());
- return toJS(exec, globalObject(), impl()->transformToFragment(node, doc).get());
- }
- // Throw exception?
- return jsUndefined();
-}
-
-JSValue JSXSLTProcessor::transformToDocument(ExecState* exec)
-{
- JSValue nodeVal = exec->argument(0);
- if (nodeVal.inherits(&JSNode::s_info)) {
- JSNode* node = jsCast<JSNode*>(asObject(nodeVal));
- RefPtr<Document> resultDocument = impl()->transformToDocument(node->impl());
- if (resultDocument)
- return toJS(exec, globalObject(), resultDocument.get());
- return jsUndefined();
- }
- // Throw exception?
- return jsUndefined();
-}
-
JSValue JSXSLTProcessor::setParameter(ExecState* exec)
{
if (exec->argument(1).isUndefinedOrNull() || exec->argument(2).isUndefinedOrNull())
return jsUndefined(); // Throw exception?
- String namespaceURI = ustringToString(exec->argument(0).toString(exec)->value(exec));
- String localName = ustringToString(exec->argument(1).toString(exec)->value(exec));
- String value = ustringToString(exec->argument(2).toString(exec)->value(exec));
+ String namespaceURI = exec->argument(0).toString(exec)->value(exec);
+ String localName = exec->argument(1).toString(exec)->value(exec);
+ String value = exec->argument(2).toString(exec)->value(exec);
impl()->setParameter(namespaceURI, localName, value);
return jsUndefined();
}
@@ -100,8 +61,8 @@ JSValue JSXSLTProcessor::getParameter(ExecState* exec)
{
if (exec->argument(1).isUndefinedOrNull())
return jsUndefined();
- String namespaceURI = ustringToString(exec->argument(0).toString(exec)->value(exec));
- String localName = ustringToString(exec->argument(1).toString(exec)->value(exec));
+ String namespaceURI = exec->argument(0).toString(exec)->value(exec);
+ String localName = exec->argument(1).toString(exec)->value(exec);
String value = impl()->getParameter(namespaceURI, localName);
return jsStringOrUndefined(exec, value);
}
@@ -110,8 +71,8 @@ JSValue JSXSLTProcessor::removeParameter(ExecState* exec)
{
if (exec->argument(1).isUndefinedOrNull())
return jsUndefined();
- String namespaceURI = ustringToString(exec->argument(0).toString(exec)->value(exec));
- String localName = ustringToString(exec->argument(1).toString(exec)->value(exec));
+ String namespaceURI = exec->argument(0).toString(exec)->value(exec);
+ String localName = exec->argument(1).toString(exec)->value(exec);
impl()->removeParameter(namespaceURI, localName);
return jsUndefined();
}
diff --git a/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp b/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp
index 9ea9ec8f0..8d19d51d7 100644
--- a/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp
+++ b/Source/WebCore/bindings/js/JavaScriptCallFrame.cpp
@@ -31,13 +31,13 @@
#include "JSDOMBinding.h"
#include "JSDOMWindowBase.h"
-#include "PlatformString.h"
#include <debugger/DebuggerCallFrame.h>
#include <runtime/Completion.h>
#include <runtime/JSGlobalObject.h>
#include <runtime/JSLock.h>
#include <runtime/JSObject.h>
#include <runtime/JSValue.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -57,12 +57,12 @@ JavaScriptCallFrame* JavaScriptCallFrame::caller()
return m_caller.get();
}
-JSC::ScopeChainNode* JavaScriptCallFrame::scopeChain() const
+JSC::JSScope* JavaScriptCallFrame::scopeChain() const
{
ASSERT(m_isValid);
if (!m_isValid)
return 0;
- return m_debuggerCallFrame.scopeChain();
+ return m_debuggerCallFrame.scope();
}
JSC::JSGlobalObject* JavaScriptCallFrame::dynamicGlobalObject() const
@@ -78,10 +78,10 @@ String JavaScriptCallFrame::functionName() const
ASSERT(m_isValid);
if (!m_isValid)
return String();
- UString functionName = m_debuggerCallFrame.calculatedFunctionName();
+ String functionName = m_debuggerCallFrame.calculatedFunctionName();
if (functionName.isEmpty())
return String();
- return ustringToString(functionName);
+ return functionName;
}
DebuggerCallFrame::Type JavaScriptCallFrame::type() const
@@ -109,7 +109,7 @@ ExecState* JavaScriptCallFrame::exec() const
}
// Evaluate some JavaScript code in the scope of this frame.
-JSValue JavaScriptCallFrame::evaluate(const UString& script, JSValue& exception) const
+JSValue JavaScriptCallFrame::evaluate(const String& script, JSValue& exception) const
{
ASSERT(m_isValid);
if (!m_isValid)
diff --git a/Source/WebCore/bindings/js/JavaScriptCallFrame.h b/Source/WebCore/bindings/js/JavaScriptCallFrame.h
index e987ecf88..1bbc45d7a 100644
--- a/Source/WebCore/bindings/js/JavaScriptCallFrame.h
+++ b/Source/WebCore/bindings/js/JavaScriptCallFrame.h
@@ -69,12 +69,12 @@ public:
String functionName() const;
JSC::DebuggerCallFrame::Type type() const;
- JSC::ScopeChainNode* scopeChain() const;
+ JSC::JSScope* scopeChain() const;
JSC::JSGlobalObject* dynamicGlobalObject() const;
JSC::ExecState* exec() const;
JSC::JSObject* thisObject() const;
- JSC::JSValue evaluate(const JSC::UString& script, JSC::JSValue& exception) const;
+ JSC::JSValue evaluate(const String& script, JSC::JSValue& exception) const;
private:
JavaScriptCallFrame(const JSC::DebuggerCallFrame&, PassRefPtr<JavaScriptCallFrame> caller, intptr_t sourceID, const TextPosition&);
diff --git a/Source/WebCore/bindings/js/ScheduledAction.cpp b/Source/WebCore/bindings/js/ScheduledAction.cpp
index c469bf829..76820510d 100644
--- a/Source/WebCore/bindings/js/ScheduledAction.cpp
+++ b/Source/WebCore/bindings/js/ScheduledAction.cpp
@@ -58,10 +58,10 @@ PassOwnPtr<ScheduledAction> ScheduledAction::create(ExecState* exec, DOMWrapperW
RefPtr<ScriptCallStack> callStack(createScriptCallStackForInspector(exec));
if (policy && !policy->allowEval(callStack.release()))
return nullptr;
- UString string = v.toString(exec)->value(exec);
+ String string = v.toString(exec)->value(exec);
if (exec->hadException())
return nullptr;
- return adoptPtr(new ScheduledAction(ustringToString(string), isolatedWorld));
+ return adoptPtr(new ScheduledAction(string, isolatedWorld));
}
return adoptPtr(new ScheduledAction(exec, v, isolatedWorld));
diff --git a/Source/WebCore/bindings/js/ScheduledAction.h b/Source/WebCore/bindings/js/ScheduledAction.h
index caac9a6cb..e52dfed92 100644
--- a/Source/WebCore/bindings/js/ScheduledAction.h
+++ b/Source/WebCore/bindings/js/ScheduledAction.h
@@ -21,12 +21,12 @@
#define ScheduledAction_h
#include "JSDOMBinding.h"
-#include "PlatformString.h"
#include <heap/Strong.h>
#include <heap/StrongInlines.h>
#include <runtime/JSCell.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
class JSGlobalObject;
diff --git a/Source/WebCore/bindings/js/ScriptCallStackFactory.cpp b/Source/WebCore/bindings/js/ScriptCallStackFactory.cpp
index 3bb69f42c..4faeeed89 100644
--- a/Source/WebCore/bindings/js/ScriptCallStackFactory.cpp
+++ b/Source/WebCore/bindings/js/ScriptCallStackFactory.cpp
@@ -45,7 +45,7 @@
#include <runtime/JSFunction.h>
#include <runtime/JSGlobalData.h>
#include <runtime/JSValue.h>
-#include <runtime/UString.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -82,11 +82,11 @@ PassRefPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t m
ASSERT(callFrame);
int signedLineNumber;
intptr_t sourceID;
- UString urlString;
+ String urlString;
JSValue function;
exec->interpreter()->retrieveLastCaller(callFrame, signedLineNumber, sourceID, urlString, function);
- UString functionName;
+ String functionName;
if (function)
functionName = jsCast<JSFunction*>(function)->name(exec);
else {
@@ -96,7 +96,7 @@ PassRefPtr<ScriptCallStack> createScriptCallStack(JSC::ExecState* exec, size_t m
break;
}
unsigned lineNumber = signedLineNumber >= 0 ? signedLineNumber : 0;
- frames.append(ScriptCallFrame(ustringToString(functionName), ustringToString(urlString), lineNumber));
+ frames.append(ScriptCallFrame(functionName, urlString, lineNumber));
if (!function || frames.size() == maxStackSize)
break;
callFrame = callFrame->callerFrame();
diff --git a/Source/WebCore/bindings/js/ScriptController.cpp b/Source/WebCore/bindings/js/ScriptController.cpp
index da93984ed..1f2e9d372 100644
--- a/Source/WebCore/bindings/js/ScriptController.cpp
+++ b/Source/WebCore/bindings/js/ScriptController.cpp
@@ -122,7 +122,7 @@ JSDOMWindowShell* ScriptController::createWindowShell(DOMWrapperWorld* world)
ScriptValue ScriptController::evaluateInWorld(const ScriptSourceCode& sourceCode, DOMWrapperWorld* world)
{
const SourceCode& jsSourceCode = sourceCode.jsSourceCode();
- String sourceURL = ustringToString(jsSourceCode.provider()->url());
+ String sourceURL = jsSourceCode.provider()->url();
// evaluate code. Returns the JS return value or 0
// if there was none, an error occurred or the type couldn't be converted.
@@ -145,7 +145,7 @@ ScriptValue ScriptController::evaluateInWorld(const ScriptSourceCode& sourceCode
JSValue evaluationException;
exec->globalData().timeoutChecker.start();
- JSValue returnValue = JSMainThreadExecState::evaluate(exec, exec->dynamicGlobalObject()->globalScopeChain(), jsSourceCode, shell, &evaluationException);
+ JSValue returnValue = JSMainThreadExecState::evaluate(exec, jsSourceCode, shell, &evaluationException);
exec->globalData().timeoutChecker.stop();
InspectorInstrumentation::didEvaluateScript(cookie);
@@ -293,9 +293,6 @@ void ScriptController::attachDebugger(JSDOMWindowShell* shell, JSC::Debugger* de
void ScriptController::updateDocument()
{
- if (!m_frame->document())
- return;
-
for (ShellMap::iterator iter = m_windowShells.begin(); iter != m_windowShells.end(); ++iter) {
JSLockHolder lock(iter->first->globalData());
iter->second->window()->updateDocument();
diff --git a/Source/WebCore/bindings/js/ScriptDebugServer.cpp b/Source/WebCore/bindings/js/ScriptDebugServer.cpp
index bbcd54299..16c4d9dfb 100644
--- a/Source/WebCore/bindings/js/ScriptDebugServer.cpp
+++ b/Source/WebCore/bindings/js/ScriptDebugServer.cpp
@@ -134,7 +134,7 @@ void ScriptDebugServer::updateCurrentStatementPosition(intptr_t sourceID, int li
SourceProvider* source = reinterpret_cast<SourceProvider*>(sourceID);
if (m_currentSourceID != sourceID) {
- String sourceCode = ustringToString(JSC::UString(const_cast<StringImpl*>(source->data())));
+ String sourceCode(const_cast<StringImpl*>(source->data()));
m_currentSourceCode.clear();
sourceCode.split("\n", true, m_currentSourceCode);
m_currentSourceID = sourceID;
@@ -201,7 +201,7 @@ bool ScriptDebugServer::hasBreakpoint(intptr_t sourceID, const TextPosition& pos
return true;
JSValue exception;
- JSValue result = m_currentCallFrame->evaluate(stringToUString(breaksVector.at(i).condition), exception);
+ JSValue result = m_currentCallFrame->evaluate(breaksVector.at(i).condition, exception);
if (exception) {
// An erroneous condition counts as "false".
return false;
@@ -295,7 +295,7 @@ void ScriptDebugServer::updateCallStack(ScriptValue*)
void ScriptDebugServer::dispatchDidPause(ScriptDebugListener* listener)
{
ASSERT(m_paused);
- JSGlobalObject* globalObject = m_currentCallFrame->scopeChain()->globalObject.get();
+ JSGlobalObject* globalObject = m_currentCallFrame->scopeChain()->globalObject();
ScriptState* state = globalObject->globalExec();
JSValue jsCallFrame;
{
@@ -316,11 +316,11 @@ void ScriptDebugServer::dispatchDidContinue(ScriptDebugListener* listener)
void ScriptDebugServer::dispatchDidParseSource(const ListenerSet& listeners, SourceProvider* sourceProvider, bool isContentScript)
{
- String sourceID = ustringToString(JSC::UString::number(sourceProvider->asID()));
+ String sourceID = String::number(sourceProvider->asID());
ScriptDebugListener::Script script;
- script.url = ustringToString(sourceProvider->url());
- script.source = ustringToString(JSC::UString(const_cast<StringImpl*>(sourceProvider->data())));
+ script.url = sourceProvider->url();
+ script.source = String(const_cast<StringImpl*>(sourceProvider->data()));
script.startLine = sourceProvider->startPosition().m_line.zeroBasedInt();
script.startColumn = sourceProvider->startPosition().m_column.zeroBasedInt();
script.isContentScript = isContentScript;
@@ -354,8 +354,8 @@ void ScriptDebugServer::dispatchDidParseSource(const ListenerSet& listeners, Sou
void ScriptDebugServer::dispatchFailedToParseSource(const ListenerSet& listeners, SourceProvider* sourceProvider, int errorLine, const String& errorMessage)
{
- String url = ustringToString(sourceProvider->url());
- String data = ustringToString(JSC::UString(const_cast<StringImpl*>(sourceProvider->data())));
+ String url = sourceProvider->url();
+ String data = String(const_cast<StringImpl*>(sourceProvider->data()));
int firstLine = sourceProvider->startPosition().m_line.oneBasedInt();
Vector<ScriptDebugListener*> copy;
@@ -382,7 +382,7 @@ void ScriptDebugServer::detach(JSGlobalObject* globalObject)
Debugger::detach(globalObject);
}
-void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const UString& errorMessage)
+void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMessage)
{
if (m_callingListeners)
return;
@@ -396,7 +396,7 @@ void ScriptDebugServer::sourceParsed(ExecState* exec, SourceProvider* sourceProv
bool isError = errorLine != -1;
if (isError)
- dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, ustringToString(errorMessage));
+ dispatchFailedToParseSource(*listeners, sourceProvider, errorLine, errorMessage);
else
dispatchDidParseSource(*listeners, sourceProvider, isContentScript(exec));
diff --git a/Source/WebCore/bindings/js/ScriptDebugServer.h b/Source/WebCore/bindings/js/ScriptDebugServer.h
index 935914c6b..f36bba004 100644
--- a/Source/WebCore/bindings/js/ScriptDebugServer.h
+++ b/Source/WebCore/bindings/js/ScriptDebugServer.h
@@ -33,17 +33,15 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
#include "ScriptDebugListener.h"
-#include "PlatformString.h"
#include "ScriptBreakpoint.h"
#include "Timer.h"
-
#include <debugger/Debugger.h>
-#include <runtime/UString.h>
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/TextPosition.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
class DebuggerCallFrame;
@@ -129,7 +127,7 @@ protected:
virtual void detach(JSC::JSGlobalObject*);
- virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const JSC::UString& errorMsg);
+ virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const String& errorMsg);
virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
virtual void atStatement(const JSC::DebuggerCallFrame&, intptr_t sourceID, int firstLine, int columnNumber);
virtual void returnEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
diff --git a/Source/WebCore/bindings/js/ScriptEventListener.cpp b/Source/WebCore/bindings/js/ScriptEventListener.cpp
index 7216b6f36..c0e9c3e39 100644
--- a/Source/WebCore/bindings/js/ScriptEventListener.cpp
+++ b/Source/WebCore/bindings/js/ScriptEventListener.cpp
@@ -47,8 +47,8 @@ namespace WebCore {
static const String& eventParameterName(bool isSVGEvent)
{
- DEFINE_STATIC_LOCAL(const String, eventString, ("event"));
- DEFINE_STATIC_LOCAL(const String, evtString, ("evt"));
+ DEFINE_STATIC_LOCAL(const String, eventString, (ASCIILiteral("event")));
+ DEFINE_STATIC_LOCAL(const String, evtString, (ASCIILiteral("evt")));
return isSVGEvent ? evtString : eventString;
}
@@ -103,7 +103,7 @@ String eventListenerHandlerBody(Document* document, EventListener* eventListener
if (!jsFunction)
return "";
ScriptState* scriptState = scriptStateFromNode(jsListener->isolatedWorld(), document);
- return ustringToString(jsFunction->toString(scriptState)->value(scriptState));
+ return jsFunction->toString(scriptState)->value(scriptState);
}
bool eventListenerHandlerLocation(Document* document, EventListener* eventListener, String& sourceName, int& lineNumber)
@@ -123,7 +123,7 @@ bool eventListenerHandlerLocation(Document* document, EventListener* eventListen
if (!funcExecutable)
return false;
lineNumber = funcExecutable->lineNo();
- sourceName = ustringToString(funcExecutable->sourceURL());
+ sourceName = funcExecutable->sourceURL();
return true;
}
diff --git a/Source/WebCore/bindings/js/ScriptFunctionCall.cpp b/Source/WebCore/bindings/js/ScriptFunctionCall.cpp
index 54778259a..e52842e0b 100644
--- a/Source/WebCore/bindings/js/ScriptFunctionCall.cpp
+++ b/Source/WebCore/bindings/js/ScriptFunctionCall.cpp
@@ -36,7 +36,7 @@
#include "ScriptValue.h"
#include <runtime/JSLock.h>
-#include <runtime/UString.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -59,19 +59,13 @@ void ScriptCallArgumentHandler::appendArgument(const ScriptValue& argument)
void ScriptCallArgumentHandler::appendArgument(const String& argument)
{
JSLockHolder lock(m_exec);
- m_arguments.append(jsString(m_exec, argument));
-}
-
-void ScriptCallArgumentHandler::appendArgument(const JSC::UString& argument)
-{
- JSLockHolder lock(m_exec);
- m_arguments.append(jsString(m_exec, argument));
+ m_arguments.append(jsStringWithCache(m_exec, argument));
}
void ScriptCallArgumentHandler::appendArgument(const char* argument)
{
JSLockHolder lock(m_exec);
- m_arguments.append(jsString(m_exec, UString(argument)));
+ m_arguments.append(jsString(m_exec, String(argument)));
}
void ScriptCallArgumentHandler::appendArgument(JSC::JSValue argument)
@@ -127,7 +121,7 @@ ScriptValue ScriptFunctionCall::call(bool& hadException, bool reportExceptions)
JSLockHolder lock(m_exec);
- JSValue function = thisObject->get(m_exec, Identifier(m_exec, stringToUString(m_name)));
+ JSValue function = thisObject->get(m_exec, Identifier(m_exec, m_name));
if (m_exec->hadException()) {
if (reportExceptions)
reportException(m_exec, m_exec->exception());
@@ -165,7 +159,7 @@ ScriptObject ScriptFunctionCall::construct(bool& hadException, bool reportExcept
JSLockHolder lock(m_exec);
- JSObject* constructor = asObject(thisObject->get(m_exec, Identifier(m_exec, stringToUString(m_name))));
+ JSObject* constructor = asObject(thisObject->get(m_exec, Identifier(m_exec, m_name)));
if (m_exec->hadException()) {
if (reportExceptions)
reportException(m_exec, m_exec->exception());
diff --git a/Source/WebCore/bindings/js/ScriptFunctionCall.h b/Source/WebCore/bindings/js/ScriptFunctionCall.h
index 69b5e28db..4e9c202b1 100644
--- a/Source/WebCore/bindings/js/ScriptFunctionCall.h
+++ b/Source/WebCore/bindings/js/ScriptFunctionCall.h
@@ -31,14 +31,13 @@
#ifndef ScriptFunctionCall_h
#define ScriptFunctionCall_h
-#include "PlatformString.h"
#include "ScriptObject.h"
#include "ScriptState.h"
#include <runtime/ArgList.h>
+#include <wtf/text/WTFString.h>
namespace JSC {
- class UString;
class JSValue;
}
@@ -51,9 +50,8 @@ namespace WebCore {
void appendArgument(const ScriptObject&);
void appendArgument(const ScriptValue&);
- void appendArgument(const String&);
void appendArgument(const char*);
- void appendArgument(const JSC::UString&);
+ void appendArgument(const String&);
void appendArgument(JSC::JSValue);
void appendArgument(long);
void appendArgument(long long);
diff --git a/Source/WebCore/bindings/js/ScriptHeapSnapshot.h b/Source/WebCore/bindings/js/ScriptHeapSnapshot.h
index c7082cb8c..5269ff925 100644
--- a/Source/WebCore/bindings/js/ScriptHeapSnapshot.h
+++ b/Source/WebCore/bindings/js/ScriptHeapSnapshot.h
@@ -31,8 +31,8 @@
#ifndef ScriptHeapSnapshot_h
#define ScriptHeapSnapshot_h
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/js/ScriptProfile.cpp b/Source/WebCore/bindings/js/ScriptProfile.cpp
index 3c2b65fe0..4cef4cddd 100644
--- a/Source/WebCore/bindings/js/ScriptProfile.cpp
+++ b/Source/WebCore/bindings/js/ScriptProfile.cpp
@@ -55,7 +55,7 @@ ScriptProfile::~ScriptProfile()
String ScriptProfile::title() const
{
- return ustringToString(m_profile->title());
+ return m_profile->title();
}
unsigned int ScriptProfile::uid() const
@@ -80,8 +80,8 @@ static PassRefPtr<InspectorObject> buildInspectorObjectFor(const JSC::ProfileNod
{
RefPtr<InspectorObject> result = InspectorObject::create();
- result->setString("functionName", ustringToString(node->functionName()));
- result->setString("url", ustringToString(node->url()));
+ result->setString("functionName", node->functionName());
+ result->setString("url", node->url());
result->setNumber("lineNumber", node->lineNumber());
result->setNumber("totalTime", node->totalTime());
result->setNumber("selfTime", node->selfTime());
diff --git a/Source/WebCore/bindings/js/ScriptProfiler.cpp b/Source/WebCore/bindings/js/ScriptProfiler.cpp
index d6afd8966..5c7ebd7d5 100644
--- a/Source/WebCore/bindings/js/ScriptProfiler.cpp
+++ b/Source/WebCore/bindings/js/ScriptProfiler.cpp
@@ -58,7 +58,7 @@ unsigned ScriptProfiler::getHeapObjectId(const ScriptValue&)
void ScriptProfiler::start(ScriptState* state, const String& title)
{
- JSC::Profiler::profiler()->startProfiling(state, stringToUString(title));
+ JSC::Profiler::profiler()->startProfiling(state, title);
}
void ScriptProfiler::startForPage(Page* inspectedPage, const String& title)
@@ -76,7 +76,7 @@ void ScriptProfiler::startForWorkerContext(WorkerContext* context, const String&
PassRefPtr<ScriptProfile> ScriptProfiler::stop(ScriptState* state, const String& title)
{
- RefPtr<JSC::Profile> profile = JSC::Profiler::profiler()->stopProfiling(state, stringToUString(title));
+ RefPtr<JSC::Profile> profile = JSC::Profiler::profiler()->stopProfiling(state, title);
return ScriptProfile::create(profile);
}
diff --git a/Source/WebCore/bindings/js/ScriptSourceProvider.h b/Source/WebCore/bindings/js/ScriptSourceProvider.h
index 87601850a..8396082fa 100644
--- a/Source/WebCore/bindings/js/ScriptSourceProvider.h
+++ b/Source/WebCore/bindings/js/ScriptSourceProvider.h
@@ -34,7 +34,7 @@ namespace WebCore {
class ScriptSourceProvider : public JSC::SourceProvider {
public:
- ScriptSourceProvider(const JSC::UString& url, const TextPosition& startPosition, JSC::SourceProviderCache* cache = 0)
+ ScriptSourceProvider(const String& url, const TextPosition& startPosition, JSC::SourceProviderCache* cache = 0)
: SourceProvider(url, startPosition, cache)
{
}
diff --git a/Source/WebCore/bindings/js/ScriptValue.cpp b/Source/WebCore/bindings/js/ScriptValue.cpp
index 83dfd5fb8..4310ffcd7 100644
--- a/Source/WebCore/bindings/js/ScriptValue.cpp
+++ b/Source/WebCore/bindings/js/ScriptValue.cpp
@@ -39,7 +39,6 @@
#include <heap/Strong.h>
#include <runtime/JSLock.h>
-#include <runtime/UString.h>
using namespace JSC;
@@ -50,16 +49,14 @@ bool ScriptValue::getString(ScriptState* scriptState, String& result) const
if (!m_value)
return false;
JSLockHolder lock(scriptState);
- UString ustring;
- if (!m_value.get().getString(scriptState, ustring))
+ if (!m_value.get().getString(scriptState, result))
return false;
- result = ustringToString(ustring);
return true;
}
String ScriptValue::toString(ScriptState* scriptState) const
{
- String result = ustringToString(m_value.get().toString(scriptState)->value(scriptState));
+ String result = m_value.get().toString(scriptState)->value(scriptState);
// Handle the case where an exception is thrown as part of invoking toString on the object.
if (scriptState->hadException())
scriptState->clearException();
@@ -138,7 +135,7 @@ static PassRefPtr<InspectorValue> jsToInspectorValue(ScriptState* scriptState, J
if (value.isNumber())
return InspectorBasicValue::create(value.asNumber());
if (value.isString()) {
- UString s = value.getString(scriptState);
+ String s = value.getString(scriptState);
return InspectorString::create(String(s.characters(), s.length()));
}
if (value.isObject()) {
diff --git a/Source/WebCore/bindings/js/ScriptValue.h b/Source/WebCore/bindings/js/ScriptValue.h
index 1573a4906..246cae08f 100644
--- a/Source/WebCore/bindings/js/ScriptValue.h
+++ b/Source/WebCore/bindings/js/ScriptValue.h
@@ -31,13 +31,13 @@
#ifndef ScriptValue_h
#define ScriptValue_h
-#include "PlatformString.h"
#include "SerializedScriptValue.h"
#include "ScriptState.h"
#include <heap/Strong.h>
#include <heap/StrongInlines.h>
#include <runtime/JSValue.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/js/ScriptWrappable.h b/Source/WebCore/bindings/js/ScriptWrappable.h
index cd0873aff..43f4eec44 100644
--- a/Source/WebCore/bindings/js/ScriptWrappable.h
+++ b/Source/WebCore/bindings/js/ScriptWrappable.h
@@ -32,7 +32,7 @@
#define ScriptWrappable_h
#include "JSDOMWrapper.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <heap/Weak.h>
namespace WebCore {
@@ -57,7 +57,7 @@ public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_wrapper);
}
diff --git a/Source/WebCore/bindings/js/SerializedScriptValue.cpp b/Source/WebCore/bindings/js/SerializedScriptValue.cpp
index ea702295b..a8471a7ad 100644
--- a/Source/WebCore/bindings/js/SerializedScriptValue.cpp
+++ b/Source/WebCore/bindings/js/SerializedScriptValue.cpp
@@ -386,7 +386,7 @@ private:
: CloneBase(exec)
, m_buffer(out)
, m_blobURLs(blobURLs)
- , m_emptyIdentifier(exec, UString("", 0))
+ , m_emptyIdentifier(exec, emptyString())
{
write(CurrentVersion);
fillTransferMap(messagePorts, m_transferredMessagePorts);
@@ -523,7 +523,7 @@ private:
}
}
- void dumpString(UString str)
+ void dumpString(String str)
{
if (str.isEmpty())
write(EmptyStringTag);
@@ -533,7 +533,7 @@ private:
}
}
- void dumpStringObject(UString str)
+ void dumpStringObject(String str)
{
if (str.isEmpty())
write(EmptyStringObjectTag);
@@ -589,7 +589,7 @@ private:
}
if (value.isString()) {
- UString str = asString(value)->value(m_exec);
+ String str = asString(value)->value(m_exec);
dumpString(str);
return true;
}
@@ -620,7 +620,7 @@ private:
if (obj->inherits(&StringObject::s_info)) {
if (!startObjectInternal(obj)) // handle duplicates
return true;
- UString str = asString(asStringObject(value)->internalValue())->value(m_exec);
+ String str = asString(asStringObject(value)->internalValue())->value(m_exec);
dumpStringObject(str);
return true;
}
@@ -676,7 +676,7 @@ private:
flags[flagCount++] = 'm';
write(RegExpTag);
write(regExp->regExp()->pattern());
- write(UString(flags, flagCount));
+ write(String(flags, flagCount));
return true;
}
if (obj->inherits(&JSMessagePort::s_info)) {
@@ -792,7 +792,7 @@ private:
void write(const Identifier& ident)
{
- UString str = ident.ustring();
+ const String& str = ident.string();
StringConstantPool::AddResult addResult = m_constantPool.add(str.impl(), m_constantPool.size());
if (!addResult.isNewEntry) {
write(StringPoolTag);
@@ -818,7 +818,7 @@ private:
fail();
}
- void write(const UString& str)
+ void write(const String& str)
{
if (str.isNull())
write(m_emptyIdentifier);
@@ -826,14 +826,6 @@ private:
write(Identifier(m_exec, str));
}
- void write(const String& str)
- {
- if (str.isEmpty())
- write(m_emptyIdentifier);
- else
- write(Identifier(m_exec, str.impl()));
- }
-
void write(const File* file)
{
m_blobURLs.append(file->url());
@@ -1037,7 +1029,7 @@ public:
const uint8_t* start = value.begin();
const uint8_t* end = value.end();
const uint32_t length = value.size() / sizeof(UChar);
- UString str;
+ String str;
if (!CloneDeserializer::readString(start, end, str, length))
return String();
@@ -1057,7 +1049,7 @@ public:
uint32_t length;
if (!readLittleEndian(ptr, end, length) || length >= StringPoolTag)
return String();
- UString str;
+ String str;
if (!readString(ptr, end, str, length))
return String();
return String(str.impl());
@@ -1077,7 +1069,7 @@ public:
private:
struct CachedString {
- CachedString(const UString& string)
+ CachedString(const String& string)
: m_string(string)
{
}
@@ -1088,10 +1080,10 @@ private:
m_jsString = JSC::jsString(exec, m_string);
return m_jsString;
}
- const UString& ustring() { return m_string; }
+ const String& string() { return m_string; }
private:
- UString m_string;
+ String m_string;
JSValue m_jsString;
};
@@ -1240,7 +1232,7 @@ private:
return read(i);
}
- static bool readString(const uint8_t*& ptr, const uint8_t* end, UString& str, unsigned length)
+ static bool readString(const uint8_t*& ptr, const uint8_t* end, String& str, unsigned length)
{
if (length >= numeric_limits<int32_t>::max() / sizeof(UChar))
return false;
@@ -1250,7 +1242,7 @@ private:
return false;
#if ASSUME_LITTLE_ENDIAN
- str = UString(reinterpret_cast<const UChar*>(ptr), length);
+ str = String(reinterpret_cast<const UChar*>(ptr), length);
ptr += length * sizeof(UChar);
#else
Vector<UChar> buffer;
@@ -1260,7 +1252,7 @@ private:
readLittleEndian(ptr, end, ch);
buffer.append(ch);
}
- str = UString::adopt(buffer);
+ str = String::adopt(buffer);
#endif
return true;
}
@@ -1295,7 +1287,7 @@ private:
cachedString = CachedStringRef(&m_constantPool, index);
return true;
}
- UString str;
+ String str;
if (!readString(m_ptr, m_end, str, length)) {
fail();
return false;
@@ -1322,7 +1314,7 @@ private:
void putProperty(JSArray* array, unsigned index, JSValue value)
{
- array->putDirectIndex(m_exec, index, value, false);
+ array->putDirectIndex(m_exec, index, value);
}
void putProperty(JSObject* object, const Identifier& property, JSValue value)
@@ -1342,7 +1334,7 @@ private:
if (!readStringData(type))
return 0;
if (m_isDOMGlobalObject)
- file = File::create(String(path->ustring().impl()), KURL(KURL(), String(url->ustring().impl())), String(type->ustring().impl()));
+ file = File::create(path->string(), KURL(KURL(), url->string()), type->string());
return true;
}
@@ -1536,7 +1528,7 @@ private:
return JSValue();
if (!m_isDOMGlobalObject)
return jsNull();
- return getJSValue(Blob::create(KURL(KURL(), url->ustring().impl()), String(type->ustring().impl()), size).get());
+ return getJSValue(Blob::create(KURL(KURL(), url->string()), type->string(), size).get());
}
case StringTag: {
CachedStringRef cachedString;
@@ -1566,9 +1558,9 @@ private:
CachedStringRef flags;
if (!readStringData(flags))
return JSValue();
- RegExpFlags reFlags = regExpFlags(flags->ustring());
+ RegExpFlags reFlags = regExpFlags(flags->string());
ASSERT(reFlags != InvalidFlags);
- RegExp* regExp = RegExp::create(m_exec->globalData(), pattern->ustring(), reFlags);
+ RegExp* regExp = RegExp::create(m_exec->globalData(), pattern->string(), reFlags);
return RegExpObject::create(m_exec, m_exec->lexicalGlobalObject(), m_globalObject->regExpStructure(), regExp);
}
case ObjectReferenceTag: {
@@ -1728,11 +1720,11 @@ DeserializationResult CloneDeserializer::deserialize()
}
if (JSValue terminal = readTerminal()) {
- putProperty(outputObjectStack.last(), Identifier(m_exec, cachedString->ustring()), terminal);
+ putProperty(outputObjectStack.last(), Identifier(m_exec, cachedString->string()), terminal);
goto objectStartVisitMember;
}
stateStack.append(ObjectEndVisitMember);
- propertyNameStack.append(Identifier(m_exec, cachedString->ustring()));
+ propertyNameStack.append(Identifier(m_exec, cachedString->string()));
goto stateUnknown;
}
case ObjectEndVisitMember: {
diff --git a/Source/WebCore/bindings/js/SerializedScriptValue.h b/Source/WebCore/bindings/js/SerializedScriptValue.h
index ab99898b7..832b5d4bf 100644
--- a/Source/WebCore/bindings/js/SerializedScriptValue.h
+++ b/Source/WebCore/bindings/js/SerializedScriptValue.h
@@ -27,7 +27,6 @@
#ifndef SerializedScriptValue_h
#define SerializedScriptValue_h
-#include "PlatformString.h"
#include "ScriptState.h"
#include <heap/Strong.h>
#include <runtime/JSValue.h>
@@ -35,6 +34,7 @@
#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
typedef const struct OpaqueJSContext* JSContextRef;
typedef const struct OpaqueJSValue* JSValueRef;
diff --git a/Source/WebCore/bindings/js/StringSourceProvider.h b/Source/WebCore/bindings/js/StringSourceProvider.h
index 8b6718891..6b6bb4e9a 100644
--- a/Source/WebCore/bindings/js/StringSourceProvider.h
+++ b/Source/WebCore/bindings/js/StringSourceProvider.h
@@ -42,13 +42,13 @@ namespace WebCore {
return adoptRef(new StringSourceProvider(source, url, startPosition));
}
- virtual JSC::UString getRange(int start, int end) const OVERRIDE
+ virtual String getRange(int start, int end) const OVERRIDE
{
int length = end - start;
ASSERT(length >= 0);
ASSERT(start + length <= this->length());
- return JSC::UString(StringImpl::create(m_source.impl(), start, length));
+ return String(StringImpl::create(m_source.impl(), start, length));
}
const StringImpl* data() const { return m_source.impl(); }
@@ -57,7 +57,7 @@ namespace WebCore {
private:
StringSourceProvider(const String& source, const String& url, const TextPosition& startPosition)
- : ScriptSourceProvider(stringToUString(url), startPosition)
+ : ScriptSourceProvider(url, startPosition)
, m_source(source)
{
}
@@ -65,11 +65,6 @@ namespace WebCore {
String m_source;
};
- inline JSC::SourceCode makeSource(const String& source, const String& url = String(), const TextPosition& startPosition = TextPosition::minimumPosition())
- {
- return JSC::SourceCode(StringSourceProvider::create(source, url, startPosition), startPosition.m_line.oneBasedInt());
- }
-
} // namespace WebCore
#endif // StringSourceProvider_h
diff --git a/Source/WebCore/bindings/js/WorkerScriptController.cpp b/Source/WebCore/bindings/js/WorkerScriptController.cpp
index 9bfde8f2a..a5fc35b29 100644
--- a/Source/WebCore/bindings/js/WorkerScriptController.cpp
+++ b/Source/WebCore/bindings/js/WorkerScriptController.cpp
@@ -135,7 +135,7 @@ void WorkerScriptController::evaluate(const ScriptSourceCode& sourceCode, Script
m_workerContextWrapper->globalData().timeoutChecker.start();
JSValue evaluationException;
- JSC::evaluate(exec, exec->dynamicGlobalObject()->globalScopeChain(), sourceCode.jsSourceCode(), m_workerContextWrapper.get(), &evaluationException);
+ JSC::evaluate(exec, sourceCode.jsSourceCode(), m_workerContextWrapper.get(), &evaluationException);
m_workerContextWrapper->globalData().timeoutChecker.stop();
diff --git a/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.mm b/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.mm
index 30ae6f5cf..4d84ab341 100644
--- a/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.mm
+++ b/Source/WebCore/bindings/objc/DOMCustomXPathNSResolver.mm
@@ -27,7 +27,7 @@
#include "DOMCustomXPathNSResolver.h"
#include "BlockExceptions.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/objc/DOMXPath.mm b/Source/WebCore/bindings/objc/DOMXPath.mm
index 8a3c080f6..c3f4cde7f 100644
--- a/Source/WebCore/bindings/objc/DOMXPath.mm
+++ b/Source/WebCore/bindings/objc/DOMXPath.mm
@@ -28,9 +28,9 @@
#import "DOMInternal.h" // import first to make the private/public trick work
#import "DOMXPath.h"
-#import "PlatformString.h"
#import "WebScriptObjectPrivate.h"
#import "XPathNSResolver.h"
+#import <wtf/text/WTFString.h>
//------------------------------------------------------------------------------------------
// DOMNativeXPathNSResolver
diff --git a/Source/WebCore/bindings/objc/WebScriptObject.mm b/Source/WebCore/bindings/objc/WebScriptObject.mm
index c1c198d65..ff63fd2e4 100644
--- a/Source/WebCore/bindings/objc/WebScriptObject.mm
+++ b/Source/WebCore/bindings/objc/WebScriptObject.mm
@@ -38,7 +38,6 @@
#import "JSMainThreadExecState.h"
#import "JSPluginElementFunctions.h"
#import "ObjCRuntimeObject.h"
-#import "PlatformString.h"
#import "StringSourceProvider.h"
#import "WebCoreObjCExtras.h"
#import "objc_instance.h"
@@ -53,7 +52,7 @@
#import <runtime/Completion.h>
#import <wtf/TCSpinLock.h>
#import <wtf/Threading.h>
-
+#include <wtf/text/WTFString.h>
using namespace JSC;
using namespace JSC::Bindings;
@@ -317,7 +316,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
JSLockHolder lock(exec);
ASSERT(!exec->hadException());
- JSValue function = [self _imp]->get(exec, Identifier(exec, stringToUString(String(name))));
+ JSValue function = [self _imp]->get(exec, Identifier(exec, String(name)));
CallData callData;
CallType callType = getCallData(function, callData);
if (callType == CallTypeNone)
@@ -358,7 +357,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
JSLockHolder lock(exec);
[self _rootObject]->globalObject()->globalData().timeoutChecker.start();
- JSValue returnValue = JSMainThreadExecState::evaluate(exec, [self _rootObject]->globalObject()->globalScopeChain(), makeSource(String(script)), JSC::JSValue(), 0);
+ JSValue returnValue = JSMainThreadExecState::evaluate(exec, makeSource(String(script)), JSC::JSValue(), 0);
[self _rootObject]->globalObject()->globalData().timeoutChecker.stop();
id resultObj = [WebScriptObject _convertValueToObjcValue:returnValue originRootObject:[self _originRootObject] rootObject:[self _rootObject]];
@@ -379,7 +378,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
JSLockHolder lock(exec);
PutPropertySlot slot;
- [self _imp]->methodTable()->put([self _imp], exec, Identifier(exec, stringToUString(String(key))), convertObjcValueToValue(exec, &value, ObjcObjectType, [self _rootObject]), slot);
+ [self _imp]->methodTable()->put([self _imp], exec, Identifier(exec, String(key)), convertObjcValueToValue(exec, &value, ObjcObjectType, [self _rootObject]), slot);
if (exec->hadException()) {
addExceptionToConsole(exec);
@@ -404,7 +403,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
// leaving the lock permanently held
JSLockHolder lock(exec);
- JSValue result = [self _imp]->get(exec, Identifier(exec, stringToUString(String(key))));
+ JSValue result = [self _imp]->get(exec, Identifier(exec, String(key)));
if (exec->hadException()) {
addExceptionToConsole(exec);
@@ -433,7 +432,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
ASSERT(!exec->hadException());
JSLockHolder lock(exec);
- [self _imp]->methodTable()->deleteProperty([self _imp], exec, Identifier(exec, stringToUString(String(key))));
+ [self _imp]->methodTable()->deleteProperty([self _imp], exec, Identifier(exec, String(key)));
if (exec->hadException()) {
addExceptionToConsole(exec);
@@ -452,7 +451,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
ASSERT(!exec->hadException());
JSLockHolder lock(exec);
- BOOL result = [self _imp]->hasProperty(exec, Identifier(exec, stringToUString(String(key))));
+ BOOL result = [self _imp]->hasProperty(exec, Identifier(exec, String(key)));
if (exec->hadException()) {
addExceptionToConsole(exec);
@@ -569,7 +568,7 @@ static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* root
if (value.isString()) {
ExecState* exec = rootObject->globalObject()->globalExec();
- const UString& u = asString(value)->value(exec);
+ const String& u = asString(value)->value(exec);
return [NSString stringWithCharacters:u.characters() length:u.length()];
}
diff --git a/Source/WebCore/bindings/scripts/CodeGenerator.pm b/Source/WebCore/bindings/scripts/CodeGenerator.pm
index 89bd7f816..1c3563a61 100644
--- a/Source/WebCore/bindings/scripts/CodeGenerator.pm
+++ b/Source/WebCore/bindings/scripts/CodeGenerator.pm
@@ -38,6 +38,7 @@ my $useLayerOnTop = 0;
my $preprocessor;
my $writeDependencies = 0;
my $defines = "";
+my $targetIdlFilePath = "";
my $codeGenerator = 0;
@@ -107,6 +108,7 @@ sub new
$preprocessor = shift;
$writeDependencies = shift;
$verbose = shift;
+ $targetIdlFilePath = shift;
bless($reference, $object);
return $reference;
@@ -130,7 +132,7 @@ sub ProcessDocument
require $ifaceName . ".pm";
# Dynamically load external code generation perl module
- $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose);
+ $codeGenerator = $ifaceName->new($object, $useOutputDir, $useOutputHeadersDir, $useLayerOnTop, $preprocessor, $writeDependencies, $verbose, $targetIdlFilePath);
unless (defined($codeGenerator)) {
my $classes = $useDocument->classes;
foreach my $class (@$classes) {
diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
index e680dbf44..784b0326c 100644
--- a/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -165,7 +165,7 @@ END
JSValue listener = exec->argument(1);
if (!listener.isObject())
return JSValue::encode(jsUndefined());
- impl->${functionName}EventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), $wrapperObject, false, currentWorld(exec))$passRefPtrHandling, exec->argument(2).toBoolean(exec));
+ impl->${functionName}EventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), $wrapperObject, false, currentWorld(exec))$passRefPtrHandling, exec->argument(2).toBoolean(exec));
return JSValue::encode(jsUndefined());
END
return @GenerateEventListenerImpl;
@@ -219,7 +219,7 @@ sub AddIncludesForTypeInImpl
}
if ($type eq "CanvasGradient" or $type eq "XPathNSResolver" or $type eq "MessagePort") {
- $implIncludes{"PlatformString.h"} = 1;
+ $implIncludes{"<wtf/text/WTFString.h>"} = 1;
}
if ($type eq "Document") {
@@ -281,7 +281,7 @@ sub AddIncludesForSVGAnimatedType
if ($type eq "Point" or $type eq "Rect") {
$implIncludes{"Float$type.h"} = 1;
} elsif ($type eq "String") {
- $implIncludes{"PlatformString.h"} = 1;
+ $implIncludes{"<wtf/text/WTFString.h>"} = 1;
}
}
@@ -841,7 +841,7 @@ sub GenerateHeader
push(@headerContent, " }\n\n");
# Custom pushEventHandlerScope function
- push(@headerContent, " JSC::ScopeChainNode* pushEventHandlerScope(JSC::ExecState*, JSC::ScopeChainNode*) const;\n\n") if $dataNode->extendedAttributes->{"JSCustomPushEventHandlerScope"};
+ push(@headerContent, " JSC::JSScope* pushEventHandlerScope(JSC::ExecState*, JSC::JSScope*) const;\n\n") if $dataNode->extendedAttributes->{"JSCustomPushEventHandlerScope"};
# Custom call functions
push(@headerContent, " static JSC::CallType getCallData(JSC::JSCell*, JSC::CallData&);\n\n") if $dataNode->extendedAttributes->{"CustomCall"};
@@ -1303,19 +1303,21 @@ sub GenerateFunctionParametersCheck
my @orExpression = ();
my $numParameters = 0;
my @neededArguments = ();
+ my $numMandatoryParams = @{$function->parameters};
foreach my $parameter (@{$function->parameters}) {
if ($parameter->extendedAttributes->{"Optional"}) {
my ($expression, @usedArguments) = GenerateParametersCheckExpression($numParameters, $function);
push(@orExpression, $expression);
push(@neededArguments, @usedArguments);
+ $numMandatoryParams--;
}
$numParameters++;
}
my ($expression, @usedArguments) = GenerateParametersCheckExpression($numParameters, $function);
push(@orExpression, $expression);
push(@neededArguments, @usedArguments);
- return (join(" || ", @orExpression), @neededArguments);
+ return ($numMandatoryParams, join(" || ", @orExpression), @neededArguments);
}
sub GenerateOverloadedFunction
@@ -1340,9 +1342,11 @@ sub GenerateOverloadedFunction
END
my %fetchedArguments = ();
+ my $leastNumMandatoryParams = 255;
foreach my $overload (@{$function->{overloads}}) {
- my ($parametersCheck, @neededArguments) = GenerateFunctionParametersCheck($overload);
+ my ($numMandatoryParams, $parametersCheck, @neededArguments) = GenerateFunctionParametersCheck($overload);
+ $leastNumMandatoryParams = $numMandatoryParams if ($numMandatoryParams < $leastNumMandatoryParams);
foreach my $parameterIndex (@neededArguments) {
next if exists $fetchedArguments{$parameterIndex};
@@ -1353,6 +1357,10 @@ END
push(@implContent, " if ($parametersCheck)\n");
push(@implContent, " return ${functionName}$overload->{overloadIndex}(exec);\n");
}
+ if ($leastNumMandatoryParams >= 1) {
+ push(@implContent, " if (argsCount < $leastNumMandatoryParams)\n");
+ push(@implContent, " return throwVMError(exec, createNotEnoughArgumentsError(exec));\n");
+ }
push(@implContent, <<END);
return throwVMTypeError(exec);
}
@@ -2285,8 +2293,7 @@ sub GenerateImplementation
foreach (@{$dataNode->attributes}) {
my $attribute = $_;
if ($attribute->signature->extendedAttributes->{"CachedAttribute"}) {
- push(@implContent, " if (thisObject->m_" . $attribute->signature->name . ")\n");
- push(@implContent, " visitor.append(&thisObject->m_" . $attribute->signature->name . ");\n");
+ push(@implContent, " visitor.append(&thisObject->m_" . $attribute->signature->name . ");\n");
}
}
}
@@ -2359,7 +2366,7 @@ sub GenerateImplementation
}
}
- if ($interfaceName eq "HTMLPropertiesCollection") {
+ if ($interfaceName eq "HTMLPropertiesCollection" or $interfaceName eq "DOMNamedFlowCollection") {
if ($dataNode->extendedAttributes->{"NamedGetter"}) {
push(@implContent, "bool ${className}::canGetItemsForName(ExecState*, $implClassName* collection, PropertyName propertyName)\n");
push(@implContent, "{\n");
@@ -2838,7 +2845,7 @@ END
foreach my $param (@params) {
my $paramName = $param->name;
if ($param->type eq "DOMString") {
- push(@implContent, " args.append(jsString(exec, ${paramName}));\n");
+ push(@implContent, " args.append(jsStringWithCache(exec, ${paramName}));\n");
} elsif ($param->type eq "boolean") {
push(@implContent, " args.append(jsBoolean(${paramName}));\n");
} elsif ($param->type eq "SerializedScriptValue") {
@@ -3044,7 +3051,7 @@ sub JSValueToNative
return "valueToStringWithNullCheck(exec, $value)"
}
# FIXME: Add the case for 'if ($signature->extendedAttributes->{"TreatUndefinedAs"} and $signature->extendedAttributes->{"TreatUndefinedAs"} eq "NullString"))'.
- return "ustringToString($value.isEmpty() ? UString() : $value.toString(exec)->value(exec))";
+ return "$value.isEmpty() ? String() : $value.toString(exec)->value(exec)";
}
if ($type eq "DOMObject") {
@@ -3137,7 +3144,7 @@ sub NativeToJSValue
die "Unknown value for TreatReturnedNullStringAs extended attribute";
}
AddToImplIncludes("<runtime/JSString.h>", $conditional);
- return "jsString(exec, $value)";
+ return "jsStringWithCache(exec, $value)";
}
my $globalObject;
@@ -3674,7 +3681,7 @@ EncodedJSValue JSC_HOST_CALL ${constructorClassName}::construct${className}(Exec
if (!executionContext)
return throwVMError(exec, createReferenceError(exec, "Constructor associated execution context is unavailable"));
- AtomicString eventType = ustringToAtomicString(exec->argument(0).toString(exec)->value(exec));
+ AtomicString eventType = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm b/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm
index 2a2f3800c..c11ced3f8 100644
--- a/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm
+++ b/Source/WebCore/bindings/scripts/CodeGeneratorObjC.pm
@@ -78,8 +78,6 @@ my %baseTypeHash = ("Object" => 1, "Node" => 1, "NodeList" => 1, "NamedNodeMap"
"SVGStringList" => 1, "SVGTransform" => 1, "SVGTransformList" => 1, "SVGUnitTypes" => 1);
# Constants
-my $buildingForTigerOrEarlier = 1 if $ENV{"MACOSX_DEPLOYMENT_TARGET"} and $ENV{"MACOSX_DEPLOYMENT_TARGET"} <= 10.4;
-my $buildingForLeopardOrLater = 1 if $ENV{"MACOSX_DEPLOYMENT_TARGET"} and $ENV{"MACOSX_DEPLOYMENT_TARGET"} >= 10.5;
my $exceptionInit = "WebCore::ExceptionCode ec = 0;";
my $jsContextSetter = "WebCore::JSMainThreadNullState state;";
my $exceptionRaiseOnError = "WebCore::raiseOnDOMError(ec);";
@@ -817,8 +815,6 @@ sub GenerateHeader
$availabilityMacro = $publicInterfaces{$publicInterfaceKey};
}
- $availabilityMacro = "WEBKIT_OBJC_METHOD_ANNOTATION($availabilityMacro)" if length $availabilityMacro and $buildingForTigerOrEarlier;
-
my $declarationSuffix = ";\n";
$declarationSuffix = " $availabilityMacro;\n" if length $availabilityMacro;
@@ -841,34 +837,9 @@ sub GenerateHeader
$fatalError = 1;
}
- if ($buildingForLeopardOrLater) {
- $property .= $declarationSuffix;
- push(@headerAttributes, $property) if $public;
- push(@privateHeaderAttributes, $property) unless $public;
- } else {
- my $attributeConditionalString = $codeGenerator->GenerateConditionalString($attribute->signature);
- if ($attributeConditionalString) {
- push(@headerAttributes, "#if ${attributeConditionalString}\n") if $public;
- push(@privateHeaderAttributes, "#if ${attributeConditionalString}\n") unless $public;
- }
-
- # - GETTER
- my $getter = "- (" . $attributeType . ")" . $attributeName . $declarationSuffix;
- push(@headerAttributes, $getter) if $public;
- push(@privateHeaderAttributes, $getter) unless $public;
-
- # - SETTER
- if (!$attributeIsReadonly) {
- my $setter = "- (void)$setterName(" . $attributeType . ")new" . ucfirst($attributeName) . $declarationSuffix;
- push(@headerAttributes, $setter) if $public;
- push(@privateHeaderAttributes, $setter) unless $public;
- }
-
- if ($attributeConditionalString) {
- push(@headerAttributes, "#endif\n") if $public;
- push(@privateHeaderAttributes, "#endif\n") unless $public;
- }
- }
+ $property .= $declarationSuffix;
+ push(@headerAttributes, $property) if $public;
+ push(@privateHeaderAttributes, $property) unless $public;
}
push(@headerContent, @headerAttributes) if @headerAttributes > 0;
@@ -928,8 +899,6 @@ sub GenerateHeader
$availabilityMacro = $publicInterfaces{$publicInterfaceKey};
}
- $availabilityMacro = "WEBKIT_OBJC_METHOD_ANNOTATION($availabilityMacro)" if length $availabilityMacro and $buildingForTigerOrEarlier;
-
my $functionDeclaration = $functionSig;
$functionDeclaration .= " " . $availabilityMacro if length $availabilityMacro;
$functionDeclaration .= ";\n";
@@ -965,8 +934,6 @@ sub GenerateHeader
$availabilityMacro = $publicInterfaces{$publicInterfaceKey};
}
- $availabilityMacro = "WEBKIT_OBJC_METHOD_ANNOTATION($availabilityMacro)" if $buildingForTigerOrEarlier;
-
$functionDeclaration = "$deprecatedFunctionSig $availabilityMacro;\n";
push(@deprecatedHeaderFunctions, $functionDeclaration);
@@ -987,7 +954,7 @@ sub GenerateHeader
}
if (@headerFunctions > 0) {
- push(@headerContent, "\n") if $buildingForLeopardOrLater and @headerAttributes > 0;
+ push(@headerContent, "\n") if @headerAttributes > 0;
push(@headerContent, @headerFunctions);
}
}
@@ -1022,7 +989,7 @@ sub GenerateHeader
@privateHeaderContent = ();
push(@privateHeaderContent, "\@interface $className (" . $className . "Private)\n");
push(@privateHeaderContent, @privateHeaderAttributes) if @privateHeaderAttributes > 0;
- push(@privateHeaderContent, "\n") if $buildingForLeopardOrLater and @privateHeaderAttributes > 0 and @privateHeaderFunctions > 0;
+ push(@privateHeaderContent, "\n") if @privateHeaderAttributes > 0 and @privateHeaderFunctions > 0;
push(@privateHeaderContent, @privateHeaderFunctions) if @privateHeaderFunctions > 0;
push(@privateHeaderContent, "\@end\n");
diff --git a/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm b/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
index c68331820..94f1a1bce 100644
--- a/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
+++ b/Source/WebCore/bindings/scripts/CodeGeneratorV8.pm
@@ -164,7 +164,7 @@ sub AddIncludesForType
}
if ($type eq "CanvasGradient" or $type eq "XPathNSResolver") {
- AddToImplIncludes("PlatformString.h");
+ AddToImplIncludes("wtf/text/WTFString.h");
}
if ($type eq "CSSStyleSheet" or $type eq "StyleSheet") {
@@ -384,7 +384,7 @@ END
{
return reinterpret_cast<${nativeType}*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(${nativeType}*, v8::Isolate* = 0${forceNewObjectParameter});
+ inline static v8::Handle<v8::Object> wrap(${nativeType}*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0${forceNewObjectParameter});
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
@@ -401,8 +401,8 @@ END
if ($implClassName eq "HTMLDocument") {
push(@headerContent, <<END);
- static v8::Local<v8::Object> WrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl);
- static v8::Handle<v8::Value> GetNamedProperty(HTMLDocument* htmlDocument, const AtomicString& key, v8::Isolate*);
+ static v8::Local<v8::Object> wrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl);
+ static v8::Handle<v8::Value> getNamedProperty(HTMLDocument* htmlDocument, const AtomicString& key, v8::Handle<v8::Object> creationContext, v8::Isolate*);
END
}
@@ -477,13 +477,13 @@ END
my $wrapSlowArgumentType = GetPassRefPtrType($nativeType);
push(@headerContent, <<END);
private:
- static v8::Handle<v8::Object> wrapSlow(${wrapSlowArgumentType}, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(${wrapSlowArgumentType}, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
END
push(@headerContent, <<END);
-v8::Handle<v8::Object> ${className}::wrap(${nativeType}* impl, v8::Isolate* isolate${forceNewObjectInput})
+v8::Handle<v8::Object> ${className}::wrap(${nativeType}* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate${forceNewObjectInput})
{
END
push(@headerContent, " if (!forceNewObject) {\n") if IsDOMNodeType($interfaceName);
@@ -496,7 +496,7 @@ END
END
push(@headerContent, " }\n") if IsDOMNodeType($interfaceName);
push(@headerContent, <<END);
- return ${className}::wrapSlow(impl, isolate);
+ return ${className}::wrapSlow(impl, creationContext, isolate);
}
END
@@ -505,41 +505,41 @@ END
} elsif (!($dataNode->extendedAttributes->{"CustomToJSObject"} or $dataNode->extendedAttributes->{"V8CustomToJSObject"})) {
push(@headerContent, <<END);
-inline v8::Handle<v8::Value> toV8(${nativeType}* impl, v8::Isolate* isolate = 0${forceNewObjectParameter})
+inline v8::Handle<v8::Value> toV8(${nativeType}* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0${forceNewObjectParameter})
{
if (!impl)
return v8NullWithCheck(isolate);
- return ${className}::wrap(impl, isolate${forceNewObjectCall});
+ return ${className}::wrap(impl, creationContext, isolate${forceNewObjectCall});
}
END
} elsif ($interfaceName ne 'Node') {
push(@headerContent, <<END);
-v8::Handle<v8::Value> toV8(${nativeType}*, v8::Isolate* = 0${forceNewObjectParameter});
+v8::Handle<v8::Value> toV8(${nativeType}*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0${forceNewObjectParameter});
END
} else {
push(@headerContent, <<END);
-v8::Handle<v8::Value> toV8Slow(Node*, v8::Isolate*, bool);
+v8::Handle<v8::Value> toV8Slow(Node*, v8::Handle<v8::Object> creationContext, v8::Isolate*, bool);
-inline v8::Handle<v8::Value> toV8(Node* impl, v8::Isolate* isolate = 0, bool forceNewObject = false)
+inline v8::Handle<v8::Value> toV8(Node* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0, bool forceNewObject = false)
{
if (UNLIKELY(!impl))
return v8NullWithCheck(isolate);
if (UNLIKELY(forceNewObject))
- return toV8Slow(impl, isolate, forceNewObject);
+ return toV8Slow(impl, creationContext, isolate, forceNewObject);
v8::Handle<v8::Value> wrapper = V8DOMWrapper::getCachedWrapper(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return toV8Slow(impl, isolate, false);
+ return toV8Slow(impl, creationContext, isolate, false);
}
END
}
push(@headerContent, <<END);
-inline v8::Handle<v8::Value> toV8(PassRefPtr< ${nativeType} > impl, v8::Isolate* isolate = 0${forceNewObjectParameter})
+inline v8::Handle<v8::Value> toV8(PassRefPtr< ${nativeType} > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0${forceNewObjectParameter})
{
- return toV8(impl.get(), isolate${forceNewObjectCall});
+ return toV8(impl.get(), creationContext, isolate${forceNewObjectCall});
}
END
@@ -1007,7 +1007,7 @@ END
my $domMapFunction = GetDomMapFunction($dataNode, $interfaceName, "info.GetIsolate()");
push(@implContentDecls, " v8::Handle<v8::Value> wrapper = result.get() ? ${domMapFunction}.get(result.get()) : v8Undefined();\n");
push(@implContentDecls, " if (wrapper.IsEmpty()) {\n");
- push(@implContentDecls, " wrapper = toV8(result.get(), info.GetIsolate());\n");
+ push(@implContentDecls, " wrapper = toV8(result.get(), info.Holder(), info.GetIsolate());\n");
push(@implContentDecls, " if (!wrapper.IsEmpty())\n");
if ($dataNode->name eq "DOMWindow") {
AddToImplIncludes("Frame.h");
@@ -1026,7 +1026,7 @@ END
AddToImplIncludes("V8$attrType.h");
my $svgNativeType = $codeGenerator->GetSVGTypeNeedingTearOff($attrType);
# Convert from abstract SVGProperty to real type, so the right toJS() method can be invoked.
- push(@implContentDecls, " return toV8(static_cast<$svgNativeType*>($result), info.GetIsolate());\n");
+ push(@implContentDecls, " return toV8(static_cast<$svgNativeType*>($result), info.Holder(), info.GetIsolate());\n");
} elsif ($codeGenerator->IsSVGTypeNeedingTearOff($attrType) and not $implClassName =~ /List$/) {
AddToImplIncludes("V8$attrType.h");
AddToImplIncludes("SVGPropertyTearOff.h");
@@ -1049,19 +1049,19 @@ END
$result =~ s/matrix/svgMatrix/;
}
- push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create(wrapper, $result, $updateMethod)), info.GetIsolate());\n");
+ push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create(wrapper, $result, $updateMethod)), info.Holder(), info.GetIsolate());\n");
} else {
AddToImplIncludes("SVGStaticPropertyTearOff.h");
$tearOffType =~ s/SVGPropertyTearOff</SVGStaticPropertyTearOff<$implClassName, /;
- push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create(imp, $result, $updateMethod)), info.GetIsolate());\n");
+ push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create(imp, $result, $updateMethod)), info.Holder(), info.GetIsolate());\n");
}
} elsif ($tearOffType =~ /SVGStaticListPropertyTearOff/) {
- push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create(imp, $result)), info.GetIsolate());\n");
+ push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create(imp, $result)), info.Holder(), info.GetIsolate());\n");
} elsif ($tearOffType =~ /SVG(Point|PathSeg)List/) {
- push(@implContentDecls, " return toV8(WTF::getPtr($result), info.GetIsolate());\n");
+ push(@implContentDecls, " return toV8(WTF::getPtr($result), info.Holder(), info.GetIsolate());\n");
} else {
- push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create($result)), info.GetIsolate());\n");
+ push(@implContentDecls, " return toV8(WTF::getPtr(${tearOffType}::create($result)), info.Holder(), info.GetIsolate());\n");
}
} elsif ($attribute->signature->type eq "MessagePortArray") {
AddToImplIncludes("MessagePort.h");
@@ -1074,7 +1074,7 @@ END
MessagePortArray portsCopy(*ports);
v8::Local<v8::Array> portArray = v8::Array::New(portsCopy.size());
for (size_t i = 0; i < portsCopy.size(); ++i)
- portArray->Set(v8Integer(i, info.GetIsolate()), toV8(portsCopy[i].get(), info.GetIsolate()));
+ portArray->Set(v8Integer(i, info.GetIsolate()), toV8(portsCopy[i].get(), info.Holder(), info.GetIsolate()));
return portArray;
END
} else {
@@ -1087,7 +1087,7 @@ END
return value;
END
} else {
- push(@implContentDecls, " " . ReturnNativeToJSValue($attribute->signature, $result, "info.GetIsolate()").";\n");
+ push(@implContentDecls, " " . ReturnNativeToJSValue($attribute->signature, $result, "info.Holder()", "info.GetIsolate()").";\n");
}
}
@@ -1410,14 +1410,16 @@ sub GenerateFunctionParametersCheck
my @orExpression = ();
my $numParameters = 0;
+ my $numMandatoryParams = @{$function->parameters};
foreach my $parameter (@{$function->parameters}) {
if ($parameter->extendedAttributes->{"Optional"}) {
push(@orExpression, GenerateParametersCheckExpression($numParameters, $function));
+ $numMandatoryParams--;
}
$numParameters++;
}
push(@orExpression, GenerateParametersCheckExpression($numParameters, $function));
- return join(" || ", @orExpression);
+ return ($numMandatoryParams, join(" || ", @orExpression));
}
sub GenerateOverloadedFunctionCallback
@@ -1434,6 +1436,7 @@ sub GenerateOverloadedFunctionCallback
my $name = $function->signature->name;
my $conditionalString = $codeGenerator->GenerateConditionalString($function->signature);
+ my $leastNumMandatoryParams = 255;
push(@implContentDecls, "#if ${conditionalString}\n\n") if $conditionalString;
push(@implContentDecls, <<END);
static v8::Handle<v8::Value> ${name}Callback(const v8::Arguments& args)
@@ -1442,10 +1445,15 @@ static v8::Handle<v8::Value> ${name}Callback(const v8::Arguments& args)
END
foreach my $overload (@{$function->{overloads}}) {
- my $parametersCheck = GenerateFunctionParametersCheck($overload);
+ my ($numMandatoryParams, $parametersCheck) = GenerateFunctionParametersCheck($overload);
+ $leastNumMandatoryParams = $numMandatoryParams if ($numMandatoryParams < $leastNumMandatoryParams);
push(@implContentDecls, " if ($parametersCheck)\n");
push(@implContentDecls, " return ${name}$overload->{overloadIndex}Callback(args);\n");
}
+ if ($leastNumMandatoryParams >= 1) {
+ push(@implContentDecls, " if (args.Length() < $leastNumMandatoryParams)\n");
+ push(@implContentDecls, " return throwNotEnoughArgumentsError(args.GetIsolate());\n");
+ }
push(@implContentDecls, <<END);
return throwTypeError(0, args.GetIsolate());
END
@@ -2027,7 +2035,7 @@ static v8::Handle<v8::Value> V8${implClassName}ConstructorCallback(const v8::Arg
// Make sure the document is added to the DOM Node map. Otherwise, the ${implClassName} instance
// may end up being the only node in the map and get garbage-collected prematurely.
- toV8(document, args.GetIsolate());
+ toV8(document, args.Holder(), args.GetIsolate());
END
@@ -2615,11 +2623,11 @@ sub GenerateImplementation
if ($dataNode->extendedAttributes->{"TypedArray"}) {
my $viewType = GetTypeNameOfExternalTypedArray($dataNode);
push(@implContent, <<END);
-v8::Handle<v8::Value> toV8($implClassName* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8($implClassName* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
- v8::Handle<v8::Object> wrapper = V8${implClassName}::wrap(impl, isolate);
+ v8::Handle<v8::Object> wrapper = V8${implClassName}::wrap(impl, creationContext, isolate);
if (!wrapper.IsEmpty())
wrapper->SetIndexedPropertiesToExternalArrayData(impl->baseAddress(), $viewType, impl->length());
return wrapper;
@@ -3340,7 +3348,7 @@ sub GenerateToV8Converters
push(@implContent, <<END);
-v8::Handle<v8::Object> ${className}::wrapSlow(${wrapSlowArgumentType} impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> ${className}::wrapSlow(${wrapSlowArgumentType} impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
END
@@ -3351,68 +3359,34 @@ END
}
AddToImplIncludes("Frame.h");
- my $frame = "0";
- if (IsNodeSubType($dataNode)) {
- # DocumentType nodes are the only nodes that may have a NULL document.
- if ($interfaceName eq "DocumentType") {
- $frame = "impl->document() ? impl->document()->frame() : 0";
- } else {
- $frame = "impl->document()->frame()";
- }
- }
- push(@implContent, <<END);
- Frame* frame = $frame;
-END
if (IsSubType($dataNode, "Document")) {
push(@implContent, <<END);
- if (frame && frame->script()->windowShell()->context().IsEmpty() && frame->script()->windowShell()->initContextIfNeeded()) {
- // initContextIfNeeded may have created a wrapper for the object, retry from the start.
- return ${className}::wrap(impl.get(), isolate);
- }
-END
- }
-
- # FIXME: We need a better way of recovering the correct prototype chain
- # for every sort of object. For now, we special-case cross-origin visible
- # objects (i.e., those with CheckSecurity).
- if (IsVisibleAcrossOrigins($dataNode)) {
- AddToImplIncludes("Frame.h");
- push(@implContent, <<END);
- if (impl->frame()) {
- frame = impl->frame();
- frame->script()->windowShell()->initContextIfNeeded();
+ if (Frame* frame = impl->frame()) {
+ if (frame->script()->windowShell()->context().IsEmpty() && frame->script()->windowShell()->initializeIfNeeded()) {
+ // initializeIfNeeded may have created a wrapper for the object, retry from the start.
+ return ${className}::wrap(impl.get(), creationContext, isolate);
+ }
}
END
}
- if (IsNodeSubType($dataNode) || IsVisibleAcrossOrigins($dataNode)) {
- push(@implContent, <<END);
+ push(@implContent, <<END);
- // Enter the node's context and create the wrapper in that context.
v8::Handle<v8::Context> context;
- if (frame && !frame->script()->matchesCurrentContext()) {
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
// For performance, we enter the context only if the currently running context
// is different from the context that we are about to enter.
- context = frame->script()->currentWorldContext();
- if (!context.IsEmpty())
- context->Enter();
- }
-END
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
}
- push(@implContent, <<END);
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
-END
- if (IsNodeSubType($dataNode) || IsVisibleAcrossOrigins($dataNode)) {
- push(@implContent, <<END);
- // Exit the node's context if it was entered.
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
if (!context.IsEmpty())
context->Exit();
-END
- }
- push(@implContent, <<END);
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
END
@@ -3578,7 +3552,7 @@ sub GenerateFunctionCallString()
AddToImplIncludes("V8$returnType.h");
AddToImplIncludes("SVGPropertyTearOff.h");
my $svgNativeType = $codeGenerator->GetSVGTypeNeedingTearOff($returnType);
- $result .= $indent . "return toV8(WTF::getPtr(${svgNativeType}::create($return)), args.GetIsolate());\n";
+ $result .= $indent . "return toV8(WTF::getPtr(${svgNativeType}::create($return)), args.Holder(), args.GetIsolate());\n";
return $result;
}
@@ -3588,7 +3562,7 @@ sub GenerateFunctionCallString()
}
$return .= ".release()" if ($returnIsRef);
- $result .= $indent . ReturnNativeToJSValue($function->signature, $return, "args.GetIsolate()") . ";\n";
+ $result .= $indent . ReturnNativeToJSValue($function->signature, $return, "args.Holder()", "args.GetIsolate()") . ";\n";
return $result;
}
@@ -4019,6 +3993,8 @@ sub NativeToJSValue
{
my $signature = shift;
my $value = shift;
+ my $getCreationContext = shift;
+ my $getCreationContextArg = $getCreationContext ? ", $getCreationContext" : "";
my $getIsolate = shift;
my $getIsolateArg = $getIsolate ? ", $getIsolate" : "";
my $type = GetTypeFromSignature($signature);
@@ -4075,18 +4051,18 @@ sub NativeToJSValue
AddToImplIncludes("V8$sequenceType.h");
AddToImplIncludes("$sequenceType.h");
}
- return "v8Array($value, $getIsolate)";
+ return "v8Array($value$getIsolateArg)";
}
AddIncludesForType($type);
# special case for non-DOM node interfaces
if (IsDOMNodeType($type)) {
- return "toV8(${value}" . ($signature->extendedAttributes->{"ReturnNewObject"} ? "$getIsolateArg, true)" : "$getIsolateArg)");
+ return "toV8(${value}$getCreationContextArg$getIsolateArg" . ($signature->extendedAttributes->{"ReturnNewObject"} ? ", true)" : ")");
}
if ($type eq "EventTarget") {
- return "V8DOMWrapper::convertEventTargetToV8Object($value$getIsolateArg)";
+ return "V8DOMWrapper::convertEventTargetToV8Object($value$getCreationContextArg$getIsolateArg)";
}
if ($type eq "EventListener") {
@@ -4103,7 +4079,7 @@ sub NativeToJSValue
AddToImplIncludes("wtf/RefPtr.h");
AddToImplIncludes("wtf/GetPtr.h");
- return "toV8($value$getIsolateArg)";
+ return "toV8($value$getCreationContextArg$getIsolateArg)";
}
sub ReturnNativeToJSValue
diff --git a/Source/WebCore/bindings/scripts/generate-bindings.pl b/Source/WebCore/bindings/scripts/generate-bindings.pl
index 5e3895609..731872142 100755
--- a/Source/WebCore/bindings/scripts/generate-bindings.pl
+++ b/Source/WebCore/bindings/scripts/generate-bindings.pl
@@ -191,7 +191,7 @@ foreach my $idlFile (@supplementedIdlFiles) {
}
# Generate desired output for the target IDL file.
-my $codeGen = CodeGenerator->new(\@idlDirectories, $generator, $outputDirectory, $outputHeadersDirectory, 0, $preprocessor, $writeDependencies, $verbose);
+my $codeGen = CodeGenerator->new(\@idlDirectories, $generator, $outputDirectory, $outputHeadersDirectory, 0, $preprocessor, $writeDependencies, $verbose, $targetIdlFile);
$codeGen->ProcessDocument($targetDocument, $defines);
sub generateEmptyHeaderAndCpp
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
index f710be169..87b961833 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestActiveDOMObject.cpp
@@ -205,7 +205,7 @@ EncodedJSValue JSC_HOST_CALL jsTestActiveDOMObjectPrototypeFunctionPostMessage(E
TestActiveDOMObject* impl = static_cast<TestActiveDOMObject*>(castedThis->impl());
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- const String& message(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& message(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->postMessage(message);
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp
index f84f915fd..76234d6a1 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestCallback.cpp
@@ -104,7 +104,7 @@ bool JSTestCallback::callbackWithClass2Param(Class2* class2Param, const String&
ExecState* exec = m_data->globalObject()->globalExec();
MarkedArgumentBuffer args;
args.append(toJS(exec, m_data->globalObject(), class2Param));
- args.append(jsString(exec, strArg));
+ args.append(jsStringWithCache(exec, strArg));
bool raisedException = false;
m_data->invokeCallback(args, &raisedException);
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp
index 96f87ab04..b11a637bc 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp
@@ -177,7 +177,7 @@ EncodedJSValue JSC_HOST_CALL jsTestCustomNamedGetterPrototypeFunctionAnotherFunc
TestCustomNamedGetter* impl = static_cast<TestCustomNamedGetter*>(castedThis->impl());
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->anotherFunction(str);
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp
index d8da35868..def384d4e 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestEventConstructor.cpp
@@ -85,7 +85,7 @@ EncodedJSValue JSC_HOST_CALL JSTestEventConstructorConstructor::constructJSTestE
if (!executionContext)
return throwVMError(exec, createReferenceError(exec, "Constructor associated execution context is unavailable"));
- AtomicString eventType = ustringToAtomicString(exec->argument(0).toString(exec)->value(exec));
+ AtomicString eventType = exec->argument(0).toString(exec)->value(exec);
if (exec->hadException())
return JSValue::encode(jsUndefined());
@@ -185,7 +185,7 @@ JSValue jsTestEventConstructorAttr1(ExecState* exec, JSValue slotBase, PropertyN
JSTestEventConstructor* castedThis = jsCast<JSTestEventConstructor*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestEventConstructor* impl = static_cast<TestEventConstructor*>(castedThis->impl());
- JSValue result = jsString(exec, impl->attr1());
+ JSValue result = jsStringWithCache(exec, impl->attr1());
return result;
}
@@ -195,7 +195,7 @@ JSValue jsTestEventConstructorAttr2(ExecState* exec, JSValue slotBase, PropertyN
JSTestEventConstructor* castedThis = jsCast<JSTestEventConstructor*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestEventConstructor* impl = static_cast<TestEventConstructor*>(castedThis->impl());
- JSValue result = jsString(exec, impl->attr2());
+ JSValue result = jsStringWithCache(exec, impl->attr2());
return result;
}
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp
index 4cf95c9cf..1c6485132 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestEventTarget.cpp
@@ -253,7 +253,7 @@ EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionAddEventListener(
JSValue listener = exec->argument(1);
if (!listener.isObject())
return JSValue::encode(jsUndefined());
- impl->addEventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
+ impl->addEventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
return JSValue::encode(jsUndefined());
}
@@ -268,7 +268,7 @@ EncodedJSValue JSC_HOST_CALL jsTestEventTargetPrototypeFunctionRemoveEventListen
JSValue listener = exec->argument(1);
if (!listener.isObject())
return JSValue::encode(jsUndefined());
- impl->removeEventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
+ impl->removeEventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
return JSValue::encode(jsUndefined());
}
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp
index 4582aca1f..e69d6a056 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestException.cpp
@@ -137,7 +137,7 @@ JSValue jsTestExceptionName(ExecState* exec, JSValue slotBase, PropertyName)
JSTestException* castedThis = jsCast<JSTestException*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestException* impl = static_cast<TestException*>(castedThis->impl());
- JSValue result = jsString(exec, impl->name());
+ JSValue result = jsStringWithCache(exec, impl->name());
return result;
}
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
index 0e39c41ee..d46d47c7a 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestInterface.cpp
@@ -132,10 +132,10 @@ EncodedJSValue JSC_HOST_CALL JSTestInterfaceConstructor::constructJSTestInterfac
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
ExceptionCode ec = 0;
- const String& str1(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str1(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& str2(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str2(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
ScriptExecutionContext* context = castedThis->scriptExecutionContext();
@@ -257,7 +257,7 @@ JSValue jsTestInterfaceConstructorSupplementalStaticAttr(ExecState* exec, JSValu
{
UNUSED_PARAM(slotBase);
UNUSED_PARAM(exec);
- JSValue result = jsString(exec, TestSupplemental::supplementalStaticAttr());
+ JSValue result = jsStringWithCache(exec, TestSupplemental::supplementalStaticAttr());
return result;
}
@@ -269,7 +269,7 @@ JSValue jsTestInterfaceSupplementalStr1(ExecState* exec, JSValue slotBase, Prope
JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
- JSValue result = jsString(exec, TestSupplemental::supplementalStr1(impl));
+ JSValue result = jsStringWithCache(exec, TestSupplemental::supplementalStr1(impl));
return result;
}
@@ -281,7 +281,7 @@ JSValue jsTestInterfaceSupplementalStr2(ExecState* exec, JSValue slotBase, Prope
JSTestInterface* castedThis = jsCast<JSTestInterface*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
- JSValue result = jsString(exec, TestSupplemental::supplementalStr2(impl));
+ JSValue result = jsStringWithCache(exec, TestSupplemental::supplementalStr2(impl));
return result;
}
@@ -327,7 +327,7 @@ void JSTestInterface::put(JSCell* cell, ExecState* exec, PropertyName propertyNa
void setJSTestInterfaceConstructorSupplementalStaticAttr(ExecState* exec, JSObject*, JSValue value)
{
UNUSED_PARAM(exec);
- TestSupplemental::setSupplementalStaticAttr(ustringToString(value.isEmpty() ? UString() : value.toString(exec)->value(exec)));
+ TestSupplemental::setSupplementalStaticAttr(value.isEmpty() ? String() : value.toString(exec)->value(exec));
}
#endif
@@ -338,7 +338,7 @@ void setJSTestInterfaceSupplementalStr2(ExecState* exec, JSObject* thisObject, J
UNUSED_PARAM(exec);
JSTestInterface* castedThis = jsCast<JSTestInterface*>(thisObject);
TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
- TestSupplemental::setSupplementalStr2(impl, ustringToString(value.isEmpty() ? UString() : value.toString(exec)->value(exec)));
+ TestSupplemental::setSupplementalStr2(impl, value.isEmpty() ? String() : value.toString(exec)->value(exec));
}
#endif
@@ -398,7 +398,7 @@ EncodedJSValue JSC_HOST_CALL jsTestInterfacePrototypeFunctionSupplementalMethod2
ScriptExecutionContext* scriptContext = jsCast<JSDOMGlobalObject*>(exec->lexicalGlobalObject())->scriptExecutionContext();
if (!scriptContext)
return JSValue::encode(jsUndefined());
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined)));
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp
index eeef66a44..16c3457b9 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestNamedConstructor.cpp
@@ -93,13 +93,13 @@ EncodedJSValue JSC_HOST_CALL JSTestNamedConstructorNamedConstructor::constructJS
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
ExceptionCode ec = 0;
- const String& str1(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str1(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& str2(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str2(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& str3(ustringToString(MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsNullString).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsNullString).toString(exec)->value(exec)));
+ const String& str3(MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsNullString).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsNullString).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
RefPtr<TestNamedConstructor> object = TestNamedConstructor::createForJSConstructor(castedThis->document(), str1, str2, str3, ec);
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
index e172cf6c7..fae86d08f 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestObj.cpp
@@ -401,7 +401,7 @@ JSValue jsTestObjReadOnlyStringAttr(ExecState* exec, JSValue slotBase, PropertyN
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->readOnlyStringAttr());
+ JSValue result = jsStringWithCache(exec, impl->readOnlyStringAttr());
return result;
}
@@ -429,7 +429,7 @@ JSValue jsTestObjConstructorStaticStringAttr(ExecState* exec, JSValue slotBase,
{
UNUSED_PARAM(slotBase);
UNUSED_PARAM(exec);
- JSValue result = jsString(exec, TestObj::staticStringAttr());
+ JSValue result = jsStringWithCache(exec, TestObj::staticStringAttr());
return result;
}
@@ -496,7 +496,7 @@ JSValue jsTestObjStringAttr(ExecState* exec, JSValue slotBase, PropertyName)
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->stringAttr());
+ JSValue result = jsStringWithCache(exec, impl->stringAttr());
return result;
}
@@ -536,7 +536,7 @@ JSValue jsTestObjReflectedStringAttr(ExecState* exec, JSValue slotBase, Property
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->getAttribute(WebCore::HTMLNames::reflectedstringattrAttr));
+ JSValue result = jsStringWithCache(exec, impl->getAttribute(WebCore::HTMLNames::reflectedstringattrAttr));
return result;
}
@@ -576,7 +576,7 @@ JSValue jsTestObjReflectedURLAttr(ExecState* exec, JSValue slotBase, PropertyNam
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->getURLAttribute(WebCore::HTMLNames::reflectedurlattrAttr));
+ JSValue result = jsStringWithCache(exec, impl->getURLAttribute(WebCore::HTMLNames::reflectedurlattrAttr));
return result;
}
@@ -586,7 +586,7 @@ JSValue jsTestObjReflectedStringAttr(ExecState* exec, JSValue slotBase, Property
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->getAttribute(WebCore::HTMLNames::customContentStringAttrAttr));
+ JSValue result = jsStringWithCache(exec, impl->getAttribute(WebCore::HTMLNames::customContentStringAttrAttr));
return result;
}
@@ -616,7 +616,7 @@ JSValue jsTestObjReflectedCustomURLAttr(ExecState* exec, JSValue slotBase, Prope
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
+ JSValue result = jsStringWithCache(exec, impl->getURLAttribute(WebCore::HTMLNames::customContentURLAttrAttr));
return result;
}
@@ -657,7 +657,7 @@ JSValue jsTestObjStringAttrWithGetterException(ExecState* exec, JSValue slotBase
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
ExceptionCode ec = 0;
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSC::JSValue result = jsString(exec, impl->stringAttrWithGetterException(ec));
+ JSC::JSValue result = jsStringWithCache(exec, impl->stringAttrWithGetterException(ec));
setDOMException(exec, ec);
return result;
}
@@ -668,7 +668,7 @@ JSValue jsTestObjStringAttrWithSetterException(ExecState* exec, JSValue slotBase
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->stringAttrWithSetterException());
+ JSValue result = jsStringWithCache(exec, impl->stringAttrWithSetterException());
return result;
}
@@ -936,7 +936,7 @@ JSValue jsTestObjHash(ExecState* exec, JSValue slotBase, PropertyName)
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(slotBase));
UNUSED_PARAM(exec);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSValue result = jsString(exec, impl->hash());
+ JSValue result = jsStringWithCache(exec, impl->hash());
return result;
}
@@ -967,7 +967,7 @@ void JSTestObj::put(JSCell* cell, ExecState* exec, PropertyName propertyName, JS
void setJSTestObjConstructorStaticStringAttr(ExecState* exec, JSObject*, JSValue value)
{
UNUSED_PARAM(exec);
- TestObj::setStaticStringAttr(ustringToString(value.isEmpty() ? UString() : value.toString(exec)->value(exec)));
+ TestObj::setStaticStringAttr(value.isEmpty() ? String() : value.toString(exec)->value(exec));
}
@@ -1021,7 +1021,7 @@ void setJSTestObjStringAttr(ExecState* exec, JSObject* thisObject, JSValue value
UNUSED_PARAM(exec);
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- impl->setStringAttr(ustringToString(value.isEmpty() ? UString() : value.toString(exec)->value(exec)));
+ impl->setStringAttr(value.isEmpty() ? String() : value.toString(exec)->value(exec));
}
@@ -1170,7 +1170,7 @@ void setJSTestObjStringAttrWithGetterException(ExecState* exec, JSObject* thisOb
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
ExceptionCode ec = 0;
- impl->setStringAttrWithGetterException(ustringToString(value.isEmpty() ? UString() : value.toString(exec)->value(exec)), ec);
+ impl->setStringAttrWithGetterException(value.isEmpty() ? String() : value.toString(exec)->value(exec), ec);
setDOMException(exec, ec);
}
@@ -1181,7 +1181,7 @@ void setJSTestObjStringAttrWithSetterException(ExecState* exec, JSObject* thisOb
JSTestObj* castedThis = jsCast<JSTestObj*>(thisObject);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
ExceptionCode ec = 0;
- impl->setStringAttrWithSetterException(ustringToString(value.isEmpty() ? UString() : value.toString(exec)->value(exec)), ec);
+ impl->setStringAttrWithSetterException(value.isEmpty() ? String() : value.toString(exec)->value(exec), ec);
setDOMException(exec, ec);
}
@@ -1433,7 +1433,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionVoidMethodWithArgs(ExecSt
long long Arg(static_cast<long long>(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toInteger(exec)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsUndefined)));
@@ -1469,7 +1469,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithArgs(ExecState*
long long Arg(static_cast<long long>(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toInteger(exec)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsUndefined)));
@@ -1506,7 +1506,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionObjMethodWithArgs(ExecSta
long long Arg(static_cast<long long>(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toInteger(exec)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 2, DefaultIsUndefined)));
@@ -1563,7 +1563,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodThatRequiresAllArgs
if (exec->argumentCount() < 2)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
ExceptionCode ec = 0;
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined)));
@@ -1681,7 +1681,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionAddEventListener(ExecStat
JSValue listener = exec->argument(1);
if (!listener.isObject())
return JSValue::encode(jsUndefined());
- impl->addEventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
+ impl->addEventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)), exec->argument(2).toBoolean(exec));
return JSValue::encode(jsUndefined());
}
@@ -1696,7 +1696,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionRemoveEventListener(ExecS
JSValue listener = exec->argument(1);
if (!listener.isObject())
return JSValue::encode(jsUndefined());
- impl->removeEventListener(ustringToAtomicString(exec->argument(0).toString(exec)->value(exec)), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
+ impl->removeEventListener(exec->argument(0).toString(exec)->value(exec), JSEventListener::create(asObject(listener), castedThis, false, currentWorld(exec)).get(), exec->argument(2).toBoolean(exec));
return JSValue::encode(jsUndefined());
}
@@ -1939,7 +1939,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalString(
return JSValue::encode(jsUndefined());
}
- const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->methodWithOptionalString(str);
@@ -1954,7 +1954,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalStringI
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->methodWithOptionalStringIsUndefined(str);
@@ -1969,7 +1969,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionMethodWithOptionalStringI
JSTestObj* castedThis = jsCast<JSTestObj*>(asObject(thisValue));
ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsNullString).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsNullString).toString(exec)->value(exec)));
+ const String& str(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsNullString).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsNullString).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->methodWithOptionalStringIsNullString(str);
@@ -2047,7 +2047,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionConditionalMethod1(ExecSt
ASSERT_GC_OBJECT_INHERITS(castedThis, &JSTestObj::s_info);
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
- JSC::JSValue result = jsString(exec, impl->conditionalMethod1());
+ JSC::JSValue result = jsStringWithCache(exec, impl->conditionalMethod1());
return JSValue::encode(result);
}
@@ -2096,7 +2096,7 @@ static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod1(
TestObj* objArg(toTestObj(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined)));
if (exec->hadException())
return JSValue::encode(jsUndefined());
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->overloadedMethod(objArg, strArg);
@@ -2140,7 +2140,7 @@ static EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod3(
TestObj* impl = static_cast<TestObj*>(castedThis->impl());
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- const String& strArg(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& strArg(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
impl->overloadedMethod(strArg);
@@ -2293,6 +2293,8 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionOverloadedMethod(ExecStat
return jsTestObjPrototypeFunctionOverloadedMethod9(exec);
if ((argsCount == 1 && (arg0.isObject() && isJSArray(arg0))))
return jsTestObjPrototypeFunctionOverloadedMethod10(exec);
+ if (argsCount < 1)
+ return throwVMError(exec, createNotEnoughArgumentsError(exec));
return throwVMTypeError(exec);
}
@@ -2346,7 +2348,7 @@ static EncodedJSValue JSC_HOST_CALL jsTestObjConstructorFunctionOverloadedMethod
{
if (exec->argumentCount() < 1)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- const String& type(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& type(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
TestObj::overloadedMethod1(type);
@@ -2361,6 +2363,8 @@ EncodedJSValue JSC_HOST_CALL jsTestObjConstructorFunctionOverloadedMethod1(ExecS
JSValue arg0(exec->argument(0));
if ((argsCount == 1 && (arg0.isUndefinedOrNull() || arg0.isString() || arg0.isObject())))
return jsTestObjConstructorFunctionOverloadedMethod12(exec);
+ if (argsCount < 1)
+ return throwVMError(exec, createNotEnoughArgumentsError(exec));
return throwVMTypeError(exec);
}
@@ -2567,7 +2571,7 @@ EncodedJSValue JSC_HOST_CALL jsTestObjPrototypeFunctionStrictFunction(ExecState*
if (exec->argumentCount() < 3)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
ExceptionCode ec = 0;
- const String& str(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& str(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
float a(MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined).toFloat(exec));
@@ -2589,10 +2593,8 @@ void JSTestObj::visitChildren(JSCell* cell, SlotVisitor& visitor)
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
Base::visitChildren(thisObject, visitor);
- if (thisObject->m_cachedAttribute1)
- visitor.append(&thisObject->m_cachedAttribute1);
- if (thisObject->m_cachedAttribute2)
- visitor.append(&thisObject->m_cachedAttribute2);
+ visitor.append(&thisObject->m_cachedAttribute1);
+ visitor.append(&thisObject->m_cachedAttribute2);
}
// Constant getters
diff --git a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp b/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
index 8ab796700..a8c0f6bb7 100644
--- a/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
+++ b/Source/WebCore/bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp
@@ -92,7 +92,7 @@ EncodedJSValue JSC_HOST_CALL JSTestSerializedScriptValueInterfaceConstructor::co
JSTestSerializedScriptValueInterfaceConstructor* castedThis = jsCast<JSTestSerializedScriptValueInterfaceConstructor*>(exec->callee());
if (exec->argumentCount() < 2)
return throwVMError(exec, createNotEnoughArgumentsError(exec));
- const String& hello(ustringToString(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? UString() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec)));
+ const String& hello(MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).isEmpty() ? String() : MAYBE_MISSING_PARAMETER(exec, 0, DefaultIsUndefined).toString(exec)->value(exec));
if (exec->hadException())
return JSValue::encode(jsUndefined());
RefPtr<SerializedScriptValue> data(SerializedScriptValue::create(exec, MAYBE_MISSING_PARAMETER(exec, 1, DefaultIsUndefined), 0, 0));
@@ -356,10 +356,8 @@ void JSTestSerializedScriptValueInterface::visitChildren(JSCell* cell, SlotVisit
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
Base::visitChildren(thisObject, visitor);
- if (thisObject->m_cachedValue)
- visitor.append(&thisObject->m_cachedValue);
- if (thisObject->m_cachedReadonlyValue)
- visitor.append(&thisObject->m_cachedReadonlyValue);
+ visitor.append(&thisObject->m_cachedValue);
+ visitor.append(&thisObject->m_cachedReadonlyValue);
}
static inline bool isObservable(JSTestSerializedScriptValueInterface* jsTestSerializedScriptValueInterface)
diff --git a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h
index 8f63275df..06e526bd1 100644
--- a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h
+++ b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h
@@ -32,7 +32,8 @@
@class NSString;
@interface DOMTestActiveDOMObject : DOMObject
-- (int)excitingAttr;
+@property(readonly) int excitingAttr;
+
- (void)excitingFunction:(DOMNode *)nextChild;
- (void)postMessage:(NSString *)message;
@end
diff --git a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestEventConstructor.h b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestEventConstructor.h
index 7fc4ec5d6..df57dfe02 100644
--- a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestEventConstructor.h
+++ b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestEventConstructor.h
@@ -31,8 +31,8 @@
@class NSString;
@interface DOMTestEventConstructor : DOMObject
-- (NSString *)attr1;
-- (NSString *)attr2;
+@property(readonly, copy) NSString *attr1;
+@property(readonly, copy) NSString *attr2;
@end
#endif
diff --git a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestException.h b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestException.h
index 08e044dee..9c68a82a6 100644
--- a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestException.h
+++ b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestException.h
@@ -31,7 +31,7 @@
@class NSString;
@interface DOMTestException : DOMObject
-- (NSString *)name;
+@property(readonly, copy) NSString *name;
@end
#endif
diff --git a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h
index b86f999d0..a740c235e 100644
--- a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h
+++ b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestInterface.h
@@ -43,21 +43,11 @@ enum {
};
@interface DOMTestInterface : DOMObject
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (NSString *)supplementalStr1;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (NSString *)supplementalStr2;
-- (void)setSupplementalStr2:(NSString *)newSupplementalStr2;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (NSString *)supplementalStr3;
-- (void)setSupplementalStr3:(NSString *)newSupplementalStr3;
-#endif
-#if ENABLE(Condition11) || ENABLE(Condition12)
-- (DOMNode *)supplementalNode;
-- (void)setSupplementalNode:(DOMNode *)newSupplementalNode;
-#endif
+@property(readonly, copy) NSString *supplementalStr1;
+@property(copy) NSString *supplementalStr2;
+@property(copy) NSString *supplementalStr3;
+@property(retain) DOMNode *supplementalNode;
+
#if ENABLE(Condition11) || ENABLE(Condition12)
- (void)supplementalMethod1;
#endif
diff --git a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h
index 3696811e7..08c906dbe 100644
--- a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h
+++ b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestObj.h
@@ -64,110 +64,56 @@ enum {
};
@interface DOMTestObj : DOMObject
-- (int)readOnlyLongAttr;
-- (NSString *)readOnlyStringAttr;
-- (DOMTestObj *)readOnlyTestObjAttr;
-- (short)shortAttr;
-- (void)setShortAttr:(short)newShortAttr;
-- (unsigned short)unsignedShortAttr;
-- (void)setUnsignedShortAttr:(unsigned short)newUnsignedShortAttr;
-- (long long)Attr;
-- (void)setAttr:(long long)newAttr;
-- (long long)longLongAttr;
-- (void)setLongLongAttr:(long long)newLongLongAttr;
-- (unsigned long long)unsignedLongLongAttr;
-- (void)setUnsignedLongLongAttr:(unsigned long long)newUnsignedLongLongAttr;
-- (NSString *)stringAttr;
-- (void)setStringAttr:(NSString *)newStringAttr;
-- (DOMTestObj *)testObjAttr;
-- (void)setTestObjAttr:(DOMTestObj *)newTestObjAttr;
-- (DOMTestObj *)XMLObjAttr;
-- (void)setXMLObjAttr:(DOMTestObj *)newXMLObjAttr;
-- (BOOL)create;
-- (void)setCreate:(BOOL)newCreate;
-- (NSString *)reflectedStringAttr;
-- (void)setReflectedStringAttr:(NSString *)newReflectedStringAttr;
-- (int)reflectedIntegralAttr;
-- (void)setReflectedIntegralAttr:(int)newReflectedIntegralAttr;
-- (unsigned)reflectedUnsignedIntegralAttr;
-- (void)setReflectedUnsignedIntegralAttr:(unsigned)newReflectedUnsignedIntegralAttr;
-- (BOOL)reflectedBooleanAttr;
-- (void)setReflectedBooleanAttr:(BOOL)newReflectedBooleanAttr;
-- (NSString *)reflectedURLAttr;
-- (void)setReflectedURLAttr:(NSString *)newReflectedURLAttr;
-- (NSString *)reflectedStringAttr;
-- (void)setReflectedStringAttr:(NSString *)newReflectedStringAttr;
-- (int)reflectedCustomIntegralAttr;
-- (void)setReflectedCustomIntegralAttr:(int)newReflectedCustomIntegralAttr;
-- (BOOL)reflectedCustomBooleanAttr;
-- (void)setReflectedCustomBooleanAttr:(BOOL)newReflectedCustomBooleanAttr;
-- (NSString *)reflectedCustomURLAttr;
-- (void)setReflectedCustomURLAttr:(NSString *)newReflectedCustomURLAttr;
-- (int)attrWithGetterException;
-- (void)setAttrWithGetterException:(int)newAttrWithGetterException;
-- (int)attrWithSetterException;
-- (void)setAttrWithSetterException:(int)newAttrWithSetterException;
-- (NSString *)stringAttrWithGetterException;
-- (void)setStringAttrWithGetterException:(NSString *)newStringAttrWithGetterException;
-- (NSString *)stringAttrWithSetterException;
-- (void)setStringAttrWithSetterException:(NSString *)newStringAttrWithSetterException;
-- (int)customAttr;
-- (void)setCustomAttr:(int)newCustomAttr;
-- (int)withScriptStateAttribute;
-- (void)setWithScriptStateAttribute:(int)newWithScriptStateAttribute;
-- (DOMTestObj *)withScriptExecutionContextAttribute;
-- (void)setWithScriptExecutionContextAttribute:(DOMTestObj *)newWithScriptExecutionContextAttribute;
-- (DOMTestObj *)withScriptStateAttributeRaises;
-- (void)setWithScriptStateAttributeRaises:(DOMTestObj *)newWithScriptStateAttributeRaises;
-- (DOMTestObj *)withScriptExecutionContextAttributeRaises;
-- (void)setWithScriptExecutionContextAttributeRaises:(DOMTestObj *)newWithScriptExecutionContextAttributeRaises;
-- (DOMTestObj *)withScriptExecutionContextAndScriptStateAttribute;
-- (void)setWithScriptExecutionContextAndScriptStateAttribute:(DOMTestObj *)newWithScriptExecutionContextAndScriptStateAttribute;
-- (DOMTestObj *)withScriptExecutionContextAndScriptStateAttributeRaises;
-- (void)setWithScriptExecutionContextAndScriptStateAttributeRaises:(DOMTestObj *)newWithScriptExecutionContextAndScriptStateAttributeRaises;
-- (DOMTestObj *)withScriptExecutionContextAndScriptStateWithSpacesAttribute;
-- (void)setWithScriptExecutionContextAndScriptStateWithSpacesAttribute:(DOMTestObj *)newWithScriptExecutionContextAndScriptStateWithSpacesAttribute;
-- (DOMTestObj *)withScriptArgumentsAndCallStackAttribute;
-- (void)setWithScriptArgumentsAndCallStackAttribute:(DOMTestObj *)newWithScriptArgumentsAndCallStackAttribute;
-#if ENABLE(Condition1)
-- (int)conditionalAttr1;
-- (void)setConditionalAttr1:(int)newConditionalAttr1;
-#endif
-#if ENABLE(Condition1) && ENABLE(Condition2)
-- (int)conditionalAttr2;
-- (void)setConditionalAttr2:(int)newConditionalAttr2;
-#endif
-#if ENABLE(Condition1) || ENABLE(Condition2)
-- (int)conditionalAttr3;
-- (void)setConditionalAttr3:(int)newConditionalAttr3;
-#endif
-#if ENABLE(Condition1)
-- (DOMTestObjectAConstructor *)conditionalAttr4;
-- (void)setConditionalAttr4:(DOMTestObjectAConstructor *)newConditionalAttr4;
-#endif
-#if ENABLE(Condition1) && ENABLE(Condition2)
-- (DOMTestObjectBConstructor *)conditionalAttr5;
-- (void)setConditionalAttr5:(DOMTestObjectBConstructor *)newConditionalAttr5;
-#endif
-#if ENABLE(Condition1) || ENABLE(Condition2)
-- (DOMTestObjectCConstructor *)conditionalAttr6;
-- (void)setConditionalAttr6:(DOMTestObjectCConstructor *)newConditionalAttr6;
-#endif
-- (DOMDocument *)contentDocument;
-- (DOMSVGPoint *)mutablePoint;
-- (void)setMutablePoint:(DOMSVGPoint *)newMutablePoint;
-- (DOMSVGPoint *)immutablePoint;
-- (void)setImmutablePoint:(DOMSVGPoint *)newImmutablePoint;
-- (int)strawberry;
-- (void)setStrawberry:(int)newStrawberry;
-- (float)strictFloat;
-- (void)setStrictFloat:(float)newStrictFloat;
-- (int)descriptionName;
-- (int)idName;
-- (void)setIdName:(int)newIdName;
-- (NSString *)hashName;
-- (int)replaceableAttribute;
-- (void)setReplaceableAttribute:(int)newReplaceableAttribute;
+@property(readonly) int readOnlyLongAttr;
+@property(readonly, copy) NSString *readOnlyStringAttr;
+@property(readonly, retain) DOMTestObj *readOnlyTestObjAttr;
+@property short shortAttr;
+@property unsigned short unsignedShortAttr;
+@property long long Attr;
+@property long long longLongAttr;
+@property unsigned long long unsignedLongLongAttr;
+@property(copy) NSString *stringAttr;
+@property(retain) DOMTestObj *testObjAttr;
+@property(retain) DOMTestObj *XMLObjAttr;
+@property BOOL create;
+@property(copy) NSString *reflectedStringAttr;
+@property int reflectedIntegralAttr;
+@property unsigned reflectedUnsignedIntegralAttr;
+@property BOOL reflectedBooleanAttr;
+@property(copy) NSString *reflectedURLAttr;
+@property(copy) NSString *reflectedStringAttr;
+@property int reflectedCustomIntegralAttr;
+@property BOOL reflectedCustomBooleanAttr;
+@property(copy) NSString *reflectedCustomURLAttr;
+@property int attrWithGetterException;
+@property int attrWithSetterException;
+@property(copy) NSString *stringAttrWithGetterException;
+@property(copy) NSString *stringAttrWithSetterException;
+@property int customAttr;
+@property int withScriptStateAttribute;
+@property(retain) DOMTestObj *withScriptExecutionContextAttribute;
+@property(retain) DOMTestObj *withScriptStateAttributeRaises;
+@property(retain) DOMTestObj *withScriptExecutionContextAttributeRaises;
+@property(retain) DOMTestObj *withScriptExecutionContextAndScriptStateAttribute;
+@property(retain) DOMTestObj *withScriptExecutionContextAndScriptStateAttributeRaises;
+@property(retain) DOMTestObj *withScriptExecutionContextAndScriptStateWithSpacesAttribute;
+@property(retain) DOMTestObj *withScriptArgumentsAndCallStackAttribute;
+@property int conditionalAttr1;
+@property int conditionalAttr2;
+@property int conditionalAttr3;
+@property(retain) DOMTestObjectAConstructor *conditionalAttr4;
+@property(retain) DOMTestObjectBConstructor *conditionalAttr5;
+@property(retain) DOMTestObjectCConstructor *conditionalAttr6;
+@property(readonly, retain) DOMDocument *contentDocument;
+@property(retain) DOMSVGPoint *mutablePoint;
+@property(retain) DOMSVGPoint *immutablePoint;
+@property int strawberry;
+@property float strictFloat;
+@property(readonly) int descriptionName;
+@property int idName;
+@property(readonly, copy) NSString *hashName;
+@property int replaceableAttribute;
+
- (void)voidMethod;
- (void)voidMethodWithArgs:(long long)Arg strArg:(NSString *)strArg objArg:(DOMTestObj *)objArg;
- (long long)Method;
diff --git a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h
index 01c68d9e9..e853b0c98 100644
--- a/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h
+++ b/Source/WebCore/bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h
@@ -33,13 +33,12 @@
@class NSString;
@interface DOMTestSerializedScriptValueInterface : DOMObject
-- (NSString *)value;
-- (void)setValue:(NSString *)newValue;
-- (NSString *)readonlyValue;
-- (NSString *)cachedValue;
-- (void)setCachedValue:(NSString *)newCachedValue;
-- (DOMMessagePortArray *)ports;
-- (NSString *)cachedReadonlyValue;
+@property(retain) NSString *value;
+@property(readonly, retain) NSString *readonlyValue;
+@property(retain) NSString *cachedValue;
+@property(readonly, retain) DOMMessagePortArray *ports;
+@property(readonly, retain) NSString *cachedReadonlyValue;
+
- (void)acceptTransferList:(NSString *)data transferList:(DOMArray *)transferList;
- (void)multiTransferList:(NSString *)first tx:(DOMArray *)tx second:(NSString *)second txx:(DOMArray *)txx;
@end
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp b/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp
index bda47a5ac..e4703bc91 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.cpp
@@ -56,7 +56,7 @@ static v8::Handle<v8::Value> fooCallback(const v8::Arguments& args)
return throwNotEnoughArgumentsError(args.GetIsolate());
Float64Array* imp = V8Float64Array::toNative(args.Holder());
EXCEPTION_BLOCK(Float32Array*, array, V8Float32Array::HasInstance(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)) ? V8Float32Array::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined))) : 0);
- return toV8(imp->foo(array), args.GetIsolate());
+ return toV8(imp->foo(array), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> setCallback(const v8::Arguments& args)
@@ -67,11 +67,11 @@ static v8::Handle<v8::Value> setCallback(const v8::Arguments& args)
} // namespace Float64ArrayV8Internal
-v8::Handle<v8::Value> toV8(Float64Array* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(Float64Array* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
- v8::Handle<v8::Object> wrapper = V8Float64Array::wrap(impl, isolate);
+ v8::Handle<v8::Object> wrapper = V8Float64Array::wrap(impl, creationContext, isolate);
if (!wrapper.IsEmpty())
wrapper->SetIndexedPropertiesToExternalArrayData(impl->baseAddress(), v8::kExternalDoubleArray, impl->length());
return wrapper;
@@ -147,12 +147,25 @@ bool V8Float64Array::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8Float64Array::wrapSlow(PassRefPtr<Float64Array> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8Float64Array::wrapSlow(PassRefPtr<Float64Array> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
ASSERT(static_cast<void*>(static_cast<ArrayBufferView*>(impl.get())) == static_cast<void*>(impl.get()));
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h b/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h
index 48928a4d6..c0fe97208 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8Float64Array.h
@@ -42,28 +42,28 @@ public:
{
return reinterpret_cast<Float64Array*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(Float64Array*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(Float64Array*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static v8::Handle<v8::Value> constructorCallback(const v8::Arguments&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<Float64Array>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<Float64Array>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8Float64Array::wrap(Float64Array* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8Float64Array::wrap(Float64Array* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8Float64Array::wrapSlow(impl, isolate);
+ return V8Float64Array::wrapSlow(impl, creationContext, isolate);
}
-v8::Handle<v8::Value> toV8(Float64Array*, v8::Isolate* = 0);
-inline v8::Handle<v8::Value> toV8(PassRefPtr< Float64Array > impl, v8::Isolate* isolate = 0)
+v8::Handle<v8::Value> toV8(Float64Array*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
+inline v8::Handle<v8::Value> toV8(PassRefPtr< Float64Array > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp
index 6e4be7579..b996c8155 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp
@@ -176,28 +176,24 @@ bool V8TestActiveDOMObject::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestActiveDOMObject::wrapSlow(PassRefPtr<TestActiveDOMObject> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestActiveDOMObject::wrapSlow(PassRefPtr<TestActiveDOMObject> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- if (impl->frame()) {
- frame = impl->frame();
- frame->script()->windowShell()->initContextIfNeeded();
- }
- // Enter the node's context and create the wrapper in that context.
v8::Handle<v8::Context> context;
- if (frame && !frame->script()->matchesCurrentContext()) {
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
// For performance, we enter the context only if the currently running context
// is different from the context that we are about to enter.
- context = frame->script()->currentWorldContext();
- if (!context.IsEmpty())
- context->Enter();
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
}
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
- // Exit the node's context if it was entered.
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
if (!context.IsEmpty())
context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h b/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h
index e2cee5a12..25803a451 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.h
@@ -41,7 +41,7 @@ public:
{
return reinterpret_cast<TestActiveDOMObject*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestActiveDOMObject*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestActiveDOMObject*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
@@ -49,26 +49,26 @@ public:
static bool namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Value> key, v8::AccessType, v8::Local<v8::Value> data);
static bool indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t index, v8::AccessType, v8::Local<v8::Value> data);
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestActiveDOMObject>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestActiveDOMObject>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestActiveDOMObject::wrap(TestActiveDOMObject* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestActiveDOMObject::wrap(TestActiveDOMObject* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestActiveDOMObject::wrapSlow(impl, isolate);
+ return V8TestActiveDOMObject::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestActiveDOMObject* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestActiveDOMObject* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestActiveDOMObject::wrap(impl, isolate);
+ return V8TestActiveDOMObject::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestActiveDOMObject > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestActiveDOMObject > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp
index 8975cf632..7c32be6e0 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp
@@ -110,11 +110,24 @@ bool V8TestCustomNamedGetter::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestCustomNamedGetter::wrapSlow(PassRefPtr<TestCustomNamedGetter> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestCustomNamedGetter::wrapSlow(PassRefPtr<TestCustomNamedGetter> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h b/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h
index 2aedac731..473858f2e 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestCustomNamedGetter.h
@@ -41,33 +41,33 @@ public:
{
return reinterpret_cast<TestCustomNamedGetter*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestCustomNamedGetter*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestCustomNamedGetter*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static v8::Handle<v8::Value> namedPropertyGetter(v8::Local<v8::String>, const v8::AccessorInfo&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestCustomNamedGetter>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestCustomNamedGetter>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestCustomNamedGetter::wrap(TestCustomNamedGetter* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestCustomNamedGetter::wrap(TestCustomNamedGetter* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestCustomNamedGetter::wrapSlow(impl, isolate);
+ return V8TestCustomNamedGetter::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestCustomNamedGetter* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestCustomNamedGetter* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestCustomNamedGetter::wrap(impl, isolate);
+ return V8TestCustomNamedGetter::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestCustomNamedGetter > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestCustomNamedGetter > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp
index fe3eb4fff..b3a3534f2 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.cpp
@@ -147,11 +147,24 @@ bool V8TestEventConstructor::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestEventConstructor::wrapSlow(PassRefPtr<TestEventConstructor> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestEventConstructor::wrapSlow(PassRefPtr<TestEventConstructor> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h b/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h
index 433dcc87f..6926cebd4 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestEventConstructor.h
@@ -42,33 +42,33 @@ public:
{
return reinterpret_cast<TestEventConstructor*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestEventConstructor*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestEventConstructor*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static v8::Handle<v8::Value> constructorCallback(const v8::Arguments&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestEventConstructor>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestEventConstructor>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestEventConstructor::wrap(TestEventConstructor* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestEventConstructor::wrap(TestEventConstructor* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestEventConstructor::wrapSlow(impl, isolate);
+ return V8TestEventConstructor::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestEventConstructor* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestEventConstructor* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestEventConstructor::wrap(impl, isolate);
+ return V8TestEventConstructor::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestEventConstructor > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestEventConstructor > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
bool fillTestEventConstructorInit(TestEventConstructorInit&, const Dictionary&);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp
index 1940d7dbd..b78369e95 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.cpp
@@ -55,7 +55,7 @@ static v8::Handle<v8::Value> itemCallback(const v8::Arguments& args)
ec = INDEX_SIZE_ERR;
goto fail;
}
- return toV8(imp->item(index), args.GetIsolate());
+ return toV8(imp->item(index), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -171,11 +171,24 @@ bool V8TestEventTarget::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestEventTarget::wrapSlow(PassRefPtr<TestEventTarget> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestEventTarget::wrapSlow(PassRefPtr<TestEventTarget> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h b/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h
index afb0de04b..6182b2758 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestEventTarget.h
@@ -41,7 +41,7 @@ public:
{
return reinterpret_cast<TestEventTarget*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestEventTarget*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestEventTarget*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
@@ -50,26 +50,26 @@ public:
static const int eventListenerCacheIndex = v8DefaultWrapperInternalFieldCount + 0;
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 1;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestEventTarget>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestEventTarget>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestEventTarget::wrap(TestEventTarget* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestEventTarget::wrap(TestEventTarget* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestEventTarget::wrapSlow(impl, isolate);
+ return V8TestEventTarget::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestEventTarget* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestEventTarget* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestEventTarget::wrap(impl, isolate);
+ return V8TestEventTarget::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestEventTarget > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestEventTarget > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp
index 9375ce310..d80199d9f 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestException.cpp
@@ -101,11 +101,24 @@ bool V8TestException::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestException::wrapSlow(PassRefPtr<TestException> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestException::wrapSlow(PassRefPtr<TestException> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestException.h b/Source/WebCore/bindings/scripts/test/V8/V8TestException.h
index 8a6904fae..6f2010dac 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestException.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestException.h
@@ -41,32 +41,32 @@ public:
{
return reinterpret_cast<TestException*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestException*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestException*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestException>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestException>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestException::wrap(TestException* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestException::wrap(TestException* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestException::wrapSlow(impl, isolate);
+ return V8TestException::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestException* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestException* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestException::wrap(impl, isolate);
+ return V8TestException::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestException > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestException > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
index 0098d5eb0..c53507671 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp
@@ -120,7 +120,7 @@ static v8::Handle<v8::Value> supplementalNodeAttrGetter(v8::Local<v8::String> na
{
INC_STATS("DOM.TestInterface.supplementalNode._get");
TestInterface* imp = V8TestInterface::toNative(info.Holder());
- return toV8(TestSupplemental::supplementalNode(imp), info.GetIsolate());
+ return toV8(TestSupplemental::supplementalNode(imp), info.Holder(), info.GetIsolate());
}
#endif // ENABLE(Condition11) || ENABLE(Condition12)
@@ -168,7 +168,7 @@ static v8::Handle<v8::Value> supplementalMethod2Callback(const v8::Arguments& ar
RefPtr<TestObj> result = TestSupplemental::supplementalMethod2(scriptContext, imp, strArg, objArg, ec);
if (UNLIKELY(ec))
goto fail;
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -344,11 +344,24 @@ ActiveDOMObject* V8TestInterface::toActiveDOMObject(v8::Handle<v8::Object> objec
return toNative(object);
}
-v8::Handle<v8::Object> V8TestInterface::wrapSlow(PassRefPtr<TestInterface> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestInterface::wrapSlow(PassRefPtr<TestInterface> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForActiveDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h b/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h
index 89663c811..a72118223 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestInterface.h
@@ -43,7 +43,7 @@ public:
{
return reinterpret_cast<TestInterface*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestInterface*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestInterface*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
@@ -52,26 +52,26 @@ public:
static v8::Handle<v8::Value> namedPropertySetter(v8::Local<v8::String>, v8::Local<v8::Value>, const v8::AccessorInfo&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestInterface>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestInterface>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestInterface::wrap(TestInterface* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestInterface::wrap(TestInterface* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getActiveDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestInterface::wrapSlow(impl, isolate);
+ return V8TestInterface::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestInterface* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestInterface* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestInterface::wrap(impl, isolate);
+ return V8TestInterface::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestInterface > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestInterface > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
index ac1167998..24c4df698 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp
@@ -110,11 +110,24 @@ bool V8TestMediaQueryListListener::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestMediaQueryListListener::wrapSlow(PassRefPtr<TestMediaQueryListListener> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestMediaQueryListListener::wrapSlow(PassRefPtr<TestMediaQueryListListener> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h b/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h
index c507ef85d..adf345ed8 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestMediaQueryListListener.h
@@ -41,32 +41,32 @@ public:
{
return reinterpret_cast<TestMediaQueryListListener*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestMediaQueryListListener*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestMediaQueryListListener*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestMediaQueryListListener>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestMediaQueryListListener>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestMediaQueryListListener::wrap(TestMediaQueryListListener* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestMediaQueryListListener::wrap(TestMediaQueryListListener* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestMediaQueryListListener::wrapSlow(impl, isolate);
+ return V8TestMediaQueryListListener::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestMediaQueryListListener* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestMediaQueryListListener* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestMediaQueryListListener::wrap(impl, isolate);
+ return V8TestMediaQueryListListener::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestMediaQueryListListener > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestMediaQueryListListener > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp
index 7a74f5827..6e262d43c 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.cpp
@@ -61,7 +61,7 @@ static v8::Handle<v8::Value> V8TestNamedConstructorConstructorCallback(const v8:
// Make sure the document is added to the DOM Node map. Otherwise, the TestNamedConstructor instance
// may end up being the only node in the map and get garbage-collected prematurely.
- toV8(document, args.GetIsolate());
+ toV8(document, args.Holder(), args.GetIsolate());
if (args.Length() < 1)
return throwNotEnoughArgumentsError(args.GetIsolate());
@@ -154,11 +154,24 @@ ActiveDOMObject* V8TestNamedConstructor::toActiveDOMObject(v8::Handle<v8::Object
return toNative(object);
}
-v8::Handle<v8::Object> V8TestNamedConstructor::wrapSlow(PassRefPtr<TestNamedConstructor> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestNamedConstructor::wrapSlow(PassRefPtr<TestNamedConstructor> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForActiveDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h b/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h
index e0562b9ef..e16e21104 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestNamedConstructor.h
@@ -47,33 +47,33 @@ public:
{
return reinterpret_cast<TestNamedConstructor*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestNamedConstructor*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestNamedConstructor*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static ActiveDOMObject* toActiveDOMObject(v8::Handle<v8::Object>);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestNamedConstructor>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestNamedConstructor>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestNamedConstructor::wrap(TestNamedConstructor* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestNamedConstructor::wrap(TestNamedConstructor* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getActiveDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestNamedConstructor::wrapSlow(impl, isolate);
+ return V8TestNamedConstructor::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestNamedConstructor* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestNamedConstructor* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestNamedConstructor::wrap(impl, isolate);
+ return V8TestNamedConstructor::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestNamedConstructor > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestNamedConstructor > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
index ce42f92ed..5655a8c01 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestNode.cpp
@@ -109,25 +109,25 @@ bool V8TestNode::HasInstance(v8::Handle<v8::Value> value)
}
-v8::Handle<v8::Object> V8TestNode::wrapSlow(PassRefPtr<TestNode> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestNode::wrapSlow(PassRefPtr<TestNode> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
ASSERT(static_cast<void*>(static_cast<Node*>(impl.get())) == static_cast<void*>(impl.get()));
- Frame* frame = impl->document()->frame();
- // Enter the node's context and create the wrapper in that context.
v8::Handle<v8::Context> context;
- if (frame && !frame->script()->matchesCurrentContext()) {
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
// For performance, we enter the context only if the currently running context
// is different from the context that we are about to enter.
- context = frame->script()->currentWorldContext();
- if (!context.IsEmpty())
- context->Enter();
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
}
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
- // Exit the node's context if it was entered.
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
if (!context.IsEmpty())
context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMNode(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h b/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h
index 40bdd3a9d..42a5c54e8 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestNode.h
@@ -41,33 +41,33 @@ public:
{
return reinterpret_cast<TestNode*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestNode*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestNode*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static v8::Handle<v8::Value> constructorCallback(const v8::Arguments&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestNode>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestNode>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestNode::wrap(TestNode* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestNode::wrap(TestNode* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = V8DOMWrapper::getCachedWrapper(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestNode::wrapSlow(impl, isolate);
+ return V8TestNode::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestNode* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestNode* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestNode::wrap(impl, isolate);
+ return V8TestNode::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestNode > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestNode > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
index 553a3d1a6..46b415d28 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestObj.cpp
@@ -102,7 +102,7 @@ static v8::Handle<v8::Value> readOnlyTestObjAttrAttrGetter(v8::Local<v8::String>
RefPtr<TestObj> result = imp->readOnlyTestObjAttr();
v8::Handle<v8::Value> wrapper = result.get() ? getDOMObjectMap(info.GetIsolate()).get(result.get()) : v8Undefined();
if (wrapper.IsEmpty()) {
- wrapper = toV8(result.get(), info.GetIsolate());
+ wrapper = toV8(result.get(), info.Holder(), info.GetIsolate());
if (!wrapper.IsEmpty())
V8DOMWrapper::setNamedHiddenReference(info.Holder(), "readOnlyTestObjAttr", wrapper);
}
@@ -229,7 +229,7 @@ static v8::Handle<v8::Value> testObjAttrAttrGetter(v8::Local<v8::String> name, c
{
INC_STATS("DOM.TestObj.testObjAttr._get");
TestObj* imp = V8TestObj::toNative(info.Holder());
- return toV8(imp->testObjAttr(), info.GetIsolate());
+ return toV8(imp->testObjAttr(), info.Holder(), info.GetIsolate());
}
static void testObjAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -245,7 +245,7 @@ static v8::Handle<v8::Value> XMLObjAttrAttrGetter(v8::Local<v8::String> name, co
{
INC_STATS("DOM.TestObj.XMLObjAttr._get");
TestObj* imp = V8TestObj::toNative(info.Holder());
- return toV8(imp->xmlObjAttr(), info.GetIsolate());
+ return toV8(imp->xmlObjAttr(), info.Holder(), info.GetIsolate());
}
static void XMLObjAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -421,7 +421,7 @@ static v8::Handle<v8::Value> typedArrayAttrAttrGetter(v8::Local<v8::String> name
{
INC_STATS("DOM.TestObj.typedArrayAttr._get");
TestObj* imp = V8TestObj::toNative(info.Holder());
- return toV8(imp->typedArrayAttr(), info.GetIsolate());
+ return toV8(imp->typedArrayAttr(), info.Holder(), info.GetIsolate());
}
static void typedArrayAttrAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -548,7 +548,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAttributeAttrGetter(v8::L
ScriptExecutionContext* scriptContext = getScriptExecutionContext();
if (!scriptContext)
return v8Undefined();
- return toV8(imp->withScriptExecutionContextAttribute(scriptContext), info.GetIsolate());
+ return toV8(imp->withScriptExecutionContextAttribute(scriptContext), info.Holder(), info.GetIsolate());
}
static void withScriptExecutionContextAttributeAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -576,7 +576,7 @@ static v8::Handle<v8::Value> withScriptStateAttributeRaisesAttrGetter(v8::Local<
return setDOMException(ec, info.GetIsolate());
if (state.hadException())
return throwError(state.exception(), info.GetIsolate());
- return toV8(v.release(), info.GetIsolate());
+ return toV8(v.release(), info.Holder(), info.GetIsolate());
}
static void withScriptStateAttributeRaisesAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -607,7 +607,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAttributeRaisesAttrGetter
RefPtr<TestObj> v = imp->withScriptExecutionContextAttributeRaises(scriptContext, ec);
if (UNLIKELY(ec))
return setDOMException(ec, info.GetIsolate());
- return toV8(v.release(), info.GetIsolate());
+ return toV8(v.release(), info.Holder(), info.GetIsolate());
}
static void withScriptExecutionContextAttributeRaisesAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -635,7 +635,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAndScriptStateAttributeAt
ScriptExecutionContext* scriptContext = getScriptExecutionContext();
if (!scriptContext)
return v8Undefined();
- return toV8(imp->withScriptExecutionContextAndScriptStateAttribute(state, scriptContext), info.GetIsolate());
+ return toV8(imp->withScriptExecutionContextAndScriptStateAttribute(state, scriptContext), info.Holder(), info.GetIsolate());
}
static void withScriptExecutionContextAndScriptStateAttributeAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -671,7 +671,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAndScriptStateAttributeRa
return setDOMException(ec, info.GetIsolate());
if (state.hadException())
return throwError(state.exception(), info.GetIsolate());
- return toV8(v.release(), info.GetIsolate());
+ return toV8(v.release(), info.Holder(), info.GetIsolate());
}
static void withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -704,7 +704,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAndScriptStateWithSpacesA
ScriptExecutionContext* scriptContext = getScriptExecutionContext();
if (!scriptContext)
return v8Undefined();
- return toV8(imp->withScriptExecutionContextAndScriptStateWithSpacesAttribute(state, scriptContext), info.GetIsolate());
+ return toV8(imp->withScriptExecutionContextAndScriptStateWithSpacesAttribute(state, scriptContext), info.Holder(), info.GetIsolate());
}
static void withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -731,7 +731,7 @@ static v8::Handle<v8::Value> withScriptArgumentsAndCallStackAttributeAttrGetter(
RefPtr<ScriptCallStack> callStack(createScriptCallStackForInspector());
if (!callStack)
return v8Undefined();
- return toV8(imp->withScriptArgumentsAndCallStackAttribute(callStack), info.GetIsolate());
+ return toV8(imp->withScriptArgumentsAndCallStackAttribute(callStack), info.Holder(), info.GetIsolate());
}
static void withScriptArgumentsAndCallStackAttributeAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -825,7 +825,7 @@ static v8::Handle<v8::Value> cachedAttribute1AttrGetter(v8::Local<v8::String> na
RefPtr<any> result = imp->cachedAttribute1();
v8::Handle<v8::Value> wrapper = result.get() ? getDOMObjectMap(info.GetIsolate()).get(result.get()) : v8Undefined();
if (wrapper.IsEmpty()) {
- wrapper = toV8(result.get(), info.GetIsolate());
+ wrapper = toV8(result.get(), info.Holder(), info.GetIsolate());
if (!wrapper.IsEmpty())
V8DOMWrapper::setNamedHiddenReference(info.Holder(), "cachedAttribute1", wrapper);
}
@@ -839,7 +839,7 @@ static v8::Handle<v8::Value> cachedAttribute2AttrGetter(v8::Local<v8::String> na
RefPtr<any> result = imp->cachedAttribute2();
v8::Handle<v8::Value> wrapper = result.get() ? getDOMObjectMap(info.GetIsolate()).get(result.get()) : v8Undefined();
if (wrapper.IsEmpty()) {
- wrapper = toV8(result.get(), info.GetIsolate());
+ wrapper = toV8(result.get(), info.Holder(), info.GetIsolate());
if (!wrapper.IsEmpty())
V8DOMWrapper::setNamedHiddenReference(info.Holder(), "cachedAttribute2", wrapper);
}
@@ -949,14 +949,14 @@ static v8::Handle<v8::Value> contentDocumentAttrGetter(v8::Local<v8::String> nam
if (!BindingSecurity::shouldAllowAccessToNode(BindingState::instance(), imp->contentDocument()))
return v8::Handle<v8::Value>(v8::Null(info.GetIsolate()));
- return toV8(imp->contentDocument(), info.GetIsolate());
+ return toV8(imp->contentDocument(), info.Holder(), info.GetIsolate());
}
static v8::Handle<v8::Value> mutablePointAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
INC_STATS("DOM.TestObj.mutablePoint._get");
TestObj* imp = V8TestObj::toNative(info.Holder());
- return toV8(WTF::getPtr(SVGStaticPropertyTearOff<TestObj, FloatPoint>::create(imp, imp->mutablePoint(), &TestObj::updateMutablePoint)), info.GetIsolate());
+ return toV8(WTF::getPtr(SVGStaticPropertyTearOff<TestObj, FloatPoint>::create(imp, imp->mutablePoint(), &TestObj::updateMutablePoint)), info.Holder(), info.GetIsolate());
}
static void mutablePointAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -972,7 +972,7 @@ static v8::Handle<v8::Value> immutablePointAttrGetter(v8::Local<v8::String> name
{
INC_STATS("DOM.TestObj.immutablePoint._get");
TestObj* imp = V8TestObj::toNative(info.Holder());
- return toV8(WTF::getPtr(SVGPropertyTearOff<FloatPoint>::create(imp->immutablePoint())), info.GetIsolate());
+ return toV8(WTF::getPtr(SVGPropertyTearOff<FloatPoint>::create(imp->immutablePoint())), info.Holder(), info.GetIsolate());
}
static void immutablePointAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -1111,7 +1111,7 @@ static v8::Handle<v8::Value> objMethodCallback(const v8::Arguments& args)
{
INC_STATS("DOM.TestObj.objMethod");
TestObj* imp = V8TestObj::toNative(args.Holder());
- return toV8(imp->objMethod(), args.GetIsolate());
+ return toV8(imp->objMethod(), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> objMethodWithArgsCallback(const v8::Arguments& args)
@@ -1123,7 +1123,7 @@ static v8::Handle<v8::Value> objMethodWithArgsCallback(const v8::Arguments& args
EXCEPTION_BLOCK(long long, Arg, toInt64(MAYBE_MISSING_PARAMETER(args, 0, DefaultIsUndefined)));
STRING_TO_V8PARAMETER_EXCEPTION_BLOCK(V8Parameter<>, strArg, MAYBE_MISSING_PARAMETER(args, 1, DefaultIsUndefined));
EXCEPTION_BLOCK(TestObj*, objArg, V8TestObj::HasInstance(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined)) ? V8TestObj::toNative(v8::Handle<v8::Object>::Cast(MAYBE_MISSING_PARAMETER(args, 2, DefaultIsUndefined))) : 0);
- return toV8(imp->objMethodWithArgs(Arg, strArg, objArg), args.GetIsolate());
+ return toV8(imp->objMethodWithArgs(Arg, strArg, objArg), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> methodWithSequenceArgCallback(const v8::Arguments& args)
@@ -1160,7 +1160,7 @@ static v8::Handle<v8::Value> methodThatRequiresAllArgsAndThrowsCallback(const v8
RefPtr<TestObj> result = imp->methodThatRequiresAllArgsAndThrows(strArg, objArg, ec);
if (UNLIKELY(ec))
goto fail;
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -1267,7 +1267,7 @@ static v8::Handle<v8::Value> withScriptStateObjCallback(const v8::Arguments& arg
RefPtr<TestObj> result = imp->withScriptStateObj(&state);
if (state.hadException())
return throwError(state.exception(), args.GetIsolate());
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> withScriptStateVoidExceptionCallback(const v8::Arguments& args)
@@ -1300,7 +1300,7 @@ static v8::Handle<v8::Value> withScriptStateObjExceptionCallback(const v8::Argum
goto fail;
if (state.hadException())
return throwError(state.exception(), args.GetIsolate());
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -1346,7 +1346,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAndScriptStateObjExceptio
goto fail;
if (state.hadException())
return throwError(state.exception(), args.GetIsolate());
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -1363,7 +1363,7 @@ static v8::Handle<v8::Value> withScriptExecutionContextAndScriptStateWithSpacesC
RefPtr<TestObj> result = imp->withScriptExecutionContextAndScriptStateWithSpaces(&state, scriptContext);
if (state.hadException())
return throwError(state.exception(), args.GetIsolate());
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> withScriptArgumentsAndCallStackCallback(const v8::Arguments& args)
@@ -1676,6 +1676,8 @@ static v8::Handle<v8::Value> overloadedMethodCallback(const v8::Arguments& args)
return overloadedMethod9Callback(args);
if ((args.Length() == 1 && (args[0]->IsArray())))
return overloadedMethod10Callback(args);
+ if (args.Length() < 1)
+ return throwNotEnoughArgumentsError(args.GetIsolate());
return throwTypeError(0, args.GetIsolate());
}
@@ -1733,6 +1735,8 @@ static v8::Handle<v8::Value> overloadedMethod1Callback(const v8::Arguments& args
return overloadedMethod11Callback(args);
if ((args.Length() == 1 && (args[0]->IsNull() || args[0]->IsUndefined() || args[0]->IsString() || args[0]->IsObject())))
return overloadedMethod12Callback(args);
+ if (args.Length() < 1)
+ return throwNotEnoughArgumentsError(args.GetIsolate());
return throwTypeError(0, args.GetIsolate());
}
@@ -1829,7 +1833,7 @@ static v8::Handle<v8::Value> getSVGDocumentCallback(const v8::Arguments& args)
RefPtr<SVGDocument> result = imp->getSVGDocument(ec);
if (UNLIKELY(ec))
goto fail;
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -1883,14 +1887,14 @@ static v8::Handle<v8::Value> mutablePointFunctionCallback(const v8::Arguments& a
{
INC_STATS("DOM.TestObj.mutablePointFunction");
TestObj* imp = V8TestObj::toNative(args.Holder());
- return toV8(WTF::getPtr(SVGPropertyTearOff<FloatPoint>::create(imp->mutablePointFunction())), args.GetIsolate());
+ return toV8(WTF::getPtr(SVGPropertyTearOff<FloatPoint>::create(imp->mutablePointFunction())), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> immutablePointFunctionCallback(const v8::Arguments& args)
{
INC_STATS("DOM.TestObj.immutablePointFunction");
TestObj* imp = V8TestObj::toNative(args.Holder());
- return toV8(WTF::getPtr(SVGPropertyTearOff<FloatPoint>::create(imp->immutablePointFunction())), args.GetIsolate());
+ return toV8(WTF::getPtr(SVGPropertyTearOff<FloatPoint>::create(imp->immutablePointFunction())), args.Holder(), args.GetIsolate());
}
static v8::Handle<v8::Value> orangeCallback(const v8::Arguments& args)
@@ -1915,7 +1919,7 @@ static v8::Handle<v8::Value> strictFunctionCallback(const v8::Arguments& args)
RefPtr<bool> result = imp->strictFunction(str, a, b, ec);
if (UNLIKELY(ec))
goto fail;
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
fail:
return setDOMException(ec, args.GetIsolate());
@@ -2317,11 +2321,24 @@ void V8TestObj::installPerContextProperties(v8::Handle<v8::Object> instance, Tes
}
}
-v8::Handle<v8::Object> V8TestObj::wrapSlow(PassRefPtr<TestObj> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestObj::wrapSlow(PassRefPtr<TestObj> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
installPerContextProperties(wrapper, impl.get());
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h b/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h
index bc0e17b5c..4d4072024 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestObj.h
@@ -41,7 +41,7 @@ public:
{
return reinterpret_cast<TestObj*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestObj*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestObj*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
@@ -54,26 +54,26 @@ public:
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
static void installPerContextProperties(v8::Handle<v8::Object>, TestObj*);
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestObj>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestObj>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestObj::wrap(TestObj* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestObj::wrap(TestObj* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestObj::wrapSlow(impl, isolate);
+ return V8TestObj::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestObj* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestObj* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestObj::wrap(impl, isolate);
+ return V8TestObj::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestObj > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestObj > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp b/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp
index ae8d18d45..ba4c40d56 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp
@@ -102,7 +102,7 @@ static v8::Handle<v8::Value> portsAttrGetter(v8::Local<v8::String> name, const v
MessagePortArray portsCopy(*ports);
v8::Local<v8::Array> portArray = v8::Array::New(portsCopy.size());
for (size_t i = 0; i < portsCopy.size(); ++i)
- portArray->Set(v8Integer(i, info.GetIsolate()), toV8(portsCopy[i].get(), info.GetIsolate()));
+ portArray->Set(v8Integer(i, info.GetIsolate()), toV8(portsCopy[i].get(), info.Holder(), info.GetIsolate()));
return portArray;
}
@@ -293,11 +293,24 @@ bool V8TestSerializedScriptValueInterface::HasInstance(v8::Handle<v8::Value> val
}
-v8::Handle<v8::Object> V8TestSerializedScriptValueInterface::wrapSlow(PassRefPtr<TestSerializedScriptValueInterface> impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestSerializedScriptValueInterface::wrapSlow(PassRefPtr<TestSerializedScriptValueInterface> impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper;
- Frame* frame = 0;
- wrapper = V8DOMWrapper::instantiateV8Object(frame, &info, impl.get());
+
+ v8::Handle<v8::Context> context;
+ if (!creationContext.IsEmpty() && creationContext->CreationContext() != v8::Context::GetCurrent()) {
+ // For performance, we enter the context only if the currently running context
+ // is different from the context that we are about to enter.
+ context = v8::Local<v8::Context>::New(creationContext->CreationContext());
+ ASSERT(!context.IsEmpty());
+ context->Enter();
+ }
+
+ wrapper = V8DOMWrapper::instantiateV8Object(&info, impl.get());
+
+ if (!context.IsEmpty())
+ context->Exit();
+
if (UNLIKELY(wrapper.IsEmpty()))
return wrapper;
v8::Persistent<v8::Object> wrapperHandle = V8DOMWrapper::setJSWrapperForDOMObject(impl, wrapper, isolate);
diff --git a/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h b/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h
index abd73e438..b8c3cdb19 100644
--- a/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h
+++ b/Source/WebCore/bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h
@@ -43,33 +43,33 @@ public:
{
return reinterpret_cast<TestSerializedScriptValueInterface*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
- inline static v8::Handle<v8::Object> wrap(TestSerializedScriptValueInterface*, v8::Isolate* = 0);
+ inline static v8::Handle<v8::Object> wrap(TestSerializedScriptValueInterface*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static void derefObject(void*);
static void visitDOMWrapper(DOMDataStore*, void*, v8::Persistent<v8::Object>);
static WrapperTypeInfo info;
static v8::Handle<v8::Value> constructorCallback(const v8::Arguments&);
static const int internalFieldCount = v8DefaultWrapperInternalFieldCount + 0;
private:
- static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestSerializedScriptValueInterface>, v8::Isolate*);
+ static v8::Handle<v8::Object> wrapSlow(PassRefPtr<TestSerializedScriptValueInterface>, v8::Handle<v8::Object> creationContext, v8::Isolate*);
};
-v8::Handle<v8::Object> V8TestSerializedScriptValueInterface::wrap(TestSerializedScriptValueInterface* impl, v8::Isolate* isolate)
+v8::Handle<v8::Object> V8TestSerializedScriptValueInterface::wrap(TestSerializedScriptValueInterface* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Handle<v8::Object> wrapper = getDOMObjectMap(isolate).get(impl);
if (!wrapper.IsEmpty())
return wrapper;
- return V8TestSerializedScriptValueInterface::wrapSlow(impl, isolate);
+ return V8TestSerializedScriptValueInterface::wrapSlow(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(TestSerializedScriptValueInterface* impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(TestSerializedScriptValueInterface* impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8TestSerializedScriptValueInterface::wrap(impl, isolate);
+ return V8TestSerializedScriptValueInterface::wrap(impl, creationContext, isolate);
}
-inline v8::Handle<v8::Value> toV8(PassRefPtr< TestSerializedScriptValueInterface > impl, v8::Isolate* isolate = 0)
+inline v8::Handle<v8::Value> toV8(PassRefPtr< TestSerializedScriptValueInterface > impl, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return toV8(impl.get(), isolate);
+ return toV8(impl.get(), creationContext, isolate);
}
}
diff --git a/Source/WebCore/bindings/v8/DOMDataStore.cpp b/Source/WebCore/bindings/v8/DOMDataStore.cpp
index 227619e78..5c70cf843 100644
--- a/Source/WebCore/bindings/v8/DOMDataStore.cpp
+++ b/Source/WebCore/bindings/v8/DOMDataStore.cpp
@@ -32,8 +32,8 @@
#include "DOMDataStore.h"
#include "DOMData.h"
-#include "MemoryInstrumentation.h"
#include "V8Binding.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/MainThread.h>
namespace WebCore {
@@ -121,7 +121,7 @@ void* DOMDataStore::getDOMWrapperMap(DOMWrapperMapType type)
void DOMDataStore::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Binding);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
info.addInstrumentedMember(m_domNodeMap);
info.addInstrumentedMember(m_activeDomNodeMap);
info.addInstrumentedMember(m_domObjectMap);
diff --git a/Source/WebCore/bindings/v8/DOMWrapperWorld.cpp b/Source/WebCore/bindings/v8/DOMWrapperWorld.cpp
index 6a9c6db58..31a0286c4 100644
--- a/Source/WebCore/bindings/v8/DOMWrapperWorld.cpp
+++ b/Source/WebCore/bindings/v8/DOMWrapperWorld.cpp
@@ -36,16 +36,81 @@
namespace WebCore {
-DOMWrapperWorld::DOMWrapperWorld()
+int DOMWrapperWorld::isolatedWorldCount = 0;
+
+PassRefPtr<DOMWrapperWorld> DOMWrapperWorld::createUninitializedWorld()
+{
+ return adoptRef(new DOMWrapperWorld(uninitializedWorldId, uninitializedExtensionGroup));
+}
+
+PassRefPtr<DOMWrapperWorld> DOMWrapperWorld::createMainWorld()
{
- // This class is pretty boring, huh?
+ return adoptRef(new DOMWrapperWorld(mainWorldId, mainWorldExtensionGroup));
}
DOMWrapperWorld* mainThreadNormalWorld()
{
ASSERT(isMainThread());
- DEFINE_STATIC_LOCAL(RefPtr<DOMWrapperWorld>, cachedNormalWorld, (DOMWrapperWorld::create()));
+ DEFINE_STATIC_LOCAL(RefPtr<DOMWrapperWorld>, cachedNormalWorld, (DOMWrapperWorld::createMainWorld()));
return cachedNormalWorld.get();
}
+// FIXME: This should probably go to PerIsolateData.
+typedef HashMap<int, DOMWrapperWorld*> WorldMap;
+static WorldMap& isolatedWorldMap()
+{
+ DEFINE_STATIC_LOCAL(WorldMap, map, ());
+ return map;
+}
+
+void DOMWrapperWorld::deallocate(DOMWrapperWorld* world)
+{
+ int worldId = world->worldId();
+
+ // Ensure we never deallocate mainThreadNormalWorld
+ if (worldId == mainWorldId)
+ return;
+
+ delete world;
+
+ if (worldId == uninitializedWorldId)
+ return;
+
+ WorldMap& map = isolatedWorldMap();
+ WorldMap::iterator i = map.find(worldId);
+ if (i == map.end()) {
+ ASSERT_NOT_REACHED();
+ return;
+ }
+ ASSERT(i->second == world);
+
+ map.remove(i);
+ isolatedWorldCount--;
+}
+
+static int temporaryWorldId = DOMWrapperWorld::uninitializedWorldId-1;
+
+PassRefPtr<DOMWrapperWorld> DOMWrapperWorld::getOrCreateIsolatedWorld(int worldId, int extensionGroup)
+{
+ ASSERT(worldId != mainWorldId);
+ ASSERT(worldId != uninitializedWorldId);
+
+ WorldMap& map = isolatedWorldMap();
+ if (!worldId)
+ worldId = temporaryWorldId--;
+ else {
+ WorldMap::iterator i = map.find(worldId);
+ if (i != map.end()) {
+ ASSERT(i->second->worldId() == worldId);
+ ASSERT(i->second->extensionGroup() == extensionGroup);
+ return i->second;
+ }
+ }
+
+ RefPtr<DOMWrapperWorld> world = adoptRef(new DOMWrapperWorld(worldId, extensionGroup));
+ map.add(worldId, world.get());
+ isolatedWorldCount++;
+ return world.release();
+}
+
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/DOMWrapperWorld.h b/Source/WebCore/bindings/v8/DOMWrapperWorld.h
index 2a9df30cd..01125b7f3 100644
--- a/Source/WebCore/bindings/v8/DOMWrapperWorld.h
+++ b/Source/WebCore/bindings/v8/DOMWrapperWorld.h
@@ -31,6 +31,7 @@
#ifndef DOMWrapperWorld_h
#define DOMWrapperWorld_h
+#include "DOMDataStore.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
@@ -38,15 +39,52 @@
namespace WebCore {
// This class represent a collection of DOM wrappers for a specific world.
-// The base class is pretty boring because the wrappers are actually stored
-// statically in V8DOMMap and garbage collected by V8 itself.
-class DOMWrapperWorld : public RefCounted<DOMWrapperWorld> {
+class DOMWrapperWorld : public WTF::RefCountedBase {
public:
- static PassRefPtr<DOMWrapperWorld> create() { return adoptRef(new DOMWrapperWorld()); }
- virtual ~DOMWrapperWorld() {}
+ static const int mainWorldId = -1;
+ static const int mainWorldExtensionGroup = -1;
+ static const int uninitializedWorldId = -2;
+ static const int uninitializedExtensionGroup = -2;
+ // If 0 is passed as worldId, the world will be assigned a temporary id instead.
+ static PassRefPtr<DOMWrapperWorld> getOrCreateIsolatedWorld(int worldId, int extensionGroup);
+ static bool isolatedWorldsExist() { return isolatedWorldCount; }
+ // FIXME: this is a workaround for a problem in WebViewImpl.
+ // Do not use this anywhere else!!
+ static PassRefPtr<DOMWrapperWorld> createUninitializedWorld();
-protected:
- DOMWrapperWorld();
+ bool isMainWorld() { return m_worldId == mainWorldId; }
+ int worldId() const { return m_worldId; }
+ int extensionGroup() const { return m_extensionGroup; }
+ DOMDataStore* domDataStore() const
+ {
+ ASSERT(m_worldId != uninitializedWorldId);
+ return m_domDataStore.getStore();
+ }
+ void deref()
+ {
+ if (derefBase())
+ deallocate(this);
+ }
+
+private:
+ static int isolatedWorldCount;
+ static PassRefPtr<DOMWrapperWorld> createMainWorld();
+ static void deallocate(DOMWrapperWorld*);
+ DOMWrapperWorld(int worldId, int extensionGroup)
+ : m_worldId(worldId)
+ , m_extensionGroup(extensionGroup)
+ , m_domDataStore(worldId != uninitializedWorldId)
+ {
+ }
+
+ const int m_worldId;
+ const int m_extensionGroup;
+ // The backing store for the isolated world's DOM wrappers. This class
+ // doesn't have visibility into the wrappers. This handle simply helps
+ // manage their lifetime.
+ DOMDataStoreHandle m_domDataStore;
+
+ friend DOMWrapperWorld* mainThreadNormalWorld();
};
DOMWrapperWorld* mainThreadNormalWorld();
diff --git a/Source/WebCore/bindings/v8/Dictionary.cpp b/Source/WebCore/bindings/v8/Dictionary.cpp
index 15da2ffe8..187403fcd 100644
--- a/Source/WebCore/bindings/v8/Dictionary.cpp
+++ b/Source/WebCore/bindings/v8/Dictionary.cpp
@@ -467,7 +467,7 @@ bool Dictionary::get(const String& key, ArrayValue& value) const
return true;
}
-bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& hashMap) const
+bool Dictionary::getOwnPropertiesAsStringHashMap(HashMap<String, String>& hashMap) const
{
if (!isObject())
return false;
@@ -494,4 +494,26 @@ bool Dictionary::getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>& h
return true;
}
+bool Dictionary::getOwnPropertyNames(Vector<String>& names) const
+{
+ if (!isObject())
+ return false;
+
+ v8::Handle<v8::Object> options = m_options->ToObject();
+ if (options.IsEmpty())
+ return false;
+
+ v8::Local<v8::Array> properties = options->GetOwnPropertyNames();
+ if (properties.IsEmpty())
+ return true;
+ for (uint32_t i = 0; i < properties->Length(); ++i) {
+ v8::Local<v8::String> key = properties->Get(i)->ToString();
+ if (!options->Has(key))
+ continue;
+ names.append(toWebCoreString(key));
+ }
+
+ return true;
+}
+
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/Dictionary.h b/Source/WebCore/bindings/v8/Dictionary.h
index 8373c7b28..0315f00c3 100644
--- a/Source/WebCore/bindings/v8/Dictionary.h
+++ b/Source/WebCore/bindings/v8/Dictionary.h
@@ -28,13 +28,13 @@
#include "EventListener.h"
#include "MessagePort.h"
-#include "PlatformString.h"
#include "ScriptValue.h"
#include <v8.h>
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
#include <wtf/text/AtomicString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -89,7 +89,8 @@ public:
bool get(const String&, Vector<String>&) const;
bool get(const String&, ArrayValue&) const;
- bool getOwnPropertiesAsStringHashMap(WTF::HashMap<String, String>&) const;
+ bool getOwnPropertiesAsStringHashMap(HashMap<String, String>&) const;
+ bool getOwnPropertyNames(Vector<String>&) const;
bool getWithUndefinedOrNullCheck(const String&, String&) const;
diff --git a/Source/WebCore/bindings/v8/IDBCustomBindings.cpp b/Source/WebCore/bindings/v8/IDBCustomBindings.cpp
index e6569763e..968cc0c64 100644
--- a/Source/WebCore/bindings/v8/IDBCustomBindings.cpp
+++ b/Source/WebCore/bindings/v8/IDBCustomBindings.cpp
@@ -50,7 +50,7 @@ v8::Handle<v8::Value> V8IDBCursorWithValue::valueAccessorGetter(v8::Local<v8::St
}
RefPtr<IDBAny> result = imp->value();
- v8::Handle<v8::Value> wrapper = toV8(result.get(), info.GetIsolate());
+ v8::Handle<v8::Value> wrapper = toV8(result.get(), info.Holder(), info.GetIsolate());
info.Holder()->SetHiddenValue(propertyName, wrapper);
return wrapper;
}
diff --git a/Source/WebCore/bindings/v8/IntrusiveDOMWrapperMap.h b/Source/WebCore/bindings/v8/IntrusiveDOMWrapperMap.h
index ebcf76714..8f069201c 100644
--- a/Source/WebCore/bindings/v8/IntrusiveDOMWrapperMap.h
+++ b/Source/WebCore/bindings/v8/IntrusiveDOMWrapperMap.h
@@ -32,8 +32,8 @@
#define IntrusiveDOMWrapperMap_h
#include "DOMDataStore.h"
-#include "MemoryInstrumentation.h"
#include "V8Node.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -104,7 +104,7 @@ class ChunkedTable {
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Binding);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
for (Chunk* chunk = m_chunks; chunk; chunk = chunk->m_previous)
info.addMember(chunk);
}
@@ -186,7 +186,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Binding);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
info.addInstrumentedMember(m_table);
}
diff --git a/Source/WebCore/bindings/v8/JavaScriptCallFrame.h b/Source/WebCore/bindings/v8/JavaScriptCallFrame.h
index 21a1d6d54..31317090e 100644
--- a/Source/WebCore/bindings/v8/JavaScriptCallFrame.h
+++ b/Source/WebCore/bindings/v8/JavaScriptCallFrame.h
@@ -33,10 +33,10 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
-#include "PlatformString.h"
#include "ScopedPersistent.h"
#include <v8-debug.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/v8/NPV8Object.cpp b/Source/WebCore/bindings/v8/NPV8Object.cpp
index a32b44ea5..02243859e 100644
--- a/Source/WebCore/bindings/v8/NPV8Object.cpp
+++ b/Source/WebCore/bindings/v8/NPV8Object.cpp
@@ -33,7 +33,6 @@
#include "Frame.h"
#include "NPObjectWrapper.h"
#include <wtf/OwnArrayPtr.h>
-#include "PlatformString.h"
#include "ScriptSourceCode.h"
#include "UserGestureIndicator.h"
#include "V8Binding.h"
@@ -45,6 +44,7 @@
#include <stdio.h>
#include <wtf/StringExtras.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebCore/bindings/v8/RetainedDOMInfo.cpp b/Source/WebCore/bindings/v8/RetainedDOMInfo.cpp
index b12969fc7..6bc7d82d0 100644
--- a/Source/WebCore/bindings/v8/RetainedDOMInfo.cpp
+++ b/Source/WebCore/bindings/v8/RetainedDOMInfo.cpp
@@ -53,7 +53,11 @@ void RetainedDOMInfo::Dispose()
bool RetainedDOMInfo::IsEquivalent(v8::RetainedObjectInfo* other)
{
ASSERT(other);
- return other == this || static_cast<WebCore::RetainedObjectInfo*>(other)->GetEquivalenceClass() == this->GetEquivalenceClass();
+ if (other == this)
+ return true;
+ if (strcmp(GetLabel(), other->GetLabel()))
+ return false;
+ return static_cast<WebCore::RetainedObjectInfo*>(other)->GetEquivalenceClass() == this->GetEquivalenceClass();
}
intptr_t RetainedDOMInfo::GetHash()
diff --git a/Source/WebCore/bindings/v8/ScheduledAction.cpp b/Source/WebCore/bindings/v8/ScheduledAction.cpp
index 40ab33dfa..cc50c9440 100644
--- a/Source/WebCore/bindings/v8/ScheduledAction.cpp
+++ b/Source/WebCore/bindings/v8/ScheduledAction.cpp
@@ -96,9 +96,8 @@ void ScheduledAction::execute(Frame* frame)
TRACE_EVENT0("v8", "ScheduledAction::execute");
#endif
- v8::Handle<v8::Function> function = m_function.get();
- if (!function.IsEmpty())
- frame->script()->callFunction(function, context->Global(), m_args.size(), m_args.data());
+ if (!m_function.isEmpty())
+ frame->script()->callFunction(m_function.get(), context->Global(), m_args.size(), m_args.data());
else
frame->script()->compileAndRunScript(m_code);
@@ -112,15 +111,14 @@ void ScheduledAction::execute(WorkerContext* worker)
V8RecursionScope recursionScope(worker);
- v8::Handle<v8::Function> function = m_function.get();
- if (!function.IsEmpty()) {
+ if (!m_function.isEmpty()) {
v8::HandleScope handleScope;
v8::Handle<v8::Context> context = v8::Local<v8::Context>::New(m_context.get());
ASSERT(!context.IsEmpty());
v8::Context::Scope scope(context);
- function->Call(context->Global(), m_args.size(), m_args.data());
+ m_function->Call(context->Global(), m_args.size(), m_args.data());
} else
worker->script()->evaluate(m_code);
}
diff --git a/Source/WebCore/bindings/v8/ScopedPersistent.h b/Source/WebCore/bindings/v8/ScopedPersistent.h
index f5d696ccc..fccf4aa59 100644
--- a/Source/WebCore/bindings/v8/ScopedPersistent.h
+++ b/Source/WebCore/bindings/v8/ScopedPersistent.h
@@ -52,7 +52,10 @@ public:
clear();
}
- v8::Persistent<T> get() const { return m_handle; }
+ ALWAYS_INLINE v8::Persistent<T> get() const { return m_handle; }
+ ALWAYS_INLINE v8::Persistent<T> operator->() const { return m_handle; }
+
+ bool isEmpty() const { return m_handle.IsEmpty(); }
void set(v8::Handle<T> handle)
{
diff --git a/Source/WebCore/bindings/v8/ScriptController.cpp b/Source/WebCore/bindings/v8/ScriptController.cpp
index 4672570e6..7bee97cbd 100644
--- a/Source/WebCore/bindings/v8/ScriptController.cpp
+++ b/Source/WebCore/bindings/v8/ScriptController.cpp
@@ -220,7 +220,7 @@ static inline String resourceString(const v8::Handle<v8::Function> function)
StringBuilder builder;
builder.append(resourceName);
builder.append(':');
- builder.append(String::number(lineNumber));
+ builder.appendNumber(lineNumber);
return builder.toString();
}
@@ -334,7 +334,7 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
v8::HandleScope handleScope;
// FIXME: This will need to get reorganized once we have a windowShell for the isolated world.
- if (!windowShell()->initContextIfNeeded())
+ if (!windowShell()->initializeIfNeeded())
return;
v8::Local<v8::Array> v8Results;
@@ -346,7 +346,7 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
if (iter != m_isolatedWorlds.end())
isolatedContext = iter->second;
else {
- isolatedContext = new V8IsolatedContext(m_frame, extensionGroup, worldID);
+ isolatedContext = new V8IsolatedContext(m_frame, DOMWrapperWorld::getOrCreateIsolatedWorld(worldID, extensionGroup));
if (isolatedContext->context().IsEmpty()) {
delete isolatedContext;
return;
@@ -360,7 +360,7 @@ void ScriptController::evaluateInIsolatedWorld(unsigned worldID, const Vector<Sc
if (securityOriginIter != m_isolatedWorldSecurityOrigins.end())
isolatedContext->setSecurityOrigin(securityOriginIter->second);
} else {
- isolatedContext = new V8IsolatedContext(m_frame, extensionGroup, worldID);
+ isolatedContext = new V8IsolatedContext(m_frame, DOMWrapperWorld::getOrCreateIsolatedWorld(worldID, extensionGroup));
if (isolatedContext->context().IsEmpty()) {
delete isolatedContext;
return;
@@ -419,12 +419,13 @@ v8::Local<v8::Context> ScriptController::currentWorldContext()
return v8::Local<v8::Context>();
return v8::Local<v8::Context>::New(context->get());
}
- return mainWorldContext();
+ windowShell()->initializeIfNeeded();
+ return v8::Local<v8::Context>::New(windowShell()->context());
}
v8::Local<v8::Context> ScriptController::mainWorldContext()
{
- windowShell()->initContextIfNeeded();
+ windowShell()->initializeIfNeeded();
return v8::Local<v8::Context>::New(windowShell()->context());
}
@@ -436,24 +437,6 @@ v8::Local<v8::Context> ScriptController::mainWorldContext(Frame* frame)
return frame->script()->mainWorldContext();
}
-bool ScriptController::matchesCurrentContext()
-{
- // This method is equivalent to 'return v8::Context::GetCurrent() == contextForCurrentWorld()',
- // but is written without using contextForCurrentWorld().
- // Given that this method is used by a hot call path of DOM object constructor,
- // we want to avoid the overhead of contextForCurrentWorld() creating Local<Context> every time.
- v8::Handle<v8::Context> context;
- if (V8IsolatedContext* isolatedContext = V8IsolatedContext::getEntered()) {
- context = isolatedContext->sharedContext()->get();
- if (m_frame != toFrameIfNotDetached(context))
- return false;
- } else {
- windowShell()->initContextIfNeeded();
- context = windowShell()->context();
- }
- return context == v8::Context::GetCurrent();
-}
-
// Create a V8 object with an interceptor of NPObjectPropertyGetter.
void ScriptController::bindToWindowObject(Frame* frame, const String& key, NPObject* object)
{
diff --git a/Source/WebCore/bindings/v8/ScriptController.h b/Source/WebCore/bindings/v8/ScriptController.h
index ad9bf7116..ddf0d4961 100644
--- a/Source/WebCore/bindings/v8/ScriptController.h
+++ b/Source/WebCore/bindings/v8/ScriptController.h
@@ -172,8 +172,6 @@ public:
v8::Local<v8::Context> mainWorldContext();
v8::Local<v8::Context> currentWorldContext();
- bool matchesCurrentContext();
-
// Pass command-line flags to the JS engine.
static void setFlags(const char* string, int length);
@@ -225,7 +223,7 @@ private:
const String* m_sourceURL;
// For the moment, we have one of these. Soon we will have one per DOMWrapperWorld.
- RefPtr<V8DOMWindowShell> m_windowShell;
+ OwnPtr<V8DOMWindowShell> m_windowShell;
// The isolated worlds we are tracking for this frame. We hold them alive
// here so that they can be used again by future calls to
diff --git a/Source/WebCore/bindings/v8/ScriptDebugServer.h b/Source/WebCore/bindings/v8/ScriptDebugServer.h
index 244d28577..1b95f6fa9 100644
--- a/Source/WebCore/bindings/v8/ScriptDebugServer.h
+++ b/Source/WebCore/bindings/v8/ScriptDebugServer.h
@@ -33,7 +33,6 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
-#include "PlatformString.h"
#include "ScopedPersistent.h"
#include "ScriptBreakpoint.h"
#include "Timer.h"
@@ -43,6 +42,7 @@
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/v8/ScriptEventListener.cpp b/Source/WebCore/bindings/v8/ScriptEventListener.cpp
index 08fa0ea4f..f42e5fb00 100644
--- a/Source/WebCore/bindings/v8/ScriptEventListener.cpp
+++ b/Source/WebCore/bindings/v8/ScriptEventListener.cpp
@@ -44,8 +44,8 @@ namespace WebCore {
static const String& eventParameterName(bool isSVGEvent)
{
- DEFINE_STATIC_LOCAL(const String, eventString, ("event"));
- DEFINE_STATIC_LOCAL(const String, evtString, ("evt"));
+ DEFINE_STATIC_LOCAL(const String, eventString, (ASCIILiteral("event")));
+ DEFINE_STATIC_LOCAL(const String, evtString, (ASCIILiteral("evt")));
return isSVGEvent ? evtString : eventString;
}
diff --git a/Source/WebCore/bindings/v8/ScriptFunctionCall.h b/Source/WebCore/bindings/v8/ScriptFunctionCall.h
index 64da80f70..d200bc59b 100644
--- a/Source/WebCore/bindings/v8/ScriptFunctionCall.h
+++ b/Source/WebCore/bindings/v8/ScriptFunctionCall.h
@@ -31,10 +31,10 @@
#ifndef ScriptFunctionCall_h
#define ScriptFunctionCall_h
-#include "PlatformString.h"
#include "ScriptObject.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class ScriptValue;
diff --git a/Source/WebCore/bindings/v8/ScriptHeapSnapshot.h b/Source/WebCore/bindings/v8/ScriptHeapSnapshot.h
index 036bf25a2..fcb1acd39 100644
--- a/Source/WebCore/bindings/v8/ScriptHeapSnapshot.h
+++ b/Source/WebCore/bindings/v8/ScriptHeapSnapshot.h
@@ -31,8 +31,8 @@
#ifndef ScriptHeapSnapshot_h
#define ScriptHeapSnapshot_h
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace v8 {
class HeapSnapshot;
diff --git a/Source/WebCore/bindings/v8/ScriptProfile.h b/Source/WebCore/bindings/v8/ScriptProfile.h
index abc32cc2d..db395ed6c 100644
--- a/Source/WebCore/bindings/v8/ScriptProfile.h
+++ b/Source/WebCore/bindings/v8/ScriptProfile.h
@@ -31,9 +31,9 @@
#ifndef ScriptProfile_h
#define ScriptProfile_h
-#include "PlatformString.h"
#include "ScriptProfileNode.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace v8 {
class CpuProfile;
diff --git a/Source/WebCore/bindings/v8/ScriptProfileNode.h b/Source/WebCore/bindings/v8/ScriptProfileNode.h
index 71e499490..52b5d0dd7 100644
--- a/Source/WebCore/bindings/v8/ScriptProfileNode.h
+++ b/Source/WebCore/bindings/v8/ScriptProfileNode.h
@@ -31,8 +31,8 @@
#ifndef ScriptProfileNode_h
#define ScriptProfileNode_h
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace v8 {
class CpuProfileNode;
diff --git a/Source/WebCore/bindings/v8/ScriptProfiler.cpp b/Source/WebCore/bindings/v8/ScriptProfiler.cpp
index 9858ce325..0186839a7 100644
--- a/Source/WebCore/bindings/v8/ScriptProfiler.cpp
+++ b/Source/WebCore/bindings/v8/ScriptProfiler.cpp
@@ -33,13 +33,13 @@
#include "ScriptProfiler.h"
#include "BindingVisitors.h"
-#include "MemoryInstrumentation.h"
#include "RetainedDOMInfo.h"
#include "ScriptObject.h"
#include "V8ArrayBufferView.h"
#include "V8Binding.h"
#include "V8DOMMap.h"
#include "V8Node.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WrapperTypeInfo.h"
#include <v8-profiler.h>
diff --git a/Source/WebCore/bindings/v8/ScriptProfiler.h b/Source/WebCore/bindings/v8/ScriptProfiler.h
index 7ffa50da7..792d9a5d2 100644
--- a/Source/WebCore/bindings/v8/ScriptProfiler.h
+++ b/Source/WebCore/bindings/v8/ScriptProfiler.h
@@ -31,12 +31,12 @@
#ifndef ScriptProfiler_h
#define ScriptProfiler_h
-#include "PlatformString.h"
#include "ScriptHeapSnapshot.h"
#include "ScriptProfile.h"
#include "ScriptState.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/v8/ScriptSourceCode.h b/Source/WebCore/bindings/v8/ScriptSourceCode.h
index 32f855da7..573e77c03 100644
--- a/Source/WebCore/bindings/v8/ScriptSourceCode.h
+++ b/Source/WebCore/bindings/v8/ScriptSourceCode.h
@@ -34,10 +34,10 @@
#include "CachedResourceHandle.h"
#include "CachedScript.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <v8.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/text/TextPosition.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/v8/ScriptValue.cpp b/Source/WebCore/bindings/v8/ScriptValue.cpp
index 1c48fdfc6..079994853 100644
--- a/Source/WebCore/bindings/v8/ScriptValue.cpp
+++ b/Source/WebCore/bindings/v8/ScriptValue.cpp
@@ -64,10 +64,10 @@ ScriptValue ScriptValue::deserialize(ScriptState* scriptState, SerializedScriptV
bool ScriptValue::getString(String& result) const
{
- if (m_value.get().IsEmpty())
+ if (m_value.isEmpty())
return false;
- if (!m_value.get()->IsString())
+ if (!m_value->IsString())
return false;
result = toWebCoreString(m_value.get());
@@ -77,7 +77,7 @@ bool ScriptValue::getString(String& result) const
String ScriptValue::toString(ScriptState*) const
{
v8::TryCatch block;
- v8::Handle<v8::String> string = m_value.get()->ToString();
+ v8::Handle<v8::String> string = m_value->ToString();
if (block.HasCaught())
return String();
return v8StringToWebCoreString<String>(string, DoNotExternalize);
diff --git a/Source/WebCore/bindings/v8/ScriptValue.h b/Source/WebCore/bindings/v8/ScriptValue.h
index 70dbff0dd..aa8c99834 100644
--- a/Source/WebCore/bindings/v8/ScriptValue.h
+++ b/Source/WebCore/bindings/v8/ScriptValue.h
@@ -100,7 +100,7 @@ public:
bool isFunction() const
{
- return m_value.get()->IsFunction();
+ return m_value->IsFunction();
}
bool operator!=(const ScriptValue& value) const
@@ -110,22 +110,22 @@ public:
bool isNull() const
{
- return m_value.get()->IsNull();
+ return m_value->IsNull();
}
bool isUndefined() const
{
- return m_value.get()->IsUndefined();
+ return m_value->IsUndefined();
}
bool isObject() const
{
- return m_value.get()->IsObject();
+ return m_value->IsObject();
}
bool hasNoValue() const
{
- return m_value.get().IsEmpty();
+ return m_value.isEmpty();
}
PassRefPtr<SerializedScriptValue> serialize(ScriptState*);
diff --git a/Source/WebCore/bindings/v8/ScriptWrappable.h b/Source/WebCore/bindings/v8/ScriptWrappable.h
index d32b9b8c2..c0201806c 100644
--- a/Source/WebCore/bindings/v8/ScriptWrappable.h
+++ b/Source/WebCore/bindings/v8/ScriptWrappable.h
@@ -31,7 +31,7 @@
#ifndef ScriptWrappable_h
#define ScriptWrappable_h
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <v8.h>
namespace WebCore {
@@ -55,7 +55,7 @@ public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_wrapper);
}
diff --git a/Source/WebCore/bindings/v8/SerializedScriptValue.cpp b/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
index a9b39ce11..43ceff4eb 100644
--- a/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
+++ b/Source/WebCore/bindings/v8/SerializedScriptValue.cpp
@@ -638,11 +638,11 @@ public:
ASSERT(!tryCatch.HasCaught());
if (messagePorts) {
for (size_t i = 0; i < messagePorts->size(); i++)
- m_transferredMessagePorts.set(V8MessagePort::wrap(messagePorts->at(i).get(), m_writer.getIsolate()), i);
+ m_transferredMessagePorts.set(V8MessagePort::wrap(messagePorts->at(i).get(), v8::Handle<v8::Object>(), m_writer.getIsolate()), i);
}
if (arrayBuffers) {
for (size_t i = 0; i < arrayBuffers->size(); i++) {
- v8::Handle<v8::Object> v8ArrayBuffer = V8ArrayBuffer::wrap(arrayBuffers->at(i).get(), m_writer.getIsolate());
+ v8::Handle<v8::Object> v8ArrayBuffer = V8ArrayBuffer::wrap(arrayBuffers->at(i).get(), v8::Handle<v8::Object>(), m_writer.getIsolate());
// Coalesce multiple occurences of the same buffer to the first index.
if (!m_transferredArrayBuffers.contains(v8ArrayBuffer))
m_transferredArrayBuffers.set(v8ArrayBuffer, i);
@@ -1057,7 +1057,7 @@ private:
return 0;
if (!arrayBufferView->buffer())
return handleError(DataCloneError, next);
- v8::Handle<v8::Value> underlyingBuffer = toV8(arrayBufferView->buffer(), m_writer.getIsolate());
+ v8::Handle<v8::Value> underlyingBuffer = toV8(arrayBufferView->buffer(), v8::Handle<v8::Object>(), m_writer.getIsolate());
if (underlyingBuffer.IsEmpty())
return handleError(DataCloneError, next);
StateBase* stateOut = doSerialize(underlyingBuffer, 0);
@@ -1634,7 +1634,7 @@ private:
ASSERT(pixelArray->length() >= pixelDataLength);
memcpy(pixelArray->data(), m_buffer + m_position, pixelDataLength);
m_position += pixelDataLength;
- *value = toV8(imageData.release(), m_isolate);
+ *value = toV8(imageData.release(), v8::Handle<v8::Object>(), m_isolate);
return true;
}
@@ -1656,7 +1656,7 @@ private:
RefPtr<ArrayBuffer> arrayBuffer = doReadArrayBuffer();
if (!arrayBuffer)
return false;
- *value = toV8(arrayBuffer.release(), m_isolate);
+ *value = toV8(arrayBuffer.release(), v8::Handle<v8::Object>(), m_isolate);
return true;
}
@@ -1682,58 +1682,58 @@ private:
return false;
switch (subTag) {
case ByteArrayTag:
- *value = toV8(Int8Array::create(arrayBuffer.release(), byteOffset, byteLength), m_isolate);
+ *value = toV8(Int8Array::create(arrayBuffer.release(), byteOffset, byteLength), v8::Handle<v8::Object>(), m_isolate);
break;
case UnsignedByteArrayTag:
- *value = toV8(Uint8Array::create(arrayBuffer.release(), byteOffset, byteLength), m_isolate);
+ *value = toV8(Uint8Array::create(arrayBuffer.release(), byteOffset, byteLength), v8::Handle<v8::Object>(), m_isolate);
break;
case UnsignedByteClampedArrayTag:
- *value = toV8(Uint8ClampedArray::create(arrayBuffer.release(), byteOffset, byteLength), m_isolate);
+ *value = toV8(Uint8ClampedArray::create(arrayBuffer.release(), byteOffset, byteLength), v8::Handle<v8::Object>(), m_isolate);
break;
case ShortArrayTag: {
uint32_t shortLength = byteLength / sizeof(int16_t);
if (shortLength * sizeof(int16_t) != byteLength)
return false;
- *value = toV8(Int16Array::create(arrayBuffer.release(), byteOffset, shortLength), m_isolate);
+ *value = toV8(Int16Array::create(arrayBuffer.release(), byteOffset, shortLength), v8::Handle<v8::Object>(), m_isolate);
break;
}
case UnsignedShortArrayTag: {
uint32_t shortLength = byteLength / sizeof(uint16_t);
if (shortLength * sizeof(uint16_t) != byteLength)
return false;
- *value = toV8(Uint16Array::create(arrayBuffer.release(), byteOffset, shortLength), m_isolate);
+ *value = toV8(Uint16Array::create(arrayBuffer.release(), byteOffset, shortLength), v8::Handle<v8::Object>(), m_isolate);
break;
}
case IntArrayTag: {
uint32_t intLength = byteLength / sizeof(int32_t);
if (intLength * sizeof(int32_t) != byteLength)
return false;
- *value = toV8(Int32Array::create(arrayBuffer.release(), byteOffset, intLength), m_isolate);
+ *value = toV8(Int32Array::create(arrayBuffer.release(), byteOffset, intLength), v8::Handle<v8::Object>(), m_isolate);
break;
}
case UnsignedIntArrayTag: {
uint32_t intLength = byteLength / sizeof(uint32_t);
if (intLength * sizeof(uint32_t) != byteLength)
return false;
- *value = toV8(Uint32Array::create(arrayBuffer.release(), byteOffset, intLength), m_isolate);
+ *value = toV8(Uint32Array::create(arrayBuffer.release(), byteOffset, intLength), v8::Handle<v8::Object>(), m_isolate);
break;
}
case FloatArrayTag: {
uint32_t floatLength = byteLength / sizeof(float);
if (floatLength * sizeof(float) != byteLength)
return false;
- *value = toV8(Float32Array::create(arrayBuffer.release(), byteOffset, floatLength), m_isolate);
+ *value = toV8(Float32Array::create(arrayBuffer.release(), byteOffset, floatLength), v8::Handle<v8::Object>(), m_isolate);
break;
}
case DoubleArrayTag: {
uint32_t floatLength = byteLength / sizeof(double);
if (floatLength * sizeof(double) != byteLength)
return false;
- *value = toV8(Float64Array::create(arrayBuffer.release(), byteOffset, floatLength), m_isolate);
+ *value = toV8(Float64Array::create(arrayBuffer.release(), byteOffset, floatLength), v8::Handle<v8::Object>(), m_isolate);
break;
}
case DataViewTag:
- *value = toV8(DataView::create(arrayBuffer.release(), byteOffset, byteLength), m_isolate);
+ *value = toV8(DataView::create(arrayBuffer.release(), byteOffset, byteLength), v8::Handle<v8::Object>(), m_isolate);
break;
default:
return false;
@@ -1768,7 +1768,7 @@ private:
if (!doReadUint64(&size))
return false;
PassRefPtr<Blob> blob = Blob::create(KURL(ParsedURLString, url), type, size);
- *value = toV8(blob, m_isolate);
+ *value = toV8(blob, v8::Handle<v8::Object>(), m_isolate);
return true;
}
@@ -1785,7 +1785,7 @@ private:
if (!readWebCoreString(&url))
return false;
RefPtr<DOMFileSystem> fs = DOMFileSystem::create(getScriptExecutionContext(), name, static_cast<WebCore::FileSystemType>(type), KURL(ParsedURLString, url), AsyncFileSystem::create());
- *value = toV8(fs.release(), m_isolate);
+ *value = toV8(fs.release(), v8::Handle<v8::Object>(), m_isolate);
return true;
}
#endif
@@ -1802,7 +1802,7 @@ private:
if (!readWebCoreString(&type))
return false;
PassRefPtr<File> file = File::create(path, KURL(ParsedURLString, url), type);
- *value = toV8(file, m_isolate);
+ *value = toV8(file, v8::Handle<v8::Object>(), m_isolate);
return true;
}
@@ -1824,7 +1824,7 @@ private:
return false;
fileList->append(File::create(path, KURL(ParsedURLString, urlString), type));
}
- *value = toV8(fileList, m_isolate);
+ *value = toV8(fileList, v8::Handle<v8::Object>(), m_isolate);
return true;
}
@@ -2022,7 +2022,7 @@ public:
return false;
if (index >= m_transferredMessagePorts->size())
return false;
- *object = V8MessagePort::wrap(m_transferredMessagePorts->at(index).get(), m_reader.getIsolate());
+ *object = V8MessagePort::wrap(m_transferredMessagePorts->at(index).get(), v8::Handle<v8::Object>(), m_reader.getIsolate());
return true;
}
@@ -2034,7 +2034,7 @@ public:
return false;
v8::Handle<v8::Object> result = m_arrayBuffers.at(index);
if (result.IsEmpty()) {
- result = V8ArrayBuffer::wrap(ArrayBuffer::create(m_arrayBufferContents->at(index)).get(), m_reader.getIsolate());
+ result = V8ArrayBuffer::wrap(ArrayBuffer::create(m_arrayBufferContents->at(index)).get(), v8::Handle<v8::Object>(), m_reader.getIsolate());
m_arrayBuffers[index] = result;
}
*object = result;
diff --git a/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp b/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp
index 0d2115276..6edd4bff5 100644
--- a/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp
+++ b/Source/WebCore/bindings/v8/V8AbstractEventListener.cpp
@@ -65,7 +65,7 @@ V8AbstractEventListener::V8AbstractEventListener(bool isAttribute, const WorldCo
V8AbstractEventListener::~V8AbstractEventListener()
{
- if (!m_listener.get().IsEmpty()) {
+ if (!m_listener.isEmpty()) {
v8::HandleScope scope;
V8EventListenerList::clearWrapper(v8::Local<v8::Object>::New(m_listener.get()), m_isAttribute);
}
@@ -184,7 +184,7 @@ bool V8AbstractEventListener::shouldPreventDefault(v8::Local<v8::Value> returnVa
v8::Local<v8::Object> V8AbstractEventListener::getReceiverObject(Event* event)
{
- if (!m_listener.get().IsEmpty() && !m_listener.get()->IsFunction())
+ if (!m_listener.isEmpty() && !m_listener->IsFunction())
return v8::Local<v8::Object>::New(m_listener.get());
EventTarget* target = event->currentTarget();
diff --git a/Source/WebCore/bindings/v8/V8AbstractEventListener.h b/Source/WebCore/bindings/v8/V8AbstractEventListener.h
index 19a37e0a7..38706c24f 100644
--- a/Source/WebCore/bindings/v8/V8AbstractEventListener.h
+++ b/Source/WebCore/bindings/v8/V8AbstractEventListener.h
@@ -77,6 +77,11 @@ namespace WebCore {
// Returns the listener object, either a function or an object.
v8::Local<v8::Object> getListenerObject(ScriptExecutionContext* context)
{
+ // prepareListenerObject can potentially deref this event listener
+ // as it may attempt to compile a function (lazy event listener), get an error
+ // and invoke onerror callback which can execute arbitrary JS code.
+ // Protect this event listener to keep it alive.
+ RefPtr<V8AbstractEventListener> guard(this);
prepareListenerObject(context);
return v8::Local<v8::Object>::New(m_listener.get());
}
@@ -95,7 +100,7 @@ namespace WebCore {
bool hasExistingListenerObject()
{
- return !m_listener.get().IsEmpty();
+ return !m_listener.isEmpty();
}
const WorldContextHandle& worldContext() const { return m_worldContext; }
diff --git a/Source/WebCore/bindings/v8/V8Binding.cpp b/Source/WebCore/bindings/v8/V8Binding.cpp
index acd043aa5..f92148656 100644
--- a/Source/WebCore/bindings/v8/V8Binding.cpp
+++ b/Source/WebCore/bindings/v8/V8Binding.cpp
@@ -35,8 +35,6 @@
#include "DOMStringList.h"
#include "Element.h"
#include "Frame.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
#include "PlatformSupport.h"
#include "QualifiedName.h"
#include "Settings.h"
@@ -46,6 +44,7 @@
#include "V8ObjectConstructor.h"
#include "V8WorkerContext.h"
#include "V8XPathNSResolver.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WorkerContext.h"
#include "WorkerContextExecutionProxy.h"
#include "WorldContextHandle.h"
@@ -58,6 +57,7 @@
#include <wtf/text/CString.h>
#include <wtf/text/StringBuffer.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -219,7 +219,7 @@ v8::Persistent<v8::FunctionTemplate> createRawTemplate()
void StringCache::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Binding);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
info.addHashMap(m_stringCache);
}
@@ -254,6 +254,11 @@ PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value> value)
return resolver;
}
+v8::Handle<v8::Object> toInnerGlobalObject(v8::Handle<v8::Context> context)
+{
+ return v8::Handle<v8::Object>::Cast(context->Global()->GetPrototype());
+}
+
DOMWindow* toDOMWindow(v8::Handle<v8::Context> context)
{
v8::Handle<v8::Object> global = context->Global();
diff --git a/Source/WebCore/bindings/v8/V8Binding.h b/Source/WebCore/bindings/v8/V8Binding.h
index c8f31b28c..0c9ee4f4c 100644
--- a/Source/WebCore/bindings/v8/V8Binding.h
+++ b/Source/WebCore/bindings/v8/V8Binding.h
@@ -128,7 +128,7 @@ namespace WebCore {
struct V8ValueTraits {
static inline v8::Handle<v8::Value> arrayV8Value(const T& value, v8::Isolate* isolate)
{
- return toV8(WTF::getPtr(value), isolate);
+ return toV8(WTF::getPtr(value), v8::Handle<v8::Object>(), isolate);
}
};
@@ -353,6 +353,7 @@ namespace WebCore {
PassRefPtr<DOMStringList> toDOMStringList(v8::Handle<v8::Value>);
PassRefPtr<XPathNSResolver> toXPathNSResolver(v8::Handle<v8::Value>);
+ v8::Handle<v8::Object> toInnerGlobalObject(v8::Handle<v8::Context>);
DOMWindow* toDOMWindow(v8::Handle<v8::Context>);
ScriptExecutionContext* toScriptExecutionContext(v8::Handle<v8::Context>);
diff --git a/Source/WebCore/bindings/v8/V8Collection.h b/Source/WebCore/bindings/v8/V8Collection.h
index 5dff6e7f0..fc80a5a7e 100644
--- a/Source/WebCore/bindings/v8/V8Collection.h
+++ b/Source/WebCore/bindings/v8/V8Collection.h
@@ -41,11 +41,11 @@ namespace WebCore {
// FIXME: These functions should be named using to* since they return the item (get* is used for method that take a ref param).
// See https://bugs.webkit.org/show_bug.cgi?id=24664.
-template<class T> static v8::Handle<v8::Value> getV8Object(T* implementation, v8::Isolate* isolate)
+template<class T> static v8::Handle<v8::Value> getV8Object(T* implementation, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!implementation)
return v8Undefined();
- return toV8(implementation, isolate);
+ return toV8(implementation, creationContext, isolate);
}
template<class Collection> static Collection* toNativeCollection(v8::Local<v8::Object> object)
@@ -53,20 +53,20 @@ template<class Collection> static Collection* toNativeCollection(v8::Local<v8::O
return reinterpret_cast<Collection*>(object->GetPointerFromInternalField(v8DOMWrapperObjectIndex));
}
-template<class T> static v8::Handle<v8::Value> getV8Object(PassRefPtr<T> implementation, v8::Isolate* isolate)
+template<class T> static v8::Handle<v8::Value> getV8Object(PassRefPtr<T> implementation, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
- return getV8Object(implementation.get(), isolate);
+ return getV8Object(implementation.get(), creationContext, isolate);
}
// Returns named property of a collection.
-template<class Collection, class ItemType> static v8::Handle<v8::Value> getNamedPropertyOfCollection(v8::Local<v8::String> name, v8::Local<v8::Object> object, v8::Isolate* isolate)
+template<class Collection, class ItemType> static v8::Handle<v8::Value> getNamedPropertyOfCollection(v8::Local<v8::String> name, v8::Local<v8::Object> object, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
// FIXME: assert object is a collection type
ASSERT(V8DOMWrapper::maybeDOMWrapper(object));
ASSERT(V8DOMWrapper::domWrapperType(object) != &V8Node::info);
Collection* collection = toNativeCollection<Collection>(object);
AtomicString propertyName = toWebCoreAtomicStringWithNullCheck(name);
- return getV8Object<ItemType>(collection->namedItem(propertyName), isolate);
+ return getV8Object<ItemType>(collection->namedItem(propertyName), creationContext, isolate);
}
// A template of named property accessor of collections.
@@ -77,23 +77,23 @@ template<class Collection, class ItemType> static v8::Handle<v8::Value> collecti
if (info.Holder()->HasRealNamedCallbackProperty(name))
return v8Undefined();
- return getNamedPropertyOfCollection<Collection, ItemType>(name, info.Holder(), info.GetIsolate());
+ return getNamedPropertyOfCollection<Collection, ItemType>(name, info.Holder(), info.Holder(), info.GetIsolate());
}
// Returns the property at the index of a collection.
-template<class Collection, class ItemType> static v8::Handle<v8::Value> getIndexedPropertyOfCollection(uint32_t index, v8::Local<v8::Object> object, v8::Isolate* isolate)
+template<class Collection, class ItemType> static v8::Handle<v8::Value> getIndexedPropertyOfCollection(uint32_t index, v8::Local<v8::Object> object, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
// FIXME: Assert that object must be a collection type.
ASSERT(V8DOMWrapper::maybeDOMWrapper(object));
ASSERT(V8DOMWrapper::domWrapperType(object) != &V8Node::info);
Collection* collection = toNativeCollection<Collection>(object);
- return getV8Object<ItemType>(collection->item(index), isolate);
+ return getV8Object<ItemType>(collection->item(index), creationContext, isolate);
}
// A template of index interceptor of collections.
template<class Collection, class ItemType> static v8::Handle<v8::Value> collectionIndexedPropertyGetter(uint32_t index, const v8::AccessorInfo& info)
{
- return getIndexedPropertyOfCollection<Collection, ItemType>(index, info.Holder(), info.GetIsolate());
+ return getIndexedPropertyOfCollection<Collection, ItemType>(index, info.Holder(), info.Holder(), info.GetIsolate());
}
// Get an array containing the names of indexed properties of HTMLSelectElement and HTMLFormElement.
diff --git a/Source/WebCore/bindings/v8/V8DOMMap.cpp b/Source/WebCore/bindings/v8/V8DOMMap.cpp
index dd18d63b0..50925a82e 100644
--- a/Source/WebCore/bindings/v8/V8DOMMap.cpp
+++ b/Source/WebCore/bindings/v8/V8DOMMap.cpp
@@ -39,15 +39,17 @@
namespace WebCore {
-DOMDataStoreHandle::DOMDataStoreHandle()
- : m_store(adoptPtr(new ScopedDOMDataStore()))
+DOMDataStoreHandle::DOMDataStoreHandle(bool initialize)
+ : m_store(adoptPtr(!initialize ? 0 : new ScopedDOMDataStore()))
{
- V8PerIsolateData::current()->registerDOMDataStore(m_store.get());
+ if (m_store)
+ V8PerIsolateData::current()->registerDOMDataStore(m_store.get());
}
DOMDataStoreHandle::~DOMDataStoreHandle()
{
- V8PerIsolateData::current()->unregisterDOMDataStore(m_store.get());
+ if (m_store)
+ V8PerIsolateData::current()->unregisterDOMDataStore(m_store.get());
}
DOMNodeMapping& getDOMNodeMap(v8::Isolate* isolate)
diff --git a/Source/WebCore/bindings/v8/V8DOMMap.h b/Source/WebCore/bindings/v8/V8DOMMap.h
index bf0e603c3..ce2aee2d6 100644
--- a/Source/WebCore/bindings/v8/V8DOMMap.h
+++ b/Source/WebCore/bindings/v8/V8DOMMap.h
@@ -31,7 +31,7 @@
#ifndef V8DOMMap_h
#define V8DOMMap_h
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <v8.h>
@@ -136,7 +136,7 @@ namespace WebCore {
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Binding);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
info.addHashMap(m_map);
}
@@ -152,7 +152,7 @@ namespace WebCore {
// A utility class to manage the lifetime of set of DOM wrappers.
class DOMDataStoreHandle {
public:
- DOMDataStoreHandle();
+ DOMDataStoreHandle(bool initialize);
~DOMDataStoreHandle();
DOMDataStore* getStore() const { return m_store.get(); }
diff --git a/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp b/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
index 4d87e72e1..8abc9e147 100644
--- a/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
+++ b/Source/WebCore/bindings/v8/V8DOMWindowShell.cpp
@@ -63,17 +63,11 @@
#include "V8ObjectConstructor.h"
#include "V8PerContextData.h"
#include "WorkerContextExecutionProxy.h"
-
#include <algorithm>
#include <stdio.h>
#include <utility>
#include <v8-debug.h>
#include <v8.h>
-
-#if ENABLE(JAVASCRIPT_I18N_API)
-#include <v8-i18n/include/extension.h>
-#endif
-
#include <wtf/Assertions.h>
#include <wtf/OwnArrayPtr.h>
#include <wtf/StdLibExtras.h>
@@ -81,38 +75,26 @@
#include <wtf/UnusedParam.h>
#include <wtf/text/CString.h>
-namespace WebCore {
+#if ENABLE(JAVASCRIPT_I18N_API)
+#include <v8-i18n/include/extension.h>
+#endif
-static void handleFatalErrorInV8()
-{
- // FIXME: We temporarily deal with V8 internal error situations
- // such as out-of-memory by crashing the renderer.
- CRASH();
-}
+namespace WebCore {
-static void reportFatalErrorInV8(const char* location, const char* message)
+static void reportFatalError(const char* location, const char* message)
{
- // V8 is shutdown, we cannot use V8 api.
- // The only thing we can do is to disable JavaScript.
- // FIXME: clean up ScriptController and disable JavaScript.
- int memoryUsageMB = -1;
-#if PLATFORM(CHROMIUM)
- memoryUsageMB = MemoryUsageSupport::actualMemoryUsageMB();
-#endif
+ int memoryUsageMB = MemoryUsageSupport::actualMemoryUsageMB();
printf("V8 error: %s (%s). Current memory usage: %d MB\n", message, location, memoryUsageMB);
- handleFatalErrorInV8();
+ CRASH();
}
-static void v8UncaughtExceptionHandler(v8::Handle<v8::Message> message, v8::Handle<v8::Value> data)
+static void reportUncaughtException(v8::Handle<v8::Message> message, v8::Handle<v8::Value> data)
{
- // Use the frame where JavaScript is called from.
- Frame* frame = firstFrame(BindingState::instance());
- if (!frame)
+ DOMWindow* firstWindow = firstDOMWindow(BindingState::instance());
+ if (!firstWindow->isCurrentlyDisplayedInFrame())
return;
- v8::Handle<v8::String> errorMessageString = message->Get();
- ASSERT(!errorMessageString.IsEmpty());
- String errorMessage = toWebCoreString(errorMessageString);
+ String errorMessage = toWebCoreString(message->Get());
v8::Handle<v8::StackTrace> stackTrace = message->GetStackTrace();
RefPtr<ScriptCallStack> callStack;
@@ -121,38 +103,36 @@ static void v8UncaughtExceptionHandler(v8::Handle<v8::Message> message, v8::Hand
callStack = createScriptCallStack(stackTrace, ScriptCallStack::maxCallStackSizeToCapture);
v8::Handle<v8::Value> resourceName = message->GetScriptResourceName();
- bool useURL = resourceName.IsEmpty() || !resourceName->IsString();
- Document* document = frame->document();
- String resourceNameString = useURL ? document->url() : toWebCoreString(resourceName);
- document->reportException(errorMessage, message->GetLineNumber(), resourceNameString, callStack);
+ bool shouldUseDocumentURL = resourceName.IsEmpty() || !resourceName->IsString();
+ String resource = shouldUseDocumentURL ? firstWindow->document()->url() : toWebCoreString(resourceName);
+ firstWindow->document()->reportException(errorMessage, message->GetLineNumber(), resource, callStack);
}
-// Returns the owner frame pointer of a DOM wrapper object. It only works for
-// these DOM objects requiring cross-domain access check.
-static Frame* getTargetFrame(v8::Local<v8::Object> host, v8::Local<v8::Value> data)
+static Frame* findFrame(v8::Local<v8::Object> host, v8::Local<v8::Value> data)
{
- Frame* target = 0;
WrapperTypeInfo* type = WrapperTypeInfo::unwrap(data);
+
if (V8DOMWindow::info.equals(type)) {
- v8::Handle<v8::Object> window = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), host);
- if (window.IsEmpty())
- return target;
-
- DOMWindow* targetWindow = V8DOMWindow::toNative(window);
- target = targetWindow->frame();
- } else if (V8History::info.equals(type)) {
- History* history = V8History::toNative(host);
- target = history->frame();
- } else if (V8Location::info.equals(type)) {
- Location* location = V8Location::toNative(host);
- target = location->frame();
+ v8::Handle<v8::Object> windowWrapper = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), host);
+ if (windowWrapper.IsEmpty())
+ return 0;
+ return V8DOMWindow::toNative(windowWrapper)->frame();
}
- return target;
+
+ if (V8History::info.equals(type))
+ return V8History::toNative(host)->frame();
+
+ if (V8Location::info.equals(type))
+ return V8Location::toNative(host)->frame();
+
+ // This function can handle only those types listed above.
+ ASSERT_NOT_REACHED();
+ return 0;
}
static void reportUnsafeJavaScriptAccess(v8::Local<v8::Object> host, v8::AccessType type, v8::Local<v8::Value> data)
{
- Frame* target = getTargetFrame(host, data);
+ Frame* target = findFrame(host, data);
if (!target)
return;
DOMWindow* targetWindow = target->document()->domWindow();
@@ -169,10 +149,10 @@ static void initializeV8IfNeeded()
initialized = true;
v8::V8::IgnoreOutOfMemoryException();
- v8::V8::SetFatalErrorHandler(reportFatalErrorInV8);
+ v8::V8::SetFatalErrorHandler(reportFatalError);
v8::V8::SetGlobalGCPrologueCallback(&V8GCController::gcPrologue);
v8::V8::SetGlobalGCEpilogueCallback(&V8GCController::gcEpilogue);
- v8::V8::AddMessageListener(&v8UncaughtExceptionHandler);
+ v8::V8::AddMessageListener(&reportUncaughtException);
v8::V8::SetFailedAccessCheckCallbackFunction(reportUnsafeJavaScriptAccess);
#if ENABLE(JAVASCRIPT_DEBUGGER)
ScriptProfiler::initialize();
@@ -184,9 +164,15 @@ static void initializeV8IfNeeded()
v8::V8::SetFlagsFromString(es5ReadonlyFlag, sizeof(es5ReadonlyFlag));
}
-PassRefPtr<V8DOMWindowShell> V8DOMWindowShell::create(Frame* frame)
+static void checkDocumentWrapper(v8::Handle<v8::Object> wrapper, Document* document)
{
- return adoptRef(new V8DOMWindowShell(frame));
+ ASSERT(V8Document::toNative(wrapper) == document);
+ ASSERT(!document->isHTMLDocument() || (V8Document::toNative(v8::Handle<v8::Object>::Cast(wrapper->GetPrototype())) == document));
+}
+
+PassOwnPtr<V8DOMWindowShell> V8DOMWindowShell::create(Frame* frame)
+{
+ return adoptPtr(new V8DOMWindowShell(frame));
}
V8DOMWindowShell::V8DOMWindowShell(Frame* frame)
@@ -196,15 +182,15 @@ V8DOMWindowShell::V8DOMWindowShell(Frame* frame)
bool V8DOMWindowShell::isContextInitialized()
{
- // m_context, m_global, and m_wrapperBoilerplates should
- // all be non-empty if if m_context is non-empty.
- ASSERT(m_context.get().IsEmpty() || !m_global.get().IsEmpty());
- return !m_context.get().IsEmpty();
+ ASSERT(m_context.isEmpty() || !m_global.isEmpty());
+ return !m_context.isEmpty();
}
-void V8DOMWindowShell::disposeContextHandles()
+void V8DOMWindowShell::disposeContext()
{
- if (!m_context.get().IsEmpty()) {
+ m_perContextData.clear();
+
+ if (!m_context.isEmpty()) {
m_frame->loader()->client()->willReleaseScriptContext(m_context.get(), 0);
m_context.clear();
@@ -214,8 +200,6 @@ void V8DOMWindowShell::disposeContextHandles()
bool isMainFrame = m_frame->page() && (m_frame->page()->mainFrame() == m_frame);
V8GCForContextDispose::instance().notifyContextDisposed(isMainFrame);
}
-
- m_perContextData.clear();
}
void V8DOMWindowShell::destroyGlobal()
@@ -225,21 +209,21 @@ void V8DOMWindowShell::destroyGlobal()
void V8DOMWindowShell::clearForClose()
{
- if (m_context.get().IsEmpty())
+ if (m_context.isEmpty())
return;
v8::HandleScope handleScope;
- clearDocumentWrapper();
- disposeContextHandles();
+ m_document.clear();
+ disposeContext();
}
void V8DOMWindowShell::clearForNavigation()
{
- if (m_context.get().IsEmpty())
+ if (m_context.isEmpty())
return;
v8::HandleScope handleScope;
- clearDocumentWrapper();
+ m_document.clear();
// FIXME: Should we create a new Local handle here?
v8::Context::Scope contextScope(m_context.get());
@@ -247,13 +231,13 @@ void V8DOMWindowShell::clearForNavigation()
// Clear the document wrapper cache before turning on access checks on
// the old DOMWindow wrapper. This way, access to the document wrapper
// will be protected by the security checks on the DOMWindow wrapper.
- clearDocumentWrapperCache();
+ clearDocumentProperty();
v8::Handle<v8::Object> windowWrapper = V8DOMWrapper::lookupDOMWrapper(V8DOMWindow::GetTemplate(), m_global.get());
ASSERT(!windowWrapper.IsEmpty());
windowWrapper->TurnOnAccessCheck();
- m_context.get()->DetachGlobal();
- disposeContextHandles();
+ m_context->DetachGlobal();
+ disposeContext();
}
// Create a new environment and setup the global object.
@@ -262,11 +246,11 @@ void V8DOMWindowShell::clearForNavigation()
// allow properties of the JS DOMWindow instance to be shadowed, we
// use a shadow object as the global object and use the JS DOMWindow
// instance as the prototype for that shadow object. The JS DOMWindow
-// instance is undetectable from javascript code because the __proto__
+// instance is undetectable from JavaScript code because the __proto__
// accessors skip that object.
//
// The shadow object and the DOMWindow instance are seen as one object
-// from javascript. The javascript object that corresponds to a
+// from JavaScript. The JavaScript object that corresponds to a
// DOMWindow instance is the shadow object. When mapping a DOMWindow
// instance to a V8 object, we return the shadow object.
//
@@ -291,9 +275,9 @@ void V8DOMWindowShell::clearForNavigation()
// the frame. However, a new inner window is created for the new page.
// If there are JS code holds a closure to the old inner window,
// it won't be able to reach the outer window via its global object.
-bool V8DOMWindowShell::initContextIfNeeded()
+bool V8DOMWindowShell::initializeIfNeeded()
{
- if (!m_context.get().IsEmpty())
+ if (!m_context.isEmpty())
return true;
v8::HandleScope handleScope;
@@ -301,28 +285,28 @@ bool V8DOMWindowShell::initContextIfNeeded()
initializeV8IfNeeded();
m_context.adopt(createNewContext(m_global.get(), 0, 0));
- if (m_context.get().IsEmpty())
+ if (m_context.isEmpty())
return false;
v8::Local<v8::Context> context = v8::Local<v8::Context>::New(m_context.get());
v8::Context::Scope contextScope(context);
- if (m_global.get().IsEmpty()) {
+ if (m_global.isEmpty()) {
m_global.set(context->Global());
- if (m_global.get().IsEmpty()) {
- disposeContextHandles();
+ if (m_global.isEmpty()) {
+ disposeContext();
return false;
}
}
m_perContextData = V8PerContextData::create(m_context.get());
if (!m_perContextData->init()) {
- disposeContextHandles();
+ disposeContext();
return false;
}
if (!installDOMWindow(context, m_frame->document()->domWindow())) {
- disposeContextHandles();
+ disposeContext();
return false;
}
@@ -347,6 +331,7 @@ v8::Persistent<v8::Context> V8DOMWindowShell::createNewContext(v8::Handle<v8::Ob
v8::Persistent<v8::Context> result;
// The activeDocumentLoader pointer could be 0 during frame shutdown.
+ // FIXME: Can we remove this check?
if (!m_frame->loader()->activeDocumentLoader())
return result;
@@ -383,110 +368,79 @@ v8::Persistent<v8::Context> V8DOMWindowShell::createNewContext(v8::Handle<v8::Ob
return result;
}
-void V8DOMWindowShell::setContext(v8::Handle<v8::Context> context)
-{
- m_context.set(context);
-}
-
bool V8DOMWindowShell::installDOMWindow(v8::Handle<v8::Context> context, DOMWindow* window)
{
- // Create a new JS window object and use it as the prototype for the shadow global object.
- v8::Handle<v8::Function> windowConstructor = V8DOMWrapper::constructorForType(&V8DOMWindow::info, window);
- v8::Local<v8::Object> jsWindow = V8ObjectConstructor::newInstance(windowConstructor);
- // Bail out if allocation failed.
- if (jsWindow.IsEmpty())
+ v8::Local<v8::Object> windowWrapper = V8ObjectConstructor::newInstance(V8DOMWrapper::constructorForType(&V8DOMWindow::info, window));
+ if (windowWrapper.IsEmpty())
return false;
- V8DOMWindow::installPerContextProperties(jsWindow, window);
-
- // Wrap the window.
- V8DOMWrapper::setDOMWrapper(jsWindow, &V8DOMWindow::info, window);
- V8DOMWrapper::setDOMWrapper(v8::Handle<v8::Object>::Cast(jsWindow->GetPrototype()), &V8DOMWindow::info, window);
- V8DOMWrapper::setJSWrapperForDOMObject(PassRefPtr<DOMWindow>(window), jsWindow);
-
- // Insert the window instance as the prototype of the shadow object.
- v8::Handle<v8::Object> v8RealGlobal = v8::Handle<v8::Object>::Cast(context->Global()->GetPrototype());
- V8DOMWrapper::setDOMWrapper(v8RealGlobal, &V8DOMWindow::info, window);
- v8RealGlobal->SetPrototype(jsWindow);
+ V8DOMWindow::installPerContextProperties(windowWrapper, window);
+
+ V8DOMWrapper::setDOMWrapper(windowWrapper, &V8DOMWindow::info, window);
+ V8DOMWrapper::setDOMWrapper(v8::Handle<v8::Object>::Cast(windowWrapper->GetPrototype()), &V8DOMWindow::info, window);
+ V8DOMWrapper::setJSWrapperForDOMObject(PassRefPtr<DOMWindow>(window), windowWrapper);
+
+ // Install the windowWrapper as the prototype of the innerGlobalObject.
+ // The full structure of the global object is as follows:
+ //
+ // outerGlobalObject (Empty object, remains after navigation)
+ // -- has prototype --> innerGlobalObject (Holds global variables, changes during navigation)
+ // -- has prototype --> DOMWindow instance
+ // -- has prototype --> Window.prototype
+ // -- has prototype --> Object.prototype
+ //
+ // Note: Much of this prototype structure is hidden from web content. The
+ // outer, inner, and DOMWindow instance all appear to be the same
+ // JavaScript object.
+ //
+ v8::Handle<v8::Object> innerGlobalObject = toInnerGlobalObject(context);
+ V8DOMWrapper::setDOMWrapper(innerGlobalObject, &V8DOMWindow::info, window);
+ innerGlobalObject->SetPrototype(windowWrapper);
return true;
}
void V8DOMWindowShell::updateDocumentWrapper(v8::Handle<v8::Object> wrapper)
{
- clearDocumentWrapper();
-
- ASSERT(m_document.get().IsEmpty());
m_document.set(wrapper);
}
-void V8DOMWindowShell::clearDocumentWrapper()
-{
- m_document.clear();
-}
-
-static void checkDocumentWrapper(v8::Handle<v8::Object> wrapper, Document* document)
-{
- ASSERT(V8Document::toNative(wrapper) == document);
- ASSERT(!document->isHTMLDocument() || (V8Document::toNative(v8::Handle<v8::Object>::Cast(wrapper->GetPrototype())) == document));
-}
-
-void V8DOMWindowShell::updateDocumentWrapperCache()
+void V8DOMWindowShell::updateDocumentProperty()
{
v8::HandleScope handleScope;
// FIXME: Should we use a new Local handle here?
v8::Context::Scope contextScope(m_context.get());
- // If the document has no frame, NodeToV8Object might get the
- // document wrapper for a document that is about to be deleted.
- // If the ForceSet below causes a garbage collection, the document
- // might get deleted and the global handle for the document
- // wrapper cleared. Using the cleared global handle will lead to
- // crashes. In this case we clear the cache and let the DOMWindow
- // accessor handle access to the document.
- // FIXME: This should not be possible anymore.
- if (!m_frame->document()->frame()) {
- clearDocumentWrapperCache();
- return;
- }
-
v8::Handle<v8::Value> documentWrapper = toV8(m_frame->document());
- ASSERT(documentWrapper == m_document.get() || m_document.get().IsEmpty());
- if (m_document.get().IsEmpty())
+ ASSERT(documentWrapper == m_document.get() || m_document.isEmpty());
+ if (m_document.isEmpty())
updateDocumentWrapper(v8::Handle<v8::Object>::Cast(documentWrapper));
checkDocumentWrapper(m_document.get(), m_frame->document());
// If instantiation of the document wrapper fails, clear the cache
// and let the DOMWindow accessor handle access to the document.
if (documentWrapper.IsEmpty()) {
- clearDocumentWrapperCache();
+ clearDocumentProperty();
return;
}
ASSERT(documentWrapper->IsObject());
- m_context.get()->Global()->ForceSet(v8::String::New("document"), documentWrapper, static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete));
+ m_context->Global()->ForceSet(v8::String::New("document"), documentWrapper, static_cast<v8::PropertyAttribute>(v8::ReadOnly | v8::DontDelete));
- // We also stash a reference to the document on the real global object so that
+ // We also stash a reference to the document on the inner global object so that
// DOMWindow objects we obtain from JavaScript references are guaranteed to have
// live Document objects.
- v8::Handle<v8::Object> v8RealGlobal = v8::Handle<v8::Object>::Cast(m_context.get()->Global()->GetPrototype());
- v8RealGlobal->SetHiddenValue(V8HiddenPropertyName::document(), documentWrapper);
+ toInnerGlobalObject(m_context.get())->SetHiddenValue(V8HiddenPropertyName::document(), documentWrapper);
}
-void V8DOMWindowShell::clearDocumentWrapperCache()
+void V8DOMWindowShell::clearDocumentProperty()
{
- ASSERT(!m_context.get().IsEmpty());
- m_context.get()->Global()->ForceDelete(v8::String::New("document"));
+ ASSERT(!m_context.isEmpty());
+ m_context->Global()->ForceDelete(v8::String::New("document"));
}
void V8DOMWindowShell::setSecurityToken()
{
Document* document = m_frame->document();
- // FIXME: This shouldn't be possible anymore.
- if (!document) {
- m_context.get()->UseDefaultSecurityToken();
- return;
- }
-
// Ask the document's SecurityOrigin to generate a security token.
// If two tokens are equal, then the SecurityOrigins canAccess each other.
// If two tokens are not equal, then we have to call canAccess.
@@ -503,36 +457,23 @@ void V8DOMWindowShell::setSecurityToken()
// case, we use the global object as the security token to avoid
// calling canAccess when a script accesses its own objects.
if (token.isEmpty() || token == "null") {
- m_context.get()->UseDefaultSecurityToken();
+ m_context->UseDefaultSecurityToken();
return;
}
CString utf8Token = token.utf8();
// NOTE: V8 does identity comparison in fast path, must use a symbol
// as the security token.
- m_context.get()->SetSecurityToken(v8::String::NewSymbol(utf8Token.data(), utf8Token.length()));
+ m_context->SetSecurityToken(v8::String::NewSymbol(utf8Token.data(), utf8Token.length()));
}
void V8DOMWindowShell::updateDocument()
{
- // FIXME: This shouldn't be possible anymore.
- if (!m_frame->document())
+ if (m_global.isEmpty())
return;
-
- if (m_global.get().IsEmpty())
+ if (!initializeIfNeeded())
return;
-
- // There is an existing JavaScript wrapper for the global object
- // of this frame. JavaScript code in other frames might hold a
- // reference to this wrapper. We eagerly initialize the JavaScript
- // context for the new document to make property access on the
- // global object wrapper succeed.
- if (!initContextIfNeeded())
- return;
-
- // We have a new document and we need to update the cache.
- updateDocumentWrapperCache();
-
+ updateDocumentProperty();
updateSecurityOrigin();
}
@@ -542,7 +483,7 @@ static v8::Handle<v8::Value> getter(v8::Local<v8::String> property, const v8::Ac
AtomicString name = toWebCoreAtomicString(property);
HTMLDocument* htmlDocument = V8HTMLDocument::toNative(info.Holder());
ASSERT(htmlDocument);
- v8::Handle<v8::Value> result = V8HTMLDocument::GetNamedProperty(htmlDocument, name, info.GetIsolate());
+ v8::Handle<v8::Value> result = V8HTMLDocument::getNamedProperty(htmlDocument, name, info.Holder(), info.GetIsolate());
if (!result.IsEmpty())
return result;
v8::Handle<v8::Value> prototype = info.Holder()->GetPrototype();
@@ -553,15 +494,15 @@ static v8::Handle<v8::Value> getter(v8::Local<v8::String> property, const v8::Ac
void V8DOMWindowShell::namedItemAdded(HTMLDocument* document, const AtomicString& name)
{
- if (!initContextIfNeeded())
+ if (!initializeIfNeeded())
return;
v8::HandleScope handleScope;
v8::Context::Scope contextScope(m_context.get());
- ASSERT(!m_document.get().IsEmpty());
+ ASSERT(!m_document.isEmpty());
checkDocumentWrapper(m_document.get(), document);
- m_document.get()->SetAccessor(v8String(name), getter);
+ m_document->SetAccessor(v8String(name), getter);
}
void V8DOMWindowShell::namedItemRemoved(HTMLDocument* document, const AtomicString& name)
@@ -569,20 +510,20 @@ void V8DOMWindowShell::namedItemRemoved(HTMLDocument* document, const AtomicStri
if (document->hasNamedItem(name.impl()) || document->hasExtraNamedItem(name.impl()))
return;
- if (!initContextIfNeeded())
+ if (!initializeIfNeeded())
return;
v8::HandleScope handleScope;
v8::Context::Scope contextScope(m_context.get());
- ASSERT(!m_document.get().IsEmpty());
+ ASSERT(!m_document.isEmpty());
checkDocumentWrapper(m_document.get(), document);
- m_document.get()->Delete(v8String(name));
+ m_document->Delete(v8String(name));
}
void V8DOMWindowShell::updateSecurityOrigin()
{
- if (m_context.get().IsEmpty())
+ if (m_context.isEmpty())
return;
v8::HandleScope handleScope;
setSecurityToken();
diff --git a/Source/WebCore/bindings/v8/V8DOMWindowShell.h b/Source/WebCore/bindings/v8/V8DOMWindowShell.h
index e2ff81937..c61525738 100644
--- a/Source/WebCore/bindings/v8/V8DOMWindowShell.h
+++ b/Source/WebCore/bindings/v8/V8DOMWindowShell.h
@@ -49,11 +49,11 @@ class HTMLDocument;
// V8WindowShell represents all the per-global object state for a Frame that
// persist between navigations.
-class V8DOMWindowShell : public RefCounted<V8DOMWindowShell> {
+class V8DOMWindowShell {
public:
- static PassRefPtr<V8DOMWindowShell> create(Frame*);
+ static PassOwnPtr<V8DOMWindowShell> create(Frame*);
- v8::Handle<v8::Context> context() const { return m_context.get(); }
+ v8::Persistent<v8::Context> context() const { return m_context.get(); }
// Update document object of the frame.
void updateDocument();
@@ -68,10 +68,9 @@ public:
bool isContextInitialized();
v8::Persistent<v8::Context> createNewContext(v8::Handle<v8::Object> global, int extensionGroup, int worldId);
- void setContext(v8::Handle<v8::Context>);
static bool installDOMWindow(v8::Handle<v8::Context> context, DOMWindow*);
- bool initContextIfNeeded();
+ bool initializeIfNeeded();
void updateDocumentWrapper(v8::Handle<v8::Object> wrapper);
void clearForNavigation();
@@ -82,19 +81,18 @@ public:
V8PerContextData* perContextData() { return m_perContextData.get(); }
private:
- V8DOMWindowShell(Frame*);
+ explicit V8DOMWindowShell(Frame*);
- void disposeContextHandles();
+ void disposeContext();
void setSecurityToken();
- void clearDocumentWrapper();
// The JavaScript wrapper for the document object is cached on the global
- // object for fast access. UpdateDocumentWrapperCache sets the wrapper
- // for the current document on the global object. ClearDocumentWrapperCache
+ // object for fast access. UpdateDocumentProperty sets the wrapper
+ // for the current document on the global object. ClearDocumentProperty
// deletes the document wrapper from the global object.
- void updateDocumentWrapperCache();
- void clearDocumentWrapperCache();
+ void updateDocumentProperty();
+ void clearDocumentProperty();
Frame* m_frame;
diff --git a/Source/WebCore/bindings/v8/V8DOMWrapper.cpp b/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
index f51b67bbe..c94c579ae 100644
--- a/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
+++ b/Source/WebCore/bindings/v8/V8DOMWrapper.cpp
@@ -157,48 +157,20 @@ PassRefPtr<NodeFilter> V8DOMWrapper::wrapNativeNodeFilter(v8::Handle<v8::Value>
return NodeFilter::create(V8NodeFilterCondition::create(filter));
}
-v8::Local<v8::Object> V8DOMWrapper::instantiateV8Object(Frame* frame, WrapperTypeInfo* type, void* impl)
+v8::Local<v8::Object> V8DOMWrapper::instantiateV8Object(WrapperTypeInfo* type, void* impl)
{
-#if ENABLE(WORKERS)
- WorkerContext* workerContext = 0;
-#endif
- if (!frame) {
- v8::Handle<v8::Context> context = v8::Context::GetCurrent();
- if (!context.IsEmpty()) {
- v8::Handle<v8::Object> globalPrototype = v8::Handle<v8::Object>::Cast(context->Global()->GetPrototype());
- if (isWrapperOfType(globalPrototype, &V8DOMWindow::info)) {
- Frame* globalFrame = V8DOMWindow::toNative(globalPrototype)->frame();
- if (globalFrame && globalFrame->script()->canExecuteScripts(NotAboutToExecuteScript))
- frame = globalFrame;
- }
-#if ENABLE(WORKERS)
- else if (isWrapperOfType(globalPrototype, &V8WorkerContext::info))
- workerContext = V8WorkerContext::toNative(lookupDOMWrapper(V8WorkerContext::GetTemplate(), context->Global()));
-#endif
- }
- }
+ V8PerContextData* perContextData = V8PerContextData::current();
- V8PerContextData* contextData = 0;
- if (frame)
- contextData = perContextDataForCurrentWorld(frame);
-#if ENABLE(WORKERS)
- else if (workerContext)
- contextData = perContextData(workerContext);
-#endif
+ v8::Local<v8::Object> instance = perContextData ? perContextData->createWrapperFromCache(type) : V8ObjectConstructor::newInstance(type->getTemplate()->GetFunction());
+
+ // Avoid setting the DOM wrapper for failed allocations.
+ if (instance.IsEmpty())
+ return instance;
+
+ setDOMWrapper(instance, type, impl);
+ if (type == &V8HTMLDocument::info)
+ instance = V8HTMLDocument::wrapInShadowObject(instance, static_cast<Node*>(impl));
- v8::Local<v8::Object> instance;
- if (contextData)
- instance = contextData->createWrapperFromCache(type);
- else {
- v8::Local<v8::Function> function = type->getTemplate()->GetFunction();
- instance = V8ObjectConstructor::newInstance(function);
- }
- if (!instance.IsEmpty()) {
- // Avoid setting the DOM wrapper for failed allocations.
- setDOMWrapper(instance, type, impl);
- if (type == &V8HTMLDocument::info)
- instance = V8HTMLDocument::WrapInShadowObject(instance, static_cast<Node*>(impl));
- }
return instance;
}
@@ -246,10 +218,10 @@ bool V8DOMWrapper::isWrapperOfType(v8::Handle<v8::Value> value, WrapperTypeInfo*
#define TRY_TO_WRAP_WITH_INTERFACE(interfaceName) \
if (eventNames().interfaceFor##interfaceName == desiredInterface) \
- return toV8(static_cast<interfaceName*>(target), isolate);
+ return toV8(static_cast<interfaceName*>(target), creationContext, isolate);
// A JS object of type EventTarget is limited to a small number of possible classes.
-v8::Handle<v8::Value> V8DOMWrapper::convertEventTargetToV8Object(EventTarget* target, v8::Isolate* isolate)
+v8::Handle<v8::Value> V8DOMWrapper::convertEventTargetToV8Object(EventTarget* target, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!target)
return v8NullWithCheck(isolate);
diff --git a/Source/WebCore/bindings/v8/V8DOMWrapper.h b/Source/WebCore/bindings/v8/V8DOMWrapper.h
index 25c14d694..a609e3279 100644
--- a/Source/WebCore/bindings/v8/V8DOMWrapper.h
+++ b/Source/WebCore/bindings/v8/V8DOMWrapper.h
@@ -33,10 +33,8 @@
#include "DOMDataStore.h"
#include "Event.h"
-#include "IsolatedWorld.h"
#include "Node.h"
#include "NodeFilter.h"
-#include "PlatformString.h"
#include "V8CustomXPathNSResolver.h"
#include "V8DOMMap.h"
#include "V8IsolatedContext.h"
@@ -45,6 +43,7 @@
#include <v8.h>
#include <wtf/MainThread.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -82,12 +81,12 @@ namespace WebCore {
static WrapperTypeInfo* domWrapperType(v8::Handle<v8::Object>);
- static v8::Handle<v8::Value> convertEventTargetToV8Object(PassRefPtr<EventTarget> eventTarget, v8::Isolate* isolate = 0)
+ static v8::Handle<v8::Value> convertEventTargetToV8Object(PassRefPtr<EventTarget> eventTarget, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* isolate = 0)
{
- return convertEventTargetToV8Object(eventTarget.get(), isolate);
+ return convertEventTargetToV8Object(eventTarget.get(), creationContext, isolate);
}
- static v8::Handle<v8::Value> convertEventTargetToV8Object(EventTarget*, v8::Isolate* = 0);
+ static v8::Handle<v8::Value> convertEventTargetToV8Object(EventTarget*, v8::Handle<v8::Object> creationContext = v8::Handle<v8::Object>(), v8::Isolate* = 0);
static PassRefPtr<EventListener> getEventListener(v8::Local<v8::Value> value, bool isAttribute, ListenerLookupType lookup);
@@ -120,12 +119,12 @@ namespace WebCore {
static void setNamedHiddenReference(v8::Handle<v8::Object> parent, const char* name, v8::Handle<v8::Value> child);
static void setNamedHiddenWindowReference(Frame*, const char*, v8::Handle<v8::Value>);
- static v8::Local<v8::Object> instantiateV8Object(Frame*, WrapperTypeInfo*, void*);
+ static v8::Local<v8::Object> instantiateV8Object(WrapperTypeInfo*, void*);
static v8::Handle<v8::Object> getCachedWrapper(Node* node)
{
ASSERT(isMainThread());
- if (LIKELY(!IsolatedWorld::count())) {
+ if (LIKELY(!DOMWrapperWorld::isolatedWorldsExist())) {
v8::Persistent<v8::Object>* wrapper = node->wrapper();
if (LIKELY(!!wrapper))
return *wrapper;
diff --git a/Source/WebCore/bindings/v8/V8DependentRetained.h b/Source/WebCore/bindings/v8/V8DependentRetained.h
new file mode 100644
index 000000000..1522ea57a
--- /dev/null
+++ b/Source/WebCore/bindings/v8/V8DependentRetained.h
@@ -0,0 +1,118 @@
+/*
+ * Copyright (C) 2012 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 V8DependentRetained_h
+#define V8DependentRetained_h
+
+#include "ScopedPersistent.h"
+#include "V8HiddenPropertyName.h"
+#include "V8PerIsolateData.h"
+#include <v8.h>
+#include <wtf/Forward.h>
+#include <wtf/UnusedParam.h>
+#include <wtf/dtoa.h>
+
+namespace WebCore {
+
+class V8DependentRetained {
+public:
+ V8DependentRetained(v8::Handle<v8::Object> owner, v8::Handle<v8::Object> value)
+ : m_owner(owner)
+ , m_value(value)
+ , m_propertyName(createPropertyName())
+ {
+ ASSERT(!m_owner.IsEmpty());
+ ASSERT(!m_value.IsEmpty());
+ owner->SetHiddenValue(m_propertyName.get(), value);
+ m_owner.get().MakeWeak(this, &V8DependentRetained::ownerWeakCallback);
+ m_value.get().MakeWeak(this, &V8DependentRetained::valueWeakCallback);
+ }
+
+ ~V8DependentRetained()
+ {
+ release();
+ }
+
+ v8::Handle<v8::Object> get() const
+ {
+ return m_value.get();
+ }
+
+ bool isEmpty() const
+ {
+ return m_owner.isEmpty() || m_value.isEmpty();
+ }
+
+ // FIXME: We might add an explicit retain(v8::Handle<v8::Object>) method to allow
+ // creating one of these and choosing the owner later. Such behavior is required
+ // in JSC, but not in v8 right now.
+
+private:
+ static v8::Handle<v8::String> createPropertyName()
+ {
+ static const char* prefix = "V8DependentRetained";
+ NumberToStringBuffer buffer;
+ Vector<char, 64> name;
+ const char* id = numberToString(V8PerIsolateData::current()->nextDependentRetainedId(), buffer);
+ name.append(prefix, sizeof(prefix) - 1);
+ name.append(id, strlen(id) + 1);
+ return V8HiddenPropertyName::hiddenReferenceName(name.data(), NewString);
+ }
+
+ static void ownerWeakCallback(v8::Persistent<v8::Value> object, void* parameter)
+ {
+ V8DependentRetained* value = static_cast<V8DependentRetained*>(parameter);
+ value->release();
+ }
+
+ static void valueWeakCallback(v8::Persistent<v8::Value> object, void* parameter)
+ {
+ V8DependentRetained* value = static_cast<V8DependentRetained*>(parameter);
+ // The owner callback should always be called first, since it retains the value.
+ ASSERT_UNUSED(value, value->isEmpty());
+ }
+
+ void release()
+ {
+ if (!m_owner.isEmpty())
+ m_owner->DeleteHiddenValue(m_propertyName.get());
+ m_value.clear();
+ m_owner.clear();
+ m_propertyName.clear();
+ }
+
+ ScopedPersistent<v8::Object> m_owner;
+ ScopedPersistent<v8::Object> m_value;
+ ScopedPersistent<v8::String> m_propertyName;
+};
+
+} // namespace WebCore
+
+#endif // V8DependentRetained_h
diff --git a/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp b/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp
index fdddafbae..111198a56 100644
--- a/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp
+++ b/Source/WebCore/bindings/v8/V8HiddenPropertyName.cpp
@@ -55,13 +55,20 @@ v8::Handle<v8::String> V8HiddenPropertyName::name() \
V8_HIDDEN_PROPERTIES(V8_DEFINE_HIDDEN_PROPERTY);
-v8::Handle<v8::String> V8HiddenPropertyName::hiddenReferenceName(const char* name)
+v8::Handle<v8::String> V8HiddenPropertyName::hiddenReferenceName(const char* name, V8HiddenPropertyCreationType type)
{
+ ASSERT(name && strlen(name));
Vector<char, 64> prefixedName;
prefixedName.append(V8_HIDDEN_PROPERTY_PREFIX, sizeof(V8_HIDDEN_PROPERTY_PREFIX) - 1);
- ASSERT(name && strlen(name));
prefixedName.append(name, strlen(name));
- return v8::String::NewSymbol(prefixedName.data(), static_cast<int>(prefixedName.size()));
+ switch (type) {
+ case NewSymbol:
+ return v8::String::NewSymbol(prefixedName.data(), static_cast<int>(prefixedName.size()));
+ case NewString:
+ return v8::String::New(prefixedName.data(), static_cast<int>(prefixedName.size()));
+ }
+ ASSERT_NOT_REACHED();
+ return v8::Handle<v8::String>();
}
v8::Persistent<v8::String> V8HiddenPropertyName::createString(const char* key)
diff --git a/Source/WebCore/bindings/v8/V8HiddenPropertyName.h b/Source/WebCore/bindings/v8/V8HiddenPropertyName.h
index 9ddfa30f5..f859195d1 100644
--- a/Source/WebCore/bindings/v8/V8HiddenPropertyName.h
+++ b/Source/WebCore/bindings/v8/V8HiddenPropertyName.h
@@ -44,12 +44,15 @@ namespace WebCore {
V(event) \
V(listener) \
V(ownerNode) \
+ V(perContextData) \
V(scriptState) \
V(sleepFunction) \
V(state) \
V(textTracks) \
V(toStringString)
+ enum V8HiddenPropertyCreationType { NewSymbol, NewString };
+
class V8HiddenPropertyName {
public:
V8HiddenPropertyName() { }
@@ -57,7 +60,7 @@ namespace WebCore {
V8_HIDDEN_PROPERTIES(V8_DECLARE_PROPERTY);
#undef V8_DECLARE_PROPERTY
- static v8::Handle<v8::String> hiddenReferenceName(const char* name);
+ static v8::Handle<v8::String> hiddenReferenceName(const char*, V8HiddenPropertyCreationType = NewSymbol);
private:
static v8::Persistent<v8::String> createString(const char* key);
diff --git a/Source/WebCore/bindings/v8/V8IsolatedContext.cpp b/Source/WebCore/bindings/v8/V8IsolatedContext.cpp
index bd508946e..98f8ec918 100644
--- a/Source/WebCore/bindings/v8/V8IsolatedContext.cpp
+++ b/Source/WebCore/bindings/v8/V8IsolatedContext.cpp
@@ -64,8 +64,8 @@ static void setInjectedScriptContextDebugId(v8::Handle<v8::Context> targetContex
targetContext->SetData(v8::String::New(buffer));
}
-V8IsolatedContext::V8IsolatedContext(Frame* frame, int extensionGroup, int worldId)
- : m_world(IsolatedWorld::create(worldId)),
+V8IsolatedContext::V8IsolatedContext(Frame* frame, PassRefPtr<DOMWrapperWorld> world)
+ : m_world(world),
m_frame(frame)
{
v8::HandleScope scope;
@@ -74,7 +74,7 @@ V8IsolatedContext::V8IsolatedContext(Frame* frame, int extensionGroup, int world
return;
// FIXME: We should be creating a new V8DOMWindowShell here instead of riping out the context.
- m_context = SharedPersistent<v8::Context>::create(frame->script()->windowShell()->createNewContext(v8::Handle<v8::Object>(), extensionGroup, m_world->id()));
+ m_context = SharedPersistent<v8::Context>::create(frame->script()->windowShell()->createNewContext(v8::Handle<v8::Object>(), m_world->extensionGroup(), m_world->worldId()));
if (m_context->get().IsEmpty())
return;
@@ -99,13 +99,13 @@ V8IsolatedContext::V8IsolatedContext(Frame* frame, int extensionGroup, int world
// changes.
m_context->get()->UseDefaultSecurityToken();
- m_frame->loader()->client()->didCreateScriptContext(context(), extensionGroup, m_world->id());
+ m_frame->loader()->client()->didCreateScriptContext(context(), m_world->extensionGroup(), m_world->worldId());
}
void V8IsolatedContext::destroy()
{
m_perContextData.clear();
- m_frame->loader()->client()->willReleaseScriptContext(context(), m_world->id());
+ m_frame->loader()->client()->willReleaseScriptContext(context(), m_world->worldId());
m_context->get().MakeWeak(this, &contextWeakReferenceCallback);
m_frame = 0;
}
diff --git a/Source/WebCore/bindings/v8/V8IsolatedContext.h b/Source/WebCore/bindings/v8/V8IsolatedContext.h
index b191287cc..9d1c2807d 100644
--- a/Source/WebCore/bindings/v8/V8IsolatedContext.h
+++ b/Source/WebCore/bindings/v8/V8IsolatedContext.h
@@ -31,7 +31,7 @@
#ifndef V8IsolatedContext_h
#define V8IsolatedContext_h
-#include "IsolatedWorld.h"
+#include "DOMWrapperWorld.h"
#include "ScriptSourceCode.h" // for WebCore::ScriptSourceCode
#include "SharedPersistent.h"
#include "V8Utilities.h"
@@ -59,7 +59,7 @@ class V8IsolatedContext {
public:
// Creates an isolated world. To destroy it, call destroy().
// This will delete the isolated world when the context it owns is GC'd.
- V8IsolatedContext(Frame*, int extensionGroup, int worldId);
+ V8IsolatedContext(Frame*, PassRefPtr<DOMWrapperWorld>);
~V8IsolatedContext();
// Call this to destroy the isolated world. It will be deleted sometime
@@ -82,7 +82,7 @@ public:
// V8 team to add a real property to v8::Context for isolated worlds.
// Until then, we optimize the common case of not having any isolated
// worlds at all.
- if (!IsolatedWorld::count())
+ if (!DOMWrapperWorld::isolatedWorldsExist())
return 0;
if (!v8::Context::InContext())
return 0;
@@ -92,7 +92,7 @@ public:
v8::Handle<v8::Context> context() { return m_context->get(); }
PassRefPtr<SharedPersistent<v8::Context> > sharedContext() { return m_context; }
- IsolatedWorld* world() const { return m_world.get(); }
+ DOMWrapperWorld* world() const { return m_world.get(); }
SecurityOrigin* securityOrigin() const { return m_securityOrigin.get(); }
void setSecurityOrigin(PassRefPtr<SecurityOrigin>);
@@ -115,7 +115,7 @@ private:
// long as |m_context| has not been garbage collected.
RefPtr<SharedPersistent<v8::Context> > m_context;
- RefPtr<IsolatedWorld> m_world;
+ RefPtr<DOMWrapperWorld> m_world;
RefPtr<SecurityOrigin> m_securityOrigin;
diff --git a/Source/WebCore/bindings/v8/V8LazyEventListener.cpp b/Source/WebCore/bindings/v8/V8LazyEventListener.cpp
index d548b1607..c1bbdbf77 100644
--- a/Source/WebCore/bindings/v8/V8LazyEventListener.cpp
+++ b/Source/WebCore/bindings/v8/V8LazyEventListener.cpp
@@ -145,10 +145,10 @@ void V8LazyEventListener::prepareListenerObject(ScriptExecutionContext* context)
// Call with 4 arguments instead of 3, pass additional null as the last parameter.
// By calling the function with 4 arguments, we create a setter on arguments object
// which would shadow property "3" on the prototype.
- String code = "(function() {" \
+ String code = ASCIILiteral("(function() {" \
"with (this[2]) {" \
"with (this[1]) {" \
- "with (this[0]) {";
+ "with (this[0]) {");
code.append("return function(");
code.append(m_eventParameterName);
code.append(") {");
@@ -219,7 +219,7 @@ void V8LazyEventListener::prepareListenerObject(ScriptExecutionContext* context)
if (!toStringTemplate.IsEmpty())
toStringFunction = toStringTemplate->GetFunction();
if (!toStringFunction.IsEmpty()) {
- String toStringResult = "function ";
+ String toStringResult = ASCIILiteral("function ");
toStringResult.append(m_functionName);
toStringResult.append("(");
toStringResult.append(m_eventParameterName);
diff --git a/Source/WebCore/bindings/v8/V8LazyEventListener.h b/Source/WebCore/bindings/v8/V8LazyEventListener.h
index 335e21d73..018e58a42 100644
--- a/Source/WebCore/bindings/v8/V8LazyEventListener.h
+++ b/Source/WebCore/bindings/v8/V8LazyEventListener.h
@@ -31,11 +31,11 @@
#ifndef V8LazyEventListener_h
#define V8LazyEventListener_h
-#include "PlatformString.h"
#include "V8AbstractEventListener.h"
#include <v8.h>
#include <wtf/text/TextPosition.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/v8/V8NPUtils.cpp b/Source/WebCore/bindings/v8/V8NPUtils.cpp
index dfd751e32..07f44a729 100644
--- a/Source/WebCore/bindings/v8/V8NPUtils.cpp
+++ b/Source/WebCore/bindings/v8/V8NPUtils.cpp
@@ -33,12 +33,12 @@
#include "DOMWindow.h"
#include "Frame.h"
-#include "PlatformString.h"
#include "npruntime_impl.h"
#include "npruntime_priv.h"
#include "NPV8Object.h"
#include "V8Binding.h"
#include "V8NPObject.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/bindings/v8/V8NodeFilterCondition.cpp b/Source/WebCore/bindings/v8/V8NodeFilterCondition.cpp
index bc52a38f3..93339ec00 100644
--- a/Source/WebCore/bindings/v8/V8NodeFilterCondition.cpp
+++ b/Source/WebCore/bindings/v8/V8NodeFilterCondition.cpp
@@ -36,26 +36,17 @@
#include "ScriptController.h"
#include "ScriptState.h"
#include "V8Node.h"
-
#include <wtf/OwnArrayPtr.h>
namespace WebCore {
V8NodeFilterCondition::V8NodeFilterCondition(v8::Handle<v8::Value> filter)
- : m_filter(v8::Persistent<v8::Value>::New(filter))
+ : m_filter(filter)
{
-#ifndef NDEBUG
- V8GCController::registerGlobalHandle(NODE_FILTER, this, m_filter);
-#endif
}
V8NodeFilterCondition::~V8NodeFilterCondition()
{
-#ifndef NDEBUG
- V8GCController::unregisterGlobalHandle(this, m_filter);
-#endif
- m_filter.Dispose();
- m_filter.Clear();
}
short V8NodeFilterCondition::acceptNode(ScriptState* state, Node* node) const
@@ -69,7 +60,7 @@ short V8NodeFilterCondition::acceptNode(ScriptState* state, Node* node) const
v8::Handle<v8::Function> callback;
if (m_filter->IsFunction())
- callback = v8::Handle<v8::Function>::Cast(m_filter);
+ callback = v8::Handle<v8::Function>::Cast(m_filter.get());
else {
v8::Local<v8::Value> value = m_filter->ToObject()->Get(v8::String::New("acceptNode"));
if (!value->IsFunction()) {
diff --git a/Source/WebCore/bindings/v8/V8NodeFilterCondition.h b/Source/WebCore/bindings/v8/V8NodeFilterCondition.h
index b864e5ede..795f83494 100644
--- a/Source/WebCore/bindings/v8/V8NodeFilterCondition.h
+++ b/Source/WebCore/bindings/v8/V8NodeFilterCondition.h
@@ -32,32 +32,31 @@
#define V8NodeFilterCondition_h
#include "NodeFilterCondition.h"
+#include "ScopedPersistent.h"
#include <v8.h>
#include <wtf/PassRefPtr.h>
-// NodeFilter is a JavaScript function that takes a Node as parameter and returns a short (ACCEPT, SKIP, REJECT) as the result.
namespace WebCore {
- class Node;
- class ScriptState;
+class Node;
+class ScriptState;
- // NodeFilterCondition is a wrapper around a NodeFilter JS function.
- class V8NodeFilterCondition : public NodeFilterCondition {
- public:
- static PassRefPtr<V8NodeFilterCondition> create(v8::Handle<v8::Value> filter)
- {
- return adoptRef(new V8NodeFilterCondition(filter));
- }
+class V8NodeFilterCondition : public NodeFilterCondition {
+public:
+ static PassRefPtr<V8NodeFilterCondition> create(v8::Handle<v8::Value> filter)
+ {
+ return adoptRef(new V8NodeFilterCondition(filter));
+ }
- virtual ~V8NodeFilterCondition();
+ virtual ~V8NodeFilterCondition();
- virtual short acceptNode(ScriptState*, Node*) const;
+ virtual short acceptNode(ScriptState*, Node*) const;
- private:
- explicit V8NodeFilterCondition(v8::Handle<v8::Value> filter);
+private:
+ explicit V8NodeFilterCondition(v8::Handle<v8::Value> filter);
- mutable v8::Persistent<v8::Value> m_filter;
- };
+ ScopedPersistent<v8::Value> m_filter;
+};
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/V8PerContextData.cpp b/Source/WebCore/bindings/v8/V8PerContextData.cpp
index 4b79535a7..945b7bfc8 100644
--- a/Source/WebCore/bindings/v8/V8PerContextData.cpp
+++ b/Source/WebCore/bindings/v8/V8PerContextData.cpp
@@ -31,12 +31,25 @@
#include "config.h"
#include "V8PerContextData.h"
+#include "V8Binding.h"
+#include "V8HiddenPropertyName.h"
#include "V8ObjectConstructor.h"
namespace WebCore {
+V8PerContextData* V8PerContextData::current()
+{
+ v8::Handle<v8::Value> wrappedPerContextData = toInnerGlobalObject(v8::Context::GetCurrent())->GetHiddenValue(V8HiddenPropertyName::perContextData());
+ if (wrappedPerContextData.IsEmpty())
+ return 0;
+ return static_cast<V8PerContextData*>(v8::External::Unwrap(wrappedPerContextData));
+}
+
void V8PerContextData::dispose()
{
+ v8::HandleScope handleScope;
+ toInnerGlobalObject(m_context)->DeleteHiddenValue(V8HiddenPropertyName::perContextData());
+
{
WrapperBoilerplateMap::iterator it = m_wrapperBoilerplates.begin();
for (; it != m_wrapperBoilerplates.end(); ++it) {
@@ -73,6 +86,8 @@ void V8PerContextData::dispose()
bool V8PerContextData::init()
{
+ toInnerGlobalObject(m_context)->SetHiddenValue(V8HiddenPropertyName::perContextData(), v8::External::Wrap(this));
+
v8::Handle<v8::String> prototypeString = v8::String::NewSymbol("prototype");
if (prototypeString.IsEmpty())
return false;
@@ -87,8 +102,8 @@ bool V8PerContextData::init()
v8::Local<v8::Object> V8PerContextData::createWrapperFromCacheSlowCase(WrapperTypeInfo* type)
{
- ASSERT(!m_errorPrototype.get().IsEmpty());
- ASSERT(!m_objectPrototype.get().IsEmpty());
+ ASSERT(!m_errorPrototype.isEmpty());
+ ASSERT(!m_objectPrototype.isEmpty());
v8::Context::Scope scope(m_context);
v8::Local<v8::Function> function = constructorForType(type);
@@ -102,8 +117,8 @@ v8::Local<v8::Object> V8PerContextData::createWrapperFromCacheSlowCase(WrapperTy
v8::Local<v8::Function> V8PerContextData::constructorForTypeSlowCase(WrapperTypeInfo* type)
{
- ASSERT(!m_errorPrototype.get().IsEmpty());
- ASSERT(!m_objectPrototype.get().IsEmpty());
+ ASSERT(!m_errorPrototype.isEmpty());
+ ASSERT(!m_objectPrototype.isEmpty());
v8::Context::Scope scope(m_context);
v8::Handle<v8::FunctionTemplate> functionTemplate = type->getTemplate();
diff --git a/Source/WebCore/bindings/v8/V8PerContextData.h b/Source/WebCore/bindings/v8/V8PerContextData.h
index 20e910c16..21d5aeb37 100644
--- a/Source/WebCore/bindings/v8/V8PerContextData.h
+++ b/Source/WebCore/bindings/v8/V8PerContextData.h
@@ -41,7 +41,7 @@ namespace WebCore {
class V8PerContextData {
public:
- static PassOwnPtr<V8PerContextData> create(v8::Handle<v8::Context> context)
+ static PassOwnPtr<V8PerContextData> create(v8::Persistent<v8::Context> context)
{
return adoptPtr(new V8PerContextData(context));
}
@@ -53,6 +53,8 @@ public:
bool init();
+ static V8PerContextData* current();
+
// To create JS Wrapper objects, we create a cache of a 'boiler plate'
// object, and then simply Clone that object each time we need a new one.
// This is faster than going through the full object creation process.
@@ -71,7 +73,7 @@ public:
}
private:
- explicit V8PerContextData(v8::Handle<v8::Context> context)
+ explicit V8PerContextData(v8::Persistent<v8::Context> context)
: m_context(context)
{
}
@@ -89,7 +91,7 @@ private:
typedef WTF::HashMap<WrapperTypeInfo*, v8::Persistent<v8::Function> > ConstructorMap;
ConstructorMap m_constructorMap;
- v8::Handle<v8::Context> m_context;
+ v8::Persistent<v8::Context> m_context;
ScopedPersistent<v8::Value> m_errorPrototype;
ScopedPersistent<v8::Value> m_objectPrototype;
};
diff --git a/Source/WebCore/bindings/v8/V8PerIsolateData.cpp b/Source/WebCore/bindings/v8/V8PerIsolateData.cpp
index 183c312ec..33028a7ba 100644
--- a/Source/WebCore/bindings/v8/V8PerIsolateData.cpp
+++ b/Source/WebCore/bindings/v8/V8PerIsolateData.cpp
@@ -38,6 +38,7 @@ V8PerIsolateData::V8PerIsolateData(v8::Isolate* isolate)
, m_hiddenPropertyName(adoptPtr(new V8HiddenPropertyName()))
, m_constructorMode(ConstructorMode::CreateNewObject)
, m_recursionLevel(0)
+ , m_nextDependentRetainedId(0)
#ifndef NDEBUG
, m_internalScriptRecursionLevel(0)
#endif
@@ -75,7 +76,7 @@ void V8PerIsolateData::dispose(v8::Isolate* isolate)
void V8PerIsolateData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Binding);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Binding);
info.addHashMap(m_rawTemplates);
info.addHashMap(m_templates);
info.addInstrumentedMember(m_stringCache);
diff --git a/Source/WebCore/bindings/v8/V8PerIsolateData.h b/Source/WebCore/bindings/v8/V8PerIsolateData.h
index ceb2ee842..31acf0ee6 100644
--- a/Source/WebCore/bindings/v8/V8PerIsolateData.h
+++ b/Source/WebCore/bindings/v8/V8PerIsolateData.h
@@ -95,12 +95,13 @@ public:
void registerDOMDataStore(DOMDataStore* domDataStore)
{
+ ASSERT(m_domDataList.find(domDataStore) == notFound);
m_domDataList.append(domDataStore);
}
void unregisterDOMDataStore(DOMDataStore* domDataStore)
{
- ASSERT(m_domDataList.find(domDataStore));
+ ASSERT(m_domDataList.find(domDataStore) != notFound);
m_domDataList.remove(m_domDataList.find(domDataStore));
}
@@ -112,6 +113,8 @@ public:
int incrementRecursionLevel() { return ++m_recursionLevel; }
int decrementRecursionLevel() { return --m_recursionLevel; }
+ int nextDependentRetainedId() { return m_nextDependentRetainedId++; }
+
#ifndef NDEBUG
GlobalHandleMap& globalHandleMap() { return m_globalHandleMap; }
@@ -154,6 +157,7 @@ private:
friend class ConstructorMode;
int m_recursionLevel;
+ int m_nextDependentRetainedId;
#ifndef NDEBUG
GlobalHandleMap m_globalHandleMap;
diff --git a/Source/WebCore/bindings/v8/V8ThrowException.cpp b/Source/WebCore/bindings/v8/V8ThrowException.cpp
index 6988b28e5..f0adc012f 100644
--- a/Source/WebCore/bindings/v8/V8ThrowException.cpp
+++ b/Source/WebCore/bindings/v8/V8ThrowException.cpp
@@ -45,7 +45,7 @@ static void domExceptionStackSetter(v8::Local<v8::String> name, v8::Local<v8::Va
#define TRY_TO_CREATE_EXCEPTION(interfaceName) \
case interfaceName##Type: \
- exception = toV8(interfaceName::create(description), isolate); \
+ exception = toV8(interfaceName::create(description), v8::Handle<v8::Object>(), isolate); \
break;
v8::Handle<v8::Value> V8ThrowException::setDOMException(int ec, v8::Isolate* isolate)
diff --git a/Source/WebCore/bindings/v8/V8ValueCache.cpp b/Source/WebCore/bindings/v8/V8ValueCache.cpp
index 7de431893..1c2510664 100644
--- a/Source/WebCore/bindings/v8/V8ValueCache.cpp
+++ b/Source/WebCore/bindings/v8/V8ValueCache.cpp
@@ -69,7 +69,7 @@ v8::Local<v8::String> StringCache::v8ExternalStringSlow(StringImpl* stringImpl,
v8::String* cachedV8String = m_stringCache.get(stringImpl);
if (cachedV8String) {
v8::Persistent<v8::String> handle(cachedV8String);
- if (!handle.IsNearDeath() && !handle.IsEmpty()) {
+ if (handle.IsWeak()) {
m_lastStringImpl = stringImpl;
m_lastV8String = handle;
return v8::Local<v8::String>::New(handle);
diff --git a/Source/WebCore/bindings/v8/V8ValueCache.h b/Source/WebCore/bindings/v8/V8ValueCache.h
index 8154ddf53..f216060cc 100644
--- a/Source/WebCore/bindings/v8/V8ValueCache.h
+++ b/Source/WebCore/bindings/v8/V8ValueCache.h
@@ -43,11 +43,8 @@ public:
v8::Local<v8::String> v8ExternalString(StringImpl* stringImpl, v8::Isolate* isolate)
{
- if (m_lastStringImpl.get() == stringImpl) {
- ASSERT(!m_lastV8String.IsNearDeath());
- ASSERT(!m_lastV8String.IsEmpty());
+ if (m_lastStringImpl.get() == stringImpl && m_lastV8String.IsWeak())
return v8::Local<v8::String>::New(m_lastV8String);
- }
return v8ExternalStringSlow(stringImpl, isolate);
}
diff --git a/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp b/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
index e7059fe69..87493f896 100644
--- a/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
+++ b/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.cpp
@@ -86,6 +86,7 @@ static void v8MessageHandler(v8::Handle<v8::Message> message, v8::Handle<v8::Val
WorkerContextExecutionProxy::WorkerContextExecutionProxy(WorkerContext* workerContext)
: m_workerContext(workerContext)
+ , m_disableEvalPending(false)
{
initIsolate();
}
@@ -135,7 +136,7 @@ void WorkerContextExecutionProxy::initIsolate()
V8PerIsolateData::ensureInitialized(v8::Isolate::GetCurrent());
}
-bool WorkerContextExecutionProxy::initContextIfNeeded()
+bool WorkerContextExecutionProxy::initializeIfNeeded()
{
// Bail out if the context has already been initialized.
if (!m_context.IsEmpty())
@@ -206,9 +207,14 @@ ScriptValue WorkerContextExecutionProxy::evaluate(const String& script, const St
{
v8::HandleScope hs;
- if (!initContextIfNeeded())
+ if (!initializeIfNeeded())
return ScriptValue();
+ if (m_disableEvalPending) {
+ m_context->AllowCodeGenerationFromStrings(false);
+ m_disableEvalPending = false;
+ }
+
v8::Context::Scope scope(m_context);
v8::TryCatch exceptionCatcher;
@@ -243,6 +249,11 @@ ScriptValue WorkerContextExecutionProxy::evaluate(const String& script, const St
return ScriptValue(result);
}
+void WorkerContextExecutionProxy::setEvalAllowed(bool enable)
+{
+ m_disableEvalPending = !enable;
+}
+
v8::Local<v8::Value> WorkerContextExecutionProxy::runScript(v8::Handle<v8::Script> script)
{
if (script.IsEmpty())
diff --git a/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.h b/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.h
index 5bc28128c..a2469c0d2 100644
--- a/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.h
+++ b/Source/WebCore/bindings/v8/WorkerContextExecutionProxy.h
@@ -68,6 +68,9 @@ namespace WebCore {
// events and releases references to their event targets: WorkerContext.
void trackEvent(Event*);
+ // Alow use of eval() and is equivalents in scripts.
+ void setEvalAllowed(bool enable);
+
// Evaluate a script file in the current execution environment.
ScriptValue evaluate(const String& script, const String& fileName, const TextPosition& scriptStartPosition, WorkerContextExecutionState*);
@@ -78,7 +81,7 @@ namespace WebCore {
private:
void initIsolate();
- bool initContextIfNeeded();
+ bool initializeIfNeeded();
void dispose();
// Run an already compiled script.
@@ -94,6 +97,8 @@ namespace WebCore {
Vector<Event*> m_events;
OwnPtr<V8PerContextData> m_perContextData;
+
+ bool m_disableEvalPending;
};
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/WorkerScriptController.cpp b/Source/WebCore/bindings/v8/WorkerScriptController.cpp
index 917849666..bbd9158be 100644
--- a/Source/WebCore/bindings/v8/WorkerScriptController.cpp
+++ b/Source/WebCore/bindings/v8/WorkerScriptController.cpp
@@ -134,6 +134,7 @@ bool WorkerScriptController::isExecutionForbidden() const
void WorkerScriptController::disableEval()
{
+ m_proxy->setEvalAllowed(false);
}
void WorkerScriptController::setException(const ScriptValue& exception)
diff --git a/Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp b/Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp
index 1112e5406..ea2a3a1da 100644
--- a/Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8BlobCustom.cpp
@@ -43,15 +43,15 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(Blob* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(Blob* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
if (impl->isFile())
- return toV8(toFile(impl), isolate);
+ return toV8(toFile(impl), creationContext, isolate);
- return V8Blob::wrap(impl, isolate);
+ return V8Blob::wrap(impl, creationContext, isolate);
}
v8::Handle<v8::Value> V8Blob::constructorCallback(const v8::Arguments& args)
@@ -71,7 +71,7 @@ v8::Handle<v8::Value> V8Blob::constructorCallback(const v8::Arguments& args)
if (!args.Length()) {
RefPtr<Blob> blob = Blob::create();
- return toV8(blob.get(), args.GetIsolate());
+ return toV8(blob.get(), args.Holder(), args.GetIsolate());
}
v8::Local<v8::Value> firstArg = args[0];
@@ -79,7 +79,7 @@ v8::Handle<v8::Value> V8Blob::constructorCallback(const v8::Arguments& args)
return throwTypeError("First argument of the constructor is not of type Array", args.GetIsolate());
String type;
- String endings = "transparent";
+ String endings = ASCIILiteral("transparent");
if (args.Length() > 1) {
if (!args[1]->IsObject())
@@ -138,7 +138,7 @@ v8::Handle<v8::Value> V8Blob::constructorCallback(const v8::Arguments& args)
}
RefPtr<Blob> blob = blobBuilder->getBlob(type, BlobConstructedByConstructor);
- return toV8(blob.get(), args.GetIsolate());
+ return toV8(blob.get(), args.Holder(), args.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp b/Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp
index 7207a3dc0..8b10ad5cb 100644
--- a/Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8CSSRuleCustom.cpp
@@ -43,7 +43,7 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(CSSRule* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(CSSRule* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
@@ -52,27 +52,27 @@ v8::Handle<v8::Value> toV8(CSSRule* impl, v8::Isolate* isolate)
// CSSUnknownRule.idl is explicitly excluded as it doesn't add anything
// over CSSRule.idl (see WebCore.gyp/WebCore.gyp: 'bindings_idl_files').
// -> Use the base class wrapper here.
- return V8CSSRule::wrap(impl, isolate);
+ return V8CSSRule::wrap(impl, creationContext, isolate);
case CSSRule::STYLE_RULE:
- return toV8(static_cast<CSSStyleRule*>(impl), isolate);
+ return toV8(static_cast<CSSStyleRule*>(impl), creationContext, isolate);
case CSSRule::CHARSET_RULE:
- return toV8(static_cast<CSSCharsetRule*>(impl), isolate);
+ return toV8(static_cast<CSSCharsetRule*>(impl), creationContext, isolate);
case CSSRule::IMPORT_RULE:
- return toV8(static_cast<CSSImportRule*>(impl), isolate);
+ return toV8(static_cast<CSSImportRule*>(impl), creationContext, isolate);
case CSSRule::MEDIA_RULE:
- return toV8(static_cast<CSSMediaRule*>(impl), isolate);
+ return toV8(static_cast<CSSMediaRule*>(impl), creationContext, isolate);
case CSSRule::FONT_FACE_RULE:
- return toV8(static_cast<CSSFontFaceRule*>(impl), isolate);
+ return toV8(static_cast<CSSFontFaceRule*>(impl), creationContext, isolate);
case CSSRule::PAGE_RULE:
- return toV8(static_cast<CSSPageRule*>(impl), isolate);
+ return toV8(static_cast<CSSPageRule*>(impl), creationContext, isolate);
case CSSRule::WEBKIT_KEYFRAME_RULE:
- return toV8(static_cast<WebKitCSSKeyframeRule*>(impl), isolate);
+ return toV8(static_cast<WebKitCSSKeyframeRule*>(impl), creationContext, isolate);
case CSSRule::WEBKIT_KEYFRAMES_RULE:
- return toV8(static_cast<WebKitCSSKeyframesRule*>(impl), isolate);
+ return toV8(static_cast<WebKitCSSKeyframesRule*>(impl), creationContext, isolate);
case CSSRule::WEBKIT_REGION_RULE:
- return toV8(static_cast<WebKitCSSRegionRule*>(impl), isolate);
+ return toV8(static_cast<WebKitCSSRegionRule*>(impl), creationContext, isolate);
}
- return V8CSSRule::wrap(impl, isolate);
+ return V8CSSRule::wrap(impl, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8CSSValueCustom.cpp b/Source/WebCore/bindings/v8/custom/V8CSSValueCustom.cpp
index 5b8a8c645..262d8e1eb 100644
--- a/Source/WebCore/bindings/v8/custom/V8CSSValueCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8CSSValueCustom.cpp
@@ -46,27 +46,27 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(CSSValue* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(CSSValue* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
if (impl->isWebKitCSSTransformValue())
- return toV8(static_cast<WebKitCSSTransformValue*>(impl), isolate);
+ return toV8(static_cast<WebKitCSSTransformValue*>(impl), creationContext, isolate);
#if ENABLE(CSS_FILTERS)
if (impl->isWebKitCSSFilterValue())
- return toV8(static_cast<WebKitCSSFilterValue*>(impl), isolate);
+ return toV8(static_cast<WebKitCSSFilterValue*>(impl), creationContext, isolate);
#endif
if (impl->isValueList())
- return toV8(static_cast<CSSValueList*>(impl), isolate);
+ return toV8(static_cast<CSSValueList*>(impl), creationContext, isolate);
if (impl->isPrimitiveValue())
- return toV8(static_cast<CSSPrimitiveValue*>(impl), isolate);
+ return toV8(static_cast<CSSPrimitiveValue*>(impl), creationContext, isolate);
#if ENABLE(SVG)
if (impl->isSVGPaint())
- return toV8(static_cast<SVGPaint*>(impl), isolate);
+ return toV8(static_cast<SVGPaint*>(impl), creationContext, isolate);
if (impl->isSVGColor())
- return toV8(static_cast<SVGColor*>(impl), isolate);
+ return toV8(static_cast<SVGColor*>(impl), creationContext, isolate);
#endif
- return V8CSSValue::wrap(impl, isolate);
+ return V8CSSValue::wrap(impl, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp b/Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
index 4060096cb..46d332483 100644
--- a/Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp
@@ -48,13 +48,13 @@
namespace WebCore {
-static v8::Handle<v8::Value> toV8Object(CanvasStyle* style, v8::Isolate* isolate)
+static v8::Handle<v8::Value> toV8Object(CanvasStyle* style, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (style->canvasGradient())
- return toV8(style->canvasGradient(), isolate);
+ return toV8(style->canvasGradient(), creationContext, isolate);
if (style->canvasPattern())
- return toV8(style->canvasPattern(), isolate);
+ return toV8(style->canvasPattern(), creationContext, isolate);
return v8String(style->color(), isolate);
}
@@ -73,7 +73,7 @@ static PassRefPtr<CanvasStyle> toCanvasStyle(v8::Handle<v8::Value> value)
v8::Handle<v8::Value> V8CanvasRenderingContext2D::strokeStyleAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
CanvasRenderingContext2D* impl = V8CanvasRenderingContext2D::toNative(info.Holder());
- return toV8Object(impl->strokeStyle(), info.GetIsolate());
+ return toV8Object(impl->strokeStyle(), info.Holder(), info.GetIsolate());
}
void V8CanvasRenderingContext2D::strokeStyleAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -88,7 +88,7 @@ void V8CanvasRenderingContext2D::strokeStyleAccessorSetter(v8::Local<v8::String>
v8::Handle<v8::Value> V8CanvasRenderingContext2D::fillStyleAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
CanvasRenderingContext2D* impl = V8CanvasRenderingContext2D::toNative(info.Holder());
- return toV8Object(impl->fillStyle(), info.GetIsolate());
+ return toV8Object(impl->fillStyle(), info.Holder(), info.GetIsolate());
}
void V8CanvasRenderingContext2D::fillStyleAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp b/Source/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
index 99d127d6b..d29c1ae09 100644
--- a/Source/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8ConsoleCustom.cpp
@@ -92,7 +92,7 @@ v8::Handle<v8::Value> V8Console::memoryAccessorGetter(v8::Local<v8::String> name
{
INC_STATS("DOM.Console.memoryAccessorGetter");
Console* imp = V8Console::toNative(info.Holder());
- return toV8(imp->memory(), info.GetIsolate());
+ return toV8(imp->memory(), info.Holder(), info.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp b/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
index 7280d91c5..e57c6d1b4 100644
--- a/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8DOMWindowCustom.cpp
@@ -465,7 +465,7 @@ v8::Handle<v8::Value> V8DOMWindow::openCallback(const v8::Arguments& args)
if (!openedWindow)
return v8::Undefined();
- return toV8(openedWindow.release(), args.GetIsolate());
+ return toV8(openedWindow.release(), args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8DOMWindow::indexedPropertyGetter(uint32_t index, const v8::AccessorInfo& info)
@@ -482,12 +482,11 @@ v8::Handle<v8::Value> V8DOMWindow::indexedPropertyGetter(uint32_t index, const v
Frame* child = frame->tree()->scopedChild(index);
if (child)
- return toV8(child->document()->domWindow(), info.GetIsolate());
+ return toV8(child->document()->domWindow(), info.Holder(), info.GetIsolate());
return v8Undefined();
}
-
v8::Handle<v8::Value> V8DOMWindow::namedPropertyGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
INC_STATS("DOM.DOMWindow.NamedPropertyGetter");
@@ -505,7 +504,7 @@ v8::Handle<v8::Value> V8DOMWindow::namedPropertyGetter(v8::Local<v8::String> nam
AtomicString propName = toWebCoreAtomicString(name);
Frame* child = frame->tree()->scopedChild(propName);
if (child)
- return toV8(child->document()->domWindow(), info.GetIsolate());
+ return toV8(child->document()->domWindow(), info.Holder(), info.GetIsolate());
// Search IDL functions defined in the prototype
if (!info.Holder()->GetRealNamedProperty(name).IsEmpty())
@@ -519,8 +518,8 @@ v8::Handle<v8::Value> V8DOMWindow::namedPropertyGetter(v8::Local<v8::String> nam
RefPtr<HTMLCollection> items = doc->windowNamedItems(propName);
if (!items->isEmpty()) {
if (items->hasExactlyOneItem())
- return toV8(items->item(0), info.GetIsolate());
- return toV8(items.release(), info.GetIsolate());
+ return toV8(items->item(0), info.Holder(), info.GetIsolate());
+ return toV8(items.release(), info.Holder(), info.GetIsolate());
}
}
}
@@ -600,8 +599,10 @@ bool V8DOMWindow::indexedSecurityCheck(v8::Local<v8::Object> host, uint32_t inde
return BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), target, DoNotReportSecurityError);
}
-v8::Handle<v8::Value> toV8(DOMWindow* window, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(DOMWindow* window, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
+ // Notice that we explicitly ignore creationContext because the DOMWindow is its own creationContext.
+
if (!window)
return v8NullWithCheck(isolate);
// Initializes environment of a frame, and return the global object
diff --git a/Source/WebCore/bindings/v8/custom/V8DataViewCustom.cpp b/Source/WebCore/bindings/v8/custom/V8DataViewCustom.cpp
index 2f12a56b2..6de9ce8e2 100755
--- a/Source/WebCore/bindings/v8/custom/V8DataViewCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8DataViewCustom.cpp
@@ -56,11 +56,11 @@ v8::Handle<v8::Value> V8DataView::constructorCallback(const v8::Arguments& args)
return constructWebGLArrayWithArrayBufferArgument<DataView, char>(args, &info, v8::kExternalByteArray, false);
}
-v8::Handle<v8::Value> toV8(DataView* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(DataView* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
- return V8DataView::wrap(impl, isolate);
+ return V8DataView::wrap(impl, creationContext, isolate);
}
v8::Handle<v8::Value> V8DataView::getInt8Callback(const v8::Arguments& args)
diff --git a/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp b/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
index 3ef19f255..591144f8b 100644
--- a/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8DocumentCustom.cpp
@@ -92,7 +92,7 @@ v8::Handle<v8::Value> V8Document::evaluateCallback(const v8::Arguments& args)
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8(result.release(), args.GetIsolate());
+ return toV8(result.release(), args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8Document::getCSSCanvasContextCallback(const v8::Arguments& args)
@@ -108,26 +108,26 @@ v8::Handle<v8::Value> V8Document::getCSSCanvasContextCallback(const v8::Argument
if (!result)
return v8::Undefined();
if (result->is2d())
- return toV8(static_cast<CanvasRenderingContext2D*>(result), args.GetIsolate());
+ return toV8(static_cast<CanvasRenderingContext2D*>(result), args.Holder(), args.GetIsolate());
#if ENABLE(WEBGL)
else if (result->is3d())
- return toV8(static_cast<WebGLRenderingContext*>(result), args.GetIsolate());
+ return toV8(static_cast<WebGLRenderingContext*>(result), args.Holder(), args.GetIsolate());
#endif // ENABLE(WEBGL)
ASSERT_NOT_REACHED();
return v8::Undefined();
}
-v8::Handle<v8::Value> toV8(Document* impl, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> toV8(Document* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
if (!impl)
return v8NullWithCheck(isolate);
if (impl->isHTMLDocument())
- return toV8(static_cast<HTMLDocument*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<HTMLDocument*>(impl), creationContext, isolate, forceNewObject);
#if ENABLE(SVG)
if (impl->isSVGDocument())
- return toV8(static_cast<SVGDocument*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<SVGDocument*>(impl), creationContext, isolate, forceNewObject);
#endif
- v8::Handle<v8::Object> wrapper = V8Document::wrap(impl, isolate, forceNewObject);
+ v8::Handle<v8::Object> wrapper = V8Document::wrap(impl, creationContext, isolate, forceNewObject);
if (wrapper.IsEmpty())
return wrapper;
if (!V8IsolatedContext::getEntered()) {
@@ -147,7 +147,7 @@ v8::Handle<v8::Value> V8Document::createTouchListCallback(const v8::Arguments& a
touchList->append(touch);
}
- return toV8(touchList.release(), args.GetIsolate());
+ return toV8(touchList.release(), args.Holder(), args.GetIsolate());
}
#endif
diff --git a/Source/WebCore/bindings/v8/custom/V8DocumentLocationCustom.cpp b/Source/WebCore/bindings/v8/custom/V8DocumentLocationCustom.cpp
index 304aadd52..83bceb73d 100644
--- a/Source/WebCore/bindings/v8/custom/V8DocumentLocationCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8DocumentLocationCustom.cpp
@@ -40,7 +40,7 @@ v8::Handle<v8::Value> V8Document::locationAccessorGetter(v8::Local<v8::String> n
return v8::Null(info.GetIsolate());
DOMWindow* window = document->domWindow();
- return toV8(window->location(), info.GetIsolate());
+ return toV8(window->location(), info.Holder(), info.GetIsolate());
}
void V8Document::locationAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8EntryCustom.cpp b/Source/WebCore/bindings/v8/custom/V8EntryCustom.cpp
index ced418558..b35e1332a 100644
--- a/Source/WebCore/bindings/v8/custom/V8EntryCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8EntryCustom.cpp
@@ -43,16 +43,16 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(Entry* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(Entry* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
if (impl->isFile())
- return toV8(static_cast<FileEntry*>(impl), isolate);
+ return toV8(static_cast<FileEntry*>(impl), creationContext, isolate);
ASSERT(impl->isDirectory());
- return toV8(static_cast<DirectoryEntry*>(impl), isolate);
+ return toV8(static_cast<DirectoryEntry*>(impl), creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8EntrySyncCustom.cpp b/Source/WebCore/bindings/v8/custom/V8EntrySyncCustom.cpp
index c8cc3809a..545dd1fc8 100644
--- a/Source/WebCore/bindings/v8/custom/V8EntrySyncCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8EntrySyncCustom.cpp
@@ -43,16 +43,16 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(EntrySync* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(EntrySync* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
if (impl->isFile())
- return toV8(static_cast<FileEntrySync*>(impl), isolate);
+ return toV8(static_cast<FileEntrySync*>(impl), creationContext, isolate);
ASSERT(impl->isDirectory());
- return toV8(static_cast<DirectoryEntrySync*>(impl), isolate);
+ return toV8(static_cast<DirectoryEntrySync*>(impl), creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8EventCustom.cpp b/Source/WebCore/bindings/v8/custom/V8EventCustom.cpp
index 67f1a73e9..75e6bbcbe 100644
--- a/Source/WebCore/bindings/v8/custom/V8EventCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8EventCustom.cpp
@@ -53,7 +53,7 @@ v8::Handle<v8::Value> V8Event::dataTransferAccessorGetter(v8::Local<v8::String>
Event* event = V8Event::toNative(info.Holder());
if (event->isDragEvent())
- return toV8(static_cast<MouseEvent*>(event)->clipboard(), info.GetIsolate());
+ return toV8(static_cast<MouseEvent*>(event)->clipboard(), info.Holder(), info.GetIsolate());
return v8::Undefined();
}
@@ -63,16 +63,16 @@ v8::Handle<v8::Value> V8Event::clipboardDataAccessorGetter(v8::Local<v8::String>
Event* event = V8Event::toNative(info.Holder());
if (event->isClipboardEvent())
- return toV8(static_cast<ClipboardEvent*>(event)->clipboard(), info.GetIsolate());
+ return toV8(static_cast<ClipboardEvent*>(event)->clipboard(), info.Holder(), info.GetIsolate());
return v8::Undefined();
}
#define TRY_TO_WRAP_WITH_INTERFACE(interfaceName) \
if (eventNames().interfaceFor##interfaceName == desiredInterface) \
- return toV8(static_cast<interfaceName*>(event), isolate);
+ return toV8(static_cast<interfaceName*>(event), creationContext, isolate);
-v8::Handle<v8::Value> toV8(Event* event, v8::Isolate *isolate)
+v8::Handle<v8::Value> toV8(Event* event, v8::Handle<v8::Object> creationContext, v8::Isolate *isolate)
{
if (!event)
return v8NullWithCheck(isolate);
@@ -81,11 +81,11 @@ v8::Handle<v8::Value> toV8(Event* event, v8::Isolate *isolate)
// We need to check Event first to avoid infinite recursion.
if (eventNames().interfaceForEvent == desiredInterface)
- return V8Event::wrap(event, isolate);
+ return V8Event::wrap(event, creationContext, isolate);
DOM_EVENT_INTERFACES_FOR_EACH(TRY_TO_WRAP_WITH_INTERFACE)
- return V8Event::wrap(event, isolate);
+ return V8Event::wrap(event, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8FileReaderCustom.cpp b/Source/WebCore/bindings/v8/custom/V8FileReaderCustom.cpp
index fc9b70caa..b49a153e7 100755
--- a/Source/WebCore/bindings/v8/custom/V8FileReaderCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8FileReaderCustom.cpp
@@ -46,7 +46,7 @@ v8::Handle<v8::Value> V8FileReader::resultAccessorGetter(v8::Local<v8::String> n
v8::Handle<v8::Object> holder = info.Holder();
FileReader* imp = V8FileReader::toNative(holder);
if (imp->readType() == FileReaderLoader::ReadAsArrayBuffer)
- return toV8(imp->arrayBufferResult(), info.GetIsolate());
+ return toV8(imp->arrayBufferResult(), info.Holder(), info.GetIsolate());
return v8StringOrNull(imp->stringResult(), info.GetIsolate());
}
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
index 4fdf3adef..627058c18 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLAllCollectionCustom.cpp
@@ -40,7 +40,7 @@
namespace WebCore {
-static v8::Handle<v8::Value> getNamedItems(HTMLAllCollection* collection, AtomicString name, v8::Isolate* isolate)
+static v8::Handle<v8::Value> getNamedItems(HTMLAllCollection* collection, AtomicString name, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
Vector<RefPtr<Node> > namedItems;
collection->namedItems(name, namedItems);
@@ -49,16 +49,16 @@ static v8::Handle<v8::Value> getNamedItems(HTMLAllCollection* collection, Atomic
return v8Undefined();
if (namedItems.size() == 1)
- return toV8(namedItems.at(0).release(), isolate);
+ return toV8(namedItems.at(0).release(), creationContext, isolate);
- return toV8(V8NamedNodesCollection::create(namedItems), isolate);
+ return toV8(V8NamedNodesCollection::create(namedItems), creationContext, isolate);
}
-static v8::Handle<v8::Value> getItem(HTMLAllCollection* collection, v8::Handle<v8::Value> argument, v8::Isolate* isolate)
+static v8::Handle<v8::Value> getItem(HTMLAllCollection* collection, v8::Handle<v8::Value> argument, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
v8::Local<v8::Uint32> index = argument->ToArrayIndex();
if (index.IsEmpty()) {
- v8::Handle<v8::Value> result = getNamedItems(collection, toWebCoreString(argument->ToString()), isolate);
+ v8::Handle<v8::Value> result = getNamedItems(collection, toWebCoreString(argument->ToString()), creationContext, isolate);
if (result.IsEmpty())
return v8::Undefined();
@@ -67,7 +67,7 @@ static v8::Handle<v8::Value> getItem(HTMLAllCollection* collection, v8::Handle<v
}
RefPtr<Node> result = collection->item(index->Uint32Value());
- return toV8(result.release(), isolate);
+ return toV8(result.release(), creationContext, isolate);
}
v8::Handle<v8::Value> V8HTMLAllCollection::namedPropertyGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
@@ -80,21 +80,21 @@ v8::Handle<v8::Value> V8HTMLAllCollection::namedPropertyGetter(v8::Local<v8::Str
return v8Undefined();
HTMLAllCollection* imp = V8HTMLAllCollection::toNative(info.Holder());
- return getNamedItems(imp, toWebCoreAtomicString(name), info.GetIsolate());
+ return getNamedItems(imp, toWebCoreAtomicString(name), info.Holder(), info.GetIsolate());
}
v8::Handle<v8::Value> V8HTMLAllCollection::itemCallback(const v8::Arguments& args)
{
INC_STATS("DOM.HTMLAllCollection.item()");
HTMLAllCollection* imp = V8HTMLAllCollection::toNative(args.Holder());
- return getItem(imp, args[0], args.GetIsolate());
+ return getItem(imp, args[0], args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8HTMLAllCollection::namedItemCallback(const v8::Arguments& args)
{
INC_STATS("DOM.HTMLAllCollection.namedItem()");
HTMLAllCollection* imp = V8HTMLAllCollection::toNative(args.Holder());
- v8::Handle<v8::Value> result = getNamedItems(imp, toWebCoreString(args[0]), args.GetIsolate());
+ v8::Handle<v8::Value> result = getNamedItems(imp, toWebCoreString(args[0]), args.Holder(), args.GetIsolate());
if (result.IsEmpty())
return v8::Undefined();
@@ -111,7 +111,7 @@ v8::Handle<v8::Value> V8HTMLAllCollection::callAsFunctionCallback(const v8::Argu
HTMLAllCollection* imp = V8HTMLAllCollection::toNative(args.Holder());
if (args.Length() == 1)
- return getItem(imp, args[0], args.GetIsolate());
+ return getItem(imp, args[0], args.Holder(), args.GetIsolate());
// If there is a second argument it is the index of the item we want.
String name = toWebCoreString(args[0]);
@@ -120,7 +120,7 @@ v8::Handle<v8::Value> V8HTMLAllCollection::callAsFunctionCallback(const v8::Argu
return v8::Undefined();
if (Node* node = imp->namedItemWithIndex(name, index->Uint32Value()))
- return toV8(node, args.GetIsolate());
+ return toV8(node, args.Holder(), args.GetIsolate());
return v8::Undefined();
}
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
index 5d268201e..ab6c75ab9 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLCanvasElementCustom.cpp
@@ -35,7 +35,6 @@
#include "CanvasContextAttributes.h"
#include "CanvasRenderingContext.h"
#include "HTMLCanvasElement.h"
-#include "PlatformString.h"
#include "WebGLContextAttributes.h"
#include "V8Binding.h"
#include "V8CanvasRenderingContext2D.h"
@@ -45,6 +44,7 @@
#include "V8WebGLRenderingContext.h"
#endif
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -87,7 +87,7 @@ v8::Handle<v8::Value> V8HTMLCanvasElement::getContextCallback(const v8::Argument
return v8::Null(args.GetIsolate());
if (result->is2d())
- return toV8(static_cast<CanvasRenderingContext2D*>(result), args.GetIsolate());
+ return toV8(static_cast<CanvasRenderingContext2D*>(result), args.Holder(), args.GetIsolate());
#if ENABLE(WEBGL)
else if (result->is3d()) {
// 3D canvas contexts can hold on to lots of GPU resources, and we want to take an
@@ -96,7 +96,7 @@ v8::Handle<v8::Value> V8HTMLCanvasElement::getContextCallback(const v8::Argument
V8PerIsolateData* perIsolateData = V8PerIsolateData::current(args.GetIsolate());
perIsolateData->setShouldCollectGarbageSoon();
- v8::Handle<v8::Value> v8Result = toV8(static_cast<WebGLRenderingContext*>(result), args.GetIsolate());
+ v8::Handle<v8::Value> v8Result = toV8(static_cast<WebGLRenderingContext*>(result), args.Holder(), args.GetIsolate());
if (InspectorInstrumentation::hasFrontends()) {
ScriptState* scriptState = ScriptState::forContext(v8::Context::GetCurrent());
ScriptObject glContext(scriptState, v8::Handle<v8::Object>::Cast(v8Result));
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp
index 45f230e37..dbff29246 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLCollectionCustom.cpp
@@ -42,7 +42,7 @@
namespace WebCore {
-static v8::Handle<v8::Value> getNamedItems(HTMLCollection* collection, AtomicString name, v8::Isolate* isolate)
+static v8::Handle<v8::Value> getNamedItems(HTMLCollection* collection, AtomicString name, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
Vector<RefPtr<Node> > namedItems;
collection->namedItems(name, namedItems);
@@ -51,12 +51,12 @@ static v8::Handle<v8::Value> getNamedItems(HTMLCollection* collection, AtomicStr
return v8Undefined();
if (namedItems.size() == 1)
- return toV8(namedItems.at(0).release(), isolate);
+ return toV8(namedItems.at(0).release(), creationContext, isolate);
if (collection->type() == FormControls)
- return toV8(collection->base()->radioNodeList(name).get(), isolate);
+ return toV8(collection->base()->radioNodeList(name).get(), creationContext, isolate);
- return toV8(V8NamedNodesCollection::create(namedItems), isolate);
+ return toV8(V8NamedNodesCollection::create(namedItems), creationContext, isolate);
}
v8::Handle<v8::Value> V8HTMLCollection::namedPropertyGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
@@ -69,14 +69,14 @@ v8::Handle<v8::Value> V8HTMLCollection::namedPropertyGetter(v8::Local<v8::String
return v8Undefined();
HTMLCollection* imp = V8HTMLCollection::toNative(info.Holder());
- return getNamedItems(imp, toWebCoreAtomicString(name), info.GetIsolate());
+ return getNamedItems(imp, toWebCoreAtomicString(name), info.Holder(), info.GetIsolate());
}
v8::Handle<v8::Value> V8HTMLCollection::namedItemCallback(const v8::Arguments& args)
{
INC_STATS("DOM.HTMLCollection.namedItem()");
HTMLCollection* imp = V8HTMLCollection::toNative(args.Holder());
- v8::Handle<v8::Value> result = getNamedItems(imp, toWebCoreString(args[0]), args.GetIsolate());
+ v8::Handle<v8::Value> result = getNamedItems(imp, toWebCoreString(args[0]), args.Holder(), args.GetIsolate());
if (result.IsEmpty())
return v8::Undefined();
@@ -84,11 +84,11 @@ v8::Handle<v8::Value> V8HTMLCollection::namedItemCallback(const v8::Arguments& a
return result;
}
-v8::Handle<v8::Value> toV8(HTMLCollection* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(HTMLCollection* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (impl->type() == DocAll)
- return toV8(static_cast<HTMLAllCollection*>(impl), isolate);
- return V8HTMLCollection::wrap(impl, isolate);
+ return toV8(static_cast<HTMLAllCollection*>(impl), creationContext, isolate);
+ return V8HTMLCollection::wrap(impl, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
index 3f1cbc1ee..ca397547d 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLDocumentCustom.cpp
@@ -52,7 +52,7 @@
namespace WebCore {
-v8::Local<v8::Object> V8HTMLDocument::WrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl)
+v8::Local<v8::Object> V8HTMLDocument::wrapInShadowObject(v8::Local<v8::Object> wrapper, Node* impl)
{
DEFINE_STATIC_LOCAL(v8::Persistent<v8::FunctionTemplate>, shadowTemplate, ());
if (shadowTemplate.IsEmpty()) {
@@ -80,7 +80,7 @@ v8::Local<v8::Object> V8HTMLDocument::WrapInShadowObject(v8::Local<v8::Object> w
return shadow;
}
-v8::Handle<v8::Value> V8HTMLDocument::GetNamedProperty(HTMLDocument* htmlDocument, const AtomicString& key, v8::Isolate* isolate)
+v8::Handle<v8::Value> V8HTMLDocument::getNamedProperty(HTMLDocument* htmlDocument, const AtomicString& key, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!htmlDocument->hasNamedItem(key.impl()) && !htmlDocument->hasExtraNamedItem(key.impl()))
return v8Undefined();
@@ -93,12 +93,12 @@ v8::Handle<v8::Value> V8HTMLDocument::GetNamedProperty(HTMLDocument* htmlDocumen
Node* node = items->item(0);
Frame* frame = 0;
if (node->hasTagName(HTMLNames::iframeTag) && (frame = static_cast<HTMLIFrameElement*>(node)->contentFrame()))
- return toV8(frame->document()->domWindow(), isolate);
+ return toV8(frame->document()->domWindow(), creationContext, isolate);
- return toV8(node, isolate);
+ return toV8(node, creationContext, isolate);
}
- return toV8(items.release(), isolate);
+ return toV8(items.release(), creationContext, isolate);
}
// HTMLDocument ----------------------------------------------------------------
@@ -171,7 +171,7 @@ v8::Handle<v8::Value> V8HTMLDocument::allAccessorGetter(v8::Local<v8::String> na
INC_STATS("DOM.HTMLDocument.all._get");
v8::Handle<v8::Object> holder = info.Holder();
HTMLDocument* htmlDocument = V8HTMLDocument::toNative(holder);
- return toV8(htmlDocument->all(), info.GetIsolate());
+ return toV8(htmlDocument->all(), info.Holder(), info.GetIsolate());
}
void V8HTMLDocument::allAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
@@ -180,11 +180,11 @@ void V8HTMLDocument::allAccessorSetter(v8::Local<v8::String> name, v8::Local<v8:
info.This()->ForceSet(name, value);
}
-v8::Handle<v8::Value> toV8(HTMLDocument* impl, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> toV8(HTMLDocument* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
if (!impl)
return v8NullWithCheck(isolate);
- v8::Handle<v8::Object> wrapper = V8HTMLDocument::wrap(impl, isolate, forceNewObject);
+ v8::Handle<v8::Object> wrapper = V8HTMLDocument::wrap(impl, creationContext, isolate, forceNewObject);
if (wrapper.IsEmpty())
return wrapper;
if (!V8IsolatedContext::getEntered()) {
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp
index 5824098d2..251f7622c 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLElementCustom.cpp
@@ -40,18 +40,18 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(HTMLElement* impl, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> toV8(HTMLElement* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
if (!impl)
return v8NullWithCheck(isolate);
- return createV8HTMLWrapper(impl, isolate, forceNewObject);
+ return createV8HTMLWrapper(impl, creationContext, isolate, forceNewObject);
}
#if ENABLE(MICRODATA)
v8::Handle<v8::Value> V8HTMLElement::itemValueAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
HTMLElement* impl = V8HTMLElement::toNative(info.Holder());
- return toV8(impl->itemValue().get(), info.GetIsolate());
+ return toV8(impl->itemValue().get(), info.Holder(), info.GetIsolate());
}
void V8HTMLElement::itemValueAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp
index 4033629ff..ac9b9afe2 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLFormElementCustom.cpp
@@ -48,7 +48,7 @@ v8::Handle<v8::Value> V8HTMLFormElement::indexedPropertyGetter(uint32_t index, c
RefPtr<Node> formElement = form->elements()->item(index);
if (!formElement)
return v8Undefined();
- return toV8(formElement.release(), info.GetIsolate());
+ return toV8(formElement.release(), info.Holder(), info.GetIsolate());
}
v8::Handle<v8::Value> V8HTMLFormElement::namedPropertyGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
@@ -74,9 +74,9 @@ v8::Handle<v8::Value> V8HTMLFormElement::namedPropertyGetter(v8::Local<v8::Strin
ASSERT(!elements.isEmpty());
if (elements.size() == 1)
- return toV8(elements.at(0).release(), info.GetIsolate());
+ return toV8(elements.at(0).release(), info.Holder(), info.GetIsolate());
- return toV8(V8NamedNodesCollection::create(elements), info.GetIsolate());
+ return toV8(V8NamedNodesCollection::create(elements), info.Holder(), info.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp
index 0d993775a..f8bf3558f 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp
@@ -58,7 +58,7 @@ v8::Handle<v8::Value> V8HTMLFrameSetElement::namedPropertyGetter(v8::Local<v8::S
return v8Undefined();
if (!document->frame())
return v8Undefined();
- return toV8(document->domWindow(), info.GetIsolate());
+ return toV8(document->domWindow(), info.Holder(), info.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp
index 05cadeb67..9e8dfe830 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLImageElementConstructor.cpp
@@ -55,6 +55,7 @@ static v8::Handle<v8::Value> v8HTMLImageElementConstructorCallback(const v8::Arg
if (ConstructorMode::current() == ConstructorMode::WrapExistingObject)
return args.Holder();
+ // FIXME: We shouldn't need to go through the Frame to get the Document.
Frame* frame = currentFrame(BindingState::instance());
if (!frame)
return throwError(ReferenceError, "Image constructor associated frame is unavailable", args.GetIsolate());
@@ -64,11 +65,11 @@ static v8::Handle<v8::Value> v8HTMLImageElementConstructorCallback(const v8::Arg
return throwError(ReferenceError, "Image constructor associated document is unavailable", args.GetIsolate());
// Make sure the document is added to the DOM Node map. Otherwise, the HTMLImageElement instance
- // may end up being the only node in the map and get garbage-ccollected prematurely.
+ // may end up being the only node in the map and get garbage-collected prematurely.
// FIXME: The correct way to do this would be to make HTMLImageElement derive from
// ActiveDOMObject and use its interface to keep its wrapper alive. Then we would
// remove this code and the special case in isObservableThroughDOM.
- toV8(document, args.GetIsolate());
+ toV8(document, args.Holder(), args.GetIsolate());
int width;
int height;
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLLinkElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLLinkElementCustom.cpp
index 97d4e7324..699f8752c 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLLinkElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLLinkElementCustom.cpp
@@ -41,7 +41,7 @@ v8::Handle<v8::Value> V8HTMLLinkElement::sizesAccessorGetter(v8::Local<v8::Strin
{
INC_STATS("DOM.HTMLLinkElement.sizes._get");
HTMLLinkElement* imp = V8HTMLLinkElement::toNative(info.Holder());
- return toV8(imp->sizes(), info.GetIsolate());
+ return toV8(imp->sizes(), info.Holder(), info.GetIsolate());
}
void V8HTMLLinkElement::sizesAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
index 215f71fcd..437d7d486 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp
@@ -120,7 +120,7 @@ v8::Handle<v8::Value> V8HTMLOptionsCollection::indexedPropertyGetter(uint32_t in
if (!result)
return v8Undefined();
- return toV8(result.release(), info.GetIsolate());
+ return toV8(result.release(), info.Holder(), info.GetIsolate());
}
v8::Handle<v8::Value> V8HTMLOptionsCollection::indexedPropertySetter(uint32_t index, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLOutputElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLOutputElementCustom.cpp
index 433da425b..ba51a1d17 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLOutputElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLOutputElementCustom.cpp
@@ -41,7 +41,7 @@ v8::Handle<v8::Value> V8HTMLOutputElement::htmlForAccessorGetter(v8::Local<v8::S
{
INC_STATS("DOM.HTMLOutputElement.htmlFor._get");
HTMLOutputElement* imp = V8HTMLOutputElement::toNative(info.Holder());
- return toV8(imp->htmlFor(), info.GetIsolate());
+ return toV8(imp->htmlFor(), info.Holder(), info.GetIsolate());
}
void V8HTMLOutputElement::htmlForAccessorSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
index ca804a747..919c91350 100644
--- a/Source/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8HTMLSelectElementCustom.cpp
@@ -52,7 +52,7 @@ v8::Handle<v8::Value> V8HTMLSelectElement::indexedPropertyGetter(uint32_t index,
if (!result)
return v8Undefined();
- return toV8(result.release(), info.GetIsolate());
+ return toV8(result.release(), info.Holder(), info.GetIsolate());
}
v8::Handle<v8::Value> V8HTMLSelectElement::indexedPropertySetter(uint32_t index, v8::Local<v8::Value> value, const v8::AccessorInfo& info)
diff --git a/Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp b/Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
index 98baab96e..e6257eec3 100644
--- a/Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8IDBAnyCustom.cpp
@@ -45,7 +45,7 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(IDBAny* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(IDBAny* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
@@ -56,23 +56,23 @@ v8::Handle<v8::Value> toV8(IDBAny* impl, v8::Isolate* isolate)
case IDBAny::NullType:
return v8NullWithCheck(isolate);
case IDBAny::DOMStringListType:
- return toV8(impl->domStringList(), isolate);
+ return toV8(impl->domStringList(), creationContext, isolate);
case IDBAny::IDBCursorType:
- return toV8(impl->idbCursor(), isolate);
+ return toV8(impl->idbCursor(), creationContext, isolate);
case IDBAny::IDBCursorWithValueType:
- return toV8(impl->idbCursorWithValue(), isolate);
+ return toV8(impl->idbCursorWithValue(), creationContext, isolate);
case IDBAny::IDBDatabaseType:
- return toV8(impl->idbDatabase(), isolate);
+ return toV8(impl->idbDatabase(), creationContext, isolate);
case IDBAny::IDBFactoryType:
- return toV8(impl->idbFactory(), isolate);
+ return toV8(impl->idbFactory(), creationContext, isolate);
case IDBAny::IDBIndexType:
- return toV8(impl->idbIndex(), isolate);
+ return toV8(impl->idbIndex(), creationContext, isolate);
case IDBAny::IDBKeyType:
- return toV8(impl->idbKey(), isolate);
+ return toV8(impl->idbKey(), creationContext, isolate);
case IDBAny::IDBObjectStoreType:
- return toV8(impl->idbObjectStore(), isolate);
+ return toV8(impl->idbObjectStore(), creationContext, isolate);
case IDBAny::IDBTransactionType:
- return toV8(impl->idbTransaction(), isolate);
+ return toV8(impl->idbTransaction(), creationContext, isolate);
case IDBAny::SerializedScriptValueType:
return impl->serializedScriptValue()->deserialize(0, isolate);
case IDBAny::StringType:
diff --git a/Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp b/Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp
index 84a4b0c69..234003147 100644
--- a/Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp
@@ -38,7 +38,7 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(IDBKey* key, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(IDBKey* key, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!key)
return v8NullWithCheck(isolate);
@@ -58,7 +58,7 @@ v8::Handle<v8::Value> toV8(IDBKey* key, v8::Isolate* isolate)
{
v8::Local<v8::Array> array = v8::Array::New(key->array().size());
for (size_t i = 0; i < key->array().size(); ++i)
- array->Set(i, toV8(key->array()[i].get(), isolate));
+ array->Set(i, toV8(key->array()[i].get(), creationContext, isolate));
return array;
}
}
diff --git a/Source/WebCore/bindings/v8/custom/V8ImageDataCustom.cpp b/Source/WebCore/bindings/v8/custom/V8ImageDataCustom.cpp
index aeaf30f81..890e4126a 100644
--- a/Source/WebCore/bindings/v8/custom/V8ImageDataCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8ImageDataCustom.cpp
@@ -35,22 +35,19 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(ImageData* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(ImageData* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
- v8::Handle<v8::Object> wrapper = V8ImageData::wrap(impl, isolate);
+ v8::Handle<v8::Object> wrapper = V8ImageData::wrap(impl, creationContext, isolate);
if (!wrapper.IsEmpty()) {
// Create a V8 Uint8ClampedArray object.
- v8::Handle<v8::Value> pixelArray = toV8(impl->data(), isolate);
+ v8::Handle<v8::Value> pixelArray = toV8(impl->data(), creationContext, isolate);
// Set the "data" property of the ImageData object to
// the created v8 object, eliminating the C++ callback
// when accessing the "data" property.
- if (!pixelArray.IsEmpty()) {
- wrapper->Set(v8::String::NewSymbol("data"),
- pixelArray,
- v8::ReadOnly);
- }
+ if (!pixelArray.IsEmpty())
+ wrapper->Set(v8::String::NewSymbol("data"), pixelArray, v8::ReadOnly);
}
return wrapper;
diff --git a/Source/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp b/Source/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
index 95f82261d..9b3809c30 100644
--- a/Source/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8InspectorFrontendHostCustom.cpp
@@ -36,7 +36,7 @@
#include "InspectorController.h"
#include "InspectorFrontendClient.h"
#include "InspectorFrontendHost.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include "V8Binding.h"
#include "V8MouseEvent.h"
diff --git a/Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp b/Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp
index 361b4a5a5..45fdce79b 100644
--- a/Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8LocationCustom.cpp
@@ -37,11 +37,11 @@
#include "FrameLoader.h"
#include "KURL.h"
#include "Location.h"
-#include "PlatformString.h"
#include "V8Binding.h"
#include "V8DOMWindow.h"
#include "V8EventListener.h"
#include "V8Utilities.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -270,13 +270,13 @@ bool V8Location::namedSecurityCheck(v8::Local<v8::Object> host, v8::Local<v8::Va
return BindingSecurity::shouldAllowAccessToFrame(BindingState::instance(), imp->frame(), DoNotReportSecurityError);
}
-v8::Handle<v8::Value> toV8(Location* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(Location* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
v8::Handle<v8::Object> wrapper = getDOMObjectMap().get(impl);
if (wrapper.IsEmpty()) {
- wrapper = V8Location::wrap(impl, isolate);
+ wrapper = V8Location::wrap(impl, creationContext, isolate);
if (!wrapper.IsEmpty())
V8DOMWrapper::setNamedHiddenWindowReference(impl->frame(), "location", wrapper);
}
diff --git a/Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp b/Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
index 2189aa906..78cf4f319 100644
--- a/Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8MessageChannelConstructor.cpp
@@ -69,8 +69,8 @@ v8::Handle<v8::Value> V8MessageChannel::constructorCallback(const v8::Arguments&
// Create references from the MessageChannel wrapper to the two
// MessagePort wrappers to make sure that the MessagePort wrappers
// stay alive as long as the MessageChannel wrapper is around.
- V8DOMWrapper::setNamedHiddenReference(messageChannel, "port1", toV8(obj->port1(), args.GetIsolate()));
- V8DOMWrapper::setNamedHiddenReference(messageChannel, "port2", toV8(obj->port2(), args.GetIsolate()));
+ V8DOMWrapper::setNamedHiddenReference(messageChannel, "port1", toV8(obj->port1(), args.Holder(), args.GetIsolate()));
+ V8DOMWrapper::setNamedHiddenReference(messageChannel, "port2", toV8(obj->port2(), args.Holder(), args.GetIsolate()));
// Setup the standard wrapper object internal fields.
V8DOMWrapper::setDOMWrapper(messageChannel, &info, obj.get());
diff --git a/Source/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp b/Source/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp
index 9200d8ffa..6e5bc567c 100644
--- a/Source/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8MessageEventCustom.cpp
@@ -72,11 +72,11 @@ v8::Handle<v8::Value> V8MessageEvent::dataAccessorGetter(v8::Local<v8::String> n
}
case MessageEvent::DataTypeBlob:
- result = toV8(event->dataAsBlob(), info.GetIsolate());
+ result = toV8(event->dataAsBlob(), info.Holder(), info.GetIsolate());
break;
case MessageEvent::DataTypeArrayBuffer:
- result = toV8(event->dataAsArrayBuffer(), info.GetIsolate());
+ result = toV8(event->dataAsArrayBuffer(), info.Holder(), info.GetIsolate());
break;
}
@@ -100,7 +100,7 @@ v8::Handle<v8::Value> V8MessageEvent::portsAccessorGetter(v8::Local<v8::String>
v8::Local<v8::Array> portArray = v8::Array::New(portsCopy.size());
for (size_t i = 0; i < portsCopy.size(); ++i)
- portArray->Set(v8Integer(i, info.GetIsolate()), toV8(portsCopy[i].get(), info.GetIsolate()));
+ portArray->Set(v8Integer(i, info.GetIsolate()), toV8(portsCopy[i].get(), info.Holder(), info.GetIsolate()));
return portArray;
}
diff --git a/Source/WebCore/bindings/v8/custom/V8MicroDataItemValueCustom.cpp b/Source/WebCore/bindings/v8/custom/V8MicroDataItemValueCustom.cpp
index 7d13bfed4..6c2844748 100644
--- a/Source/WebCore/bindings/v8/custom/V8MicroDataItemValueCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8MicroDataItemValueCustom.cpp
@@ -39,13 +39,13 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(MicroDataItemValue* itemValue, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(MicroDataItemValue* itemValue, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!itemValue)
return v8::Null();
if (itemValue->isNode())
- return toV8(itemValue->getNode());
- return v8String(itemValue->getString());
+ return toV8(itemValue->getNode(), creationContext, isolate);
+ return v8String(itemValue->getString(), isolate);
}
}
diff --git a/Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp b/Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp
index 667d16810..a5b9f24bb 100644
--- a/Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp
@@ -50,7 +50,7 @@ v8::Handle<v8::Value> V8NamedNodeMap::indexedPropertyGetter(uint32_t index, cons
if (!result)
return v8Undefined();
- return toV8(result.release(), info.GetIsolate());
+ return toV8(result.release(), info.Holder(), info.GetIsolate());
}
v8::Handle<v8::Value> V8NamedNodeMap::namedPropertyGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
@@ -67,7 +67,7 @@ v8::Handle<v8::Value> V8NamedNodeMap::namedPropertyGetter(v8::Local<v8::String>
if (!result)
return v8Undefined();
- return toV8(result.release(), info.GetIsolate());
+ return toV8(result.release(), info.Holder(), info.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8NodeCustom.cpp b/Source/WebCore/bindings/v8/custom/V8NodeCustom.cpp
index 1cab8f12e..6ef46daf7 100644
--- a/Source/WebCore/bindings/v8/custom/V8NodeCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8NodeCustom.cpp
@@ -125,7 +125,7 @@ v8::Handle<v8::Value> V8Node::appendChildCallback(const v8::Arguments& args)
return v8::Null(args.GetIsolate());
}
-v8::Handle<v8::Value> toV8Slow(Node* impl, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> toV8Slow(Node* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
if (!impl)
return v8NullWithCheck(isolate);
@@ -138,36 +138,37 @@ v8::Handle<v8::Value> toV8Slow(Node* impl, v8::Isolate* isolate, bool forceNewOb
switch (impl->nodeType()) {
case Node::ELEMENT_NODE:
if (impl->isHTMLElement())
- return toV8(toHTMLElement(impl), isolate, forceNewObject);
+ return toV8(toHTMLElement(impl), creationContext, isolate, forceNewObject);
#if ENABLE(SVG)
if (impl->isSVGElement())
- return toV8(static_cast<SVGElement*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<SVGElement*>(impl), creationContext, isolate, forceNewObject);
#endif
- return V8Element::wrap(static_cast<Element*>(impl), isolate, forceNewObject);
+ return V8Element::wrap(static_cast<Element*>(impl), creationContext, isolate, forceNewObject);
case Node::ATTRIBUTE_NODE:
- return toV8(static_cast<Attr*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<Attr*>(impl), creationContext, isolate, forceNewObject);
case Node::TEXT_NODE:
- return toV8(toText(impl), isolate, forceNewObject);
+ return toV8(toText(impl), creationContext, isolate, forceNewObject);
case Node::CDATA_SECTION_NODE:
- return toV8(static_cast<CDATASection*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<CDATASection*>(impl), creationContext, isolate, forceNewObject);
case Node::ENTITY_REFERENCE_NODE:
- return toV8(static_cast<EntityReference*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<EntityReference*>(impl), creationContext, isolate, forceNewObject);
case Node::ENTITY_NODE:
- return toV8(static_cast<Entity*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<Entity*>(impl), creationContext, isolate, forceNewObject);
case Node::PROCESSING_INSTRUCTION_NODE:
- return toV8(static_cast<ProcessingInstruction*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<ProcessingInstruction*>(impl), creationContext, isolate, forceNewObject);
case Node::COMMENT_NODE:
- return toV8(static_cast<Comment*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<Comment*>(impl), creationContext, isolate, forceNewObject);
case Node::DOCUMENT_NODE:
- return toV8(static_cast<Document*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<Document*>(impl), creationContext, isolate, forceNewObject);
case Node::DOCUMENT_TYPE_NODE:
- return toV8(static_cast<DocumentType*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<DocumentType*>(impl), creationContext, isolate, forceNewObject);
case Node::DOCUMENT_FRAGMENT_NODE:
- return toV8(static_cast<DocumentFragment*>(impl), isolate, forceNewObject);
+ return toV8(static_cast<DocumentFragment*>(impl), creationContext, isolate, forceNewObject);
case Node::NOTATION_NODE:
- return toV8(static_cast<Notation*>(impl), isolate, forceNewObject);
- default: break; // XPATH_NAMESPACE_NODE
+ return toV8(static_cast<Notation*>(impl), creationContext, isolate, forceNewObject);
+ default:
+ break; // XPATH_NAMESPACE_NODE
}
- return V8Node::wrap(impl, isolate, forceNewObject);
+ return V8Node::wrap(impl, creationContext, isolate, forceNewObject);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8NodeListCustom.cpp b/Source/WebCore/bindings/v8/custom/V8NodeListCustom.cpp
index e25c128d1..4e8cb5579 100644
--- a/Source/WebCore/bindings/v8/custom/V8NodeListCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8NodeListCustom.cpp
@@ -56,7 +56,7 @@ v8::Handle<v8::Value> V8NodeList::namedPropertyGetter(v8::Local<v8::String> name
if (!result)
return v8Undefined();
- return toV8(result.release(), info.GetIsolate());
+ return toV8(result.release(), info.Holder(), info.GetIsolate());
}
void V8NodeList::visitDOMWrapper(DOMDataStore* store, void* object, v8::Persistent<v8::Object> wrapper)
diff --git a/Source/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp b/Source/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
index 3a029d720..0991fb188 100644
--- a/Source/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8NotificationCenterCustom.cpp
@@ -59,7 +59,7 @@ v8::Handle<v8::Value> V8NotificationCenter::createHTMLNotificationCallback(const
return setDOMException(ec, args.GetIsolate());
notification->ref();
- return toV8(notification.get(), args.GetIsolate());
+ return toV8(notification.get(), args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8NotificationCenter::createNotificationCallback(const v8::Arguments& args)
@@ -74,7 +74,7 @@ v8::Handle<v8::Value> V8NotificationCenter::createNotificationCallback(const v8:
return setDOMException(ec, args.GetIsolate());
notification->ref();
- return toV8(notification.get(), args.GetIsolate());
+ return toV8(notification.get(), args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8NotificationCenter::requestPermissionCallback(const v8::Arguments& args)
diff --git a/Source/WebCore/bindings/v8/custom/V8PerformanceCustom.cpp b/Source/WebCore/bindings/v8/custom/V8PerformanceCustom.cpp
index 101d6449b..7cfe3d35f 100644
--- a/Source/WebCore/bindings/v8/custom/V8PerformanceCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8PerformanceCustom.cpp
@@ -40,11 +40,12 @@
namespace WebCore {
+// FIXME: Why does this need to be custom?
v8::Handle<v8::Value> V8Performance::memoryAccessorGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
INC_STATS("DOM.Performance.memoryAccessorGetter");
Performance* imp = V8Performance::toNative(info.Holder());
- return toV8(imp->memory(), info.GetIsolate());
+ return toV8(imp->memory(), info.Holder(), info.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp b/Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp
index 74df9c764..397e3f9ae 100644
--- a/Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8PerformanceEntryCustom.cpp
@@ -43,17 +43,17 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(PerformanceEntry* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(PerformanceEntry* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8::Null();
#if ENABLE(RESOURCE_TIMING)
if (impl->isResource())
- return toV8(static_cast<PerformanceResourceTiming*>(impl), isolate);
+ return toV8(static_cast<PerformanceResourceTiming*>(impl), creationContext, isolate);
#endif
- return V8PerformanceEntry::wrap(impl);
+ return V8PerformanceEntry::wrap(impl, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8PopStateEventCustom.cpp b/Source/WebCore/bindings/v8/custom/V8PopStateEventCustom.cpp
index 842a5381f..3709a0ce9 100644
--- a/Source/WebCore/bindings/v8/custom/V8PopStateEventCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8PopStateEventCustom.cpp
@@ -72,7 +72,7 @@ v8::Handle<v8::Value> V8PopStateEvent::stateAccessorGetter(v8::Local<v8::String>
bool isSameState = history->isSameAsCurrentState(event->serializedState());
if (isSameState) {
- v8::Handle<v8::Object> v8History = toV8(history, info.GetIsolate()).As<v8::Object>();
+ v8::Handle<v8::Object> v8History = toV8(history, info.Holder(), info.GetIsolate()).As<v8::Object>();
if (!history->stateChanged()) {
result = v8History->GetHiddenValue(V8HiddenPropertyName::state());
if (!result.IsEmpty())
diff --git a/Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp b/Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp
index 83cbf3936..1ab662678 100644
--- a/Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8SQLTransactionSyncCustom.cpp
@@ -89,7 +89,7 @@ v8::Handle<v8::Value> V8SQLTransactionSync::executeSqlCallback(const v8::Argumen
SQLTransactionSync* transaction = V8SQLTransactionSync::toNative(args.Holder());
ExceptionCode ec = 0;
- v8::Handle<v8::Value> result = toV8(transaction->executeSQL(statement, sqlValues, ec), args.GetIsolate());
+ v8::Handle<v8::Value> result = toV8(transaction->executeSQL(statement, sqlValues, ec), args.Holder(), args.GetIsolate());
setDOMException(ec, args.GetIsolate());
return result;
diff --git a/Source/WebCore/bindings/v8/custom/V8SVGDocumentCustom.cpp b/Source/WebCore/bindings/v8/custom/V8SVGDocumentCustom.cpp
index 797eaabf0..a6f41b6db 100644
--- a/Source/WebCore/bindings/v8/custom/V8SVGDocumentCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8SVGDocumentCustom.cpp
@@ -38,11 +38,11 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(SVGDocument* impl, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> toV8(SVGDocument* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
if (!impl)
return v8NullWithCheck(isolate);
- v8::Handle<v8::Object> wrapper = V8SVGDocument::wrap(impl, isolate, forceNewObject);
+ v8::Handle<v8::Object> wrapper = V8SVGDocument::wrap(impl, creationContext, isolate, forceNewObject);
if (wrapper.IsEmpty())
return wrapper;
if (!V8IsolatedContext::getEntered()) {
diff --git a/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp b/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp
index 4379d4171..886211880 100644
--- a/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8SVGElementCustom.cpp
@@ -37,11 +37,11 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(SVGElement* impl, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> toV8(SVGElement* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
if (!impl)
return v8NullWithCheck(isolate);
- return createV8SVGWrapper(impl, isolate, forceNewObject);
+ return createV8SVGWrapper(impl, creationContext, isolate, forceNewObject);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8SVGPathSegCustom.cpp b/Source/WebCore/bindings/v8/custom/V8SVGPathSegCustom.cpp
index 173cbf631..d45cbe24b 100644
--- a/Source/WebCore/bindings/v8/custom/V8SVGPathSegCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8SVGPathSegCustom.cpp
@@ -57,52 +57,52 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(SVGPathSeg* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(SVGPathSeg* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
switch (impl->pathSegType()) {
case SVGPathSeg::PATHSEG_CLOSEPATH:
- return toV8(static_cast<SVGPathSegClosePath*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegClosePath*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_MOVETO_ABS:
- return toV8(static_cast<SVGPathSegMovetoAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegMovetoAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_MOVETO_REL:
- return toV8(static_cast<SVGPathSegMovetoRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegMovetoRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_LINETO_ABS:
- return toV8(static_cast<SVGPathSegLinetoAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegLinetoAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_LINETO_REL:
- return toV8(static_cast<SVGPathSegLinetoRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegLinetoRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_ABS:
- return toV8(static_cast<SVGPathSegCurvetoCubicAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoCubicAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_REL:
- return toV8(static_cast<SVGPathSegCurvetoCubicRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoCubicRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_ABS:
- return toV8(static_cast<SVGPathSegCurvetoQuadraticAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoQuadraticAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_REL:
- return toV8(static_cast<SVGPathSegCurvetoQuadraticRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoQuadraticRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_ARC_ABS:
- return toV8(static_cast<SVGPathSegArcAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegArcAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_ARC_REL:
- return toV8(static_cast<SVGPathSegArcRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegArcRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_LINETO_HORIZONTAL_ABS:
- return toV8(static_cast<SVGPathSegLinetoHorizontalAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegLinetoHorizontalAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_LINETO_HORIZONTAL_REL:
- return toV8(static_cast<SVGPathSegLinetoHorizontalRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegLinetoHorizontalRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_LINETO_VERTICAL_ABS:
- return toV8(static_cast<SVGPathSegLinetoVerticalAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegLinetoVerticalAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_LINETO_VERTICAL_REL:
- return toV8(static_cast<SVGPathSegLinetoVerticalRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegLinetoVerticalRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_SMOOTH_ABS:
- return toV8(static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoCubicSmoothAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_CUBIC_SMOOTH_REL:
- return toV8(static_cast<SVGPathSegCurvetoCubicSmoothRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoCubicSmoothRel*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS:
- return toV8(static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoQuadraticSmoothAbs*>(impl), creationContext, isolate);
case SVGPathSeg::PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL:
- return toV8(static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(impl), isolate);
+ return toV8(static_cast<SVGPathSegCurvetoQuadraticSmoothRel*>(impl), creationContext, isolate);
}
ASSERT_NOT_REACHED();
- return V8SVGPathSeg::wrap(impl, isolate);
+ return V8SVGPathSeg::wrap(impl, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8ScriptProfileCustom.cpp b/Source/WebCore/bindings/v8/custom/V8ScriptProfileCustom.cpp
index 0cf56d842..f2fa727cf 100644
--- a/Source/WebCore/bindings/v8/custom/V8ScriptProfileCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8ScriptProfileCustom.cpp
@@ -39,10 +39,13 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(ScriptProfile* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(ScriptProfile* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
+
+ // FIXME: Use creationContext.
+
v8::Local<v8::Function> function = V8ScriptProfile::GetTemplate()->GetFunction();
if (function.IsEmpty()) {
// Return if allocation failed.
diff --git a/Source/WebCore/bindings/v8/custom/V8ScriptProfileNodeCustom.cpp b/Source/WebCore/bindings/v8/custom/V8ScriptProfileNodeCustom.cpp
index 4f3cb8237..cb0332c8d 100644
--- a/Source/WebCore/bindings/v8/custom/V8ScriptProfileNodeCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8ScriptProfileNodeCustom.cpp
@@ -46,10 +46,13 @@ v8::Handle<v8::Value> V8ScriptProfileNode::callUIDAccessorGetter(v8::Local<v8::S
return v8::Number::New(imp->callUID());
}
-v8::Handle<v8::Value> toV8(ScriptProfileNode* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(ScriptProfileNode* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
+
+ // FIXME: Use the creationContext.
+
v8::Local<v8::Function> function = V8ScriptProfileNode::GetTemplate()->GetFunction();
if (function.IsEmpty()) {
// Return if allocation failed.
diff --git a/Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp b/Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp
index 7a1021ce4..ed05fa2bd 100644
--- a/Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp
@@ -37,13 +37,13 @@
namespace WebCore {
-v8::Handle<v8::Value> toV8(StyleSheet* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(StyleSheet* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!impl)
return v8NullWithCheck(isolate);
if (impl->isCSSStyleSheet())
- return toV8(static_cast<CSSStyleSheet*>(impl));
- return V8StyleSheet::wrap(impl, isolate);
+ return toV8(static_cast<CSSStyleSheet*>(impl), creationContext, isolate);
+ return V8StyleSheet::wrap(impl, creationContext, isolate);
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8StyleSheetListCustom.cpp b/Source/WebCore/bindings/v8/custom/V8StyleSheetListCustom.cpp
index 904abd4ea..1dd230747 100644
--- a/Source/WebCore/bindings/v8/custom/V8StyleSheetListCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8StyleSheetListCustom.cpp
@@ -51,7 +51,7 @@ v8::Handle<v8::Value> V8StyleSheetList::namedPropertyGetter(v8::Local<v8::String
if (!item)
return v8Undefined();
- return toV8(item->sheet(), info.GetIsolate());
+ return toV8(item->sheet(), info.Holder(), info.GetIsolate());
}
} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp b/Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp
index 86aaf95ef..8d19eeb4b 100644
--- a/Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8TrackEventCustom.cpp
@@ -56,7 +56,7 @@ v8::Handle<v8::Value> V8TrackEvent::trackAccessorGetter(v8::Local<v8::String> na
break;
case TrackBase::TextTrack:
- return toV8(static_cast<TextTrack*>(track), info.GetIsolate());
+ return toV8(static_cast<TextTrack*>(track), info.Holder(), info.GetIsolate());
break;
case TrackBase::AudioTrack:
diff --git a/Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp b/Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
index 3657cfb1b..06354969d 100644
--- a/Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8WebGLRenderingContextCustom.cpp
@@ -114,7 +114,7 @@ static int* jsArrayToIntArray(v8::Handle<v8::Array> array, uint32_t len)
return data;
}
-static v8::Handle<v8::Value> toV8Object(const WebGLGetInfo& info, v8::Isolate* isolate)
+static v8::Handle<v8::Value> toV8Object(const WebGLGetInfo& info, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
switch (info.getType()) {
case WebGLGetInfo::kTypeBool:
@@ -137,27 +137,27 @@ static v8::Handle<v8::Value> toV8Object(const WebGLGetInfo& info, v8::Isolate* i
case WebGLGetInfo::kTypeUnsignedInt:
return v8UnsignedInteger(info.getUnsignedInt(), isolate);
case WebGLGetInfo::kTypeWebGLBuffer:
- return toV8(info.getWebGLBuffer(), isolate);
+ return toV8(info.getWebGLBuffer(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLFloatArray:
- return toV8(info.getWebGLFloatArray(), isolate);
+ return toV8(info.getWebGLFloatArray(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLFramebuffer:
- return toV8(info.getWebGLFramebuffer(), isolate);
+ return toV8(info.getWebGLFramebuffer(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLIntArray:
- return toV8(info.getWebGLIntArray(), isolate);
+ return toV8(info.getWebGLIntArray(), creationContext, isolate);
// FIXME: implement WebGLObjectArray
// case WebGLGetInfo::kTypeWebGLObjectArray:
case WebGLGetInfo::kTypeWebGLProgram:
- return toV8(info.getWebGLProgram(), isolate);
+ return toV8(info.getWebGLProgram(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLRenderbuffer:
- return toV8(info.getWebGLRenderbuffer(), isolate);
+ return toV8(info.getWebGLRenderbuffer(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLTexture:
- return toV8(info.getWebGLTexture(), isolate);
+ return toV8(info.getWebGLTexture(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLUnsignedByteArray:
- return toV8(info.getWebGLUnsignedByteArray(), isolate);
+ return toV8(info.getWebGLUnsignedByteArray(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLUnsignedIntArray:
- return toV8(info.getWebGLUnsignedIntArray(), isolate);
+ return toV8(info.getWebGLUnsignedIntArray(), creationContext, isolate);
case WebGLGetInfo::kTypeWebGLVertexArrayObjectOES:
- return toV8(info.getWebGLVertexArrayObjectOES(), isolate);
+ return toV8(info.getWebGLVertexArrayObjectOES(), creationContext, isolate);
default:
notImplemented();
return v8::Undefined();
@@ -172,39 +172,39 @@ static v8::Handle<v8::Value> toV8Object(WebGLExtension* extension, v8::Handle<v8
const char* referenceName = 0;
switch (extension->getName()) {
case WebGLExtension::WebKitWebGLLoseContextName:
- extensionObject = toV8(static_cast<WebGLLoseContext*>(extension), isolate);
+ extensionObject = toV8(static_cast<WebGLLoseContext*>(extension), contextObject, isolate);
referenceName = "webKitWebGLLoseContextName";
break;
case WebGLExtension::EXTTextureFilterAnisotropicName:
- extensionObject = toV8(static_cast<EXTTextureFilterAnisotropic*>(extension), isolate);
+ extensionObject = toV8(static_cast<EXTTextureFilterAnisotropic*>(extension), contextObject, isolate);
referenceName = "extTextureFilterAnisotropicName";
break;
case WebGLExtension::OESStandardDerivativesName:
- extensionObject = toV8(static_cast<OESStandardDerivatives*>(extension), isolate);
+ extensionObject = toV8(static_cast<OESStandardDerivatives*>(extension), contextObject, isolate);
referenceName = "oesStandardDerivativesName";
break;
case WebGLExtension::OESTextureFloatName:
- extensionObject = toV8(static_cast<OESTextureFloat*>(extension), isolate);
+ extensionObject = toV8(static_cast<OESTextureFloat*>(extension), contextObject, isolate);
referenceName = "oesTextureFloatName";
break;
case WebGLExtension::OESVertexArrayObjectName:
- extensionObject = toV8(static_cast<OESVertexArrayObject*>(extension), isolate);
+ extensionObject = toV8(static_cast<OESVertexArrayObject*>(extension), contextObject, isolate);
referenceName = "oesVertexArrayObjectName";
break;
case WebGLExtension::WebGLDebugRendererInfoName:
- extensionObject = toV8(static_cast<WebGLDebugRendererInfo*>(extension), isolate);
+ extensionObject = toV8(static_cast<WebGLDebugRendererInfo*>(extension), contextObject, isolate);
referenceName = "webGLDebugRendererInfoName";
break;
case WebGLExtension::WebGLDebugShadersName:
- extensionObject = toV8(static_cast<WebGLDebugShaders*>(extension), isolate);
+ extensionObject = toV8(static_cast<WebGLDebugShaders*>(extension), contextObject, isolate);
referenceName = "webGLDebugShadersName";
break;
case WebGLExtension::WebKitWebGLCompressedTextureS3TCName:
- extensionObject = toV8(static_cast<WebGLCompressedTextureS3TC*>(extension), isolate);
+ extensionObject = toV8(static_cast<WebGLCompressedTextureS3TC*>(extension), contextObject, isolate);
referenceName = "webKitWebGLCompressedTextureS3TCName";
break;
case WebGLExtension::WebKitWebGLDepthTextureName:
- extensionObject = toV8(static_cast<WebGLDepthTexture*>(extension), isolate);
+ extensionObject = toV8(static_cast<WebGLDepthTexture*>(extension), contextObject, isolate);
referenceName = "webKitWebGLDepthTextureName";
break;
}
@@ -247,7 +247,7 @@ static v8::Handle<v8::Value> getObjectParameter(const v8::Arguments& args, Objec
}
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8Object(info, args.GetIsolate());
+ return toV8Object(info, args.Holder(), args.GetIsolate());
}
static WebGLUniformLocation* toWebGLUniformLocation(v8::Handle<v8::Value> value, bool& ok)
@@ -287,7 +287,7 @@ v8::Handle<v8::Value> V8WebGLRenderingContext::getAttachedShadersCallback(const
return v8::Null(args.GetIsolate());
v8::Local<v8::Array> array = v8::Array::New(shaders.size());
for (size_t ii = 0; ii < shaders.size(); ++ii)
- array->Set(v8Integer(ii, args.GetIsolate()), toV8(shaders[ii].get(), args.GetIsolate()));
+ array->Set(v8Integer(ii, args.GetIsolate()), toV8(shaders[ii].get(), args.Holder(), args.GetIsolate()));
return array;
}
@@ -323,7 +323,7 @@ v8::Handle<v8::Value> V8WebGLRenderingContext::getFramebufferAttachmentParameter
WebGLGetInfo info = context->getFramebufferAttachmentParameter(target, attachment, pname, ec);
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8Object(info, args.GetIsolate());
+ return toV8Object(info, args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8WebGLRenderingContext::getParameterCallback(const v8::Arguments& args)
@@ -339,7 +339,7 @@ v8::Handle<v8::Value> V8WebGLRenderingContext::getParameterCallback(const v8::Ar
WebGLGetInfo info = context->getParameter(pname, ec);
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8Object(info, args.GetIsolate());
+ return toV8Object(info, args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8WebGLRenderingContext::getProgramParameterCallback(const v8::Arguments& args)
@@ -358,7 +358,7 @@ v8::Handle<v8::Value> V8WebGLRenderingContext::getProgramParameterCallback(const
WebGLGetInfo info = context->getProgramParameter(program, pname, ec);
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8Object(info, args.GetIsolate());
+ return toV8Object(info, args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8WebGLRenderingContext::getRenderbufferParameterCallback(const v8::Arguments& args)
@@ -383,7 +383,7 @@ v8::Handle<v8::Value> V8WebGLRenderingContext::getShaderParameterCallback(const
WebGLGetInfo info = context->getShaderParameter(shader, pname, ec);
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8Object(info, args.GetIsolate());
+ return toV8Object(info, args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8WebGLRenderingContext::getSupportedExtensionsCallback(const v8::Arguments& args)
@@ -427,7 +427,7 @@ v8::Handle<v8::Value> V8WebGLRenderingContext::getUniformCallback(const v8::Argu
WebGLGetInfo info = context->getUniform(program, location, ec);
if (ec)
return setDOMException(ec, args.GetIsolate());
- return toV8Object(info, args.GetIsolate());
+ return toV8Object(info, args.Holder(), args.GetIsolate());
}
v8::Handle<v8::Value> V8WebGLRenderingContext::getVertexAttribCallback(const v8::Arguments& args)
diff --git a/Source/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp b/Source/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
index 3a1da47b7..89ecdc986 100644
--- a/Source/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8WorkerContextCustom.cpp
@@ -33,9 +33,12 @@
#if ENABLE(WORKERS)
#include "V8WorkerContext.h"
+#include "ContentSecurityPolicy.h"
#include "DOMTimer.h"
#include "ExceptionCode.h"
#include "ScheduledAction.h"
+#include "ScriptCallStack.h"
+#include "ScriptCallStackFactory.h"
#include "V8Binding.h"
#include "V8Utilities.h"
#include "V8WorkerContextEventListener.h"
@@ -63,6 +66,11 @@ v8::Handle<v8::Value> SetTimeoutOrInterval(const v8::Arguments& args, bool singl
v8::Handle<v8::Context> v8Context = proxy->context();
if (function->IsString()) {
+ if (ContentSecurityPolicy* policy = workerContext->contentSecurityPolicy()) {
+ RefPtr<ScriptCallStack> callStack = createScriptCallStackForInspector();
+ if (!policy->allowEval(callStack.release()))
+ return v8Integer(0, args.GetIsolate());
+ }
WTF::String stringFunction = toWebCoreString(function);
timerId = DOMTimer::install(workerContext, adoptPtr(new ScheduledAction(v8Context, stringFunction, workerContext->url())), timeout, singleShot);
} else if (function->IsFunction()) {
@@ -122,8 +130,10 @@ v8::Handle<v8::Value> V8WorkerContext::setIntervalCallback(const v8::Arguments&
return SetTimeoutOrInterval(args, false);
}
-v8::Handle<v8::Value> toV8(WorkerContext* impl, v8::Isolate* isolate)
+v8::Handle<v8::Value> toV8(WorkerContext* impl, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
+ // Notice that we explicitly ignore creationContext because the WorkerContext is its own creationContext.
+
if (!impl)
return v8NullWithCheck(isolate);
diff --git a/Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp b/Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
index dbeb64432..154d67054 100644
--- a/Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp
@@ -76,7 +76,7 @@ v8::Handle<v8::Value> V8XMLHttpRequest::responseAccessorGetter(v8::Local<v8::Str
Document* document = xmlHttpRequest->responseXML(ec);
if (ec)
return setDOMException(ec, info.GetIsolate());
- return toV8(document, info.GetIsolate());
+ return toV8(document, info.Holder(), info.GetIsolate());
}
case XMLHttpRequest::ResponseTypeBlob:
@@ -85,7 +85,7 @@ v8::Handle<v8::Value> V8XMLHttpRequest::responseAccessorGetter(v8::Local<v8::Str
Blob* blob = xmlHttpRequest->responseBlob(ec);
if (ec)
return setDOMException(ec, info.GetIsolate());
- return toV8(blob, info.GetIsolate());
+ return toV8(blob, info.Holder(), info.GetIsolate());
}
case XMLHttpRequest::ResponseTypeArrayBuffer:
@@ -94,7 +94,7 @@ v8::Handle<v8::Value> V8XMLHttpRequest::responseAccessorGetter(v8::Local<v8::Str
ArrayBuffer* arrayBuffer = xmlHttpRequest->responseArrayBuffer(ec);
if (ec)
return setDOMException(ec, info.GetIsolate());
- return toV8(arrayBuffer, info.GetIsolate());
+ return toV8(arrayBuffer, info.Holder(), info.GetIsolate());
}
}
diff --git a/Source/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp b/Source/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp
index 87228c9a2..29013f17a 100644
--- a/Source/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp
+++ b/Source/WebCore/bindings/v8/custom/V8XSLTProcessorCustom.cpp
@@ -48,56 +48,6 @@
namespace WebCore {
-v8::Handle<v8::Value> V8XSLTProcessor::importStylesheetCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.XSLTProcessor.importStylesheet");
- if (!V8Node::HasInstance(args[0]))
- return v8::Undefined();
-
- XSLTProcessor* imp = V8XSLTProcessor::toNative(args.Holder());
-
- Node* node = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0]));
- imp->importStylesheet(node);
- return v8::Undefined();
-}
-
-
-v8::Handle<v8::Value> V8XSLTProcessor::transformToFragmentCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.XSLTProcessor.transformToFragment");
- if (!V8Node::HasInstance(args[0]) || !V8Document::HasInstance(args[1]))
- return v8::Undefined();
-
- XSLTProcessor* imp = V8XSLTProcessor::toNative(args.Holder());
-
- Node* source = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0]));
- Document* owner = V8Document::toNative(v8::Handle<v8::Object>::Cast(args[1]));
- RefPtr<DocumentFragment> result = imp->transformToFragment(source, owner);
- return toV8(result.release(), args.GetIsolate());
-}
-
-
-v8::Handle<v8::Value> V8XSLTProcessor::transformToDocumentCallback(const v8::Arguments& args)
-{
- INC_STATS("DOM.XSLTProcessor.transformToDocument");
-
- if (!V8Node::HasInstance(args[0]))
- return v8::Undefined();
-
- XSLTProcessor* imp = V8XSLTProcessor::toNative(args.Holder());
-
- Node* source = V8Node::toNative(v8::Handle<v8::Object>::Cast(args[0]));
- if (!source)
- return v8::Undefined();
-
- RefPtr<Document> result = imp->transformToDocument(source);
- if (!result)
- return v8::Undefined();
-
- return toV8(result.release(), args.GetIsolate());
-}
-
-
v8::Handle<v8::Value> V8XSLTProcessor::setParameterCallback(const v8::Arguments& args)
{
INC_STATS("DOM.XSLTProcessor.setParameter");
@@ -114,7 +64,6 @@ v8::Handle<v8::Value> V8XSLTProcessor::setParameterCallback(const v8::Arguments&
return v8::Undefined();
}
-
v8::Handle<v8::Value> V8XSLTProcessor::getParameterCallback(const v8::Arguments& args)
{
INC_STATS("DOM.XSLTProcessor.getParameter");
diff --git a/Source/WebCore/bridge/IdentifierRep.cpp b/Source/WebCore/bridge/IdentifierRep.cpp
index 2acf14153..eba5d53a9 100644
--- a/Source/WebCore/bridge/IdentifierRep.cpp
+++ b/Source/WebCore/bridge/IdentifierRep.cpp
@@ -25,12 +25,11 @@
#include "config.h"
#include "IdentifierRep.h"
-#include "JSDOMBinding.h"
-#include "PlatformString.h"
-#include <runtime/UString.h>
+#include "JSDOMBinding.h"
#include <wtf/HashMap.h>
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
@@ -92,7 +91,7 @@ IdentifierRep* IdentifierRep::get(const char* name)
if (!name)
return 0;
- UString string = stringToUString(String::fromUTF8WithLatin1Fallback(name, strlen(name)));
+ String string = String::fromUTF8WithLatin1Fallback(name, strlen(name));
StringIdentifierMap::AddResult result = stringIdentifierMap().add(string.impl(), 0);
if (result.isNewEntry) {
ASSERT(!result.iterator->second);
diff --git a/Source/WebCore/bridge/NP_jsobject.cpp b/Source/WebCore/bridge/NP_jsobject.cpp
index 61e367956..8a3a55227 100644
--- a/Source/WebCore/bridge/NP_jsobject.cpp
+++ b/Source/WebCore/bridge/NP_jsobject.cpp
@@ -29,7 +29,6 @@
#include "NP_jsobject.h"
-#include "PlatformString.h"
#include "PluginView.h"
#include "StringSourceProvider.h"
#include "c_utility.h"
@@ -45,6 +44,7 @@
#include <runtime/PropertyNameArray.h>
#include <parser/SourceCode.h>
#include <runtime/Completion.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
using namespace JSC::Bindings;
@@ -267,7 +267,7 @@ bool _NPN_Evaluate(NPP instance, NPObject* o, NPString* s, NPVariant* variant)
JSLockHolder lock(exec);
String scriptString = convertNPStringToUTF16(s);
- JSValue returnValue = JSC::evaluate(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(scriptString), JSC::JSValue());
+ JSValue returnValue = JSC::evaluate(rootObject->globalObject()->globalExec(), makeSource(scriptString), JSC::JSValue());
convertValueToNPVariant(exec, returnValue, variant);
exec->clearException();
@@ -433,7 +433,7 @@ bool _NPN_HasMethod(NPP, NPObject* o, NPIdentifier methodName)
void _NPN_SetException(NPObject*, const NPUTF8* message)
{
// Ignoring the NPObject param is consistent with the Mozilla implementation.
- UString exception(message);
+ String exception(message);
CInstance::setGlobalException(exception);
}
@@ -456,7 +456,7 @@ bool _NPN_Enumerate(NPP, NPObject* o, NPIdentifier** identifier, uint32_t* count
NPIdentifier* identifiers = static_cast<NPIdentifier*>(malloc(sizeof(NPIdentifier) * size));
for (unsigned i = 0; i < size; ++i)
- identifiers[i] = _NPN_GetStringIdentifier(propertyNames[i].ustring().utf8().data());
+ identifiers[i] = _NPN_GetStringIdentifier(propertyNames[i].string().utf8().data());
*identifier = identifiers;
*count = size;
diff --git a/Source/WebCore/bridge/c/c_class.cpp b/Source/WebCore/bridge/c/c_class.cpp
index cfc026b28..1a166702c 100644
--- a/Source/WebCore/bridge/c/c_class.cpp
+++ b/Source/WebCore/bridge/c/c_class.cpp
@@ -32,7 +32,6 @@
#include "c_instance.h"
#include "c_runtime.h"
#include "npruntime_impl.h"
-#include <runtime/ScopeChain.h>
#include <runtime/Identifier.h>
#include <runtime/JSGlobalObject.h>
#include <runtime/JSObject.h>
@@ -73,7 +72,7 @@ CClass* CClass::classForIsA(NPClass* isa)
MethodList CClass::methodsNamed(PropertyName propertyName, Instance* instance) const
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
MethodList methodList;
@@ -97,7 +96,7 @@ MethodList CClass::methodsNamed(PropertyName propertyName, Instance* instance) c
Field* CClass::fieldNamed(PropertyName propertyName, Instance* instance) const
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
Field* aField = _fields.get(name.impl());
if (aField)
diff --git a/Source/WebCore/bridge/c/c_instance.cpp b/Source/WebCore/bridge/c/c_instance.cpp
index 5b98f6ee1..201c61e86 100644
--- a/Source/WebCore/bridge/c/c_instance.cpp
+++ b/Source/WebCore/bridge/c/c_instance.cpp
@@ -54,15 +54,13 @@ using namespace WebCore;
namespace JSC {
namespace Bindings {
-using JSC::UString;
-
-static JSC::UString& globalExceptionString()
+static String& globalExceptionString()
{
- DEFINE_STATIC_LOCAL(JSC::UString, exceptionStr, ());
+ DEFINE_STATIC_LOCAL(String, exceptionStr, ());
return exceptionStr;
}
-void CInstance::setGlobalException(UString exception)
+void CInstance::setGlobalException(String exception)
{
globalExceptionString() = exception;
}
@@ -77,7 +75,7 @@ void CInstance::moveGlobalExceptionToExecState(ExecState* exec)
throwError(exec, createError(exec, globalExceptionString()));
}
- globalExceptionString() = UString();
+ globalExceptionString() = String();
}
CInstance::CInstance(NPObject* o, PassRefPtr<RootObject> rootObject)
@@ -113,7 +111,7 @@ class CRuntimeMethod : public RuntimeMethod {
public:
typedef RuntimeMethod Base;
- static CRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const UString& name, Bindings::MethodList& list)
+ static CRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const String& name, Bindings::MethodList& list)
{
// FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
// We need to pass in the right global object for "i".
@@ -136,7 +134,7 @@ private:
{
}
- void finishCreation(JSGlobalData& globalData, const UString& name)
+ void finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
diff --git a/Source/WebCore/bridge/c/c_instance.h b/Source/WebCore/bridge/c/c_instance.h
index 61e34911b..ddac0c26c 100644
--- a/Source/WebCore/bridge/c/c_instance.h
+++ b/Source/WebCore/bridge/c/c_instance.h
@@ -31,13 +31,12 @@
#include "BridgeJSC.h"
#include "runtime_root.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
typedef struct NPObject NPObject;
namespace JSC {
-class UString;
-
namespace Bindings {
class CClass;
@@ -49,7 +48,7 @@ public:
return adoptRef(new CInstance(object, rootObject));
}
- static void setGlobalException(JSC::UString exception);
+ static void setGlobalException(String);
static void moveGlobalExceptionToExecState(ExecState*);
~CInstance ();
diff --git a/Source/WebCore/bridge/c/c_runtime.cpp b/Source/WebCore/bridge/c/c_runtime.cpp
index a92cfe553..7aa879864 100644
--- a/Source/WebCore/bridge/c/c_runtime.cpp
+++ b/Source/WebCore/bridge/c/c_runtime.cpp
@@ -32,7 +32,6 @@
#include "c_instance.h"
#include "c_utility.h"
#include "npruntime_impl.h"
-#include <runtime/ScopeChain.h>
#include <runtime/JSLock.h>
#include <runtime/JSObject.h>
diff --git a/Source/WebCore/bridge/c/c_utility.cpp b/Source/WebCore/bridge/c/c_utility.cpp
index 308af5afd..729534679 100644
--- a/Source/WebCore/bridge/c/c_utility.cpp
+++ b/Source/WebCore/bridge/c/c_utility.cpp
@@ -37,12 +37,12 @@
#include "c_instance.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/JSLock.h>
-#include "PlatformString.h"
#include "npruntime_impl.h"
#include "npruntime_priv.h"
#include "runtime_object.h"
#include "runtime_root.h"
#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
namespace JSC { namespace Bindings {
@@ -73,7 +73,7 @@ void convertValueToNPVariant(ExecState* exec, JSValue value, NPVariant* result)
VOID_TO_NPVARIANT(*result);
if (value.isString()) {
- UString ustring = value.toString(exec)->value(exec);
+ String ustring = value.toString(exec)->value(exec);
CString cstring = ustring.utf8();
NPString string = { (const NPUTF8*)cstring.data(), static_cast<uint32_t>(cstring.length()) };
NPN_InitializeVariantWithStringCopy(result, &string);
@@ -122,7 +122,7 @@ JSValue convertNPVariantToValue(ExecState* exec, const NPVariant* variant, RootO
if (type == NPVariantType_Double)
return jsNumber(NPVARIANT_TO_DOUBLE(*variant));
if (type == NPVariantType_String)
- return WebCore::jsString(exec, convertNPStringToUTF16(&variant->value.stringValue));
+ return WebCore::jsStringWithCache(exec, convertNPStringToUTF16(&variant->value.stringValue));
if (type == NPVariantType_Object) {
NPObject* obj = variant->value.objectValue;
@@ -144,7 +144,7 @@ String convertNPStringToUTF16(const NPString* string)
Identifier identifierFromNPIdentifier(ExecState* exec, const NPUTF8* name)
{
- return Identifier(exec, WebCore::stringToUString(convertUTF8ToUTF16WithLatin1Fallback(name, -1)));
+ return Identifier(exec, convertUTF8ToUTF16WithLatin1Fallback(name, -1));
}
} }
diff --git a/Source/WebCore/bridge/jni/jni_jsobject.mm b/Source/WebCore/bridge/jni/jni_jsobject.mm
index b5a7d220b..f90e59889 100644
--- a/Source/WebCore/bridge/jni/jni_jsobject.mm
+++ b/Source/WebCore/bridge/jni/jni_jsobject.mm
@@ -314,7 +314,7 @@ jobject JavaJSObject::eval(jstring script) const
JSLockHolder lock(rootObject->globalObject()->globalData());
rootObject->globalObject()->globalData().timeoutChecker.start();
- JSValue result = JSC::evaluate(rootObject->globalObject()->globalExec(), rootObject->globalObject()->globalScopeChain(), makeSource(JavaString(script).impl()));
+ JSValue result = JSC::evaluate(rootObject->globalObject()->globalExec(), makeSource(JavaString(script).impl()));
rootObject->globalObject()->globalData().timeoutChecker.stop();
return convertValueToJObject(result);
@@ -488,7 +488,7 @@ jobject JavaJSObject::convertValueToJObject(JSValue value) const
result = env->NewObject (JSObjectClass, constructorID, (jdouble)value.toNumber(exec));
}
} else if (value.isString()) {
- UString stringValue = value.toString(exec)->value(exec);
+ String stringValue = value.toString(exec)->value(exec);
JNIEnv *env = getJNIEnv();
result = env->NewString ((const jchar *)stringValue.characters(), stringValue.length());
} else if (value.isBoolean()) {
diff --git a/Source/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp b/Source/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp
index a3b2c2e7d..376b02a44 100644
--- a/Source/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp
+++ b/Source/WebCore/bridge/jni/jsc/JNIUtilityPrivate.cpp
@@ -63,7 +63,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray
env->NewStringUTF(""));
for (unsigned i = 0; i < length; i++) {
JSValue item = jsArray->get(exec, i);
- UString stringValue = item.toString(exec)->value(exec);
+ String stringValue = item.toString(exec)->value(exec);
env->SetObjectArrayElement(jarray, i,
env->functions->NewString(env, (const jchar *)stringValue.characters(), stringValue.length()));
}
@@ -98,7 +98,7 @@ static jobject convertArrayInstanceToJavaArray(ExecState* exec, JSArray* jsArray
jarray = (jobjectArray)env->NewCharArray(length);
for (unsigned i = 0; i < length; i++) {
JSValue item = jsArray->get(exec, i);
- UString stringValue = item.toString(exec)->value(exec);
+ String stringValue = item.toString(exec)->value(exec);
jchar value = 0;
if (stringValue.length() > 0)
value = ((const jchar*)stringValue.characters())[0];
@@ -219,7 +219,7 @@ jvalue convertValueToJValue(ExecState* exec, RootObject* rootObject, JSValue val
// Create an appropriate Java object if target type is java.lang.Object.
if (!result.l && !strcmp(javaClassName, "java.lang.Object")) {
if (value.isString()) {
- UString stringValue = asString(value)->value(exec);
+ String stringValue = asString(value)->value(exec);
JNIEnv* env = getJNIEnv();
jobject javaString = env->functions->NewString(env, (const jchar*)stringValue.characters(), stringValue.length());
result.l = javaString;
@@ -238,7 +238,7 @@ jvalue convertValueToJValue(ExecState* exec, RootObject* rootObject, JSValue val
jobject javaBoolean = env->functions->NewObject(env, clazz, constructor, boolValue);
result.l = javaBoolean;
} else if (value.isUndefined()) {
- UString stringValue = "undefined";
+ String stringValue = "undefined";
JNIEnv* env = getJNIEnv();
jobject javaString = env->functions->NewString(env, (const jchar*)stringValue.characters(), stringValue.length());
result.l = javaString;
@@ -249,7 +249,7 @@ jvalue convertValueToJValue(ExecState* exec, RootObject* rootObject, JSValue val
// converting from a null.
if (!result.l && !strcmp(javaClassName, "java.lang.String")) {
if (!value.isNull()) {
- UString stringValue = value.toString(exec)->value(exec);
+ String stringValue = value.toString(exec)->value(exec);
JNIEnv* env = getJNIEnv();
jobject javaString = env->functions->NewString(env, (const jchar*)stringValue.characters(), stringValue.length());
result.l = javaString;
diff --git a/Source/WebCore/bridge/jni/jsc/JavaFieldJSC.cpp b/Source/WebCore/bridge/jni/jsc/JavaFieldJSC.cpp
index 1ebf1e617..c87175531 100644
--- a/Source/WebCore/bridge/jni/jsc/JavaFieldJSC.cpp
+++ b/Source/WebCore/bridge/jni/jsc/JavaFieldJSC.cpp
@@ -147,7 +147,7 @@ JSValue JavaField::valueFromInstance(ExecState* exec, const Instance* i) const
break;
}
- LOG(LiveConnect, "JavaField::valueFromInstance getting %s = %s", UString(name().impl()).utf8().data(), jsresult.toString(exec)->value(exec).ascii().data());
+ LOG(LiveConnect, "JavaField::valueFromInstance getting %s = %s", String(name().impl()).utf8().data(), jsresult.toString(exec)->value(exec).ascii().data());
return jsresult;
}
@@ -183,7 +183,7 @@ void JavaField::setValueToInstance(ExecState* exec, const Instance* i, JSValue a
const JavaInstance* instance = static_cast<const JavaInstance*>(i);
jvalue javaValue = convertValueToJValue(exec, i->rootObject(), aValue, m_type, typeClassName());
- LOG(LiveConnect, "JavaField::setValueToInstance setting value %s to %s", UString(name().impl()).utf8().data(), aValue.toString(exec)->value(exec).ascii().data());
+ LOG(LiveConnect, "JavaField::setValueToInstance setting value %s to %s", String(name().impl()).utf8().data(), aValue.toString(exec)->value(exec).ascii().data());
switch (m_type) {
case JavaTypeArray:
diff --git a/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp b/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
index 15dffa5ad..b2dbe0e83 100644
--- a/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
+++ b/Source/WebCore/bridge/jni/jsc/JavaInstanceJSC.cpp
@@ -93,11 +93,11 @@ JSValue JavaInstance::stringValue(ExecState* exec) const
// Should throw a JS exception, rather than returning ""? - but better than a null dereference.
if (!stringValue)
- return jsString(exec, UString());
+ return jsString(exec, String()); // FIXME: why not jsEmptyString(exec)?
JNIEnv* env = getJNIEnv();
const jchar* c = getUCharactersFromJStringInEnv(env, stringValue);
- UString u((const UChar*)c, (int)env->GetStringLength(stringValue));
+ String u((const UChar*)c, (int)env->GetStringLength(stringValue));
releaseUCharactersForJStringInEnv(env, stringValue, c);
return jsString(exec, u);
}
@@ -118,7 +118,7 @@ class JavaRuntimeMethod : public RuntimeMethod {
public:
typedef RuntimeMethod Base;
- static JavaRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const UString& name, Bindings::MethodList& list)
+ static JavaRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const String& name, Bindings::MethodList& list)
{
// FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
// We need to pass in the right global object for "i".
@@ -141,7 +141,7 @@ private:
{
}
- void finishCreation(JSGlobalData& globalData, const UString& name)
+ void finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
@@ -187,7 +187,7 @@ JSValue JavaInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod
}
const JavaMethod* jMethod = static_cast<const JavaMethod*>(method);
- LOG(LiveConnect, "JavaInstance::invokeMethod call %s %s on %p", UString(jMethod->name().impl()).utf8().data(), jMethod->signature(), m_instance->instance());
+ LOG(LiveConnect, "JavaInstance::invokeMethod call %s %s on %p", String(jMethod->name().impl()).utf8().data(), jMethod->signature(), m_instance->instance());
Vector<jvalue> jArgs(count);
diff --git a/Source/WebCore/bridge/jni/jsc/JavaMethodJSC.cpp b/Source/WebCore/bridge/jni/jsc/JavaMethodJSC.cpp
index 0d2b6e563..19d5ca617 100644
--- a/Source/WebCore/bridge/jni/jsc/JavaMethodJSC.cpp
+++ b/Source/WebCore/bridge/jni/jsc/JavaMethodJSC.cpp
@@ -30,7 +30,6 @@
#if ENABLE(JAVA_BRIDGE)
#include <runtime/JSObject.h>
-#include <runtime/ScopeChain.h>
#include <wtf/text/StringBuilder.h>
using namespace JSC;
diff --git a/Source/WebCore/bridge/jni/jsc/JavaStringJSC.h b/Source/WebCore/bridge/jni/jsc/JavaStringJSC.h
index 1e1803aa1..705c52ccb 100644
--- a/Source/WebCore/bridge/jni/jsc/JavaStringJSC.h
+++ b/Source/WebCore/bridge/jni/jsc/JavaStringJSC.h
@@ -32,8 +32,6 @@
#include "JavaInstanceJSC.h"
#include <runtime/JSLock.h>
-#include <runtime/ScopeChain.h>
-
namespace JSC {
@@ -54,7 +52,6 @@ public:
JavaString()
{
JSLockHolder lock(WebCore::JSDOMWindowBase::commonJSGlobalData());
- m_impl = UString().impl();
}
~JavaString()
@@ -67,7 +64,7 @@ public:
{
if (!m_utf8String.data()) {
JSLockHolder lock(WebCore::JSDOMWindowBase::commonJSGlobalData());
- m_utf8String = UString(m_impl).utf8();
+ m_utf8String = String(m_impl).utf8();
}
return m_utf8String.data();
}
@@ -81,7 +78,7 @@ private:
const jchar* uc = getUCharactersFromJStringInEnv(e, s);
{
JSLockHolder lock(WebCore::JSDOMWindowBase::commonJSGlobalData());
- m_impl = UString(reinterpret_cast<const UChar*>(uc), size).impl();
+ m_impl = String(reinterpret_cast<const UChar*>(uc), size).impl();
}
releaseUCharactersForJStringInEnv(e, s, uc);
}
diff --git a/Source/WebCore/bridge/objc/objc_class.mm b/Source/WebCore/bridge/objc/objc_class.mm
index 2d0870458..bcbd7e7bc 100644
--- a/Source/WebCore/bridge/objc/objc_class.mm
+++ b/Source/WebCore/bridge/objc/objc_class.mm
@@ -97,7 +97,7 @@ static inline void convertJSMethodNameToObjc(const CString& jsName, JSNameConver
MethodList ObjcClass::methodsNamed(PropertyName propertyName, Instance*) const
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return MethodList();
@@ -149,7 +149,7 @@ MethodList ObjcClass::methodsNamed(PropertyName propertyName, Instance*) const
Field* ObjcClass::fieldNamed(PropertyName propertyName, Instance* instance) const
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return 0;
diff --git a/Source/WebCore/bridge/objc/objc_instance.mm b/Source/WebCore/bridge/objc/objc_instance.mm
index 8a97b7de8..4f5becaad 100644
--- a/Source/WebCore/bridge/objc/objc_instance.mm
+++ b/Source/WebCore/bridge/objc/objc_instance.mm
@@ -181,7 +181,7 @@ bool ObjcInstance::supportsInvokeDefaultMethod() const
class ObjCRuntimeMethod : public RuntimeMethod {
public:
- static ObjCRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const UString& name, Bindings::MethodList& list)
+ static ObjCRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const String& name, Bindings::MethodList& list)
{
// FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
// We need to pass in the right global object for "i".
@@ -206,7 +206,7 @@ private:
{
}
- void finishCreation(JSGlobalData& globalData, const UString& name)
+ void finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
@@ -403,7 +403,7 @@ JSValue ObjcInstance::invokeDefaultMethod(ExecState* exec)
bool ObjcInstance::setValueOfUndefinedField(ExecState* exec, PropertyName propertyName, JSValue aValue)
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return false;
@@ -435,7 +435,7 @@ bool ObjcInstance::setValueOfUndefinedField(ExecState* exec, PropertyName proper
JSValue ObjcInstance::getValueOfUndefinedField(ExecState* exec, PropertyName propertyName) const
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return jsUndefined();
diff --git a/Source/WebCore/bridge/objc/objc_runtime.h b/Source/WebCore/bridge/objc/objc_runtime.h
index 1d16040c7..0dc2b8348 100644
--- a/Source/WebCore/bridge/objc/objc_runtime.h
+++ b/Source/WebCore/bridge/objc/objc_runtime.h
@@ -94,7 +94,7 @@ class ObjcFallbackObjectImp : public JSNonFinalObject {
public:
typedef JSNonFinalObject Base;
- static ObjcFallbackObjectImp* create(ExecState* exec, JSGlobalObject* globalObject, ObjcInstance* instance, const UString& propertyName)
+ static ObjcFallbackObjectImp* create(ExecState* exec, JSGlobalObject* globalObject, ObjcInstance* instance, const String& propertyName)
{
// FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
Structure* domStructure = WebCore::deprecatedGetDOMStructure<ObjcFallbackObjectImp>(exec);
@@ -105,7 +105,7 @@ public:
static const ClassInfo s_info;
- const UString& propertyName() const { return _item; }
+ const String& propertyName() const { return m_item; }
static ObjectPrototype* createPrototype(ExecState*, JSGlobalObject* globalObject)
{
@@ -121,7 +121,7 @@ protected:
void finishCreation(JSGlobalObject*);
private:
- ObjcFallbackObjectImp(JSGlobalObject*, Structure*, ObjcInstance*, const UString& propertyName);
+ ObjcFallbackObjectImp(JSGlobalObject*, Structure*, ObjcInstance*, const String& propertyName);
static void destroy(JSCell*);
static const unsigned StructureFlags = OverridesGetOwnPropertySlot | JSObject::StructureFlags;
static bool getOwnPropertySlot(JSCell*, ExecState*, PropertyName, PropertySlot&);
@@ -134,7 +134,7 @@ private:
bool toBoolean(ExecState*) const; // FIXME: Currently this is broken because none of the superclasses are marked virtual. We need to solve this in the longer term.
RefPtr<ObjcInstance> _instance;
- UString _item;
+ String m_item;
};
} // namespace Bindings
diff --git a/Source/WebCore/bridge/objc/objc_runtime.mm b/Source/WebCore/bridge/objc/objc_runtime.mm
index 335668ec6..db3f98e65 100644
--- a/Source/WebCore/bridge/objc/objc_runtime.mm
+++ b/Source/WebCore/bridge/objc/objc_runtime.mm
@@ -190,10 +190,10 @@ unsigned int ObjcArray::getLength() const
const ClassInfo ObjcFallbackObjectImp::s_info = { "ObjcFallbackObject", &JSNonFinalObject::s_info, 0, 0, CREATE_METHOD_TABLE(ObjcFallbackObjectImp) };
-ObjcFallbackObjectImp::ObjcFallbackObjectImp(JSGlobalObject* globalObject, Structure* structure, ObjcInstance* i, const UString& propertyName)
+ObjcFallbackObjectImp::ObjcFallbackObjectImp(JSGlobalObject* globalObject, Structure* structure, ObjcInstance* i, const String& propertyName)
: JSNonFinalObject(globalObject->globalData(), structure)
, _instance(i)
- , _item(propertyName)
+ , m_item(propertyName)
{
}
@@ -247,8 +247,8 @@ static EncodedJSValue JSC_HOST_CALL callObjCFallbackObject(ExecState* exec)
if ([targetObject respondsToSelector:@selector(invokeUndefinedMethodFromWebScript:withArguments:)]){
ObjcClass* objcClass = static_cast<ObjcClass*>(objcInstance->getClass());
OwnPtr<ObjcMethod> fallbackMethod(adoptPtr(new ObjcMethod(objcClass->isa(), @selector(invokeUndefinedMethodFromWebScript:withArguments:))));
- const UString& nameIdentifier = static_cast<ObjcFallbackObjectImp*>(exec->callee())->propertyName();
- RetainPtr<CFStringRef> name(AdoptCF, CFStringCreateWithCharacters(0, nameIdentifier.characters(), nameIdentifier.length()));
+ const String& nameIdentifier = static_cast<ObjcFallbackObjectImp*>(exec->callee())->propertyName();
+ RetainPtr<CFStringRef> name(AdoptCF, nameIdentifier.createCFString());
fallbackMethod->setJavaScriptName(name.get());
result = objcInstance->invokeObjcMethod(exec, fallbackMethod.get());
}
@@ -276,7 +276,7 @@ bool ObjcFallbackObjectImp::deleteProperty(JSCell*, ExecState*, PropertyName)
JSValue ObjcFallbackObjectImp::defaultValue(const JSObject* object, ExecState* exec, PreferredPrimitiveType)
{
const ObjcFallbackObjectImp* thisObject = jsCast<const ObjcFallbackObjectImp*>(object);
- return thisObject->_instance->getValueOfUndefinedField(exec, Identifier(exec, thisObject->_item));
+ return thisObject->_instance->getValueOfUndefinedField(exec, Identifier(exec, thisObject->m_item));
}
bool ObjcFallbackObjectImp::toBoolean(ExecState *) const
diff --git a/Source/WebCore/bridge/objc/objc_utility.mm b/Source/WebCore/bridge/objc/objc_utility.mm
index b62e3df60..e8602477a 100644
--- a/Source/WebCore/bridge/objc/objc_utility.mm
+++ b/Source/WebCore/bridge/objc/objc_utility.mm
@@ -147,14 +147,7 @@ ObjcValue convertValueToObjcValue(ExecState* exec, JSValue value, ObjcValueType
JSValue convertNSStringToString(ExecState* exec, NSString *nsstring)
{
JSLockHolder lock(exec);
-
- unichar *chars;
- unsigned int length = [nsstring length];
- chars = (unichar *)malloc(sizeof(unichar)*length);
- [nsstring getCharacters:chars];
- UString u((const UChar*)chars, length);
- JSValue aValue = jsString(exec, u);
- free((void *)chars);
+ JSValue aValue = jsString(exec, String(nsstring));
return aValue;
}
@@ -311,11 +304,7 @@ ObjcValueType objcValueTypeForType(const char *type)
JSObject *throwError(ExecState *exec, NSString *message)
{
ASSERT(message);
- size_t length = [message length];
- unichar *buffer = new unichar[length];
- [message getCharacters:buffer];
- JSObject *error = JSC::throwError(exec, JSC::createError(exec, UString(buffer, length)));
- delete [] buffer;
+ JSObject *error = JSC::throwError(exec, JSC::createError(exec, String(message)));
return error;
}
diff --git a/Source/WebCore/bridge/qt/qt_class.cpp b/Source/WebCore/bridge/qt/qt_class.cpp
index e24676a29..7617871f3 100644
--- a/Source/WebCore/bridge/qt/qt_class.cpp
+++ b/Source/WebCore/bridge/qt/qt_class.cpp
@@ -73,7 +73,7 @@ JSValue QtClass::fallbackObject(ExecState* exec, Instance* inst, PropertyName id
JSContextRef context = toRef(exec);
JSValueRef exception = 0;
- UString ustring(identifier.publicName());
+ String ustring(identifier.publicName());
const QByteArray name = QString(reinterpret_cast<const QChar*>(ustring.characters()), ustring.length()).toLatin1();
// First see if we have a cache hit
@@ -136,7 +136,7 @@ Field* QtClass::fieldNamed(PropertyName identifier, Instance* instance) const
QtInstance* qtinst = static_cast<QtInstance*>(instance);
QObject* obj = qtinst->getObject();
- UString ustring(identifier.publicName());
+ String ustring(identifier.publicName());
const QString name(reinterpret_cast<const QChar*>(ustring.characters()), ustring.length());
const QByteArray ascii = name.toLatin1();
diff --git a/Source/WebCore/bridge/qt/qt_instance.cpp b/Source/WebCore/bridge/qt/qt_instance.cpp
index b9a34ac30..fe942baf6 100644
--- a/Source/WebCore/bridge/qt/qt_instance.cpp
+++ b/Source/WebCore/bridge/qt/qt_instance.cpp
@@ -41,63 +41,6 @@
namespace JSC {
namespace Bindings {
-static void unusedWeakObjectMapCallback(JSWeakObjectMapRef, void*)
-{
-}
-
-WeakMapImpl::WeakMapImpl(JSContextGroupRef group)
-{
- m_context = JSGlobalContextCreateInGroup(group, 0);
- // Deleted by GC when m_context's globalObject gets collected.
- m_map = JSWeakObjectMapCreate(m_context, 0, unusedWeakObjectMapCallback);
-}
-
-WeakMapImpl::~WeakMapImpl()
-{
- JSGlobalContextRelease(m_context);
- m_context = 0;
- m_map = 0;
-}
-
-typedef HashMap<JSContextGroupRef, RefPtr<WeakMapImpl> > WeakMapSet;
-static WeakMapSet weakMaps;
-
-WeakMap::~WeakMap()
-{
- // If this is the last WeakMap instance left, then we should remove
- // the cached WeakMapImpl from the global weakMaps, too.
- if (m_impl && m_impl->refCount() == 2) {
- weakMaps.remove(JSContextGetGroup(m_impl->m_context));
- ASSERT(m_impl->hasOneRef());
- }
-}
-
-void WeakMap::set(JSContextRef context, void *key, JSObjectRef object)
-{
- if (!m_impl) {
- JSContextGroupRef group = JSContextGetGroup(context);
- WeakMapSet::AddResult entry = weakMaps.add(group, 0);
- if (entry.isNewEntry)
- entry.iterator->second = adoptRef(new WeakMapImpl(group));
- m_impl = entry.iterator->second;
- }
- JSWeakObjectMapSet(m_impl->m_context, m_impl->m_map, key, object);
-}
-
-JSObjectRef WeakMap::get(void* key)
-{
- if (!m_impl)
- return 0;
- return JSWeakObjectMapGet(m_impl->m_context, m_impl->m_map, key);
-}
-
-void WeakMap::remove(void *key)
-{
- if (!m_impl)
- return;
- JSWeakObjectMapRemove(m_impl->m_context, m_impl->m_map, key);
-}
-
// Cache QtInstances
typedef QMultiHash<void*, QtInstance*> QObjectInstanceMap;
static QObjectInstanceMap cachedInstances;
@@ -270,7 +213,7 @@ void QtInstance::getPropertyNames(ExecState* exec, PropertyNameArray& array)
QMetaMethod method = meta->method(i);
if (method.access() != QMetaMethod::Private) {
QByteArray sig = method.methodSignature();
- array.add(Identifier(exec, UString(sig.constData(), sig.length())));
+ array.add(Identifier(exec, String(sig.constData(), sig.length())));
}
}
}
@@ -360,9 +303,6 @@ JSValue QtInstance::valueOf(ExecState* exec) const
return stringValue(exec);
}
-// In qt_runtime.cpp
-QVariant convertValueToQVariant(ExecState*, JSValue, QMetaType::Type hint, int *distance);
-
QByteArray QtField::name() const
{
if (m_type == MetaProperty)
@@ -417,7 +357,12 @@ void QtField::setValueToInstance(ExecState* exec, const Instance* inst, JSValue
argtype = (QMetaType::Type) m_property.userType();
// dynamic properties just get any QVariant
- QVariant val = convertValueToQVariant(exec, aValue, argtype, 0);
+ JSValueRef exception = 0;
+ QVariant val = convertValueToQVariant(toRef(exec), toRef(exec, aValue), argtype, 0, &exception);
+ if (exception) {
+ throwError(exec, toJS(exec, exception));
+ return;
+ }
if (m_type == MetaProperty) {
if (m_property.isWritable())
m_property.write(obj, val);
diff --git a/Source/WebCore/bridge/qt/qt_instance.h b/Source/WebCore/bridge/qt/qt_instance.h
index e5d2a93aa..54df34bb0 100644
--- a/Source/WebCore/bridge/qt/qt_instance.h
+++ b/Source/WebCore/bridge/qt/qt_instance.h
@@ -109,7 +109,6 @@ private:
QPointer<QObject> m_object;
QObject* m_hashkey;
mutable QHash<QByteArray, QtRuntimeMethod*> m_methods;
- WeakMap m_cachedMethods;
mutable QHash<QString, QtField*> m_fields;
ValueOwnership m_ownership;
};
diff --git a/Source/WebCore/bridge/qt/qt_pixmapruntime.cpp b/Source/WebCore/bridge/qt/qt_pixmapruntime.cpp
index a2daada83..af6c07d3a 100644
--- a/Source/WebCore/bridge/qt/qt_pixmapruntime.cpp
+++ b/Source/WebCore/bridge/qt/qt_pixmapruntime.cpp
@@ -19,6 +19,7 @@
#include "config.h"
#include "qt_pixmapruntime.h"
+#include "APICast.h"
#include "CachedImage.h"
#include "HTMLImageElement.h"
#include "ImageData.h"
@@ -27,8 +28,8 @@
#include "JSGlobalObject.h"
#include "JSHTMLImageElement.h"
#include "JSImageData.h"
-#include "JSLock.h"
-#include "ObjectPrototype.h"
+#include "JSRetainPtr.h"
+#include "JavaScript.h"
#include "StillImageQt.h"
#include <QtEndian>
#include <QBuffer>
@@ -37,398 +38,236 @@
#include <QImage>
#include <QPixmap>
#include <QVariant>
-#include <runtime_method.h>
-#include <runtime_object.h>
-#include <runtime_root.h>
-#include "runtime/FunctionPrototype.h"
using namespace WebCore;
namespace JSC {
namespace Bindings {
-class QtPixmapClass : public Class {
-public:
- QtPixmapClass();
- virtual MethodList methodsNamed(PropertyName, Instance*) const;
- virtual Field* fieldNamed(PropertyName, Instance*) const;
-};
-
-
-class QtPixmapWidthField : public Field {
-public:
- static const char* name() { return "width"; }
- virtual JSValue valueFromInstance(ExecState*, const Instance* instance) const
- {
- return jsNumber(static_cast<const QtPixmapInstance*>(instance)->width());
- }
- virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const {}
-};
-
-class QtPixmapHeightField : public Field {
-public:
- static const char* name() { return "height"; }
- virtual JSValue valueFromInstance(ExecState*, const Instance* instance) const
- {
- return jsNumber(static_cast<const QtPixmapInstance*>(instance)->height());
- }
- virtual void setValueToInstance(ExecState*, const Instance*, JSValue) const {}
-};
-
-class QtPixmapRuntimeMethod : public Method {
-public:
- virtual int numParameters() const
- {
- return 0;
- }
- virtual JSValue invoke(ExecState* exec, QtPixmapInstance*) = 0;
-
-};
-
-class QtPixmapToImageDataMethod : public QtPixmapRuntimeMethod {
-public:
- static const char* name() { return "toImageData"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
- {
- int width = instance->width();
- int height = instance->height();
- RefPtr<ImageData> imageData = ImageData::create(IntSize(width, height));
- copyPixels(instance->toImage(), width, height, imageData->data()->data());
- return toJS(exec, static_cast<JSDOMGlobalObject*>(exec->lexicalGlobalObject()), imageData.get());
- }
-private:
- void copyPixels(const QImage& sourceImage, int width, int height, unsigned char* destPixels)
- {
- QImage image(sourceImage);
- switch (image.format()) {
- case QImage::Format_RGB888:
- for (int y = 0; y < height; y++) {
- const uchar* scanLine = image.scanLine(y);
- for (int x = 0; x < width; x++) {
- *(destPixels++) = *(scanLine++);
- *(destPixels++) = *(scanLine++);
- *(destPixels++) = *(scanLine++);
- *(destPixels++) = 0xFF;
- }
+static void copyPixelsInto(const QImage& sourceImage, int width, int height, unsigned char* destPixels)
+{
+ QImage image(sourceImage);
+ switch (image.format()) {
+ case QImage::Format_RGB888:
+ for (int y = 0; y < height; y++) {
+ const uchar* scanLine = image.scanLine(y);
+ for (int x = 0; x < width; x++) {
+ *(destPixels++) = *(scanLine++);
+ *(destPixels++) = *(scanLine++);
+ *(destPixels++) = *(scanLine++);
+ *(destPixels++) = 0xFF;
}
- break;
- default:
- image = image.convertToFormat(QImage::Format_ARGB32);
- // Fall through
- case QImage::Format_RGB32:
- case QImage::Format_ARGB32:
- for (int y = 0; y < height; y++) {
- const quint32* scanLine = reinterpret_cast_ptr<const quint32*>(image.scanLine(y));
- for (int x = 0; x < width; x++) {
- QRgb pixel = scanLine[x];
- qToBigEndian<quint32>((pixel << 8) | qAlpha(pixel), destPixels);
- destPixels += 4;
- }
+ }
+ break;
+ default:
+ image = image.convertToFormat(QImage::Format_ARGB32);
+ // Fall through
+ case QImage::Format_RGB32:
+ case QImage::Format_ARGB32:
+ for (int y = 0; y < height; y++) {
+ const quint32* scanLine = reinterpret_cast_ptr<const quint32*>(image.scanLine(y));
+ for (int x = 0; x < width; x++) {
+ QRgb pixel = scanLine[x];
+ qToBigEndian<quint32>((pixel << 8) | qAlpha(pixel), destPixels);
+ destPixels += 4;
}
- break;
}
+ break;
}
-};
-
-// this function receives an HTML image element as a parameter, makes it display the pixmap/image from Qt
-class QtPixmapAssignToElementMethod : public QtPixmapRuntimeMethod {
-public:
- static const char* name() { return "assignToHTMLImageElement"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
- {
- if (!exec->argumentCount())
- return jsUndefined();
-
- JSObject* objectArg = exec->argument(0).toObject(exec);
- if (!objectArg)
- return jsUndefined();
-
- if (!objectArg->inherits(&JSHTMLImageElement::s_info))
- return jsUndefined();
-
- // we now know that we have a valid <img> element as the argument, we can attach the image to it.
- RefPtr<StillImage> stillImage = WebCore::StillImage::create(instance->toImage());
- HTMLImageElement* imageElement = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(objectArg)->impl());
- imageElement->setCachedImage(new CachedImage(stillImage.get()));
- JSDOMGlobalObject* global = static_cast<JSDOMGlobalObject*>(instance->rootObject()->globalObject());
- toJS(exec, global, imageElement->document());
- return jsUndefined();
- }
-
- virtual int numParameters() const
- {
- return 1;
- }
-};
-
-// this function encodes the image to a dataUrl, to be used in background etc. Note: very slow.
-class QtPixmapToDataUrlMethod : public QtPixmapRuntimeMethod {
-public:
- static const char* name() { return "toDataUrl"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
- {
- QByteArray byteArray;
- QBuffer buffer(&byteArray);
- instance->toImage().save(&buffer, "PNG");
- const QString encodedString = QLatin1String("data:image/png;base64,") + QLatin1String(byteArray.toBase64());
- const UString ustring((UChar*)encodedString.utf16(), encodedString.length());
- return jsString(exec, ustring);
- }
-};
-
-class QtPixmapToStringMethod : public QtPixmapRuntimeMethod {
- public:
- static const char* name() { return "toString"; }
- JSValue invoke(ExecState* exec, QtPixmapInstance* instance)
- {
- return instance->valueOf(exec);
- }
-};
-
-struct QtPixmapMetaData {
- QtPixmapToDataUrlMethod toDataUrlMethod;
- QtPixmapToImageDataMethod toImageDataMethod;
- QtPixmapAssignToElementMethod assignToElementMethod;
- QtPixmapToStringMethod toStringMethod;
- QtPixmapHeightField heightField;
- QtPixmapWidthField widthField;
- QtPixmapClass cls;
-} qt_pixmap_metaData;
-
-// Derived RuntimeObject
-class QtPixmapRuntimeObject : public RuntimeObject {
-public:
- typedef RuntimeObject Base;
-
- static QtPixmapRuntimeObject* create(ExecState* exec, JSGlobalObject* globalObject, PassRefPtr<Instance> instance)
- {
- Structure* domStructure = WebCore::deprecatedGetDOMStructure<QtPixmapRuntimeObject>(exec);
- QtPixmapRuntimeObject* object = new (allocateCell<QtPixmapRuntimeObject>(*exec->heap())) QtPixmapRuntimeObject(exec, globalObject, domStructure, instance);
- object->finishCreation(globalObject);
- return object;
- }
-
- static const ClassInfo s_info;
-
- static Structure* createStructure(JSGlobalData& globalData, JSGlobalObject* globalObject, JSValue prototype)
- {
- return Structure::create(globalData, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), &s_info);
- }
-
-protected:
- static const unsigned StructureFlags = RuntimeObject::StructureFlags | OverridesVisitChildren;
-
-private:
- QtPixmapRuntimeObject(ExecState*, JSGlobalObject*, Structure*, PassRefPtr<Instance>);
-};
-
-QtPixmapRuntimeObject::QtPixmapRuntimeObject(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, PassRefPtr<Instance> instance)
- : RuntimeObject(exec, globalObject, structure, instance)
-{
}
-const ClassInfo QtPixmapRuntimeObject::s_info = { "QtPixmapRuntimeObject", &RuntimeObject::s_info, 0, 0, CREATE_METHOD_TABLE(QtPixmapRuntimeObject) };
-
-QtPixmapClass::QtPixmapClass()
+static QPixmap toPixmap(const QVariant& data)
{
-}
+ if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()))
+ return data.value<QPixmap>();
+ if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()))
+ return QPixmap::fromImage(data.value<QImage>());
-Class* QtPixmapInstance::getClass() const
-{
- return &qt_pixmap_metaData.cls;
+ return QPixmap();
}
-JSValue QtPixmapInstance::getMethod(ExecState* exec, PropertyName propertyName)
+static QImage toImage(const QVariant& data)
{
- MethodList methodList = getClass()->methodsNamed(propertyName, this);
- return RuntimeMethod::create(exec, exec->lexicalGlobalObject(), WebCore::deprecatedGetDOMStructure<RuntimeMethod>(exec), propertyName.publicName(), methodList);
-}
+ if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()))
+ return data.value<QImage>();
-JSValue QtPixmapInstance::invokeMethod(ExecState* exec, RuntimeMethod* runtimeMethod)
-{
- const MethodList& methods = *runtimeMethod->methods();
+ if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()))
+ return data.value<QPixmap>().toImage();
- if (methods.size() == 1) {
- QtPixmapRuntimeMethod* method = static_cast<QtPixmapRuntimeMethod*>(methods[0]);
- return method->invoke(exec, this);
- }
- return jsUndefined();
+ return QImage();
}
-MethodList QtPixmapClass::methodsNamed(PropertyName identifier, Instance*) const
+static QSize imageSizeForVariant(const QVariant& data)
{
- MethodList methods;
- UString ustring(identifier.publicName());
- if (ustring == QtPixmapToDataUrlMethod::name())
- methods.append(&qt_pixmap_metaData.toDataUrlMethod);
- else if (ustring == QtPixmapToImageDataMethod::name())
- methods.append(&qt_pixmap_metaData.toImageDataMethod);
- else if (ustring == QtPixmapAssignToElementMethod::name())
- methods.append(&qt_pixmap_metaData.assignToElementMethod);
- else if (ustring == QtPixmapToStringMethod::name())
- methods.append(&qt_pixmap_metaData.toStringMethod);
- return methods;
+ if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()))
+ return data.value<QPixmap>().size();
+ if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()))
+ return data.value<QImage>().size();
+ return QSize(0, 0);
}
-Field* QtPixmapClass::fieldNamed(PropertyName identifier, Instance*) const
+static JSValueRef getPixmapWidth(JSContextRef context, JSObjectRef object, JSStringRef, JSValueRef*)
{
- UString ustring(identifier.publicName());
- if (ustring == QtPixmapWidthField::name())
- return &qt_pixmap_metaData.widthField;
- if (ustring == QtPixmapHeightField::name())
- return &qt_pixmap_metaData.heightField;
- return 0;
+ QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));
+ return JSValueMakeNumber(context, imageSizeForVariant(data).width());
}
-void QtPixmapInstance::getPropertyNames(ExecState*exec, PropertyNameArray& arr)
+static JSValueRef getPixmapHeight(JSContextRef context, JSObjectRef object, JSStringRef, JSValueRef*)
{
- arr.add(Identifier(exec, UString(QtPixmapToDataUrlMethod::name())));
- arr.add(Identifier(exec, UString(QtPixmapToImageDataMethod::name())));
- arr.add(Identifier(exec, UString(QtPixmapAssignToElementMethod::name())));
- arr.add(Identifier(exec, UString(QtPixmapToStringMethod::name())));
- arr.add(Identifier(exec, UString(QtPixmapWidthField::name())));
- arr.add(Identifier(exec, UString(QtPixmapHeightField::name())));
+ QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));
+ return JSValueMakeNumber(context, imageSizeForVariant(data).height());
}
-JSValue QtPixmapInstance::defaultValue(ExecState* exec, PreferredPrimitiveType ptype) const
+static JSValueRef assignToHTMLImageElement(JSContextRef context, JSObjectRef function, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
- if (ptype == PreferNumber) {
- return jsBoolean(
- (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()) && !(data.value<QImage>()).isNull())
- || (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()) && !data.value<QPixmap>().isNull()));
- }
+ if (!argumentCount)
+ return JSValueMakeUndefined(context);
- if (ptype == PreferString)
- return valueOf(exec);
+ JSObjectRef objectArg = JSValueToObject(context, arguments[0], exception);
+ if (!objectArg)
+ return JSValueMakeUndefined(context);
- return jsUndefined();
+ JSObject* jsObject = ::toJS(objectArg);
+
+ if (!jsObject->inherits(&JSHTMLImageElement::s_info))
+ return JSValueMakeUndefined(context);
+
+ QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));
+
+ // We now know that we have a valid <img> element as the argument, we can attach the image to it.
+ RefPtr<StillImage> stillImage = WebCore::StillImage::create(toImage(data));
+ HTMLImageElement* imageElement = static_cast<HTMLImageElement*>(static_cast<JSHTMLImageElement*>(jsObject)->impl());
+ imageElement->setCachedImage(new CachedImage(stillImage.get()));
+ return JSValueMakeUndefined(context);
}
-JSValue QtPixmapInstance::valueOf(ExecState* exec) const
+static JSValueRef pixmapToImageData(JSContextRef context, JSObjectRef function, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
- const QString stringValue = QString::fromLatin1("[Qt Native Pixmap %1,%2]").arg(width()).arg(height());
- UString ustring((UChar*)stringValue.utf16(), stringValue.length());
- return jsString(exec, ustring);
+ QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));
+ QImage image = toImage(data);
+ int width = image.width();
+ int height = image.height();
+
+ RefPtr<ImageData> imageData = ImageData::create(IntSize(width, height));
+ copyPixelsInto(image, width, height, imageData->data()->data());
+ JSDOMGlobalObject* globalObject = static_cast<JSDOMGlobalObject*>(::toJS(JSContextGetGlobalObject(context)));
+ JSC::ExecState* exec = ::toJS(context);
+ return ::toRef(exec, toJS(exec, globalObject, imageData.get()));
}
-QtPixmapInstance::QtPixmapInstance(PassRefPtr<RootObject> rootObj, const QVariant& d)
- :Instance(rootObj), data(d)
+static JSValueRef pixmapToDataUrl(JSContextRef context, JSObjectRef function, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
+ QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));
+ QByteArray byteArray;
+ QBuffer buffer(&byteArray);
+ toImage(data).save(&buffer, "PNG");
+ QByteArray encoded = QByteArray("data:image/png;base64,") + byteArray.toBase64();
+ JSRetainPtr<JSStringRef> str(Adopt, JSStringCreateWithUTF8CString(encoded.constData()));
+ JSValueRef value = JSValueMakeString(context, str.get());
+
+ return value;
}
-int QtPixmapInstance::width() const
+static JSValueRef pixmapToString(JSContextRef context, JSObjectRef function, JSObjectRef object, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()))
- return data.value<QPixmap>().width();
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()))
- return data.value<QImage>().width();
- return 0;
+ QVariant& data = *static_cast<QVariant*>(JSObjectGetPrivate(object));
+ QSize size = imageSizeForVariant(data);
+ QString stringValue = QString::fromLatin1("[Qt Native Pixmap %1,%2]").arg(size.width()).arg(size.height());
+ JSRetainPtr<JSStringRef> str(Adopt, JSStringCreateWithUTF8CString(stringValue.toUtf8().constData()));
+ JSValueRef value = JSValueMakeString(context, str.get());
+
+ return value;
}
-int QtPixmapInstance::height() const
+static void finalizePixmap(JSObjectRef object)
{
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()))
- return data.value<QPixmap>().height();
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()))
- return data.value<QImage>().height();
- return 0;
+ delete static_cast<QVariant*>(JSObjectGetPrivate(object));
}
-QPixmap QtPixmapInstance::toPixmap()
+JSObjectRef QtPixmapRuntime::toJS(JSContextRef context, const QVariant& value, JSValueRef* exception)
{
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>()))
- return data.value<QPixmap>();
-
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>())) {
- const QPixmap pixmap = QPixmap::fromImage(data.value<QImage>());
- data = QVariant::fromValue<QPixmap>(pixmap);
- return pixmap;
- }
-
- return QPixmap();
+ return JSObjectMake(context, getClassRef(), new QVariant(value));
}
-QImage QtPixmapInstance::toImage()
+static QVariant emptyVariantForHint(QMetaType::Type hint)
{
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QImage>()))
- return data.value<QImage>();
-
- if (data.type() == static_cast<QVariant::Type>(qMetaTypeId<QPixmap>())) {
- const QImage image = data.value<QPixmap>().toImage();
- data = QVariant::fromValue<QImage>(image);
- return image;
- }
-
- return QImage();
+ if (hint == qMetaTypeId<QPixmap>())
+ return QVariant::fromValue(QPixmap());
+ if (hint == qMetaTypeId<QImage>())
+ return QVariant::fromValue(QImage());
+ return QVariant();
}
-QVariant QtPixmapInstance::variantFromObject(JSObject* object, QMetaType::Type hint)
+QVariant QtPixmapRuntime::toQt(JSContextRef context, JSObjectRef obj, QMetaType::Type hint, JSValueRef* exception)
{
- if (!object)
- goto returnEmptyVariant;
+ if (!obj)
+ return emptyVariantForHint(hint);
- if (object->inherits(&JSHTMLImageElement::s_info)) {
- JSHTMLImageElement* elementJSWrapper = static_cast<JSHTMLImageElement*>(object);
- HTMLImageElement* imageElement = static_cast<HTMLImageElement*>(elementJSWrapper->impl());
+ if (JSValueIsObjectOfClass(context, obj, QtPixmapRuntime::getClassRef())) {
+ QVariant* originalVariant = static_cast<QVariant*>(JSObjectGetPrivate(obj));
+ if (hint == qMetaTypeId<QPixmap>())
+ return QVariant::fromValue<QPixmap>(toPixmap(*originalVariant));
- if (!imageElement)
- goto returnEmptyVariant;
+ if (hint == qMetaTypeId<QImage>())
+ return QVariant::fromValue<QImage>(toImage(*originalVariant));
+ }
- CachedImage* cachedImage = imageElement->cachedImage();
- if (!cachedImage)
- goto returnEmptyVariant;
+ JSObject* jsObject = ::toJS(obj);
+ if (!jsObject->inherits(&JSHTMLImageElement::s_info))
+ return emptyVariantForHint(hint);
- Image* image = cachedImage->imageForRenderer(imageElement->renderer());
- if (!image)
- goto returnEmptyVariant;
+ JSHTMLImageElement* elementJSWrapper = static_cast<JSHTMLImageElement*>(jsObject);
+ HTMLImageElement* imageElement = static_cast<HTMLImageElement*>(elementJSWrapper->impl());
- QImage* nativeImage = image->nativeImageForCurrentFrame();
- if (!nativeImage)
- goto returnEmptyVariant;
+ if (!imageElement)
+ return emptyVariantForHint(hint);
- return (hint == static_cast<QMetaType::Type>(qMetaTypeId<QPixmap>()))
- ? QVariant::fromValue<QPixmap>(QPixmap::fromImage(*nativeImage))
- : QVariant::fromValue<QImage>(*nativeImage);
- }
+ CachedImage* cachedImage = imageElement->cachedImage();
+ if (!cachedImage)
+ return emptyVariantForHint(hint);
- if (object->inherits(&QtPixmapRuntimeObject::s_info)) {
- QtPixmapRuntimeObject* runtimeObject = static_cast<QtPixmapRuntimeObject*>(object);
- QtPixmapInstance* instance = static_cast<QtPixmapInstance*>(runtimeObject->getInternalInstance());
- if (!instance)
- goto returnEmptyVariant;
+ Image* image = cachedImage->imageForRenderer(imageElement->renderer());
+ if (!image)
+ return emptyVariantForHint(hint);
- if (hint == qMetaTypeId<QPixmap>())
- return QVariant::fromValue<QPixmap>(instance->toPixmap());
+ QImage* nativeImage = image->nativeImageForCurrentFrame();
+ if (!nativeImage)
+ return emptyVariantForHint(hint);
- if (hint == qMetaTypeId<QImage>())
- return QVariant::fromValue<QImage>(instance->toImage());
- }
-
-returnEmptyVariant:
- if (hint == qMetaTypeId<QPixmap>())
- return QVariant::fromValue<QPixmap>(QPixmap());
- if (hint == qMetaTypeId<QImage>())
- return QVariant::fromValue<QImage>(QImage());
- return QVariant();
+ return (hint == static_cast<QMetaType::Type>(qMetaTypeId<QPixmap>()))
+ ? QVariant::fromValue<QPixmap>(QPixmap::fromImage(*nativeImage))
+ : QVariant::fromValue<QImage>(*nativeImage);
}
-RuntimeObject* QtPixmapInstance::newRuntimeObject(ExecState* exec)
+bool QtPixmapRuntime::canHandle(QMetaType::Type hint)
{
- return QtPixmapRuntimeObject::create(exec, exec->lexicalGlobalObject(), this);
+ return hint == qMetaTypeId<QImage>() || hint == qMetaTypeId<QPixmap>();
}
-JSObject* QtPixmapInstance::createPixmapRuntimeObject(ExecState* exec, PassRefPtr<RootObject> root, const QVariant& data)
+JSClassRef QtPixmapRuntime::getClassRef()
{
- JSLockHolder lock(exec);
- RefPtr<QtPixmapInstance> instance = adoptRef(new QtPixmapInstance(root, data));
- return instance->createRuntimeObject(exec);
+ static const JSStaticValue staticValues[] = {
+ { "width", getPixmapWidth, 0, 0 },
+ { "height", getPixmapHeight, 0, 0 }
+ };
+
+ static const JSStaticFunction staticFunctions[] = {
+ { "assignTo", assignToHTMLImageElement, 0 },
+ { "toDataUrl", pixmapToDataUrl, 0 },
+ { "toImageData", pixmapToImageData, 0 },
+ { "toString", pixmapToString, 0 }
+ };
+
+ static const JSClassDefinition classDefinition = {
+ 0, 0, "QtPixmapRuntimeObject", 0, staticValues, staticFunctions,
+ 0, finalizePixmap, 0, 0, 0, 0, 0, 0, 0, 0, 0
+ };
+
+ static JSClassRef classRef = JSClassCreate(&classDefinition);
+ return classRef;
}
-bool QtPixmapInstance::canHandle(QMetaType::Type hint)
-{
- return hint == qMetaTypeId<QImage>() || hint == qMetaTypeId<QPixmap>();
-}
}
diff --git a/Source/WebCore/bridge/qt/qt_pixmapruntime.h b/Source/WebCore/bridge/qt/qt_pixmapruntime.h
index c41c9e2e0..1fda01633 100644
--- a/Source/WebCore/bridge/qt/qt_pixmapruntime.h
+++ b/Source/WebCore/bridge/qt/qt_pixmapruntime.h
@@ -21,31 +21,20 @@
#define qt_pixmapruntime_h
#include "BridgeJSC.h"
+#include "JavaScript.h"
#include <QVariant>
namespace JSC {
namespace Bindings {
-class QtPixmapInstance : public Instance {
- QVariant data;
+class QtPixmapRuntime {
public:
- QtPixmapInstance(PassRefPtr<RootObject> rootObj, const QVariant& newData);
- virtual Class* getClass() const;
- virtual JSValue getMethod(ExecState*, PropertyName);
- virtual JSValue invokeMethod(ExecState*, RuntimeMethod*);
- virtual void getPropertyNames(ExecState*, PropertyNameArray&);
-
- virtual JSValue defaultValue(ExecState*, PreferredPrimitiveType) const;
- virtual JSValue valueOf(ExecState*) const;
- int width() const;
- int height() const;
- QPixmap toPixmap();
- QImage toImage();
- RuntimeObject* newRuntimeObject(ExecState*);
- static JSObject* createPixmapRuntimeObject(ExecState*, PassRefPtr<RootObject>, const QVariant&);
- static QVariant variantFromObject(JSObject*, QMetaType::Type hint);
+ static JSObjectRef toJS(JSContextRef, const QVariant&, JSValueRef* exception);
+ static QVariant toQt(JSContextRef, JSObjectRef, QMetaType::Type hint, JSValueRef* exception);
static bool canHandle(QMetaType::Type hint);
+
+ static JSClassRef getClassRef();
};
}
diff --git a/Source/WebCore/bridge/qt/qt_runtime.cpp b/Source/WebCore/bridge/qt/qt_runtime.cpp
index 785e3a056..8c480c213 100644
--- a/Source/WebCore/bridge/qt/qt_runtime.cpp
+++ b/Source/WebCore/bridge/qt/qt_runtime.cpp
@@ -97,21 +97,20 @@ typedef enum {
Variant = 0,
Number,
Boolean,
- String,
+ RTString,
Date,
Array,
QObj,
Object,
Null,
- RTArray,
RTUint8ClampedArray
} JSRealType;
#if defined(QTWK_RUNTIME_CONVERSION_DEBUG) || defined(QTWK_RUNTIME_MATCH_DEBUG)
QDebug operator<<(QDebug dbg, const JSRealType &c)
{
- const char *map[] = { "Variant", "Number", "Boolean", "String", "Date",
- "Array", "RTObject", "Object", "Null", "RTArray"};
+ const char *map[] = { "Variant", "Number", "Boolean", "RTString", "Date",
+ "Array", "RTObject", "Object", "Null"};
dbg.nospace() << "JSType(" << ((int)c) << ", " << map[c] << ")";
@@ -146,98 +145,196 @@ void registerCustomType(int qtMetaTypeId, ConvertToVariantFunction toVariantFunc
customRuntimeConversions()->insert(qtMetaTypeId, conversion);
}
-static bool isJSUint8ClampedArray(JSValue val)
+static bool isJSUint8ClampedArray(JSObjectRef object)
{
- return val.isCell() && val.inherits(&JSUint8ClampedArray::s_info);
+ return toJS(object)->inherits(&JSUint8ClampedArray::s_info);
}
-static JSRealType valueRealType(ExecState* exec, JSValue val)
+static bool isJSArray(JSObjectRef object)
{
- if (val.isNumber())
+ return toJS(object)->inherits(&JSArray::s_info);
+}
+
+static bool isJSDate(JSObjectRef object)
+{
+ return toJS(object)->inherits(&DateInstance::s_info);
+}
+
+static bool isQtObject(JSObjectRef object)
+{
+ return toJS(object)->inherits(&RuntimeObject::s_info);
+}
+
+static JSRealType valueRealType(JSContextRef context, JSValueRef value, JSValueRef* exception)
+{
+ if (JSValueIsNumber(context, value))
return Number;
- else if (val.isString())
- return String;
- else if (val.isBoolean())
+ if (JSValueIsString(context, value))
+ return RTString;
+ if (JSValueIsBoolean(context, value))
return Boolean;
- else if (val.isNull())
+ if (JSValueIsNull(context, value))
return Null;
- else if (isJSUint8ClampedArray(val))
+ if (!JSValueIsObject(context, value))
+ return RTString; // I don't know.
+
+ JSObjectRef object = JSValueToObject(context, value, exception);
+
+ if (isJSUint8ClampedArray(object))
return RTUint8ClampedArray;
- else if (val.isObject()) {
- JSObject *object = val.toObject(exec);
- if (object->inherits(&RuntimeArray::s_info)) // RuntimeArray 'inherits' from Array, but not in C++
- return RTArray;
- else if (object->inherits(&JSArray::s_info))
+ if (isJSArray(object))
return Array;
- else if (object->inherits(&DateInstance::s_info))
+ if (isJSDate(object))
return Date;
- else if (object->inherits(&RuntimeObject::s_info))
+ if (isQtObject(object))
return QObj;
- return Object;
- }
- return String; // I don't know.
+ return Object;
}
-QVariant convertValueToQVariant(ExecState*, JSValue, QMetaType::Type, int*, HashSet<JSObject*>*, int);
+static QString toString(JSStringRef stringRef)
+{
+ return QString(reinterpret_cast<const QChar*>(JSStringGetCharactersPtr(stringRef)), JSStringGetLength(stringRef));
+}
-static QVariantMap convertValueToQVariantMap(ExecState* exec, JSObject* object, HashSet<JSObject*>* visitedObjects, int recursionLimit)
+static JSValueRef unwrapBoxedPrimitive(JSContextRef context, JSValueRef value, JSObjectRef obj)
{
- Q_ASSERT(!exec->hadException());
+ JSObject* object = toJS(obj);
+ ExecState* exec = toJS(context);
+ if (object->inherits(&NumberObject::s_info))
+ return toRef(exec, jsNumber(object->toNumber(exec)));
+ if (object->inherits(&StringObject::s_info))
+ return toRef(exec, object->toString(exec));
+ if (object->inherits(&BooleanObject::s_info))
+ return toRef(exec, object->toPrimitive(exec));
+ return value;
+}
+
+QVariant convertValueToQVariant(JSContextRef, JSValueRef, QMetaType::Type, int*, HashSet<JSObjectRef>*, int, JSValueRef *exception);
- PropertyNameArray properties(exec);
- object->methodTable()->getPropertyNames(object, exec, properties, ExcludeDontEnumProperties);
- PropertyNameArray::const_iterator it = properties.begin();
+static QVariantMap convertValueToQVariantMap(JSContextRef context, JSObjectRef object, HashSet<JSObjectRef>* visitedObjects, int recursionLimit, JSValueRef* exception)
+{
QVariantMap result;
- int objdist = 0;
+ JSPropertyNameArrayRef properties = JSObjectCopyPropertyNames(context, object);
+ size_t propertyCount = JSPropertyNameArrayGetCount(properties);
- while (it != properties.end()) {
- if (object->propertyIsEnumerable(exec, *it)) {
- JSValue val = object->get(exec, *it);
- if (exec->hadException())
- exec->clearException();
- else {
- QVariant v = convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects, recursionLimit);
- if (objdist >= 0) {
- UString ustring = (*it).ustring();
- QString id = QString((const QChar*)ustring.impl()->characters(), ustring.length());
- result.insert(id, v);
- }
- }
+ for (size_t i = 0; i < propertyCount; ++i) {
+ JSStringRef name = JSPropertyNameArrayGetNameAtIndex(properties, i);
+
+ int propertyConversionDistance = 0;
+ JSValueRef property = JSObjectGetProperty(context, object, name, exception);
+ QVariant v = convertValueToQVariant(context, property, QMetaType::Void, &propertyConversionDistance, visitedObjects, recursionLimit, exception);
+ if (exception && *exception)
+ *exception = 0;
+ else if (propertyConversionDistance >= 0) {
+ result.insert(toString(name), v);
}
- ++it;
}
+ JSPropertyNameArrayRelease(properties);
return result;
}
-QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type hint, int *distance, HashSet<JSObject*>* visitedObjects, int recursionLimit)
+template <typename ItemType>
+QList<ItemType> convertToList(JSContextRef context, JSRealType type, JSObjectRef object,
+ JSValueRef value, int* distance, JSValueRef* exception,
+ const QMetaType::Type typeId = static_cast<QMetaType::Type>(qMetaTypeId<ItemType>()))
+{
+ QList<ItemType> list;
+ if (type == Array) {
+ static JSStringRef lengthStr = JSStringCreateWithUTF8CString("length");
+ JSValueRef lengthVal = JSObjectGetProperty(context, object, lengthStr, exception);
+ size_t length = JSValueToNumber(context, lengthVal, exception);
+ list.reserve(length);
+ for (size_t i = 0; i < length; ++i) {
+ JSValueRef value = JSObjectGetPropertyAtIndex(context, object, i, exception);
+ int itemDistance = -1;
+ QVariant variant = convertValueToQVariant(context, value, typeId, &itemDistance, exception);
+ if (itemDistance >= 0)
+ list << variant.value<ItemType>();
+ else
+ break;
+ }
+ if (list.count() != length)
+ list.clear();
+ else if (distance)
+ *distance = 5;
+ } else {
+ int itemDistance = -1;
+ QVariant variant = convertValueToQVariant(context, value, typeId, &itemDistance, exception);
+ if (itemDistance >= 0) {
+ list << variant.value<ItemType>();
+ if (distance)
+ *distance = 10;
+ }
+ }
+ return list;
+}
+
+static QString toQString(JSContextRef context, JSValueRef value)
+{
+ JSRetainPtr<JSStringRef> string(Adopt, JSValueToStringCopy(context, value, 0));
+ if (!string)
+ return QString();
+ return QString(reinterpret_cast<const QChar*>(JSStringGetCharactersPtr(string.get())), JSStringGetLength(string.get()));
+}
+
+static void getGregorianDateTimeUTC(JSContextRef context, JSRealType type, JSValueRef value, JSObjectRef object, JSValueRef* exception, GregorianDateTime* gdt)
+{
+ ExecState* exec = toJS(context);
+ if (type == Date) {
+ JSObject* jsObject = toJS(object);
+ DateInstance* date = asDateInstance(jsObject);
+ gdt->copyFrom(*date->gregorianDateTimeUTC(exec));
+ } else {
+ double ms = JSValueToNumber(context, value, exception);
+ GregorianDateTime convertedGdt;
+ msToGregorianDateTime(exec, ms, /*utc*/ true, convertedGdt);
+ gdt->copyFrom(convertedGdt);
+ }
+}
+
+static QDateTime toQDateTimeUTC(JSContextRef context, JSRealType type, JSValueRef value, JSObjectRef object, JSValueRef* exception)
+{
+ GregorianDateTime gdt;
+ getGregorianDateTimeUTC(context, type, value, object, exception, &gdt);
+ QDate date(gdt.year(), gdt.month() + 1, gdt.monthDay());
+ QTime time(gdt.hour(), gdt.minute(), gdt.second());
+ return QDateTime(date, time, Qt::UTC);
+}
+
+QVariant convertValueToQVariant(JSContextRef context, JSValueRef value, QMetaType::Type hint, int *distance, HashSet<JSObjectRef>* visitedObjects, int recursionLimit, JSValueRef* exception)
{
--recursionLimit;
if (!value || !recursionLimit)
return QVariant();
- JSObject* object = 0;
- if (value.isObject()) {
- object = value.toObject(exec);
+ JSObjectRef object = 0;
+ if (JSValueIsObject(context, value)) {
+ object = JSValueToObject(context, value, 0);
if (visitedObjects->contains(object))
return QVariant();
visitedObjects->add(object);
+
+ value = unwrapBoxedPrimitive(context, value, object);
}
// check magic pointer values before dereferencing value
- if (value == jsNaN()
- || (value == jsUndefined()
- && hint != QMetaType::QString
- && hint != (QMetaType::Type) qMetaTypeId<QVariant>())) {
+ if (JSValueIsNumber(context, value)
+ && isnan(JSValueToNumber(context, value, exception))) {
if (distance)
*distance = -1;
return QVariant();
}
- JSLockHolder lock(exec);
- JSRealType type = valueRealType(exec, value);
+ if (JSValueIsUndefined(context, value) && hint != QMetaType::QString && hint != (QMetaType::Type) qMetaTypeId<QVariant>()) {
+ if (distance)
+ *distance = -1;
+ return QVariant();
+ }
+
+ JSRealType type = valueRealType(context, value, exception);
if (hint == QMetaType::Void) {
switch(type) {
case Number:
@@ -246,7 +343,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
case Boolean:
hint = QMetaType::Bool;
break;
- case String:
+ case RTString:
default:
hint = QMetaType::QString;
break;
@@ -254,12 +351,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
hint = QMetaType::QDateTime;
break;
case Object:
- if (object->inherits(&NumberObject::s_info))
- hint = QMetaType::Double;
- else if (object->inherits(&BooleanObject::s_info))
- hint = QMetaType::Bool;
- else
- hint = QMetaType::QVariantMap;
+ hint = QMetaType::QVariantMap;
break;
case QObj:
hint = QMetaType::QObjectStar;
@@ -268,7 +360,6 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
hint = QMetaType::QByteArray;
break;
case Array:
- case RTArray:
hint = QMetaType::QVariantList;
break;
}
@@ -276,7 +367,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
qConvDebug() << "convertValueToQVariant: jstype is " << type << ", hint is" << hint;
- if (value == jsNull()
+ if (JSValueIsNull(context, value)
&& hint != QMetaType::QObjectStar
&& hint != QMetaType::VoidStar
&& hint != QMetaType::QString
@@ -290,10 +381,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
int dist = -1;
switch (hint) {
case QMetaType::Bool:
- if (type == Object && object->inherits(&BooleanObject::s_info))
- ret = QVariant(asBooleanObject(value)->internalValue().toBoolean(exec));
- else
- ret = QVariant(value.toBoolean(exec));
+ ret = QVariant(JSValueToBoolean(context, value));
if (type == Boolean)
dist = 0;
else
@@ -310,7 +398,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
case QMetaType::UShort:
case QMetaType::Float:
case QMetaType::Double:
- ret = QVariant(value.toNumber(exec));
+ ret = QVariant(JSValueToNumber(context, value, 0));
ret.convert((QVariant::Type)hint);
if (type == Number) {
switch (hint) {
@@ -348,15 +436,18 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
case QMetaType::QChar:
if (type == Number || type == Boolean) {
- ret = QVariant(QChar((ushort)value.toNumber(exec)));
+ ret = QVariant(QChar((ushort)JSValueToNumber(context, value, 0)));
if (type == Boolean)
dist = 3;
else
dist = 6;
} else {
- UString str = value.toString(exec)->value(exec);
- ret = QVariant(QChar(str.length() ? *(const ushort*)str.impl()->characters() : 0));
- if (type == String)
+ JSRetainPtr<JSStringRef> str(Adopt, JSValueToStringCopy(context, value, exception));
+ QChar ch;
+ if (str && JSStringGetLength(str.get()) > 0)
+ ch = *reinterpret_cast<const QChar*>(JSStringGetCharactersPtr(str.get()));
+ ret = QVariant(ch);
+ if (type == RTString)
dist = 3;
else
dist = 10;
@@ -364,14 +455,16 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
break;
case QMetaType::QString: {
- if (value.isUndefinedOrNull()) {
+ if (JSValueIsNull(context, value) || JSValueIsUndefined(context, value)) {
if (distance)
*distance = 1;
return QString();
- } else {
- UString ustring = value.toString(exec)->value(exec);
- ret = QVariant(QString((const QChar*)ustring.impl()->characters(), ustring.length()));
- if (type == String)
+ }
+ JSRetainPtr<JSStringRef> str(Adopt, JSValueToStringCopy(context, value, exception));
+ if (str) {
+ QString string(reinterpret_cast<const QChar*>(JSStringGetCharactersPtr(str.get())), JSStringGetLength(str.get()));
+ ret = QVariant(string);
+ if (type == RTString)
dist = 0;
else
dist = 10;
@@ -380,118 +473,30 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
}
case QMetaType::QVariantMap:
- if (type == Object || type == Array || type == RTArray) {
- ret = QVariant(convertValueToQVariantMap(exec, object, visitedObjects, recursionLimit));
+ if (type == Object || type == Array) {
+ ret = QVariant(convertValueToQVariantMap(context, object, visitedObjects, recursionLimit, exception));
// Those types can still have perfect matches, e.g. 'bool' if value is a Boolean Object.
dist = 1;
}
break;
case QMetaType::QVariantList:
- if (type == RTArray) {
- RuntimeArray* rtarray = static_cast<RuntimeArray*>(object);
-
- QVariantList result;
- int len = rtarray->getLength();
- int objdist = 0;
- qConvDebug() << "converting a " << len << " length Array";
- for (int i = 0; i < len; ++i) {
- JSValue val = rtarray->getConcreteArray()->valueAt(exec, i);
- result.append(convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects, recursionLimit));
- if (objdist == -1) {
- qConvDebug() << "Failed converting element at index " << i;
- break; // Failed converting a list entry, so fail the array
- }
- }
- if (objdist != -1) {
- dist = 5;
- ret = QVariant(result);
- }
- } else if (type == Array) {
- JSArray* array = static_cast<JSArray*>(object);
-
- QVariantList result;
- int len = array->length();
- int objdist = 0;
- qConvDebug() << "converting a " << len << " length Array";
- for (int i = 0; i < len; ++i) {
- JSValue val = array->get(exec, i);
- result.append(convertValueToQVariant(exec, val, QMetaType::Void, &objdist, visitedObjects, recursionLimit));
- if (objdist == -1) {
- qConvDebug() << "Failed converting element at index " << i;
- break; // Failed converting a list entry, so fail the array
- }
- }
- if (objdist != -1) {
- dist = 5;
- ret = QVariant(result);
- }
- } else {
- // Make a single length array
- int objdist;
- qConvDebug() << "making a single length variantlist";
- QVariant var = convertValueToQVariant(exec, value, QMetaType::Void, &objdist, visitedObjects, recursionLimit);
- if (objdist != -1) {
- QVariantList result;
- result << var;
- ret = QVariant(result);
- dist = 10;
- } else {
- qConvDebug() << "failed making single length varlist";
- }
- }
+ ret = QVariant(convertToList<QVariant>(context, type, object, value, &dist, exception, QMetaType::Void));
break;
case QMetaType::QStringList: {
- if (type == RTArray) {
- RuntimeArray* rtarray = static_cast<RuntimeArray*>(object);
-
- QStringList result;
- int len = rtarray->getLength();
- for (int i = 0; i < len; ++i) {
- JSValue val = rtarray->getConcreteArray()->valueAt(exec, i);
- UString ustring = val.toString(exec)->value(exec);
- QString qstring = QString((const QChar*)ustring.impl()->characters(), ustring.length());
-
- result.append(qstring);
- }
- dist = 5;
- ret = QVariant(result);
- } else if (type == Array) {
- JSArray* array = static_cast<JSArray*>(object);
-
- QStringList result;
- int len = array->length();
- for (int i = 0; i < len; ++i) {
- JSValue val = array->get(exec, i);
- UString ustring = val.toString(exec)->value(exec);
- QString qstring = QString((const QChar*)ustring.impl()->characters(), ustring.length());
-
- result.append(qstring);
- }
- dist = 5;
- ret = QVariant(result);
- } else {
- // Make a single length array
- UString ustring = value.toString(exec)->value(exec);
- QString qstring = QString((const QChar*)ustring.impl()->characters(), ustring.length());
- QStringList result;
- result.append(qstring);
- ret = QVariant(result);
- dist = 10;
- }
+ ret = QVariant(convertToList<QString>(context, type, object, value, &dist, exception));
break;
}
case QMetaType::QByteArray: {
if (type == RTUint8ClampedArray) {
- WTF::Uint8ClampedArray* arr = toUint8ClampedArray(value);
+ WTF::Uint8ClampedArray* arr = toUint8ClampedArray(toJS(toJS(context), value));
ret = QVariant(QByteArray(reinterpret_cast<const char*>(arr->data()), arr->length()));
dist = 0;
} else {
- UString ustring = value.toString(exec)->value(exec);
- ret = QVariant(QString((const QChar*)ustring.impl()->characters(), ustring.length()).toLatin1());
- if (type == String)
+ ret = QVariant(toQString(context, value).toLatin1());
+ if (type == RTString)
dist = 5;
else
dist = 10;
@@ -502,39 +507,21 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
case QMetaType::QDateTime:
case QMetaType::QDate:
case QMetaType::QTime:
- if (type == Date) {
- DateInstance* date = static_cast<DateInstance*>(object);
- GregorianDateTime gdt;
- msToGregorianDateTime(exec, date->internalNumber(), true, gdt);
- if (hint == QMetaType::QDateTime) {
- ret = QDateTime(QDate(gdt.year(), gdt.month() + 1, gdt.monthDay()), QTime(gdt.hour(), gdt.minute(), gdt.second()), Qt::UTC);
- dist = 0;
- } else if (hint == QMetaType::QDate) {
- ret = QDate(gdt.year(), gdt.month() + 1, gdt.monthDay());
- dist = 1;
- } else {
- ret = QTime(gdt.hour(), gdt.minute(), gdt.second());
- dist = 2;
- }
- } else if (type == Number) {
- double b = value.toNumber(exec);
- GregorianDateTime gdt;
- msToGregorianDateTime(exec, b, true, gdt);
+ if (type == Date || type == Number) {
+ QDateTime dt = toQDateTimeUTC(context, type, value, object, exception);
+ const bool isNumber = (type == Number);
if (hint == QMetaType::QDateTime) {
- ret = QDateTime(QDate(gdt.year(), gdt.month() + 1, gdt.monthDay()), QTime(gdt.hour(), gdt.minute(), gdt.second()), Qt::UTC);
- dist = 6;
+ ret = dt;
+ dist = isNumber ? 6 : 0;
} else if (hint == QMetaType::QDate) {
- ret = QDate(gdt.year(), gdt.month() + 1, gdt.monthDay());
- dist = 8;
+ ret = dt.date();
+ dist = isNumber ? 8 : 1;
} else {
- ret = QTime(gdt.hour(), gdt.minute(), gdt.second());
- dist = 10;
+ ret = dt.time();
+ dist = isNumber ? 10 : 2;
}
-#ifndef QT_NO_DATESTRING
- } else if (type == String) {
- UString ustring = value.toString(exec)->value(exec);
- QString qstring = QString((const QChar*)ustring.impl()->characters(), ustring.length());
-
+ } else if (type == RTString) {
+ QString qstring = toQString(context, value);
if (hint == QMetaType::QDateTime) {
QDateTime dt = QDateTime::fromString(qstring, Qt::ISODate);
if (!dt.isValid())
@@ -572,13 +559,12 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
dist = 3;
}
}
-#endif // QT_NO_DATESTRING
}
break;
case QMetaType::QObjectStar:
if (type == QObj) {
- QtInstance* qtinst = QtInstance::getInstance(object);
+ QtInstance* qtinst = QtInstance::getInstance(toJS(object));
if (qtinst) {
if (qtinst->getObject()) {
qConvDebug() << "found instance, with object:" << (void*) qtinst->getObject();
@@ -602,7 +588,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
case QMetaType::VoidStar:
if (type == QObj) {
- QtInstance* qtinst = QtInstance::getInstance(object);
+ QtInstance* qtinst = QtInstance::getInstance(toJS(object));
if (qtinst) {
if (qtinst->getObject()) {
qConvDebug() << "found instance, with object:" << (void*) qtinst->getObject();
@@ -621,7 +607,7 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
} else if (type == Number) {
// I don't think that converting a double to a pointer is a wise
// move. Except maybe 0.
- qConvDebug() << "got number for void * - not converting, seems unsafe:" << value.toNumber(exec);
+ qConvDebug() << "got number for void * - not converting, seems unsafe:" << JSValueToNumber(context, value, 0);
} else {
qConvDebug() << "void* - unhandled type" << type;
}
@@ -629,130 +615,34 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
default:
// Non const type ids
- if (hint == (QMetaType::Type) qMetaTypeId<QObjectList>())
- {
- if (type == RTArray) {
- RuntimeArray* rtarray = static_cast<RuntimeArray*>(object);
-
- QObjectList result;
- int len = rtarray->getLength();
- for (int i = 0; i < len; ++i) {
- JSValue val = rtarray->getConcreteArray()->valueAt(exec, i);
- int itemdist = -1;
- QVariant item = convertValueToQVariant(exec, val, QMetaType::QObjectStar, &itemdist, visitedObjects, recursionLimit);
- if (itemdist >= 0)
- result.append(item.value<QObject*>());
- else
- break;
- }
- // If we didn't fail conversion
- if (result.count() == len) {
- dist = 5;
- ret = QVariant::fromValue(result);
- }
- } else if (type == Array) {
- JSObject* object = value.toObject(exec);
- JSArray* array = static_cast<JSArray *>(object);
- QObjectList result;
- int len = array->length();
- for (int i = 0; i < len; ++i) {
- JSValue val = array->get(exec, i);
- int itemdist = -1;
- QVariant item = convertValueToQVariant(exec, val, QMetaType::QObjectStar, &itemdist, visitedObjects, recursionLimit);
- if (itemdist >= 0)
- result.append(item.value<QObject*>());
- else
- break;
- }
- // If we didn't fail conversion
- if (result.count() == len) {
- dist = 5;
- ret = QVariant::fromValue(result);
- }
- } else {
- // Make a single length array
- QObjectList result;
- int itemdist = -1;
- QVariant item = convertValueToQVariant(exec, value, QMetaType::QObjectStar, &itemdist, visitedObjects, recursionLimit);
- if (itemdist >= 0) {
- result.append(item.value<QObject*>());
- dist = 10;
- ret = QVariant::fromValue(result);
- }
- }
+ if (hint == (QMetaType::Type) qMetaTypeId<QObjectList>()) {
+ ret = QVariant::fromValue(convertToList<QObject*>(context, type, object, value, &dist, exception));
break;
- } else if (hint == (QMetaType::Type) qMetaTypeId<QList<int> >()) {
- if (type == RTArray) {
- RuntimeArray* rtarray = static_cast<RuntimeArray*>(object);
-
- QList<int> result;
- int len = rtarray->getLength();
- for (int i = 0; i < len; ++i) {
- JSValue val = rtarray->getConcreteArray()->valueAt(exec, i);
- int itemdist = -1;
- QVariant item = convertValueToQVariant(exec, val, QMetaType::Int, &itemdist, visitedObjects, recursionLimit);
- if (itemdist >= 0)
- result.append(item.value<int>());
- else
- break;
- }
- // If we didn't fail conversion
- if (result.count() == len) {
- dist = 5;
- ret = QVariant::fromValue(result);
- }
- } else if (type == Array) {
- JSArray* array = static_cast<JSArray *>(object);
-
- QList<int> result;
- int len = array->length();
- for (int i = 0; i < len; ++i) {
- JSValue val = array->get(exec, i);
- int itemdist = -1;
- QVariant item = convertValueToQVariant(exec, val, QMetaType::Int, &itemdist, visitedObjects, recursionLimit);
- if (itemdist >= 0)
- result.append(item.value<int>());
- else
- break;
- }
- // If we didn't fail conversion
- if (result.count() == len) {
- dist = 5;
- ret = QVariant::fromValue(result);
- }
- } else {
- // Make a single length array
- QList<int> result;
- int itemdist = -1;
- QVariant item = convertValueToQVariant(exec, value, QMetaType::Int, &itemdist, visitedObjects, recursionLimit);
- if (itemdist >= 0) {
- result.append(item.value<int>());
- dist = 10;
- ret = QVariant::fromValue(result);
- }
- }
+ }
+ if (hint == (QMetaType::Type) qMetaTypeId<QList<int> >()) {
+ ret = QVariant::fromValue(convertToList<int>(context, type, object, value, &dist, exception));
break;
- } else if (QtPixmapInstance::canHandle(static_cast<QMetaType::Type>(hint))) {
- ret = QtPixmapInstance::variantFromObject(object, static_cast<QMetaType::Type>(hint));
+ }
+ if (QtPixmapRuntime::canHandle(static_cast<QMetaType::Type>(hint))) {
+ ret = QtPixmapRuntime::toQt(context, object, static_cast<QMetaType::Type>(hint), exception);
} else if (customRuntimeConversions()->contains(hint)) {
- ret = customRuntimeConversions()->value(hint).toVariantFunc(object, &dist, visitedObjects);
+ ret = customRuntimeConversions()->value(hint).toVariantFunc(toJS(object), &dist, visitedObjects);
if (dist == 0)
break;
} else if (hint == (QMetaType::Type) qMetaTypeId<QVariant>()) {
- if (value.isUndefinedOrNull()) {
+ if (JSValueIsNull(context, value) || JSValueIsUndefined(context, value)) {
if (distance)
*distance = 1;
return QVariant();
- } else {
- if (type == Object) {
- // Since we haven't really visited this object yet, we remove it
- visitedObjects->remove(object);
- }
-
- // And then recurse with the autodetect flag
- ret = convertValueToQVariant(exec, value, QMetaType::Void, distance, visitedObjects, recursionLimit);
- dist = 10;
}
+ if (type == Object) {
+ // Since we haven't really visited this object yet, we remove it
+ visitedObjects->remove(object);
+ }
+
+ // And then recurse with the autodetect flag
+ ret = convertValueToQVariant(context, value, QMetaType::Void, distance, visitedObjects, recursionLimit, exception);
+ dist = 10;
break;
}
@@ -768,11 +658,11 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
return ret;
}
-QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type hint, int *distance)
+QVariant convertValueToQVariant(JSContextRef context, JSValueRef value, QMetaType::Type hint, int *distance, JSValueRef *exception)
{
const int recursionLimit = 200;
- HashSet<JSObject*> visitedObjects;
- return convertValueToQVariant(exec, value, hint, distance, &visitedObjects, recursionLimit);
+ HashSet<JSObjectRef> visitedObjects;
+ return convertValueToQVariant(context, value, hint, distance, &visitedObjects, recursionLimit, exception);
}
JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> root, const QVariant& variant, JSValueRef *exception)
@@ -850,10 +740,8 @@ JSValueRef convertQVariantToValue(JSContextRef context, PassRefPtr<RootObject> r
return toRef(exec, QtInstance::getQtInstance(obj, root, QtInstance::QtOwnership)->createRuntimeObject(exec));
}
- if (QtPixmapInstance::canHandle(static_cast<QMetaType::Type>(variant.type()))) {
- ExecState* exec = toJS(context);
- return toRef(exec, QtPixmapInstance::createPixmapRuntimeObject(exec, root, variant));
- }
+ if (QtPixmapRuntime::canHandle(static_cast<QMetaType::Type>(variant.type())))
+ return QtPixmapRuntime::toJS(context, variant, exception);
if (customRuntimeConversions()->contains(type)) {
if (!root->globalObject()->inherits(&JSDOMWindow::s_info))
@@ -1181,7 +1069,7 @@ static int findMethodIndex(JSContextRef context,
JSValueRef arg = i < argumentCount ? arguments[i] : JSValueMakeUndefined(context);
int argdistance = -1;
- QVariant v = convertValueToQVariant(toJS(context), toJS(toJS(context), arg), types.at(i+1).typeId(), &argdistance);
+ QVariant v = convertValueToQVariant(context, arg, types.at(i+1).typeId(), &argdistance, exception);
if (argdistance >= 0) {
matchDistance += argdistance;
args[i+1] = v;
@@ -1310,8 +1198,8 @@ static int findSignalIndex(const QMetaObject* meta, int initialIndex, QByteArray
static JSClassRef prototypeForSignalsAndSlots()
{
static JSClassDefinition classDef = {
- 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, QtRuntimeMethod::call, 0, 0, 0
+ 0, kJSClassAttributeNoAutomaticPrototype, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
static JSClassRef cls = JSClassCreate(&classDef);
return cls;
@@ -1328,14 +1216,11 @@ QtRuntimeMethod::QtRuntimeMethod(JSContextRef ctx, QObject* object, const QByteA
QtRuntimeMethod::~QtRuntimeMethod()
{
- if (JSObjectRef cachedWrapper = m_instance->m_cachedMethods.get(this))
- JSObjectSetPrivate(cachedWrapper, 0);
- m_instance->m_cachedMethods.remove(this);
}
JSValueRef QtRuntimeMethod::call(JSContextRef context, JSObjectRef function, JSObjectRef /*thisObject*/, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception)
{
- QtRuntimeMethod* d = reinterpret_cast<QtRuntimeMethod*>(JSObjectGetPrivate(function));
+ QtRuntimeMethod* d = toRuntimeMethod(context, function);
if (!d) {
setException(context, exception, QStringLiteral("cannot call function of deleted runtime method"));
return JSValueMakeUndefined(context);
@@ -1378,53 +1263,56 @@ JSValueRef QtRuntimeMethod::disconnect(JSContextRef context, JSObjectRef functio
JSObjectRef QtRuntimeMethod::jsObjectRef(JSContextRef context, JSValueRef* exception)
{
- if (JSObjectRef cachedWrapper = m_instance->m_cachedMethods.get(this))
- return cachedWrapper;
-
- static const JSClassDefinition classDefForConnect = {
- 0, 0, "connect", 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, connect, 0, 0, 0
- };
-
- static const JSClassDefinition classDefForDisconnect = {
- 0, 0, "disconnect", 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, disconnect, 0, 0, 0
- };
-
- static JSClassRef classRefConnect = JSClassCreate(&classDefForConnect);
- static JSClassRef classRefDisconnect = JSClassCreate(&classDefForDisconnect);
- bool isSignal = m_flags & MethodIsSignal;
- JSObjectRef object = JSObjectMake(context, prototypeForSignalsAndSlots(), this);
- JSObjectRef connectFunction = JSObjectMake(context, classRefConnect, this);
- JSObjectRef disconnectFunction = JSObjectMake(context, classRefDisconnect, this);
- JSPropertyAttributes attributes = kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete;
+ if (m_jsObject)
+ return toRef(m_jsObject.get());
static JSStringRef connectStr = JSStringCreateWithUTF8CString("connect");
static JSStringRef disconnectStr = JSStringCreateWithUTF8CString("disconnect");
- static JSStringRef lengthStr = JSStringCreateWithUTF8CString("length");
- static JSStringRef nameStr = JSStringCreateWithUTF8CString("name");
JSRetainPtr<JSStringRef> actualNameStr(Adopt, JSStringCreateWithUTF8CString(m_identifier.constData()));
- JSObjectSetProperty(context, connectFunction, lengthStr, JSValueMakeNumber(context, isSignal ? 1 : 0), attributes, exception);
- JSObjectSetProperty(context, connectFunction, nameStr, JSValueMakeString(context, connectStr), attributes, exception);
- JSObjectSetProperty(context, disconnectFunction, lengthStr, JSValueMakeNumber(context, isSignal ? 1 : 0), attributes, exception);
- JSObjectSetProperty(context, disconnectFunction, nameStr, JSValueMakeString(context, disconnectStr), attributes, exception);
+ JSObjectRef object = JSObjectMakeFunctionWithCallback(context, actualNameStr.get(), call);
+ JSObjectRef generalFunctionProto = JSValueToObject(context, JSObjectGetPrototype(context, object), 0);
+ JSObjectRef runtimeMethodProto = JSObjectMake(context, prototypeForSignalsAndSlots(), this);
+ JSObjectSetPrototype(context, runtimeMethodProto, generalFunctionProto);
+
+ JSObjectSetPrototype(context, object, runtimeMethodProto);
+
+ JSObjectRef connectFunction = JSObjectMakeFunctionWithCallback(context, connectStr, connect);
+ JSObjectSetPrototype(context, connectFunction, runtimeMethodProto);
+
+ JSObjectRef disconnectFunction = JSObjectMakeFunctionWithCallback(context, disconnectStr, disconnect);
+ JSObjectSetPrototype(context, disconnectFunction, runtimeMethodProto);
+
+ const JSPropertyAttributes attributes = kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete;
JSObjectSetProperty(context, object, connectStr, connectFunction, attributes, exception);
JSObjectSetProperty(context, object, disconnectStr, disconnectFunction, attributes, exception);
- JSObjectSetProperty(context, object, lengthStr, JSValueMakeNumber(context, 0), attributes, exception);
- JSObjectSetProperty(context, object, nameStr, JSValueMakeString(context, actualNameStr.get()), attributes, exception);
- m_instance->m_cachedMethods.set(context, this, object);
+ m_jsObject = PassWeak<JSObject>(toJS(object));
return object;
}
+QtRuntimeMethod* QtRuntimeMethod::toRuntimeMethod(JSContextRef context, JSObjectRef object)
+{
+ JSObjectRef proto = JSValueToObject(context, JSObjectGetPrototype(context, object), 0);
+ if (!proto)
+ return 0;
+ if (!JSValueIsObjectOfClass(context, proto, prototypeForSignalsAndSlots()))
+ return 0;
+ return static_cast<QtRuntimeMethod*>(JSObjectGetPrivate(proto));
+}
+
JSValueRef QtRuntimeMethod::connectOrDisconnect(JSContextRef context, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception, bool connect)
{
- QtRuntimeMethod* d = static_cast<QtRuntimeMethod*>(JSObjectGetPrivate(thisObject));
+ QtRuntimeMethod* d = toRuntimeMethod(context, thisObject);
if (!d)
- d = static_cast<QtRuntimeMethod*>(JSObjectGetPrivate(function));
+ d = toRuntimeMethod(context, function);
+ if (!d) {
+ QString errorStr = QStringLiteral("QtMetaMethod.%1: Cannot connect to/from deleted QObject").arg(connect ? QStringLiteral("connect") : QStringLiteral("disconnect"));
+ setException(context, exception, errorStr);
+ return JSValueMakeUndefined(context);
+ }
QString functionName = connect ? QStringLiteral("connect") : QStringLiteral("disconnect");
@@ -1435,7 +1323,7 @@ JSValueRef QtRuntimeMethod::connectOrDisconnect(JSContextRef context, JSObjectRe
}
if ((!(d->m_flags & QtRuntimeMethod::MethodIsSignal))) {
- setException(context, exception, QStringLiteral("QtMetaMethod.%3: %1::%2() is not a signal").arg(QString::fromUtf8(d->m_object.data()->metaObject()->className())).arg(QString::fromAscii(d->m_identifier)).arg(functionName));
+ setException(context, exception, QStringLiteral("QtMetaMethod.%3: %1::%2() is not a signal").arg(QString::fromUtf8(d->m_object.data()->metaObject()->className())).arg(QString::fromLatin1(d->m_identifier)).arg(functionName));
return JSValueMakeUndefined(context);
}
@@ -1460,11 +1348,9 @@ JSValueRef QtRuntimeMethod::connectOrDisconnect(JSContextRef context, JSObjectRe
// object.signal.connect(someFunction);
if (JSObjectIsFunction(context, targetFunction)) {
- if (JSValueIsObjectOfClass(context, targetFunction, prototypeForSignalsAndSlots())) {
- // object.signal.connect(otherObject.slot);
- if (QtRuntimeMethod* targetMethod = static_cast<QtRuntimeMethod*>(JSObjectGetPrivate(targetFunction)))
- targetObject = toRef(QtInstance::getQtInstance(targetMethod->m_object.data(), d->m_instance->rootObject(), QtInstance::QtOwnership)->createRuntimeObject(toJS(context)));
- }
+ // object.signal.connect(otherObject.slot);
+ if (QtRuntimeMethod* targetMethod = toRuntimeMethod(context, targetFunction))
+ targetObject = toRef(QtInstance::getQtInstance(targetMethod->m_object.data(), d->m_instance->rootObject(), QtInstance::QtOwnership)->createRuntimeObject(toJS(context)));
} else
targetFunction = 0;
} else {
@@ -1672,12 +1558,9 @@ void QtConnectionObject::execute(void** argv)
int argc = qMax(method.parameterCount(), receiverLength);
WTF::Vector<JSValueRef> args(argc);
- // TODO: remove once conversion functions use JSC API.
- ExecState* exec = ::toJS(m_context);
-
for (int i = 0; i < argc; i++) {
int argType = method.parameterType(i);
- args[i] = convertQVariantToValue(toRef(exec), m_rootObject, QVariant(argType, argv[i+1]), ignoredException);
+ args[i] = convertQVariantToValue(m_context, m_rootObject, QVariant(argType, argv[i+1]), ignoredException);
}
JSObjectCallAsFunction(m_context, m_receiverFunction, m_receiver, argc, args.data(), 0);
@@ -1692,49 +1575,4 @@ bool QtConnectionObject::match(JSContextRef context, QObject* sender, int signal
return receiverMatch && JSValueIsEqual(context, receiverFunction, m_receiverFunction, ignoredException);
}
-// ===============
-
-template <typename T> QtArray<T>::QtArray(QList<T> list, QMetaType::Type type, PassRefPtr<RootObject> rootObject)
- : Array(rootObject)
- , m_list(list)
- , m_type(type)
-{
- m_length = m_list.count();
-}
-
-template <typename T> QtArray<T>::~QtArray ()
-{
-}
-
-template <typename T> RootObject* QtArray<T>::rootObject() const
-{
- return m_rootObject && m_rootObject->isValid() ? m_rootObject.get() : 0;
-}
-
-template <typename T> void QtArray<T>::setValueAt(ExecState* exec, unsigned index, JSValue aValue) const
-{
- // QtScript sets the value, but doesn't forward it to the original source
- // (e.g. if you do 'object.intList[5] = 6', the object is not updated, but the
- // copy of the list is).
- int dist = -1;
- QVariant val = convertValueToQVariant(exec, aValue, m_type, &dist);
-
- if (dist >= 0) {
- m_list[index] = val.value<T>();
- }
-}
-
-
-template <typename T> JSValue QtArray<T>::valueAt(ExecState *exec, unsigned int index) const
-{
- if (index < m_length) {
- T val = m_list.at(index);
- return convertQVariantToValue(toRef(exec), rootObject(), QVariant::fromValue(val));
- }
-
- return jsUndefined();
-}
-
-// ===============
-
} }
diff --git a/Source/WebCore/bridge/qt/qt_runtime.h b/Source/WebCore/bridge/qt/qt_runtime.h
index ed0f4cfe2..f26678749 100644
--- a/Source/WebCore/bridge/qt/qt_runtime.h
+++ b/Source/WebCore/bridge/qt/qt_runtime.h
@@ -76,25 +76,6 @@ private:
QPointer<QObject> m_childObject;
};
-
-template <typename T> class QtArray : public Array
-{
-public:
- QtArray(QList<T> list, QMetaType::Type type, PassRefPtr<RootObject>);
- virtual ~QtArray();
-
- RootObject* rootObject() const;
-
- virtual void setValueAt(ExecState*, unsigned index, JSValue) const;
- virtual JSValue valueAt(ExecState*, unsigned index) const;
- virtual unsigned int getLength() const {return m_length;}
-
-private:
- mutable QList<T> m_list; // setValueAt is const!
- unsigned int m_length;
- QMetaType::Type m_type;
-};
-
class QtRuntimeMethod {
public:
enum MethodFlags {
@@ -114,14 +95,14 @@ public:
const QByteArray& name() { return m_identifier; }
private:
- static const JSStaticFunction connectFunction;
- static const JSStaticFunction disconnectFunction;
+ static QtRuntimeMethod* toRuntimeMethod(JSContextRef, JSObjectRef);
static JSValueRef connectOrDisconnect(JSContextRef ctx, JSObjectRef function, JSObjectRef thisObject, size_t argumentCount, const JSValueRef arguments[], JSValueRef* exception, bool connect);
QPointer<QObject> m_object;
QByteArray m_identifier;
int m_index;
int m_flags;
+ Weak<JSObject> m_jsObject;
QtInstance* m_instance;
};
@@ -151,12 +132,12 @@ private:
};
-typedef QVariant (*ConvertToVariantFunction)(JSObject* object, int *distance, HashSet<JSObject*>* visitedObjects);
+typedef QVariant (*ConvertToVariantFunction)(JSObject* object, int *distance, HashSet<JSObjectRef>* visitedObjects);
typedef JSValue (*ConvertToJSValueFunction)(ExecState* exec, WebCore::JSDOMGlobalObject* globalObject, const QVariant& variant);
void registerCustomType(int qtMetaTypeId, ConvertToVariantFunction, ConvertToJSValueFunction);
-QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type hint, int *distance);
+QVariant convertValueToQVariant(JSContextRef, JSValueRef, QMetaType::Type hint, int *distance, JSValueRef* exception);
JSValueRef convertQVariantToValue(JSContextRef, PassRefPtr<RootObject>, const QVariant&, JSValueRef* exception);
void setException(JSContextRef, JSValueRef* exception, const QString& text);
diff --git a/Source/WebCore/bridge/runtime_method.cpp b/Source/WebCore/bridge/runtime_method.cpp
index 4dc4e6d7e..9fdb64df7 100644
--- a/Source/WebCore/bridge/runtime_method.cpp
+++ b/Source/WebCore/bridge/runtime_method.cpp
@@ -55,7 +55,7 @@ void RuntimeMethod::destroy(JSCell* cell)
static_cast<RuntimeMethod*>(cell)->RuntimeMethod::~RuntimeMethod();
}
-void RuntimeMethod::finishCreation(JSGlobalData& globalData, const UString& ident)
+void RuntimeMethod::finishCreation(JSGlobalData& globalData, const String& ident)
{
Base::finishCreation(globalData, ident);
ASSERT(inherits(&s_info));
diff --git a/Source/WebCore/bridge/runtime_method.h b/Source/WebCore/bridge/runtime_method.h
index f629578ef..7481605d4 100644
--- a/Source/WebCore/bridge/runtime_method.h
+++ b/Source/WebCore/bridge/runtime_method.h
@@ -39,7 +39,7 @@ public:
static void destroy(JSCell*);
- static RuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const UString& name, Bindings::MethodList& methodList)
+ static RuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, Structure* structure, const String& name, Bindings::MethodList& methodList)
{
RuntimeMethod* method = new (NotNull, allocateCell<RuntimeMethod>(*exec->heap())) RuntimeMethod(globalObject, structure, methodList);
method->finishCreation(exec->globalData(), name);
@@ -62,7 +62,7 @@ public:
protected:
RuntimeMethod(JSGlobalObject*, Structure*, Bindings::MethodList&);
- void finishCreation(JSGlobalData&, const UString&);
+ void finishCreation(JSGlobalData&, const String&);
static const unsigned StructureFlags = OverridesGetOwnPropertySlot | InternalFunction::StructureFlags;
static CallType getCallData(JSCell*, CallData&);
diff --git a/Source/WebCore/bridge/testbindings.cpp b/Source/WebCore/bridge/testbindings.cpp
index fe9fc1b04..b43b75d56 100644
--- a/Source/WebCore/bridge/testbindings.cpp
+++ b/Source/WebCore/bridge/testbindings.cpp
@@ -336,7 +336,7 @@ using namespace JSC::Bindings;
class GlobalImp : public ObjectImp {
public:
- virtual UString className() const { return "global"; }
+ virtual String className() const { return "global"; }
};
#define BufferSize 200000
diff --git a/Source/WebCore/bridge/testbindings.mm b/Source/WebCore/bridge/testbindings.mm
index ef3bc4e1e..e50f16ab7 100644
--- a/Source/WebCore/bridge/testbindings.mm
+++ b/Source/WebCore/bridge/testbindings.mm
@@ -202,7 +202,7 @@ using namespace JSC::Bindings;
class GlobalImp : public ObjectImp {
public:
- virtual UString className() const { return "global"; }
+ virtual String className() const { return "global"; }
};
#define BufferSize 200000
diff --git a/Source/WebCore/bridge/testqtbindings.cpp b/Source/WebCore/bridge/testqtbindings.cpp
index a4f4d5a14..7d3d416a5 100644
--- a/Source/WebCore/bridge/testqtbindings.cpp
+++ b/Source/WebCore/bridge/testqtbindings.cpp
@@ -78,7 +78,7 @@ class Global : public JSNonFinalObject {
public:
typedef JSNonFinalObject Base;
- static UString className(const JSObject*) { return "global"; }
+ static String className(const JSObject*) { return "global"; }
};
static char code[] =
diff --git a/Source/WebCore/css/WrapShapeFunctions.cpp b/Source/WebCore/css/BasicShapeFunctions.cpp
index 6ca634169..3a8f7953b 100644
--- a/Source/WebCore/css/WrapShapeFunctions.cpp
+++ b/Source/WebCore/css/BasicShapeFunctions.cpp
@@ -28,23 +28,23 @@
*/
#include "config.h"
-#include "WrapShapeFunctions.h"
+#include "BasicShapeFunctions.h"
+#include "BasicShapes.h"
+#include "CSSBasicShapes.h"
#include "CSSPrimitiveValueMappings.h"
#include "CSSValuePool.h"
-#include "CSSWrapShapes.h"
#include "StyleResolver.h"
-#include "WrapShapes.h"
namespace WebCore {
-PassRefPtr<CSSValue> valueForWrapShape(const WrapShape* wrapShape)
+PassRefPtr<CSSValue> valueForBasicShape(const BasicShape* basicShape)
{
- RefPtr<CSSWrapShape> wrapShapeValue;
- switch (wrapShape->type()) {
- case WrapShape::WRAP_SHAPE_RECTANGLE: {
- const WrapShapeRectangle* rectangle = static_cast<const WrapShapeRectangle*>(wrapShape);
- RefPtr<CSSWrapShapeRectangle> rectangleValue = CSSWrapShapeRectangle::create();
+ RefPtr<CSSBasicShape> basicShapeValue;
+ switch (basicShape->type()) {
+ case BasicShape::BASIC_SHAPE_RECTANGLE: {
+ const BasicShapeRectangle* rectangle = static_cast<const BasicShapeRectangle*>(basicShape);
+ RefPtr<CSSBasicShapeRectangle> rectangleValue = CSSBasicShapeRectangle::create();
rectangleValue->setX(cssValuePool().createValue(rectangle->x()));
rectangleValue->setY(cssValuePool().createValue(rectangle->y()));
@@ -56,48 +56,48 @@ PassRefPtr<CSSValue> valueForWrapShape(const WrapShape* wrapShape)
rectangleValue->setRadiusY(cssValuePool().createValue(rectangle->cornerRadiusY()));
}
- wrapShapeValue = rectangleValue.release();
+ basicShapeValue = rectangleValue.release();
break;
}
- case WrapShape::WRAP_SHAPE_CIRCLE: {
- const WrapShapeCircle* circle = static_cast<const WrapShapeCircle*>(wrapShape);
- RefPtr<CSSWrapShapeCircle> circleValue = CSSWrapShapeCircle::create();
+ case BasicShape::BASIC_SHAPE_CIRCLE: {
+ const BasicShapeCircle* circle = static_cast<const BasicShapeCircle*>(basicShape);
+ RefPtr<CSSBasicShapeCircle> circleValue = CSSBasicShapeCircle::create();
circleValue->setCenterX(cssValuePool().createValue(circle->centerX()));
circleValue->setCenterY(cssValuePool().createValue(circle->centerY()));
circleValue->setRadius(cssValuePool().createValue(circle->radius()));
- wrapShapeValue = circleValue.release();
+ basicShapeValue = circleValue.release();
break;
}
- case WrapShape::WRAP_SHAPE_ELLIPSE: {
- const WrapShapeEllipse* ellipse = static_cast<const WrapShapeEllipse*>(wrapShape);
- RefPtr<CSSWrapShapeEllipse> ellipseValue = CSSWrapShapeEllipse::create();
+ case BasicShape::BASIC_SHAPE_ELLIPSE: {
+ const BasicShapeEllipse* ellipse = static_cast<const BasicShapeEllipse*>(basicShape);
+ RefPtr<CSSBasicShapeEllipse> ellipseValue = CSSBasicShapeEllipse::create();
ellipseValue->setCenterX(cssValuePool().createValue(ellipse->centerX()));
ellipseValue->setCenterY(cssValuePool().createValue(ellipse->centerY()));
ellipseValue->setRadiusX(cssValuePool().createValue(ellipse->radiusX()));
ellipseValue->setRadiusY(cssValuePool().createValue(ellipse->radiusY()));
- wrapShapeValue = ellipseValue.release();
+ basicShapeValue = ellipseValue.release();
break;
}
- case WrapShape::WRAP_SHAPE_POLYGON: {
- const WrapShapePolygon* polygon = static_cast<const WrapShapePolygon*>(wrapShape);
- RefPtr<CSSWrapShapePolygon> polygonValue = CSSWrapShapePolygon::create();
+ case BasicShape::BASIC_SHAPE_POLYGON: {
+ const BasicShapePolygon* polygon = static_cast<const BasicShapePolygon*>(basicShape);
+ RefPtr<CSSBasicShapePolygon> polygonValue = CSSBasicShapePolygon::create();
polygonValue->setWindRule(polygon->windRule());
const Vector<Length>& values = polygon->values();
for (unsigned i = 0; i < values.size(); i += 2)
polygonValue->appendPoint(cssValuePool().createValue(values.at(i)), cssValuePool().createValue(values.at(i + 1)));
- wrapShapeValue = polygonValue.release();
+ basicShapeValue = polygonValue.release();
break;
}
default:
break;
}
- return cssValuePool().createValue<PassRefPtr<CSSWrapShape> >(wrapShapeValue.release());
+ return cssValuePool().createValue<PassRefPtr<CSSBasicShape> >(basicShapeValue.release());
}
static Length convertToLength(const StyleResolver* styleResolver, CSSPrimitiveValue* value)
@@ -105,14 +105,14 @@ static Length convertToLength(const StyleResolver* styleResolver, CSSPrimitiveVa
return value->convertToLength<FixedIntegerConversion | FixedFloatConversion | PercentConversion | ViewportPercentageConversion>(styleResolver->style(), styleResolver->rootElementStyle(), styleResolver->style()->effectiveZoom());
}
-PassRefPtr<WrapShape> wrapShapeForValue(const StyleResolver* styleResolver, const CSSWrapShape* wrapShapeValue)
+PassRefPtr<BasicShape> basicShapeForValue(const StyleResolver* styleResolver, const CSSBasicShape* basicShapeValue)
{
- RefPtr<WrapShape> wrapShape;
+ RefPtr<BasicShape> basicShape;
- switch (wrapShapeValue->type()) {
- case CSSWrapShape::CSS_WRAP_SHAPE_RECTANGLE: {
- const CSSWrapShapeRectangle* rectValue = static_cast<const CSSWrapShapeRectangle *>(wrapShapeValue);
- RefPtr<WrapShapeRectangle> rect = WrapShapeRectangle::create();
+ switch (basicShapeValue->type()) {
+ case CSSBasicShape::CSS_BASIC_SHAPE_RECTANGLE: {
+ const CSSBasicShapeRectangle* rectValue = static_cast<const CSSBasicShapeRectangle *>(basicShapeValue);
+ RefPtr<BasicShapeRectangle> rect = BasicShapeRectangle::create();
rect->setX(convertToLength(styleResolver, rectValue->x()));
rect->setY(convertToLength(styleResolver, rectValue->y()));
@@ -123,47 +123,47 @@ PassRefPtr<WrapShape> wrapShapeForValue(const StyleResolver* styleResolver, cons
if (rectValue->radiusY())
rect->setCornerRadiusY(convertToLength(styleResolver, rectValue->radiusY()));
}
- wrapShape = rect.release();
+ basicShape = rect.release();
break;
}
- case CSSWrapShape::CSS_WRAP_SHAPE_CIRCLE: {
- const CSSWrapShapeCircle* circleValue = static_cast<const CSSWrapShapeCircle *>(wrapShapeValue);
- RefPtr<WrapShapeCircle> circle = WrapShapeCircle::create();
+ case CSSBasicShape::CSS_BASIC_SHAPE_CIRCLE: {
+ const CSSBasicShapeCircle* circleValue = static_cast<const CSSBasicShapeCircle *>(basicShapeValue);
+ RefPtr<BasicShapeCircle> circle = BasicShapeCircle::create();
circle->setCenterX(convertToLength(styleResolver, circleValue->centerX()));
circle->setCenterY(convertToLength(styleResolver, circleValue->centerY()));
circle->setRadius(convertToLength(styleResolver, circleValue->radius()));
- wrapShape = circle.release();
+ basicShape = circle.release();
break;
}
- case CSSWrapShape::CSS_WRAP_SHAPE_ELLIPSE: {
- const CSSWrapShapeEllipse* ellipseValue = static_cast<const CSSWrapShapeEllipse *>(wrapShapeValue);
- RefPtr<WrapShapeEllipse> ellipse = WrapShapeEllipse::create();
+ case CSSBasicShape::CSS_BASIC_SHAPE_ELLIPSE: {
+ const CSSBasicShapeEllipse* ellipseValue = static_cast<const CSSBasicShapeEllipse *>(basicShapeValue);
+ RefPtr<BasicShapeEllipse> ellipse = BasicShapeEllipse::create();
ellipse->setCenterX(convertToLength(styleResolver, ellipseValue->centerX()));
ellipse->setCenterY(convertToLength(styleResolver, ellipseValue->centerY()));
ellipse->setRadiusX(convertToLength(styleResolver, ellipseValue->radiusX()));
ellipse->setRadiusY(convertToLength(styleResolver, ellipseValue->radiusY()));
- wrapShape = ellipse.release();
+ basicShape = ellipse.release();
break;
}
- case CSSWrapShape::CSS_WRAP_SHAPE_POLYGON: {
- const CSSWrapShapePolygon* polygonValue = static_cast<const CSSWrapShapePolygon *>(wrapShapeValue);
- RefPtr<WrapShapePolygon> polygon = WrapShapePolygon::create();
+ case CSSBasicShape::CSS_BASIC_SHAPE_POLYGON: {
+ const CSSBasicShapePolygon* polygonValue = static_cast<const CSSBasicShapePolygon *>(basicShapeValue);
+ RefPtr<BasicShapePolygon> polygon = BasicShapePolygon::create();
polygon->setWindRule(polygonValue->windRule());
const Vector<RefPtr<CSSPrimitiveValue> >& values = polygonValue->values();
for (unsigned i = 0; i < values.size(); i += 2)
polygon->appendPoint(convertToLength(styleResolver, values.at(i).get()), convertToLength(styleResolver, values.at(i + 1).get()));
- wrapShape = polygon.release();
+ basicShape = polygon.release();
break;
}
default:
break;
}
- return wrapShape.release();
+ return basicShape.release();
}
}
diff --git a/Source/WebCore/css/WrapShapeFunctions.h b/Source/WebCore/css/BasicShapeFunctions.h
index d3b953c61..d3607e909 100644
--- a/Source/WebCore/css/WrapShapeFunctions.h
+++ b/Source/WebCore/css/BasicShapeFunctions.h
@@ -27,20 +27,20 @@
* SUCH DAMAGE.
*/
-#ifndef WrapShapeFunctions_h
-#define WrapShapeFunctions_h
+#ifndef BasicShapeFunctions_h
+#define BasicShapeFunctions_h
#include <wtf/PassRefPtr.h>
namespace WebCore {
+class BasicShape;
+class CSSBasicShape;
class CSSValue;
-class CSSWrapShape;
class StyleResolver;
-class WrapShape;
-PassRefPtr<CSSValue> valueForWrapShape(const WrapShape*);
-PassRefPtr<WrapShape> wrapShapeForValue(const StyleResolver*, const CSSWrapShape*);
+PassRefPtr<CSSValue> valueForBasicShape(const BasicShape*);
+PassRefPtr<BasicShape> basicShapeForValue(const StyleResolver*, const CSSBasicShape*);
}
#endif
diff --git a/Source/WebCore/css/CSSAllInOne.cpp b/Source/WebCore/css/CSSAllInOne.cpp
index 2ce1e36dd..193b7afc4 100644
--- a/Source/WebCore/css/CSSAllInOne.cpp
+++ b/Source/WebCore/css/CSSAllInOne.cpp
@@ -26,6 +26,7 @@
// This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
#include "CSSAspectRatioValue.cpp"
+#include "CSSBasicShapes.cpp"
#include "CSSBorderImage.cpp"
#include "CSSBorderImageSliceValue.cpp"
#include "CSSCanvasValue.cpp"
@@ -65,7 +66,6 @@
#include "CSSValue.cpp"
#include "CSSValueList.cpp"
#include "CSSValuePool.cpp"
-#include "CSSWrapShapes.cpp"
#include "StyleBuilder.cpp"
#include "StylePropertySet.cpp"
#include "StylePropertyShorthand.cpp"
diff --git a/Source/WebCore/css/CSSAspectRatioValue.cpp b/Source/WebCore/css/CSSAspectRatioValue.cpp
index 5897f5111..15292be2e 100644
--- a/Source/WebCore/css/CSSAspectRatioValue.cpp
+++ b/Source/WebCore/css/CSSAspectRatioValue.cpp
@@ -29,7 +29,7 @@
#include "config.h"
#include "CSSAspectRatioValue.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -45,7 +45,7 @@ String CSSAspectRatioValue::customCssText() const
void CSSAspectRatioValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
}
diff --git a/Source/WebCore/css/CSSWrapShapes.cpp b/Source/WebCore/css/CSSBasicShapes.cpp
index 16ecc8021..c07d663c6 100644
--- a/Source/WebCore/css/CSSWrapShapes.cpp
+++ b/Source/WebCore/css/CSSBasicShapes.cpp
@@ -29,7 +29,7 @@
#include "config.h"
-#include "CSSWrapShapes.h"
+#include "CSSBasicShapes.h"
#include <wtf/text/StringBuilder.h>
@@ -37,32 +37,30 @@ using namespace WTF;
namespace WebCore {
-String CSSWrapShapeRectangle::cssText() const
+String CSSBasicShapeRectangle::cssText() const
{
- DEFINE_STATIC_LOCAL(const String, rectangleParen, ("rectangle("));
- DEFINE_STATIC_LOCAL(const String, comma, (", "));
-
StringBuilder result;
result.reserveCapacity(32);
- result.append(rectangleParen);
+
+ result.appendLiteral("rectangle(");
result.append(m_x->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_y->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_width->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_height->cssText());
if (m_radiusX.get()) {
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_radiusX->cssText());
if (m_radiusY.get()) {
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_radiusY->cssText());
}
}
@@ -72,20 +70,18 @@ String CSSWrapShapeRectangle::cssText() const
return result.toString();
}
-String CSSWrapShapeCircle::cssText() const
+String CSSBasicShapeCircle::cssText() const
{
- DEFINE_STATIC_LOCAL(const String, circleParen, ("circle("));
- DEFINE_STATIC_LOCAL(const String, comma, (", "));
-
StringBuilder result;
result.reserveCapacity(32);
- result.append(circleParen);
+
+ result.appendLiteral("circle(");
result.append(m_centerX->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_centerY->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_radius->cssText());
result.append(')');
@@ -93,23 +89,20 @@ String CSSWrapShapeCircle::cssText() const
return result.toString();
}
-String CSSWrapShapeEllipse::cssText() const
+String CSSBasicShapeEllipse::cssText() const
{
- DEFINE_STATIC_LOCAL(const String, ellipseParen, ("ellipse("));
- DEFINE_STATIC_LOCAL(const String, comma, (", "));
-
StringBuilder result;
result.reserveCapacity(32);
- result.append(ellipseParen);
+ result.appendLiteral("ellipse(");
result.append(m_centerX->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_centerY->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_radiusX->cssText());
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_radiusY->cssText());
result.append(')');
@@ -117,27 +110,23 @@ String CSSWrapShapeEllipse::cssText() const
return result.toString();
}
-String CSSWrapShapePolygon::cssText() const
+String CSSBasicShapePolygon::cssText() const
{
- DEFINE_STATIC_LOCAL(const String, polygonParenEvenOdd, ("polygon(evenodd, "));
- DEFINE_STATIC_LOCAL(const String, polygonParenNonZero, ("polygon(nonzero, "));
- DEFINE_STATIC_LOCAL(const String, comma, (", "));
- DEFINE_STATIC_LOCAL(const String, space, (" "));
-
StringBuilder result;
result.reserveCapacity(32);
+
if (m_windRule == RULE_EVENODD)
- result.append(polygonParenEvenOdd);
+ result.appendLiteral("polygon(evenodd, ");
else
- result.append(polygonParenNonZero);
+ result.appendLiteral("polygon(nonzero, ");
ASSERT(!(m_values.size() % 2));
for (unsigned i = 0; i < m_values.size(); i += 2) {
if (i)
- result.append(comma);
+ result.appendLiteral(", ");
result.append(m_values.at(i)->cssText());
- result.append(space);
+ result.append(' ');
result.append(m_values.at(i + 1)->cssText());
}
diff --git a/Source/WebCore/css/CSSWrapShapes.h b/Source/WebCore/css/CSSBasicShapes.h
index 347bb3410..34e7ef0b2 100644
--- a/Source/WebCore/css/CSSWrapShapes.h
+++ b/Source/WebCore/css/CSSBasicShapes.h
@@ -27,39 +27,39 @@
* SUCH DAMAGE.
*/
-#ifndef CSSWrapShapes_h
-#define CSSWrapShapes_h
+#ifndef CSSBasicShapes_h
+#define CSSBasicShapes_h
#include "CSSPrimitiveValue.h"
-#include "PlatformString.h"
#include "WindRule.h"
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
-class CSSWrapShape : public RefCounted<CSSWrapShape> {
+class CSSBasicShape : public RefCounted<CSSBasicShape> {
public:
enum Type {
- CSS_WRAP_SHAPE_RECTANGLE = 1,
- CSS_WRAP_SHAPE_CIRCLE = 2,
- CSS_WRAP_SHAPE_ELLIPSE = 3,
- CSS_WRAP_SHAPE_POLYGON = 4
+ CSS_BASIC_SHAPE_RECTANGLE = 1,
+ CSS_BASIC_SHAPE_CIRCLE = 2,
+ CSS_BASIC_SHAPE_ELLIPSE = 3,
+ CSS_BASIC_SHAPE_POLYGON = 4
};
virtual Type type() const = 0;
virtual String cssText() const = 0;
public:
- virtual ~CSSWrapShape() { }
+ virtual ~CSSBasicShape() { }
protected:
- CSSWrapShape() { }
+ CSSBasicShape() { }
};
-class CSSWrapShapeRectangle : public CSSWrapShape {
+class CSSBasicShapeRectangle : public CSSBasicShape {
public:
- static PassRefPtr<CSSWrapShapeRectangle> create() { return adoptRef(new CSSWrapShapeRectangle); }
+ static PassRefPtr<CSSBasicShapeRectangle> create() { return adoptRef(new CSSBasicShapeRectangle); }
CSSPrimitiveValue* x() const { return m_x.get(); }
CSSPrimitiveValue* y() const { return m_y.get(); }
@@ -75,11 +75,11 @@ public:
void setRadiusX(PassRefPtr<CSSPrimitiveValue> radiusX) { m_radiusX = radiusX; }
void setRadiusY(PassRefPtr<CSSPrimitiveValue> radiusY) { m_radiusY = radiusY; }
- virtual Type type() const { return CSS_WRAP_SHAPE_RECTANGLE; }
+ virtual Type type() const { return CSS_BASIC_SHAPE_RECTANGLE; }
virtual String cssText() const;
private:
- CSSWrapShapeRectangle() { }
+ CSSBasicShapeRectangle() { }
RefPtr<CSSPrimitiveValue> m_y;
RefPtr<CSSPrimitiveValue> m_x;
@@ -89,9 +89,9 @@ private:
RefPtr<CSSPrimitiveValue> m_radiusY;
};
-class CSSWrapShapeCircle : public CSSWrapShape {
+class CSSBasicShapeCircle : public CSSBasicShape {
public:
- static PassRefPtr<CSSWrapShapeCircle> create() { return adoptRef(new CSSWrapShapeCircle); }
+ static PassRefPtr<CSSBasicShapeCircle> create() { return adoptRef(new CSSBasicShapeCircle); }
CSSPrimitiveValue* centerX() const { return m_centerX.get(); }
CSSPrimitiveValue* centerY() const { return m_centerY.get(); }
@@ -101,20 +101,20 @@ public:
void setCenterY(PassRefPtr<CSSPrimitiveValue> centerY) { m_centerY = centerY; }
void setRadius(PassRefPtr<CSSPrimitiveValue> radius) { m_radius = radius; }
- virtual Type type() const { return CSS_WRAP_SHAPE_CIRCLE; }
+ virtual Type type() const { return CSS_BASIC_SHAPE_CIRCLE; }
virtual String cssText() const;
private:
- CSSWrapShapeCircle() { }
+ CSSBasicShapeCircle() { }
RefPtr<CSSPrimitiveValue> m_centerY;
RefPtr<CSSPrimitiveValue> m_centerX;
RefPtr<CSSPrimitiveValue> m_radius;
};
-class CSSWrapShapeEllipse : public CSSWrapShape {
+class CSSBasicShapeEllipse : public CSSBasicShape {
public:
- static PassRefPtr<CSSWrapShapeEllipse> create() { return adoptRef(new CSSWrapShapeEllipse); }
+ static PassRefPtr<CSSBasicShapeEllipse> create() { return adoptRef(new CSSBasicShapeEllipse); }
CSSPrimitiveValue* centerX() const { return m_centerX.get(); }
CSSPrimitiveValue* centerY() const { return m_centerY.get(); }
@@ -126,11 +126,11 @@ public:
void setRadiusX(PassRefPtr<CSSPrimitiveValue> radiusX) { m_radiusX = radiusX; }
void setRadiusY(PassRefPtr<CSSPrimitiveValue> radiusY) { m_radiusY = radiusY; }
- virtual Type type() const { return CSS_WRAP_SHAPE_ELLIPSE; }
+ virtual Type type() const { return CSS_BASIC_SHAPE_ELLIPSE; }
virtual String cssText() const;
private:
- CSSWrapShapeEllipse() { }
+ CSSBasicShapeEllipse() { }
RefPtr<CSSPrimitiveValue> m_centerX;
RefPtr<CSSPrimitiveValue> m_centerY;
@@ -138,9 +138,9 @@ private:
RefPtr<CSSPrimitiveValue> m_radiusY;
};
-class CSSWrapShapePolygon : public CSSWrapShape {
+class CSSBasicShapePolygon : public CSSBasicShape {
public:
- static PassRefPtr<CSSWrapShapePolygon> create() { return adoptRef(new CSSWrapShapePolygon); }
+ static PassRefPtr<CSSBasicShapePolygon> create() { return adoptRef(new CSSBasicShapePolygon); }
void appendPoint(PassRefPtr<CSSPrimitiveValue> x, PassRefPtr<CSSPrimitiveValue> y)
{
@@ -155,11 +155,11 @@ public:
void setWindRule(WindRule w) { m_windRule = w; }
WindRule windRule() const { return m_windRule; }
- virtual Type type() const { return CSS_WRAP_SHAPE_POLYGON; }
+ virtual Type type() const { return CSS_BASIC_SHAPE_POLYGON; }
virtual String cssText() const;
private:
- CSSWrapShapePolygon()
+ CSSBasicShapePolygon()
: m_windRule(RULE_NONZERO)
{
}
@@ -170,4 +170,4 @@ private:
} // namespace WebCore
-#endif // CSSWrapShapes_h
+#endif // CSSBasicShapes_h
diff --git a/Source/WebCore/css/CSSBorderImageSliceValue.cpp b/Source/WebCore/css/CSSBorderImageSliceValue.cpp
index 551df1f60..02343f905 100644
--- a/Source/WebCore/css/CSSBorderImageSliceValue.cpp
+++ b/Source/WebCore/css/CSSBorderImageSliceValue.cpp
@@ -26,9 +26,9 @@
#include "config.h"
#include "CSSBorderImageSliceValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
#include "Rect.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -46,13 +46,13 @@ String CSSBorderImageSliceValue::customCssText() const
// Now the fill keywords if it is present.
if (m_fill)
- text += " fill";
+ return text + " fill";
return text;
}
void CSSBorderImageSliceValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_slices);
}
diff --git a/Source/WebCore/css/CSSCalculationValue.cpp b/Source/WebCore/css/CSSCalculationValue.cpp
index 5a10c5985..76b8509f0 100755
--- a/Source/WebCore/css/CSSCalculationValue.cpp
+++ b/Source/WebCore/css/CSSCalculationValue.cpp
@@ -33,8 +33,8 @@
#include "CSSValueList.h"
#include "Length.h"
-#include "MemoryInstrumentation.h"
#include "StyleResolver.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -68,17 +68,19 @@ static CalculationCategory unitCategory(CSSPrimitiveValue::UnitTypes type)
case CSSPrimitiveValue::CSS_PC:
case CSSPrimitiveValue::CSS_REMS:
return CalcLength;
+#if ENABLE(CSS_VARIABLES)
+ case CSSPrimitiveValue::CSS_VARIABLE_NAME:
+ return CalcVariable;
+#endif
default:
return CalcOther;
}
}
-
-String CSSCalcValue::customCssText() const
+
+static String buildCssText(const String& expression)
{
StringBuilder result;
-
result.append("-webkit-calc");
- String expression = m_expression->customCssText();
bool expressionHasSingleTerm = expression[0] != '(';
if (expressionHasSingleTerm)
result.append('(');
@@ -88,9 +90,26 @@ String CSSCalcValue::customCssText() const
return result.toString();
}
+String CSSCalcValue::customCssText() const
+{
+ return buildCssText(m_expression->customCssText());
+}
+
+#if ENABLE(CSS_VARIABLES)
+String CSSCalcValue::customSerializeResolvingVariables(const HashMap<AtomicString, String>& variables) const
+{
+ return buildCssText(m_expression->serializeResolvingVariables(variables));
+}
+
+bool CSSCalcValue::hasVariableReference() const
+{
+ return m_expression->hasVariableReference();
+}
+#endif
+
void CSSCalcValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
double CSSCalcValue::clampToPermittedRange(double value) const
@@ -130,6 +149,18 @@ public:
return m_value->cssText();
}
+#if ENABLE(CSS_VARIABLES)
+ virtual String serializeResolvingVariables(const HashMap<AtomicString, String>& variables) const
+ {
+ return m_value->customSerializeResolvingVariables(variables);
+ }
+
+ virtual bool hasVariableReference() const
+ {
+ return m_value->isVariableName();
+ }
+#endif
+
virtual PassOwnPtr<CalcExpressionNode> toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom) const
{
switch (m_category) {
@@ -143,6 +174,9 @@ public:
// Only types that could be part of a Length expression can be converted
// to a CalcExpressionNode. CalcPercentNumber makes no sense as a Length.
case CalcPercentNumber:
+#if ENABLE(CSS_VARIABLES)
+ case CalcVariable:
+#endif
case CalcOther:
ASSERT_NOT_REACHED();
}
@@ -158,6 +192,9 @@ public:
case CalcLength:
case CalcPercentLength:
case CalcPercentNumber:
+#if ENABLE(CSS_VARIABLES)
+ case CalcVariable:
+#endif
case CalcOther:
ASSERT_NOT_REACHED();
break;
@@ -175,6 +212,9 @@ public:
return m_value->getDoubleValue();
case CalcPercentLength:
case CalcPercentNumber:
+#if ENABLE(CSS_VARIABLES)
+ case CalcVariable:
+#endif
case CalcOther:
ASSERT_NOT_REACHED();
break;
@@ -184,14 +224,14 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_value);
}
private:
explicit CSSCalcPrimitiveValue(CSSPrimitiveValue* value, bool isInteger)
: CSSCalcExpressionNode(unitCategory((CSSPrimitiveValue::UnitTypes)value->primitiveType()), isInteger)
- , m_value(value)
+ , m_value(value)
{
}
@@ -205,42 +245,50 @@ static const CalculationCategory addSubtractResult[CalcOther][CalcOther] = {
{ CalcPercentNumber, CalcOther, CalcPercentNumber, CalcPercentNumber, CalcOther },
{ CalcOther, CalcPercentLength, CalcPercentLength, CalcOther, CalcPercentLength },
};
+
+static CalculationCategory determineCategory(const CSSCalcExpressionNode& leftSide, const CSSCalcExpressionNode& rightSide, CalcOperator op)
+{
+ CalculationCategory leftCategory = leftSide.category();
+ CalculationCategory rightCategory = rightSide.category();
+
+ if (leftCategory == CalcOther || rightCategory == CalcOther)
+ return CalcOther;
+
+#if ENABLE(CSS_VARIABLES)
+ if (leftCategory == CalcVariable || rightCategory == CalcVariable)
+ return CalcVariable;
+#endif
+
+ switch (op) {
+ case CalcAdd:
+ case CalcSubtract:
+ return addSubtractResult[leftCategory][rightCategory];
+ case CalcMultiply:
+ if (leftCategory != CalcNumber && rightCategory != CalcNumber)
+ return CalcOther;
+ return leftCategory == CalcNumber ? rightCategory : leftCategory;
+ case CalcDivide:
+ if (rightCategory != CalcNumber || rightSide.isZero())
+ return CalcOther;
+ return leftCategory;
+ }
+ ASSERT_NOT_REACHED();
+ return CalcOther;
+}
+
class CSSCalcBinaryOperation : public CSSCalcExpressionNode {
+
public:
static PassRefPtr<CSSCalcBinaryOperation> create(PassRefPtr<CSSCalcExpressionNode> leftSide, PassRefPtr<CSSCalcExpressionNode> rightSide, CalcOperator op)
{
- CalculationCategory leftCategory = leftSide->category();
- CalculationCategory rightCategory = rightSide->category();
- CalculationCategory newCategory = CalcOther;
-
- ASSERT(leftCategory != CalcOther && rightCategory != CalcOther);
-
- switch (op) {
- case CalcAdd:
- case CalcSubtract:
- if (leftCategory == CalcOther || rightCategory == CalcOther)
- return 0;
- newCategory = addSubtractResult[leftCategory][rightCategory];
- break;
-
- case CalcMultiply:
- if (leftCategory != CalcNumber && rightCategory != CalcNumber)
- return 0;
-
- newCategory = leftCategory == CalcNumber ? rightCategory : leftCategory;
- break;
-
- case CalcDivide:
- if (rightCategory != CalcNumber || rightSide->isZero())
- return 0;
- newCategory = leftCategory;
- break;
- }
+ ASSERT(leftSide->category() != CalcOther && rightSide->category() != CalcOther);
+ CalculationCategory newCategory = determineCategory(*leftSide, *rightSide, op);
+
if (newCategory == CalcOther)
return 0;
-
+
return adoptRef(new CSSCalcBinaryOperation(leftSide, rightSide, op, newCategory));
}
@@ -274,24 +322,41 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_leftSide);
info.addInstrumentedMember(m_rightSide);
}
- virtual String customCssText() const
+ static String buildCssText(const String& leftExpression, const String& rightExpression, CalcOperator op)
{
StringBuilder result;
result.append('(');
- result.append(m_leftSide->customCssText());
+ result.append(leftExpression);
result.append(' ');
- result.append(static_cast<char>(m_operator));
+ result.append(static_cast<char>(op));
result.append(' ');
- result.append(m_rightSide->customCssText());
+ result.append(rightExpression);
result.append(')');
- return result.toString();
+ return result.toString();
+ }
+
+ virtual String customCssText() const
+ {
+ return buildCssText(m_leftSide->customCssText(), m_rightSide->customCssText(), m_operator);
+ }
+
+#if ENABLE(CSS_VARIABLES)
+ virtual String serializeResolvingVariables(const HashMap<AtomicString, String>& variables) const
+ {
+ return buildCssText(m_leftSide->serializeResolvingVariables(variables), m_rightSide->serializeResolvingVariables(variables), m_operator);
+ }
+
+ virtual bool hasVariableReference() const
+ {
+ return m_leftSide->hasVariableReference() || m_rightSide->hasVariableReference();
}
+#endif
private:
CSSCalcBinaryOperation(PassRefPtr<CSSCalcExpressionNode> leftSide, PassRefPtr<CSSCalcExpressionNode> rightSide, CalcOperator op, CalculationCategory category)
diff --git a/Source/WebCore/css/CSSCalculationValue.h b/Source/WebCore/css/CSSCalculationValue.h
index b25f7b31a..044cf32a4 100755
--- a/Source/WebCore/css/CSSCalculationValue.h
+++ b/Source/WebCore/css/CSSCalculationValue.h
@@ -52,6 +52,9 @@ enum CalculationCategory {
CalcPercent,
CalcPercentNumber,
CalcPercentLength,
+#if ENABLE(CSS_VARIABLES)
+ CalcVariable,
+#endif
CalcOther
};
@@ -64,6 +67,10 @@ public:
virtual double doubleValue() const = 0;
virtual double computeLengthPx(RenderStyle* currentStyle, RenderStyle* rootStyle, double multiplier = 1.0, bool computingFontSize = false) const = 0;
virtual String customCssText() const = 0;
+#if ENABLE(CSS_VARIABLES)
+ virtual String serializeResolvingVariables(const HashMap<AtomicString, String>&) const = 0;
+ virtual bool hasVariableReference() const = 0;
+#endif
virtual void reportMemoryUsage(MemoryObjectInfo*) const = 0;
@@ -97,6 +104,10 @@ public:
double computeLengthPx(RenderStyle* currentStyle, RenderStyle* rootStyle, double multiplier = 1.0, bool computingFontSize = false) const;
String customCssText() const;
+#if ENABLE(CSS_VARIABLES)
+ String customSerializeResolvingVariables(const HashMap<AtomicString, String>&) const;
+ bool hasVariableReference() const;
+#endif
void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
diff --git a/Source/WebCore/css/CSSCanvasValue.cpp b/Source/WebCore/css/CSSCanvasValue.cpp
index 63777bb4d..8ecc80c08 100644
--- a/Source/WebCore/css/CSSCanvasValue.cpp
+++ b/Source/WebCore/css/CSSCanvasValue.cpp
@@ -27,8 +27,9 @@
#include "CSSCanvasValue.h"
#include "ImageBuffer.h"
-#include "MemoryInstrumentation.h"
#include "RenderObject.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -40,9 +41,11 @@ CSSCanvasValue::~CSSCanvasValue()
String CSSCanvasValue::customCssText() const
{
- String result = "-webkit-canvas(";
- result += m_name + ")";
- return result;
+ StringBuilder result;
+ result.appendLiteral("-webkit-canvas(");
+ result.append(m_name);
+ result.append(')');
+ return result.toString();
}
void CSSCanvasValue::canvasChanged(HTMLCanvasElement*, const FloatRect& changedRect)
@@ -95,7 +98,7 @@ PassRefPtr<Image> CSSCanvasValue::image(RenderObject* renderer, const IntSize& /
void CSSCanvasValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSImageGeneratorValue::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_name);
info.addInstrumentedMember(m_element);
diff --git a/Source/WebCore/css/CSSCharsetRule.cpp b/Source/WebCore/css/CSSCharsetRule.cpp
index a3c3e1b9a..97bfc0586 100644
--- a/Source/WebCore/css/CSSCharsetRule.cpp
+++ b/Source/WebCore/css/CSSCharsetRule.cpp
@@ -21,7 +21,7 @@
#include "config.h"
#include "CSSCharsetRule.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -38,7 +38,7 @@ String CSSCharsetRule::cssText() const
void CSSCharsetRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_encoding);
}
diff --git a/Source/WebCore/css/CSSCharsetRule.h b/Source/WebCore/css/CSSCharsetRule.h
index 0dad47c9e..773ff3aa8 100644
--- a/Source/WebCore/css/CSSCharsetRule.h
+++ b/Source/WebCore/css/CSSCharsetRule.h
@@ -23,7 +23,7 @@
#define CSSCharsetRule_h
#include "CSSRule.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
index 0708c23ba..ebc27aac7 100644
--- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -25,7 +25,10 @@
#include "CSSComputedStyleDeclaration.h"
#include "AnimationController.h"
+#include "BasicShapeFunctions.h"
+#include "BasicShapes.h"
#include "CSSAspectRatioValue.h"
+#include "CSSBasicShapes.h"
#include "CSSBorderImage.h"
#include "CSSLineBoxContainValue.h"
#include "CSSParser.h"
@@ -46,7 +49,6 @@
#include "FontFeatureSettings.h"
#include "FontFeatureValue.h"
#include "FontValue.h"
-#include "MemoryInstrumentation.h"
#include "Pair.h"
#include "Rect.h"
#include "RenderBox.h"
@@ -56,20 +58,16 @@
#include "StyleInheritedData.h"
#include "StylePropertySet.h"
#include "StylePropertyShorthand.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSTransformValue.h"
#include "WebKitFontFamilyNames.h"
#include <wtf/text/StringBuilder.h>
-#if ENABLE(CSS_EXCLUSIONS)
-#include "CSSWrapShapes.h"
-#include "WrapShapeFunctions.h"
-#include "WrapShapes.h"
-#endif
-
#if ENABLE(CSS_SHADERS)
#include "CustomFilterNumberParameter.h"
#include "CustomFilterOperation.h"
#include "CustomFilterParameter.h"
+#include "CustomFilterTransformParameter.h"
#include "WebKitCSSMixFunctionValue.h"
#endif
@@ -160,6 +158,7 @@ static const CSSPropertyID computedProperties[] = {
CSSPropertyOutlineColor,
CSSPropertyOutlineStyle,
CSSPropertyOutlineWidth,
+ CSSPropertyOverflowWrap,
CSSPropertyOverflowX,
CSSPropertyOverflowY,
CSSPropertyPaddingBottom,
@@ -234,6 +233,7 @@ static const CSSPropertyID computedProperties[] = {
CSSPropertyWebkitBoxPack,
CSSPropertyWebkitBoxReflect,
CSSPropertyWebkitBoxShadow,
+ CSSPropertyWebkitClipPath,
CSSPropertyWebkitColorCorrection,
CSSPropertyWebkitColumnBreakAfter,
CSSPropertyWebkitColumnBreakBefore,
@@ -253,7 +253,6 @@ static const CSSPropertyID computedProperties[] = {
#if ENABLE(CSS_FILTERS)
CSSPropertyWebkitFilter,
#endif
-#if ENABLE(CSS3_FLEXBOX)
CSSPropertyWebkitAlignContent,
CSSPropertyWebkitAlignItems,
CSSPropertyWebkitAlignSelf,
@@ -263,7 +262,6 @@ static const CSSPropertyID computedProperties[] = {
CSSPropertyWebkitFlexDirection,
CSSPropertyWebkitFlexWrap,
CSSPropertyWebkitJustifyContent,
-#endif
CSSPropertyWebkitFontKerning,
CSSPropertyWebkitFontSmoothing,
CSSPropertyWebkitFontVariantLigatures,
@@ -305,9 +303,7 @@ static const CSSPropertyID computedProperties[] = {
CSSPropertyWebkitMaskRepeat,
CSSPropertyWebkitMaskSize,
CSSPropertyWebkitNbspMode,
-#if ENABLE(CSS3_FLEXBOX)
CSSPropertyWebkitOrder,
-#endif
#if ENABLE(OVERFLOW_SCROLLING)
CSSPropertyWebkitOverflowScrolling,
#endif
@@ -715,6 +711,45 @@ static LayoutRect sizingBox(RenderObject* renderer)
return box->style()->boxSizing() == BORDER_BOX ? box->borderBoxRect() : box->computedCSSContentBoxRect();
}
+static PassRefPtr<WebKitCSSTransformValue> matrixTransformValue(const TransformationMatrix& transform, const RenderStyle* style)
+{
+ RefPtr<WebKitCSSTransformValue> transformValue;
+ if (transform.isAffine()) {
+ transformValue = WebKitCSSTransformValue::create(WebKitCSSTransformValue::MatrixTransformOperation);
+
+ transformValue->append(cssValuePool().createValue(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(zoomAdjustedNumberValue(transform.e(), style));
+ transformValue->append(zoomAdjustedNumberValue(transform.f(), style));
+ } else {
+ transformValue = WebKitCSSTransformValue::create(WebKitCSSTransformValue::Matrix3DTransformOperation);
+
+ transformValue->append(cssValuePool().createValue(transform.m11(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m12(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m13(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m14(), CSSPrimitiveValue::CSS_NUMBER));
+
+ transformValue->append(cssValuePool().createValue(transform.m21(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m22(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m23(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m24(), CSSPrimitiveValue::CSS_NUMBER));
+
+ transformValue->append(cssValuePool().createValue(transform.m31(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m32(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m33(), CSSPrimitiveValue::CSS_NUMBER));
+ transformValue->append(cssValuePool().createValue(transform.m34(), CSSPrimitiveValue::CSS_NUMBER));
+
+ transformValue->append(zoomAdjustedNumberValue(transform.m41(), style));
+ transformValue->append(zoomAdjustedNumberValue(transform.m42(), style));
+ transformValue->append(zoomAdjustedNumberValue(transform.m43(), style));
+ transformValue->append(cssValuePool().createValue(transform.m44(), CSSPrimitiveValue::CSS_NUMBER));
+ }
+
+ return transformValue.release();
+}
+
static PassRefPtr<CSSValue> computedTransform(RenderObject* renderer, const RenderStyle* style)
{
if (!renderer || !renderer->hasTransform() || !style->hasTransform())
@@ -728,50 +763,15 @@ static PassRefPtr<CSSValue> computedTransform(RenderObject* renderer, const Rend
style->applyTransform(transform, box.size(), RenderStyle::ExcludeTransformOrigin);
// Note that this does not flatten to an affine transform if ENABLE(3D_RENDERING) is off, by design.
- RefPtr<WebKitCSSTransformValue> transformVal;
-
// FIXME: Need to print out individual functions (https://bugs.webkit.org/show_bug.cgi?id=23924)
- if (transform.isAffine()) {
- transformVal = WebKitCSSTransformValue::create(WebKitCSSTransformValue::MatrixTransformOperation);
-
- transformVal->append(cssValuePool().createValue(transform.a(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.b(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.c(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.d(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(zoomAdjustedNumberValue(transform.e(), style));
- transformVal->append(zoomAdjustedNumberValue(transform.f(), style));
- } else {
- transformVal = WebKitCSSTransformValue::create(WebKitCSSTransformValue::Matrix3DTransformOperation);
-
- transformVal->append(cssValuePool().createValue(transform.m11(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m12(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m13(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m14(), CSSPrimitiveValue::CSS_NUMBER));
-
- transformVal->append(cssValuePool().createValue(transform.m21(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m22(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m23(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m24(), CSSPrimitiveValue::CSS_NUMBER));
-
- transformVal->append(cssValuePool().createValue(transform.m31(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m32(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m33(), CSSPrimitiveValue::CSS_NUMBER));
- transformVal->append(cssValuePool().createValue(transform.m34(), CSSPrimitiveValue::CSS_NUMBER));
-
- transformVal->append(zoomAdjustedNumberValue(transform.m41(), style));
- transformVal->append(zoomAdjustedNumberValue(transform.m42(), style));
- transformVal->append(zoomAdjustedNumberValue(transform.m43(), style));
- transformVal->append(cssValuePool().createValue(transform.m44(), CSSPrimitiveValue::CSS_NUMBER));
- }
-
RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
- list->append(transformVal);
+ list->append(matrixTransformValue(transform, style));
return list.release();
}
#if ENABLE(CSS_SHADERS)
-PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter(const CustomFilterNumberParameter* numberParameter) const
+static PassRefPtr<CSSValue> valueForCustomFilterNumberParameter(const CustomFilterNumberParameter* numberParameter)
{
RefPtr<CSSValueList> numberParameterValue = CSSValueList::createSpaceSeparated();
for (unsigned i = 0; i < numberParameter->size(); ++i)
@@ -779,13 +779,24 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForCustomFilterNumberPara
return numberParameterValue.release();
}
-PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForCustomFilterParameter(const CustomFilterParameter* parameter) const
+static PassRefPtr<CSSValue> valueForCustomFilterTransformParameter(const RenderObject* renderer, const RenderStyle* style, const CustomFilterTransformParameter* transformParameter)
+{
+ IntSize size = renderer ? pixelSnappedIntRect(toRenderBox(renderer)->borderBoxRect()).size() : IntSize();
+ TransformationMatrix transform;
+ transformParameter->applyTransform(transform, size);
+ // FIXME: Need to print out individual functions (https://bugs.webkit.org/show_bug.cgi?id=23924)
+ return matrixTransformValue(transform, style);
+}
+
+static PassRefPtr<CSSValue> valueForCustomFilterParameter(const RenderObject* renderer, const RenderStyle* style, const CustomFilterParameter* parameter)
{
// FIXME: Add here computed style for the other types: boolean, transform, matrix, texture.
ASSERT(parameter);
switch (parameter->parameterType()) {
case CustomFilterParameter::NUMBER:
return valueForCustomFilterNumberParameter(static_cast<const CustomFilterNumberParameter*>(parameter));
+ case CustomFilterParameter::TRANSFORM:
+ return valueForCustomFilterTransformParameter(renderer, style, static_cast<const CustomFilterTransformParameter*>(parameter));
}
ASSERT_NOT_REACHED();
@@ -794,8 +805,11 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForCustomFilterParameter(
#endif // ENABLE(CSS_SHADERS)
#if ENABLE(CSS_FILTERS)
-PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForFilter(RenderStyle* style) const
+PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForFilter(const RenderObject* renderer, const RenderStyle* style) const
{
+#if !ENABLE(CSS_SHADERS)
+ UNUSED_PARAM(renderer);
+#endif
if (style->filter().operations().isEmpty())
return cssValuePool().createIdentifierValue(CSSValueNone);
@@ -926,7 +940,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForFilter(RenderStyle* st
const CustomFilterParameter* parameter = parameters.at(i).get();
RefPtr<CSSValueList> parameterCSSNameAndValue = CSSValueList::createSpaceSeparated();
parameterCSSNameAndValue->append(cssValuePool().createValue(parameter->name(), CSSPrimitiveValue::CSS_STRING));
- parameterCSSNameAndValue->append(valueForCustomFilterParameter(parameter));
+ parameterCSSNameAndValue->append(valueForCustomFilterParameter(renderer, style, parameter));
parametersCSSValue->append(parameterCSSNameAndValue.release());
}
@@ -1127,7 +1141,7 @@ bool CSSComputedStyleDeclaration::useFixedFontDefaultSize() const
return style->fontDescription().useFixedDefaultSize();
}
-PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID, RenderStyle* style) const
+PassRefPtr<CSSValue> CSSComputedStyleDeclaration::valueForShadow(const ShadowData* shadow, CSSPropertyID propertyID, const RenderStyle* style) const
{
if (!shadow)
return cssValuePool().createIdentifierValue(CSSValueNone);
@@ -1273,8 +1287,8 @@ static PassRefPtr<CSSValue> counterToCSSValue(const RenderStyle* style, CSSPrope
RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
for (CounterDirectiveMap::const_iterator it = map->begin(); it != map->end(); ++it) {
- list->append(cssValuePool().createValue(it->first.get(), CSSPrimitiveValue::CSS_STRING));
- short number = propertyID == CSSPropertyCounterIncrement ? it->second.m_incrementValue : it->second.m_resetValue;
+ list->append(cssValuePool().createValue(it->first, CSSPrimitiveValue::CSS_STRING));
+ short number = propertyID == CSSPropertyCounterIncrement ? it->second.incrementValue() : it->second.resetValue();
list->append(cssValuePool().createValue((double)number, CSSPrimitiveValue::CSS_NUMBER));
}
return list.release();
@@ -1680,7 +1694,6 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert
return cssValuePool().createValue(style->display());
case CSSPropertyEmptyCells:
return cssValuePool().createValue(style->emptyCells());
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitAlignContent:
return cssValuePool().createValue(style->alignContent());
case CSSPropertyWebkitAlignItems:
@@ -1710,7 +1723,6 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert
return cssValuePool().createValue(style->justifyContent());
case CSSPropertyWebkitOrder:
return cssValuePool().createValue(style->order(), CSSPrimitiveValue::CSS_NUMBER);
-#endif
case CSSPropertyFloat:
return cssValuePool().createValue(style->floating());
case CSSPropertyFont: {
@@ -1914,6 +1926,8 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert
return zoomAdjustedPixelValue(style->outlineWidth(), style.get());
case CSSPropertyOverflow:
return cssValuePool().createValue(max(style->overflowX(), style->overflowY()));
+ case CSSPropertyOverflowWrap:
+ return cssValuePool().createValue(style->overflowWrap());
case CSSPropertyOverflowX:
return cssValuePool().createValue(style->overflowX());
case CSSPropertyOverflowY:
@@ -2060,7 +2074,7 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert
case CSSPropertyWordSpacing:
return zoomAdjustedPixelValue(style->wordSpacing(), style.get());
case CSSPropertyWordWrap:
- return cssValuePool().createValue(style->wordWrap());
+ return cssValuePool().createValue(style->overflowWrap());
case CSSPropertyWebkitLineBreak:
return cssValuePool().createValue(style->khtmlLineBreak());
case CSSPropertyWebkitNbspMode:
@@ -2390,6 +2404,10 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert
return counterToCSSValue(style.get(), propertyID);
case CSSPropertyCounterReset:
return counterToCSSValue(style.get(), propertyID);
+ case CSSPropertyWebkitClipPath:
+ if (!style->clipPath())
+ return cssValuePool().createIdentifierValue(CSSValueNone);
+ return valueForBasicShape(style->clipPath());
#if ENABLE(CSS_REGIONS)
case CSSPropertyWebkitFlowInto:
if (style->flowThread().isNull())
@@ -2412,17 +2430,17 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(CSSPropert
case CSSPropertyWebkitShapeInside:
if (!style->wrapShapeInside())
return cssValuePool().createIdentifierValue(CSSValueAuto);
- return valueForWrapShape(style->wrapShapeInside());
+ return valueForBasicShape(style->wrapShapeInside());
case CSSPropertyWebkitShapeOutside:
if (!style->wrapShapeOutside())
return cssValuePool().createIdentifierValue(CSSValueAuto);
- return valueForWrapShape(style->wrapShapeOutside());
+ return valueForBasicShape(style->wrapShapeOutside());
case CSSPropertyWebkitWrapThrough:
return cssValuePool().createValue(style->wrapThrough());
#endif
#if ENABLE(CSS_FILTERS)
case CSSPropertyWebkitFilter:
- return valueForFilter(style.get());
+ return valueForFilter(renderer, style.get());
#endif
#if ENABLE(CSS_COMPOSITING)
case CSSPropertyWebkitBlendMode:
@@ -2716,7 +2734,7 @@ PassRefPtr<StylePropertySet> CSSComputedStyleDeclaration::copyPropertiesInSet(co
void CSSComputedStyleDeclaration::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_node);
}
diff --git a/Source/WebCore/css/CSSComputedStyleDeclaration.h b/Source/WebCore/css/CSSComputedStyleDeclaration.h
index 10d01590a..cfc837b9f 100644
--- a/Source/WebCore/css/CSSComputedStyleDeclaration.h
+++ b/Source/WebCore/css/CSSComputedStyleDeclaration.h
@@ -32,6 +32,7 @@ class CSSPrimitiveValue;
class CSSValueList;
class Color;
class Node;
+class RenderObject;
class RenderStyle;
class SVGPaint;
class ShadowData;
@@ -96,19 +97,14 @@ private:
virtual bool cssPropertyMatches(const CSSProperty*) const;
- PassRefPtr<CSSValue> valueForShadow(const ShadowData*, CSSPropertyID, RenderStyle*) const;
+ PassRefPtr<CSSValue> valueForShadow(const ShadowData*, CSSPropertyID, const RenderStyle*) const;
PassRefPtr<CSSPrimitiveValue> currentColorOrValidColor(RenderStyle*, const Color&) const;
#if ENABLE(SVG)
PassRefPtr<SVGPaint> adjustSVGPaintForCurrentColor(PassRefPtr<SVGPaint>, RenderStyle*) const;
#endif
-#if ENABLE(CSS_SHADERS)
- PassRefPtr<CSSValue> valueForCustomFilterNumberParameter(const CustomFilterNumberParameter*) const;
- PassRefPtr<CSSValue> valueForCustomFilterParameter(const CustomFilterParameter*) const;
-#endif
-
#if ENABLE(CSS_FILTERS)
- PassRefPtr<CSSValue> valueForFilter(RenderStyle*) const;
+ PassRefPtr<CSSValue> valueForFilter(const RenderObject*, const RenderStyle*) const;
#endif
PassRefPtr<CSSValueList> getCSSPropertyValuesForShorthandProperties(const StylePropertyShorthand&) const;
diff --git a/Source/WebCore/css/CSSCrossfadeValue.cpp b/Source/WebCore/css/CSSCrossfadeValue.cpp
index 5ed7da18d..e347ebd09 100644
--- a/Source/WebCore/css/CSSCrossfadeValue.cpp
+++ b/Source/WebCore/css/CSSCrossfadeValue.cpp
@@ -31,10 +31,11 @@
#include "CachedResourceLoader.h"
#include "CrossfadeGeneratedImage.h"
#include "ImageBuffer.h"
-#include "MemoryInstrumentation.h"
#include "RenderObject.h"
#include "StyleCachedImage.h"
#include "StyleGeneratedImage.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -85,12 +86,15 @@ CSSCrossfadeValue::~CSSCrossfadeValue()
String CSSCrossfadeValue::customCssText() const
{
- String result = "-webkit-cross-fade(";
- result += m_fromValue->cssText() + ", ";
- result += m_toValue->cssText() + ", ";
- result += m_percentageValue->cssText();
- result += ")";
- return result;
+ StringBuilder result;
+ result.appendLiteral("-webkit-cross-fade(");
+ result.append(m_fromValue->cssText());
+ result.appendLiteral(", ");
+ result.append(m_toValue->cssText());
+ result.appendLiteral(", ");
+ result.append(m_percentageValue->cssText());
+ result.append(')');
+ return result.toString();
}
IntSize CSSCrossfadeValue::fixedSize(const RenderObject* renderer)
@@ -137,7 +141,7 @@ void CSSCrossfadeValue::loadSubimages(CachedResourceLoader* cachedResourceLoader
void CSSCrossfadeValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSImageGeneratorValue::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_fromValue);
info.addInstrumentedMember(m_toValue);
diff --git a/Source/WebCore/css/CSSCursorImageValue.cpp b/Source/WebCore/css/CSSCursorImageValue.cpp
index 35038fcd3..68ffa9c11 100644
--- a/Source/WebCore/css/CSSCursorImageValue.cpp
+++ b/Source/WebCore/css/CSSCursorImageValue.cpp
@@ -23,11 +23,11 @@
#include "CSSCursorImageValue.h"
#include "CachedResourceLoader.h"
-#include "MemoryInstrumentation.h"
#include "TreeScope.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/MathExtras.h>
#include <wtf/UnusedParam.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SVG)
#include "SVGCursorElement.h"
@@ -135,7 +135,7 @@ void CSSCursorImageValue::removeReferencedElement(SVGElement* element)
void CSSCursorImageValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSImageValue::reportDescendantMemoryUsage(memoryObjectInfo);
#if ENABLE(SVG)
info.addInstrumentedHashSet(m_referencedElements);
diff --git a/Source/WebCore/css/CSSFontFaceRule.cpp b/Source/WebCore/css/CSSFontFaceRule.cpp
index e85a6e44c..0dceb8a4d 100644
--- a/Source/WebCore/css/CSSFontFaceRule.cpp
+++ b/Source/WebCore/css/CSSFontFaceRule.cpp
@@ -22,9 +22,10 @@
#include "config.h"
#include "CSSFontFaceRule.h"
-#include "MemoryInstrumentation.h"
#include "StylePropertySet.h"
#include "StyleRule.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -49,11 +50,14 @@ CSSStyleDeclaration* CSSFontFaceRule::style() const
String CSSFontFaceRule::cssText() const
{
- String result("@font-face");
- result += " { ";
- result += m_fontFaceRule->properties()->asText();
- result += "}";
- return result;
+ StringBuilder result;
+ result.appendLiteral("@font-face { ");
+ String descs = m_fontFaceRule->properties()->asText();
+ result.append(descs);
+ if (!descs.isEmpty())
+ result.append(' ');
+ result.append('}');
+ return result.toString();
}
void CSSFontFaceRule::reattach(StyleRuleFontFace* rule)
@@ -66,7 +70,7 @@ void CSSFontFaceRule::reattach(StyleRuleFontFace* rule)
void CSSFontFaceRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_fontFaceRule);
info.addInstrumentedMember(m_propertiesCSSOMWrapper);
diff --git a/Source/WebCore/css/CSSFontFaceSrcValue.cpp b/Source/WebCore/css/CSSFontFaceSrcValue.cpp
index db4eb9b36..0505f60ad 100644
--- a/Source/WebCore/css/CSSFontFaceSrcValue.cpp
+++ b/Source/WebCore/css/CSSFontFaceSrcValue.cpp
@@ -29,10 +29,11 @@
#include "CachedResourceLoader.h"
#include "Document.h"
#include "FontCustomPlatformData.h"
-#include "MemoryInstrumentation.h"
#include "Node.h"
#include "SVGFontFaceElement.h"
#include "StyleSheetContents.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -63,16 +64,19 @@ bool CSSFontFaceSrcValue::isSupportedFormat() const
String CSSFontFaceSrcValue::customCssText() const
{
- String result;
+ StringBuilder result;
if (isLocal())
- result += "local(";
+ result.appendLiteral("local(");
else
- result += "url(";
- result += m_resource;
- result += ")";
- if (!m_format.isEmpty())
- result += " format(" + m_format + ")";
- return result;
+ result.appendLiteral("url(");
+ result.append(m_resource);
+ result.append(')');
+ if (!m_format.isEmpty()) {
+ result.appendLiteral(" format(");
+ result.append(m_format);
+ result.append(')');
+ }
+ return result.toString();
}
void CSSFontFaceSrcValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const StyleSheetContents* styleSheet) const
@@ -99,7 +103,7 @@ CachedFont* CSSFontFaceSrcValue::cachedFont(Document* document)
void CSSFontFaceSrcValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_resource);
info.addInstrumentedMember(m_format);
// FIXME: add m_cachedFont when MemoryCache is instrumented.
diff --git a/Source/WebCore/css/CSSFontFaceSrcValue.h b/Source/WebCore/css/CSSFontFaceSrcValue.h
index 4444c8606..a2c5466fe 100644
--- a/Source/WebCore/css/CSSFontFaceSrcValue.h
+++ b/Source/WebCore/css/CSSFontFaceSrcValue.h
@@ -28,8 +28,8 @@
#include "CSSValue.h"
#include "CachedResourceHandle.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/CSSFunctionValue.cpp b/Source/WebCore/css/CSSFunctionValue.cpp
index 9f8f24f30..46a98f9b0 100644
--- a/Source/WebCore/css/CSSFunctionValue.cpp
+++ b/Source/WebCore/css/CSSFunctionValue.cpp
@@ -28,8 +28,9 @@
#include "CSSParserValues.h"
#include "CSSValueList.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -43,16 +44,17 @@ CSSFunctionValue::CSSFunctionValue(CSSParserFunction* function)
String CSSFunctionValue::customCssText() const
{
- String result = m_name; // Includes the '('
+ StringBuilder result;
+ result.append(m_name); // Includes the '('
if (m_args)
- result += m_args->cssText();
- result += ")";
- return result;
+ result.append(m_args->cssText());
+ result.append(')');
+ return result.toString();
}
void CSSFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_name);
info.addInstrumentedMember(m_args);
}
diff --git a/Source/WebCore/css/CSSGradientValue.cpp b/Source/WebCore/css/CSSGradientValue.cpp
index c7daacc87..fc485f918 100644
--- a/Source/WebCore/css/CSSGradientValue.cpp
+++ b/Source/WebCore/css/CSSGradientValue.cpp
@@ -33,11 +33,12 @@
#include "Image.h"
#include "IntSize.h"
#include "IntSizeHash.h"
-#include "MemoryInstrumentation.h"
#include "NodeRenderStyle.h"
-#include "PlatformString.h"
#include "RenderObject.h"
#include "StyleResolver.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
using namespace std;
@@ -45,7 +46,7 @@ namespace WebCore {
void CSSGradientColorStop::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_position);
info.addInstrumentedMember(m_color);
}
@@ -462,7 +463,7 @@ bool CSSGradientValue::isCacheable() const
void CSSGradientValue::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSImageGeneratorValue::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_firstX);
info.addInstrumentedMember(m_firstY);
@@ -473,51 +474,71 @@ void CSSGradientValue::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObject
String CSSLinearGradientValue::customCssText() const
{
- String result;
+ StringBuilder result;
if (m_deprecatedType) {
- result = "-webkit-gradient(linear, ";
- result += m_firstX->cssText() + " ";
- result += m_firstY->cssText() + ", ";
- result += m_secondX->cssText() + " ";
- result += m_secondY->cssText();
+ result.appendLiteral("-webkit-gradient(linear, ");
+ result.append(m_firstX->cssText());
+ result.append(' ');
+ result.append(m_firstY->cssText());
+ result.appendLiteral(", ");
+ result.append(m_secondX->cssText());
+ result.append(' ');
+ result.append(m_secondY->cssText());
for (unsigned i = 0; i < m_stops.size(); i++) {
const CSSGradientColorStop& stop = m_stops[i];
- result += ", ";
- if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 0)
- result += "from(" + stop.m_color->cssText() + ")";
- else if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 1)
- result += "to(" + stop.m_color->cssText() + ")";
- else
- result += "color-stop(" + String::number(stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER)) + ", " + stop.m_color->cssText() + ")";
+ result.appendLiteral(", ");
+ if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 0) {
+ result.appendLiteral("from(");
+ result.append(stop.m_color->cssText());
+ result.append(')');
+ } else if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 1) {
+ result.appendLiteral("to(");
+ result.append(stop.m_color->cssText());
+ result.append(')');
+ } else {
+ result.appendLiteral("color-stop(");
+ result.append(String::number(stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER)));
+ result.appendLiteral(", ");
+ result.append(stop.m_color->cssText());
+ result.append(')');
+ }
}
} else {
- result = m_repeating ? "-webkit-repeating-linear-gradient(" : "-webkit-linear-gradient(";
+ if (m_repeating)
+ result.appendLiteral("-webkit-repeating-linear-gradient(");
+ else
+ result.appendLiteral("-webkit-linear-gradient(");
+
if (m_angle)
- result += m_angle->cssText();
+ result.append(m_angle->cssText());
else {
- if (m_firstX && m_firstY)
- result += m_firstX->cssText() + " " + m_firstY->cssText();
- else if (m_firstX || m_firstY) {
+ if (m_firstX && m_firstY) {
+ result.append(m_firstX->cssText());
+ result.append(' ');
+ result.append(m_firstY->cssText());
+ } else if (m_firstX || m_firstY) {
if (m_firstX)
- result += m_firstX->cssText();
+ result.append(m_firstX->cssText());
if (m_firstY)
- result += m_firstY->cssText();
+ result.append(m_firstY->cssText());
}
}
for (unsigned i = 0; i < m_stops.size(); i++) {
const CSSGradientColorStop& stop = m_stops[i];
- result += ", ";
- result += stop.m_color->cssText();
- if (stop.m_position)
- result += " " + stop.m_position->cssText();
+ result.appendLiteral(", ");
+ result.append(stop.m_color->cssText());
+ if (stop.m_position) {
+ result.append(' ');
+ result.append(stop.m_position->cssText());
+ }
}
}
- result += ")";
- return result;
+ result.append(')');
+ return result.toString();
}
// Compute the endpoints so that a gradient of the given angle covers a box of the given size.
@@ -615,78 +636,99 @@ PassRefPtr<Gradient> CSSLinearGradientValue::createGradient(RenderObject* render
void CSSLinearGradientValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSGradientValue::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_angle);
}
String CSSRadialGradientValue::customCssText() const
{
- String result;
+ StringBuilder result;
if (m_deprecatedType) {
- result = "-webkit-gradient(radial, ";
-
- result += m_firstX->cssText() + " ";
- result += m_firstY->cssText() + ", ";
- result += m_firstRadius->cssText() + ", ";
- result += m_secondX->cssText() + " ";
- result += m_secondY->cssText();
- result += ", ";
- result += m_secondRadius->cssText();
+ result.appendLiteral("-webkit-gradient(radial, ");
+ result.append(m_firstX->cssText());
+ result.append(' ');
+ result.append(m_firstY->cssText());
+ result.appendLiteral(", ");
+ result.append(m_firstRadius->cssText());
+ result.appendLiteral(", ");
+ result.append(m_secondX->cssText());
+ result.append(' ');
+ result.append(m_secondY->cssText());
+ result.appendLiteral(", ");
+ result.append(m_secondRadius->cssText());
// FIXME: share?
for (unsigned i = 0; i < m_stops.size(); i++) {
const CSSGradientColorStop& stop = m_stops[i];
- result += ", ";
- if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 0)
- result += "from(" + stop.m_color->cssText() + ")";
- else if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 1)
- result += "to(" + stop.m_color->cssText() + ")";
- else
- result += "color-stop(" + String::number(stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER)) + ", " + stop.m_color->cssText() + ")";
+ result.appendLiteral(", ");
+ if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 0) {
+ result.appendLiteral("from(");
+ result.append(stop.m_color->cssText());
+ result.append(')');
+ } else if (stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER) == 1) {
+ result.appendLiteral("to(");
+ result.append(stop.m_color->cssText());
+ result.append(')');
+ } else {
+ result.appendLiteral("color-stop(");
+ result.append(String::number(stop.m_position->getDoubleValue(CSSPrimitiveValue::CSS_NUMBER)));
+ result.appendLiteral(", ");
+ result.append(stop.m_color->cssText());
+ result.append(')');
+ }
}
} else {
+ if (m_repeating)
+ result.appendLiteral("-webkit-repeating-radial-gradient(");
+ else
+ result.appendLiteral("-webkit-radial-gradient(");
- result = m_repeating ? "-webkit-repeating-radial-gradient(" : "-webkit-radial-gradient(";
if (m_firstX && m_firstY) {
- result += m_firstX->cssText() + " " + m_firstY->cssText();
+ result.append(m_firstX->cssText());
+ result.append(' ');
+ result.append(m_firstY->cssText());
} else if (m_firstX)
- result += m_firstX->cssText();
+ result.append(m_firstX->cssText());
else if (m_firstY)
- result += m_firstY->cssText();
+ result.append(m_firstY->cssText());
else
- result += "center";
-
+ result.appendLiteral("center");
if (m_shape || m_sizingBehavior) {
- result += ", ";
- if (m_shape)
- result += m_shape->cssText() + " ";
- else
- result += "ellipse ";
+ result.appendLiteral(", ");
+ if (m_shape) {
+ result.append(m_shape->cssText());
+ result.append(' ');
+ } else
+ result.appendLiteral("ellipse ");
if (m_sizingBehavior)
- result += m_sizingBehavior->cssText();
+ result.append(m_sizingBehavior->cssText());
else
- result += "cover";
+ result.appendLiteral("cover");
} else if (m_endHorizontalSize && m_endVerticalSize) {
- result += ", ";
- result += m_endHorizontalSize->cssText() + " " + m_endVerticalSize->cssText();
+ result.appendLiteral(", ");
+ result.append(m_endHorizontalSize->cssText());
+ result.append(' ');
+ result.append(m_endVerticalSize->cssText());
}
for (unsigned i = 0; i < m_stops.size(); i++) {
const CSSGradientColorStop& stop = m_stops[i];
- result += ", ";
- result += stop.m_color->cssText();
- if (stop.m_position)
- result += " " + stop.m_position->cssText();
+ result.appendLiteral(", ");
+ result.append(stop.m_color->cssText());
+ if (stop.m_position) {
+ result.append(' ');
+ result.append(stop.m_position->cssText());
+ }
}
}
- result += ")";
- return result;
+ result.append(')');
+ return result.toString();
}
float CSSRadialGradientValue::resolveRadius(CSSPrimitiveValue* radius, RenderStyle* style, RenderStyle* rootStyle, float* widthOrHeight)
@@ -919,7 +961,7 @@ PassRefPtr<Gradient> CSSRadialGradientValue::createGradient(RenderObject* render
void CSSRadialGradientValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSGradientValue::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_firstRadius);
info.addInstrumentedMember(m_secondRadius);
diff --git a/Source/WebCore/css/CSSGrammar.y b/Source/WebCore/css/CSSGrammar.y
index 29fab4ffe..5167537f7 100644
--- a/Source/WebCore/css/CSSGrammar.y
+++ b/Source/WebCore/css/CSSGrammar.y
@@ -93,14 +93,9 @@ static inline int cssyyerror(void*, const char*)
return 1;
}
-static int cssyylex(YYSTYPE* yylval, CSSParser* parser)
-{
- return parser->lex(yylval);
-}
-
%}
-%expect 62
+%expect 63
%nonassoc LOWEST_PREC
@@ -509,7 +504,7 @@ NAMESPACE_SYM maybe_space maybe_ns_prefix string_or_uri maybe_space ';' {
;
maybe_ns_prefix:
-/* empty */ { $$.characters = 0; }
+/* empty */ { $$.clear(); }
| IDENT maybe_space { $$ = $1; }
;
@@ -694,9 +689,9 @@ key:
| IDENT {
$$.id = 0; $$.isInt = false; $$.unit = CSSPrimitiveValue::CSS_NUMBER;
CSSParserString& str = $1;
- if (equalIgnoringCase("from", str.characters, str.length))
+ if (str.equalIgnoringCase("from"))
$$.fValue = 0;
- else if (equalIgnoringCase("to", str.characters, str.length))
+ else if (str.equalIgnoringCase("to"))
$$.fValue = 100;
else
YYERROR;
@@ -976,8 +971,8 @@ selector:
;
namespace_selector:
- /* empty */ '|' { $$.characters = 0; $$.length = 0; }
- | '*' '|' { static UChar star = '*'; $$.characters = &star; $$.length = 1; }
+ /* empty */ '|' { $$.clear(); }
+ | '*' '|' { static LChar star = '*'; $$.init(&star, 1); }
| IDENT '|' { $$ = $1; }
;
@@ -1040,9 +1035,8 @@ element_name:
$$ = str;
}
| '*' {
- static UChar star = '*';
- $$.characters = &star;
- $$.length = 1;
+ static LChar star = '*';
+ $$.init(&star, 1);
}
;
@@ -1070,7 +1064,7 @@ specifier:
$$->setValue($1);
}
| HEX {
- if ($1.characters[0] >= '0' && $1.characters[0] <= '9') {
+ if ($1[0] >= '0' && $1[0] <= '9') {
$$ = 0;
} else {
$$ = parser->createFloatingSelector();
@@ -1550,6 +1544,13 @@ function:
calc_func_term:
unary_term { $$ = $1; }
+ | VARFUNCTION maybe_space IDENT ')' maybe_space {
+#if ENABLE(CSS_VARIABLES)
+ $$.id = 0;
+ $$.string = $3;
+ $$.unit = CSSPrimitiveValue::CSS_VARIABLE_NAME;
+#endif
+ }
| unary_operator unary_term { $$ = $2; $$.fValue *= $1; }
;
diff --git a/Source/WebCore/css/CSSImageGeneratorValue.cpp b/Source/WebCore/css/CSSImageGeneratorValue.cpp
index 63040f3be..63cb422a9 100644
--- a/Source/WebCore/css/CSSImageGeneratorValue.cpp
+++ b/Source/WebCore/css/CSSImageGeneratorValue.cpp
@@ -30,8 +30,8 @@
#include "CSSCrossfadeValue.h"
#include "CSSGradientValue.h"
#include "Image.h"
-#include "MemoryInstrumentation.h"
#include "RenderObject.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -111,7 +111,7 @@ void CSSImageGeneratorValue::putImage(const IntSize& size, PassRefPtr<Image> ima
void CSSImageGeneratorValue::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addHashCountedSet(m_sizes);
info.addHashMap(m_clients);
info.addHashMap(m_images); // FIXME: instrument Image
diff --git a/Source/WebCore/css/CSSImageSetValue.cpp b/Source/WebCore/css/CSSImageSetValue.cpp
index 28451a254..568d756f4 100644
--- a/Source/WebCore/css/CSSImageSetValue.cpp
+++ b/Source/WebCore/css/CSSImageSetValue.cpp
@@ -33,10 +33,10 @@
#include "CachedImage.h"
#include "CachedResourceLoader.h"
#include "Document.h"
-#include "MemoryInstrumentation.h"
#include "Page.h"
#include "StyleCachedImageSet.h"
#include "StylePendingImage.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -166,14 +166,14 @@ PassRefPtr<CSSImageSetValue> CSSImageSetValue::cloneForCSSOM() const
void CSSImageSetValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSValueList::reportDescendantMemoryUsage(memoryObjectInfo);
info.addInstrumentedVector(m_imagesInSet);
}
void CSSImageSetValue::ImageWithScale::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(imageURL);
}
diff --git a/Source/WebCore/css/CSSImageValue.cpp b/Source/WebCore/css/CSSImageValue.cpp
index b7f4d73cd..c370bdc65 100644
--- a/Source/WebCore/css/CSSImageValue.cpp
+++ b/Source/WebCore/css/CSSImageValue.cpp
@@ -28,9 +28,9 @@
#include "CachedResourceLoader.h"
#include "Document.h"
#include "MemoryCache.h"
-#include "MemoryInstrumentation.h"
#include "StyleCachedImage.h"
#include "StylePendingImage.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -128,7 +128,7 @@ PassRefPtr<CSSValue> CSSImageValue::cloneForCSSOM() const
void CSSImageValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_url);
// No need to report m_image as it is counted as part of RenderArena.
}
diff --git a/Source/WebCore/css/CSSImportRule.cpp b/Source/WebCore/css/CSSImportRule.cpp
index f7e711ba2..772f36589 100644
--- a/Source/WebCore/css/CSSImportRule.cpp
+++ b/Source/WebCore/css/CSSImportRule.cpp
@@ -27,10 +27,10 @@
#include "CachedResourceLoader.h"
#include "Document.h"
#include "MediaList.h"
-#include "MemoryInstrumentation.h"
#include "SecurityOrigin.h"
#include "StyleRuleImport.h"
#include "StyleSheetContents.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -79,13 +79,20 @@ String CSSImportRule::cssText() const
void CSSImportRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_importRule);
info.addInstrumentedMember(m_mediaCSSOMWrapper);
info.addInstrumentedMember(m_styleSheetCSSOMWrapper);
}
+void CSSImportRule::reattachStyleSheetContents()
+{
+ ASSERT(m_styleSheetCSSOMWrapper);
+ ASSERT(!parentStyleSheet() || parentStyleSheet()->contents()->hasOneClient());
+ m_importRule->reattachStyleSheetContents(m_styleSheetCSSOMWrapper->contents());
+}
+
CSSStyleSheet* CSSImportRule::styleSheet() const
{
if (!m_importRule->styleSheet())
diff --git a/Source/WebCore/css/CSSImportRule.h b/Source/WebCore/css/CSSImportRule.h
index c835f7dd5..e7921f76d 100644
--- a/Source/WebCore/css/CSSImportRule.h
+++ b/Source/WebCore/css/CSSImportRule.h
@@ -45,6 +45,8 @@ public:
void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
+ void reattachStyleSheetContents();
+
private:
CSSImportRule(StyleRuleImport*, CSSStyleSheet*);
diff --git a/Source/WebCore/css/CSSInheritedValue.cpp b/Source/WebCore/css/CSSInheritedValue.cpp
index f7a426de6..8bcef1891 100644
--- a/Source/WebCore/css/CSSInheritedValue.cpp
+++ b/Source/WebCore/css/CSSInheritedValue.cpp
@@ -21,8 +21,8 @@
#include "config.h"
#include "CSSInheritedValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -33,7 +33,7 @@ String CSSInheritedValue::customCssText() const
void CSSInheritedValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
} // namespace WebCore
diff --git a/Source/WebCore/css/CSSInitialValue.cpp b/Source/WebCore/css/CSSInitialValue.cpp
index 775fe0f80..d5776f11c 100644
--- a/Source/WebCore/css/CSSInitialValue.cpp
+++ b/Source/WebCore/css/CSSInitialValue.cpp
@@ -21,8 +21,8 @@
#include "config.h"
#include "CSSInitialValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -33,7 +33,7 @@ String CSSInitialValue::customCssText() const
void CSSInitialValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
} // namespace WebCore
diff --git a/Source/WebCore/css/CSSLineBoxContainValue.cpp b/Source/WebCore/css/CSSLineBoxContainValue.cpp
index 85f385d71..24c08b400 100644
--- a/Source/WebCore/css/CSSLineBoxContainValue.cpp
+++ b/Source/WebCore/css/CSSLineBoxContainValue.cpp
@@ -27,8 +27,9 @@
#include "CSSLineBoxContainValue.h"
#include "CSSPrimitiveValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -40,42 +41,42 @@ CSSLineBoxContainValue::CSSLineBoxContainValue(unsigned value)
String CSSLineBoxContainValue::customCssText() const
{
- String text("");
+ StringBuilder text;
if (m_value & LineBoxContainBlock)
- text += "block";
+ text.appendLiteral("block");
if (m_value & LineBoxContainInline) {
if (!text.isEmpty())
- text += " ";
- text += "inline";
+ text.append(' ');
+ text.appendLiteral("inline");
}
if (m_value & LineBoxContainFont) {
if (!text.isEmpty())
- text += " ";
- text += "font";
+ text.append(' ');
+ text.appendLiteral("font");
}
if (m_value & LineBoxContainGlyphs) {
if (!text.isEmpty())
- text += " ";
- text += "glyphs";
+ text.append(' ');
+ text.appendLiteral("glyphs");
}
if (m_value & LineBoxContainReplaced) {
if (!text.isEmpty())
- text += " ";
- text += "replaced";
+ text.append(' ');
+ text.appendLiteral("replaced");
}
if (m_value & LineBoxContainInlineBox) {
if (!text.isEmpty())
- text += " ";
- text += "inline-box";
+ text.append(' ');
+ text.appendLiteral("inline-box");
}
- return text;
+ return text.toString();
}
void CSSLineBoxContainValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
}
diff --git a/Source/WebCore/css/CSSMediaRule.cpp b/Source/WebCore/css/CSSMediaRule.cpp
index 278670f41..4542d3e48 100644
--- a/Source/WebCore/css/CSSMediaRule.cpp
+++ b/Source/WebCore/css/CSSMediaRule.cpp
@@ -27,8 +27,8 @@
#include "CSSRuleList.h"
#include "CSSStyleSheet.h"
#include "ExceptionCode.h"
-#include "MemoryInstrumentation.h"
#include "StyleRule.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -177,7 +177,7 @@ void CSSMediaRule::reattach(StyleRuleMedia* rule)
void CSSMediaRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_mediaCSSOMWrapper);
info.addInstrumentedVector(m_childRuleCSSOMWrappers);
diff --git a/Source/WebCore/css/CSSMediaRule.h b/Source/WebCore/css/CSSMediaRule.h
index 69faf1a50..adaca6d62 100644
--- a/Source/WebCore/css/CSSMediaRule.h
+++ b/Source/WebCore/css/CSSMediaRule.h
@@ -25,7 +25,7 @@
#include "CSSRule.h"
#include "MediaList.h"
-#include "PlatformString.h" // needed so bindings will compile
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/CSSPageRule.cpp b/Source/WebCore/css/CSSPageRule.cpp
index f5e63276d..839bc20f7 100644
--- a/Source/WebCore/css/CSSPageRule.cpp
+++ b/Source/WebCore/css/CSSPageRule.cpp
@@ -30,6 +30,7 @@
#include "StylePropertySet.h"
#include "StyleRule.h"
#include <wtf/Vector.h>
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -54,14 +55,17 @@ CSSStyleDeclaration* CSSPageRule::style() const
String CSSPageRule::selectorText() const
{
- String text = "@page";
+ StringBuilder text;
+ text.appendLiteral("@page");
const CSSSelector* selector = m_pageRule->selector();
if (selector) {
String pageSpecification = selector->selectorText();
- if (!pageSpecification.isEmpty() && pageSpecification != starAtom)
- text += " " + pageSpecification;
+ if (!pageSpecification.isEmpty() && pageSpecification != starAtom) {
+ text.append(' ');
+ text.append(pageSpecification);
+ }
}
- return text;
+ return text.toString();
}
void CSSPageRule::setSelectorText(const String& selectorText)
@@ -74,17 +78,20 @@ void CSSPageRule::setSelectorText(const String& selectorText)
CSSStyleSheet::RuleMutationScope mutationScope(this);
- String oldSelectorText = this->selectorText();
m_pageRule->wrapperAdoptSelectorList(selectorList);
}
String CSSPageRule::cssText() const
{
- String result = selectorText();
- result += " { ";
- result += m_pageRule->properties()->asText();
- result += "}";
- return result;
+ StringBuilder result;
+ result.append(selectorText());
+ result.appendLiteral(" { ");
+ String decls = m_pageRule->properties()->asText();
+ result.append(decls);
+ if (!decls.isEmpty())
+ result.append(' ');
+ result.append('}');
+ return result.toString();
}
void CSSPageRule::reattach(StyleRulePage* rule)
@@ -97,7 +104,7 @@ void CSSPageRule::reattach(StyleRulePage* rule)
void CSSPageRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_pageRule);
info.addInstrumentedMember(m_propertiesCSSOMWrapper);
diff --git a/Source/WebCore/css/CSSParser.cpp b/Source/WebCore/css/CSSParser.cpp
index 7a5ea37d3..28ce13157 100644
--- a/Source/WebCore/css/CSSParser.cpp
+++ b/Source/WebCore/css/CSSParser.cpp
@@ -27,6 +27,7 @@
#include "CSSParser.h"
#include "CSSAspectRatioValue.h"
+#include "CSSBasicShapes.h"
#include "CSSBorderImage.h"
#include "CSSCanvasValue.h"
#include "CSSCrossfadeValue.h"
@@ -56,7 +57,6 @@
#if ENABLE(CSS_VARIABLES)
#include "CSSVariableValue.h"
#endif
-#include "CSSWrapShapes.h"
#include "Counter.h"
#include "Document.h"
#include "FloatConversion.h"
@@ -91,6 +91,7 @@
#include <wtf/dtoa.h>
#include <wtf/text/StringBuffer.h>
#include <wtf/text/StringBuilder.h>
+#include <wtf/text/StringImpl.h>
#if ENABLE(CSS_IMAGE_SET)
#include "CSSImageSetValue.h"
@@ -104,6 +105,7 @@
#endif
#if ENABLE(CSS_SHADERS)
+#include "WebKitCSSArrayFunctionValue.h"
#include "WebKitCSSMixFunctionValue.h"
#include "WebKitCSSShaderValue.h"
#endif
@@ -155,27 +157,24 @@ namespace WebCore {
static const unsigned INVALID_NUM_PARSED_PROPERTIES = UINT_MAX;
static const double MAX_SCALE = 1000000;
-static bool equal(const CSSParserString& a, const char* b)
+template <unsigned N>
+static bool equal(const CSSParserString& a, const char (&b)[N])
{
- for (int i = 0; i < a.length; ++i) {
- if (!b[i])
- return false;
- if (a.characters[i] != b[i])
- return false;
- }
- return !b[a.length];
+ unsigned length = N - 1; // Ignore the trailing null character
+ if (a.length() != length)
+ return false;
+
+ return a.is8Bit() ? WTF::equal(a.characters8(), reinterpret_cast<const LChar*>(b), length) : WTF::equal(a.characters16(), reinterpret_cast<const LChar*>(b), length);
}
-static bool equalIgnoringCase(const CSSParserString& a, const char* b)
+template <unsigned N>
+static bool equalIgnoringCase(const CSSParserString& a, const char (&b)[N])
{
- for (int i = 0; i < a.length; ++i) {
- if (!b[i])
- return false;
- ASSERT(!isASCIIUpper(b[i]));
- if (toASCIILower(a.characters[i]) != b[i])
- return false;
- }
- return !b[a.length];
+ unsigned length = N - 1; // Ignore the trailing null character
+ if (a.length() != length)
+ return false;
+
+ return a.is8Bit() ? WTF::equalIgnoringCase(b, a.characters8(), length) : WTF::equalIgnoringCase(b, a.characters16(), length);
}
static bool hasPrefix(const char* string, unsigned length, const char* prefix)
@@ -260,8 +259,10 @@ CSSParser::CSSParser(const CSSParserContext& context)
, m_propertyRange(UINT_MAX, UINT_MAX)
, m_ruleSourceDataResult(0)
, m_parsingMode(NormalMode)
- , m_currentCharacter(0)
- , m_tokenStart(0)
+ , m_is8BitSource(false)
+ , m_currentCharacter8(0)
+ , m_currentCharacter16(0)
+ , m_length(0)
, m_token(0)
, m_lineNumber(0)
, m_lastSelectorLineNumber(0)
@@ -272,6 +273,7 @@ CSSParser::CSSParser(const CSSParserContext& context)
#if YYDEBUG > 0
cssyydebug = 1;
#endif
+ m_tokenStart.ptr8 = 0;
CSSPropertySourceData::init();
}
@@ -285,7 +287,8 @@ CSSParser::~CSSParser()
deleteAllValues(m_floatingFunctions);
}
-void CSSParserString::lower()
+template <typename CharacterType>
+ALWAYS_INLINE static void makeLower(CharacterType* characters, unsigned length)
{
// FIXME: If we need Unicode lowercasing here, then we probably want the real kind
// that can potentially change the length of the string rather than the character
@@ -294,33 +297,73 @@ void CSSParserString::lower()
if (charactersAreAllASCII(characters, length)) {
// Fast case for all-ASCII.
- for (int i = 0; i < length; i++)
+ for (unsigned i = 0; i < length; i++)
characters[i] = toASCIILower(characters[i]);
} else {
- for (int i = 0; i < length; i++)
+ for (unsigned i = 0; i < length; i++)
characters[i] = Unicode::toLower(characters[i]);
}
}
+void CSSParserString::lower()
+{
+ if (is8Bit()) {
+ makeLower(characters8(), length());
+ return;
+ }
+
+ makeLower(characters16(), length());
+}
+
void CSSParser::setupParser(const char* prefix, const String& string, const char* suffix)
{
m_parsedTextPrefixLength = strlen(prefix);
- int length = string.length() + m_parsedTextPrefixLength + strlen(suffix) + 1;
+ unsigned stringLength = string.length();
+ unsigned length = stringLength + m_parsedTextPrefixLength + strlen(suffix) + 1;
+
+ if (!stringLength || string.is8Bit()) {
+ m_dataStart8 = adoptArrayPtr(new LChar[length]);
+ for (unsigned i = 0; i < m_parsedTextPrefixLength; i++)
+ m_dataStart8[i] = prefix[i];
+
+ if (stringLength)
+ memcpy(m_dataStart8.get() + m_parsedTextPrefixLength, string.characters8(), stringLength * sizeof(LChar));
+
+ unsigned start = m_parsedTextPrefixLength + stringLength;
+ unsigned end = start + strlen(suffix);
+ for (unsigned i = start; i < end; i++)
+ m_dataStart8[i] = suffix[i - start];
+
+ m_dataStart8[length - 1] = 0;
+
+ m_is8BitSource = true;
+ m_currentCharacter8 = m_dataStart8.get();
+ m_currentCharacter16 = 0;
+ setTokenStart<LChar>(m_currentCharacter8);
+ m_length = length;
+ m_lexFunc = &CSSParser::realLex<LChar>;
+ return;
+ }
- m_dataStart = adoptArrayPtr(new UChar[length]);
+ m_dataStart16 = adoptArrayPtr(new UChar[length]);
for (unsigned i = 0; i < m_parsedTextPrefixLength; i++)
- m_dataStart[i] = prefix[i];
+ m_dataStart16[i] = prefix[i];
- memcpy(m_dataStart.get() + m_parsedTextPrefixLength, string.characters(), string.length() * sizeof(UChar));
+ memcpy(m_dataStart16.get() + m_parsedTextPrefixLength, string.characters(), stringLength * sizeof(UChar));
- unsigned start = m_parsedTextPrefixLength + string.length();
+ unsigned start = m_parsedTextPrefixLength + stringLength;
unsigned end = start + strlen(suffix);
for (unsigned i = start; i < end; i++)
- m_dataStart[i] = suffix[i - start];
+ m_dataStart16[i] = suffix[i - start];
- m_dataStart[length - 1] = 0;
+ m_dataStart16[length - 1] = 0;
- m_currentCharacter = m_tokenStart = m_dataStart.get();
+ m_is8BitSource = false;
+ m_currentCharacter8 = 0;
+ m_currentCharacter16 = m_dataStart16.get();
+ setTokenStart<UChar>(m_currentCharacter16);
+ m_length = length;
+ m_lexFunc = &CSSParser::realLex<UChar>;
}
void CSSParser::parseSheet(StyleSheetContents* sheet, const String& string, int startLineNumber, RuleSourceDataList* ruleSourceDataResult)
@@ -390,8 +433,7 @@ static bool parseColorValue(StylePropertySet* declaration, CSSPropertyID propert
if (!isColorPropertyID(propertyId))
return false;
CSSParserString cssString;
- cssString.characters = const_cast<UChar*>(string.characters());
- cssString.length = string.length();
+ cssString.init(string);
int valueID = cssValueKeywordID(cssString);
bool validPrimitive = false;
if (valueID == CSSValueWebkitText)
@@ -464,8 +506,8 @@ static inline bool isSimpleLengthPropertyID(CSSPropertyID propertyId, bool& acce
}
}
-template <typename CharType>
-static inline bool parseSimpleLength(const CharType* characters, unsigned& length, CSSPrimitiveValue::UnitTypes& unit, double& number)
+template <typename CharacterType>
+static inline bool parseSimpleLength(const CharacterType* characters, unsigned& length, CSSPrimitiveValue::UnitTypes& unit, double& number)
{
if (length > 2 && (characters[length - 2] | 0x20) == 'p' && (characters[length - 1] | 0x20) == 'x') {
length -= 2;
@@ -558,12 +600,8 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
// inline-table | table-row-group | table-header-group | table-footer-group | table-row |
// table-column-group | table-column | table-cell | table-caption | -webkit-box | -webkit-inline-box | none | inherit
// -webkit-flex | -webkit-inline-flex | -webkit-grid | -webkit-inline-grid
- if ((valueID >= CSSValueInline && valueID <= CSSValueWebkitInlineBox) || valueID == CSSValueNone)
+ if ((valueID >= CSSValueInline && valueID <= CSSValueWebkitInlineFlex) || valueID == CSSValueNone)
return true;
-#if ENABLE(CSS3_FLEXBOX)
- if (valueID == CSSValueWebkitFlex || valueID == CSSValueWebkitInlineFlex)
- return true;
-#endif
if (parserContext.isCSSGridLayoutEnabled && (valueID == CSSValueWebkitGrid || valueID == CSSValueWebkitInlineGrid))
return true;
break;
@@ -598,6 +636,11 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
if (valueID == CSSValueAuto || valueID == CSSValueNone || (valueID >= CSSValueInset && valueID <= CSSValueDouble))
return true;
break;
+ case CSSPropertyOverflowWrap: // normal | break-word
+ case CSSPropertyWordWrap:
+ if (valueID == CSSValueNormal || valueID == CSSValueBreakWord)
+ return true;
+ break;
case CSSPropertyOverflowX: // visible | hidden | scroll | auto | marquee | overlay | inherit
if (valueID == CSSValueVisible || valueID == CSSValueHidden || valueID == CSSValueScroll || valueID == CSSValueAuto || valueID == CSSValueOverlay || valueID == CSSValueWebkitMarquee)
return true;
@@ -723,7 +766,6 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
if (valueID == CSSValueSrgb || valueID == CSSValueDefault)
return true;
break;
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitAlignContent:
if (valueID == CSSValueFlexStart || valueID == CSSValueFlexEnd || valueID == CSSValueCenter || valueID == CSSValueSpaceBetween || valueID == CSSValueSpaceAround || valueID == CSSValueStretch)
return true;
@@ -748,7 +790,6 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
if (valueID == CSSValueFlexStart || valueID == CSSValueFlexEnd || valueID == CSSValueCenter || valueID == CSSValueSpaceBetween || valueID == CSSValueSpaceAround)
return true;
break;
-#endif
case CSSPropertyWebkitFontKerning:
if (valueID == CSSValueAuto || valueID == CSSValueNormal || valueID == CSSValueNone)
return true;
@@ -881,10 +922,6 @@ static inline bool isValidKeywordPropertyAndValue(CSSPropertyID propertyId, int
if (valueID == CSSValueNormal || valueID == CSSValueBreakAll || valueID == CSSValueBreakWord)
return true;
break;
- case CSSPropertyWordWrap: // normal | break-word
- if (valueID == CSSValueNormal || valueID == CSSValueBreakWord)
- return true;
- break;
default:
ASSERT_NOT_REACHED();
return false;
@@ -912,6 +949,7 @@ static inline bool isKeywordPropertyID(CSSPropertyID propertyId)
case CSSPropertyListStylePosition:
case CSSPropertyListStyleType:
case CSSPropertyOutlineStyle:
+ case CSSPropertyOverflowWrap:
case CSSPropertyOverflowX:
case CSSPropertyOverflowY:
case CSSPropertyPageBreakAfter:
@@ -955,14 +993,12 @@ static inline bool isKeywordPropertyID(CSSPropertyID propertyId)
case CSSPropertyWebkitColumnBreakBefore:
case CSSPropertyWebkitColumnBreakInside:
case CSSPropertyWebkitColumnRuleStyle:
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitAlignContent:
case CSSPropertyWebkitAlignItems:
case CSSPropertyWebkitAlignSelf:
case CSSPropertyWebkitFlexDirection:
case CSSPropertyWebkitFlexWrap:
case CSSPropertyWebkitJustifyContent:
-#endif
case CSSPropertyWebkitFontKerning:
case CSSPropertyWebkitFontSmoothing:
case CSSPropertyWebkitHyphens:
@@ -1017,8 +1053,7 @@ static bool parseKeywordValue(StylePropertySet* declaration, CSSPropertyID prope
return false;
CSSParserString cssString;
- cssString.characters = const_cast<UChar*>(string.characters());
- cssString.length = string.length();
+ cssString.init(string);
int valueID = cssValueKeywordID(cssString);
if (!valueID)
@@ -1038,8 +1073,8 @@ static bool parseKeywordValue(StylePropertySet* declaration, CSSPropertyID prope
return true;
}
-template <typename CharType>
-static bool parseTransformArguments(WebKitCSSTransformValue* transformValue, CharType* characters, unsigned length, unsigned start, unsigned expectedCount)
+template <typename CharacterType>
+static bool parseTransformArguments(WebKitCSSTransformValue* transformValue, CharacterType* characters, unsigned length, unsigned start, unsigned expectedCount)
{
while (expectedCount) {
size_t end = WTF::find(characters, length, expectedCount == 1 ? ')' : ',', start);
@@ -1222,8 +1257,7 @@ bool CSSParser::parseSystemColor(RGBA32& color, const String& string, Document*
return false;
CSSParserString cssColor;
- cssColor.characters = const_cast<UChar*>(string.characters());
- cssColor.length = string.length();
+ cssColor.init(string);
int id = cssValueKeywordID(cssColor);
if (id <= 0)
return false;
@@ -1443,6 +1477,11 @@ bool CSSParser::validCalculationUnit(CSSParserValue* value, Units unitflags)
case CalcPercentNumber:
b = (unitflags & FPercent) && (unitflags & FNumber);
break;
+#if ENABLE(CSS_VARIABLES)
+ case CalcVariable:
+ b = true;
+ break;
+#endif
case CalcOther:
break;
}
@@ -2304,7 +2343,6 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
validPrimitive = true;
break;
#endif
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex: {
ShorthandScope scope(this, propId);
if (id == CSSValueNone) {
@@ -2334,7 +2372,6 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
m_valueList->next();
}
break;
-#endif
case CSSPropertyWebkitMarquee:
return parseShorthand(propId, webkitMarqueeShorthand(), important);
case CSSPropertyWebkitMarqueeIncrement:
@@ -2656,10 +2693,8 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
case CSSPropertyPadding:
// <padding-width>{1,4} | inherit
return parse4Values(propId, paddingShorthand().properties(), important);
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexFlow:
return parseShorthand(propId, webkitFlexFlowShorthand(), important);
-#endif
case CSSPropertyFont:
// [ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]?
// 'font-family' ] | caption | icon | menu | message-box | small-caption | status-bar | inherit
@@ -2721,6 +2756,12 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
else
return parseFontVariantLigatures(important);
break;
+ case CSSPropertyWebkitClipPath:
+ if (id == CSSValueNone)
+ validPrimitive = true;
+ else if (value->unit == CSSParserValue::Function)
+ return parseBasicShape(propId, important);
+ break;
#if ENABLE(CSS_EXCLUSIONS)
case CSSPropertyWebkitShapeInside:
case CSSPropertyWebkitShapeOutside:
@@ -2729,7 +2770,7 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
if (id == CSSValueAuto)
validPrimitive = true;
else if (value->unit == CSSParserValue::Function)
- return parseExclusionShape((propId == CSSPropertyWebkitShapeInside), important);
+ return parseBasicShape(propId, important);
break;
case CSSPropertyWebkitWrapMargin:
case CSSPropertyWebkitWrapPadding:
@@ -2768,6 +2809,7 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
case CSSPropertyListStylePosition:
case CSSPropertyListStyleType:
case CSSPropertyOutlineStyle:
+ case CSSPropertyOverflowWrap:
case CSSPropertyOverflowX:
case CSSPropertyOverflowY:
case CSSPropertyPageBreakAfter:
@@ -2811,14 +2853,12 @@ bool CSSParser::parseValue(CSSPropertyID propId, bool important)
case CSSPropertyWebkitColumnBreakBefore:
case CSSPropertyWebkitColumnBreakInside:
case CSSPropertyWebkitColumnRuleStyle:
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitAlignContent:
case CSSPropertyWebkitAlignItems:
case CSSPropertyWebkitAlignSelf:
case CSSPropertyWebkitFlexDirection:
case CSSPropertyWebkitFlexWrap:
case CSSPropertyWebkitJustifyContent:
-#endif
case CSSPropertyWebkitFontKerning:
case CSSPropertyWebkitFontSmoothing:
case CSSPropertyWebkitHyphens:
@@ -3065,8 +3105,8 @@ void CSSParser::storeVariableDeclaration(const CSSParserString& name, PassOwnPtr
if (!value)
return;
- ASSERT(name.length > 12);
- AtomicString variableName = String(name.characters + 12, name.length - 12);
+ ASSERT(name.length() > 12);
+ AtomicString variableName = name.is8Bit() ? AtomicString(name.characters8() + 12, name.length() - 12) : AtomicString(name.characters16() + 12, name.length() - 12);
StringBuilder builder;
for (unsigned i = 0, size = value->size(); i < size; i++) {
@@ -4307,7 +4347,7 @@ bool CSSParser::parseDashboardRegions(CSSPropertyID propId, bool important)
}
bool validFunctionName = false;
#if ENABLE(DASHBOARD_SUPPORT)
- static const char* const dashboardRegionFunctionName = "dashboard-region(";
+ static const char dashboardRegionFunctionName[] = "dashboard-region(";
if (equalIgnoringCase(value->function->name, dashboardRegionFunctionName)) {
validFunctionName = true;
#if ENABLE(DASHBOARD_SUPPORT) && ENABLE(WIDGET_REGION)
@@ -4317,7 +4357,7 @@ bool CSSParser::parseDashboardRegions(CSSPropertyID propId, bool important)
}
#endif
#if ENABLE(WIDGET_REGION)
- static const char* const widgetRegionFunctionName = "region(";
+ static const char widgetRegionFunctionName[] = "region(";
if (equalIgnoringCase(value->function->name, widgetRegionFunctionName)) {
validFunctionName = true;
#if ENABLE(DASHBOARD_SUPPORT) && ENABLE(WIDGET_REGION)
@@ -4515,9 +4555,7 @@ bool CSSParser::parseClipShape(CSSPropertyID propId, bool important)
return false;
}
-#if ENABLE(CSS_EXCLUSIONS)
-
-PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeRectangle(CSSParserValueList* args)
+PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeRectangle(CSSParserValueList* args)
{
ASSERT(args);
@@ -4525,7 +4563,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeRectangle(CSSParserValueL
if (args->size() != 7 && args->size() != 9 && args->size() != 11)
return 0;
- RefPtr<CSSWrapShapeRectangle> shape = CSSWrapShapeRectangle::create();
+ RefPtr<CSSBasicShapeRectangle> shape = CSSBasicShapeRectangle::create();
unsigned argumentNumber = 0;
CSSParserValue* argument = args->current();
@@ -4575,7 +4613,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeRectangle(CSSParserValueL
return shape;
}
-PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeCircle(CSSParserValueList* args)
+PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeCircle(CSSParserValueList* args)
{
ASSERT(args);
@@ -4583,7 +4621,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeCircle(CSSParserValueList
if (args->size() != 5)
return 0;
- RefPtr<CSSWrapShapeCircle> shape = CSSWrapShapeCircle::create();
+ RefPtr<CSSBasicShapeCircle> shape = CSSBasicShapeCircle::create();
unsigned argumentNumber = 0;
CSSParserValue* argument = args->current();
@@ -4625,7 +4663,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeCircle(CSSParserValueList
return shape;
}
-PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeEllipse(CSSParserValueList* args)
+PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapeEllipse(CSSParserValueList* args)
{
ASSERT(args);
@@ -4633,7 +4671,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeEllipse(CSSParserValueLis
if (args->size() != 7)
return 0;
- RefPtr<CSSWrapShapeEllipse> shape = CSSWrapShapeEllipse::create();
+ RefPtr<CSSBasicShapeEllipse> shape = CSSBasicShapeEllipse::create();
unsigned argumentNumber = 0;
CSSParserValue* argument = args->current();
while (argument) {
@@ -4676,7 +4714,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapeEllipse(CSSParserValueLis
return shape;
}
-PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapePolygon(CSSParserValueList* args)
+PassRefPtr<CSSBasicShape> CSSParser::parseBasicShapePolygon(CSSParserValueList* args)
{
ASSERT(args);
@@ -4684,7 +4722,7 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapePolygon(CSSParserValueLis
if (!size)
return 0;
- RefPtr<CSSWrapShapePolygon> shape = CSSWrapShapePolygon::create();
+ RefPtr<CSSBasicShapePolygon> shape = CSSBasicShapePolygon::create();
CSSParserValue* argument = args->current();
if (argument->id == CSSValueEvenodd || argument->id == CSSValueNonzero) {
@@ -4727,36 +4765,33 @@ PassRefPtr<CSSWrapShape> CSSParser::parseExclusionShapePolygon(CSSParserValueLis
return shape;
}
-bool CSSParser::parseExclusionShape(bool shapeInside, bool important)
+bool CSSParser::parseBasicShape(CSSPropertyID propId, bool important)
{
CSSParserValue* value = m_valueList->current();
+ ASSERT(value->unit == CSSParserValue::Function);
CSSParserValueList* args = value->function->args.get();
if (!args)
return false;
- RefPtr<CSSWrapShape> shape;
-
+ RefPtr<CSSBasicShape> shape;
if (equalIgnoringCase(value->function->name, "rectangle("))
- shape = parseExclusionShapeRectangle(args);
+ shape = parseBasicShapeRectangle(args);
else if (equalIgnoringCase(value->function->name, "circle("))
- shape = parseExclusionShapeCircle(args);
+ shape = parseBasicShapeCircle(args);
else if (equalIgnoringCase(value->function->name, "ellipse("))
- shape = parseExclusionShapeEllipse(args);
+ shape = parseBasicShapeEllipse(args);
else if (equalIgnoringCase(value->function->name, "polygon("))
- shape = parseExclusionShapePolygon(args);
+ shape = parseBasicShapePolygon(args);
- if (shape) {
- addProperty(shapeInside ? CSSPropertyWebkitShapeInside : CSSPropertyWebkitShapeOutside, cssValuePool().createValue(shape.release()), important);
- m_valueList->next();
- return true;
- }
+ if (!shape)
+ return false;
- return false;
+ addProperty(propId, cssValuePool().createValue(shape.release()), important);
+ m_valueList->next();
+ return true;
}
-#endif
-
// [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family'
bool CSSParser::parseFont(bool important)
{
@@ -4843,7 +4878,13 @@ public:
{
if (!m_builder.isEmpty())
m_builder.append(' ');
- m_builder.append(string.characters, string.length);
+
+ if (string.is8Bit()) {
+ m_builder.append(string.characters8(), string.length());
+ return;
+ }
+
+ m_builder.append(string.characters16(), string.length());
}
void commit()
@@ -5196,7 +5237,8 @@ bool CSSParser::parseFontFaceUnicodeRange()
// Returns the number of characters which form a valid double
// and are terminated by the given terminator character
-static int checkForValidDouble(const UChar* string, const UChar* end, const char terminator)
+template <typename CharacterType>
+static int checkForValidDouble(const CharacterType* string, const CharacterType* end, const char terminator)
{
int length = end - string;
if (length < 1)
@@ -5226,7 +5268,8 @@ static int checkForValidDouble(const UChar* string, const UChar* end, const char
// Returns the number of characters consumed for parsing a valid double
// terminated by the given terminator character
-static int parseDouble(const UChar* string, const UChar* end, const char terminator, double& value)
+template <typename CharacterType>
+static int parseDouble(const CharacterType* string, const CharacterType* end, const char terminator, double& value)
{
int length = checkForValidDouble(string, end, terminator);
if (!length)
@@ -5260,9 +5303,10 @@ static int parseDouble(const UChar* string, const UChar* end, const char termina
return length;
}
-static bool parseColorIntOrPercentage(const UChar*& string, const UChar* end, const char terminator, CSSPrimitiveValue::UnitTypes& expect, int& value)
+template <typename CharacterType>
+static bool parseColorIntOrPercentage(const CharacterType*& string, const CharacterType* end, const char terminator, CSSPrimitiveValue::UnitTypes& expect, int& value)
{
- const UChar* current = string;
+ const CharacterType* current = string;
double localValue = 0;
bool negative = false;
while (current != end && isHTMLSpace(*current))
@@ -5327,7 +5371,8 @@ static bool parseColorIntOrPercentage(const UChar*& string, const UChar* end, co
return true;
}
-static inline bool isTenthAlpha(const UChar* string, const int length)
+template <typename CharacterType>
+static inline bool isTenthAlpha(const CharacterType* string, const int length)
{
// "0.X"
if (length == 3 && string[0] == '0' && string[1] == '.' && isASCIIDigit(string[2]))
@@ -5340,7 +5385,8 @@ static inline bool isTenthAlpha(const UChar* string, const int length)
return false;
}
-static inline bool parseAlphaValue(const UChar*& string, const UChar* end, const char terminator, int& value)
+template <typename CharacterType>
+static inline bool parseAlphaValue(const CharacterType*& string, const CharacterType* end, const char terminator, int& value)
{
while (string != end && isHTMLSpace(*string))
string++;
@@ -5391,7 +5437,8 @@ static inline bool parseAlphaValue(const UChar*& string, const UChar* end, const
return true;
}
-static inline bool mightBeRGBA(const UChar* characters, unsigned length)
+template <typename CharacterType>
+static inline bool mightBeRGBA(const CharacterType* characters, unsigned length)
{
if (length < 5)
return false;
@@ -5402,7 +5449,8 @@ static inline bool mightBeRGBA(const UChar* characters, unsigned length)
&& isASCIIAlphaCaselessEqual(characters[3], 'a');
}
-static inline bool mightBeRGB(const UChar* characters, unsigned length)
+template <typename CharacterType>
+static inline bool mightBeRGB(const CharacterType* characters, unsigned length)
{
if (length < 4)
return false;
@@ -5412,14 +5460,13 @@ static inline bool mightBeRGB(const UChar* characters, unsigned length)
&& isASCIIAlphaCaselessEqual(characters[2], 'b');
}
-bool CSSParser::fastParseColor(RGBA32& rgb, const String& name, bool strict)
+template <typename CharacterType>
+static inline bool fastParseColorInternal(RGBA32& rgb, const CharacterType* characters, unsigned length , bool strict)
{
- const UChar* characters = name.characters();
- unsigned length = name.length();
CSSPrimitiveValue::UnitTypes expect = CSSPrimitiveValue::CSS_UNKNOWN;
-
+
if (!strict && length >= 3) {
- if (name[0] == '#') {
+ if (characters[0] == '#') {
if (Color::parseHexColor(characters + 1, length - 1, rgb))
return true;
} else {
@@ -5430,13 +5477,13 @@ bool CSSParser::fastParseColor(RGBA32& rgb, const String& name, bool strict)
// Try rgba() syntax.
if (mightBeRGBA(characters, length)) {
- const UChar* current = characters + 5;
- const UChar* end = characters + length;
+ const CharacterType* current = characters + 5;
+ const CharacterType* end = characters + length;
int red;
int green;
int blue;
int alpha;
-
+
if (!parseColorIntOrPercentage(current, end, ',', expect, red))
return false;
if (!parseColorIntOrPercentage(current, end, ',', expect, green))
@@ -5453,8 +5500,8 @@ bool CSSParser::fastParseColor(RGBA32& rgb, const String& name, bool strict)
// Try rgb() syntax.
if (mightBeRGB(characters, length)) {
- const UChar* current = characters + 4;
- const UChar* end = characters + length;
+ const CharacterType* current = characters + 4;
+ const CharacterType* end = characters + length;
int red;
int green;
int blue;
@@ -5470,6 +5517,25 @@ bool CSSParser::fastParseColor(RGBA32& rgb, const String& name, bool strict)
return true;
}
+ return false;
+}
+
+bool CSSParser::fastParseColor(RGBA32& rgb, const String& name, bool strict)
+{
+ unsigned length = name.length();
+ bool parseResult;
+
+ if (!length)
+ return false;
+
+ if (name.is8Bit())
+ parseResult = fastParseColorInternal(rgb, name.characters8(), length, strict);
+ else
+ parseResult = fastParseColorInternal(rgb, name.characters(), length, strict);
+
+ if (parseResult)
+ return true;
+
// Try named colors.
Color tc;
tc.setNamedColor(name);
@@ -5478,6 +5544,7 @@ bool CSSParser::fastParseColor(RGBA32& rgb, const String& name, bool strict)
return true;
}
return false;
+
}
inline double CSSParser::parsedDouble(CSSParserValue *v, ReleaseParsedCalcValueCondition releaseCalc)
@@ -5891,8 +5958,6 @@ bool CSSParser::parseReflect(CSSPropertyID propId, bool important)
return true;
}
-#if ENABLE(CSS3_FLEXBOX)
-
bool CSSParser::parseFlex(CSSParserValueList* args, bool important)
{
if (!args || !args->size() || args->size() > 3)
@@ -5937,8 +6002,6 @@ bool CSSParser::parseFlex(CSSParserValueList* args, bool important)
return true;
}
-#endif
-
struct BorderImageParseContext {
BorderImageParseContext()
: m_canAdvance(false)
@@ -7180,9 +7243,16 @@ PassRefPtr<CSSValue> CSSParser::parseImageSet(CSSParserValueList* valueList)
double imageScaleFactor = 0;
const String& string = arg->string;
- const UChar* current = string.characters();
- const UChar* end = current + string.length();
- parseDouble(current, end, 'x', imageScaleFactor);
+ unsigned length = string.length();
+ if (!length)
+ return 0;
+ if (string.is8Bit()) {
+ const LChar* start = string.characters8();
+ parseDouble(start, start + length, 'x', imageScaleFactor);
+ } else {
+ const UChar* start = string.characters();
+ parseDouble(start, start + length, 'x', imageScaleFactor);
+ }
if (imageScaleFactor <= 0)
return 0;
imageSet->append(cssValuePool().createValue(imageScaleFactor, CSSPrimitiveValue::CSS_NUMBER));
@@ -7207,10 +7277,10 @@ PassRefPtr<CSSValue> CSSParser::parseImageSet(CSSParserValueList* valueList)
class TransformOperationInfo {
public:
TransformOperationInfo(const CSSParserString& name)
- : m_type(WebKitCSSTransformValue::UnknownTransformOperation)
- , m_argCount(1)
- , m_allowSingleArgument(false)
- , m_unit(CSSParser::FUnknown)
+ : m_type(WebKitCSSTransformValue::UnknownTransformOperation)
+ , m_argCount(1)
+ , m_allowSingleArgument(false)
+ , m_unit(CSSParser::FUnknown)
{
if (equalIgnoringCase(name, "scale(") || equalIgnoringCase(name, "scalex(") || equalIgnoringCase(name, "scaley(") || equalIgnoringCase(name, "scalez(")) {
m_unit = CSSParser::FNumber;
@@ -7437,6 +7507,41 @@ static bool acceptCommaOperator(CSSParserValueList* argsList)
return true;
}
+PassRefPtr<WebKitCSSArrayFunctionValue> CSSParser::parseCustomFilterArrayFunction(CSSParserValue* value)
+{
+ ASSERT(value->unit == CSSParserValue::Function && value->function);
+
+ if (!equalIgnoringCase(value->function->name, "array("))
+ return 0;
+
+ CSSParserValueList* arrayArgsParserValueList = value->function->args.get();
+ if (!arrayArgsParserValueList || !arrayArgsParserValueList->size())
+ return 0;
+
+ // array() values are comma separated.
+ RefPtr<WebKitCSSArrayFunctionValue> arrayFunction = WebKitCSSArrayFunctionValue::create();
+ while (true) {
+ // We parse pairs <Value, Comma> at each step.
+ CSSParserValue* currentParserValue = arrayArgsParserValueList->current();
+ if (!currentParserValue || !validUnit(currentParserValue, FNumber, CSSStrictMode))
+ return 0;
+
+ RefPtr<CSSValue> arrayValue = cssValuePool().createValue(currentParserValue->fValue, CSSPrimitiveValue::CSS_NUMBER);
+ arrayFunction->append(arrayValue.release());
+
+ CSSParserValue* nextParserValue = arrayArgsParserValueList->next();
+ if (!nextParserValue)
+ break;
+
+ if (!isComma(nextParserValue))
+ return 0;
+
+ arrayArgsParserValueList->next();
+ }
+
+ return arrayFunction;
+}
+
PassRefPtr<WebKitCSSMixFunctionValue> CSSParser::parseMixFunction(CSSParserValue* value)
{
ASSERT(value->unit == CSSParserValue::Function && value->function);
@@ -7445,6 +7550,9 @@ PassRefPtr<WebKitCSSMixFunctionValue> CSSParser::parseMixFunction(CSSParserValue
return 0;
CSSParserValueList* argsList = value->function->args.get();
+ if (!argsList)
+ return 0;
+
unsigned numArgs = argsList->size();
if (numArgs < 1 || numArgs > 3)
return 0;
@@ -7602,13 +7710,19 @@ PassRefPtr<WebKitCSSFilterValue> CSSParser::parseCustomFilter(CSSParserValue* va
RefPtr<CSSValue> parameterValue;
- if (arg->unit == CSSParserValue::Function && arg->function)
+ if (arg->unit == CSSParserValue::Function && arg->function) {
// TODO: Implement other parameters types parsing.
// textures: https://bugs.webkit.org/show_bug.cgi?id=71442
// mat2, mat3, mat4: https://bugs.webkit.org/show_bug.cgi?id=71444
- // array: https://bugs.webkit.org/show_bug.cgi?id=94226
// 3d-transform shall be the last to be checked
- parameterValue = parseCustomFilterTransform(argsList);
+ if (equalIgnoringCase(arg->function->name, "array(")) {
+ parameterValue = parseCustomFilterArrayFunction(arg);
+ // This parsing step only consumes function arguments,
+ // argsList is therefore moved forward explicitely.
+ argsList->next();
+ } else
+ parameterValue = parseCustomFilterTransform(argsList);
+ }
else {
RefPtr<CSSValueList> paramValueList = CSSValueList::createSpaceSeparated();
while ((arg = argsList->current())) {
@@ -8143,17 +8257,17 @@ bool CSSParser::parseLineBoxContain(bool important)
bool CSSParser::parseFontFeatureTag(CSSValueList* settings)
{
// Feature tag name consists of 4-letter characters.
- static const int tagNameLength = 4;
+ static const unsigned tagNameLength = 4;
CSSParserValue* value = m_valueList->current();
// Feature tag name comes first
if (value->unit != CSSPrimitiveValue::CSS_STRING)
return false;
- if (value->string.length != tagNameLength)
+ if (value->string.length() != tagNameLength)
return false;
- for (int i = 0; i < tagNameLength; ++i) {
+ for (unsigned i = 0; i < tagNameLength; ++i) {
// Limits the range of characters to 0x20-0x7E, following the tag name rules defiend in the OpenType specification.
- UChar character = value->string.characters[i];
+ UChar character = value->string[i];
if (character < 0x20 || character > 0x7E)
return false;
}
@@ -8434,30 +8548,35 @@ static const CharacterType typesOfASCIICharacters[128] = {
// Utility functions for the CSS tokenizer.
-static inline bool isCSSLetter(UChar character)
+template <typename CharacterType>
+static inline bool isCSSLetter(CharacterType character)
{
return character >= 128 || typesOfASCIICharacters[character] <= CharacterDash;
}
-static inline bool isCSSEscape(UChar character)
+template <typename CharacterType>
+static inline bool isCSSEscape(CharacterType character)
{
return character >= ' ' && character != 127;
}
-static inline bool isURILetter(UChar character)
+template <typename CharacterType>
+static inline bool isURILetter(CharacterType character)
{
return (character >= '*' && character != 127) || (character >= '#' && character <= '&') || character == '!';
}
-static inline bool isIdentifierStartAfterDash(UChar* currentCharacter)
+template <typename CharacterType>
+static inline bool isIdentifierStartAfterDash(CharacterType* currentCharacter)
{
return isASCIIAlpha(currentCharacter[0]) || currentCharacter[0] == '_' || currentCharacter[0] >= 128
|| (currentCharacter[0] == '\\' && isCSSEscape(currentCharacter[1]));
}
-static inline bool isEqualToCSSIdentifier(UChar* cssString, const char* constantString)
+template <typename CharacterType>
+static inline bool isEqualToCSSIdentifier(CharacterType* cssString, const char* constantString)
{
- // Compare an UChar memory data with a zero terminated string.
+ // Compare an character memory data with a zero terminated string.
do {
// The input must be part of an identifier if constantChar or constString
// contains '-'. Otherwise toASCIILowerUnchecked('\r') would be equal to '-'.
@@ -8469,7 +8588,8 @@ static inline bool isEqualToCSSIdentifier(UChar* cssString, const char* constant
return true;
}
-static UChar* checkAndSkipEscape(UChar* currentCharacter)
+template <typename CharacterType>
+static CharacterType* checkAndSkipEscape(CharacterType* currentCharacter)
{
// Returns with 0, if escape check is failed. Otherwise
// it returns with the following character.
@@ -8494,7 +8614,8 @@ static UChar* checkAndSkipEscape(UChar* currentCharacter)
return currentCharacter + 1;
}
-static inline UChar* skipWhiteSpace(UChar* currentCharacter)
+template <typename CharacterType>
+static inline CharacterType* skipWhiteSpace(CharacterType* currentCharacter)
{
while (isHTMLSpace(*currentCharacter))
++currentCharacter;
@@ -8503,13 +8624,55 @@ static inline UChar* skipWhiteSpace(UChar* currentCharacter)
// Main CSS tokenizer functions.
+template <>
+LChar* CSSParserString::characters<LChar>() const { return characters8(); }
+
+template <>
+UChar* CSSParserString::characters<UChar>() const { return characters16(); }
+
+template <>
+inline LChar*& CSSParser::currentCharacter<LChar>()
+{
+ return m_currentCharacter8;
+}
+
+template <>
+inline UChar*& CSSParser::currentCharacter<UChar>()
+{
+ return m_currentCharacter16;
+}
+
+UChar*& CSSParser::currentCharacter16()
+{
+ if (!m_currentCharacter16) {
+ m_dataStart16 = adoptArrayPtr(new UChar[m_length]);
+ m_currentCharacter16 = m_dataStart16.get();
+ }
+
+ return m_currentCharacter16;
+}
+
+template <>
+inline LChar* CSSParser::tokenStart<LChar>()
+{
+ return m_tokenStart.ptr8;
+}
+
+template <>
+inline UChar* CSSParser::tokenStart<UChar>()
+{
+ return m_tokenStart.ptr16;
+}
+
+template <typename CharacterType>
inline bool CSSParser::isIdentifierStart()
{
// Check whether an identifier is started.
- return isIdentifierStartAfterDash((*m_currentCharacter != '-') ? m_currentCharacter : m_currentCharacter + 1);
+ return isIdentifierStartAfterDash((*currentCharacter<CharacterType>() != '-') ? currentCharacter<CharacterType>() : currentCharacter<CharacterType>() + 1);
}
-inline UChar* CSSParser::checkAndSkipString(UChar* currentCharacter, UChar quote)
+template <typename CharacterType>
+inline CharacterType* CSSParser::checkAndSkipString(CharacterType* currentCharacter, int quote)
{
// Returns with 0, if string check is failed. Otherwise
// it returns with the following character. This is necessary
@@ -8543,101 +8706,194 @@ inline UChar* CSSParser::checkAndSkipString(UChar* currentCharacter, UChar quote
}
}
-void CSSParser::parseEscape(UChar*& result)
+template <typename CharacterType>
+unsigned CSSParser::parseEscape(CharacterType*& src)
{
- ASSERT(*m_currentCharacter == '\\' && isCSSEscape(m_currentCharacter[1]));
+ ASSERT(*src == '\\' && isCSSEscape(src[1]));
+
+ unsigned unicode = 0;
+
+ ++src;
+ if (isASCIIHexDigit(*src)) {
- ++m_currentCharacter;
- if (isASCIIHexDigit(*m_currentCharacter)) {
- unsigned unicode = 0;
int length = 6;
do {
- unicode = (unicode << 4) + toASCIIHexValue(*m_currentCharacter++);
- } while (--length && isASCIIHexDigit(*m_currentCharacter));
+ unicode = (unicode << 4) + toASCIIHexValue(*src++);
+ } while (--length && isASCIIHexDigit(*src));
// Characters above 0x10ffff are not handled.
if (unicode > 0x10ffff)
unicode = 0xfffd;
// Optional space after the escape sequence.
- if (isHTMLSpace(*m_currentCharacter))
- ++m_currentCharacter;
+ if (isHTMLSpace(*src))
+ ++src;
- // Replace unicode with a surrogate pairs when it is bigger than 0xffff
- if (U16_LENGTH(unicode) == 2) {
- *result++ = U16_LEAD(unicode);
- *result = U16_TRAIL(unicode);
- } else
- *result = unicode;
+ return unicode;
+ }
+
+ return *currentCharacter<CharacterType>()++;
+}
+
+template <>
+inline void CSSParser::UnicodeToChars<LChar>(LChar*& result, unsigned unicode)
+{
+ ASSERT(unicode <= 0xff);
+ *result = unicode;
+
+ ++result;
+}
+
+template <>
+inline void CSSParser::UnicodeToChars<UChar>(UChar*& result, unsigned unicode)
+{
+ // Replace unicode with a surrogate pairs when it is bigger than 0xffff
+ if (U16_LENGTH(unicode) == 2) {
+ *result++ = U16_LEAD(unicode);
+ *result = U16_TRAIL(unicode);
} else
- *result = *m_currentCharacter++;
+ *result = unicode;
+
++result;
}
-inline void CSSParser::parseIdentifier(UChar*& result, bool& hasEscape)
+template <typename SrcCharacterType, typename DestCharacterType>
+inline bool CSSParser::parseIdentifierInternal(SrcCharacterType*& src, DestCharacterType*& result, bool& hasEscape)
{
- // If a valid identifier start is found, we can safely
- // parse the identifier until the next invalid character.
- ASSERT(isIdentifierStart());
hasEscape = false;
do {
- if (LIKELY(*m_currentCharacter != '\\'))
- *result++ = *m_currentCharacter++;
+ if (LIKELY(*src != '\\'))
+ *result++ = *src++;
else {
hasEscape = true;
- parseEscape(result);
+ SrcCharacterType* savedEscapeStart = src;
+ unsigned unicode = parseEscape<SrcCharacterType>(src);
+ if (unicode > 0xff && sizeof(DestCharacterType) == 1) {
+ src = savedEscapeStart;
+ return false;
+ }
+ UnicodeToChars(result, unicode);
}
- } while (isCSSLetter(m_currentCharacter[0]) || (m_currentCharacter[0] == '\\' && isCSSEscape(m_currentCharacter[1])));
+ } while (isCSSLetter(src[0]) || (src[0] == '\\' && isCSSEscape(src[1])));
+
+ return true;
+}
+
+template <typename CharacterType>
+inline void CSSParser::parseIdentifier(CharacterType*& result, CSSParserString& resultString, bool& hasEscape)
+{
+ // If a valid identifier start is found, we can safely
+ // parse the identifier until the next invalid character.
+ ASSERT(isIdentifierStart<CharacterType>());
+
+ CharacterType* start = currentCharacter<CharacterType>();
+ if (UNLIKELY(!parseIdentifierInternal(currentCharacter<CharacterType>(), result, hasEscape))) {
+ // Found an escape we couldn't handle with 8 bits, copy what has been recognized and continue
+ ASSERT(is8BitSource());
+ UChar*& result16 = currentCharacter16();
+ UChar* start16 = result16;
+ int i = 0;
+ for (; i < result - start; i++)
+ result16[i] = start[i];
+
+ result16 += i;
+
+ parseIdentifierInternal(currentCharacter<CharacterType>(), result16, hasEscape);
+
+ resultString.init(start16, result16 - start16);
+
+ return;
+ }
+
+ resultString.init(start, result - start);
}
-inline void CSSParser::parseString(UChar*& result, UChar quote)
+template <typename SrcCharacterType, typename DestCharacterType>
+inline bool CSSParser::parseStringInternal(SrcCharacterType*& src, DestCharacterType*& result, UChar quote)
{
while (true) {
- if (UNLIKELY(*m_currentCharacter == quote)) {
+ if (UNLIKELY(*src == quote)) {
// String parsing is done.
- ++m_currentCharacter;
- return;
+ ++src;
+ return true;
}
- if (UNLIKELY(!*m_currentCharacter)) {
+ if (UNLIKELY(!*src)) {
// String parsing is done, but don't advance pointer if at the end of input.
- return;
+ return true;
}
- ASSERT(*m_currentCharacter > '\r' || (*m_currentCharacter < '\n' && *m_currentCharacter) || *m_currentCharacter == '\v');
+ ASSERT(*src > '\r' || (*src < '\n' && *src) || *src == '\v');
- if (LIKELY(m_currentCharacter[0] != '\\'))
- *result++ = *m_currentCharacter++;
- else if (m_currentCharacter[1] == '\n' || m_currentCharacter[1] == '\f')
- m_currentCharacter += 2;
- else if (m_currentCharacter[1] == '\r')
- m_currentCharacter += m_currentCharacter[2] == '\n' ? 3 : 2;
- else
- parseEscape(result);
+ if (LIKELY(src[0] != '\\'))
+ *result++ = *src++;
+ else if (src[1] == '\n' || src[1] == '\f')
+ src += 2;
+ else if (src[1] == '\r')
+ src += src[2] == '\n' ? 3 : 2;
+ else {
+ SrcCharacterType* savedEscapeStart = src;
+ unsigned unicode = parseEscape<SrcCharacterType>(src);
+ if (unicode > 0xff && sizeof(DestCharacterType) == 1) {
+ src = savedEscapeStart;
+ return false;
+ }
+ UnicodeToChars(result, unicode);
+ }
+ }
+
+ return true;
+}
+
+template <typename CharacterType>
+inline void CSSParser::parseString(CharacterType*& result, CSSParserString& resultString, UChar quote)
+{
+ CharacterType* start = currentCharacter<CharacterType>();
+
+ if (UNLIKELY(!parseStringInternal(currentCharacter<CharacterType>(), result, quote))) {
+ // Found an escape we couldn't handle with 8 bits, copy what has been recognized and continue
+ ASSERT(is8BitSource());
+ UChar*& result16 = currentCharacter16();
+ UChar* start16 = result16;
+ int i = 0;
+ for (; i < result - start; i++)
+ result16[i] = start[i];
+
+ result16 += i;
+
+ parseStringInternal(currentCharacter<CharacterType>(), result16, quote);
+
+ resultString.init(start16, result16 - start16);
+ return;
}
+
+ resultString.init(start, result - start);
}
-inline void CSSParser::parseURI(UChar*& start, UChar*& result)
+template <typename CharacterType>
+inline bool CSSParser::parseURIInternal(CharacterType*& start, CharacterType*& result)
{
- UChar* uriStart = skipWhiteSpace(m_currentCharacter);
+ CharacterType* uriStart = skipWhiteSpace(currentCharacter<CharacterType>());
+ CharacterType* savedResult = result;
if (*uriStart == '"' || *uriStart == '\'') {
- UChar quote = *uriStart;
+ CharacterType quote = *uriStart;
++uriStart;
- UChar* stringEnd = checkAndSkipString(uriStart, quote);
+ CharacterType* stringEnd = checkAndSkipString(uriStart, quote);
if (!stringEnd)
- return;
+ return true;
stringEnd = skipWhiteSpace(stringEnd);
if (*stringEnd != ')')
- return;
+ return true;
- start = result = m_currentCharacter = uriStart;
- parseString(result, quote);
+ start = result = currentCharacter<CharacterType>() = uriStart;
+ if (!parseStringInternal(currentCharacter<CharacterType>(), result, quote))
+ return false;
- m_currentCharacter = stringEnd + 1;
+ currentCharacter<CharacterType>() = stringEnd + 1;
m_token = URI;
} else {
- UChar* stringEnd = uriStart;
+ CharacterType* stringEnd = uriStart;
while (isURILetter(*stringEnd)) {
if (*stringEnd != '\\')
@@ -8645,99 +8901,124 @@ inline void CSSParser::parseURI(UChar*& start, UChar*& result)
else {
stringEnd = checkAndSkipEscape(stringEnd);
if (!stringEnd)
- return;
+ return true;
}
}
stringEnd = skipWhiteSpace(stringEnd);
if (*stringEnd != ')')
- return;
+ return true;
- start = result = m_currentCharacter = uriStart;
- while (isURILetter(*m_currentCharacter)) {
- if (LIKELY(*m_currentCharacter != '\\'))
- *result++ = *m_currentCharacter++;
- else
- parseEscape(result);
+ start = result = currentCharacter<CharacterType>() = uriStart;
+ while (isURILetter(*currentCharacter<CharacterType>())) {
+ if (LIKELY(*currentCharacter<CharacterType>() != '\\'))
+ *result++ = *currentCharacter<CharacterType>()++;
+ else {
+ unsigned unicode = parseEscape<CharacterType>(currentCharacter<CharacterType>());
+ if (unicode > 0xff && sizeof(CharacterType) == 1) {
+ result = savedResult;
+ return false;
+ }
+ UnicodeToChars(result, unicode);
+ }
}
- m_currentCharacter = stringEnd + 1;
+ currentCharacter<CharacterType>() = stringEnd + 1;
m_token = URI;
}
+
+ return true;
+}
+
+template <typename CharacterType>
+inline void CSSParser::parseURI(CSSParserString& string)
+{
+ CharacterType* uriStart = string.characters<CharacterType>();
+ CharacterType* result = uriStart + string.length();
+ bool parseResult = parseURIInternal(uriStart, result);
+
+ // parseIdentifier() parsed and created the string, therefore there shouldn't be any unhandled escapses.
+ ASSERT_UNUSED(parseResult, parseResult);
+
+ string.init(uriStart, result - uriStart);
}
+template <typename CharacterType>
inline bool CSSParser::parseUnicodeRange()
{
- UChar* currentCharacter = m_currentCharacter + 1;
+ CharacterType* character = currentCharacter<CharacterType>() + 1;
int length = 6;
- ASSERT(*m_currentCharacter == '+');
+ ASSERT(*currentCharacter<CharacterType>() == '+');
- while (isASCIIHexDigit(*currentCharacter) && length) {
- ++currentCharacter;
+ while (isASCIIHexDigit(*character) && length) {
+ ++character;
--length;
}
- if (length && *currentCharacter == '?') {
+ if (length && *character == '?') {
// At most 5 hex digit followed by a question mark.
do {
- ++currentCharacter;
+ ++character;
--length;
- } while (*currentCharacter == '?' && length);
- m_currentCharacter = currentCharacter;
+ } while (*character == '?' && length);
+ currentCharacter<CharacterType>() = character;
return true;
}
if (length < 6) {
// At least one hex digit.
- if (currentCharacter[0] == '-' && isASCIIHexDigit(currentCharacter[1])) {
+ if (character[0] == '-' && isASCIIHexDigit(character[1])) {
// Followed by a dash and a hex digit.
- ++currentCharacter;
+ ++character;
length = 6;
do {
- ++currentCharacter;
- } while (--length && isASCIIHexDigit(*currentCharacter));
+ ++character;
+ } while (--length && isASCIIHexDigit(*character));
}
- m_currentCharacter = currentCharacter;
+ currentCharacter<CharacterType>() = character;
return true;
}
return false;
}
+template <typename CharacterType>
bool CSSParser::parseNthChild()
{
- UChar* currentCharacter = m_currentCharacter;
+ CharacterType* character = currentCharacter<CharacterType>();
- while (isASCIIDigit(*currentCharacter))
- ++currentCharacter;
- if (isASCIIAlphaCaselessEqual(*currentCharacter, 'n')) {
- m_currentCharacter = currentCharacter + 1;
+ while (isASCIIDigit(*character))
+ ++character;
+ if (isASCIIAlphaCaselessEqual(*character, 'n')) {
+ currentCharacter<CharacterType>() = character + 1;
return true;
}
return false;
}
+template <typename CharacterType>
bool CSSParser::parseNthChildExtra()
{
- UChar* currentCharacter = skipWhiteSpace(m_currentCharacter);
- if (*currentCharacter != '+' && *currentCharacter != '-')
+ CharacterType* character = skipWhiteSpace(currentCharacter<CharacterType>());
+ if (*character != '+' && *character != '-')
return false;
- currentCharacter = skipWhiteSpace(currentCharacter + 1);
- if (!isASCIIDigit(*currentCharacter))
+ character = skipWhiteSpace(character + 1);
+ if (!isASCIIDigit(*character))
return false;
do {
- ++currentCharacter;
- } while (isASCIIDigit(*currentCharacter));
+ ++character;
+ } while (isASCIIDigit(*character));
- m_currentCharacter = currentCharacter;
+ currentCharacter<CharacterType>() = character;
return true;
}
+template <typename CharacterType>
inline void CSSParser::detectFunctionTypeToken(int length)
{
ASSERT(length > 0);
- UChar* name = m_tokenStart;
+ CharacterType* name = tokenStart<CharacterType>();
switch (length) {
case 3:
@@ -8769,10 +9050,11 @@ inline void CSSParser::detectFunctionTypeToken(int length)
}
}
+template <typename CharacterType>
inline void CSSParser::detectMediaQueryToken(int length)
{
ASSERT(m_parsingMode == MediaQueryMode);
- UChar* name = m_tokenStart;
+ CharacterType* name = tokenStart<CharacterType>();
if (length == 3) {
if (isASCIIAlphaCaselessEqual(name[0], 'a') && isASCIIAlphaCaselessEqual(name[1], 'n') && isASCIIAlphaCaselessEqual(name[2], 'd'))
@@ -8786,7 +9068,8 @@ inline void CSSParser::detectMediaQueryToken(int length)
}
}
-inline void CSSParser::detectNumberToken(UChar* type, int length)
+template <typename CharacterType>
+inline void CSSParser::detectNumberToken(CharacterType* type, int length)
{
ASSERT(length > 0);
@@ -8903,9 +9186,10 @@ inline void CSSParser::detectNumberToken(UChar* type, int length)
}
}
+template <typename CharacterType>
inline void CSSParser::detectDashToken(int length)
{
- UChar* name = m_tokenStart;
+ CharacterType* name = tokenStart<CharacterType>();
if (length == 11) {
if (isASCIIAlphaCaselessEqual(name[10], 'y') && isEqualToCSSIdentifier(name + 1, "webkit-an"))
@@ -8922,9 +9206,10 @@ inline void CSSParser::detectDashToken(int length)
m_token = CALCFUNCTION;
}
+template <typename CharacterType>
inline void CSSParser::detectAtToken(int length, bool hasEscape)
{
- UChar* name = m_tokenStart;
+ CharacterType* name = tokenStart<CharacterType>();
ASSERT(name[0] == '@' && length >= 2);
// charset, font-face, import, media, namespace, page,
@@ -9110,81 +9395,80 @@ inline void CSSParser::detectAtToken(int length, bool hasEscape)
}
}
-int CSSParser::lex(void* yylvalWithoutType)
+template <typename SrcCharacterType>
+int CSSParser::realLex(void* yylvalWithoutType)
{
YYSTYPE* yylval = static_cast<YYSTYPE*>(yylvalWithoutType);
// Write pointer for the next character.
- UChar* result;
+ SrcCharacterType* result;
+ CSSParserString resultString;
bool hasEscape;
// The input buffer is terminated by a \0 character, so
// it is safe to read one character ahead of a known non-null.
-
#ifndef NDEBUG
// In debug we check with an ASSERT that the length is > 0 for string types.
- yylval->string.characters = 0;
- yylval->string.length = 0;
+ yylval->string.clear();
#endif
restartAfterComment:
- m_tokenStart = result = m_currentCharacter;
- m_token = *m_currentCharacter;
- ++m_currentCharacter;
+ result = currentCharacter<SrcCharacterType>();
+ setTokenStart(result);
+ m_token = *currentCharacter<SrcCharacterType>();
+ ++currentCharacter<SrcCharacterType>();
switch ((m_token <= 127) ? typesOfASCIICharacters[m_token] : CharacterIdentifierStart) {
case CharacterCaselessU:
- if (UNLIKELY(*m_currentCharacter == '+'))
- if (parseUnicodeRange()) {
+ if (UNLIKELY(*currentCharacter<SrcCharacterType>() == '+'))
+ if (parseUnicodeRange<SrcCharacterType>()) {
m_token = UNICODERANGE;
- yylval->string.characters = m_tokenStart;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.init(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
break;
}
// Fall through to CharacterIdentifierStart.
case CharacterIdentifierStart:
- --m_currentCharacter;
- parseIdentifier(result, hasEscape);
+ --currentCharacter<SrcCharacterType>();
+ parseIdentifier(result, yylval->string, hasEscape);
m_token = IDENT;
- yylval->string.characters = m_tokenStart;
- yylval->string.length = result - m_tokenStart;
-
- if (UNLIKELY(*m_currentCharacter == '(')) {
+ if (UNLIKELY(*currentCharacter<SrcCharacterType>() == '(')) {
m_token = FUNCTION;
if (!hasEscape)
- detectFunctionTypeToken(result - m_tokenStart);
- ++m_currentCharacter;
+ detectFunctionTypeToken<SrcCharacterType>(result - tokenStart<SrcCharacterType>());
+ ++currentCharacter<SrcCharacterType>();
++result;
- ++yylval->string.length;
+ ++yylval->string.m_length;
if (token() == URI) {
m_token = FUNCTION;
// Check whether it is really an URI.
- parseURI(yylval->string.characters, result);
- yylval->string.length = result - yylval->string.characters;
+ if (yylval->string.is8Bit())
+ parseURI<LChar>(yylval->string);
+ else
+ parseURI<UChar>(yylval->string);
}
} else if (UNLIKELY(m_parsingMode != NormalMode) && !hasEscape) {
if (m_parsingMode == MediaQueryMode)
- detectMediaQueryToken(result - m_tokenStart);
- else if (m_parsingMode == NthChildMode && isASCIIAlphaCaselessEqual(m_tokenStart[0], 'n')) {
- if (result - m_tokenStart == 1) {
+ detectMediaQueryToken<SrcCharacterType>(result - tokenStart<SrcCharacterType>());
+ else if (m_parsingMode == NthChildMode && isASCIIAlphaCaselessEqual(tokenStart<SrcCharacterType>()[0], 'n')) {
+ if (result - tokenStart<SrcCharacterType>() == 1) {
// String "n" is IDENT but "n+1" is NTH.
- if (parseNthChildExtra()) {
+ if (parseNthChildExtra<SrcCharacterType>()) {
m_token = NTH;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.m_length = currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>();
}
- } else if (result - m_tokenStart >= 2 && m_tokenStart[1] == '-') {
+ } else if (result - tokenStart<SrcCharacterType>() >= 2 && tokenStart<SrcCharacterType>()[1] == '-') {
// String "n-" is IDENT but "n-1" is NTH.
- // Set m_currentCharacter to '-' to continue parsing.
- UChar* nextCharacter = result;
- m_currentCharacter = m_tokenStart + 1;
- if (parseNthChildExtra()) {
+ // Set currentCharacter to '-' to continue parsing.
+ SrcCharacterType* nextCharacter = result;
+ currentCharacter<SrcCharacterType>() = tokenStart<SrcCharacterType>() + 1;
+ if (parseNthChildExtra<SrcCharacterType>()) {
m_token = NTH;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.setLength(currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
} else {
- // Revert the change to m_currentCharacter if unsuccessful.
- m_currentCharacter = nextCharacter;
+ // Revert the change to currentCharacter if unsuccessful.
+ currentCharacter<SrcCharacterType>() = nextCharacter;
}
}
}
@@ -9192,7 +9476,7 @@ restartAfterComment:
break;
case CharacterDot:
- if (!isASCIIDigit(m_currentCharacter[0]))
+ if (!isASCIIDigit(currentCharacter<SrcCharacterType>()[0]))
break;
// Fall through to CharacterNumber.
@@ -9200,23 +9484,22 @@ restartAfterComment:
bool dotSeen = (m_token == '.');
while (true) {
- if (!isASCIIDigit(m_currentCharacter[0])) {
+ if (!isASCIIDigit(currentCharacter<SrcCharacterType>()[0])) {
// Only one dot is allowed for a number,
// and it must be followed by a digit.
- if (m_currentCharacter[0] != '.' || dotSeen || !isASCIIDigit(m_currentCharacter[1]))
+ if (currentCharacter<SrcCharacterType>()[0] != '.' || dotSeen || !isASCIIDigit(currentCharacter<SrcCharacterType>()[1]))
break;
dotSeen = true;
}
- ++m_currentCharacter;
+ ++currentCharacter<SrcCharacterType>();
}
- if (UNLIKELY(m_parsingMode == NthChildMode) && !dotSeen && isASCIIAlphaCaselessEqual(*m_currentCharacter, 'n')) {
+ if (UNLIKELY(m_parsingMode == NthChildMode) && !dotSeen && isASCIIAlphaCaselessEqual(*currentCharacter<SrcCharacterType>(), 'n')) {
// "[0-9]+n" is always an NthChild.
- ++m_currentCharacter;
- parseNthChildExtra();
+ ++currentCharacter<SrcCharacterType>();
+ parseNthChildExtra<SrcCharacterType>();
m_token = NTH;
- yylval->string.characters = m_tokenStart;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.init(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
break;
}
@@ -9224,52 +9507,51 @@ restartAfterComment:
// Use SVG parser for numbers on SVG presentation attributes.
if (m_context.mode == SVGAttributeMode) {
// We need to take care of units like 'em' or 'ex'.
- UChar* currentCharacter = m_currentCharacter;
- if (isASCIIAlphaCaselessEqual(*currentCharacter, 'e')) {
- ASSERT(currentCharacter - m_tokenStart > 0);
- ++currentCharacter;
- if (*currentCharacter == '-' || *currentCharacter == '+' || isASCIIDigit(*currentCharacter)) {
- ++currentCharacter;
- while (isASCIIDigit(*currentCharacter))
- ++currentCharacter;
+ SrcCharacterType* character = currentCharacter<SrcCharacterType>();
+ if (isASCIIAlphaCaselessEqual(*character, 'e')) {
+ ASSERT(character - tokenStart<SrcCharacterType>() > 0);
+ ++character;
+ if (*character == '-' || *character == '+' || isASCIIDigit(*character)) {
+ ++character;
+ while (isASCIIDigit(*character))
+ ++character;
// Use FLOATTOKEN if the string contains exponents.
dotSeen = true;
- m_currentCharacter = currentCharacter;
+ currentCharacter<SrcCharacterType>() = character;
}
}
- if (!parseSVGNumber(m_tokenStart, currentCharacter - m_tokenStart, yylval->number))
+ if (!parseSVGNumber(tokenStart<SrcCharacterType>(), character - tokenStart<SrcCharacterType>(), yylval->number))
break;
} else
#endif
- yylval->number = charactersToDouble(m_tokenStart, m_currentCharacter - m_tokenStart);
+ yylval->number = charactersToDouble(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
// Type of the function.
- if (isIdentifierStart()) {
- UChar* type = m_currentCharacter;
- result = m_currentCharacter;
+ if (isIdentifierStart<SrcCharacterType>()) {
+ SrcCharacterType* type = currentCharacter<SrcCharacterType>();
+ result = currentCharacter<SrcCharacterType>();
- parseIdentifier(result, hasEscape);
- if (*m_currentCharacter == '+') {
+ parseIdentifier(result, resultString, hasEscape);
+ if (*currentCharacter<SrcCharacterType>() == '+') {
// Any identifier followed by a '+' sign is an invalid dimension.
- ++m_currentCharacter;
+ ++currentCharacter<SrcCharacterType>();
m_token = INVALIDDIMEN;
} else {
m_token = DIMEN;
if (!hasEscape)
- detectNumberToken(type, m_currentCharacter - type);
+ detectNumberToken(type, currentCharacter<SrcCharacterType>() - type);
if (m_token == DIMEN) {
// The decoded number is overwritten, but this is intentional.
- yylval->string.characters = m_tokenStart;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.init(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
}
}
- } else if (*m_currentCharacter == '%') {
+ } else if (*currentCharacter<SrcCharacterType>() == '%') {
// Although the CSS grammar says {num}% we follow
// webkit at the moment which uses {num}%+.
do {
- ++m_currentCharacter;
- } while (*m_currentCharacter == '%');
+ ++currentCharacter<SrcCharacterType>();
+ } while (*currentCharacter<SrcCharacterType>() == '%');
m_token = PERCENTAGE;
} else
m_token = dotSeen ? FLOATTOKEN : INTEGER;
@@ -9277,55 +9559,54 @@ restartAfterComment:
}
case CharacterDash:
- if (isIdentifierStartAfterDash(m_currentCharacter)) {
- --m_currentCharacter;
- parseIdentifier(result, hasEscape);
+ if (isIdentifierStartAfterDash(currentCharacter<SrcCharacterType>())) {
+ --currentCharacter<SrcCharacterType>();
+ parseIdentifier(result, resultString, hasEscape);
m_token = IDENT;
#if ENABLE(CSS_VARIABLES)
- if (cssVariablesEnabled() && isEqualToCSSIdentifier(m_tokenStart + 1, "webkit-var") && m_tokenStart[11] == '-' && isIdentifierStartAfterDash(m_tokenStart + 12))
+ if (cssVariablesEnabled() && isEqualToCSSIdentifier(tokenStart<SrcCharacterType>() + 1, "webkit-var") && tokenStart<SrcCharacterType>()[11] == '-' && isIdentifierStartAfterDash(tokenStart<SrcCharacterType>() + 12))
m_token = VAR_DEFINITION;
else
#endif
- if (*m_currentCharacter == '(') {
+ if (*currentCharacter<SrcCharacterType>() == '(') {
m_token = FUNCTION;
if (!hasEscape)
- detectDashToken(result - m_tokenStart);
- ++m_currentCharacter;
+ detectDashToken<SrcCharacterType>(result - tokenStart<SrcCharacterType>());
+ ++currentCharacter<SrcCharacterType>();
++result;
- } else if (UNLIKELY(m_parsingMode == NthChildMode) && !hasEscape && isASCIIAlphaCaselessEqual(m_tokenStart[1], 'n')) {
- if (result - m_tokenStart == 2) {
+ } else if (UNLIKELY(m_parsingMode == NthChildMode) && !hasEscape && isASCIIAlphaCaselessEqual(tokenStart<SrcCharacterType>()[1], 'n')) {
+ if (result - tokenStart<SrcCharacterType>() == 2) {
// String "-n" is IDENT but "-n+1" is NTH.
- if (parseNthChildExtra()) {
+ if (parseNthChildExtra<SrcCharacterType>()) {
m_token = NTH;
- result = m_currentCharacter;
+ result = currentCharacter<SrcCharacterType>();
}
- } else if (result - m_tokenStart >= 3 && m_tokenStart[2] == '-') {
+ } else if (result - tokenStart<SrcCharacterType>() >= 3 && tokenStart<SrcCharacterType>()[2] == '-') {
// String "-n-" is IDENT but "-n-1" is NTH.
- // Set m_currentCharacter to second '-' of '-n-' to continue parsing.
- UChar* nextCharacter = result;
- m_currentCharacter = m_tokenStart + 2;
- if (parseNthChildExtra()) {
+ // Set currentCharacter to second '-' of '-n-' to continue parsing.
+ SrcCharacterType* nextCharacter = result;
+ currentCharacter<SrcCharacterType>() = tokenStart<SrcCharacterType>() + 2;
+ if (parseNthChildExtra<SrcCharacterType>()) {
m_token = NTH;
- result = m_currentCharacter;
+ result = currentCharacter<SrcCharacterType>();
} else {
- // Revert the change to m_currentCharacter if unsuccessful.
- m_currentCharacter = nextCharacter;
+ // Revert the change to currentCharacter if unsuccessful.
+ currentCharacter<SrcCharacterType>() = nextCharacter;
}
}
}
- yylval->string.characters = m_tokenStart;
- yylval->string.length = result - m_tokenStart;
- } else if (m_currentCharacter[0] == '-' && m_currentCharacter[1] == '>') {
- m_currentCharacter += 2;
+ resultString.setLength(result - tokenStart<SrcCharacterType>());
+ yylval->string = resultString;
+ } else if (currentCharacter<SrcCharacterType>()[0] == '-' && currentCharacter<SrcCharacterType>()[1] == '>') {
+ currentCharacter<SrcCharacterType>() += 2;
m_token = SGML_CD;
} else if (UNLIKELY(m_parsingMode == NthChildMode)) {
// "-[0-9]+n" is always an NthChild.
- if (parseNthChild()) {
- parseNthChildExtra();
+ if (parseNthChild<SrcCharacterType>()) {
+ parseNthChildExtra<SrcCharacterType>();
m_token = NTH;
- yylval->string.characters = m_tokenStart;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.init(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
}
}
break;
@@ -9336,18 +9617,18 @@ restartAfterComment:
case CharacterNull:
// Do not advance pointer at the end of input.
- --m_currentCharacter;
+ --currentCharacter<SrcCharacterType>();
break;
case CharacterWhiteSpace:
m_token = WHITESPACE;
// Might start with a '\n'.
- --m_currentCharacter;
+ --currentCharacter<SrcCharacterType>();
do {
- if (*m_currentCharacter == '\n')
+ if (*currentCharacter<SrcCharacterType>() == '\n')
++m_lineNumber;
- ++m_currentCharacter;
- } while (*m_currentCharacter <= ' ' && (typesOfASCIICharacters[*m_currentCharacter] == CharacterWhiteSpace));
+ ++currentCharacter<SrcCharacterType>();
+ } while (*currentCharacter<SrcCharacterType>() <= ' ' && (typesOfASCIICharacters[*currentCharacter<SrcCharacterType>()] == CharacterWhiteSpace));
break;
case CharacterEndMediaQuery:
@@ -9361,42 +9642,39 @@ restartAfterComment:
break;
case CharacterQuote:
- if (checkAndSkipString(m_currentCharacter, m_token)) {
+ if (checkAndSkipString(currentCharacter<SrcCharacterType>(), m_token)) {
++result;
- parseString(result, m_token);
+ parseString<SrcCharacterType>(result, yylval->string, m_token);
m_token = STRING;
- yylval->string.characters = m_tokenStart + 1;
- yylval->string.length = result - (m_tokenStart + 1);
}
break;
case CharacterExclamationMark: {
- UChar* start = skipWhiteSpace(m_currentCharacter);
+ SrcCharacterType* start = skipWhiteSpace(currentCharacter<SrcCharacterType>());
if (isEqualToCSSIdentifier(start, "important")) {
m_token = IMPORTANT_SYM;
- m_currentCharacter = start + 9;
+ currentCharacter<SrcCharacterType>() = start + 9;
}
break;
}
case CharacterHashmark: {
- UChar* start = m_currentCharacter;
- result = m_currentCharacter;
+ SrcCharacterType* start = currentCharacter<SrcCharacterType>();
+ result = currentCharacter<SrcCharacterType>();
- if (isASCIIDigit(*m_currentCharacter)) {
+ if (isASCIIDigit(*currentCharacter<SrcCharacterType>())) {
// This must be a valid hex number token.
do {
- ++m_currentCharacter;
- } while (isASCIIHexDigit(*m_currentCharacter));
+ ++currentCharacter<SrcCharacterType>();
+ } while (isASCIIHexDigit(*currentCharacter<SrcCharacterType>()));
m_token = HEX;
- yylval->string.characters = start;
- yylval->string.length = m_currentCharacter - start;
- } else if (isIdentifierStart()) {
+ yylval->string.init(start, currentCharacter<SrcCharacterType>() - start);
+ } else if (isIdentifierStart<SrcCharacterType>()) {
m_token = IDSEL;
- parseIdentifier(result, hasEscape);
+ parseIdentifier(result, yylval->string, hasEscape);
if (!hasEscape) {
// Check whether the identifier is also a valid hex number.
- UChar* current = start;
+ SrcCharacterType* current = start;
m_token = HEX;
do {
if (!isASCIIHexDigit(*current)) {
@@ -9406,41 +9684,39 @@ restartAfterComment:
++current;
} while (current < result);
}
- yylval->string.characters = start;
- yylval->string.length = result - start;
}
break;
}
case CharacterSlash:
// Ignore comments. They are not even considered as white spaces.
- if (*m_currentCharacter == '*') {
- ++m_currentCharacter;
- while (m_currentCharacter[0] != '*' || m_currentCharacter[1] != '/') {
- if (*m_currentCharacter == '\n')
+ if (*currentCharacter<SrcCharacterType>() == '*') {
+ ++currentCharacter<SrcCharacterType>();
+ while (currentCharacter<SrcCharacterType>()[0] != '*' || currentCharacter<SrcCharacterType>()[1] != '/') {
+ if (*currentCharacter<SrcCharacterType>() == '\n')
++m_lineNumber;
- if (*m_currentCharacter == '\0') {
+ if (*currentCharacter<SrcCharacterType>() == '\0') {
// Unterminated comments are simply ignored.
- m_currentCharacter -= 2;
+ currentCharacter<SrcCharacterType>() -= 2;
break;
}
- ++m_currentCharacter;
+ ++currentCharacter<SrcCharacterType>();
}
- m_currentCharacter += 2;
+ currentCharacter<SrcCharacterType>() += 2;
goto restartAfterComment;
}
break;
case CharacterDollar:
- if (*m_currentCharacter == '=') {
- ++m_currentCharacter;
+ if (*currentCharacter<SrcCharacterType>() == '=') {
+ ++currentCharacter<SrcCharacterType>();
m_token = ENDSWITH;
}
break;
case CharacterAsterisk:
- if (*m_currentCharacter == '=') {
- ++m_currentCharacter;
+ if (*currentCharacter<SrcCharacterType>() == '=') {
+ ++currentCharacter<SrcCharacterType>();
m_token = CONTAINS;
}
break;
@@ -9448,58 +9724,55 @@ restartAfterComment:
case CharacterPlus:
if (UNLIKELY(m_parsingMode == NthChildMode)) {
// Simplest case. "+[0-9]*n" is always NthChild.
- if (parseNthChild()) {
- parseNthChildExtra();
+ if (parseNthChild<SrcCharacterType>()) {
+ parseNthChildExtra<SrcCharacterType>();
m_token = NTH;
- yylval->string.characters = m_tokenStart;
- yylval->string.length = m_currentCharacter - m_tokenStart;
+ yylval->string.init(tokenStart<SrcCharacterType>(), currentCharacter<SrcCharacterType>() - tokenStart<SrcCharacterType>());
}
}
break;
case CharacterLess:
- if (m_currentCharacter[0] == '!' && m_currentCharacter[1] == '-' && m_currentCharacter[2] == '-') {
- m_currentCharacter += 3;
+ if (currentCharacter<SrcCharacterType>()[0] == '!' && currentCharacter<SrcCharacterType>()[1] == '-' && currentCharacter<SrcCharacterType>()[2] == '-') {
+ currentCharacter<SrcCharacterType>() += 3;
m_token = SGML_CD;
}
break;
case CharacterAt:
- if (isIdentifierStart()) {
+ if (isIdentifierStart<SrcCharacterType>()) {
m_token = ATKEYWORD;
++result;
- parseIdentifier(result, hasEscape);
- detectAtToken(result - m_tokenStart, hasEscape);
+ parseIdentifier(result, resultString, hasEscape);
+ detectAtToken<SrcCharacterType>(result - tokenStart<SrcCharacterType>(), hasEscape);
}
break;
case CharacterBackSlash:
- if (isCSSEscape(*m_currentCharacter)) {
- --m_currentCharacter;
- parseIdentifier(result, hasEscape);
+ if (isCSSEscape(*currentCharacter<SrcCharacterType>())) {
+ --currentCharacter<SrcCharacterType>();
+ parseIdentifier(result, yylval->string, hasEscape);
m_token = IDENT;
- yylval->string.characters = m_tokenStart;
- yylval->string.length = result - m_tokenStart;
}
break;
case CharacterXor:
- if (*m_currentCharacter == '=') {
- ++m_currentCharacter;
+ if (*currentCharacter<SrcCharacterType>() == '=') {
+ ++currentCharacter<SrcCharacterType>();
m_token = BEGINSWITH;
}
break;
case CharacterVerticalBar:
- if (*m_currentCharacter == '=') {
- ++m_currentCharacter;
+ if (*currentCharacter<SrcCharacterType>() == '=') {
+ ++currentCharacter<SrcCharacterType>();
m_token = DASHMATCH;
}
break;
case CharacterTilde:
- if (*m_currentCharacter == '=') {
- ++m_currentCharacter;
+ if (*currentCharacter<SrcCharacterType>() == '=') {
+ ++currentCharacter<SrcCharacterType>();
m_token = INCLUDES;
}
break;
@@ -9509,36 +9782,6 @@ restartAfterComment:
break;
}
-#ifndef NDEBUG
- switch (token()) {
- case STRING:
- ASSERT(yylval->string.characters == m_tokenStart + 1);
- break;
-
- case IDENT:
- case NTH:
- case DIMEN:
- case UNICODERANGE:
- case FUNCTION:
- case ANYFUNCTION:
- case NOTFUNCTION:
- case CALCFUNCTION:
- case MINFUNCTION:
- case MAXFUNCTION:
- ASSERT(yylval->string.characters == m_tokenStart && yylval->string.length > 0);
- break;
-
- case URI:
- ASSERT(yylval->string.characters && yylval->string.characters != m_tokenStart);
- break;
-
- case HEX:
- case IDSEL:
- ASSERT(yylval->string.characters == m_tokenStart + 1 && yylval->string.length > 0);
- break;
- }
-#endif
-
return token();
}
@@ -9945,17 +10188,17 @@ void CSSParser::deleteFontFaceOnlyValues()
StyleKeyframe* CSSParser::createKeyframe(CSSParserValueList* keys)
{
// Create a key string from the passed keys
- String keyString;
+ StringBuilder keyString;
for (unsigned i = 0; i < keys->size(); ++i) {
float key = static_cast<float>(keys->valueAt(i)->fValue);
if (i != 0)
- keyString += ",";
- keyString += String::number(key);
- keyString += "%";
+ keyString.append(',');
+ keyString.append(String::number(key));
+ keyString.append('%');
}
RefPtr<StyleKeyframe> keyframe = StyleKeyframe::create();
- keyframe->setKeyText(keyString);
+ keyframe->setKeyText(keyString.toString());
keyframe->setProperties(createStylePropertySet());
clearProperties();
@@ -9981,17 +10224,15 @@ void CSSParser::updateLastMediaLine(MediaQuerySet* media)
media->setLastLine(m_lineNumber);
}
-void CSSParser::fixUnparsedPropertyRanges(CSSRuleSourceData* ruleData)
+template <typename CharacterType>
+static inline void fixUnparsedProperties(const CharacterType* characters, CSSRuleSourceData* ruleData)
{
- if (!ruleData->styleSourceData)
- return;
Vector<CSSPropertySourceData>& propertyData = ruleData->styleSourceData->propertyData;
unsigned size = propertyData.size();
if (!size)
return;
unsigned styleStart = ruleData->ruleBodyRange.start;
- const UChar* characters = m_dataStart.get() + m_parsedTextPrefixLength;
CSSPropertySourceData* nextData = &(propertyData.at(0));
for (unsigned i = 0; i < size; ++i) {
CSSPropertySourceData* currentData = nextData;
@@ -10028,36 +10269,60 @@ void CSSParser::fixUnparsedPropertyRanges(CSSRuleSourceData* ruleData)
}
}
+void CSSParser::fixUnparsedPropertyRanges(CSSRuleSourceData* ruleData)
+{
+ if (!ruleData->styleSourceData)
+ return;
+
+ if (is8BitSource()) {
+ fixUnparsedProperties<LChar>(m_dataStart8.get() + m_parsedTextPrefixLength, ruleData);
+ return;
+ }
+
+ fixUnparsedProperties<UChar>(m_dataStart16.get() + m_parsedTextPrefixLength, ruleData);
+}
+
void CSSParser::markRuleHeaderStart(CSSRuleSourceData::Type ruleType)
{
if (!isExtractingSourceData())
return;
RefPtr<CSSRuleSourceData> data = CSSRuleSourceData::create(ruleType);
- data->ruleHeaderRange.start = m_tokenStart - m_dataStart.get();
+ data->ruleHeaderRange.start = tokenStartOffset();
m_currentRuleDataStack->append(data.release());
}
-void CSSParser::markRuleHeaderEnd()
+template <typename CharacterType>
+inline void CSSParser::setRuleHeaderEnd(const CharacterType* dataStart)
{
- if (!isExtractingSourceData())
- return;
- ASSERT(!m_currentRuleDataStack->isEmpty());
- UChar* listEnd = m_tokenStart;
- while (listEnd > m_dataStart.get() + 1) {
+ CharacterType* listEnd = tokenStart<CharacterType>();
+ while (listEnd > dataStart + 1) {
if (isHTMLSpace(*(listEnd - 1)))
--listEnd;
else
break;
}
- m_currentRuleDataStack->last()->ruleHeaderRange.end = listEnd - m_dataStart.get();
+
+ m_currentRuleDataStack->last()->ruleHeaderRange.end = listEnd - dataStart;
+}
+
+void CSSParser::markRuleHeaderEnd()
+{
+ if (!isExtractingSourceData())
+ return;
+ ASSERT(!m_currentRuleDataStack->isEmpty());
+
+ if (is8BitSource())
+ setRuleHeaderEnd<LChar>(m_dataStart8.get());
+ else
+ setRuleHeaderEnd<UChar>(m_dataStart16.get());
}
void CSSParser::markRuleBodyStart()
{
if (!isExtractingSourceData())
return;
- unsigned offset = m_tokenStart - m_dataStart.get();
- if (*m_tokenStart == '{')
+ unsigned offset = tokenStartOffset();
+ if (tokenStartChar() == '{')
++offset; // Skip the rule body opening brace.
ASSERT(!m_currentRuleDataStack->isEmpty());
m_currentRuleDataStack->last()->ruleBodyRange.start = offset;
@@ -10066,7 +10331,7 @@ void CSSParser::markRuleBodyStart()
void CSSParser::markRuleBodyEnd()
{
// Precondition: (!isExtractingSourceData())
- unsigned offset = m_tokenStart - m_dataStart.get();
+ unsigned offset = tokenStartOffset();
ASSERT(!m_currentRuleDataStack->isEmpty());
m_currentRuleDataStack->last()->ruleBodyRange.end = offset;
}
@@ -10078,7 +10343,7 @@ void CSSParser::markPropertyStart()
if (m_currentRuleDataStack->isEmpty() || !m_currentRuleDataStack->last()->styleSourceData)
return;
- m_propertyRange.start = m_tokenStart - m_dataStart.get();
+ m_propertyRange.start = tokenStartOffset();
}
void CSSParser::markPropertyEnd(bool isImportantFound, bool isPropertyParsed)
@@ -10088,8 +10353,8 @@ void CSSParser::markPropertyEnd(bool isImportantFound, bool isPropertyParsed)
if (m_currentRuleDataStack->isEmpty() || !m_currentRuleDataStack->last()->styleSourceData)
return;
- unsigned offset = m_tokenStart - m_dataStart.get();
- if (*m_tokenStart == ';') // Include semicolon into the property text.
+ unsigned offset = tokenStartOffset();
+ if (tokenStartChar() == ';') // Include semicolon into the property text.
++offset;
m_propertyRange.end = offset;
if (m_propertyRange.start != UINT_MAX && !m_currentRuleDataStack->isEmpty()) {
@@ -10097,7 +10362,11 @@ void CSSParser::markPropertyEnd(bool isImportantFound, bool isPropertyParsed)
const unsigned start = m_propertyRange.start;
const unsigned end = m_propertyRange.end;
ASSERT(start < end);
- String propertyString = String(m_dataStart.get() + start, end - start).stripWhiteSpace();
+ String propertyString;
+ if (is8BitSource())
+ propertyString = String(m_dataStart8.get() + start, end - start).stripWhiteSpace();
+ else
+ propertyString = String(m_dataStart16.get() + start, end - start).stripWhiteSpace();
if (propertyString.endsWith(';'))
propertyString = propertyString.left(propertyString.length() - 1);
size_t colonIndex = propertyString.find(':');
@@ -10113,17 +10382,13 @@ void CSSParser::markPropertyEnd(bool isImportantFound, bool isPropertyParsed)
resetPropertyRange();
}
-static CSSPropertyID cssPropertyID(const UChar* propertyName, unsigned length)
+template <typename CharacterType>
+static CSSPropertyID cssPropertyID(const CharacterType* propertyName, unsigned length)
{
- if (!length)
- return CSSPropertyInvalid;
- if (length > maxCSSPropertyNameLength)
- return CSSPropertyInvalid;
-
char buffer[maxCSSPropertyNameLength + 1 + 1]; // 1 to turn "apple"/"khtml" into "webkit", 1 for null character
for (unsigned i = 0; i != length; ++i) {
- UChar c = propertyName[i];
+ CharacterType c = propertyName[i];
if (c == 0 || c >= 0x7F)
return CSSPropertyInvalid; // illegal character
buffer[i] = toASCIILower(c);
@@ -10161,12 +10426,26 @@ static CSSPropertyID cssPropertyID(const UChar* propertyName, unsigned length)
CSSPropertyID cssPropertyID(const String& string)
{
- return cssPropertyID(string.characters(), string.length());
+ unsigned length = string.length();
+
+ if (!length)
+ return CSSPropertyInvalid;
+ if (length > maxCSSPropertyNameLength)
+ return CSSPropertyInvalid;
+
+ return string.is8Bit() ? cssPropertyID(string.characters8(), length) : cssPropertyID(string.characters(), length);
}
CSSPropertyID cssPropertyID(const CSSParserString& string)
{
- return cssPropertyID(string.characters, string.length);
+ unsigned length = string.length();
+
+ if (!length)
+ return CSSPropertyInvalid;
+ if (length > maxCSSPropertyNameLength)
+ return CSSPropertyInvalid;
+
+ return string.is8Bit() ? cssPropertyID(string.characters8(), length) : cssPropertyID(string.characters16(), length);
}
#if PLATFORM(IOS)
@@ -10181,18 +10460,13 @@ void cssPropertyNameIOSAliasing(const char* propertyName, const char*& propertyN
}
#endif
-int cssValueKeywordID(const CSSParserString& string)
+template <typename CharacterType>
+static int cssValueKeywordID(const CharacterType* valueKeyword, unsigned length)
{
- unsigned length = string.length;
- if (!length)
- return 0;
- if (length > maxCSSValueKeywordLength)
- return 0;
-
char buffer[maxCSSValueKeywordLength + 1 + 1]; // 1 to turn "apple"/"khtml" into "webkit", 1 for null character
for (unsigned i = 0; i != length; ++i) {
- UChar c = string.characters[i];
+ CharacterType c = valueKeyword[i];
if (c == 0 || c >= 0x7F)
return 0; // illegal character
buffer[i] = WTF::toASCIILower(c);
@@ -10213,38 +10487,60 @@ int cssValueKeywordID(const CSSParserString& string)
return hashTableEntry ? hashTableEntry->id : 0;
}
-// "ident" from the CSS tokenizer, minus backslash-escape sequences
-static bool isCSSTokenizerIdentifier(const String& string)
+int cssValueKeywordID(const CSSParserString& string)
+{
+ unsigned length = string.length();
+ if (!length)
+ return 0;
+ if (length > maxCSSValueKeywordLength)
+ return 0;
+
+ return string.is8Bit() ? cssValueKeywordID(string.characters8(), length) : cssValueKeywordID(string.characters16(), length);
+}
+
+template <typename CharacterType>
+static inline bool isCSSTokenizerIdentifier(const CharacterType* characters, unsigned length)
{
- const UChar* p = string.characters();
- const UChar* end = p + string.length();
+ const CharacterType* end = characters + length;
// -?
- if (p != end && p[0] == '-')
- ++p;
+ if (characters != end && characters[0] == '-')
+ ++characters;
// {nmstart}
- if (p == end || !(p[0] == '_' || p[0] >= 128 || isASCIIAlpha(p[0])))
+ if (characters == end || !(characters[0] == '_' || characters[0] >= 128 || isASCIIAlpha(characters[0])))
return false;
- ++p;
+ ++characters;
// {nmchar}*
- for (; p != end; ++p) {
- if (!(p[0] == '_' || p[0] == '-' || p[0] >= 128 || isASCIIAlphanumeric(p[0])))
+ for (; characters != end; ++characters) {
+ if (!(characters[0] == '_' || characters[0] == '-' || characters[0] >= 128 || isASCIIAlphanumeric(characters[0])))
return false;
}
return true;
}
-// "url" from the CSS tokenizer, minus backslash-escape sequences
-static bool isCSSTokenizerURL(const String& string)
+// "ident" from the CSS tokenizer, minus backslash-escape sequences
+static bool isCSSTokenizerIdentifier(const String& string)
{
- const UChar* p = string.characters();
- const UChar* end = p + string.length();
+ unsigned length = string.length();
- for (; p != end; ++p) {
- UChar c = p[0];
+ if (!length)
+ return false;
+
+ if (string.is8Bit())
+ return isCSSTokenizerIdentifier(string.characters8(), length);
+ return isCSSTokenizerIdentifier(string.characters(), length);
+}
+
+template <typename CharacterType>
+static inline bool isCSSTokenizerURL(const CharacterType* characters, unsigned length)
+{
+ const CharacterType* end = characters + length;
+
+ for (; characters != end; ++characters) {
+ CharacterType c = characters[0];
switch (c) {
case '!':
case '#':
@@ -10261,10 +10557,23 @@ static bool isCSSTokenizerURL(const String& string)
return false;
}
}
-
+
return true;
}
+// "url" from the CSS tokenizer, minus backslash-escape sequences
+static bool isCSSTokenizerURL(const String& string)
+{
+ unsigned length = string.length();
+
+ if (!length)
+ return true;
+
+ if (string.is8Bit())
+ return isCSSTokenizerURL(string.characters8(), length);
+ return isCSSTokenizerURL(string.characters(), length);
+}
+
// We use single quotes for now because markup.cpp uses double quotes.
String quoteCSSString(const String& string)
{
diff --git a/Source/WebCore/css/CSSParser.h b/Source/WebCore/css/CSSParser.h
index 16e5bd70c..e33090f83 100644
--- a/Source/WebCore/css/CSSParser.h
+++ b/Source/WebCore/css/CSSParser.h
@@ -51,7 +51,7 @@ class CSSProperty;
class CSSSelectorList;
class CSSValue;
class CSSValueList;
-class CSSWrapShape;
+class CSSBasicShape;
class Document;
class Element;
class MediaQueryExp;
@@ -66,10 +66,13 @@ class StyleSheetContents;
class StyledElement;
#if ENABLE(CSS_SHADERS)
+class WebKitCSSArrayFunctionValue;
class WebKitCSSMixFunctionValue;
#endif
class CSSParser {
+ friend inline int cssyylex(void*, CSSParser*);
+
public:
CSSParser(const CSSParserContext&);
@@ -148,11 +151,11 @@ public:
bool parseClipShape(CSSPropertyID, bool important);
- bool parseExclusionShape(bool shapeInside, bool important);
- PassRefPtr<CSSWrapShape> parseExclusionShapeRectangle(CSSParserValueList* args);
- PassRefPtr<CSSWrapShape> parseExclusionShapeCircle(CSSParserValueList* args);
- PassRefPtr<CSSWrapShape> parseExclusionShapeEllipse(CSSParserValueList* args);
- PassRefPtr<CSSWrapShape> parseExclusionShapePolygon(CSSParserValueList* args);
+ bool parseBasicShape(CSSPropertyID, bool important);
+ PassRefPtr<CSSBasicShape> parseBasicShapeRectangle(CSSParserValueList* args);
+ PassRefPtr<CSSBasicShape> parseBasicShapeCircle(CSSParserValueList* args);
+ PassRefPtr<CSSBasicShape> parseBasicShapeEllipse(CSSParserValueList* args);
+ PassRefPtr<CSSBasicShape> parseBasicShapePolygon(CSSParserValueList* args);
bool parseFont(bool important);
PassRefPtr<CSSValueList> parseFontFamily();
@@ -219,6 +222,7 @@ public:
PassRefPtr<CSSValueList> parseFilter();
PassRefPtr<WebKitCSSFilterValue> parseBuiltinFilterArguments(CSSParserValueList*, WebKitCSSFilterValue::FilterOperationType);
#if ENABLE(CSS_SHADERS)
+ PassRefPtr<WebKitCSSArrayFunctionValue> parseCustomFilterArrayFunction(CSSParserValue*);
PassRefPtr<WebKitCSSMixFunctionValue> parseMixFunction(CSSParserValue*);
PassRefPtr<WebKitCSSFilterValue> parseCustomFilter(CSSParserValue*);
PassRefPtr<CSSValueList> parseCustomFilterTransform(CSSParserValueList*);
@@ -354,7 +358,9 @@ public:
PassRefPtr<CSSRuleSourceData> popRuleData();
void resetPropertyRange() { m_propertyRange.start = m_propertyRange.end = UINT_MAX; }
bool isExtractingSourceData() const { return !!m_currentRuleDataStack; }
- int lex(void* yylval);
+
+ inline int lex(void* yylval) { return (this->*m_lexFunc)(yylval); }
+
int token() { return m_token; }
PassRefPtr<CSSPrimitiveValue> createPrimitiveNumericValue(CSSParserValue*);
@@ -363,23 +369,72 @@ public:
static KURL completeURL(const CSSParserContext&, const String& url);
private:
+ bool is8BitSource() { return m_is8BitSource; }
+
+ template <typename SourceCharacterType>
+ int realLex(void* yylval);
+
+ UChar*& currentCharacter16();
+
+ template <typename CharacterType>
+ inline CharacterType*& currentCharacter();
+
+ template <typename CharacterType>
+ inline CharacterType* tokenStart();
+
+ template <typename CharacterType>
+ inline void setTokenStart(CharacterType*);
+
+ inline unsigned tokenStartOffset();
+ inline UChar tokenStartChar();
+
+ template <typename CharacterType>
inline bool isIdentifierStart();
- static inline UChar* checkAndSkipString(UChar*, UChar);
+ template <typename CharacterType>
+ static inline CharacterType* checkAndSkipString(CharacterType*, int);
- void parseEscape(UChar*&);
- inline void parseIdentifier(UChar*&, bool&);
- inline void parseString(UChar*&, UChar);
- inline void parseURI(UChar*&, UChar*&);
+ template <typename CharacterType>
+ unsigned parseEscape(CharacterType*&);
+ template <typename DestCharacterType>
+ inline void UnicodeToChars(DestCharacterType*&, unsigned);
+ template <typename SrcCharacterType, typename DestCharacterType>
+ inline bool parseIdentifierInternal(SrcCharacterType*&, DestCharacterType*&, bool&);
+
+ template <typename CharacterType>
+ inline void parseIdentifier(CharacterType*&, CSSParserString&, bool&);
+
+ template <typename SrcCharacterType, typename DestCharacterType>
+ inline bool parseStringInternal(SrcCharacterType*&, DestCharacterType*&, UChar);
+
+ template <typename CharacterType>
+ inline void parseString(CharacterType*&, CSSParserString& resultString, UChar);
+
+ template <typename CharacterType>
+ inline bool parseURIInternal(CharacterType*&, CharacterType*&);
+
+ template <typename CharacterType>
+ inline void parseURI(CSSParserString&);
+ template <typename CharacterType>
inline bool parseUnicodeRange();
+ template <typename CharacterType>
bool parseNthChild();
+ template <typename CharacterType>
bool parseNthChildExtra();
+ template <typename CharacterType>
inline void detectFunctionTypeToken(int);
+ template <typename CharacterType>
inline void detectMediaQueryToken(int);
- inline void detectNumberToken(UChar*, int);
+ template <typename CharacterType>
+ inline void detectNumberToken(CharacterType*, int);
+ template <typename CharacterType>
inline void detectDashToken(int);
+ template <typename CharacterType>
inline void detectAtToken(int, bool);
+ template <typename CharacterType>
+ inline void setRuleHeaderEnd(const CharacterType*);
+
void setStyleSheet(StyleSheetContents*);
inline bool inStrictMode() const { return m_context.mode == CSSStrictMode || m_context.mode == SVGAttributeMode; }
@@ -430,9 +485,16 @@ private:
};
ParsingMode m_parsingMode;
- OwnArrayPtr<UChar> m_dataStart;
- UChar* m_currentCharacter;
- UChar* m_tokenStart;
+ bool m_is8BitSource;
+ OwnArrayPtr<LChar> m_dataStart8;
+ OwnArrayPtr<UChar> m_dataStart16;
+ LChar* m_currentCharacter8;
+ UChar* m_currentCharacter16;
+ union {
+ LChar* ptr8;
+ UChar* ptr16;
+ } m_tokenStart;
+ unsigned m_length;
int m_token;
int m_lineNumber;
int m_lastSelectorLineNumber;
@@ -440,6 +502,8 @@ private:
bool m_allowImportRules;
bool m_allowNamespaceDeclarations;
+ int (CSSParser::*m_lexFunc)(void*);
+
Vector<RefPtr<StyleRuleBase> > m_parsedRules;
Vector<RefPtr<StyleKeyframe> > m_parsedKeyframes;
Vector<RefPtr<MediaQuerySet> > m_parsedMediaQuerySets;
@@ -535,6 +599,38 @@ String quoteCSSStringIfNeeded(const String&);
String quoteCSSURLIfNeeded(const String&);
bool isValidNthToken(const CSSParserString&);
+
+template <>
+inline void CSSParser::setTokenStart<LChar>(LChar* tokenStart)
+{
+ m_tokenStart.ptr8 = tokenStart;
+}
+
+template <>
+inline void CSSParser::setTokenStart<UChar>(UChar* tokenStart)
+{
+ m_tokenStart.ptr16 = tokenStart;
+}
+
+inline unsigned CSSParser::tokenStartOffset()
+{
+ if (is8BitSource())
+ return m_tokenStart.ptr8 - m_dataStart8.get();
+ return m_tokenStart.ptr16 - m_dataStart16.get();
+}
+
+inline UChar CSSParser::tokenStartChar()
+{
+ if (is8BitSource())
+ return *m_tokenStart.ptr8;
+ return *m_tokenStart.ptr16;
+}
+
+inline int cssyylex(void* yylval, CSSParser* parser)
+{
+ return parser->lex(yylval);
+}
+
} // namespace WebCore
#endif // CSSParser_h
diff --git a/Source/WebCore/css/CSSParserValues.cpp b/Source/WebCore/css/CSSParserValues.cpp
index 1ab4dfefd..8b7625578 100644
--- a/Source/WebCore/css/CSSParserValues.cpp
+++ b/Source/WebCore/css/CSSParserValues.cpp
@@ -67,31 +67,81 @@ PassRefPtr<CSSValue> CSSParserValue::createCSSValue()
{
RefPtr<CSSValue> parsedValue;
if (id)
- parsedValue = CSSPrimitiveValue::createIdentifier(id);
- else if (unit == CSSPrimitiveValue::CSS_IDENT)
- parsedValue = CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_PARSER_IDENTIFIER);
- else if (unit == CSSPrimitiveValue::CSS_NUMBER && isInt)
- parsedValue = CSSPrimitiveValue::create(fValue, CSSPrimitiveValue::CSS_PARSER_INTEGER);
- else if (unit == CSSParserValue::Operator) {
+ return CSSPrimitiveValue::createIdentifier(id);
+
+ if (unit == CSSParserValue::Operator) {
RefPtr<CSSPrimitiveValue> primitiveValue = CSSPrimitiveValue::createIdentifier(iValue);
primitiveValue->setPrimitiveType(CSSPrimitiveValue::CSS_PARSER_OPERATOR);
- parsedValue = primitiveValue;
- } else if (unit == CSSParserValue::Function)
- parsedValue = CSSFunctionValue::create(function);
- else if (unit == CSSPrimitiveValue::CSS_STRING
- || unit == CSSPrimitiveValue::CSS_URI
+ return primitiveValue;
+ }
+ if (unit == CSSParserValue::Function)
+ return CSSFunctionValue::create(function);
+ if (unit >= CSSParserValue::Q_EMS)
+ return CSSPrimitiveValue::createAllowingMarginQuirk(fValue, CSSPrimitiveValue::CSS_EMS);
+
+ CSSPrimitiveValue::UnitTypes primitiveUnit = static_cast<CSSPrimitiveValue::UnitTypes>(unit);
+ switch (primitiveUnit) {
+ case CSSPrimitiveValue::CSS_IDENT:
+ return CSSPrimitiveValue::create(string, CSSPrimitiveValue::CSS_PARSER_IDENTIFIER);
+ case CSSPrimitiveValue::CSS_NUMBER:
+ return CSSPrimitiveValue::create(fValue, isInt ? CSSPrimitiveValue::CSS_PARSER_INTEGER : CSSPrimitiveValue::CSS_NUMBER);
+ case CSSPrimitiveValue::CSS_STRING:
+ case CSSPrimitiveValue::CSS_URI:
#if ENABLE(CSS_VARIABLES)
- || unit == CSSPrimitiveValue::CSS_VARIABLE_NAME
+ case CSSPrimitiveValue::CSS_VARIABLE_NAME:
+#endif
+ case CSSPrimitiveValue::CSS_PARSER_HEXCOLOR:
+ return CSSPrimitiveValue::create(string, primitiveUnit);
+ case CSSPrimitiveValue::CSS_PERCENTAGE:
+ case CSSPrimitiveValue::CSS_EMS:
+ case CSSPrimitiveValue::CSS_EXS:
+ case CSSPrimitiveValue::CSS_PX:
+ case CSSPrimitiveValue::CSS_CM:
+ case CSSPrimitiveValue::CSS_MM:
+ case CSSPrimitiveValue::CSS_IN:
+ case CSSPrimitiveValue::CSS_PT:
+ case CSSPrimitiveValue::CSS_PC:
+ case CSSPrimitiveValue::CSS_DEG:
+ case CSSPrimitiveValue::CSS_RAD:
+ case CSSPrimitiveValue::CSS_GRAD:
+ case CSSPrimitiveValue::CSS_MS:
+ case CSSPrimitiveValue::CSS_S:
+ case CSSPrimitiveValue::CSS_HZ:
+ case CSSPrimitiveValue::CSS_KHZ:
+ case CSSPrimitiveValue::CSS_VW:
+ case CSSPrimitiveValue::CSS_VH:
+ case CSSPrimitiveValue::CSS_VMIN:
+ case CSSPrimitiveValue::CSS_TURN:
+ case CSSPrimitiveValue::CSS_REMS:
+ return CSSPrimitiveValue::create(fValue, primitiveUnit);
+ case CSSPrimitiveValue::CSS_UNKNOWN:
+ case CSSPrimitiveValue::CSS_DIMENSION:
+ case CSSPrimitiveValue::CSS_ATTR:
+ case CSSPrimitiveValue::CSS_COUNTER:
+ case CSSPrimitiveValue::CSS_RECT:
+ case CSSPrimitiveValue::CSS_RGBCOLOR:
+ case CSSPrimitiveValue::CSS_DPPX:
+ case CSSPrimitiveValue::CSS_DPI:
+ case CSSPrimitiveValue::CSS_DPCM:
+ case CSSPrimitiveValue::CSS_PAIR:
+#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
+ case CSSPrimitiveValue::CSS_DASHBOARD_REGION:
#endif
- || unit == CSSPrimitiveValue::CSS_PARSER_HEXCOLOR)
- parsedValue = CSSPrimitiveValue::create(string, (CSSPrimitiveValue::UnitTypes)unit);
- else if (unit >= CSSPrimitiveValue::CSS_NUMBER && unit <= CSSPrimitiveValue::CSS_KHZ)
- parsedValue = CSSPrimitiveValue::create(fValue, (CSSPrimitiveValue::UnitTypes)unit);
- else if (unit >= CSSPrimitiveValue::CSS_TURN && unit <= CSSPrimitiveValue::CSS_REMS) // CSS3 Values and Units
- parsedValue = CSSPrimitiveValue::create(fValue, (CSSPrimitiveValue::UnitTypes)unit);
- else if (unit >= CSSParserValue::Q_EMS)
- parsedValue = CSSPrimitiveValue::createAllowingMarginQuirk(fValue, CSSPrimitiveValue::CSS_EMS);
- return parsedValue;
+ case CSSPrimitiveValue::CSS_UNICODE_RANGE:
+ case CSSPrimitiveValue::CSS_PARSER_OPERATOR:
+ case CSSPrimitiveValue::CSS_PARSER_INTEGER:
+ case CSSPrimitiveValue::CSS_PARSER_IDENTIFIER:
+ case CSSPrimitiveValue::CSS_COUNTER_NAME:
+ case CSSPrimitiveValue::CSS_SHAPE:
+ case CSSPrimitiveValue::CSS_QUAD:
+ case CSSPrimitiveValue::CSS_CALC:
+ case CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_NUMBER:
+ case CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_LENGTH:
+ return 0;
+ }
+
+ ASSERT_NOT_REACHED();
+ return 0;
}
CSSParserSelector::CSSParserSelector()
diff --git a/Source/WebCore/css/CSSParserValues.h b/Source/WebCore/css/CSSParserValues.h
index a736abb89..ad11198be 100644
--- a/Source/WebCore/css/CSSParserValues.h
+++ b/Source/WebCore/css/CSSParserValues.h
@@ -24,6 +24,7 @@
#include "CSSSelector.h"
#include "CSSValueList.h"
#include <wtf/text/AtomicString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -31,13 +32,74 @@ class CSSValue;
class QualifiedName;
struct CSSParserString {
- UChar* characters;
- int length;
+ void init(LChar* characters, unsigned length)
+ {
+ m_data.characters8 = characters;
+ m_length = length;
+ m_is8Bit = true;
+ }
+
+ void init(UChar* characters, unsigned length)
+ {
+ m_data.characters16 = characters;
+ m_length = length;
+ m_is8Bit = false;
+ }
+
+ void init(String string)
+ {
+ m_length = string.length();
+ if (m_length && string.is8Bit()) {
+ m_data.characters8 = const_cast<LChar*>(string.characters8());
+ m_is8Bit = true;
+ } else {
+ m_data.characters16 = const_cast<UChar*>(string.characters());
+ m_is8Bit = false;
+ }
+ }
+
+ void clear()
+ {
+ m_data.characters8 = 0;
+ m_length = 0;
+ m_is8Bit = false;
+ }
+
+ bool is8Bit() const { return m_is8Bit; }
+ LChar* characters8() const { ASSERT(is8Bit()); return m_data.characters8; }
+ UChar* characters16() const { ASSERT(!is8Bit()); return m_data.characters16; }
+ template <typename CharacterType>
+ CharacterType* characters() const;
+
+ unsigned length() const { return m_length; }
+ void setLength(unsigned length) { m_length = length; }
void lower();
- operator String() const { return String(characters, length); }
- operator AtomicString() const { return AtomicString(characters, length); }
+ UChar operator[](unsigned i)
+ {
+ ASSERT(i < m_length);
+ if (is8Bit())
+ return m_data.characters8[i];
+ return m_data.characters16[i];
+ }
+
+ bool equalIgnoringCase(const char* str)
+ {
+ if (is8Bit())
+ return WTF::equalIgnoringCase(str, characters8(), length());
+ return WTF::equalIgnoringCase(str, characters16(), length());
+ }
+
+ operator String() const { return is8Bit() ? String(m_data.characters8, m_length) : String(m_data.characters16, m_length); }
+ operator AtomicString() const { return is8Bit() ? AtomicString(m_data.characters8, m_length) : AtomicString(m_data.characters16, m_length); }
+
+ union {
+ LChar* characters8;
+ UChar* characters16;
+ } m_data;
+ unsigned m_length;
+ bool m_is8Bit;
};
struct CSSParserFunction;
diff --git a/Source/WebCore/css/CSSPrimitiveValue.cpp b/Source/WebCore/css/CSSPrimitiveValue.cpp
index c433f2094..c1bd02233 100644
--- a/Source/WebCore/css/CSSPrimitiveValue.cpp
+++ b/Source/WebCore/css/CSSPrimitiveValue.cpp
@@ -21,24 +21,24 @@
#include "config.h"
#include "CSSPrimitiveValue.h"
+#include "CSSBasicShapes.h"
#include "CSSCalculationValue.h"
#include "CSSHelper.h"
#include "CSSParser.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
-#include "CSSWrapShapes.h"
#include "CalculationValue.h"
#include "Color.h"
#include "Counter.h"
#include "ExceptionCode.h"
#include "Font.h"
-#include "MemoryInstrumentation.h"
#include "Node.h"
#include "Pair.h"
#include "RGBColor.h"
#include "Rect.h"
#include "RenderStyle.h"
#include "StyleSheetContents.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/ASCIICType.h>
#include <wtf/DecimalNumber.h>
#include <wtf/StdLibExtras.h>
@@ -91,7 +91,9 @@ static inline bool isValidCSSUnitTypeForDoubleConversion(CSSPrimitiveValue::Unit
case CSSPrimitiveValue:: CSS_ATTR:
case CSSPrimitiveValue:: CSS_COUNTER:
case CSSPrimitiveValue:: CSS_COUNTER_NAME:
+#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
case CSSPrimitiveValue:: CSS_DASHBOARD_REGION:
+#endif
#if !ENABLE(CSS_IMAGE_RESOLUTION)
case CSSPrimitiveValue:: CSS_DPPX:
case CSSPrimitiveValue:: CSS_DPI:
@@ -186,6 +188,10 @@ unsigned short CSSPrimitiveValue::primitiveType() const
return CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_NUMBER;
case CalcPercentLength:
return CSSPrimitiveValue::CSS_CALC_PERCENTAGE_WITH_LENGTH;
+#if ENABLE(CSS_VARIABLES)
+ case CalcVariable:
+ return CSSPrimitiveValue::CSS_UNKNOWN; // The type of a calculation containing a variable cannot be known until the value of the variable is determined.
+#endif
case CalcOther:
return CSSPrimitiveValue::CSS_UNKNOWN;
}
@@ -347,7 +353,7 @@ void CSSPrimitiveValue::init(PassRefPtr<CSSCalcValue> c)
m_value.calc = c.leakRef();
}
-void CSSPrimitiveValue::init(PassRefPtr<CSSWrapShape> shape)
+void CSSPrimitiveValue::init(PassRefPtr<CSSBasicShape> shape)
{
m_primitiveUnitType = CSS_SHAPE;
m_hasCachedCSSText = false;
@@ -361,11 +367,14 @@ CSSPrimitiveValue::~CSSPrimitiveValue()
void CSSPrimitiveValue::cleanup()
{
- switch (m_primitiveUnitType) {
+ switch (static_cast<UnitTypes>(m_primitiveUnitType)) {
case CSS_STRING:
case CSS_URI:
case CSS_ATTR:
case CSS_COUNTER_NAME:
+#if ENABLE(CSS_VARIABLES)
+ case CSS_VARIABLE_NAME:
+#endif
case CSS_PARSER_HEXCOLOR:
if (m_value.string)
m_value.string->deref();
@@ -382,7 +391,7 @@ void CSSPrimitiveValue::cleanup()
case CSS_PAIR:
m_value.pair->deref();
break;
-#if ENABLE(DASHBOARD_SUPPORT)
+#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
case CSS_DASHBOARD_REGION:
if (m_value.region)
m_value.region->deref();
@@ -391,6 +400,10 @@ void CSSPrimitiveValue::cleanup()
case CSS_CALC:
m_value.calc->deref();
break;
+ case CSS_CALC_PERCENTAGE_WITH_NUMBER:
+ case CSS_CALC_PERCENTAGE_WITH_LENGTH:
+ ASSERT_NOT_REACHED();
+ break;
case CSS_SHAPE:
m_value.shape->deref();
break;
@@ -417,10 +430,14 @@ void CSSPrimitiveValue::cleanup()
case CSS_VW:
case CSS_VH:
case CSS_VMIN:
+ case CSS_DPPX:
+ case CSS_DPI:
+ case CSS_DPCM:
case CSS_IDENT:
case CSS_RGBCOLOR:
case CSS_DIMENSION:
case CSS_UNKNOWN:
+ case CSS_UNICODE_RANGE:
case CSS_PARSER_OPERATOR:
case CSS_PARSER_IDENTIFIER:
break;
@@ -462,7 +479,8 @@ template<> unsigned CSSPrimitiveValue::computeLength(RenderStyle* style, RenderS
template<> Length CSSPrimitiveValue::computeLength(RenderStyle* style, RenderStyle* rootStyle, float multiplier, bool computingFontSize)
{
#if ENABLE(SUBPIXEL_LAYOUT)
- return Length(static_cast<float>(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);
+ double value = computeLengthDouble(style, rootStyle, multiplier, computingFontSize);
+ return Length(static_cast<float>(value > intMaxForLayoutUnit || value < intMinForLayoutUnit ? 0.0 : value), Fixed);
#else
return Length(roundForImpreciseConversion<float>(computeLengthDouble(style, rootStyle, multiplier, computingFontSize)), Fixed);
#endif
@@ -490,6 +508,10 @@ template<> double CSSPrimitiveValue::computeLength(RenderStyle* style, RenderSty
double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, RenderStyle* rootStyle, float multiplier, bool computingFontSize)
{
+ if (m_primitiveUnitType == CSS_CALC)
+ // The multiplier and factor is applied to each value in the calc expression individually
+ return m_value.calc->computeLengthPx(style, rootStyle, multiplier, computingFontSize);
+
double factor;
switch (primitiveType()) {
@@ -536,18 +558,11 @@ double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, RenderStyle* r
return -1.0;
}
- double computedValue;
- if (m_primitiveUnitType == CSS_CALC)
- // The multiplier is passed in as 1.0 here to ensure it is only applied once
- computedValue = m_value.calc->computeLengthPx(style, rootStyle, 1.0, computingFontSize);
- else
- computedValue = getDoubleValue();
-
// We do not apply the zoom factor when we are computing the value of the font-size property. The zooming
// for font sizes is much more complicated, since we have to worry about enforcing the minimum font size preference
// as well as enforcing the implicit "smart minimum." In addition the CSS property text-size-adjust is used to
// prevent text from zooming at all. Therefore we will not apply the zoom here if we are computing font-size.
- double result = computedValue * factor;
+ double result = getDoubleValue() * factor;
if (computingFontSize || isFontRelativeLength())
return result;
@@ -948,9 +963,7 @@ String CSSPrimitiveValue::customCssText() const
break;
}
case CSS_COUNTER_NAME:
- text = "counter(";
- text += m_value.string;
- text += ")";
+ text = "counter(" + String(m_value.string) + ')';
break;
case CSS_COUNTER: {
StringBuilder result;
@@ -1034,30 +1047,34 @@ String CSSPrimitiveValue::customCssText() const
text = String::adopt(result);
break;
}
- case CSS_PAIR:
- text = m_value.pair->first()->cssText();
+ case CSS_PAIR: {
+ StringBuilder result;
+ result.append(m_value.pair->first()->cssText());
if (m_value.pair->second() != m_value.pair->first()) {
- text += " ";
- text += m_value.pair->second()->cssText();
+ result.append(' ');
+ result.append(m_value.pair->second()->cssText());
}
+ text = result.toString();
break;
+ }
#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
- case CSS_DASHBOARD_REGION:
+ case CSS_DASHBOARD_REGION: {
+ StringBuilder result;
for (DashboardRegion* region = getDashboardRegionValue(); region; region = region->m_next.get()) {
- if (!text.isEmpty())
- text.append(' ');
+ if (!result.isEmpty())
+ result.append(' ');
#if ENABLE(DASHBOARD_SUPPORT) && ENABLE(WIDGET_REGION)
- text += region->m_cssFunctionName;
+ result.append(region->m_cssFunctionName);
#elif ENABLE(DASHBOARD_SUPPORT)
- text += "dashboard-region(";
+ result.appendLiteral("dashboard-region(");
#else
- text += "region(";
+ result.appendLiteral("region(");
#endif
- text += region->m_label;
+ result.append(region->m_label);
if (region->m_isCircle)
- text += " circle";
+ result.appendLiteral(" circle");
else if (region->m_isRectangle)
- text += " rectangle";
+ result.appendLiteral(" rectangle");
else
break;
if (region->top()->m_primitiveUnitType == CSS_IDENT && region->top()->getIdent() == CSSValueInvalid) {
@@ -1068,15 +1085,20 @@ String CSSPrimitiveValue::customCssText() const
ASSERT(region->bottom()->getIdent() == CSSValueInvalid);
ASSERT(region->left()->getIdent() == CSSValueInvalid);
} else {
- text.append(' ');
- text += region->top()->cssText() + " ";
- text += region->right()->cssText() + " ";
- text += region->bottom()->cssText() + " ";
- text += region->left()->cssText();
+ result.append(' ');
+ result.append(region->top()->cssText());
+ result.append(' ');
+ result.append(region->right()->cssText());
+ result.append(' ');
+ result.append(region->bottom()->cssText());
+ result.append(' ');
+ result.append(region->left()->cssText());
}
- text += ")";
+ result.append(')');
}
+ text = result.toString();
break;
+ }
#endif
case CSS_PARSER_OPERATOR: {
char c = static_cast<char>(m_value.ident);
@@ -1103,9 +1125,7 @@ String CSSPrimitiveValue::customCssText() const
break;
#if ENABLE(CSS_VARIABLES)
case CSS_VARIABLE_NAME:
- text = "-webkit-var(";
- text += m_value.string;
- text += ")";
+ text = "-webkit-var(" + String(m_value.string) + ")";
break;
#endif
}
@@ -1119,8 +1139,10 @@ String CSSPrimitiveValue::customCssText() const
#if ENABLE(CSS_VARIABLES)
String CSSPrimitiveValue::customSerializeResolvingVariables(const HashMap<AtomicString, String>& variables) const
{
- if (m_primitiveUnitType == CSS_VARIABLE_NAME && variables.contains(m_value.string))
+ if (isVariableName() && variables.contains(m_value.string))
return variables.get(m_value.string);
+ if (isCalculated())
+ return cssCalcValue()->customSerializeResolvingVariables(variables);
return customCssText();
}
#endif
@@ -1241,7 +1263,7 @@ PassRefPtr<CSSPrimitiveValue> CSSPrimitiveValue::cloneForCSSOM() const
void CSSPrimitiveValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
switch (m_primitiveUnitType) {
case CSS_ATTR:
case CSS_COUNTER_NAME:
diff --git a/Source/WebCore/css/CSSPrimitiveValue.h b/Source/WebCore/css/CSSPrimitiveValue.h
index fd0832d34..103ea6a83 100644
--- a/Source/WebCore/css/CSSPrimitiveValue.h
+++ b/Source/WebCore/css/CSSPrimitiveValue.h
@@ -38,7 +38,7 @@ class Quad;
class RGBColor;
class Rect;
class RenderStyle;
-class CSSWrapShape;
+class CSSBasicShape;
struct Length;
@@ -99,7 +99,9 @@ public:
CSS_DPI = 30,
CSS_DPCM = 31,
CSS_PAIR = 100, // We envision this being exposed as a means of getting computed style values for pairs (border-spacing/radius, background-position, etc.)
+#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
CSS_DASHBOARD_REGION = 101, // FIXME: Dashboard region should not be a primitive value.
+#endif
CSS_UNICODE_RANGE = 102,
// These next types are just used internally to allow us to translate back and forth from CSSPrimitiveValues to CSSParserValues.
@@ -282,9 +284,11 @@ public:
Pair* getPairValue(ExceptionCode&) const;
Pair* getPairValue() const { return m_primitiveUnitType != CSS_PAIR ? 0 : m_value.pair; }
+#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
DashboardRegion* getDashboardRegionValue() const { return m_primitiveUnitType != CSS_DASHBOARD_REGION ? 0 : m_value.region; }
+#endif
- CSSWrapShape* getShapeValue() const { return m_primitiveUnitType != CSS_SHAPE ? 0 : m_value.shape; }
+ CSSBasicShape* getShapeValue() const { return m_primitiveUnitType != CSS_SHAPE ? 0 : m_value.shape; }
CSSCalcValue* cssCalcValue() const { return m_primitiveUnitType != CSS_CALC ? 0 : m_value.calc; }
@@ -340,7 +344,7 @@ private:
void init(PassRefPtr<Pair>);
void init(PassRefPtr<Quad>);
void init(PassRefPtr<DashboardRegion>); // FIXME: Dashboard region should not be a primitive value.
- void init(PassRefPtr<CSSWrapShape>);
+ void init(PassRefPtr<CSSBasicShape>);
void init(PassRefPtr<CSSCalcValue>);
bool getDoubleValueInternal(UnitTypes targetUnitType, double* result) const;
@@ -356,7 +360,7 @@ private:
unsigned rgbcolor;
Pair* pair;
DashboardRegion* region;
- CSSWrapShape* shape;
+ CSSBasicShape* shape;
CSSCalcValue* calc;
} m_value;
};
diff --git a/Source/WebCore/css/CSSPrimitiveValueMappings.h b/Source/WebCore/css/CSSPrimitiveValueMappings.h
index 806605fe3..2df502050 100644
--- a/Source/WebCore/css/CSSPrimitiveValueMappings.h
+++ b/Source/WebCore/css/CSSPrimitiveValueMappings.h
@@ -1147,14 +1147,12 @@ template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EDisplay e)
case INLINE_BOX:
m_value.ident = CSSValueWebkitInlineBox;
break;
-#if ENABLE(CSS3_FLEXBOX)
case FLEX:
m_value.ident = CSSValueWebkitFlex;
break;
case INLINE_FLEX:
m_value.ident = CSSValueWebkitInlineFlex;
break;
-#endif
case GRID:
m_value.ident = CSSValueWebkitGrid;
break;
@@ -1204,8 +1202,6 @@ template<> inline CSSPrimitiveValue::operator EEmptyCell() const
return SHOW;
}
-#if ENABLE(CSS3_FLEXBOX)
-
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EAlignItems e)
: CSSValue(PrimitiveClass)
{
@@ -1411,8 +1407,6 @@ template<> inline CSSPrimitiveValue::operator EFlexWrap() const
return FlexWrapNone;
}
-#endif
-
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EFloat e)
: CSSValue(PrimitiveClass)
{
@@ -2624,31 +2618,31 @@ template<> inline CSSPrimitiveValue::operator EWordBreak() const
return NormalWordBreak;
}
-template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EWordWrap e)
+template<> inline CSSPrimitiveValue::CSSPrimitiveValue(EOverflowWrap e)
: CSSValue(PrimitiveClass)
{
m_primitiveUnitType = CSS_IDENT;
switch (e) {
- case NormalWordWrap:
+ case NormalOverflowWrap:
m_value.ident = CSSValueNormal;
break;
- case BreakWordWrap:
+ case BreakOverflowWrap:
m_value.ident = CSSValueBreakWord;
break;
}
}
-template<> inline CSSPrimitiveValue::operator EWordWrap() const
+template<> inline CSSPrimitiveValue::operator EOverflowWrap() const
{
switch (m_value.ident) {
case CSSValueBreakWord:
- return BreakWordWrap;
+ return BreakOverflowWrap;
case CSSValueNormal:
- return NormalWordWrap;
+ return NormalOverflowWrap;
}
ASSERT_NOT_REACHED();
- return NormalWordWrap;
+ return NormalOverflowWrap;
}
template<> inline CSSPrimitiveValue::CSSPrimitiveValue(TextDirection e)
diff --git a/Source/WebCore/css/CSSProperty.cpp b/Source/WebCore/css/CSSProperty.cpp
index 9bc8966c1..a556b6cb6 100644
--- a/Source/WebCore/css/CSSProperty.cpp
+++ b/Source/WebCore/css/CSSProperty.cpp
@@ -22,15 +22,16 @@
#include "CSSProperty.h"
#include "CSSValueList.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
#include "RenderStyleConstants.h"
#include "StylePropertyShorthand.h"
+#include "WebCoreMemoryInstrumentation.h"
#if ENABLE(CSS_VARIABLES)
#include "CSSVariableValue.h"
#endif
+#include <wtf/text/StringBuilder.h>
+
namespace WebCore {
struct SameSizeAsCSSProperty {
@@ -53,7 +54,14 @@ String CSSProperty::cssName() const
String CSSProperty::cssText() const
{
- return cssName() + ": " + m_value->cssText() + (isImportant() ? " !important" : "") + "; ";
+ StringBuilder result;
+ result.append(cssName());
+ result.appendLiteral(": ");
+ result.append(m_value->cssText());
+ if (isImportant())
+ result.appendLiteral(" !important");
+ result.append(';');
+ return result.toString();
}
void CSSProperty::wrapValueInCommaSeparatedList()
@@ -468,6 +476,7 @@ bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID)
case CSSPropertyOutlineStyle:
case CSSPropertyOutlineWidth:
case CSSPropertyOverflow:
+ case CSSPropertyOverflowWrap:
case CSSPropertyOverflowX:
case CSSPropertyOverflowY:
case CSSPropertyPadding:
@@ -552,6 +561,7 @@ bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID)
case CSSPropertyWebkitBoxPack:
case CSSPropertyWebkitBoxReflect:
case CSSPropertyWebkitBoxShadow:
+ case CSSPropertyWebkitClipPath:
case CSSPropertyWebkitColumnAxis:
case CSSPropertyWebkitColumnBreakAfter:
case CSSPropertyWebkitColumnBreakBefore:
@@ -572,7 +582,6 @@ bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID)
#if ENABLE(CSS_COMPOSITING)
case CSSPropertyWebkitBlendMode:
#endif
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitAlignContent:
case CSSPropertyWebkitAlignItems:
case CSSPropertyWebkitAlignSelf:
@@ -585,7 +594,6 @@ bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID)
case CSSPropertyWebkitFlexWrap:
case CSSPropertyWebkitJustifyContent:
case CSSPropertyWebkitOrder:
-#endif
case CSSPropertyWebkitFontSizeDelta:
case CSSPropertyWebkitGridColumns:
case CSSPropertyWebkitGridRows:
@@ -706,7 +714,7 @@ bool CSSProperty::isInheritedProperty(CSSPropertyID propertyID)
void CSSProperty::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_value);
}
diff --git a/Source/WebCore/css/CSSPropertyNames.in b/Source/WebCore/css/CSSPropertyNames.in
index 685f350ad..7330e0076 100644
--- a/Source/WebCore/css/CSSPropertyNames.in
+++ b/Source/WebCore/css/CSSPropertyNames.in
@@ -95,6 +95,7 @@ caption-side
-epub-caption-side = caption-side
clear
clip
+-webkit-clip-path
content
counter-increment
counter-reset
@@ -136,6 +137,7 @@ outline-offset
outline-style
outline-width
overflow
+overflow-wrap
overflow-x
overflow-y
padding
@@ -269,7 +271,6 @@ z-index
#if defined(ENABLE_CSS_COMPOSITING) && ENABLE_CSS_COMPOSITING
-webkit-blend-mode
#endif
-#if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX
-webkit-align-content
-webkit-align-items
-webkit-align-self
@@ -281,7 +282,6 @@ z-index
-webkit-flex-shrink
-webkit-flex-wrap
-webkit-justify-content
-#endif
-webkit-font-size-delta
-webkit-grid-columns
-webkit-grid-rows
diff --git a/Source/WebCore/css/CSSPropertySourceData.cpp b/Source/WebCore/css/CSSPropertySourceData.cpp
index d17ac8db6..1c5dc9b7e 100644
--- a/Source/WebCore/css/CSSPropertySourceData.cpp
+++ b/Source/WebCore/css/CSSPropertySourceData.cpp
@@ -36,8 +36,8 @@
#include "CSSPropertySourceData.h"
-#include "PlatformString.h"
#include <wtf/StaticConstructors.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/StringHash.h>
namespace WebCore {
@@ -88,18 +88,19 @@ CSSPropertySourceData::CSSPropertySourceData()
String CSSPropertySourceData::toString() const
{
- DEFINE_STATIC_LOCAL(String, emptyValue, ("e"));
- DEFINE_STATIC_LOCAL(String, importantSuffix, (" !important"));
+ DEFINE_STATIC_LOCAL(String, emptyValue, (ASCIILiteral("e")));
+ DEFINE_STATIC_LOCAL(String, importantSuffix, (ASCIILiteral(" !important")));
if (!name && value == emptyValue)
return String();
- String result = name;
- result += ": ";
- result += value;
+ StringBuilder result;
+ result.append(name);
+ result.appendLiteral(": ");
+ result.append(value);
if (important)
- result += importantSuffix;
- result += ";";
- return result;
+ result.append(importantSuffix);
+ result.append(';');
+ return result.toString();
}
unsigned CSSPropertySourceData::hash() const
diff --git a/Source/WebCore/css/CSSPropertySourceData.h b/Source/WebCore/css/CSSPropertySourceData.h
index 24daef4a9..469bdb630 100644
--- a/Source/WebCore/css/CSSPropertySourceData.h
+++ b/Source/WebCore/css/CSSPropertySourceData.h
@@ -31,12 +31,12 @@
#ifndef CSSPropertySourceData_h
#define CSSPropertySourceData_h
-#include "PlatformString.h"
#include <utility>
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/CSSReflectValue.cpp b/Source/WebCore/css/CSSReflectValue.cpp
index ede3c9a1f..7ccb76ecf 100644
--- a/Source/WebCore/css/CSSReflectValue.cpp
+++ b/Source/WebCore/css/CSSReflectValue.cpp
@@ -27,8 +27,8 @@
#include "CSSReflectValue.h"
#include "CSSPrimitiveValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
using namespace std;
@@ -36,28 +36,29 @@ namespace WebCore {
String CSSReflectValue::customCssText() const
{
- String result;
+ StringBuilder result;
switch (m_direction) {
case ReflectionBelow:
- result += "below ";
+ result.appendLiteral("below ");
break;
case ReflectionAbove:
- result += "above ";
+ result.appendLiteral("above ");
break;
case ReflectionLeft:
- result += "left ";
+ result.appendLiteral("left ");
break;
case ReflectionRight:
- result += "right ";
+ result.appendLiteral("right ");
break;
default:
break;
}
- result += m_offset->cssText() + " ";
+ result.append(m_offset->cssText());
+ result.append(' ');
if (m_mask)
- result += m_mask->cssText();
- return result;
+ result.append(m_mask->cssText());
+ return result.toString();
}
void CSSReflectValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const StyleSheetContents* styleSheet) const
@@ -68,7 +69,7 @@ void CSSReflectValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const Sty
void CSSReflectValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_offset);
info.addInstrumentedMember(m_mask);
}
diff --git a/Source/WebCore/css/CSSRule.cpp b/Source/WebCore/css/CSSRule.cpp
index 2915a6e4a..fa7ecf148 100644
--- a/Source/WebCore/css/CSSRule.cpp
+++ b/Source/WebCore/css/CSSRule.cpp
@@ -212,7 +212,7 @@ const CSSParserContext& CSSRule::parserContext() const
void CSSRule::reportBaseClassMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
if (m_parentIsRule)
info.addInstrumentedMember(m_parentRule);
else
diff --git a/Source/WebCore/css/CSSRuleList.cpp b/Source/WebCore/css/CSSRuleList.cpp
index aed1a7cd9..472b3dd60 100644
--- a/Source/WebCore/css/CSSRuleList.cpp
+++ b/Source/WebCore/css/CSSRuleList.cpp
@@ -53,7 +53,7 @@ void StaticCSSRuleList::deref()
void StaticCSSRuleList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedVector(m_rules);
}
diff --git a/Source/WebCore/css/CSSRuleList.h b/Source/WebCore/css/CSSRuleList.h
index 311ead529..cacf151af 100644
--- a/Source/WebCore/css/CSSRuleList.h
+++ b/Source/WebCore/css/CSSRuleList.h
@@ -22,7 +22,7 @@
#ifndef CSSRuleList_h
#define CSSRuleList_h
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
@@ -88,7 +88,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_rule);
}
diff --git a/Source/WebCore/css/CSSSelector.cpp b/Source/WebCore/css/CSSSelector.cpp
index eabee493a..5c26256a8 100644
--- a/Source/WebCore/css/CSSSelector.cpp
+++ b/Source/WebCore/css/CSSSelector.cpp
@@ -33,6 +33,7 @@
#include <wtf/HashMap.h>
#include <wtf/StdLibExtras.h>
#include <wtf/Vector.h>
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -515,16 +516,16 @@ bool CSSSelector::operator==(const CSSSelector& other)
String CSSSelector::selectorText() const
{
- String str = "";
+ StringBuilder str;
const AtomicString& prefix = m_tag.prefix();
const AtomicString& localName = m_tag.localName();
if (m_match == CSSSelector::None || !prefix.isNull() || localName != starAtom) {
if (prefix.isNull())
- str = localName;
+ str.append(localName);
else {
- str = prefix.string();
- str.append("|");
+ str.append(prefix.string());
+ str.append('|');
str.append(localName);
}
}
@@ -532,82 +533,82 @@ String CSSSelector::selectorText() const
const CSSSelector* cs = this;
while (true) {
if (cs->m_match == CSSSelector::Id) {
- str += "#";
+ str.append('#');
serializeIdentifier(cs->value(), str);
} else if (cs->m_match == CSSSelector::Class) {
- str += ".";
+ str.append('.');
serializeIdentifier(cs->value(), str);
} else if (cs->m_match == CSSSelector::PseudoClass || cs->m_match == CSSSelector::PagePseudoClass) {
- str += ":";
- str += cs->value();
+ str.append(':');
+ str.append(cs->value());
switch (cs->pseudoType()) {
case PseudoNot:
if (CSSSelectorList* selectorList = cs->selectorList())
- str += selectorList->first()->selectorText();
- str += ")";
+ str.append(selectorList->first()->selectorText());
+ str.append(')');
break;
case PseudoLang:
case PseudoNthChild:
case PseudoNthLastChild:
case PseudoNthOfType:
case PseudoNthLastOfType:
- str += cs->argument();
- str += ")";
+ str.append(cs->argument());
+ str.append(')');
break;
case PseudoAny: {
CSSSelector* firstSubSelector = cs->selectorList()->first();
for (CSSSelector* subSelector = firstSubSelector; subSelector; subSelector = CSSSelectorList::next(subSelector)) {
if (subSelector != firstSubSelector)
- str += ",";
- str += subSelector->selectorText();
+ str.append(',');
+ str.append(subSelector->selectorText());
}
- str += ")";
+ str.append(')');
break;
}
default:
break;
}
} else if (cs->m_match == CSSSelector::PseudoElement) {
- str += "::";
- str += cs->value();
+ str.appendLiteral("::");
+ str.append(cs->value());
} else if (cs->isAttributeSelector()) {
- str += "[";
+ str.append('[');
const AtomicString& prefix = cs->attribute().prefix();
if (!prefix.isNull()) {
str.append(prefix);
str.append("|");
}
- str += cs->attribute().localName();
+ str.append(cs->attribute().localName());
switch (cs->m_match) {
case CSSSelector::Exact:
- str += "=";
+ str.append('=');
break;
case CSSSelector::Set:
// set has no operator or value, just the attrName
- str += "]";
+ str.append(']');
break;
case CSSSelector::List:
- str += "~=";
+ str.appendLiteral("~=");
break;
case CSSSelector::Hyphen:
- str += "|=";
+ str.appendLiteral("|=");
break;
case CSSSelector::Begin:
- str += "^=";
+ str.appendLiteral("^=");
break;
case CSSSelector::End:
- str += "$=";
+ str.appendLiteral("$=");
break;
case CSSSelector::Contain:
- str += "*=";
+ str.appendLiteral("*=");
break;
default:
break;
}
if (cs->m_match != CSSSelector::Set) {
serializeString(cs->value(), str);
- str += "]";
+ str.append(']');
}
}
if (cs->relation() != CSSSelector::SubSelector || !cs->tagHistory())
@@ -618,19 +619,20 @@ String CSSSelector::selectorText() const
if (CSSSelector* tagHistory = cs->tagHistory()) {
String tagHistoryText = tagHistory->selectorText();
if (cs->relation() == CSSSelector::DirectAdjacent)
- str = tagHistoryText + " + " + str;
+ return tagHistoryText + " + " + str.toString();
else if (cs->relation() == CSSSelector::IndirectAdjacent)
- str = tagHistoryText + " ~ " + str;
+ return tagHistoryText + " ~ " + str.toString();
else if (cs->relation() == CSSSelector::Child)
- str = tagHistoryText + " > " + str;
+ return tagHistoryText + " > " + str.toString();
else if (cs->relation() == CSSSelector::ShadowDescendant)
- str = tagHistoryText + str;
- else
+ return tagHistoryText + str.toString();
+ else {
// Descendant
- str = tagHistoryText + " " + str;
+ return tagHistoryText + " " + str.toString();
+ }
}
- return str;
+ return str.toString();
}
void CSSSelector::setAttribute(const QualifiedName& value)
diff --git a/Source/WebCore/css/CSSSelectorList.cpp b/Source/WebCore/css/CSSSelectorList.cpp
index 3cf020a72..56d2859d2 100644
--- a/Source/WebCore/css/CSSSelectorList.cpp
+++ b/Source/WebCore/css/CSSSelectorList.cpp
@@ -28,7 +28,7 @@
#include "CSSSelectorList.h"
#include "CSSParserValues.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -145,7 +145,7 @@ String CSSSelectorList::selectorsText() const
void CSSSelectorList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addRawBuffer(m_selectorArray, length() * sizeof(CSSSelector));
}
diff --git a/Source/WebCore/css/CSSStyleRule.cpp b/Source/WebCore/css/CSSStyleRule.cpp
index 7f82ae593..365d8d90f 100644
--- a/Source/WebCore/css/CSSStyleRule.cpp
+++ b/Source/WebCore/css/CSSStyleRule.cpp
@@ -26,10 +26,10 @@
#include "CSSSelector.h"
#include "CSSStyleSheet.h"
#include "Document.h"
-#include "MemoryInstrumentation.h"
#include "PropertySetCSSStyleDeclaration.h"
#include "StylePropertySet.h"
#include "StyleRule.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -101,24 +101,25 @@ void CSSStyleRule::setSelectorText(const String& selectorText)
CSSStyleSheet::RuleMutationScope mutationScope(this);
- String oldSelectorText = this->selectorText();
m_styleRule->wrapperAdoptSelectorList(selectorList);
if (hasCachedSelectorText()) {
- ASSERT(selectorTextCache().contains(this));
- selectorTextCache().set(this, generateSelectorText());
+ selectorTextCache().remove(this);
+ setHasCachedSelectorText(false);
}
}
String CSSStyleRule::cssText() const
{
- String result = selectorText();
-
- result += " { ";
- result += m_styleRule->properties()->asText();
- result += "}";
-
- return result;
+ StringBuilder result;
+ result.append(selectorText());
+ result.appendLiteral(" { ");
+ String decls = m_styleRule->properties()->asText();
+ result.append(decls);
+ if (!decls.isEmpty())
+ result.append(' ');
+ result.append('}');
+ return result.toString();
}
void CSSStyleRule::reattach(StyleRule* rule)
@@ -130,7 +131,7 @@ void CSSStyleRule::reattach(StyleRule* rule)
void CSSStyleRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_styleRule);
info.addInstrumentedMember(m_propertiesCSSOMWrapper);
diff --git a/Source/WebCore/css/CSSStyleSheet.cpp b/Source/WebCore/css/CSSStyleSheet.cpp
index ec0ebe6fa..90a2ff94a 100644
--- a/Source/WebCore/css/CSSStyleSheet.cpp
+++ b/Source/WebCore/css/CSSStyleSheet.cpp
@@ -32,12 +32,14 @@
#include "ExceptionCode.h"
#include "HTMLNames.h"
#include "MediaList.h"
-#include "MemoryInstrumentation.h"
#include "Node.h"
#include "SVGNames.h"
#include "SecurityOrigin.h"
#include "StyleRule.h"
+#include "StyleRuleImport.h"
#include "StyleSheetContents.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -56,7 +58,7 @@ private:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const OVERRIDE
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_styleSheet);
}
@@ -149,7 +151,7 @@ void CSSStyleSheet::willMutateRules()
m_contents->setMutable();
// Any existing CSSOM wrappers need to be connected to the copied child rules.
- reattachChildRuleCSSOMWrappers();
+ reattachCSSOMWrappers();
}
void CSSStyleSheet::didMutateRules()
@@ -168,8 +170,11 @@ void CSSStyleSheet::didMutate()
owner->styleResolverChanged(DeferRecalcStyle);
}
-void CSSStyleSheet::reattachChildRuleCSSOMWrappers()
+void CSSStyleSheet::reattachCSSOMWrappers()
{
+ if (m_ownerRule)
+ m_ownerRule->reattachStyleSheetContents();
+
for (unsigned i = 0; i < m_childRuleCSSOMWrappers.size(); ++i) {
if (!m_childRuleCSSOMWrappers[i])
continue;
@@ -179,7 +184,7 @@ void CSSStyleSheet::reattachChildRuleCSSOMWrappers()
void CSSStyleSheet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_contents);
info.addInstrumentedMember(m_title);
info.addInstrumentedMember(m_mediaQueries);
@@ -282,7 +287,10 @@ unsigned CSSStyleSheet::insertRule(const String& ruleString, unsigned index, Exc
if (!success) {
ec = HIERARCHY_REQUEST_ERR;
return 0;
- }
+ }
+ if (rule->isImportRule())
+ static_cast<StyleRuleImport*>(rule.get())->requestStyleSheet(rootStyleSheet(), m_contents->parserContext());
+
if (!m_childRuleCSSOMWrappers.isEmpty())
m_childRuleCSSOMWrappers.insert(index, RefPtr<CSSRule>());
@@ -311,7 +319,14 @@ void CSSStyleSheet::deleteRule(unsigned index, ExceptionCode& ec)
int CSSStyleSheet::addRule(const String& selector, const String& style, int index, ExceptionCode& ec)
{
- insertRule(selector + " { " + style + " }", index, ec);
+ StringBuilder text;
+ text.append(selector);
+ text.appendLiteral(" { ");
+ text.append(style);
+ if (!style.isEmpty())
+ text.append(' ');
+ text.append('}');
+ insertRule(text.toString(), index, ec);
// As per Microsoft documentation, always return -1.
return -1;
@@ -362,11 +377,17 @@ CSSStyleSheet* CSSStyleSheet::parentStyleSheet() const
return m_ownerRule ? m_ownerRule->parentStyleSheet() : 0;
}
-Document* CSSStyleSheet::ownerDocument() const
+CSSStyleSheet* CSSStyleSheet::rootStyleSheet() const
{
const CSSStyleSheet* root = this;
while (root->parentStyleSheet())
root = root->parentStyleSheet();
+ return const_cast<CSSStyleSheet*>(root);
+}
+
+Document* CSSStyleSheet::ownerDocument() const
+{
+ const CSSStyleSheet* root = rootStyleSheet();
return root->ownerNode() ? root->ownerNode()->document() : 0;
}
diff --git a/Source/WebCore/css/CSSStyleSheet.h b/Source/WebCore/css/CSSStyleSheet.h
index 44915140c..2b3c5d4b1 100644
--- a/Source/WebCore/css/CSSStyleSheet.h
+++ b/Source/WebCore/css/CSSStyleSheet.h
@@ -81,6 +81,7 @@ public:
virtual bool isLoading() const OVERRIDE;
void clearOwnerRule() { m_ownerRule = 0; }
+ CSSStyleSheet* rootStyleSheet() const;
Document* ownerDocument() const;
MediaQuerySet* mediaQueries() const { return m_mediaQueries.get(); }
void setMediaQueries(PassRefPtr<MediaQuerySet>);
@@ -102,7 +103,6 @@ public:
void didMutate();
void clearChildRuleCSSOMWrappers();
- void reattachChildRuleCSSOMWrappers();
StyleSheetContents* contents() const { return m_contents.get(); }
@@ -116,6 +116,7 @@ private:
virtual String type() const { return "text/css"; }
bool canAccessRules() const;
+ void reattachCSSOMWrappers();
RefPtr<StyleSheetContents> m_contents;
bool m_isInlineStylesheet;
diff --git a/Source/WebCore/css/CSSTimingFunctionValue.cpp b/Source/WebCore/css/CSSTimingFunctionValue.cpp
index 9abb19e69..e1bb1d126 100644
--- a/Source/WebCore/css/CSSTimingFunctionValue.cpp
+++ b/Source/WebCore/css/CSSTimingFunctionValue.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "CSSTimingFunctionValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -38,41 +38,31 @@ String CSSLinearTimingFunctionValue::customCssText() const
void CSSLinearTimingFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
String CSSCubicBezierTimingFunctionValue::customCssText() const
{
- String text("cubic-bezier(");
- text += String::number(m_x1);
- text += ", ";
- text += String::number(m_y1);
- text += ", ";
- text += String::number(m_x2);
- text += ", ";
- text += String::number(m_y2);
- text += ")";
- return text;
+ return "cubic-bezier("
+ + String::number(m_x1) + ", "
+ + String::number(m_y1) + ", "
+ + String::number(m_x2) + ", "
+ + String::number(m_y2) + ")";
}
void CSSCubicBezierTimingFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
String CSSStepsTimingFunctionValue::customCssText() const
{
- String text("steps(");
- text += String::number(m_steps);
- text += ", ";
- text += m_stepAtStart ? "start" : "end";
- text += ")";
- return text;
+ return "steps(" + String::number(m_steps) + ", " + (m_stepAtStart ? "start" : "end") + ')';
}
void CSSStepsTimingFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
} // namespace WebCore
diff --git a/Source/WebCore/css/CSSToStyleMap.cpp b/Source/WebCore/css/CSSToStyleMap.cpp
index e154cecd3..1e08334e2 100644
--- a/Source/WebCore/css/CSSToStyleMap.cpp
+++ b/Source/WebCore/css/CSSToStyleMap.cpp
@@ -361,7 +361,7 @@ void CSSToStyleMap::mapAnimationIterationCount(Animation* animation, CSSValue* v
CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
if (primitiveValue->getIdent() == CSSValueInfinite)
- animation->setIterationCount(-1);
+ animation->setIterationCount(Animation::IterationCountInfinite);
else
animation->setIterationCount(primitiveValue->getFloatValue());
}
diff --git a/Source/WebCore/css/CSSUnicodeRangeValue.cpp b/Source/WebCore/css/CSSUnicodeRangeValue.cpp
index abd806df4..34d63b6bb 100644
--- a/Source/WebCore/css/CSSUnicodeRangeValue.cpp
+++ b/Source/WebCore/css/CSSUnicodeRangeValue.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "CSSUnicodeRangeValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -40,7 +40,7 @@ String CSSUnicodeRangeValue::customCssText() const
void CSSUnicodeRangeValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
}
diff --git a/Source/WebCore/css/CSSUnknownRule.h b/Source/WebCore/css/CSSUnknownRule.h
index ab68aef9e..30d4c5ad6 100644
--- a/Source/WebCore/css/CSSUnknownRule.h
+++ b/Source/WebCore/css/CSSUnknownRule.h
@@ -23,7 +23,7 @@
#define CSSUnknownRule_h
#include "CSSRule.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -33,7 +33,7 @@ public:
void reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
}
};
diff --git a/Source/WebCore/css/CSSValue.cpp b/Source/WebCore/css/CSSValue.cpp
index ee0a18cf5..f5ef1ef41 100644
--- a/Source/WebCore/css/CSSValue.cpp
+++ b/Source/WebCore/css/CSSValue.cpp
@@ -52,10 +52,11 @@
#endif
#include "FontValue.h"
#include "FontFeatureValue.h"
-#include "MemoryInstrumentation.h"
#include "ShadowValue.h"
#include "SVGColor.h"
#include "SVGPaint.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include "WebKitCSSArrayFunctionValue.h"
#include "WebKitCSSFilterValue.h"
#include "WebKitCSSMixFunctionValue.h"
#include "WebKitCSSShaderValue.h"
@@ -81,7 +82,7 @@ public:
void reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_cssText);
}
@@ -229,6 +230,9 @@ void CSSValue::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
static_cast<const CSSCalcValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
return;
#if ENABLE(CSS_FILTERS) && ENABLE(CSS_SHADERS)
+ case WebKitCSSArrayFunctionValueClass:
+ static_cast<const WebKitCSSArrayFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
+ return;
case WebKitCSSMixFunctionValueClass:
static_cast<const WebKitCSSMixFunctionValue*>(this)->reportDescendantMemoryUsage(memoryObjectInfo);
return;
@@ -339,6 +343,8 @@ String CSSValue::cssText() const
case WebKitCSSFilterClass:
return static_cast<const WebKitCSSFilterValue*>(this)->customCssText();
#if ENABLE(CSS_SHADERS)
+ case WebKitCSSArrayFunctionValueClass:
+ return static_cast<const WebKitCSSArrayFunctionValue*>(this)->customCssText();
case WebKitCSSMixFunctionValueClass:
return static_cast<const WebKitCSSMixFunctionValue*>(this)->customCssText();
case WebKitCSSShaderClass:
@@ -473,6 +479,9 @@ void CSSValue::destroy()
delete static_cast<WebKitCSSFilterValue*>(this);
return;
#if ENABLE(CSS_SHADERS)
+ case WebKitCSSArrayFunctionValueClass:
+ delete static_cast<WebKitCSSArrayFunctionValue*>(this);
+ return;
case WebKitCSSMixFunctionValueClass:
delete static_cast<WebKitCSSMixFunctionValue*>(this);
return;
@@ -515,6 +524,8 @@ PassRefPtr<CSSValue> CSSValue::cloneForCSSOM() const
case WebKitCSSFilterClass:
return static_cast<const WebKitCSSFilterValue*>(this)->cloneForCSSOM();
#if ENABLE(CSS_SHADERS)
+ case WebKitCSSArrayFunctionValueClass:
+ return static_cast<const WebKitCSSArrayFunctionValue*>(this)->cloneForCSSOM();
case WebKitCSSMixFunctionValueClass:
return static_cast<const WebKitCSSMixFunctionValue*>(this)->cloneForCSSOM();
#endif
diff --git a/Source/WebCore/css/CSSValue.h b/Source/WebCore/css/CSSValue.h
index 63b8a2586..25a0095d9 100644
--- a/Source/WebCore/css/CSSValue.h
+++ b/Source/WebCore/css/CSSValue.h
@@ -66,6 +66,9 @@ public:
bool isPrimitiveValue() const { return m_classType == PrimitiveClass; }
bool isValueList() const { return m_classType >= ValueListClass; }
+
+ bool isBaseValueList() const { return m_classType == ValueListClass; }
+
bool isAspectRatioValue() const { return m_classType == AspectRatioClass; }
bool isBorderImageSliceValue() const { return m_classType == BorderImageSliceClass; }
@@ -92,6 +95,7 @@ public:
#if ENABLE(CSS_FILTERS)
bool isWebKitCSSFilterValue() const { return m_classType == WebKitCSSFilterClass; }
#if ENABLE(CSS_SHADERS)
+ bool isWebKitCSSArrayFunctionValue() const { return m_classType == WebKitCSSArrayFunctionValueClass; }
bool isWebKitCSSMixFunctionValue() const { return m_classType == WebKitCSSMixFunctionValueClass; }
bool isWebKitCSSShaderValue() const { return m_classType == WebKitCSSShaderClass; }
#endif
@@ -180,6 +184,7 @@ protected:
#if ENABLE(CSS_FILTERS)
WebKitCSSFilterClass,
#if ENABLE(CSS_SHADERS)
+ WebKitCSSArrayFunctionValueClass,
WebKitCSSMixFunctionValueClass,
#endif
#endif
diff --git a/Source/WebCore/css/CSSValueKeywords.in b/Source/WebCore/css/CSSValueKeywords.in
index 8205cff46..eed910074 100644
--- a/Source/WebCore/css/CSSValueKeywords.in
+++ b/Source/WebCore/css/CSSValueKeywords.in
@@ -331,10 +331,8 @@ table-cell
table-caption
-webkit-box
-webkit-inline-box
-#if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX
-webkit-flex
-webkit-inline-flex
-#endif
-webkit-grid
-webkit-inline-grid
//none
@@ -492,7 +490,6 @@ block-axis
single
multiple
-#if defined(ENABLE_CSS3_FLEXBOX) && ENABLE_CSS3_FLEXBOX
// CSS_PROP_ALIGN_CONTENT
flex-start
flex-end
@@ -524,8 +521,6 @@ column-reverse
// wrap
wrap-reverse
-#endif
-
// CSS_PROP_MARQUEE_DIRECTION
forwards
backwards
diff --git a/Source/WebCore/css/CSSValueList.cpp b/Source/WebCore/css/CSSValueList.cpp
index b120fa242..21e4fa703 100644
--- a/Source/WebCore/css/CSSValueList.cpp
+++ b/Source/WebCore/css/CSSValueList.cpp
@@ -22,8 +22,7 @@
#include "CSSValueList.h"
#include "CSSParserValues.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/text/StringBuilder.h>
@@ -189,7 +188,7 @@ PassRefPtr<CSSValueList> CSSValueList::cloneForCSSOM() const
void CSSValueList::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedVector(m_values);
}
diff --git a/Source/WebCore/css/CSSVariableValue.h b/Source/WebCore/css/CSSVariableValue.h
index 3020e1e1b..e32e48f62 100644
--- a/Source/WebCore/css/CSSVariableValue.h
+++ b/Source/WebCore/css/CSSVariableValue.h
@@ -34,7 +34,7 @@
#include "CSSParserValues.h"
#include "CSSPropertyNames.h"
#include "CSSValue.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -50,7 +50,7 @@ public:
void reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_name);
info.addInstrumentedMember(m_value);
}
diff --git a/Source/WebCore/css/Counter.h b/Source/WebCore/css/Counter.h
index bd3a078a9..51fa71031 100644
--- a/Source/WebCore/css/Counter.h
+++ b/Source/WebCore/css/Counter.h
@@ -22,7 +22,7 @@
#define Counter_h
#include "CSSPrimitiveValue.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/FontFeatureValue.cpp b/Source/WebCore/css/FontFeatureValue.cpp
index 413eaa4a2..948d22b64 100644
--- a/Source/WebCore/css/FontFeatureValue.cpp
+++ b/Source/WebCore/css/FontFeatureValue.cpp
@@ -28,7 +28,7 @@
#include "CSSParser.h"
#include "CSSValueKeywords.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -43,16 +43,16 @@ FontFeatureValue::FontFeatureValue(const String& tag, int value)
String FontFeatureValue::customCssText() const
{
StringBuilder builder;
- builder.append("'");
+ builder.append('\'');
builder.append(m_tag);
- builder.append("' ");
- builder.append(String::number(m_value));
+ builder.appendLiteral("' ");
+ builder.appendNumber(m_value);
return builder.toString();
}
void FontFeatureValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_tag);
}
diff --git a/Source/WebCore/css/FontFeatureValue.h b/Source/WebCore/css/FontFeatureValue.h
index 28d89f423..fcab81504 100644
--- a/Source/WebCore/css/FontFeatureValue.h
+++ b/Source/WebCore/css/FontFeatureValue.h
@@ -27,7 +27,7 @@
#define FontFeatureValue_h
#include "CSSValue.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/FontValue.cpp b/Source/WebCore/css/FontValue.cpp
index 4f8742c70..acb25d24b 100644
--- a/Source/WebCore/css/FontValue.cpp
+++ b/Source/WebCore/css/FontValue.cpp
@@ -22,8 +22,7 @@
#include "CSSValueList.h"
#include "CSSPrimitiveValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -68,7 +67,7 @@ String FontValue::customCssText() const
void FontValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(style);
info.addInstrumentedMember(variant);
info.addInstrumentedMember(weight);
diff --git a/Source/WebCore/css/LengthFunctions.cpp b/Source/WebCore/css/LengthFunctions.cpp
index e6b2abff9..9772e5edb 100644
--- a/Source/WebCore/css/LengthFunctions.cpp
+++ b/Source/WebCore/css/LengthFunctions.cpp
@@ -24,6 +24,7 @@
#include "config.h"
#include "LengthFunctions.h"
+#include "LayoutTypes.h"
#include "Length.h"
#include "RenderView.h"
diff --git a/Source/WebCore/css/MediaList.cpp b/Source/WebCore/css/MediaList.cpp
index 5ba7341eb..773ceebb5 100644
--- a/Source/WebCore/css/MediaList.cpp
+++ b/Source/WebCore/css/MediaList.cpp
@@ -26,7 +26,8 @@
#include "ExceptionCode.h"
#include "MediaQuery.h"
#include "MediaQueryExp.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -198,22 +199,22 @@ void MediaQuerySet::addMediaQuery(PassOwnPtr<MediaQuery> mediaQuery)
String MediaQuerySet::mediaText() const
{
- String text("");
+ StringBuilder text;
bool first = true;
for (size_t i = 0; i < m_queries.size(); ++i) {
if (!first)
- text += ", ";
+ text.appendLiteral(", ");
else
first = false;
- text += m_queries[i]->cssText();
+ text.append(m_queries[i]->cssText());
}
- return text;
+ return text.toString();
}
void MediaQuerySet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedVector(m_queries);
}
@@ -291,7 +292,7 @@ void MediaList::reattach(MediaQuerySet* mediaQueries)
void MediaList::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_mediaQueries);
}
diff --git a/Source/WebCore/css/MediaQuery.cpp b/Source/WebCore/css/MediaQuery.cpp
index 44c32c142..dda150fb5 100644
--- a/Source/WebCore/css/MediaQuery.cpp
+++ b/Source/WebCore/css/MediaQuery.cpp
@@ -30,7 +30,7 @@
#include "MediaQuery.h"
#include "MediaQueryExp.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/NonCopyingSort.h>
#include <wtf/text/StringBuilder.h>
@@ -136,7 +136,7 @@ String MediaQuery::cssText() const
void MediaQuery::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_mediaType);
info.addInstrumentedVectorPtr(m_expressions);
info.addInstrumentedMember(m_serializationCache);
diff --git a/Source/WebCore/css/MediaQuery.h b/Source/WebCore/css/MediaQuery.h
index f37c76492..3d00c5be1 100644
--- a/Source/WebCore/css/MediaQuery.h
+++ b/Source/WebCore/css/MediaQuery.h
@@ -29,10 +29,10 @@
#ifndef MediaQuery_h
#define MediaQuery_h
-#include "PlatformString.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class MediaQueryExp;
diff --git a/Source/WebCore/css/MediaQueryEvaluator.h b/Source/WebCore/css/MediaQueryEvaluator.h
index 9eee0f020..71de6eda1 100644
--- a/Source/WebCore/css/MediaQueryEvaluator.h
+++ b/Source/WebCore/css/MediaQueryEvaluator.h
@@ -28,7 +28,7 @@
#ifndef MediaQueryEvaluator_h
#define MediaQueryEvaluator_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Frame;
diff --git a/Source/WebCore/css/MediaQueryExp.cpp b/Source/WebCore/css/MediaQueryExp.cpp
index 4b91997d7..695ce0ba6 100644
--- a/Source/WebCore/css/MediaQueryExp.cpp
+++ b/Source/WebCore/css/MediaQueryExp.cpp
@@ -32,7 +32,7 @@
#include "CSSParser.h"
#include "CSSPrimitiveValue.h"
#include "CSSValueList.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -111,7 +111,7 @@ String MediaQueryExp::serialize() const
void MediaQueryExp::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_mediaFeature);
info.addInstrumentedMember(m_serializationCache);
info.addInstrumentedMember(m_value);
diff --git a/Source/WebCore/css/MediaQueryListListener.h b/Source/WebCore/css/MediaQueryListListener.h
index da167dbfd..930e8eef7 100644
--- a/Source/WebCore/css/MediaQueryListListener.h
+++ b/Source/WebCore/css/MediaQueryListListener.h
@@ -20,11 +20,10 @@
#ifndef MediaQueryListListener_h
#define MediaQueryListListener_h
-#include "PlatformString.h"
#include "ScriptState.h"
#include "ScriptValue.h"
-
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp b/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
index 5fc2d3803..6093cf814 100644
--- a/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
+++ b/Source/WebCore/css/PropertySetCSSStyleDeclaration.cpp
@@ -26,12 +26,12 @@
#include "CSSStyleSheet.h"
#include "HTMLNames.h"
#include "InspectorInstrumentation.h"
-#include "MemoryInstrumentation.h"
#include "MutationObserverInterestGroup.h"
#include "MutationRecord.h"
#include "StylePropertySet.h"
#include "StyledElement.h"
#include "UndoManager.h"
+#include "WebCoreMemoryInstrumentation.h"
using namespace std;
@@ -171,7 +171,7 @@ void PropertySetCSSStyleDeclaration::deref()
void PropertySetCSSStyleDeclaration::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_propertySet);
if (m_cssomCSSValueClones)
info.addInstrumentedMapEntries(*m_cssomCSSValueClones);
@@ -430,14 +430,14 @@ void StyleRuleCSSStyleDeclaration::reattach(StylePropertySet* propertySet)
void StyleRuleCSSStyleDeclaration::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
PropertySetCSSStyleDeclaration::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_parentRule);
}
void InlineCSSStyleDeclaration::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
PropertySetCSSStyleDeclaration::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_parentElement);
}
diff --git a/Source/WebCore/css/ShadowValue.cpp b/Source/WebCore/css/ShadowValue.cpp
index 5db003651..90ae152fb 100644
--- a/Source/WebCore/css/ShadowValue.cpp
+++ b/Source/WebCore/css/ShadowValue.cpp
@@ -21,8 +21,9 @@
#include "ShadowValue.h"
#include "CSSPrimitiveValue.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -45,42 +46,42 @@ ShadowValue::ShadowValue(PassRefPtr<CSSPrimitiveValue> _x,
String ShadowValue::customCssText() const
{
- String text("");
+ StringBuilder text;
if (color)
- text += color->cssText();
+ text.append(color->cssText());
if (x) {
if (!text.isEmpty())
- text += " ";
- text += x->cssText();
+ text.append(' ');
+ text.append(x->cssText());
}
if (y) {
if (!text.isEmpty())
- text += " ";
- text += y->cssText();
+ text.append(' ');
+ text.append(y->cssText());
}
if (blur) {
if (!text.isEmpty())
- text += " ";
- text += blur->cssText();
+ text.append(' ');
+ text.append(blur->cssText());
}
if (spread) {
if (!text.isEmpty())
- text += " ";
- text += spread->cssText();
+ text.append(' ');
+ text.append(spread->cssText());
}
if (style) {
if (!text.isEmpty())
- text += " ";
- text += style->cssText();
+ text.append(' ');
+ text.append(style->cssText());
}
- return text;
+ return text.toString();
}
void ShadowValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(x);
info.addInstrumentedMember(y);
info.addInstrumentedMember(blur);
diff --git a/Source/WebCore/css/StyleBuilder.cpp b/Source/WebCore/css/StyleBuilder.cpp
index 486a4dbb8..ed0a15fbc 100644
--- a/Source/WebCore/css/StyleBuilder.cpp
+++ b/Source/WebCore/css/StyleBuilder.cpp
@@ -25,6 +25,8 @@
#include "config.h"
#include "StyleBuilder.h"
+#include "BasicShapeFunctions.h"
+#include "BasicShapes.h"
#include "CSSAspectRatioValue.h"
#include "CSSCalculationValue.h"
#include "CSSCursorImageValue.h"
@@ -44,11 +46,6 @@
#include <wtf/StdLibExtras.h>
#include <wtf/UnusedParam.h>
-#if ENABLE(CSS_EXCLUSIONS)
-#include "WrapShapeFunctions.h"
-#include "WrapShapes.h"
-#endif
-
using namespace std;
namespace WebCore {
@@ -1016,20 +1013,9 @@ public:
for (Iterator it = parentMap.begin(); it != end; ++it) {
CounterDirectives& directives = map.add(it->first, CounterDirectives()).iterator->second;
if (counterBehavior == Reset) {
- directives.m_reset = it->second.m_reset;
- directives.m_resetValue = it->second.m_resetValue;
+ directives.inheritReset(it->second);
} else {
- // Inheriting a counter-increment means taking the parent's current value for the counter
- // and adding it to itself.
- directives.m_increment = it->second.m_increment;
- directives.m_incrementValue = 0;
- if (directives.m_increment) {
- float incrementValue = directives.m_incrementValue;
- directives.m_incrementValue = clampToInteger(incrementValue + it->second.m_incrementValue);
- } else {
- directives.m_increment = true;
- directives.m_incrementValue = it->second.m_incrementValue;
- }
+ directives.inheritIncrement(it->second);
}
}
}
@@ -1046,9 +1032,9 @@ public:
Iterator end = map.end();
for (Iterator it = map.begin(); it != end; ++it)
if (counterBehavior == Reset)
- it->second.m_reset = false;
+ it->second.clearReset();
else
- it->second.m_increment = false;
+ it->second.clearIncrement();
int length = list ? list->length() : 0;
for (int i = 0; i < length; ++i) {
@@ -1062,20 +1048,12 @@ public:
AtomicString identifier = static_cast<CSSPrimitiveValue*>(pair->first())->getStringValue();
int value = static_cast<CSSPrimitiveValue*>(pair->second())->getIntValue();
- CounterDirectives& directives = map.add(identifier.impl(), CounterDirectives()).iterator->second;
+ CounterDirectives& directives = map.add(identifier, CounterDirectives()).iterator->second;
if (counterBehavior == Reset) {
- directives.m_reset = true;
- directives.m_resetValue = value;
+ directives.setResetValue(value);
} else {
- if (directives.m_increment) {
- float incrementValue = directives.m_incrementValue;
- directives.m_incrementValue = clampToInteger(incrementValue + value);
- } else {
- directives.m_increment = true;
- directives.m_incrementValue = value;
- }
+ directives.addIncrementValue(value);
}
-
}
}
static PropertyHandler createHandler() { return PropertyHandler(&applyInheritValue, &emptyFunction, &applyValue); }
@@ -1704,11 +1682,34 @@ public:
}
};
+template <BasicShape* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<BasicShape>), BasicShape* (*initialFunction)()>
+class ApplyPropertyClipPath {
+public:
+ static void setValue(RenderStyle* style, PassRefPtr<BasicShape> value) { (style->*setterFunction)(value); }
+ static void applyValue(StyleResolver* styleResolver, CSSValue* value)
+ {
+ if (value->isPrimitiveValue()) {
+ CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
+ if (primitiveValue->getIdent() == CSSValueNone)
+ setValue(styleResolver->style(), 0);
+ else if (primitiveValue->isShape()) {
+ RefPtr<BasicShape> clipPathShape = basicShapeForValue(styleResolver, primitiveValue->getShapeValue());
+ setValue(styleResolver->style(), clipPathShape.release());
+ }
+ }
+ }
+ static PropertyHandler createHandler()
+ {
+ PropertyHandler handler = ApplyPropertyDefaultBase<BasicShape*, getterFunction, PassRefPtr<BasicShape>, setterFunction, BasicShape*, initialFunction>::createHandler();
+ return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
+ }
+};
+
#if ENABLE(CSS_EXCLUSIONS)
-template <WrapShape* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<WrapShape>), WrapShape* (*initialFunction)()>
+template <BasicShape* (RenderStyle::*getterFunction)() const, void (RenderStyle::*setterFunction)(PassRefPtr<BasicShape>), BasicShape* (*initialFunction)()>
class ApplyPropertyWrapShape {
public:
- static void setValue(RenderStyle* style, PassRefPtr<WrapShape> value) { (style->*setterFunction)(value); }
+ static void setValue(RenderStyle* style, PassRefPtr<BasicShape> value) { (style->*setterFunction)(value); }
static void applyValue(StyleResolver* styleResolver, CSSValue* value)
{
if (value->isPrimitiveValue()) {
@@ -1716,14 +1717,14 @@ public:
if (primitiveValue->getIdent() == CSSValueAuto)
setValue(styleResolver->style(), 0);
else if (primitiveValue->isShape()) {
- RefPtr<WrapShape> wrapShape = wrapShapeForValue(styleResolver, primitiveValue->getShapeValue());
+ RefPtr<BasicShape> wrapShape = basicShapeForValue(styleResolver, primitiveValue->getShapeValue());
setValue(styleResolver->style(), wrapShape.release());
}
}
}
static PropertyHandler createHandler()
{
- PropertyHandler handler = ApplyPropertyDefaultBase<WrapShape*, getterFunction, PassRefPtr<WrapShape>, setterFunction, WrapShape*, initialFunction>::createHandler();
+ PropertyHandler handler = ApplyPropertyDefaultBase<BasicShape*, getterFunction, PassRefPtr<BasicShape>, setterFunction, BasicShape*, initialFunction>::createHandler();
return PropertyHandler(handler.inheritFunction(), handler.initialFunction(), &applyValue);
}
};
@@ -1883,6 +1884,7 @@ StyleBuilder::StyleBuilder()
setPropertyHandler(CSSPropertyOutlineStyle, ApplyPropertyOutlineStyle::createHandler());
setPropertyHandler(CSSPropertyOutlineWidth, ApplyPropertyComputeLength<unsigned short, &RenderStyle::outlineWidth, &RenderStyle::setOutlineWidth, &RenderStyle::initialOutlineWidth, NormalDisabled, ThicknessEnabled>::createHandler());
setPropertyHandler(CSSPropertyOverflow, ApplyPropertyExpanding<ExpandValue, CSSPropertyOverflowX, CSSPropertyOverflowY>::createHandler());
+ setPropertyHandler(CSSPropertyOverflowWrap, ApplyPropertyDefault<EOverflowWrap, &RenderStyle::overflowWrap, EOverflowWrap, &RenderStyle::setOverflowWrap, EOverflowWrap, &RenderStyle::initialOverflowWrap>::createHandler());
setPropertyHandler(CSSPropertyOverflowX, ApplyPropertyDefault<EOverflow, &RenderStyle::overflowX, EOverflow, &RenderStyle::setOverflowX, EOverflow, &RenderStyle::initialOverflowX>::createHandler());
setPropertyHandler(CSSPropertyOverflowY, ApplyPropertyDefault<EOverflow, &RenderStyle::overflowY, EOverflow, &RenderStyle::setOverflowY, EOverflow, &RenderStyle::initialOverflowY>::createHandler());
setPropertyHandler(CSSPropertyPadding, ApplyPropertyExpanding<SuppressValue, CSSPropertyPaddingTop, CSSPropertyPaddingRight, CSSPropertyPaddingBottom, CSSPropertyPaddingLeft>::createHandler());
@@ -1929,6 +1931,9 @@ StyleBuilder::StyleBuilder()
setPropertyHandler(CSSPropertyWebkitBackgroundComposite, ApplyPropertyFillLayer<CompositeOperator, CSSPropertyWebkitBackgroundComposite, BackgroundFillLayer, &RenderStyle::accessBackgroundLayers, &RenderStyle::backgroundLayers, &FillLayer::isCompositeSet, &FillLayer::composite, &FillLayer::setComposite, &FillLayer::clearComposite, &FillLayer::initialFillComposite, &CSSToStyleMap::mapFillComposite>::createHandler());
setPropertyHandler(CSSPropertyWebkitBackgroundOrigin, CSSPropertyBackgroundOrigin);
setPropertyHandler(CSSPropertyWebkitBackgroundSize, CSSPropertyBackgroundSize);
+#if ENABLE(CSS_COMPOSITING)
+ setPropertyHandler(CSSPropertyWebkitBlendMode, ApplyPropertyDefault<BlendMode, &RenderStyle::blendMode, BlendMode, &RenderStyle::setBlendMode, BlendMode, &RenderStyle::initialBlendMode>::createHandler());
+#endif
setPropertyHandler(CSSPropertyWebkitBorderFit, ApplyPropertyDefault<EBorderFit, &RenderStyle::borderFit, EBorderFit, &RenderStyle::setBorderFit, EBorderFit, &RenderStyle::initialBorderFit>::createHandler());
setPropertyHandler(CSSPropertyWebkitBorderHorizontalSpacing, ApplyPropertyComputeLength<short, &RenderStyle::horizontalBorderSpacing, &RenderStyle::setHorizontalBorderSpacing, &RenderStyle::initialHorizontalBorderSpacing>::createHandler());
setPropertyHandler(CSSPropertyWebkitBorderImage, ApplyPropertyBorderImage<Image, CSSPropertyWebkitBorderImage, &RenderStyle::borderImage, &RenderStyle::setBorderImage>::createHandler());
@@ -1959,7 +1964,6 @@ StyleBuilder::StyleBuilder()
setPropertyHandler(CSSPropertyWebkitColumnSpan, ApplyPropertyDefault<ColumnSpan, &RenderStyle::columnSpan, ColumnSpan, &RenderStyle::setColumnSpan, ColumnSpan, &RenderStyle::initialColumnSpan>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnRuleStyle, ApplyPropertyDefault<EBorderStyle, &RenderStyle::columnRuleStyle, EBorderStyle, &RenderStyle::setColumnRuleStyle, EBorderStyle, &RenderStyle::initialBorderStyle>::createHandler());
setPropertyHandler(CSSPropertyWebkitColumnWidth, ApplyPropertyAuto<float, &RenderStyle::columnWidth, &RenderStyle::setColumnWidth, &RenderStyle::hasAutoColumnWidth, &RenderStyle::setHasAutoColumnWidth, ComputeLength>::createHandler());
-#if ENABLE(CSS3_FLEXBOX)
setPropertyHandler(CSSPropertyWebkitAlignContent, ApplyPropertyDefault<EAlignContent, &RenderStyle::alignContent, EAlignContent, &RenderStyle::setAlignContent, EAlignContent, &RenderStyle::initialAlignContent>::createHandler());
setPropertyHandler(CSSPropertyWebkitAlignItems, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignItems, EAlignItems, &RenderStyle::setAlignItems, EAlignItems, &RenderStyle::initialAlignItems>::createHandler());
setPropertyHandler(CSSPropertyWebkitAlignSelf, ApplyPropertyDefault<EAlignItems, &RenderStyle::alignSelf, EAlignItems, &RenderStyle::setAlignSelf, EAlignItems, &RenderStyle::initialAlignSelf>::createHandler());
@@ -1972,7 +1976,6 @@ StyleBuilder::StyleBuilder()
setPropertyHandler(CSSPropertyWebkitFlexWrap, ApplyPropertyDefault<EFlexWrap, &RenderStyle::flexWrap, EFlexWrap, &RenderStyle::setFlexWrap, EFlexWrap, &RenderStyle::initialFlexWrap>::createHandler());
setPropertyHandler(CSSPropertyWebkitJustifyContent, ApplyPropertyDefault<EJustifyContent, &RenderStyle::justifyContent, EJustifyContent, &RenderStyle::setJustifyContent, EJustifyContent, &RenderStyle::initialJustifyContent>::createHandler());
setPropertyHandler(CSSPropertyWebkitOrder, ApplyPropertyDefault<int, &RenderStyle::order, int, &RenderStyle::setOrder, int, &RenderStyle::initialOrder>::createHandler());
-#endif
#if ENABLE(CSS_REGIONS)
setPropertyHandler(CSSPropertyWebkitFlowFrom, ApplyPropertyString<MapNoneToNull, &RenderStyle::regionThread, &RenderStyle::setRegionThread, &RenderStyle::initialRegionThread>::createHandler());
setPropertyHandler(CSSPropertyWebkitFlowInto, ApplyPropertyString<MapNoneToNull, &RenderStyle::flowThread, &RenderStyle::setFlowThread, &RenderStyle::initialFlowThread>::createHandler());
@@ -2047,6 +2050,8 @@ StyleBuilder::StyleBuilder()
setPropertyHandler(CSSPropertyWebkitUserDrag, ApplyPropertyDefault<EUserDrag, &RenderStyle::userDrag, EUserDrag, &RenderStyle::setUserDrag, EUserDrag, &RenderStyle::initialUserDrag>::createHandler());
setPropertyHandler(CSSPropertyWebkitUserModify, ApplyPropertyDefault<EUserModify, &RenderStyle::userModify, EUserModify, &RenderStyle::setUserModify, EUserModify, &RenderStyle::initialUserModify>::createHandler());
setPropertyHandler(CSSPropertyWebkitUserSelect, ApplyPropertyDefault<EUserSelect, &RenderStyle::userSelect, EUserSelect, &RenderStyle::setUserSelect, EUserSelect, &RenderStyle::initialUserSelect>::createHandler());
+ setPropertyHandler(CSSPropertyWebkitClipPath, ApplyPropertyClipPath<&RenderStyle::clipPath, &RenderStyle::setClipPath, &RenderStyle::initialClipPath>::createHandler());
+
#if ENABLE(CSS_EXCLUSIONS)
setPropertyHandler(CSSPropertyWebkitWrap, ApplyPropertyExpanding<SuppressValue, CSSPropertyWebkitWrapFlow, CSSPropertyWebkitWrapMargin, CSSPropertyWebkitWrapPadding>::createHandler());
setPropertyHandler(CSSPropertyWebkitWrapFlow, ApplyPropertyDefault<WrapFlow, &RenderStyle::wrapFlow, WrapFlow, &RenderStyle::setWrapFlow, WrapFlow, &RenderStyle::initialWrapFlow>::createHandler());
@@ -2061,12 +2066,10 @@ StyleBuilder::StyleBuilder()
setPropertyHandler(CSSPropertyWidth, ApplyPropertyLength<&RenderStyle::width, &RenderStyle::setWidth, &RenderStyle::initialSize, AutoEnabled, LegacyIntrinsicEnabled, IntrinsicEnabled, NoneDisabled, UndefinedDisabled>::createHandler());
setPropertyHandler(CSSPropertyWordBreak, ApplyPropertyDefault<EWordBreak, &RenderStyle::wordBreak, EWordBreak, &RenderStyle::setWordBreak, EWordBreak, &RenderStyle::initialWordBreak>::createHandler());
setPropertyHandler(CSSPropertyWordSpacing, ApplyPropertyComputeLength<int, &RenderStyle::wordSpacing, &RenderStyle::setWordSpacing, &RenderStyle::initialLetterWordSpacing, NormalEnabled, ThicknessDisabled, SVGZoomEnabled>::createHandler());
- setPropertyHandler(CSSPropertyWordWrap, ApplyPropertyDefault<EWordWrap, &RenderStyle::wordWrap, EWordWrap, &RenderStyle::setWordWrap, EWordWrap, &RenderStyle::initialWordWrap>::createHandler());
+ // UAs must treat 'word-wrap' as an alternate name for the 'overflow-wrap' property. So using the same handlers.
+ setPropertyHandler(CSSPropertyWordWrap, ApplyPropertyDefault<EOverflowWrap, &RenderStyle::overflowWrap, EOverflowWrap, &RenderStyle::setOverflowWrap, EOverflowWrap, &RenderStyle::initialOverflowWrap>::createHandler());
setPropertyHandler(CSSPropertyZIndex, ApplyPropertyAuto<int, &RenderStyle::zIndex, &RenderStyle::setZIndex, &RenderStyle::hasAutoZIndex, &RenderStyle::setHasAutoZIndex>::createHandler());
setPropertyHandler(CSSPropertyZoom, ApplyPropertyZoom::createHandler());
-#if ENABLE(CSS_COMPOSITING)
- setPropertyHandler(CSSPropertyWebkitBlendMode, ApplyPropertyDefault<BlendMode, &RenderStyle::blendMode, BlendMode, &RenderStyle::setBlendMode, BlendMode, &RenderStyle::initialBlendMode>::createHandler());
-#endif
}
diff --git a/Source/WebCore/css/StyleMedia.h b/Source/WebCore/css/StyleMedia.h
index 032929e08..330fe82ba 100644
--- a/Source/WebCore/css/StyleMedia.h
+++ b/Source/WebCore/css/StyleMedia.h
@@ -28,8 +28,8 @@
#define StyleMedia_h
#include "DOMWindowProperty.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/StylePropertySet.cpp b/Source/WebCore/css/StylePropertySet.cpp
index adc7fc85c..d0f0fab2a 100644
--- a/Source/WebCore/css/StylePropertySet.cpp
+++ b/Source/WebCore/css/StylePropertySet.cpp
@@ -19,6 +19,8 @@
* Boston, MA 02110-1301, USA.
*/
+#define WTF_DEPRECATED_STRING_OPERATORS
+
#include "config.h"
#include "StylePropertySet.h"
@@ -61,6 +63,13 @@ PassRefPtr<StylePropertySet> StylePropertySet::createImmutable(const CSSProperty
return adoptRef(new (slot) StylePropertySet(properties, count, cssParserMode, /* makeMutable */ false));
}
+PassRefPtr<StylePropertySet> StylePropertySet::immutableCopyIfNeeded() const
+{
+ if (!isMutable())
+ return const_cast<StylePropertySet*>(this);
+ return createImmutable(m_mutablePropertyVector->data(), m_mutablePropertyVector->size(), cssParserMode());
+}
+
StylePropertySet::StylePropertySet(CSSParserMode cssParserMode)
: m_cssParserMode(cssParserMode)
, m_ownsCSSOMWrapper(false)
@@ -87,15 +96,22 @@ StylePropertySet::StylePropertySet(const CSSProperty* properties, unsigned count
}
}
-StylePropertySet::StylePropertySet(const StylePropertySet& o)
+StylePropertySet::StylePropertySet(const StylePropertySet& other)
: RefCounted<StylePropertySet>()
- , m_cssParserMode(o.m_cssParserMode)
+ , m_cssParserMode(other.m_cssParserMode)
, m_ownsCSSOMWrapper(false)
, m_isMutable(true)
, m_arraySize(0)
, m_mutablePropertyVector(new Vector<CSSProperty>)
{
- copyPropertiesFrom(o);
+ if (other.isMutable())
+ *m_mutablePropertyVector = *other.m_mutablePropertyVector;
+ else {
+ m_mutablePropertyVector->clear();
+ m_mutablePropertyVector->reserveCapacity(other.m_arraySize);
+ for (unsigned i = 0; i < other.m_arraySize; ++i)
+ m_mutablePropertyVector->uncheckedAppend(other.array()[i]);
+ }
}
StylePropertySet::~StylePropertySet()
@@ -111,27 +127,6 @@ StylePropertySet::~StylePropertySet()
}
}
-void StylePropertySet::setCSSParserMode(CSSParserMode cssParserMode)
-{
- ASSERT(isMutable());
- m_cssParserMode = cssParserMode;
-}
-
-void StylePropertySet::copyPropertiesFrom(const StylePropertySet& other)
-{
- ASSERT(isMutable());
-
- if (other.isMutable()) {
- *m_mutablePropertyVector = *other.m_mutablePropertyVector;
- return;
- }
-
- ASSERT(m_mutablePropertyVector->isEmpty());
- m_mutablePropertyVector->reserveInitialCapacity(other.m_arraySize);
- for (unsigned i = 0; i < other.m_arraySize; ++i)
- m_mutablePropertyVector->uncheckedAppend(other.array()[i]);
-}
-
String StylePropertySet::getPropertyValue(CSSPropertyID propertyID) const
{
RefPtr<CSSValue> value = getPropertyCSSValue(propertyID);
@@ -166,12 +161,10 @@ String StylePropertySet::getPropertyValue(CSSPropertyID propertyID) const
return get4Values(borderWidthShorthand());
case CSSPropertyBorderStyle:
return get4Values(borderStyleShorthand());
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex:
return getShorthandValue(webkitFlexShorthand());
case CSSPropertyWebkitFlexFlow:
return getShorthandValue(webkitFlexFlowShorthand());
-#endif
case CSSPropertyFont:
return fontValue();
case CSSPropertyMargin:
@@ -307,20 +300,26 @@ String StylePropertySet::get4Values(const StylePropertyShorthand& shorthand) con
bool showBottom = (top->value()->cssText() != bottom->value()->cssText()) || showLeft;
bool showRight = (top->value()->cssText() != right->value()->cssText()) || showBottom;
- String res = top->value()->cssText();
- if (showRight)
- res += " " + right->value()->cssText();
- if (showBottom)
- res += " " + bottom->value()->cssText();
- if (showLeft)
- res += " " + left->value()->cssText();
-
- return res;
+ StringBuilder result;
+ result.append(top->value()->cssText());
+ if (showRight) {
+ result.append(' ');
+ result.append(right->value()->cssText());
+ }
+ if (showBottom) {
+ result.append(' ');
+ result.append(bottom->value()->cssText());
+ }
+ if (showLeft) {
+ result.append(' ');
+ result.append(left->value()->cssText());
+ }
+ return result.toString();
}
String StylePropertySet::getLayeredShorthandValue(const StylePropertyShorthand& shorthand) const
{
- String res;
+ StringBuilder result;
const unsigned size = shorthand.length();
// Begin by collecting the properties into an array.
@@ -330,7 +329,7 @@ String StylePropertySet::getLayeredShorthandValue(const StylePropertyShorthand&
for (unsigned i = 0; i < size; ++i) {
values[i] = getPropertyCSSValue(shorthand.properties()[i]);
if (values[i]) {
- if (values[i]->isValueList()) {
+ if (values[i]->isBaseValueList()) {
CSSValueList* valueList = static_cast<CSSValueList*>(values[i].get());
numLayers = max(valueList->length(), numLayers);
} else
@@ -341,7 +340,7 @@ String StylePropertySet::getLayeredShorthandValue(const StylePropertyShorthand&
// Now stitch the properties together. Implicit initial values are flagged as such and
// can safely be omitted.
for (size_t i = 0; i < numLayers; i++) {
- String layerRes;
+ StringBuilder layerResult;
bool useRepeatXShorthand = false;
bool useRepeatYShorthand = false;
bool useSingleWordShorthand = false;
@@ -349,7 +348,7 @@ String StylePropertySet::getLayeredShorthandValue(const StylePropertyShorthand&
for (unsigned j = 0; j < size; j++) {
RefPtr<CSSValue> value;
if (values[j]) {
- if (values[j]->isValueList())
+ if (values[j]->isBaseValueList())
value = static_cast<CSSValueList*>(values[j].get())->item(i);
else {
value = values[j];
@@ -395,42 +394,44 @@ String StylePropertySet::getLayeredShorthandValue(const StylePropertyShorthand&
}
if (value && !value->isImplicitInitialValue()) {
- if (!layerRes.isNull())
- layerRes += " ";
+ if (!layerResult.isEmpty())
+ layerResult.append(' ');
if (foundBackgroundPositionYCSSProperty && shorthand.properties()[j] == CSSPropertyBackgroundSize)
- layerRes += "/ ";
+ layerResult.appendLiteral("/ ");
if (!foundBackgroundPositionYCSSProperty && shorthand.properties()[j] == CSSPropertyBackgroundSize)
continue;
if (useRepeatXShorthand) {
useRepeatXShorthand = false;
- layerRes += getValueName(CSSValueRepeatX);
+ layerResult.append(getValueName(CSSValueRepeatX));
} else if (useRepeatYShorthand) {
useRepeatYShorthand = false;
- layerRes += getValueName(CSSValueRepeatY);
+ layerResult.append(getValueName(CSSValueRepeatY));
} else if (useSingleWordShorthand) {
useSingleWordShorthand = false;
- layerRes += value->cssText();
+ layerResult.append(value->cssText());
} else
- layerRes += value->cssText();
+ layerResult.append(value->cssText());
if (shorthand.properties()[j] == CSSPropertyBackgroundPositionY)
foundBackgroundPositionYCSSProperty = true;
}
}
- if (!layerRes.isNull()) {
- if (!res.isNull())
- res += ", ";
- res += layerRes;
+ if (!layerResult.isEmpty()) {
+ if (!result.isEmpty())
+ result.appendLiteral(", ");
+ result.append(layerResult);
}
}
- return res;
+ if (result.isEmpty())
+ return String();
+ return result.toString();
}
String StylePropertySet::getShorthandValue(const StylePropertyShorthand& shorthand) const
{
- String res;
+ StringBuilder result;
for (unsigned i = 0; i < shorthand.length(); ++i) {
if (!isPropertyImplicit(shorthand.properties()[i])) {
RefPtr<CSSValue> value = getPropertyCSSValue(shorthand.properties()[i]);
@@ -438,12 +439,14 @@ String StylePropertySet::getShorthandValue(const StylePropertyShorthand& shortha
return String();
if (value->isInitialValue())
continue;
- if (!res.isNull())
- res += " ";
- res += value->cssText();
+ if (!result.isEmpty())
+ result.append(' ');
+ result.append(value->cssText());
}
}
- return res;
+ if (result.isEmpty())
+ return String();
+ return result.toString();
}
// only returns a non-null value if all properties have the same, non-null value
@@ -659,6 +662,7 @@ String StylePropertySet::asText() const
BitArray<numCSSProperties> shorthandPropertyAppeared;
unsigned size = propertyCount();
+ unsigned numDecls = 0;
for (unsigned n = 0; n < size; ++n) {
const CSSProperty& prop = propertyAt(n);
CSSPropertyID propertyID = prop.id();
@@ -669,6 +673,8 @@ String StylePropertySet::asText() const
switch (propertyID) {
#if ENABLE(CSS_VARIABLES)
case CSSPropertyVariable:
+ if (numDecls++)
+ result.append(' ');
result.append(prop.cssText());
continue;
#endif
@@ -762,7 +768,6 @@ String StylePropertySet::asText() const
case CSSPropertyWebkitAnimationFillMode:
shorthandPropertyID = CSSPropertyWebkitAnimation;
break;
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlexDirection:
case CSSPropertyWebkitFlexWrap:
shorthandPropertyID = CSSPropertyWebkitFlexFlow;
@@ -772,7 +777,6 @@ String StylePropertySet::asText() const
case CSSPropertyWebkitFlexShrink:
shorthandPropertyID = CSSPropertyWebkitFlex;
break;
-#endif
case CSSPropertyWebkitMaskPositionX:
case CSSPropertyWebkitMaskPositionY:
case CSSPropertyWebkitMaskRepeatX:
@@ -825,11 +829,14 @@ String StylePropertySet::asText() const
if (value == "initial" && !CSSProperty::isInheritedProperty(propertyID))
continue;
+ if (numDecls++)
+ result.append(' ');
result.append(getPropertyName(propertyID));
- result.append(": ");
+ result.appendLiteral(": ");
result.append(value);
- result.append(prop.isImportant() ? " !important" : "");
- result.append("; ");
+ if (prop.isImportant())
+ result.appendLiteral(" !important");
+ result.append(';');
}
// FIXME: This is a not-so-nice way to turn x/y positions into single background-position in output.
@@ -837,44 +844,61 @@ String StylePropertySet::asText() const
// would not work in Firefox (<rdar://problem/5143183>)
// It would be a better solution if background-position was CSS_PAIR.
if (positionXProp && positionYProp && positionXProp->isImportant() == positionYProp->isImportant()) {
- result.append("background-position: ");
+ if (numDecls++)
+ result.append(' ');
+ result.appendLiteral("background-position: ");
if (positionXProp->value()->isValueList() || positionYProp->value()->isValueList())
result.append(getLayeredShorthandValue(backgroundPositionShorthand()));
else {
result.append(positionXProp->value()->cssText());
- result.append(" ");
+ result.append(' ');
result.append(positionYProp->value()->cssText());
}
if (positionXProp->isImportant())
- result.append(" !important");
- result.append("; ");
+ result.appendLiteral(" !important");
+ result.append(';');
} else {
- if (positionXProp)
+ if (positionXProp) {
+ if (numDecls++)
+ result.append(' ');
result.append(positionXProp->cssText());
- if (positionYProp)
+ }
+ if (positionYProp) {
+ if (numDecls++)
+ result.append(' ');
result.append(positionYProp->cssText());
+ }
}
// FIXME: We need to do the same for background-repeat.
if (repeatXProp && repeatYProp && repeatXProp->isImportant() == repeatYProp->isImportant()) {
- result.append("background-repeat: ");
+ if (numDecls++)
+ result.append(' ');
+ result.appendLiteral("background-repeat: ");
if (repeatXProp->value()->isValueList() || repeatYProp->value()->isValueList())
result.append(getLayeredShorthandValue(backgroundRepeatShorthand()));
else {
result.append(repeatXProp->value()->cssText());
- result.append(" ");
+ result.append(' ');
result.append(repeatYProp->value()->cssText());
}
if (repeatXProp->isImportant())
- result.append(" !important");
- result.append("; ");
+ result.appendLiteral(" !important");
+ result.append(';');
} else {
- if (repeatXProp)
+ if (repeatXProp) {
+ if (numDecls++)
+ result.append(' ');
result.append(repeatXProp->cssText());
- if (repeatYProp)
+ }
+ if (repeatYProp) {
+ if (numDecls++)
+ result.append(' ');
result.append(repeatYProp->cssText());
+ }
}
+ ASSERT(!numDecls ^ !result.isEmpty());
return result.toString();
}
@@ -1097,7 +1121,7 @@ unsigned StylePropertySet::averageSizeInBytes()
void StylePropertySet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
size_t actualSize = m_isMutable ? sizeof(StylePropertySet) : immutableStylePropertySetSize(m_arraySize);
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS, actualSize);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS, actualSize);
if (m_isMutable)
info.addVectorPtr(m_mutablePropertyVector);
diff --git a/Source/WebCore/css/StylePropertySet.h b/Source/WebCore/css/StylePropertySet.h
index 307a3ef80..5eed32857 100644
--- a/Source/WebCore/css/StylePropertySet.h
+++ b/Source/WebCore/css/StylePropertySet.h
@@ -86,15 +86,12 @@ public:
void mergeAndOverrideOnConflict(const StylePropertySet*);
- void setCSSParserMode(CSSParserMode);
CSSParserMode cssParserMode() const { return static_cast<CSSParserMode>(m_cssParserMode); }
void addSubresourceStyleURLs(ListHashSet<KURL>&, StyleSheetContents* contextStyleSheet) const;
PassRefPtr<StylePropertySet> copy() const;
-
- // Used by StyledElement::copyNonAttributeProperties().
- void copyPropertiesFrom(const StylePropertySet&);
+ PassRefPtr<StylePropertySet> immutableCopyIfNeeded() const;
void removeEquivalentProperties(const StylePropertySet*);
void removeEquivalentProperties(const CSSStyleDeclaration*);
diff --git a/Source/WebCore/css/StylePropertyShorthand.cpp b/Source/WebCore/css/StylePropertyShorthand.cpp
index d5ecd9746..3bff5abde 100644
--- a/Source/WebCore/css/StylePropertyShorthand.cpp
+++ b/Source/WebCore/css/StylePropertyShorthand.cpp
@@ -332,7 +332,6 @@ const StylePropertyShorthand& webkitColumnRuleShorthand()
return webkitColumnRuleLonghands;
}
-#if ENABLE(CSS3_FLEXBOX)
const StylePropertyShorthand& webkitFlexFlowShorthand()
{
static const CSSPropertyID flexFlowProperties[] = { CSSPropertyWebkitFlexDirection, CSSPropertyWebkitFlexWrap };
@@ -346,7 +345,6 @@ const StylePropertyShorthand& webkitFlexShorthand()
DEFINE_STATIC_LOCAL(StylePropertyShorthand, webkitFlexLonghands, (flexProperties, WTF_ARRAY_LENGTH(flexProperties)));
return webkitFlexLonghands;
}
-#endif
const StylePropertyShorthand& webkitMarginCollapseShorthand()
{
@@ -511,12 +509,10 @@ const StylePropertyShorthand& shorthandForProperty(CSSPropertyID propertyID)
return webkitColumnsShorthand();
case CSSPropertyWebkitColumnRule:
return webkitColumnRuleShorthand();
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitFlex:
return webkitFlexShorthand();
case CSSPropertyWebkitFlexFlow:
return webkitFlexFlowShorthand();
-#endif
case CSSPropertyWebkitMarginCollapse:
return webkitMarginCollapseShorthand();
case CSSPropertyWebkitMarquee:
diff --git a/Source/WebCore/css/StylePropertyShorthand.h b/Source/WebCore/css/StylePropertyShorthand.h
index 72da501ce..b4244d788 100644
--- a/Source/WebCore/css/StylePropertyShorthand.h
+++ b/Source/WebCore/css/StylePropertyShorthand.h
@@ -87,10 +87,8 @@ const StylePropertyShorthand& webkitBorderEndShorthand();
const StylePropertyShorthand& webkitBorderStartShorthand();
const StylePropertyShorthand& webkitColumnsShorthand();
const StylePropertyShorthand& webkitColumnRuleShorthand();
-#if ENABLE(CSS3_FLEXBOX)
const StylePropertyShorthand& webkitFlexFlowShorthand();
const StylePropertyShorthand& webkitFlexShorthand();
-#endif
const StylePropertyShorthand& webkitMarginCollapseShorthand();
const StylePropertyShorthand& webkitMarqueeShorthand();
const StylePropertyShorthand& webkitMaskShorthand();
diff --git a/Source/WebCore/css/StyleResolver.cpp b/Source/WebCore/css/StyleResolver.cpp
index 08ee28cda..b55161696 100644
--- a/Source/WebCore/css/StyleResolver.cpp
+++ b/Source/WebCore/css/StyleResolver.cpp
@@ -82,7 +82,6 @@
#include "MatrixTransformOperation.h"
#include "MediaList.h"
#include "MediaQueryEvaluator.h"
-#include "MemoryInstrumentation.h"
#include "NodeRenderStyle.h"
#include "NodeRenderingContext.h"
#include "Page.h"
@@ -119,6 +118,7 @@
#include "TransformationMatrix.h"
#include "TranslateTransformOperation.h"
#include "UserAgentStyleSheets.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
#include "WebKitCSSRegionRule.h"
@@ -150,6 +150,7 @@
#include "CustomFilterNumberParameter.h"
#include "CustomFilterOperation.h"
#include "CustomFilterParameter.h"
+#include "CustomFilterTransformParameter.h"
#include "StyleCachedShader.h"
#include "StyleCustomFilterProgram.h"
#include "StylePendingShader.h"
@@ -740,7 +741,7 @@ void StyleResolver::Features::clear()
void StyleResolver::Features::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addHashSet(idsInRules);
info.addHashSet(attrsInRules);
info.addVector(siblingRules);
@@ -2028,9 +2029,7 @@ static EDisplay equivalentBlockDisplay(EDisplay display, bool isFloating, bool s
case BLOCK:
case TABLE:
case BOX:
-#if ENABLE(CSS3_FLEXBOX)
case FLEX:
-#endif
case GRID:
return display;
@@ -2043,10 +2042,8 @@ static EDisplay equivalentBlockDisplay(EDisplay display, bool isFloating, bool s
return TABLE;
case INLINE_BOX:
return BOX;
-#if ENABLE(CSS3_FLEXBOX)
case INLINE_FLEX:
return FLEX;
-#endif
case INLINE_GRID:
return GRID;
@@ -2083,11 +2080,7 @@ static bool doesNotInheritTextDecoration(RenderStyle* style, Element* e)
static bool isDisplayFlexibleBox(EDisplay display)
{
-#if ENABLE(CSS3_FLEXBOX)
return display == FLEX || display == INLINE_FLEX;
-#else
- return false;
-#endif
}
void StyleResolver::adjustRenderStyle(RenderStyle* style, RenderStyle* parentStyle, Element *e)
@@ -2196,6 +2189,8 @@ void StyleResolver::adjustRenderStyle(RenderStyle* style, RenderStyle* parentSty
|| style->hasMask()
|| style->boxReflect()
|| style->hasFilter()
+ || style->hasBlendMode()
+ || style->position() == StickyPosition
#ifdef FIXED_POSITION_CREATES_STACKING_CONTEXT
|| style->position() == FixedPosition
#else
@@ -2552,7 +2547,7 @@ RuleData::RuleData(StyleRule* rule, unsigned selectorIndex, unsigned position, b
void RuleData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
RuleSet::RuleSet()
@@ -2570,7 +2565,7 @@ static void reportAtomRuleMap(MemoryClassInfo* info, const RuleSet::AtomRuleMap&
void RuleSet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
reportAtomRuleMap(&info, m_idRules);
reportAtomRuleMap(&info, m_classRules);
reportAtomRuleMap(&info, m_tagRules);
@@ -2584,7 +2579,7 @@ void RuleSet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
void RuleSet::RuleSetSelectorPair::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(ruleSet);
}
@@ -3358,8 +3353,15 @@ static bool createGridPosition(CSSValue* value, Length& position)
#if ENABLE(CSS_VARIABLES)
static bool hasVariableReference(CSSValue* value)
{
- if (value->isPrimitiveValue() && static_cast<CSSPrimitiveValue*>(value)->isVariableName())
- return true;
+ if (value->isPrimitiveValue()) {
+ CSSPrimitiveValue* primitiveValue = static_cast<CSSPrimitiveValue*>(value);
+ if (CSSCalcValue* calcValue = primitiveValue->cssCalcValue())
+ return calcValue->hasVariableReference();
+ return primitiveValue->isVariableName();
+ }
+
+ if (value->isCalculationValue())
+ return static_cast<CSSCalcValue*>(value)->hasVariableReference();
for (CSSValueListIterator i = value; i.hasMore(); i.advance()) {
if (hasVariableReference(i.value()))
@@ -4301,6 +4303,7 @@ void StyleResolver::applyProperty(CSSPropertyID id, CSSValue* value)
case CSSPropertyOutlineStyle:
case CSSPropertyOutlineWidth:
case CSSPropertyOverflow:
+ case CSSPropertyOverflowWrap:
case CSSPropertyOverflowX:
case CSSPropertyOverflowY:
case CSSPropertyPadding:
@@ -4376,7 +4379,6 @@ void StyleResolver::applyProperty(CSSPropertyID id, CSSValue* value)
case CSSPropertyWebkitColumns:
case CSSPropertyWebkitColumnSpan:
case CSSPropertyWebkitColumnWidth:
-#if ENABLE(CSS3_FLEXBOX)
case CSSPropertyWebkitAlignContent:
case CSSPropertyWebkitAlignItems:
case CSSPropertyWebkitAlignSelf:
@@ -4389,7 +4391,6 @@ void StyleResolver::applyProperty(CSSPropertyID id, CSSValue* value)
case CSSPropertyWebkitFlexWrap:
case CSSPropertyWebkitJustifyContent:
case CSSPropertyWebkitOrder:
-#endif
#if ENABLE(CSS_REGIONS)
case CSSPropertyWebkitFlowFrom:
case CSSPropertyWebkitFlowInto:
@@ -4463,6 +4464,7 @@ void StyleResolver::applyProperty(CSSPropertyID id, CSSValue* value)
case CSSPropertyWebkitUserDrag:
case CSSPropertyWebkitUserModify:
case CSSPropertyWebkitUserSelect:
+ case CSSPropertyWebkitClipPath:
#if ENABLE(CSS_EXCLUSIONS)
case CSSPropertyWebkitWrap:
case CSSPropertyWebkitWrapFlow:
@@ -5245,7 +5247,7 @@ static bool sortParametersByNameComparator(const RefPtr<CustomFilterParameter>&
return codePointCompareLessThan(a->name(), b->name());
}
-PassRefPtr<CustomFilterParameter> StyleResolver::parseCustomFilterNumberParamter(const String& name, CSSValueList* values)
+PassRefPtr<CustomFilterParameter> StyleResolver::parseCustomFilterNumberParameter(const String& name, CSSValueList* values)
{
RefPtr<CustomFilterNumberParameter> numberParameter = CustomFilterNumberParameter::create(name);
for (unsigned i = 0; i < values->length(); ++i) {
@@ -5260,6 +5262,46 @@ PassRefPtr<CustomFilterParameter> StyleResolver::parseCustomFilterNumberParamter
return numberParameter.release();
}
+PassRefPtr<CustomFilterParameter> StyleResolver::parseCustomFilterTransformParameter(const String& name, CSSValueList* values)
+{
+ RefPtr<CustomFilterTransformParameter> transformParameter = CustomFilterTransformParameter::create(name);
+ TransformOperations operations;
+ createTransformOperations(values, style(), m_rootElementStyle, operations);
+ transformParameter->setOperations(operations);
+ return transformParameter.release();
+}
+
+PassRefPtr<CustomFilterParameter> StyleResolver::parseCustomFilterParameter(const String& name, CSSValue* parameterValue)
+{
+ // FIXME: Implement other parameters types parsing.
+ // booleans: https://bugs.webkit.org/show_bug.cgi?id=76438
+ // textures: https://bugs.webkit.org/show_bug.cgi?id=71442
+ // mat2, mat3, mat4: https://bugs.webkit.org/show_bug.cgi?id=71444
+ if (!parameterValue->isValueList())
+ return 0;
+
+ CSSValueList* values = static_cast<CSSValueList*>(parameterValue);
+ if (!values->length())
+ return 0;
+
+ if (values->itemWithoutBoundsCheck(0)->isWebKitCSSTransformValue())
+ return parseCustomFilterTransformParameter(name, values);
+
+ // We can have only arrays of booleans or numbers, so use the first value to choose between those two.
+ // We need up to 4 values (all booleans or all numbers).
+ if (!values->itemWithoutBoundsCheck(0)->isPrimitiveValue() || values->length() > 4)
+ return 0;
+
+ CSSPrimitiveValue* firstPrimitiveValue = static_cast<CSSPrimitiveValue*>(values->itemWithoutBoundsCheck(0));
+ if (firstPrimitiveValue->primitiveType() == CSSPrimitiveValue::CSS_NUMBER)
+ return parseCustomFilterNumberParameter(name, values);
+
+ // FIXME: Implement the boolean array parameter here.
+ // https://bugs.webkit.org/show_bug.cgi?id=76438
+
+ return 0;
+}
+
bool StyleResolver::parseCustomFilterParameterList(CSSValue* parametersValue, CustomFilterParameterList& parameterList)
{
HashSet<String> knownParameterNames;
@@ -5285,34 +5327,9 @@ bool StyleResolver::parseCustomFilterParameterList(CSSValue* parametersValue, Cu
if (!iterator.hasMore())
return false;
- // FIXME: Implement other parameters types parsing.
- // booleans: https://bugs.webkit.org/show_bug.cgi?id=76438
- // textures: https://bugs.webkit.org/show_bug.cgi?id=71442
- // 3d-transforms: https://bugs.webkit.org/show_bug.cgi?id=71443
- // mat2, mat3, mat4: https://bugs.webkit.org/show_bug.cgi?id=71444
- RefPtr<CustomFilterParameter> parameter;
- if (iterator.value()->isValueList()) {
- CSSValueList* values = static_cast<CSSValueList*>(iterator.value());
- iterator.advance();
-
- // We can have only arrays of booleans or numbers, so use the first value to choose between those two.
- // Make sure we have at least one value. We need up to 4 values (all booleans or all numbers).
- if (!values->length() || values->length() > 4)
- return false;
-
- if (!values->itemWithoutBoundsCheck(0)->isPrimitiveValue())
- return false;
-
- CSSPrimitiveValue* firstPrimitiveValue = static_cast<CSSPrimitiveValue*>(values->itemWithoutBoundsCheck(0));
- if (firstPrimitiveValue->primitiveType() == CSSPrimitiveValue::CSS_NUMBER)
- parameter = parseCustomFilterNumberParamter(name, values);
- // FIXME: Implement the boolean array parameter here.
- // https://bugs.webkit.org/show_bug.cgi?id=76438
- }
-
+ RefPtr<CustomFilterParameter> parameter = parseCustomFilterParameter(name, iterator.value());
if (!parameter)
return false;
-
parameterList.append(parameter.release());
}
@@ -5711,25 +5728,25 @@ void StyleResolver::loadPendingResources()
void StyleResolver::MatchedProperties::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(properties);
}
void StyleResolver::MatchedPropertiesCacheItem::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedVector(matchedProperties);
}
void MediaQueryResult::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_expression);
}
void StyleResolver::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addMember(m_style);
info.addInstrumentedMember(m_authorStyle);
info.addInstrumentedMember(m_userStyle);
diff --git a/Source/WebCore/css/StyleResolver.h b/Source/WebCore/css/StyleResolver.h
index 2bbc6823e..fe697390c 100644
--- a/Source/WebCore/css/StyleResolver.h
+++ b/Source/WebCore/css/StyleResolver.h
@@ -263,7 +263,9 @@ public:
StyleShader* styleShader(CSSValue*);
StyleShader* cachedOrPendingStyleShaderFromValue(WebKitCSSShaderValue*);
bool parseCustomFilterParameterList(CSSValue*, CustomFilterParameterList&);
- PassRefPtr<CustomFilterParameter> parseCustomFilterNumberParamter(const String& name, CSSValueList*);
+ PassRefPtr<CustomFilterParameter> parseCustomFilterParameter(const String& name, CSSValue*);
+ PassRefPtr<CustomFilterParameter> parseCustomFilterNumberParameter(const String& name, CSSValueList*);
+ PassRefPtr<CustomFilterParameter> parseCustomFilterTransformParameter(const String& name, CSSValueList*);
PassRefPtr<CustomFilterOperation> createCustomFilterOperation(WebKitCSSFilterValue*);
void loadPendingShaders();
#endif
diff --git a/Source/WebCore/css/StyleRule.cpp b/Source/WebCore/css/StyleRule.cpp
index 03efc3a34..6847c16b9 100644
--- a/Source/WebCore/css/StyleRule.cpp
+++ b/Source/WebCore/css/StyleRule.cpp
@@ -28,8 +28,8 @@
#include "CSSMediaRule.h"
#include "CSSPageRule.h"
#include "CSSStyleRule.h"
-#include "MemoryInstrumentation.h"
#include "StyleRuleImport.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSKeyframeRule.h"
#include "WebKitCSSKeyframesRule.h"
#include "WebKitCSSRegionRule.h"
@@ -81,7 +81,7 @@ void StyleRuleBase::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
case Unknown:
case Charset:
case Keyframe:
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
return;
}
ASSERT_NOT_REACHED();
@@ -208,7 +208,7 @@ unsigned StyleRule::averageSizeInBytes()
void StyleRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_properties);
info.addInstrumentedMember(m_selectorList);
}
@@ -271,7 +271,7 @@ void StyleRulePage::setProperties(PassRefPtr<StylePropertySet> properties)
void StyleRulePage::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_properties);
info.addInstrumentedMember(m_selectorList);
}
@@ -305,7 +305,7 @@ void StyleRuleFontFace::setProperties(PassRefPtr<StylePropertySet> properties)
void StyleRuleFontFace::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_properties);
}
@@ -336,7 +336,7 @@ void StyleRuleBlock::wrapperRemoveRule(unsigned index)
void StyleRuleBlock::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedVector(m_childRules);
}
@@ -355,7 +355,7 @@ StyleRuleMedia::StyleRuleMedia(const StyleRuleMedia& o)
void StyleRuleMedia::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_mediaQueries);
}
@@ -373,7 +373,7 @@ StyleRuleRegion::StyleRuleRegion(const StyleRuleRegion& o)
void StyleRuleRegion::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_selectorList);
}
diff --git a/Source/WebCore/css/StyleRuleImport.cpp b/Source/WebCore/css/StyleRuleImport.cpp
index 382313e67..6e4501b34 100644
--- a/Source/WebCore/css/StyleRuleImport.cpp
+++ b/Source/WebCore/css/StyleRuleImport.cpp
@@ -32,6 +32,12 @@
namespace WebCore {
+StyleRuleImport::LoadContext::LoadContext(CSSStyleSheet* rootStyleSheet, const CSSParserContext& parentParserContext)
+ : rootStyleSheet(rootStyleSheet)
+ , parentParserContext(parentParserContext)
+{
+}
+
PassRefPtr<StyleRuleImport> StyleRuleImport::create(const String& href, PassRefPtr<MediaQuerySet> media)
{
return adoptRef(new StyleRuleImport(href, media));
@@ -39,12 +45,9 @@ PassRefPtr<StyleRuleImport> StyleRuleImport::create(const String& href, PassRefP
StyleRuleImport::StyleRuleImport(const String& href, PassRefPtr<MediaQuerySet> media)
: StyleRuleBase(Import, 0)
- , m_parentStyleSheet(0)
- , m_styleSheetClient(this)
, m_strHref(href)
, m_mediaQueries(media)
, m_cachedSheet(0)
- , m_loading(false)
{
if (!m_mediaQueries)
m_mediaQueries = MediaQuerySet::create(String());
@@ -52,88 +55,95 @@ StyleRuleImport::StyleRuleImport(const String& href, PassRefPtr<MediaQuerySet> m
StyleRuleImport::~StyleRuleImport()
{
- if (m_styleSheet)
- m_styleSheet->clearOwnerRule();
if (m_cachedSheet)
- m_cachedSheet->removeClient(&m_styleSheetClient);
+ m_cachedSheet->removeClient(this);
}
-void StyleRuleImport::setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CachedCSSStyleSheet* cachedStyleSheet)
+void StyleRuleImport::setCSSStyleSheet(const String& url, const KURL& baseURL, const String& charset, const CachedCSSStyleSheet*)
{
- if (m_styleSheet)
- m_styleSheet->clearOwnerRule();
-
- CSSParserContext context = m_parentStyleSheet ? m_parentStyleSheet->parserContext() : CSSStrictMode;
- context.charset = charset;
- if (!baseURL.isNull())
- context.baseURL = baseURL;
-
- m_styleSheet = StyleSheetContents::create(this, href, context);
-
- Document* document = m_parentStyleSheet ? m_parentStyleSheet->singleOwnerDocument() : 0;
- m_styleSheet->parseAuthorStyleSheet(cachedStyleSheet, document ? document->securityOrigin() : 0);
+ ASSERT(m_loadContext);
+ ASSERT(!m_styleSheet);
+ ASSERT(m_cachedSheet);
- m_loading = false;
+ OwnPtr<LoadContext> loadContext = m_loadContext.release();
- if (m_parentStyleSheet) {
- m_parentStyleSheet->notifyLoadedSheet(cachedStyleSheet);
- m_parentStyleSheet->checkLoaded();
+ CSSParserContext parserContext = loadContext->parentParserContext;
+ if (!baseURL.isNull())
+ parserContext.baseURL = baseURL;
+ parserContext.charset = charset;
+
+#if ENABLE(PARSED_STYLE_SHEET_CACHING)
+ m_styleSheet = m_cachedSheet->restoreParsedStyleSheet(parserContext);
+#endif
+ if (!m_styleSheet) {
+ m_styleSheet = StyleSheetContents::create(url, parserContext);
+ m_styleSheet->parseAuthorStyleSheet(m_cachedSheet.get(), loadContext->rootStyleSheet.get());
}
+ loadContext->rootStyleSheet->contents()->checkLoadCompleted();
+
+#if ENABLE(PARSED_STYLE_SHEET_CACHING)
+ if (m_styleSheet->isCacheable())
+ m_cachedSheet->saveParsedStyleSheet(m_styleSheet);
+#endif
}
bool StyleRuleImport::isLoading() const
{
- return m_loading || (m_styleSheet && m_styleSheet->isLoading());
+ return m_loadContext || (m_styleSheet && m_styleSheet->isLoading());
}
-void StyleRuleImport::requestStyleSheet()
+bool StyleRuleImport::hadLoadError() const
{
- if (!m_parentStyleSheet)
- return;
- Document* document = m_parentStyleSheet->singleOwnerDocument();
- if (!document)
- return;
+ return m_cachedSheet && m_cachedSheet->errorOccurred();
+}
- CachedResourceLoader* cachedResourceLoader = document->cachedResourceLoader();
- if (!cachedResourceLoader)
+void StyleRuleImport::requestStyleSheet(CSSStyleSheet* rootSheet, const CSSParserContext& parserContext)
+{
+ ASSERT(!rootSheet->parentStyleSheet());
+ ASSERT(!m_cachedSheet);
+
+ Node* ownerNode = rootSheet->ownerNode();
+ if (!ownerNode)
return;
+ Document* document = ownerNode->document();
- KURL absURL;
- if (!m_parentStyleSheet->baseURL().isNull())
- // use parent styleheet's URL as the base URL
- absURL = KURL(m_parentStyleSheet->baseURL(), m_strHref);
+ KURL resolvedURL;
+ if (!parserContext.baseURL.isNull())
+ resolvedURL = KURL(parserContext.baseURL, m_strHref);
else
- absURL = document->completeURL(m_strHref);
-
- // Check for a cycle in our import chain. If we encounter a stylesheet
- // in our parent chain with the same URL, then just bail.
- StyleSheetContents* rootSheet = m_parentStyleSheet;
- for (StyleSheetContents* sheet = m_parentStyleSheet; sheet; sheet = sheet->parentStyleSheet()) {
- if (equalIgnoringFragmentIdentifier(absURL, sheet->baseURL())
- || equalIgnoringFragmentIdentifier(absURL, document->completeURL(sheet->originalURL())))
- return;
- rootSheet = sheet;
- }
+ resolvedURL = document->completeURL(m_strHref);
- ResourceRequest request(absURL);
- if (m_parentStyleSheet->isUserStyleSheet())
- m_cachedSheet = cachedResourceLoader->requestUserCSSStyleSheet(request, m_parentStyleSheet->charset());
+ StyleSheetContents* rootSheetContents = rootSheet->contents();
+ if (rootSheetContents->hasImportCycle(this, resolvedURL, document->baseURL()))
+ return;
+
+ ResourceRequest request(resolvedURL);
+ CachedResourceLoader* cachedResourceLoader = document->cachedResourceLoader();
+ if (rootSheetContents->isUserStyleSheet())
+ m_cachedSheet = cachedResourceLoader->requestUserCSSStyleSheet(request, parserContext.charset);
else
- m_cachedSheet = cachedResourceLoader->requestCSSStyleSheet(request, m_parentStyleSheet->charset());
- if (m_cachedSheet) {
- // if the import rule is issued dynamically, the sheet may be
- // removed from the pending sheet count, so let the doc know
- // the sheet being imported is pending.
- if (m_parentStyleSheet && m_parentStyleSheet->loadCompleted() && rootSheet == m_parentStyleSheet)
- m_parentStyleSheet->startLoadingDynamicSheet();
- m_loading = true;
- m_cachedSheet->addClient(&m_styleSheetClient);
- }
+ m_cachedSheet = cachedResourceLoader->requestCSSStyleSheet(request, parserContext.charset);
+
+ if (!m_cachedSheet)
+ return;
+ // if the import rule is issued dynamically, the sheet may be
+ // removed from the pending sheet count, so let the doc know
+ // the sheet being imported is pending.
+ if (rootSheetContents->loadCompleted())
+ ownerNode->startLoadingDynamicSheet();
+
+ m_loadContext = adoptPtr(new LoadContext(rootSheet, parserContext));
+ m_cachedSheet->addClient(this);
+}
+
+void StyleRuleImport::reattachStyleSheetContents(StyleSheetContents* contents)
+{
+ m_styleSheet = contents;
}
void StyleRuleImport::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_strHref);
info.addInstrumentedMember(m_mediaQueries);
info.addInstrumentedMember(m_styleSheet);
diff --git a/Source/WebCore/css/StyleRuleImport.h b/Source/WebCore/css/StyleRuleImport.h
index c0f898c65..b5c9eaea7 100644
--- a/Source/WebCore/css/StyleRuleImport.h
+++ b/Source/WebCore/css/StyleRuleImport.h
@@ -22,6 +22,7 @@
#ifndef StyleRuleImport_h
#define StyleRuleImport_h
+#include "CSSParserMode.h"
#include "CachedResourceHandle.h"
#include "CachedStyleSheetClient.h"
#include "StyleRule.h"
@@ -33,54 +34,41 @@ class MediaQuerySet;
class MemoryObjectInfo;
class StyleSheetContents;
-class StyleRuleImport : public StyleRuleBase {
+class StyleRuleImport : public StyleRuleBase, public CachedStyleSheetClient {
public:
static PassRefPtr<StyleRuleImport> create(const String& href, PassRefPtr<MediaQuerySet>);
- ~StyleRuleImport();
-
- StyleSheetContents* parentStyleSheet() const { return m_parentStyleSheet; }
- void setParentStyleSheet(StyleSheetContents* sheet) { ASSERT(sheet); m_parentStyleSheet = sheet; }
- void clearParentStyleSheet() { m_parentStyleSheet = 0; }
+ virtual ~StyleRuleImport();
String href() const { return m_strHref; }
StyleSheetContents* styleSheet() const { return m_styleSheet.get(); }
bool isLoading() const;
+ bool hadLoadError() const;
MediaQuerySet* mediaQueries() { return m_mediaQueries.get(); }
- void requestStyleSheet();
+ void requestStyleSheet(CSSStyleSheet* rootSheet, const CSSParserContext&);
void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
-private:
- // NOTE: We put the CachedStyleSheetClient in a member instead of inheriting from it
- // to avoid adding a vptr to StyleRuleImport.
- class ImportedStyleSheetClient : public CachedStyleSheetClient {
- public:
- ImportedStyleSheetClient(StyleRuleImport* ownerRule) : m_ownerRule(ownerRule) { }
- virtual ~ImportedStyleSheetClient() { }
- virtual void setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CachedCSSStyleSheet* sheet)
- {
- m_ownerRule->setCSSStyleSheet(href, baseURL, charset, sheet);
- }
- private:
- StyleRuleImport* m_ownerRule;
- };
-
- void setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CachedCSSStyleSheet*);
- friend class ImportedStyleSheetClient;
+ void reattachStyleSheetContents(StyleSheetContents*);
+private:
StyleRuleImport(const String& href, PassRefPtr<MediaQuerySet>);
- StyleSheetContents* m_parentStyleSheet;
+ virtual void setCSSStyleSheet(const String& href, const KURL& baseURL, const String& charset, const CachedCSSStyleSheet*);
- ImportedStyleSheetClient m_styleSheetClient;
String m_strHref;
RefPtr<MediaQuerySet> m_mediaQueries;
RefPtr<StyleSheetContents> m_styleSheet;
+
CachedResourceHandle<CachedCSSStyleSheet> m_cachedSheet;
- bool m_loading;
+ struct LoadContext {
+ LoadContext(CSSStyleSheet* rootStyleSheet, const CSSParserContext& parentParserContext);
+ RefPtr<CSSStyleSheet> rootStyleSheet;
+ CSSParserContext parentParserContext;
+ };
+ OwnPtr<LoadContext> m_loadContext;
};
} // namespace WebCore
diff --git a/Source/WebCore/css/StyleSheet.h b/Source/WebCore/css/StyleSheet.h
index 9f4ecd181..60bbb5f26 100644
--- a/Source/WebCore/css/StyleSheet.h
+++ b/Source/WebCore/css/StyleSheet.h
@@ -23,7 +23,7 @@
#include "CSSParserMode.h"
#include "KURLHash.h"
-#include "PlatformString.h"
+#include <wtf/Forward.h>
#include <wtf/ListHashSet.h>
#include <wtf/RefCounted.h>
diff --git a/Source/WebCore/css/StyleSheetContents.cpp b/Source/WebCore/css/StyleSheetContents.cpp
index cc3cec52a..ba00e2b21 100644
--- a/Source/WebCore/css/StyleSheetContents.cpp
+++ b/Source/WebCore/css/StyleSheetContents.cpp
@@ -26,12 +26,12 @@
#include "CSSStyleSheet.h"
#include "CachedCSSStyleSheet.h"
#include "Document.h"
-#include "MemoryInstrumentation.h"
#include "Node.h"
#include "SecurityOrigin.h"
#include "StylePropertySet.h"
#include "StyleRule.h"
#include "StyleRuleImport.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Deque.h>
namespace WebCore {
@@ -54,11 +54,9 @@ unsigned StyleSheetContents::estimatedSizeInBytes() const
return size;
}
-StyleSheetContents::StyleSheetContents(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext& context)
- : m_ownerRule(ownerRule)
- , m_originalURL(originalURL)
+StyleSheetContents::StyleSheetContents(const String& originalURL, const CSSParserContext& context)
+ : m_originalURL(originalURL)
, m_loadCompleted(false)
- , m_isUserStyleSheet(ownerRule && ownerRule->parentStyleSheet() && ownerRule->parentStyleSheet()->isUserStyleSheet())
, m_hasSyntacticallyValidCSSHeader(true)
, m_didLoadErrorOccur(false)
, m_usesRemUnits(false)
@@ -70,7 +68,6 @@ StyleSheetContents::StyleSheetContents(StyleRuleImport* ownerRule, const String&
StyleSheetContents::StyleSheetContents(const StyleSheetContents& o)
: RefCounted<StyleSheetContents>()
- , m_ownerRule(0)
, m_originalURL(o.m_originalURL)
, m_encodingFromCharsetRule(o.m_encodingFromCharsetRule)
, m_importRules(o.m_importRules.size())
@@ -104,9 +101,6 @@ bool StyleSheetContents::isCacheable() const
// FIXME: Support copying import rules.
if (!m_importRules.isEmpty())
return false;
- // FIXME: Support cached stylesheets in import rules.
- if (m_ownerRule)
- return false;
// This would require dealing with multiple clients for load callbacks.
if (!m_loadCompleted)
return false;
@@ -129,8 +123,6 @@ void StyleSheetContents::parserAppendRule(PassRefPtr<StyleRuleBase> rule)
// Parser enforces that @import rules come before anything else except @charset.
ASSERT(m_childRules.isEmpty());
m_importRules.append(static_cast<StyleRuleImport*>(rule.get()));
- m_importRules.last()->setParentStyleSheet(this);
- m_importRules.last()->requestStyleSheet();
return;
}
m_childRules.append(rule);
@@ -169,10 +161,6 @@ void StyleSheetContents::clearCharsetRule()
void StyleSheetContents::clearRules()
{
- for (unsigned i = 0; i < m_importRules.size(); ++i) {
- ASSERT(m_importRules.at(i)->parentStyleSheet() == this);
- m_importRules[i]->clearParentStyleSheet();
- }
m_importRules.clear();
m_childRules.clear();
clearCharsetRule();
@@ -207,9 +195,6 @@ bool StyleSheetContents::wrapperInsertRule(PassRefPtr<StyleRuleBase> rule, unsig
if (!rule->isImportRule())
return false;
m_importRules.insert(childVectorIndex, static_cast<StyleRuleImport*>(rule.get()));
- m_importRules[childVectorIndex]->setParentStyleSheet(this);
- m_importRules[childVectorIndex]->requestStyleSheet();
- // FIXME: Stylesheet doesn't actually change meaningfully before the imported sheets are loaded.
return true;
}
// Inserting @import rule after a non-import rule is not allowed.
@@ -235,7 +220,6 @@ void StyleSheetContents::wrapperDeleteRule(unsigned index)
--childVectorIndex;
}
if (childVectorIndex < m_importRules.size()) {
- m_importRules[childVectorIndex]->clearParentStyleSheet();
m_importRules.remove(childVectorIndex);
return;
}
@@ -266,8 +250,22 @@ const AtomicString& StyleSheetContents::determineNamespace(const AtomicString& p
return it->second;
}
-void StyleSheetContents::parseAuthorStyleSheet(const CachedCSSStyleSheet* cachedStyleSheet, const SecurityOrigin* securityOrigin)
+void StyleSheetContents::requestImportedStyleSheets(CSSStyleSheet* rootSheet)
{
+ ASSERT(!rootSheet->parentStyleSheet());
+ for (unsigned i = 0; i < m_importRules.size(); ++i)
+ m_importRules[i]->requestStyleSheet(rootSheet, parserContext());
+}
+
+void StyleSheetContents::parseAuthorStyleSheet(const CachedCSSStyleSheet* cachedStyleSheet, CSSStyleSheet* rootSheet)
+{
+ if (cachedStyleSheet->errorOccurred()) {
+ m_didLoadErrorOccur = true;
+ return;
+ }
+ Document* ownerDocument = rootSheet->ownerDocument();
+ if (!ownerDocument)
+ return;
// Check to see if we should enforce the MIME type of the CSS resource in strict mode.
// Running in iWeb 2 is one example of where we don't want to - <rdar://problem/6099748>
bool enforceMIMEType = isStrictParserMode(m_parserContext.mode) && m_parserContext.enforcesCSSMIMETypeInNoQuirksMode;
@@ -281,6 +279,7 @@ void StyleSheetContents::parseAuthorStyleSheet(const CachedCSSStyleSheet* cached
// to at least start with a syntactically valid CSS rule.
// This prevents an attacker playing games by injecting CSS strings into HTML, XML, JSON, etc. etc.
if (!hasValidMIMEType && !hasSyntacticallyValidCSSHeader()) {
+ const SecurityOrigin* securityOrigin = ownerDocument->securityOrigin();
bool isCrossOriginCSS = !securityOrigin || !securityOrigin->canRequest(baseURL());
if (isCrossOriginCSS) {
clearRules();
@@ -289,14 +288,17 @@ void StyleSheetContents::parseAuthorStyleSheet(const CachedCSSStyleSheet* cached
}
if (m_parserContext.needsSiteSpecificQuirks && isStrictParserMode(m_parserContext.mode)) {
// Work around <https://bugs.webkit.org/show_bug.cgi?id=28350>.
- DEFINE_STATIC_LOCAL(const String, slashKHTMLFixesDotCss, ("/KHTMLFixes.css"));
- DEFINE_STATIC_LOCAL(const String, mediaWikiKHTMLFixesStyleSheet, ("/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n"));
+ DEFINE_STATIC_LOCAL(const String, mediaWikiKHTMLFixesStyleSheet, (ASCIILiteral("/* KHTML fix stylesheet */\n/* work around the horizontal scrollbars */\n#column-content { margin-left: 0; }\n\n")));
// There are two variants of KHTMLFixes.css. One is equal to mediaWikiKHTMLFixesStyleSheet,
// while the other lacks the second trailing newline.
- if (baseURL().string().endsWith(slashKHTMLFixesDotCss) && !sheetText.isNull() && mediaWikiKHTMLFixesStyleSheet.startsWith(sheetText)
- && sheetText.length() >= mediaWikiKHTMLFixesStyleSheet.length() - 1)
+ if (baseURL().string().endsWith("/KHTMLFixes.css") && !sheetText.isNull() && mediaWikiKHTMLFixesStyleSheet.startsWith(sheetText)
+ && sheetText.length() >= mediaWikiKHTMLFixesStyleSheet.length() - 1) {
clearRules();
+ return;
+ }
}
+
+ requestImportedStyleSheets(rootSheet);
}
bool StyleSheetContents::parseString(const String& sheetText)
@@ -309,6 +311,10 @@ bool StyleSheetContents::parseStringAtLine(const String& sheetText, int startLin
CSSParser p(parserContext());
p.parseSheet(this, sheetText, startLineNumber);
+ if (!m_clients.isEmpty()) {
+ ASSERT(m_clients.size() == 1);
+ requestImportedStyleSheets(m_clients[0]);
+ }
return true;
}
@@ -321,64 +327,70 @@ bool StyleSheetContents::isLoading() const
return false;
}
-void StyleSheetContents::checkLoaded()
+bool StyleSheetContents::checkImportedSheetLoadCompleted()
{
- if (isLoading())
- return;
+ for (unsigned i = 0; i < m_importRules.size(); ++i) {
+ StyleRuleImport* importRule = m_importRules[i].get();
+ if (importRule->isLoading())
+ return false;
+ if (importRule->styleSheet() && !importRule->styleSheet()->checkImportedSheetLoadCompleted())
+ return false;
+ if (importRule->hadLoadError())
+ m_didLoadErrorOccur = true;
+ }
+ m_loadCompleted = true;
+ return true;
+}
- // Avoid |this| being deleted by scripts that run via
- // ScriptableDocumentParser::executeScriptsWaitingForStylesheets().
- // See <rdar://problem/6622300>.
- RefPtr<StyleSheetContents> protector(this);
- StyleSheetContents* parentSheet = parentStyleSheet();
- if (parentSheet) {
- parentSheet->checkLoaded();
- m_loadCompleted = true;
+void StyleSheetContents::checkLoadCompleted()
+{
+ if (m_clients.isEmpty())
return;
- }
- RefPtr<Node> ownerNode = singleOwnerNode();
- if (!ownerNode) {
- m_loadCompleted = true;
+ if (!checkImportedSheetLoadCompleted())
return;
- }
+
+ RefPtr<StyleSheetContents> protect(this);
+
+ ASSERT(hasOneClient());
+ ASSERT(!m_clients[0]->parentStyleSheet());
+ RefPtr<Node> ownerNode = m_clients[0]->ownerNode();
+ if (!ownerNode)
+ return;
+
m_loadCompleted = ownerNode->sheetLoaded();
if (m_loadCompleted)
ownerNode->notifyLoadedSheetAndAllCriticalSubresources(m_didLoadErrorOccur);
}
-void StyleSheetContents::notifyLoadedSheet(const CachedCSSStyleSheet* sheet)
-{
- ASSERT(sheet);
- m_didLoadErrorOccur |= sheet->errorOccurred();
-}
-
-void StyleSheetContents::startLoadingDynamicSheet()
-{
- if (Node* owner = singleOwnerNode())
- owner->startLoadingDynamicSheet();
-}
-
-StyleSheetContents* StyleSheetContents::rootStyleSheet() const
+bool StyleSheetContents::getAncestors(const StyleRuleImport* importRule, Vector<const StyleSheetContents*>& result) const
{
- const StyleSheetContents* root = this;
- while (root->parentStyleSheet())
- root = root->parentStyleSheet();
- return const_cast<StyleSheetContents*>(root);
+ result.append(this);
+ for (unsigned i = 0; i < m_importRules.size(); ++i) {
+ if (m_importRules[i] == importRule)
+ return true;
+ }
+ for (unsigned i = 0; i < m_importRules.size(); ++i) {
+ if (m_importRules[i]->styleSheet() && m_importRules[i]->styleSheet()->getAncestors(importRule, result))
+ return true;
+ }
+ result.removeLast();
+ return false;
}
-Node* StyleSheetContents::singleOwnerNode() const
+bool StyleSheetContents::hasImportCycle(const StyleRuleImport* importRule, const KURL& importURL, const KURL& documentBaseURL) const
{
- StyleSheetContents* root = rootStyleSheet();
- if (root->m_clients.isEmpty())
- return 0;
- ASSERT(root->m_clients.size() == 1);
- return root->m_clients[0]->ownerNode();
-}
+ Vector<const StyleSheetContents*> ancestors;
+ getAncestors(importRule, ancestors);
-Document* StyleSheetContents::singleOwnerDocument() const
-{
- Node* ownerNode = singleOwnerNode();
- return ownerNode ? ownerNode->document() : 0;
+ KURL parentBaseURL = documentBaseURL;
+ for (unsigned i = 0; i < ancestors.size(); ++i) {
+ if (equalIgnoringFragmentIdentifier(importURL, ancestors[i]->baseURL()))
+ return true;
+ if (equalIgnoringFragmentIdentifier(importURL, KURL(parentBaseURL, ancestors[i]->originalURL())))
+ return true;
+ parentBaseURL = ancestors[i]->baseURL();
+ }
+ return false;
}
KURL StyleSheetContents::completeURL(const String& url) const
@@ -451,11 +463,6 @@ bool StyleSheetContents::hasFailedOrCanceledSubresources() const
return childRulesHaveFailedOrCanceledSubresources(m_childRules);
}
-StyleSheetContents* StyleSheetContents::parentStyleSheet() const
-{
- return m_ownerRule ? m_ownerRule->parentStyleSheet() : 0;
-}
-
void StyleSheetContents::registerClient(CSSStyleSheet* sheet)
{
ASSERT(!m_clients.contains(sheet));
@@ -485,7 +492,7 @@ void StyleSheetContents::removedFromMemoryCache()
void StyleSheetContents::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_originalURL);
info.addInstrumentedMember(m_encodingFromCharsetRule);
info.addVector(m_importRules);
diff --git a/Source/WebCore/css/StyleSheetContents.h b/Source/WebCore/css/StyleSheetContents.h
index af0b294d5..c1ed0d51a 100644
--- a/Source/WebCore/css/StyleSheetContents.h
+++ b/Source/WebCore/css/StyleSheetContents.h
@@ -44,15 +44,11 @@ class StyleSheetContents : public RefCounted<StyleSheetContents> {
public:
static PassRefPtr<StyleSheetContents> create(const CSSParserContext& context = CSSParserContext(CSSStrictMode))
{
- return adoptRef(new StyleSheetContents(0, String(), context));
+ return adoptRef(new StyleSheetContents(String(), context));
}
static PassRefPtr<StyleSheetContents> create(const String& originalURL, const CSSParserContext& context)
{
- return adoptRef(new StyleSheetContents(0, originalURL, context));
- }
- static PassRefPtr<StyleSheetContents> create(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext& context)
- {
- return adoptRef(new StyleSheetContents(ownerRule, originalURL, context));
+ return adoptRef(new StyleSheetContents(originalURL, context));
}
~StyleSheetContents();
@@ -61,7 +57,7 @@ public:
const AtomicString& determineNamespace(const AtomicString& prefix);
- void parseAuthorStyleSheet(const CachedCSSStyleSheet*, const SecurityOrigin*);
+ void parseAuthorStyleSheet(const CachedCSSStyleSheet*, CSSStyleSheet* rootSheet);
bool parseString(const String&);
bool parseStringAtLine(const String&, int startLineNumber);
@@ -69,12 +65,7 @@ public:
bool isLoading() const;
- void checkLoaded();
- void startLoadingDynamicSheet();
-
- StyleSheetContents* rootStyleSheet() const;
- Node* singleOwnerNode() const;
- Document* singleOwnerDocument() const;
+ void checkLoadCompleted();
const String& charset() const { return m_parserContext.charset; }
@@ -102,12 +93,8 @@ public:
const Vector<RefPtr<StyleRuleBase> >& childRules() const { return m_childRules; }
const Vector<RefPtr<StyleRuleImport> >& importRules() const { return m_importRules; }
- void notifyLoadedSheet(const CachedCSSStyleSheet*);
-
- StyleSheetContents* parentStyleSheet() const;
- StyleRuleImport* ownerRule() const { return m_ownerRule; }
- void clearOwnerRule() { m_ownerRule = 0; }
-
+ bool hasImportCycle(const StyleRuleImport* importRule, const KURL& importURL, const KURL& documentBaseURL) const;
+
// Note that href is the URL that started the redirect chain that led to
// this style sheet. This property probably isn't useful for much except
// the JavaScript binding (which needs to use this value for security).
@@ -124,6 +111,8 @@ public:
bool wrapperInsertRule(PassRefPtr<StyleRuleBase>, unsigned index);
void wrapperDeleteRule(unsigned index);
+ void requestImportedStyleSheets(CSSStyleSheet* rootSheet);
+
PassRefPtr<StyleSheetContents> copy() const { return adoptRef(new StyleSheetContents(*this)); }
void registerClient(CSSStyleSheet*);
@@ -140,12 +129,13 @@ public:
void reportMemoryUsage(MemoryObjectInfo*) const;
private:
- StyleSheetContents(StyleRuleImport* ownerRule, const String& originalURL, const CSSParserContext&);
+ StyleSheetContents(const String& originalURL, const CSSParserContext&);
StyleSheetContents(const StyleSheetContents&);
void clearCharsetRule();
- StyleRuleImport* m_ownerRule;
+ bool checkImportedSheetLoadCompleted();
+ bool getAncestors(const StyleRuleImport*, Vector<const StyleSheetContents*>& result) const;
String m_originalURL;
diff --git a/Source/WebCore/css/StyleSheetList.cpp b/Source/WebCore/css/StyleSheetList.cpp
index bbefd318b..f1ab52dc9 100644
--- a/Source/WebCore/css/StyleSheetList.cpp
+++ b/Source/WebCore/css/StyleSheetList.cpp
@@ -25,7 +25,7 @@
#include "Document.h"
#include "HTMLNames.h"
#include "HTMLStyleElement.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/WebKitCSSArrayFunctionValue.cpp b/Source/WebCore/css/WebKitCSSArrayFunctionValue.cpp
new file mode 100644
index 000000000..2a17a44b7
--- /dev/null
+++ b/Source/WebCore/css/WebKitCSSArrayFunctionValue.cpp
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER “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 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 "WebKitCSSArrayFunctionValue.h"
+
+#include "WebCoreMemoryInstrumentation.h"
+
+#if ENABLE(CSS_SHADERS)
+
+namespace WebCore {
+
+WebKitCSSArrayFunctionValue::WebKitCSSArrayFunctionValue()
+ : CSSValueList(WebKitCSSArrayFunctionValueClass, CommaSeparator)
+{
+}
+
+WebKitCSSArrayFunctionValue::WebKitCSSArrayFunctionValue(const WebKitCSSArrayFunctionValue& cloneFrom)
+ : CSSValueList(cloneFrom)
+{
+}
+
+String WebKitCSSArrayFunctionValue::customCssText() const
+{
+ return "array(" + CSSValueList::customCssText() + ')';
+}
+
+PassRefPtr<WebKitCSSArrayFunctionValue> WebKitCSSArrayFunctionValue::cloneForCSSOM() const
+{
+ return adoptRef(new WebKitCSSArrayFunctionValue(*this));
+}
+
+void WebKitCSSArrayFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
+ CSSValueList::reportDescendantMemoryUsage(memoryObjectInfo);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)
diff --git a/Source/WebCore/rendering/RenderFlowThreadContainer.h b/Source/WebCore/css/WebKitCSSArrayFunctionValue.h
index 5a958ce3a..baf27820b 100644
--- a/Source/WebCore/rendering/RenderFlowThreadContainer.h
+++ b/Source/WebCore/css/WebKitCSSArrayFunctionValue.h
@@ -13,7 +13,7 @@
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER "AS IS" AND ANY
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER “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 BE
@@ -27,26 +27,36 @@
* SUCH DAMAGE.
*/
-#ifndef RenderFlowThreadContainer_h
-#define RenderFlowThreadContainer_h
+#ifndef WebKitCSSArrayFunctionValue_h
+#define WebKitCSSArrayFunctionValue_h
+#if ENABLE(CSS_SHADERS)
-#include "RenderFlowThread.h"
+#include "CSSValueList.h"
+#include <wtf/PassRefPtr.h>
namespace WebCore {
-class RenderFlowThreadContainer: public RenderFlowThread {
+class WebKitCSSArrayFunctionValue : public CSSValueList {
public:
- RenderFlowThreadContainer(Node*);
- virtual ~RenderFlowThreadContainer() { };
+ static PassRefPtr<WebKitCSSArrayFunctionValue> create()
+ {
+ return adoptRef(new WebKitCSSArrayFunctionValue());
+ }
- virtual void layout() OVERRIDE;
- virtual bool isRenderFlowThreadContainer() const OVERRIDE { return true; }
+ String customCssText() const;
+
+ PassRefPtr<WebKitCSSArrayFunctionValue> cloneForCSSOM() const;
+
+ void reportDescendantMemoryUsage(MemoryObjectInfo*) const;
private:
- virtual const char* renderName() const { return "RenderFlowThreadContainer"; }
+ WebKitCSSArrayFunctionValue();
+ WebKitCSSArrayFunctionValue(const WebKitCSSArrayFunctionValue& cloneFrom);
};
} // namespace WebCore
-#endif // RenderFlowThread_h
+#endif // ENABLE(CSS_SHADERS)
+
+#endif
diff --git a/Source/WebCore/css/WebKitCSSFilterValue.cpp b/Source/WebCore/css/WebKitCSSFilterValue.cpp
index f70b2673a..f1a1e0ea4 100644
--- a/Source/WebCore/css/WebKitCSSFilterValue.cpp
+++ b/Source/WebCore/css/WebKitCSSFilterValue.cpp
@@ -29,7 +29,7 @@
#if ENABLE(CSS_FILTERS)
#include "CSSValueList.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassRefPtr.h>
#include <wtf/text/WTFString.h>
@@ -113,7 +113,7 @@ PassRefPtr<WebKitCSSFilterValue> WebKitCSSFilterValue::cloneForCSSOM() const
void WebKitCSSFilterValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSValueList::reportDescendantMemoryUsage(memoryObjectInfo);
}
diff --git a/Source/WebCore/css/WebKitCSSKeyframeRule.cpp b/Source/WebCore/css/WebKitCSSKeyframeRule.cpp
index 80069326f..bf3b8695b 100644
--- a/Source/WebCore/css/WebKitCSSKeyframeRule.cpp
+++ b/Source/WebCore/css/WebKitCSSKeyframeRule.cpp
@@ -26,10 +26,11 @@
#include "config.h"
#include "WebKitCSSKeyframeRule.h"
-#include "MemoryInstrumentation.h"
#include "PropertySetCSSStyleDeclaration.h"
#include "StylePropertySet.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSKeyframesRule.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -77,18 +78,20 @@ void StyleKeyframe::parseKeyString(const String& s, Vector<float>& keys)
String StyleKeyframe::cssText() const
{
- String result = keyText();
-
- result += " { ";
- result += m_properties->asText();
- result += "}";
-
- return result;
+ StringBuilder result;
+ result.append(keyText());
+ result.appendLiteral(" { ");
+ String decls = m_properties->asText();
+ result.append(decls);
+ if (!decls.isEmpty())
+ result.append(' ');
+ result.append('}');
+ return result.toString();
}
void StyleKeyframe::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_properties);
info.addInstrumentedMember(m_key);
}
@@ -115,7 +118,7 @@ CSSStyleDeclaration* WebKitCSSKeyframeRule::style() const
void WebKitCSSKeyframeRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_keyframe);
info.addInstrumentedMember(m_propertiesCSSOMWrapper);
diff --git a/Source/WebCore/css/WebKitCSSKeyframesRule.cpp b/Source/WebCore/css/WebKitCSSKeyframesRule.cpp
index ca47f79bd..f8d08078d 100644
--- a/Source/WebCore/css/WebKitCSSKeyframesRule.cpp
+++ b/Source/WebCore/css/WebKitCSSKeyframesRule.cpp
@@ -29,9 +29,9 @@
#include "CSSParser.h"
#include "CSSRuleList.h"
#include "CSSStyleSheet.h"
-#include "MemoryInstrumentation.h"
#include "StylePropertySet.h"
#include "StyleSheet.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WebKitCSSKeyframeRule.h"
#include <wtf/text/StringBuilder.h>
@@ -89,7 +89,7 @@ int StyleRuleKeyframes::findKeyframeIndex(const String& key) const
void StyleRuleKeyframes::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedVector(m_keyframes);
info.addInstrumentedMember(m_name);
}
@@ -208,7 +208,7 @@ void WebKitCSSKeyframesRule::reattach(StyleRuleKeyframes* rule)
void WebKitCSSKeyframesRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_keyframesRule);
info.addInstrumentedVector(m_childRuleCSSOMWrappers);
diff --git a/Source/WebCore/css/WebKitCSSMatrix.h b/Source/WebCore/css/WebKitCSSMatrix.h
index 56b0a7bc0..5f7a5be84 100644
--- a/Source/WebCore/css/WebKitCSSMatrix.h
+++ b/Source/WebCore/css/WebKitCSSMatrix.h
@@ -26,10 +26,10 @@
#ifndef WebKitCSSMatrix_h
#define WebKitCSSMatrix_h
-#include "PlatformString.h"
#include "TransformationMatrix.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/css/WebKitCSSMixFunctionValue.cpp b/Source/WebCore/css/WebKitCSSMixFunctionValue.cpp
index 7f8d27d85..3af687e76 100644
--- a/Source/WebCore/css/WebKitCSSMixFunctionValue.cpp
+++ b/Source/WebCore/css/WebKitCSSMixFunctionValue.cpp
@@ -30,7 +30,7 @@
#include "config.h"
#include "WebKitCSSMixFunctionValue.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#if ENABLE(CSS_SHADERS)
@@ -58,7 +58,7 @@ PassRefPtr<WebKitCSSMixFunctionValue> WebKitCSSMixFunctionValue::cloneForCSSOM()
void WebKitCSSMixFunctionValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSValueList::reportDescendantMemoryUsage(memoryObjectInfo);
}
diff --git a/Source/WebCore/css/WebKitCSSMixFunctionValue.h b/Source/WebCore/css/WebKitCSSMixFunctionValue.h
index af9794a19..439967d67 100644
--- a/Source/WebCore/css/WebKitCSSMixFunctionValue.h
+++ b/Source/WebCore/css/WebKitCSSMixFunctionValue.h
@@ -36,7 +36,9 @@
#include <wtf/PassRefPtr.h>
namespace WebCore {
-
+
+class MemoryObjectInfo;
+
class WebKitCSSMixFunctionValue : public CSSValueList {
public:
static PassRefPtr<WebKitCSSMixFunctionValue> create()
diff --git a/Source/WebCore/css/WebKitCSSRegionRule.cpp b/Source/WebCore/css/WebKitCSSRegionRule.cpp
index 2db2059f1..e64832f6b 100644
--- a/Source/WebCore/css/WebKitCSSRegionRule.cpp
+++ b/Source/WebCore/css/WebKitCSSRegionRule.cpp
@@ -110,7 +110,7 @@ void WebKitCSSRegionRule::reattach(StyleRuleRegion* rule)
void WebKitCSSRegionRule::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSRule::reportBaseClassMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_regionRule);
info.addInstrumentedVector(m_childRuleCSSOMWrappers);
diff --git a/Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp b/Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp
index d2fbdf18c..e133c9221 100644
--- a/Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp
+++ b/Source/WebCore/css/WebKitCSSSVGDocumentValue.cpp
@@ -30,7 +30,7 @@
#include "CSSParser.h"
#include "CachedResourceLoader.h"
#include "Document.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -66,7 +66,7 @@ String WebKitCSSSVGDocumentValue::customCssText() const
void WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_url);
// FIXME: add m_document when cached resources are instrumented.
}
diff --git a/Source/WebCore/css/WebKitCSSShaderValue.cpp b/Source/WebCore/css/WebKitCSSShaderValue.cpp
index b89b1834e..2326999b0 100644
--- a/Source/WebCore/css/WebKitCSSShaderValue.cpp
+++ b/Source/WebCore/css/WebKitCSSShaderValue.cpp
@@ -35,9 +35,9 @@
#include "CachedResourceLoader.h"
#include "CSSParser.h"
#include "Document.h"
-#include "MemoryInstrumentation.h"
#include "StyleCachedShader.h"
#include "StylePendingShader.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -82,7 +82,7 @@ String WebKitCSSShaderValue::customCssText() const
void WebKitCSSShaderValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_url);
}
diff --git a/Source/WebCore/css/WebKitCSSTransformValue.cpp b/Source/WebCore/css/WebKitCSSTransformValue.cpp
index 8e196e5ac..2f86ad90e 100644
--- a/Source/WebCore/css/WebKitCSSTransformValue.cpp
+++ b/Source/WebCore/css/WebKitCSSTransformValue.cpp
@@ -27,10 +27,10 @@
#include "WebKitCSSTransformValue.h"
#include "CSSValueList.h"
-#include "MemoryInstrumentation.h"
-#include "PlatformString.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassRefPtr.h>
#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -107,7 +107,7 @@ PassRefPtr<WebKitCSSTransformValue> WebKitCSSTransformValue::cloneForCSSOM() con
void WebKitCSSTransformValue::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
CSSValueList::reportDescendantMemoryUsage(memoryObjectInfo);
}
diff --git a/Source/WebCore/css/html.css b/Source/WebCore/css/html.css
index c213d38d6..62d19cbb7 100644
--- a/Source/WebCore/css/html.css
+++ b/Source/WebCore/css/html.css
@@ -491,6 +491,8 @@ input::-webkit-datetime-edit-ampm-field {
-webkit-user-modify: read-only !important;
border: none;
padding: 0.15em;
+ display: inline-block;
+ text-align: center;
}
input::-webkit-datetime-edit-hour-field {
@@ -533,7 +535,7 @@ input::-webkit-datetime-edit-second-field {
/* Remove focus ring from fields and use highlight color */
input::-webkit-datetime-edit-ampm-field:focus,
input::-webkit-datetime-edit-hour-field:focus,
-input::-webkit-datetime-edit-millisecond-fiel:focus,
+input::-webkit-datetime-edit-millisecond-field:focus,
input::-webkit-datetime-edit-minute-field:focus,
input::-webkit-datetime-edit-second-field:focus {
background-color: highlight;
diff --git a/Source/WebCore/css/mathml.css b/Source/WebCore/css/mathml.css
index fa4288f51..25bb7baf6 100644
--- a/Source/WebCore/css/mathml.css
+++ b/Source/WebCore/css/mathml.css
@@ -12,9 +12,7 @@ math {
font-family: STIXGeneral, Symbol, "Times New Roman", sans-serif;
display: inline-block;
padding: 0px;
- margin: 0px;
text-align: left;
- vertical-align: baseline;
padding-left: 1px;
padding-right: 1px;
}
@@ -28,10 +26,9 @@ math[display="block"] {
margin-right: auto;
}
-mrow, mfenced {
+mo, mrow, mfenced, mfrac, msub, msup, msubsup, munder, mover, munderover, msqrt, mroot {
display: inline-block;
white-space: nowrap;
- vertical-align: baseline;
}
mfenced {
@@ -48,15 +45,6 @@ mi + mrow {
margin-left: 0.1em;
}
-mfrac {
- display: inline-block;
-}
-
-msub, msup {
- display: inline-block;
- vertical-align: baseline;
-}
-
msub > * + * {
vertical-align: sub;
font-size: 0.75em;
@@ -67,13 +55,7 @@ msup > * + * {
font-size: 0.75em;
}
-msubsup {
- display: inline-block;
- vertical-align: baseline;
-}
-
msubsup > * {
- margin: 0px;
padding: 0px;
}
@@ -81,22 +63,12 @@ msubsup > * + * {
font-size: 0.75em;
}
-munder, mover, munderover {
- display: inline-block;
- vertical-align: baseline;
-}
-
munderover > * + *, mover > * + *, munder > * + * {
font-size: 0.75em;
}
mo, mn, mi, mtext {
padding: 0px;
- margin: 0px;
-}
-
-mo {
- display: inline-block;
}
math > mo, mrow > mo, mfenced > mo {
@@ -136,7 +108,7 @@ math[mathsize="big"], mstyle[mathsize="big"], mo[mathsize="big"], mn[mathsize="b
}
annotation, annotation-xml {
- display:none;
+ display: none;
}
mphantom {
@@ -150,13 +122,7 @@ merror {
background-color: lightYellow;
}
-msqrt {
- display: inline-block;
- white-space: nowrap; /* for the anonymous RenderMathMLRow */
-}
-
mroot {
- display: inline-block;
position: relative;
}
diff --git a/Source/WebCore/css/mediaControlsChromium.css b/Source/WebCore/css/mediaControlsChromium.css
index 3a9f1455a..025c57901 100644
--- a/Source/WebCore/css/mediaControlsChromium.css
+++ b/Source/WebCore/css/mediaControlsChromium.css
@@ -178,6 +178,19 @@ input[type="range"]::-webkit-media-slider-thumb {
margin-right: -7px;
}
+audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button {
+ -webkit-appearance: media-toggle-closed-captions-button;
+ display: -webkit-box;
+ border: none;
+ box-sizing: border-box;
+ width: 30px;
+ height: 30px;
+ line-height: 30px;
+ margin-left: -5px;
+ margin-right: 9px;
+ padding: 0;
+}
+
audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button {
-webkit-appearance: media-enter-fullscreen-button;
display: -webkit-box;
diff --git a/Source/WebCore/dom/Attr.cpp b/Source/WebCore/dom/Attr.cpp
index d6e29bd18..95c3fe052 100644
--- a/Source/WebCore/dom/Attr.cpp
+++ b/Source/WebCore/dom/Attr.cpp
@@ -138,7 +138,7 @@ void Attr::setNodeValue(const String& v, ExceptionCode& ec)
setValue(v, ec);
}
-PassRefPtr<Node> Attr::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> Attr::cloneNode(bool /*deep*/)
{
RefPtr<Attr> clone = adoptRef(new Attr(document(), qualifiedName(), value()));
cloneChildNodes(clone.get());
diff --git a/Source/WebCore/dom/Attr.h b/Source/WebCore/dom/Attr.h
index 86b3c4a60..8e760aa25 100644
--- a/Source/WebCore/dom/Attr.h
+++ b/Source/WebCore/dom/Attr.h
@@ -81,7 +81,7 @@ private:
virtual String nodeValue() const OVERRIDE { return value(); }
virtual void setNodeValue(const String&, ExceptionCode&);
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool isAttributeNode() const { return true; }
virtual bool childTypeAllowed(NodeType) const;
diff --git a/Source/WebCore/dom/Attribute.h b/Source/WebCore/dom/Attribute.h
index 81a0bbda7..d182ff285 100644
--- a/Source/WebCore/dom/Attribute.h
+++ b/Source/WebCore/dom/Attribute.h
@@ -69,7 +69,7 @@ public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_name);
info.addInstrumentedMember(m_value);
}
diff --git a/Source/WebCore/dom/CDATASection.cpp b/Source/WebCore/dom/CDATASection.cpp
index 2b39e8083..33a3acc58 100644
--- a/Source/WebCore/dom/CDATASection.cpp
+++ b/Source/WebCore/dom/CDATASection.cpp
@@ -46,7 +46,7 @@ Node::NodeType CDATASection::nodeType() const
return CDATA_SECTION_NODE;
}
-PassRefPtr<Node> CDATASection::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> CDATASection::cloneNode(bool /*deep*/)
{
return create(document(), data());
}
diff --git a/Source/WebCore/dom/CDATASection.h b/Source/WebCore/dom/CDATASection.h
index 4c26573f7..d7aca9d69 100644
--- a/Source/WebCore/dom/CDATASection.h
+++ b/Source/WebCore/dom/CDATASection.h
@@ -36,7 +36,7 @@ private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool childTypeAllowed(NodeType) const;
virtual PassRefPtr<Text> virtualCreate(const String&);
};
diff --git a/Source/WebCore/dom/CharacterData.cpp b/Source/WebCore/dom/CharacterData.cpp
index 8c930d8f2..390de1821 100644
--- a/Source/WebCore/dom/CharacterData.cpp
+++ b/Source/WebCore/dom/CharacterData.cpp
@@ -26,7 +26,6 @@
#include "EventNames.h"
#include "ExceptionCode.h"
#include "InspectorInstrumentation.h"
-#include "MemoryInstrumentation.h"
#include "MutationEvent.h"
#include "MutationObserverInterestGroup.h"
#include "MutationRecord.h"
@@ -35,6 +34,7 @@
#include "StyleInheritedData.h"
#include "TextBreakIterator.h"
#include "UndoManager.h"
+#include "WebCoreMemoryInstrumentation.h"
using namespace std;
@@ -96,7 +96,7 @@ unsigned CharacterData::parserAppendData(const UChar* data, unsigned dataLength,
void CharacterData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
Node::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_data);
}
diff --git a/Source/WebCore/dom/Comment.cpp b/Source/WebCore/dom/Comment.cpp
index 900bcd173..c2f0582ec 100644
--- a/Source/WebCore/dom/Comment.cpp
+++ b/Source/WebCore/dom/Comment.cpp
@@ -46,7 +46,7 @@ Node::NodeType Comment::nodeType() const
return COMMENT_NODE;
}
-PassRefPtr<Node> Comment::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> Comment::cloneNode(bool /*deep*/)
{
return create(document(), data());
}
diff --git a/Source/WebCore/dom/Comment.h b/Source/WebCore/dom/Comment.h
index e83445120..9db1f31fd 100644
--- a/Source/WebCore/dom/Comment.h
+++ b/Source/WebCore/dom/Comment.h
@@ -36,7 +36,7 @@ private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool childTypeAllowed(NodeType) const;
};
diff --git a/Source/WebCore/dom/ContainerNode.cpp b/Source/WebCore/dom/ContainerNode.cpp
index adafeb617..696c8432b 100644
--- a/Source/WebCore/dom/ContainerNode.cpp
+++ b/Source/WebCore/dom/ContainerNode.cpp
@@ -363,8 +363,9 @@ static void willRemoveChildren(ContainerNode* container)
// fire removed from document mutation events.
dispatchChildRemovalEvents(child);
- ChildFrameDisconnector(child).disconnect();
}
+
+ ChildFrameDisconnector(container, ChildFrameDisconnector::DoNotIncludeRoot).disconnect();
}
void ContainerNode::disconnectDescendantFrames()
@@ -395,13 +396,6 @@ bool ContainerNode::removeChild(Node* oldChild, ExceptionCode& ec)
}
RefPtr<Node> child = oldChild;
- willRemoveChild(child.get());
-
- // Mutation events might have moved this child into a different parent.
- if (child->parentNode() != this) {
- ec = NOT_FOUND_ERR;
- return false;
- }
document()->removeFocusedNodeOfSubtree(child.get());
@@ -416,6 +410,14 @@ bool ContainerNode::removeChild(Node* oldChild, ExceptionCode& ec)
return false;
}
+ willRemoveChild(child.get());
+
+ // Mutation events might have moved this child into a different parent.
+ if (child->parentNode() != this) {
+ ec = NOT_FOUND_ERR;
+ return false;
+ }
+
Node* prev = child->previousSibling();
Node* next = child->nextSibling();
removeBetween(prev, next, child.get());
@@ -481,10 +483,6 @@ void ContainerNode::removeChildren()
// The container node can be removed from event handlers.
RefPtr<ContainerNode> protect(this);
- // Do any prep work needed before actually starting to detach
- // and remove... e.g. stop loading frames, fire unload events.
- willRemoveChildren(protect.get());
-
// exclude this node when looking for removed focusedNode since only children will be removed
document()->removeFocusedNodeOfSubtree(this, true);
@@ -492,6 +490,10 @@ void ContainerNode::removeChildren()
document()->removeFullScreenElementOfSubtree(this, true);
#endif
+ // Do any prep work needed before actually starting to detach
+ // and remove... e.g. stop loading frames, fire unload events.
+ willRemoveChildren(protect.get());
+
forbidEventDispatch();
Vector<RefPtr<Node>, 10> removedChildren;
removedChildren.reserveInitialCapacity(childNodeCount());
@@ -718,135 +720,6 @@ void ContainerNode::cloneChildNodes(ContainerNode *clone)
}
}
-bool ContainerNode::getUpperLeftCorner(FloatPoint& point) const
-{
- if (!renderer())
- return false;
- // What is this code really trying to do?
- RenderObject *o = renderer();
- RenderObject *p = o;
-
- if (!o->isInline() || o->isReplaced()) {
- point = o->localToAbsolute(FloatPoint(), false, true);
- return true;
- }
-
- // find the next text/image child, to get a position
- while (o) {
- p = o;
- if (o->firstChild())
- o = o->firstChild();
- else if (o->nextSibling())
- o = o->nextSibling();
- else {
- RenderObject *next = 0;
- while (!next && o->parent()) {
- o = o->parent();
- next = o->nextSibling();
- }
- o = next;
-
- if (!o)
- break;
- }
- ASSERT(o);
-
- if (!o->isInline() || o->isReplaced()) {
- point = o->localToAbsolute(FloatPoint(), false, true);
- return true;
- }
-
- if (p->node() && p->node() == this && o->isText() && !o->isBR() && !toRenderText(o)->firstTextBox()) {
- // do nothing - skip unrendered whitespace that is a child or next sibling of the anchor
- } else if ((o->isText() && !o->isBR()) || o->isReplaced()) {
- point = FloatPoint();
- if (o->isText() && toRenderText(o)->firstTextBox()) {
- point.move(toRenderText(o)->linesBoundingBox().x(),
- toRenderText(o)->firstTextBox()->root()->lineTop());
- } else if (o->isBox()) {
- RenderBox* box = toRenderBox(o);
- point.moveBy(box->location());
- }
- point = o->container()->localToAbsolute(point, false, true);
- return true;
- }
- }
-
- // If the target doesn't have any children or siblings that could be used to calculate the scroll position, we must be
- // at the end of the document. Scroll to the bottom. FIXME: who said anything about scrolling?
- if (!o && document()->view()) {
- point = FloatPoint(0, document()->view()->contentsHeight());
- return true;
- }
- return false;
-}
-
-bool ContainerNode::getLowerRightCorner(FloatPoint& point) const
-{
- if (!renderer())
- return false;
-
- RenderObject* o = renderer();
- if (!o->isInline() || o->isReplaced()) {
- RenderBox* box = toRenderBox(o);
- point = o->localToAbsolute(LayoutPoint(box->size()), false, true);
- return true;
- }
-
- // find the last text/image child, to get a position
- while (o) {
- if (o->lastChild())
- o = o->lastChild();
- else if (o->previousSibling())
- o = o->previousSibling();
- else {
- RenderObject* prev = 0;
- while (!prev) {
- o = o->parent();
- if (!o)
- return false;
- prev = o->previousSibling();
- }
- o = prev;
- }
- ASSERT(o);
- if (o->isText() || o->isReplaced()) {
- point = FloatPoint();
- if (o->isText()) {
- RenderText* text = toRenderText(o);
- IntRect linesBox = text->linesBoundingBox();
- if (!linesBox.maxX() && !linesBox.maxY())
- continue;
- point.moveBy(linesBox.maxXMaxYCorner());
- } else {
- RenderBox* box = toRenderBox(o);
- point.moveBy(box->frameRect().maxXMaxYCorner());
- }
- point = o->container()->localToAbsolute(point, false, true);
- return true;
- }
- }
- return true;
-}
-
-LayoutRect ContainerNode::getRect() const
-{
- FloatPoint upperLeft, lowerRight;
- bool foundUpperLeft = getUpperLeftCorner(upperLeft);
- bool foundLowerRight = getLowerRightCorner(lowerRight);
-
- // If we've found one corner, but not the other,
- // then we should just return a point at the corner that we did find.
- if (foundUpperLeft != foundLowerRight) {
- if (foundUpperLeft)
- lowerRight = upperLeft;
- else
- upperLeft = lowerRight;
- }
-
- return enclosingLayoutRect(FloatRect(upperLeft, lowerRight.expandedTo(upperLeft) - upperLeft));
-}
-
void ContainerNode::setFocus(bool received)
{
if (focused() == received)
diff --git a/Source/WebCore/dom/ContainerNode.h b/Source/WebCore/dom/ContainerNode.h
index 8b924773e..743120abf 100644
--- a/Source/WebCore/dom/ContainerNode.h
+++ b/Source/WebCore/dom/ContainerNode.h
@@ -75,7 +75,6 @@ public:
virtual void attach() OVERRIDE;
virtual void detach() OVERRIDE;
- virtual LayoutRect getRect() const OVERRIDE;
virtual void setFocus(bool = true) OVERRIDE;
virtual void setActive(bool active = true, bool pause = false) OVERRIDE;
virtual void setHovered(bool = true) OVERRIDE;
@@ -103,7 +102,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
Node::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_firstChild);
info.addInstrumentedMember(m_lastChild);
@@ -132,9 +131,6 @@ private:
static void dispatchPostAttachCallbacks();
- bool getUpperLeftCorner(FloatPoint&) const;
- bool getLowerRightCorner(FloatPoint&) const;
-
Node* m_firstChild;
Node* m_lastChild;
};
diff --git a/Source/WebCore/dom/ContainerNodeAlgorithms.cpp b/Source/WebCore/dom/ContainerNodeAlgorithms.cpp
index 2edea30e0..f565adb4d 100644
--- a/Source/WebCore/dom/ContainerNodeAlgorithms.cpp
+++ b/Source/WebCore/dom/ContainerNodeAlgorithms.cpp
@@ -108,7 +108,7 @@ void ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree(ContainerNode* no
void ChildFrameDisconnector::collectDescendant(ElementShadow* shadow)
{
for (ShadowRoot* root = shadow->youngestShadowRoot(); root; root = root->olderShadowRoot())
- collectDescendant(root);
+ collectDescendant(root, IncludeRoot);
}
void ChildFrameDisconnector::Target::disconnect()
diff --git a/Source/WebCore/dom/ContainerNodeAlgorithms.h b/Source/WebCore/dom/ContainerNodeAlgorithms.h
index 163295541..1358b05eb 100644
--- a/Source/WebCore/dom/ContainerNodeAlgorithms.h
+++ b/Source/WebCore/dom/ContainerNodeAlgorithms.h
@@ -268,13 +268,37 @@ inline void ChildNodeRemovalNotifier::notify(Node* node)
class ChildFrameDisconnector {
public:
- explicit ChildFrameDisconnector(Node* root);
+ enum ShouldIncludeRoot {
+ DoNotIncludeRoot,
+ IncludeRoot
+ };
+
+ explicit ChildFrameDisconnector(Node* root, ShouldIncludeRoot shouldIncludeRoot = IncludeRoot)
+ : m_root(root)
+ {
+ collectDescendant(m_root, shouldIncludeRoot);
+ rootNodes().add(m_root);
+ }
+
+ ~ChildFrameDisconnector()
+ {
+ rootNodes().remove(m_root);
+ }
+
void disconnect();
+ static bool nodeHasDisconnector(Node*);
+
private:
- void collectDescendant(Node* root);
+ void collectDescendant(Node* root, ShouldIncludeRoot);
void collectDescendant(ElementShadow*);
+ static HashSet<Node*>& rootNodes()
+ {
+ DEFINE_STATIC_LOCAL(HashSet<Node*>, nodes, ());
+ return nodes;
+ }
+
class Target {
public:
Target(HTMLFrameOwnerElement* element)
@@ -292,16 +316,13 @@ private:
};
Vector<Target, 10> m_list;
+ Node* m_root;
};
-inline ChildFrameDisconnector::ChildFrameDisconnector(Node* root)
+inline void ChildFrameDisconnector::collectDescendant(Node* root, ShouldIncludeRoot shouldIncludeRoot)
{
- collectDescendant(root);
-}
-
-inline void ChildFrameDisconnector::collectDescendant(Node* root)
-{
- for (Node* node = root; node; node = node->traverseNextNode(root)) {
+ for (Node* node = shouldIncludeRoot == IncludeRoot ? root : root->firstChild(); node;
+ node = node->traverseNextNode(root)) {
if (!node->isElementNode())
continue;
Element* element = toElement(node);
@@ -322,6 +343,20 @@ inline void ChildFrameDisconnector::disconnect()
}
}
+inline bool ChildFrameDisconnector::nodeHasDisconnector(Node* node)
+{
+ HashSet<Node*>& nodes = rootNodes();
+
+ if (nodes.isEmpty())
+ return false;
+
+ for (; node; node = node->parentNode())
+ if (nodes.contains(node))
+ return true;
+
+ return false;
+}
+
} // namespace WebCore
#endif // ContainerNodeAlgorithms_h
diff --git a/Source/WebCore/dom/DOMAllInOne.cpp b/Source/WebCore/dom/DOMAllInOne.cpp
index be7bd07c1..fcb569540 100644
--- a/Source/WebCore/dom/DOMAllInOne.cpp
+++ b/Source/WebCore/dom/DOMAllInOne.cpp
@@ -48,6 +48,7 @@
#include "CustomEvent.cpp"
#include "DOMCoreException.cpp"
#include "DOMImplementation.cpp"
+#include "DOMNamedFlowCollection.cpp"
#include "DOMStringList.cpp"
#include "DOMStringMap.cpp"
#include "DatasetDOMStringMap.cpp"
@@ -99,6 +100,7 @@
#include "MutationObserverRegistration.cpp"
#include "MutationRecord.cpp"
#include "NameNodeList.cpp"
+#include "NamedFlowCollection.cpp"
#include "NodeFilter.cpp"
#include "NodeFilterCondition.cpp"
#include "NodeIterator.cpp"
@@ -146,7 +148,6 @@
#include "ViewportArguments.cpp"
#include "WebKitAnimationEvent.cpp"
#include "WebKitNamedFlow.cpp"
-#include "WebKitNamedFlowCollection.cpp"
#include "WebKitTransitionEvent.cpp"
#include "WheelEvent.cpp"
#include "WindowEventContext.cpp"
diff --git a/Source/WebCore/dom/DOMNamedFlowCollection.cpp b/Source/WebCore/dom/DOMNamedFlowCollection.cpp
new file mode 100644
index 000000000..30fbab3e7
--- /dev/null
+++ b/Source/WebCore/dom/DOMNamedFlowCollection.cpp
@@ -0,0 +1,72 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER "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 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 "DOMNamedFlowCollection.h"
+
+#include "NamedFlowCollection.h"
+#include "WebKitNamedFlow.h"
+
+namespace WebCore {
+
+DOMNamedFlowCollection::DOMNamedFlowCollection(NamedFlowCollection::NamedFlowSet& set)
+{
+ m_namedFlows.swap(set);
+}
+
+unsigned long DOMNamedFlowCollection::length() const
+{
+ return m_namedFlows.size();
+}
+
+PassRefPtr<WebKitNamedFlow> DOMNamedFlowCollection::item(unsigned long index) const
+{
+ if (index >= static_cast<unsigned long>(m_namedFlows.size()))
+ return 0;
+ NamedFlowCollection::NamedFlowSet::const_iterator it = m_namedFlows.begin();
+ for (unsigned long i = 0; i < index; ++i)
+ ++it;
+ return *it;
+}
+
+PassRefPtr<WebKitNamedFlow> DOMNamedFlowCollection::namedItem(const AtomicString& name) const
+{
+ NamedFlowCollection::NamedFlowSet::const_iterator it = m_namedFlows.find<String, NamedFlowCollection::NamedFlowHashTranslator>(name);
+ if (it != m_namedFlows.end())
+ return *it;
+ return 0;
+}
+
+bool DOMNamedFlowCollection::hasNamedItem(const AtomicString& name) const
+{
+ return namedItem(name);
+}
+} // namespace WebCore
+
+
+
diff --git a/Source/WebCore/rendering/style/WrapShapes.cpp b/Source/WebCore/dom/DOMNamedFlowCollection.h
index 61a2c9fbf..02fb58cdc 100644
--- a/Source/WebCore/rendering/style/WrapShapes.cpp
+++ b/Source/WebCore/dom/DOMNamedFlowCollection.h
@@ -26,30 +26,36 @@
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
+#ifndef DOMNamedFlowCollection_h
+#define DOMNamedFlowCollection_h
-#include "config.h"
-
-#include "WrapShapes.h"
+#include "NamedFlowCollection.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
namespace WebCore {
-void WrapShape::destroy()
-{
- switch (m_type) {
- case WRAP_SHAPE_RECTANGLE:
- delete static_cast<WrapShapeRectangle*>(this);
- return;
- case WRAP_SHAPE_CIRCLE:
- delete static_cast<WrapShapeCircle*>(this);
- return;
- case WRAP_SHAPE_ELLIPSE:
- delete static_cast<WrapShapeEllipse*>(this);
- return;
- case WRAP_SHAPE_POLYGON:
- delete static_cast<WrapShapePolygon*>(this);
- return;
+class Document;
+class WebKitNamedFlow;
+
+class DOMNamedFlowCollection : public RefCounted<DOMNamedFlowCollection> {
+public:
+ static PassRefPtr<DOMNamedFlowCollection> create(NamedFlowCollection::NamedFlowSet& set)
+ {
+ return adoptRef(new DOMNamedFlowCollection(set));
}
- ASSERT_NOT_REACHED();
-}
-}
+ unsigned long length() const;
+ PassRefPtr<WebKitNamedFlow> item(unsigned long index) const;
+ PassRefPtr<WebKitNamedFlow> namedItem(const AtomicString& name) const;
+
+ bool hasNamedItem(const AtomicString& name) const;
+
+private:
+ explicit DOMNamedFlowCollection(NamedFlowCollection::NamedFlowSet&);
+ NamedFlowCollection::NamedFlowSet m_namedFlows;
+};
+
+} // namespace WebCore
+#endif
+
diff --git a/Source/WebCore/rendering/RenderFlowThreadContainer.cpp b/Source/WebCore/dom/DOMNamedFlowCollection.idl
index 680ac4ec0..3e9f3a18c 100644
--- a/Source/WebCore/rendering/RenderFlowThreadContainer.cpp
+++ b/Source/WebCore/dom/DOMNamedFlowCollection.idl
@@ -27,21 +27,17 @@
* SUCH DAMAGE.
*/
-#include "config.h"
-
-#include "RenderFlowThreadContainer.h"
-
-namespace WebCore {
-
-RenderFlowThreadContainer::RenderFlowThreadContainer(Node* node)
-: RenderFlowThread(node)
-{
-}
-
-void RenderFlowThreadContainer::layout()
-{
- ASSERT(needsLayout());
- setNeedsLayout(false);
+module core {
+ interface [
+ Conditional=CSS_REGIONS,
+ InterfaceName=WebKitNamedFlowCollection,
+ JSGenerateToJSObject,
+ IndexedGetter,
+ NamedGetter
+ ] DOMNamedFlowCollection {
+ readonly attribute unsigned long length;
+ WebKitNamedFlow item(in unsigned long index);
+ WebKitNamedFlow namedItem(in DOMString name);
+ };
}
-} // namespace WebCore
diff --git a/Source/WebCore/dom/DOMStringList.h b/Source/WebCore/dom/DOMStringList.h
index 464fa22db..d365799bc 100644
--- a/Source/WebCore/dom/DOMStringList.h
+++ b/Source/WebCore/dom/DOMStringList.h
@@ -26,10 +26,10 @@
#ifndef DOMStringList_h
#define DOMStringList_h
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/DOMStringMap.h b/Source/WebCore/dom/DOMStringMap.h
index 772a700f0..2b29f22c4 100644
--- a/Source/WebCore/dom/DOMStringMap.h
+++ b/Source/WebCore/dom/DOMStringMap.h
@@ -26,9 +26,9 @@
#ifndef DOMStringMap_h
#define DOMStringMap_h
-#include "PlatformString.h"
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/Document.cpp b/Source/WebCore/dom/Document.cpp
index b495e22f7..9780f246d 100644
--- a/Source/WebCore/dom/Document.cpp
+++ b/Source/WebCore/dom/Document.cpp
@@ -47,6 +47,7 @@
#include "ContextFeatures.h"
#include "CookieJar.h"
#include "DOMImplementation.h"
+#include "DOMNamedFlowCollection.h"
#include "DOMSelection.h"
#include "DOMWindow.h"
#include "DateComponents.h"
@@ -107,9 +108,9 @@
#include "Logging.h"
#include "MediaQueryList.h"
#include "MediaQueryMatcher.h"
-#include "MemoryInstrumentation.h"
#include "MouseEventWithHitTestResults.h"
#include "NameNodeList.h"
+#include "NamedFlowCollection.h"
#include "NestingLevelIncrementer.h"
#include "NewXMLDocumentParser.h"
#include "NodeFilter.h"
@@ -154,8 +155,8 @@
#include "TreeWalker.h"
#include "UndoManager.h"
#include "UserContentURLPattern.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WebKitNamedFlow.h"
-#include "WebKitNamedFlowCollection.h"
#include "XMLDocumentParser.h"
#include "XMLHttpRequest.h"
#include "XMLNSNames.h"
@@ -1157,12 +1158,23 @@ PassRefPtr<WebKitNamedFlow> Document::webkitGetFlowByName(const String& flowName
return namedFlows()->flowByName(flowName);
}
+
+PassRefPtr<DOMNamedFlowCollection> Document::webkitGetNamedFlows()
+{
+ if (!cssRegionsEnabled() || !renderer())
+ return 0;
+
+ updateStyleIfNeeded();
+
+ return namedFlows()->createCSSOMSnapshot();
+}
+
#endif
-WebKitNamedFlowCollection* Document::namedFlows()
+NamedFlowCollection* Document::namedFlows()
{
if (!m_namedFlows)
- m_namedFlows = WebKitNamedFlowCollection::create(this);
+ m_namedFlows = NamedFlowCollection::create(this);
return m_namedFlows.get();
}
@@ -1184,9 +1196,9 @@ PassRefPtr<Element> Document::createElementNS(const String& namespaceURI, const
String Document::readyState() const
{
- DEFINE_STATIC_LOCAL(const String, loading, ("loading"));
- DEFINE_STATIC_LOCAL(const String, interactive, ("interactive"));
- DEFINE_STATIC_LOCAL(const String, complete, ("complete"));
+ DEFINE_STATIC_LOCAL(const String, loading, (ASCIILiteral("loading")));
+ DEFINE_STATIC_LOCAL(const String, interactive, (ASCIILiteral("interactive")));
+ DEFINE_STATIC_LOCAL(const String, complete, (ASCIILiteral("complete")));
switch (m_readyState) {
case Loading:
@@ -1372,7 +1384,7 @@ String Document::suggestedMIMEType() const
// * making it receive a rect as parameter, i.e. nodesFromRect(x, y, w, h);
// * making it receive the expading size of each direction separately,
// i.e. nodesFromRect(x, y, topSize, rightSize, bottomSize, leftSize);
-PassRefPtr<NodeList> Document::nodesFromRect(int centerX, int centerY, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent) const
+PassRefPtr<NodeList> Document::nodesFromRect(int centerX, int centerY, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, HitTestRequest::HitTestRequestType hitType) const
{
// FIXME: Share code between this, elementFromPoint and caretRangeFromPoint.
if (!renderer())
@@ -1387,16 +1399,12 @@ PassRefPtr<NodeList> Document::nodesFromRect(int centerX, int centerY, unsigned
float zoomFactor = frame->pageZoomFactor();
LayoutPoint point = roundedLayoutPoint(FloatPoint(centerX * zoomFactor + view()->scrollX(), centerY * zoomFactor + view()->scrollY()));
- int type = HitTestRequest::ReadOnly | HitTestRequest::Active;
+ HitTestRequest request(hitType);
// When ignoreClipping is false, this method returns null for coordinates outside of the viewport.
- if (ignoreClipping)
- type |= HitTestRequest::IgnoreClipping;
- else if (!frameView->visibleContentRect().intersects(HitTestResult::rectForPoint(point, topPadding, rightPadding, bottomPadding, leftPadding)))
+ if (!request.ignoreClipping() && !frameView->visibleContentRect().intersects(HitTestResult::rectForPoint(point, topPadding, rightPadding, bottomPadding, leftPadding)))
return 0;
- HitTestRequest request(type);
-
// Passing a zero padding will trigger a rect hit test, however for the purposes of nodesFromRect,
// we special handle this case in order to return a valid NodeList.
if (!topPadding && !rightPadding && !bottomPadding && !leftPadding) {
@@ -1404,8 +1412,7 @@ PassRefPtr<NodeList> Document::nodesFromRect(int centerX, int centerY, unsigned
return handleZeroPadding(request, result);
}
- enum ShadowContentFilterPolicy shadowContentFilterPolicy = allowShadowContent ? AllowShadowContent : DoNotAllowShadowContent;
- HitTestResult result(point, topPadding, rightPadding, bottomPadding, leftPadding, shadowContentFilterPolicy);
+ HitTestResult result(point, topPadding, rightPadding, bottomPadding, leftPadding);
renderView()->hitTest(request, result);
return StaticHashSetNodeList::adopt(result.rectBasedTestResult());
@@ -1786,10 +1793,9 @@ bool Document::childNeedsAndNotInStyleRecalc()
void Document::recalcStyle(StyleChange change)
{
// we should not enter style recalc while painting
- if (view() && view()->isPainting()) {
- ASSERT(!view()->isPainting());
+ ASSERT(!view() || !view()->isPainting());
+ if (view() && view()->isPainting())
return;
- }
if (m_inStyleRecalc)
return; // Guard against re-entrancy. -dwh
@@ -3051,7 +3057,7 @@ void Document::processHttpEquiv(const String& equiv, const String& content)
frameLoader->stopAllLoaders();
frame->navigationScheduler()->scheduleLocationChange(securityOrigin(), blankURL(), String());
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to display document because display forbidden by X-Frame-Options.\n"));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to display document because display forbidden by X-Frame-Options.\n")));
addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
}
}
@@ -3285,7 +3291,7 @@ bool Document::canReplaceChild(Node* newChild, Node* oldChild)
return true;
}
-PassRefPtr<Node> Document::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> Document::cloneNode(bool /*deep*/)
{
// Spec says cloning Document nodes is "implementation dependent"
// so we do not support it...
@@ -4874,6 +4880,10 @@ void Document::finishedParsing()
InspectorInstrumentation::domContentLoadedEventFired(f.get());
}
+
+ // The ElementAttributeData sharing cache is only used during parsing since
+ // that's when the majority of immutable attribute data will be created.
+ m_immutableAttributeDataCache.clear();
}
PassRefPtr<XPathExpression> Document::createExpression(const String& expression,
@@ -5025,8 +5035,7 @@ void Document::initSecurityContext()
securityOrigin()->enforceFilePathSeparation();
}
}
- if (settings->thirdPartyStorageBlockingEnabled())
- securityOrigin()->blockThirdPartyStorage();
+ securityOrigin()->setStorageBlockingPolicy(settings->storageBlockingPolicy());
}
Document* parentDocument = ownerElement() ? ownerElement()->document() : 0;
@@ -5854,7 +5863,7 @@ void Document::webkitExitPointerLock()
Element* Document::webkitPointerLockElement() const
{
- if (!page())
+ if (!page() || page()->pointerLockController()->lockPending())
return 0;
if (Element* element = page()->pointerLockController()->element()) {
if (element->document() == this)
@@ -6105,7 +6114,7 @@ void Document::setContextFeatures(PassRefPtr<ContextFeatures> features)
void Document::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_styleResolver);
ContainerNode::reportMemoryUsage(memoryObjectInfo);
info.addVector(m_customFonts);
@@ -6160,4 +6169,73 @@ PassRefPtr<UndoManager> Document::undoManager()
}
#endif
+class ImmutableAttributeDataCacheKey {
+public:
+ ImmutableAttributeDataCacheKey()
+ : m_localName(0)
+ , m_attributes(0)
+ , m_attributeCount(0)
+ { }
+
+ ImmutableAttributeDataCacheKey(const AtomicString& localName, const Attribute* attributes, unsigned attributeCount)
+ : m_localName(localName.impl())
+ , m_attributes(attributes)
+ , m_attributeCount(attributeCount)
+ { }
+
+ bool operator!=(const ImmutableAttributeDataCacheKey& other) const
+ {
+ if (m_localName != other.m_localName)
+ return true;
+ if (m_attributeCount != other.m_attributeCount)
+ return true;
+ return memcmp(m_attributes, other.m_attributes, sizeof(Attribute) * m_attributeCount);
+ }
+
+ unsigned hash() const
+ {
+ unsigned attributeHash = StringHasher::hashMemory(m_attributes, m_attributeCount * sizeof(Attribute));
+ return WTF::intHash((static_cast<uint64_t>(m_localName->existingHash()) << 32 | attributeHash));
+ }
+
+private:
+ AtomicStringImpl* m_localName;
+ const Attribute* m_attributes;
+ unsigned m_attributeCount;
+};
+
+struct ImmutableAttributeDataCacheEntry {
+ ImmutableAttributeDataCacheKey key;
+ RefPtr<ElementAttributeData> value;
+};
+
+PassRefPtr<ElementAttributeData> Document::cachedImmutableAttributeData(const Element* element, const Vector<Attribute>& attributes)
+{
+ ASSERT(!attributes.isEmpty());
+
+ ImmutableAttributeDataCacheKey cacheKey(element->localName(), attributes.data(), attributes.size());
+ unsigned cacheHash = cacheKey.hash();
+
+ ImmutableAttributeDataCache::iterator cacheIterator = m_immutableAttributeDataCache.add(cacheHash, nullptr).iterator;
+ if (cacheIterator->second && cacheIterator->second->key != cacheKey)
+ cacheHash = 0;
+
+ RefPtr<ElementAttributeData> attributeData;
+ if (cacheHash && cacheIterator->second)
+ attributeData = cacheIterator->second->value;
+ else
+ attributeData = ElementAttributeData::createImmutable(attributes);
+
+ if (!cacheHash || cacheIterator->second)
+ return attributeData.release();
+
+ OwnPtr<ImmutableAttributeDataCacheEntry> newEntry = adoptPtr(new ImmutableAttributeDataCacheEntry);
+ newEntry->key = ImmutableAttributeDataCacheKey(element->localName(), const_cast<const ElementAttributeData*>(attributeData.get())->attributeItem(0), attributeData->length());
+ newEntry->value = attributeData;
+
+ cacheIterator->second = newEntry.release();
+
+ return attributeData.release();
+}
+
} // namespace WebCore
diff --git a/Source/WebCore/dom/Document.h b/Source/WebCore/dom/Document.h
index a0419aa39..dafe04be3 100644
--- a/Source/WebCore/dom/Document.h
+++ b/Source/WebCore/dom/Document.h
@@ -34,6 +34,7 @@
#include "DOMTimeStamp.h"
#include "DocumentEventQueue.h"
#include "DocumentTiming.h"
+#include "HitTestRequest.h"
#include "IconURL.h"
#include "InspectorCounters.h"
#include "IntRect.h"
@@ -69,6 +70,7 @@ class CharacterData;
class Comment;
class ContextFeatures;
class DOMImplementation;
+class DOMNamedFlowCollection;
class DOMSelection;
class DOMWindow;
class Database;
@@ -82,6 +84,7 @@ class DocumentWeakReference;
class DynamicNodeListCacheBase;
class EditingText;
class Element;
+class ElementAttributeData;
class EntityReference;
class Event;
class EventListener;
@@ -110,6 +113,7 @@ class MediaCanStartListener;
class MediaQueryList;
class MediaQueryMatcher;
class MouseEventWithHitTestResults;
+class NamedFlowCollection;
class NodeFilter;
class NodeIterator;
class NodeRareData;
@@ -138,7 +142,6 @@ class TextResourceDecoder;
class TreeWalker;
class UndoManager;
class WebKitNamedFlow;
-class WebKitNamedFlowCollection;
class XMLHttpRequest;
class XPathEvaluator;
class XPathExpression;
@@ -205,6 +208,9 @@ enum NodeListInvalidationType {
};
const int numNodeListInvalidationTypes = InvalidateOnAnyAttrChange + 1;
+struct ImmutableAttributeDataCacheEntry;
+typedef HashMap<unsigned, OwnPtr<ImmutableAttributeDataCacheEntry>, AlreadyHashed> ImmutableAttributeDataCache;
+
class Document : public ContainerNode, public TreeScope, public ScriptExecutionContext {
public:
static PassRefPtr<Document> create(Frame* frame, const KURL& url)
@@ -352,9 +358,10 @@ public:
bool cssRegionsEnabled() const;
#if ENABLE(CSS_REGIONS)
PassRefPtr<WebKitNamedFlow> webkitGetFlowByName(const String&);
+ PassRefPtr<DOMNamedFlowCollection> webkitGetNamedFlows();
#endif
- WebKitNamedFlowCollection* namedFlows();
+ NamedFlowCollection* namedFlows();
bool regionBasedColumnsEnabled() const;
@@ -370,11 +377,10 @@ public:
* @param rightPadding How much to expand the right of the rectangle
* @param bottomPadding How much to expand the bottom of the rectangle
* @param leftPadding How much to expand the left of the rectangle
- * @param ignoreClipping whether or not to ignore the root scroll frame when retrieving the element.
- * If false, this method returns null for coordinates outside of the viewport.
*/
- PassRefPtr<NodeList> nodesFromRect(int centerX, int centerY, unsigned topPadding, unsigned rightPadding,
- unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent) const;
+ PassRefPtr<NodeList> nodesFromRect(int centerX, int centerY,
+ unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding,
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active) const;
Element* elementFromPoint(int x, int y) const;
PassRefPtr<Range> caretRangeFromPoint(int x, int y);
@@ -1181,6 +1187,8 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+ PassRefPtr<ElementAttributeData> cachedImmutableAttributeData(const Element*, const Vector<Attribute>&);
+
protected:
Document(Frame*, const KURL&, bool isXHTML, bool isHTML);
@@ -1206,7 +1214,7 @@ private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
virtual bool childTypeAllowed(NodeType) const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool canReplaceChild(Node* newChild, Node* oldChild);
virtual void refScriptExecutionContext() { ref(); }
@@ -1560,12 +1568,14 @@ private:
bool m_visualUpdatesAllowed;
Timer<Document> m_visualUpdatesSuppressionTimer;
- RefPtr<WebKitNamedFlowCollection> m_namedFlows;
+ RefPtr<NamedFlowCollection> m_namedFlows;
#if ENABLE(CSP_NEXT)
RefPtr<DOMSecurityPolicy> m_domSecurityPolicy;
#endif
+ ImmutableAttributeDataCache m_immutableAttributeDataCache;
+
#ifndef NDEBUG
bool m_didDispatchViewportPropertiesChanged;
#endif
diff --git a/Source/WebCore/dom/Document.idl b/Source/WebCore/dom/Document.idl
index b83f40c99..bba432204 100644
--- a/Source/WebCore/dom/Document.idl
+++ b/Source/WebCore/dom/Document.idl
@@ -268,9 +268,8 @@ module core {
[Conditional=POINTER_LOCK, V8EnabledAtRuntime=pointerLock] void webkitExitPointerLock();
readonly attribute [Conditional=POINTER_LOCK, V8EnabledAtRuntime=pointerLock] Element webkitPointerLockElement;
-#if defined(ENABLE_CSS_REGIONS) && ENABLE_CSS_REGIONS
- WebKitNamedFlow webkitGetFlowByName(in DOMString name);
-#endif
+ [Conditional=CSS_REGIONS] WebKitNamedFlow webkitGetFlowByName(in DOMString name);
+ [Conditional=CSS_REGIONS] DOMNamedFlowCollection webkitGetNamedFlows();
#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
// Event handler DOM attributes
diff --git a/Source/WebCore/dom/DocumentEventQueue.cpp b/Source/WebCore/dom/DocumentEventQueue.cpp
index f9a717e40..6396f0124 100644
--- a/Source/WebCore/dom/DocumentEventQueue.cpp
+++ b/Source/WebCore/dom/DocumentEventQueue.cpp
@@ -31,10 +31,10 @@
#include "Document.h"
#include "Event.h"
#include "EventNames.h"
-#include "MemoryInstrumentation.h"
#include "RuntimeApplicationChecks.h"
#include "ScriptExecutionContext.h"
#include "SuspendableTimer.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -110,7 +110,7 @@ void DocumentEventQueue::enqueueOrDispatchScrollEvent(PassRefPtr<Node> target, S
void DocumentEventQueue::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_pendingEventTimer);
info.addInstrumentedHashSet(m_queuedEvents);
info.addInstrumentedHashSet(m_nodesWithQueuedScrollEvents);
diff --git a/Source/WebCore/dom/DocumentFragment.cpp b/Source/WebCore/dom/DocumentFragment.cpp
index 77ebc2bdf..f7cfadfcc 100644
--- a/Source/WebCore/dom/DocumentFragment.cpp
+++ b/Source/WebCore/dom/DocumentFragment.cpp
@@ -68,7 +68,7 @@ bool DocumentFragment::childTypeAllowed(NodeType type) const
}
}
-PassRefPtr<Node> DocumentFragment::cloneNode(bool deep, ExceptionCode&)
+PassRefPtr<Node> DocumentFragment::cloneNode(bool deep)
{
RefPtr<DocumentFragment> clone = create(document());
if (deep)
diff --git a/Source/WebCore/dom/DocumentFragment.h b/Source/WebCore/dom/DocumentFragment.h
index cefe1388b..3af5f1b28 100644
--- a/Source/WebCore/dom/DocumentFragment.h
+++ b/Source/WebCore/dom/DocumentFragment.h
@@ -44,7 +44,7 @@ protected:
private:
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool childTypeAllowed(NodeType) const;
};
diff --git a/Source/WebCore/dom/DocumentMarker.h b/Source/WebCore/dom/DocumentMarker.h
index c1e738d43..3faa19039 100644
--- a/Source/WebCore/dom/DocumentMarker.h
+++ b/Source/WebCore/dom/DocumentMarker.h
@@ -23,11 +23,10 @@
#ifndef DocumentMarker_h
#define DocumentMarker_h
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
-
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/DocumentMarkerController.h b/Source/WebCore/dom/DocumentMarkerController.h
index 8dd2b04ff..d9ad012b8 100644
--- a/Source/WebCore/dom/DocumentMarkerController.h
+++ b/Source/WebCore/dom/DocumentMarkerController.h
@@ -28,6 +28,7 @@
#define DocumentMarkerController_h
#include "DocumentMarker.h"
+#include "IntRect.h"
#include "LayoutTypes.h"
#include <wtf/HashMap.h>
#include <wtf/Vector.h>
diff --git a/Source/WebCore/dom/DocumentType.cpp b/Source/WebCore/dom/DocumentType.cpp
index 29b5c7d44..cd1d48534 100644
--- a/Source/WebCore/dom/DocumentType.cpp
+++ b/Source/WebCore/dom/DocumentType.cpp
@@ -51,7 +51,7 @@ Node::NodeType DocumentType::nodeType() const
return DOCUMENT_TYPE_NODE;
}
-PassRefPtr<Node> DocumentType::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> DocumentType::cloneNode(bool /*deep*/)
{
return create(document(), m_name, m_publicId, m_systemId);
}
diff --git a/Source/WebCore/dom/DocumentType.h b/Source/WebCore/dom/DocumentType.h
index 65416164c..6c6412459 100644
--- a/Source/WebCore/dom/DocumentType.h
+++ b/Source/WebCore/dom/DocumentType.h
@@ -52,7 +52,7 @@ private:
virtual KURL baseURI() const;
virtual String nodeName() const;
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
virtual void removedFrom(ContainerNode*) OVERRIDE;
diff --git a/Source/WebCore/dom/Element.cpp b/Source/WebCore/dom/Element.cpp
index 04bc20b0b..5372c2228 100644
--- a/Source/WebCore/dom/Element.cpp
+++ b/Source/WebCore/dom/Element.cpp
@@ -170,7 +170,7 @@ DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(Element, error);
DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(Element, focus);
DEFINE_VIRTUAL_ATTRIBUTE_EVENT_LISTENER(Element, load);
-PassRefPtr<Node> Element::cloneNode(bool deep, ExceptionCode&)
+PassRefPtr<Node> Element::cloneNode(bool deep)
{
return deep ? cloneElementWithChildren() : cloneElementWithoutChildren();
}
@@ -283,7 +283,7 @@ void Element::scrollIntoView(bool alignToTop)
if (!renderer())
return;
- LayoutRect bounds = getRect();
+ LayoutRect bounds = boundingBox();
// Align to the top / bottom and to the closest edge.
if (alignToTop)
renderer()->scrollRectToVisible(bounds, ScrollAlignment::alignToEdgeIfNeeded, ScrollAlignment::alignTopAlways);
@@ -298,7 +298,7 @@ void Element::scrollIntoViewIfNeeded(bool centerIfNeeded)
if (!renderer())
return;
- LayoutRect bounds = getRect();
+ LayoutRect bounds = boundingBox();
if (centerIfNeeded)
renderer()->scrollRectToVisible(bounds, ScrollAlignment::alignCenterIfNeeded, ScrollAlignment::alignCenterIfNeeded);
else
@@ -532,7 +532,7 @@ IntRect Element::boundsInRootViewSpace()
// Get the bounding rectangle from the SVG model.
SVGElement* svgElement = static_cast<SVGElement*>(this);
FloatRect localRect;
- if (svgElement->boundingBox(localRect))
+ if (svgElement->getBoundingBox(localRect))
quads.append(renderer()->localToAbsoluteQuad(localRect));
} else
#endif
@@ -580,7 +580,7 @@ PassRefPtr<ClientRect> Element::getBoundingClientRect()
// Get the bounding rectangle from the SVG model.
SVGElement* svgElement = static_cast<SVGElement*>(this);
FloatRect localRect;
- if (svgElement->boundingBox(localRect))
+ if (svgElement->getBoundingBox(localRect))
quads.append(renderer()->localToAbsoluteQuad(localRect));
} else
#endif
@@ -823,7 +823,15 @@ void Element::parserSetAttributes(const Vector<Attribute>& attributeVector, Frag
}
}
- m_attributeData = ElementAttributeData::createImmutable(filteredAttributes);
+ // When the document is in parsing state, we cache immutable ElementAttributeData objects with the
+ // input attribute vector as key. (This cache is held by Document.)
+ if (!document() || !document()->parsing())
+ m_attributeData = ElementAttributeData::createImmutable(filteredAttributes);
+ else if (!isHTMLElement()) {
+ // FIXME: Support attribute data sharing for non-HTML elements.
+ m_attributeData = ElementAttributeData::createImmutable(filteredAttributes);
+ } else
+ m_attributeData = document()->cachedImmutableAttributeData(this, filteredAttributes);
// Iterate over the set of attributes we already have on the stack in case
// attributeChanged mutates m_attributeData.
@@ -1389,31 +1397,28 @@ void Element::finishParsingChildren()
#ifndef NDEBUG
void Element::formatForDebugger(char* buffer, unsigned length) const
{
- String result;
+ StringBuilder result;
String s;
-
- s = nodeName();
- if (s.length() > 0) {
- result += s;
- }
-
+
+ result.append(nodeName());
+
s = getIdAttribute();
if (s.length() > 0) {
if (result.length() > 0)
- result += "; ";
- result += "id=";
- result += s;
+ result.appendLiteral("; ");
+ result.appendLiteral("id=");
+ result.append(s);
}
-
+
s = getAttribute(classAttr);
if (s.length() > 0) {
if (result.length() > 0)
- result += "; ";
- result += "class=";
- result += s;
+ result.appendLiteral("; ");
+ result.appendLiteral("class=");
+ result.append(s);
}
-
- strncpy(buffer, result.utf8().data(), length - 1);
+
+ strncpy(buffer, result.toString().utf8().data(), length - 1);
}
#endif
@@ -1439,20 +1444,14 @@ PassRefPtr<Attr> Element::setAttributeNode(Attr* attr, ExceptionCode& ec)
ElementAttributeData* attributeData = mutableAttributeData();
size_t index = attributeData->getAttributeItemIndex(attr->qualifiedName());
- Attribute* oldAttribute = index != notFound ? attributeData->attributeItem(index) : 0;
-
- if (!oldAttribute) {
- attributeData->addAttribute(Attribute(attr->qualifiedName(), attr->value()), this);
- attributeData->setAttr(this, attr->qualifiedName(), attr);
- return 0;
+ if (index != notFound) {
+ if (oldAttr)
+ oldAttr->detachFromElementWithValue(attributeData->attributeItem(index)->value());
+ else
+ oldAttr = Attr::create(document(), attr->qualifiedName(), attributeData->attributeItem(index)->value());
}
- if (oldAttr)
- oldAttr->detachFromElementWithValue(oldAttribute->value());
- else
- oldAttr = Attr::create(document(), oldAttribute->name(), oldAttribute->value());
-
- attributeData->replaceAttribute(index, Attribute(attr->name(), attr->value()), this);
+ setAttributeInternal(index, attr->qualifiedName(), attr->value(), NotInSynchronizationOfLazyAttribute);
attributeData->setAttr(this, attr->qualifiedName(), attr);
return oldAttr.release();
}
@@ -1640,7 +1639,7 @@ void Element::updateFocusAppearance(bool /*restorePreviousSelection*/)
frame->selection()->revealSelection();
}
} else if (renderer() && !renderer()->isWidget())
- renderer()->scrollRectToVisible(getRect());
+ renderer()->scrollRectToVisible(boundingBox());
}
void Element::blur()
diff --git a/Source/WebCore/dom/Element.h b/Source/WebCore/dom/Element.h
index f79227e9e..ce505463c 100644
--- a/Source/WebCore/dom/Element.h
+++ b/Source/WebCore/dom/Element.h
@@ -275,6 +275,7 @@ public:
ElementShadow* shadow() const;
ElementShadow* ensureShadow();
virtual void willAddAuthorShadowRoot() { }
+ virtual bool areAuthorShadowsAllowed() const { return true; }
ShadowRoot* userAgentShadowRoot() const;
@@ -303,7 +304,7 @@ public:
virtual void focus(bool restorePreviousSelection = true);
virtual void updateFocusAppearance(bool restorePreviousSelection);
- void blur();
+ virtual void blur();
String innerText();
String outerText();
@@ -436,7 +437,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
ContainerNode::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_tagName);
info.addInstrumentedMember(m_attributeData);
@@ -500,7 +501,7 @@ private:
// cloneNode is private so that non-virtual cloneElementWithChildren and cloneElementWithoutChildren
// are used instead.
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual PassRefPtr<Element> cloneElementWithoutAttributesAndChildren();
QualifiedName m_tagName;
@@ -519,7 +520,7 @@ private:
ElementRareData* elementRareData() const;
ElementRareData* ensureElementRareData();
- OwnPtr<ElementAttributeData> m_attributeData;
+ RefPtr<ElementAttributeData> m_attributeData;
};
inline Element* toElement(Node* node)
diff --git a/Source/WebCore/dom/ElementAttributeData.cpp b/Source/WebCore/dom/ElementAttributeData.cpp
index 471e519e0..1db20f954 100644
--- a/Source/WebCore/dom/ElementAttributeData.cpp
+++ b/Source/WebCore/dom/ElementAttributeData.cpp
@@ -29,8 +29,8 @@
#include "Attr.h"
#include "CSSParser.h"
#include "CSSStyleSheet.h"
-#include "MemoryInstrumentation.h"
#include "StyledElement.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -39,10 +39,10 @@ static size_t immutableElementAttributeDataSize(unsigned count)
return sizeof(ElementAttributeData) - sizeof(void*) + sizeof(Attribute) * count;
}
-PassOwnPtr<ElementAttributeData> ElementAttributeData::createImmutable(const Vector<Attribute>& attributes)
+PassRefPtr<ElementAttributeData> ElementAttributeData::createImmutable(const Vector<Attribute>& attributes)
{
void* slot = WTF::fastMalloc(immutableElementAttributeDataSize(attributes.size()));
- return adoptPtr(new (slot) ElementAttributeData(attributes));
+ return adoptRef(new (slot) ElementAttributeData(attributes));
}
ElementAttributeData::ElementAttributeData()
@@ -62,17 +62,21 @@ ElementAttributeData::ElementAttributeData(const Vector<Attribute>& attributes)
}
ElementAttributeData::ElementAttributeData(const ElementAttributeData& other)
- : m_inlineStyleDecl(other.m_inlineStyleDecl)
+ : RefCounted<ElementAttributeData>()
+ , m_isMutable(true)
+ , m_arraySize(0)
+ , m_inlineStyleDecl(other.m_inlineStyleDecl)
, m_attributeStyle(other.m_attributeStyle)
, m_classNames(other.m_classNames)
, m_idForStyleResolution(other.m_idForStyleResolution)
- , m_isMutable(true)
- , m_arraySize(0)
, m_mutableAttributeVector(new Vector<Attribute, 4>)
{
// This copy constructor should only be used by makeMutable() to go from immutable to mutable.
ASSERT(!other.m_isMutable);
+ // An immutable ElementAttributeData should never have a mutable inline StylePropertySet attached.
+ ASSERT(!other.m_inlineStyleDecl || !other.m_inlineStyleDecl->isMutable());
+
const Attribute* otherBuffer = reinterpret_cast<const Attribute*>(&other.m_attributes);
for (unsigned i = 0; i < other.m_arraySize; ++i)
m_mutableAttributeVector->append(otherBuffer[i]);
@@ -294,7 +298,7 @@ void ElementAttributeData::detachAttrObjectsFromElement(Element* element) const
void ElementAttributeData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
size_t actualSize = m_isMutable ? sizeof(ElementAttributeData) : immutableElementAttributeDataSize(m_arraySize);
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM, actualSize);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM, actualSize);
info.addInstrumentedMember(m_inlineStyleDecl);
info.addInstrumentedMember(m_attributeStyle);
info.addMember(m_classNames);
@@ -363,9 +367,7 @@ void ElementAttributeData::cloneDataFrom(const ElementAttributeData& sourceData,
}
if (targetElement.isStyledElement() && sourceData.m_inlineStyleDecl) {
- StylePropertySet* inlineStyle = ensureMutableInlineStyle(static_cast<StyledElement*>(&targetElement));
- inlineStyle->copyPropertiesFrom(*sourceData.m_inlineStyleDecl);
- inlineStyle->setCSSParserMode(sourceData.m_inlineStyleDecl->cssParserMode());
+ m_inlineStyleDecl = sourceData.m_inlineStyleDecl->immutableCopyIfNeeded();
targetElement.setIsStyleAttributeValid(sourceElement.isStyleAttributeValid());
}
}
@@ -381,17 +383,6 @@ void ElementAttributeData::clearAttributes(Element* element)
m_mutableAttributeVector->clear();
}
-void ElementAttributeData::replaceAttribute(size_t index, const Attribute& attribute, Element* element)
-{
- ASSERT(isMutable());
- ASSERT(element);
- ASSERT(index < length());
-
- element->willModifyAttribute(attribute.name(), m_mutableAttributeVector->at(index).value(), attribute.value());
- (*m_mutableAttributeVector)[index] = attribute;
- element->didModifyAttribute(attribute);
-}
-
PassRefPtr<Attr> ElementAttributeData::getAttributeNode(const String& name, bool shouldIgnoreAttributeCase, Element* element) const
{
ASSERT(element);
diff --git a/Source/WebCore/dom/ElementAttributeData.h b/Source/WebCore/dom/ElementAttributeData.h
index b96b95b54..72125f6fe 100644
--- a/Source/WebCore/dom/ElementAttributeData.h
+++ b/Source/WebCore/dom/ElementAttributeData.h
@@ -39,11 +39,11 @@ class MemoryObjectInfo;
enum SynchronizationOfLazyAttribute { NotInSynchronizationOfLazyAttribute, InSynchronizationOfLazyAttribute };
-class ElementAttributeData {
+class ElementAttributeData : public RefCounted<ElementAttributeData> {
WTF_MAKE_FAST_ALLOCATED;
public:
- static PassOwnPtr<ElementAttributeData> create() { return adoptPtr(new ElementAttributeData); }
- static PassOwnPtr<ElementAttributeData> createImmutable(const Vector<Attribute>&);
+ static PassRefPtr<ElementAttributeData> create() { return adoptRef(new ElementAttributeData); }
+ static PassRefPtr<ElementAttributeData> createImmutable(const Vector<Attribute>&);
~ElementAttributeData();
void clearClass() { m_classNames.clear(); }
@@ -108,19 +108,18 @@ private:
size_t getAttributeItemIndexSlowCase(const AtomicString& name, bool shouldIgnoreAttributeCase) const;
void cloneDataFrom(const ElementAttributeData& sourceData, const Element& sourceElement, Element& targetElement);
void clearAttributes(Element*);
- void replaceAttribute(size_t index, const Attribute&, Element*);
bool isMutable() const { return m_isMutable; }
- PassOwnPtr<ElementAttributeData> makeMutable() const { return adoptPtr(new ElementAttributeData(*this)); }
+ PassRefPtr<ElementAttributeData> makeMutable() const { return adoptRef(new ElementAttributeData(*this)); }
+
+ unsigned m_isMutable : 1;
+ unsigned m_arraySize : 31;
mutable RefPtr<StylePropertySet> m_inlineStyleDecl;
mutable RefPtr<StylePropertySet> m_attributeStyle;
mutable SpaceSplitString m_classNames;
mutable AtomicString m_idForStyleResolution;
- unsigned m_isMutable : 1;
- unsigned m_arraySize : 31;
-
union {
Vector<Attribute, 4>* m_mutableAttributeVector;
void* m_attributes;
diff --git a/Source/WebCore/dom/ElementShadow.cpp b/Source/WebCore/dom/ElementShadow.cpp
index 017be4b58..aeb5b5b47 100644
--- a/Source/WebCore/dom/ElementShadow.cpp
+++ b/Source/WebCore/dom/ElementShadow.cpp
@@ -83,8 +83,11 @@ void ElementShadow::addShadowRoot(Element* shadowHost, PassRefPtr<ShadowRoot> sh
invalidateDistribution(shadowHost);
ChildNodeInsertionNotifier(shadowHost).notify(shadowRoot.get());
- if (shadowHost->attached() && !shadowRoot->attached())
- shadowRoot->attach();
+ // FIXME(94905): ShadowHost should be reattached during recalcStyle.
+ // Set some flag here and recreate shadow hosts' renderer in
+ // Element::recalcStyle.
+ if (shadowHost->attached())
+ shadowHost->lazyReattach();
InspectorInstrumentation::didPushShadowRoot(shadowHost, shadowRoot.get());
}
@@ -205,8 +208,9 @@ void ElementShadow::invalidateDistribution(Element* host)
bool needsReattach = needsInvalidation ? m_distributor.invalidate(host) : false;
if (needsReattach && host->attached()) {
- host->detach();
- host->lazyAttach();
+ for (Node* n = host->firstChild(); n; n = n->nextSibling())
+ n->lazyReattach();
+ host->setNeedsStyleRecalc();
}
if (needsInvalidation)
diff --git a/Source/WebCore/dom/ElementShadow.h b/Source/WebCore/dom/ElementShadow.h
index f58616efb..9d839a4f1 100644
--- a/Source/WebCore/dom/ElementShadow.h
+++ b/Source/WebCore/dom/ElementShadow.h
@@ -28,7 +28,6 @@
#define ElementShadow_h
#include "ContentDistributor.h"
-#include "Element.h"
#include "ExceptionCode.h"
#include "ShadowRoot.h"
#include <wtf/DoublyLinkedList.h>
diff --git a/Source/WebCore/dom/EntityReference.cpp b/Source/WebCore/dom/EntityReference.cpp
index fb9e2478c..72944ec52 100644
--- a/Source/WebCore/dom/EntityReference.cpp
+++ b/Source/WebCore/dom/EntityReference.cpp
@@ -46,7 +46,7 @@ Node::NodeType EntityReference::nodeType() const
return ENTITY_REFERENCE_NODE;
}
-PassRefPtr<Node> EntityReference::cloneNode(bool, ExceptionCode&)
+PassRefPtr<Node> EntityReference::cloneNode(bool)
{
return create(document(), m_entityName);
}
diff --git a/Source/WebCore/dom/EntityReference.h b/Source/WebCore/dom/EntityReference.h
index 49f80161a..7a6f6c36b 100644
--- a/Source/WebCore/dom/EntityReference.h
+++ b/Source/WebCore/dom/EntityReference.h
@@ -35,7 +35,7 @@ private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
String m_entityName;
};
diff --git a/Source/WebCore/dom/ErrorEvent.h b/Source/WebCore/dom/ErrorEvent.h
index 7f9e66356..5dde9492e 100644
--- a/Source/WebCore/dom/ErrorEvent.h
+++ b/Source/WebCore/dom/ErrorEvent.h
@@ -32,7 +32,7 @@
#define ErrorEvent_h
#include "Event.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/Event.cpp b/Source/WebCore/dom/Event.cpp
index f19cbdda7..a0bf439b5 100644
--- a/Source/WebCore/dom/Event.cpp
+++ b/Source/WebCore/dom/Event.cpp
@@ -27,6 +27,7 @@
#include "EventNames.h"
#include "EventTarget.h"
#include "UserGestureIndicator.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/CurrentTime.h>
#include <wtf/text/AtomicString.h>
@@ -157,7 +158,7 @@ void Event::storeResult(const String&)
void Event::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_type);
info.addMember(m_currentTarget);
info.addMember(m_target);
diff --git a/Source/WebCore/dom/Event.h b/Source/WebCore/dom/Event.h
index 5c7d7c753..6fd34a742 100644
--- a/Source/WebCore/dom/Event.h
+++ b/Source/WebCore/dom/Event.h
@@ -24,166 +24,174 @@
#ifndef Event_h
#define Event_h
-#include "Clipboard.h"
#include "DOMTimeStamp.h"
+#include "EventNames.h"
+#include <wtf/HashMap.h>
+#include <wtf/ListHashSet.h>
#include <wtf/RefCounted.h>
#include <wtf/text/AtomicString.h>
namespace WebCore {
- class EventTarget;
- class EventDispatcher;
- class HTMLIFrameElement;
- class MemoryInstrumentation;
+class Clipboard;
+class EventTarget;
+class EventDispatcher;
+class HTMLIFrameElement;
+class MemoryInstrumentation;
+class MemoryObjectInfo;
+
+struct EventInit {
+ EventInit();
+
+ bool bubbles;
+ bool cancelable;
+};
+
+class Event : public RefCounted<Event> {
+public:
+ enum PhaseType {
+ NONE = 0,
+ CAPTURING_PHASE = 1,
+ AT_TARGET = 2,
+ BUBBLING_PHASE = 3
+ };
- struct EventInit {
- EventInit();
-
- bool bubbles;
- bool cancelable;
+ enum EventType {
+ MOUSEDOWN = 1,
+ MOUSEUP = 2,
+ MOUSEOVER = 4,
+ MOUSEOUT = 8,
+ MOUSEMOVE = 16,
+ MOUSEDRAG = 32,
+ CLICK = 64,
+ DBLCLICK = 128,
+ KEYDOWN = 256,
+ KEYUP = 512,
+ KEYPRESS = 1024,
+ DRAGDROP = 2048,
+ FOCUS = 4096,
+ BLUR = 8192,
+ SELECT = 16384,
+ CHANGE = 32768
};
- class Event : public RefCounted<Event> {
- public:
- enum PhaseType {
- NONE = 0,
- CAPTURING_PHASE = 1,
- AT_TARGET = 2,
- BUBBLING_PHASE = 3
- };
-
- enum EventType {
- MOUSEDOWN = 1,
- MOUSEUP = 2,
- MOUSEOVER = 4,
- MOUSEOUT = 8,
- MOUSEMOVE = 16,
- MOUSEDRAG = 32,
- CLICK = 64,
- DBLCLICK = 128,
- KEYDOWN = 256,
- KEYUP = 512,
- KEYPRESS = 1024,
- DRAGDROP = 2048,
- FOCUS = 4096,
- BLUR = 8192,
- SELECT = 16384,
- CHANGE = 32768
- };
-
- static PassRefPtr<Event> create()
- {
- return adoptRef(new Event);
- }
- static PassRefPtr<Event> create(const AtomicString& type, bool canBubble, bool cancelable)
- {
- return adoptRef(new Event(type, canBubble, cancelable));
- }
-
- static PassRefPtr<Event> create(const AtomicString& type, const EventInit& initializer)
- {
- return adoptRef(new Event(type, initializer));
- }
-
- virtual ~Event();
-
- void initEvent(const AtomicString& type, bool canBubble, bool cancelable);
-
- const AtomicString& type() const { return m_type; }
-
- EventTarget* target() const { return m_target.get(); }
- void setTarget(PassRefPtr<EventTarget>);
-
- EventTarget* currentTarget() const { return m_currentTarget; }
- void setCurrentTarget(EventTarget* currentTarget) { m_currentTarget = currentTarget; }
-
- unsigned short eventPhase() const { return m_eventPhase; }
- void setEventPhase(unsigned short eventPhase) { m_eventPhase = eventPhase; }
-
- bool bubbles() const { return m_canBubble; }
- bool cancelable() const { return m_cancelable; }
- DOMTimeStamp timeStamp() const { return m_createTime; }
-
- void stopPropagation() { m_propagationStopped = true; }
- void stopImmediatePropagation() { m_immediatePropagationStopped = true; }
-
- // IE Extensions
- EventTarget* srcElement() const { return target(); } // MSIE extension - "the object that fired the event"
-
- bool returnValue() const { return !defaultPrevented(); }
- void setReturnValue(bool returnValue) { setDefaultPrevented(!returnValue); }
-
- Clipboard* clipboardData() const { return isClipboardEvent() ? clipboard() : 0; }
-
- virtual const AtomicString& interfaceName() const;
- bool hasInterface(const AtomicString&) const;
-
- // These events are general classes of events.
- virtual bool isUIEvent() const;
- virtual bool isMouseEvent() const;
- virtual bool isKeyboardEvent() const;
- virtual bool isTouchEvent() const;
-
- // Drag events are a subset of mouse events.
- virtual bool isDragEvent() const;
-
- // These events lack a DOM interface.
- virtual bool isClipboardEvent() const;
- virtual bool isBeforeTextInsertedEvent() const;
-
- bool propagationStopped() const { return m_propagationStopped || m_immediatePropagationStopped; }
- bool immediatePropagationStopped() const { return m_immediatePropagationStopped; }
-
- bool defaultPrevented() const { return m_defaultPrevented; }
- void preventDefault() { if (m_cancelable) m_defaultPrevented = true; }
- void setDefaultPrevented(bool defaultPrevented) { m_defaultPrevented = defaultPrevented; }
-
- bool defaultHandled() const { return m_defaultHandled; }
- void setDefaultHandled() { m_defaultHandled = true; }
-
- bool cancelBubble() const { return m_cancelBubble; }
- void setCancelBubble(bool cancel) { m_cancelBubble = cancel; }
-
- Event* underlyingEvent() const { return m_underlyingEvent.get(); }
- void setUnderlyingEvent(PassRefPtr<Event>);
-
- virtual bool storesResultAsString() const;
- virtual void storeResult(const String&);
-
- virtual Clipboard* clipboard() const { return 0; }
-
- bool isBeingDispatched() const { return eventPhase(); }
-
- virtual void reportMemoryUsage(MemoryObjectInfo*) const;
-
- virtual PassRefPtr<Event> cloneFor(HTMLIFrameElement*) const;
+ static PassRefPtr<Event> create()
+ {
+ return adoptRef(new Event);
+ }
+ static PassRefPtr<Event> create(const AtomicString& type, bool canBubble, bool cancelable)
+ {
+ return adoptRef(new Event(type, canBubble, cancelable));
+ }
- protected:
- Event();
- Event(const AtomicString& type, bool canBubble, bool cancelable);
- Event(const AtomicString& type, const EventInit&);
+ static PassRefPtr<Event> create(const AtomicString& type, const EventInit& initializer)
+ {
+ return adoptRef(new Event(type, initializer));
+ }
- virtual void receivedTarget();
- bool dispatched() const { return m_target; }
+ virtual ~Event();
- private:
- AtomicString m_type;
- bool m_canBubble;
- bool m_cancelable;
+ void initEvent(const AtomicString& type, bool canBubble, bool cancelable);
- bool m_propagationStopped;
- bool m_immediatePropagationStopped;
- bool m_defaultPrevented;
- bool m_defaultHandled;
- bool m_cancelBubble;
+ const AtomicString& type() const { return m_type; }
+
+ EventTarget* target() const { return m_target.get(); }
+ void setTarget(PassRefPtr<EventTarget>);
- unsigned short m_eventPhase;
- EventTarget* m_currentTarget;
- RefPtr<EventTarget> m_target;
- DOMTimeStamp m_createTime;
+ EventTarget* currentTarget() const { return m_currentTarget; }
+ void setCurrentTarget(EventTarget* currentTarget) { m_currentTarget = currentTarget; }
- RefPtr<Event> m_underlyingEvent;
- };
+ unsigned short eventPhase() const { return m_eventPhase; }
+ void setEventPhase(unsigned short eventPhase) { m_eventPhase = eventPhase; }
+
+ bool bubbles() const { return m_canBubble; }
+ bool cancelable() const { return m_cancelable; }
+ DOMTimeStamp timeStamp() const { return m_createTime; }
+
+ void stopPropagation() { m_propagationStopped = true; }
+ void stopImmediatePropagation() { m_immediatePropagationStopped = true; }
+
+ // IE Extensions
+ EventTarget* srcElement() const { return target(); } // MSIE extension - "the object that fired the event"
+
+ bool returnValue() const { return !defaultPrevented(); }
+ void setReturnValue(bool returnValue) { setDefaultPrevented(!returnValue); }
+
+ Clipboard* clipboardData() const { return isClipboardEvent() ? clipboard() : 0; }
+
+ virtual const AtomicString& interfaceName() const;
+ bool hasInterface(const AtomicString&) const;
+
+ // These events are general classes of events.
+ virtual bool isUIEvent() const;
+ virtual bool isMouseEvent() const;
+ virtual bool isKeyboardEvent() const;
+ virtual bool isTouchEvent() const;
+
+ // Drag events are a subset of mouse events.
+ virtual bool isDragEvent() const;
+
+ // These events lack a DOM interface.
+ virtual bool isClipboardEvent() const;
+ virtual bool isBeforeTextInsertedEvent() const;
+
+ bool propagationStopped() const { return m_propagationStopped || m_immediatePropagationStopped; }
+ bool immediatePropagationStopped() const { return m_immediatePropagationStopped; }
+
+ bool defaultPrevented() const { return m_defaultPrevented; }
+ void preventDefault()
+ {
+ if (m_cancelable)
+ m_defaultPrevented = true;
+ }
+ void setDefaultPrevented(bool defaultPrevented) { m_defaultPrevented = defaultPrevented; }
+
+ bool defaultHandled() const { return m_defaultHandled; }
+ void setDefaultHandled() { m_defaultHandled = true; }
+
+ bool cancelBubble() const { return m_cancelBubble; }
+ void setCancelBubble(bool cancel) { m_cancelBubble = cancel; }
+
+ Event* underlyingEvent() const { return m_underlyingEvent.get(); }
+ void setUnderlyingEvent(PassRefPtr<Event>);
+
+ virtual bool storesResultAsString() const;
+ virtual void storeResult(const String&);
+
+ virtual Clipboard* clipboard() const { return 0; }
+
+ bool isBeingDispatched() const { return eventPhase(); }
+
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const;
+
+ virtual PassRefPtr<Event> cloneFor(HTMLIFrameElement*) const;
+
+protected:
+ Event();
+ Event(const AtomicString& type, bool canBubble, bool cancelable);
+ Event(const AtomicString& type, const EventInit&);
+
+ virtual void receivedTarget();
+ bool dispatched() const { return m_target; }
+
+private:
+ AtomicString m_type;
+ bool m_canBubble;
+ bool m_cancelable;
+
+ bool m_propagationStopped;
+ bool m_immediatePropagationStopped;
+ bool m_defaultPrevented;
+ bool m_defaultHandled;
+ bool m_cancelBubble;
+
+ unsigned short m_eventPhase;
+ EventTarget* m_currentTarget;
+ RefPtr<EventTarget> m_target;
+ DOMTimeStamp m_createTime;
+
+ RefPtr<Event> m_underlyingEvent;
+};
} // namespace WebCore
diff --git a/Source/WebCore/dom/EventDispatchMediator.cpp b/Source/WebCore/dom/EventDispatchMediator.cpp
index b2474cb95..8db3cb1ba 100644
--- a/Source/WebCore/dom/EventDispatchMediator.cpp
+++ b/Source/WebCore/dom/EventDispatchMediator.cpp
@@ -33,6 +33,7 @@
#include "Event.h"
#include "EventDispatcher.h"
+#include "Node.h"
namespace WebCore {
diff --git a/Source/WebCore/dom/EventListenerMap.cpp b/Source/WebCore/dom/EventListenerMap.cpp
index c1fd4d7c9..2b2dfeaed 100644
--- a/Source/WebCore/dom/EventListenerMap.cpp
+++ b/Source/WebCore/dom/EventListenerMap.cpp
@@ -35,6 +35,7 @@
#include "Event.h"
#include "EventException.h"
+#include "EventTarget.h"
#include <wtf/MainThread.h>
#include <wtf/StdLibExtras.h>
#include <wtf/Vector.h>
@@ -68,43 +69,29 @@ EventListenerMap::EventListenerMap()
{
}
-bool EventListenerMap::isEmpty() const
-{
- if (m_hashMap)
- return m_hashMap->isEmpty();
- return !m_singleEventListenerVector;
-}
-
bool EventListenerMap::contains(const AtomicString& eventType) const
{
- if (m_hashMap)
- return m_hashMap->contains(eventType);
- return m_singleEventListenerType == eventType;
+ for (unsigned i = 0; i < m_entries.size(); ++i) {
+ if (m_entries[i].first == eventType)
+ return true;
+ }
+ return false;
}
void EventListenerMap::clear()
{
assertNoActiveIterators();
- if (m_hashMap)
- m_hashMap.clear();
- else {
- m_singleEventListenerType = nullAtom;
- m_singleEventListenerVector.clear();
- }
+ m_entries.clear();
}
Vector<AtomicString> EventListenerMap::eventTypes() const
{
Vector<AtomicString> types;
+ types.reserveInitialCapacity(m_entries.size());
- if (m_hashMap) {
- EventListenerHashMap::iterator it = m_hashMap->begin();
- EventListenerHashMap::iterator end = m_hashMap->end();
- for (; it != end; ++it)
- types.append(it->first);
- } else if (m_singleEventListenerVector)
- types.append(m_singleEventListenerType);
+ for (unsigned i = 0; i < m_entries.size(); ++i)
+ types.uncheckedAppend(m_entries[i].first);
return types;
}
@@ -124,30 +111,13 @@ bool EventListenerMap::add(const AtomicString& eventType, PassRefPtr<EventListen
{
assertNoActiveIterators();
- if (m_singleEventListenerVector && m_singleEventListenerType != eventType) {
- // We already have a single (first) listener vector, and this event is not
- // of that type, so create the hash map and move the first listener vector there.
- ASSERT(!m_hashMap);
- m_hashMap = adoptPtr(new EventListenerHashMap);
- m_hashMap->add(m_singleEventListenerType, m_singleEventListenerVector.release());
- m_singleEventListenerType = nullAtom;
- }
-
- if (m_hashMap) {
- EventListenerHashMap::AddResult result = m_hashMap->add(eventType, nullptr);
- if (result.isNewEntry)
- result.iterator->second = adoptPtr(new EventListenerVector);
-
- return addListenerToVector(result.iterator->second.get(), listener, useCapture);
+ for (unsigned i = 0; i < m_entries.size(); ++i) {
+ if (m_entries[i].first == eventType)
+ return addListenerToVector(m_entries[i].second.get(), listener, useCapture);
}
- if (!m_singleEventListenerVector) {
- m_singleEventListenerType = eventType;
- m_singleEventListenerVector = adoptPtr(new EventListenerVector);
- }
-
- ASSERT(m_singleEventListenerType == eventType);
- return addListenerToVector(m_singleEventListenerVector.get(), listener, useCapture);
+ m_entries.append(std::make_pair(eventType, adoptPtr(new EventListenerVector)));
+ return addListenerToVector(m_entries.last().second.get(), listener, useCapture);
}
static bool removeListenerFromVector(EventListenerVector* listenerVector, EventListener* listener, bool useCapture, size_t& indexOfRemovedListener)
@@ -164,41 +134,27 @@ bool EventListenerMap::remove(const AtomicString& eventType, EventListener* list
{
assertNoActiveIterators();
- if (!m_hashMap) {
- if (m_singleEventListenerType != eventType)
- return false;
- bool wasRemoved = removeListenerFromVector(m_singleEventListenerVector.get(), listener, useCapture, indexOfRemovedListener);
- if (m_singleEventListenerVector->isEmpty()) {
- m_singleEventListenerVector.clear();
- m_singleEventListenerType = nullAtom;
+ for (unsigned i = 0; i < m_entries.size(); ++i) {
+ if (m_entries[i].first == eventType) {
+ bool wasRemoved = removeListenerFromVector(m_entries[i].second.get(), listener, useCapture, indexOfRemovedListener);
+ if (m_entries[i].second->isEmpty())
+ m_entries.remove(i);
+ return wasRemoved;
}
- return wasRemoved;
}
- EventListenerHashMap::iterator it = m_hashMap->find(eventType);
- if (it == m_hashMap->end())
- return false;
-
- bool wasRemoved = removeListenerFromVector(it->second.get(), listener, useCapture, indexOfRemovedListener);
- if (it->second->isEmpty())
- m_hashMap->remove(it);
- return wasRemoved;
+ return false;
}
EventListenerVector* EventListenerMap::find(const AtomicString& eventType)
{
assertNoActiveIterators();
- if (m_hashMap) {
- EventListenerHashMap::iterator it = m_hashMap->find(eventType);
- if (it == m_hashMap->end())
- return 0;
- return it->second.get();
+ for (unsigned i = 0; i < m_entries.size(); ++i) {
+ if (m_entries[i].first == eventType)
+ return m_entries[i].second.get();
}
- if (m_singleEventListenerType == eventType)
- return m_singleEventListenerVector.get();
-
return 0;
}
@@ -223,28 +179,13 @@ void EventListenerMap::removeFirstEventListenerCreatedFromMarkup(const AtomicStr
{
assertNoActiveIterators();
- if (m_hashMap) {
- EventListenerHashMap::iterator result = m_hashMap->find(eventType);
- ASSERT(result != m_hashMap->end());
-
- EventListenerVector* listenerVector = result->second.get();
- ASSERT(listenerVector);
-
- removeFirstListenerCreatedFromMarkup(listenerVector);
-
- if (listenerVector->isEmpty())
- m_hashMap->remove(result);
-
- return;
- }
-
- ASSERT(m_singleEventListenerVector);
- ASSERT(m_singleEventListenerType == eventType);
-
- removeFirstListenerCreatedFromMarkup(m_singleEventListenerVector.get());
- if (m_singleEventListenerVector->isEmpty()) {
- m_singleEventListenerVector.clear();
- m_singleEventListenerType = nullAtom;
+ for (unsigned i = 0; i < m_entries.size(); ++i) {
+ if (m_entries[i].first == eventType) {
+ removeFirstListenerCreatedFromMarkup(m_entries[i].second.get());
+ if (m_entries[i].second->isEmpty())
+ m_entries.remove(i);
+ return;
+ }
}
}
@@ -262,29 +203,22 @@ void EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget(EventTarge
{
assertNoActiveIterators();
- if (m_hashMap) {
- EventListenerHashMap::iterator end = m_hashMap->end();
- for (EventListenerHashMap::iterator it = m_hashMap->begin(); it != end; ++it)
- copyListenersNotCreatedFromMarkupToTarget(it->first, it->second.get(), target);
- return;
- }
-
- if (!m_singleEventListenerVector)
- return;
-
- copyListenersNotCreatedFromMarkupToTarget(m_singleEventListenerType, m_singleEventListenerVector.get(), target);
+ for (unsigned i = 0; i < m_entries.size(); ++i)
+ copyListenersNotCreatedFromMarkupToTarget(m_entries[i].first, m_entries[i].second.get(), target);
}
#endif // ENABLE(SVG)
EventListenerIterator::EventListenerIterator()
: m_map(0)
+ , m_entryIndex(0)
, m_index(0)
{
}
EventListenerIterator::EventListenerIterator(EventTarget* target)
: m_map(0)
+ , m_entryIndex(0)
, m_index(0)
{
ASSERT(target);
@@ -301,11 +235,6 @@ EventListenerIterator::EventListenerIterator(EventTarget* target)
m_map->m_activeIteratorCount++;
}
#endif
-
- if (m_map->m_hashMap) {
- m_mapIterator = m_map->m_hashMap->begin();
- m_mapEnd = m_map->m_hashMap->end();
- }
}
#ifndef NDEBUG
@@ -323,21 +252,13 @@ EventListener* EventListenerIterator::nextListener()
if (!m_map)
return 0;
- if (m_map->m_hashMap) {
- for (; m_mapIterator != m_mapEnd; ++m_mapIterator) {
- EventListenerVector& listeners = *m_mapIterator->second;
- if (m_index < listeners.size())
- return listeners[m_index++].listener.get();
- m_index = 0;
- }
- return 0;
+ for (; m_entryIndex < m_map->m_entries.size(); ++m_entryIndex) {
+ EventListenerVector& listeners = *m_map->m_entries[m_entryIndex].second;
+ if (m_index < listeners.size())
+ return listeners[m_index++].listener.get();
+ m_index = 0;
}
- if (!m_map->m_singleEventListenerVector)
- return 0;
- EventListenerVector& listeners = *m_map->m_singleEventListenerVector;
- if (m_index < listeners.size())
- return listeners[m_index++].listener.get();
return 0;
}
diff --git a/Source/WebCore/dom/EventListenerMap.h b/Source/WebCore/dom/EventListenerMap.h
index 6177fd472..6a036d362 100644
--- a/Source/WebCore/dom/EventListenerMap.h
+++ b/Source/WebCore/dom/EventListenerMap.h
@@ -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, 2012 Apple Inc. All rights reserved.
* Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org)
* (C) 2007, 2008 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2011 Andreas Kling (kling@webkit.org)
@@ -35,7 +35,7 @@
#include "RegisteredEventListener.h"
#include <wtf/Forward.h>
-#include <wtf/HashMap.h>
+#include <wtf/PassOwnPtr.h>
#include <wtf/text/AtomicStringHash.h>
namespace WebCore {
@@ -48,7 +48,7 @@ class EventListenerMap {
public:
EventListenerMap();
- bool isEmpty() const;
+ bool isEmpty() const { return m_entries.isEmpty(); }
bool contains(const AtomicString& eventType) const;
void clear();
@@ -67,15 +67,7 @@ private:
void assertNoActiveIterators();
- struct EventListenerHashMapTraits : HashTraits<WTF::AtomicString> {
- static const int minimumTableSize = 32;
- };
- typedef HashMap<AtomicString, OwnPtr<EventListenerVector>, AtomicStringHash, EventListenerHashMapTraits> EventListenerHashMap;
-
- OwnPtr<EventListenerHashMap> m_hashMap;
-
- AtomicString m_singleEventListenerType;
- OwnPtr<EventListenerVector> m_singleEventListenerVector;
+ Vector<std::pair<AtomicString, OwnPtr<EventListenerVector> >, 2> m_entries;
#ifndef NDEBUG
int m_activeIteratorCount;
@@ -95,8 +87,7 @@ public:
private:
EventListenerMap* m_map;
- EventListenerMap::EventListenerHashMap::iterator m_mapIterator;
- EventListenerMap::EventListenerHashMap::iterator m_mapEnd;
+ unsigned m_entryIndex;
unsigned m_index;
};
diff --git a/Source/WebCore/dom/EventNames.h b/Source/WebCore/dom/EventNames.h
index a2faec128..dc9645014 100644
--- a/Source/WebCore/dom/EventNames.h
+++ b/Source/WebCore/dom/EventNames.h
@@ -227,6 +227,8 @@ namespace WebCore {
macro(removetrack) \
macro(mute) \
macro(unmute) \
+ macro(icechange) \
+ macro(icecandidate) \
\
macro(show) \
\
diff --git a/Source/WebCore/dom/EventNames.in b/Source/WebCore/dom/EventNames.in
index 22aaa7b07..9e9e0c863 100644
--- a/Source/WebCore/dom/EventNames.in
+++ b/Source/WebCore/dom/EventNames.in
@@ -31,6 +31,7 @@ AudioProcessingEvent conditional=WEB_AUDIO
OfflineAudioCompletionEvent conditional=WEB_AUDIO
MediaStreamEvent conditional=MEDIA_STREAM
MediaStreamTrackEvent conditional=MEDIA_STREAM
+RTCIceCandidateEvent conditional=MEDIA_STREAM
SpeechInputEvent conditional=INPUT_SPEECH
SpeechRecognitionError conditional=SCRIPTED_SPEECH
SpeechRecognitionEvent conditional=SCRIPTED_SPEECH
diff --git a/Source/WebCore/dom/ExceptionBase.h b/Source/WebCore/dom/ExceptionBase.h
index 395227b55..01e5f1d9d 100644
--- a/Source/WebCore/dom/ExceptionBase.h
+++ b/Source/WebCore/dom/ExceptionBase.h
@@ -30,8 +30,8 @@
#define ExceptionBase_h
#include "ExceptionCode.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/MemoryInstrumentation.h b/Source/WebCore/dom/MemoryInstrumentation.h
index 35cb6cb7a..ac67ffff6 100644
--- a/Source/WebCore/dom/MemoryInstrumentation.h
+++ b/Source/WebCore/dom/MemoryInstrumentation.h
@@ -1,4 +1,3 @@
-
/*
* Copyright (C) 2012 Google Inc. All rights reserved.
*
@@ -32,47 +31,45 @@
#ifndef MemoryInstrumentation_h
#define MemoryInstrumentation_h
-#include <wtf/Assertions.h>
-#include <wtf/Forward.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
-template <typename T> class DataRef;
-class KURL;
+class MemoryClassInfo;
class MemoryObjectInfo;
+class MemoryInstrumentation;
+
+typedef const char* MemoryObjectType;
+
+class GenericMemoryTypes {
+public:
+ static MemoryObjectType Undefined;
+};
+
+enum MemoryOwningType {
+ byPointer,
+ byReference
+};
+
+class MemoryInstrumentationTraits {
+public:
+ template<typename T> static void addInstrumentedObject(MemoryInstrumentation*, const T* const&, MemoryObjectType, MemoryOwningType);
+ template<typename T> static void addObject(MemoryInstrumentation*, const T* const&, MemoryObjectType, MemoryOwningType);
+};
class MemoryInstrumentation {
public:
virtual ~MemoryInstrumentation() { }
- enum ObjectType {
- Other,
- DOM,
- CSS,
- Binding,
- Loader,
- MemoryCacheStructures,
- CachedResource,
- CachedResourceCSS,
- CachedResourceFont,
- CachedResourceImage,
- CachedResourceScript,
- CachedResourceSVG,
- CachedResourceShader,
- CachedResourceXSLT,
- LastTypeEntry
- };
-
template <typename T> void addRootObject(const T& t)
{
- addInstrumentedObject(t, Other);
+ addInstrumentedObject(t, GenericMemoryTypes::Undefined);
processDeferredInstrumentedPointers();
}
- template <typename Container> static size_t calculateContainerSize(const Container&, bool contentOnly = false);
+ template<typename Container> static size_t calculateContainerSize(const Container&, bool contentOnly = false);
protected:
class InstrumentedPointerBase {
@@ -82,89 +79,100 @@ protected:
};
private:
- virtual void countObjectSize(ObjectType, size_t) = 0;
+ virtual void countObjectSize(MemoryObjectType, size_t) = 0;
virtual void deferInstrumentedPointer(PassOwnPtr<InstrumentedPointerBase>) = 0;
virtual bool visited(const void*) = 0;
virtual void processDeferredInstrumentedPointers() = 0;
friend class MemoryClassInfo;
- template <typename T> class InstrumentedPointer : public InstrumentedPointerBase {
+ friend class MemoryInstrumentationTraits;
+
+ template<typename T> class InstrumentedPointer : public InstrumentedPointerBase {
public:
- explicit InstrumentedPointer(const T* pointer, ObjectType ownerObjectType) : m_pointer(pointer), m_ownerObjectType(ownerObjectType) { }
+ explicit InstrumentedPointer(const T* pointer, MemoryObjectType ownerObjectType) : m_pointer(pointer), m_ownerObjectType(ownerObjectType) { }
virtual void process(MemoryInstrumentation*) OVERRIDE;
private:
const T* m_pointer;
- const ObjectType m_ownerObjectType;
+ const MemoryObjectType m_ownerObjectType;
};
- template <typename T> void addObject(const T& t, ObjectType ownerObjectType)
+ template<typename T> void addObject(const T& t, MemoryObjectType ownerObjectType)
{
OwningTraits<T>::addObject(this, t, ownerObjectType);
}
- template <typename T> void addInstrumentedObject(const T& t, ObjectType ownerObjectType) { OwningTraits<T>::addInstrumentedObject(this, t, ownerObjectType); }
- template <typename HashMapType> void addHashMap(const HashMapType&, ObjectType, bool contentOnly = false);
- template <typename HashSetType> void addHashSet(const HashSetType&, ObjectType, bool contentOnly = false);
- template <typename CollectionType> void addInstrumentedCollection(const CollectionType&, ObjectType, bool contentOnly = false);
- template <typename MapType> void addInstrumentedMapEntries(const MapType&, ObjectType);
- template <typename MapType> void addInstrumentedMapValues(const MapType&, ObjectType);
- template <typename ListHashSetType> void addListHashSet(const ListHashSetType&, ObjectType, bool contentOnly = false);
- template <typename VectorType> void addVector(const VectorType&, ObjectType, bool contentOnly = false);
- void addRawBuffer(const void* const& buffer, ObjectType ownerObjectType, size_t size)
+ template<typename T> void addInstrumentedObject(const T& t, MemoryObjectType ownerObjectType) { OwningTraits<T>::addInstrumentedObject(this, t, ownerObjectType); }
+ template<typename HashMapType> void addHashMap(const HashMapType&, MemoryObjectType, bool contentOnly = false);
+ template<typename HashSetType> void addHashSet(const HashSetType&, MemoryObjectType, bool contentOnly = false);
+ template<typename CollectionType> void addInstrumentedCollection(const CollectionType&, MemoryObjectType, bool contentOnly = false);
+ template<typename MapType> void addInstrumentedMapEntries(const MapType&, MemoryObjectType);
+ template<typename MapType> void addInstrumentedMapValues(const MapType&, MemoryObjectType);
+ template<typename ListHashSetType> void addListHashSet(const ListHashSetType&, MemoryObjectType, bool contentOnly = false);
+ template<typename VectorType> void addVector(const VectorType&, MemoryObjectType, bool contentOnly = false);
+ void addRawBuffer(const void* const& buffer, MemoryObjectType ownerObjectType, size_t size)
{
if (!buffer || visited(buffer))
return;
countObjectSize(ownerObjectType, size);
}
- enum OwningType {
- byPointer,
- byReference
- };
-
- template <typename T>
+ template<typename T>
struct OwningTraits { // Default byReference implementation.
- static void addInstrumentedObject(MemoryInstrumentation* instrumentation, const T& t, ObjectType ownerObjectType) { instrumentation->addInstrumentedObjectImpl(&t, ownerObjectType, byReference); }
- static void addObject(MemoryInstrumentation* instrumentation, const T& t, ObjectType ownerObjectType) { instrumentation->addObjectImpl(&t, ownerObjectType, byReference); }
+ static void addInstrumentedObject(MemoryInstrumentation* instrumentation, const T& t, MemoryObjectType ownerObjectType)
+ {
+ MemoryInstrumentationTraits::addInstrumentedObject<T>(instrumentation, &t, ownerObjectType, byReference);
+ }
+ static void addObject(MemoryInstrumentation* instrumentation, const T& t, MemoryObjectType ownerObjectType)
+ {
+ MemoryInstrumentationTraits::addObject<T>(instrumentation, &t, ownerObjectType, byReference);
+ }
};
- template <typename T>
+ template<typename T>
struct OwningTraits<T*> { // Custom byPointer implementation.
- static void addInstrumentedObject(MemoryInstrumentation* instrumentation, const T* const& t, ObjectType ownerObjectType) { instrumentation->addInstrumentedObjectImpl(t, ownerObjectType, byPointer); }
- static void addObject(MemoryInstrumentation* instrumentation, const T* const& t, ObjectType ownerObjectType) { instrumentation->addObjectImpl(t, ownerObjectType, byPointer); }
+ static void addInstrumentedObject(MemoryInstrumentation* instrumentation, const T* const& t, MemoryObjectType ownerObjectType)
+ {
+ MemoryInstrumentationTraits::addInstrumentedObject<T>(instrumentation, t, ownerObjectType, byPointer);
+ }
+ static void addObject(MemoryInstrumentation* instrumentation, const T* const& t, MemoryObjectType ownerObjectType)
+ {
+ MemoryInstrumentationTraits::addObject<T>(instrumentation, t, ownerObjectType, byPointer);
+ }
};
- void addInstrumentedObjectImpl(const String* const&, ObjectType, OwningType);
- void addInstrumentedObjectImpl(const StringImpl* const&, ObjectType, OwningType);
- void addInstrumentedObjectImpl(const AtomicString* const&, ObjectType, OwningType);
- void addInstrumentedObjectImpl(const KURL* const&, ObjectType, OwningType);
- template <typename T> void addInstrumentedObjectImpl(const T* const&, ObjectType, OwningType);
- template <typename T> void addInstrumentedObjectImpl(const DataRef<T>* const&, ObjectType, OwningType);
- template <typename T> void addInstrumentedObjectImpl(const OwnPtr<T>* const&, ObjectType, OwningType);
- template <typename T> void addInstrumentedObjectImpl(const RefPtr<T>* const&, ObjectType, OwningType);
-
- template <typename T> void addObjectImpl(const T* const&, ObjectType, OwningType);
- template <typename T> void addObjectImpl(const DataRef<T>* const&, ObjectType, OwningType);
- template <typename T> void addObjectImpl(const OwnPtr<T>* const&, ObjectType, OwningType);
- template <typename T> void addObjectImpl(const RefPtr<T>* const&, ObjectType, OwningType);
-
- // Link time guards for special cases.
- void addObjectImpl(const String* const&, ObjectType, OwningType);
- void addObjectImpl(const StringImpl* const&, ObjectType, OwningType);
- void addObjectImpl(const AtomicString* const&, ObjectType, OwningType);
- void addObjectImpl(const KURL* const&, ObjectType, OwningType);
+ template<typename T> void addInstrumentedObjectImpl(const T* const&, MemoryObjectType, MemoryOwningType);
+ template<typename T> void addInstrumentedObjectImpl(const OwnPtr<T>* const&, MemoryObjectType, MemoryOwningType);
+ template<typename T> void addInstrumentedObjectImpl(const RefPtr<T>* const&, MemoryObjectType, MemoryOwningType);
+
+ template<typename T> void addObjectImpl(const T* const&, MemoryObjectType, MemoryOwningType);
+ template<typename T> void addObjectImpl(const OwnPtr<T>* const&, MemoryObjectType, MemoryOwningType);
+ template<typename T> void addObjectImpl(const RefPtr<T>* const&, MemoryObjectType, MemoryOwningType);
};
+template<typename T>
+void MemoryInstrumentationTraits::addInstrumentedObject(MemoryInstrumentation* instrumentation, const T* const& t, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ instrumentation->addInstrumentedObjectImpl(t, ownerObjectType, owningType);
+}
+
+template<typename T>
+void MemoryInstrumentationTraits::addObject(MemoryInstrumentation* instrumentation, const T* const& t, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ instrumentation->addObjectImpl(t, ownerObjectType, owningType);
+}
+
class MemoryObjectInfo {
public:
- MemoryObjectInfo(MemoryInstrumentation* memoryInstrumentation, MemoryInstrumentation::ObjectType ownerObjectType)
+ MemoryObjectInfo(MemoryInstrumentation* memoryInstrumentation, MemoryObjectType ownerObjectType)
: m_memoryInstrumentation(memoryInstrumentation)
, m_objectType(ownerObjectType)
, m_objectSize(0)
{ }
- MemoryInstrumentation::ObjectType objectType() const { return m_objectType; }
+ typedef MemoryClassInfo ClassInfo;
+
+ MemoryObjectType objectType() const { return m_objectType; }
size_t objectSize() const { return m_objectSize; }
MemoryInstrumentation* memoryInstrumentation() { return m_memoryInstrumentation; }
@@ -172,24 +180,24 @@ public:
private:
friend class MemoryClassInfo;
- template <typename T> void reportObjectInfo(MemoryInstrumentation::ObjectType objectType, size_t actualSize)
+ template<typename T> void reportObjectInfo(MemoryObjectType objectType, size_t actualSize)
{
if (!m_objectSize) {
m_objectSize = actualSize ? actualSize : sizeof(T);
- if (objectType != MemoryInstrumentation::Other)
+ if (objectType != GenericMemoryTypes::Undefined)
m_objectType = objectType;
}
}
MemoryInstrumentation* m_memoryInstrumentation;
- MemoryInstrumentation::ObjectType m_objectType;
+ MemoryObjectType m_objectType;
size_t m_objectSize;
};
class MemoryClassInfo {
public:
- template <typename T>
- MemoryClassInfo(MemoryObjectInfo* memoryObjectInfo, const T*, MemoryInstrumentation::ObjectType objectType, size_t actualSize = 0)
+ template<typename T>
+ MemoryClassInfo(MemoryObjectInfo* memoryObjectInfo, const T*, MemoryObjectType objectType = GenericMemoryTypes::Undefined, size_t actualSize = 0)
: m_memoryObjectInfo(memoryObjectInfo)
, m_memoryInstrumentation(memoryObjectInfo->memoryInstrumentation())
{
@@ -197,31 +205,31 @@ public:
m_objectType = memoryObjectInfo->objectType();
}
- template <typename M> void addInstrumentedMember(const M& member) { m_memoryInstrumentation->addInstrumentedObject(member, m_objectType); }
- template <typename M> void addMember(const M& member) { m_memoryInstrumentation->addObject(member, m_objectType); }
-
- template <typename HashMapType> void addHashMap(const HashMapType& map) { m_memoryInstrumentation->addHashMap(map, m_objectType, true); }
- template <typename HashSetType> void addHashSet(const HashSetType& set) { m_memoryInstrumentation->addHashSet(set, m_objectType, true); }
- template <typename HashSetType> void addHashCountedSet(const HashSetType& set) { m_memoryInstrumentation->addHashSet(set, m_objectType, true); }
- template <typename HashSetType> void addInstrumentedHashSet(const HashSetType& set) { m_memoryInstrumentation->addInstrumentedCollection(set, m_objectType, true); }
- template <typename VectorType> void addInstrumentedVector(const VectorType& vector) { m_memoryInstrumentation->addInstrumentedCollection(vector, m_objectType, true); }
- template <typename VectorType> void addInstrumentedVectorPtr(const OwnPtr<VectorType>& vector) { m_memoryInstrumentation->addInstrumentedCollection(*vector, m_objectType, false); }
- template <typename VectorType> void addInstrumentedVectorPtr(const VectorType* const& vector) { m_memoryInstrumentation->addInstrumentedCollection(*vector, m_objectType, false); }
- template <typename MapType> void addInstrumentedMapEntries(const MapType& map) { m_memoryInstrumentation->addInstrumentedMapEntries(map, m_objectType); }
- template <typename MapType> void addInstrumentedMapValues(const MapType& map) { m_memoryInstrumentation->addInstrumentedMapValues(map, m_objectType); }
- template <typename ListHashSetType> void addListHashSet(const ListHashSetType& set) { m_memoryInstrumentation->addListHashSet(set, m_objectType, true); }
- template <typename VectorType> void addVector(const VectorType& vector) { m_memoryInstrumentation->addVector(vector, m_objectType, true); }
- template <typename VectorType> void addVectorPtr(const VectorType* const vector) { m_memoryInstrumentation->addVector(*vector, m_objectType, false); }
+ template<typename M> void addInstrumentedMember(const M& member) { m_memoryInstrumentation->addInstrumentedObject(member, m_objectType); }
+ template<typename M> void addMember(const M& member) { m_memoryInstrumentation->addObject(member, m_objectType); }
+
+ template<typename HashMapType> void addHashMap(const HashMapType& map) { m_memoryInstrumentation->addHashMap(map, m_objectType, true); }
+ template<typename HashSetType> void addHashSet(const HashSetType& set) { m_memoryInstrumentation->addHashSet(set, m_objectType, true); }
+ template<typename HashSetType> void addHashCountedSet(const HashSetType& set) { m_memoryInstrumentation->addHashSet(set, m_objectType, true); }
+ template<typename HashSetType> void addInstrumentedHashSet(const HashSetType& set) { m_memoryInstrumentation->addInstrumentedCollection(set, m_objectType, true); }
+ template<typename VectorType> void addInstrumentedVector(const VectorType& vector) { m_memoryInstrumentation->addInstrumentedCollection(vector, m_objectType, true); }
+ template<typename VectorType> void addInstrumentedVectorPtr(const OwnPtr<VectorType>& vector) { m_memoryInstrumentation->addInstrumentedCollection(*vector, m_objectType, false); }
+ template<typename VectorType> void addInstrumentedVectorPtr(const VectorType* const& vector) { m_memoryInstrumentation->addInstrumentedCollection(*vector, m_objectType, false); }
+ template<typename MapType> void addInstrumentedMapEntries(const MapType& map) { m_memoryInstrumentation->addInstrumentedMapEntries(map, m_objectType); }
+ template<typename MapType> void addInstrumentedMapValues(const MapType& map) { m_memoryInstrumentation->addInstrumentedMapValues(map, m_objectType); }
+ template<typename ListHashSetType> void addListHashSet(const ListHashSetType& set) { m_memoryInstrumentation->addListHashSet(set, m_objectType, true); }
+ template<typename VectorType> void addVector(const VectorType& vector) { m_memoryInstrumentation->addVector(vector, m_objectType, true); }
+ template<typename VectorType> void addVectorPtr(const VectorType* const vector) { m_memoryInstrumentation->addVector(*vector, m_objectType, false); }
void addRawBuffer(const void* const& buffer, size_t size) { m_memoryInstrumentation->addRawBuffer(buffer, m_objectType, size); }
private:
MemoryObjectInfo* m_memoryObjectInfo;
MemoryInstrumentation* m_memoryInstrumentation;
- MemoryInstrumentation::ObjectType m_objectType;
+ MemoryObjectType m_objectType;
};
-template <typename T>
-void MemoryInstrumentation::addInstrumentedObjectImpl(const T* const& object, ObjectType ownerObjectType, OwningType owningType)
+template<typename T>
+void MemoryInstrumentation::addInstrumentedObjectImpl(const T* const& object, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
{
if (owningType == byReference) {
MemoryObjectInfo memoryObjectInfo(this, ownerObjectType);
@@ -233,56 +241,40 @@ void MemoryInstrumentation::addInstrumentedObjectImpl(const T* const& object, Ob
}
}
-template <typename T>
-void MemoryInstrumentation::addInstrumentedObjectImpl(const DataRef<T>* const& object, ObjectType ownerObjectType, OwningType owningType)
-{
- if (owningType == byPointer)
- countObjectSize(ownerObjectType, sizeof(*object));
- addInstrumentedObjectImpl(object->get(), ownerObjectType, byPointer);
-}
-
-template <typename T>
-void MemoryInstrumentation::addInstrumentedObjectImpl(const OwnPtr<T>* const& object, ObjectType ownerObjectType, OwningType owningType)
+template<typename T>
+void MemoryInstrumentation::addInstrumentedObjectImpl(const OwnPtr<T>* const& object, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
{
if (owningType == byPointer)
countObjectSize(ownerObjectType, sizeof(*object));
addInstrumentedObjectImpl(object->get(), ownerObjectType, byPointer);
}
-template <typename T>
-void MemoryInstrumentation::addInstrumentedObjectImpl(const RefPtr<T>* const& object, ObjectType ownerObjectType, OwningType owningType)
+template<typename T>
+void MemoryInstrumentation::addInstrumentedObjectImpl(const RefPtr<T>* const& object, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
{
if (owningType == byPointer)
countObjectSize(ownerObjectType, sizeof(*object));
addInstrumentedObjectImpl(object->get(), ownerObjectType, byPointer);
}
-template <typename T>
-void MemoryInstrumentation::addObjectImpl(const DataRef<T>* const& object, ObjectType ownerObjectType, OwningType owningType)
-{
- if (owningType == byPointer)
- countObjectSize(ownerObjectType, sizeof(*object));
- addObjectImpl(object->get(), ownerObjectType, byPointer);
-}
-
-template <typename T>
-void MemoryInstrumentation::addObjectImpl(const OwnPtr<T>* const& object, ObjectType ownerObjectType, OwningType owningType)
+template<typename T>
+void MemoryInstrumentation::addObjectImpl(const OwnPtr<T>* const& object, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
{
if (owningType == byPointer)
countObjectSize(ownerObjectType, sizeof(*object));
addObjectImpl(object->get(), ownerObjectType, byPointer);
}
-template <typename T>
-void MemoryInstrumentation::addObjectImpl(const RefPtr<T>* const& object, ObjectType ownerObjectType, OwningType owningType)
+template<typename T>
+void MemoryInstrumentation::addObjectImpl(const RefPtr<T>* const& object, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
{
if (owningType == byPointer)
countObjectSize(ownerObjectType, sizeof(*object));
addObjectImpl(object->get(), ownerObjectType, byPointer);
}
-template <typename T>
-void MemoryInstrumentation::addObjectImpl(const T* const& object, ObjectType ownerObjectType, OwningType owningType)
+template<typename T>
+void MemoryInstrumentation::addObjectImpl(const T* const& object, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
{
if (!object || visited(object))
return;
@@ -292,7 +284,7 @@ void MemoryInstrumentation::addObjectImpl(const T* const& object, ObjectType own
}
template<typename HashMapType>
-void MemoryInstrumentation::addHashMap(const HashMapType& hashMap, ObjectType ownerObjectType, bool contentOnly)
+void MemoryInstrumentation::addHashMap(const HashMapType& hashMap, MemoryObjectType ownerObjectType, bool contentOnly)
{
if (visited(&hashMap))
return;
@@ -300,15 +292,15 @@ void MemoryInstrumentation::addHashMap(const HashMapType& hashMap, ObjectType ow
}
template<typename HashSetType>
-void MemoryInstrumentation::addHashSet(const HashSetType& hashSet, ObjectType ownerObjectType, bool contentOnly)
+void MemoryInstrumentation::addHashSet(const HashSetType& hashSet, MemoryObjectType ownerObjectType, bool contentOnly)
{
if (visited(&hashSet))
return;
countObjectSize(ownerObjectType, calculateContainerSize(hashSet, contentOnly));
}
-template <typename CollectionType>
-void MemoryInstrumentation::addInstrumentedCollection(const CollectionType& collection, ObjectType ownerObjectType, bool contentOnly)
+template<typename CollectionType>
+void MemoryInstrumentation::addInstrumentedCollection(const CollectionType& collection, MemoryObjectType ownerObjectType, bool contentOnly)
{
if (visited(&collection))
return;
@@ -318,8 +310,8 @@ void MemoryInstrumentation::addInstrumentedCollection(const CollectionType& coll
addInstrumentedObject(*i, ownerObjectType);
}
-template <typename MapType>
-void MemoryInstrumentation::addInstrumentedMapEntries(const MapType& map, ObjectType ownerObjectType)
+template<typename MapType>
+void MemoryInstrumentation::addInstrumentedMapEntries(const MapType& map, MemoryObjectType ownerObjectType)
{
typename MapType::const_iterator end = map.end();
for (typename MapType::const_iterator i = map.begin(); i != end; ++i) {
@@ -328,8 +320,8 @@ void MemoryInstrumentation::addInstrumentedMapEntries(const MapType& map, Object
}
}
-template <typename MapType>
-void MemoryInstrumentation::addInstrumentedMapValues(const MapType& map, ObjectType ownerObjectType)
+template<typename MapType>
+void MemoryInstrumentation::addInstrumentedMapValues(const MapType& map, MemoryObjectType ownerObjectType)
{
typename MapType::const_iterator end = map.end();
for (typename MapType::const_iterator i = map.begin(); i != end; ++i)
@@ -337,7 +329,7 @@ void MemoryInstrumentation::addInstrumentedMapValues(const MapType& map, ObjectT
}
template<typename ListHashSetType>
-void MemoryInstrumentation::addListHashSet(const ListHashSetType& hashSet, ObjectType ownerObjectType, bool contentOnly)
+void MemoryInstrumentation::addListHashSet(const ListHashSetType& hashSet, MemoryObjectType ownerObjectType, bool contentOnly)
{
if (visited(&hashSet))
return;
@@ -345,15 +337,15 @@ void MemoryInstrumentation::addListHashSet(const ListHashSetType& hashSet, Objec
countObjectSize(ownerObjectType, size);
}
-template <typename VectorType>
-void MemoryInstrumentation::addVector(const VectorType& vector, ObjectType ownerObjectType, bool contentOnly)
+template<typename VectorType>
+void MemoryInstrumentation::addVector(const VectorType& vector, MemoryObjectType ownerObjectType, bool contentOnly)
{
if (!vector.data() || visited(vector.data()))
return;
countObjectSize(ownerObjectType, calculateContainerSize(vector, contentOnly));
}
-template <typename Container>
+template<typename Container>
size_t MemoryInstrumentation::calculateContainerSize(const Container& container, bool contentOnly)
{
return (contentOnly ? 0 : sizeof(container)) + container.capacity() * sizeof(typename Container::ValueType);
@@ -367,7 +359,6 @@ void MemoryInstrumentation::InstrumentedPointer<T>::process(MemoryInstrumentatio
memoryInstrumentation->countObjectSize(memoryObjectInfo.objectType(), memoryObjectInfo.objectSize());
}
-
} // namespace WebCore
#endif // !defined(MemoryInstrumentation_h)
diff --git a/Source/WebCore/dom/MessagePort.cpp b/Source/WebCore/dom/MessagePort.cpp
index 50d4b16e3..95c5a6d01 100644
--- a/Source/WebCore/dom/MessagePort.cpp
+++ b/Source/WebCore/dom/MessagePort.cpp
@@ -133,9 +133,8 @@ void MessagePort::start()
void MessagePort::close()
{
- if (!isEntangled())
- return;
- m_entangledChannel->close();
+ if (isEntangled())
+ m_entangledChannel->close();
m_closed = true;
}
diff --git a/Source/WebCore/dom/MessagePortChannel.h b/Source/WebCore/dom/MessagePortChannel.h
index 344b85131..a048220e0 100644
--- a/Source/WebCore/dom/MessagePortChannel.h
+++ b/Source/WebCore/dom/MessagePortChannel.h
@@ -31,16 +31,14 @@
#ifndef MessagePortChannel_h
#define MessagePortChannel_h
-#include "PlatformString.h"
-
#include "SerializedScriptValue.h"
-
#include <wtf/OwnPtr.h>
#include <wtf/Forward.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/MicroDataItemList.cpp b/Source/WebCore/dom/MicroDataItemList.cpp
index 38460ce3d..91ab98267 100644
--- a/Source/WebCore/dom/MicroDataItemList.cpp
+++ b/Source/WebCore/dom/MicroDataItemList.cpp
@@ -40,8 +40,7 @@ using namespace HTMLNames;
const String& MicroDataItemList::undefinedItemType()
{
- DEFINE_STATIC_LOCAL(String, undefinedItemTypeString, (""));
- return undefinedItemTypeString;
+ return emptyString();
}
MicroDataItemList::MicroDataItemList(PassRefPtr<Node> rootNode, const String& typeNames)
diff --git a/Source/WebCore/dom/MouseRelatedEvent.h b/Source/WebCore/dom/MouseRelatedEvent.h
index 0bb8a26fa..249b83347 100644
--- a/Source/WebCore/dom/MouseRelatedEvent.h
+++ b/Source/WebCore/dom/MouseRelatedEvent.h
@@ -24,7 +24,7 @@
#ifndef MouseRelatedEvent_h
#define MouseRelatedEvent_h
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include "UIEventWithKeyState.h"
namespace WebCore {
diff --git a/Source/WebCore/dom/MutationRecord.h b/Source/WebCore/dom/MutationRecord.h
index 7040e9d89..d746d4859 100644
--- a/Source/WebCore/dom/MutationRecord.h
+++ b/Source/WebCore/dom/MutationRecord.h
@@ -33,10 +33,10 @@
#if ENABLE(MUTATION_OBSERVERS)
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/WebKitNamedFlowCollection.cpp b/Source/WebCore/dom/NamedFlowCollection.cpp
index 9273727ef..1588fc6c0 100644
--- a/Source/WebCore/dom/WebKitNamedFlowCollection.cpp
+++ b/Source/WebCore/dom/NamedFlowCollection.cpp
@@ -28,8 +28,9 @@
*/
#include "config.h"
-#include "WebKitNamedFlowCollection.h"
+#include "NamedFlowCollection.h"
+#include "DOMNamedFlowCollection.h"
#include "Document.h"
#include "InspectorInstrumentation.h"
#include "WebKitNamedFlow.h"
@@ -39,12 +40,12 @@
namespace WebCore {
-WebKitNamedFlowCollection::WebKitNamedFlowCollection(Document* doc)
+NamedFlowCollection::NamedFlowCollection(Document* doc)
: m_document(doc)
{
}
-Vector<RefPtr<WebKitNamedFlow> > WebKitNamedFlowCollection::namedFlows()
+Vector<RefPtr<WebKitNamedFlow> > NamedFlowCollection::namedFlows()
{
Vector<RefPtr<WebKitNamedFlow> > namedFlows;
@@ -58,7 +59,7 @@ Vector<RefPtr<WebKitNamedFlow> > WebKitNamedFlowCollection::namedFlows()
return namedFlows;
}
-WebKitNamedFlow* WebKitNamedFlowCollection::flowByName(const String& flowName)
+WebKitNamedFlow* NamedFlowCollection::flowByName(const String& flowName)
{
NamedFlowSet::iterator it = m_namedFlows.find<String, NamedFlowHashTranslator>(flowName);
if (it == m_namedFlows.end() || (*it)->flowState() == WebKitNamedFlow::FlowStateNull)
@@ -67,7 +68,7 @@ WebKitNamedFlow* WebKitNamedFlowCollection::flowByName(const String& flowName)
return *it;
}
-PassRefPtr<WebKitNamedFlow> WebKitNamedFlowCollection::ensureFlowWithName(const String& flowName)
+PassRefPtr<WebKitNamedFlow> NamedFlowCollection::ensureFlowWithName(const String& flowName)
{
NamedFlowSet::iterator it = m_namedFlows.find<String, NamedFlowHashTranslator>(flowName);
if (it != m_namedFlows.end()) {
@@ -85,7 +86,7 @@ PassRefPtr<WebKitNamedFlow> WebKitNamedFlowCollection::ensureFlowWithName(const
return newFlow.release();
}
-void WebKitNamedFlowCollection::discardNamedFlow(WebKitNamedFlow* namedFlow)
+void NamedFlowCollection::discardNamedFlow(WebKitNamedFlow* namedFlow)
{
// The document is not valid anymore so the collection will be destroyed anyway.
if (!m_document)
@@ -99,23 +100,17 @@ void WebKitNamedFlowCollection::discardNamedFlow(WebKitNamedFlow* namedFlow)
InspectorInstrumentation::didRemoveNamedFlow(m_document, namedFlow->name());
}
-void WebKitNamedFlowCollection::documentDestroyed()
+void NamedFlowCollection::documentDestroyed()
{
m_document = 0;
}
-
-// The HashFunctions object used by the HashSet to compare between NamedFlows.
-// It is safe to set safeToCompareToEmptyOrDeleted because the HashSet will never contain null pointers or deleted values.
-struct WebKitNamedFlowCollection::NamedFlowHashFunctions {
- static unsigned hash(WebKitNamedFlow* key) { return DefaultHash<String>::Hash::hash(key->name()); }
- static bool equal(WebKitNamedFlow* a, WebKitNamedFlow* b) { return a->name() == b->name(); }
- static const bool safeToCompareToEmptyOrDeleted = true;
-};
-
-// The HashTranslator is used to lookup a NamedFlow in the set using a name.
-struct WebKitNamedFlowCollection::NamedFlowHashTranslator {
- static unsigned hash(const String& key) { return DefaultHash<String>::Hash::hash(key); }
- static bool equal(WebKitNamedFlow* a, const String& b) { return a->name() == b; }
-};
+PassRefPtr<DOMNamedFlowCollection> NamedFlowCollection::createCSSOMSnapshot()
+{
+ NamedFlowSet createdFlows;
+ for (NamedFlowSet::iterator it = m_namedFlows.begin(); it != m_namedFlows.end(); ++it)
+ if ((*it)->flowState() == WebKitNamedFlow::FlowStateCreated)
+ createdFlows.add(*it);
+ return DOMNamedFlowCollection::create(createdFlows);
+}
} // namespace WebCore
diff --git a/Source/WebCore/dom/WebKitNamedFlowCollection.h b/Source/WebCore/dom/NamedFlowCollection.h
index bf01d4b84..175b5e7cf 100644
--- a/Source/WebCore/dom/WebKitNamedFlowCollection.h
+++ b/Source/WebCore/dom/NamedFlowCollection.h
@@ -27,9 +27,10 @@
* SUCH DAMAGE.
*/
-#ifndef WebKitNamedFlowCollection_h
-#define WebKitNamedFlowCollection_h
+#ifndef NamedFlowCollection_h
+#define NamedFlowCollection_h
+#include "WebKitNamedFlow.h"
#include <wtf/Forward.h>
#include <wtf/ListHashSet.h>
#include <wtf/PassRefPtr.h>
@@ -39,11 +40,11 @@
namespace WebCore {
class Document;
-class WebKitNamedFlow;
+class DOMNamedFlowCollection;
-class WebKitNamedFlowCollection : public RefCounted<WebKitNamedFlowCollection> {
+class NamedFlowCollection : public RefCounted<NamedFlowCollection> {
public:
- static PassRefPtr<WebKitNamedFlowCollection> create(Document* doc) { return adoptRef(new WebKitNamedFlowCollection(doc)); }
+ static PassRefPtr<NamedFlowCollection> create(Document* doc) { return adoptRef(new NamedFlowCollection(doc)); }
Vector<RefPtr<WebKitNamedFlow> > namedFlows();
WebKitNamedFlow* flowByName(const String&);
@@ -55,19 +56,36 @@ public:
Document* document() const { return m_document; }
-private:
- explicit WebKitNamedFlowCollection(Document*);
+ virtual ~NamedFlowCollection() { }
- Document* m_document;
+ PassRefPtr<DOMNamedFlowCollection> createCSSOMSnapshot();
struct NamedFlowHashFunctions;
struct NamedFlowHashTranslator;
typedef ListHashSet<WebKitNamedFlow*, 1, NamedFlowHashFunctions> NamedFlowSet;
+private:
+
+ explicit NamedFlowCollection(Document*);
+
+ Document* m_document;
NamedFlowSet m_namedFlows;
};
+// The HashFunctions object used by the HashSet to compare between NamedFlows.
+// It is safe to set safeToCompareToEmptyOrDeleted because the HashSet will never contain null pointers or deleted values.
+struct NamedFlowCollection::NamedFlowHashFunctions {
+ static unsigned hash(WebKitNamedFlow* key) { return DefaultHash<String>::Hash::hash(key->name()); }
+ static bool equal(WebKitNamedFlow* a, WebKitNamedFlow* b) { return a->name() == b->name(); }
+ static const bool safeToCompareToEmptyOrDeleted = true;
+};
+
+// The HashTranslator is used to lookup a NamedFlow in the set using a name.
+struct NamedFlowCollection::NamedFlowHashTranslator {
+ static unsigned hash(const String& key) { return DefaultHash<String>::Hash::hash(key); }
+ static bool equal(WebKitNamedFlow* a, const String& b) { return a->name() == b; }
+};
} // namespace WebCore
-#endif // WebKitNamedFlowCollection_h
+#endif // NamedFlowCollection_h
diff --git a/Source/WebCore/dom/Node.cpp b/Source/WebCore/dom/Node.cpp
index a3a1c22f2..88b5e05fe 100644
--- a/Source/WebCore/dom/Node.cpp
+++ b/Source/WebCore/dom/Node.cpp
@@ -40,6 +40,7 @@
#include "CSSStyleSheet.h"
#include "ChildNodeList.h"
#include "ClassNodeList.h"
+#include "ContainerNodeAlgorithms.h"
#include "ContextMenuController.h"
#include "DOMImplementation.h"
#include "DOMSettableTokenList.h"
@@ -67,7 +68,6 @@
#include "KeyboardEvent.h"
#include "LabelsNodeList.h"
#include "Logging.h"
-#include "MemoryInstrumentation.h"
#include "MouseEvent.h"
#include "MutationEvent.h"
#include "NameNodeList.h"
@@ -98,6 +98,7 @@
#include "TreeScopeAdopter.h"
#include "UIEvent.h"
#include "UIEventWithKeyState.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WheelEvent.h"
#include "WindowEventContext.h"
#include "XMLNames.h"
@@ -795,7 +796,7 @@ RenderBoxModelObject* Node::renderBoxModelObject() const
return m_renderer && m_renderer->isBoxModelObject() ? toRenderBoxModelObject(m_renderer) : 0;
}
-LayoutRect Node::getRect() const
+LayoutRect Node::boundingBox() const
{
if (renderer())
return renderer()->absoluteBoundingBoxRect();
@@ -1199,6 +1200,11 @@ static void checkAcceptChild(Node* newParent, Node* newChild, ExceptionCode& ec)
ec = HIERARCHY_REQUEST_ERR;
return;
}
+
+ if (newParent->inDocument() && ChildFrameDisconnector::nodeHasDisconnector(newParent)) {
+ ec = NO_MODIFICATION_ALLOWED_ERR;
+ return;
+ }
}
void Node::checkReplaceChild(Node* newChild, Node* oldChild, ExceptionCode& ec)
@@ -2091,15 +2097,17 @@ FloatPoint Node::convertFromPage(const FloatPoint& p) const
#ifndef NDEBUG
-static void appendAttributeDesc(const Node* node, String& string, const QualifiedName& name, const char* attrDesc)
+static void appendAttributeDesc(const Node* node, StringBuilder& stringBuilder, const QualifiedName& name, const char* attrDesc)
{
- if (node->isElementNode()) {
- String attr = static_cast<const Element*>(node)->getAttribute(name);
- if (!attr.isEmpty()) {
- string += attrDesc;
- string += attr;
- }
- }
+ if (!node->isElementNode())
+ return;
+
+ String attr = static_cast<const Element*>(node)->getAttribute(name);
+ if (attr.isEmpty())
+ return;
+
+ stringBuilder.append(attrDesc);
+ stringBuilder.append(attr);
}
void Node::showNode(const char* prefix) const
@@ -2112,10 +2120,10 @@ void Node::showNode(const char* prefix) const
value.replace('\n', "\\n");
fprintf(stderr, "%s%s\t%p \"%s\"\n", prefix, nodeName().utf8().data(), this, value.utf8().data());
} else {
- String attrs = "";
+ StringBuilder attrs;
appendAttributeDesc(this, attrs, classAttr, " CLASS=");
appendAttributeDesc(this, attrs, styleAttr, " STYLE=");
- fprintf(stderr, "%s%s\t%p%s\n", prefix, nodeName().utf8().data(), this, attrs.utf8().data());
+ fprintf(stderr, "%s%s\t%p%s\n", prefix, nodeName().utf8().data(), this, attrs.toString().utf8().data());
}
}
@@ -2183,16 +2191,18 @@ static void traverseTreeAndMark(const String& baseIndent, const Node* rootNode,
if (node == markedNode2)
fprintf(stderr, "%s", markedLabel2);
- String indent = baseIndent;
+ StringBuilder indent;
+ indent.append(baseIndent);
for (const Node* tmpNode = node; tmpNode && tmpNode != rootNode; tmpNode = tmpNode->parentOrHostNode())
- indent += "\t";
- fprintf(stderr, "%s", indent.utf8().data());
+ indent.append('\t');
+ fprintf(stderr, "%s", indent.toString().utf8().data());
node->showNode();
+ indent.append('\t');
if (node->isShadowRoot()) {
if (ShadowRoot* youngerShadowRoot = toShadowRoot(node)->youngerShadowRoot())
- traverseTreeAndMark(indent + "\t", youngerShadowRoot, markedNode1, markedLabel1, markedNode2, markedLabel2);
+ traverseTreeAndMark(indent.toString(), youngerShadowRoot, markedNode1, markedLabel1, markedNode2, markedLabel2);
} else if (ShadowRoot* oldestShadowRoot = oldestShadowRootFor(node))
- traverseTreeAndMark(indent + "\t", oldestShadowRoot, markedNode1, markedLabel1, markedNode2, markedLabel2);
+ traverseTreeAndMark(indent.toString(), oldestShadowRoot, markedNode1, markedLabel1, markedNode2, markedLabel2);
}
}
@@ -2212,13 +2222,13 @@ void Node::formatForDebugger(char* buffer, unsigned length) const
{
String result;
String s;
-
+
s = nodeName();
- if (s.length() == 0)
- result += "<none>";
+ if (s.isEmpty())
+ result = "<none>";
else
- result += s;
-
+ result = s;
+
strncpy(buffer, result.utf8().data(), length - 1);
}
@@ -2765,6 +2775,17 @@ bool Node::willRespondToMouseClickEvents()
return isContentEditable() || hasEventListeners(eventNames().mouseupEvent) || hasEventListeners(eventNames().mousedownEvent) || hasEventListeners(eventNames().clickEvent) || hasEventListeners(eventNames().DOMActivateEvent);
}
+bool Node::willRespondToTouchEvents()
+{
+#if ENABLE(TOUCH_EVENTS)
+ if (disabled())
+ return false;
+ return hasEventListeners(eventNames().touchstartEvent) || hasEventListeners(eventNames().touchmoveEvent) || hasEventListeners(eventNames().touchcancelEvent) || hasEventListeners(eventNames().touchendEvent);
+#else
+ return false;
+#endif
+}
+
#if ENABLE(MICRODATA)
DOMSettableTokenList* Node::itemProp()
{
@@ -2821,7 +2842,7 @@ void Node::removedLastRef()
void Node::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
TreeShared<Node, ContainerNode>::reportMemoryUsage(memoryObjectInfo);
ScriptWrappable::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_document);
diff --git a/Source/WebCore/dom/Node.h b/Source/WebCore/dom/Node.h
index 439aa936a..e9d7d5309 100644
--- a/Source/WebCore/dom/Node.h
+++ b/Source/WebCore/dom/Node.h
@@ -27,7 +27,7 @@
#include "EditingBoundary.h"
#include "EventTarget.h"
-#include "ExceptionCodePlaceholder.h"
+#include "FractionalLayoutRect.h"
#include "KURLHash.h"
#include "LayoutTypes.h"
#include "MutationObserver.h"
@@ -187,8 +187,7 @@ public:
void remove(ExceptionCode&);
bool hasChildNodes() const { return firstChild(); }
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&) = 0;
- PassRefPtr<Node> cloneNode(bool deep) { return cloneNode(deep, ASSERT_NO_EXCEPTION); }
+ virtual PassRefPtr<Node> cloneNode(bool deep) = 0;
const AtomicString& localName() const { return virtualLocalName(); }
const AtomicString& namespaceURI() const { return virtualNamespaceURI(); }
const AtomicString& prefix() const { return virtualPrefix(); }
@@ -355,6 +354,7 @@ public:
DoNotSetAttached
};
void lazyAttach(ShouldSetAttached = SetAttached);
+ void lazyReattach(ShouldSetAttached = SetAttached);
virtual void setFocus(bool = true);
virtual void setActive(bool f = true, bool /*pause*/ = false) { setFlag(f, IsActiveFlag); }
@@ -401,8 +401,8 @@ public:
}
virtual bool shouldUseInputMethod();
- virtual LayoutRect getRect() const;
- IntRect getPixelSnappedRect() const { return pixelSnappedIntRect(getRect()); }
+ virtual LayoutRect boundingBox() const;
+ IntRect pixelSnappedBoundingBox() const { return pixelSnappedIntRect(boundingBox()); }
LayoutRect renderRect(bool* isReplaced);
IntRect pixelSnappedRenderRect(bool* isReplaced) { return pixelSnappedIntRect(renderRect(isReplaced)); }
@@ -582,6 +582,7 @@ public:
virtual bool willRespondToMouseMoveEvents();
virtual bool willRespondToMouseClickEvents();
+ virtual bool willRespondToTouchEvents();
PassRefPtr<Element> querySelector(const AtomicString& selectors, ExceptionCode&);
PassRefPtr<NodeList> querySelectorAll(const AtomicString& selectors, ExceptionCode&);
@@ -876,6 +877,13 @@ inline void Node::reattachIfAttached()
reattach();
}
+inline void Node::lazyReattach(ShouldSetAttached shouldSetAttached)
+{
+ if (attached())
+ detach();
+ lazyAttach(shouldSetAttached);
+}
+
} //namespace
#ifndef NDEBUG
diff --git a/Source/WebCore/dom/Node.idl b/Source/WebCore/dom/Node.idl
index 85feaee12..fc4a882ab 100644
--- a/Source/WebCore/dom/Node.idl
+++ b/Source/WebCore/dom/Node.idl
@@ -79,9 +79,7 @@ module core {
raises(DOMException);
boolean hasChildNodes();
- Node cloneNode(in [Optional=DefaultIsUndefined] boolean deep)
- raises(DOMException);
-
+ Node cloneNode(in [Optional=DefaultIsUndefined] boolean deep);
void normalize();
// Introduced in DOM Level 2:
diff --git a/Source/WebCore/dom/Notation.cpp b/Source/WebCore/dom/Notation.cpp
index 39592115f..f62e630aa 100644
--- a/Source/WebCore/dom/Notation.cpp
+++ b/Source/WebCore/dom/Notation.cpp
@@ -43,7 +43,7 @@ Node::NodeType Notation::nodeType() const
return NOTATION_NODE;
}
-PassRefPtr<Node> Notation::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> Notation::cloneNode(bool /*deep*/)
{
// Spec says cloning Notation nodes is "implementation dependent". We do not support it.
return 0;
diff --git a/Source/WebCore/dom/Notation.h b/Source/WebCore/dom/Notation.h
index 886077688..b2155ba05 100644
--- a/Source/WebCore/dom/Notation.h
+++ b/Source/WebCore/dom/Notation.h
@@ -38,7 +38,7 @@ private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool childTypeAllowed(NodeType) const;
String m_name;
diff --git a/Source/WebCore/dom/Position.cpp b/Source/WebCore/dom/Position.cpp
index 889143530..4fcf442e2 100644
--- a/Source/WebCore/dom/Position.cpp
+++ b/Source/WebCore/dom/Position.cpp
@@ -1314,20 +1314,20 @@ void Position::debugPosition(const char* msg) const
void Position::formatForDebugger(char* buffer, unsigned length) const
{
- String result;
-
+ StringBuilder result;
+
if (isNull())
- result = "<null>";
+ result.appendLiteral("<null>");
else {
char s[1024];
- result += "offset ";
- result += String::number(m_offset);
- result += " of ";
+ result.appendLiteral("offset ");
+ result.appendNumber(m_offset);
+ result.appendLiteral(" of ");
deprecatedNode()->formatForDebugger(s, sizeof(s));
- result += s;
+ result.append(s);
}
-
- strncpy(buffer, result.utf8().data(), length - 1);
+
+ strncpy(buffer, result.toString().utf8().data(), length - 1);
}
void Position::showAnchorTypeAndOffset() const
diff --git a/Source/WebCore/dom/ProcessingInstruction.cpp b/Source/WebCore/dom/ProcessingInstruction.cpp
index 87a0198f7..9a0eafa7b 100644
--- a/Source/WebCore/dom/ProcessingInstruction.cpp
+++ b/Source/WebCore/dom/ProcessingInstruction.cpp
@@ -97,7 +97,7 @@ void ProcessingInstruction::setNodeValue(const String& nodeValue, ExceptionCode&
setData(nodeValue, ec);
}
-PassRefPtr<Node> ProcessingInstruction::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> ProcessingInstruction::cloneNode(bool /*deep*/)
{
// FIXME: Is it a problem that this does not copy m_localHref?
// What about other data members?
@@ -254,7 +254,7 @@ void ProcessingInstruction::parseStyleSheet(const String& sheet)
m_loading = false;
if (m_isCSS)
- static_cast<CSSStyleSheet*>(m_sheet.get())->contents()->checkLoaded();
+ static_cast<CSSStyleSheet*>(m_sheet.get())->contents()->checkLoadCompleted();
#if ENABLE(XSLT)
else if (m_isXSL)
static_cast<XSLStyleSheet*>(m_sheet.get())->checkLoaded();
diff --git a/Source/WebCore/dom/ProcessingInstruction.h b/Source/WebCore/dom/ProcessingInstruction.h
index 0960d1574..e331e21df 100644
--- a/Source/WebCore/dom/ProcessingInstruction.h
+++ b/Source/WebCore/dom/ProcessingInstruction.h
@@ -60,7 +60,7 @@ private:
virtual NodeType nodeType() const;
virtual String nodeValue() const;
virtual void setNodeValue(const String&, ExceptionCode&);
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool offsetInCharacters() const;
virtual int maxCharacterOffset() const;
diff --git a/Source/WebCore/dom/QualifiedName.h b/Source/WebCore/dom/QualifiedName.h
index d1f52697f..12b782aa1 100644
--- a/Source/WebCore/dom/QualifiedName.h
+++ b/Source/WebCore/dom/QualifiedName.h
@@ -21,7 +21,7 @@
#ifndef QualifiedName_h
#define QualifiedName_h
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/HashTraits.h>
#include <wtf/RefCounted.h>
@@ -52,7 +52,7 @@ public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_prefix);
info.addInstrumentedMember(m_localName);
info.addInstrumentedMember(m_namespace);
@@ -103,7 +103,7 @@ public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_impl);
}
private:
diff --git a/Source/WebCore/dom/Range.cpp b/Source/WebCore/dom/Range.cpp
index c4e435a6f..c71fa1cd9 100644
--- a/Source/WebCore/dom/Range.cpp
+++ b/Source/WebCore/dom/Range.cpp
@@ -1652,31 +1652,30 @@ void Range::textQuads(Vector<FloatQuad>& quads, bool useSelectionHeight, RangeIn
}
#ifndef NDEBUG
-#define FormatBufferSize 1024
void Range::formatForDebugger(char* buffer, unsigned length) const
{
- String result;
+ StringBuilder result;
String s;
-
+
if (!m_start.container() || !m_end.container())
- result = "<empty>";
+ result.appendLiteral("<empty>");
else {
+ const int FormatBufferSize = 1024;
char s[FormatBufferSize];
- result += "from offset ";
- result += String::number(m_start.offset());
- result += " of ";
+ result.appendLiteral("from offset ");
+ result.appendNumber(m_start.offset());
+ result.appendLiteral(" of ");
m_start.container()->formatForDebugger(s, FormatBufferSize);
- result += s;
- result += " to offset ";
- result += String::number(m_end.offset());
- result += " of ";
+ result.append(s);
+ result.appendLiteral(" to offset ");
+ result.appendNumber(m_end.offset());
+ result.appendLiteral(" of ");
m_end.container()->formatForDebugger(s, FormatBufferSize);
- result += s;
+ result.append(s);
}
-
- strncpy(buffer, result.utf8().data(), length - 1);
+
+ strncpy(buffer, result.toString().utf8().data(), length - 1);
}
-#undef FormatBufferSize
#endif
bool areRangesEqual(const Range* a, const Range* b)
diff --git a/Source/WebCore/dom/Range.h b/Source/WebCore/dom/Range.h
index dffaefc67..b6bf7711d 100644
--- a/Source/WebCore/dom/Range.h
+++ b/Source/WebCore/dom/Range.h
@@ -29,7 +29,6 @@
#include "FloatRect.h"
#include "FragmentScriptingPermission.h"
#include "IntRect.h"
-#include "Node.h"
#include "RangeBoundaryPoint.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
@@ -43,6 +42,7 @@ class ContainerNode;
class Document;
class DocumentFragment;
class FloatQuad;
+class Node;
class NodeWithIndex;
class Text;
diff --git a/Source/WebCore/dom/ScriptElement.cpp b/Source/WebCore/dom/ScriptElement.cpp
index 62e82306c..209fc79c1 100644
--- a/Source/WebCore/dom/ScriptElement.cpp
+++ b/Source/WebCore/dom/ScriptElement.cpp
@@ -335,7 +335,7 @@ void ScriptElement::notifyFinished(CachedResource* resource)
&& !m_cachedScript->passesAccessControlCheck(m_element->document()->securityOrigin())) {
dispatchErrorEvent();
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Cross-origin script load denied by Cross-Origin Resource Sharing policy."));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Cross-origin script load denied by Cross-Origin Resource Sharing policy.")));
m_element->document()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
return;
}
diff --git a/Source/WebCore/dom/SecurityContext.cpp b/Source/WebCore/dom/SecurityContext.cpp
index d32ab798f..7e9f83920 100644
--- a/Source/WebCore/dom/SecurityContext.cpp
+++ b/Source/WebCore/dom/SecurityContext.cpp
@@ -106,9 +106,10 @@ SandboxFlags SecurityContext::parseSandboxPolicy(const String& policy)
flags &= ~SandboxOrigin;
else if (equalIgnoringCase(sandboxToken, "allow-forms"))
flags &= ~SandboxForms;
- else if (equalIgnoringCase(sandboxToken, "allow-scripts"))
+ else if (equalIgnoringCase(sandboxToken, "allow-scripts")) {
flags &= ~SandboxScripts;
- else if (equalIgnoringCase(sandboxToken, "allow-top-navigation"))
+ flags &= ~SandboxAutomaticFeatures;
+ } else if (equalIgnoringCase(sandboxToken, "allow-top-navigation"))
flags &= ~SandboxTopNavigation;
else if (equalIgnoringCase(sandboxToken, "allow-popups"))
flags &= ~SandboxPopups;
diff --git a/Source/WebCore/dom/ShadowRoot.cpp b/Source/WebCore/dom/ShadowRoot.cpp
index 1aadc5126..9e9abc438 100644
--- a/Source/WebCore/dom/ShadowRoot.cpp
+++ b/Source/WebCore/dom/ShadowRoot.cpp
@@ -82,23 +82,7 @@ static bool allowsAuthorShadowRoot(Element* element)
if (RuntimeEnabledFeatures::authorShadowDOMForAnyElementEnabled())
return true;
#endif
-
- // FIXME: The elements in Shadow DOM of an input element assumes that they have renderer if the input
- // element has a renderer. However, this does not hold until input elemnet is AuthorShadowDOM-ready.
- // So we would like to prohibit having a AuthorShadowDOM for a while. The same thing happens to
- // textarea element also.
- // https://bugs.webkit.org/show_bug.cgi?id=92608
- if (isHTMLInputElement(element) || isHTMLTextAreaElement(element))
- return false;
-
- // FIXME: We disable multiple shadow subtrees for SVG for while, because there will be problems to support it.
- // https://bugs.webkit.org/show_bug.cgi?id=78205
- // Especially SVG TREF recreates shadow root dynamically.
- // https://bugs.webkit.org/show_bug.cgi?id=77938
- if (element->isSVGElement())
- return false;
-
- return true;
+ return element->areAuthorShadowsAllowed();
}
PassRefPtr<ShadowRoot> ShadowRoot::create(Element* element, ExceptionCode& ec)
@@ -139,13 +123,23 @@ String ShadowRoot::nodeName() const
return "#shadow-root";
}
-PassRefPtr<Node> ShadowRoot::cloneNode(bool, ExceptionCode& ec)
+PassRefPtr<Node> ShadowRoot::cloneNode(bool)
{
// ShadowRoot should not be arbitrarily cloned.
- ec = DATA_CLONE_ERR;
return 0;
}
+PassRefPtr<Node> ShadowRoot::cloneNode(bool deep, ExceptionCode& ec)
+{
+ RefPtr<Node> clone = cloneNode(deep);
+ if (!clone) {
+ ec = DATA_CLONE_ERR;
+ return 0;
+ }
+
+ return clone;
+}
+
String ShadowRoot::innerHTML() const
{
return createMarkup(this, ChildrenOnly);
diff --git a/Source/WebCore/dom/ShadowRoot.h b/Source/WebCore/dom/ShadowRoot.h
index 1c9f02cc0..6f7009d09 100644
--- a/Source/WebCore/dom/ShadowRoot.h
+++ b/Source/WebCore/dom/ShadowRoot.h
@@ -93,11 +93,13 @@ public:
ShadowRootType type() const { return m_type; }
#endif
+ PassRefPtr<Node> cloneNode(bool, ExceptionCode&);
+
private:
explicit ShadowRoot(Document*);
virtual ~ShadowRoot();
virtual String nodeName() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool childTypeAllowed(NodeType) const;
virtual void childrenChanged(bool changedByParser, Node* beforeChange, Node* afterChange, int childCountDelta) OVERRIDE;
diff --git a/Source/WebCore/dom/ShadowRoot.idl b/Source/WebCore/dom/ShadowRoot.idl
index c04c3e15d..9e9932349 100644
--- a/Source/WebCore/dom/ShadowRoot.idl
+++ b/Source/WebCore/dom/ShadowRoot.idl
@@ -39,6 +39,9 @@ module core {
attribute [TreatNullAs=NullString] DOMString innerHTML
setter raises(DOMException);
+#if defined(LANGUAGE_JAVASCRIPT) && LANGUAGE_JAVASCRIPT
+ Node cloneNode(in [Optional=DefaultIsUndefined] boolean deep) raises(DOMException);
+#endif
DOMSelection getSelection();
Element getElementById(in [Optional=DefaultIsUndefined] DOMString elementId);
NodeList getElementsByClassName(in [Optional=DefaultIsUndefined] DOMString className);
diff --git a/Source/WebCore/dom/StyleElement.cpp b/Source/WebCore/dom/StyleElement.cpp
index dd4de2901..3fc8e7c44 100644
--- a/Source/WebCore/dom/StyleElement.cpp
+++ b/Source/WebCore/dom/StyleElement.cpp
@@ -149,6 +149,7 @@ void StyleElement::createSheet(Element* e, WTF::OrdinalNumber startLineNumber, c
{
ASSERT(e);
ASSERT(e->inDocument());
+
Document* document = e->document();
if (m_sheet) {
if (m_sheet->isLoading())
@@ -181,7 +182,7 @@ void StyleElement::createSheet(Element* e, WTF::OrdinalNumber startLineNumber, c
}
if (m_sheet)
- m_sheet->contents()->checkLoaded();
+ m_sheet->contents()->checkLoadCompleted();
}
bool StyleElement::isLoading() const
diff --git a/Source/WebCore/dom/Text.cpp b/Source/WebCore/dom/Text.cpp
index 87e366362..66a16ffd7 100644
--- a/Source/WebCore/dom/Text.cpp
+++ b/Source/WebCore/dom/Text.cpp
@@ -185,7 +185,7 @@ Node::NodeType Text::nodeType() const
return TEXT_NODE;
}
-PassRefPtr<Node> Text::cloneNode(bool /*deep*/, ExceptionCode&)
+PassRefPtr<Node> Text::cloneNode(bool /*deep*/)
{
return create(document(), data());
}
@@ -301,23 +301,20 @@ void Text::willRecalcTextStyle(StyleChange)
#ifndef NDEBUG
void Text::formatForDebugger(char *buffer, unsigned length) const
{
- String result;
+ StringBuilder result;
String s;
-
- s = nodeName();
- if (s.length() > 0) {
- result += s;
- }
-
+
+ result.append(nodeName());
+
s = data();
if (s.length() > 0) {
- if (result.length() > 0)
- result += "; ";
- result += "value=";
- result += s;
+ if (result.length())
+ result.appendLiteral("; ");
+ result.appendLiteral("value=");
+ result.append(s);
}
-
- strncpy(buffer, result.utf8().data(), length - 1);
+
+ strncpy(buffer, result.toString().utf8().data(), length - 1);
}
#endif
diff --git a/Source/WebCore/dom/Text.h b/Source/WebCore/dom/Text.h
index 8e97e290b..daf382240 100644
--- a/Source/WebCore/dom/Text.h
+++ b/Source/WebCore/dom/Text.h
@@ -58,7 +58,7 @@ protected:
private:
virtual String nodeName() const;
virtual NodeType nodeType() const;
- virtual PassRefPtr<Node> cloneNode(bool deep, ExceptionCode&);
+ virtual PassRefPtr<Node> cloneNode(bool deep);
virtual bool rendererIsNeeded(const NodeRenderingContext&);
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual bool childTypeAllowed(NodeType) const;
diff --git a/Source/WebCore/dom/Touch.h b/Source/WebCore/dom/Touch.h
index 1e80253e6..152e3e2e9 100644
--- a/Source/WebCore/dom/Touch.h
+++ b/Source/WebCore/dom/Touch.h
@@ -29,7 +29,7 @@
#if ENABLE(TOUCH_EVENTS)
#include "EventTarget.h"
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
diff --git a/Source/WebCore/dom/TransformSource.h b/Source/WebCore/dom/TransformSource.h
index b1ad291ab..7ba17eeb2 100644
--- a/Source/WebCore/dom/TransformSource.h
+++ b/Source/WebCore/dom/TransformSource.h
@@ -22,8 +22,10 @@
#if ENABLE(XSLT)
-#include "PlatformString.h"
+#include <wtf/FastAllocBase.h>
+#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/dom/TreeScopeAdopter.h b/Source/WebCore/dom/TreeScopeAdopter.h
index d2bd4d4f0..4ca418219 100644
--- a/Source/WebCore/dom/TreeScopeAdopter.h
+++ b/Source/WebCore/dom/TreeScopeAdopter.h
@@ -25,10 +25,12 @@
#ifndef TreeScopeAdopter_h
#define TreeScopeAdopter_h
-#include "Element.h"
+#include "Node.h"
namespace WebCore {
+class TreeScope;
+
class TreeScopeAdopter {
public:
explicit TreeScopeAdopter(Node* toAdopt, TreeScope* newScope);
diff --git a/Source/WebCore/dom/UIEvent.cpp b/Source/WebCore/dom/UIEvent.cpp
index 9e73316fb..367372670 100644
--- a/Source/WebCore/dom/UIEvent.cpp
+++ b/Source/WebCore/dom/UIEvent.cpp
@@ -26,6 +26,7 @@
#include "Console.h"
#include "DOMWindow.h"
#include "EventDispatcher.h"
+#include "Node.h"
namespace WebCore {
diff --git a/Source/WebCore/dom/UserGestureIndicator.cpp b/Source/WebCore/dom/UserGestureIndicator.cpp
index 10e46ee94..de1323659 100644
--- a/Source/WebCore/dom/UserGestureIndicator.cpp
+++ b/Source/WebCore/dom/UserGestureIndicator.cpp
@@ -34,6 +34,7 @@ static bool isDefinite(ProcessingUserGestureState state)
}
ProcessingUserGestureState UserGestureIndicator::s_state = DefinitelyNotProcessingUserGesture;
+size_t UserGestureIndicator::s_consumableGestures = 0;
UserGestureIndicator::UserGestureIndicator(ProcessingUserGestureState state)
: m_previousState(s_state)
@@ -41,13 +42,26 @@ UserGestureIndicator::UserGestureIndicator(ProcessingUserGestureState state)
// We overwrite s_state only if the caller is definite about the gesture state.
if (isDefinite(state))
s_state = state;
+
+ if (s_state == DefinitelyProcessingUserGesture)
+ s_consumableGestures++;
ASSERT(isDefinite(s_state));
}
UserGestureIndicator::~UserGestureIndicator()
{
+ if (s_consumableGestures && s_state == DefinitelyProcessingUserGesture)
+ s_consumableGestures--;
s_state = m_previousState;
ASSERT(isDefinite(s_state));
}
+bool UserGestureIndicator::consumeUserGesture()
+{
+ if (!s_consumableGestures)
+ return false;
+ s_consumableGestures--;
+ return true;
+}
+
}
diff --git a/Source/WebCore/dom/UserGestureIndicator.h b/Source/WebCore/dom/UserGestureIndicator.h
index 1d0100814..50aabfbed 100644
--- a/Source/WebCore/dom/UserGestureIndicator.h
+++ b/Source/WebCore/dom/UserGestureIndicator.h
@@ -39,13 +39,15 @@ enum ProcessingUserGestureState {
class UserGestureIndicator {
WTF_MAKE_NONCOPYABLE(UserGestureIndicator);
public:
- static bool processingUserGesture() { return s_state == DefinitelyProcessingUserGesture; }
+ static bool processingUserGesture() { return s_consumableGestures && s_state == DefinitelyProcessingUserGesture; }
+ static bool consumeUserGesture();
explicit UserGestureIndicator(ProcessingUserGestureState);
~UserGestureIndicator();
private:
static ProcessingUserGestureState s_state;
+ static size_t s_consumableGestures;
ProcessingUserGestureState m_previousState;
};
diff --git a/Source/WebCore/dom/ViewportArguments.cpp b/Source/WebCore/dom/ViewportArguments.cpp
index 4da905029..e457b037a 100644
--- a/Source/WebCore/dom/ViewportArguments.cpp
+++ b/Source/WebCore/dom/ViewportArguments.cpp
@@ -34,8 +34,8 @@
#include "Frame.h"
#include "IntSize.h"
#include "Page.h"
-#include "PlatformString.h"
#include "ScriptableDocumentParser.h"
+#include <wtf/text/WTFString.h>
using namespace std;
diff --git a/Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp b/Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp
new file mode 100644
index 000000000..4ce0df282
--- /dev/null
+++ b/Source/WebCore/dom/WebCoreMemoryInstrumentation.cpp
@@ -0,0 +1,112 @@
+/*
+ * Copyright (C) 2012 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 "WebCoreMemoryInstrumentation.h"
+
+#include "KURL.h"
+#include <wtf/text/StringImpl.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+MemoryObjectType GenericMemoryTypes::Undefined = 0;
+
+MemoryObjectType WebCoreMemoryTypes::Page = "Page";
+MemoryObjectType WebCoreMemoryTypes::DOM = "Page.DOM";
+MemoryObjectType WebCoreMemoryTypes::CSS = "Page.CSS";
+MemoryObjectType WebCoreMemoryTypes::Binding = "Page.Binding";
+MemoryObjectType WebCoreMemoryTypes::Loader = "Page.Loader";
+
+MemoryObjectType WebCoreMemoryTypes::MemoryCache = "MemoryCache";
+MemoryObjectType WebCoreMemoryTypes::MemoryCacheStructures = "MemoryCache.InternalStructures";
+MemoryObjectType WebCoreMemoryTypes::CachedResource = "MemoryCache.Resource";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceRaw = "MemoryCache.RawResource";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceCSS = "MemoryCache.CSS";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceFont = "MemoryCache.Font";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceImage = "MemoryCache.Image";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceScript = "MemoryCache.Script";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceSVG = "MemoryCache.SVG";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceShader = "MemoryCache.Shader";
+MemoryObjectType WebCoreMemoryTypes::CachedResourceXSLT = "MemoryCache.XSLT";
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<String>(MemoryInstrumentation* instrumentation, const String* const& string, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ MemoryInstrumentationTraits::addInstrumentedObject<const String>(instrumentation, string, ownerObjectType, owningType);
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const String>(MemoryInstrumentation* instrumentation, const String* const& string, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ if (!string || instrumentation->visited(string))
+ return;
+ if (owningType == byPointer)
+ instrumentation->countObjectSize(ownerObjectType, sizeof(String));
+ instrumentation->addInstrumentedObject(string->impl(), ownerObjectType);
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<StringImpl>(MemoryInstrumentation* instrumentation, const StringImpl* const& stringImpl, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ MemoryInstrumentationTraits::addInstrumentedObject<const StringImpl>(instrumentation, stringImpl, ownerObjectType, owningType);
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const StringImpl>(MemoryInstrumentation* instrumentation, const StringImpl* const& stringImpl, MemoryObjectType ownerObjectType, MemoryOwningType)
+{
+ if (!stringImpl || instrumentation->visited(stringImpl))
+ return;
+ instrumentation->countObjectSize(ownerObjectType, stringImpl->sizeInBytes());
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<KURL>(MemoryInstrumentation* instrumentation, const KURL* const& url, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ MemoryInstrumentationTraits::addInstrumentedObject<const KURL>(instrumentation, url, ownerObjectType, owningType);
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const KURL>(MemoryInstrumentation* instrumentation, const KURL* const& url, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ if (!url || instrumentation->visited(url))
+ return;
+ if (owningType == byPointer)
+ instrumentation->countObjectSize(ownerObjectType, sizeof(KURL));
+ instrumentation->addInstrumentedObject(url->string(), ownerObjectType);
+ if (url->innerURL())
+ instrumentation->addInstrumentedObject(url->innerURL(), ownerObjectType);
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<AtomicString>(MemoryInstrumentation* instrumentation, const AtomicString* const& atomicString, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ MemoryInstrumentationTraits::addInstrumentedObject<const AtomicString>(instrumentation, atomicString, ownerObjectType, owningType);
+}
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const AtomicString>(MemoryInstrumentation* instrumentation, const AtomicString* const& atomicString, MemoryObjectType ownerObjectType, MemoryOwningType owningType)
+{
+ MemoryInstrumentationTraits::addInstrumentedObject<const String>(instrumentation, reinterpret_cast<const String* const>(atomicString), ownerObjectType, owningType);
+}
+
+} // namespace WebCore
diff --git a/Source/WebCore/dom/WebCoreMemoryInstrumentation.h b/Source/WebCore/dom/WebCoreMemoryInstrumentation.h
new file mode 100644
index 000000000..c8684bba7
--- /dev/null
+++ b/Source/WebCore/dom/WebCoreMemoryInstrumentation.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2012 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 WebCoreMemoryInstrumentation_h
+#define WebCoreMemoryInstrumentation_h
+
+#include "MemoryInstrumentation.h"
+
+#include <wtf/Forward.h>
+
+namespace WebCore {
+
+class KURL;
+
+// Explicit specializations for some types.
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<KURL>(MemoryInstrumentation*, const KURL* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const KURL>(MemoryInstrumentation*, const KURL* const&, MemoryObjectType, MemoryOwningType);
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<String>(MemoryInstrumentation*, const String* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const String>(MemoryInstrumentation*, const String* const&, MemoryObjectType, MemoryOwningType);
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<StringImpl>(MemoryInstrumentation*, const StringImpl* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const StringImpl>(MemoryInstrumentation*, const StringImpl* const&, MemoryObjectType, MemoryOwningType);
+
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<AtomicString>(MemoryInstrumentation*, const AtomicString* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addInstrumentedObject<const AtomicString>(MemoryInstrumentation*, const AtomicString* const&, MemoryObjectType, MemoryOwningType);
+
+
+// Link time guards with no body.
+template<> void MemoryInstrumentationTraits::addObject<KURL>(MemoryInstrumentation*, const KURL* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addObject<const KURL>(MemoryInstrumentation*, const KURL* const&, MemoryObjectType, MemoryOwningType);
+
+template<> void MemoryInstrumentationTraits::addObject<String>(MemoryInstrumentation*, const String* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addObject<const String>(MemoryInstrumentation*, const String* const&, MemoryObjectType, MemoryOwningType);
+
+template<> void MemoryInstrumentationTraits::addObject<StringImpl>(MemoryInstrumentation*, const StringImpl* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addObject<const StringImpl>(MemoryInstrumentation*, const StringImpl* const&, MemoryObjectType, MemoryOwningType);
+
+template<> void MemoryInstrumentationTraits::addObject<AtomicString>(MemoryInstrumentation*, const AtomicString* const&, MemoryObjectType, MemoryOwningType);
+template<> void MemoryInstrumentationTraits::addObject<const AtomicString>(MemoryInstrumentation*, const AtomicString* const&, MemoryObjectType, MemoryOwningType);
+
+class WebCoreMemoryTypes {
+public:
+ static MemoryObjectType Page;
+ static MemoryObjectType DOM;
+ static MemoryObjectType CSS;
+ static MemoryObjectType Binding;
+ static MemoryObjectType Loader;
+
+ static MemoryObjectType MemoryCache;
+ static MemoryObjectType MemoryCacheStructures;
+ static MemoryObjectType CachedResource;
+ static MemoryObjectType CachedResourceRaw;
+ static MemoryObjectType CachedResourceCSS;
+ static MemoryObjectType CachedResourceFont;
+ static MemoryObjectType CachedResourceImage;
+ static MemoryObjectType CachedResourceScript;
+ static MemoryObjectType CachedResourceSVG;
+ static MemoryObjectType CachedResourceShader;
+ static MemoryObjectType CachedResourceXSLT;
+};
+
+} // namespace WebCore
+
+#endif // !defined(WebCoreMemoryInstrumentation_h)
diff --git a/Source/WebCore/dom/WebKitNamedFlow.cpp b/Source/WebCore/dom/WebKitNamedFlow.cpp
index aa5901b67..8009eae2a 100644
--- a/Source/WebCore/dom/WebKitNamedFlow.cpp
+++ b/Source/WebCore/dom/WebKitNamedFlow.cpp
@@ -31,16 +31,16 @@
#include "WebKitNamedFlow.h"
#include "EventNames.h"
+#include "NamedFlowCollection.h"
#include "RenderNamedFlowThread.h"
#include "RenderRegion.h"
#include "ScriptExecutionContext.h"
#include "StaticNodeList.h"
#include "UIEvent.h"
-#include "WebKitNamedFlowCollection.h"
namespace WebCore {
-WebKitNamedFlow::WebKitNamedFlow(PassRefPtr<WebKitNamedFlowCollection> manager, const AtomicString& flowThreadName)
+WebKitNamedFlow::WebKitNamedFlow(PassRefPtr<NamedFlowCollection> manager, const AtomicString& flowThreadName)
: m_flowThreadName(flowThreadName)
, m_flowManager(manager)
, m_parentFlowThread(0)
@@ -53,7 +53,7 @@ WebKitNamedFlow::~WebKitNamedFlow()
m_flowManager->discardNamedFlow(this);
}
-PassRefPtr<WebKitNamedFlow> WebKitNamedFlow::create(PassRefPtr<WebKitNamedFlowCollection> manager, const AtomicString& flowThreadName)
+PassRefPtr<WebKitNamedFlow> WebKitNamedFlow::create(PassRefPtr<NamedFlowCollection> manager, const AtomicString& flowThreadName)
{
return adoptRef(new WebKitNamedFlow(manager, flowThreadName));
}
@@ -117,7 +117,7 @@ PassRefPtr<NodeList> WebKitNamedFlow::getRegionsByContent(Node* contentNode)
const RenderRegionList& regionList = m_parentFlowThread->renderRegionList();
for (RenderRegionList::const_iterator iter = regionList.begin(); iter != regionList.end(); ++iter) {
const RenderRegion* renderRegion = *iter;
- // FIXME: Pseudo-elements are not included in the list
+ // FIXME: Pseudo-elements are not included in the list.
if (!renderRegion->isValid() || !renderRegion->node())
continue;
if (m_parentFlowThread->objectInFlowRegion(contentNode->renderer(), renderRegion))
@@ -143,7 +143,7 @@ PassRefPtr<NodeList> WebKitNamedFlow::getRegions()
const RenderRegionList& regionList = m_parentFlowThread->renderRegionList();
for (RenderRegionList::const_iterator iter = regionList.begin(); iter != regionList.end(); ++iter) {
const RenderRegion* renderRegion = *iter;
- // FIXME: Pseudo-elements are not included in the list
+ // FIXME: Pseudo-elements are not included in the list.
if (!renderRegion->isValid() || !renderRegion->node())
continue;
regionNodes.append(renderRegion->node());
@@ -179,7 +179,7 @@ void WebKitNamedFlow::setRenderer(RenderNamedFlowThread* parentFlowThread)
// The named flow can either go from a no_renderer->renderer or renderer->no_renderer state; anything else could indicate a bug.
ASSERT((!m_parentFlowThread && parentFlowThread) || (m_parentFlowThread && !parentFlowThread));
- // If parentFlowThread is 0, the flow thread will move in the "NULL" state"
+ // If parentFlowThread is 0, the flow thread will move in the "NULL" state.
m_parentFlowThread = parentFlowThread;
}
diff --git a/Source/WebCore/dom/WebKitNamedFlow.h b/Source/WebCore/dom/WebKitNamedFlow.h
index b51eadfb9..9069ad580 100644
--- a/Source/WebCore/dom/WebKitNamedFlow.h
+++ b/Source/WebCore/dom/WebKitNamedFlow.h
@@ -40,15 +40,15 @@
namespace WebCore {
class Document;
+class NamedFlowCollection;
class Node;
class NodeList;
class RenderNamedFlowThread;
class ScriptExecutionContext;
-class WebKitNamedFlowCollection;
class WebKitNamedFlow : public RefCounted<WebKitNamedFlow>, public EventTarget {
public:
- static PassRefPtr<WebKitNamedFlow> create(PassRefPtr<WebKitNamedFlowCollection> manager, const AtomicString& flowThreadName);
+ static PassRefPtr<WebKitNamedFlow> create(PassRefPtr<NamedFlowCollection> manager, const AtomicString& flowThreadName);
~WebKitNamedFlow();
@@ -81,7 +81,7 @@ public:
void dispatchRegionLayoutUpdateEvent();
private:
- WebKitNamedFlow(PassRefPtr<WebKitNamedFlowCollection>, const AtomicString&);
+ WebKitNamedFlow(PassRefPtr<NamedFlowCollection>, const AtomicString&);
// EventTarget implementation.
virtual void refEventTarget() { ref(); }
@@ -93,7 +93,7 @@ private:
// The name of the flow thread as specified in CSS.
AtomicString m_flowThreadName;
- RefPtr<WebKitNamedFlowCollection> m_flowManager;
+ RefPtr<NamedFlowCollection> m_flowManager;
RenderNamedFlowThread* m_parentFlowThread;
EventTargetData m_eventTargetData;
diff --git a/Source/WebCore/dom/make_names.pl b/Source/WebCore/dom/make_names.pl
index 5bd5e97d9..887c1a9db 100755
--- a/Source/WebCore/dom/make_names.pl
+++ b/Source/WebCore/dom/make_names.pl
@@ -1041,12 +1041,12 @@ END
} elsif ($wrapperFactoryType eq "V8") {
if ($enabledTags{$tagName}{wrapperOnlyIfMediaIsAvailable}) {
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
Settings* settings = element->document()->settings();
if (!MediaPlayer::isAvailable() || (settings && !settings->isMediaEnabled()))
- return V8$parameters{namespace}Element::wrap(element, isolate);
- return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
+ return V8$parameters{namespace}Element::wrap(element, creationContext, isolate);
+ return toV8(static_cast<${JSInterfaceName}*>(element), creationContext, isolate);
}
END
@@ -1054,28 +1054,28 @@ END
} elsif ($enabledTags{$tagName}{contextConditional}) {
my $contextConditional = $enabledTags{$tagName}{contextConditional};
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
if (!ContextFeatures::${contextConditional}Enabled(element->document()))
- return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), isolate);
- return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
+ return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), creationContext, isolate);
+ return toV8(static_cast<${JSInterfaceName}*>(element), creationContext, isolate);
}
END
;
} elsif (${JSInterfaceName} eq "HTMLElement") {
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
- return V8$parameters{namespace}Element::wrap(element, isolate);
+ return V8$parameters{namespace}Element::wrap(element, creationContext, isolate);
}
END
;
} else {
print F <<END
-static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate)
+static v8::Handle<v8::Value> create${JSInterfaceName}Wrapper($parameters{namespace}Element* element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate)
{
- return toV8(static_cast<${JSInterfaceName}*>(element), isolate);
+ return toV8(static_cast<${JSInterfaceName}*>(element), creationContext, isolate);
}
@@ -1157,7 +1157,7 @@ END
;
} elsif ($wrapperFactoryType eq "V8") {
print F <<END
-typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*, v8::Isolate*);
+typedef v8::Handle<v8::Value> (*Create$parameters{namespace}ElementWrapperFunction)($parameters{namespace}Element*, v8::Handle<v8::Object> creationContext, v8::Isolate*);
END
;
@@ -1176,7 +1176,7 @@ END
;
} elsif ($wrapperFactoryType eq "V8") {
print F <<END
-v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, v8::Isolate* isolate, bool forceNewObject)
+v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element* element, v8::Handle<v8::Object> creationContext, v8::Isolate* isolate, bool forceNewObject)
{
typedef HashMap<WTF::AtomicStringImpl*, Create$parameters{namespace}ElementWrapperFunction> FunctionMap;
DEFINE_STATIC_LOCAL(FunctionMap, map, ());
@@ -1217,8 +1217,8 @@ END
;
} elsif ($wrapperFactoryType eq "V8") {
print F <<END
- return createWrapperFunction(element, isolate);
- return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), 0, forceNewObject);
+ return createWrapperFunction(element, creationContext, isolate);
+ return V8$parameters{fallbackInterfaceName}::wrap(to$parameters{fallbackInterfaceName}(element), creationContext, isolate, forceNewObject);
END
;
}
@@ -1278,7 +1278,7 @@ namespace WebCore {
class $parameters{namespace}Element;
- v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, v8::Isolate*, bool);
+ v8::Handle<v8::Value> createV8$parameters{namespace}Wrapper($parameters{namespace}Element*, v8::Handle<v8::Object> creationContext, v8::Isolate*, bool);
}
END
;
diff --git a/Source/WebCore/editing/ApplyStyleCommand.cpp b/Source/WebCore/editing/ApplyStyleCommand.cpp
index 25a3c4aae..98b00dd12 100644
--- a/Source/WebCore/editing/ApplyStyleCommand.cpp
+++ b/Source/WebCore/editing/ApplyStyleCommand.cpp
@@ -31,7 +31,7 @@
#include "CSSProperty.h"
#include "CSSPropertyNames.h"
#include "CSSValueKeywords.h"
-#include "CSSValueList.h"
+#include "CSSValuePool.h"
#include "Document.h"
#include "EditingStyle.h"
#include "Editor.h"
@@ -50,6 +50,7 @@
#include "htmlediting.h"
#include "visible_units.h"
#include <wtf/StdLibExtras.h>
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -398,7 +399,7 @@ void ApplyStyleCommand::applyRelativeFontStyleChange(EditingStyle* style)
currentFontSize = computedFontSize(node);
}
if (currentFontSize != desiredFontSize) {
- inlineStyleDecl->setProperty(CSSPropertyFontSize, String::number(desiredFontSize) + "px", false);
+ inlineStyleDecl->setProperty(CSSPropertyFontSize, cssValuePool().createValue(desiredFontSize, CSSPrimitiveValue::CSS_PX), false);
setNodeAttribute(element.get(), styleAttr, inlineStyleDecl->asText());
}
if (inlineStyleDecl->isEmpty()) {
@@ -797,7 +798,11 @@ bool ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle(EditingStyle* styl
RefPtr<Node> next = runStart;
for (RefPtr<Node> node = next; node && node->inDocument() && node != pastEndNode; node = next) {
- next = node->traverseNextNode();
+ if (editingIgnoresContent(node.get())) {
+ ASSERT(!node->contains(pastEndNode.get()));
+ next = node->traverseNextSibling();
+ } else
+ next = node->traverseNextNode();
if (!node->isHTMLElement())
continue;
@@ -1047,7 +1052,12 @@ void ApplyStyleCommand::removeInlineStyle(EditingStyle* style, const Position &s
Node* node = start.deprecatedNode();
while (node) {
- RefPtr<Node> next = node->traverseNextNode();
+ RefPtr<Node> next;
+ if (editingIgnoresContent(node)) {
+ ASSERT(node == end.deprecatedNode() || !node->contains(end.deprecatedNode()));
+ next = node->traverseNextSibling();
+ } else
+ next = node->traverseNextNode();
if (node->isHTMLElement() && nodeFullySelected(node, start, end)) {
RefPtr<HTMLElement> elem = toHTMLElement(node);
RefPtr<Node> prev = elem->traversePreviousNodePostOrder();
@@ -1313,10 +1323,15 @@ void ApplyStyleCommand::addBlockStyle(const StyleChange& styleChange, HTMLElemen
if (!block)
return;
- String cssText = styleChange.cssStyle();
- if (const StylePropertySet* decl = block->inlineStyle())
- cssText += decl->asText();
- setNodeAttribute(block, styleAttr, cssText);
+ String cssStyle = styleChange.cssStyle();
+ StringBuilder cssText;
+ cssText.append(cssStyle);
+ if (const StylePropertySet* decl = block->inlineStyle()) {
+ if (!cssStyle.isEmpty())
+ cssText.append(' ');
+ cssText.append(decl->asText());
+ }
+ setNodeAttribute(block, styleAttr, cssText.toString());
}
void ApplyStyleCommand::addInlineStyleIfNeeded(EditingStyle* style, PassRefPtr<Node> passedStart, PassRefPtr<Node> passedEnd, EAddStyledElement addStyledElement)
@@ -1379,9 +1394,15 @@ void ApplyStyleCommand::addInlineStyleIfNeeded(EditingStyle* style, PassRefPtr<N
if (styleChange.cssStyle().length()) {
if (styleContainer) {
- if (const StylePropertySet* existingStyle = styleContainer->inlineStyle())
- setNodeAttribute(styleContainer, styleAttr, existingStyle->asText() + styleChange.cssStyle());
- else
+ if (const StylePropertySet* existingStyle = styleContainer->inlineStyle()) {
+ String existingText = existingStyle->asText();
+ StringBuilder cssText;
+ cssText.append(existingText);
+ if (!existingText.isEmpty())
+ cssText.append(' ');
+ cssText.append(styleChange.cssStyle());
+ setNodeAttribute(styleContainer, styleAttr, cssText.toString());
+ } else
setNodeAttribute(styleContainer, styleAttr, styleChange.cssStyle());
} else {
RefPtr<Element> styleElement = createStyleSpanElement(document());
diff --git a/Source/WebCore/editing/DOMTransactionStep.h b/Source/WebCore/editing/DOMTransactionStep.h
index 459ed5d8f..e7d55d96a 100644
--- a/Source/WebCore/editing/DOMTransactionStep.h
+++ b/Source/WebCore/editing/DOMTransactionStep.h
@@ -27,7 +27,6 @@
#if ENABLE(UNDO_MANAGER)
-#include "PlatformString.h"
#include "QualifiedName.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
diff --git a/Source/WebCore/editing/EditingStyle.h b/Source/WebCore/editing/EditingStyle.h
index 00e9d574a..7f990f534 100644
--- a/Source/WebCore/editing/EditingStyle.h
+++ b/Source/WebCore/editing/EditingStyle.h
@@ -32,12 +32,12 @@
#define EditingStyle_h
#include "CSSPropertyNames.h"
-#include "PlatformString.h"
#include "WritingDirection.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/editing/Editor.h b/Source/WebCore/editing/Editor.h
index bdd382954..15234db4c 100644
--- a/Source/WebCore/editing/Editor.h
+++ b/Source/WebCore/editing/Editor.h
@@ -64,6 +64,7 @@ class SimpleFontData;
class SpellChecker;
class SpellCheckRequest;
class AlternativeTextController;
+class SharedBuffer;
class StylePropertySet;
class Text;
class TextCheckerClient;
diff --git a/Source/WebCore/editing/EditorCommand.cpp b/Source/WebCore/editing/EditorCommand.cpp
index 478ab6c5a..e34ae9685 100644
--- a/Source/WebCore/editing/EditorCommand.cpp
+++ b/Source/WebCore/editing/EditorCommand.cpp
@@ -49,6 +49,7 @@
#include "InsertListCommand.h"
#include "KillRing.h"
#include "Page.h"
+#include "Pasteboard.h"
#include "RenderBox.h"
#include "ReplaceSelectionCommand.h"
#include "Scrollbar.h"
@@ -139,7 +140,7 @@ static bool executeToggleStyleInList(Frame* frame, EditorCommandSource source, E
return false;
RefPtr<CSSValue> selectedCSSValue = selectionStyle->style()->getPropertyCSSValue(propertyID);
- String newStyle = "none";
+ String newStyle = ASCIILiteral("none");
if (selectedCSSValue->isValueList()) {
RefPtr<CSSValueList> selectedCSSValueList = static_cast<CSSValueList*>(selectedCSSValue.get());
if (!selectedCSSValueList->removeAll(value))
@@ -916,6 +917,20 @@ static bool executePaste(Frame* frame, Event*, EditorCommandSource source, const
return true;
}
+static bool executePasteGlobalSelection(Frame* frame, Event*, EditorCommandSource source, const String&)
+{
+ if (!frame->editor()->client()->supportsGlobalSelection())
+ return false;
+ ASSERT_UNUSED(source, source == CommandFromMenuOrKeyBinding);
+ UserTypingGestureIndicator typingGestureIndicator(frame);
+
+ bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
+ Pasteboard::generalPasteboard()->setSelectionMode(true);
+ frame->editor()->paste();
+ Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
+ return true;
+}
+
static bool executePasteAndMatchStyle(Frame* frame, Event*, EditorCommandSource source, const String&)
{
if (source == CommandFromMenuOrKeyBinding) {
@@ -1544,6 +1559,7 @@ static const CommandMap& createCommandMap()
{ "Paste", { executePaste, supportedPaste, enabledPaste, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } },
{ "PasteAndMatchStyle", { executePasteAndMatchStyle, supportedPaste, enabledPaste, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } },
{ "PasteAsPlainText", { executePasteAsPlainText, supportedPaste, enabledPaste, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } },
+ { "PasteGlobalSelection", { executePasteGlobalSelection, supportedFromMenuOrKeyBinding, enabledPaste, stateNone, valueNull, notTextInsertion, allowExecutionWhenDisabled } },
{ "Print", { executePrint, supported, enabled, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
{ "Redo", { executeRedo, supported, enabledRedo, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
{ "RemoveFormat", { executeRemoveFormat, supported, enabledRangeInEditableText, stateNone, valueNull, notTextInsertion, doNotAllowExecutionWhenDisabled } },
diff --git a/Source/WebCore/editing/HTMLInterchange.cpp b/Source/WebCore/editing/HTMLInterchange.cpp
index b92472fef..0df9b25ef 100644
--- a/Source/WebCore/editing/HTMLInterchange.cpp
+++ b/Source/WebCore/editing/HTMLInterchange.cpp
@@ -35,29 +35,15 @@
namespace WebCore {
-namespace {
-
-String convertedSpaceString()
-{
- DEFINE_STATIC_LOCAL(String, convertedSpaceString, ());
- if (convertedSpaceString.isNull()) {
- convertedSpaceString = "<span class=\"";
- convertedSpaceString += AppleConvertedSpace;
- convertedSpaceString += "\">";
- convertedSpaceString.append(noBreakSpace);
- convertedSpaceString += "</span>";
- }
- return convertedSpaceString;
-}
-
-} // end anonymous namespace
-
String convertHTMLTextToInterchangeFormat(const String& in, const Text* node)
{
// Assume all the text comes from node.
if (node->renderer() && node->renderer()->style()->preserveNewline())
return in;
+ const char convertedSpaceString[] = "<span class=\"" AppleConvertedSpace "\">\xA0</span>";
+ COMPILE_ASSERT((static_cast<unsigned char>('\xA0') == noBreakSpace), ConvertedSpaceStringSpaceIsNoBreakSpace);
+
StringBuilder s;
unsigned i = 0;
@@ -75,28 +61,28 @@ String convertHTMLTextToInterchangeFormat(const String& in, const Text* node)
unsigned add = count % 3;
switch (add) {
case 0:
- s.append(convertedSpaceString());
+ s.appendLiteral(convertedSpaceString);
s.append(' ');
- s.append(convertedSpaceString());
+ s.appendLiteral(convertedSpaceString);
add = 3;
break;
case 1:
if (i == 0 || i + 1 == in.length()) // at start or end of string
- s.append(convertedSpaceString());
+ s.appendLiteral(convertedSpaceString);
else
s.append(' ');
break;
case 2:
if (i == 0) {
// at start of string
- s.append(convertedSpaceString());
+ s.appendLiteral(convertedSpaceString);
s.append(' ');
} else if (i + 2 == in.length()) {
// at end of string
- s.append(convertedSpaceString());
- s.append(convertedSpaceString());
+ s.appendLiteral(convertedSpaceString);
+ s.appendLiteral(convertedSpaceString);
} else {
- s.append(convertedSpaceString());
+ s.appendLiteral(convertedSpaceString);
s.append(' ');
}
break;
diff --git a/Source/WebCore/editing/MarkupAccumulator.cpp b/Source/WebCore/editing/MarkupAccumulator.cpp
index ca3c249a3..7df038abc 100644
--- a/Source/WebCore/editing/MarkupAccumulator.cpp
+++ b/Source/WebCore/editing/MarkupAccumulator.cpp
@@ -47,11 +47,11 @@ using namespace HTMLNames;
void appendCharactersReplacingEntities(StringBuilder& result, const UChar* content, size_t length, EntityMask entityMask)
{
- DEFINE_STATIC_LOCAL(const String, ampReference, ("&amp;"));
- DEFINE_STATIC_LOCAL(const String, ltReference, ("&lt;"));
- DEFINE_STATIC_LOCAL(const String, gtReference, ("&gt;"));
- DEFINE_STATIC_LOCAL(const String, quotReference, ("&quot;"));
- DEFINE_STATIC_LOCAL(const String, nbspReference, ("&nbsp;"));
+ DEFINE_STATIC_LOCAL(const String, ampReference, (ASCIILiteral("&amp;")));
+ DEFINE_STATIC_LOCAL(const String, ltReference, (ASCIILiteral("&lt;")));
+ DEFINE_STATIC_LOCAL(const String, gtReference, (ASCIILiteral("&gt;")));
+ DEFINE_STATIC_LOCAL(const String, quotReference, (ASCIILiteral("&quot;")));
+ DEFINE_STATIC_LOCAL(const String, nbspReference, (ASCIILiteral("&nbsp;")));
static const EntityDescription entityMaps[] = {
{ '&', ampReference, EntityAmp },
@@ -235,7 +235,7 @@ bool MarkupAccumulator::shouldAddNamespaceElement(const Element* element)
if (prefix.isEmpty())
return !element->hasAttribute(xmlnsAtom);
- DEFINE_STATIC_LOCAL(String, xmlnsWithColon, ("xmlns:"));
+ DEFINE_STATIC_LOCAL(String, xmlnsWithColon, (ASCIILiteral("xmlns:")));
return !element->hasAttribute(xmlnsWithColon + prefix);
}
diff --git a/Source/WebCore/editing/MarkupAccumulator.h b/Source/WebCore/editing/MarkupAccumulator.h
index 4de18328b..86d5a2fc6 100644
--- a/Source/WebCore/editing/MarkupAccumulator.h
+++ b/Source/WebCore/editing/MarkupAccumulator.h
@@ -26,7 +26,6 @@
#ifndef MarkupAccumulator_h
#define MarkupAccumulator_h
-#include "PlatformString.h"
#include "markup.h"
#include <wtf/HashMap.h>
#include <wtf/Vector.h>
diff --git a/Source/WebCore/editing/SmartReplaceICU.cpp b/Source/WebCore/editing/SmartReplaceICU.cpp
index c3507ad0c..c6ea7d63d 100644
--- a/Source/WebCore/editing/SmartReplaceICU.cpp
+++ b/Source/WebCore/editing/SmartReplaceICU.cpp
@@ -31,9 +31,9 @@
#include "SmartReplace.h"
#if !USE(CF) && USE(ICU_UNICODE)
-#include "PlatformString.h"
#include <unicode/uset.h>
#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -54,7 +54,7 @@ static USet* getSmartSet(bool isPreviousCharacter)
if (!smartSet) {
// Whitespace and newline (kCFCharacterSetWhitespaceAndNewline)
UErrorCode ec = U_ZERO_ERROR;
- String whitespaceAndNewline = "[[:WSpace:] [\\u000A\\u000B\\u000C\\u000D\\u0085]]";
+ String whitespaceAndNewline = ASCIILiteral("[[:WSpace:] [\\u000A\\u000B\\u000C\\u000D\\u0085]]");
smartSet = uset_openPattern(whitespaceAndNewline.characters(), whitespaceAndNewline.length(), &ec);
ASSERT(U_SUCCESS(ec));
@@ -71,14 +71,14 @@ static USet* getSmartSet(bool isPreviousCharacter)
uset_addRange(smartSet, 0x2F800, 0x2F800 + 0x021E); // CJK Compatibility Ideographs (0x2F800 - 0x2FA1D)
if (isPreviousCharacter) {
- addAllCodePoints(smartSet, "([\"\'#$/-`{");
+ addAllCodePoints(smartSet, ASCIILiteral("([\"\'#$/-`{"));
preSmartSet = smartSet;
} else {
- addAllCodePoints(smartSet, ")].,;:?\'!\"%*-/}");
+ addAllCodePoints(smartSet, ASCIILiteral(")].,;:?\'!\"%*-/}"));
// Punctuation (kCFCharacterSetPunctuation)
UErrorCode ec = U_ZERO_ERROR;
- String punctuationClass = "[:P:]";
+ String punctuationClass = ASCIILiteral("[:P:]");
USet* icuPunct = uset_openPattern(punctuationClass.characters(), punctuationClass.length(), &ec);
ASSERT(U_SUCCESS(ec));
uset_addAll(smartSet, icuPunct);
diff --git a/Source/WebCore/editing/SpellChecker.h b/Source/WebCore/editing/SpellChecker.h
index 37c181cfd..cb677ab48 100644
--- a/Source/WebCore/editing/SpellChecker.h
+++ b/Source/WebCore/editing/SpellChecker.h
@@ -27,7 +27,6 @@
#define SpellChecker_h
#include "Element.h"
-#include "PlatformString.h"
#include "Range.h"
#include "TextChecking.h"
#include "Timer.h"
@@ -36,6 +35,7 @@
#include <wtf/RefPtr.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/editing/SurroundingText.h b/Source/WebCore/editing/SurroundingText.h
index 6069875a1..6e8713d40 100644
--- a/Source/WebCore/editing/SurroundingText.h
+++ b/Source/WebCore/editing/SurroundingText.h
@@ -31,7 +31,7 @@
#ifndef SurroundingText_h
#define SurroundingText_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/editing/VisiblePosition.h b/Source/WebCore/editing/VisiblePosition.h
index c3f11f37e..1f58f68c4 100644
--- a/Source/WebCore/editing/VisiblePosition.h
+++ b/Source/WebCore/editing/VisiblePosition.h
@@ -27,7 +27,6 @@
#define VisiblePosition_h
#include "EditingBoundary.h"
-#include "Node.h"
#include "Position.h"
#include "TextDirection.h"
@@ -47,6 +46,7 @@ namespace WebCore {
#define VP_UPSTREAM_IF_POSSIBLE UPSTREAM
class InlineBox;
+class Node;
class VisiblePosition {
public:
diff --git a/Source/WebCore/editing/VisibleSelection.cpp b/Source/WebCore/editing/VisibleSelection.cpp
index 8cd1df031..4fff85509 100644
--- a/Source/WebCore/editing/VisibleSelection.cpp
+++ b/Source/WebCore/editing/VisibleSelection.cpp
@@ -36,6 +36,7 @@
#include <stdio.h>
#include <wtf/Assertions.h>
#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/unicode/CharacterNames.h>
namespace WebCore {
@@ -671,23 +672,23 @@ void VisibleSelection::debugPosition() const
void VisibleSelection::formatForDebugger(char* buffer, unsigned length) const
{
- String result;
+ StringBuilder result;
String s;
-
+
if (isNone()) {
- result = "<none>";
+ result.appendLiteral("<none>");
} else {
const int FormatBufferSize = 1024;
char s[FormatBufferSize];
- result += "from ";
+ result.appendLiteral("from ");
start().formatForDebugger(s, FormatBufferSize);
- result += s;
- result += " to ";
+ result.append(s);
+ result.appendLiteral(" to ");
end().formatForDebugger(s, FormatBufferSize);
- result += s;
+ result.append(s);
}
- strncpy(buffer, result.utf8().data(), length - 1);
+ strncpy(buffer, result.toString().utf8().data(), length - 1);
}
void VisibleSelection::showTreeForThis() const
diff --git a/Source/WebCore/editing/markup.cpp b/Source/WebCore/editing/markup.cpp
index 5d9ba2dee..10eea016b 100644
--- a/Source/WebCore/editing/markup.cpp
+++ b/Source/WebCore/editing/markup.cpp
@@ -135,7 +135,7 @@ public:
private:
void appendStyleNodeOpenTag(StringBuilder&, StylePropertySet*, Document*, bool isBlock = false);
- const String styleNodeCloseTag(bool isBlock = false);
+ const String& styleNodeCloseTag(bool isBlock = false);
virtual void appendText(StringBuilder& out, Text*);
String renderedText(const Node*, const Range*);
String stringValueForRange(const Node*, const Range*);
@@ -191,18 +191,19 @@ void StyledMarkupAccumulator::appendStyleNodeOpenTag(StringBuilder& out, StylePr
{
// wrappingStyleForSerialization should have removed -webkit-text-decorations-in-effect
ASSERT(propertyMissingOrEqualToNone(style, CSSPropertyWebkitTextDecorationsInEffect));
- DEFINE_STATIC_LOCAL(const String, divStyle, ("<div style=\""));
- DEFINE_STATIC_LOCAL(const String, styleSpanOpen, ("<span style=\""));
- out.append(isBlock ? divStyle : styleSpanOpen);
+ if (isBlock)
+ out.appendLiteral("<div style=\"");
+ else
+ out.appendLiteral("<span style=\"");
appendAttributeValue(out, style->asText(), document->isHTMLDocument());
out.append('\"');
out.append('>');
}
-const String StyledMarkupAccumulator::styleNodeCloseTag(bool isBlock)
+const String& StyledMarkupAccumulator::styleNodeCloseTag(bool isBlock)
{
- DEFINE_STATIC_LOCAL(const String, divClose, ("</div>"));
- DEFINE_STATIC_LOCAL(const String, styleSpanClose, ("</span>"));
+ DEFINE_STATIC_LOCAL(const String, divClose, (ASCIILiteral("</div>")));
+ DEFINE_STATIC_LOCAL(const String, styleSpanClose, (ASCIILiteral("</span>")));
return isBlock ? divClose : styleSpanClose;
}
@@ -328,8 +329,7 @@ void StyledMarkupAccumulator::appendElement(StringBuilder& out, Element* element
}
if (!newInlineStyle->isEmpty()) {
- DEFINE_STATIC_LOCAL(const String, stylePrefix, (" style=\""));
- out.append(stylePrefix);
+ out.appendLiteral(" style=\"");
appendAttributeValue(out, newInlineStyle->style()->asText(), documentIsHTML);
out.append('\"');
}
@@ -549,7 +549,7 @@ static Node* highestAncestorToWrapMarkup(const Range* range, EAnnotateForInterch
// FIXME: At least, annotation and style info should probably not be included in range.markupString()
String createMarkup(const Range* range, Vector<Node*>* nodes, EAnnotateForInterchange shouldAnnotate, bool convertBlocksToInlines, EAbsoluteURLs shouldResolveURLs)
{
- DEFINE_STATIC_LOCAL(const String, interchangeNewlineString, ("<br class=\"" AppleInterchangeNewline "\">"));
+ DEFINE_STATIC_LOCAL(const String, interchangeNewlineString, (ASCIILiteral("<br class=\"" AppleInterchangeNewline "\">")));
if (!range)
return "";
@@ -794,7 +794,7 @@ static void fillContainerFromString(ContainerNode* paragraph, const String& stri
Vector<String> tabList;
string.split('\t', true, tabList);
- String tabText = "";
+ String tabText = emptyString();
bool first = true;
size_t numEntries = tabList.size();
for (size_t i = 0; i < numEntries; ++i) {
@@ -805,7 +805,7 @@ static void fillContainerFromString(ContainerNode* paragraph, const String& stri
if (!tabText.isEmpty()) {
paragraph->appendChild(createTabSpanElement(document, tabText), ec);
ASSERT(!ec);
- tabText = "";
+ tabText = emptyString();
}
RefPtr<Node> textNode = document->createTextNode(stringWithRebalancedWhitespace(s, first, i + 1 == numEntries));
paragraph->appendChild(textNode.release(), ec);
diff --git a/Source/WebCore/editing/visible_units.cpp b/Source/WebCore/editing/visible_units.cpp
index b42af2645..b0fb925fb 100644
--- a/Source/WebCore/editing/visible_units.cpp
+++ b/Source/WebCore/editing/visible_units.cpp
@@ -36,7 +36,6 @@
#include "RenderedPosition.h"
#include "Text.h"
#include "TextBoundaries.h"
-#include "TextBreakIterator.h"
#include "TextIterator.h"
#include "VisiblePosition.h"
#include "VisibleSelection.h"
@@ -323,7 +322,7 @@ static TextBreakIterator* wordBreakIteratorForMaxOffsetBoundary(const VisiblePos
return wordBreakIterator(string.data(), len);
}
-static bool isLogicalStartOfWord(TextBreakIterator* iter, int position, bool hardLineBreak)
+bool isLogicalStartOfWord(TextBreakIterator* iter, int position, bool hardLineBreak)
{
bool boundary = hardLineBreak ? true : isTextBreak(iter, position);
if (!boundary)
@@ -334,7 +333,7 @@ static bool isLogicalStartOfWord(TextBreakIterator* iter, int position, bool har
return isWordTextBreak(iter);
}
-static bool islogicalEndOfWord(TextBreakIterator* iter, int position, bool hardLineBreak)
+bool islogicalEndOfWord(TextBreakIterator* iter, int position, bool hardLineBreak)
{
bool boundary = isTextBreak(iter, position);
return (hardLineBreak || boundary) && isWordTextBreak(iter);
diff --git a/Source/WebCore/editing/visible_units.h b/Source/WebCore/editing/visible_units.h
index 05b1a30bc..816ebbb48 100644
--- a/Source/WebCore/editing/visible_units.h
+++ b/Source/WebCore/editing/visible_units.h
@@ -28,6 +28,7 @@
#include "EditingBehaviorTypes.h"
#include "EditingBoundary.h"
+#include "TextBreakIterator.h"
#include "TextDirection.h"
namespace WebCore {
@@ -45,6 +46,9 @@ VisiblePosition nextWordPosition(const VisiblePosition &);
VisiblePosition rightWordPosition(const VisiblePosition&, bool skipsSpaceWhenMovingRight);
VisiblePosition leftWordPosition(const VisiblePosition&, bool skipsSpaceWhenMovingRight);
bool isStartOfWord(const VisiblePosition&);
+// used by TextCheckerEnchant.cpp
+bool isLogicalStartOfWord(TextBreakIterator*, int position, bool hardLineBreak = false);
+bool islogicalEndOfWord(TextBreakIterator*, int position, bool hardLineBreak = false);
// sentences
VisiblePosition startOfSentence(const VisiblePosition &);
diff --git a/Source/WebCore/fileapi/AsyncFileStream.cpp b/Source/WebCore/fileapi/AsyncFileStream.cpp
index 1b035ccc3..e948a7a42 100644
--- a/Source/WebCore/fileapi/AsyncFileStream.cpp
+++ b/Source/WebCore/fileapi/AsyncFileStream.cpp
@@ -41,8 +41,8 @@
#include "FileStreamClient.h"
#include "FileThread.h"
#include "FileThreadTask.h"
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/fileapi/Blob.h b/Source/WebCore/fileapi/Blob.h
index 1ef30d972..9cd80008a 100644
--- a/Source/WebCore/fileapi/Blob.h
+++ b/Source/WebCore/fileapi/Blob.h
@@ -33,11 +33,11 @@
#include "BlobData.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/fileapi/BlobURL.cpp b/Source/WebCore/fileapi/BlobURL.cpp
index f7478534c..659007b14 100644
--- a/Source/WebCore/fileapi/BlobURL.cpp
+++ b/Source/WebCore/fileapi/BlobURL.cpp
@@ -33,9 +33,9 @@
#include "BlobURL.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include "UUID.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -72,11 +72,7 @@ String BlobURL::getIdentifier(const KURL& url)
KURL BlobURL::createBlobURL(const String& originString)
{
ASSERT(!originString.isEmpty());
- String urlString = kBlobProtocol;
- urlString += ":";
- urlString += encodeWithURLEscapeSequences(originString);
- urlString += "/";
- urlString += createCanonicalUUIDString();
+ String urlString = "blob:" + encodeWithURLEscapeSequences(originString) + '/' + createCanonicalUUIDString();
return KURL(ParsedURLString, urlString);
}
diff --git a/Source/WebCore/fileapi/File.h b/Source/WebCore/fileapi/File.h
index b915902d4..c8096d1c5 100644
--- a/Source/WebCore/fileapi/File.h
+++ b/Source/WebCore/fileapi/File.h
@@ -27,9 +27,9 @@
#define File_h
#include "Blob.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/fileapi/FileReader.cpp b/Source/WebCore/fileapi/FileReader.cpp
index 0f245c211..2476859fb 100644
--- a/Source/WebCore/fileapi/FileReader.cpp
+++ b/Source/WebCore/fileapi/FileReader.cpp
@@ -161,7 +161,7 @@ void FileReader::abort()
{
LOG(FileAPI, "FileReader: aborting\n");
- if (m_aborting)
+ if (m_aborting || m_state != LOADING)
return;
m_aborting = true;
diff --git a/Source/WebCore/history/HistoryItem.cpp b/Source/WebCore/history/HistoryItem.cpp
index fe11eabb1..a8f374ecc 100644
--- a/Source/WebCore/history/HistoryItem.cpp
+++ b/Source/WebCore/history/HistoryItem.cpp
@@ -532,6 +532,18 @@ void HistoryItem::clearChildren()
m_children.clear();
}
+bool HistoryItem::isAncestorOf(const HistoryItem* item) const
+{
+ for (size_t i = 0; i < m_children.size(); ++i) {
+ HistoryItem* child = m_children[i].get();
+ if (child == item)
+ return true;
+ if (child->isAncestorOf(item))
+ return true;
+ }
+ return false;
+}
+
// We do same-document navigation if going to a different item and if either of the following is true:
// - The other item corresponds to the same document (for history entries created via pushState or fragment changes).
// - The other item corresponds to the same set of documents, including frames (for history entries created via regular navigation)
diff --git a/Source/WebCore/history/HistoryItem.h b/Source/WebCore/history/HistoryItem.h
index ffe64fb43..2472aa3fa 100644
--- a/Source/WebCore/history/HistoryItem.h
+++ b/Source/WebCore/history/HistoryItem.h
@@ -28,11 +28,11 @@
#define HistoryItem_h
#include "IntPoint.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(MAC)
#import <wtf/RetainPtr.h>
@@ -171,6 +171,7 @@ public:
const HistoryItemVector& children() const;
bool hasChildren() const;
void clearChildren();
+ bool isAncestorOf(const HistoryItem*) const;
bool shouldDoSameDocumentNavigationTo(HistoryItem* otherItem) const;
bool hasSameFrames(HistoryItem* otherItem) const;
diff --git a/Source/WebCore/history/blackberry/HistoryItemViewState.h b/Source/WebCore/history/blackberry/HistoryItemViewState.h
index 6148c7f64..d25daa317 100644
--- a/Source/WebCore/history/blackberry/HistoryItemViewState.h
+++ b/Source/WebCore/history/blackberry/HistoryItemViewState.h
@@ -19,7 +19,7 @@
#ifndef HistoryItemViewState_h
#define HistoryItemViewState_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/history/cf/HistoryPropertyList.h b/Source/WebCore/history/cf/HistoryPropertyList.h
index fcb8c478a..6a6e09f5d 100644
--- a/Source/WebCore/history/cf/HistoryPropertyList.h
+++ b/Source/WebCore/history/cf/HistoryPropertyList.h
@@ -27,8 +27,8 @@
#define HistoryPropertyList_h
#include "BinaryPropertyList.h"
-#include "PlatformString.h"
#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/ColorInputType.cpp b/Source/WebCore/html/ColorInputType.cpp
index c4eb524e5..42446768f 100644
--- a/Source/WebCore/html/ColorInputType.cpp
+++ b/Source/WebCore/html/ColorInputType.cpp
@@ -208,7 +208,7 @@ HTMLElement* ColorInputType::shadowColorSwatch() const
IntRect ColorInputType::elementRectRelativeToRootView() const
{
- return element()->document()->view()->contentsToRootView(element()->getPixelSnappedRect());
+ return element()->document()->view()->contentsToRootView(element()->pixelSnappedBoundingBox());
}
Color ColorInputType::currentColor()
diff --git a/Source/WebCore/html/DOMFormData.cpp b/Source/WebCore/html/DOMFormData.cpp
index a8a97184a..703a69dbd 100644
--- a/Source/WebCore/html/DOMFormData.cpp
+++ b/Source/WebCore/html/DOMFormData.cpp
@@ -34,8 +34,8 @@
#include "Blob.h"
#include "HTMLFormControlElement.h"
#include "HTMLFormElement.h"
-#include "PlatformString.h"
#include "TextEncoding.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/DOMURL.h b/Source/WebCore/html/DOMURL.h
index d71fb93f3..86ea5ff01 100644
--- a/Source/WebCore/html/DOMURL.h
+++ b/Source/WebCore/html/DOMURL.h
@@ -28,10 +28,10 @@
#define DOMURL_h
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/FormAssociatedElement.h b/Source/WebCore/html/FormAssociatedElement.h
index f98106316..390e0ee75 100644
--- a/Source/WebCore/html/FormAssociatedElement.h
+++ b/Source/WebCore/html/FormAssociatedElement.h
@@ -24,13 +24,18 @@
#ifndef FormAssociatedElement_h
#define FormAssociatedElement_h
-#include "HTMLElement.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
+class ContainerNode;
+class Document;
class FormAttributeTargetObserver;
class FormDataList;
+class HTMLElement;
class HTMLFormElement;
+class Node;
+class ShadowRoot;
class ValidationMessage;
class ValidityState;
class VisibleSelection;
diff --git a/Source/WebCore/html/FormController.cpp b/Source/WebCore/html/FormController.cpp
index e35eff19e..e5767e1b3 100644
--- a/Source/WebCore/html/FormController.cpp
+++ b/Source/WebCore/html/FormController.cpp
@@ -358,8 +358,8 @@ AtomicString FormKeyGenerator::formKey(const HTMLFormControlElementWithState& co
StringBuilder builder;
builder.append(signature);
- builder.append(" #");
- builder.append(String::number(nextIndex));
+ builder.appendLiteral(" #");
+ builder.appendNumber(nextIndex);
AtomicString formKey = builder.toAtomicString();
m_formToKeyMap.add(form, formKey);
return formKey;
@@ -391,7 +391,7 @@ static String formStateSignature()
// In the legacy version of serialized state, the first item was a name
// attribute value of a form control. The following string literal should
// contain some characters which are rarely used for name attribute values.
- DEFINE_STATIC_LOCAL(String, signature, ("\n\r?% WebKit serialized form state version 7 \n\r=&"));
+ DEFINE_STATIC_LOCAL(String, signature, (ASCIILiteral("\n\r?% WebKit serialized form state version 7 \n\r=&")));
return signature;
}
diff --git a/Source/WebCore/html/HTMLAnchorElement.cpp b/Source/WebCore/html/HTMLAnchorElement.cpp
index 9f50c7feb..f9e3ebc38 100644
--- a/Source/WebCore/html/HTMLAnchorElement.cpp
+++ b/Source/WebCore/html/HTMLAnchorElement.cpp
@@ -41,6 +41,7 @@
#include "SecurityOrigin.h"
#include "SecurityPolicy.h"
#include "Settings.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -114,10 +115,13 @@ bool HTMLAnchorElement::isKeyboardFocusable(KeyboardEvent* event) const
if (!document()->frame()->eventHandler()->tabsToLinks(event))
return false;
+ if (isInCanvasSubtree())
+ return true;
+
return hasNonEmptyBoundingBox();
}
-static void appendServerMapMousePosition(String& url, Event* event)
+static void appendServerMapMousePosition(StringBuilder& url, Event* event)
{
if (!event->isMouseEvent())
return;
@@ -140,10 +144,10 @@ static void appendServerMapMousePosition(String& url, Event* event)
FloatPoint absolutePosition = renderer->absoluteToLocal(FloatPoint(static_cast<MouseEvent*>(event)->pageX(), static_cast<MouseEvent*>(event)->pageY()));
int x = absolutePosition.x();
int y = absolutePosition.y();
- url += "?";
- url += String::number(x);
- url += ",";
- url += String::number(y);
+ url.append('?');
+ url.appendNumber(x);
+ url.append(',');
+ url.appendNumber(y);
}
void HTMLAnchorElement::defaultEventHandler(Event* event)
@@ -504,9 +508,10 @@ void HTMLAnchorElement::handleClick(Event* event)
if (!frame)
return;
- String url = stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr));
+ StringBuilder url;
+ url.append(stripLeadingAndTrailingHTMLSpaces(fastGetAttribute(hrefAttr)));
appendServerMapMousePosition(url, event);
- KURL kurl = document()->completeURL(url);
+ KURL kurl = document()->completeURL(url.toString());
#if ENABLE(DOWNLOAD_ATTRIBUTE)
if (hasAttribute(downloadAttr)) {
diff --git a/Source/WebCore/html/HTMLCollection.h b/Source/WebCore/html/HTMLCollection.h
index 833618373..51c780926 100644
--- a/Source/WebCore/html/HTMLCollection.h
+++ b/Source/WebCore/html/HTMLCollection.h
@@ -23,7 +23,6 @@
#ifndef HTMLCollection_h
#define HTMLCollection_h
-#include "Node.h"
#include "CollectionType.h"
#include "DynamicNodeList.h"
#include <wtf/Forward.h>
@@ -35,6 +34,7 @@ namespace WebCore {
class Document;
class Element;
+class Node;
class NodeList;
class HTMLCollectionCacheBase : public DynamicNodeListCacheBase {
diff --git a/Source/WebCore/html/HTMLDialogElement.cpp b/Source/WebCore/html/HTMLDialogElement.cpp
index 4510d8143..537432960 100644
--- a/Source/WebCore/html/HTMLDialogElement.cpp
+++ b/Source/WebCore/html/HTMLDialogElement.cpp
@@ -29,6 +29,7 @@
#if ENABLE(DIALOG_ELEMENT)
#include "ExceptionCode.h"
+#include "RenderDialog.h"
namespace WebCore {
@@ -71,6 +72,11 @@ bool HTMLDialogElement::isPresentationAttribute(const QualifiedName& name) const
return HTMLElement::isPresentationAttribute(name);
}
+RenderObject* HTMLDialogElement::createRenderer(RenderArena* arena, RenderStyle*)
+{
+ return new (arena) RenderDialog(this);
+}
+
}
#endif
diff --git a/Source/WebCore/html/HTMLDialogElement.h b/Source/WebCore/html/HTMLDialogElement.h
index d1dd77689..7a7b0119f 100644
--- a/Source/WebCore/html/HTMLDialogElement.h
+++ b/Source/WebCore/html/HTMLDialogElement.h
@@ -45,6 +45,7 @@ public:
private:
HTMLDialogElement(const QualifiedName&, Document*);
+ virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
virtual bool isPresentationAttribute(const QualifiedName&) const OVERRIDE;
};
diff --git a/Source/WebCore/html/HTMLElement.cpp b/Source/WebCore/html/HTMLElement.cpp
index f67abc3fd..641c0b890 100644
--- a/Source/WebCore/html/HTMLElement.cpp
+++ b/Source/WebCore/html/HTMLElement.cpp
@@ -628,6 +628,11 @@ void HTMLElement::applyAlignmentAttributeToStyle(const Attribute& attribute, Sty
addPropertyToAttributeStyle(style, CSSPropertyVerticalAlign, verticalAlignValue);
}
+bool HTMLElement::hasCustomFocusLogic() const
+{
+ return false;
+}
+
bool HTMLElement::supportsFocus() const
{
return Element::supportsFocus() || (rendererIsEditable() && parentNode() && !parentNode()->rendererIsEditable());
diff --git a/Source/WebCore/html/HTMLElement.h b/Source/WebCore/html/HTMLElement.h
index 51fb096d4..3ad40634b 100644
--- a/Source/WebCore/html/HTMLElement.h
+++ b/Source/WebCore/html/HTMLElement.h
@@ -64,6 +64,7 @@ public:
void insertAdjacentHTML(const String& where, const String& html, ExceptionCode&);
void insertAdjacentText(const String& where, const String& text, ExceptionCode&);
+ virtual bool hasCustomFocusLogic() const;
virtual bool supportsFocus() const;
String contentEditable() const;
diff --git a/Source/WebCore/html/HTMLFrameElementBase.cpp b/Source/WebCore/html/HTMLFrameElementBase.cpp
index 3a93a1abd..eaa354994 100644
--- a/Source/WebCore/html/HTMLFrameElementBase.cpp
+++ b/Source/WebCore/html/HTMLFrameElementBase.cpp
@@ -161,9 +161,10 @@ Node::InsertionNotificationRequest HTMLFrameElementBase::insertedInto(ContainerN
return InsertionDone;
}
-void HTMLFrameElementBase::didNotifySubtreeInsertions(ContainerNode* insertionPoint)
+void HTMLFrameElementBase::didNotifySubtreeInsertions(ContainerNode*)
{
- ASSERT_UNUSED(insertionPoint, insertionPoint->inDocument());
+ if (!inDocument())
+ return;
// DocumentFragments don't kick of any loads.
if (!document()->frame())
diff --git a/Source/WebCore/html/HTMLImageElement.cpp b/Source/WebCore/html/HTMLImageElement.cpp
index ba0fd99c6..2ca33bdcb 100644
--- a/Source/WebCore/html/HTMLImageElement.cpp
+++ b/Source/WebCore/html/HTMLImageElement.cpp
@@ -421,4 +421,12 @@ inline ImageInnerElement* HTMLImageElement::innerElement() const
return toImageInnerElement(userAgentShadowRoot()->firstChild());
}
+void HTMLImageElement::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ HTMLElement::reportMemoryUsage(memoryObjectInfo);
+ info.addMember(m_imageLoader);
+ info.addInstrumentedMember(m_form);
+}
+
}
diff --git a/Source/WebCore/html/HTMLImageElement.h b/Source/WebCore/html/HTMLImageElement.h
index ae8e7cb3d..4657d7cd5 100644
--- a/Source/WebCore/html/HTMLImageElement.h
+++ b/Source/WebCore/html/HTMLImageElement.h
@@ -89,6 +89,8 @@ public:
virtual bool canContainRangeEndPoint() const { return false; }
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
protected:
HTMLImageElement(const QualifiedName&, Document*, HTMLFormElement* = 0);
diff --git a/Source/WebCore/html/HTMLInputElement.cpp b/Source/WebCore/html/HTMLInputElement.cpp
index 461e39d51..c82de2fef 100644
--- a/Source/WebCore/html/HTMLInputElement.cpp
+++ b/Source/WebCore/html/HTMLInputElement.cpp
@@ -111,6 +111,9 @@ HTMLInputElement::HTMLInputElement(const QualifiedName& tagName, Document* docum
, m_isActivatedSubmit(false)
, m_autocomplete(Uninitialized)
, m_isAutofilled(false)
+#if ENABLE(DATALIST_ELEMENT)
+ , m_hasNonEmptyList(false)
+#endif
, m_stateRestored(false)
, m_parsingInProgress(createdByParser)
, m_valueAttributeWasUpdatedAfterParsing(false)
@@ -207,6 +210,11 @@ HTMLElement* HTMLInputElement::sliderThumbElement() const
return m_inputType->sliderThumbElement();
}
+HTMLElement* HTMLInputElement::sliderTrackElement() const
+{
+ return m_inputType->sliderTrackElement();
+}
+
HTMLElement* HTMLInputElement::placeholderElement() const
{
return m_inputType->placeholderElement();
@@ -335,6 +343,31 @@ void HTMLInputElement::stepDown(int n, ExceptionCode& ec)
m_inputType->stepUp(-n, ec);
}
+void HTMLInputElement::blur()
+{
+ m_inputType->blur();
+}
+
+void HTMLInputElement::defaultBlur()
+{
+ HTMLTextFormControlElement::blur();
+}
+
+void HTMLInputElement::defaultFocus(bool restorePreviousSelection)
+{
+ HTMLTextFormControlElement::focus(restorePreviousSelection);
+}
+
+void HTMLInputElement::focus(bool restorePreviousSelection)
+{
+ m_inputType->focus(restorePreviousSelection);
+}
+
+bool HTMLInputElement::hasCustomFocusLogic() const
+{
+ return m_inputType->hasCustomFocusLogic();
+}
+
bool HTMLInputElement::isKeyboardFocusable(KeyboardEvent* event) const
{
return m_inputType->isKeyboardFocusable(event);
diff --git a/Source/WebCore/html/HTMLInputElement.h b/Source/WebCore/html/HTMLInputElement.h
index 8a0e4d4b7..678f59aff 100644
--- a/Source/WebCore/html/HTMLInputElement.h
+++ b/Source/WebCore/html/HTMLInputElement.h
@@ -129,6 +129,7 @@ public:
HTMLElement* speechButtonElement() const;
#endif
HTMLElement* sliderThumbElement() const;
+ HTMLElement* sliderTrackElement() const;
virtual HTMLElement* placeholderElement() const;
bool checked() const { return m_isChecked; }
@@ -276,6 +277,11 @@ public:
void setHeight(unsigned);
void setWidth(unsigned);
+ virtual void blur() OVERRIDE;
+ void defaultBlur();
+ void defaultFocus(bool restorePreviousSelection);
+ virtual void focus(bool restorePreviousSelection = true) OVERRIDE;
+
virtual const AtomicString& name() const OVERRIDE;
static Vector<FileChooserFileInfo> filesFromFileInputFormControlState(const FormControlState&);
@@ -284,6 +290,9 @@ protected:
HTMLInputElement(const QualifiedName&, Document*, HTMLFormElement*, bool createdByParser);
void createShadowSubtree();
virtual void defaultEventHandler(Event*);
+ // FIXME: Author shadows should be allowed
+ // https://bugs.webkit.org/show_bug.cgi?id=92608
+ virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
private:
enum AutoCompleteSetting { Uninitialized, On, Off };
@@ -294,6 +303,7 @@ private:
virtual void removedFrom(ContainerNode*) OVERRIDE;
virtual void didMoveToNewDocument(Document* oldDocument) OVERRIDE;
+ virtual bool hasCustomFocusLogic() const OVERRIDE;
virtual bool isKeyboardFocusable(KeyboardEvent*) const;
virtual bool isMouseFocusable() const;
virtual bool isEnumeratable() const;
diff --git a/Source/WebCore/html/HTMLLinkElement.cpp b/Source/WebCore/html/HTMLLinkElement.cpp
index d2868b610..2a732d07a 100644
--- a/Source/WebCore/html/HTMLLinkElement.cpp
+++ b/Source/WebCore/html/HTMLLinkElement.cpp
@@ -323,11 +323,10 @@ void HTMLLinkElement::setCSSStyleSheet(const String& href, const KURL& baseURL,
m_sheet->setMediaQueries(MediaQuerySet::createAllowingDescriptionSyntax(m_media));
m_sheet->setTitle(title());
- styleSheet->parseAuthorStyleSheet(cachedStyleSheet, document()->securityOrigin());
+ styleSheet->parseAuthorStyleSheet(cachedStyleSheet, m_sheet.get());
m_loading = false;
- styleSheet->notifyLoadedSheet(cachedStyleSheet);
- styleSheet->checkLoaded();
+ styleSheet->checkLoadCompleted();
#if ENABLE(PARSED_STYLE_SHEET_CACHING)
if (styleSheet->isCacheable())
diff --git a/Source/WebCore/html/HTMLMediaElement.cpp b/Source/WebCore/html/HTMLMediaElement.cpp
index 02a5645c5..c3dd65d11 100644
--- a/Source/WebCore/html/HTMLMediaElement.cpp
+++ b/Source/WebCore/html/HTMLMediaElement.cpp
@@ -259,6 +259,7 @@ HTMLMediaElement::HTMLMediaElement(const QualifiedName& tagName, Document* docum
, m_lastTextTrackUpdateTime(-1)
, m_textTracks(0)
, m_ignoreTrackDisplayUpdate(0)
+ , m_disableCaptions(false)
#endif
#if ENABLE(WEB_AUDIO)
, m_audioSourceNode(0)
@@ -330,6 +331,11 @@ void HTMLMediaElement::didMoveToNewDocument(Document* oldDocument)
HTMLElement::didMoveToNewDocument(oldDocument);
}
+bool HTMLMediaElement::hasCustomFocusLogic() const
+{
+ return true;
+}
+
bool HTMLMediaElement::supportsFocus() const
{
if (ownerDocument()->isMediaDocument())
@@ -589,7 +595,7 @@ void HTMLMediaElement::loadTimerFired(Timer<HTMLMediaElement>*)
#if ENABLE(VIDEO_TRACK)
if (RuntimeEnabledFeatures::webkitVideoTrackEnabled() && (m_pendingLoadFlags & TextTrackResource))
- configureNewTextTracks();
+ configureTextTracks();
#endif
if (m_pendingLoadFlags & MediaResource) {
@@ -736,7 +742,6 @@ void HTMLMediaElement::prepareForLoad()
m_playedTimeRanges = TimeRanges::create();
m_lastSeekTime = 0;
- m_closedCaptionsVisible = false;
// The spec doesn't say to block the load event until we actually run the asynchronous section
// algorithm, but do it now because we won't start that until after the timer fires and the
@@ -777,7 +782,7 @@ void HTMLMediaElement::loadInternal()
if (m_textTracks) {
for (unsigned i = 0; i < m_textTracks->length(); ++i) {
TextTrack* track = m_textTracks->item(i);
- if (track->mode() != TextTrack::DISABLED)
+ if (track->mode() != TextTrack::disabledKeyword())
m_textTracksWhenResourceSelectionBegan.append(track);
}
}
@@ -1293,9 +1298,9 @@ void HTMLMediaElement::textTrackModeChanged(TextTrack* track)
if (trackElement->track() != track)
continue;
- // Mark this track as "configured" so configureNewTextTracks won't change the mode again.
+ // Mark this track as "configured" so configureTextTracks won't change the mode again.
trackElement->setHasBeenConfigured(true);
- if (track->mode() != TextTrack::DISABLED) {
+ if (track->mode() != TextTrack::disabledKeyword()) {
if (trackElement->readyState() == HTMLTrackElement::LOADED)
textTrackAddCues(track, track->cues());
else if (trackElement->readyState() == HTMLTrackElement::NONE)
@@ -1314,8 +1319,8 @@ void HTMLMediaElement::textTrackModeChanged(TextTrack* track)
void HTMLMediaElement::textTrackKindChanged(TextTrack* track)
{
- if (track->kind() != TextTrack::captionsKeyword() && track->kind() != TextTrack::subtitlesKeyword() && track->mode() == TextTrack::SHOWING)
- track->setMode(TextTrack::HIDDEN, ASSERT_NO_EXCEPTION);
+ if (track->kind() != TextTrack::captionsKeyword() && track->kind() != TextTrack::subtitlesKeyword() && track->mode() == TextTrack::showingKeyword())
+ track->setMode(TextTrack::hiddenKeyword());
}
void HTMLMediaElement::textTrackAddCues(TextTrack*, const TextTrackCueList* cues)
@@ -1342,7 +1347,9 @@ void HTMLMediaElement::textTrackAddCue(TextTrack*, PassRefPtr<TextTrackCue> cue)
// zero-length cues.
double endTime = max(cue->startTime(), cue->endTime());
- m_cueTree.add(m_cueTree.createInterval(cue->startTime(), endTime, cue.get()));
+ CueIntervalTree::IntervalType interval = m_cueTree.createInterval(cue->startTime(), endTime, cue.get());
+ if (!m_cueTree.contains(interval))
+ m_cueTree.add(interval);
updateActiveTextTrackCues(currentTime());
}
@@ -2688,7 +2695,7 @@ PassRefPtr<TextTrack> HTMLMediaElement::addTextTrack(const String& kind, const S
textTrack->setReadinessState(TextTrack::Loaded);
// ... its text track mode to the text track hidden mode, and its text track list of cues to an empty list ...
- textTrack->setMode(TextTrack::HIDDEN, ec);
+ textTrack->setMode(TextTrack::hiddenKeyword());
return textTrack.release();
}
@@ -2713,7 +2720,7 @@ HTMLTrackElement* HTMLMediaElement::showingTrackWithSameKind(HTMLTrackElement* t
continue;
HTMLTrackElement* showingTrack = static_cast<HTMLTrackElement*>(node);
- if (showingTrack->kind() == trackElement->kind() && showingTrack->track()->mode() == TextTrack::SHOWING)
+ if (showingTrack->kind() == trackElement->kind() && showingTrack->track()->mode() == TextTrack::showingKeyword())
return showingTrack;
}
@@ -2785,16 +2792,19 @@ bool HTMLMediaElement::userIsInterestedInThisLanguage(const String&) const
bool HTMLMediaElement::userIsInterestedInThisTrackKind(String kind) const
{
// If ... the user has indicated an interest in having a track with this text track kind, text track language, ...
+ if (m_disableCaptions)
+ return false;
+
Settings* settings = document()->settings();
if (!settings)
return false;
if (kind == TextTrack::subtitlesKeyword())
- return settings->shouldDisplaySubtitles();
+ return settings->shouldDisplaySubtitles() || m_closedCaptionsVisible;
if (kind == TextTrack::captionsKeyword())
- return settings->shouldDisplayCaptions();
+ return settings->shouldDisplayCaptions() || m_closedCaptionsVisible;
if (kind == TextTrack::descriptionsKeyword())
- return settings->shouldDisplayTextDescriptions();
+ return settings->shouldDisplayTextDescriptions() || m_closedCaptionsVisible;
return false;
}
@@ -2864,10 +2874,9 @@ void HTMLMediaElement::configureTextTrackGroup(const TrackGroup& group) const
for (size_t i = 0; i < group.tracks.size(); ++i) {
HTMLTrackElement* trackElement = group.tracks[i];
RefPtr<TextTrack> textTrack = trackElement->track();
- ExceptionCode unusedException;
if (trackElementToEnable == trackElement) {
- textTrack->setMode(TextTrack::SHOWING, unusedException);
+ textTrack->setMode(TextTrack::showingKeyword());
if (defaultTrack == trackElement)
textTrack->setShowingByDefault(true);
} else {
@@ -2876,23 +2885,22 @@ void HTMLMediaElement::configureTextTrackGroup(const TrackGroup& group) const
// mode is showing by default, the user agent must furthermore change that text track's
// text track mode to hidden.
textTrack->setShowingByDefault(false);
- textTrack->setMode(TextTrack::HIDDEN, unusedException);
+ textTrack->setMode(TextTrack::hiddenKeyword());
} else
- textTrack->setMode(TextTrack::DISABLED, unusedException);
+ textTrack->setMode(TextTrack::disabledKeyword());
}
}
if (trackElementToEnable && group.defaultTrack && group.defaultTrack != trackElementToEnable) {
RefPtr<TextTrack> textTrack = group.defaultTrack->track();
if (textTrack && textTrack->showingByDefault()) {
- ExceptionCode unusedException;
textTrack->setShowingByDefault(false);
- textTrack->setMode(TextTrack::HIDDEN, unusedException);
+ textTrack->setMode(TextTrack::hiddenKeyword());
}
}
}
-void HTMLMediaElement::configureNewTextTracks()
+void HTMLMediaElement::configureTextTracks()
{
TrackGroup captionAndSubtitleTracks(TrackGroup::CaptionsAndSubtitles);
TrackGroup descriptionTracks(TrackGroup::Description);
@@ -2922,7 +2930,7 @@ void HTMLMediaElement::configureNewTextTracks()
else
currentGroup = &otherTracks;
- if (!currentGroup->visibleTrack && textTrack->mode() == TextTrack::SHOWING)
+ if (!currentGroup->visibleTrack && textTrack->mode() == TextTrack::showingKeyword())
currentGroup->visibleTrack = trackElement;
if (!currentGroup->defaultTrack && trackElement->isDefault())
currentGroup->defaultTrack = trackElement;
@@ -3250,8 +3258,16 @@ void HTMLMediaElement::mediaPlayerDurationChanged(MediaPlayer* player)
LOG(Media, "HTMLMediaElement::mediaPlayerDurationChanged");
beginProcessingMediaPlayerCallback();
+
scheduleEvent(eventNames().durationchangeEvent);
mediaPlayerCharacteristicChanged(player);
+
+ float now = currentTime();
+ float dur = duration();
+ ExceptionCode ignoredException;
+ if (now > dur)
+ seek(dur, ignoredException);
+
endProcessingMediaPlayerCallback();
}
@@ -3920,7 +3936,18 @@ PlatformLayer* HTMLMediaElement::platformLayer() const
bool HTMLMediaElement::hasClosedCaptions() const
{
- return m_player && m_player->hasClosedCaptions();
+ if (m_player && m_player->hasClosedCaptions())
+ return true;
+
+#if ENABLE(VIDEO_TRACK)
+ if (RuntimeEnabledFeatures::webkitVideoTrackEnabled() && m_textTracks)
+ for (unsigned i = 0; i < m_textTracks->length(); ++i) {
+ if (m_textTracks->item(i)->kind() == TextTrack::captionsKeyword()
+ || m_textTracks->item(i)->kind() == TextTrack::subtitlesKeyword())
+ return true;
+ }
+#endif
+ return false;
}
bool HTMLMediaElement::closedCaptionsVisible() const
@@ -3932,13 +3959,36 @@ void HTMLMediaElement::setClosedCaptionsVisible(bool closedCaptionVisible)
{
LOG(Media, "HTMLMediaElement::setClosedCaptionsVisible(%s)", boolString(closedCaptionVisible));
- if (!m_player ||!hasClosedCaptions())
+ if (!m_player || !hasClosedCaptions())
return;
m_closedCaptionsVisible = closedCaptionVisible;
m_player->setClosedCaptionsVisible(closedCaptionVisible);
+
+#if ENABLE(VIDEO_TRACK)
+ if (RuntimeEnabledFeatures::webkitVideoTrackEnabled()) {
+ m_disableCaptions = !m_closedCaptionsVisible;
+
+ // Mark all track elements as not "configured" so that configureTextTracks()
+ // will reconsider which tracks to display in light of new user preferences
+ // (e.g. default tracks should not be displayed if the user has turned off
+ // captions and non-default tracks should be displayed based on language
+ // preferences if the user has turned captions on).
+ for (Node* node = firstChild(); node; node = node->nextSibling()) {
+ if (!node->hasTagName(trackTag))
+ continue;
+ HTMLTrackElement* trackElement = static_cast<HTMLTrackElement*>(node);
+ if (trackElement->kind() == TextTrack::captionsKeyword()
+ || trackElement->kind() == TextTrack::subtitlesKeyword())
+ trackElement->setHasBeenConfigured(false);
+ }
+
+ configureTextTracks();
+ }
+#else
if (hasMediaControls())
mediaControls()->changedClosedCaptionsVisibility();
+#endif
}
void HTMLMediaElement::setWebkitClosedCaptionsVisible(bool visible)
@@ -4093,7 +4143,7 @@ void HTMLMediaElement::configureTextTrackDisplay()
bool haveVisibleTextTrack = false;
for (unsigned i = 0; i < m_textTracks->length(); ++i) {
- if (m_textTracks->item(i)->mode() == TextTrack::SHOWING) {
+ if (m_textTracks->item(i)->mode() == TextTrack::showingKeyword()) {
haveVisibleTextTrack = true;
break;
}
@@ -4102,12 +4152,24 @@ void HTMLMediaElement::configureTextTrackDisplay()
if (m_haveVisibleTextTrack == haveVisibleTextTrack)
return;
m_haveVisibleTextTrack = haveVisibleTextTrack;
+ m_closedCaptionsVisible = m_haveVisibleTextTrack;
if (!m_haveVisibleTextTrack && !hasMediaControls())
return;
if (!hasMediaControls() && !createMediaControls())
return;
- mediaControls()->updateTextTrackDisplay();
+
+ updateClosedCaptionsControls();
+}
+
+void HTMLMediaElement::updateClosedCaptionsControls()
+{
+ if (hasMediaControls()) {
+ mediaControls()->changedClosedCaptionsVisibility();
+
+ if (RuntimeEnabledFeatures::webkitVideoTrackEnabled())
+ mediaControls()->updateTextTrackDisplay();
+ }
}
#endif
diff --git a/Source/WebCore/html/HTMLMediaElement.h b/Source/WebCore/html/HTMLMediaElement.h
index 32b547d32..1f30b296e 100644
--- a/Source/WebCore/html/HTMLMediaElement.h
+++ b/Source/WebCore/html/HTMLMediaElement.h
@@ -236,12 +236,13 @@ public:
};
void configureTextTrackGroupForLanguage(const TrackGroup&) const;
- void configureNewTextTracks();
+ void configureTextTracks();
void configureTextTrackGroup(const TrackGroup&) const;
bool userIsInterestedInThisTrackKind(String) const;
bool textTracksAreReady() const;
void configureTextTrackDisplay();
+ void updateClosedCaptionsControls();
// TextTrackClient
virtual void textTrackReadyStateChanged(TextTrack*);
@@ -354,6 +355,7 @@ protected:
private:
void createMediaPlayer();
+ virtual bool hasCustomFocusLogic() const OVERRIDE;
virtual bool supportsFocus() const;
virtual bool isMouseFocusable() const;
virtual bool rendererIsNeeded(const NodeRenderingContext&);
@@ -653,6 +655,7 @@ private:
CueList m_currentlyActiveCues;
int m_ignoreTrackDisplayUpdate;
+ bool m_disableCaptions;
#endif
#if ENABLE(WEB_AUDIO)
diff --git a/Source/WebCore/html/HTMLTableElement.cpp b/Source/WebCore/html/HTMLTableElement.cpp
index 283786b72..1adbb3e04 100644
--- a/Source/WebCore/html/HTMLTableElement.cpp
+++ b/Source/WebCore/html/HTMLTableElement.cpp
@@ -508,7 +508,7 @@ PassRefPtr<StylePropertySet> HTMLTableElement::createSharedCellStyle()
style->setProperty(CSSPropertyBorderColor, cssValuePool().createInheritedValue());
break;
case NoBorders:
- style->setProperty(CSSPropertyBorderWidth, cssValuePool().createValue(0, CSSPrimitiveValue::CSS_PX));
+ // If 'rules=none' then allow any borders set at cell level to take effect.
break;
}
diff --git a/Source/WebCore/html/HTMLTextAreaElement.cpp b/Source/WebCore/html/HTMLTextAreaElement.cpp
index bad8571d3..a42aa7831 100644
--- a/Source/WebCore/html/HTMLTextAreaElement.cpp
+++ b/Source/WebCore/html/HTMLTextAreaElement.cpp
@@ -72,6 +72,7 @@ HTMLTextAreaElement::HTMLTextAreaElement(const QualifiedName& tagName, Document*
, m_rows(defaultRows)
, m_cols(defaultCols)
, m_wrap(SoftWrap)
+ , m_placeholder(0)
, m_isDirty(false)
, m_wasModifiedByUser(false)
{
@@ -215,6 +216,11 @@ void HTMLTextAreaElement::reset()
setNonDirtyValue(defaultValue());
}
+bool HTMLTextAreaElement::hasCustomFocusLogic() const
+{
+ return true;
+}
+
bool HTMLTextAreaElement::isKeyboardFocusable(KeyboardEvent*) const
{
// If a given text area can be focused at all, then it will always be keyboard focusable.
@@ -490,13 +496,13 @@ bool HTMLTextAreaElement::shouldUseInputMethod()
HTMLElement* HTMLTextAreaElement::placeholderElement() const
{
- return m_placeholder.get();
+ return m_placeholder;
}
void HTMLTextAreaElement::attach()
{
HTMLTextFormControlElement::attach();
- fixPlaceholderRenderer(m_placeholder.get(), innerTextElement());
+ fixPlaceholderRenderer(m_placeholder, innerTextElement());
}
void HTMLTextAreaElement::updatePlaceholderText()
@@ -505,21 +511,22 @@ void HTMLTextAreaElement::updatePlaceholderText()
String placeholderText = strippedPlaceholder();
if (placeholderText.isEmpty()) {
if (m_placeholder) {
- userAgentShadowRoot()->removeChild(m_placeholder.get(), ec);
+ userAgentShadowRoot()->removeChild(m_placeholder, ec);
ASSERT(!ec);
- m_placeholder.clear();
+ m_placeholder = 0;
}
return;
}
if (!m_placeholder) {
- m_placeholder = HTMLDivElement::create(document());
+ RefPtr<HTMLDivElement> placeholder = HTMLDivElement::create(document());
+ m_placeholder = placeholder.get();
m_placeholder->setShadowPseudoId("-webkit-input-placeholder");
userAgentShadowRoot()->insertBefore(m_placeholder, innerTextElement()->nextSibling(), ec);
ASSERT(!ec);
}
m_placeholder->setInnerText(placeholderText, ec);
ASSERT(!ec);
- fixPlaceholderRenderer(m_placeholder.get(), innerTextElement());
+ fixPlaceholderRenderer(m_placeholder, innerTextElement());
}
}
diff --git a/Source/WebCore/html/HTMLTextAreaElement.h b/Source/WebCore/html/HTMLTextAreaElement.h
index 4e6db563e..ae4678da3 100644
--- a/Source/WebCore/html/HTMLTextAreaElement.h
+++ b/Source/WebCore/html/HTMLTextAreaElement.h
@@ -102,6 +102,7 @@ private:
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*);
virtual bool appendFormData(FormDataList&, bool);
virtual void reset();
+ virtual bool hasCustomFocusLogic() const OVERRIDE;
virtual bool isMouseFocusable() const;
virtual bool isKeyboardFocusable(KeyboardEvent*) const;
virtual void updateFocusAppearance(bool restorePreviousSelection);
@@ -117,7 +118,7 @@ private:
int m_rows;
int m_cols;
WrapMethod m_wrap;
- RefPtr<HTMLElement> m_placeholder;
+ HTMLElement* m_placeholder;
mutable String m_value;
mutable bool m_isDirty;
mutable bool m_wasModifiedByUser;
diff --git a/Source/WebCore/html/HTMLTitleElement.cpp b/Source/WebCore/html/HTMLTitleElement.cpp
index 241816ff3..756c0bb1c 100644
--- a/Source/WebCore/html/HTMLTitleElement.cpp
+++ b/Source/WebCore/html/HTMLTitleElement.cpp
@@ -29,6 +29,7 @@
#include "RenderStyle.h"
#include "StyleInheritedData.h"
#include "Text.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -70,14 +71,14 @@ void HTMLTitleElement::childrenChanged(bool changedByParser, Node* beforeChange,
String HTMLTitleElement::text() const
{
- String val = "";
-
+ StringBuilder result;
+
for (Node *n = firstChild(); n; n = n->nextSibling()) {
if (n->isTextNode())
- val += toText(n)->data();
+ result.append(toText(n)->data());
}
- return val;
+ return result.toString();
}
StringWithDirection HTMLTitleElement::textWithDirection()
diff --git a/Source/WebCore/html/HTMLTrackElement.cpp b/Source/WebCore/html/HTMLTrackElement.cpp
index b31662c8b..6c6c9e40b 100644
--- a/Source/WebCore/html/HTMLTrackElement.cpp
+++ b/Source/WebCore/html/HTMLTrackElement.cpp
@@ -234,7 +234,7 @@ bool HTMLTrackElement::canLoadUrl(const KURL& url)
return false;
if (!document()->contentSecurityPolicy()->allowMediaFromSource(url)) {
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Text track load denied by Content Security Policy."));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Text track load denied by Content Security Policy.")));
document()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
LOG(Media, "HTMLTrackElement::canLoadUrl(%s) -> rejected by Content Security Policy", urlForLogging(url).utf8().data());
return false;
diff --git a/Source/WebCore/html/ImageInputType.cpp b/Source/WebCore/html/ImageInputType.cpp
index af4cc9068..110154754 100644
--- a/Source/WebCore/html/ImageInputType.cpp
+++ b/Source/WebCore/html/ImageInputType.cpp
@@ -68,8 +68,8 @@ bool ImageInputType::appendFormData(FormDataList& encoding, bool) const
return true;
}
- DEFINE_STATIC_LOCAL(String, dotXString, (".x"));
- DEFINE_STATIC_LOCAL(String, dotYString, (".y"));
+ DEFINE_STATIC_LOCAL(String, dotXString, (ASCIILiteral(".x")));
+ DEFINE_STATIC_LOCAL(String, dotYString, (ASCIILiteral(".y")));
encoding.appendData(name + dotXString, m_clickLocation.x());
encoding.appendData(name + dotYString, m_clickLocation.y());
diff --git a/Source/WebCore/html/InputType.cpp b/Source/WebCore/html/InputType.cpp
index dba902eba..69db2aefe 100644
--- a/Source/WebCore/html/InputType.cpp
+++ b/Source/WebCore/html/InputType.cpp
@@ -68,6 +68,7 @@
#include "ShadowRoot.h"
#include "SubmitInputType.h"
#include "TelephoneInputType.h"
+#include "TextBreakIterator.h"
#include "TextInputType.h"
#include "TimeInputType.h"
#include "URLInputType.h"
@@ -448,6 +449,16 @@ RenderObject* InputType::createRenderer(RenderArena*, RenderStyle* style) const
return RenderObject::createObject(element(), style);
}
+void InputType::blur()
+{
+ element()->defaultBlur();
+}
+
+void InputType::focus(bool restorePreviousSelection)
+{
+ element()->defaultFocus(restorePreviousSelection);
+}
+
void InputType::createShadowSubtree()
{
}
@@ -511,6 +522,11 @@ bool InputType::canSetStringValue() const
return true;
}
+bool InputType::hasCustomFocusLogic() const
+{
+ return true;
+}
+
bool InputType::isKeyboardFocusable(KeyboardEvent* event) const
{
return element()->isTextFormControlKeyboardFocusable(event);
diff --git a/Source/WebCore/html/InputType.h b/Source/WebCore/html/InputType.h
index 6159f7796..acc776d1b 100644
--- a/Source/WebCore/html/InputType.h
+++ b/Source/WebCore/html/InputType.h
@@ -200,6 +200,7 @@ public:
// Helpers for event handlers.
virtual bool shouldSubmitImplicitly(Event*);
virtual PassRefPtr<HTMLFormElement> formForSubmission() const;
+ virtual bool hasCustomFocusLogic() const;
virtual bool isKeyboardFocusable(KeyboardEvent*) const;
virtual bool isMouseFocusable() const;
virtual bool shouldUseInputMethod() const;
@@ -212,6 +213,9 @@ public:
virtual bool hasTouchEventHandler() const;
#endif
+ virtual void blur();
+ virtual void focus(bool restorePreviousSelection);
+
// Shadow tree handling
virtual void createShadowSubtree();
@@ -227,6 +231,7 @@ public:
virtual HTMLElement* speechButtonElement() const { return 0; }
#endif
virtual HTMLElement* sliderThumbElement() const { return 0; }
+ virtual HTMLElement* sliderTrackElement() const { return 0; }
virtual HTMLElement* placeholderElement() const;
// Miscellaneous functions
diff --git a/Source/WebCore/html/MicroDataItemValue.h b/Source/WebCore/html/MicroDataItemValue.h
index db859ac53..e5addec70 100644
--- a/Source/WebCore/html/MicroDataItemValue.h
+++ b/Source/WebCore/html/MicroDataItemValue.h
@@ -33,10 +33,10 @@
#if ENABLE(MICRODATA)
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/PublicURLManager.h b/Source/WebCore/html/PublicURLManager.h
index f5e7b20aa..55fefc3bd 100644
--- a/Source/WebCore/html/PublicURLManager.h
+++ b/Source/WebCore/html/PublicURLManager.h
@@ -27,10 +27,10 @@
#define PublicURLManager_h
#if ENABLE(BLOB)
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "ThreadableBlobRegistry.h"
#include <wtf/HashSet.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(MEDIA_STREAM)
#include "MediaStream.h"
diff --git a/Source/WebCore/html/RangeInputType.cpp b/Source/WebCore/html/RangeInputType.cpp
index f2cce17e4..52ab3273b 100644
--- a/Source/WebCore/html/RangeInputType.cpp
+++ b/Source/WebCore/html/RangeInputType.cpp
@@ -330,6 +330,11 @@ HTMLElement* RangeInputType::sliderThumbElement() const
return sliderThumbElementOf(element());
}
+HTMLElement* RangeInputType::sliderTrackElement() const
+{
+ return sliderTrackElementOf(element());
+}
+
#if ENABLE(DATALIST_ELEMENT)
void RangeInputType::listAttributeTargetChanged()
{
diff --git a/Source/WebCore/html/RangeInputType.h b/Source/WebCore/html/RangeInputType.h
index 8367b6fef..b85442db6 100644
--- a/Source/WebCore/html/RangeInputType.h
+++ b/Source/WebCore/html/RangeInputType.h
@@ -70,6 +70,7 @@ private:
virtual String sanitizeValue(const String& proposedValue) const OVERRIDE;
virtual bool shouldRespectListAttribute() OVERRIDE;
virtual HTMLElement* sliderThumbElement() const OVERRIDE;
+ virtual HTMLElement* sliderTrackElement() const OVERRIDE;
#if ENABLE(DATALIST_ELEMENT)
virtual void listAttributeTargetChanged() OVERRIDE;
void updateTickMarkValues();
diff --git a/Source/WebCore/html/TimeInputType.cpp b/Source/WebCore/html/TimeInputType.cpp
index 586103231..bbeec4343 100644
--- a/Source/WebCore/html/TimeInputType.cpp
+++ b/Source/WebCore/html/TimeInputType.cpp
@@ -124,9 +124,22 @@ TimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl()
{
}
-void TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus()
+void TimeInputType::DateTimeEditControlOwnerImpl::didBlurFromControl()
{
- m_timeInputType.element()->focus();
+ // We don't need to call blur(). This function is called when control
+ // lost focus.
+
+ // Remove focus ring by CSS "focus" pseudo class.
+ m_timeInputType.element()->setFocus(false);
+}
+
+void TimeInputType::DateTimeEditControlOwnerImpl::didFocusOnControl()
+{
+ // We don't need to call focus(). This function is called when control
+ // got focus.
+
+ // Add focus ring by CSS "focus" pseudo class.
+ m_timeInputType.element()->setFocus(true);
}
void TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged()
@@ -138,11 +151,9 @@ void TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged()
input->dispatchFormControlChangeEvent();
}
-void TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner()
+bool TimeInputType::hasCustomFocusLogic() const
{
- RefPtr<HTMLInputElement> input(m_timeInputType.element());
- input->focus();
- input->select();
+ return false;
}
bool TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled() const
@@ -150,11 +161,6 @@ bool TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled() c
return m_timeInputType.element()->readOnly();
}
-bool TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused() const
-{
- return m_timeInputType.element()->focused();
-}
-
bool TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly() const
{
return m_timeInputType.element()->disabled();
@@ -173,6 +179,12 @@ TimeInputType::~TimeInputType()
m_dateTimeEditElement->removeEditControlOwner();
}
+void TimeInputType::blur()
+{
+ if (m_dateTimeEditElement)
+ m_dateTimeEditElement->blurByOwner();
+}
+
RenderObject* TimeInputType::createRenderer(RenderArena* arena, RenderStyle* style) const
{
return InputType::createRenderer(arena, style);
@@ -197,6 +209,12 @@ void TimeInputType::destroyShadowSubtree()
BaseDateAndTimeInputType::destroyShadowSubtree();
}
+void TimeInputType::focus(bool)
+{
+ if (m_dateTimeEditElement)
+ m_dateTimeEditElement->focusByOwner();
+}
+
void TimeInputType::forwardEvent(Event* event)
{
if (m_dateTimeEditElement)
@@ -214,25 +232,14 @@ void TimeInputType::handleKeydownEvent(KeyboardEvent* event)
forwardEvent(event);
}
-void TimeInputType::handleDOMActivateEvent(Event* event)
-{
- if (element()->disabled() || element()->readOnly() || !element()->renderer())
- return;
-
- if (m_dateTimeEditElement)
- m_dateTimeEditElement->focus();
-
- event->setDefaultHandled();
-}
-
bool TimeInputType::isKeyboardFocusable(KeyboardEvent*) const
{
- return element()->isTextFormControlFocusable();
+ return false;
}
bool TimeInputType::isMouseFocusable() const
{
- return element()->isTextFormControlFocusable();
+ return false;
}
void TimeInputType::minOrMaxAttributeChanged()
diff --git a/Source/WebCore/html/TimeInputType.h b/Source/WebCore/html/TimeInputType.h
index ee877dcf1..acd57b34d 100644
--- a/Source/WebCore/html/TimeInputType.h
+++ b/Source/WebCore/html/TimeInputType.h
@@ -68,11 +68,10 @@ private:
virtual ~DateTimeEditControlOwnerImpl();
private:
- virtual void editControlMouseFocus() OVERRIDE FINAL;
+ virtual void didBlurFromControl() OVERRIDE FINAL;
+ virtual void didFocusOnControl() OVERRIDE FINAL;
virtual void editControlValueChanged() OVERRIDE FINAL;
- virtual void focusAndSelectEditControlOwner() OVERRIDE FINAL;
virtual bool isEditControlOwnerDisabled() const OVERRIDE FINAL;
- virtual bool isEditControlOwnerFocused() const OVERRIDE FINAL;
virtual bool isEditControlOwnerReadOnly() const OVERRIDE FINAL;
TimeInputType& m_timeInputType;
@@ -81,13 +80,15 @@ private:
friend class DateTimeEditControlOwnerImpl;
// InputType functions
+ virtual void blur() OVERRIDE FINAL;
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) const OVERRIDE FINAL;
virtual void createShadowSubtree() OVERRIDE FINAL;
virtual void destroyShadowSubtree() OVERRIDE FINAL;
virtual void disabledAttributeChanged() OVERRIDE FINAL;
+ virtual void focus(bool restorePreviousSelection) OVERRIDE FINAL;
virtual void forwardEvent(Event*) OVERRIDE FINAL;
- virtual void handleDOMActivateEvent(Event*) OVERRIDE FINAL;
virtual void handleKeydownEvent(KeyboardEvent*) OVERRIDE FINAL;
+ virtual bool hasCustomFocusLogic() const OVERRIDE FINAL;
virtual bool isKeyboardFocusable(KeyboardEvent*) const OVERRIDE FINAL;
virtual bool isMouseFocusable() const OVERRIDE FINAL;
virtual bool isTextField() const OVERRIDE FINAL;
diff --git a/Source/WebCore/html/ValidationMessage.cpp b/Source/WebCore/html/ValidationMessage.cpp
index 79d8c57b9..67d32dc81 100644
--- a/Source/WebCore/html/ValidationMessage.cpp
+++ b/Source/WebCore/html/ValidationMessage.cpp
@@ -146,7 +146,7 @@ void ValidationMessage::buildBubbleTree(Timer<ValidationMessage>*)
shadowRoot->appendChild(m_bubble.get(), ec);
ASSERT(!ec);
host->document()->updateLayout();
- adjustBubblePosition(host->getRect(), m_bubble.get());
+ adjustBubblePosition(host->boundingBox(), m_bubble.get());
RefPtr<HTMLDivElement> clipper = HTMLDivElement::create(doc);
clipper->setShadowPseudoId("-webkit-validation-bubble-arrow-clipper");
diff --git a/Source/WebCore/html/canvas/CanvasPattern.cpp b/Source/WebCore/html/canvas/CanvasPattern.cpp
index 818d7d3b7..9252a2aa2 100644
--- a/Source/WebCore/html/canvas/CanvasPattern.cpp
+++ b/Source/WebCore/html/canvas/CanvasPattern.cpp
@@ -27,7 +27,7 @@
#include "CanvasPattern.h"
#include "ExceptionCode.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 8afa1e7b1..5414bad09 100644
--- a/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -72,6 +72,7 @@
#include <wtf/OwnPtr.h>
#include <wtf/Uint8ClampedArray.h>
#include <wtf/UnusedParam.h>
+#include <wtf/text/StringBuilder.h>
#if USE(CG)
#include <ApplicationServices/ApplicationServices.h>
@@ -1867,7 +1868,7 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::webkitGetImageDataHD(float sx, f
PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(ImageBuffer::CoordinateSystem coordinateSystem, float sx, float sy, float sw, float sh, ExceptionCode& ec) const
{
if (!canvas()->originClean()) {
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Unable to get image data from canvas because the canvas has been tainted by cross-origin data."));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Unable to get image data from canvas because the canvas has been tainted by cross-origin data.")));
canvas()->document()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
ec = SECURITY_ERR;
return 0;
@@ -1992,31 +1993,34 @@ String CanvasRenderingContext2D::font() const
if (!state().m_realizedFont)
return defaultFont;
- String serializedFont;
+ StringBuilder serializedFont;
const FontDescription& fontDescription = state().m_font.fontDescription();
if (fontDescription.italic())
- serializedFont += "italic ";
+ serializedFont.appendLiteral("italic ");
if (fontDescription.smallCaps() == FontSmallCapsOn)
- serializedFont += "small-caps ";
+ serializedFont.appendLiteral("small-caps ");
- serializedFont += String::number(fontDescription.computedPixelSize()) + "px";
+ serializedFont.appendNumber(fontDescription.computedPixelSize());
+ serializedFont.appendLiteral("px");
const FontFamily& firstFontFamily = fontDescription.family();
for (const FontFamily* fontFamily = &firstFontFamily; fontFamily; fontFamily = fontFamily->next()) {
if (fontFamily != &firstFontFamily)
- serializedFont += ",";
+ serializedFont.append(',');
+ // FIXME: We should append family directly to serializedFont rather than building a temporary string.
String family = fontFamily->family();
if (family.startsWith("-webkit-"))
family = family.substring(8);
if (family.contains(' '))
family = makeString('"', family, '"');
- serializedFont += " " + family;
+ serializedFont.append(' ');
+ serializedFont.append(family);
}
- return serializedFont;
+ return serializedFont.toString();
}
void CanvasRenderingContext2D::setFont(const String& newFont)
@@ -2060,11 +2064,12 @@ void CanvasRenderingContext2D::setFont(const String& newFont)
styleResolver->applyPropertyToCurrentStyle(CSSPropertyFontVariant, parsedStyle->getPropertyCSSValue(CSSPropertyFontVariant).get());
styleResolver->applyPropertyToCurrentStyle(CSSPropertyFontWeight, parsedStyle->getPropertyCSSValue(CSSPropertyFontWeight).get());
- // As described in BUG66291, setting font-size on a font may entail a CSSPrimitiveValue::computeLengthDouble call,
+ // As described in BUG66291, setting font-size and line-height on a font may entail a CSSPrimitiveValue::computeLengthDouble call,
// which assumes the fontMetrics are available for the affected font, otherwise a crash occurs (see http://trac.webkit.org/changeset/96122).
- // The updateFont() call below updates the fontMetrics and ensures the proper setting of font-size.
+ // The updateFont() calls below update the fontMetrics and ensure the proper setting of font-size and line-height.
styleResolver->updateFont();
styleResolver->applyPropertyToCurrentStyle(CSSPropertyFontSize, parsedStyle->getPropertyCSSValue(CSSPropertyFontSize).get());
+ styleResolver->updateFont();
styleResolver->applyPropertyToCurrentStyle(CSSPropertyLineHeight, parsedStyle->getPropertyCSSValue(CSSPropertyLineHeight).get());
modifiableState().m_font = newStyle->font();
diff --git a/Source/WebCore/html/canvas/CanvasRenderingContext2D.h b/Source/WebCore/html/canvas/CanvasRenderingContext2D.h
index bfa9a88b9..cc6d5e80e 100644
--- a/Source/WebCore/html/canvas/CanvasRenderingContext2D.h
+++ b/Source/WebCore/html/canvas/CanvasRenderingContext2D.h
@@ -36,8 +36,8 @@
#include "GraphicsTypes.h"
#include "ImageBuffer.h"
#include "Path.h"
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#if USE(ACCELERATED_COMPOSITING)
#include "GraphicsLayer.h"
diff --git a/Source/WebCore/html/canvas/CanvasStyle.h b/Source/WebCore/html/canvas/CanvasStyle.h
index 431fb2824..8cba35ba4 100644
--- a/Source/WebCore/html/canvas/CanvasStyle.h
+++ b/Source/WebCore/html/canvas/CanvasStyle.h
@@ -28,9 +28,9 @@
#define CanvasStyle_h
#include "Color.h"
-#include "PlatformString.h"
#include <wtf/Assertions.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/canvas/WebGLActiveInfo.h b/Source/WebCore/html/canvas/WebGLActiveInfo.h
index e75e1f545..0938a2366 100644
--- a/Source/WebCore/html/canvas/WebGLActiveInfo.h
+++ b/Source/WebCore/html/canvas/WebGLActiveInfo.h
@@ -27,9 +27,9 @@
#define WebGLActiveInfo_h
#include "GraphicsContext3D.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/canvas/WebGLGetInfo.h b/Source/WebCore/html/canvas/WebGLGetInfo.h
index d1f73a656..7f9b04266 100644
--- a/Source/WebCore/html/canvas/WebGLGetInfo.h
+++ b/Source/WebCore/html/canvas/WebGLGetInfo.h
@@ -27,20 +27,19 @@
#ifndef WebGLGetInfo_h
#define WebGLGetInfo_h
-#include "PlatformString.h"
#include "WebGLBuffer.h"
#include "WebGLFramebuffer.h"
#include "WebGLProgram.h"
#include "WebGLRenderbuffer.h"
#include "WebGLTexture.h"
#include "WebGLVertexArrayObjectOES.h"
-
#include <wtf/Float32Array.h>
#include <wtf/Int32Array.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Uint32Array.h>
#include <wtf/Uint8Array.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContext.cpp b/Source/WebCore/html/canvas/WebGLRenderingContext.cpp
index fe0fe6da0..c40ba43e9 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContext.cpp
+++ b/Source/WebCore/html/canvas/WebGLRenderingContext.cpp
@@ -602,6 +602,9 @@ void WebGLRenderingContext::markContextChanged()
m_context->markContextChanged();
+ if (m_drawingBuffer)
+ m_drawingBuffer->markContentsChanged();
+
m_layerCleared = false;
#if USE(ACCELERATED_COMPOSITING)
RenderBox* renderBox = canvas()->renderBox();
@@ -5559,7 +5562,20 @@ void WebGLRenderingContext::maybeRestoreContext(Timer<WebGLRenderingContext>*)
break;
}
- RefPtr<GraphicsContext3D> context(GraphicsContext3D::create(m_attributes, canvas()->document()->view()->root()->hostWindow()));
+ Document* document = canvas()->document();
+ if (!document)
+ return;
+ FrameView* view = document->view();
+ if (!view)
+ return;
+ ScrollView* root = view->root();
+ if (!root)
+ return;
+ HostWindow* hostWindow = root->hostWindow();
+ if (!hostWindow)
+ return;
+
+ RefPtr<GraphicsContext3D> context(GraphicsContext3D::create(m_attributes, hostWindow));
if (!context) {
if (m_contextLostMode == RealLostContext)
m_restoreTimer.startOneShot(secondsBetweenRestoreAttempts);
diff --git a/Source/WebCore/html/canvas/WebGLRenderingContext.h b/Source/WebCore/html/canvas/WebGLRenderingContext.h
index c72ac590a..6023b4462 100644
--- a/Source/WebCore/html/canvas/WebGLRenderingContext.h
+++ b/Source/WebCore/html/canvas/WebGLRenderingContext.h
@@ -29,7 +29,6 @@
#include "CanvasRenderingContext.h"
#include "DrawingBuffer.h"
#include "GraphicsContext3D.h"
-#include "PlatformString.h"
#include "Timer.h"
#include "WebGLGetInfo.h"
@@ -37,6 +36,7 @@
#include <wtf/Int32Array.h>
#include <wtf/OwnArrayPtr.h>
#include <wtf/Uint8Array.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/parser/CSSPreloadScanner.h b/Source/WebCore/html/parser/CSSPreloadScanner.h
index 386ab6fea..c3dbb800e 100644
--- a/Source/WebCore/html/parser/CSSPreloadScanner.h
+++ b/Source/WebCore/html/parser/CSSPreloadScanner.h
@@ -27,7 +27,6 @@
#ifndef CSSPreloadScanner_h
#define CSSPreloadScanner_h
-#include "PlatformString.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
diff --git a/Source/WebCore/html/parser/HTMLElementStack.h b/Source/WebCore/html/parser/HTMLElementStack.h
index 1aaa20448..b203ef15d 100644
--- a/Source/WebCore/html/parser/HTMLElementStack.h
+++ b/Source/WebCore/html/parser/HTMLElementStack.h
@@ -27,7 +27,6 @@
#ifndef HTMLElementStack_h
#define HTMLElementStack_h
-#include "Element.h"
#include "HTMLNames.h"
#include "HTMLStackItem.h"
#include <wtf/Forward.h>
diff --git a/Source/WebCore/html/parser/HTMLEntitySearch.h b/Source/WebCore/html/parser/HTMLEntitySearch.h
index f90d401b3..0cb5920d8 100644
--- a/Source/WebCore/html/parser/HTMLEntitySearch.h
+++ b/Source/WebCore/html/parser/HTMLEntitySearch.h
@@ -26,7 +26,7 @@
#ifndef HTMLEntitySearch_h
#define HTMLEntitySearch_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/parser/HTMLEntityTable.h b/Source/WebCore/html/parser/HTMLEntityTable.h
index 4403c364b..5293f4612 100644
--- a/Source/WebCore/html/parser/HTMLEntityTable.h
+++ b/Source/WebCore/html/parser/HTMLEntityTable.h
@@ -26,7 +26,7 @@
#ifndef HTMLEntityTable_h
#define HTMLEntityTable_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp b/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp
index 75b189234..dc49a36fd 100644
--- a/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp
+++ b/Source/WebCore/html/parser/HTMLMetaCharsetParser.cpp
@@ -29,9 +29,9 @@
#include "HTMLNames.h"
#include "HTMLParserIdioms.h"
#include "HTMLTokenizer.h"
-#include "PlatformString.h"
#include "TextCodec.h"
#include "TextEncodingRegistry.h"
+#include <wtf/text/WTFString.h>
using namespace WTF;
diff --git a/Source/WebCore/html/parser/HTMLParserIdioms.cpp b/Source/WebCore/html/parser/HTMLParserIdioms.cpp
index f0eb0ebb7..97565724a 100644
--- a/Source/WebCore/html/parser/HTMLParserIdioms.cpp
+++ b/Source/WebCore/html/parser/HTMLParserIdioms.cpp
@@ -28,7 +28,6 @@
#include "Decimal.h"
#include <limits>
#include <wtf/MathExtras.h>
-#include <wtf/dtoa.h>
#include <wtf/text/AtomicString.h>
#include <wtf/text/StringBuilder.h>
@@ -87,8 +86,7 @@ String serializeForNumberType(double number)
{
// According to HTML5, "the best representation of the number n as a floating
// point number" is a string produced by applying ToString() to n.
- NumberToStringBuffer buffer;
- return String(numberToString(number, buffer));
+ return String::numberToStringECMAScript(number);
}
Decimal parseToDecimalForNumberType(const String& string, const Decimal& fallbackValue)
diff --git a/Source/WebCore/html/parser/HTMLTokenizer.cpp b/Source/WebCore/html/parser/HTMLTokenizer.cpp
index ca5d5b064..b25885f64 100644
--- a/Source/WebCore/html/parser/HTMLTokenizer.cpp
+++ b/Source/WebCore/html/parser/HTMLTokenizer.cpp
@@ -1065,9 +1065,9 @@ bool HTMLTokenizer::nextToken(SegmentedString& source, HTMLToken& token)
END_STATE()
HTML_BEGIN_STATE(MarkupDeclarationOpenState) {
- DEFINE_STATIC_LOCAL(String, dashDashString, ("--"));
- DEFINE_STATIC_LOCAL(String, doctypeString, ("doctype"));
- DEFINE_STATIC_LOCAL(String, cdataString, ("[CDATA["));
+ DEFINE_STATIC_LOCAL(String, dashDashString, (ASCIILiteral("--")));
+ DEFINE_STATIC_LOCAL(String, doctypeString, (ASCIILiteral("doctype")));
+ DEFINE_STATIC_LOCAL(String, cdataString, (ASCIILiteral("[CDATA[")));
if (cc == '-') {
SegmentedString::LookAheadResult result = source.lookAhead(dashDashString);
if (result == SegmentedString::DidMatch) {
@@ -1268,8 +1268,8 @@ bool HTMLTokenizer::nextToken(SegmentedString& source, HTMLToken& token)
m_token->setForceQuirks();
return emitAndReconsumeIn(source, HTMLTokenizerState::DataState);
} else {
- DEFINE_STATIC_LOCAL(String, publicString, ("public"));
- DEFINE_STATIC_LOCAL(String, systemString, ("system"));
+ DEFINE_STATIC_LOCAL(String, publicString, (ASCIILiteral("public")));
+ DEFINE_STATIC_LOCAL(String, systemString, (ASCIILiteral("system")));
if (cc == 'P' || cc == 'p') {
SegmentedString::LookAheadResult result = source.lookAheadIgnoringCase(publicString);
if (result == SegmentedString::DidMatch) {
diff --git a/Source/WebCore/html/parser/HTMLTreeBuilder.h b/Source/WebCore/html/parser/HTMLTreeBuilder.h
index c57362783..8ff0f58b3 100644
--- a/Source/WebCore/html/parser/HTMLTreeBuilder.h
+++ b/Source/WebCore/html/parser/HTMLTreeBuilder.h
@@ -27,7 +27,6 @@
#ifndef HTMLTreeBuilder_h
#define HTMLTreeBuilder_h
-#include "Element.h"
#include "FragmentScriptingPermission.h"
#include "HTMLConstructionSite.h"
#include "HTMLElementStack.h"
@@ -47,6 +46,7 @@ namespace WebCore {
class AtomicHTMLToken;
class Document;
class DocumentFragment;
+class Element;
class Frame;
class HTMLToken;
class HTMLDocument;
diff --git a/Source/WebCore/html/parser/XSSAuditor.cpp b/Source/WebCore/html/parser/XSSAuditor.cpp
index 7c816475a..822fa3a85 100644
--- a/Source/WebCore/html/parser/XSSAuditor.cpp
+++ b/Source/WebCore/html/parser/XSSAuditor.cpp
@@ -215,7 +215,7 @@ void XSSAuditor::init()
m_decodedURL = String();
if (DocumentLoader* documentLoader = m_parser->document()->frame()->loader()->documentLoader()) {
- DEFINE_STATIC_LOCAL(String, XSSProtectionHeader, ("X-XSS-Protection"));
+ DEFINE_STATIC_LOCAL(String, XSSProtectionHeader, (ASCIILiteral("X-XSS-Protection")));
m_xssProtection = parseXSSProtectionHeader(documentLoader->response().httpHeaderField(XSSProtectionHeader));
FormData* httpBody = documentLoader->originalRequest().httpBody();
@@ -256,7 +256,7 @@ void XSSAuditor::filterToken(HTMLToken& token)
if (didBlockScript) {
// FIXME: Consider using a more helpful console message.
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute a JavaScript script. Source code of script found within request.\n"));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute a JavaScript script. Source code of script found within request.\n")));
m_parser->document()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
bool didBlockEntirePage = (m_xssProtection == XSSProtectionBlockEnabled);
@@ -433,7 +433,7 @@ bool XSSAuditor::filterFormToken(HTMLToken& token)
bool XSSAuditor::eraseDangerousAttributesIfInjected(HTMLToken& token)
{
- DEFINE_STATIC_LOCAL(String, safeJavaScriptURL, ("javascript:void(0)"));
+ DEFINE_STATIC_LOCAL(String, safeJavaScriptURL, (ASCIILiteral("javascript:void(0)")));
bool didBlockScript = false;
for (size_t i = 0; i < token.attributes().size(); ++i) {
diff --git a/Source/WebCore/html/shadow/CalendarPickerElement.cpp b/Source/WebCore/html/shadow/CalendarPickerElement.cpp
index f3244de6b..28d78d1d5 100644
--- a/Source/WebCore/html/shadow/CalendarPickerElement.cpp
+++ b/Source/WebCore/html/shadow/CalendarPickerElement.cpp
@@ -33,22 +33,13 @@
#if ENABLE(CALENDAR_PICKER)
-#include "CalendarPicker.h"
#include "Chrome.h"
#include "ChromeClient.h"
-#include "DateComponents.h"
#include "Event.h"
#include "FrameView.h"
#include "HTMLInputElement.h"
-#include "HTMLNames.h"
-#include "Language.h"
-#include "LocalizedDate.h"
-#include "LocalizedStrings.h"
#include "Page.h"
-#include "PickerCommon.h"
#include "RenderDetailsMarker.h"
-#include "RenderTheme.h"
-#include <wtf/text/StringBuilder.h>
using namespace WTF::Unicode;
@@ -58,7 +49,7 @@ using namespace HTMLNames;
inline CalendarPickerElement::CalendarPickerElement(Document* document)
: HTMLDivElement(divTag, document)
- , m_popup(0)
+ , m_chooser(nullptr)
{
setShadowPseudoId("-webkit-calendar-picker-indicator");
}
@@ -71,7 +62,7 @@ PassRefPtr<CalendarPickerElement> CalendarPickerElement::create(Document* docume
CalendarPickerElement::~CalendarPickerElement()
{
closePopup();
- ASSERT(!m_popup);
+ ASSERT(!m_chooser);
}
RenderObject* CalendarPickerElement::createRenderer(RenderArena* arena, RenderStyle*)
@@ -114,9 +105,19 @@ bool CalendarPickerElement::willRespondToMouseClickEvents()
return HTMLDivElement::willRespondToMouseClickEvents();
}
+void CalendarPickerElement::didChooseValue(const String& value)
+{
+ hostInput()->setValue(value, DispatchChangeEvent);
+}
+
+void CalendarPickerElement::didEndChooser()
+{
+ m_chooser.clear();
+}
+
void CalendarPickerElement::openPopup()
{
- if (m_popup)
+ if (m_chooser)
return;
if (!document()->page())
return;
@@ -125,20 +126,29 @@ void CalendarPickerElement::openPopup()
return;
if (!document()->view())
return;
- IntRect elementRectInRootView = document()->view()->contentsToRootView(hostInput()->getPixelSnappedRect());
- m_popup = chrome->client()->openPagePopup(this, elementRectInRootView);
+
+ HTMLInputElement* input = hostInput();
+ DateTimeChooserParameters parameters;
+ parameters.type = input->type();
+ parameters.minimum = input->minimum();
+ parameters.maximum = input->maximum();
+ parameters.required = input->required();
+ Decimal step;
+ if (hostInput()->getAllowedValueStep(&step))
+ parameters.step = 1.0;
+ else
+ parameters.step = step.toDouble();
+ parameters.anchorRectInRootView = document()->view()->contentsToRootView(hostInput()->pixelSnappedBoundingBox());
+ parameters.currentValue = input->value();
+ // FIXME: parameters.suggestionValues and suggestionLabels will be used when we support datalist.
+ m_chooser = chrome->client()->openDateTimeChooser(this, parameters);
}
void CalendarPickerElement::closePopup()
{
- if (!m_popup)
- return;
- if (!document()->page())
+ if (!m_chooser)
return;
- Chrome* chrome = document()->page()->chrome();
- if (!chrome)
- return;
- chrome->client()->closePagePopup(m_popup);
+ m_chooser->endChooser();
}
void CalendarPickerElement::detach()
@@ -147,67 +157,6 @@ void CalendarPickerElement::detach()
HTMLDivElement::detach();
}
-IntSize CalendarPickerElement::contentSize()
-{
- return IntSize(0, 0);
-}
-
-void CalendarPickerElement::writeDocument(DocumentWriter& writer)
-{
- HTMLInputElement* input = hostInput();
- DateComponents date;
- date.setMillisecondsSinceEpochForDate(input->minimum());
- String minString = date.toString();
- date.setMillisecondsSinceEpochForDate(input->maximum());
- String maxString = date.toString();
- Decimal step;
- String stepString = input->fastGetAttribute(stepAttr);
- if (stepString.isEmpty() || !input->getAllowedValueStep(&step))
- stepString = "1";
-
- addString("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer);
- writer.addData(pickerCommonCss, sizeof(pickerCommonCss));
- writer.addData(calendarPickerCss, sizeof(calendarPickerCss));
- if (document()->page()) {
- CString extraStyle = document()->page()->theme()->extraCalendarPickerStyleSheet();
- if (extraStyle.length())
- writer.addData(extraStyle.data(), extraStyle.length());
- }
- addString("</style></head><body><div id=main>Loading...</div><script>\n"
- "window.dialogArguments = {\n", writer);
- addProperty("min", minString, writer);
- addProperty("max", maxString, writer);
- addProperty("step", stepString, writer);
- addProperty("required", input->required(), writer);
- addProperty("currentValue", input->value(), writer);
- addProperty("locale", defaultLanguage(), writer);
- addProperty("todayLabel", calendarTodayText(), writer);
- addProperty("clearLabel", calendarClearText(), writer);
- addProperty("weekStartDay", firstDayOfWeek(), writer);
- addProperty("monthLabels", monthLabels(), writer);
- addProperty("dayLabels", weekDayShortLabels(), writer);
- Direction dir = direction(monthLabels()[0][0]);
- addProperty("isRTL", dir == RightToLeft || dir == RightToLeftArabic, writer);
- addString("}\n", writer);
-
- writer.addData(pickerCommonJs, sizeof(pickerCommonJs));
- writer.addData(calendarPickerJs, sizeof(calendarPickerJs));
- addString("</script></body>\n", writer);
-}
-
-void CalendarPickerElement::setValueAndClosePopup(int numValue, const String& stringValue)
-{
- ASSERT(m_popup);
- closePopup();
- if (numValue >= 0)
- hostInput()->setValue(stringValue, DispatchChangeEvent);
-}
-
-void CalendarPickerElement::didClosePopup()
-{
- m_popup = 0;
-}
-
}
#endif
diff --git a/Source/WebCore/html/shadow/CalendarPickerElement.h b/Source/WebCore/html/shadow/CalendarPickerElement.h
index cbf213fc5..f90347864 100644
--- a/Source/WebCore/html/shadow/CalendarPickerElement.h
+++ b/Source/WebCore/html/shadow/CalendarPickerElement.h
@@ -32,15 +32,18 @@
#define CalendarPickerElement_h
#if ENABLE(CALENDAR_PICKER)
+
+#include "DateTimeChooser.h"
+#include "DateTimeChooserClient.h"
#include "HTMLDivElement.h"
-#include "PagePopupClient.h"
+#include <wtf/OwnPtr.h>
namespace WebCore {
class HTMLInputElement;
class PagePopup;
-class CalendarPickerElement : public HTMLDivElement, public PagePopupClient {
+class CalendarPickerElement : public HTMLDivElement, public DateTimeChooserClient {
public:
static PassRefPtr<CalendarPickerElement> create(Document*);
virtual ~CalendarPickerElement();
@@ -48,21 +51,19 @@ public:
void closePopup();
virtual bool willRespondToMouseClickEvents() OVERRIDE;
+ // DateTimeChooserClient implementation.
+ virtual void didChooseValue(const String&) OVERRIDE;
+ virtual void didEndChooser() OVERRIDE;
+
private:
CalendarPickerElement(Document*);
virtual RenderObject* createRenderer(RenderArena*, RenderStyle*) OVERRIDE;
virtual void defaultEventHandler(Event*) OVERRIDE;
virtual void detach() OVERRIDE;
- // PagePopupClient functions:
- virtual IntSize contentSize() OVERRIDE;
- virtual void writeDocument(DocumentWriter&) OVERRIDE;
- virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
- virtual void didClosePopup() OVERRIDE;
-
HTMLInputElement* hostInput();
- PagePopup* m_popup;
+ OwnPtr<DateTimeChooser> m_chooser;
};
}
diff --git a/Source/WebCore/html/shadow/ContentDistributor.cpp b/Source/WebCore/html/shadow/ContentDistributor.cpp
index 324a5d0ed..b3c8eb0e4 100644
--- a/Source/WebCore/html/shadow/ContentDistributor.cpp
+++ b/Source/WebCore/html/shadow/ContentDistributor.cpp
@@ -71,7 +71,7 @@ void ContentDistributor::distribute(Element* host)
if (point->doesSelectFromHostChildren())
distributeSelectionsTo(point, pool);
else if (older && !older->assignedTo()) {
- distributeShadowChildrenTo(point, older);
+ distributeNodeChildrenTo(point, older);
older->setAssignedTo(point);
}
}
@@ -126,10 +126,10 @@ void ContentDistributor::distributeSelectionsTo(InsertionPoint* insertionPoint,
insertionPoint->setDistribution(distribution);
}
-void ContentDistributor::distributeShadowChildrenTo(InsertionPoint* insertionPoint, ShadowRoot* root)
+void ContentDistributor::distributeNodeChildrenTo(InsertionPoint* insertionPoint, ContainerNode* containerNode)
{
ContentDistribution distribution;
- for (Node* node = root->firstChild(); node; node = node->nextSibling()) {
+ for (Node* node = containerNode->firstChild(); node; node = node->nextSibling()) {
distribution.append(node);
m_nodeToInsertionPoint.add(node, insertionPoint);
}
diff --git a/Source/WebCore/html/shadow/ContentDistributor.h b/Source/WebCore/html/shadow/ContentDistributor.h
index 214e54fce..08cb543f8 100644
--- a/Source/WebCore/html/shadow/ContentDistributor.h
+++ b/Source/WebCore/html/shadow/ContentDistributor.h
@@ -38,6 +38,7 @@
namespace WebCore {
+class ContainerNode;
class Element;
class InsertionPoint;
class Node;
@@ -69,7 +70,7 @@ public:
bool needsInvalidation() const { return m_validity != Invalidated; }
void distributeSelectionsTo(InsertionPoint*, ContentDistribution& pool);
- void distributeShadowChildrenTo(InsertionPoint*, ShadowRoot*);
+ void distributeNodeChildrenTo(InsertionPoint*, ContainerNode*);
void invalidateDistributionIn(ContentDistribution*);
private:
diff --git a/Source/WebCore/html/shadow/DateTimeEditElement.cpp b/Source/WebCore/html/shadow/DateTimeEditElement.cpp
index 44a1c2b0a..7ee8216c7 100644
--- a/Source/WebCore/html/shadow/DateTimeEditElement.cpp
+++ b/Source/WebCore/html/shadow/DateTimeEditElement.cpp
@@ -195,7 +195,6 @@ DateTimeEditElement::DateTimeEditElement(Document* document, EditControlOwner& e
: HTMLDivElement(divTag, document)
, m_editControlOwner(&editControlOwner)
, m_spinButton(0)
- , m_focusFieldIndex(invalidFieldIndex)
{
DEFINE_STATIC_LOCAL(AtomicString, dateTimeEditPseudoId, ("-webkit-datetime-edit"));
setShadowPseudoId(dateTimeEditPseudoId);
@@ -218,12 +217,30 @@ void DateTimeEditElement::addField(PassRefPtr<DateTimeFieldElement> field)
appendChild(field);
}
+void DateTimeEditElement::blurByOwner()
+{
+ if (DateTimeFieldElement* field = focusedField())
+ field->blur();
+}
+
PassRefPtr<DateTimeEditElement> DateTimeEditElement::create(Document* document, EditControlOwner& editControlOwner)
{
RefPtr<DateTimeEditElement> container = adoptRef(new DateTimeEditElement(document, editControlOwner));
return container.release();
}
+void DateTimeEditElement::didBlurFromField()
+{
+ if (m_editControlOwner)
+ m_editControlOwner->didBlurFromControl();
+}
+
+void DateTimeEditElement::didFocusOnField()
+{
+ if (m_editControlOwner)
+ m_editControlOwner->didFocusOnControl();
+}
+
void DateTimeEditElement::disabledStateChanged()
{
updateUIState();
@@ -234,73 +251,42 @@ DateTimeFieldElement* DateTimeEditElement::fieldAt(size_t fieldIndex) const
return fieldIndex < m_fields.size() ? m_fields[fieldIndex] : 0;
}
-void DateTimeEditElement::focusAndSelectSpinButtonOwner()
+size_t DateTimeEditElement::fieldIndexOf(const DateTimeFieldElement& field) const
{
- if (!m_editControlOwner)
- return;
- m_editControlOwner->focusAndSelectEditControlOwner();
+ for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex) {
+ if (m_fields[fieldIndex] == &field)
+ return fieldIndex;
+ }
+ return invalidFieldIndex;
}
-void DateTimeEditElement::focusFieldAt(size_t newFocusFieldIndex)
+void DateTimeEditElement::focusAndSelectSpinButtonOwner()
{
- if (m_focusFieldIndex == newFocusFieldIndex)
- return;
-
- DateTimeFieldElement* const newFocusField = fieldAt(newFocusFieldIndex);
- if (newFocusField && newFocusField->isReadOnly())
+ if (focusedFieldIndex() != invalidFieldIndex)
return;
- DateTimeFieldElement* const currentFocusField = fieldAt(m_focusFieldIndex);
-
- if (currentFocusField)
- currentFocusField->setFocus(false);
-
- if (!newFocusField) {
- m_focusFieldIndex = invalidFieldIndex;
- return;
- }
-
- m_focusFieldIndex = newFocusFieldIndex;
- newFocusField->setFocus(true);
+ if (DateTimeFieldElement* field = fieldAt(0))
+ field->focus();
}
-void DateTimeEditElement::handleKeyboardEvent(KeyboardEvent* keyboardEvent)
+void DateTimeEditElement::focusByOwner()
{
- if (isDisabled() || isReadOnly())
- return;
-
- if (!fieldAt(m_focusFieldIndex))
- return;
-
- if (keyboardEvent->type() != eventNames().keydownEvent)
- return;
-
- const String& keyIdentifier = keyboardEvent->keyIdentifier();
-
- if (keyIdentifier == "Left") {
- keyboardEvent->setDefaultHandled();
- const size_t fieldIndex = previousFieldIndex();
- if (fieldAt(fieldIndex))
- focusFieldAt(fieldIndex);
- return;
- }
+ if (DateTimeFieldElement* field = fieldAt(0))
+ field->focus();
+}
- if (keyIdentifier == "Right") {
- keyboardEvent->setDefaultHandled();
- const size_t fieldIndex = nextFieldIndex();
- if (fieldAt(fieldIndex))
- focusFieldAt(fieldIndex);
- return;
- }
+DateTimeFieldElement* DateTimeEditElement::focusedField() const
+{
+ return fieldAt(focusedFieldIndex());
+}
- if (keyIdentifier == "U+0009") {
- const size_t fieldIndex = keyboardEvent->getModifierState("Shift") ? previousFieldIndex() : nextFieldIndex();
- if (fieldAt(fieldIndex)) {
- keyboardEvent->setDefaultHandled();
- focusFieldAt(fieldIndex);
- return;
- }
+size_t DateTimeEditElement::focusedFieldIndex() const
+{
+ for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex) {
+ if (m_fields[fieldIndex]->focused())
+ return fieldIndex;
}
+ return invalidFieldIndex;
}
void DateTimeEditElement::fieldValueChanged()
@@ -309,30 +295,34 @@ void DateTimeEditElement::fieldValueChanged()
m_editControlOwner->editControlValueChanged();
}
-void DateTimeEditElement::focusOnNextField()
+bool DateTimeEditElement::focusOnNextField(const DateTimeFieldElement& field)
{
- if (m_focusFieldIndex != invalidFieldIndex)
- focusFieldAt(nextFieldIndex());
+ const size_t startFieldIndex = fieldIndexOf(field);
+ if (startFieldIndex == invalidFieldIndex)
+ return false;
+ for (size_t fieldIndex = startFieldIndex + 1; fieldIndex < m_fields.size(); ++fieldIndex) {
+ if (!m_fields[fieldIndex]->isReadOnly()) {
+ m_fields[fieldIndex]->focus();
+ return true;
+ }
+ }
+ return false;
}
-void DateTimeEditElement::handleMouseEvent(MouseEvent* mouseEvent)
+bool DateTimeEditElement::focusOnPreviousField(const DateTimeFieldElement& field)
{
- if (isDisabled() || isReadOnly())
- return;
-
- if (mouseEvent->type() != eventNames().mousedownEvent || mouseEvent->button() != LeftButton)
- return;
-
- Node* const relatedTarget = mouseEvent->target()->toNode();
- for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex) {
- if (m_fields[fieldIndex] == relatedTarget) {
- mouseEvent->setDefaultHandled();
- focusFieldAt(fieldIndex);
- if (m_editControlOwner)
- m_editControlOwner->editControlMouseFocus();
- break;
+ const size_t startFieldIndex = fieldIndexOf(field);
+ if (startFieldIndex == invalidFieldIndex)
+ return false;
+ size_t fieldIndex = startFieldIndex;
+ while (fieldIndex > 0) {
+ --fieldIndex;
+ if (!m_fields[fieldIndex]->isReadOnly()) {
+ m_fields[fieldIndex]->focus();
+ return true;
}
}
+ return false;
}
bool DateTimeEditElement::isDisabled() const
@@ -347,10 +337,9 @@ bool DateTimeEditElement::isReadOnly() const
void DateTimeEditElement::layout(const StepRange& stepRange, const DateComponents& dateValue)
{
- size_t focusFieldIndex = m_focusFieldIndex;
- DateTimeFieldElement* const focusField = fieldAt(m_focusFieldIndex);
- const AtomicString focusFieldId = focusField ? focusField->shadowPseudoId() : nullAtom;
- focusFieldAt(invalidFieldIndex);
+ size_t focusedFieldIndex = this->focusedFieldIndex();
+ DateTimeFieldElement* const focusedField = fieldAt(focusedFieldIndex);
+ const AtomicString focusedFieldId = focusedField ? focusedField->shadowPseudoId() : nullAtom;
DateTimeEditBuilder builder(*this, stepRange, dateValue);
const String dateTimeFormat = builder.needSecondField() ? localizedTimeFormatText() : localizedShortTimeFormatText();
@@ -361,37 +350,16 @@ void DateTimeEditElement::layout(const StepRange& stepRange, const DateComponent
m_spinButton = spinButton.get();
appendChild(spinButton);
- if (focusFieldIndex != invalidFieldIndex) {
+ if (focusedFieldIndex != invalidFieldIndex) {
for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex) {
- if (m_fields[fieldIndex]->shadowPseudoId() == focusFieldId) {
- focusFieldIndex = fieldIndex;
+ if (m_fields[fieldIndex]->shadowPseudoId() == focusedFieldId) {
+ focusedFieldIndex = fieldIndex;
break;
}
}
- focusFieldAt(std::min(focusFieldIndex, m_fields.size() - 1));
- }
-}
-
-size_t DateTimeEditElement::nextFieldIndex() const
-{
- ASSERT(m_focusFieldIndex != invalidFieldIndex);
- for (size_t fieldIndex = m_focusFieldIndex + 1; fieldIndex < m_fields.size(); ++fieldIndex) {
- if (!m_fields[fieldIndex]->isReadOnly())
- return fieldIndex;
- }
- return m_fields.size();
-}
-
-size_t DateTimeEditElement::previousFieldIndex() const
-{
- ASSERT(m_focusFieldIndex != invalidFieldIndex);
- size_t fieldIndex = m_focusFieldIndex;
- while (fieldIndex > 0) {
- --fieldIndex;
- if (!m_fields[fieldIndex]->isReadOnly())
- return fieldIndex;
+ if (DateTimeFieldElement* field = fieldAt(std::min(focusedFieldIndex, m_fields.size() - 1)))
+ field->focus();
}
- return invalidFieldIndex;
}
void DateTimeEditElement::readOnlyStateChanged()
@@ -403,42 +371,26 @@ void DateTimeEditElement::resetLayout()
{
m_fields.shrink(0);
m_spinButton = 0;
- m_focusFieldIndex = invalidFieldIndex;
removeChildren();
}
void DateTimeEditElement::defaultEventHandler(Event* event)
{
- if (event->type() == eventNames().focusEvent) {
- if (!isDisabled() && !isReadOnly() && m_focusFieldIndex == invalidFieldIndex)
- focusFieldAt(0);
- return;
- }
-
- if (event->type() == eventNames().blurEvent) {
- focusFieldAt(invalidFieldIndex);
- return;
+ // In case of control owner forward event to control, e.g. DOM
+ // dispatchEvent method.
+ if (DateTimeFieldElement* field = focusedField()) {
+ field->defaultEventHandler(event);
+ if (event->defaultHandled())
+ return;
}
- if (event->isMouseEvent()) {
- handleMouseEvent(static_cast<MouseEvent*>(event));
- } else if (event->isKeyboardEvent())
- handleKeyboardEvent(static_cast<KeyboardEvent*>(event));
-
- if (event->defaultHandled())
- return;
-
- DateTimeFieldElement* const focusField = fieldAt(m_focusFieldIndex);
- if (!focusField)
- return;
-
if (m_spinButton) {
m_spinButton->forwardEvent(event);
if (event->defaultHandled())
return;
}
- focusField->defaultEventHandler(event);
+ HTMLDivElement::defaultEventHandler(event);
}
void DateTimeEditElement::setValueAsDate(const StepRange& stepRange, const DateComponents& date)
@@ -465,26 +417,27 @@ bool DateTimeEditElement::shouldSpinButtonRespondToWheelEvents()
if (!shouldSpinButtonRespondToMouseEvents())
return false;
- return !m_editControlOwner || m_editControlOwner->isEditControlOwnerFocused();
+ return focusedFieldIndex() != invalidFieldIndex;
}
void DateTimeEditElement::spinButtonStepDown()
{
- if (DateTimeFieldElement* const focusField = fieldAt(m_focusFieldIndex))
- focusField->stepDown();
+ if (DateTimeFieldElement* const field = focusedField())
+ field->stepDown();
}
void DateTimeEditElement::spinButtonStepUp()
{
- if (DateTimeFieldElement* const focusField = fieldAt(m_focusFieldIndex))
- focusField->stepUp();
+ if (DateTimeFieldElement* const field = focusedField())
+ field->stepUp();
}
void DateTimeEditElement::updateUIState()
{
if (isDisabled() || isReadOnly()) {
m_spinButton->releaseCapture();
- focusFieldAt(invalidFieldIndex);
+ if (DateTimeFieldElement* field = focusedField())
+ field->blur();
}
}
diff --git a/Source/WebCore/html/shadow/DateTimeEditElement.h b/Source/WebCore/html/shadow/DateTimeEditElement.h
index 4767368f4..10c466487 100644
--- a/Source/WebCore/html/shadow/DateTimeEditElement.h
+++ b/Source/WebCore/html/shadow/DateTimeEditElement.h
@@ -42,7 +42,7 @@ class StepRange;
// representing date and time, such as
// - Year, Month, Day Of Month
// - Hour, Minute, Second, Millisecond, AM/PM
-class DateTimeEditElement : public HTMLDivElement, public DateTimeFieldElement::FieldEventHandler, private SpinButtonElement::SpinButtonOwner {
+class DateTimeEditElement : public HTMLDivElement, public DateTimeFieldElement::FieldOwner, private SpinButtonElement::SpinButtonOwner {
WTF_MAKE_NONCOPYABLE(DateTimeEditElement);
public:
@@ -51,11 +51,10 @@ public:
class EditControlOwner {
public:
virtual ~EditControlOwner();
- virtual void focusAndSelectEditControlOwner() = 0;
- virtual void editControlMouseFocus() = 0;
+ virtual void didBlurFromControl() = 0;
+ virtual void didFocusOnControl() = 0;
virtual void editControlValueChanged() = 0;
virtual bool isEditControlOwnerDisabled() const = 0;
- virtual bool isEditControlOwnerFocused() const = 0;
virtual bool isEditControlOwnerReadOnly() const = 0;
};
@@ -63,8 +62,10 @@ public:
virtual ~DateTimeEditElement();
void addField(PassRefPtr<DateTimeFieldElement>);
+ void blurByOwner();
virtual void defaultEventHandler(Event*) OVERRIDE;
void disabledStateChanged();
+ void focusByOwner();
void readOnlyStateChanged();
void removeEditControlOwner() { m_editControlOwner = 0; }
void resetLayout();
@@ -89,19 +90,20 @@ private:
DateTimeEditElement(Document*, EditControlOwner&);
DateTimeFieldElement* fieldAt(size_t) const;
- void focusFieldAt(size_t);
- void handleKeyboardEvent(KeyboardEvent*);
- void handleMouseEvent(MouseEvent*);
+ size_t fieldIndexOf(const DateTimeFieldElement&) const;
+ DateTimeFieldElement* focusedField() const;
+ size_t focusedFieldIndex() const;
bool isDisabled() const;
bool isReadOnly() const;
void layout(const StepRange&, const DateComponents&);
- size_t nextFieldIndex() const;
- size_t previousFieldIndex() const;
void updateUIState();
- // DateTimeFieldElement::FieldEventHandler functions.
+ // DateTimeFieldElement::FieldOwner functions.
+ virtual void didBlurFromField() OVERRIDE FINAL;
+ virtual void didFocusOnField() OVERRIDE FINAL;
virtual void fieldValueChanged() OVERRIDE FINAL;
- virtual void focusOnNextField() OVERRIDE FINAL;
+ virtual bool focusOnNextField(const DateTimeFieldElement&) OVERRIDE FINAL;
+ virtual bool focusOnPreviousField(const DateTimeFieldElement&) OVERRIDE FINAL;
// SpinButtonElement::SpinButtonOwner functions.
virtual void focusAndSelectSpinButtonOwner() OVERRIDE FINAL;
@@ -113,7 +115,6 @@ private:
Vector<DateTimeFieldElement*, maximumNumberOfFields> m_fields;
EditControlOwner* m_editControlOwner;
SpinButtonElement* m_spinButton;
- size_t m_focusFieldIndex;
};
} // namespace WebCore
diff --git a/Source/WebCore/html/shadow/DateTimeFieldElement.cpp b/Source/WebCore/html/shadow/DateTimeFieldElement.cpp
index 702e4900c..b62467d4b 100644
--- a/Source/WebCore/html/shadow/DateTimeFieldElement.cpp
+++ b/Source/WebCore/html/shadow/DateTimeFieldElement.cpp
@@ -30,24 +30,31 @@
#include "DateComponents.h"
#include "HTMLNames.h"
#include "KeyboardEvent.h"
+#include "RenderObject.h"
#include "Text.h"
namespace WebCore {
using namespace HTMLNames;
-DateTimeFieldElement::FieldEventHandler::~FieldEventHandler()
+DateTimeFieldElement::FieldOwner::~FieldOwner()
{
}
-DateTimeFieldElement::DateTimeFieldElement(Document* document, FieldEventHandler& fieldEventHandler)
+DateTimeFieldElement::DateTimeFieldElement(Document* document, FieldOwner& fieldOwner)
: HTMLElement(spanTag, document)
- , m_fieldEventHandler(&fieldEventHandler)
+ , m_fieldOwner(&fieldOwner)
{
}
void DateTimeFieldElement::defaultEventHandler(Event* event)
{
+ if (event->type() == eventNames().blurEvent)
+ didBlur();
+
+ if (event->type() == eventNames().focusEvent)
+ didFocus();
+
if (event->isKeyboardEvent()) {
KeyboardEvent* keyboardEvent = static_cast<KeyboardEvent*>(event);
handleKeyboardEvent(keyboardEvent);
@@ -74,23 +81,52 @@ void DateTimeFieldElement::defaultKeyboardEventHandler(KeyboardEvent* keyboardEv
return;
}
+ if (keyIdentifier == "Left") {
+ if (!m_fieldOwner)
+ return;
+ if (isRTL() ? m_fieldOwner->focusOnNextField(*this) : m_fieldOwner->focusOnPreviousField(*this))
+ keyboardEvent->setDefaultHandled();
+ return;
+ }
+
+ if (keyIdentifier == "Right") {
+ if (!m_fieldOwner)
+ return;
+ if (isRTL() ? m_fieldOwner->focusOnPreviousField(*this) : m_fieldOwner->focusOnNextField(*this))
+ keyboardEvent->setDefaultHandled();
+ return;
+ }
+
if (keyIdentifier == "Up") {
keyboardEvent->setDefaultHandled();
stepUp();
return;
}
- if (keyIdentifier == "U+0008") {
+ if (keyIdentifier == "U+0008" || keyIdentifier == "U+007F") {
keyboardEvent->setDefaultHandled();
setEmptyValue(DateComponents(), DispatchEvent);
return;
}
}
+void DateTimeFieldElement::didBlur()
+{
+ if (m_fieldOwner)
+ m_fieldOwner->didBlurFromField();
+}
+
+void DateTimeFieldElement::didFocus()
+{
+ if (m_fieldOwner)
+ m_fieldOwner->didFocusOnField();
+}
+
void DateTimeFieldElement::focusOnNextField()
{
- if (m_fieldEventHandler)
- m_fieldEventHandler->focusOnNextField();
+ if (!m_fieldOwner)
+ return;
+ m_fieldOwner->focusOnNextField(*this);
}
void DateTimeFieldElement::initialize(const AtomicString& shadowPseudoId)
@@ -99,11 +135,21 @@ void DateTimeFieldElement::initialize(const AtomicString& shadowPseudoId)
appendChild(Text::create(document(), visibleValue()));
}
+bool DateTimeFieldElement::isFocusable() const
+{
+ return !isReadOnly();
+}
+
bool DateTimeFieldElement::isReadOnly() const
{
return fastHasAttribute(readonlyAttr);
}
+bool DateTimeFieldElement::isRTL() const
+{
+ return renderer() && renderer()->style()->direction() == RTL;
+}
+
void DateTimeFieldElement::setReadOnly()
{
// Set HTML attribute readonly to change apperance.
@@ -111,6 +157,11 @@ void DateTimeFieldElement::setReadOnly()
setNeedsStyleRecalc();
}
+bool DateTimeFieldElement::supportsFocus() const
+{
+ return true;
+}
+
void DateTimeFieldElement::updateVisibleValue(EventBehavior eventBehavior)
{
Text* const textNode = toText(firstChild());
@@ -122,8 +173,8 @@ void DateTimeFieldElement::updateVisibleValue(EventBehavior eventBehavior)
textNode->replaceWholeText(newVisibleValue, ASSERT_NO_EXCEPTION);
- if (eventBehavior == DispatchEvent && m_fieldEventHandler)
- m_fieldEventHandler->fieldValueChanged();
+ if (eventBehavior == DispatchEvent && m_fieldOwner)
+ m_fieldOwner->fieldValueChanged();
}
double DateTimeFieldElement::valueAsDouble() const
diff --git a/Source/WebCore/html/shadow/DateTimeFieldElement.h b/Source/WebCore/html/shadow/DateTimeFieldElement.h
index 066b61ffa..0a9bee010 100644
--- a/Source/WebCore/html/shadow/DateTimeFieldElement.h
+++ b/Source/WebCore/html/shadow/DateTimeFieldElement.h
@@ -44,19 +44,22 @@ public:
DispatchEvent,
};
- // FieldEventHandler implementer must call removeEventHandler when
+ // FieldOwner implementer must call removeEventHandler when
// it doesn't handle event, e.g. at destruction.
- class FieldEventHandler {
+ class FieldOwner {
public:
- virtual ~FieldEventHandler();
+ virtual ~FieldOwner();
+ virtual void didBlurFromField() = 0;
+ virtual void didFocusOnField() = 0;
virtual void fieldValueChanged() = 0;
- virtual void focusOnNextField() = 0;
+ virtual bool focusOnNextField(const DateTimeFieldElement&) = 0;
+ virtual bool focusOnPreviousField(const DateTimeFieldElement&) = 0;
};
virtual void defaultEventHandler(Event*) OVERRIDE;
virtual bool hasValue() const = 0;
bool isReadOnly() const;
- void removeEventHandler() { m_fieldEventHandler = 0; }
+ void removeEventHandler() { m_fieldOwner = 0; }
void setReadOnly();
virtual void setEmptyValue(const DateComponents& dateForReadOnlyField, EventBehavior = DispatchNoEvent) = 0;
virtual void setValueAsDate(const DateComponents&) = 0;
@@ -69,7 +72,9 @@ public:
virtual String visibleValue() const = 0;
protected:
- DateTimeFieldElement(Document*, FieldEventHandler&);
+ DateTimeFieldElement(Document*, FieldOwner&);
+ virtual void didBlur();
+ virtual void didFocus();
void focusOnNextField();
virtual void handleKeyboardEvent(KeyboardEvent*) = 0;
void initialize(const AtomicString&);
@@ -78,8 +83,11 @@ protected:
private:
void defaultKeyboardEventHandler(KeyboardEvent*);
+ virtual bool isFocusable() const OVERRIDE FINAL;
+ bool isRTL() const;
+ virtual bool supportsFocus() const OVERRIDE FINAL;
- FieldEventHandler* m_fieldEventHandler;
+ FieldOwner* m_fieldOwner;
};
} // namespace WebCore
diff --git a/Source/WebCore/html/shadow/DateTimeFieldElements.cpp b/Source/WebCore/html/shadow/DateTimeFieldElements.cpp
index 1ff7fa5c7..d8bc849fd 100644
--- a/Source/WebCore/html/shadow/DateTimeFieldElements.cpp
+++ b/Source/WebCore/html/shadow/DateTimeFieldElements.cpp
@@ -32,15 +32,15 @@
namespace WebCore {
-DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document* document, FieldEventHandler& fieldEventHandler, const Vector<String>& ampmLabels)
- : DateTimeSymbolicFieldElement(document, fieldEventHandler, ampmLabels)
+DateTimeAMPMFieldElement::DateTimeAMPMFieldElement(Document* document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels)
+ : DateTimeSymbolicFieldElement(document, fieldOwner, ampmLabels)
{
}
-PassRefPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::create(Document* document, FieldEventHandler& fieldEventHandler, const Vector<String>& ampmLabels)
+PassRefPtr<DateTimeAMPMFieldElement> DateTimeAMPMFieldElement::create(Document* document, FieldOwner& fieldOwner, const Vector<String>& ampmLabels)
{
DEFINE_STATIC_LOCAL(AtomicString, ampmPsuedoId, ("-webkit-datetime-edit-ampm-field"));
- RefPtr<DateTimeAMPMFieldElement> field = adoptRef(new DateTimeAMPMFieldElement(document, fieldEventHandler, ampmLabels));
+ RefPtr<DateTimeAMPMFieldElement> field = adoptRef(new DateTimeAMPMFieldElement(document, fieldOwner, ampmLabels));
field->initialize(ampmPsuedoId);
return field.release();
}
@@ -57,17 +57,17 @@ double DateTimeAMPMFieldElement::unitInMillisecond() const
// ----------------------------
-DateTimeHourFieldElement::DateTimeHourFieldElement(Document* document, FieldEventHandler& fieldEventHandler, int minimum, int maximum)
- : DateTimeNumericFieldElement(document, fieldEventHandler, minimum, maximum)
+DateTimeHourFieldElement::DateTimeHourFieldElement(Document* document, FieldOwner& fieldOwner, int minimum, int maximum)
+ : DateTimeNumericFieldElement(document, fieldOwner, minimum, maximum)
, m_alignment(maximum + maximum % 2)
{
ASSERT((!minimum && (maximum == 11 || maximum == 23)) || (minimum == 1 && (maximum == 12 || maximum == 24)));
}
-PassRefPtr<DateTimeHourFieldElement> DateTimeHourFieldElement::create(Document* document, FieldEventHandler& fieldEventHandler, int minimum, int maximum)
+PassRefPtr<DateTimeHourFieldElement> DateTimeHourFieldElement::create(Document* document, FieldOwner& fieldOwner, int minimum, int maximum)
{
DEFINE_STATIC_LOCAL(AtomicString, hourPsuedoId, ("-webkit-datetime-edit-hour-field"));
- RefPtr<DateTimeHourFieldElement> field = adoptRef(new DateTimeHourFieldElement(document, fieldEventHandler, minimum, maximum));
+ RefPtr<DateTimeHourFieldElement> field = adoptRef(new DateTimeHourFieldElement(document, fieldOwner, minimum, maximum));
field->initialize(hourPsuedoId);
return field.release();
}
@@ -95,15 +95,15 @@ int DateTimeHourFieldElement::valueAsInteger() const
// ----------------------------
-DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document* document, FieldEventHandler& fieldEventHandler)
- : DateTimeNumericFieldElement(document, fieldEventHandler, 0, 999)
+DateTimeMillisecondFieldElement::DateTimeMillisecondFieldElement(Document* document, FieldOwner& fieldOwner)
+ : DateTimeNumericFieldElement(document, fieldOwner, 0, 999)
{
}
-PassRefPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondFieldElement::create(Document* document, FieldEventHandler& fieldEventHandler)
+PassRefPtr<DateTimeMillisecondFieldElement> DateTimeMillisecondFieldElement::create(Document* document, FieldOwner& fieldOwner)
{
DEFINE_STATIC_LOCAL(AtomicString, millisecondPsuedoId, ("-webkit-datetime-edit-millisecond-field"));
- RefPtr<DateTimeMillisecondFieldElement> field = adoptRef(new DateTimeMillisecondFieldElement(document, fieldEventHandler));
+ RefPtr<DateTimeMillisecondFieldElement> field = adoptRef(new DateTimeMillisecondFieldElement(document, fieldOwner));
field->initialize(millisecondPsuedoId);
return field.release();
}
@@ -120,15 +120,15 @@ double DateTimeMillisecondFieldElement::unitInMillisecond() const
// ----------------------------
-DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document* document, FieldEventHandler& fieldEventHandler)
- : DateTimeNumericFieldElement(document, fieldEventHandler, 0, 59)
+DateTimeMinuteFieldElement::DateTimeMinuteFieldElement(Document* document, FieldOwner& fieldOwner)
+ : DateTimeNumericFieldElement(document, fieldOwner, 0, 59)
{
}
-PassRefPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::create(Document* document, FieldEventHandler& fieldEventHandler)
+PassRefPtr<DateTimeMinuteFieldElement> DateTimeMinuteFieldElement::create(Document* document, FieldOwner& fieldOwner)
{
DEFINE_STATIC_LOCAL(AtomicString, minutePsuedoId, ("-webkit-datetime-edit-minute-field"));
- RefPtr<DateTimeMinuteFieldElement> field = adoptRef(new DateTimeMinuteFieldElement(document, fieldEventHandler));
+ RefPtr<DateTimeMinuteFieldElement> field = adoptRef(new DateTimeMinuteFieldElement(document, fieldOwner));
field->initialize(minutePsuedoId);
return field.release();
}
@@ -145,15 +145,15 @@ double DateTimeMinuteFieldElement::unitInMillisecond() const
// ----------------------------
-DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document* document, FieldEventHandler& fieldEventHandler)
- : DateTimeNumericFieldElement(document, fieldEventHandler, 0, 59)
+DateTimeSecondFieldElement::DateTimeSecondFieldElement(Document* document, FieldOwner& fieldOwner)
+ : DateTimeNumericFieldElement(document, fieldOwner, 0, 59)
{
}
-PassRefPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Document* document, FieldEventHandler& fieldEventHandler)
+PassRefPtr<DateTimeSecondFieldElement> DateTimeSecondFieldElement::create(Document* document, FieldOwner& fieldOwner)
{
DEFINE_STATIC_LOCAL(AtomicString, secondPsuedoId, ("-webkit-datetime-edit-second-field"));
- RefPtr<DateTimeSecondFieldElement> field = adoptRef(new DateTimeSecondFieldElement(document, fieldEventHandler));
+ RefPtr<DateTimeSecondFieldElement> field = adoptRef(new DateTimeSecondFieldElement(document, fieldOwner));
field->initialize(secondPsuedoId);
return field.release();
}
diff --git a/Source/WebCore/html/shadow/DateTimeFieldElements.h b/Source/WebCore/html/shadow/DateTimeFieldElements.h
index 57bc1efa5..d7f4d9538 100644
--- a/Source/WebCore/html/shadow/DateTimeFieldElements.h
+++ b/Source/WebCore/html/shadow/DateTimeFieldElements.h
@@ -36,10 +36,10 @@ class DateTimeAMPMFieldElement : public DateTimeSymbolicFieldElement {
WTF_MAKE_NONCOPYABLE(DateTimeAMPMFieldElement);
public:
- static PassRefPtr<DateTimeAMPMFieldElement> create(Document*, FieldEventHandler&, const Vector<String>&);
+ static PassRefPtr<DateTimeAMPMFieldElement> create(Document*, FieldOwner&, const Vector<String>&);
private:
- DateTimeAMPMFieldElement(Document*, FieldEventHandler&, const Vector<String>&);
+ DateTimeAMPMFieldElement(Document*, FieldOwner&, const Vector<String>&);
// DateTimeFieldElement functions.
virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
@@ -57,10 +57,10 @@ class DateTimeHourFieldElement : public DateTimeNumericFieldElement {
WTF_MAKE_NONCOPYABLE(DateTimeHourFieldElement);
public:
- static PassRefPtr<DateTimeHourFieldElement> create(Document*, FieldEventHandler&, int minimum, int maximum);
+ static PassRefPtr<DateTimeHourFieldElement> create(Document*, FieldOwner&, int minimum, int maximum);
private:
- DateTimeHourFieldElement(Document*, FieldEventHandler&, int minimum, int maximum);
+ DateTimeHourFieldElement(Document*, FieldOwner&, int minimum, int maximum);
// DateTimeFieldElement functions.
virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
@@ -75,10 +75,10 @@ class DateTimeMillisecondFieldElement : public DateTimeNumericFieldElement {
WTF_MAKE_NONCOPYABLE(DateTimeMillisecondFieldElement);
public:
- static PassRefPtr<DateTimeMillisecondFieldElement> create(Document*, FieldEventHandler&);
+ static PassRefPtr<DateTimeMillisecondFieldElement> create(Document*, FieldOwner&);
private:
- DateTimeMillisecondFieldElement(Document*, FieldEventHandler&);
+ DateTimeMillisecondFieldElement(Document*, FieldOwner&);
// DateTimeFieldElement functions.
virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
@@ -89,10 +89,10 @@ class DateTimeMinuteFieldElement : public DateTimeNumericFieldElement {
WTF_MAKE_NONCOPYABLE(DateTimeMinuteFieldElement);
public:
- static PassRefPtr<DateTimeMinuteFieldElement> create(Document*, FieldEventHandler&);
+ static PassRefPtr<DateTimeMinuteFieldElement> create(Document*, FieldOwner&);
private:
- DateTimeMinuteFieldElement(Document*, FieldEventHandler&);
+ DateTimeMinuteFieldElement(Document*, FieldOwner&);
// DateTimeFieldElement functions.
virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
@@ -103,10 +103,10 @@ class DateTimeSecondFieldElement : public DateTimeNumericFieldElement {
WTF_MAKE_NONCOPYABLE(DateTimeSecondFieldElement);
public:
- static PassRefPtr<DateTimeSecondFieldElement> create(Document*, FieldEventHandler&);
+ static PassRefPtr<DateTimeSecondFieldElement> create(Document*, FieldOwner&);
private:
- DateTimeSecondFieldElement(Document*, FieldEventHandler&);
+ DateTimeSecondFieldElement(Document*, FieldOwner&);
// DateTimeFieldElement functions.
virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
diff --git a/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp b/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp
index d522e1579..bf80af942 100644
--- a/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp
+++ b/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp
@@ -63,8 +63,8 @@ int DateTimeNumericFieldElement::Range::clampValue(int value) const
return std::min(std::max(value, minimum), maximum);
}
-DateTimeNumericFieldElement::DateTimeNumericFieldElement(Document* document, FieldEventHandler& fieldEventHandler, int minimum, int maximum)
- : DateTimeFieldElement(document, fieldEventHandler)
+DateTimeNumericFieldElement::DateTimeNumericFieldElement(Document* document, FieldOwner& fieldOwner, int minimum, int maximum)
+ : DateTimeFieldElement(document, fieldOwner)
, m_lastDigitCharTime(0)
, m_range(minimum, maximum)
, m_value(0)
@@ -72,6 +72,12 @@ DateTimeNumericFieldElement::DateTimeNumericFieldElement(Document* document, Fie
{
}
+void DateTimeNumericFieldElement::didBlur()
+{
+ m_lastDigitCharTime = 0;
+ DateTimeFieldElement::didBlur();
+}
+
void DateTimeNumericFieldElement::handleKeyboardEvent(KeyboardEvent* keyboardEvent)
{
if (isReadOnly())
diff --git a/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h b/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h
index 7cb398250..283e60672 100644
--- a/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h
+++ b/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h
@@ -50,7 +50,7 @@ protected:
int minimum;
};
- DateTimeNumericFieldElement(Document*, FieldEventHandler&, int minimum, int maximum);
+ DateTimeNumericFieldElement(Document*, FieldOwner&, int minimum, int maximum);
int clampValue(int value) const { return m_range.clampValue(value); }
const Range& range() const { return m_range; }
@@ -63,6 +63,7 @@ protected:
private:
// DateTimeFieldElement functions.
+ virtual void didBlur() OVERRIDE FINAL;
virtual void handleKeyboardEvent(KeyboardEvent*) OVERRIDE FINAL;
virtual void setEmptyValue(const DateComponents& dateForReadOnlyField, EventBehavior) OVERRIDE FINAL;
virtual void stepDown() OVERRIDE FINAL;
diff --git a/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp b/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp
index 08eb52229..beadca974 100644
--- a/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp
+++ b/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp
@@ -27,17 +27,49 @@
#if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
#include "DateTimeSymbolicFieldElement.h"
+#include "FontCache.h"
#include "KeyboardEvent.h"
+#include "RenderStyle.h"
+#include "StyleResolver.h"
+#include "TextBreakIterator.h"
+#include "TextRun.h"
+#include <wtf/text/StringBuilder.h>
#include <wtf/unicode/Unicode.h>
namespace WebCore {
-DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement(Document* document, FieldEventHandler& fieldEventHandler, const Vector<String>& symbols)
- : DateTimeFieldElement(document, fieldEventHandler)
+static AtomicString makeVisibleEmptyValue(const Vector<String>& symbols)
+{
+ unsigned maximumLength = 0;
+ for (unsigned index = 0; index < symbols.size(); ++index)
+ maximumLength = std::max(maximumLength, numGraphemeClusters(symbols[index]));
+ StringBuilder builder;
+ builder.reserveCapacity(maximumLength);
+ for (unsigned length = 0; length < maximumLength; ++length)
+ builder.append('-');
+ return builder.toAtomicString();
+}
+
+DateTimeSymbolicFieldElement::DateTimeSymbolicFieldElement(Document* document, FieldOwner& fieldOwner, const Vector<String>& symbols)
+ : DateTimeFieldElement(document, fieldOwner)
, m_symbols(symbols)
+ , m_visibleEmptyValue(makeVisibleEmptyValue(symbols))
, m_selectedIndex(-1)
{
ASSERT(!symbols.isEmpty());
+ setHasCustomCallbacks();
+}
+
+PassRefPtr<RenderStyle> DateTimeSymbolicFieldElement::customStyleForRenderer()
+{
+ FontCachePurgePreventer fontCachePurgePreventer;
+ RefPtr<RenderStyle> originalStyle = document()->styleResolver()->styleForElement(this);
+ RefPtr<RenderStyle> style = RenderStyle::clone(originalStyle.get());
+ float maxiumWidth = style->font().width(visibleEmptyValue());
+ for (unsigned index = 0; index < m_symbols.size(); ++index)
+ maxiumWidth = std::max(maxiumWidth, style->font().width(m_symbols[index]));
+ style->setWidth(Length(maxiumWidth, Fixed));
+ return style.release();
}
void DateTimeSymbolicFieldElement::handleKeyboardEvent(KeyboardEvent* keyboardEvent)
@@ -98,9 +130,14 @@ int DateTimeSymbolicFieldElement::valueAsInteger() const
return m_selectedIndex;
}
+String DateTimeSymbolicFieldElement::visibleEmptyValue() const
+{
+ return m_visibleEmptyValue;
+}
+
String DateTimeSymbolicFieldElement::visibleValue() const
{
- return hasValue() ? m_symbols[m_selectedIndex] : "--";
+ return hasValue() ? m_symbols[m_selectedIndex] : visibleEmptyValue();
}
} // namespace WebCore
diff --git a/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h b/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h
index 8329dd114..b21a8e4f3 100644
--- a/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h
+++ b/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h
@@ -37,12 +37,15 @@ class DateTimeSymbolicFieldElement : public DateTimeFieldElement {
WTF_MAKE_NONCOPYABLE(DateTimeSymbolicFieldElement);
protected:
- DateTimeSymbolicFieldElement(Document*, FieldEventHandler&, const Vector<String>&);
+ DateTimeSymbolicFieldElement(Document*, FieldOwner&, const Vector<String>&);
virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
private:
static const int invalidIndex = -1;
+ virtual PassRefPtr<RenderStyle> customStyleForRenderer() OVERRIDE FINAL;
+ String visibleEmptyValue() const;
+
// DateTimeFieldElement functions.
virtual void handleKeyboardEvent(KeyboardEvent*) OVERRIDE FINAL;
virtual bool hasValue() const OVERRIDE FINAL;
@@ -54,6 +57,10 @@ private:
virtual String visibleValue() const OVERRIDE FINAL;
const Vector<String> m_symbols;
+
+ // We use AtomicString to share visible empty value among multiple
+ // DateTimeEditElements in the page.
+ const AtomicString m_visibleEmptyValue;
int m_selectedIndex;
};
diff --git a/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp b/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp
index 62f9e8599..6b3913bb6 100644
--- a/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp
+++ b/Source/WebCore/html/shadow/MediaControlRootElementChromium.cpp
@@ -84,6 +84,7 @@ MediaControlRootElementChromium::MediaControlRootElementChromium(Document* docum
, m_timeline(0)
, m_panelMuteButton(0)
, m_volumeSlider(0)
+ , m_toggleClosedCaptionsButton(0)
, m_fullscreenButton(0)
, m_panel(0)
, m_enclosure(0)
@@ -164,6 +165,14 @@ bool MediaControlRootElementChromium::initializeControls(Document* document)
if (ec)
return false;
+ if (document->page()->theme()->supportsClosedCaptioning()) {
+ RefPtr<MediaControlToggleClosedCaptionsButtonElement> toggleClosedCaptionsButton = MediaControlToggleClosedCaptionsButtonElement::create(document);
+ m_toggleClosedCaptionsButton = toggleClosedCaptionsButton.get();
+ panel->appendChild(toggleClosedCaptionsButton.release(), ec, true);
+ if (ec)
+ return false;
+ }
+
RefPtr<MediaControlFullscreenButtonElement> fullscreenButton = MediaControlFullscreenButtonElement::create(document, this);
m_fullscreenButton = fullscreenButton.get();
panel->appendChild(fullscreenButton.release(), ec, true);
@@ -201,6 +210,8 @@ void MediaControlRootElementChromium::setMediaController(MediaControllerInterfac
m_panelMuteButton->setMediaController(controller);
if (m_volumeSlider)
m_volumeSlider->setMediaController(controller);
+ if (m_toggleClosedCaptionsButton)
+ m_toggleClosedCaptionsButton->setMediaController(controller);
if (m_fullscreenButton)
m_fullscreenButton->setMediaController(controller);
if (m_panel)
@@ -265,6 +276,13 @@ void MediaControlRootElementChromium::reset()
}
}
+ if (m_toggleClosedCaptionsButton) {
+ if (m_mediaController->hasClosedCaptions())
+ m_toggleClosedCaptionsButton->show();
+ else
+ m_toggleClosedCaptionsButton->hide();
+ }
+
if (m_mediaController->supportsFullscreen() && m_mediaController->hasVideo())
m_fullscreenButton->show();
else
@@ -332,6 +350,8 @@ void MediaControlRootElementChromium::reportedError()
m_panelMuteButton->hide();
m_volumeSlider->hide();
+ if (m_toggleClosedCaptionsButton)
+ m_toggleClosedCaptionsButton->hide();
m_fullscreenButton->hide();
}
@@ -417,6 +437,8 @@ void MediaControlRootElementChromium::stopHideFullscreenControlsTimer()
void MediaControlRootElementChromium::changedClosedCaptionsVisibility()
{
+ if (m_toggleClosedCaptionsButton)
+ m_toggleClosedCaptionsButton->updateDisplayType();
}
void MediaControlRootElementChromium::changedMute()
@@ -465,6 +487,9 @@ void MediaControlRootElementChromium::createTextTrackDisplay()
RefPtr<MediaControlTextTrackContainerElement> textDisplayContainer = MediaControlTextTrackContainerElement::create(document());
m_textDisplayContainer = textDisplayContainer.get();
+ if (m_mediaController)
+ m_textDisplayContainer->setMediaController(m_mediaController);
+
// Insert it before the first controller element so it always displays behind the controls.
insertBefore(textDisplayContainer.release(), m_enclosure, ASSERT_NO_EXCEPTION, true);
}
diff --git a/Source/WebCore/html/shadow/MediaControlRootElementChromium.h b/Source/WebCore/html/shadow/MediaControlRootElementChromium.h
index a827f1116..8c2061233 100644
--- a/Source/WebCore/html/shadow/MediaControlRootElementChromium.h
+++ b/Source/WebCore/html/shadow/MediaControlRootElementChromium.h
@@ -44,6 +44,7 @@ class MediaControlCurrentTimeDisplayElement;
class MediaControlTimeRemainingDisplayElement;
class MediaControlTimelineElement;
class MediaControlVolumeSliderElement;
+class MediaControlToggleClosedCaptionsButtonElement;
class MediaControlFullscreenButtonElement;
class MediaControlTimeDisplayElement;
class MediaControlTimelineContainerElement;
@@ -146,6 +147,7 @@ private:
MediaControlTimelineElement* m_timeline;
MediaControlPanelMuteButtonElement* m_panelMuteButton;
MediaControlVolumeSliderElement* m_volumeSlider;
+ MediaControlToggleClosedCaptionsButtonElement* m_toggleClosedCaptionsButton;
MediaControlFullscreenButtonElement* m_fullscreenButton;
MediaControlPanelElement* m_panel;
MediaControlPanelEnclosureElement* m_enclosure;
diff --git a/Source/WebCore/html/shadow/SliderThumbElement.cpp b/Source/WebCore/html/shadow/SliderThumbElement.cpp
index 155e3d2de..d8bbd2bbb 100644
--- a/Source/WebCore/html/shadow/SliderThumbElement.cpp
+++ b/Source/WebCore/html/shadow/SliderThumbElement.cpp
@@ -272,13 +272,15 @@ void SliderThumbElement::setPositionFromPoint(const LayoutPoint& point)
IntRect inputBoundingBox = input->renderer()->absoluteBoundingBoxRectIgnoringTransforms();
if (isVertical) {
trackSize = trackElement->renderBox()->contentHeight();
- position = offset.y() - renderBox()->height() / 2 - trackBoundingBox.y() + inputBoundingBox.y();
+ position = offset.y() - renderBox()->height() / 2 - trackBoundingBox.y() + inputBoundingBox.y() - renderBox()->marginBottom();
currentPosition = absoluteThumbOrigin.y() - absoluteSliderContentOrigin.y();
} else {
trackSize = trackElement->renderBox()->contentWidth();
position = offset.x() - renderBox()->width() / 2 - trackBoundingBox.x() + inputBoundingBox.x();
- if (!isLeftToRightDirection)
- position += renderBox()->width();
+ if (isLeftToRightDirection)
+ position -= renderBox()->marginLeft();
+ else
+ position += renderBox()->width() - renderBox()->marginRight();
currentPosition = absoluteThumbOrigin.x() - absoluteSliderContentOrigin.x();
}
position = max<LayoutUnit>(0, min(position, trackSize));
diff --git a/Source/WebCore/html/shadow/TextControlInnerElements.cpp b/Source/WebCore/html/shadow/TextControlInnerElements.cpp
index 116b67869..fdc25355d 100644
--- a/Source/WebCore/html/shadow/TextControlInnerElements.cpp
+++ b/Source/WebCore/html/shadow/TextControlInnerElements.cpp
@@ -425,7 +425,7 @@ void InputFieldSpeechButtonElement::startSpeechInput()
RefPtr<HTMLInputElement> input = static_cast<HTMLInputElement*>(shadowHost());
AtomicString language = input->computeInheritedLanguage();
String grammar = input->getAttribute(webkitgrammarAttr);
- IntRect rect = document()->view()->contentsToRootView(getPixelSnappedRect());
+ IntRect rect = document()->view()->contentsToRootView(pixelSnappedBoundingBox());
if (speechInput()->startRecognition(m_listenerId, rect, language, grammar, document()->securityOrigin()))
setState(Recording);
}
diff --git a/Source/WebCore/html/track/TextTrack.cpp b/Source/WebCore/html/track/TextTrack.cpp
index addc87527..6abcaccd8 100644
--- a/Source/WebCore/html/track/TextTrack.cpp
+++ b/Source/WebCore/html/track/TextTrack.cpp
@@ -48,41 +48,59 @@ static const int invalidTrackIndex = -1;
const AtomicString& TextTrack::subtitlesKeyword()
{
- DEFINE_STATIC_LOCAL(const AtomicString, subtitles, ("subtitles"));
+ DEFINE_STATIC_LOCAL(const AtomicString, subtitles, ("subtitles", AtomicString::ConstructFromLiteral));
return subtitles;
}
const AtomicString& TextTrack::captionsKeyword()
{
- DEFINE_STATIC_LOCAL(const AtomicString, captions, ("captions"));
+ DEFINE_STATIC_LOCAL(const AtomicString, captions, ("captions", AtomicString::ConstructFromLiteral));
return captions;
}
const AtomicString& TextTrack::descriptionsKeyword()
{
- DEFINE_STATIC_LOCAL(const AtomicString, descriptions, ("descriptions"));
+ DEFINE_STATIC_LOCAL(const AtomicString, descriptions, ("descriptions", AtomicString::ConstructFromLiteral));
return descriptions;
}
const AtomicString& TextTrack::chaptersKeyword()
{
- DEFINE_STATIC_LOCAL(const AtomicString, chapters, ("chapters"));
+ DEFINE_STATIC_LOCAL(const AtomicString, chapters, ("chapters", AtomicString::ConstructFromLiteral));
return chapters;
}
const AtomicString& TextTrack::metadataKeyword()
{
- DEFINE_STATIC_LOCAL(const AtomicString, metadata, ("metadata"));
+ DEFINE_STATIC_LOCAL(const AtomicString, metadata, ("metadata", AtomicString::ConstructFromLiteral));
return metadata;
}
+const AtomicString& TextTrack::disabledKeyword()
+{
+ DEFINE_STATIC_LOCAL(const AtomicString, open, ("disabled", AtomicString::ConstructFromLiteral));
+ return open;
+}
+
+const AtomicString& TextTrack::hiddenKeyword()
+{
+ DEFINE_STATIC_LOCAL(const AtomicString, closed, ("hidden", AtomicString::ConstructFromLiteral));
+ return closed;
+}
+
+const AtomicString& TextTrack::showingKeyword()
+{
+ DEFINE_STATIC_LOCAL(const AtomicString, ended, ("showing", AtomicString::ConstructFromLiteral));
+ return ended;
+}
+
TextTrack::TextTrack(ScriptExecutionContext* context, TextTrackClient* client, const String& kind, const String& label, const String& language, TextTrackType type)
: TrackBase(context, TrackBase::TextTrack)
, m_cues(0)
, m_mediaElement(0)
, m_label(label)
, m_language(language)
- , m_mode(TextTrack::DISABLED)
+ , m_mode(disabledKeyword())
, m_client(client)
, m_trackType(type)
, m_readinessState(NotLoaded)
@@ -128,41 +146,39 @@ void TextTrack::setKind(const String& kind)
m_client->textTrackKindChanged(this);
}
-void TextTrack::setMode(unsigned short mode, ExceptionCode& ec)
+void TextTrack::setMode(const String& mode)
{
- // 4.8.10.12.5 On setting the mode, if the new value is not either 0, 1, or 2,
- // the user agent must throw an INVALID_ACCESS_ERR exception.
- if (mode > TextTrack::SHOWING) {
- ec = INVALID_ACCESS_ERR;
+ // On setting, if the new value isn't equal to what the attribute would currently
+ // return, the new value must be processed as follows ...
+ if (mode != disabledKeyword() && mode != hiddenKeyword() && mode != showingKeyword())
return;
- }
- if (m_mode == static_cast<Mode>(mode))
+ if (m_mode == mode)
return;
// If mode changes to disabled, remove this track's cues from the client
// because they will no longer be accessible from the cues() function.
- if (mode == TextTrack::DISABLED && m_client && m_cues)
+ if (mode == disabledKeyword() && m_client && m_cues)
m_client->textTrackRemoveCues(this, m_cues.get());
- if (mode != TextTrack::SHOWING && m_cues)
+ if (mode != showingKeyword() && m_cues)
for (size_t i = 0; i < m_cues->length(); ++i)
m_cues->item(i)->removeDisplayTree();
// ... Note: If the mode had been showing by default, this will change it to showing,
// even though the value of mode would appear not to change.
- m_mode = static_cast<Mode>(mode);
+ m_mode = mode;
setShowingByDefault(false);
if (m_client)
m_client->textTrackModeChanged(this);
}
-TextTrack::Mode TextTrack::mode() const
+String TextTrack::mode() const
{
- // The text track "showing" and "showing by default" modes return SHOWING (numeric value 2)
+ // The text track "showing" and "showing by default" modes return the string "showing".
if (m_showingByDefault)
- return SHOWING;
+ return showingKeyword();
return m_mode;
}
@@ -173,7 +189,7 @@ TextTrackCueList* TextTrack::cues()
// Otherwise, it must return null. When an object is returned, the
// same object must be returned each time.
// http://www.whatwg.org/specs/web-apps/current-work/#dom-texttrack-cues
- if (m_mode != TextTrack::DISABLED)
+ if (m_mode != disabledKeyword())
return ensureTextTrackCueList();
return 0;
}
@@ -186,7 +202,7 @@ TextTrackCueList* TextTrack::activeCues() const
// order. Otherwise, it must return null. When an object is returned, the
// same object must be returned each time.
// http://www.whatwg.org/specs/web-apps/current-work/#dom-texttrack-activecues
- if (m_cues && m_mode != TextTrack::DISABLED)
+ if (m_cues && m_mode != disabledKeyword())
return m_cues->activeCues();
return 0;
}
@@ -299,7 +315,7 @@ bool TextTrack::isRendered()
if (m_kind != captionsKeyword() && m_kind != subtitlesKeyword())
return false;
- if (m_mode != SHOWING && !m_showingByDefault)
+ if (m_mode != showingKeyword() && !m_showingByDefault)
return false;
return true;
diff --git a/Source/WebCore/html/track/TextTrack.h b/Source/WebCore/html/track/TextTrack.h
index 957bcca60..2c799ed04 100644
--- a/Source/WebCore/html/track/TextTrack.h
+++ b/Source/WebCore/html/track/TextTrack.h
@@ -79,9 +79,12 @@ public:
String language() const { return m_language; }
void setLanguage(const String& language) { m_language = language; }
- enum Mode { DISABLED = 0, HIDDEN = 1, SHOWING = 2 };
- Mode mode() const;
- void setMode(unsigned short, ExceptionCode&);
+ static const AtomicString& disabledKeyword();
+ static const AtomicString& hiddenKeyword();
+ static const AtomicString& showingKeyword();
+
+ String mode() const;
+ void setMode(const String&);
bool showingByDefault() const { return m_showingByDefault; }
void setShowingByDefault(bool showing) { m_showingByDefault = showing; }
@@ -123,7 +126,7 @@ private:
String m_kind;
String m_label;
String m_language;
- Mode m_mode;
+ String m_mode;
TextTrackClient* m_client;
TextTrackType m_trackType;
ReadinessState m_readinessState;
diff --git a/Source/WebCore/html/track/TextTrack.idl b/Source/WebCore/html/track/TextTrack.idl
index 845a80c01..9836f02ce 100644
--- a/Source/WebCore/html/track/TextTrack.idl
+++ b/Source/WebCore/html/track/TextTrack.idl
@@ -36,11 +36,7 @@ module html {
readonly attribute DOMString label;
readonly attribute DOMString language;
- const unsigned short DISABLED = 0;
- const unsigned short HIDDEN = 1;
- const unsigned short SHOWING = 2;
- attribute unsigned short mode
- setter raises (DOMException);
+ attribute DOMString mode;
readonly attribute TextTrackCueList cues;
readonly attribute TextTrackCueList activeCues;
diff --git a/Source/WebCore/html/track/TextTrackCue.cpp b/Source/WebCore/html/track/TextTrackCue.cpp
index e67ae8b93..299fc1b7c 100644
--- a/Source/WebCore/html/track/TextTrackCue.cpp
+++ b/Source/WebCore/html/track/TextTrackCue.cpp
@@ -56,19 +56,19 @@ static const int autoSize = 0;
static const String& startKeyword()
{
- DEFINE_STATIC_LOCAL(const String, start, ("start"));
+ DEFINE_STATIC_LOCAL(const String, start, (ASCIILiteral("start")));
return start;
}
static const String& middleKeyword()
{
- DEFINE_STATIC_LOCAL(const String, middle, ("middle"));
+ DEFINE_STATIC_LOCAL(const String, middle, (ASCIILiteral("middle")));
return middle;
}
static const String& endKeyword()
{
- DEFINE_STATIC_LOCAL(const String, end, ("end"));
+ DEFINE_STATIC_LOCAL(const String, end, (ASCIILiteral("end")));
return end;
}
@@ -79,13 +79,13 @@ static const String& horizontalKeyword()
static const String& verticalGrowingLeftKeyword()
{
- DEFINE_STATIC_LOCAL(const String, verticalrl, ("rl"));
+ DEFINE_STATIC_LOCAL(const String, verticalrl, (ASCIILiteral("rl")));
return verticalrl;
}
static const String& verticalGrowingRightKeyword()
{
- DEFINE_STATIC_LOCAL(const String, verticallr, ("lr"));
+ DEFINE_STATIC_LOCAL(const String, verticallr, (ASCIILiteral("lr")));
return verticallr;
}
@@ -212,10 +212,6 @@ TextTrackCue::TextTrackCue(ScriptExecutionContext* context, double start, double
m_displayWritingModeMap[Horizontal] = CSSValueHorizontalTb;
m_displayWritingModeMap[VerticalGrowingLeft] = CSSValueVerticalRl;
m_displayWritingModeMap[VerticalGrowingRight] = CSSValueVerticalLr;
-
- // A text track cue has a text track cue computed line position whose value
- // is defined in terms of the other aspects of the cue.
- m_computedLinePosition = calculateComputedLinePosition();
}
TextTrackCue::~TextTrackCue()
@@ -473,6 +469,9 @@ PassRefPtr<DocumentFragment> TextTrackCue::getCueAsHTML()
m_hasInnerTimestamps = false;
m_documentFragment = WebVTTParser::create(0, m_scriptExecutionContext)->createDocumentFragmentFromCueText(m_content);
+ if (!m_documentFragment)
+ return 0;
+
for (Node *child = m_documentFragment->firstChild(); !m_hasInnerTimestamps && child; child = child->nextSibling()) {
if (child->nodeName() == "timestamp")
m_hasInnerTimestamps = true;
@@ -490,7 +489,7 @@ PassRefPtr<DocumentFragment> TextTrackCue::getCueAsHTML()
bool TextTrackCue::dispatchEvent(PassRefPtr<Event> event)
{
// When a TextTrack's mode is disabled: no cues are active, no events fired.
- if (!track() || track()->mode() == TextTrack::DISABLED)
+ if (!track() || track()->mode() == TextTrack::disabledKeyword())
return false;
return EventTarget::dispatchEvent(event);
@@ -503,7 +502,7 @@ bool TextTrackCue::dispatchEvent(PassRefPtr<Event> event, ExceptionCode &ec)
bool TextTrackCue::isActive()
{
- return m_isActive && track() && track()->mode() != TextTrack::DISABLED;
+ return m_isActive && track() && track()->mode() != TextTrack::disabledKeyword();
}
void TextTrackCue::setIsActive(bool active)
@@ -641,17 +640,24 @@ void TextTrackCue::calculateDisplayParameters()
if (!m_snapToLines && (m_writingDirection == VerticalGrowingLeft || m_writingDirection == VerticalGrowingRight))
m_displayPosition.first = m_computedLinePosition;
+
+ // A text track cue has a text track cue computed line position whose value
+ // is defined in terms of the other aspects of the cue.
+ m_computedLinePosition = calculateComputedLinePosition();
}
void TextTrackCue::updateDisplayTree(float movieTime)
{
// The display tree may contain WebVTT timestamp objects representing
// timestamps (processing instructions), along with displayable nodes.
- DEFINE_STATIC_LOCAL(const String, timestampTag, ("timestamp"));
+ DEFINE_STATIC_LOCAL(const String, timestampTag, (ASCIILiteral("timestamp")));
DEFINE_STATIC_LOCAL(const AtomicString, trackPastNodesShadowPseudoId, ("-webkit-media-text-track-past-nodes"));
DEFINE_STATIC_LOCAL(const AtomicString, trackFutureNodesShadowPseudoId, ("-webkit-media-text-track-future-nodes"));
+ if (!track()->isRendered())
+ return;
+
bool isPastNode = true;
// Clear the contents of the two sets.
@@ -780,11 +786,11 @@ std::pair<double, double> TextTrackCue::getPositionCoordinates() const
TextTrackCue::CueSetting TextTrackCue::settingName(const String& name)
{
- DEFINE_STATIC_LOCAL(const String, verticalKeyword, ("vertical"));
- DEFINE_STATIC_LOCAL(const String, lineKeyword, ("line"));
- DEFINE_STATIC_LOCAL(const String, positionKeyword, ("position"));
- DEFINE_STATIC_LOCAL(const String, sizeKeyword, ("size"));
- DEFINE_STATIC_LOCAL(const String, alignKeyword, ("align"));
+ DEFINE_STATIC_LOCAL(const String, verticalKeyword, (ASCIILiteral("vertical")));
+ DEFINE_STATIC_LOCAL(const String, lineKeyword, (ASCIILiteral("line")));
+ DEFINE_STATIC_LOCAL(const String, positionKeyword, (ASCIILiteral("position")));
+ DEFINE_STATIC_LOCAL(const String, sizeKeyword, (ASCIILiteral("size")));
+ DEFINE_STATIC_LOCAL(const String, alignKeyword, (ASCIILiteral("align")));
if (name == verticalKeyword)
return Vertical;
diff --git a/Source/WebCore/html/track/WebVTTParser.h b/Source/WebCore/html/track/WebVTTParser.h
index 522bbffa7..6490206be 100644
--- a/Source/WebCore/html/track/WebVTTParser.h
+++ b/Source/WebCore/html/track/WebVTTParser.h
@@ -33,7 +33,6 @@
#if ENABLE(VIDEO_TRACK)
-#include "Document.h"
#include "DocumentFragment.h"
#include "HTMLNames.h"
#include "TextTrackCue.h"
@@ -45,6 +44,8 @@ namespace WebCore {
using namespace HTMLNames;
+class Document;
+
class WebVTTParserClient {
public:
virtual ~WebVTTParserClient() { }
diff --git a/Source/WebCore/inspector/CodeGeneratorInspector.py b/Source/WebCore/inspector/CodeGeneratorInspector.py
index 85222538b..dd9cb11a1 100755
--- a/Source/WebCore/inspector/CodeGeneratorInspector.py
+++ b/Source/WebCore/inspector/CodeGeneratorInspector.py
@@ -770,6 +770,9 @@ class Writer:
if p:
self.newline(p)
+ def get_indent(self):
+ return self.indent
+
def get_indented(self, additional_indent):
return Writer(self.output, self.indent + additional_indent)
@@ -1110,7 +1113,7 @@ class TypeBindings:
class ResolveData:
main_properties = main
optional_properties = optional
- ad_hoc_types = ad_hoc_type_context.ad_hoc_type_list
+ ad_hoc_types = ad_hoc_type_list
cls.resolve_data_ = ResolveData
@@ -1783,10 +1786,20 @@ ${responseCook}
frontend_method = string.Template("""void InspectorFrontend::$domainName::$eventName($parameters)
{
- RefPtr<InspectorObject> ${eventName}Message = InspectorObject::create();
- ${eventName}Message->setString("method", "$domainName.$eventName");
+ RefPtr<InspectorObject> jsonMessage = InspectorObject::create();
+ jsonMessage->setString("method", "$domainName.$eventName");
$code if (m_inspectorFrontendChannel)
- m_inspectorFrontendChannel->sendMessageToFrontend(${eventName}Message->toJSONString());
+ m_inspectorFrontendChannel->sendMessageToFrontend(jsonMessage->toJSONString());
+}
+""")
+
+ callback_method = string.Template(
+"""InspectorBackendDispatcher::$agentName::$callbackName::$callbackName(PassRefPtr<InspectorBackendDispatcherImpl> backendImpl, int id) : CallbackBase(backendImpl, id) {}
+
+void InspectorBackendDispatcher::$agentName::$callbackName::sendSuccess($parameters)
+{
+ RefPtr<InspectorObject> jsonMessage = InspectorObject::create();
+$code sendIfActive(jsonMessage, ErrorString());
}
""")
@@ -1796,8 +1809,8 @@ $code if (m_inspectorFrontendChannel)
#include "InspectorTypeBuilder.h"
#include "InspectorValues.h"
-#include <PlatformString.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -1845,11 +1858,33 @@ class InspectorFrontendChannel;
typedef String ErrorString;
+class InspectorBackendDispatcherImpl;
+
class InspectorBackendDispatcher: public RefCounted<InspectorBackendDispatcher> {
public:
static PassRefPtr<InspectorBackendDispatcher> create(InspectorFrontendChannel* inspectorFrontendChannel);
virtual ~InspectorBackendDispatcher() { }
+ class CallbackBase: public RefCounted<CallbackBase> {
+ public:
+ CallbackBase(PassRefPtr<InspectorBackendDispatcherImpl> backendImpl, int id);
+ virtual ~CallbackBase();
+ void sendFailure(const ErrorString&);
+ bool isActive();
+
+ protected:
+ void sendIfActive(PassRefPtr<InspectorObject> partialMessage, const ErrorString& invocationError);
+
+ private:
+ void disable() { m_alreadySent = true; }
+
+ RefPtr<InspectorBackendDispatcherImpl> m_backendImpl;
+ int m_id;
+ bool m_alreadySent;
+
+ friend class InspectorBackendDispatcherImpl;
+ };
+
$agentInterfaces
$virtualSetters
@@ -1920,6 +1955,9 @@ $constructorInit
virtual void reportProtocolError(const long* const callId, CommonErrorCode, const String& errorMessage, PassRefPtr<InspectorArray> data) const;
using InspectorBackendDispatcher::reportProtocolError;
+ void sendResponse(long callId, PassRefPtr<InspectorObject> result, const ErrorString& invocationError);
+ bool isActive() { return m_inspectorFrontendChannel; }
+
$setters
private:
$methodDeclarations
@@ -2017,6 +2055,11 @@ void InspectorBackendDispatcherImpl::sendResponse(long callId, PassRefPtr<Inspec
reportProtocolError(&callId, InvalidParams, errorMessage, protocolErrors);
return;
}
+ sendResponse(callId, result, invocationError);
+}
+
+void InspectorBackendDispatcherImpl::sendResponse(long callId, PassRefPtr<InspectorObject> result, const ErrorString& invocationError)
+{
if (invocationError.length()) {
reportProtocolError(&callId, ServerError, invocationError);
return;
@@ -2154,6 +2197,30 @@ bool InspectorBackendDispatcher::getCommandName(const String& message, String* r
return true;
}
+InspectorBackendDispatcher::CallbackBase::CallbackBase(PassRefPtr<InspectorBackendDispatcherImpl> backendImpl, int id)
+ : m_backendImpl(backendImpl), m_id(id), m_alreadySent(false) {}
+
+InspectorBackendDispatcher::CallbackBase::~CallbackBase() {}
+
+void InspectorBackendDispatcher::CallbackBase::sendFailure(const ErrorString& error)
+{
+ ASSERT(error.length());
+ sendIfActive(0, error);
+}
+
+bool InspectorBackendDispatcher::CallbackBase::isActive()
+{
+ return !m_alreadySent && m_backendImpl->isActive();
+}
+
+void InspectorBackendDispatcher::CallbackBase::sendIfActive(PassRefPtr<InspectorObject> partialMessage, const ErrorString& invocationError)
+{
+ if (m_alreadySent)
+ return;
+ m_backendImpl->sendResponse(m_id, partialMessage, invocationError);
+ m_alreadySent = true;
+}
+
COMPILE_ASSERT(static_cast<int>(InspectorBackendDispatcher::kMethodNamesEnumSize) == WTF_ARRAY_LENGTH(InspectorBackendDispatcher::commandNames), command_name_array_problem);
} // namespace WebCore
@@ -2727,59 +2794,41 @@ class Generator:
def process_event(json_event, domain_name, frontend_method_declaration_lines):
event_name = json_event["name"]
- parameter_list = []
- method_line_list = []
- backend_js_event_param_list = []
ad_hoc_type_output = []
frontend_method_declaration_lines.append(ad_hoc_type_output)
ad_hoc_type_writer = Writer(ad_hoc_type_output, " ")
- if "parameters" in json_event:
- method_line_list.append(" RefPtr<InspectorObject> paramsObject = InspectorObject::create();\n")
- for json_parameter in json_event["parameters"]:
- parameter_name = json_parameter["name"]
-
- param_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_parameter, event_name, domain_name, ad_hoc_type_writer, "")
-
- raw_type = param_type_binding.reduce_to_raw_type()
- raw_type_binding = RawTypeBinding(raw_type)
- optional = bool(json_parameter.get("optional"))
+ decl_parameter_list = []
- setter_type = raw_type.get_setter_name()
-
- type_model = param_type_binding.get_type_model()
- raw_type_model = raw_type_binding.get_type_model()
- if optional:
- type_model = type_model.get_optional()
- raw_type_model = raw_type_model.get_optional()
-
- annotated_type = type_model.get_input_param_type_text()
- mode_type_binding = param_type_binding
-
- parameter_list.append("%s %s" % (annotated_type, parameter_name))
-
- setter_argument = raw_type_model.get_event_setter_expression_pattern() % parameter_name
- if mode_type_binding.get_setter_value_expression_pattern():
- setter_argument = mode_type_binding.get_setter_value_expression_pattern() % setter_argument
-
- setter_code = " paramsObject->set%s(\"%s\", %s);\n" % (setter_type, parameter_name, setter_argument)
- if optional:
- setter_code = (" if (%s)\n " % parameter_name) + setter_code
- method_line_list.append(setter_code)
+ json_parameters = json_event.get("parameters")
+ Generator.generate_send_method(json_parameters, event_name, domain_name, ad_hoc_type_writer,
+ decl_parameter_list,
+ Generator.EventMethodStructTemplate,
+ Generator.frontend_method_list, Templates.frontend_method, {"eventName": event_name})
+ backend_js_event_param_list = []
+ if json_parameters:
+ for parameter in json_parameters:
+ parameter_name = parameter["name"]
backend_js_event_param_list.append("\"%s\"" % parameter_name)
- method_line_list.append(" %sMessage->setObject(\"params\", paramsObject);\n" % event_name)
- frontend_method_declaration_lines.append(
- " void %s(%s);\n" % (event_name, ", ".join(parameter_list)))
- Generator.frontend_method_list.append(Templates.frontend_method.substitute(None,
- domainName=domain_name, eventName=event_name,
- parameters=", ".join(parameter_list),
- code="".join(method_line_list)))
+ frontend_method_declaration_lines.append(
+ " void %s(%s);\n" % (event_name, ", ".join(decl_parameter_list)))
Generator.backend_js_domain_initializer_list.append("InspectorBackend.registerEvent(\"%s.%s\", [%s]);\n" % (
domain_name, event_name, ", ".join(backend_js_event_param_list)))
+ class EventMethodStructTemplate:
+ @staticmethod
+ def append_prolog(line_list):
+ line_list.append(" RefPtr<InspectorObject> paramsObject = InspectorObject::create();\n")
+
+ @staticmethod
+ def append_epilog(line_list):
+ line_list.append(" jsonMessage->setObject(\"params\", paramsObject);\n")
+
+ container_name = "paramsObject"
+
@staticmethod
def process_command(json_command, domain_name, agent_field_name, agent_interface_name):
json_command_name = json_command["name"]
@@ -2800,7 +2849,6 @@ class Generator:
method_out_code = ""
agent_call_param_list = []
response_cook_list = []
- backend_js_reply_param_list = []
request_message_param = ""
js_parameters_text = ""
if "parameters" in json_command:
@@ -2855,58 +2903,89 @@ class Generator:
js_parameters_text = ", ".join(js_param_list)
response_cook_text = ""
- js_reply_list = "[]"
- if "returns" in json_command:
- method_out_code += "\n"
- for json_return in json_command["returns"]:
+ if json_command.get("async") == True:
+ callback_name = Capitalizer.lower_camel_case_to_upper(json_command_name) + "Callback"
+
+ callback_output = []
+ callback_writer = Writer(callback_output, ad_hoc_type_writer.get_indent())
+
+ decl_parameter_list = []
+ Generator.generate_send_method(json_command.get("returns"), json_command_name, domain_name, ad_hoc_type_writer,
+ decl_parameter_list,
+ Generator.CallbackMethodStructTemplate,
+ Generator.backend_method_implementation_list, Templates.callback_method,
+ {"callbackName": callback_name, "agentName": agent_interface_name})
+
+ callback_writer.newline("class " + callback_name + " : public CallbackBase {\n")
+ callback_writer.newline("public:\n")
+ callback_writer.newline(" " + callback_name + "(PassRefPtr<InspectorBackendDispatcherImpl>, int id);\n")
+ callback_writer.newline(" void sendSuccess(" + ", ".join(decl_parameter_list) + ");\n")
+ callback_writer.newline("};\n")
+
+ ad_hoc_type_output.append(callback_output)
+
+ method_out_code += " RefPtr<" + agent_interface_name + "::" + callback_name + "> callback = adoptRef(new " + agent_interface_name + "::" + callback_name + "(this, callId));\n"
+ agent_call_param_list.append(", callback")
+ response_cook_text += " if (!error.length()) \n"
+ response_cook_text += " return;\n"
+ response_cook_text += " callback->disable();\n"
+ Generator.backend_agent_interface_list.append(", PassRefPtr<%s> callback" % callback_name)
+ else:
+ if "returns" in json_command:
+ method_out_code += "\n"
+ for json_return in json_command["returns"]:
- json_return_name = json_return["name"]
+ json_return_name = json_return["name"]
- optional = bool(json_return.get("optional"))
+ optional = bool(json_return.get("optional"))
- return_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agent_interface_name + "::")
+ return_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_return, json_command_name, domain_name, ad_hoc_type_writer, agent_interface_name + "::")
- raw_type = return_type_binding.reduce_to_raw_type()
- setter_type = raw_type.get_setter_name()
- initializer = raw_type.get_c_initializer()
+ raw_type = return_type_binding.reduce_to_raw_type()
+ setter_type = raw_type.get_setter_name()
+ initializer = raw_type.get_c_initializer()
- type_model = return_type_binding.get_type_model()
- if optional:
- type_model = type_model.get_optional()
+ type_model = return_type_binding.get_type_model()
+ if optional:
+ type_model = type_model.get_optional()
- code = " %s out_%s;\n" % (type_model.get_command_return_pass_model().get_return_var_type(), json_return_name)
- param = ", %sout_%s" % (type_model.get_command_return_pass_model().get_output_argument_prefix(), json_return_name)
- var_name = "out_%s" % json_return_name
- setter_argument = type_model.get_command_return_pass_model().get_output_to_raw_expression() % var_name
- if return_type_binding.get_setter_value_expression_pattern():
- setter_argument = return_type_binding.get_setter_value_expression_pattern() % setter_argument
+ code = " %s out_%s;\n" % (type_model.get_command_return_pass_model().get_return_var_type(), json_return_name)
+ param = ", %sout_%s" % (type_model.get_command_return_pass_model().get_output_argument_prefix(), json_return_name)
+ var_name = "out_%s" % json_return_name
+ setter_argument = type_model.get_command_return_pass_model().get_output_to_raw_expression() % var_name
+ if return_type_binding.get_setter_value_expression_pattern():
+ setter_argument = return_type_binding.get_setter_value_expression_pattern() % setter_argument
- cook = " result->set%s(\"%s\", %s);\n" % (setter_type, json_return_name,
- setter_argument)
+ cook = " result->set%s(\"%s\", %s);\n" % (setter_type, json_return_name,
+ setter_argument)
- set_condition_pattern = type_model.get_command_return_pass_model().get_set_return_condition()
- if set_condition_pattern:
- cook = (" if (%s)\n " % (set_condition_pattern % var_name)) + cook
- annotated_type = type_model.get_command_return_pass_model().get_output_parameter_type()
+ set_condition_pattern = type_model.get_command_return_pass_model().get_set_return_condition()
+ if set_condition_pattern:
+ cook = (" if (%s)\n " % (set_condition_pattern % var_name)) + cook
+ annotated_type = type_model.get_command_return_pass_model().get_output_parameter_type()
- param_name = "out_%s" % json_return_name
- if optional:
- param_name = "opt_" + param_name
+ param_name = "out_%s" % json_return_name
+ if optional:
+ param_name = "opt_" + param_name
- Generator.backend_agent_interface_list.append(", %s %s" % (annotated_type, param_name))
- response_cook_list.append(cook)
+ Generator.backend_agent_interface_list.append(", %s %s" % (annotated_type, param_name))
+ response_cook_list.append(cook)
- method_out_code += code
- agent_call_param_list.append(param)
+ method_out_code += code
+ agent_call_param_list.append(param)
- backend_js_reply_param_list.append("\"%s\"" % json_return_name)
+ response_cook_text = "".join(response_cook_list)
- js_reply_list = "[%s]" % ", ".join(backend_js_reply_param_list)
+ if len(response_cook_text) != 0:
+ response_cook_text = " if (!error.length()) {\n" + response_cook_text + " }"
- response_cook_text = "".join(response_cook_list)
+ backend_js_reply_param_list = []
+ if "returns" in json_command:
+ for json_return in json_command["returns"]:
+ json_return_name = json_return["name"]
+ backend_js_reply_param_list.append("\"%s\"" % json_return_name)
- if len(response_cook_text) != 0:
- response_cook_text = " if (!error.length()) {\n" + response_cook_text + " }"
+ js_reply_list = "[%s]" % ", ".join(backend_js_reply_param_list)
Generator.backend_method_implementation_list.append(Templates.backend_method.substitute(None,
domainName=domain_name, methodName=json_command_name,
@@ -2922,6 +3001,64 @@ class Generator:
Generator.backend_js_domain_initializer_list.append("InspectorBackend.registerCommand(\"%s.%s\", [%s], %s);\n" % (domain_name, json_command_name, js_parameters_text, js_reply_list))
Generator.backend_agent_interface_list.append(") = 0;\n")
+ class CallbackMethodStructTemplate:
+ @staticmethod
+ def append_prolog(line_list):
+ pass
+
+ @staticmethod
+ def append_epilog(line_list):
+ pass
+
+ container_name = "jsonMessage"
+
+ # Generates common code for event sending and callback response data sending.
+ @staticmethod
+ def generate_send_method(parameters, event_name, domain_name, ad_hoc_type_writer, decl_parameter_list,
+ method_struct_template,
+ generator_method_list, method_template, template_params):
+ method_line_list = []
+ if parameters:
+ method_struct_template.append_prolog(method_line_list)
+ for json_parameter in parameters:
+ parameter_name = json_parameter["name"]
+
+ param_type_binding = Generator.resolve_type_and_generate_ad_hoc(json_parameter, event_name, domain_name, ad_hoc_type_writer, "")
+
+ raw_type = param_type_binding.reduce_to_raw_type()
+ raw_type_binding = RawTypeBinding(raw_type)
+
+ optional = bool(json_parameter.get("optional"))
+
+ setter_type = raw_type.get_setter_name()
+
+ type_model = param_type_binding.get_type_model()
+ raw_type_model = raw_type_binding.get_type_model()
+ if optional:
+ type_model = type_model.get_optional()
+ raw_type_model = raw_type_model.get_optional()
+
+ annotated_type = type_model.get_input_param_type_text()
+ mode_type_binding = param_type_binding
+
+ decl_parameter_list.append("%s %s" % (annotated_type, parameter_name))
+
+ setter_argument = raw_type_model.get_event_setter_expression_pattern() % parameter_name
+ if mode_type_binding.get_setter_value_expression_pattern():
+ setter_argument = mode_type_binding.get_setter_value_expression_pattern() % setter_argument
+
+ setter_code = " %s->set%s(\"%s\", %s);\n" % (method_struct_template.container_name, setter_type, parameter_name, setter_argument)
+ if optional:
+ setter_code = (" if (%s)\n " % parameter_name) + setter_code
+ method_line_list.append(setter_code)
+
+ method_struct_template.append_epilog(method_line_list)
+
+ generator_method_list.append(method_template.substitute(None,
+ domainName=domain_name,
+ parameters=", ".join(decl_parameter_list),
+ code="".join(method_line_list), **template_params))
+
@staticmethod
def resolve_type_and_generate_ad_hoc(json_param, method_name, domain_name, ad_hoc_type_writer, container_relative_name_prefix_param):
param_name = json_param["name"]
diff --git a/Source/WebCore/inspector/ContentSearchUtils.cpp b/Source/WebCore/inspector/ContentSearchUtils.cpp
index 054da348f..a3f83c2d6 100644
--- a/Source/WebCore/inspector/ContentSearchUtils.cpp
+++ b/Source/WebCore/inspector/ContentSearchUtils.cpp
@@ -144,7 +144,7 @@ static String findMagicComment(const String& content, const String& name)
{
String patternString = "//@[\040\t]" + name + "=[\040\t]*([^\\s\'\"]*)[\040\t]*$";
const char* error = 0;
- JSC::Yarr::YarrPattern pattern(JSC::UString(patternString.impl()), false, true, &error);
+ JSC::Yarr::YarrPattern pattern(patternString, false, true, &error);
ASSERT(!error);
BumpPointerAllocator regexAllocator;
OwnPtr<JSC::Yarr::BytecodePattern> bytecodePattern = JSC::Yarr::byteCompile(pattern, &regexAllocator);
@@ -153,7 +153,7 @@ static String findMagicComment(const String& content, const String& name)
ASSERT(pattern.m_numSubpatterns == 1);
Vector<int, 4> matches;
matches.resize(4);
- unsigned result = JSC::Yarr::interpret(bytecodePattern.get(), JSC::UString(content.impl()), 0, reinterpret_cast<unsigned*>(matches.data()));
+ unsigned result = JSC::Yarr::interpret(bytecodePattern.get(), content, 0, reinterpret_cast<unsigned*>(matches.data()));
if (result == JSC::Yarr::offsetNoMatch)
return String();
ASSERT(matches[2] > 0 && matches[3] > 0);
diff --git a/Source/WebCore/inspector/ContentSearchUtils.h b/Source/WebCore/inspector/ContentSearchUtils.h
index d984c66b4..79d924a8e 100644
--- a/Source/WebCore/inspector/ContentSearchUtils.h
+++ b/Source/WebCore/inspector/ContentSearchUtils.h
@@ -32,8 +32,8 @@
#if ENABLE(INSPECTOR)
#include "InspectorTypeBuilder.h"
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/IdentifiersFactory.cpp b/Source/WebCore/inspector/IdentifiersFactory.cpp
index b8c6d7f17..c2af2a566 100644
--- a/Source/WebCore/inspector/IdentifiersFactory.cpp
+++ b/Source/WebCore/inspector/IdentifiersFactory.cpp
@@ -56,8 +56,8 @@ String IdentifiersFactory::requestId(unsigned long identifier)
String IdentifiersFactory::addProcessIdPrefixTo(const String& id)
{
StringBuilder builder;
- builder.append(String::number(s_processId));
- builder.append(".");
+ builder.appendNumber(s_processId);
+ builder.append('.');
builder.append(id);
return builder.toString();
}
diff --git a/Source/WebCore/inspector/InjectedScript.cpp b/Source/WebCore/inspector/InjectedScript.cpp
index 599668866..6a44ca7b5 100644
--- a/Source/WebCore/inspector/InjectedScript.cpp
+++ b/Source/WebCore/inspector/InjectedScript.cpp
@@ -38,9 +38,9 @@
#include "InjectedScriptModule.h"
#include "InspectorValues.h"
#include "Node.h"
-#include "PlatformString.h"
#include "ScriptFunctionCall.h"
#include "SerializedScriptValue.h"
+#include <wtf/text/WTFString.h>
using WebCore::TypeBuilder::Array;
using WebCore::TypeBuilder::Debugger::CallFrame;
diff --git a/Source/WebCore/inspector/InjectedScriptBase.cpp b/Source/WebCore/inspector/InjectedScriptBase.cpp
index fe0b42812..19c0aa1b5 100644
--- a/Source/WebCore/inspector/InjectedScriptBase.cpp
+++ b/Source/WebCore/inspector/InjectedScriptBase.cpp
@@ -36,8 +36,8 @@
#include "InspectorInstrumentation.h"
#include "InspectorValues.h"
-#include "PlatformString.h"
#include "ScriptFunctionCall.h"
+#include <wtf/text/WTFString.h>
using WebCore::TypeBuilder::Runtime::RemoteObject;
diff --git a/Source/WebCore/inspector/InjectedScriptExterns.js b/Source/WebCore/inspector/InjectedScriptExterns.js
index a24f69773..317087a0d 100644
--- a/Source/WebCore/inspector/InjectedScriptExterns.js
+++ b/Source/WebCore/inspector/InjectedScriptExterns.js
@@ -114,3 +114,23 @@ function JavaScriptFunction()
}
var InspectorBackend = { };
+
+// http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
+/**
+ * @constructor
+ */
+function CallSite()
+{
+}
+/**
+ * @return {string}
+ */
+CallSite.prototype.getFileName = function() { }
+/**
+ * @return {number}
+ */
+CallSite.prototype.getLineNumber = function() { }
+/**
+ * @return {number}
+ */
+CallSite.prototype.getColumnNumber = function() { }
diff --git a/Source/WebCore/inspector/InjectedScriptManager.h b/Source/WebCore/inspector/InjectedScriptManager.h
index 43590d129..ed51c03ef 100644
--- a/Source/WebCore/inspector/InjectedScriptManager.h
+++ b/Source/WebCore/inspector/InjectedScriptManager.h
@@ -30,11 +30,10 @@
#ifndef InjectedScriptManager_h
#define InjectedScriptManager_h
-#include "PlatformString.h"
#include "ScriptState.h"
-
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InjectedScriptModule.h b/Source/WebCore/inspector/InjectedScriptModule.h
index fbfbaa01d..d88ddec6f 100644
--- a/Source/WebCore/inspector/InjectedScriptModule.h
+++ b/Source/WebCore/inspector/InjectedScriptModule.h
@@ -32,8 +32,8 @@
#define InjectedScriptModule_h
#include "InjectedScriptBase.h"
-#include "PlatformString.h"
#include "ScriptState.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InjectedScriptSource.js b/Source/WebCore/inspector/InjectedScriptSource.js
index 56d736691..1688015a4 100644
--- a/Source/WebCore/inspector/InjectedScriptSource.js
+++ b/Source/WebCore/inspector/InjectedScriptSource.js
@@ -222,12 +222,6 @@ InjectedScript.prototype = {
var descriptors = this._propertyDescriptors(object, ownProperties);
// Go over properties, wrap object values.
- if (descriptors.length === 0 && "arguments" in object) {
- // Fill in JSC scope object.
- for (var key in object)
- descriptors.push({ name: key, value: object[key], writable: false, configurable: false, enumerable: true});
- }
-
for (var i = 0; i < descriptors.length; ++i) {
var descriptor = descriptors[i];
if ("get" in descriptor)
@@ -943,16 +937,52 @@ function CommandLineAPIImpl()
}
CommandLineAPIImpl.prototype = {
- $: function()
+ /**
+ * @param {string} selector
+ * @param {Node=} start
+ */
+ $: function (selector, start)
+ {
+ if (this._canQuerySelectorOnNode(start))
+ return start.querySelector(selector);
+
+ var result = document.querySelector(selector);
+ if (result)
+ return result;
+ if (selector && selector[0] !== "#") {
+ result = document.getElementById(selector);
+ if (result) {
+ console.warn("The console function $() has changed from $=getElementById(id) to $=querySelector(selector). You might try $(\"#%s\")", selector );
+ return null;
+ }
+ }
+ return result;
+ },
+
+ /**
+ * @param {string} selector
+ * @param {Node=} start
+ */
+ $$: function (selector, start)
{
- return document.getElementById.apply(document, arguments)
+ if (this._canQuerySelectorOnNode(start))
+ return start.querySelectorAll(selector);
+ return document.querySelectorAll(selector);
},
- $$: function()
+ /**
+ * @param {Node} node
+ * @return {boolean}
+ */
+ _canQuerySelectorOnNode: function(node)
{
- return document.querySelectorAll.apply(document, arguments)
+ return !!node && InjectedScriptHost.type(node) === "node" && (node.nodeType === Node.ELEMENT_NODE || node.nodeType === Node.DOCUMENT_NODE || node.nodeType === Node.DOCUMENT_FRAGMENT_NODE);
},
+ /**
+ * @param {string} xpath
+ * @param {Node=} context
+ */
$x: function(xpath, context)
{
var doc = (context && context.ownerDocument) || inspectedWindow.document;
diff --git a/Source/WebCore/inspector/InjectedScriptWebGLModule.h b/Source/WebCore/inspector/InjectedScriptWebGLModule.h
index 368898f7c..cff857fd8 100644
--- a/Source/WebCore/inspector/InjectedScriptWebGLModule.h
+++ b/Source/WebCore/inspector/InjectedScriptWebGLModule.h
@@ -32,8 +32,8 @@
#define InjectedScriptWebGLModule_h
#include "InjectedScriptModule.h"
-#include "PlatformString.h"
#include "ScriptState.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js b/Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js
index 3ace0b245..dd3b5b772 100644
--- a/Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js
+++ b/Source/WebCore/inspector/InjectedScriptWebGLModuleSource.js
@@ -40,7 +40,7 @@ var TypeUtils = {
* http://www.khronos.org/registry/typedarray/specs/latest/#7
* @type {Array.<Function>}
*/
- typedArrayClasses: (function(typeNames) {
+ _typedArrayClasses: (function(typeNames) {
var result = [];
for (var i = 0, n = typeNames.length; i < n; ++i) {
if (inspectedWindow[typeNames[i]])
@@ -55,7 +55,7 @@ var TypeUtils = {
*/
typedArrayClass: function(array)
{
- var classes = TypeUtils.typedArrayClasses;
+ var classes = TypeUtils._typedArrayClasses;
for (var i = 0, n = classes.length; i < n; ++i) {
if (array instanceof classes[i])
return classes[i];
@@ -93,7 +93,7 @@ var TypeUtils = {
if (obj instanceof HTMLCanvasElement) {
var result = obj.cloneNode(true);
- var context = result.getContext("2d");
+ var context = Resource.wrappedObject(result.getContext("2d"));
context.drawImage(obj, 0, 0);
return result;
}
@@ -121,20 +121,106 @@ var TypeUtils = {
*/
_dummyCanvas2dContext: function()
{
- var context = TypeUtils._dummyCanvas2dContext;
+ var context = TypeUtils._dummyCanvas2dContextInstance;
if (!context) {
var canvas = inspectedWindow.document.createElement("canvas");
- context = canvas.getContext("2d");
- var contextResource = Resource.forObject(context);
- if (contextResource)
- context = contextResource.wrappedObject();
- TypeUtils._dummyCanvas2dContext = context;
+ context = /** @type {CanvasRenderingContext2D} */ Resource.wrappedObject(canvas.getContext("2d"));
+ TypeUtils._dummyCanvas2dContextInstance = context;
}
return context;
}
}
/**
+ * @interface
+ */
+function StackTrace()
+{
+}
+
+StackTrace.prototype = {
+ /**
+ * @param {number} index
+ * @return {{sourceURL: string, lineNumber: number, columnNumber: number}}
+ */
+ callFrame: function(index)
+ {
+ }
+}
+
+/**
+ * @param {number=} stackTraceLimit
+ * @param {Function=} topMostFunctionToIgnore
+ * @return {StackTrace}
+ */
+StackTrace.create = function(stackTraceLimit, topMostFunctionToIgnore)
+{
+ if (typeof Error.captureStackTrace === "function")
+ return new StackTraceV8(stackTraceLimit, topMostFunctionToIgnore || arguments.callee);
+ // FIXME: Support JSC, and maybe other browsers.
+ return null;
+}
+
+/**
+ * @constructor
+ * @implements {StackTrace}
+ * @param {number=} stackTraceLimit
+ * @param {Function=} topMostFunctionToIgnore
+ * @see http://code.google.com/p/v8/wiki/JavaScriptStackTraceApi
+ */
+function StackTraceV8(stackTraceLimit, topMostFunctionToIgnore)
+{
+ StackTrace.call(this);
+ var oldStackTraceLimit = Error.stackTraceLimit;
+ if (typeof stackTraceLimit === "number")
+ Error.stackTraceLimit = stackTraceLimit;
+
+ this._error = /** @type {{stack: Array}} */ {};
+ Error.captureStackTrace(this._error, topMostFunctionToIgnore || arguments.callee);
+
+ Error.stackTraceLimit = oldStackTraceLimit;
+}
+
+StackTraceV8.prototype = {
+ /**
+ * @override
+ * @param {number} index
+ * @return {{sourceURL: string, lineNumber: number, columnNumber: number}}
+ */
+ callFrame: function(index)
+ {
+ if (!this._stackTrace)
+ this._prepareStackTrace();
+ return this._stackTrace[index];
+ },
+
+ _prepareStackTrace: function()
+ {
+ var oldPrepareStackTrace = Error.prepareStackTrace;
+ /**
+ * @param {Object} error
+ * @param {Array.<CallSite>} structuredStackTrace
+ * @return {Array.<{sourceURL: string, lineNumber: number, columnNumber: number}>}
+ */
+ Error.prepareStackTrace = function(error, structuredStackTrace)
+ {
+ return structuredStackTrace.map(function(callSite) {
+ return {
+ sourceURL: callSite.getFileName(),
+ lineNumber: callSite.getLineNumber(),
+ columnNumber: callSite.getColumnNumber()
+ };
+ });
+ }
+ this._stackTrace = this._error.stack;
+ Error.prepareStackTrace = oldPrepareStackTrace;
+ delete this._error; // No longer needed, free memory.
+ }
+}
+
+StackTraceV8.prototype.__proto__ = StackTrace.prototype;
+
+/**
* @constructor
*/
function Cache()
@@ -193,13 +279,15 @@ Cache.prototype = {
* @param {string} functionName
* @param {Array|Arguments} args
* @param {Resource|*=} result
+ * @param {StackTrace=} stackTrace
*/
-function Call(thisObject, functionName, args, result)
+function Call(thisObject, functionName, args, result, stackTrace)
{
this._thisObject = thisObject;
this._functionName = functionName;
this._args = Array.prototype.slice.call(args, 0);
this._result = result;
+ this._stackTrace = stackTrace || null;
}
Call.prototype = {
@@ -235,6 +323,30 @@ Call.prototype = {
return this._result;
},
+ /**
+ * @return {StackTrace}
+ */
+ stackTrace: function()
+ {
+ return this._stackTrace;
+ },
+
+ /**
+ * @param {StackTrace} stackTrace
+ */
+ setStackTrace: function(stackTrace)
+ {
+ this._stackTrace = stackTrace;
+ },
+
+ /**
+ * @param {*} result
+ */
+ setResult: function(result)
+ {
+ this._result = result;
+ },
+
freeze: function()
{
if (this._freezed)
@@ -245,6 +357,50 @@ Call.prototype = {
if (!Resource.forObject(this._args[i]))
this._args[i] = TypeUtils.clone(this._args[i]);
}
+ },
+
+ /**
+ * @param {Cache} cache
+ * @return {ReplayableCall}
+ */
+ toReplayable: function(cache)
+ {
+ this.freeze();
+ var thisObject = /** @type {ReplayableResource} */ Resource.toReplayable(this._thisObject, cache);
+ var result = Resource.toReplayable(this._result, cache);
+ var args = this._args.map(function(obj) {
+ return Resource.toReplayable(obj, cache);
+ });
+ return new ReplayableCall(thisObject, this._functionName, args, result, this._stackTrace);
+ },
+
+ /**
+ * @param {ReplayableCall} replayableCall
+ * @param {Cache} cache
+ * @return {Call}
+ */
+ replay: function(replayableCall, cache)
+ {
+ var replayObject = ReplayableResource.replay(replayableCall.resource(), cache);
+ var replayFunction = replayObject[replayableCall.functionName()];
+ console.assert(typeof replayFunction === "function", "Expected a function to replay");
+ var replayArgs = replayableCall.args().map(function(obj) {
+ return ReplayableResource.replay(obj, cache);
+ });
+ var replayResult = replayFunction.apply(replayObject, replayArgs);
+ if (replayableCall.result() instanceof ReplayableResource) {
+ var resource = replayableCall.result().replay(cache);
+ if (!resource.wrappedObject())
+ resource.setWrappedObject(replayResult);
+ }
+
+ this._thisObject = replayObject;
+ this._functionName = replayableCall.functionName();
+ this._args = replayArgs;
+ this._result = replayResult;
+ this._stackTrace = replayableCall.stackTrace();
+ this._freezed = true;
+ return this;
}
}
@@ -254,13 +410,15 @@ Call.prototype = {
* @param {string} functionName
* @param {Array.<ReplayableResource|*>} args
* @param {ReplayableResource|*} result
+ * @param {StackTrace} stackTrace
*/
-function ReplayableCall(thisObject, functionName, args, result)
+function ReplayableCall(thisObject, functionName, args, result, stackTrace)
{
this._thisObject = thisObject;
this._functionName = functionName;
this._args = args;
this._result = result;
+ this._stackTrace = stackTrace;
}
ReplayableCall.prototype = {
@@ -297,12 +455,21 @@ ReplayableCall.prototype = {
},
/**
+ * @return {StackTrace}
+ */
+ stackTrace: function()
+ {
+ return this._stackTrace;
+ },
+
+ /**
* @param {Cache} cache
* @return {Call}
*/
replay: function(cache)
{
- // FIXME: Do the replay.
+ var call = Object.create(Call.prototype);
+ return call.replay(this, cache);
}
}
@@ -338,6 +505,27 @@ Resource.forObject = function(obj)
return null;
}
+/**
+ * @param {Resource|*} obj
+ * @return {*}
+ */
+Resource.wrappedObject = function(obj)
+{
+ var resource = Resource.forObject(obj);
+ return resource ? resource.wrappedObject() : obj;
+}
+
+/**
+ * @param {Resource|*} obj
+ * @param {Cache} cache
+ * @return {ReplayableResource|*}
+ */
+Resource.toReplayable = function(obj, cache)
+{
+ var resource = Resource.forObject(obj);
+ return resource ? resource.toReplayable(cache) : obj;
+}
+
Resource.prototype = {
/**
* @return {number}
@@ -400,6 +588,66 @@ Resource.prototype = {
},
/**
+ * @param {Cache} cache
+ * @return {ReplayableResource}
+ */
+ toReplayable: function(cache)
+ {
+ var result = cache.get(this._id);
+ if (result)
+ return result;
+ var data = {
+ id: this._id
+ };
+ result = new ReplayableResource(this, data);
+ cache.put(this._id, result); // Put into the cache early to avoid loops.
+ data.calls = this._calls.map(function(call) {
+ return call.toReplayable(cache);
+ });
+ this._populateReplayableData(data, cache);
+ return result;
+ },
+
+ /**
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _populateReplayableData: function(data, cache)
+ {
+ // Do nothing. Should be overridden by subclasses.
+ },
+
+ /**
+ * @param {Object} data
+ * @param {Cache} cache
+ * @return {Resource}
+ */
+ replay: function(data, cache)
+ {
+ var resource = cache.get(data.id);
+ if (resource)
+ return resource;
+ this._id = data.id;
+ this._resourceManager = null;
+ this._calls = [];
+ this._wrappedObject = null;
+ cache.put(data.id, this); // Put into the cache early to avoid loops.
+ this._doReplayCalls(data, cache);
+ console.assert(this._wrappedObject, "Resource should be reconstructed!");
+ return this;
+ },
+
+ /**
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _doReplayCalls: function(data, cache)
+ {
+ for (var i = 0, n = data.calls.length; i < n; ++i)
+ this._calls.push(data.calls[i].replay(cache));
+ },
+
+ /**
* @param {Call} call
*/
pushCall: function(call)
@@ -409,11 +657,16 @@ Resource.prototype = {
},
/**
- * @param {Object} object
+ * @param {!Object} object
*/
_bindObjectToResource: function(object)
{
- object["__resourceObject"] = this;
+ Object.defineProperty(object, "__resourceObject", {
+ value: this,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
}
}
@@ -424,6 +677,8 @@ Resource.prototype = {
*/
function ReplayableResource(originalResource, data)
{
+ this._proto = originalResource.__proto__;
+ this._data = data;
}
ReplayableResource.prototype = {
@@ -433,19 +688,531 @@ ReplayableResource.prototype = {
*/
replay: function(cache)
{
- // FIXME: Do the replay.
+ var result = Object.create(this._proto);
+ result = result.replay(this._data, cache)
+ console.assert(result.__proto__ === this._proto, "Wrong type of a replay result");
+ return result;
+ }
+}
+
+/**
+ * @param {ReplayableResource|*} obj
+ * @param {Cache} cache
+ * @return {*}
+ */
+ReplayableResource.replay = function(obj, cache)
+{
+ return (obj instanceof ReplayableResource) ? obj.replay(cache).wrappedObject() : obj;
+}
+
+/**
+ * @constructor
+ * @extends {Resource}
+ */
+function WebGLBoundResource(wrappedObject)
+{
+ Resource.call(this, wrappedObject);
+ this._state = {};
+}
+
+WebGLBoundResource.prototype = {
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _populateReplayableData: function(data, cache)
+ {
+ var state = this._state;
+ data.state = {};
+ Object.keys(state).forEach(function(parameter) {
+ data.state[parameter] = Resource.toReplayable(state[parameter], cache);
+ });
+ },
+
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _doReplayCalls: function(data, cache)
+ {
+ var state = {};
+ Object.keys(data.state).forEach(function(parameter) {
+ state[parameter] = ReplayableResource.replay(data.state[parameter], cache);
+ });
+ this._state = state;
+
+ var gl = this._replayContextResource(data, cache).wrappedObject();
+
+ var bindingsData = {
+ TEXTURE_2D: ["bindTexture", "TEXTURE_BINDING_2D"],
+ TEXTURE_CUBE_MAP: ["bindTexture", "TEXTURE_BINDING_CUBE_MAP"],
+ ARRAY_BUFFER: ["bindBuffer", "ARRAY_BUFFER_BINDING"],
+ ELEMENT_ARRAY_BUFFER: ["bindBuffer", "ELEMENT_ARRAY_BUFFER_BINDING"],
+ FRAMEBUFFER: ["bindFramebuffer", "FRAMEBUFFER_BINDING"],
+ RENDERBUFFER: ["bindRenderbuffer", "RENDERBUFFER_BINDING"]
+ };
+ var originalBindings = {};
+ Object.keys(bindingsData).forEach(function(bindingTarget) {
+ var bindingParameter = bindingsData[bindingTarget][1];
+ originalBindings[bindingTarget] = gl.getParameter(gl[bindingParameter]);
+ });
+
+ Resource.prototype._doReplayCalls.call(this, data, cache);
+
+ Object.keys(bindingsData).forEach(function(bindingTarget) {
+ var bindMethodName = bindingsData[bindingTarget][0];
+ gl[bindMethodName].call(gl, gl[bindingTarget], originalBindings[bindingTarget]);
+ });
+ },
+
+ _replayContextResource: function(data, cache)
+ {
+ var calls = data.calls;
+ for (var i = 0, n = calls.length; i < n; ++i) {
+ var resource = ReplayableResource.replay(calls[i].resource(), cache);
+ var contextResource = WebGLRenderingContextResource.forObject(resource);
+ if (contextResource)
+ return contextResource;
+ }
+ return null;
+ },
+
+ /**
+ * @param {number} target
+ * @param {string} bindMethodName
+ */
+ pushBinding: function(target, bindMethodName)
+ {
+ if (this._state.BINDING !== target) {
+ this._state.BINDING = target;
+ this.pushCall(new Call(WebGLRenderingContextResource.forObject(this), bindMethodName, [target, this]));
+ }
+ }
+}
+
+WebGLBoundResource.prototype.__proto__ = Resource.prototype;
+
+/**
+ * @constructor
+ * @extends {WebGLBoundResource}
+ */
+function WebGLTextureResource(wrappedObject)
+{
+ WebGLBoundResource.call(this, wrappedObject);
+}
+
+WebGLTextureResource.prototype = {
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _doReplayCalls: function(data, cache)
+ {
+ var gl = this._replayContextResource(data, cache).wrappedObject();
+
+ var state = {};
+ WebGLRenderingContextResource.PixelStoreParameters.forEach(function(parameter) {
+ state[parameter] = gl.getParameter(gl[parameter]);
+ });
+
+ WebGLBoundResource.prototype._doReplayCalls.call(this, data, cache);
+
+ WebGLRenderingContextResource.PixelStoreParameters.forEach(function(parameter) {
+ gl.pixelStorei(gl[parameter], state[parameter]);
+ });
+ },
+
+ /**
+ * @override
+ * @param {Call} call
+ */
+ pushCall: function(call)
+ {
+ var gl = call.resource().wrappedObject();
+ WebGLRenderingContextResource.PixelStoreParameters.forEach(function(parameter) {
+ var value = gl.getParameter(gl[parameter]);
+ if (this._state[parameter] !== value) {
+ this._state[parameter] = value;
+ var pixelStoreCall = new Call(gl, "pixelStorei", [gl[parameter], value]);
+ WebGLBoundResource.prototype.pushCall.call(this, pixelStoreCall);
+ }
+ }, this);
+
+ // FIXME: remove any older calls that no longer contribute to the resource state.
+ // FIXME: optimize memory usage: maybe it's more efficient to store one texImage2D call instead of many texSubImage2D.
+ WebGLBoundResource.prototype.pushCall.call(this, call);
+ },
+
+ /**
+ * @param {Call} call
+ */
+ pushCall_texParameterf: function(call)
+ {
+ var args = call.args();
+ var pname = args[1];
+ var param = args[2];
+ if (this._state[pname] !== param) {
+ this._state[pname] = param;
+ WebGLBoundResource.prototype.pushCall.call(this, call);
+ }
+ },
+
+ /**
+ * copyTexImage2D and copyTexSubImage2D define a texture image with pixels from the current framebuffer.
+ * @param {Call} call
+ */
+ pushCall_copyTexImage2D: function(call)
+ {
+ var glResource = call.resource();
+ var gl = glResource.wrappedObject();
+ var framebufferResource = glResource.currentBinding(gl.FRAMEBUFFER);
+ if (framebufferResource)
+ this.pushCall(new Call(glResource, "bindFramebuffer", [gl.FRAMEBUFFER, framebufferResource]));
+ else
+ console.error("ASSERT_NOT_REACHED: No FRAMEBUFFER bound while calling gl." + call.functionName());
+ this.pushCall(call);
+ }
+}
+
+WebGLTextureResource.prototype.pushCall_texParameteri = WebGLTextureResource.prototype.pushCall_texParameterf;
+WebGLTextureResource.prototype.pushCall_copyTexSubImage2D = WebGLTextureResource.prototype.pushCall_copyTexImage2D;
+
+WebGLTextureResource.prototype.__proto__ = WebGLBoundResource.prototype;
+
+/**
+ * @constructor
+ * @extends {Resource}
+ */
+function WebGLProgramResource(wrappedObject)
+{
+ Resource.call(this, wrappedObject);
+}
+
+WebGLProgramResource.prototype = {
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _populateReplayableData: function(data, cache)
+ {
+ var glResource = WebGLRenderingContextResource.forObject(this);
+ var gl = glResource.wrappedObject();
+ var program = this.wrappedObject();
+
+ var originalErrors = glResource.getAllErrors();
+
+ var uniforms = [];
+ var uniformsCount = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
+ for (var i = 0; i < uniformsCount; ++i) {
+ var activeInfo = gl.getActiveUniform(program, i);
+ if (!activeInfo)
+ continue;
+ var uniformLocation = gl.getUniformLocation(program, activeInfo.name);
+ if (!uniformLocation)
+ continue;
+ var value = gl.getUniform(program, uniformLocation);
+ uniforms.push({
+ name: activeInfo.name,
+ type: activeInfo.type,
+ value: value
+ });
+ }
+ data.uniforms = uniforms;
+
+ glResource.restoreErrors(originalErrors);
+ },
+
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _doReplayCalls: function(data, cache)
+ {
+ Resource.prototype._doReplayCalls.call(this, data, cache);
+ var gl = WebGLRenderingContextResource.forObject(this).wrappedObject();
+ var program = this.wrappedObject();
+
+ var originalProgram = gl.getParameter(gl.CURRENT_PROGRAM);
+ var currentProgram = originalProgram;
+
+ data.uniforms.forEach(function(uniform) {
+ var uniformLocation = gl.getUniformLocation(program, uniform.name);
+ if (!uniformLocation)
+ return;
+ if (currentProgram !== program) {
+ currentProgram = program;
+ gl.useProgram(program);
+ }
+ var methodName = this._uniformMethodNameByType(gl, uniform.type);
+ if (methodName.indexOf("Matrix") === -1)
+ gl[methodName].call(gl, uniformLocation, uniform.value);
+ else
+ gl[methodName].call(gl, uniformLocation, false, uniform.value);
+ }.bind(this));
+
+ if (currentProgram !== originalProgram)
+ gl.useProgram(originalProgram);
+ },
+
+ /**
+ * @param {WebGLRenderingContext} gl
+ * @param {number} type
+ * @return {string}
+ */
+ _uniformMethodNameByType: function(gl, type)
+ {
+ var uniformMethodNames = WebGLProgramResource._uniformMethodNames;
+ if (!uniformMethodNames) {
+ uniformMethodNames = {};
+ uniformMethodNames[gl.FLOAT] = "uniform1f";
+ uniformMethodNames[gl.FLOAT_VEC2] = "uniform2fv";
+ uniformMethodNames[gl.FLOAT_VEC3] = "uniform3fv";
+ uniformMethodNames[gl.FLOAT_VEC4] = "uniform4fv";
+ uniformMethodNames[gl.INT] = "uniform1i";
+ uniformMethodNames[gl.BOOL] = "uniform1i";
+ uniformMethodNames[gl.SAMPLER_2D] = "uniform1i";
+ uniformMethodNames[gl.SAMPLER_CUBE] = "uniform1i";
+ uniformMethodNames[gl.INT_VEC2] = "uniform2iv";
+ uniformMethodNames[gl.BOOL_VEC2] = "uniform2iv";
+ uniformMethodNames[gl.INT_VEC3] = "uniform3iv";
+ uniformMethodNames[gl.BOOL_VEC3] = "uniform3iv";
+ uniformMethodNames[gl.INT_VEC4] = "uniform4iv";
+ uniformMethodNames[gl.BOOL_VEC4] = "uniform4iv";
+ uniformMethodNames[gl.FLOAT_MAT2] = "uniformMatrix2fv";
+ uniformMethodNames[gl.FLOAT_MAT3] = "uniformMatrix3fv";
+ uniformMethodNames[gl.FLOAT_MAT4] = "uniformMatrix4fv";
+ WebGLProgramResource._uniformMethodNames = uniformMethodNames;
+ }
+ console.assert(uniformMethodNames[type], "Unknown uniform type " + type);
+ return uniformMethodNames[type];
+ },
+
+ /**
+ * @override
+ * @param {Call} call
+ */
+ pushCall: function(call)
+ {
+ // FIXME: remove any older calls that no longer contribute to the resource state.
+ // FIXME: handle multiple attachShader && detachShader.
+ Resource.prototype.pushCall.call(this, call);
+ }
+}
+
+WebGLProgramResource.prototype.__proto__ = Resource.prototype;
+
+/**
+ * @constructor
+ * @extends {Resource}
+ */
+function WebGLShaderResource(wrappedObject)
+{
+ Resource.call(this, wrappedObject);
+}
+
+WebGLShaderResource.prototype = {
+ /**
+ * @override
+ * @param {Call} call
+ */
+ pushCall: function(call)
+ {
+ // FIXME: remove any older calls that no longer contribute to the resource state.
+ // FIXME: handle multiple shaderSource calls.
+ Resource.prototype.pushCall.call(this, call);
+ }
+}
+
+WebGLShaderResource.prototype.__proto__ = Resource.prototype;
+
+/**
+ * @constructor
+ * @extends {WebGLBoundResource}
+ */
+function WebGLBufferResource(wrappedObject)
+{
+ WebGLBoundResource.call(this, wrappedObject);
+}
+
+WebGLBufferResource.prototype = {
+ /**
+ * @override
+ * @param {Call} call
+ */
+ pushCall: function(call)
+ {
+ // FIXME: remove any older calls that no longer contribute to the resource state.
+ // FIXME: Optimize memory for bufferSubData.
+ WebGLBoundResource.prototype.pushCall.call(this, call);
+ }
+}
+
+WebGLBufferResource.prototype.__proto__ = WebGLBoundResource.prototype;
+
+/**
+ * @constructor
+ * @extends {WebGLBoundResource}
+ */
+function WebGLFramebufferResource(wrappedObject)
+{
+ WebGLBoundResource.call(this, wrappedObject);
+}
+
+WebGLFramebufferResource.prototype = {
+ /**
+ * @override
+ * @param {Call} call
+ */
+ pushCall: function(call)
+ {
+ // FIXME: remove any older calls that no longer contribute to the resource state.
+ WebGLBoundResource.prototype.pushCall.call(this, call);
+ }
+}
+
+WebGLFramebufferResource.prototype.__proto__ = WebGLBoundResource.prototype;
+
+/**
+ * @constructor
+ * @extends {WebGLBoundResource}
+ */
+function WebGLRenderbufferResource(wrappedObject)
+{
+ WebGLBoundResource.call(this, wrappedObject);
+}
+
+WebGLRenderbufferResource.prototype = {
+ /**
+ * @override
+ * @param {Call} call
+ */
+ pushCall: function(call)
+ {
+ // FIXME: remove any older calls that no longer contribute to the resource state.
+ WebGLBoundResource.prototype.pushCall.call(this, call);
}
}
+WebGLRenderbufferResource.prototype.__proto__ = WebGLBoundResource.prototype;
+
/**
* @constructor
* @extends {Resource}
* @param {WebGLRenderingContext} glContext
+ * @param {Function} replayContextCallback
*/
-function WebGLRenderingContextResource(glContext)
+function WebGLRenderingContextResource(glContext, replayContextCallback)
{
Resource.call(this, glContext);
+ this._replayContextCallback = replayContextCallback;
this._proxyObject = null;
+ /** @type {Object.<number, boolean>} */
+ this._customErrors = null;
+}
+
+/**
+ * @const
+ * @type {Array.<string>}
+ */
+WebGLRenderingContextResource.GLCapabilities = [
+ "BLEND",
+ "CULL_FACE",
+ "DEPTH_TEST",
+ "DITHER",
+ "POLYGON_OFFSET_FILL",
+ "SAMPLE_ALPHA_TO_COVERAGE",
+ "SAMPLE_COVERAGE",
+ "SCISSOR_TEST",
+ "STENCIL_TEST"
+];
+
+/**
+ * @const
+ * @type {Array.<string>}
+ */
+WebGLRenderingContextResource.PixelStoreParameters = [
+ "PACK_ALIGNMENT",
+ "UNPACK_ALIGNMENT",
+ "UNPACK_COLORSPACE_CONVERSION_WEBGL",
+ "UNPACK_FLIP_Y_WEBGL",
+ "UNPACK_PREMULTIPLY_ALPHA_WEBGL"
+];
+
+/**
+ * @const
+ * @type {Array.<string>}
+ */
+WebGLRenderingContextResource.StateParameters = [
+ "ACTIVE_TEXTURE",
+ "ARRAY_BUFFER_BINDING",
+ "BLEND_COLOR",
+ "BLEND_DST_ALPHA",
+ "BLEND_DST_RGB",
+ "BLEND_EQUATION_ALPHA",
+ "BLEND_EQUATION_RGB",
+ "BLEND_SRC_ALPHA",
+ "BLEND_SRC_RGB",
+ "COLOR_CLEAR_VALUE",
+ "COLOR_WRITEMASK",
+ "CULL_FACE_MODE",
+ "CURRENT_PROGRAM",
+ "DEPTH_CLEAR_VALUE",
+ "DEPTH_FUNC",
+ "DEPTH_RANGE",
+ "DEPTH_WRITEMASK",
+ "ELEMENT_ARRAY_BUFFER_BINDING",
+ "FRAMEBUFFER_BINDING",
+ "FRONT_FACE",
+ "GENERATE_MIPMAP_HINT",
+ "LINE_WIDTH",
+ "PACK_ALIGNMENT",
+ "POLYGON_OFFSET_FACTOR",
+ "POLYGON_OFFSET_UNITS",
+ "RENDERBUFFER_BINDING",
+ "SAMPLE_COVERAGE_INVERT",
+ "SAMPLE_COVERAGE_VALUE",
+ "SCISSOR_BOX",
+ "STENCIL_BACK_FAIL",
+ "STENCIL_BACK_FUNC",
+ "STENCIL_BACK_PASS_DEPTH_FAIL",
+ "STENCIL_BACK_PASS_DEPTH_PASS",
+ "STENCIL_BACK_REF",
+ "STENCIL_BACK_VALUE_MASK",
+ "STENCIL_BACK_WRITEMASK",
+ "STENCIL_CLEAR_VALUE",
+ "STENCIL_FAIL",
+ "STENCIL_FUNC",
+ "STENCIL_PASS_DEPTH_FAIL",
+ "STENCIL_PASS_DEPTH_PASS",
+ "STENCIL_REF",
+ "STENCIL_VALUE_MASK",
+ "STENCIL_WRITEMASK",
+ "UNPACK_ALIGNMENT",
+ "UNPACK_COLORSPACE_CONVERSION_WEBGL",
+ "UNPACK_FLIP_Y_WEBGL",
+ "UNPACK_PREMULTIPLY_ALPHA_WEBGL",
+ "VIEWPORT"
+];
+
+/**
+ * @param {*} obj
+ * @return {WebGLRenderingContextResource}
+ */
+WebGLRenderingContextResource.forObject = function(obj)
+{
+ var resource = Resource.forObject(obj);
+ if (!resource || resource instanceof WebGLRenderingContextResource)
+ return resource;
+ var call = resource.calls();
+ if (!call || !call.length)
+ return null;
+ resource = call[0].resource();
+ return (resource instanceof WebGLRenderingContextResource) ? resource : null;
}
WebGLRenderingContextResource.prototype = {
@@ -460,39 +1227,321 @@ WebGLRenderingContextResource.prototype = {
},
/**
+ * @return {Array.<number>}
+ */
+ getAllErrors: function()
+ {
+ var errors = [];
+ var gl = this.wrappedObject();
+ if (gl) {
+ while (true) {
+ var error = gl.getError();
+ if (error === gl.NO_ERROR)
+ break;
+ this.clearError(error);
+ errors.push(error);
+ }
+ }
+ if (this._customErrors) {
+ for (var key in this._customErrors) {
+ var error = Number(key);
+ errors.push(error);
+ }
+ delete this._customErrors;
+ }
+ return errors;
+ },
+
+ /**
+ * @param {Array.<number>} errors
+ */
+ restoreErrors: function(errors)
+ {
+ var gl = this.wrappedObject();
+ if (gl) {
+ var wasError = false;
+ while (gl.getError() !== gl.NO_ERROR)
+ wasError = true;
+ console.assert(!wasError, "Error(s) while capturing current WebGL state.");
+ }
+ if (!errors.length)
+ delete this._customErrors;
+ else {
+ this._customErrors = {};
+ for (var i = 0, n = errors.length; i < n; ++i)
+ this._customErrors[errors[i]] = true;
+ }
+ },
+
+ /**
+ * @param {number} error
+ */
+ clearError: function(error)
+ {
+ if (this._customErrors)
+ delete this._customErrors[error];
+ },
+
+ /**
+ * @return {number}
+ */
+ nextError: function()
+ {
+ if (this._customErrors) {
+ for (var key in this._customErrors) {
+ var error = Number(key);
+ delete this._customErrors[error];
+ return error;
+ }
+ }
+ delete this._customErrors;
+ var gl = this.wrappedObject();
+ return gl ? gl.NO_ERROR : 0;
+ },
+
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _populateReplayableData: function(data, cache)
+ {
+ var gl = this.wrappedObject();
+ data.replayContextCallback = this._replayContextCallback;
+
+ var originalErrors = this.getAllErrors();
+
+ // Take a full GL state snapshot.
+ var glState = {};
+ WebGLRenderingContextResource.GLCapabilities.forEach(function(parameter) {
+ glState[parameter] = gl.isEnabled(gl[parameter]);
+ });
+ WebGLRenderingContextResource.StateParameters.forEach(function(parameter) {
+ glState[parameter] = Resource.toReplayable(gl.getParameter(gl[parameter]), cache);
+ });
+
+ // VERTEX_ATTRIB_ARRAYS
+ var maxVertexAttribs = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);
+ var vertexAttribParameters = ["VERTEX_ATTRIB_ARRAY_BUFFER_BINDING", "VERTEX_ATTRIB_ARRAY_ENABLED", "VERTEX_ATTRIB_ARRAY_SIZE", "VERTEX_ATTRIB_ARRAY_STRIDE", "VERTEX_ATTRIB_ARRAY_TYPE", "VERTEX_ATTRIB_ARRAY_NORMALIZED", "CURRENT_VERTEX_ATTRIB"];
+ var vertexAttribStates = [];
+ for (var i = 0; i < maxVertexAttribs; ++i) {
+ var state = {};
+ vertexAttribParameters.forEach(function(attribParameter) {
+ state[attribParameter] = Resource.toReplayable(gl.getVertexAttrib(i, gl[attribParameter]), cache);
+ });
+ state.VERTEX_ATTRIB_ARRAY_POINTER = gl.getVertexAttribOffset(i, gl.VERTEX_ATTRIB_ARRAY_POINTER);
+ vertexAttribStates.push(state);
+ }
+ glState.vertexAttribStates = vertexAttribStates;
+
+ // TEXTURES
+ var currentTextureBinding = gl.getParameter(gl.ACTIVE_TEXTURE);
+ var maxTextureImageUnits = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);
+ var textureBindings = [];
+ for (var i = 0; i < maxTextureImageUnits; ++i) {
+ gl.activeTexture(gl.TEXTURE0 + i);
+ var state = {
+ TEXTURE_2D: Resource.toReplayable(gl.getParameter(gl.TEXTURE_BINDING_2D), cache),
+ TEXTURE_CUBE_MAP: Resource.toReplayable(gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP), cache)
+ };
+ textureBindings.push(state);
+ }
+ glState.textureBindings = textureBindings;
+ gl.activeTexture(currentTextureBinding);
+
+ data.glState = glState;
+
+ this.restoreErrors(originalErrors);
+ },
+
+ /**
+ * @override
+ * @param {Object} data
+ * @param {Cache} cache
+ */
+ _doReplayCalls: function(data, cache)
+ {
+ this._replayContextCallback = data.replayContextCallback;
+ this._proxyObject = null;
+ this._customErrors = null;
+
+ var gl = Resource.wrappedObject(this._replayContextCallback());
+ this.setWrappedObject(gl);
+
+ var glState = data.glState;
+ gl.bindFramebuffer(gl.FRAMEBUFFER, ReplayableResource.replay(glState.FRAMEBUFFER_BINDING, cache));
+ gl.bindRenderbuffer(gl.RENDERBUFFER, ReplayableResource.replay(glState.RENDERBUFFER_BINDING, cache));
+
+ // Enable or disable server-side GL capabilities.
+ WebGLRenderingContextResource.GLCapabilities.forEach(function(parameter) {
+ console.assert(parameter in glState);
+ if (glState[parameter])
+ gl.enable(gl[parameter]);
+ else
+ gl.disable(gl[parameter]);
+ });
+
+ gl.blendColor(glState.BLEND_COLOR[0], glState.BLEND_COLOR[1], glState.BLEND_COLOR[2], glState.BLEND_COLOR[3]);
+ gl.blendEquationSeparate(glState.BLEND_EQUATION_RGB, glState.BLEND_EQUATION_ALPHA);
+ gl.blendFuncSeparate(glState.BLEND_SRC_RGB, glState.BLEND_DST_RGB, glState.BLEND_SRC_ALPHA, glState.BLEND_DST_ALPHA);
+ gl.clearColor(glState.COLOR_CLEAR_VALUE[0], glState.COLOR_CLEAR_VALUE[1], glState.COLOR_CLEAR_VALUE[2], glState.COLOR_CLEAR_VALUE[3]);
+ gl.clearDepth(glState.DEPTH_CLEAR_VALUE);
+ gl.clearStencil(glState.STENCIL_CLEAR_VALUE);
+ gl.colorMask(glState.COLOR_WRITEMASK[0], glState.COLOR_WRITEMASK[1], glState.COLOR_WRITEMASK[2], glState.COLOR_WRITEMASK[3]);
+ gl.cullFace(glState.CULL_FACE_MODE);
+ gl.depthFunc(glState.DEPTH_FUNC);
+ gl.depthMask(glState.DEPTH_WRITEMASK);
+ gl.depthRange(glState.DEPTH_RANGE[0], glState.DEPTH_RANGE[1]);
+ gl.frontFace(glState.FRONT_FACE);
+ gl.hint(gl.GENERATE_MIPMAP_HINT, glState.GENERATE_MIPMAP_HINT);
+ gl.lineWidth(glState.LINE_WIDTH);
+
+ WebGLRenderingContextResource.PixelStoreParameters.forEach(function(parameter) {
+ gl.pixelStorei(gl[parameter], glState[parameter]);
+ });
+
+ gl.polygonOffset(glState.POLYGON_OFFSET_FACTOR, glState.POLYGON_OFFSET_UNITS);
+ gl.sampleCoverage(glState.SAMPLE_COVERAGE_VALUE, glState.SAMPLE_COVERAGE_INVERT);
+ gl.stencilFuncSeparate(gl.FRONT, glState.STENCIL_FUNC, glState.STENCIL_REF, glState.STENCIL_VALUE_MASK);
+ gl.stencilFuncSeparate(gl.BACK, glState.STENCIL_BACK_FUNC, glState.STENCIL_BACK_REF, glState.STENCIL_BACK_VALUE_MASK);
+ gl.stencilOpSeparate(gl.FRONT, glState.STENCIL_FAIL, glState.STENCIL_PASS_DEPTH_FAIL, glState.STENCIL_PASS_DEPTH_PASS);
+ gl.stencilOpSeparate(gl.BACK, glState.STENCIL_BACK_FAIL, glState.STENCIL_BACK_PASS_DEPTH_FAIL, glState.STENCIL_BACK_PASS_DEPTH_PASS);
+ gl.stencilMaskSeparate(gl.FRONT, glState.STENCIL_WRITEMASK);
+ gl.stencilMaskSeparate(gl.BACK, glState.STENCIL_BACK_WRITEMASK);
+
+ gl.scissor(glState.SCISSOR_BOX[0], glState.SCISSOR_BOX[1], glState.SCISSOR_BOX[2], glState.SCISSOR_BOX[3]);
+ gl.viewport(glState.VIEWPORT[0], glState.VIEWPORT[1], glState.VIEWPORT[2], glState.VIEWPORT[3]);
+
+ gl.useProgram(ReplayableResource.replay(glState.CURRENT_PROGRAM, cache));
+
+ // VERTEX_ATTRIB_ARRAYS
+ var maxVertexAttribs = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);
+ for (var i = 0; i < maxVertexAttribs; ++i) {
+ var state = glState.vertexAttribStates[i] || {};
+ if (state.VERTEX_ATTRIB_ARRAY_ENABLED)
+ gl.enableVertexAttribArray(i);
+ else
+ gl.disableVertexAttribArray(i);
+ if (state.CURRENT_VERTEX_ATTRIB)
+ gl.vertexAttrib4fv(i, state.CURRENT_VERTEX_ATTRIB);
+ var buffer = ReplayableResource.replay(state.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING, cache);
+ if (buffer) {
+ gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
+ gl.vertexAttribPointer(i, state.VERTEX_ATTRIB_ARRAY_SIZE, state.VERTEX_ATTRIB_ARRAY_TYPE, state.VERTEX_ATTRIB_ARRAY_NORMALIZED, state.VERTEX_ATTRIB_ARRAY_STRIDE, state.VERTEX_ATTRIB_ARRAY_POINTER);
+ }
+ }
+ gl.bindBuffer(gl.ARRAY_BUFFER, ReplayableResource.replay(glState.ARRAY_BUFFER_BINDING, cache));
+ gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, ReplayableResource.replay(glState.ELEMENT_ARRAY_BUFFER_BINDING, cache));
+
+ // TEXTURES
+ var maxTextureImageUnits = gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS);
+ for (var i = 0; i < maxTextureImageUnits; ++i) {
+ gl.activeTexture(gl.TEXTURE0 + i);
+ var state = glState.textureBindings[i] || {};
+ gl.bindTexture(gl.TEXTURE_2D, ReplayableResource.replay(state.TEXTURE_2D, cache));
+ gl.bindTexture(gl.TEXTURE_CUBE_MAP, ReplayableResource.replay(state.TEXTURE_CUBE_MAP, cache));
+ }
+ gl.activeTexture(glState.ACTIVE_TEXTURE);
+
+ return Resource.prototype._doReplayCalls.call(this, data, cache);
+ },
+
+ /**
+ * @param {Object|number} target
+ * @return {Resource}
+ */
+ currentBinding: function(target)
+ {
+ var resource = Resource.forObject(target);
+ if (resource)
+ return resource;
+ var gl = this.wrappedObject();
+ var bindingParameter;
+ var bindMethodName;
+ var bindMethodTarget = target;
+ switch (target) {
+ case gl.ARRAY_BUFFER:
+ bindingParameter = gl.ARRAY_BUFFER_BINDING;
+ bindMethodName = "bindBuffer";
+ break;
+ case gl.ELEMENT_ARRAY_BUFFER:
+ bindingParameter = gl.ELEMENT_ARRAY_BUFFER_BINDING;
+ bindMethodName = "bindBuffer";
+ break;
+ case gl.TEXTURE_2D:
+ bindingParameter = gl.TEXTURE_BINDING_2D;
+ bindMethodName = "bindTexture";
+ break;
+ case gl.TEXTURE_CUBE_MAP:
+ case gl.TEXTURE_CUBE_MAP_POSITIVE_X:
+ case gl.TEXTURE_CUBE_MAP_NEGATIVE_X:
+ case gl.TEXTURE_CUBE_MAP_POSITIVE_Y:
+ case gl.TEXTURE_CUBE_MAP_NEGATIVE_Y:
+ case gl.TEXTURE_CUBE_MAP_POSITIVE_Z:
+ case gl.TEXTURE_CUBE_MAP_NEGATIVE_Z:
+ bindingParameter = gl.TEXTURE_BINDING_CUBE_MAP;
+ bindMethodTarget = gl.TEXTURE_CUBE_MAP;
+ bindMethodName = "bindTexture";
+ break;
+ case gl.FRAMEBUFFER:
+ bindingParameter = gl.FRAMEBUFFER_BINDING;
+ bindMethodName = "bindFramebuffer";
+ break;
+ case gl.RENDERBUFFER:
+ bindingParameter = gl.RENDERBUFFER_BINDING;
+ bindMethodName = "bindRenderbuffer";
+ break;
+ default:
+ console.error("ASSERT_NOT_REACHED: unknown binding target " + target);
+ return null;
+ }
+ resource = Resource.forObject(gl.getParameter(bindingParameter));
+ if (resource)
+ resource.pushBinding(bindMethodTarget, bindMethodName);
+ return resource;
+ },
+
+ /**
* @return {Object}
*/
_wrapObject: function()
{
- var glContext = this.wrappedObject();
- var proxy = Object.create(glContext.__proto__); // In order to emulate "instanceof".
+ var gl = this.wrappedObject();
+ var proxy = Object.create(gl.__proto__); // In order to emulate "instanceof".
var self = this;
+ var customWrapFunctions = WebGLRenderingContextResource.wrapFunctions();
function processProperty(property)
{
- if (typeof glContext[property] === "function") {
- // FIXME: override GL calls affecting resources states here.
- proxy[property] = self._wrapFunction(self, glContext, glContext[property], property);
+ if (typeof gl[property] === "function") {
+ var customWrapFunction = customWrapFunctions[property];
+ if (customWrapFunction)
+ proxy[property] = self._wrapCustomFunction(self, gl, gl[property], property, customWrapFunction);
+ else
+ proxy[property] = self._wrapFunction(self, gl, gl[property], property);
} else if (/^[A-Z0-9_]+$/.test(property)) {
// Fast access to enums and constants.
- proxy[property] = glContext[property];
+ console.assert(typeof gl[property] === "number", "Expected a number for property " + property);
+ proxy[property] = gl[property];
} else {
Object.defineProperty(proxy, property, {
get: function()
{
- return glContext[property];
+ return gl[property];
},
set: function(value)
{
- glContext[property] = value;
+ console.error("ASSERT_NOT_REACHED: We assume all WebGLRenderingContext attributes are readonly. Trying to mutate " + property);
+ gl[property] = value;
}
});
}
}
- for (var property in glContext)
+ for (var property in gl)
processProperty(property);
+ this._bindObjectToResource(proxy);
return proxy;
},
@@ -501,7 +1550,33 @@ WebGLRenderingContextResource.prototype = {
* @param {WebGLRenderingContext} originalObject
* @param {Function} originalFunction
* @param {string} functionName
- * @return {*}
+ * @param {Function} customWrapFunction
+ * @return {Function}
+ */
+ _wrapCustomFunction: function(resource, originalObject, originalFunction, functionName, customWrapFunction)
+ {
+ return function()
+ {
+ var manager = resource.manager();
+ if (manager)
+ manager.captureArguments(resource, arguments);
+ var wrapFunction = new WebGLRenderingContextResource.WrapFunction(originalObject, originalFunction, functionName, arguments);
+ customWrapFunction.apply(wrapFunction, arguments);
+ if (manager && manager.capturing()) {
+ var call = wrapFunction.call();
+ call.setStackTrace(StackTrace.create(1, arguments.callee));
+ manager.reportCall(call);
+ }
+ return wrapFunction.result();
+ };
+ },
+
+ /**
+ * @param {Resource} resource
+ * @param {WebGLRenderingContext} originalObject
+ * @param {Function} originalFunction
+ * @param {string} functionName
+ * @return {Function}
*/
_wrapFunction: function(resource, originalObject, originalFunction, functionName)
{
@@ -512,7 +1587,8 @@ WebGLRenderingContextResource.prototype = {
return originalFunction.apply(originalObject, arguments);
manager.captureArguments(resource, arguments);
var result = originalFunction.apply(originalObject, arguments);
- var call = new Call(resource, functionName, arguments, result);
+ var stackTrace = StackTrace.create(1, arguments.callee);
+ var call = new Call(resource, functionName, arguments, result, stackTrace);
manager.reportCall(call);
return result;
};
@@ -558,10 +1634,117 @@ WebGLRenderingContextResource.WrapFunction.prototype = {
if (!this._call)
this._call = new Call(this._glResource, this._functionName, this._args, this.result());
return this._call;
+ },
+
+ /**
+ * @param {*} result
+ */
+ _overrideResult: function(result)
+ {
+ var call = this.call();
+ call.setResult(result);
+ this._result = result;
}
}
/**
+ * @return {Object.<string, Function>}
+ */
+WebGLRenderingContextResource.wrapFunctions = function()
+{
+ var wrapFunctions = WebGLRenderingContextResource._wrapFunctions;
+ if (!wrapFunctions) {
+ wrapFunctions = Object.create(null);
+
+ /**
+ * @param {string} methodName
+ * @param {Function} resourceConstructor
+ */
+ function createResourceWrapFunction(methodName, resourceConstructor)
+ {
+ /** @this WebGLRenderingContextResource.WrapFunction */
+ wrapFunctions[methodName] = function()
+ {
+ var wrappedObject = this.result();
+ if (!wrappedObject)
+ return;
+ var resource = new resourceConstructor(wrappedObject);
+ var manager = this._glResource.manager();
+ if (manager)
+ manager.registerResource(resource);
+ resource.pushCall(this.call());
+ }
+ }
+ createResourceWrapFunction("createBuffer", WebGLBufferResource);
+ createResourceWrapFunction("createShader", WebGLShaderResource);
+ createResourceWrapFunction("createProgram", WebGLProgramResource);
+ createResourceWrapFunction("createTexture", WebGLTextureResource);
+ createResourceWrapFunction("createFramebuffer", WebGLFramebufferResource);
+ createResourceWrapFunction("createRenderbuffer", WebGLRenderbufferResource);
+ createResourceWrapFunction("getUniformLocation", Resource);
+
+ /**
+ * @param {string} methodName
+ */
+ function customWrapFunction(methodName)
+ {
+ var customPushCall = "pushCall_" + methodName;
+ /**
+ * @param {Object|number} target
+ * @this WebGLRenderingContextResource.WrapFunction
+ */
+ wrapFunctions[methodName] = function(target)
+ {
+ var resource = this._glResource.currentBinding(target);
+ if (!resource)
+ return;
+ if (resource[customPushCall])
+ resource[customPushCall].call(resource, this.call());
+ else
+ resource.pushCall(this.call());
+ }
+ }
+ customWrapFunction("attachShader");
+ customWrapFunction("bindAttribLocation");
+ customWrapFunction("compileShader");
+ customWrapFunction("detachShader");
+ customWrapFunction("linkProgram");
+ customWrapFunction("shaderSource");
+ customWrapFunction("bufferData");
+ customWrapFunction("bufferSubData");
+ customWrapFunction("compressedTexImage2D");
+ customWrapFunction("compressedTexSubImage2D");
+ customWrapFunction("copyTexImage2D");
+ customWrapFunction("copyTexSubImage2D");
+ customWrapFunction("generateMipmap");
+ customWrapFunction("texImage2D");
+ customWrapFunction("texSubImage2D");
+ customWrapFunction("texParameterf");
+ customWrapFunction("texParameteri");
+ customWrapFunction("framebufferRenderbuffer");
+ customWrapFunction("framebufferTexture2D");
+ customWrapFunction("renderbufferStorage");
+
+ /** @this WebGLRenderingContextResource.WrapFunction */
+ wrapFunctions["getError"] = function()
+ {
+ var gl = this._originalObject;
+ var error = this.result();
+ if (error !== gl.NO_ERROR)
+ this._glResource.clearError(error);
+ else {
+ error = this._glResource.nextError();
+ if (error !== gl.NO_ERROR)
+ this._overrideResult(error);
+ }
+ }
+
+ WebGLRenderingContextResource._wrapFunctions = wrapFunctions;
+ }
+ return wrapFunctions;
+}
+
+/**
* @constructor
*/
function TraceLog()
@@ -592,7 +1775,7 @@ TraceLog.prototype = {
*/
captureResource: function(resource)
{
- // FIXME: Capture current resource state to start the replay from.
+ resource.toReplayable(this._replayablesCache);
},
/**
@@ -600,7 +1783,12 @@ TraceLog.prototype = {
*/
addCall: function(call)
{
- // FIXME: Convert the call to a ReplayableCall and push it.
+ var res = Resource.forObject(call.result());
+ if (res)
+ this.captureResource(res);
+ var size = this._replayablesCache.size();
+ this._replayableCalls.push(call.toReplayable(this._replayablesCache));
+ console.assert(this._replayablesCache.size() === size, "Internal error: We should have captured all the resources already by this time.");
}
}
@@ -656,7 +1844,7 @@ TraceLogPlayer.prototype = {
// FIXME: Replay all the cached resources first to warm-up.
var replayableCalls = this._traceLog.replayableCalls();
while (this._nextReplayStep <= stepNum)
- replayableCalls[this._nextReplayStep++].replay(this._replayWorldCache);
+ replayableCalls[this._nextReplayStep++].replay(this._replayWorldCache);
},
replay: function()
@@ -789,7 +1977,7 @@ InjectedScript.prototype = {
*/
wrapWebGLContext: function(glContext)
{
- var resource = Resource.forObject(glContext) || new WebGLRenderingContextResource(glContext);
+ var resource = Resource.forObject(glContext) || new WebGLRenderingContextResource(glContext, this._constructWebGLReplayContext.bind(this, glContext));
this._manager.registerResource(resource);
var proxy = resource.proxyObject();
return proxy;
@@ -829,9 +2017,21 @@ InjectedScript.prototype = {
var calls = traceLog.replayableCalls();
for (var i = 0, n = calls.length; i < n; ++i) {
var call = calls[i];
- result.calls.push({
- functionName: call.functionName() + "(" + call.args().join(", ") + ") => " + call.result()
+ var args = call.args().map(function(argument) {
+ return argument + "";
});
+ var stackTrace = call.stackTrace();
+ var callFrame = stackTrace ? stackTrace.callFrame(0) || {} : {};
+ var traceLogItem = {
+ functionName: call.functionName(),
+ arguments: args,
+ sourceURL: callFrame.sourceURL,
+ lineNumber: callFrame.lineNumber,
+ columnNumber: callFrame.columnNumber
+ };
+ if (call.result())
+ traceLogItem.result = call.result() + "";
+ result.calls.push(traceLogItem);
}
return result;
},
@@ -854,6 +2054,7 @@ InjectedScript.prototype = {
return "";
}
// Return current screenshot.
+ // FIXME: Support replaying several canvases simultaneously.
return this._replayContext.canvas.toDataURL();
},
@@ -863,6 +2064,37 @@ InjectedScript.prototype = {
_makeTraceLogId: function()
{
return "{\"injectedScriptId\":" + injectedScriptId + ",\"traceLogId\":" + (++this._lastTraceLogId) + "}";
+ },
+
+ /**
+ * @param {WebGLRenderingContext} originalGlContext
+ * @return {WebGLRenderingContext}
+ */
+ _constructWebGLReplayContext: function(originalGlContext)
+ {
+ var replayContext = originalGlContext["__replayContext"];
+ if (!replayContext) {
+ var canvas = originalGlContext.canvas.cloneNode(true);
+ var attributes = originalGlContext.getContextAttributes();
+ var contextIds = ["experimental-webgl", "webkit-3d", "3d"];
+ for (var i = 0, contextId; contextId = contextIds[i]; ++i) {
+ replayContext = canvas.getContext(contextId, attributes);
+ if (replayContext) {
+ replayContext = /** @type {WebGLRenderingContext} */ Resource.wrappedObject(replayContext);
+ break;
+ }
+ }
+ Object.defineProperty(originalGlContext, "__replayContext", {
+ value: replayContext,
+ writable: false,
+ enumerable: false,
+ configurable: true
+ });
+ this._replayContext = replayContext;
+ } else {
+ // FIXME: Reset the replay GL state and clear the canvas.
+ }
+ return replayContext;
}
}
diff --git a/Source/WebCore/inspector/Inspector.json b/Source/WebCore/inspector/Inspector.json
index 4aba46a69..8184cc008 100644
--- a/Source/WebCore/inspector/Inspector.json
+++ b/Source/WebCore/inspector/Inspector.json
@@ -594,17 +594,18 @@
{ "name": "enabled", "type": "boolean", "description": "Reporting enabled state." }
],
"hidden": true,
- "description": "Enables reporting about creation of isolated contexts by means of <code>isolatedContextCreated</code> event. When the reporting gets enabled the event will be sent immediately for each existing isolated context."
+ "description": "Enables reporting about creation of execution contexts by means of <code>executionContextCreated</code> event. When the reporting gets enabled the event will be sent immediately for each existing execution context."
}
],
"events": [
{
- "name": "isolatedContextCreated",
+ "name": "executionContextCreated",
"parameters": [
- { "name": "context", "$ref": "ExecutionContextDescription", "description": "A newly created isolated contex." }
+ { "name": "context", "$ref": "ExecutionContextDescription", "description": "A newly created execution contex." }
],
- "description": "Issued when new isolated context is created."
+ "hidden": true,
+ "description": "Issued when new execution context is created."
}
]
},
@@ -1073,7 +1074,11 @@
{
"id": "Error",
"type": "object",
- "description": "Database error."
+ "description": "Database error.",
+ "properties": [
+ { "name": "message", "type": "string", "description": "Error message." },
+ { "name": "code", "type": "integer", "description": "Error code." }
+ ]
}
],
"commands": [
@@ -1096,13 +1101,15 @@
},
{
"name": "executeSQL",
+ "async": true,
"parameters": [
{ "name": "databaseId", "$ref": "DatabaseId" },
{ "name": "query", "type": "string" }
],
"returns": [
- { "name": "success", "type": "boolean" },
- { "name": "transactionId", "type": "integer" }
+ { "name": "columnNames", "type": "array", "optional": true, "items": { "type": "string" } },
+ { "name": "values", "type": "array", "optional": true, "items": { "type": "any" }},
+ { "name": "sqlError", "$ref": "Error", "optional": true }
]
}
],
@@ -1112,21 +1119,6 @@
"parameters": [
{ "name": "database", "$ref": "Database" }
]
- },
- {
- "name": "sqlTransactionSucceeded",
- "parameters": [
- { "name": "transactionId", "type": "integer" },
- { "name": "columnNames", "type": "array", "items": { "type": "string" } },
- { "name": "values", "type": "array", "items": { "type": "any" }}
- ]
- },
- {
- "name": "sqlTransactionFailed",
- "parameters": [
- { "name": "transactionId", "type": "integer" },
- { "name": "sqlError", "$ref": "Error" }
- ]
}
]
},
@@ -1230,25 +1222,31 @@
},
{
"name": "requestDatabaseNamesForFrame",
+ "async": true,
"parameters": [
- { "name": "requestId", "type": "integer", "description": "Request id." },
{ "name": "frameId", "$ref": "Network.FrameId", "description": "Frame id." }
],
+ "returns": [
+ { "name": "securityOriginWithDatabaseNames", "$ref": "SecurityOriginWithDatabaseNames", "description": "Frame with database names." }
+ ],
"description": "Requests database names for given frame's security origin."
},
{
"name": "requestDatabase",
+ "async": true,
"parameters": [
- { "name": "requestId", "type": "integer", "description": "Request id." },
{ "name": "frameId", "$ref": "Network.FrameId", "description": "Frame id." },
{ "name": "databaseName", "type": "string", "description": "Database name." }
],
+ "returns": [
+ { "name": "databaseWithObjectStores", "$ref": "DatabaseWithObjectStores", "description": "Database with an array of object stores." }
+ ],
"description": "Requests database with given name in given frame."
},
{
"name": "requestData",
+ "async": true,
"parameters": [
- { "name": "requestId", "type": "integer", "description": "Request id." },
{ "name": "frameId", "$ref": "Network.FrameId", "description": "Frame id." },
{ "name": "databaseName", "type": "string", "description": "Database name." },
{ "name": "objectStoreName", "type": "string", "description": "Object store name." },
@@ -1257,39 +1255,11 @@
{ "name": "pageSize", "type": "integer", "description": "Number of records to fetch." },
{ "name": "keyRange", "$ref": "KeyRange", "optional": true, "description": "Key range." }
],
- "description": "Requests data from object store or index."
- }
- ],
- "events": [
- {
- "name": "databaseNamesLoaded",
- "parameters": [
- { "name": "requestId", "type": "number", "description": "Request id." },
- { "name": "securityOriginWithDatabaseNames", "$ref": "SecurityOriginWithDatabaseNames", "description": "Frame with database names." }
- ]
- },
- {
- "name": "databaseLoaded",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request id." },
- { "name": "databaseWithObjectStores", "$ref": "DatabaseWithObjectStores", "description": "Database with an array of object stores." }
- ]
- },
- {
- "name": "objectStoreDataLoaded",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request id." },
+ "returns": [
{ "name": "objectStoreDataEntries", "type": "array", "items": { "$ref": "DataEntry" }, "description": "Array of object store data entries." },
{ "name": "hasMore", "type": "boolean", "description": "If true, there are more entries to fetch in the given range." }
- ]
- },
- {
- "name": "indexDataLoaded",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request id." },
- { "name": "indexDataEntries", "type": "array", "items": { "$ref": "DataEntry" }, "description": "Array of index data entries." },
- { "name": "hasMore", "type": "boolean", "description": "If true, there are more entries to fetch in the given range." }
- ]
+ ],
+ "description": "Requests data from object store or index."
}
]
},
@@ -1469,11 +1439,6 @@
"hidden": true,
"types": [
{
- "id": "RequestId",
- "type": "integer",
- "description": "Request Identifier to glue a request and its completion event."
- },
- {
"id": "Entry",
"type": "object",
"properties": [
@@ -1507,37 +1472,44 @@
},
{
"name": "requestFileSystemRoot",
+ "async": true,
"parameters": [
{ "name": "origin", "type": "string", "description": "Security origin of requesting FileSystem. One of frames in current page needs to have this security origin." },
{ "name": "type", "type": "string", "enum": ["temporary", "persistent"], "description": "FileSystem type of requesting FileSystem." }
],
"returns": [
- { "name": "requestId", "$ref": "RequestId", "description": "Request identifier. Corresponding fileSystemRootReceived event should have same requestId with this." }
+ { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
+ { "name": "root", "$ref": "Entry", "optional": true, "description": "Contains root of the requested FileSystem if the command completed successfully." }
],
- "description": "Returns root directory of the FileSystem as fileSystemRootReceived event, if exists."
+ "description": "Returns root directory of the FileSystem, if exists."
},
{
"name": "requestDirectoryContent",
+ "async": true,
"parameters": [
{ "name": "url", "type": "string", "description": "URL of the directory that the frontend is requesting to read from." }
],
"returns": [
- { "name": "requestId", "$ref": "RequestId", "description": "Request identifier. Corresponding directoryContentReceived event should have same requestId with this." }
+ { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
+ { "name": "entries", "type": "array", "items": { "$ref": "Entry" }, "optional": true, "description": "Contains all entries on directory if the command completed successfully." }
],
- "description": "Returns content of the directory as directoryContentReceived event."
+ "description": "Returns content of the directory."
},
{
"name": "requestMetadata",
+ "async": true,
"parameters": [
{ "name": "url", "type": "string", "description": "URL of the entry that the frontend is requesting to get metadata from." }
],
"returns": [
- { "name": "requestId", "$ref": "RequestId", "description": "Request identifier. Corresponding metadataReceived event should have same requestId with this." }
+ { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
+ { "name": "metadata", "$ref": "Metadata", "optional": true, "description": "Contains metadata of the entry if the command completed successfully." }
],
- "description": "Returns metadata of the entry as metadataReceived event."
+ "description": "Returns metadata of the entry."
},
{
"name": "requestFileContent",
+ "async": true,
"parameters": [
{ "name": "url", "type": "string", "description": "URL of the file that the frontend is requesting to read from." },
{ "name": "readAsText", "type": "boolean", "description": "True if the content should be read as text, otherwise the result will be returned as base64 encoded text." },
@@ -1546,66 +1518,22 @@
{ "name": "charset", "type": "string", "optional": true, "description": "Overrides charset of the content when content is served as text." }
],
"returns": [
- { "name": "requestId", "$ref": "RequestId", "description": "Request identifier. Corresponding fileContentReceived event should have same requestId with this." }
+ { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
+ { "name": "content", "type": "string", "optional": true, "description": "Content of the file." },
+ { "name": "charset", "type": "string", "optional": true, "description": "Charset of the content if it is served as text." }
],
- "description": "Returns content of the file as fileContentReceived event. Result should be sliced into [start, end)."
+ "description": "Returns content of the file. Result should be sliced into [start, end)."
},
{
"name": "deleteEntry",
+ "async": true,
"parameters": [
{ "name": "url", "type": "string", "description": "URL of the entry to delete." }
],
"returns": [
- { "name": "requestId", "$ref": "RequestId", "description": "Request identifier. Corresponding deletionCompleted event should have same requestId with this." }
- ],
- "description": "Deletes specified entry. If the entry is a directory, the agent deletes children recursively."
- }
- ],
- "events": [
- {
- "name": "fileSystemRootReceived",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request Identifier that was returned by corresponding requestFileSystemRoot command." },
- { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
- { "name": "root", "$ref": "Entry", "optional": true, "description": "Contains root of the requested FileSystem if the command completed successfully." }
- ],
- "description": "Completion event of requestFileSystemRoot command."
- },
- {
- "name": "directoryContentReceived",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request Identifier that was returned by corresponding requestDirectoryContent command." },
- { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
- { "name": "entries", "type": "array", "items": { "$ref": "Entry" }, "optional": true, "description": "Contains all entries on directory if the command completed successfully." }
- ],
- "description": "Completion event of requestDirectoryContent command."
- },
- {
- "name": "metadataReceived",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request Identifier that was returned in response to the corresponding requestMetadata command." },
- { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
- { "name": "metadata", "$ref": "Metadata", "optional": true, "description": "Contains metadata of the entry if the command completed successfully." }
- ],
- "description": "Completion event of requestMetadata command."
- },
- {
- "name": "fileContentReceived",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request Identifier that was returned in response to the corresponding requestFileContent command." },
- { "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise, errorCode is set to FileError::ErrorCode value." },
- { "name": "content", "type": "string", "optional": true, "description": "Content of the file." },
- { "name": "charset", "type": "string", "optional": true, "description": "Charset of the content if it is served as text." }
- ],
- "description": "Completion event of requestFileContent command."
- },
- {
- "name": "deletionCompleted",
- "parameters": [
- { "name": "requestId", "type": "integer", "description": "Request Identifier that was returned in response to the corresponding deleteEntry command." },
{ "name": "errorCode", "type": "integer", "description": "0, if no error. Otherwise errorCode is set to FileError::ErrorCode value." }
],
- "description": "Completion event of deleteEntry command."
+ "description": "Deletes specified entry. If the entry is a directory, the agent deletes children recursively."
}
]
},
@@ -2836,7 +2764,7 @@
"name": "paused",
"parameters": [
{ "name": "callFrames", "type": "array", "items": { "$ref": "CallFrame" }, "description": "Call stack the virtual machine stopped on." },
- { "name": "reason", "type": "string", "enum": [ "XHR", "DOM", "EventListener", "exception", "other" ], "description": "Pause reason." },
+ { "name": "reason", "type": "string", "enum": [ "XHR", "DOM", "EventListener", "exception", "assert", "other" ], "description": "Pause reason." },
{ "name": "data", "type": "object", "optional": true, "description": "Object containing break-specific auxiliary properties." }
],
"description": "Fired when the virtual machine stopped on breakpoint or exception or any other stop criteria."
@@ -3149,7 +3077,12 @@
"id": "Call",
"type": "object",
"properties": [
- { "name": "functionName", "type": "string" }
+ { "name": "functionName", "type": "string" },
+ { "name": "arguments", "type": "array", "items": { "type": "string" } },
+ { "name": "result", "type": "string", "optional": true },
+ { "name": "sourceURL", "type": "string", "optional": true },
+ { "name": "lineNumber", "type": "integer", "optional": true },
+ { "name": "columnNumber", "type": "integer", "optional": true }
]
},
{
@@ -3157,7 +3090,7 @@
"type": "object",
"properties": [
{ "name": "id", "$ref": "TraceLogId" },
- { "name": "calls", "type": "array", "items": { "$ref": "Call" }}
+ { "name": "calls", "type": "array", "items": { "$ref": "Call" } }
]
}
],
diff --git a/Source/WebCore/inspector/InspectorAgent.h b/Source/WebCore/inspector/InspectorAgent.h
index d510a4db9..3e6fd93f2 100644
--- a/Source/WebCore/inspector/InspectorAgent.h
+++ b/Source/WebCore/inspector/InspectorAgent.h
@@ -31,11 +31,11 @@
#define InspectorAgent_h
#include "InspectorBaseAgent.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorCSSAgent.cpp b/Source/WebCore/inspector/InspectorCSSAgent.cpp
index 9d62698de..24c7197b6 100644
--- a/Source/WebCore/inspector/InspectorCSSAgent.cpp
+++ b/Source/WebCore/inspector/InspectorCSSAgent.cpp
@@ -45,6 +45,7 @@
#include "InspectorTypeBuilder.h"
#include "InspectorValues.h"
#include "InstrumentingAgents.h"
+#include "NamedFlowCollection.h"
#include "Node.h"
#include "NodeList.h"
#include "RenderRegion.h"
@@ -54,7 +55,6 @@
#include "StyleRule.h"
#include "StyleSheetList.h"
#include "WebKitNamedFlow.h"
-#include "WebKitNamedFlowCollection.h"
#include <wtf/CurrentTime.h>
#include <wtf/HashSet.h>
@@ -133,10 +133,10 @@ private:
static unsigned computePseudoClassMask(InspectorArray* pseudoClassArray)
{
- DEFINE_STATIC_LOCAL(String, active, ("active"));
- DEFINE_STATIC_LOCAL(String, hover, ("hover"));
- DEFINE_STATIC_LOCAL(String, focus, ("focus"));
- DEFINE_STATIC_LOCAL(String, visited, ("visited"));
+ DEFINE_STATIC_LOCAL(String, active, (ASCIILiteral("active")));
+ DEFINE_STATIC_LOCAL(String, hover, (ASCIILiteral("hover")));
+ DEFINE_STATIC_LOCAL(String, focus, (ASCIILiteral("focus")));
+ DEFINE_STATIC_LOCAL(String, visited, (ASCIILiteral("visited")));
if (!pseudoClassArray || !pseudoClassArray->length())
return PseudoNone;
@@ -326,7 +326,7 @@ public:
m_oldText = oldText.stripWhiteSpace();
// FIXME: remove this once the model handles this case.
if (!m_oldText.endsWith(';'))
- m_oldText += ";";
+ m_oldText.append(';');
return result;
}
diff --git a/Source/WebCore/inspector/InspectorCSSAgent.h b/Source/WebCore/inspector/InspectorCSSAgent.h
index 2b82b4c7e..931ed3dfb 100644
--- a/Source/WebCore/inspector/InspectorCSSAgent.h
+++ b/Source/WebCore/inspector/InspectorCSSAgent.h
@@ -27,18 +27,17 @@
#include "CSSSelector.h"
#include "ContentSecurityPolicy.h"
-#include "Document.h"
#include "InspectorBaseAgent.h"
#include "InspectorDOMAgent.h"
#include "InspectorStyleSheet.h"
#include "InspectorValues.h"
-#include "PlatformString.h"
#include "SecurityContext.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -53,7 +52,9 @@ class InspectorFrontend;
class InstrumentingAgents;
class NameNodeMap;
class Node;
+class NodeList;
class SelectorProfile;
+class StyleResolver;
#if ENABLE(INSPECTOR)
diff --git a/Source/WebCore/inspector/InspectorClient.cpp b/Source/WebCore/inspector/InspectorClient.cpp
index 37c7bc2dc..867e0bbd3 100644
--- a/Source/WebCore/inspector/InspectorClient.cpp
+++ b/Source/WebCore/inspector/InspectorClient.cpp
@@ -55,9 +55,7 @@ bool InspectorClient::doDispatchMessageOnFrontendPage(Page* frontendPage, const
if (!scriptController)
return false;
- String dispatchToFrontend("WebInspector.dispatchMessageFromBackend(");
- dispatchToFrontend += message;
- dispatchToFrontend += ");";
+ String dispatchToFrontend = "WebInspector.dispatchMessageFromBackend(" + message + ");";
// FIXME: This should execute the script in the appropriate world.
scriptController->evaluate(ScriptSourceCode(dispatchToFrontend));
diff --git a/Source/WebCore/inspector/InspectorConsoleAgent.cpp b/Source/WebCore/inspector/InspectorConsoleAgent.cpp
index c12a56b0d..2f3e2246d 100644
--- a/Source/WebCore/inspector/InspectorConsoleAgent.cpp
+++ b/Source/WebCore/inspector/InspectorConsoleAgent.cpp
@@ -47,6 +47,7 @@
#include <wtf/CurrentTime.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -249,11 +250,14 @@ void InspectorConsoleAgent::didFailLoading(unsigned long identifier, const Resou
return;
if (error.isCancellation()) // Report failures only.
return;
- String message = "Failed to load resource";
- if (!error.localizedDescription().isEmpty())
- message += ": " + error.localizedDescription();
+ StringBuilder message;
+ message.appendLiteral("Failed to load resource");
+ if (!error.localizedDescription().isEmpty()) {
+ message.appendLiteral(": ");
+ message.append(error.localizedDescription());
+ }
String requestId = IdentifiersFactory::requestId(identifier);
- addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message, error.failingURL(), requestId)));
+ addConsoleMessage(adoptPtr(new ConsoleMessage(NetworkMessageSource, LogMessageType, ErrorMessageLevel, message.toString(), error.failingURL(), requestId)));
}
void InspectorConsoleAgent::setMonitoringXHREnabled(ErrorString*, bool enabled)
diff --git a/Source/WebCore/inspector/InspectorController.h b/Source/WebCore/inspector/InspectorController.h
index 90996e5e9..0331e13d5 100644
--- a/Source/WebCore/inspector/InspectorController.h
+++ b/Source/WebCore/inspector/InspectorController.h
@@ -31,10 +31,10 @@
#ifndef InspectorController_h
#define InspectorController_h
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorDOMAgent.cpp b/Source/WebCore/inspector/InspectorDOMAgent.cpp
index 5929c729f..ed47b5d0a 100644
--- a/Source/WebCore/inspector/InspectorDOMAgent.cpp
+++ b/Source/WebCore/inspector/InspectorDOMAgent.cpp
@@ -809,12 +809,20 @@ void InspectorDOMAgent::performSearch(ErrorString*, const String& whitespaceTrim
unsigned queryLength = whitespaceTrimmedQuery.length();
bool startTagFound = !whitespaceTrimmedQuery.find('<');
bool endTagFound = whitespaceTrimmedQuery.reverseFind('>') + 1 == queryLength;
+ bool startQuoteFound = !whitespaceTrimmedQuery.find('"');
+ bool endQuoteFound = whitespaceTrimmedQuery.reverseFind('"') + 1 == queryLength;
+ bool exactAttributeMatch = startQuoteFound && endQuoteFound;
String tagNameQuery = whitespaceTrimmedQuery;
+ String attributeQuery = whitespaceTrimmedQuery;
if (startTagFound)
tagNameQuery = tagNameQuery.right(tagNameQuery.length() - 1);
if (endTagFound)
tagNameQuery = tagNameQuery.left(tagNameQuery.length() - 1);
+ if (startQuoteFound)
+ attributeQuery = attributeQuery.right(attributeQuery.length() - 1);
+ if (endQuoteFound)
+ attributeQuery = attributeQuery.left(attributeQuery.length() - 1);
Vector<Document*> docs = documents();
ListHashSet<Node*> resultCollector;
@@ -854,9 +862,12 @@ void InspectorDOMAgent::performSearch(ErrorString*, const String& whitespaceTrim
resultCollector.add(node);
break;
}
- if (attribute->value().find(whitespaceTrimmedQuery) != notFound) {
- resultCollector.add(node);
- break;
+ size_t foundPosition = attribute->value().find(attributeQuery);
+ if (foundPosition != notFound) {
+ if (!exactAttributeMatch || (!foundPosition && attribute->value().length() == attributeQuery.length())) {
+ resultCollector.add(node);
+ break;
+ }
}
}
break;
diff --git a/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h b/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h
index 7b111f677..2bffd5825 100644
--- a/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h
+++ b/Source/WebCore/inspector/InspectorDOMDebuggerAgent.h
@@ -35,10 +35,10 @@
#include "InspectorBaseAgent.h"
#include "InspectorDebuggerAgent.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorDOMStorageAgent.h b/Source/WebCore/inspector/InspectorDOMStorageAgent.h
index 6664a8db5..a4f87b0e6 100644
--- a/Source/WebCore/inspector/InspectorDOMStorageAgent.h
+++ b/Source/WebCore/inspector/InspectorDOMStorageAgent.h
@@ -30,10 +30,10 @@
#define InspectorDOMStorageAgent_h
#include "InspectorBaseAgent.h"
-#include "PlatformString.h"
#include "StorageArea.h"
#include <wtf/HashMap.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorDatabaseAgent.cpp b/Source/WebCore/inspector/InspectorDatabaseAgent.cpp
index 98c9363ae..1099c4059 100644
--- a/Source/WebCore/inspector/InspectorDatabaseAgent.cpp
+++ b/Source/WebCore/inspector/InspectorDatabaseAgent.cpp
@@ -51,56 +51,35 @@
#include <wtf/Vector.h>
+typedef WebCore::InspectorBackendDispatcher::DatabaseCommandHandler::ExecuteSQLCallback ExecuteSQLCallback;
+
namespace WebCore {
namespace DatabaseAgentState {
static const char databaseAgentEnabled[] = "databaseAgentEnabled";
};
-class InspectorDatabaseAgent::FrontendProvider : public RefCounted<InspectorDatabaseAgent::FrontendProvider> {
-public:
- static PassRefPtr<FrontendProvider> create(InspectorFrontend* inspectorFrontend)
- {
- return adoptRef(new FrontendProvider(inspectorFrontend));
- }
-
- virtual ~FrontendProvider() { }
-
- InspectorFrontend::Database* frontend() { return m_inspectorFrontend; }
- void clearFrontend() { m_inspectorFrontend = 0; }
-private:
- FrontendProvider(InspectorFrontend* inspectorFrontend) : m_inspectorFrontend(inspectorFrontend->database()) { }
- InspectorFrontend::Database* m_inspectorFrontend;
-};
-
namespace {
-int lastTransactionId = 0;
-
-void reportTransactionFailed(InspectorFrontend::Database* frontend, int transactionId, SQLError* error)
+void reportTransactionFailed(ExecuteSQLCallback* requestCallback, SQLError* error)
{
- if (!frontend)
- return;
- RefPtr<InspectorObject> errorObject = InspectorObject::create();
- errorObject->setString("message", error->message());
- errorObject->setNumber("code", error->code());
- frontend->sqlTransactionFailed(transactionId, errorObject);
+ RefPtr<TypeBuilder::Database::Error> errorObject = TypeBuilder::Database::Error::create()
+ .setMessage(error->message())
+ .setCode(error->code());
+ requestCallback->sendSuccess(0, 0, errorObject.release());
}
class StatementCallback : public SQLStatementCallback {
public:
- static PassRefPtr<StatementCallback> create(int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
+ static PassRefPtr<StatementCallback> create(PassRefPtr<ExecuteSQLCallback> requestCallback)
{
- return adoptRef(new StatementCallback(transactionId, frontendProvider));
+ return adoptRef(new StatementCallback(requestCallback));
}
virtual ~StatementCallback() { }
virtual bool handleEvent(SQLTransaction*, SQLResultSet* resultSet)
{
- if (!m_frontendProvider->frontend())
- return true;
-
SQLResultSetRowList* rowList = resultSet->rows();
RefPtr<TypeBuilder::Array<String> > columnNames = TypeBuilder::Array<String>::create();
@@ -118,92 +97,84 @@ public:
case SQLValue::NullValue: values->addItem(InspectorValue::null()); break;
}
}
- m_frontendProvider->frontend()->sqlTransactionSucceeded(m_transactionId, columnNames, values);
+ m_requestCallback->sendSuccess(columnNames.release(), values.release(), 0);
return true;
}
private:
- StatementCallback(int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
- : m_transactionId(transactionId)
- , m_frontendProvider(frontendProvider) { }
- int m_transactionId;
- RefPtr<InspectorDatabaseAgent::FrontendProvider> m_frontendProvider;
+ StatementCallback(PassRefPtr<ExecuteSQLCallback> requestCallback)
+ : m_requestCallback(requestCallback) { }
+ RefPtr<ExecuteSQLCallback> m_requestCallback;
};
class StatementErrorCallback : public SQLStatementErrorCallback {
public:
- static PassRefPtr<StatementErrorCallback> create(int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
+ static PassRefPtr<StatementErrorCallback> create(PassRefPtr<ExecuteSQLCallback> requestCallback)
{
- return adoptRef(new StatementErrorCallback(transactionId, frontendProvider));
+ return adoptRef(new StatementErrorCallback(requestCallback));
}
virtual ~StatementErrorCallback() { }
virtual bool handleEvent(SQLTransaction*, SQLError* error)
{
- reportTransactionFailed(m_frontendProvider->frontend(), m_transactionId, error);
+ reportTransactionFailed(m_requestCallback.get(), error);
return true;
}
private:
- StatementErrorCallback(int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
- : m_transactionId(transactionId)
- , m_frontendProvider(frontendProvider) { }
- int m_transactionId;
- RefPtr<InspectorDatabaseAgent::FrontendProvider> m_frontendProvider;
+ StatementErrorCallback(PassRefPtr<ExecuteSQLCallback> requestCallback)
+ : m_requestCallback(requestCallback) { }
+ RefPtr<ExecuteSQLCallback> m_requestCallback;
};
class TransactionCallback : public SQLTransactionCallback {
public:
- static PassRefPtr<TransactionCallback> create(const String& sqlStatement, int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
+ static PassRefPtr<TransactionCallback> create(const String& sqlStatement, PassRefPtr<ExecuteSQLCallback> requestCallback)
{
- return adoptRef(new TransactionCallback(sqlStatement, transactionId, frontendProvider));
+ return adoptRef(new TransactionCallback(sqlStatement, requestCallback));
}
virtual ~TransactionCallback() { }
virtual bool handleEvent(SQLTransaction* transaction)
{
- if (!m_frontendProvider->frontend())
+ if (!m_requestCallback->isActive())
return true;
Vector<SQLValue> sqlValues;
- RefPtr<SQLStatementCallback> callback(StatementCallback::create(m_transactionId, m_frontendProvider));
- RefPtr<SQLStatementErrorCallback> errorCallback(StatementErrorCallback::create(m_transactionId, m_frontendProvider));
+ RefPtr<SQLStatementCallback> callback(StatementCallback::create(m_requestCallback.get()));
+ RefPtr<SQLStatementErrorCallback> errorCallback(StatementErrorCallback::create(m_requestCallback.get()));
ExceptionCode ec = 0;
transaction->executeSQL(m_sqlStatement, sqlValues, callback.release(), errorCallback.release(), ec);
return true;
}
private:
- TransactionCallback(const String& sqlStatement, int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
+ TransactionCallback(const String& sqlStatement, PassRefPtr<ExecuteSQLCallback> requestCallback)
: m_sqlStatement(sqlStatement)
- , m_transactionId(transactionId)
- , m_frontendProvider(frontendProvider) { }
+ , m_requestCallback(requestCallback) { }
String m_sqlStatement;
- int m_transactionId;
- RefPtr<InspectorDatabaseAgent::FrontendProvider> m_frontendProvider;
+ RefPtr<ExecuteSQLCallback> m_requestCallback;
};
class TransactionErrorCallback : public SQLTransactionErrorCallback {
public:
- static PassRefPtr<TransactionErrorCallback> create(int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
+ static PassRefPtr<TransactionErrorCallback> create(PassRefPtr<ExecuteSQLCallback> requestCallback)
{
- return adoptRef(new TransactionErrorCallback(transactionId, frontendProvider));
+ return adoptRef(new TransactionErrorCallback(requestCallback));
}
virtual ~TransactionErrorCallback() { }
virtual bool handleEvent(SQLError* error)
{
- reportTransactionFailed(m_frontendProvider->frontend(), m_transactionId, error);
+ reportTransactionFailed(m_requestCallback.get(), error);
return true;
}
private:
- TransactionErrorCallback(int transactionId, PassRefPtr<InspectorDatabaseAgent::FrontendProvider> frontendProvider)
- : m_transactionId(transactionId)
- , m_frontendProvider(frontendProvider) { }
- int m_transactionId;
- RefPtr<InspectorDatabaseAgent::FrontendProvider> m_frontendProvider;
+ TransactionErrorCallback(PassRefPtr<ExecuteSQLCallback> requestCallback)
+ : m_requestCallback(requestCallback) { }
+ RefPtr<ExecuteSQLCallback> m_requestCallback;
};
class TransactionSuccessCallback : public VoidCallback {
@@ -233,8 +204,8 @@ void InspectorDatabaseAgent::didOpenDatabase(PassRefPtr<Database> database, cons
RefPtr<InspectorDatabaseResource> resource = InspectorDatabaseResource::create(database, domain, name, version);
m_resources.set(resource->id(), resource);
// Resources are only bound while visible.
- if (m_frontendProvider && m_enabled)
- resource->bind(m_frontendProvider->frontend());
+ if (m_frontend && m_enabled)
+ resource->bind(m_frontend);
}
void InspectorDatabaseAgent::clearResources()
@@ -256,13 +227,12 @@ InspectorDatabaseAgent::~InspectorDatabaseAgent()
void InspectorDatabaseAgent::setFrontend(InspectorFrontend* frontend)
{
- m_frontendProvider = FrontendProvider::create(frontend);
+ m_frontend = frontend->database();
}
void InspectorDatabaseAgent::clearFrontend()
{
- m_frontendProvider->clearFrontend();
- m_frontendProvider.clear();
+ m_frontend = 0;
disable(0);
}
@@ -275,7 +245,7 @@ void InspectorDatabaseAgent::enable(ErrorString*)
DatabaseResourcesMap::iterator databasesEnd = m_resources.end();
for (DatabaseResourcesMap::iterator it = m_resources.begin(); it != databasesEnd; ++it)
- it->second->bind(m_frontendProvider->frontend());
+ it->second->bind(m_frontend);
}
void InspectorDatabaseAgent::disable(ErrorString*)
@@ -309,25 +279,25 @@ void InspectorDatabaseAgent::getDatabaseTableNames(ErrorString* error, const Str
}
}
-void InspectorDatabaseAgent::executeSQL(ErrorString* error, const String& databaseId, const String& query, bool* success, int* transactionId)
+void InspectorDatabaseAgent::executeSQL(ErrorString*, const String& databaseId, const String& query, PassRefPtr<ExecuteSQLCallback> prpRequestCallback)
{
+ RefPtr<ExecuteSQLCallback> requestCallback = prpRequestCallback;
+
if (!m_enabled) {
- *error = "Database agent is not enabled";
+ requestCallback->sendFailure("Database agent is not enabled");
return;
}
Database* database = databaseForId(databaseId);
if (!database) {
- *success = false;
+ requestCallback->sendFailure("Database not found");
return;
}
- *transactionId = ++lastTransactionId;
- RefPtr<SQLTransactionCallback> callback(TransactionCallback::create(query, *transactionId, m_frontendProvider));
- RefPtr<SQLTransactionErrorCallback> errorCallback(TransactionErrorCallback::create(*transactionId, m_frontendProvider));
+ RefPtr<SQLTransactionCallback> callback(TransactionCallback::create(query, requestCallback.get()));
+ RefPtr<SQLTransactionErrorCallback> errorCallback(TransactionErrorCallback::create(requestCallback.get()));
RefPtr<VoidCallback> successCallback(TransactionSuccessCallback::create());
database->transaction(callback.release(), errorCallback.release(), successCallback.release());
- *success = true;
}
String InspectorDatabaseAgent::databaseId(Database* database)
diff --git a/Source/WebCore/inspector/InspectorDatabaseAgent.h b/Source/WebCore/inspector/InspectorDatabaseAgent.h
index 2902c6ee2..c7399a1e4 100644
--- a/Source/WebCore/inspector/InspectorDatabaseAgent.h
+++ b/Source/WebCore/inspector/InspectorDatabaseAgent.h
@@ -32,9 +32,10 @@
#if ENABLE(INSPECTOR) && ENABLE(SQL_DATABASE)
#include "InspectorBaseAgent.h"
-#include "PlatformString.h"
+#include "InspectorFrontend.h"
#include <wtf/HashMap.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -49,8 +50,6 @@ typedef String ErrorString;
class InspectorDatabaseAgent : public InspectorBaseAgent<InspectorDatabaseAgent>, public InspectorBackendDispatcher::DatabaseCommandHandler {
public:
- class FrontendProvider;
-
static PassOwnPtr<InspectorDatabaseAgent> create(InstrumentingAgents* instrumentingAgents, InspectorState* state)
{
return adoptPtr(new InspectorDatabaseAgent(instrumentingAgents, state));
@@ -67,7 +66,7 @@ public:
virtual void enable(ErrorString*);
virtual void disable(ErrorString*);
virtual void getDatabaseTableNames(ErrorString*, const String& databaseId, RefPtr<TypeBuilder::Array<String> >& names);
- virtual void executeSQL(ErrorString*, const String& databaseId, const String& query, bool* success, int* transactionId);
+ virtual void executeSQL(ErrorString*, const String& databaseId, const String& query, PassRefPtr<ExecuteSQLCallback>);
// Called from the injected script.
String databaseId(Database*);
@@ -79,9 +78,9 @@ private:
Database* databaseForId(const String& databaseId);
InspectorDatabaseResource* findByFileName(const String& fileName);
+ InspectorFrontend::Database* m_frontend;
typedef HashMap<String, RefPtr<InspectorDatabaseResource> > DatabaseResourcesMap;
DatabaseResourcesMap m_resources;
- RefPtr<FrontendProvider> m_frontendProvider;
bool m_enabled;
};
diff --git a/Source/WebCore/inspector/InspectorDatabaseResource.h b/Source/WebCore/inspector/InspectorDatabaseResource.h
index e1c890275..a6bb0c07c 100644
--- a/Source/WebCore/inspector/InspectorDatabaseResource.h
+++ b/Source/WebCore/inspector/InspectorDatabaseResource.h
@@ -33,10 +33,10 @@
#if ENABLE(SQL_DATABASE) && ENABLE(INSPECTOR)
#include "InspectorFrontend.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Database;
diff --git a/Source/WebCore/inspector/InspectorDebuggerAgent.cpp b/Source/WebCore/inspector/InspectorDebuggerAgent.cpp
index d6e44d91a..76c9c9530 100644
--- a/Source/WebCore/inspector/InspectorDebuggerAgent.cpp
+++ b/Source/WebCore/inspector/InspectorDebuggerAgent.cpp
@@ -197,6 +197,12 @@ bool InspectorDebuggerAgent::isPaused()
return scriptDebugServer().isPaused();
}
+void InspectorDebuggerAgent::addMessageToConsole(MessageSource source, MessageType type)
+{
+ if (scriptDebugServer().pauseOnExceptionsState() != ScriptDebugServer::DontPauseOnExceptions && source == ConsoleAPIMessageSource && type == AssertMessageType)
+ breakProgram(InspectorFrontend::Debugger::Reason::Assert, 0);
+}
+
static PassRefPtr<InspectorObject> buildObjectForBreakpointCookie(const String& url, int lineNumber, int columnNumber, const String& condition, bool isRegex)
{
RefPtr<InspectorObject> breakpointObject = InspectorObject::create();
@@ -588,7 +594,7 @@ PassRefPtr<Array<TypeBuilder::Debugger::CallFrame> > InspectorDebuggerAgent::cur
String InspectorDebuggerAgent::sourceMapURLForScript(const Script& script)
{
- DEFINE_STATIC_LOCAL(String, sourceMapHttpHeader, ("X-SourceMap"));
+ DEFINE_STATIC_LOCAL(String, sourceMapHttpHeader, (ASCIILiteral("X-SourceMap")));
String sourceMapURL = ContentSearchUtils::findSourceMapURL(script.source);
if (!sourceMapURL.isEmpty())
diff --git a/Source/WebCore/inspector/InspectorDebuggerAgent.h b/Source/WebCore/inspector/InspectorDebuggerAgent.h
index cd5b703db..962376fb8 100644
--- a/Source/WebCore/inspector/InspectorDebuggerAgent.h
+++ b/Source/WebCore/inspector/InspectorDebuggerAgent.h
@@ -31,6 +31,7 @@
#define InspectorDebuggerAgent_h
#if ENABLE(JAVASCRIPT_DEBUGGER) && ENABLE(INSPECTOR)
+#include "ConsoleTypes.h"
#include "InjectedScript.h"
#include "InspectorBaseAgent.h"
#include "InspectorFrontend.h"
@@ -78,6 +79,7 @@ public:
void didClearMainFrameWindowObject();
bool isPaused();
+ void addMessageToConsole(MessageSource, MessageType);
// Part of the protocol.
virtual void setBreakpointsActive(ErrorString*, bool active);
diff --git a/Source/WebCore/inspector/InspectorFileSystemAgent.cpp b/Source/WebCore/inspector/InspectorFileSystemAgent.cpp
index fb40ed43f..c2722fe3a 100644
--- a/Source/WebCore/inspector/InspectorFileSystemAgent.cpp
+++ b/Source/WebCore/inspector/InspectorFileSystemAgent.cpp
@@ -68,44 +68,18 @@
using WebCore::TypeBuilder::Array;
+typedef WebCore::InspectorBackendDispatcher::FileSystemCommandHandler::RequestFileSystemRootCallback RequestFileSystemRootCallback;
+typedef WebCore::InspectorBackendDispatcher::FileSystemCommandHandler::RequestDirectoryContentCallback RequestDirectoryContentCallback;
+typedef WebCore::InspectorBackendDispatcher::FileSystemCommandHandler::RequestMetadataCallback RequestMetadataCallback;
+typedef WebCore::InspectorBackendDispatcher::FileSystemCommandHandler::RequestFileContentCallback RequestFileContentCallback;
+typedef WebCore::InspectorBackendDispatcher::FileSystemCommandHandler::DeleteEntryCallback DeleteEntryCallback;
+
namespace WebCore {
namespace FileSystemAgentState {
static const char fileSystemAgentEnabled[] = "fileSystemAgentEnabled";
}
-class InspectorFileSystemAgent::FrontendProvider : public RefCounted<FrontendProvider> {
- WTF_MAKE_NONCOPYABLE(FrontendProvider);
-public:
- static PassRefPtr<FrontendProvider> create(InspectorFileSystemAgent* agent, InspectorFrontend::FileSystem* frontend)
- {
- return adoptRef(new FrontendProvider(agent, frontend));
- }
-
- InspectorFrontend::FileSystem* frontend() const
- {
- if (m_agent && m_agent->m_enabled)
- return m_frontend;
- return 0;
- }
-
- void clear()
- {
- m_agent = 0;
- m_frontend = 0;
- }
-
-private:
- FrontendProvider(InspectorFileSystemAgent* agent, InspectorFrontend::FileSystem* frontend)
- : m_agent(agent)
- , m_frontend(frontend) { }
-
- InspectorFileSystemAgent* m_agent;
- InspectorFrontend::FileSystem* m_frontend;
-};
-
-typedef InspectorFileSystemAgent::FrontendProvider FrontendProvider;
-
namespace {
template<typename BaseCallback, typename Handler, typename Argument>
@@ -142,33 +116,12 @@ public:
}
};
-class ReportErrorTask : public ScriptExecutionContext::Task {
-public:
- static PassOwnPtr<ReportErrorTask> create(PassRefPtr<ErrorCallback> errorCallback, FileError::ErrorCode errorCode)
- {
- return adoptPtr(new ReportErrorTask(errorCallback, errorCode));
- }
-
- virtual void performTask(ScriptExecutionContext*) OVERRIDE
- {
- m_errorCallback->handleEvent(FileError::create(m_errorCode).get());
- }
-
-private:
- ReportErrorTask(PassRefPtr<ErrorCallback> errorCallback, FileError::ErrorCode errorCode)
- : m_errorCallback(errorCallback)
- , m_errorCode(errorCode) { }
-
- RefPtr<ErrorCallback> m_errorCallback;
- FileError::ErrorCode m_errorCode;
-};
-
class FileSystemRootRequest : public RefCounted<FileSystemRootRequest> {
WTF_MAKE_NONCOPYABLE(FileSystemRootRequest);
public:
- static PassRefPtr<FileSystemRootRequest> create(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& type)
+ static PassRefPtr<FileSystemRootRequest> create(PassRefPtr<RequestFileSystemRootCallback> requestCallback, const String& type)
{
- return adoptRef(new FileSystemRootRequest(frontendProvider, requestId, type));
+ return adoptRef(new FileSystemRootRequest(requestCallback, type));
}
void start(ScriptExecutionContext*);
@@ -184,19 +137,14 @@ private:
void reportResult(FileError::ErrorCode errorCode, PassRefPtr<TypeBuilder::FileSystem::Entry> entry = 0)
{
- if (!m_frontendProvider || !m_frontendProvider->frontend())
- return;
- m_frontendProvider->frontend()->fileSystemRootReceived(m_requestId, static_cast<int>(errorCode), entry);
- m_frontendProvider = 0;
+ m_requestCallback->sendSuccess(static_cast<int>(errorCode), entry);
}
- FileSystemRootRequest(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& type)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ FileSystemRootRequest(PassRefPtr<RequestFileSystemRootCallback> requestCallback, const String& type)
+ : m_requestCallback(requestCallback)
, m_type(type) { }
- RefPtr<FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<RequestFileSystemRootCallback> m_requestCallback;
String m_type;
};
@@ -211,7 +159,7 @@ void FileSystemRootRequest::start(ScriptExecutionContext* scriptExecutionContext
else if (m_type == DOMFileSystemBase::temporaryPathPrefix)
type = FileSystemTypeTemporary;
else {
- scriptExecutionContext->postTask(ReportErrorTask::create(errorCallback, FileError::SYNTAX_ERR));
+ errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get());
return;
}
@@ -234,9 +182,9 @@ bool FileSystemRootRequest::didGetEntry(Entry* entry)
class DirectoryContentRequest : public RefCounted<DirectoryContentRequest> {
WTF_MAKE_NONCOPYABLE(DirectoryContentRequest);
public:
- static PassRefPtr<DirectoryContentRequest> create(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& url)
+ static PassRefPtr<DirectoryContentRequest> create(PassRefPtr<RequestDirectoryContentCallback> requestCallback, const String& url)
{
- return adoptRef(new DirectoryContentRequest(frontendProvider, requestId, url));
+ return adoptRef(new DirectoryContentRequest(requestCallback, url));
}
virtual ~DirectoryContentRequest()
@@ -258,21 +206,16 @@ private:
void reportResult(FileError::ErrorCode errorCode, PassRefPtr<Array<TypeBuilder::FileSystem::Entry> > entries = 0)
{
- if (!m_frontendProvider || !m_frontendProvider->frontend())
- return;
- m_frontendProvider->frontend()->directoryContentReceived(m_requestId, static_cast<int>(errorCode), entries);
- m_frontendProvider = 0;
+ m_requestCallback->sendSuccess(static_cast<int>(errorCode), entries);
}
- DirectoryContentRequest(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& url)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ DirectoryContentRequest(PassRefPtr<RequestDirectoryContentCallback> requestCallback, const String& url)
+ : m_requestCallback(requestCallback)
, m_url(ParsedURLString, url) { }
void readDirectoryEntries();
- RefPtr<FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<RequestDirectoryContentCallback> m_requestCallback;
KURL m_url;
RefPtr<Array<TypeBuilder::FileSystem::Entry> > m_entries;
RefPtr<DirectoryReader> m_directoryReader;
@@ -286,7 +229,7 @@ void DirectoryContentRequest::start(ScriptExecutionContext* scriptExecutionConte
FileSystemType type;
String path;
if (!DOMFileSystemBase::crackFileSystemURL(m_url, type, path)) {
- scriptExecutionContext->postTask(ReportErrorTask::create(errorCallback, FileError::SYNTAX_ERR));
+ errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get());
return;
}
@@ -366,9 +309,9 @@ bool DirectoryContentRequest::didReadDirectoryEntries(EntryArray* entries)
class MetadataRequest : public RefCounted<MetadataRequest> {
WTF_MAKE_NONCOPYABLE(MetadataRequest);
public:
- static PassRefPtr<MetadataRequest> create(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& url)
+ static PassRefPtr<MetadataRequest> create(PassRefPtr<RequestMetadataCallback> requestCallback, const String& url)
{
- return adoptRef(new MetadataRequest(frontendProvider, requestId, url));
+ return adoptRef(new MetadataRequest(requestCallback, url));
}
virtual ~MetadataRequest()
@@ -390,19 +333,14 @@ private:
void reportResult(FileError::ErrorCode errorCode, PassRefPtr<TypeBuilder::FileSystem::Metadata> metadata = 0)
{
- if (!m_frontendProvider || !m_frontendProvider->frontend())
- return;
- m_frontendProvider->frontend()->metadataReceived(m_requestId, static_cast<int>(errorCode), metadata);
- m_frontendProvider = 0;
+ m_requestCallback->sendSuccess(static_cast<int>(errorCode), metadata);
}
- MetadataRequest(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& url)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ MetadataRequest(PassRefPtr<RequestMetadataCallback> requestCallback, const String& url)
+ : m_requestCallback(requestCallback)
, m_url(ParsedURLString, url) { }
- RefPtr<FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<RequestMetadataCallback> m_requestCallback;
KURL m_url;
String m_path;
bool m_isDirectory;
@@ -416,7 +354,7 @@ void MetadataRequest::start(ScriptExecutionContext* scriptExecutionContext)
FileSystemType type;
if (!DOMFileSystemBase::crackFileSystemURL(m_url, type, m_path)) {
- scriptExecutionContext->postTask(ReportErrorTask::create(errorCallback, FileError::SYNTAX_ERR));
+ errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get());
return;
}
@@ -452,9 +390,9 @@ bool MetadataRequest::didGetMetadata(Metadata* metadata)
class FileContentRequest : public EventListener {
WTF_MAKE_NONCOPYABLE(FileContentRequest);
public:
- static PassRefPtr<FileContentRequest> create(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& url, bool readAsText, long long start, long long end, const String& charset)
+ static PassRefPtr<FileContentRequest> create(PassRefPtr<RequestFileContentCallback> requestCallback, const String& url, bool readAsText, long long start, long long end, const String& charset)
{
- return adoptRef(new FileContentRequest(frontendProvider, requestId, url, readAsText, start, end, charset));
+ return adoptRef(new FileContentRequest(requestCallback, url, readAsText, start, end, charset));
}
virtual ~FileContentRequest()
@@ -490,24 +428,19 @@ private:
void reportResult(FileError::ErrorCode errorCode, const String* result = 0, const String* charset = 0)
{
- if (!m_frontendProvider || !m_frontendProvider->frontend())
- return;
- m_frontendProvider->frontend()->fileContentReceived(m_requestId, static_cast<int>(errorCode), result, charset);
- m_frontendProvider = 0;
+ m_requestCallback->sendSuccess(static_cast<int>(errorCode), result, charset);
}
- FileContentRequest(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const String& url, bool readAsText, long long start, long long end, const String& charset)
+ FileContentRequest(PassRefPtr<RequestFileContentCallback> requestCallback, const String& url, bool readAsText, long long start, long long end, const String& charset)
: EventListener(EventListener::CPPEventListenerType)
- , m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ , m_requestCallback(requestCallback)
, m_url(ParsedURLString, url)
, m_readAsText(readAsText)
, m_start(start)
, m_end(end)
, m_charset(charset) { }
- RefPtr<FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<RequestFileContentCallback> m_requestCallback;
KURL m_url;
bool m_readAsText;
int m_start;
@@ -527,7 +460,7 @@ void FileContentRequest::start(ScriptExecutionContext* scriptExecutionContext)
FileSystemType type;
String path;
if (!DOMFileSystemBase::crackFileSystemURL(m_url, type, path)) {
- scriptExecutionContext->postTask(ReportErrorTask::create(errorCallback, FileError::SYNTAX_ERR));
+ errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get());
return;
}
@@ -582,16 +515,16 @@ void FileContentRequest::didRead()
RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create(m_mimeType, m_charset, true);
String result = decoder->decode(static_cast<char*>(buffer->data()), buffer->byteLength());
- result += decoder->flush();
+ result.append(decoder->flush());
m_charset = decoder->encoding().domName();
reportResult(static_cast<FileError::ErrorCode>(0), &result, &m_charset);
}
class DeleteEntryRequest : public VoidCallback {
public:
- static PassRefPtr<DeleteEntryRequest> create(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const KURL& url)
+ static PassRefPtr<DeleteEntryRequest> create(PassRefPtr<DeleteEntryCallback> requestCallback, const KURL& url)
{
- return adoptRef(new DeleteEntryRequest(frontendProvider, requestId, url));
+ return adoptRef(new DeleteEntryRequest(requestCallback, url));
}
virtual ~DeleteEntryRequest()
@@ -618,19 +551,14 @@ private:
void reportResult(FileError::ErrorCode errorCode)
{
- if (!m_frontendProvider || !m_frontendProvider->frontend())
- return;
- m_frontendProvider->frontend()->deletionCompleted(m_requestId, static_cast<int>(errorCode));
- m_frontendProvider = 0;
+ m_requestCallback->sendSuccess(static_cast<int>(errorCode));
}
- DeleteEntryRequest(PassRefPtr<FrontendProvider> frontendProvider, int requestId, const KURL& url)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ DeleteEntryRequest(PassRefPtr<DeleteEntryCallback> requestCallback, const KURL& url)
+ : m_requestCallback(requestCallback)
, m_url(url) { }
- RefPtr<FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<DeleteEntryCallback> m_requestCallback;
KURL m_url;
};
@@ -643,7 +571,7 @@ void DeleteEntryRequest::start(ScriptExecutionContext* scriptExecutionContext)
FileSystemType type;
String path;
if (!DOMFileSystemBase::crackFileSystemURL(m_url, type, path)) {
- scriptExecutionContext->postTask(ReportErrorTask::create(errorCallback, FileError::SYNTAX_ERR));
+ errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get());
return;
}
@@ -684,8 +612,6 @@ PassOwnPtr<InspectorFileSystemAgent> InspectorFileSystemAgent::create(Instrument
InspectorFileSystemAgent::~InspectorFileSystemAgent()
{
- if (m_frontendProvider)
- m_frontendProvider->clear();
m_instrumentingAgents->setInspectorFileSystemAgent(0);
}
@@ -705,64 +631,59 @@ void InspectorFileSystemAgent::disable(ErrorString*)
m_state->setBoolean(FileSystemAgentState::fileSystemAgentEnabled, m_enabled);
}
-void InspectorFileSystemAgent::requestFileSystemRoot(ErrorString* error, const String& origin, const String& type, int* requestId)
+void InspectorFileSystemAgent::requestFileSystemRoot(ErrorString* error, const String& origin, const String& type, PassRefPtr<RequestFileSystemRootCallback> requestCallback)
{
- if (!assertFrontend(error))
+ if (!assertEnabled(error))
return;
ScriptExecutionContext* scriptExecutionContext = assertScriptExecutionContextForOrigin(error, SecurityOrigin::createFromString(origin).get());
if (!scriptExecutionContext)
return;
- *requestId = m_nextRequestId++;
- FileSystemRootRequest::create(m_frontendProvider, *requestId, type)->start(scriptExecutionContext);
+ FileSystemRootRequest::create(requestCallback, type)->start(scriptExecutionContext);
}
-void InspectorFileSystemAgent::requestDirectoryContent(ErrorString* error, const String& url, int* requestId)
+void InspectorFileSystemAgent::requestDirectoryContent(ErrorString* error, const String& url, PassRefPtr<RequestDirectoryContentCallback> requestCallback)
{
- if (!assertFrontend(error))
+ if (!assertEnabled(error))
return;
ScriptExecutionContext* scriptExecutionContext = assertScriptExecutionContextForOrigin(error, SecurityOrigin::createFromString(url).get());
if (!scriptExecutionContext)
return;
- *requestId = m_nextRequestId++;
- DirectoryContentRequest::create(m_frontendProvider, *requestId, url)->start(scriptExecutionContext);
+ DirectoryContentRequest::create(requestCallback, url)->start(scriptExecutionContext);
}
-void InspectorFileSystemAgent::requestMetadata(ErrorString* error, const String& url, int* requestId)
+void InspectorFileSystemAgent::requestMetadata(ErrorString* error, const String& url, PassRefPtr<RequestMetadataCallback> requestCallback)
{
- if (!assertFrontend(error))
+ if (!assertEnabled(error))
return;
ScriptExecutionContext* scriptExecutionContext = assertScriptExecutionContextForOrigin(error, SecurityOrigin::createFromString(url).get());
if (!scriptExecutionContext)
return;
- *requestId = m_nextRequestId++;
- MetadataRequest::create(m_frontendProvider, *requestId, url)->start(scriptExecutionContext);
+ MetadataRequest::create(requestCallback, url)->start(scriptExecutionContext);
}
-void InspectorFileSystemAgent::requestFileContent(ErrorString* error, const String& url, bool readAsText, const int* start, const int* end, const String* charset, int* requestId)
+void InspectorFileSystemAgent::requestFileContent(ErrorString* error, const String& url, bool readAsText, const int* start, const int* end, const String* charset, PassRefPtr<RequestFileContentCallback> requestCallback)
{
- if (!assertFrontend(error))
+ if (!assertEnabled(error))
return;
ScriptExecutionContext* scriptExecutionContext = assertScriptExecutionContextForOrigin(error, SecurityOrigin::createFromString(url).get());
if (!scriptExecutionContext)
return;
- *requestId = m_nextRequestId++;
-
long long startPosition = start ? *start : 0;
long long endPosition = end ? *end : std::numeric_limits<long long>::max();
- FileContentRequest::create(m_frontendProvider, *requestId, url, readAsText, startPosition, endPosition, charset ? *charset : "")->start(scriptExecutionContext);
+ FileContentRequest::create(requestCallback, url, readAsText, startPosition, endPosition, charset ? *charset : "")->start(scriptExecutionContext);
}
-void InspectorFileSystemAgent::deleteEntry(ErrorString* error, const String& urlString, int* requestId)
+void InspectorFileSystemAgent::deleteEntry(ErrorString* error, const String& urlString, PassRefPtr<DeleteEntryCallback> requestCallback)
{
- if (!assertFrontend(error))
+ if (!assertEnabled(error))
return;
KURL url(ParsedURLString, urlString);
@@ -771,22 +692,11 @@ void InspectorFileSystemAgent::deleteEntry(ErrorString* error, const String& url
if (!scriptExecutionContext)
return;
- *requestId = m_nextRequestId++;
- DeleteEntryRequest::create(m_frontendProvider, *requestId, url)->start(scriptExecutionContext);
-}
-
-void InspectorFileSystemAgent::setFrontend(InspectorFrontend* frontend)
-{
- ASSERT(frontend);
- m_frontendProvider = FrontendProvider::create(this, frontend->filesystem());
+ DeleteEntryRequest::create(requestCallback, url)->start(scriptExecutionContext);
}
void InspectorFileSystemAgent::clearFrontend()
{
- if (m_frontendProvider) {
- m_frontendProvider->clear();
- m_frontendProvider = 0;
- }
m_enabled = false;
m_state->setBoolean(FileSystemAgentState::fileSystemAgentEnabled, m_enabled);
}
@@ -800,7 +710,6 @@ InspectorFileSystemAgent::InspectorFileSystemAgent(InstrumentingAgents* instrume
: InspectorBaseAgent<InspectorFileSystemAgent>("FileSystem", instrumentingAgents, state)
, m_pageAgent(pageAgent)
, m_enabled(false)
- , m_nextRequestId(1)
{
ASSERT(instrumentingAgents);
ASSERT(state);
@@ -808,13 +717,12 @@ InspectorFileSystemAgent::InspectorFileSystemAgent(InstrumentingAgents* instrume
m_instrumentingAgents->setInspectorFileSystemAgent(this);
}
-bool InspectorFileSystemAgent::assertFrontend(ErrorString* error)
+bool InspectorFileSystemAgent::assertEnabled(ErrorString* error)
{
- if (!m_enabled || !m_frontendProvider) {
+ if (!m_enabled) {
*error = "FileSystem agent is not enabled.";
return false;
}
- ASSERT(m_frontendProvider->frontend());
return true;
}
diff --git a/Source/WebCore/inspector/InspectorFileSystemAgent.h b/Source/WebCore/inspector/InspectorFileSystemAgent.h
index f0fca3cae..433bab8c5 100644
--- a/Source/WebCore/inspector/InspectorFileSystemAgent.h
+++ b/Source/WebCore/inspector/InspectorFileSystemAgent.h
@@ -47,33 +47,28 @@ class SecurityOrigin;
class InspectorFileSystemAgent : public InspectorBaseAgent<InspectorFileSystemAgent>, public InspectorBackendDispatcher::FileSystemCommandHandler {
public:
- class FrontendProvider;
-
static PassOwnPtr<InspectorFileSystemAgent> create(InstrumentingAgents*, InspectorPageAgent*, InspectorState*);
virtual ~InspectorFileSystemAgent();
virtual void enable(ErrorString*) OVERRIDE;
virtual void disable(ErrorString*) OVERRIDE;
- virtual void requestFileSystemRoot(ErrorString*, const String& origin, const String& typeString, int* requestId) OVERRIDE;
- virtual void requestDirectoryContent(ErrorString*, const String& url, int* requestId) OVERRIDE;
- virtual void requestMetadata(ErrorString*, const String& url, int* requestId) OVERRIDE;
- virtual void requestFileContent(ErrorString*, const String& url, bool readAsText, const int* start, const int* end, const String* charset, int* requestId) OVERRIDE;
- virtual void deleteEntry(ErrorString*, const String& url, int* requestId) OVERRIDE;
+ virtual void requestFileSystemRoot(ErrorString*, const String& origin, const String& typeString, PassRefPtr<RequestFileSystemRootCallback>) OVERRIDE;
+ virtual void requestDirectoryContent(ErrorString*, const String& url, PassRefPtr<RequestDirectoryContentCallback>) OVERRIDE;
+ virtual void requestMetadata(ErrorString*, const String& url, PassRefPtr<RequestMetadataCallback>) OVERRIDE;
+ virtual void requestFileContent(ErrorString*, const String& url, bool readAsText, const int* start, const int* end, const String* charset, PassRefPtr<RequestFileContentCallback>) OVERRIDE;
+ virtual void deleteEntry(ErrorString*, const String& url, PassRefPtr<DeleteEntryCallback>) OVERRIDE;
- virtual void setFrontend(InspectorFrontend*) OVERRIDE;
virtual void clearFrontend() OVERRIDE;
virtual void restore() OVERRIDE;
private:
InspectorFileSystemAgent(InstrumentingAgents*, InspectorPageAgent*, InspectorState*);
- bool assertFrontend(ErrorString*);
+ bool assertEnabled(ErrorString*);
ScriptExecutionContext* assertScriptExecutionContextForOrigin(ErrorString*, SecurityOrigin*);
InspectorPageAgent* m_pageAgent;
- RefPtr<FrontendProvider> m_frontendProvider;
bool m_enabled;
- int m_nextRequestId;
};
} // namespace WebCore
diff --git a/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp b/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp
index cad8042aa..ebd9b219f 100644
--- a/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp
+++ b/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp
@@ -46,15 +46,16 @@
#include "InspectorFrontendHost.h"
#include "InspectorPageAgent.h"
#include "Page.h"
-#include "PlatformString.h"
#include "ScriptFunctionCall.h"
#include "ScriptObject.h"
+#include "ScriptState.h"
#include "Settings.h"
#include "Timer.h"
#include "UserGestureIndicator.h"
#include "WindowFeatures.h"
#include <wtf/Deque.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -111,7 +112,6 @@ void InspectorFrontendClientLocal::Settings::setProperty(const String&, const St
InspectorFrontendClientLocal::InspectorFrontendClientLocal(InspectorController* inspectorController, Page* frontendPage, PassOwnPtr<Settings> settings)
: m_inspectorController(inspectorController)
, m_frontendPage(frontendPage)
- , m_frontendScriptState(0)
, m_settings(settings)
, m_frontendLoaded(false)
{
@@ -124,7 +124,6 @@ InspectorFrontendClientLocal::~InspectorFrontendClientLocal()
if (m_frontendHost)
m_frontendHost->disconnectClient();
m_frontendPage = 0;
- m_frontendScriptState = 0;
m_inspectorController = 0;
}
@@ -132,10 +131,10 @@ void InspectorFrontendClientLocal::windowObjectCleared()
{
if (m_frontendHost)
m_frontendHost->disconnectClient();
- // FIXME: don't keep reference to the script state
- m_frontendScriptState = scriptStateFromPage(debuggerWorld(), m_frontendPage);
+
+ ScriptState* frontendScriptState = scriptStateFromPage(debuggerWorld(), m_frontendPage);
m_frontendHost = InspectorFrontendHost::create(this, m_frontendPage);
- ScriptGlobalObject::set(m_frontendScriptState, "InspectorFrontendHost", m_frontendHost.get());
+ ScriptGlobalObject::set(frontendScriptState, "InspectorFrontendHost", m_frontendHost.get());
}
void InspectorFrontendClientLocal::frontendLoaded()
diff --git a/Source/WebCore/inspector/InspectorFrontendClientLocal.h b/Source/WebCore/inspector/InspectorFrontendClientLocal.h
index 4027397ac..af8493b99 100644
--- a/Source/WebCore/inspector/InspectorFrontendClientLocal.h
+++ b/Source/WebCore/inspector/InspectorFrontendClientLocal.h
@@ -32,13 +32,13 @@
#define InspectorFrontendClientLocal_h
#include "InspectorFrontendClient.h"
-#include "PlatformString.h"
-#include "ScriptState.h"
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
+class Frame;
class InspectorController;
class InspectorBackendDispatchTask;
class InspectorFrontendHost;
@@ -111,8 +111,7 @@ private:
friend class FrontendMenuProvider;
InspectorController* m_inspectorController;
- Page* m_frontendPage;
- ScriptState* m_frontendScriptState;
+ Page* m_frontendPage;
// TODO(yurys): this ref shouldn't be needed.
RefPtr<InspectorFrontendHost> m_frontendHost;
OwnPtr<InspectorFrontendClientLocal::Settings> m_settings;
diff --git a/Source/WebCore/inspector/InspectorFrontendHost.h b/Source/WebCore/inspector/InspectorFrontendHost.h
index 9633d8296..d5ae51d80 100644
--- a/Source/WebCore/inspector/InspectorFrontendHost.h
+++ b/Source/WebCore/inspector/InspectorFrontendHost.h
@@ -32,10 +32,9 @@
#include "ConsoleTypes.h"
#include "ContextMenu.h"
#include "ContextMenuProvider.h"
-#include "PlatformString.h"
-
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp b/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp
index 33b21b4fd..5dfd99519 100644
--- a/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp
+++ b/Source/WebCore/inspector/InspectorIndexedDBAgent.cpp
@@ -78,28 +78,16 @@ using WebCore::TypeBuilder::IndexedDB::KeyRange;
using WebCore::TypeBuilder::IndexedDB::ObjectStore;
using WebCore::TypeBuilder::IndexedDB::ObjectStoreIndex;
+typedef WebCore::InspectorBackendDispatcher::IndexedDBCommandHandler::RequestDatabaseNamesForFrameCallback RequestDatabaseNamesForFrameCallback;
+typedef WebCore::InspectorBackendDispatcher::IndexedDBCommandHandler::RequestDatabaseCallback RequestDatabaseCallback;
+typedef WebCore::InspectorBackendDispatcher::IndexedDBCommandHandler::RequestDataCallback RequestDataCallback;
+
namespace WebCore {
namespace IndexedDBAgentState {
static const char indexedDBAgentEnabled[] = "indexedDBAgentEnabled";
};
-class InspectorIndexedDBAgent::FrontendProvider : public RefCounted<InspectorIndexedDBAgent::FrontendProvider> {
-public:
- static PassRefPtr<FrontendProvider> create(InspectorFrontend* inspectorFrontend)
- {
- return adoptRef(new FrontendProvider(inspectorFrontend));
- }
-
- virtual ~FrontendProvider() { }
-
- InspectorFrontend::IndexedDB* frontend() { return m_inspectorFrontend; }
- void clearFrontend() { m_inspectorFrontend = 0; }
-private:
- FrontendProvider(InspectorFrontend* inspectorFrontend) : m_inspectorFrontend(inspectorFrontend->indexeddb()) { }
- InspectorFrontend::IndexedDB* m_inspectorFrontend;
-};
-
namespace {
class InspectorIDBCallback : public IDBCallbacks {
@@ -153,16 +141,16 @@ private:
class GetDatabaseNamesCallback : public InspectorIDBCallback {
public:
- static PassRefPtr<GetDatabaseNamesCallback> create(InspectorIndexedDBAgent::FrontendProvider* frontendProvider, int requestId, const String& securityOrigin)
+ static PassRefPtr<GetDatabaseNamesCallback> create(PassRefPtr<RequestDatabaseNamesForFrameCallback> requestCallback, const String& securityOrigin)
{
- return adoptRef(new GetDatabaseNamesCallback(frontendProvider, requestId, securityOrigin));
+ return adoptRef(new GetDatabaseNamesCallback(requestCallback, securityOrigin));
}
virtual ~GetDatabaseNamesCallback() { }
virtual void onSuccess(PassRefPtr<DOMStringList> databaseNamesList)
{
- if (!m_frontendProvider->frontend())
+ if (!m_requestCallback->isActive())
return;
RefPtr<TypeBuilder::Array<String> > databaseNames = TypeBuilder::Array<String>::create();
@@ -173,16 +161,14 @@ public:
.setSecurityOrigin(m_securityOrigin)
.setDatabaseNames(databaseNames);
- m_frontendProvider->frontend()->databaseNamesLoaded(m_requestId, result);
+ m_requestCallback->sendSuccess(result);
}
private:
- GetDatabaseNamesCallback(InspectorIndexedDBAgent::FrontendProvider* frontendProvider, int requestId, const String& securityOrigin)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ GetDatabaseNamesCallback(PassRefPtr<RequestDatabaseNamesForFrameCallback> requestCallback, const String& securityOrigin)
+ : m_requestCallback(requestCallback)
, m_securityOrigin(securityOrigin) { }
- RefPtr<InspectorIndexedDBAgent::FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<RequestDatabaseNamesForFrameCallback> m_requestCallback;
String m_securityOrigin;
};
@@ -300,9 +286,9 @@ static PassRefPtr<KeyPath> keyPathFromIDBKeyPath(const IDBKeyPath& idbKeyPath)
class DatabaseLoaderCallback : public ExecutableWithDatabase {
public:
- static PassRefPtr<DatabaseLoaderCallback> create(InspectorIndexedDBAgent::FrontendProvider* frontendProvider, int requestId)
+ static PassRefPtr<DatabaseLoaderCallback> create(PassRefPtr<RequestDatabaseCallback> requestCallback)
{
- return adoptRef(new DatabaseLoaderCallback(frontendProvider, requestId));
+ return adoptRef(new DatabaseLoaderCallback(requestCallback));
}
virtual ~DatabaseLoaderCallback() { }
@@ -311,7 +297,7 @@ public:
{
RefPtr<IDBDatabaseBackendInterface> idbDatabase = prpDatabase;
m_connection.connect(idbDatabase);
- if (!m_frontendProvider->frontend())
+ if (!m_requestCallback->isActive())
return;
const IDBDatabaseMetadata databaseMetadata = idbDatabase->metadata();
@@ -346,15 +332,13 @@ public:
.setVersion(databaseMetadata.version)
.setObjectStores(objectStores);
- m_frontendProvider->frontend()->databaseLoaded(m_requestId, result);
+ m_requestCallback->sendSuccess(result);
}
private:
- DatabaseLoaderCallback(InspectorIndexedDBAgent::FrontendProvider* frontendProvider, int requestId)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId) { }
- RefPtr<InspectorIndexedDBAgent::FrontendProvider> m_frontendProvider;
- int m_requestId;
+ DatabaseLoaderCallback(PassRefPtr<RequestDatabaseCallback> requestCallback)
+ : m_requestCallback(requestCallback) { }
+ RefPtr<RequestDatabaseCallback> m_requestCallback;
DatabaseConnection m_connection;
};
@@ -366,10 +350,10 @@ static PassRefPtr<IDBKey> idbKeyFromInspectorObject(InspectorObject* key)
if (!key->getString("type", &type))
return 0;
- DEFINE_STATIC_LOCAL(String, number, ("number"));
- DEFINE_STATIC_LOCAL(String, string, ("string"));
- DEFINE_STATIC_LOCAL(String, date, ("date"));
- DEFINE_STATIC_LOCAL(String, array, ("array"));
+ DEFINE_STATIC_LOCAL(String, number, (ASCIILiteral("number")));
+ DEFINE_STATIC_LOCAL(String, string, (ASCIILiteral("string")));
+ DEFINE_STATIC_LOCAL(String, date, (ASCIILiteral("date")));
+ DEFINE_STATIC_LOCAL(String, array, (ASCIILiteral("array")));
if (type == number) {
double number;
@@ -475,14 +459,9 @@ class DataLoaderCallback;
class OpenCursorCallback : public InspectorIDBCallback {
public:
- enum CursorType {
- ObjectStoreDataCursor,
- IndexDataCursor
- };
-
- static PassRefPtr<OpenCursorCallback> create(PassRefPtr<InspectorIndexedDBAgent::FrontendProvider> frontendProvider, InjectedScript injectedScript, PassRefPtr<DataLoaderCallback> dataLoaderCallback, PassRefPtr<IDBTransactionBackendInterface> idbTransaction, CursorType cursorType, int requestId, int skipCount, unsigned pageSize)
+ static PassRefPtr<OpenCursorCallback> create(InjectedScript injectedScript, PassRefPtr<DataLoaderCallback> dataLoaderCallback, PassRefPtr<IDBTransactionBackendInterface> idbTransaction, PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize)
{
- return adoptRef(new OpenCursorCallback(frontendProvider, injectedScript, dataLoaderCallback, idbTransaction, cursorType, requestId, skipCount, pageSize));
+ return adoptRef(new OpenCursorCallback(injectedScript, dataLoaderCallback, idbTransaction, requestCallback, skipCount, pageSize));
}
virtual ~OpenCursorCallback() { }
@@ -532,43 +511,32 @@ public:
void end(bool hasMore)
{
m_dataLoaderCallback.clear();
- if (!m_frontendProvider->frontend())
+ if (!m_requestCallback->isActive())
return;
if (m_idbCursor)
m_idbCursor->postSuccessHandlerCallback();
m_idbTransaction->didCompleteTaskEvents();
- switch (m_cursorType) {
- case ObjectStoreDataCursor:
- m_frontendProvider->frontend()->objectStoreDataLoaded(m_requestId, m_result.release(), hasMore);
- break;
- case IndexDataCursor:
- m_frontendProvider->frontend()->indexDataLoaded(m_requestId, m_result.release(), hasMore);
- break;
- }
+ m_requestCallback->sendSuccess(m_result.release(), hasMore);
}
private:
- OpenCursorCallback(PassRefPtr<InspectorIndexedDBAgent::FrontendProvider> frontendProvider, InjectedScript injectedScript, PassRefPtr<DataLoaderCallback> dataLoaderCallback, PassRefPtr<IDBTransactionBackendInterface> idbTransaction, CursorType cursorType, int requestId, int skipCount, unsigned pageSize)
- : m_frontendProvider(frontendProvider)
- , m_injectedScript(injectedScript)
+ OpenCursorCallback(InjectedScript injectedScript, PassRefPtr<DataLoaderCallback> dataLoaderCallback, PassRefPtr<IDBTransactionBackendInterface> idbTransaction, PassRefPtr<RequestDataCallback> requestCallback, int skipCount, unsigned pageSize)
+ : m_injectedScript(injectedScript)
, m_dataLoaderCallback(dataLoaderCallback)
, m_idbTransaction(idbTransaction)
- , m_cursorType(cursorType)
- , m_requestId(requestId)
+ , m_requestCallback(requestCallback)
, m_skipCount(skipCount)
, m_pageSize(pageSize)
{
m_result = Array<DataEntry>::create();
m_idbTransaction->setCallbacks(InspectorIDBTransactionCallback::create().get());
}
- RefPtr<InspectorIndexedDBAgent::FrontendProvider> m_frontendProvider;
InjectedScript m_injectedScript;
RefPtr<DataLoaderCallback> m_dataLoaderCallback;
RefPtr<IDBTransactionBackendInterface> m_idbTransaction;
- CursorType m_cursorType;
- int m_requestId;
+ RefPtr<RequestDataCallback> m_requestCallback;
int m_skipCount;
unsigned m_pageSize;
RefPtr<Array<DataEntry> > m_result;
@@ -577,9 +545,9 @@ private:
class DataLoaderCallback : public ExecutableWithDatabase {
public:
- static PassRefPtr<DataLoaderCallback> create(PassRefPtr<InspectorIndexedDBAgent::FrontendProvider> frontendProvider, int requestId, const InjectedScript& injectedScript, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
+ static PassRefPtr<DataLoaderCallback> create(PassRefPtr<RequestDataCallback> requestCallback, const InjectedScript& injectedScript, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
{
- return adoptRef(new DataLoaderCallback(frontendProvider, requestId, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize));
+ return adoptRef(new DataLoaderCallback(requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize));
}
virtual ~DataLoaderCallback() { }
@@ -588,7 +556,7 @@ public:
{
RefPtr<IDBDatabaseBackendInterface> idbDatabase = prpDatabase;
m_connection.connect(idbDatabase);
- if (!m_frontendProvider->frontend())
+ if (!m_requestCallback->isActive())
return;
RefPtr<IDBTransactionBackendInterface> idbTransaction = transactionForDatabase(idbDatabase.get(), m_objectStoreName);
@@ -598,35 +566,31 @@ public:
if (!idbObjectStore)
return;
+ RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_injectedScript, this, idbTransaction.get(), m_requestCallback, m_skipCount, m_pageSize);
+
if (!m_indexName.isEmpty()) {
RefPtr<IDBIndexBackendInterface> idbIndex = indexForObjectStore(idbObjectStore.get(), m_indexName);
if (!idbIndex)
return;
- RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_frontendProvider, m_injectedScript, this, idbTransaction.get(), OpenCursorCallback::IndexDataCursor, m_requestId, m_skipCount, m_pageSize);
-
ExceptionCode ec = 0;
idbIndex->openCursor(m_idbKeyRange, IDBCursor::NEXT, openCursorCallback, idbTransaction.get(), ec);
} else {
- RefPtr<OpenCursorCallback> openCursorCallback = OpenCursorCallback::create(m_frontendProvider, m_injectedScript, this, idbTransaction.get(), OpenCursorCallback::ObjectStoreDataCursor, m_requestId, m_skipCount, m_pageSize);
-
ExceptionCode ec = 0;
idbObjectStore->openCursor(m_idbKeyRange, IDBCursor::NEXT, openCursorCallback, IDBTransactionBackendInterface::NormalTask, idbTransaction.get(), ec);
}
}
private:
- DataLoaderCallback(PassRefPtr<InspectorIndexedDBAgent::FrontendProvider> frontendProvider, int requestId, const InjectedScript& injectedScript, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
- : m_frontendProvider(frontendProvider)
- , m_requestId(requestId)
+ DataLoaderCallback(PassRefPtr<RequestDataCallback> requestCallback, const InjectedScript& injectedScript, const String& objectStoreName, const String& indexName, PassRefPtr<IDBKeyRange> idbKeyRange, int skipCount, unsigned pageSize)
+ : m_requestCallback(requestCallback)
, m_injectedScript(injectedScript)
, m_objectStoreName(objectStoreName)
, m_indexName(indexName)
, m_idbKeyRange(idbKeyRange)
, m_skipCount(skipCount)
, m_pageSize(pageSize) { }
- RefPtr<InspectorIndexedDBAgent::FrontendProvider> m_frontendProvider;
- int m_requestId;
+ RefPtr<RequestDataCallback> m_requestCallback;
InjectedScript m_injectedScript;
String m_objectStoreName;
String m_indexName;
@@ -649,15 +613,8 @@ InspectorIndexedDBAgent::~InspectorIndexedDBAgent()
{
}
-void InspectorIndexedDBAgent::setFrontend(InspectorFrontend* frontend)
-{
- m_frontendProvider = FrontendProvider::create(frontend);
-}
-
void InspectorIndexedDBAgent::clearFrontend()
{
- m_frontendProvider->clearFrontend();
- m_frontendProvider.clear();
disable(0);
}
@@ -721,7 +678,7 @@ static IDBFactoryBackendInterface* assertIDBFactory(ErrorString* errorString, Do
return idbFactory;
}
-void InspectorIndexedDBAgent::requestDatabaseNamesForFrame(ErrorString* errorString, int requestId, const String& frameId)
+void InspectorIndexedDBAgent::requestDatabaseNamesForFrame(ErrorString* errorString, const String& frameId, PassRefPtr<RequestDatabaseNamesForFrameCallback> requestCallback)
{
Document* document = assertDocument(errorString, frameId, m_pageAgent);
if (!document)
@@ -730,12 +687,12 @@ void InspectorIndexedDBAgent::requestDatabaseNamesForFrame(ErrorString* errorStr
if (!idbFactory)
return;
- RefPtr<GetDatabaseNamesCallback> callback = GetDatabaseNamesCallback::create(m_frontendProvider.get(), requestId, document->securityOrigin()->toString());
+ RefPtr<GetDatabaseNamesCallback> callback = GetDatabaseNamesCallback::create(requestCallback, document->securityOrigin()->toString());
GroupSettings* groupSettings = document->page()->group().groupSettings();
idbFactory->getDatabaseNames(callback.get(), document->securityOrigin(), document, groupSettings->indexedDBDatabasePath());
}
-void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, int requestId, const String& frameId, const String& databaseName)
+void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, const String& frameId, const String& databaseName, PassRefPtr<RequestDatabaseCallback> requestCallback)
{
Document* document = assertDocument(errorString, frameId, m_pageAgent);
if (!document)
@@ -744,11 +701,11 @@ void InspectorIndexedDBAgent::requestDatabase(ErrorString* errorString, int requ
if (!idbFactory)
return;
- RefPtr<DatabaseLoaderCallback> databaseLoaderCallback = DatabaseLoaderCallback::create(m_frontendProvider.get(), requestId);
+ RefPtr<DatabaseLoaderCallback> databaseLoaderCallback = DatabaseLoaderCallback::create(requestCallback);
databaseLoaderCallback->start(idbFactory, document->securityOrigin(), document, databaseName);
}
-void InspectorIndexedDBAgent::requestData(ErrorString* errorString, int requestId, const String& frameId, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<InspectorObject>* keyRange)
+void InspectorIndexedDBAgent::requestData(ErrorString* errorString, const String& frameId, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<InspectorObject>* keyRange, PassRefPtr<RequestDataCallback> requestCallback)
{
Frame* frame = assertFrame(errorString, frameId, m_pageAgent);
if (!frame)
@@ -768,7 +725,7 @@ void InspectorIndexedDBAgent::requestData(ErrorString* errorString, int requestI
return;
}
- RefPtr<DataLoaderCallback> dataLoaderCallback = DataLoaderCallback::create(m_frontendProvider, requestId, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
+ RefPtr<DataLoaderCallback> dataLoaderCallback = DataLoaderCallback::create(requestCallback, injectedScript, objectStoreName, indexName, idbKeyRange, skipCount, pageSize);
dataLoaderCallback->start(idbFactory, document->securityOrigin(), document, databaseName);
}
diff --git a/Source/WebCore/inspector/InspectorIndexedDBAgent.h b/Source/WebCore/inspector/InspectorIndexedDBAgent.h
index 869c7ad96..d1d7c37d3 100644
--- a/Source/WebCore/inspector/InspectorIndexedDBAgent.h
+++ b/Source/WebCore/inspector/InspectorIndexedDBAgent.h
@@ -34,8 +34,8 @@
#if ENABLE(INSPECTOR) && ENABLE(INDEXED_DATABASE)
#include "InspectorBaseAgent.h"
-#include "PlatformString.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -46,30 +46,27 @@ typedef String ErrorString;
class InspectorIndexedDBAgent : public InspectorBaseAgent<InspectorIndexedDBAgent>, public InspectorBackendDispatcher::IndexedDBCommandHandler {
public:
- class FrontendProvider;
-
static PassOwnPtr<InspectorIndexedDBAgent> create(InstrumentingAgents* instrumentingAgents, InspectorState* state, InjectedScriptManager* injectedScriptManager, InspectorPageAgent* pageAgent)
{
return adoptPtr(new InspectorIndexedDBAgent(instrumentingAgents, state, injectedScriptManager, pageAgent));
}
~InspectorIndexedDBAgent();
- virtual void setFrontend(InspectorFrontend*);
virtual void clearFrontend();
virtual void restore();
// Called from the front-end.
virtual void enable(ErrorString*);
virtual void disable(ErrorString*);
- virtual void requestDatabaseNamesForFrame(ErrorString*, int requestId, const String& frameId);
- virtual void requestDatabase(ErrorString*, int requestId, const String& frameId, const String& databaseName);
- virtual void requestData(ErrorString*, int requestId, const String& frameId, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<InspectorObject>* keyRange);
+ virtual void requestDatabaseNamesForFrame(ErrorString*, const String& frameId, PassRefPtr<RequestDatabaseNamesForFrameCallback>);
+ virtual void requestDatabase(ErrorString*, const String& frameId, const String& databaseName, PassRefPtr<RequestDatabaseCallback>);
+ virtual void requestData(ErrorString*, const String& frameId, const String& databaseName, const String& objectStoreName, const String& indexName, int skipCount, int pageSize, const RefPtr<InspectorObject>* keyRange, PassRefPtr<RequestDataCallback>);
+
private:
InspectorIndexedDBAgent(InstrumentingAgents*, InspectorState*, InjectedScriptManager*, InspectorPageAgent*);
InjectedScriptManager* m_injectedScriptManager;
InspectorPageAgent* m_pageAgent;
- RefPtr<FrontendProvider> m_frontendProvider;
};
} // namespace WebCore
diff --git a/Source/WebCore/inspector/InspectorInstrumentation.cpp b/Source/WebCore/inspector/InspectorInstrumentation.cpp
index 7ea314c56..41b7bc81a 100644
--- a/Source/WebCore/inspector/InspectorInstrumentation.cpp
+++ b/Source/WebCore/inspector/InspectorInstrumentation.cpp
@@ -249,6 +249,12 @@ void InspectorInstrumentation::mouseDidMoveOverElementImpl(InstrumentingAgents*
domAgent->mouseDidMoveOverElement(result, modifierFlags);
}
+void InspectorInstrumentation::didScrollImpl(InstrumentingAgents* instrumentingAgents)
+{
+ if (InspectorPageAgent* pageAgent = instrumentingAgents->inspectorPageAgent())
+ pageAgent->didScroll();
+}
+
bool InspectorInstrumentation::handleMousePressImpl(InstrumentingAgents* instrumentingAgents)
{
if (InspectorDOMAgent* domAgent = instrumentingAgents->inspectorDOMAgent())
@@ -429,6 +435,12 @@ void InspectorInstrumentation::didCancelFrameImpl(InstrumentingAgents* instrumen
timelineAgent->didCancelFrame();
}
+void InspectorInstrumentation::didInvalidateLayoutImpl(InstrumentingAgents* instrumentingAgents, Frame* frame)
+{
+ if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent())
+ timelineAgent->didInvalidateLayout(frame);
+}
+
InspectorInstrumentationCookie InspectorInstrumentation::willLayoutImpl(InstrumentingAgents* instrumentingAgents, Frame* frame)
{
int timelineAgentId = 0;
@@ -526,6 +538,8 @@ void InspectorInstrumentation::didRecalculateStyleImpl(const InspectorInstrument
void InspectorInstrumentation::didScheduleStyleRecalculationImpl(InstrumentingAgents* instrumentingAgents, Document* document)
{
+ if (InspectorTimelineAgent* timelineAgent = instrumentingAgents->inspectorTimelineAgent())
+ timelineAgent->didScheduleStyleRecalculation(document->frame());
if (InspectorResourceAgent* resourceAgent = instrumentingAgents->inspectorResourceAgent())
resourceAgent->didScheduleStyleRecalculation(document);
}
@@ -892,6 +906,10 @@ void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents* inst
{
if (InspectorConsoleAgent* consoleAgent = instrumentingAgents->inspectorConsoleAgent())
consoleAgent->addMessageToConsole(source, type, level, message, arguments, callStack);
+#if ENABLE(JAVASCRIPT_DEBUGGER)
+ if (InspectorDebuggerAgent* debuggerAgent = instrumentingAgents->inspectorDebuggerAgent())
+ debuggerAgent->addMessageToConsole(source, type);
+#endif
}
void InspectorInstrumentation::addMessageToConsoleImpl(InstrumentingAgents* instrumentingAgents, MessageSource source, MessageType type, MessageLevel level, const String& message, const String& scriptId, unsigned lineNumber)
diff --git a/Source/WebCore/inspector/InspectorInstrumentation.h b/Source/WebCore/inspector/InspectorInstrumentation.h
index e4a79ed38..c25d3722b 100644
--- a/Source/WebCore/inspector/InspectorInstrumentation.h
+++ b/Source/WebCore/inspector/InspectorInstrumentation.h
@@ -33,7 +33,6 @@
#include "CSSSelector.h"
#include "ConsoleTypes.h"
-#include "Document.h"
#include "Element.h"
#include "Frame.h"
#include "Page.h"
@@ -53,6 +52,7 @@ class CharacterData;
class DOMWindow;
class DOMWrapperWorld;
class Database;
+class Document;
class Element;
class EventContext;
class DocumentLoader;
@@ -142,8 +142,10 @@ public:
static void didFireTimer(const InspectorInstrumentationCookie&);
static void didBeginFrame(Page*);
static void didCancelFrame(Page*);
+ static void didInvalidateLayout(Frame*);
static InspectorInstrumentationCookie willLayout(Frame*);
static void didLayout(const InspectorInstrumentationCookie&);
+ static void didScroll(Page*);
static InspectorInstrumentationCookie willLoadXHR(ScriptExecutionContext*, XMLHttpRequest*);
static void didLoadXHR(const InspectorInstrumentationCookie&);
static InspectorInstrumentationCookie willPaint(Frame*, GraphicsContext*, const LayoutRect&);
@@ -317,8 +319,10 @@ private:
static void didFireTimerImpl(const InspectorInstrumentationCookie&);
static void didBeginFrameImpl(InstrumentingAgents*);
static void didCancelFrameImpl(InstrumentingAgents*);
+ static void didInvalidateLayoutImpl(InstrumentingAgents*, Frame*);
static InspectorInstrumentationCookie willLayoutImpl(InstrumentingAgents*, Frame*);
static void didLayoutImpl(const InspectorInstrumentationCookie&);
+ static void didScrollImpl(InstrumentingAgents*);
static InspectorInstrumentationCookie willLoadXHRImpl(InstrumentingAgents*, XMLHttpRequest*, ScriptExecutionContext*);
static void didLoadXHRImpl(const InspectorInstrumentationCookie&);
static InspectorInstrumentationCookie willPaintImpl(InstrumentingAgents*, GraphicsContext*, const LayoutRect&, Frame*);
@@ -810,6 +814,15 @@ inline void InspectorInstrumentation::didCancelFrame(Page* page)
#endif
}
+inline void InspectorInstrumentation::didInvalidateLayout(Frame* frame)
+{
+#if ENABLE(INSPECTOR)
+ FAST_RETURN_IF_NO_FRONTENDS(void());
+ if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForFrame(frame))
+ didInvalidateLayoutImpl(instrumentingAgents, frame);
+#endif
+}
+
inline InspectorInstrumentationCookie InspectorInstrumentation::willLayout(Frame* frame)
{
#if ENABLE(INSPECTOR)
@@ -829,6 +842,15 @@ inline void InspectorInstrumentation::didLayout(const InspectorInstrumentationCo
#endif
}
+inline void InspectorInstrumentation::didScroll(Page* page)
+{
+#if ENABLE(INSPECTOR)
+ FAST_RETURN_IF_NO_FRONTENDS(void());
+ if (InstrumentingAgents* instrumentingAgents = instrumentingAgentsForPage(page))
+ didScrollImpl(instrumentingAgents);
+#endif
+}
+
inline InspectorInstrumentationCookie InspectorInstrumentation::willLoadXHR(ScriptExecutionContext* context, XMLHttpRequest* request)
{
#if ENABLE(INSPECTOR)
diff --git a/Source/WebCore/inspector/InspectorMemoryAgent.cpp b/Source/WebCore/inspector/InspectorMemoryAgent.cpp
index ea5254aab..e8874cce5 100644
--- a/Source/WebCore/inspector/InspectorMemoryAgent.cpp
+++ b/Source/WebCore/inspector/InspectorMemoryAgent.cpp
@@ -83,28 +83,9 @@ static const char inspectorDOMData[] = "InspectorDOMData";
static const char inspectorJSHeapData[] = "InspectorJSHeapData";
static const char processPrivateMemory[] = "ProcessPrivateMemory";
-static const char memoryCache[] = "MemoryCache";
-static const char memoryCacheStructures[] = "MemoryCacheStructures";
-static const char cachedResource[] = "CachedResource";
-static const char cachedResourceImage[] = "CachedImages";
-static const char cachedResourceCSS[] = "CachedCssStyleSheets";
-static const char cachedResourceScript[] = "CachedScripts";
-static const char cachedResourceXSL[] = "CachedXslStyleSheets";
-static const char cachedResourceFont[] = "CachedFonts";
-static const char cachedResourceSVG[] = "CachedSVGGraphics";
-static const char cachedResourceShader[] = "CachedShaders";
-static const char cachedResourceXSLT[] = "CachedShadersXSLT";
-
static const char renderTreeUsed[] = "RenderTreeUsed";
static const char renderTreeAllocated[] = "RenderTreeAllocated";
-static const char dom[] = "DOM";
-static const char domTreeOther[] = "DOMTreeOther";
-static const char domTreeDOM[] = "DOMTreeDOM";
-static const char domTreeCSS[] = "DOMTreeCSS";
-static const char domTreeBinding[] = "DOMTreeBinding";
-static const char domTreeLoader[] = "DOMTreeLoader";
-
static const char domStorageCache[] = "DOMStorageCache";
}
@@ -440,20 +421,13 @@ static PassRefPtr<InspectorMemoryBlock> renderTreeInfo(Page* page)
return renderTreeAllocated.release();
}
-static void addMemoryBlockFor(TypeBuilder::Array<InspectorMemoryBlock>* array, size_t size, const char* name)
-{
- RefPtr<InspectorMemoryBlock> result = InspectorMemoryBlock::create().setName(name);
- result->setSize(size);
- array->addItem(result);
-}
-
namespace {
class DOMTreesIterator : public NodeWrapperVisitor {
public:
- DOMTreesIterator(Page* page, VisitedObjects& visitedObjects)
+ DOMTreesIterator(Page* page, MemoryInstrumentationImpl& memoryInstrumentation)
: m_page(page)
- , m_domMemoryUsage(visitedObjects)
+ , m_memoryInstrumentation(memoryInstrumentation)
{
}
@@ -462,63 +436,56 @@ public:
if (node->document() && node->document()->frame() && m_page != node->document()->frame()->page())
return;
- m_domMemoryUsage.addRootObject(node);
+ m_memoryInstrumentation.addRootObject(node);
}
void visitFrame(Frame* frame)
{
- m_domMemoryUsage.addRootObject(frame);
+ m_memoryInstrumentation.addRootObject(frame);
}
void visitBindings()
{
- ScriptProfiler::collectBindingMemoryInfo(&m_domMemoryUsage);
+ ScriptProfiler::collectBindingMemoryInfo(&m_memoryInstrumentation);
}
void visitMemoryCache()
{
- m_domMemoryUsage.addRootObject(memoryCache());
+ m_memoryInstrumentation.addRootObject(memoryCache());
}
PassRefPtr<InspectorMemoryBlock> buildObjectForMemoryCache() const
{
size_t totalSize = 0;
- COMPILE_ASSERT(MemoryInstrumentation::LastTypeEntry == MemoryInstrumentation::CachedResourceXSLT + 1, object_type_enum_was_changed_please_fix_the_implementation);
- for (int i = MemoryInstrumentation::MemoryCacheStructures; i < MemoryInstrumentation::LastTypeEntry; ++i)
- totalSize += m_domMemoryUsage.totalSize(static_cast<MemoryInstrumentation::ObjectType>(i));
-
RefPtr<TypeBuilder::Array<InspectorMemoryBlock> > children = TypeBuilder::Array<InspectorMemoryBlock>::create();
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::MemoryCacheStructures), MemoryBlockName::memoryCacheStructures);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResource), MemoryBlockName::cachedResource);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceCSS), MemoryBlockName::cachedResourceCSS);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceFont), MemoryBlockName::cachedResourceFont);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceImage), MemoryBlockName::cachedResourceImage);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceScript), MemoryBlockName::cachedResourceScript);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceSVG), MemoryBlockName::cachedResourceSVG);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceShader), MemoryBlockName::cachedResourceShader);
- addMemoryBlockFor(children.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CachedResourceXSLT), MemoryBlockName::cachedResourceXSLT);
-
- RefPtr<InspectorMemoryBlock> block = InspectorMemoryBlock::create().setName(MemoryBlockName::memoryCache);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::MemoryCacheStructures);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceRaw);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceCSS);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceFont);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceImage);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceScript);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceSVG);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceShader);
+ totalSize += addMemoryBlockFor(children.get(), WebCoreMemoryTypes::CachedResourceXSLT);
+
+ RefPtr<InspectorMemoryBlock> block = InspectorMemoryBlock::create().setName(WebCoreMemoryTypes::MemoryCache);
block->setSize(totalSize);
block->setChildren(children.release());
return block.release();
}
- PassRefPtr<InspectorMemoryBlock> buildObjectForDOM() const
+ PassRefPtr<InspectorMemoryBlock> buildObjectForPage() const
{
size_t totalSize = 0;
- for (int i = MemoryInstrumentation::Other; i < MemoryInstrumentation::MemoryCacheStructures; ++i)
- totalSize += m_domMemoryUsage.totalSize(static_cast<MemoryInstrumentation::ObjectType>(i));
RefPtr<TypeBuilder::Array<InspectorMemoryBlock> > domChildren = TypeBuilder::Array<InspectorMemoryBlock>::create();
- addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::Other), MemoryBlockName::domTreeOther);
- addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::DOM), MemoryBlockName::domTreeDOM);
- addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::CSS), MemoryBlockName::domTreeCSS);
- addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::Binding), MemoryBlockName::domTreeBinding);
- addMemoryBlockFor(domChildren.get(), m_domMemoryUsage.totalSize(MemoryInstrumentation::Loader), MemoryBlockName::domTreeLoader);
+ totalSize += addMemoryBlockFor(domChildren.get(), WebCoreMemoryTypes::DOM);
+ totalSize += addMemoryBlockFor(domChildren.get(), WebCoreMemoryTypes::CSS);
+ totalSize += addMemoryBlockFor(domChildren.get(), WebCoreMemoryTypes::Binding);
+ totalSize += addMemoryBlockFor(domChildren.get(), WebCoreMemoryTypes::Loader);
- RefPtr<InspectorMemoryBlock> dom = InspectorMemoryBlock::create().setName(MemoryBlockName::dom);
+ RefPtr<InspectorMemoryBlock> dom = InspectorMemoryBlock::create().setName(WebCoreMemoryTypes::Page);
dom->setSize(totalSize);
dom->setChildren(domChildren.release());
return dom.release();
@@ -527,20 +494,31 @@ public:
void dumpStatistics(TypeBuilder::Array<InspectorMemoryBlock>* children, InspectorDataCounter* inspectorData)
{
children->addItem(buildObjectForMemoryCache());
- children->addItem(buildObjectForDOM());
- inspectorData->addComponent(MemoryBlockName::inspectorDOMData, m_domMemoryUsage.selfSize());
+ children->addItem(buildObjectForPage());
+
+ inspectorData->addComponent(MemoryBlockName::inspectorDOMData, m_memoryInstrumentation.selfSize());
}
private:
+ size_t addMemoryBlockFor(TypeBuilder::Array<InspectorMemoryBlock>* array, MemoryObjectType typeName) const
+ {
+ RefPtr<InspectorMemoryBlock> result = InspectorMemoryBlock::create().setName(typeName);
+ size_t size = m_memoryInstrumentation.totalSize(typeName);
+ result->setSize(size);
+ array->addItem(result);
+ return size;
+ }
+
Page* m_page;
- MemoryInstrumentationImpl m_domMemoryUsage;
+ MemoryInstrumentationImpl& m_memoryInstrumentation;
};
}
static void collectDomTreeInfo(Page* page, VisitedObjects& visitedObjects, TypeBuilder::Array<InspectorMemoryBlock>* children, InspectorDataCounter* inspectorData)
{
- DOMTreesIterator domTreesIterator(page, visitedObjects);
+ MemoryInstrumentationImpl memoryInstrumentation(visitedObjects);
+ DOMTreesIterator domTreesIterator(page, memoryInstrumentation);
ScriptProfiler::visitNodeWrappers(&domTreesIterator);
diff --git a/Source/WebCore/inspector/InspectorOverlay.cpp b/Source/WebCore/inspector/InspectorOverlay.cpp
index 981b2552b..4fd42da99 100644
--- a/Source/WebCore/inspector/InspectorOverlay.cpp
+++ b/Source/WebCore/inspector/InspectorOverlay.cpp
@@ -32,44 +32,30 @@
#include "InspectorOverlay.h"
+#include "DocumentLoader.h"
#include "Element.h"
-#include "Font.h"
-#include "FontCache.h"
-#include "FontFamily.h"
+#include "EmptyClients.h"
#include "Frame.h"
#include "FrameView.h"
#include "GraphicsContext.h"
-#include "GraphicsTypes.h"
#include "InspectorClient.h"
+#include "InspectorOverlayPage.h"
+#include "InspectorValues.h"
#include "Node.h"
#include "Page.h"
-#include "Range.h"
#include "RenderBoxModelObject.h"
#include "RenderInline.h"
#include "RenderObject.h"
+#include "ScriptSourceCode.h"
+#include "ScriptValue.h"
#include "Settings.h"
#include "StyledElement.h"
-#include "TextRun.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
namespace {
-#if OS(WINDOWS)
-static const unsigned fontHeightPx = 12;
-#elif OS(MAC_OS_X) || OS(UNIX)
-static const unsigned fontHeightPx = 11;
-#endif
-
-const static int rectInflatePx = 4;
-const static int borderWidthPx = 1;
-const static int tooltipPadding = 4;
-
-const static int arrowTipOffset = 20;
-const static float arrowHeight = 7;
-const static float arrowHalfWidth = 7;
-
Path quadToPath(const FloatQuad& quad)
{
Path quadPath;
@@ -81,7 +67,7 @@ Path quadToPath(const FloatQuad& quad)
return quadPath;
}
-void drawOutlinedQuad(GraphicsContext& context, const FloatQuad& quad, const Color& fillColor, const Color& outlineColor)
+void drawOutlinedQuad(GraphicsContext* context, const FloatQuad& quad, const Color& fillColor, const Color& outlineColor)
{
static const int outlineThickness = 2;
@@ -90,269 +76,19 @@ void drawOutlinedQuad(GraphicsContext& context, const FloatQuad& quad, const Col
// Clip out the quad, then draw with a 2px stroke to get a pixel
// of outline (because inflating a quad is hard)
{
- context.save();
- context.clipOut(quadPath);
+ context->save();
+ context->clipOut(quadPath);
- context.setStrokeThickness(outlineThickness);
- context.setStrokeColor(outlineColor, ColorSpaceDeviceRGB);
- context.strokePath(quadPath);
+ context->setStrokeThickness(outlineThickness);
+ context->setStrokeColor(outlineColor, ColorSpaceDeviceRGB);
+ context->strokePath(quadPath);
- context.restore();
+ context->restore();
}
// Now do the fill
- context.setFillColor(fillColor, ColorSpaceDeviceRGB);
- context.fillPath(quadPath);
-}
-
-void drawOutlinedQuadWithClip(GraphicsContext& context, const FloatQuad& quad, const FloatQuad& clipQuad, const Color& fillColor)
-{
- context.save();
- Path clipQuadPath = quadToPath(clipQuad);
- context.clipOut(clipQuadPath);
- drawOutlinedQuad(context, quad, fillColor, Color::transparent);
- context.restore();
-}
-
-void drawHighlightForBox(GraphicsContext& context, const FloatQuad& contentQuad, const FloatQuad& paddingQuad, const FloatQuad& borderQuad, const FloatQuad& marginQuad, const HighlightConfig& highlightConfig)
-{
- bool hasMargin = highlightConfig.margin != Color::transparent;
- bool hasBorder = highlightConfig.border != Color::transparent;
- bool hasPadding = highlightConfig.padding != Color::transparent;
- bool hasContent = highlightConfig.content != Color::transparent || highlightConfig.contentOutline != Color::transparent;
-
- FloatQuad clipQuad;
- Color clipColor;
- if (hasMargin && (!hasBorder || marginQuad != borderQuad)) {
- drawOutlinedQuadWithClip(context, marginQuad, borderQuad, highlightConfig.margin);
- clipQuad = borderQuad;
- }
- if (hasBorder && (!hasPadding || borderQuad != paddingQuad)) {
- drawOutlinedQuadWithClip(context, borderQuad, paddingQuad, highlightConfig.border);
- clipQuad = paddingQuad;
- }
- if (hasPadding && (!hasContent || paddingQuad != contentQuad)) {
- drawOutlinedQuadWithClip(context, paddingQuad, contentQuad, highlightConfig.padding);
- clipQuad = contentQuad;
- }
- if (hasContent)
- drawOutlinedQuad(context, contentQuad, highlightConfig.content, highlightConfig.contentOutline);
-}
-
-void drawHighlightForSVGRenderer(GraphicsContext& context, const Vector<FloatQuad>& absoluteQuads, const HighlightConfig& highlightConfig)
-{
- for (size_t i = 0; i < absoluteQuads.size(); ++i)
- drawOutlinedQuad(context, absoluteQuads[i], highlightConfig.content, Color::transparent);
-}
-
-int drawSubstring(const TextRun& globalTextRun, int offset, int length, const Color& textColor, const Font& font, GraphicsContext& context, const LayoutRect& titleRect)
-{
- context.setFillColor(textColor, ColorSpaceDeviceRGB);
- context.drawText(font, globalTextRun, IntPoint(titleRect.pixelSnappedX() + rectInflatePx, titleRect.pixelSnappedY() + font.fontMetrics().height()), offset, offset + length);
- return offset + length;
-}
-
-float calculateArrowTipX(const LayoutRect& anchorBox, const LayoutRect& titleRect)
-{
- const static int anchorTipOffsetPx = 2;
-
- int minX = titleRect.x() + arrowHalfWidth;
- int maxX = titleRect.maxX() - arrowHalfWidth;
- int anchorX = anchorBox.x();
- int anchorMaxX = anchorBox.maxX();
-
- int x = titleRect.x() + arrowTipOffset; // Default tooltip position.
- if (x < anchorX)
- x = anchorX + anchorTipOffsetPx;
- else if (x > anchorMaxX)
- x = anchorMaxX - anchorTipOffsetPx;
-
- if (x < minX)
- x = minX;
- else if (x > maxX)
- x = maxX;
-
- return x;
-}
-
-void setUpFontDescription(FontDescription& fontDescription, WebCore::Settings* settings)
-{
-#define TOOLTIP_FONT_FAMILIES(size, ...) \
-static const unsigned tooltipFontFaceSize = size;\
-static const AtomicString* tooltipFontFace[size] = { __VA_ARGS__ };
-
-#if OS(WINDOWS)
-TOOLTIP_FONT_FAMILIES(2, new AtomicString("Consolas"), new AtomicString("Lucida Console"))
-#elif OS(MAC_OS_X)
-TOOLTIP_FONT_FAMILIES(2, new AtomicString("Menlo"), new AtomicString("Monaco"))
-#elif OS(UNIX)
-TOOLTIP_FONT_FAMILIES(1, new AtomicString("dejavu sans mono"))
-#endif
-// In the default case, we get the settings-provided monospace font.
-
-#undef TOOLTIP_FONT_FAMILIES
-
- fontDescription.setRenderingMode(settings->fontRenderingMode());
- fontDescription.setComputedSize(fontHeightPx);
-
- const AtomicString& fixedFontFamily = settings->fixedFontFamily();
- if (!fixedFontFamily.isEmpty()) {
- fontDescription.setGenericFamily(FontDescription::MonospaceFamily);
- FontFamily* currentFamily = 0;
- for (unsigned i = 0; i < tooltipFontFaceSize; ++i) {
- if (!currentFamily) {
- fontDescription.firstFamily().setFamily(*tooltipFontFace[i]);
- fontDescription.firstFamily().appendFamily(0);
- currentFamily = &fontDescription.firstFamily();
- } else {
- RefPtr<SharedFontFamily> newFamily = SharedFontFamily::create();
- newFamily->setFamily(*tooltipFontFace[i]);
- currentFamily->appendFamily(newFamily);
- currentFamily = newFamily.get();
- }
- }
- RefPtr<SharedFontFamily> newFamily = SharedFontFamily::create();
- newFamily->setFamily(fixedFontFamily);
- currentFamily->appendFamily(newFamily);
- currentFamily = newFamily.get();
- }
-}
-
-void drawElementTitle(GraphicsContext& context, Node* node, RenderObject* renderer, const IntRect& boundingBox, const IntRect& anchorBox, const FloatRect& visibleRect, WebCore::Settings* settings)
-{
- DEFINE_STATIC_LOCAL(Color, backgroundColor, (255, 255, 194));
- DEFINE_STATIC_LOCAL(Color, tagColor, (136, 18, 128)); // Same as .webkit-html-tag.
- DEFINE_STATIC_LOCAL(Color, attrColor, (26, 26, 166)); // Same as .webkit-html-attribute-value.
- DEFINE_STATIC_LOCAL(Color, normalColor, (Color::black));
- DEFINE_STATIC_LOCAL(Color, pxAndBorderColor, (128, 128, 128));
-
- DEFINE_STATIC_LOCAL(String, pxString, ("px"));
- const static UChar timesUChar[] = { 0x0020, 0x00D7, 0x0020, 0 };
- DEFINE_STATIC_LOCAL(String, timesString, (timesUChar)); // &times; string
-
- FontCachePurgePreventer fontCachePurgePreventer;
-
- Element* element = static_cast<Element*>(node);
- bool isXHTML = element->document()->isXHTMLDocument();
- StringBuilder nodeTitle;
- nodeTitle.append(isXHTML ? element->nodeName() : element->nodeName().lower());
- unsigned tagNameLength = nodeTitle.length();
-
- const AtomicString& idValue = element->getIdAttribute();
- unsigned idStringLength = 0;
- String idString;
- if (!idValue.isNull() && !idValue.isEmpty()) {
- nodeTitle.append("#");
- nodeTitle.append(idValue);
- idStringLength = 1 + idValue.length();
- }
-
- HashSet<AtomicString> usedClassNames;
- unsigned classesStringLength = 0;
- if (element->hasClass() && element->isStyledElement()) {
- const SpaceSplitString& classNamesString = static_cast<StyledElement*>(element)->classNames();
- size_t classNameCount = classNamesString.size();
- for (size_t i = 0; i < classNameCount; ++i) {
- const AtomicString& className = classNamesString[i];
- if (usedClassNames.contains(className))
- continue;
- usedClassNames.add(className);
- nodeTitle.append(".");
- nodeTitle.append(className);
- classesStringLength += 1 + className.length();
- }
- }
-
- RenderBoxModelObject* modelObject = renderer->isBoxModelObject() ? toRenderBoxModelObject(renderer) : 0;
-
- String widthNumberPart = " " + String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetWidth(), modelObject) : boundingBox.width());
- nodeTitle.append(widthNumberPart);
- nodeTitle.append(pxString);
- nodeTitle.append(timesString);
- String heightNumberPart = String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetHeight(), modelObject) : boundingBox.height());
- nodeTitle.append(heightNumberPart);
- nodeTitle.append(pxString);
-
- FontDescription desc;
- setUpFontDescription(desc, settings);
- Font font = Font(desc, 0, 0);
- font.update(0);
-
- TextRun nodeTitleRun(nodeTitle.toString());
- IntPoint titleBasePoint = IntPoint(anchorBox.x(), anchorBox.maxY() - 1);
- titleBasePoint.move(rectInflatePx, rectInflatePx);
- IntRect titleRect = enclosingIntRect(font.selectionRectForText(nodeTitleRun, titleBasePoint, fontHeightPx));
- titleRect.inflate(rectInflatePx);
-
- // The initial offsets needed to compensate for a 1px-thick border stroke (which is not a part of the rectangle).
- int dx = -borderWidthPx;
- int dy = borderWidthPx;
-
- // If the tip sticks beyond the right of visibleRect, right-align the tip with the said boundary.
- if (titleRect.maxX() + dx > visibleRect.maxX())
- dx = visibleRect.maxX() - titleRect.maxX();
-
- // If the tip sticks beyond the left of visibleRect, left-align the tip with the said boundary.
- if (titleRect.x() + dx < visibleRect.x())
- dx = visibleRect.x() - titleRect.x() - borderWidthPx;
-
- // If the tip sticks beyond the bottom of visibleRect, show the tip at top of bounding box.
- if (titleRect.maxY() + dy > visibleRect.maxY()) {
- dy = anchorBox.y() - titleRect.maxY() - borderWidthPx;
- // If the tip still sticks beyond the bottom of visibleRect, bottom-align the tip with the said boundary.
- if (titleRect.maxY() + dy > visibleRect.maxY())
- dy = visibleRect.maxY() - titleRect.maxY();
- }
-
- // If the tip sticks beyond the top of visibleRect, show the tip at top of visibleRect.
- if (titleRect.y() + dy < visibleRect.y())
- dy = visibleRect.y() - titleRect.y() + borderWidthPx;
-
- titleRect.move(dx, dy);
-
- bool isArrowAtTop = titleRect.y() > anchorBox.y();
- titleRect.move(0, tooltipPadding * (isArrowAtTop ? 1 : -1));
-
- {
- float arrowTipX = calculateArrowTipX(anchorBox, titleRect);
- int arrowBaseY = isArrowAtTop ? titleRect.y() : titleRect.maxY();
- int arrowOppositeY = isArrowAtTop ? titleRect.maxY() : titleRect.y();
-
- FloatPoint points[8];
- points[0] = FloatPoint(arrowTipX - arrowHalfWidth, arrowBaseY);
- points[1] = FloatPoint(arrowTipX, arrowBaseY + arrowHeight * (isArrowAtTop ? -1 : 1));
- points[2] = FloatPoint(arrowTipX + arrowHalfWidth, arrowBaseY);
- points[3] = FloatPoint(titleRect.maxX(), arrowBaseY);
- points[4] = FloatPoint(titleRect.maxX(), arrowOppositeY);
- points[5] = FloatPoint(titleRect.x(), arrowOppositeY);
- points[6] = FloatPoint(titleRect.x(), arrowBaseY);
- points[7] = points[0];
-
- Path path;
- path.moveTo(points[0]);
- for (int i = 1; i < 8; ++i)
- path.addLineTo(points[i]);
-
- context.save();
- context.translate(0.5f, 0.5f);
- context.setStrokeColor(pxAndBorderColor, ColorSpaceDeviceRGB);
- context.setFillColor(backgroundColor, ColorSpaceDeviceRGB);
- context.setStrokeThickness(borderWidthPx);
- context.fillPath(path);
- context.strokePath(path);
- context.restore();
- }
-
- int currentPos = 0;
- currentPos = drawSubstring(nodeTitleRun, currentPos, tagNameLength, tagColor, font, context, titleRect);
- if (idStringLength)
- currentPos = drawSubstring(nodeTitleRun, currentPos, idStringLength, attrColor, font, context, titleRect);
- if (classesStringLength)
- currentPos = drawSubstring(nodeTitleRun, currentPos, classesStringLength, attrColor, font, context, titleRect);
- currentPos = drawSubstring(nodeTitleRun, currentPos, widthNumberPart.length(), normalColor, font, context, titleRect);
- currentPos = drawSubstring(nodeTitleRun, currentPos, pxString.length() + timesString.length(), pxAndBorderColor, font, context, titleRect);
- currentPos = drawSubstring(nodeTitleRun, currentPos, heightNumberPart.length(), normalColor, font, context, titleRect);
- drawSubstring(nodeTitleRun, currentPos, pxString.length(), pxAndBorderColor, font, context, titleRect);
+ context->setFillColor(fillColor, ColorSpaceDeviceRGB);
+ context->fillPath(quadPath);
}
static void contentsQuadToPage(const FrameView* mainView, const FrameView* view, FloatQuad& quad)
@@ -364,7 +100,7 @@ static void contentsQuadToPage(const FrameView* mainView, const FrameView* view,
quad += mainView->scrollOffset();
}
-static void getOrDrawNodeHighlight(GraphicsContext* context, Node* node, const HighlightConfig& highlightConfig, Highlight* highlight)
+static void buildNodeHighlight(Node* node, const HighlightConfig& highlightConfig, Highlight* highlight)
{
RenderObject* renderer = node->renderer();
Frame* containingFrame = node->document()->frame();
@@ -372,17 +108,13 @@ static void getOrDrawNodeHighlight(GraphicsContext* context, Node* node, const H
if (!renderer || !containingFrame)
return;
+ highlight->setColors(highlightConfig);
FrameView* containingView = containingFrame->view();
FrameView* mainView = containingFrame->page()->mainFrame()->view();
IntRect boundingBox = pixelSnappedIntRect(containingView->contentsToRootView(renderer->absoluteBoundingBoxRect()));
boundingBox.move(mainView->scrollOffset());
IntRect titleAnchorBox = boundingBox;
- FloatRect visibleRect = mainView->visibleContentRect();
- // Don't translate the context if the frame is rendered in page coordinates.
- if (context && !mainView->delegatesScrolling())
- context->translate(-visibleRect.x(), -visibleRect.y());
-
// RenderSVGRoot should be highlighted through the isBox() code path, all other SVG elements should just dump their absoluteQuads().
#if ENABLE(SVG)
bool isSVGRenderer = renderer->node() && renderer->node()->isSVGElement() && !renderer->isSVGRoot();
@@ -395,9 +127,6 @@ static void getOrDrawNodeHighlight(GraphicsContext* context, Node* node, const H
renderer->absoluteQuads(highlight->quads);
for (size_t i = 0; i < highlight->quads.size(); ++i)
contentsQuadToPage(mainView, containingView, highlight->quads[i]);
-
- if (context)
- drawHighlightForSVGRenderer(*context, highlight->quads, highlightConfig);
} else if (renderer->isBox() || renderer->isRenderInline()) {
LayoutRect contentBox;
LayoutRect paddingBox;
@@ -449,39 +178,17 @@ static void getOrDrawNodeHighlight(GraphicsContext* context, Node* node, const H
highlight->quads.append(absBorderQuad);
highlight->quads.append(absPaddingQuad);
highlight->quads.append(absContentQuad);
-
- if (context)
- drawHighlightForBox(*context, absContentQuad, absPaddingQuad, absBorderQuad, absMarginQuad, highlightConfig);
}
-
- // Draw node title if necessary.
-
- if (!node->isElementNode())
- return;
-
- if (context && highlightConfig.showInfo)
- drawElementTitle(*context, node, renderer, pixelSnappedIntRect(boundingBox), pixelSnappedIntRect(titleAnchorBox), visibleRect, containingFrame->settings());
}
-static void getOrDrawRectHighlight(GraphicsContext* context, Page* page, IntRect* rect, const HighlightConfig& highlightConfig, Highlight *highlight)
+static void buildRectHighlight(Page* page, IntRect* rect, const HighlightConfig& highlightConfig, Highlight *highlight)
{
if (!page)
return;
-
+ highlight->setColors(highlightConfig);
FloatRect highlightRect(*rect);
-
highlight->type = HighlightTypeRects;
highlight->quads.append(highlightRect);
-
- if (context) {
- FrameView* view = page->mainFrame()->view();
- if (!view->delegatesScrolling()) {
- FloatRect visibleRect = view->visibleContentRect();
- context->translate(-visibleRect.x(), -visibleRect.y());
- }
-
- drawOutlinedQuad(*context, highlightRect, highlightConfig.content, highlightConfig.contentOutline);
- }
}
} // anonymous namespace
@@ -492,14 +199,21 @@ InspectorOverlay::InspectorOverlay(Page* page, InspectorClient* client)
{
}
+InspectorOverlay::~InspectorOverlay()
+{
+}
+
void InspectorOverlay::paint(GraphicsContext& context)
{
- drawPausedInDebugger(context);
- drawNodeHighlight(context);
- drawRectHighlight(context);
+ if (m_pausedInDebuggerMessage.isNull() && !m_highlightNode && !m_highlightRect)
+ return;
+ GraphicsContextStateSaver stateSaver(context);
+ FrameView* view = overlayPage()->mainFrame()->view();
+ ASSERT(!view->needsLayout());
+ view->paint(&context, IntRect(0, 0, view->width(), view->height()));
}
-void InspectorOverlay::drawOutline(GraphicsContext& context, const LayoutRect& rect, const Color& color)
+void InspectorOverlay::drawOutline(GraphicsContext* context, const LayoutRect& rect, const Color& color)
{
FloatRect outlineRect = rect;
drawOutlinedQuad(context, outlineRect, Color(), color);
@@ -511,13 +225,10 @@ void InspectorOverlay::getHighlight(Highlight* highlight) const
return;
highlight->type = HighlightTypeRects;
- if (m_highlightNode) {
- highlight->setColors(m_nodeHighlightConfig);
- getOrDrawNodeHighlight(0, m_highlightNode.get(), m_nodeHighlightConfig, highlight);
- } else {
- highlight->setColors(m_rectHighlightConfig);
- getOrDrawRectHighlight(0, m_page, m_highlightRect.get(), m_rectHighlightConfig, highlight);
- }
+ if (m_highlightNode)
+ buildNodeHighlight(m_highlightNode.get(), m_nodeHighlightConfig, highlight);
+ else
+ buildRectHighlight(m_page, m_highlightRect.get(), m_rectHighlightConfig, highlight);
}
void InspectorOverlay::setPausedInDebuggerMessage(const String* message)
@@ -554,60 +265,202 @@ Node* InspectorOverlay::highlightedNode() const
void InspectorOverlay::update()
{
- if (m_highlightNode || m_highlightRect || !m_pausedInDebuggerMessage.isNull())
- m_client->highlight();
- else
+ if (!m_highlightNode && !m_highlightRect && m_pausedInDebuggerMessage.isNull()) {
m_client->hideHighlight();
+ return;
+ }
+
+ FrameView* view = m_page->mainFrame()->view();
+ FrameView* overlayView = overlayPage()->mainFrame()->view();
+ IntRect visibleRect = enclosingIntRect(view->visibleContentRect());
+ overlayView->resize(visibleRect.width(), visibleRect.height());
+
+ // Clear canvas and paint things.
+ reset();
+
+ drawNodeHighlight();
+ drawRectHighlight();
+ drawPausedInDebuggerMessage();
+
+ // Position DOM elements.
+ overlayPage()->mainFrame()->document()->recalcStyle(Node::Force);
+ if (overlayView->needsLayout())
+ overlayView->layout();
+
+ // Kick paint.
+ m_client->highlight();
+}
+
+static RefPtr<InspectorObject> buildObjectForPoint(const FloatPoint& point)
+{
+ RefPtr<InspectorObject> object = InspectorObject::create();
+ object->setNumber("x", point.x());
+ object->setNumber("y", point.y());
+ return object.release();
}
-void InspectorOverlay::drawNodeHighlight(GraphicsContext& context)
+static RefPtr<InspectorArray> buildArrayForQuad(const FloatQuad& quad)
+{
+ RefPtr<InspectorArray> array = InspectorArray::create();
+ array->pushObject(buildObjectForPoint(quad.p1()));
+ array->pushObject(buildObjectForPoint(quad.p2()));
+ array->pushObject(buildObjectForPoint(quad.p3()));
+ array->pushObject(buildObjectForPoint(quad.p4()));
+ return array.release();
+}
+
+static RefPtr<InspectorObject> buildObjectForHighlight(FrameView* mainView, const Highlight& highlight)
+{
+ RefPtr<InspectorObject> object = InspectorObject::create();
+ RefPtr<InspectorArray> array = InspectorArray::create();
+ for (size_t i = 0; i < highlight.quads.size(); ++i)
+ array->pushArray(buildArrayForQuad(highlight.quads[i]));
+ object->setArray("quads", array.release());
+ object->setString("contentColor", highlight.contentColor.serialized());
+ object->setString("contentOutlineColor", highlight.contentOutlineColor.serialized());
+ object->setString("paddingColor", highlight.paddingColor.serialized());
+ object->setString("borderColor", highlight.borderColor.serialized());
+ object->setString("marginColor", highlight.marginColor.serialized());
+
+ FloatRect visibleRect = mainView->visibleContentRect();
+ if (!mainView->delegatesScrolling()) {
+ object->setNumber("scrollX", visibleRect.x());
+ object->setNumber("scrollY", visibleRect.y());
+ } else {
+ object->setNumber("scrollX", 0);
+ object->setNumber("scrollY", 0);
+ }
+
+ return object.release();
+}
+
+void InspectorOverlay::drawNodeHighlight()
{
if (!m_highlightNode)
return;
Highlight highlight;
- getOrDrawNodeHighlight(&context, m_highlightNode.get(), m_nodeHighlightConfig, &highlight);
+ buildNodeHighlight(m_highlightNode.get(), m_nodeHighlightConfig, &highlight);
+ RefPtr<InspectorObject> highlightObject = buildObjectForHighlight(m_page->mainFrame()->view(), highlight);
+
+ Node* node = m_highlightNode.get();
+ if (node->isElementNode() && m_nodeHighlightConfig.showInfo && node->renderer() && node->document()->frame()) {
+ RefPtr<InspectorObject> elementInfo = InspectorObject::create();
+ Element* element = toElement(node);
+ bool isXHTML = element->document()->isXHTMLDocument();
+ elementInfo->setString("tagName", isXHTML ? element->nodeName() : element->nodeName().lower());
+ elementInfo->setString("idValue", element->getIdAttribute());
+ HashSet<AtomicString> usedClassNames;
+ if (element->hasClass() && element->isStyledElement()) {
+ StringBuilder classNames;
+ const SpaceSplitString& classNamesString = static_cast<StyledElement*>(element)->classNames();
+ size_t classNameCount = classNamesString.size();
+ for (size_t i = 0; i < classNameCount; ++i) {
+ const AtomicString& className = classNamesString[i];
+ if (usedClassNames.contains(className))
+ continue;
+ usedClassNames.add(className);
+ classNames.append('.');
+ classNames.append(className);
+ }
+ elementInfo->setString("className", classNames.toString());
+ }
+
+ RenderObject* renderer = node->renderer();
+ Frame* containingFrame = node->document()->frame();
+ FrameView* containingView = containingFrame->view();
+ IntRect boundingBox = pixelSnappedIntRect(containingView->contentsToRootView(renderer->absoluteBoundingBoxRect()));
+ RenderBoxModelObject* modelObject = renderer->isBoxModelObject() ? toRenderBoxModelObject(renderer) : 0;
+ elementInfo->setString("nodeWidth", String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetWidth(), modelObject) : boundingBox.width()));
+ elementInfo->setString("nodeHeight", String::number(modelObject ? adjustForAbsoluteZoom(modelObject->pixelSnappedOffsetHeight(), modelObject) : boundingBox.height()));
+ highlightObject->setObject("elementInfo", elementInfo.release());
+ }
+ evaluateInOverlay("drawNodeHighlight", highlightObject);
}
-void InspectorOverlay::drawRectHighlight(GraphicsContext& context)
+void InspectorOverlay::drawRectHighlight()
{
if (!m_highlightRect)
return;
Highlight highlight;
- getOrDrawRectHighlight(&context, m_page, m_highlightRect.get(), m_rectHighlightConfig, &highlight);
+ buildRectHighlight(m_page, m_highlightRect.get(), m_rectHighlightConfig, &highlight);
+ evaluateInOverlay("highlightRect", buildObjectForHighlight(m_page->mainFrame()->view(), highlight));
}
-void InspectorOverlay::drawPausedInDebugger(GraphicsContext& context)
+void InspectorOverlay::drawPausedInDebuggerMessage()
{
- if (m_pausedInDebuggerMessage.isNull())
- return;
+ if (!m_pausedInDebuggerMessage.isNull())
+ evaluateInOverlay("drawPausedInDebuggerMessage", m_pausedInDebuggerMessage);
+}
- DEFINE_STATIC_LOCAL(Color, backgroundColor, (0, 0, 0, 31));
- DEFINE_STATIC_LOCAL(Color, textBackgroundColor, (255, 255, 194));
- DEFINE_STATIC_LOCAL(Color, borderColor, (128, 128, 128));
+Page* InspectorOverlay::overlayPage()
+{
+ if (m_overlayPage)
+ return m_overlayPage.get();
+
+ static FrameLoaderClient* dummyFrameLoaderClient = new EmptyFrameLoaderClient;
+ Page::PageClients pageClients;
+ fillWithEmptyClients(pageClients);
+ m_overlayPage = adoptPtr(new Page(pageClients));
+
+ Settings* settings = m_page->settings();
+ Settings* overlaySettings = m_overlayPage->settings();
+
+ overlaySettings->setStandardFontFamily(settings->standardFontFamily());
+ overlaySettings->setSerifFontFamily(settings->serifFontFamily());
+ overlaySettings->setSansSerifFontFamily(settings->sansSerifFontFamily());
+ overlaySettings->setCursiveFontFamily(settings->cursiveFontFamily());
+ overlaySettings->setFantasyFontFamily(settings->fantasyFontFamily());
+ overlaySettings->setPictographFontFamily(settings->pictographFontFamily());
+ overlaySettings->setMinimumFontSize(settings->minimumFontSize());
+ overlaySettings->setMinimumLogicalFontSize(settings->minimumLogicalFontSize());
+ overlaySettings->setMediaEnabled(false);
+ overlaySettings->setScriptEnabled(true);
+ overlaySettings->setPluginsEnabled(false);
+
+ RefPtr<Frame> frame = Frame::create(m_overlayPage.get(), 0, dummyFrameLoaderClient);
+ frame->setView(FrameView::create(frame.get()));
+ frame->init();
+ FrameLoader* loader = frame->loader();
+ frame->view()->setCanHaveScrollbars(false);
+ frame->view()->setTransparent(true);
+ ASSERT(loader->activeDocumentLoader());
+ loader->activeDocumentLoader()->writer()->setMIMEType("text/html");
+ loader->activeDocumentLoader()->writer()->begin();
+ loader->activeDocumentLoader()->writer()->addData(reinterpret_cast<const char*>(InspectorOverlayPage_html), sizeof(InspectorOverlayPage_html));
+ loader->activeDocumentLoader()->writer()->end();
- Frame* frame = m_page->mainFrame();
- Settings* settings = frame->settings();
- IntRect visibleRect = IntRect(IntPoint(), frame->view()->visibleSize());
+#if OS(WINDOWS)
+ evaluateInOverlay("setPlatform", "windows");
+#elif OS(MAC_OS_X)
+ evaluateInOverlay("setPlatform", "mac");
+#elif OS(UNIX)
+ evaluateInOverlay("setPlatform", "linux");
+#endif
- context.setFillColor(backgroundColor, ColorSpaceDeviceRGB);
- context.fillRect(visibleRect);
+ return m_overlayPage.get();
+}
- FontDescription desc;
- setUpFontDescription(desc, settings);
- Font font = Font(desc, 0, 0);
- font.update(0);
+void InspectorOverlay::reset()
+{
+ evaluateInOverlay("reset", String::number(m_page->deviceScaleFactor()));
+}
- TextRun textRun(m_pausedInDebuggerMessage);
- IntRect titleRect = enclosingIntRect(font.selectionRectForText(textRun, IntPoint(), fontHeightPx));
- titleRect.inflate(rectInflatePx);
- titleRect.setLocation(IntPoint(visibleRect.width() / 2 - titleRect.width() / 2, 0));
+void InspectorOverlay::evaluateInOverlay(const String& method, const String& argument)
+{
+ RefPtr<InspectorArray> command = InspectorArray::create();
+ command->pushString(method);
+ command->pushString(argument);
+ overlayPage()->mainFrame()->script()->evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ")")));
+}
- context.setFillColor(textBackgroundColor, ColorSpaceDeviceRGB);
- context.setStrokeColor(borderColor, ColorSpaceDeviceRGB);
- context.drawRect(titleRect);
- drawSubstring(textRun, 0, m_pausedInDebuggerMessage.length(), Color::black, font, context, titleRect);
+void InspectorOverlay::evaluateInOverlay(const String& method, PassRefPtr<InspectorValue> argument)
+{
+ RefPtr<InspectorArray> command = InspectorArray::create();
+ command->pushString(method);
+ command->pushValue(argument);
+ overlayPage()->mainFrame()->script()->evaluate(ScriptSourceCode(makeString("dispatch(", command->toJSONString(), ")")));
}
} // namespace WebCore
diff --git a/Source/WebCore/inspector/InspectorOverlay.h b/Source/WebCore/inspector/InspectorOverlay.h
index ac22ff1c3..3cd57591b 100644
--- a/Source/WebCore/inspector/InspectorOverlay.h
+++ b/Source/WebCore/inspector/InspectorOverlay.h
@@ -32,18 +32,19 @@
#include "Color.h"
#include "FloatQuad.h"
#include "LayoutTypes.h"
-#include "Node.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Color;
class GraphicsContext;
class InspectorClient;
+class InspectorValue;
class IntRect;
class Node;
class Page;
@@ -66,12 +67,14 @@ struct Highlight {
void setColors(const HighlightConfig& highlightConfig)
{
contentColor = highlightConfig.content;
+ contentOutlineColor = highlightConfig.contentOutline;
paddingColor = highlightConfig.padding;
borderColor = highlightConfig.border;
marginColor = highlightConfig.margin;
}
Color contentColor;
+ Color contentOutlineColor;
Color paddingColor;
Color borderColor;
Color marginColor;
@@ -88,9 +91,11 @@ public:
{
return adoptPtr(new InspectorOverlay(page, client));
}
+ ~InspectorOverlay();
+ void update();
void paint(GraphicsContext&);
- void drawOutline(GraphicsContext&, const LayoutRect&, const Color&);
+ void drawOutline(GraphicsContext*, const LayoutRect&, const Color&);
void getHighlight(Highlight*) const;
void setPausedInDebuggerMessage(const String*);
@@ -104,10 +109,13 @@ public:
private:
InspectorOverlay(Page*, InspectorClient*);
- void update();
- void drawNodeHighlight(GraphicsContext&);
- void drawRectHighlight(GraphicsContext&);
- void drawPausedInDebugger(GraphicsContext&);
+ void drawNodeHighlight();
+ void drawRectHighlight();
+ void drawPausedInDebuggerMessage();
+ Page* overlayPage();
+ void reset();
+ void evaluateInOverlay(const String& method, const String& argument);
+ void evaluateInOverlay(const String& method, PassRefPtr<InspectorValue> argument);
Page* m_page;
InspectorClient* m_client;
@@ -115,6 +123,7 @@ private:
RefPtr<Node> m_highlightNode;
HighlightConfig m_nodeHighlightConfig;
OwnPtr<IntRect> m_highlightRect;
+ OwnPtr<Page> m_overlayPage;
HighlightConfig m_rectHighlightConfig;
};
diff --git a/Source/WebCore/inspector/InspectorOverlayPage.html b/Source/WebCore/inspector/InspectorOverlayPage.html
new file mode 100644
index 000000000..8bc9ef667
--- /dev/null
+++ b/Source/WebCore/inspector/InspectorOverlayPage.html
@@ -0,0 +1,435 @@
+<!--
+ Copyright (C) 2012 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 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
+ 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.
+-->
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+body {
+ margin: 0;
+ padding: 0;
+}
+
+body.platform-mac {
+ font-size: 11px;
+ font-family: Menlo, Monaco;
+}
+
+body.platform-windows {
+ font-size: 12px;
+ font-family: Consolas, Lucida Console;
+}
+
+body.platform-linux {
+ font-size: 11px;
+ font-family: dejavu sans mono;
+}
+
+.fill {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+}
+
+.dimmed {
+ background-color: rgba(0, 0, 0, 0.31);
+}
+
+.message-line {
+ margin: 10px 0;
+ text-align: center;
+}
+
+.message-box {
+ background-color: rgb(255, 255, 194);
+ border: 1px solid rgb(128, 128, 128);
+ display: inline-block;
+ padding: 2px 4px;
+}
+
+.px {
+ color: rgb(128, 128, 128);
+}
+
+#element-title {
+ position: absolute;
+ z-index: 10;
+}
+
+#tag-name {
+ color: rgb(136, 18, 128);
+}
+
+#node-id {
+ color: rgb(26, 26, 166);
+}
+</style>
+<script>
+const lightGridColor = "rgba(0,0,0,0.2)";
+const darkGridColor = "rgba(0,0,0,0.5)";
+const transparentColor = "rgba(0, 0, 0, 0)";
+
+function drawPausedInDebuggerMessage(message)
+{
+ var pausedInDebugger = document.getElementById("paused-in-debugger");
+ pausedInDebugger.textContent = message;
+ pausedInDebugger.style.visibility = "visible";
+ document.body.classList.add("dimmed");
+}
+
+function _drawGrid(highlight)
+{
+ context.save();
+
+ var width = canvas.width;
+ var height = canvas.height;
+
+ context.fillStyle = "rgba(255, 255, 255, 0.6)";
+ context.fillRect(0, 0, canvas.width, 15);
+ context.fillRect(0, 15, 15, canvas.height);
+
+ context.translate(-highlight.scrollX, 0.5 - highlight.scrollY);
+ context.lineWidth = 1;
+
+ const gridSubStep = 5;
+ const gridStep = 50;
+
+ context.strokeStyle = lightGridColor;
+
+ for (var y = gridSubStep; y < highlight.scrollY + height; y += gridSubStep) {
+ if (!(y % gridStep))
+ continue;
+ context.beginPath();
+ context.moveTo(highlight.scrollX, y);
+ context.lineTo(highlight.scrollX + gridSubStep, y);
+ context.stroke();
+ }
+
+ context.strokeStyle = darkGridColor;
+ context.fillStyle = darkGridColor;
+ for (var y = gridStep; y < height + highlight.scrollY; y += gridStep) {
+ context.beginPath();
+ context.moveTo(highlight.scrollX, y);
+ var markLength = (y % (gridStep * 2)) ? 5 : 8;
+ context.lineTo(highlight.scrollX + markLength, y);
+ context.stroke();
+ if (!(y % (gridStep * 2))) {
+ context.save();
+ context.translate(highlight.scrollX, y);
+ context.rotate(-Math.PI / 2);
+ context.fillText(y, 2, 13);
+ context.restore();
+ }
+ }
+
+ context.translate(0.5, -0.5);
+
+ context.strokeStyle = lightGridColor;
+ for (var x = gridSubStep; x < highlight.scrollX + width; x += gridSubStep) {
+ if (!(x % gridStep))
+ continue;
+ context.beginPath();
+ context.moveTo(x, highlight.scrollY);
+ context.lineTo(x, highlight.scrollY + gridSubStep);
+ context.stroke();
+ }
+
+ context.strokeStyle = darkGridColor;
+ context.fillStyle = darkGridColor;
+ for (var x = gridStep; x < width + highlight.scrollX; x += gridStep) {
+ context.beginPath();
+ context.moveTo(x, highlight.scrollY);
+ var markLength = (x % (gridStep * 2)) ? 5 : 8;
+ context.lineTo(x, highlight.scrollY + markLength);
+ context.stroke();
+ if (!(x % (gridStep * 2)))
+ context.fillText(x, x + 2, highlight.scrollY + 13);
+ }
+ context.restore();
+}
+
+function quadToPath(quad)
+{
+ context.beginPath();
+ context.moveTo(quad[0].x, quad[0].y);
+ context.lineTo(quad[1].x, quad[1].y);
+ context.lineTo(quad[2].x, quad[2].y);
+ context.lineTo(quad[3].x, quad[3].y);
+ context.closePath();
+ return context;
+}
+
+function drawOutlinedQuad(quad, fillColor, outlineColor)
+{
+ context.save();
+ context.lineWidth = 2;
+ quadToPath(quad).clip();
+ context.fillStyle = fillColor;
+ context.fill();
+ if (outlineColor) {
+ context.strokeStyle = outlineColor;
+ context.stroke();
+ }
+ context.restore();
+}
+
+function drawOutlinedQuadWithClip(quad, clipQuad, fillColor)
+{
+ var canvas = document.getElementById("canvas");
+ context.fillStyle = fillColor;
+ context.save();
+ context.lineWidth = 0;
+ quadToPath(quad).fill();
+ context.globalCompositeOperation = "destination-out";
+ context.fillStyle = "red";
+ quadToPath(clipQuad).fill();
+ context.restore();
+}
+
+function quadEquals(quad1, quad2)
+{
+ return quad1[0].x === quad2[0].x && quad1[0].y === quad2[0].y &&
+ quad1[1].x === quad2[1].x && quad1[1].y === quad2[1].y &&
+ quad1[2].x === quad2[2].x && quad1[2].y === quad2[2].y &&
+ quad1[3].x === quad2[3].x && quad1[3].y === quad2[3].y;
+}
+
+function reset(deviceScaleFactor)
+{
+ window.canvas = document.getElementById("canvas");
+ window.context = canvas.getContext("2d");
+ canvas.width = deviceScaleFactor * document.body.offsetWidth;
+ canvas.height = deviceScaleFactor * document.body.offsetHeight;
+ canvas.style.width = document.body.offsetWidth + "px";
+ canvas.style.height = document.body.offsetHeight + "px";
+ context.scale(deviceScaleFactor, deviceScaleFactor);
+
+ document.getElementById("paused-in-debugger").style.visibility = "hidden";
+ document.getElementById("element-title").style.visibility = "hidden";
+ document.body.classList.remove("dimmed");
+}
+
+function _drawElementTitle(highlight)
+{
+ var elementInfo = highlight.elementInfo;
+ if (!highlight.elementInfo)
+ return;
+
+ document.getElementById("tag-name").textContent = elementInfo.tagName;
+ document.getElementById("node-id").textContent = elementInfo.nodeId ? "#" + elementInfo.nodeId : "";
+ document.getElementById("class-name").textContent = elementInfo.className || "";
+ document.getElementById("node-width").textContent = elementInfo.nodeWidth;
+ document.getElementById("node-height").textContent = elementInfo.nodeHeight;
+ var elementTitle = document.getElementById("element-title");
+
+ var marginQuad = highlight.quads[0];
+
+ var titleWidth = elementTitle.offsetWidth + 6;
+ var titleHeight = elementTitle.offsetHeight + 4;
+
+ var anchorTop = marginQuad[0].y;
+ var anchorBottom = marginQuad[3].y
+
+ const arrowHeight = 7;
+ var renderArrowUp = false;
+ var renderArrowDown = false;
+
+ var boxX = Math.max(2, marginQuad[0].x);
+ if (boxX + titleWidth > canvas.width)
+ boxX = canvas.width - titleWidth - 2;
+
+ var boxY;
+ if (anchorTop > canvas.height) {
+ boxY = canvas.height - titleHeight - arrowHeight;
+ renderArrowDown = true;
+ } else if (anchorBottom < 0) {
+ boxY = arrowHeight;
+ renderArrowUp = true;
+ } else if (anchorBottom + titleHeight + arrowHeight < canvas.height) {
+ boxY = anchorBottom + arrowHeight - 4;
+ renderArrowUp = true;
+ } else if (anchorTop - titleHeight - arrowHeight > 0) {
+ boxY = anchorTop - titleHeight - arrowHeight + 3;
+ renderArrowDown = true;
+ } else
+ boxY = arrowHeight;
+
+ context.save();
+ context.translate(0.5, 0.5);
+ context.beginPath();
+ context.moveTo(boxX, boxY);
+ if (renderArrowUp) {
+ context.lineTo(boxX + 2 * arrowHeight, boxY);
+ context.lineTo(boxX + 3 * arrowHeight, boxY - arrowHeight);
+ context.lineTo(boxX + 4 * arrowHeight, boxY);
+ }
+ context.lineTo(boxX + titleWidth, boxY);
+ context.lineTo(boxX + titleWidth, boxY + titleHeight);
+ if (renderArrowDown) {
+ context.lineTo(boxX + 4 * arrowHeight, boxY + titleHeight);
+ context.lineTo(boxX + 3 * arrowHeight, boxY + titleHeight + arrowHeight);
+ context.lineTo(boxX + 2 * arrowHeight, boxY + titleHeight);
+ }
+ context.lineTo(boxX, boxY + titleHeight);
+ context.closePath();
+ context.fillStyle = "rgb(255, 255, 194)";
+ context.fill();
+ context.strokeStyle = "rgb(128, 128, 128)";
+ context.stroke();
+
+ context.restore();
+
+ elementTitle.style.visibility = "visible";
+ elementTitle.style.top = (boxY + 3) + "px";
+ elementTitle.style.left = (boxX + 3) + "px";
+}
+
+function _drawRulers(highlight)
+{
+ context.save();
+ context.strokeStyle = "rgba(128, 128, 128, 0.3)";
+ context.lineWidth = 1;
+ context.translate(0.5, 0.5);
+ var leftmostXForY = {};
+ var topmostYForX = {};
+
+ for (var i = 0; i < highlight.quads.length; ++i) {
+ var quad = highlight.quads[i];
+ for (var j = 0; j < quad.length; ++j) {
+ var x = quad[j].x;
+ var y = quad[j].y;
+ topmostYForX[Math.round(x)] = Math.min(topmostYForX[x] || Number.MAX_VALUE, Math.round(quad[j].y));
+ leftmostXForY[Math.round(y)] = Math.min(leftmostXForY[y] || Number.MAX_VALUE, Math.round(quad[j].x));
+ }
+ }
+
+ for (var y in leftmostXForY) {
+ context.beginPath();
+ context.moveTo(0, y);
+ context.lineTo(leftmostXForY[y], y);
+ context.stroke();
+ }
+
+ for (var x in topmostYForX) {
+ context.beginPath();
+ context.moveTo(x, 0);
+ context.lineTo(x, topmostYForX[x]);
+ context.stroke();
+ }
+
+ context.restore();
+}
+
+function drawNodeHighlight(highlight)
+{
+ if (!highlight.quads.length) {
+ _drawGrid(highlight);
+ return;
+ }
+
+ context.save();
+
+ for (var i = 0; i < highlight.quads.length; ++i) {
+ var quad = highlight.quads[i];
+ for (var j = 0; j < quad.length; ++j) {
+ quad[j].x -= highlight.scrollX;
+ quad[j].y -= highlight.scrollY;
+ }
+ }
+
+ var quads = highlight.quads.slice();
+ var contentQuad = quads.pop();
+ var paddingQuad = quads.pop();
+ var borderQuad = quads.pop();
+ var marginQuad = quads.pop();
+
+ var hasContent = contentQuad && highlight.contentColor !== transparentColor || highlight.contentOutlineColor !== transparentColor;
+ var hasPadding = paddingQuad && highlight.paddingColor !== transparentColor;
+ var hasBorder = borderQuad && highlight.borderColor !== transparentColor;
+ var hasMargin = marginQuad && highlight.marginColor !== transparentColor;
+
+ var clipQuad;
+ if (hasMargin && (!hasBorder || !quadEquals(marginQuad, borderQuad))) {
+ drawOutlinedQuadWithClip(marginQuad, borderQuad, highlight.marginColor);
+ clipQuad = borderQuad;
+ }
+ if (hasBorder && (!hasPadding || !quadEquals(borderQuad, paddingQuad))) {
+ drawOutlinedQuadWithClip(borderQuad, paddingQuad, highlight.borderColor);
+ clipQuad = paddingQuad;
+ }
+ if (hasPadding && (!hasContent || !quadEquals(paddingQuad, contentQuad))) {
+ drawOutlinedQuadWithClip(paddingQuad, contentQuad, highlight.paddingColor);
+ clipQuad = contentQuad;
+ }
+ if (hasContent)
+ drawOutlinedQuad(contentQuad, highlight.contentColor, highlight.contentOutlineColor);
+
+ _drawGrid(highlight);
+ _drawElementTitle(highlight);
+ _drawRulers(highlight);
+ context.restore();
+}
+
+function drawRectHighlight(highlight)
+{
+ context.save();
+ drawOutlinedQuad(highlight.quads[0], highlight.contentColor, highlight.contentOutlineColor);
+ context.restore();
+}
+
+function setPlatform(platform)
+{
+ document.body.classList.add("platform-" + platform);
+}
+
+function dispatch(message)
+{
+ var functionName = message.shift();
+ window[functionName].apply(null, message);
+}
+
+function log(text)
+{
+ var logEntry = document.createElement("div");
+ logEntry.textContent = text;
+ document.getElementById("log").appendChild(logEntry);
+}
+
+</script>
+</head>
+<body class="fill">
+<div class="message-line"><span class="message-box" id="paused-in-debugger"></span></div>
+</body>
+<canvas id="canvas" class="fill"></canvas>
+<div id="element-title">
+ <span id="tag-name"></span><span id="node-id"></span><span id="class-name"></span>
+ <span id="node-width"></span><span class="px">px</span><span class="px"> &#xD7; </span><span id="node-height"></span><span class="px">px</span>
+</div>
+<div id="log"></div>
+</html>
diff --git a/Source/WebCore/inspector/InspectorPageAgent.cpp b/Source/WebCore/inspector/InspectorPageAgent.cpp
index c6b06bfa6..707c7515e 100644
--- a/Source/WebCore/inspector/InspectorPageAgent.cpp
+++ b/Source/WebCore/inspector/InspectorPageAgent.cpp
@@ -74,11 +74,11 @@
#include "TextEncoding.h"
#include "TextResourceDecoder.h"
#include "UserGestureIndicator.h"
-
#include <wtf/CurrentTime.h>
#include <wtf/ListHashSet.h>
#include <wtf/Vector.h>
#include <wtf/text/Base64.h>
+#include <wtf/text/StringBuilder.h>
using namespace std;
@@ -197,8 +197,7 @@ bool InspectorPageAgent::cachedResourceContent(CachedResource* cachedResource, S
if (!decoder)
return false;
String content = decoder->decode(buffer->data(), buffer->size());
- content += decoder->flush();
- *result = content;
+ *result = content + decoder->flush();
return true;
}
default:
@@ -503,7 +502,7 @@ void InspectorPageAgent::getCookies(ErrorString*, RefPtr<TypeBuilder::Array<Type
ListHashSet<Cookie> rawCookiesList;
// If we can't get raw cookies - fall back to String representation
- String stringCookiesList;
+ StringBuilder stringCookiesList;
// Return value to getRawCookies should be the same for every call because
// the return value is platform/network backend specific, and the call will
@@ -519,7 +518,7 @@ void InspectorPageAgent::getCookies(ErrorString*, RefPtr<TypeBuilder::Array<Type
if (!rawCookiesImplemented) {
// FIXME: We need duplication checking for the String representation of cookies.
ExceptionCode ec = 0;
- stringCookiesList += document->cookie(ec);
+ stringCookiesList.append(document->cookie(ec));
// Exceptions are thrown by cookie() in sandboxed frames. That won't happen here
// because "document" is the document of the main frame of the page.
ASSERT(!ec);
@@ -539,7 +538,7 @@ void InspectorPageAgent::getCookies(ErrorString*, RefPtr<TypeBuilder::Array<Type
*cookiesString = "";
} else {
cookies = TypeBuilder::Array<TypeBuilder::Page::Cookie>::create();
- *cookiesString = stringCookiesList;
+ *cookiesString = stringCookiesList.toString();
}
}
@@ -899,7 +898,7 @@ void InspectorPageAgent::didPaint()
Color(0, 0, 0xFF, 0x3F),
};
- m_overlay->drawOutline(*m_lastPaintContext, m_lastPaintRect, colors[colorSelector++ % WTF_ARRAY_LENGTH(colors)]);
+ m_overlay->drawOutline(m_lastPaintContext, m_lastPaintRect, colors[colorSelector++ % WTF_ARRAY_LENGTH(colors)]);
m_lastPaintContext = 0;
}
@@ -915,6 +914,12 @@ void InspectorPageAgent::didLayout()
if (currentWidth && currentHeight)
m_client->autoZoomPageToFitWidth();
+ m_overlay->update();
+}
+
+void InspectorPageAgent::didScroll()
+{
+ m_overlay->update();
}
PassRefPtr<TypeBuilder::Page::Frame> InspectorPageAgent::buildObjectForFrame(Frame* frame)
diff --git a/Source/WebCore/inspector/InspectorPageAgent.h b/Source/WebCore/inspector/InspectorPageAgent.h
index 7b91779f9..7b71b211f 100644
--- a/Source/WebCore/inspector/InspectorPageAgent.h
+++ b/Source/WebCore/inspector/InspectorPageAgent.h
@@ -38,10 +38,10 @@
#include "GeolocationPosition.h"
#include "InspectorBaseAgent.h"
#include "InspectorFrontend.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -137,6 +137,7 @@ public:
void willPaint(GraphicsContext*, const LayoutRect&);
void didPaint();
void didLayout();
+ void didScroll();
// Inspector Controller API
virtual void setFrontend(InspectorFrontend*);
diff --git a/Source/WebCore/inspector/InspectorProfilerAgent.cpp b/Source/WebCore/inspector/InspectorProfilerAgent.cpp
index 997dd4a09..4540aa7cd 100644
--- a/Source/WebCore/inspector/InspectorProfilerAgent.cpp
+++ b/Source/WebCore/inspector/InspectorProfilerAgent.cpp
@@ -123,6 +123,7 @@ InspectorProfilerAgent::InspectorProfilerAgent(InstrumentingAgents* instrumentin
, m_frontend(0)
, m_enabled(false)
, m_recordingUserInitiatedProfile(false)
+ , m_headersRequested(false)
, m_currentUserInitiatedProfileNumber(-1)
, m_nextUserInitiatedProfileNumber(1)
, m_nextUserInitiatedHeapSnapshotNumber(1)
@@ -139,7 +140,7 @@ void InspectorProfilerAgent::addProfile(PassRefPtr<ScriptProfile> prpProfile, un
{
RefPtr<ScriptProfile> profile = prpProfile;
m_profiles.add(profile->uid(), profile);
- if (m_frontend)
+ if (m_frontend && m_headersRequested)
m_frontend->addProfileHeader(createProfileHeader(*profile));
addProfileFinishedMessageToConsole(profile, lineNumber, sourceURL);
}
@@ -220,6 +221,7 @@ void InspectorProfilerAgent::disable()
if (!m_enabled)
return;
m_enabled = false;
+ m_headersRequested = false;
PageScriptDebugServer::shared().recompileAllJSFunctionsSoon();
}
@@ -242,6 +244,7 @@ String InspectorProfilerAgent::getCurrentUserInitiatedProfileName(bool increment
void InspectorProfilerAgent::getProfileHeaders(ErrorString*, RefPtr<TypeBuilder::Array<TypeBuilder::Profiler::ProfileHeader> >& headers)
{
+ m_headersRequested = true;
headers = TypeBuilder::Array<TypeBuilder::Profiler::ProfileHeader>::create();
ProfilesMap::iterator profilesEnd = m_profiles.end();
@@ -321,7 +324,7 @@ void InspectorProfilerAgent::resetState()
void InspectorProfilerAgent::resetFrontendProfiles()
{
- if (m_frontend && enabled()
+ if (m_headersRequested && m_frontend
&& m_profiles.begin() == m_profiles.end()
&& m_snapshots.begin() == m_snapshots.end())
m_frontend->resetProfiles();
@@ -346,6 +349,7 @@ void InspectorProfilerAgent::restore()
restoreEnablement();
// Revisit this.
+ m_headersRequested = true;
resetFrontendProfiles();
if (m_state->getBoolean(ProfilerAgentState::userInitiatedProfiling))
start();
diff --git a/Source/WebCore/inspector/InspectorProfilerAgent.h b/Source/WebCore/inspector/InspectorProfilerAgent.h
index 5082666d7..c35536fae 100644
--- a/Source/WebCore/inspector/InspectorProfilerAgent.h
+++ b/Source/WebCore/inspector/InspectorProfilerAgent.h
@@ -34,11 +34,11 @@
#include "InspectorBaseAgent.h"
#include "InspectorFrontend.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -119,6 +119,7 @@ private:
InspectorFrontend::Profiler* m_frontend;
bool m_enabled;
bool m_recordingUserInitiatedProfile;
+ bool m_headersRequested;
int m_currentUserInitiatedProfileNumber;
unsigned m_nextUserInitiatedProfileNumber;
unsigned m_nextUserInitiatedHeapSnapshotNumber;
diff --git a/Source/WebCore/inspector/InspectorResourceAgent.h b/Source/WebCore/inspector/InspectorResourceAgent.h
index 5c9fbe262..f8fc8bd30 100644
--- a/Source/WebCore/inspector/InspectorResourceAgent.h
+++ b/Source/WebCore/inspector/InspectorResourceAgent.h
@@ -33,11 +33,11 @@
#include "InspectorBaseAgent.h"
#include "InspectorFrontend.h"
-#include "PlatformString.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INSPECTOR)
diff --git a/Source/WebCore/inspector/InspectorState.h b/Source/WebCore/inspector/InspectorState.h
index a40e35041..1ec373e77 100644
--- a/Source/WebCore/inspector/InspectorState.h
+++ b/Source/WebCore/inspector/InspectorState.h
@@ -34,10 +34,9 @@
#if ENABLE(INSPECTOR)
#include "InspectorValues.h"
-#include "PlatformString.h"
-
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorStyleSheet.cpp b/Source/WebCore/inspector/InspectorStyleSheet.cpp
index 83b402d6e..3cf4d489c 100644
--- a/Source/WebCore/inspector/InspectorStyleSheet.cpp
+++ b/Source/WebCore/inspector/InspectorStyleSheet.cpp
@@ -325,7 +325,7 @@ PassRefPtr<TypeBuilder::Array<TypeBuilder::CSS::CSSComputedStyleProperty> > Insp
bool InspectorStyle::setPropertyText(unsigned index, const String& propertyText, bool overwrite, String* oldText, ExceptionCode& ec)
{
ASSERT(m_parentStyleSheet);
- DEFINE_STATIC_LOCAL(String, bogusPropertyName, ("-webkit-boguz-propertee"));
+ DEFINE_STATIC_LOCAL(String, bogusPropertyName, (ASCIILiteral("-webkit-boguz-propertee")));
if (!m_parentStyleSheet->ensureParsedDataReady()) {
ec = NOT_FOUND_ERR;
@@ -635,7 +635,7 @@ Vector<String> InspectorStyle::longhandProperties(const String& shorthandPropert
NewLineAndWhitespace& InspectorStyle::newLineAndWhitespaceDelimiters() const
{
- DEFINE_STATIC_LOCAL(String, defaultPrefix, (" "));
+ DEFINE_STATIC_LOCAL(String, defaultPrefix, (ASCIILiteral(" ")));
if (m_formatAcquired)
return m_format;
@@ -737,12 +737,18 @@ String InspectorStyleSheet::finalURL() const
void InspectorStyleSheet::reparseStyleSheet(const String& text)
{
- CSSStyleSheet::RuleMutationScope mutationScope(m_pageStyleSheet.get());
- m_pageStyleSheet->contents()->clearRules();
- m_pageStyleSheet->contents()->parseString(text);
- m_pageStyleSheet->clearChildRuleCSSOMWrappers();
- m_inspectorStyles.clear();
- fireStyleSheetChanged();
+ {
+ // Have a separate scope for clearRules() (bug 95324).
+ CSSStyleSheet::RuleMutationScope mutationScope(m_pageStyleSheet.get());
+ m_pageStyleSheet->contents()->clearRules();
+ }
+ {
+ CSSStyleSheet::RuleMutationScope mutationScope(m_pageStyleSheet.get());
+ m_pageStyleSheet->contents()->parseString(text);
+ m_pageStyleSheet->clearChildRuleCSSOMWrappers();
+ m_inspectorStyles.clear();
+ fireStyleSheetChanged();
+ }
}
bool InspectorStyleSheet::setText(const String& text)
@@ -795,12 +801,14 @@ bool InspectorStyleSheet::setRuleSelector(const InspectorCSSId& id, const String
CSSStyleRule* InspectorStyleSheet::addRule(const String& selector, ExceptionCode& ec)
{
- String styleSheetText;
- bool success = getText(&styleSheetText);
+ String text;
+ bool success = getText(&text);
if (!success) {
ec = NOT_FOUND_ERR;
return 0;
}
+ StringBuilder styleSheetText;
+ styleSheetText.append(text);
m_pageStyleSheet->addRule(selector, "", ec);
if (ec)
@@ -809,13 +817,13 @@ CSSStyleRule* InspectorStyleSheet::addRule(const String& selector, ExceptionCode
CSSStyleRule* rule = InspectorCSSAgent::asCSSStyleRule(m_pageStyleSheet->item(m_pageStyleSheet->length() - 1));
ASSERT(rule);
- if (styleSheetText.length())
- styleSheetText += "\n";
+ if (!styleSheetText.isEmpty())
+ styleSheetText.append('\n');
- styleSheetText += selector;
- styleSheetText += " {}";
+ styleSheetText.append(selector);
+ styleSheetText.appendLiteral(" {}");
// Using setText() as this operation changes the style sheet rule set.
- setText(styleSheetText);
+ setText(styleSheetText.toString());
fireStyleSheetChanged();
diff --git a/Source/WebCore/inspector/InspectorStyleSheet.h b/Source/WebCore/inspector/InspectorStyleSheet.h
index 0af9f3c5a..d426d579f 100644
--- a/Source/WebCore/inspector/InspectorStyleSheet.h
+++ b/Source/WebCore/inspector/InspectorStyleSheet.h
@@ -31,13 +31,13 @@
#include "InspectorStyleTextEditor.h"
#include "InspectorTypeBuilder.h"
#include "InspectorValues.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
class ParsedStyleSheet;
diff --git a/Source/WebCore/inspector/InspectorStyleTextEditor.cpp b/Source/WebCore/inspector/InspectorStyleTextEditor.cpp
index 7976a4abe..059a650b2 100644
--- a/Source/WebCore/inspector/InspectorStyleTextEditor.cpp
+++ b/Source/WebCore/inspector/InspectorStyleTextEditor.cpp
@@ -104,11 +104,11 @@ void InspectorStyleTextEditor::insertProperty(unsigned index, const String& prop
textToSet.insert(formatLineFeed, formattingPrependOffset);
}
if (!isHTMLLineBreak(m_styleText[propertyStart]))
- textToSet += formatLineFeed;
+ textToSet.append(formatLineFeed);
} else {
String fullPrefix = formatLineFeed + formatPropertyPrefix;
long fullPrefixLength = fullPrefix.length();
- textToSet += fullPrefix;
+ textToSet.append(fullPrefix);
if (insertFirstInSource && (propertyStart < fullPrefixLength || m_styleText.substring(propertyStart - fullPrefixLength, fullPrefixLength) != fullPrefix))
textToSet.insert(fullPrefix, formattingPrependOffset);
}
diff --git a/Source/WebCore/inspector/InspectorStyleTextEditor.h b/Source/WebCore/inspector/InspectorStyleTextEditor.h
index 5c0a22efc..d7502561b 100644
--- a/Source/WebCore/inspector/InspectorStyleTextEditor.h
+++ b/Source/WebCore/inspector/InspectorStyleTextEditor.h
@@ -26,9 +26,9 @@
#define InspectorStyleTextEditor_h
#include "CSSPropertySourceData.h"
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorTimelineAgent.cpp b/Source/WebCore/inspector/InspectorTimelineAgent.cpp
index 68ff5e5ea..ebd7a3551 100644
--- a/Source/WebCore/inspector/InspectorTimelineAgent.cpp
+++ b/Source/WebCore/inspector/InspectorTimelineAgent.cpp
@@ -36,6 +36,7 @@
#include "Event.h"
#include "Frame.h"
+#include "FrameView.h"
#include "IdentifiersFactory.h"
#include "InspectorClient.h"
#include "InspectorCounters.h"
@@ -65,8 +66,10 @@ static const char Program[] = "Program";
static const char EventDispatch[] = "EventDispatch";
static const char BeginFrame[] = "BeginFrame";
-static const char Layout[] = "Layout";
+static const char ScheduleStyleRecalculation[] = "ScheduleStyleRecalculation";
static const char RecalculateStyles[] = "RecalculateStyles";
+static const char InvalidateLayout[] = "InvalidateLayout";
+static const char Layout[] = "Layout";
static const char Paint[] = "Paint";
static const char DecodeImage[] = "DecodeImage";
static const char ResizeImage[] = "ResizeImage";
@@ -227,6 +230,13 @@ void InspectorTimelineAgent::didDispatchEvent()
didCompleteCurrentRecord(TimelineRecordType::EventDispatch);
}
+void InspectorTimelineAgent::didInvalidateLayout(Frame* frame)
+{
+ if (frame->view()->layoutPending())
+ return;
+ appendRecord(InspectorObject::create(), TimelineRecordType::InvalidateLayout, true, frame);
+}
+
void InspectorTimelineAgent::willLayout(Frame* frame)
{
pushCurrentRecord(InspectorObject::create(), TimelineRecordType::Layout, true, frame);
@@ -237,6 +247,11 @@ void InspectorTimelineAgent::didLayout()
didCompleteCurrentRecord(TimelineRecordType::Layout);
}
+void InspectorTimelineAgent::didScheduleStyleRecalculation(Frame* frame)
+{
+ appendRecord(InspectorObject::create(), TimelineRecordType::ScheduleStyleRecalculation, true, frame);
+}
+
void InspectorTimelineAgent::willRecalculateStyle(Frame* frame)
{
pushCurrentRecord(InspectorObject::create(), TimelineRecordType::RecalculateStyles, true, frame);
@@ -487,12 +502,16 @@ void InspectorTimelineAgent::innerAddRecordToTimeline(PassRefPtr<InspectorObject
}
}
-void InspectorTimelineAgent::setHeapSizeStatistics(InspectorObject* record)
+static size_t getUsedHeapSize()
{
HeapInfo info;
ScriptGCEvent::getHeapSize(info);
- record->setNumber("usedHeapSize", info.usedJSHeapSize);
- record->setNumber("totalHeapSize", info.totalJSHeapSize);
+ return info.usedJSHeapSize;
+}
+
+void InspectorTimelineAgent::setHeapSizeStatistics(InspectorObject* record)
+{
+ record->setNumber("usedHeapSize", getUsedHeapSize());
if (m_state->getBoolean(TimelineAgentState::includeMemoryDetails)) {
RefPtr<InspectorObject> counters = InspectorObject::create();
@@ -520,6 +539,9 @@ void InspectorTimelineAgent::didCompleteCurrentRecord(const String& type)
entry.record->setObject("data", entry.data);
entry.record->setArray("children", entry.children);
entry.record->setNumber("endTime", timestamp());
+ size_t usedHeapSizeDelta = getUsedHeapSize() - entry.usedHeapSizeAtStart;
+ if (usedHeapSizeDelta)
+ entry.record->setNumber("usedHeapSizeDelta", usedHeapSizeDelta);
addRecordToTimeline(entry.record, type, entry.frameId);
}
}
@@ -557,7 +579,7 @@ void InspectorTimelineAgent::pushCurrentRecord(PassRefPtr<InspectorObject> data,
String frameId;
if (frame && m_pageAgent)
frameId = m_pageAgent->frameId(frame);
- m_recordStack.append(TimelineRecordEntry(record.release(), data, InspectorArray::create(), type, frameId));
+ m_recordStack.append(TimelineRecordEntry(record.release(), data, InspectorArray::create(), type, frameId, getUsedHeapSize()));
if (hasLowLevelDetails && !m_platformInstrumentationClientInstalledAtStackDepth && !PlatformInstrumentation::hasClient()) {
m_platformInstrumentationClientInstalledAtStackDepth = m_recordStack.size();
PlatformInstrumentation::setClient(this);
diff --git a/Source/WebCore/inspector/InspectorTimelineAgent.h b/Source/WebCore/inspector/InspectorTimelineAgent.h
index 61e8ddc00..0ea54e28f 100644
--- a/Source/WebCore/inspector/InspectorTimelineAgent.h
+++ b/Source/WebCore/inspector/InspectorTimelineAgent.h
@@ -96,9 +96,11 @@ public:
void didBeginFrame();
void didCancelFrame();
+ void didInvalidateLayout(Frame*);
void willLayout(Frame*);
void didLayout();
+ void didScheduleStyleRecalculation(Frame*);
void willRecalculateStyle(Frame*);
void didRecalculateStyle();
@@ -159,8 +161,8 @@ public:
private:
struct TimelineRecordEntry {
- TimelineRecordEntry(PassRefPtr<InspectorObject> record, PassRefPtr<InspectorObject> data, PassRefPtr<InspectorArray> children, const String& type, const String& frameId)
- : record(record), data(data), children(children), type(type), frameId(frameId)
+ TimelineRecordEntry(PassRefPtr<InspectorObject> record, PassRefPtr<InspectorObject> data, PassRefPtr<InspectorArray> children, const String& type, const String& frameId, size_t usedHeapSizeAtStart)
+ : record(record), data(data), children(children), type(type), frameId(frameId), usedHeapSizeAtStart(usedHeapSizeAtStart)
{
}
RefPtr<InspectorObject> record;
@@ -168,6 +170,7 @@ private:
RefPtr<InspectorArray> children;
String type;
String frameId;
+ size_t usedHeapSizeAtStart;
};
InspectorTimelineAgent(InstrumentingAgents*, InspectorPageAgent*, InspectorState*, InspectorType, InspectorClient*);
diff --git a/Source/WebCore/inspector/InspectorValues.h b/Source/WebCore/inspector/InspectorValues.h
index 743ad03c5..1f0aecb02 100644
--- a/Source/WebCore/inspector/InspectorValues.h
+++ b/Source/WebCore/inspector/InspectorValues.h
@@ -31,12 +31,12 @@
#ifndef InspectorValues_h
#define InspectorValues_h
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorWebGLAgent.h b/Source/WebCore/inspector/InspectorWebGLAgent.h
index 1d3771d22..31b7afcf3 100644
--- a/Source/WebCore/inspector/InspectorWebGLAgent.h
+++ b/Source/WebCore/inspector/InspectorWebGLAgent.h
@@ -36,10 +36,10 @@
#include "InspectorBaseAgent.h"
#include "InspectorFrontend.h"
#include "InspectorTypeBuilder.h"
-#include "PlatformString.h"
#include "ScriptState.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/InspectorWorkerResource.h b/Source/WebCore/inspector/InspectorWorkerResource.h
index ef1b8c92f..2b8041fdf 100644
--- a/Source/WebCore/inspector/InspectorWorkerResource.h
+++ b/Source/WebCore/inspector/InspectorWorkerResource.h
@@ -33,10 +33,10 @@
#if ENABLE(WORKERS) && ENABLE(INSPECTOR)
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/MemoryInstrumentationImpl.cpp b/Source/WebCore/inspector/MemoryInstrumentationImpl.cpp
index 347f72d5f..47a91d5b3 100644
--- a/Source/WebCore/inspector/MemoryInstrumentationImpl.cpp
+++ b/Source/WebCore/inspector/MemoryInstrumentationImpl.cpp
@@ -39,8 +39,6 @@ namespace WebCore {
MemoryInstrumentationImpl::MemoryInstrumentationImpl(VisitedObjects& visitedObjects)
: m_visitedObjects(visitedObjects)
{
- for (int i = 0; i < LastTypeEntry; ++i)
- m_totalSizes[i] = 0;
}
void MemoryInstrumentationImpl::processDeferredInstrumentedPointers()
@@ -52,10 +50,12 @@ void MemoryInstrumentationImpl::processDeferredInstrumentedPointers()
}
}
-void MemoryInstrumentationImpl::countObjectSize(ObjectType objectType, size_t size)
+void MemoryInstrumentationImpl::countObjectSize(MemoryObjectType objectType, size_t size)
{
- ASSERT(objectType >= 0 && objectType < LastTypeEntry);
- m_totalSizes[objectType] += size;
+ ASSERT(objectType != GenericMemoryTypes::Undefined);
+ TypeToSizeMap::AddResult result = m_totalSizes.add(objectType, size);
+ if (!result.isNewEntry)
+ result.iterator->second += size;
}
void MemoryInstrumentationImpl::deferInstrumentedPointer(PassOwnPtr<InstrumentedPointerBase> pointer)
diff --git a/Source/WebCore/inspector/MemoryInstrumentationImpl.h b/Source/WebCore/inspector/MemoryInstrumentationImpl.h
index 762f190a2..85cbc5e45 100644
--- a/Source/WebCore/inspector/MemoryInstrumentationImpl.h
+++ b/Source/WebCore/inspector/MemoryInstrumentationImpl.h
@@ -33,6 +33,7 @@
#include "MemoryInstrumentation.h"
+#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
@@ -45,27 +46,28 @@ public:
explicit MemoryInstrumentationImpl(VisitedObjects&);
size_t selfSize() const;
- size_t totalSize(ObjectType objectType) const
+ size_t totalSize(MemoryObjectType objectType) const
{
- ASSERT(objectType >= 0 && objectType < LastTypeEntry);
- return m_totalSizes[objectType];
+ TypeToSizeMap::const_iterator i = m_totalSizes.find(objectType);
+ return i == m_totalSizes.end() ? 0 : i->second;
}
size_t reportedSizeForAllTypes() const
{
size_t size = 0;
- for (int i = 0; i < LastTypeEntry; ++i)
- size += m_totalSizes[i];
+ for (TypeToSizeMap::const_iterator i = m_totalSizes.begin(); i != m_totalSizes.end(); ++i)
+ size += i->second;
return size;
}
private:
- virtual void countObjectSize(ObjectType, size_t) OVERRIDE;
+ virtual void countObjectSize(MemoryObjectType, size_t) OVERRIDE;
virtual void deferInstrumentedPointer(PassOwnPtr<InstrumentedPointerBase>) OVERRIDE;
virtual bool visited(const void*) OVERRIDE;
virtual void processDeferredInstrumentedPointers() OVERRIDE;
- size_t m_totalSizes[LastTypeEntry];
+ typedef HashMap<MemoryObjectType, size_t> TypeToSizeMap;
+ TypeToSizeMap m_totalSizes;
VisitedObjects& m_visitedObjects;
Vector<OwnPtr<InstrumentedPointerBase> > m_deferredInstrumentedPointers;
};
diff --git a/Source/WebCore/inspector/NetworkResourcesData.cpp b/Source/WebCore/inspector/NetworkResourcesData.cpp
index e05d13dec..4416adf76 100644
--- a/Source/WebCore/inspector/NetworkResourcesData.cpp
+++ b/Source/WebCore/inspector/NetworkResourcesData.cpp
@@ -113,7 +113,7 @@ size_t NetworkResourcesData::ResourceData::decodeDataToContent()
ASSERT(!hasContent());
size_t dataLength = m_dataBuffer->size();
m_content = m_decoder->decode(m_dataBuffer->data(), m_dataBuffer->size());
- m_content += m_decoder->flush();
+ m_content.append(m_decoder->flush());
m_dataBuffer = nullptr;
return contentSizeInBytes(m_content) - dataLength;
}
diff --git a/Source/WebCore/inspector/PageRuntimeAgent.cpp b/Source/WebCore/inspector/PageRuntimeAgent.cpp
index 35d56f5c9..254957a7f 100644
--- a/Source/WebCore/inspector/PageRuntimeAgent.cpp
+++ b/Source/WebCore/inspector/PageRuntimeAgent.cpp
@@ -160,7 +160,7 @@ void PageRuntimeAgent::notifyContextCreated(const String& frameId, ScriptState*
ASSERT(securityOrigin || isPageContext);
int executionContextId = injectedScriptManager()->injectedScriptIdFor(scriptState);
String name = securityOrigin ? securityOrigin->toString() : "";
- m_frontend->isolatedContextCreated(ExecutionContextDescription::create()
+ m_frontend->executionContextCreated(ExecutionContextDescription::create()
.setId(executionContextId)
.setIsPageContext(isPageContext)
.setName(name)
diff --git a/Source/WebCore/inspector/ScriptArguments.h b/Source/WebCore/inspector/ScriptArguments.h
index 26549b6d3..76c0fe71c 100644
--- a/Source/WebCore/inspector/ScriptArguments.h
+++ b/Source/WebCore/inspector/ScriptArguments.h
@@ -31,11 +31,11 @@
#ifndef ScriptArguments_h
#define ScriptArguments_h
-#include "PlatformString.h"
#include "ScriptState.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/ScriptBreakpoint.h b/Source/WebCore/inspector/ScriptBreakpoint.h
index 920fb3f2c..11e8d51c1 100644
--- a/Source/WebCore/inspector/ScriptBreakpoint.h
+++ b/Source/WebCore/inspector/ScriptBreakpoint.h
@@ -30,7 +30,7 @@
#ifndef ScriptBreakpoint_h
#define ScriptBreakpoint_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/ScriptCallFrame.h b/Source/WebCore/inspector/ScriptCallFrame.h
index e1922601a..9154104fc 100644
--- a/Source/WebCore/inspector/ScriptCallFrame.h
+++ b/Source/WebCore/inspector/ScriptCallFrame.h
@@ -35,8 +35,8 @@
#include "InspectorTypeBuilder.h"
#endif
-#include "PlatformString.h"
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/ScriptDebugListener.h b/Source/WebCore/inspector/ScriptDebugListener.h
index 72813dedc..579440149 100644
--- a/Source/WebCore/inspector/ScriptDebugListener.h
+++ b/Source/WebCore/inspector/ScriptDebugListener.h
@@ -32,9 +32,9 @@
#if ENABLE(JAVASCRIPT_DEBUGGER)
-#include "PlatformString.h"
#include "ScriptState.h"
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class ScriptValue;
diff --git a/Source/WebCore/inspector/TimelineRecordFactory.cpp b/Source/WebCore/inspector/TimelineRecordFactory.cpp
index e8527b60b..4af5f0257 100644
--- a/Source/WebCore/inspector/TimelineRecordFactory.cpp
+++ b/Source/WebCore/inspector/TimelineRecordFactory.cpp
@@ -37,6 +37,7 @@
#include "Event.h"
#include "InspectorValues.h"
#include "IntRect.h"
+#include "LayoutTypesInlineMethods.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
#include "ScriptCallStack.h"
diff --git a/Source/WebCore/inspector/TimelineRecordFactory.h b/Source/WebCore/inspector/TimelineRecordFactory.h
index 69c104bd2..ea4064a20 100644
--- a/Source/WebCore/inspector/TimelineRecordFactory.h
+++ b/Source/WebCore/inspector/TimelineRecordFactory.h
@@ -32,7 +32,7 @@
#define TimelineRecordFactory_h
#include "LayoutTypes.h"
-#include "PlatformString.h"
+#include <wtf/Forward.h>
namespace WebCore {
diff --git a/Source/WebCore/inspector/compile-front-end.py b/Source/WebCore/inspector/compile-front-end.py
index 31eadde70..6baca120c 100755
--- a/Source/WebCore/inspector/compile-front-end.py
+++ b/Source/WebCore/inspector/compile-front-end.py
@@ -82,6 +82,7 @@ modules = [
"JavaScriptSource.js",
"Linkifier.js",
"NetworkLog.js",
+ "NetworkUISourceCodeProvider.js",
"PresentationConsoleMessageHelper.js",
"SASSSourceMapping.js",
"Script.js",
@@ -90,8 +91,8 @@ modules = [
"SnippetStorage.js",
"SourceMapping.js",
"StyleSource.js",
+ "StylesSourceMapping.js",
"TimelineManager.js",
- "RawSourceCode.js",
"RemoteObject.js",
"Resource.js",
"ResourceScriptMapping.js",
@@ -164,11 +165,14 @@ modules = [
"DOMBreakpointsSidebarPane.js",
"DOMPresentationUtils.js",
"ElementsTreeOutline.js",
+ "FontView.js",
+ "ImageView.js",
"NativeBreakpointsSidebarPane.js",
- "JavaScriptContextManager.js",
"ObjectPopoverHelper.js",
"ObjectPropertiesSection.js",
+ "RuntimeModel.js",
"SourceFrame.js",
+ "ResourceView.js",
]
},
{
@@ -176,6 +180,7 @@ modules = [
"dependencies": ["components"],
"sources": [
"ElementsPanel.js",
+ "ElementsPanelDescriptor.js",
"EventListenersSidebarPane.js",
"MetricsSidebarPane.js",
"PropertiesSidebarPane.js",
@@ -186,8 +191,6 @@ modules = [
"name": "network",
"dependencies": ["components"],
"sources": [
- "FontView.js",
- "ImageView.js",
"NetworkItemView.js",
"RequestCookiesView.js",
"RequestHeadersView.js",
@@ -197,7 +200,6 @@ modules = [
"RequestResponseView.js",
"RequestTimingView.js",
"RequestView.js",
- "ResourceView.js",
"ResourceWebSocketFrameView.js",
"NetworkPanel.js",
"NetworkPanelDescriptor.js",
@@ -328,6 +330,7 @@ modules = [
"ProfilesPanel.js",
"ProfileLauncherView.js",
"TopDownProfileDataGridTree.js",
+ "WebGLProfileView.js",
]
},
{
@@ -370,11 +373,13 @@ def dump_module(name, recursively, processed_modules):
modules_dir = tempfile.mkdtemp()
compiler_command = "java -jar ~/closure/compiler.jar --summary_detail_level 3 --compilation_level SIMPLE_OPTIMIZATIONS --warning_level VERBOSE --language_in ECMASCRIPT5 --accept_const_keyword --module_output_path_prefix %s/ \\\n" % modules_dir
-process_recursively = len(sys.argv) == 2
+process_recursively = len(sys.argv) > 1
if process_recursively:
module_name = sys.argv[1]
if module_name != "all":
- modules = [modules_by_name[sys.argv[1]]]
+ modules = []
+ for i in range(1, len(sys.argv)):
+ modules.append(modules_by_name[sys.argv[i]])
for module in modules:
command = compiler_command
command += " --externs " + inspector_frontend_path + "/externs.js"
diff --git a/Source/WebCore/inspector/front-end/AdvancedSearchController.js b/Source/WebCore/inspector/front-end/AdvancedSearchController.js
index be51bd764..b500a663b 100644
--- a/Source/WebCore/inspector/front-end/AdvancedSearchController.js
+++ b/Source/WebCore/inspector/front-end/AdvancedSearchController.js
@@ -500,7 +500,7 @@ WebInspector.FileBasedSearchResultsPane.prototype = {
{
var anchor = document.createElement("a");
anchor.preferredPanel = "scripts";
- anchor.href = uiSourceCode.url;
+ anchor.href = sanitizeHref(uiSourceCode.url);
anchor.uiSourceCode = uiSourceCode;
anchor.lineNumber = lineNumber;
return anchor;
diff --git a/Source/WebCore/inspector/front-end/AuditFormatters.js b/Source/WebCore/inspector/front-end/AuditFormatters.js
index 33c41e8d1..efb04854d 100644
--- a/Source/WebCore/inspector/front-end/AuditFormatters.js
+++ b/Source/WebCore/inspector/front-end/AuditFormatters.js
@@ -60,7 +60,7 @@ WebInspector.AuditFormatters.Registry = {
url: function(url, displayText, allowExternalNavigation)
{
var a = document.createElement("a");
- a.href = url;
+ a.href = sanitizeHref(url);
a.title = url;
a.textContent = displayText || url;
if (allowExternalNavigation)
diff --git a/Source/WebCore/inspector/front-end/AuditResultView.js b/Source/WebCore/inspector/front-end/AuditResultView.js
index 57f57ad85..4cfc43168 100644
--- a/Source/WebCore/inspector/front-end/AuditResultView.js
+++ b/Source/WebCore/inspector/front-end/AuditResultView.js
@@ -43,17 +43,9 @@ WebInspector.AuditResultView = function(categoryResults)
categoryResults.sort(categorySorter);
for (var i = 0; i < categoryResults.length; ++i)
this.element.appendChild(new WebInspector.AuditCategoryResultPane(categoryResults[i]).element);
-
- this.element.addEventListener("contextmenu", this._contextMenuEventFired.bind(this), true);
}
WebInspector.AuditResultView.prototype = {
- _contextMenuEventFired: function(event)
- {
- var contextMenu = new WebInspector.ContextMenu();
- if (WebInspector.populateHrefContextMenu(contextMenu, null, event))
- contextMenu.show(event);
- }
}
WebInspector.AuditResultView.prototype.__proto__ = WebInspector.View.prototype;
diff --git a/Source/WebCore/inspector/front-end/BreakpointManager.js b/Source/WebCore/inspector/front-end/BreakpointManager.js
index 88b63573e..8e9d4b655 100644
--- a/Source/WebCore/inspector/front-end/BreakpointManager.js
+++ b/Source/WebCore/inspector/front-end/BreakpointManager.js
@@ -47,7 +47,7 @@ WebInspector.BreakpointManager = function(breakpointStorage, debuggerModel, work
this._sourceFilesWithRestoredBreakpoints = {};
this._debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.BreakpointResolved, this._breakpointResolved, this);
- this._workspace.addEventListener(WebInspector.Workspace.Events.WorkspaceReset, this._workspaceReset, this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._workspaceReset, this);
this._workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this);
}
diff --git a/Source/WebCore/inspector/front-end/CSSCompletions.js b/Source/WebCore/inspector/front-end/CSSCompletions.js
index 84d7cae0b..9e3798535 100644
--- a/Source/WebCore/inspector/front-end/CSSCompletions.js
+++ b/Source/WebCore/inspector/front-end/CSSCompletions.js
@@ -83,6 +83,13 @@ WebInspector.CSSCompletions.requestCSSNameCompletions = function()
CSSAgent.getSupportedCSSProperties(propertyNamesCallback);
}
+WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet = function()
+{
+ if (!WebInspector.CSSCompletions._cssPropertiesMetainfoKeySet)
+ WebInspector.CSSCompletions._cssPropertiesMetainfoKeySet = WebInspector.CSSCompletions.cssPropertiesMetainfo.keySet();
+ return WebInspector.CSSCompletions._cssPropertiesMetainfoKeySet;
+}
+
WebInspector.CSSCompletions.prototype = {
startsWith: function(prefix)
{
diff --git a/Source/WebCore/inspector/front-end/CompilerScriptMapping.js b/Source/WebCore/inspector/front-end/CompilerScriptMapping.js
index 4d362d0e5..0ffdc28c1 100644
--- a/Source/WebCore/inspector/front-end/CompilerScriptMapping.js
+++ b/Source/WebCore/inspector/front-end/CompilerScriptMapping.js
@@ -30,17 +30,20 @@
/**
* @constructor
- * @extends {WebInspector.Object}
* @implements {WebInspector.SourceMapping}
- * @implements {WebInspector.UISourceCodeProvider}
+ * @param {WebInspector.Workspace} workspace
*/
-WebInspector.CompilerScriptMapping = function()
+WebInspector.CompilerScriptMapping = function(workspace)
{
+ this._workspace = workspace;
this._sourceMapByURL = {};
this._sourceMapForScriptId = {};
this._scriptForSourceMap = new Map();
this._sourceMapForUISourceCode = new Map();
this._uiSourceCodeByURL = {};
+ this._originalUISourceCodeForScriptId = {};
+ this._scriptForOriginalUISource = new Map();
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._reset, this);
}
WebInspector.CompilerScriptMapping.prototype = {
@@ -52,7 +55,11 @@ WebInspector.CompilerScriptMapping.prototype = {
{
var debuggerModelLocation = /** @type {WebInspector.DebuggerModel.Location} */ rawLocation;
var sourceMap = this._sourceMapForScriptId[debuggerModelLocation.scriptId];
- var entry = sourceMap.findEntry(debuggerModelLocation.lineNumber, debuggerModelLocation.columnNumber || 0);
+ var lineNumber = debuggerModelLocation.lineNumber;
+ var columnNumber = debuggerModelLocation.columnNumber || 0;
+ var entry = sourceMap.findEntry(lineNumber, columnNumber);
+ if (entry.length === 2)
+ return new WebInspector.UILocation(this._originalUISourceCodeForScriptId[debuggerModelLocation.scriptId], lineNumber, columnNumber);
return new WebInspector.UILocation(this._uiSourceCodeByURL[entry[2]], entry[3], entry[4]);
},
@@ -64,45 +71,28 @@ WebInspector.CompilerScriptMapping.prototype = {
*/
uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
{
+ var script = this._scriptForOriginalUISource.get(uiSourceCode);
+ if (script)
+ return WebInspector.debuggerModel.createRawLocation(script, lineNumber, columnNumber);
var sourceMap = this._sourceMapForUISourceCode.get(uiSourceCode);
var entry = sourceMap.findEntryReversed(uiSourceCode.url, lineNumber);
return WebInspector.debuggerModel.createRawLocation(this._scriptForSourceMap.get(sourceMap), entry[0], entry[1]);
},
/**
- * @return {Array.<WebInspector.UISourceCode>}
- */
- uiSourceCodes: function()
- {
- var result = [];
- for (var url in this._uiSourceCodeByURL)
- result.push(this._uiSourceCodeByURL[url]);
- return result;
- },
-
- /**
- * @param {WebInspector.SourceMapParser} sourceMap
- * @return {Array.<WebInspector.UISourceCode>}
- */
- _uiSourceCodesForSourceMap: function(sourceMap)
- {
- var result = []
- var sourceURLs = sourceMap.sources();
- for (var i = 0; i < sourceURLs.length; ++i)
- result.push(this._uiSourceCodeByURL[sourceURLs[i]]);
- return result;
- },
-
- /**
* @param {WebInspector.Script} script
*/
addScript: function(script)
{
+ var originalUISourceCode = new WebInspector.JavaScriptSource(script.sourceURL, null, script, this, true);
+ this._originalUISourceCodeForScriptId[script.scriptId] = originalUISourceCode;
+ this._scriptForOriginalUISource.put(originalUISourceCode, script);
+ this._workspace.project().addUISourceCode(originalUISourceCode);
+
var sourceMap = this.loadSourceMapForScript(script);
if (this._scriptForSourceMap.get(sourceMap)) {
this._sourceMapForScriptId[script.scriptId] = sourceMap;
- var uiSourceCodes = this._uiSourceCodesForSourceMap(sourceMap);
script.setSourceMapping(this);
return;
}
@@ -119,7 +109,8 @@ WebInspector.CompilerScriptMapping.prototype = {
contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Script, sourceContent);
else
contentProvider = new WebInspector.CompilerSourceMappingContentProvider(sourceURL);
- var uiSourceCode = new WebInspector.JavaScriptSource(sourceURL, null, contentProvider, this, false);
+ var uiSourceCode = new WebInspector.JavaScriptSource(sourceURL, null, contentProvider, false);
+ uiSourceCode.setSourceMapping(this);
uiSourceCode.isContentScript = script.isContentScript;
this._uiSourceCodeByURL[sourceURL] = uiSourceCode;
this._sourceMapForUISourceCode.put(uiSourceCode, sourceMap);
@@ -131,7 +122,7 @@ WebInspector.CompilerScriptMapping.prototype = {
script.setSourceMapping(this);
for (var i = 0; i < uiSourceCodeList.length; ++i)
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, uiSourceCodeList[i]);
+ this._workspace.project().addUISourceCode(uiSourceCodeList[i]);
},
/**
@@ -160,18 +151,18 @@ WebInspector.CompilerScriptMapping.prototype = {
return sourceMap;
},
- reset: function()
+ _reset: function()
{
this._sourceMapByURL = {};
this._sourceMapForScriptId = {};
this._scriptForSourceMap = new Map();
this._sourceMapForUISourceCode = new Map();
this._uiSourceCodeByURL = {};
+ this._originalUISourceCodeForScriptId = {};
+ this._scriptForOriginalUISource = new Map();
}
}
-WebInspector.CompilerScriptMapping.prototype.__proto__ = WebInspector.Object.prototype;
-
/**
* @constructor
*/
@@ -314,22 +305,25 @@ WebInspector.SourceMapParser.prototype = {
}
columnNumber += this._decodeVLQ(stringCharIterator);
- if (!this._isSeparator(stringCharIterator.peek())) {
- var sourceIndexDelta = this._decodeVLQ(stringCharIterator);
- if (sourceIndexDelta) {
- sourceIndex += sourceIndexDelta;
- sourceURL = sources[sourceIndex];
- reverseMappings = this._reverseMappingsBySourceURL[sourceURL];
- }
- sourceLineNumber += this._decodeVLQ(stringCharIterator);
- sourceColumnNumber += this._decodeVLQ(stringCharIterator);
- if (!this._isSeparator(stringCharIterator.peek()))
- nameIndex += this._decodeVLQ(stringCharIterator);
-
- this._mappings.push([lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber]);
- if (!reverseMappings[sourceLineNumber])
- reverseMappings[sourceLineNumber] = [lineNumber, columnNumber];
+ if (this._isSeparator(stringCharIterator.peek())) {
+ this._mappings.push([lineNumber, columnNumber]);
+ continue;
+ }
+
+ var sourceIndexDelta = this._decodeVLQ(stringCharIterator);
+ if (sourceIndexDelta) {
+ sourceIndex += sourceIndexDelta;
+ sourceURL = sources[sourceIndex];
+ reverseMappings = this._reverseMappingsBySourceURL[sourceURL];
}
+ sourceLineNumber += this._decodeVLQ(stringCharIterator);
+ sourceColumnNumber += this._decodeVLQ(stringCharIterator);
+ if (!this._isSeparator(stringCharIterator.peek()))
+ nameIndex += this._decodeVLQ(stringCharIterator);
+
+ this._mappings.push([lineNumber, columnNumber, sourceURL, sourceLineNumber, sourceColumnNumber]);
+ if (!reverseMappings[sourceLineNumber])
+ reverseMappings[sourceLineNumber] = [lineNumber, columnNumber];
}
},
diff --git a/Source/WebCore/inspector/front-end/ConsoleMessage.js b/Source/WebCore/inspector/front-end/ConsoleMessage.js
index 95e217b80..f290a6bad 100644
--- a/Source/WebCore/inspector/front-end/ConsoleMessage.js
+++ b/Source/WebCore/inspector/front-end/ConsoleMessage.js
@@ -715,7 +715,7 @@ WebInspector.ConsoleMessageImpl.prototype = {
*/
clone: function()
{
- return WebInspector.ConsoleMessage.create(this.source, this.level, this._messageText, this.type, this.url, this.line, this.repeatCount, this._parameters, this._stackTrace, this._requestId, this._isOutdated);
+ return WebInspector.ConsoleMessage.create(this.source, this.level, this._messageText, this.type, this.url, this.line, this.repeatCount, this._parameters, this._stackTrace, this._request ? this._request.requestId : undefined, this._isOutdated);
}
}
diff --git a/Source/WebCore/inspector/front-end/ConsoleView.js b/Source/WebCore/inspector/front-end/ConsoleView.js
index 70ef8e4f6..04011165a 100644
--- a/Source/WebCore/inspector/front-end/ConsoleView.js
+++ b/Source/WebCore/inspector/front-end/ConsoleView.js
@@ -44,12 +44,12 @@ WebInspector.ConsoleView = function(hideContextSelector)
this._clearConsoleButton = new WebInspector.StatusBarButton(WebInspector.UIString("Clear console log."), "clear-status-bar-item");
this._clearConsoleButton.addEventListener("click", this._requestClearMessages, this);
- this._contextSelector = new WebInspector.StatusBarComboBox(this._updateIsolatedWorldSelector.bind(this), "console-context");
- this._isolatedWorldSelector = new WebInspector.StatusBarComboBox(null, "console-context");
+ this._frameSelector = new WebInspector.StatusBarComboBox(this._frameChanged.bind(this), "console-context");
+ this._contextSelector = new WebInspector.StatusBarComboBox(this._contextChanged.bind(this), "console-context");
if (hideContextSelector) {
+ this._frameSelector.element.addStyleClass("hidden");
this._contextSelector.element.addStyleClass("hidden");
- this._isolatedWorldSelector.element.addStyleClass("hidden");
}
this.messagesElement = document.createElement("div");
@@ -73,14 +73,17 @@ WebInspector.ConsoleView = function(hideContextSelector)
this._filterBarElement = document.createElement("div");
this._filterBarElement.className = "scope-bar status-bar-item";
- function createDividerElement() {
+ function createDividerElement()
+ {
var dividerElement = document.createElement("div");
dividerElement.addStyleClass("scope-bar-divider");
this._filterBarElement.appendChild(dividerElement);
}
var updateFilterHandler = this._updateFilter.bind(this);
- function createFilterElement(category, label) {
+
+ function createFilterElement(category, label)
+ {
var categoryElement = document.createElement("li");
categoryElement.category = category;
categoryElement.className = category;
@@ -117,6 +120,10 @@ WebInspector.ConsoleView = function(hideContextSelector)
this.prompt.attach(this.promptElement);
this.prompt.proxyElement.addEventListener("keydown", this._promptKeyDown.bind(this), false);
this.prompt.setHistoryData(WebInspector.settings.consoleHistory.get());
+
+ WebInspector.runtimeModel.contextLists().forEach(this._addFrame, this);
+ WebInspector.runtimeModel.addEventListener(WebInspector.RuntimeModel.Events.FrameExecutionContextListAdded, this._frameAdded, this);
+ WebInspector.runtimeModel.addEventListener(WebInspector.RuntimeModel.Events.FrameExecutionContextListRemoved, this._frameRemoved, this);
}
WebInspector.ConsoleView.Events = {
@@ -127,101 +134,118 @@ WebInspector.ConsoleView.Events = {
WebInspector.ConsoleView.prototype = {
get statusBarItems()
{
- return [this._clearConsoleButton.element, this._contextSelector.element, this._isolatedWorldSelector.element, this._filterBarElement];
+ return [this._clearConsoleButton.element, this._frameSelector.element, this._contextSelector.element, this._filterBarElement];
},
- addContext: function(context)
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _frameAdded: function(event)
+ {
+ var contextList = /** @type {WebInspector.FrameExecutionContextList} */ event.data;
+ this._addFrame(contextList);
+ },
+
+ /**
+ * @param {WebInspector.FrameExecutionContextList} contextList
+ */
+ _addFrame: function(contextList)
{
var option = document.createElement("option");
- option.text = context.displayName;
- option.title = context.url;
- option._context = context;
- context._consoleOption = option;
- this._contextSelector.addOption(option);
- context.addEventListener(WebInspector.FrameEvaluationContext.EventTypes.Updated, this._contextUpdated, this);
- context.addEventListener(WebInspector.FrameEvaluationContext.EventTypes.AddedExecutionContext, this._addedExecutionContext, this);
- this._updateIsolatedWorldSelector();
+ option.text = contextList.displayName;
+ option.title = contextList.url;
+ option._contextList = contextList;
+ contextList._consoleOption = option;
+ this._frameSelector.addOption(option);
+ contextList.addEventListener(WebInspector.FrameExecutionContextList.EventTypes.ContextsUpdated, this._frameUpdated, this);
+ contextList.addEventListener(WebInspector.FrameExecutionContextList.EventTypes.ContextAdded, this._contextAdded, this);
+ this._frameChanged();
},
- removeContext: function(context)
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _frameRemoved: function(event)
{
- this._contextSelector.removeOption(context._consoleOption);
- this._updateIsolatedWorldSelector();
+ var contextList = /** @type {WebInspector.FrameExecutionContextList} */ event.data;
+ this._frameSelector.removeOption(contextList._consoleOption);
+ this._frameChanged();
},
- _updateIsolatedWorldSelector: function()
+ _frameChanged: function()
{
- var context = this._currentEvaluationContext();
+ var context = this._currentFrame();
if (!context) {
- this._isolatedWorldSelector.element.addStyleClass("hidden");
+ delete this._currentExecutionContext;
+ this._contextSelector.element.addStyleClass("hidden");
return;
}
- var isolatedContexts = context.isolatedContexts();
- if (!isolatedContexts.length) {
- this._isolatedWorldSelector.element.addStyleClass("hidden");
+ var executionContexts = context.executionContexts();
+ if (executionContexts.length)
+ this._currentExecutionContext = executionContexts[0];
+
+ if (executionContexts.length === 1) {
+ this._contextSelector.element.addStyleClass("hidden");
return;
}
- this._isolatedWorldSelector.element.removeStyleClass("hidden");
- this._isolatedWorldSelector.removeOptions();
- this._appendIsolatedContextOption(context.mainWorldContext());
- for (var i = 0; i < isolatedContexts.length; i++)
- this._appendIsolatedContextOption(isolatedContexts[i]);
+ this._contextSelector.element.removeStyleClass("hidden");
+ this._contextSelector.removeOptions();
+ for (var i = 0; i < executionContexts.length; i++)
+ this._appendContextOption(executionContexts[i]);
},
- _appendIsolatedContextOption: function(isolatedContext)
+ /**
+ * @param {WebInspector.ExecutionContext} executionContext
+ */
+ _appendContextOption: function(executionContext)
{
- if (!isolatedContext)
- return;
+ if (!this._currentExecutionContext)
+ this._currentExecutionContext = executionContext;
var option = document.createElement("option");
- option.text = isolatedContext.name;
- option.title = isolatedContext.id;
- option._executionContextId = isolatedContext.id;
- this._isolatedWorldSelector.addOption(option);
- },
-
- _contextUpdated: function(event)
- {
- var context = event.data;
- var option = context._consoleOption;
- option.text = context.displayName;
- option.title = context.url;
+ option.text = executionContext.name;
+ option.title = executionContext.id;
+ option._executionContext = executionContext;
+ this._contextSelector.addOption(option);
},
- _addedExecutionContext: function(event)
+ /**
+ * @param {Event} event
+ */
+ _contextChanged: function(event)
{
- var context = event.data;
- if (context === this._currentEvaluationContext())
- this._updateIsolatedWorldSelector();
+ var option = this._contextSelector.selectedOption();
+ this._currentExecutionContext = option ? option._executionContext : undefined;
},
- _currentEvaluationContextId: function()
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _frameUpdated: function(event)
{
- var result = this._currentIsolatedContextId();
- if (result !== undefined)
- return result;
- var context = this._currentEvaluationContext();
- if (context && context.mainWorldContext())
- return context.mainWorldContext().id;
- return undefined;
+ var contextList = /** {WebInspector.FrameExecutionContextList */ event.data;
+ var option = contextList._consoleOption;
+ option.text = contextList.displayName;
+ option.title = contextList.url;
},
- _currentEvaluationContext: function()
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _contextAdded: function(event)
{
- var option = this._contextSelector.selectedOption();
- if (!option)
- return undefined;
- return option._context;
+ var contextList = /** {WebInspector.FrameExecutionContextList */ event.data;
+ if (contextList === this._currentFrame())
+ this._frameChanged();
},
- _currentIsolatedContextId: function()
+ /**
+ * @return {WebInspector.FrameExecutionContextList|undefined}
+ */
+ _currentFrame: function()
{
- if (this._isolatedWorldSelector.element.hasStyleClass("hidden"))
- return undefined;
- var option = this._isolatedWorldSelector.selectedOption();
- if (!option)
- return undefined;
- return option._executionContextId;
+ var option = this._frameSelector.selectedOption();
+ return option ? option._contextList : undefined;
},
_updateFilter: function(e)
@@ -361,6 +385,9 @@ WebInspector.ConsoleView.prototype = {
delete this._scrollIntoViewTimer;
},
+ /**
+ * @param {WebInspector.Event} event
+ */
_consoleMessageAdded: function(event)
{
this._appendConsoleMessage(event.data);
@@ -550,10 +577,10 @@ WebInspector.ConsoleView.prototype = {
return;
}
- var contextMenu = new WebInspector.ContextMenu();
+ if (event.target.enclosingNodeOrSelfWithNodeName("a"))
+ return;
- if (WebInspector.populateHrefContextMenu(contextMenu, null, event))
- contextMenu.appendSeparator();
+ var contextMenu = new WebInspector.ContextMenu();
function monitoringXHRItemAction()
{
@@ -683,8 +710,7 @@ WebInspector.ConsoleView.prototype = {
else
callback(WebInspector.RemoteObject.fromPayload(result), !!wasThrown);
}
- var contextId = this._currentEvaluationContextId();
- RuntimeAgent.evaluate(expression, objectGroup, includeCommandLineAPI, doNotPauseOnExceptionsAndMuteConsole, contextId, returnByValue, evalCallback);
+ RuntimeAgent.evaluate(expression, objectGroup, includeCommandLineAPI, doNotPauseOnExceptionsAndMuteConsole, this._currentExecutionContext ? this._currentExecutionContext.id : undefined, returnByValue, evalCallback);
},
evaluateUsingTextPrompt: function(expression, showResultOnly)
@@ -709,8 +735,7 @@ WebInspector.ConsoleView.prototype = {
runScript: function(scriptId)
{
- var contextId = WebInspector.consoleView._currentEvaluationContextId();
- DebuggerAgent.runScript(scriptId, contextId, "console", false, runCallback.bind(this));
+ DebuggerAgent.runScript(scriptId, this._currentExecutionContext ? this._currentExecutionContext.id : undefined, "console", false, runCallback.bind(this));
WebInspector.userMetrics.ConsoleEvaluated.record();
/**
diff --git a/Source/WebCore/inspector/front-end/ContentProviders.js b/Source/WebCore/inspector/front-end/ContentProviders.js
index e1c3996f3..9c19953dd 100644
--- a/Source/WebCore/inspector/front-end/ContentProviders.js
+++ b/Source/WebCore/inspector/front-end/ContentProviders.js
@@ -241,12 +241,14 @@ WebInspector.CompilerSourceMappingContentProvider.prototype.__proto__ = WebInspe
* @constructor
* @implements {WebInspector.ContentProvider}
* @param {WebInspector.ResourceType} contentType
- * @param {string} content
+ * @param {string} content
+ * @param {string=} mimeType
*/
-WebInspector.StaticContentProvider = function(contentType, content)
+WebInspector.StaticContentProvider = function(contentType, content, mimeType)
{
this._content = content;
this._contentType = contentType;
+ this._mimeType = mimeType;
}
WebInspector.StaticContentProvider.prototype = {
@@ -271,7 +273,7 @@ WebInspector.StaticContentProvider.prototype = {
*/
requestContent: function(callback)
{
- callback(this._content, false, this._contentType.canonicalMimeType());
+ callback(this._content, false, this._mimeType || this._contentType.canonicalMimeType());
},
/**
diff --git a/Source/WebCore/inspector/front-end/DOMAgent.js b/Source/WebCore/inspector/front-end/DOMAgent.js
index 45f201c1d..2f451f565 100644
--- a/Source/WebCore/inspector/front-end/DOMAgent.js
+++ b/Source/WebCore/inspector/front-end/DOMAgent.js
@@ -736,6 +736,21 @@ WebInspector.DOMNode.prototype = {
descendantUserPropertyCount: function(name)
{
return this._descendantUserPropertyCounters && this._descendantUserPropertyCounters[name] ? this._descendantUserPropertyCounters[name] : 0;
+ },
+
+ /**
+ * @param {string} url
+ * @return {?string}
+ */
+ resolveURL: function(url)
+ {
+ if (!url)
+ return url;
+ for (var frameOwnerCandidate = this; frameOwnerCandidate; frameOwnerCandidate = frameOwnerCandidate.parentNode) {
+ if (frameOwnerCandidate.documentURL)
+ return WebInspector.ParsedURL.completeURL(frameOwnerCandidate.documentURL, url);
+ }
+ return null;
}
}
diff --git a/Source/WebCore/inspector/front-end/DOMPresentationUtils.js b/Source/WebCore/inspector/front-end/DOMPresentationUtils.js
index 150fc5f74..905b78f9f 100644
--- a/Source/WebCore/inspector/front-end/DOMPresentationUtils.js
+++ b/Source/WebCore/inspector/front-end/DOMPresentationUtils.js
@@ -96,3 +96,51 @@ WebInspector.DOMPresentationUtils.linkifyNodeById = function(nodeId)
return document.createTextNode(WebInspector.UIString("<node>"));
return WebInspector.DOMPresentationUtils.linkifyNodeReference(node);
}
+
+/**
+ * @param {string} imageURL
+ * @param {boolean} showDimensions
+ * @param {function(Element=)} userCallback
+ * @param {Object=} precomputedDimensions
+ */
+WebInspector.DOMPresentationUtils.buildImagePreviewContents = function(imageURL, showDimensions, userCallback, precomputedDimensions)
+{
+ var resource = WebInspector.resourceTreeModel.resourceForURL(imageURL);
+ if (!resource) {
+ userCallback();
+ return;
+ }
+
+ var imageElement = document.createElement("img");
+ imageElement.addEventListener("load", buildContent, false);
+ imageElement.addEventListener("error", errorCallback, false);
+ resource.populateImageSource(imageElement);
+
+ function errorCallback()
+ {
+ // Drop the event parameter when invoking userCallback.
+ userCallback();
+ }
+
+ function buildContent()
+ {
+ var container = document.createElement("table");
+ container.className = "image-preview-container";
+ var naturalWidth = precomputedDimensions ? precomputedDimensions.naturalWidth : imageElement.naturalWidth;
+ var naturalHeight = precomputedDimensions ? precomputedDimensions.naturalHeight : imageElement.naturalHeight;
+ var offsetWidth = precomputedDimensions ? precomputedDimensions.offsetWidth : naturalWidth;
+ var offsetHeight = precomputedDimensions ? precomputedDimensions.offsetHeight : naturalHeight;
+ var description;
+ if (showDimensions) {
+ if (offsetHeight === naturalHeight && offsetWidth === naturalWidth)
+ description = WebInspector.UIString("%d \xd7 %d pixels", offsetWidth, offsetHeight);
+ else
+ description = WebInspector.UIString("%d \xd7 %d pixels (Natural: %d \xd7 %d pixels)", offsetWidth, offsetHeight, naturalWidth, naturalHeight);
+ }
+
+ container.createChild("tr").createChild("td", "image-container").appendChild(imageElement);
+ if (description)
+ container.createChild("tr").createChild("td").createChild("span", "description").textContent = description;
+ userCallback(container);
+ }
+}
diff --git a/Source/WebCore/inspector/front-end/Database.js b/Source/WebCore/inspector/front-end/Database.js
index 72389c5ab..caaedb587 100644
--- a/Source/WebCore/inspector/front-end/Database.js
+++ b/Source/WebCore/inspector/front-end/Database.js
@@ -79,12 +79,6 @@ WebInspector.Database.prototype = {
this._domain = x;
},
- /** @return {string} */
- get displayDomain()
- {
- return WebInspector.displayDomain(this._domain);
- },
-
/**
* @param {function(Array.<string>)} callback
*/
@@ -100,22 +94,35 @@ WebInspector.Database.prototype = {
/**
* @param {string} query
- * @param {function(Array.<string>, Array.<*>)} onSuccess
- * @param {function(DatabaseAgent.Error)} onError
+ * @param {function(Array.<string>=, Array.<*>=)} onSuccess
+ * @param {function(string)} onError
*/
executeSql: function(query, onSuccess, onError)
{
- function callback(error, success, transactionId)
+ /**
+ * @param {?Protocol.Error} error
+ * @param {Array.<string>=} columnNames
+ * @param {Array.<*>=} values
+ * @param {DatabaseAgent.Error=} errorObj
+ */
+ function callback(error, columnNames, values, errorObj)
{
if (error) {
onError(error);
return;
}
- if (!success) {
- onError(WebInspector.UIString("Database not found."));
+ if (errorObj) {
+ var message;
+ if (errorObj.message)
+ message = errorObj.message;
+ else if (errorObj.code == 2)
+ message = WebInspector.UIString("Database no longer has expected version.");
+ else
+ message = WebInspector.UIString("An unexpected error %s occurred.", errorObj.code);
+ onError(message);
return;
}
- this._model._callbacks[transactionId] = {"onSuccess": onSuccess, "onError": onError};
+ onSuccess(columnNames, values);
}
DatabaseAgent.executeSQL(this._id, query, callback.bind(this));
}
@@ -127,7 +134,6 @@ WebInspector.Database.prototype = {
*/
WebInspector.DatabaseModel = function()
{
- this._callbacks = {};
this._databases = [];
InspectorBackend.registerDatabaseDispatcher(new WebInspector.DatabaseDispatcher(this));
DatabaseAgent.enable();
@@ -165,37 +171,6 @@ WebInspector.DatabaseModel.prototype = {
{
this._databases.push(database);
this.dispatchEventToListeners(WebInspector.DatabaseModel.Events.DatabaseAdded, database);
- },
-
- /**
- * @param {number} transactionId
- * @param {Array.<string>} columnNames
- * @param {Array.<*>} values
- */
- _sqlTransactionSucceeded: function(transactionId, columnNames, values)
- {
- if (!this._callbacks[transactionId])
- return;
-
- var callback = this._callbacks[transactionId]["onSuccess"];
- delete this._callbacks[transactionId];
- if (callback)
- callback(columnNames, values);
- },
-
- /**
- * @param {number} transactionId
- * @param {?DatabaseAgent.Error} errorObj
- */
- _sqlTransactionFailed: function(transactionId, errorObj)
- {
- if (!this._callbacks[transactionId])
- return;
-
- var callback = this._callbacks[transactionId]["onError"];
- delete this._callbacks[transactionId];
- if (callback)
- callback(errorObj);
}
}
@@ -211,8 +186,6 @@ WebInspector.DatabaseDispatcher = function(model)
this._model = model;
}
-WebInspector.DatabaseDispatcher._callbacks = {};
-
WebInspector.DatabaseDispatcher.prototype = {
/**
* @param {DatabaseAgent.Database} payload
@@ -225,25 +198,6 @@ WebInspector.DatabaseDispatcher.prototype = {
payload.domain,
payload.name,
payload.version));
- },
-
- /**
- * @param {number} transactionId
- * @param {Array.<string>} columnNames
- * @param {Array.<*>} values
- */
- sqlTransactionSucceeded: function(transactionId, columnNames, values)
- {
- this._model._sqlTransactionSucceeded(transactionId, columnNames, values);
- },
-
- /**
- * @param {number} transactionId
- * @param {?DatabaseAgent.Error} errorObj
- */
- sqlTransactionFailed: function(transactionId, errorObj)
- {
- this._model._sqlTransactionFailed(transactionId, errorObj);
}
}
diff --git a/Source/WebCore/inspector/front-end/DatabaseQueryView.js b/Source/WebCore/inspector/front-end/DatabaseQueryView.js
index 38df46a22..db06c1cb2 100644
--- a/Source/WebCore/inspector/front-end/DatabaseQueryView.js
+++ b/Source/WebCore/inspector/front-end/DatabaseQueryView.js
@@ -148,18 +148,9 @@ WebInspector.DatabaseQueryView.prototype = {
this.dispatchEventToListeners(WebInspector.DatabaseQueryView.Events.SchemaUpdated, this.database);
},
- _queryError: function(query, error)
+ _queryError: function(query, errorMessage)
{
- if (typeof error === "string")
- var message = error;
- else if (error.message)
- var message = error.message;
- else if (error.code == 2)
- var message = WebInspector.UIString("Database no longer has expected version.");
- else
- var message = WebInspector.UIString("An unexpected error %s occurred.", error.code);
-
- this._appendErrorQueryResult(query, message);
+ this._appendErrorQueryResult(query, errorMessage);
},
/**
diff --git a/Source/WebCore/inspector/front-end/DebuggerModel.js b/Source/WebCore/inspector/front-end/DebuggerModel.js
index e8e2d4b4f..328c54e8f 100644
--- a/Source/WebCore/inspector/front-end/DebuggerModel.js
+++ b/Source/WebCore/inspector/front-end/DebuggerModel.js
@@ -94,7 +94,8 @@ WebInspector.DebuggerModel.BreakReason = {
DOM: "DOM",
EventListener: "EventListener",
XHR: "XHR",
- Exception: "exception"
+ Exception: "exception",
+ Assert: "assert"
}
WebInspector.DebuggerModel.prototype = {
@@ -394,19 +395,6 @@ WebInspector.DebuggerModel.prototype = {
},
/**
- * @param {string} sourceURL
- * @param {string} source
- * @param {number} startingLine
- * @param {number} errorLine
- * @param {string} errorMessage
- */
- _failedToParseScriptSource: function(sourceURL, source, startingLine, errorLine, errorMessage)
- {
- var script = new WebInspector.Script("", sourceURL, startingLine, 0, 0, 0, false);
- this.dispatchEventToListeners(WebInspector.DebuggerModel.Events.FailedToParseScriptSource, script);
- },
-
- /**
* @param {WebInspector.Script} script
* @param {number} lineNumber
* @param {number} columnNumber
@@ -663,7 +651,6 @@ WebInspector.DebuggerDispatcher.prototype = {
*/
scriptFailedToParse: function(sourceURL, source, startingLine, errorLine, errorMessage)
{
- this._debuggerModel._failedToParseScriptSource(sourceURL, source, startingLine, errorLine, errorMessage);
},
/**
diff --git a/Source/WebCore/inspector/front-end/DebuggerScriptMapping.js b/Source/WebCore/inspector/front-end/DebuggerScriptMapping.js
index 9c5034a49..12ce92801 100644
--- a/Source/WebCore/inspector/front-end/DebuggerScriptMapping.js
+++ b/Source/WebCore/inspector/front-end/DebuggerScriptMapping.js
@@ -31,13 +31,13 @@
/**
* @constructor
*/
-WebInspector.DebuggerScriptMapping = function()
+WebInspector.DebuggerScriptMapping = function(workspace)
{
this._mappings = [];
- this._resourceMapping = new WebInspector.ResourceScriptMapping();
+ this._resourceMapping = new WebInspector.ResourceScriptMapping(workspace);
this._mappings.push(this._resourceMapping);
- this._compilerMapping = new WebInspector.CompilerScriptMapping();
+ this._compilerMapping = new WebInspector.CompilerScriptMapping(workspace);
this._mappings.push(this._compilerMapping);
this._snippetMapping = WebInspector.scriptSnippetModel.scriptMapping;
this._mappings.push(this._snippetMapping);
@@ -48,14 +48,6 @@ WebInspector.DebuggerScriptMapping = function()
WebInspector.DebuggerScriptMapping.prototype = {
/**
- * @return {Array.<WebInspector.UISourceCodeProvider>}
- */
- uiSourceCodeProviders: function()
- {
- return this._mappings;
- },
-
- /**
* @param {WebInspector.Event} event
*/
_parsedScriptSource: function(event)
diff --git a/Source/WebCore/inspector/front-end/DefaultTextEditor.js b/Source/WebCore/inspector/front-end/DefaultTextEditor.js
index 0b56980d1..3a45c6a77 100644
--- a/Source/WebCore/inspector/front-end/DefaultTextEditor.js
+++ b/Source/WebCore/inspector/front-end/DefaultTextEditor.js
@@ -55,7 +55,7 @@ WebInspector.DefaultTextEditor = function(url, delegate)
var syncScrollListener = this._syncScroll.bind(this);
var syncDecorationsForLineListener = this._syncDecorationsForLine.bind(this);
var syncLineHeightListener = this._syncLineHeight.bind(this);
- this._mainPanel = new WebInspector.TextEditorMainPanel(this._textModel, url, syncScrollListener, syncDecorationsForLineListener, enterTextChangeMode, exitTextChangeMode);
+ this._mainPanel = new WebInspector.TextEditorMainPanel(this._delegate, this._textModel, url, syncScrollListener, syncDecorationsForLineListener, enterTextChangeMode, exitTextChangeMode);
this._gutterPanel = new WebInspector.TextEditorGutterPanel(this._textModel, syncDecorationsForLineListener, syncLineHeightListener);
this._mainPanel.element.addEventListener("scroll", this._handleScrollChanged.bind(this), false);
@@ -413,6 +413,9 @@ WebInspector.DefaultTextEditor.prototype = {
_contextMenu: function(event)
{
+ var anchor = event.target.enclosingNodeOrSelfWithNodeName("a");
+ if (anchor)
+ return;
var contextMenu = new WebInspector.ContextMenu();
var target = event.target.enclosingNodeOrSelfWithClass("webkit-line-number");
if (target)
@@ -1208,13 +1211,15 @@ WebInspector.TextEditorGutterChunk.prototype = {
/**
* @constructor
* @extends {WebInspector.TextEditorChunkedPanel}
+ * @param {WebInspector.TextEditorDelegate} delegate
* @param {WebInspector.TextEditorModel} textModel
* @param {?string} url
*/
-WebInspector.TextEditorMainPanel = function(textModel, url, syncScrollListener, syncDecorationsForLineListener, enterTextChangeMode, exitTextChangeMode)
+WebInspector.TextEditorMainPanel = function(delegate, textModel, url, syncScrollListener, syncDecorationsForLineListener, enterTextChangeMode, exitTextChangeMode)
{
WebInspector.TextEditorChunkedPanel.call(this, textModel);
+ this._delegate = delegate;
this._syncScrollListener = syncScrollListener;
this._syncDecorationsForLineListener = syncDecorationsForLineListener;
this._enterTextChangeMode = enterTextChangeMode;
@@ -2091,28 +2096,16 @@ WebInspector.TextEditorMainPanel.prototype = {
else
quote = null;
- var a = WebInspector.linkifyURLAsNode(this._rewriteHref(content), content, undefined, isExternal);
var span = document.createElement("span");
span.className = "webkit-html-attribute-value";
if (quote)
span.appendChild(document.createTextNode(quote));
- span.appendChild(a);
+ span.appendChild(this._delegate.createLink(content, isExternal));
if (quote)
span.appendChild(document.createTextNode(quote));
return span;
},
- /**
- * @param {string=} hrefValue
- * @param {boolean=} isExternal
- */
- _rewriteHref: function(hrefValue, isExternal)
- {
- if (!this._url || !hrefValue || hrefValue.indexOf("://") > 0)
- return hrefValue;
- return WebInspector.ParsedURL.completeURL(this._url, hrefValue);
- },
-
_handleDOMUpdates: function(e)
{
if (this._domUpdateCoalescingLevel)
diff --git a/Source/WebCore/inspector/front-end/ElementsPanel.js b/Source/WebCore/inspector/front-end/ElementsPanel.js
index cdc8f535c..2a4ff973c 100644
--- a/Source/WebCore/inspector/front-end/ElementsPanel.js
+++ b/Source/WebCore/inspector/front-end/ElementsPanel.js
@@ -336,8 +336,7 @@ WebInspector.ElementsPanel.prototype = {
var contextMenu = new WebInspector.ContextMenu();
var populated = this.treeOutline.populateContextMenu(contextMenu, event);
- if (populated)
- contextMenu.appendSeparator();
+ contextMenu.appendSeparator();
contextMenu.appendCheckboxItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Word wrap" : "Word Wrap"), toggleWordWrap.bind(this), WebInspector.settings.domWordWrap.get());
contextMenu.show(event);
@@ -433,9 +432,9 @@ WebInspector.ElementsPanel.prototype = {
{
var listItem = anchor.enclosingNodeOrSelfWithNodeName("li");
if (listItem && listItem.treeElement)
- this._loadDimensionsForNode(listItem.treeElement, WebInspector.buildImagePreviewContents.bind(WebInspector, anchor.href, true, showPopover));
+ this._loadDimensionsForNode(listItem.treeElement, WebInspector.DOMPresentationUtils.buildImagePreviewContents.bind(WebInspector.DOMPresentationUtils, anchor.href, true, showPopover));
else
- WebInspector.buildImagePreviewContents(anchor.href, true, showPopover);
+ WebInspector.DOMPresentationUtils.buildImagePreviewContents(anchor.href, true, showPopover);
/**
* @param {Element=} contents
@@ -1077,6 +1076,32 @@ WebInspector.ElementsPanel.prototype = {
WebInspector.domAgent.highlightDOMNodeForTwoSeconds(nodeId);
this.selectDOMNode(node, true);
+ },
+
+ /**
+ * @param {WebInspector.ContextMenu} contextMenu
+ * @param {Object} target
+ */
+ appendApplicableItems: function(contextMenu, target)
+ {
+ if (!(target instanceof WebInspector.RemoteObject))
+ return;
+ var remoteObject = /** @type {WebInspector.RemoteObject} */ target;
+ if (remoteObject.subtype !== "node")
+ return;
+
+ function selectNode(nodeId)
+ {
+ if (nodeId)
+ WebInspector.domAgent.inspectElement(nodeId);
+ }
+
+ function revealElement()
+ {
+ remoteObject.pushNodeToFrontend(selectNode);
+ }
+
+ contextMenu.appendItem(WebInspector.UIString("Reveal in Elements Panel"), revealElement.bind(this));
}
}
diff --git a/Source/WebCore/inspector/front-end/ElementsPanelDescriptor.js b/Source/WebCore/inspector/front-end/ElementsPanelDescriptor.js
new file mode 100644
index 000000000..d524d15a8
--- /dev/null
+++ b/Source/WebCore/inspector/front-end/ElementsPanelDescriptor.js
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 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 GOOGLE 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 GOOGLE 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.
+ */
+
+/**
+ * @constructor
+ * @extends {WebInspector.PanelDescriptor}
+ * @implements {WebInspector.ContextMenu.Provider}
+ */
+WebInspector.ElementsPanelDescriptor = function()
+{
+ WebInspector.PanelDescriptor.call(this, "elements", WebInspector.UIString("Elements"), "ElementsPanel", "ElementsPanel.js");
+ WebInspector.ContextMenu.registerProvider(this);
+}
+
+WebInspector.ElementsPanelDescriptor.prototype = {
+ /**
+ * @param {WebInspector.ContextMenu} contextMenu
+ * @param {Object} target
+ */
+ appendApplicableItems: function(contextMenu, target)
+ {
+ if (!(target instanceof WebInspector.RemoteObject))
+ return;
+ var remoteObject = /** @type {WebInspector.RemoteObject} */ target;
+ if (remoteObject.subtype !== "node")
+ return;
+ this.panel().appendApplicableItems(contextMenu, target);
+ }
+}
+
+WebInspector.ElementsPanelDescriptor.prototype.__proto__ = WebInspector.PanelDescriptor.prototype;
diff --git a/Source/WebCore/inspector/front-end/ElementsTreeOutline.js b/Source/WebCore/inspector/front-end/ElementsTreeOutline.js
index fa3bfe94f..81836364d 100644
--- a/Source/WebCore/inspector/front-end/ElementsTreeOutline.js
+++ b/Source/WebCore/inspector/front-end/ElementsTreeOutline.js
@@ -71,6 +71,23 @@ WebInspector.ElementsTreeOutline.Events = {
SelectedNodeChanged: "SelectedNodeChanged"
}
+WebInspector.ElementsTreeOutline.MappedCharToEntity = {
+ "\u00a0": "nbsp",
+ "\u2002": "ensp",
+ "\u2003": "emsp",
+ "\u2009": "thinsp",
+ "\u200b": "#8203", // ZWSP
+ "\u200c": "zwnj",
+ "\u200d": "zwj",
+ "\u200e": "lrm",
+ "\u200f": "rlm",
+ "\u202a": "#8234", // LRE
+ "\u202b": "#8235", // RLE
+ "\u202c": "#8236", // PDF
+ "\u202d": "#8237", // LRO
+ "\u202e": "#8238" // RLO
+}
+
WebInspector.ElementsTreeOutline.prototype = {
_createNodeDecorators: function()
{
@@ -483,25 +500,17 @@ WebInspector.ElementsTreeOutline.prototype = {
if (textNode && textNode.hasStyleClass("bogus"))
textNode = null;
var commentNode = event.target.enclosingNodeOrSelfWithClass("webkit-html-comment");
- var populated = WebInspector.populateHrefContextMenu(contextMenu, this.selectedDOMNode(), event);
- if (textNode && treeElement._populateTextContextMenu) {
- if (populated)
- contextMenu.appendSeparator();
+ contextMenu.appendApplicableItems(event.target);
+ if (textNode) {
+ contextMenu.appendSeparator();
treeElement._populateTextContextMenu(contextMenu, textNode);
- populated = true;
- } else if (isTag && treeElement._populateTagContextMenu) {
- if (populated)
- contextMenu.appendSeparator();
+ } else if (isTag) {
+ contextMenu.appendSeparator();
treeElement._populateTagContextMenu(contextMenu, event);
- populated = true;
- } else if (commentNode && treeElement._populateNodeContextMenu) {
- if (populated)
- contextMenu.appendSeparator();
+ } else if (commentNode) {
+ contextMenu.appendSeparator();
treeElement._populateNodeContextMenu(contextMenu, textNode);
- populated = true;
}
-
- return populated;
},
adjustCollapsedRange: function()
@@ -1310,7 +1319,7 @@ WebInspector.ElementsTreeElement.prototype = {
var container = textNode.enclosingNodeOrSelfWithClass("webkit-html-text-node");
if (container)
- container.innerText = container.innerText; // Strip the CSS or JS highlighting if present.
+ container.innerText = textNode._originalContent; // Strip the CSS or JS highlighting if present.
var config = new WebInspector.EditingConfig(this._textNodeEditingCommitted.bind(this), this._editingCancelled.bind(this));
this._editing = WebInspector.startEditing(textNode, config);
window.getSelection().setBaseAndExtent(textNode, 0, textNode, 1);
@@ -1664,7 +1673,7 @@ WebInspector.ElementsTreeElement.prototype = {
attrSpanElement.appendChild(document.createTextNode("=\u200B\""));
if (linkify && (name === "src" || name === "href")) {
- var rewrittenHref = WebInspector.resourceURLForRelatedNode(node, value);
+ var rewrittenHref = node.resolveURL(value);
value = value.replace(/([\/;:\)\]\}])/g, "$1\u200B");
if (rewrittenHref === null) {
var attrValueElement = attrSpanElement.createChild("span", "webkit-html-attribute-value");
@@ -1711,6 +1720,25 @@ WebInspector.ElementsTreeElement.prototype = {
parentElement.appendChild(document.createTextNode("\u200B"));
},
+ _convertWhitespaceToEntities: function(text)
+ {
+ var result = "";
+ var lastIndexAfterEntity = 0;
+ var charToEntity = WebInspector.ElementsTreeOutline.MappedCharToEntity;
+ for (var i = 0, size = text.length; i < size; ++i) {
+ var char = text.charAt(i);
+ if (charToEntity[char]) {
+ result += text.substring(lastIndexAfterEntity, i) + "&" + charToEntity[char] + ";";
+ lastIndexAfterEntity = i + 1;
+ }
+ }
+ if (result) {
+ result += text.substring(lastIndexAfterEntity);
+ return result;
+ }
+ return text;
+ },
+
_nodeTitleInfo: function(linkify)
{
var node = this.representedObject;
@@ -1749,7 +1777,8 @@ WebInspector.ElementsTreeElement.prototype = {
// create a subtree for them
if (showInlineText) {
var textNodeElement = info.titleDOM.createChild("span", "webkit-html-text-node");
- textNodeElement.textContent = textChild.nodeValue();
+ textNodeElement.textContent = this._convertWhitespaceToEntities(textChild.nodeValue());
+ textNodeElement._originalContent = textChild.nodeValue();
info.titleDOM.appendChild(document.createTextNode("\u200B"));
this._buildTagDOM(info.titleDOM, tagName, true, false);
info.hasChildren = false;
@@ -1772,7 +1801,8 @@ WebInspector.ElementsTreeElement.prototype = {
} else {
info.titleDOM.appendChild(document.createTextNode("\""));
var textNodeElement = info.titleDOM.createChild("span", "webkit-html-text-node");
- textNodeElement.textContent = node.nodeValue();
+ textNodeElement.textContent = this._convertWhitespaceToEntities(node.nodeValue());
+ textNodeElement._originalContent = node.nodeValue();
info.titleDOM.appendChild(document.createTextNode("\""));
}
break;
@@ -1970,10 +2000,33 @@ WebInspector.ElementsTreeUpdater = function(treeOutline)
WebInspector.domAgent.addEventListener(WebInspector.DOMAgent.Events.ChildNodeCountUpdated, this._childNodeCountUpdated, this);
this._treeOutline = treeOutline;
- this._recentlyModifiedNodes = [];
+ this._recentlyModifiedNodes = new Map();
}
WebInspector.ElementsTreeUpdater.prototype = {
+
+ /**
+ * @param {!WebInspector.DOMNode} node
+ * @param {boolean} isUpdated
+ * @param {WebInspector.DOMNode=} parentNode
+ */
+ _nodeModified: function(node, isUpdated, parentNode)
+ {
+ if (this._treeOutline._visible)
+ this._updateModifiedNodesSoon();
+
+ var entry = /** @type {WebInspector.ElementsTreeUpdater.UpdateEntry} */ this._recentlyModifiedNodes.get(node);
+ if (!entry) {
+ entry = new WebInspector.ElementsTreeUpdater.UpdateEntry(isUpdated, parentNode);
+ this._recentlyModifiedNodes.put(node, entry);
+ return;
+ }
+
+ entry.isUpdated |= isUpdated;
+ if (parentNode)
+ entry.parent = parentNode;
+ },
+
_documentUpdated: function(event)
{
var inspectedRootDocument = event.data;
@@ -1988,30 +2041,22 @@ WebInspector.ElementsTreeUpdater.prototype = {
_attributesUpdated: function(event)
{
- this._recentlyModifiedNodes.push({node: event.data.node, updated: true});
- if (this._treeOutline._visible)
- this._updateModifiedNodesSoon();
+ this._nodeModified(event.data.node, true);
},
_characterDataModified: function(event)
{
- this._recentlyModifiedNodes.push({node: event.data, updated: true});
- if (this._treeOutline._visible)
- this._updateModifiedNodesSoon();
+ this._nodeModified(event.data, true);
},
_nodeInserted: function(event)
{
- this._recentlyModifiedNodes.push({node: event.data, parent: event.data.parentNode, inserted: true});
- if (this._treeOutline._visible)
- this._updateModifiedNodesSoon();
+ this._nodeModified(event.data, false, event.data.parentNode);
},
_nodeRemoved: function(event)
{
- this._recentlyModifiedNodes.push({node: event.data.node, parent: event.data.parent, removed: true});
- if (this._treeOutline._visible)
- this._updateModifiedNodesSoon();
+ this._nodeModified(event.data.node, false, event.data.parent);
},
_childNodeCountUpdated: function(event)
@@ -2025,7 +2070,7 @@ WebInspector.ElementsTreeUpdater.prototype = {
{
if (this._updateModifiedNodesTimeout)
return;
- this._updateModifiedNodesTimeout = setTimeout(this._updateModifiedNodes.bind(this), 0);
+ this._updateModifiedNodesTimeout = setTimeout(this._updateModifiedNodes.bind(this), 50);
},
_updateModifiedNodes: function()
@@ -2037,15 +2082,18 @@ WebInspector.ElementsTreeUpdater.prototype = {
var updatedParentTreeElements = [];
- var hidePanelWhileUpdating = this._recentlyModifiedNodes.length > 10;
+ var hidePanelWhileUpdating = this._recentlyModifiedNodes.size() > 10;
if (hidePanelWhileUpdating) {
var treeOutlineContainerElement = this._treeOutline.element.parentNode;
this._treeOutline.element.addStyleClass("hidden");
var originalScrollTop = treeOutlineContainerElement ? treeOutlineContainerElement.scrollTop : 0;
}
- for (var i = 0; i < this._recentlyModifiedNodes.length; ++i) {
- var parent = this._recentlyModifiedNodes[i].parent;
+ var keys = this._recentlyModifiedNodes.keys();
+ for (var i = 0, size = keys.length; i < size; ++i) {
+ var node = keys[i];
+ var entry = this._recentlyModifiedNodes.get(node);
+ var parent = entry.parent;
if (parent === this._treeOutline._rootDOMNode) {
// Document's children have changed, perform total update.
@@ -2054,13 +2102,10 @@ WebInspector.ElementsTreeUpdater.prototype = {
return;
}
- var node = this._recentlyModifiedNodes[i].node;
-
- if (this._recentlyModifiedNodes[i].updated) {
+ if (entry.isUpdated) {
var nodeItem = this._treeOutline.findTreeElement(node);
if (nodeItem)
nodeItem.updateTitle();
- continue;
}
if (!parent)
@@ -2083,7 +2128,7 @@ WebInspector.ElementsTreeUpdater.prototype = {
treeOutlineContainerElement.scrollTop = originalScrollTop;
this._treeOutline.updateSelection();
}
- this._recentlyModifiedNodes = [];
+ this._recentlyModifiedNodes.clear();
},
_reset: function()
@@ -2091,6 +2136,18 @@ WebInspector.ElementsTreeUpdater.prototype = {
this._treeOutline.rootDOMNode = null;
this._treeOutline.selectDOMNode(null, false);
WebInspector.domAgent.hideDOMNodeHighlight();
- this._recentlyModifiedNodes = [];
+ this._recentlyModifiedNodes.clear();
}
}
+
+/**
+ * @constructor
+ * @param {boolean} isUpdated
+ * @param {WebInspector.DOMNode=} parent
+ */
+WebInspector.ElementsTreeUpdater.UpdateEntry = function(isUpdated, parent)
+{
+ this.isUpdated = isUpdated;
+ if (parent)
+ this.parent = parent;
+}
diff --git a/Source/WebCore/inspector/front-end/ExtensionServer.js b/Source/WebCore/inspector/front-end/ExtensionServer.js
index f9e763ab0..ec3811b69 100644
--- a/Source/WebCore/inspector/front-end/ExtensionServer.js
+++ b/Source/WebCore/inspector/front-end/ExtensionServer.js
@@ -767,7 +767,7 @@ WebInspector.ExtensionServer.prototype = {
var mainFrame = WebInspector.resourceTreeModel.mainFrame;
if (!mainFrame)
return this._status.E_FAILED("main frame not available yet");
- var context = WebInspector.javaScriptContextManager.contextByFrameAndSecurityOrigin(mainFrame, securityOrigin);
+ var context = WebInspector.runtimeModel.contextByFrameAndSecurityOrigin(mainFrame, securityOrigin);
if (!context)
return this._status.E_NOTFOUND(securityOrigin);
contextId = context.id;
diff --git a/Source/WebCore/inspector/front-end/FileSystemModel.js b/Source/WebCore/inspector/front-end/FileSystemModel.js
index 30edd84e8..81439ce80 100644
--- a/Source/WebCore/inspector/front-end/FileSystemModel.js
+++ b/Source/WebCore/inspector/front-end/FileSystemModel.js
@@ -44,7 +44,7 @@ WebInspector.FileSystemModel = function()
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, this._frameDetached, this);
- this._agentWrapper = new WebInspector.FileSystemRequestManager();
+ FileSystemAgent.enable();
if (WebInspector.resourceTreeModel.mainFrame)
this._attachFrameRecursively(WebInspector.resourceTreeModel.mainFrame);
@@ -148,7 +148,32 @@ WebInspector.FileSystemModel.prototype = {
var types = ["persistent", "temporary"];
for (var i = 0; i < types.length; ++i)
- this._agentWrapper.requestFileSystemRoot(origin, types[i], this._fileSystemRootReceived.bind(this, origin, types[i], this._fileSystemsForOrigin[origin]));
+ this._requestFileSystemRoot(origin, types[i], this._fileSystemRootReceived.bind(this, origin, types[i], this._fileSystemsForOrigin[origin]));
+ },
+
+ /**
+ * @param {string} origin
+ * @param {string} type
+ * @param {function(number, FileSystemAgent.Entry=)} callback
+ */
+ _requestFileSystemRoot: function(origin, type, callback)
+ {
+ /**
+ * @param {?Protocol.Error} error
+ * @param {number} errorCode
+ * @param {FileSystemAgent.Entry=} backendRootEntry
+ */
+ function innerCallback(error, errorCode, backendRootEntry)
+ {
+ if (error) {
+ callback(FileError.SECURITY_ERR);
+ return;
+ }
+
+ callback(errorCode, backendRootEntry);
+ }
+
+ FileSystemAgent.requestFileSystemRoot(origin, type, innerCallback.bind(this));
},
/**
@@ -197,7 +222,7 @@ WebInspector.FileSystemModel.prototype = {
*/
_fileSystemRootReceived: function(origin, type, store, errorCode, backendRootEntry)
{
- if (errorCode === 0 && backendRootEntry && this._fileSystemsForOrigin[origin] === store) {
+ if (!errorCode && backendRootEntry && this._fileSystemsForOrigin[origin] === store) {
var fileSystem = new WebInspector.FileSystemModel.FileSystem(this, origin, type, backendRootEntry);
store[type] = fileSystem;
this._fileSystemAdded(fileSystem);
@@ -210,7 +235,36 @@ WebInspector.FileSystemModel.prototype = {
*/
requestDirectoryContent: function(directory, callback)
{
- this._agentWrapper.requestDirectoryContent(directory.url, this._directoryContentReceived.bind(this, directory, callback));
+ this._requestDirectoryContent(directory.url, this._directoryContentReceived.bind(this, directory, callback));
+ },
+
+ /**
+ * @param {string} url
+ * @param {function(number, Array.<FileSystemAgent.Entry>=)} callback
+ */
+ _requestDirectoryContent: function(url, callback)
+ {
+ /**
+ * @param {?Protocol.Error} error
+ * @param {number} errorCode
+ * @param {Array.<FileSystemAgent.Entry>=} backendEntries
+ */
+ function innerCallback(error, errorCode, backendEntries)
+ {
+ if (error) {
+ callback(FileError.SECURITY_ERR);
+ return;
+ }
+
+ if (errorCode !== 0) {
+ callback(errorCode, null);
+ return;
+ }
+
+ callback(errorCode, backendEntries);
+ }
+
+ FileSystemAgent.requestDirectoryContent(url, innerCallback.bind(this));
},
/**
@@ -221,11 +275,6 @@ WebInspector.FileSystemModel.prototype = {
*/
_directoryContentReceived: function(parentDirectory, callback, errorCode, backendEntries)
{
- if (errorCode !== 0) {
- callback(errorCode, null);
- return;
- }
-
var entries = [];
for (var i = 0; i < backendEntries.length; ++i) {
if (backendEntries[i].isDirectory)
@@ -243,7 +292,22 @@ WebInspector.FileSystemModel.prototype = {
*/
requestMetadata: function(entry, callback)
{
- this._agentWrapper.requestMetadata(entry.url, callback);
+ /**
+ * @param {?Protocol.Error} error
+ * @param {number} errorCode
+ * @param {FileSystemAgent.Metadata=} metadata
+ */
+ function innerCallback(error, errorCode, metadata)
+ {
+ if (error) {
+ callback(FileError.SECURITY_ERR);
+ return;
+ }
+
+ callback(errorCode, metadata);
+ }
+
+ FileSystemAgent.requestMetadata(entry.url, innerCallback.bind(this));
},
/**
@@ -256,7 +320,98 @@ WebInspector.FileSystemModel.prototype = {
*/
requestFileContent: function(file, readAsText, start, end, charset, callback)
{
- this._agentWrapper.requestFileContent(file.url, readAsText, start, end, charset, callback);
+ this._requestFileContent(file.url, readAsText, start, end, charset, callback);
+ },
+
+ /**
+ * @param {string} url
+ * @param {boolean} readAsText
+ * @param {number=} start
+ * @param {number=} end
+ * @param {string=} charset
+ * @param {function(number, string=, string=)=} callback
+ */
+ _requestFileContent: function(url, readAsText, start, end, charset, callback)
+ {
+ /**
+ * @param {?Protocol.Error} error
+ * @param {number} errorCode
+ * @param {string=} content
+ * @param {string=} charset
+ */
+ function innerCallback(error, errorCode, content, charset)
+ {
+ if (error) {
+ if (callback)
+ callback(FileError.SECURITY_ERR);
+ return;
+ }
+
+ if (callback)
+ callback(errorCode, content, charset);
+ }
+
+ FileSystemAgent.requestFileContent(url, readAsText, start, end, charset, innerCallback.bind(this));
+ },
+ /**
+ * @param {WebInspector.FileSystemModel.Entry} entry
+ * @param {function(number)=} callback
+ */
+ deleteEntry: function(entry, callback)
+ {
+ var fileSystemModel = this;
+ if (entry === entry.fileSystem.root)
+ this._deleteEntry(entry.url, hookFileSystemDeletion);
+ else
+ this._deleteEntry(entry.url, callback);
+
+ function hookFileSystemDeletion(errorCode)
+ {
+ callback(errorCode);
+ if (!errorCode)
+ fileSystemModel._removeFileSystem(entry.fileSystem);
+ }
+ },
+
+ /**
+ * @param {string} url
+ * @param {function(number)=} callback
+ */
+ _deleteEntry: function(url, callback)
+ {
+ /**
+ * @param {?Protocol.Error} error
+ * @param {number} errorCode
+ */
+ function innerCallback(error, errorCode)
+ {
+ if (error) {
+ if (callback)
+ callback(FileError.SECURITY_ERR);
+ return;
+ }
+
+ if (callback)
+ callback(errorCode);
+ }
+
+ FileSystemAgent.deleteEntry(url, innerCallback.bind(this));
+ },
+
+ /**
+ * @param {WebInspector.FileSystemModel.FileSystem} fileSystem
+ */
+ _removeFileSystem: function(fileSystem)
+ {
+ var origin = fileSystem.origin;
+ var type = fileSystem.type;
+ if (this._fileSystemsForOrigin[origin] && this._fileSystemsForOrigin[origin][type]) {
+ delete this._fileSystemsForOrigin[origin][type];
+ this._fileSystemRemoved(fileSystem);
+
+ if (Object.isEmpty(this._fileSystemsForOrigin[origin]))
+ delete this._fileSystemsForOrigin[origin];
+ }
}
}
@@ -367,6 +522,14 @@ WebInspector.FileSystemModel.Entry.prototype = {
requestMetadata: function(callback)
{
this.fileSystemModel.requestMetadata(this, callback);
+ },
+
+ /**
+ * @param {function(number)} callback
+ */
+ deleteEntry: function(callback)
+ {
+ this.fileSystemModel.deleteEntry(this, callback);
}
}
@@ -449,210 +612,3 @@ WebInspector.FileSystemModel.File.prototype = {
}
WebInspector.FileSystemModel.File.prototype.__proto__ = WebInspector.FileSystemModel.Entry.prototype;
-
-/**
- * @constructor
- */
-WebInspector.FileSystemRequestManager = function()
-{
- this._pendingFileSystemRootRequests = {};
- this._pendingDirectoryContentRequests = {};
- this._pendingMetadataRequests = {};
- this._pendingFileContentRequests = {};
-
- InspectorBackend.registerFileSystemDispatcher(new WebInspector.FileSystemDispatcher(this));
- FileSystemAgent.enable();
-}
-
-WebInspector.FileSystemRequestManager.prototype = {
- /**
- * @param {string} origin
- * @param {string} type
- * @param {function(number, FileSystemAgent.Entry=)=} callback
- */
- requestFileSystemRoot: function(origin, type, callback)
- {
- var store = this._pendingFileSystemRootRequests;
- FileSystemAgent.requestFileSystemRoot(origin, type, requestAccepted);
-
- function requestAccepted(error, requestId)
- {
- if (error)
- callback(FileError.SECURITY_ERR);
- else
- store[requestId] = callback || function() {};
- }
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {FileSystemAgent.Entry=} backendRootEntry
- */
- _fileSystemRootReceived: function(requestId, errorCode, backendRootEntry)
- {
- var callback = this._pendingFileSystemRootRequests[requestId];
- if (!callback)
- return;
- delete this._pendingFileSystemRootRequests[requestId];
- callback(errorCode, backendRootEntry);
- },
-
- /**
- * @param {string} url
- * @param {function(number, Array.<FileSystemAgent.Entry>=)=} callback
- */
- requestDirectoryContent: function(url, callback)
- {
- var store = this._pendingDirectoryContentRequests;
- FileSystemAgent.requestDirectoryContent(url, requestAccepted);
-
- function requestAccepted(error, requestId)
- {
- if (error)
- callback(FileError.SECURITY_ERR);
- else
- store[requestId] = callback || function() {};
- }
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {Array.<FileSystemAgent.Entry>=} backendEntries
- */
- _directoryContentReceived: function(requestId, errorCode, backendEntries)
- {
- var callback = /** @type {function(number, Array.<FileSystemAgent.Entry>=)} */ this._pendingDirectoryContentRequests[requestId];
- if (!callback)
- return;
- delete this._pendingDirectoryContentRequests[requestId];
- callback(errorCode, backendEntries);
- },
-
- /**
- * @param {string} url
- * @param {function(number, FileSystemAgent.Metadata=)=} callback
- */
- requestMetadata: function(url, callback)
- {
- var store = this._pendingMetadataRequests;
- FileSystemAgent.requestMetadata(url, requestAccepted);
-
- function requestAccepted(error, requestId)
- {
- if (error)
- callback(FileError.SECURITY_ERR);
- else
- store[requestId] = callback || function() {};
- }
- },
-
- _metadataReceived: function(requestId, errorCode, metadata)
- {
- var callback = this._pendingMetadataRequests[requestId];
- if (!callback)
- return;
- delete this._pendingMetadataRequests[requestId];
- callback(errorCode, metadata);
- },
-
- /**
- * @param {string} url
- * @param {boolean} readAsText
- * @param {number=} start
- * @param {number=} end
- * @param {string=} charset
- * @param {function(number, string=, string=)=} callback
- */
- requestFileContent: function(url, readAsText, start, end, charset, callback)
- {
- var store = this._pendingFileContentRequests;
- FileSystemAgent.requestFileContent(url, readAsText, start, end, charset, requestAccepted);
-
- function requestAccepted(error, requestId)
- {
- if (error)
- callback(FileError.SECURITY_ERR);
- else
- store[requestId] = callback || function() {};
- }
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {string=} content
- * @param {string=} charset
- */
- _fileContentReceived: function(requestId, errorCode, content, charset)
- {
- var callback = /** @type {function(number, string=, string=)} */ this._pendingFileContentRequests[requestId];
- if (!callback)
- return;
- delete this._pendingFileContentRequests[requestId];
- callback(errorCode, content, charset);
- }
-}
-
-/**
- * @constructor
- * @implements {FileSystemAgent.Dispatcher}
- * @param {WebInspector.FileSystemRequestManager} agentWrapper
- */
-WebInspector.FileSystemDispatcher = function(agentWrapper)
-{
- this._agentWrapper = agentWrapper;
-}
-
-WebInspector.FileSystemDispatcher.prototype = {
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {FileSystemAgent.Entry=} backendRootEntry
- */
- fileSystemRootReceived: function(requestId, errorCode, backendRootEntry)
- {
- this._agentWrapper._fileSystemRootReceived(requestId, errorCode, backendRootEntry);
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {Array.<FileSystemAgent.Entry>=} backendEntries
- */
- directoryContentReceived: function(requestId, errorCode, backendEntries)
- {
- this._agentWrapper._directoryContentReceived(requestId, errorCode, backendEntries);
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {FileSystemAgent.Metadata=} metadata
- */
- metadataReceived: function(requestId, errorCode, metadata)
- {
- this._agentWrapper._metadataReceived(requestId, errorCode, metadata);
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- * @param {string=} content
- * @param {string=} charset
- */
- fileContentReceived: function(requestId, errorCode, content, charset)
- {
- this._agentWrapper._fileContentReceived(requestId, errorCode, content, charset);
- },
-
- /**
- * @param {number} requestId
- * @param {number} errorCode
- */
- deletionCompleted: function(requestId, errorCode)
- {
- console.error("Not implemented");
- }
-}
diff --git a/Source/WebCore/inspector/front-end/FileSystemView.js b/Source/WebCore/inspector/front-end/FileSystemView.js
index 9b89beab1..60b9f4259 100644
--- a/Source/WebCore/inspector/front-end/FileSystemView.js
+++ b/Source/WebCore/inspector/front-end/FileSystemView.js
@@ -53,6 +53,10 @@ WebInspector.FileSystemView = function(fileSystem)
this._refreshButton = new WebInspector.StatusBarButton(WebInspector.UIString("Refresh"), "refresh-storage-status-bar-item");
this._refreshButton.visible = true;
this._refreshButton.addEventListener("click", this._refresh, this);
+
+ this._deleteButton = new WebInspector.StatusBarButton(WebInspector.UIString("Delete"), "delete-storage-status-bar-item");
+ this._deleteButton.visible = true;
+ this._deleteButton.addEventListener("click", this._confirmDelete, this);
}
WebInspector.FileSystemView.prototype = {
@@ -61,7 +65,7 @@ WebInspector.FileSystemView.prototype = {
*/
get statusBarItems()
{
- return [this._refreshButton.element];
+ return [this._refreshButton.element, this._deleteButton.element];
},
/**
@@ -88,6 +92,17 @@ WebInspector.FileSystemView.prototype = {
_refresh: function()
{
this._directoryTree.children[0].refresh();
+ },
+
+ _confirmDelete: function()
+ {
+ if (confirm(WebInspector.UIString("Are you sure you want to delete the selected entry?")))
+ this._delete();
+ },
+
+ _delete: function()
+ {
+ this._directoryTree.selectedTreeElement.deleteEntry();
}
}
@@ -201,6 +216,17 @@ WebInspector.FileSystemView.EntryTreeElement.prototype = {
}
} else
this._entry.requestDirectoryContent(this._directoryContentReceived.bind(this));
+ },
+
+ deleteEntry: function()
+ {
+ this._entry.deleteEntry(this._deletionCompleted.bind(this));
+ },
+
+ _deletionCompleted: function()
+ {
+ if (this._entry != this._entry.fileSystem.root)
+ this.parent.refresh();
}
}
diff --git a/Source/WebCore/inspector/front-end/FileUtils.js b/Source/WebCore/inspector/front-end/FileUtils.js
index 34ec16e50..9d95a531f 100644
--- a/Source/WebCore/inspector/front-end/FileUtils.js
+++ b/Source/WebCore/inspector/front-end/FileUtils.js
@@ -68,7 +68,7 @@ WebInspector.OutputStream.prototype = {
/**
* @constructor
* @param {!File} file
- * @param {!number} chunkSize
+ * @param {number} chunkSize
* @param {!WebInspector.OutputStreamDelegate} delegate
*/
WebInspector.ChunkedFileReader = function(file, chunkSize, delegate)
@@ -78,6 +78,7 @@ WebInspector.ChunkedFileReader = function(file, chunkSize, delegate)
this._loadedSize = 0;
this._chunkSize = chunkSize;
this._delegate = delegate;
+ this._isCanceled = false;
}
WebInspector.ChunkedFileReader.prototype = {
@@ -96,6 +97,11 @@ WebInspector.ChunkedFileReader.prototype = {
this._loadChunk();
},
+ cancel: function()
+ {
+ this._isCanceled = true;
+ },
+
loadedSize: function()
{
return this._loadedSize;
@@ -116,6 +122,9 @@ WebInspector.ChunkedFileReader.prototype = {
*/
_onChunkLoaded: function(event)
{
+ if (this._isCanceled)
+ return;
+
if (event.target.readyState !== FileReader.DONE)
return;
@@ -123,6 +132,8 @@ WebInspector.ChunkedFileReader.prototype = {
this._loadedSize += data.length;
this._output.transferChunk(data);
+ if (this._isCanceled)
+ return;
this._delegate.onChunkTransferred(this);
if (this._loadedSize === this._fileSize) {
@@ -146,7 +157,98 @@ WebInspector.ChunkedFileReader.prototype = {
}
/**
- * @param {!function(File)} callback
+ * @constructor
+ * @param {string} url
+ * @param {!WebInspector.OutputStreamDelegate} delegate
+ */
+WebInspector.ChunkedXHRReader = function(url, delegate)
+{
+ this._url = url;
+ this._delegate = delegate;
+ this._fileSize = 0;
+ this._loadedSize = 0;
+ this._isCanceled = false;
+}
+
+WebInspector.ChunkedXHRReader.prototype = {
+ /**
+ * @param {!WebInspector.OutputStream} output
+ */
+ start: function(output)
+ {
+ this._output = output;
+
+ this._xhr = new XMLHttpRequest();
+ this._xhr.open("GET", this._url, true);
+ this._xhr.onload = this._onLoad.bind(this);
+ this._xhr.onprogress = this._onProgress.bind(this);
+ this._xhr.onerror = this._delegate.onError.bind(this._delegate, this);
+ this._xhr.send(null);
+
+ this._output.startTransfer();
+ this._delegate.onTransferStarted(this);
+ },
+
+ cancel: function()
+ {
+ this._isCanceled = true;
+ this._xhr.abort();
+ },
+
+ loadedSize: function()
+ {
+ return this._loadedSize;
+ },
+
+ fileSize: function()
+ {
+ return this._fileSize;
+ },
+
+ fileName: function()
+ {
+ return this._url;
+ },
+
+ /**
+ * @param {Event} event
+ */
+ _onProgress: function(event)
+ {
+ if (this._isCanceled)
+ return;
+
+ if (event.lengthComputable)
+ this._fileSize = event.total;
+
+ var data = this._xhr.responseText.substring(this._loadedSize);
+ if (!data.length)
+ return;
+
+ this._loadedSize += data.length;
+ this._output.transferChunk(data);
+ if (this._isCanceled)
+ return;
+ this._delegate.onChunkTransferred(this);
+ },
+
+ /**
+ * @param {Event} event
+ */
+ _onLoad: function(event)
+ {
+ this._onProgress(event);
+
+ if (this._isCanceled)
+ return;
+
+ this._output.finishTransfer();
+ this._delegate.onTransferFinished(this);
+ }
+}
+
+/**
+ * @param {function(File)} callback
* @return {Node}
*/
WebInspector.createFileSelectorElement = function(callback) {
@@ -159,3 +261,102 @@ WebInspector.createFileSelectorElement = function(callback) {
};
return fileSelectorElement;
}
+
+/**
+ * @param {string} source
+ * @param {number=} startIndex
+ * @param {number=} lastIndex
+ */
+WebInspector.findBalancedCurlyBrackets = function(source, startIndex, lastIndex) {
+ lastIndex = lastIndex || source.length;
+ startIndex = startIndex || 0;
+ var counter = 0;
+ var inString = false;
+
+ for (var index = startIndex; index < lastIndex; ++index) {
+ var character = source[index];
+ if (inString) {
+ if (character === "\\")
+ ++index;
+ else if (character === "\"")
+ inString = false;
+ } else {
+ if (character === "\"")
+ inString = true;
+ else if (character === "{")
+ ++counter;
+ else if (character === "}") {
+ if (--counter === 0)
+ return index + 1;
+ }
+ }
+ }
+ return -1;
+}
+
+/**
+ * @constructor
+ * @implements {WebInspector.OutputStream}
+ * @param {string} fileName
+ * @param {!WebInspector.OutputStreamDelegate} delegate
+ */
+WebInspector.FileOutputStream = function(fileName, delegate)
+{
+ this._fileName = fileName;
+ this._delegate = delegate;
+}
+
+WebInspector.FileOutputStream.prototype = {
+ /**
+ * @override
+ */
+ startTransfer: function()
+ {
+ WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.SavedURL, this._onTransferStarted, this);
+ WebInspector.fileManager.save(this._fileName, "", true);
+ },
+
+ /**
+ * @override
+ * @param {string} chunk
+ */
+ transferChunk: function(chunk)
+ {
+ WebInspector.fileManager.append(this._fileName, chunk);
+ },
+
+ /**
+ * @override
+ */
+ finishTransfer: function()
+ {
+ WebInspector.fileManager.removeEventListener(WebInspector.FileManager.EventTypes.AppendedToURL, this._onChunkTransferred, this);
+ this._delegate.onTransferFinished(this);
+ },
+
+ dispose: function()
+ {
+ },
+
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _onTransferStarted: function(event)
+ {
+ if (event.data !== this._fileName)
+ return;
+ this._delegate.onTransferStarted(this);
+ WebInspector.fileManager.removeEventListener(WebInspector.FileManager.EventTypes.SavedURL, this._onTransferStarted, this);
+ WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.AppendedToURL, this._onChunkTransferred, this);
+ },
+
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _onChunkTransferred: function(event)
+ {
+ if (event.data !== this._fileName)
+ return;
+ this._delegate.onChunkTransferred(this);
+ }
+}
diff --git a/Source/WebCore/inspector/front-end/FilteredItemSelectionDialog.js b/Source/WebCore/inspector/front-end/FilteredItemSelectionDialog.js
index f027765e4..e086dadaf 100644
--- a/Source/WebCore/inspector/front-end/FilteredItemSelectionDialog.js
+++ b/Source/WebCore/inspector/front-end/FilteredItemSelectionDialog.js
@@ -121,7 +121,7 @@ WebInspector.FilteredItemSelectionDialog.prototype = {
_itemsLoaded: function(index, chunkLength, chunkIndex, chunkCount)
{
for (var i = index; i < index + chunkLength; ++i)
- this._itemElementsContainer.appendChild(this._createItemElement(i, this._delegate.itemTitleAt(i)));
+ this._itemElementsContainer.appendChild(this._createItemElement(i));
this._filterItems();
if (chunkIndex === chunkCount)
@@ -135,21 +135,21 @@ WebInspector.FilteredItemSelectionDialog.prototype = {
/**
* @param {number} index
- * @param {string} title
*/
- _createItemElement: function(index, title)
+ _createItemElement: function(index)
{
if (this._itemElements[index])
return this._itemElements[index];
var itemElement = document.createElement("div");
itemElement.className = "item";
- var titleElement = itemElement.createChild("span");
- var subtitleElement = itemElement.createChild("span");
- titleElement.textContent = title;
+ itemElement._titleElement = itemElement.createChild("span");
+ itemElement._titleElement.textContent = this._delegate.itemTitleAt(index);
+ itemElement._titleSuffixElement = itemElement.createChild("span");
+ itemElement._subtitleElement = itemElement.createChild("span", "subtitle");
+ itemElement._subtitleElement.textContent = this._delegate.itemSubtitleAt(index);
this._elementIndexes.put(itemElement, index);
this._itemElements.push(itemElement);
-
return itemElement;
},
@@ -223,7 +223,7 @@ WebInspector.FilteredItemSelectionDialog.prototype = {
var firstElement;
for (var i = 0; i < this._itemElements.length; ++i) {
var itemElement = this._itemElements[i];
- itemElement.lastChild.textContent = this._delegate.itemSubtitleAt(i);
+ itemElement._titleSuffixElement.textContent = this._delegate.itemSuffixAt(i);
if (regex.test(this._delegate.itemKeyAt(i))) {
this._showItemElement(itemElement);
if (!firstElement)
@@ -438,6 +438,12 @@ WebInspector.SelectionDialogContentProvider.prototype = {
* @param {number} itemIndex
* @return {string}
*/
+ itemSuffixAt: function(itemIndex) { },
+
+ /*
+ * @param {number} itemIndex
+ * @return {string}
+ */
itemSubtitleAt: function(itemIndex) { },
/**
@@ -512,11 +518,20 @@ WebInspector.JavaScriptOutlineDialog.prototype = {
* @param {number} itemIndex
* @return {string}
*/
- itemSubtitleAt: function(itemIndex)
+ itemSuffixAt: function(itemIndex)
{
return "";
},
+ /*
+ * @param {number} itemIndex
+ * @return {string}
+ */
+ itemSubtitleAt: function(itemIndex)
+ {
+ return ":" + (this._functionItems[itemIndex].line + 1);
+ },
+
/**
* @param {number} itemIndex
* @return {string}
@@ -636,11 +651,20 @@ WebInspector.OpenResourceDialog.prototype = {
* @param {number} itemIndex
* @return {string}
*/
- itemSubtitleAt: function(itemIndex)
+ itemSuffixAt: function(itemIndex)
{
return this._queryLineNumber || "";
},
+ /*
+ * @param {number} itemIndex
+ * @return {string}
+ */
+ itemSubtitleAt: function(itemIndex)
+ {
+ return this._uiSourceCodes[itemIndex].parsedURL.folderPathComponents;
+ },
+
/**
* @param {number} itemIndex
* @return {string}
diff --git a/Source/WebCore/inspector/front-end/HandlerRegistry.js b/Source/WebCore/inspector/front-end/HandlerRegistry.js
index 84ae7fda5..ef47a7694 100644
--- a/Source/WebCore/inspector/front-end/HandlerRegistry.js
+++ b/Source/WebCore/inspector/front-end/HandlerRegistry.js
@@ -96,6 +96,16 @@ WebInspector.HandlerRegistry.prototype = {
*/
appendApplicableItems: function(contextMenu, target)
{
+ this._appendContentProviderItems(contextMenu, target);
+ this._appendHrefItems(contextMenu, target);
+ },
+
+ /**
+ * @param {WebInspector.ContextMenu} contextMenu
+ * @param {Object} target
+ */
+ _appendContentProviderItems: function(contextMenu, target)
+ {
if (!(target instanceof WebInspector.UISourceCode || target instanceof WebInspector.Resource || target instanceof WebInspector.NetworkRequest))
return;
var contentProvider = /** @type {WebInspector.ContentProvider} */ target;
@@ -140,6 +150,31 @@ WebInspector.HandlerRegistry.prototype = {
contextMenu.appendSeparator();
contextMenu.appendItem(WebInspector.UIString("Save"), save.bind(this, false));
contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Save as..." : "Save As..."), save.bind(this, true));
+ },
+
+ /**
+ * @param {WebInspector.ContextMenu} contextMenu
+ * @param {Object} target
+ */
+ _appendHrefItems: function(contextMenu, target)
+ {
+ if (!(target instanceof Node))
+ return;
+ var targetNode = /** @type {Node} */ target;
+
+ var anchorElement = targetNode.enclosingNodeOrSelfWithClass("webkit-html-resource-link") || targetNode.enclosingNodeOrSelfWithClass("webkit-html-external-link");
+ if (!anchorElement)
+ return;
+
+ var resourceURL = anchorElement.href;
+ if (!resourceURL)
+ return;
+
+ // Add resource-related actions.
+ contextMenu.appendItem(WebInspector.openLinkExternallyLabel(), WebInspector.openResource.bind(WebInspector, resourceURL, false));
+ if (WebInspector.resourceForURL(resourceURL))
+ contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Open link in Resources panel" : "Open Link in Resources Panel"), WebInspector.openResource.bind(null, resourceURL, true));
+ contextMenu.appendItem(WebInspector.copyLinkAddressLabel(), InspectorFrontendHost.copyText.bind(InspectorFrontendHost, resourceURL));
}
}
diff --git a/Source/WebCore/inspector/front-end/HeapSnapshot.js b/Source/WebCore/inspector/front-end/HeapSnapshot.js
index 0ad93fd9d..169654056 100644
--- a/Source/WebCore/inspector/front-end/HeapSnapshot.js
+++ b/Source/WebCore/inspector/front-end/HeapSnapshot.js
@@ -919,7 +919,7 @@ WebInspector.HeapSnapshot.prototype = {
var node = iter.edge.node();
if (node.isWindow()) {
nodesToVisit[nodesToVisitLength++] = node.nodeIndex;
- distances[node.nodeIndex / nodeFieldCount] = 0;
+ distances[node.nodeIndex / nodeFieldCount] = 1;
}
}
this._bfs(nodesToVisit, nodesToVisitLength, distances);
@@ -927,7 +927,7 @@ WebInspector.HeapSnapshot.prototype = {
// bfs for root
nodesToVisitLength = 0;
nodesToVisit[nodesToVisitLength++] = this._rootNodeIndex;
- distances[this._rootNodeIndex / nodeFieldCount] = 0;
+ distances[this._rootNodeIndex / nodeFieldCount] = 1;
this._bfs(nodesToVisit, nodesToVisitLength, distances);
this._distancesToWindow = distances;
},
@@ -940,9 +940,12 @@ WebInspector.HeapSnapshot.prototype = {
var containmentEdges = this._containmentEdges;
var firstEdgeIndexes = this._firstEdgeIndexes;
var edgeToNodeOffset = this._edgeToNodeOffset;
+ var edgeTypeOffset = this._edgeTypeOffset;
var nodes = this._nodes;
var nodeCount = this.nodeCount;
var containmentEdgesLength = containmentEdges.length;
+ var edgeWeakType = this._edgeWeakType;
+ var edgeShortcutType = this._edgeShortcutType;
var index = 0;
while (index < nodesToVisitLength) {
@@ -951,8 +954,11 @@ WebInspector.HeapSnapshot.prototype = {
var distance = distances[nodeOrdinal] + 1;
var firstEdgeIndex = firstEdgeIndexes[nodeOrdinal];
var edgesEnd = firstEdgeIndexes[nodeOrdinal + 1];
- for (var edgeToNodeIndex = firstEdgeIndex + edgeToNodeOffset; edgeToNodeIndex < edgesEnd; edgeToNodeIndex += edgeFieldsCount) {
- var childNodeIndex = containmentEdges[edgeToNodeIndex];
+ for (var edgeIndex = firstEdgeIndex; edgeIndex < edgesEnd; edgeIndex += edgeFieldsCount) {
+ var edgeType = containmentEdges[edgeIndex + edgeTypeOffset];
+ if (edgeType == edgeWeakType)
+ continue;
+ var childNodeIndex = containmentEdges[edgeIndex + edgeToNodeOffset];
var childNodeOrdinal = childNodeIndex / nodeFieldCount;
if (distances[childNodeOrdinal])
continue;
@@ -1450,6 +1456,7 @@ WebInspector.HeapSnapshot.prototype = {
var hiddenEdgeType = this._edgeHiddenType;
var internalEdgeType = this._edgeInternalType;
var invisibleEdgeType = this._edgeInvisibleType;
+ var weakEdgeType = this._edgeWeakType;
var edgeToNodeOffset = this._edgeToNodeOffset;
var edgeTypeOffset = this._edgeTypeOffset;
var edgeFieldsCount = this._edgeFieldsCount;
@@ -1480,7 +1487,7 @@ WebInspector.HeapSnapshot.prototype = {
if (flags[childNodeOrdinal] & flag)
continue;
var type = containmentEdges[edgeIndex + edgeTypeOffset];
- if (type === hiddenEdgeType || type === invisibleEdgeType || type === internalEdgeType)
+ if (type === hiddenEdgeType || type === invisibleEdgeType || type === internalEdgeType || type === weakEdgeType)
continue;
list.push(childNodeOrdinal);
}
diff --git a/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js b/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js
index f8c8b4a89..88564f1f8 100644
--- a/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js
+++ b/Source/WebCore/inspector/front-end/HeapSnapshotGridNodes.js
@@ -542,7 +542,7 @@ WebInspector.HeapSnapshotObjectNode.prototype = {
var showHiddenData = WebInspector.settings.showHeapSnapshotObjectsHiddenProperties.get();
var filter = "function(edge) {\n" +
" return !edge.isInvisible()\n" +
- " && (" + !tree.showRetainingEdges + " || (edge.node().id() !== 1 && !edge.node().isSynthetic()))\n" +
+ " && (" + !tree.showRetainingEdges + " || (edge.node().id() !== 1 && !edge.node().isSynthetic() && !edge.isWeak()))\n" +
" && (" + showHiddenData + " || (!edge.isHidden() && !edge.node().isHidden()));\n" +
"}\n";
var snapshot = this._isFromBaseSnapshot ? tree.baseSnapshot : tree.snapshot;
diff --git a/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js b/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js
index fc8e45a8d..e4e6f225e 100644
--- a/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js
+++ b/Source/WebCore/inspector/front-end/HeapSnapshotLoader.js
@@ -54,22 +54,6 @@ WebInspector.HeapSnapshotLoader.prototype = {
this._snapshot = {};
},
- _findBalancedCurlyBrackets: function()
- {
- var counter = 0;
- var openingBracket = "{".charCodeAt(0), closingBracket = "}".charCodeAt(0);
- for (var i = 0, l = this._json.length; i < l; ++i) {
- var character = this._json.charCodeAt(i);
- if (character === openingBracket)
- ++counter;
- else if (character === closingBracket) {
- if (--counter === 0)
- return i + 1;
- }
- }
- return -1;
- },
-
finishTransfer: function()
{
if (this._json)
@@ -148,7 +132,7 @@ WebInspector.HeapSnapshotLoader.prototype = {
break;
}
case "parse-snapshot-info": {
- var closingBracketIndex = this._findBalancedCurlyBrackets();
+ var closingBracketIndex = WebInspector.findBalancedCurlyBrackets(this._json);
if (closingBracketIndex === -1)
return;
this._snapshot.snapshot = /** @type {HeapSnapshotHeader} */JSON.parse(this._json.slice(0, closingBracketIndex));
diff --git a/Source/WebCore/inspector/front-end/HeapSnapshotView.js b/Source/WebCore/inspector/front-end/HeapSnapshotView.js
index b7f5019fd..d98ea7424 100644
--- a/Source/WebCore/inspector/front-end/HeapSnapshotView.js
+++ b/Source/WebCore/inspector/front-end/HeapSnapshotView.js
@@ -122,7 +122,7 @@ WebInspector.HeapSnapshotView = function(parent, profile)
this._profileUid = profile.uid;
this.baseSelectElement = document.createElement("select");
- this.baseSelectElement.className = "status-bar-item hidden";
+ this.baseSelectElement.className = "status-bar-item";
this.baseSelectElement.addEventListener("change", this._changeBase.bind(this), false);
this._updateBaseOptions();
@@ -172,7 +172,17 @@ WebInspector.HeapSnapshotView.prototype = {
get statusBarItems()
{
- return [this.viewSelectElement, this.baseSelectElement, this.filterSelectElement, this.helpButton.element];
+ /**
+ * @param {boolean=} hidden
+ */
+ function appendArrowImage(element, hidden)
+ {
+ var span = document.createElement("span");
+ span.className = "status-bar-select-container" + (hidden ? " hidden" : "");
+ span.appendChild(element);
+ return span;
+ }
+ return [appendArrowImage(this.viewSelectElement), appendArrowImage(this.baseSelectElement, true), appendArrowImage(this.filterSelectElement), this.helpButton.element];
},
get profile()
@@ -520,6 +530,19 @@ WebInspector.HeapSnapshotView.prototype = {
this._changeView(event.target.selectedIndex);
},
+ _updateSelectorsVisibility: function()
+ {
+ if (this.currentView === this.diffView)
+ this.baseSelectElement.parentElement.removeStyleClass("hidden");
+ else
+ this.baseSelectElement.parentElement.addStyleClass("hidden");
+
+ if (this.currentView === this.constructorsView)
+ this.filterSelectElement.parentElement.removeStyleClass("hidden");
+ else
+ this.filterSelectElement.parentElement.addStyleClass("hidden");
+ },
+
_changeView: function(selectedIndex)
{
if (selectedIndex === this.views.current)
@@ -534,18 +557,10 @@ WebInspector.HeapSnapshotView.prototype = {
this.refreshVisibleData();
this.dataGrid.updateWidths();
- if (this.currentView === this.diffView)
- this.baseSelectElement.removeStyleClass("hidden");
- else
- this.baseSelectElement.addStyleClass("hidden");
+ this._updateSelectorsVisibility();
this._updateDataSourceAndView();
- if (this.currentView === this.constructorsView)
- this.filterSelectElement.removeStyleClass("hidden");
- else
- this.filterSelectElement.addStyleClass("hidden");
-
if (!this.currentQuery || !this._searchFinishedCallback || !this._searchResults)
return;
@@ -944,7 +959,7 @@ WebInspector.HeapProfileHeader.prototype = {
*/
_createFileWriter: function(fileName, delegate)
{
- return new WebInspector.ChunkedFileWriter(fileName, delegate);
+ return new WebInspector.FileOutputStream(fileName, delegate);
},
/**
@@ -1024,73 +1039,6 @@ WebInspector.HeapSnapshotLoadFromFileDelegate.prototype = {
/**
* @constructor
- * @implements {WebInspector.OutputStream}
- * @param {!string} fileName
- * @param {!WebInspector.OutputStreamDelegate} delegate
- */
-WebInspector.ChunkedFileWriter = function(fileName, delegate)
-{
- this._fileName = fileName;
- this._delegate = delegate;
-}
-
-WebInspector.ChunkedFileWriter.prototype = {
- /**
- * @override
- */
- startTransfer: function()
- {
- WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.SavedURL, this._onTransferStarted, this);
- WebInspector.fileManager.save(this._fileName, "", true);
- },
-
- /**
- * @override
- * @param {string} chunk
- */
- transferChunk: function(chunk)
- {
- WebInspector.fileManager.append(this._fileName, chunk);
- },
-
- /**
- * @override
- */
- finishTransfer: function()
- {
- WebInspector.fileManager.removeEventListener(WebInspector.FileManager.EventTypes.AppendedToURL, this._onChunkTransferred, this);
- this._delegate.onTransferFinished(this);
- },
-
- dispose: function()
- {
- },
-
- /**
- * @param {WebInspector.Event} event
- */
- _onTransferStarted: function(event)
- {
- if (event.data !== this._fileName)
- return;
- this._delegate.onTransferStarted(this);
- WebInspector.fileManager.removeEventListener(WebInspector.FileManager.EventTypes.SavedURL, this._onTransferStarted, this);
- WebInspector.fileManager.addEventListener(WebInspector.FileManager.EventTypes.AppendedToURL, this._onChunkTransferred, this);
- },
-
- /**
- * @param {WebInspector.Event} event
- */
- _onChunkTransferred: function(event)
- {
- if (event.data !== this._fileName)
- return;
- this._delegate.onChunkTransferred(this);
- }
-}
-
-/**
- * @constructor
* @implements {WebInspector.OutputStreamDelegate}
*/
WebInspector.HeapSnapshotSaveToFileDelegate = function(snapshotHeader)
diff --git a/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js b/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js
index 9cb4a25ec..4e2b466d9 100644
--- a/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js
+++ b/Source/WebCore/inspector/front-end/HeapSnapshotWorker.js
@@ -34,6 +34,7 @@ WebInspector.UIString = function(s) { return s; };
importScripts("HeapSnapshot.js");
importScripts("HeapSnapshotLoader.js");
importScripts("HeapSnapshotWorkerDispatcher.js");
+importScripts("FileUtils.js");
importScripts("utilities.js");
function postMessageWrapper(message)
diff --git a/Source/WebCore/inspector/front-end/Images/statusbarButtonGlyphs2x.png b/Source/WebCore/inspector/front-end/Images/statusbarButtonGlyphs2x.png
new file mode 100644
index 000000000..4e8a5dfd1
--- /dev/null
+++ b/Source/WebCore/inspector/front-end/Images/statusbarButtonGlyphs2x.png
Binary files differ
diff --git a/Source/WebCore/inspector/front-end/IndexedDBModel.js b/Source/WebCore/inspector/front-end/IndexedDBModel.js
index 60e2eea39..6f9fa4200 100644
--- a/Source/WebCore/inspector/front-end/IndexedDBModel.js
+++ b/Source/WebCore/inspector/front-end/IndexedDBModel.js
@@ -34,7 +34,7 @@
*/
WebInspector.IndexedDBModel = function()
{
- this._indexedDBRequestManager = new WebInspector.IndexedDBRequestManager();
+ IndexedDBAgent.enable();
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameAdded, this._frameNavigated, this);
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
@@ -209,15 +209,12 @@ WebInspector.IndexedDBModel.prototype = {
{
var resourceTreeFrame = /** @type {WebInspector.ResourceTreeFrame} */ event.data;
this._originRemovedFromFrame(resourceTreeFrame.id);
- this._indexedDBRequestManager._frameDetached(resourceTreeFrame.id);
},
_reset: function()
{
for (var frameId in this._frames)
this._originRemovedFromFrame(frameId);
-
- this._indexedDBRequestManager._reset();
},
/**
@@ -327,8 +324,6 @@ WebInspector.IndexedDBModel.prototype = {
*/
_databaseRemoved: function(securityOrigin, databaseName)
{
- this._indexedDBRequestManager._databaseRemoved(this._frameIdsBySecurityOrigin[securityOrigin], databaseName);
-
var databaseId = new WebInspector.IndexedDBModel.DatabaseId(securityOrigin, databaseName);
this.dispatchEventToListeners(WebInspector.IndexedDBModel.EventTypes.DatabaseRemoved, databaseId);
},
@@ -339,10 +334,16 @@ WebInspector.IndexedDBModel.prototype = {
_loadDatabaseNamesForFrame: function(frameId)
{
/**
+ * @param {?Protocol.Error} error
* @param {IndexedDBAgent.SecurityOriginWithDatabaseNames} securityOriginWithDatabaseNames
*/
- function callback(securityOriginWithDatabaseNames)
+ function callback(error, securityOriginWithDatabaseNames)
{
+ if (error) {
+ console.error("IndexedDBAgent error: " + error);
+ return;
+ }
+
var databaseNames = securityOriginWithDatabaseNames.databaseNames;
var oldSecurityOrigin = this._frames[frameId] ? this._frames[frameId].securityOrigin : null;
if (!oldSecurityOrigin || oldSecurityOrigin !== securityOriginWithDatabaseNames.securityOrigin) {
@@ -352,7 +353,7 @@ WebInspector.IndexedDBModel.prototype = {
this._updateOriginDatabaseNames(securityOriginWithDatabaseNames.securityOrigin, securityOriginWithDatabaseNames.databaseNames);
}
- this._indexedDBRequestManager.requestDatabaseNamesForFrame(frameId, callback.bind(this));
+ IndexedDBAgent.requestDatabaseNamesForFrame(frameId, callback.bind(this));
},
/**
@@ -378,10 +379,16 @@ WebInspector.IndexedDBModel.prototype = {
return;
/**
+ * @param {?Protocol.Error} error
* @param {IndexedDBAgent.DatabaseWithObjectStores} databaseWithObjectStores
*/
- function callback(databaseWithObjectStores)
+ function callback(error, databaseWithObjectStores)
{
+ if (error) {
+ console.error("IndexedDBAgent error: " + error);
+ return;
+ }
+
if (!this._frames[frameId])
return;
@@ -403,7 +410,7 @@ WebInspector.IndexedDBModel.prototype = {
this.dispatchEventToListeners(WebInspector.IndexedDBModel.EventTypes.DatabaseLoaded, databaseModel);
}
- this._indexedDBRequestManager.requestDatabase(frameId, databaseId.name, callback.bind(this));
+ IndexedDBAgent.requestDatabase(frameId, databaseId.name, callback.bind(this));
},
/**
@@ -416,27 +423,7 @@ WebInspector.IndexedDBModel.prototype = {
*/
loadObjectStoreData: function(databaseId, objectStoreName, idbKeyRange, skipCount, pageSize, callback)
{
- var frameId = this._assertFrameId(databaseId);
- if (!frameId)
- return;
-
- /**
- * @param {Array.<IndexedDBAgent.DataEntry>} dataEntries
- * @param {boolean} hasMore
- */
- function innerCallback(dataEntries, hasMore)
- {
- var entries = [];
- for (var i = 0; i < dataEntries.length; ++i) {
- var key = WebInspector.IndexedDBModel.idbKeyFromKey(dataEntries[i].key);
- var primaryKey = WebInspector.IndexedDBModel.idbKeyFromKey(dataEntries[i].primaryKey);
- var value = WebInspector.RemoteObject.fromPayload(dataEntries[i].value);
- entries.push(new WebInspector.IndexedDBModel.Entry(key, primaryKey, value));
- }
- callback(entries, hasMore);
- }
-
- this._indexedDBRequestManager.requestObjectStoreData(frameId, databaseId.name, objectStoreName, idbKeyRange, skipCount, pageSize, innerCallback);
+ this._requestData(databaseId, databaseId.name, objectStoreName, "", idbKeyRange, skipCount, pageSize, callback);
},
/**
@@ -450,16 +437,40 @@ WebInspector.IndexedDBModel.prototype = {
*/
loadIndexData: function(databaseId, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback)
{
+ this._requestData(databaseId, databaseId.name, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback);
+ },
+
+ /**
+ * @param {WebInspector.IndexedDBModel.DatabaseId} databaseId
+ * @param {string} databaseName
+ * @param {string} objectStoreName
+ * @param {string} indexName
+ * @param {webkitIDBKeyRange} idbKeyRange
+ * @param {number} skipCount
+ * @param {number} pageSize
+ * @param {function(Array.<IndexedDBAgent.DataEntry>, boolean)} callback
+ */
+ _requestData: function(databaseId, databaseName, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback)
+ {
var frameId = this._assertFrameId(databaseId);
if (!frameId)
return;
/**
+ * @param {?Protocol.Error} error
* @param {Array.<IndexedDBAgent.DataEntry>} dataEntries
* @param {boolean} hasMore
*/
- function innerCallback(dataEntries, hasMore)
+ function innerCallback(error, dataEntries, hasMore)
{
+ if (error) {
+ console.error("IndexedDBAgent error: " + error);
+ return;
+ }
+
+ if (!this._frames[frameId])
+ return;
+
var entries = [];
for (var i = 0; i < dataEntries.length; ++i) {
var key = WebInspector.IndexedDBModel.idbKeyFromKey(dataEntries[i].key);
@@ -470,7 +481,8 @@ WebInspector.IndexedDBModel.prototype = {
callback(entries, hasMore);
}
- this._indexedDBRequestManager.requestIndexData(frameId, databaseId.name, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, innerCallback.bind(this));
+ var keyRange = WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange(idbKeyRange);
+ IndexedDBAgent.requestData(frameId, databaseName, objectStoreName, indexName, skipCount, pageSize, keyRange ? keyRange : undefined, innerCallback.bind(this));
}
}
@@ -578,317 +590,3 @@ WebInspector.IndexedDBModel.Index.prototype = {
return WebInspector.IndexedDBModel.keyPathStringFromIDBKeyPath(this.keyPath);
}
}
-
-/**
- * @constructor
- */
-WebInspector.IndexedDBRequestManager = function()
-{
- this._lastRequestId = 0;
- this._requestDatabaseNamesForFrameCallbacks = {};
- this._requestDatabaseCallbacks = {};
- this._requestDataCallbacks = {};
-
- IndexedDBAgent.enable();
- InspectorBackend.registerIndexedDBDispatcher(new WebInspector.IndexedDBDispatcher(this));
-}
-
-WebInspector.IndexedDBRequestManager.prototype = {
- /**
- * @param {string} frameId
- * @param {function(IndexedDBAgent.SecurityOriginWithDatabaseNames)} callback
- */
- requestDatabaseNamesForFrame: function(frameId, callback)
- {
- var requestId = this._requestId();
- var request = new WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest(frameId, callback);
- this._requestDatabaseNamesForFrameCallbacks[requestId] = request;
-
- function innerCallback(error)
- {
- if (error) {
- console.error("IndexedDBAgent error: " + error);
- return;
- }
- }
-
- IndexedDBAgent.requestDatabaseNamesForFrame(requestId, frameId, innerCallback);
- },
-
- /**
- * @param {number} requestId
- * @param {IndexedDBAgent.SecurityOriginWithDatabaseNames} securityOriginWithDatabaseNames
- */
- _databaseNamesLoaded: function(requestId, securityOriginWithDatabaseNames)
- {
- var request = this._requestDatabaseNamesForFrameCallbacks[requestId];
- if (!request)
- return;
-
- request.callback(securityOriginWithDatabaseNames);
- },
-
- /**
- * @param {string} frameId
- * @param {string} databaseName
- * @param {function(IndexedDBAgent.DatabaseWithObjectStores)} callback
- */
- requestDatabase: function(frameId, databaseName, callback)
- {
- var requestId = this._requestId();
- var request = new WebInspector.IndexedDBRequestManager.DatabaseRequest(frameId, databaseName, callback);
- this._requestDatabaseCallbacks[requestId] = request;
-
- function innerCallback(error)
- {
- if (error) {
- console.error("IndexedDBAgent error: " + error);
- return;
- }
- }
-
- IndexedDBAgent.requestDatabase(requestId, frameId, databaseName, innerCallback);
- },
-
- /**
- * @param {number} requestId
- * @param {IndexedDBAgent.DatabaseWithObjectStores} databaseWithObjectStores
- */
- _databaseLoaded: function(requestId, databaseWithObjectStores)
- {
- var request = this._requestDatabaseCallbacks[requestId];
- if (!request)
- return;
-
- request.callback(databaseWithObjectStores);
- },
-
- /**
- * @param {string} frameId
- * @param {string} databaseName
- * @param {string} objectStoreName
- * @param {string} indexName
- * @param {webkitIDBKeyRange} idbKeyRange
- * @param {number} skipCount
- * @param {number} pageSize
- * @param {function(Array.<IndexedDBAgent.DataEntry>, boolean)} callback
- */
- _requestData: function(frameId, databaseName, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback)
- {
- var requestId = this._requestId();
- var request = new WebInspector.IndexedDBRequestManager.DataRequest(frameId, databaseName, objectStoreName, indexName, callback);
- this._requestDataCallbacks[requestId] = request;
-
- function innerCallback(error)
- {
- if (error) {
- console.error("IndexedDBAgent error: " + error);
- return;
- }
- }
-
- var keyRange = WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange(idbKeyRange);
- IndexedDBAgent.requestData(requestId, frameId, databaseName, objectStoreName, indexName, skipCount, pageSize, keyRange ? keyRange : undefined, innerCallback);
- },
-
- /**
- * @param {string} frameId
- * @param {string} databaseName
- * @param {string} objectStoreName
- * @param {webkitIDBKeyRange} idbKeyRange
- * @param {number} skipCount
- * @param {number} pageSize
- * @param {function(Array.<IndexedDBAgent.DataEntry>, boolean)} callback
- */
- requestObjectStoreData: function(frameId, databaseName, objectStoreName, idbKeyRange, skipCount, pageSize, callback)
- {
- this._requestData(frameId, databaseName, objectStoreName, "", idbKeyRange, skipCount, pageSize, callback);
- },
-
- /**
- * @param {number} requestId
- * @param {Array.<IndexedDBAgent.DataEntry>} dataEntries
- * @param {boolean} hasMore
- */
- _objectStoreDataLoaded: function(requestId, dataEntries, hasMore)
- {
- var request = this._requestDataCallbacks[requestId];
- if (!request.callback)
- return;
-
- request.callback(dataEntries, hasMore);
- },
-
- /**
- * @param {string} frameId
- * @param {string} databaseName
- * @param {string} objectStoreName
- * @param {string} indexName
- * @param {webkitIDBKeyRange} idbKeyRange
- * @param {number} skipCount
- * @param {number} pageSize
- * @param {function(Array.<IndexedDBAgent.DataEntry>, boolean)} callback
- */
- requestIndexData: function(frameId, databaseName, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback)
- {
- this._requestData(frameId, databaseName, objectStoreName, indexName, idbKeyRange, skipCount, pageSize, callback);
- },
-
- /**
- * @param {number} requestId
- * @param {Array.<IndexedDBAgent.DataEntry>} dataEntries
- * @param {boolean} hasMore
- */
- _indexDataLoaded: function(requestId, dataEntries, hasMore)
- {
- var request = this._requestDataCallbacks[requestId];
- if (!request.callback)
- return;
-
- request.callback(dataEntries, hasMore);
- },
-
- /**
- * @return {number}
- */
- _requestId: function()
- {
- return ++this._lastRequestId;
- },
-
- /**
- * @param {string} frameId
- */
- _frameDetached: function(frameId)
- {
- for (var requestId in this._requestDatabaseNamesForFrameCallbacks) {
- if (this._requestDatabaseNamesForFrameCallbacks[requestId].frameId === frameId)
- delete this._requestDatabaseNamesForFrameCallbacks[requestId];
- }
-
- for (var requestId in this._requestDatabaseCallbacks) {
- if (this._requestDatabaseCallbacks[requestId].frameId === frameId)
- delete this._requestDatabaseCallbacks[requestId];
- }
-
- for (var requestId in this._requestDataCallbacks) {
- if (this._requestDataCallbacks[requestId].frameId === frameId)
- delete this._requestDataCallbacks[requestId];
- }
- },
-
- /**
- * @param {string} frameId
- */
- _databaseRemoved: function(frameId, databaseName)
- {
- for (var requestId in this._requestDatabaseCallbacks) {
- if (this._requestDatabaseCallbacks[requestId].frameId === frameId && this._requestDatabaseCallbacks[requestId].databaseName === databaseName)
- delete this._requestDatabaseCallbacks[requestId];
- }
-
- for (var requestId in this._requestDataCallbacks) {
- if (this._requestDataCallbacks[requestId].frameId === frameId && this._requestDataCallbacks[requestId].databaseName === databaseName)
- delete this._requestDataCallbacks[requestId];
- }
- },
-
- _reset: function()
- {
- this._requestDatabaseNamesForFrameCallbacks = {};
- this._requestDatabaseCallbacks = {};
- this._requestDataCallbacks = {};
- }
-}
-
-/**
- * @constructor
- * @param {string} frameId
- * @param {function(IndexedDBAgent.SecurityOriginWithDatabaseNames)} callback
-*/
-WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest = function(frameId, callback)
-{
- this.frameId = frameId;
- this.callback = callback;
-}
-
-/**
- * @constructor
- * @param {string} frameId
- * @param {string} databaseName
- * @param {function(IndexedDBAgent.DatabaseWithObjectStores)} callback
- */
-WebInspector.IndexedDBRequestManager.DatabaseRequest = function(frameId, databaseName, callback)
-{
- this.frameId = frameId;
- this.databaseName = databaseName;
- this.callback = callback;
-}
-
-/**
- * @constructor
- * @param {string} frameId
- * @param {string} databaseName
- * @param {string} objectStoreName
- * @param {string} indexName
- * @param {function(Array.<IndexedDBAgent.DataEntry>, boolean)} callback
- */
-WebInspector.IndexedDBRequestManager.DataRequest = function(frameId, databaseName, objectStoreName, indexName, callback)
-{
- this.frameId = frameId;
- this.databaseName = databaseName;
- this.objectStoreName = objectStoreName;
- this.indexName = indexName;
- this.callback = callback;
-}
-
-/**
- * @constructor
- * @implements {IndexedDBAgent.Dispatcher}
- * @param {WebInspector.IndexedDBRequestManager} indexedDBRequestManager
- */
-WebInspector.IndexedDBDispatcher = function(indexedDBRequestManager)
-{
- this._agentWrapper = indexedDBRequestManager;
-}
-
-WebInspector.IndexedDBDispatcher.prototype = {
- /**
- * @param {number} requestId
- * @param {IndexedDBAgent.SecurityOriginWithDatabaseNames} securityOriginWithDatabaseNames
- */
- databaseNamesLoaded: function(requestId, securityOriginWithDatabaseNames)
- {
- this._agentWrapper._databaseNamesLoaded(requestId, securityOriginWithDatabaseNames);
- },
-
- /**
- * @param {number} requestId
- * @param {IndexedDBAgent.DatabaseWithObjectStores} databaseWithObjectStores
- */
- databaseLoaded: function(requestId, databaseWithObjectStores)
- {
- this._agentWrapper._databaseLoaded(requestId, databaseWithObjectStores);
- },
-
- /**
- * @param {number} requestId
- * @param {Array.<IndexedDBAgent.DataEntry>} dataEntries
- * @param {boolean} hasMore
- */
- objectStoreDataLoaded: function(requestId, dataEntries, hasMore)
- {
- this._agentWrapper._objectStoreDataLoaded(requestId, dataEntries, hasMore);
- },
-
- /**
- * @param {number} requestId
- * @param {Array.<IndexedDBAgent.DataEntry>} dataEntries
- * @param {boolean} hasMore
- */
- indexDataLoaded: function(requestId, dataEntries, hasMore)
- {
- this._agentWrapper._indexDataLoaded(requestId, dataEntries, hasMore);
- }
-}
-
diff --git a/Source/WebCore/inspector/front-end/JavaScriptSource.js b/Source/WebCore/inspector/front-end/JavaScriptSource.js
index 2ac4953ce..a641c2d18 100644
--- a/Source/WebCore/inspector/front-end/JavaScriptSource.js
+++ b/Source/WebCore/inspector/front-end/JavaScriptSource.js
@@ -34,11 +34,10 @@
* @param {string} url
* @param {WebInspector.Resource} resource
* @param {WebInspector.ContentProvider} contentProvider
- * @param {WebInspector.SourceMapping} sourceMapping
*/
-WebInspector.JavaScriptSource = function(url, resource, contentProvider, sourceMapping, isEditable)
+WebInspector.JavaScriptSource = function(url, resource, contentProvider, isEditable)
{
- WebInspector.UISourceCode.call(this, url, resource, contentProvider, sourceMapping);
+ WebInspector.UISourceCode.call(this, url, resource, contentProvider);
this._isEditable = isEditable;
}
diff --git a/Source/WebCore/inspector/front-end/Linkifier.js b/Source/WebCore/inspector/front-end/Linkifier.js
index fab18bae1..d08280b4c 100644
--- a/Source/WebCore/inspector/front-end/Linkifier.js
+++ b/Source/WebCore/inspector/front-end/Linkifier.js
@@ -97,7 +97,7 @@ WebInspector.Linkifier.prototype = {
_updateAnchor: function(anchor, uiLocation)
{
anchor.preferredPanel = "scripts";
- anchor.href = uiLocation.uiSourceCode.url;
+ anchor.href = sanitizeHref(uiLocation.uiSourceCode.url);
anchor.uiSourceCode = uiLocation.uiSourceCode;
anchor.lineNumber = uiLocation.lineNumber;
this._formatter.formatLiveAnchor(anchor, uiLocation);
diff --git a/Source/WebCore/inspector/front-end/NativeMemorySnapshotView.js b/Source/WebCore/inspector/front-end/NativeMemorySnapshotView.js
index 1b0ce1e06..e32959268 100644
--- a/Source/WebCore/inspector/front-end/NativeMemorySnapshotView.js
+++ b/Source/WebCore/inspector/front-end/NativeMemorySnapshotView.js
@@ -216,8 +216,9 @@ WebInspector.MemoryBlockViewProperties._initialize = function()
WebInspector.MemoryBlockViewProperties._standardBlocks[name] = new WebInspector.MemoryBlockViewProperties(fillStyle, name, WebInspector.UIString(description));
}
addBlock("hsl( 0, 0%, 100%)", "ProcessPrivateMemory", "Total");
+ addBlock("hsl( 0, 0%, 80%)", "OwnersTypePlaceholder", "OwnersTypePlaceholder");
addBlock("hsl( 0, 0%, 80%)", "Other", "Other");
- addBlock("hsl(300, 30%, 80%)", "DOM", "DOM tree structures");
+ addBlock("hsl(300, 30%, 80%)", "Page", "Page's structures");
addBlock("hsl( 90, 60%, 80%)", "JSHeapAllocated", "JavaScript heap");
addBlock("hsl( 90, 80%, 80%)", "JSHeapUsed", "Used JavaScript heap");
addBlock("hsl( 90, 30%, 80%)", "JSExternalResources", "JavaScript external resources");
diff --git a/Source/WebCore/inspector/front-end/NetworkPanel.js b/Source/WebCore/inspector/front-end/NetworkPanel.js
index b0b11e011..5c80ac178 100644
--- a/Source/WebCore/inspector/front-end/NetworkPanel.js
+++ b/Source/WebCore/inspector/front-end/NetworkPanel.js
@@ -29,9 +29,6 @@
*/
importScript("RequestView.js");
-importScript("ResourceView.js");
-importScript("FontView.js");
-importScript("ImageView.js");
importScript("NetworkItemView.js");
importScript("RequestCookiesView.js");
importScript("RequestHeadersView.js");
@@ -1928,8 +1925,7 @@ WebInspector.NetworkDataGridNode.prototype = {
this._nameCell.appendChild(iconElement);
this._nameCell.appendChild(document.createTextNode(this._fileName()));
-
- var subtitle = WebInspector.displayDomain(this._request.parsedURL.host);
+ var subtitle = this._request.parsedURL.host === WebInspector.inspectedPageDomain ? "" : this._request.parsedURL.host;
if (this._request.parsedURL.path)
subtitle += this._request.folder;
diff --git a/Source/WebCore/inspector/front-end/NetworkUISourceCodeProvider.js b/Source/WebCore/inspector/front-end/NetworkUISourceCodeProvider.js
new file mode 100644
index 000000000..f1625f64c
--- /dev/null
+++ b/Source/WebCore/inspector/front-end/NetworkUISourceCodeProvider.js
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/**
+ * @constructor
+ * @param {WebInspector.Workspace} workspace
+ */
+WebInspector.NetworkUISourceCodeProvider = function(workspace)
+{
+ this._workspace = workspace;
+ WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._projectWillReset, this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectDidReset, this._projectDidReset, this);
+
+ this._uiSourceCodeForResource = {};
+}
+
+WebInspector.NetworkUISourceCodeProvider.prototype = {
+ _populate: function()
+ {
+ function populateFrame(frame)
+ {
+ for (var i = 0; i < frame.childFrames.length; ++i)
+ populateFrame.call(this, frame.childFrames[i]);
+
+ var resources = frame.resources();
+ for (var i = 0; i < resources.length; ++i)
+ this._resourceAdded({data:resources[i]});
+ }
+
+ populateFrame.call(this, WebInspector.resourceTreeModel.mainFrame);
+ },
+
+ /**
+ * @param {WebInspector.Event} event
+ */
+ _resourceAdded: function(event)
+ {
+ var resource = /** @type {WebInspector.Resource} */ event.data;
+ if (this._uiSourceCodeForResource[resource.url])
+ return;
+ var uiSourceCode;
+ switch (resource.type) {
+ case WebInspector.resourceTypes.Stylesheet:
+ uiSourceCode = new WebInspector.StyleSource(resource);
+ break;
+ case WebInspector.resourceTypes.Document:
+ uiSourceCode = new WebInspector.JavaScriptSource(resource.url, resource, resource, false);
+ break;
+ case WebInspector.resourceTypes.Script:
+ uiSourceCode = new WebInspector.JavaScriptSource(resource.url, resource, resource, true);
+ break;
+ }
+ if (uiSourceCode) {
+ this._uiSourceCodeForResource[resource.url] = uiSourceCode;
+ this._workspace.project().addUISourceCode(uiSourceCode);
+ }
+ },
+
+ _projectWillReset: function()
+ {
+ this._uiSourceCodeForResource = {};
+ },
+
+ _projectDidReset: function()
+ {
+ this._populate();
+ }
+}
diff --git a/Source/WebCore/inspector/front-end/ObjectPropertiesSection.js b/Source/WebCore/inspector/front-end/ObjectPropertiesSection.js
index f1c5069d7..e9a097045 100644
--- a/Source/WebCore/inspector/front-end/ObjectPropertiesSection.js
+++ b/Source/WebCore/inspector/front-end/ObjectPropertiesSection.js
@@ -60,8 +60,7 @@ WebInspector.ObjectPropertiesSection.prototype = {
{
var contextMenu = new WebInspector.ContextMenu();
contextMenu.appendApplicableItems(this.object);
- if (!contextMenu.isEmpty())
- contextMenu.show(event);
+ contextMenu.show(event);
},
onpopulate: function()
@@ -234,18 +233,14 @@ WebInspector.ObjectPropertyTreeElement.prototype = {
} else
this.valueElement.textContent = description;
- if (this.property.value.type === "function")
- this.valueElement.addEventListener("contextmenu", this._functionContextMenuEventFired.bind(this), false);
-
if (this.property.wasThrown)
this.valueElement.addStyleClass("error");
if (this.property.value.subtype)
this.valueElement.addStyleClass("console-formatted-" + this.property.value.subtype);
else if (this.property.value.type)
this.valueElement.addStyleClass("console-formatted-" + this.property.value.type);
- if (this.property.value.subtype === "node")
- this.valueElement.addEventListener("contextmenu", this._contextMenuEventFired.bind(this), false);
+ this.valueElement.addEventListener("contextmenu", this._contextMenuFired.bind(this, this.property.value), false);
this.valueElement.title = description || "";
this.listItemElement.removeChildren();
@@ -256,42 +251,10 @@ WebInspector.ObjectPropertyTreeElement.prototype = {
this.hasChildren = this.property.value.hasChildren && !this.property.wasThrown;
},
- _contextMenuEventFired: function(event)
+ _contextMenuFired: function(value, event)
{
- function selectNode(nodeId)
- {
- if (nodeId)
- WebInspector.domAgent.inspectElement(nodeId);
- }
-
- function revealElement()
- {
- this.property.value.pushNodeToFrontend(selectNode);
- }
-
- var contextMenu = new WebInspector.ContextMenu();
- contextMenu.appendItem(WebInspector.UIString("Reveal in Elements Panel"), revealElement.bind(this));
- contextMenu.show(event);
- },
-
- _functionContextMenuEventFired: function(event)
- {
- function didGetDetails(error, response)
- {
- if (error) {
- console.error(error);
- return;
- }
- WebInspector.panel("scripts").showFunctionDefinition(response.location);
- }
-
- function revealFunction()
- {
- DebuggerAgent.getFunctionDetails(this.property.value.objectId, didGetDetails.bind(this));
- }
-
var contextMenu = new WebInspector.ContextMenu();
- contextMenu.appendItem(WebInspector.UIString("Show function definition"), revealFunction.bind(this));
+ contextMenu.appendApplicableItems(value);
contextMenu.show(event);
},
diff --git a/Source/WebCore/inspector/front-end/ParsedURL.js b/Source/WebCore/inspector/front-end/ParsedURL.js
index a05a4c398..49d1fde76 100644
--- a/Source/WebCore/inspector/front-end/ParsedURL.js
+++ b/Source/WebCore/inspector/front-end/ParsedURL.js
@@ -96,16 +96,17 @@ WebInspector.ParsedURL = function(url)
WebInspector.ParsedURL.completeURL = function(baseURL, href)
{
if (href) {
- // Return absolute URLs as-is.
- var parsedHref = href.asParsedURL();
- if (parsedHref && parsedHref.scheme)
- return href;
-
// Return special URLs as-is.
var trimmedHref = href.trim();
- if (trimmedHref.startsWith("data:") || trimmedHref.startsWith("javascript:") || trimmedHref.startsWith("blob:"))
+ if (trimmedHref.startsWith("data:") || trimmedHref.startsWith("blob:") || trimmedHref.startsWith("javascript:"))
return href;
- }
+
+ // Return absolute URLs as-is.
+ var parsedHref = trimmedHref.asParsedURL();
+ if (parsedHref && parsedHref.scheme)
+ return trimmedHref;
+ } else
+ return baseURL;
var parsedURL = baseURL.asParsedURL();
if (parsedURL) {
@@ -155,7 +156,7 @@ WebInspector.ParsedURL.prototype = {
this._displayName = this.lastPathComponent;
if (!this._displayName)
- this._displayName = WebInspector.displayDomain(this.host);
+ this._displayName = this.host;
if (!this._displayName && this.url)
this._displayName = this.url.trimURL(WebInspector.inspectedPageDomain ? WebInspector.inspectedPageDomain : "");
if (this._displayName === "/")
diff --git a/Source/WebCore/inspector/front-end/Popover.js b/Source/WebCore/inspector/front-end/Popover.js
index c74987795..5dfb33fe4 100644
--- a/Source/WebCore/inspector/front-end/Popover.js
+++ b/Source/WebCore/inspector/front-end/Popover.js
@@ -217,7 +217,7 @@ WebInspector.PopoverHelper.prototype = {
_mouseDown: function(event)
{
- if (this._disableOnClick)
+ if (this._disableOnClick || !event.target.isSelfOrDescendant(this._hoverElement))
this.hidePopover();
else {
this._killHidePopoverTimer();
diff --git a/Source/WebCore/inspector/front-end/ProfilesPanel.js b/Source/WebCore/inspector/front-end/ProfilesPanel.js
index 09b0fb944..6a8b4d89f 100644
--- a/Source/WebCore/inspector/front-end/ProfilesPanel.js
+++ b/Source/WebCore/inspector/front-end/ProfilesPanel.js
@@ -248,6 +248,8 @@ WebInspector.ProfilesPanel = function()
this._registerProfileType(new WebInspector.HeapSnapshotProfileType());
if (WebInspector.experimentsSettings.nativeMemorySnapshots.isEnabled())
this._registerProfileType(new WebInspector.NativeMemoryProfileType());
+ if (WebInspector.experimentsSettings.webGLInspection.isEnabled())
+ this._registerProfileType(new WebInspector.WebGLProfileType());
InspectorBackend.registerProfilerDispatcher(new WebInspector.ProfilerDispatcher(this));
@@ -1317,3 +1319,4 @@ importScript("HeapSnapshotWorkerDispatcher.js");
importScript("NativeMemorySnapshotView.js");
importScript("ProfileLauncherView.js");
importScript("TopDownProfileDataGridTree.js");
+importScript("WebGLProfileView.js");
diff --git a/Source/WebCore/inspector/front-end/RawSourceCode.js b/Source/WebCore/inspector/front-end/RawSourceCode.js
index 7e1b44cda..e69de29bb 100644
--- a/Source/WebCore/inspector/front-end/RawSourceCode.js
+++ b/Source/WebCore/inspector/front-end/RawSourceCode.js
@@ -1,145 +0,0 @@
-/*
- * Copyright (C) 2011 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.
- */
-
-// RawSourceCode represents JavaScript resource or HTML resource with inlined scripts
-// as it came from network.
-
-/**
- * @constructor
- * @extends {WebInspector.Object}
- * @param {string} id
- * @param {WebInspector.Script} script
- * @param {WebInspector.Resource} resource
- * @param {WebInspector.NetworkRequest} request
- * @param {WebInspector.SourceMapping} sourceMapping
- */
-WebInspector.RawSourceCode = function(id, script, resource, request, sourceMapping)
-{
- this.id = id;
- this.url = script.sourceURL;
- this.isContentScript = script.isContentScript;
- this._scripts = [script];
- this._resource = resource;
- this._pendingRequest = request;
- this._sourceMapping = sourceMapping;
-
- this._uiSourceCode = null;
- if (this._pendingRequest)
- this._pendingRequest.addEventListener(WebInspector.NetworkRequest.Events.FinishedLoading, this._finishedLoading, this);
- else
- this._uiSourceCode = this._createUISourceCode();
-}
-
-WebInspector.RawSourceCode.Events = {
- UISourceCodeChanged: "us-source-code-changed"
-}
-
-WebInspector.RawSourceCode.prototype = {
- /**
- * @param {WebInspector.Script} script
- */
- addScript: function(script)
- {
- this._scripts.push(script);
- if (this._temporaryUISourceCode) {
- var oldUISourceCode = this._temporaryUISourceCode;
- this._temporaryUISourceCode = this._createUISourceCode();
- this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.UISourceCodeChanged, { uiSourceCode: this._temporaryUISourceCode, oldUISourceCode: oldUISourceCode });
- }
- },
-
- /**
- * @param {WebInspector.DebuggerModel.Location} rawLocation
- * @return {WebInspector.UILocation}
- */
- rawLocationToUILocation: function(rawLocation)
- {
- var uiSourceCode = this._uiSourceCode || this._temporaryUISourceCode;
- if (!uiSourceCode) {
- this._temporaryUISourceCode = this._createUISourceCode();
- uiSourceCode = this._temporaryUISourceCode;
- this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.UISourceCodeChanged, { uiSourceCode: uiSourceCode });
- }
- return new WebInspector.UILocation(uiSourceCode, rawLocation.lineNumber, rawLocation.columnNumber || 0);
- },
-
- /**
- * @return {WebInspector.UISourceCode}
- */
- _createUISourceCode: function()
- {
- var isStandaloneScript = this._scripts.length === 1 && !this._scripts[0].isInlineScript();
-
- var contentProvider;
- if (this._resource)
- contentProvider = this._resource;
- else if (isStandaloneScript)
- contentProvider = this._scripts[0];
- else
- contentProvider = new WebInspector.ConcatenatedScriptsContentProvider(this._scripts);
-
- var uiSourceCode = new WebInspector.JavaScriptSource(this.url, this._resource, contentProvider, this._sourceMapping, isStandaloneScript);
- uiSourceCode.isContentScript = this.isContentScript;
- return uiSourceCode;
- },
-
- /**
- * @param {WebInspector.UISourceCode} uiSourceCode
- * @param {number} lineNumber
- * @param {number} columnNumber
- * @return {WebInspector.RawLocation}
- */
- uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
- {
- if (this.url)
- return WebInspector.debuggerModel.createRawLocationByURL(this.url, lineNumber, columnNumber);
- return WebInspector.debuggerModel.createRawLocation(this._scripts[0], lineNumber, columnNumber);
- },
-
- /**
- * @return {WebInspector.UISourceCode|null}
- */
- uiSourceCode: function()
- {
- return this._uiSourceCode || this._temporaryUISourceCode;
- },
-
- _finishedLoading: function(event)
- {
- this._resource = WebInspector.resourceForURL(this._pendingRequest.url);
- delete this._pendingRequest;
- var oldUISourceCode = this._uiSourceCode || this._temporaryUISourceCode;
- delete this._temporaryUISourceCode;
- this._uiSourceCode = this._createUISourceCode();
- this.dispatchEventToListeners(WebInspector.RawSourceCode.Events.UISourceCodeChanged, { uiSourceCode: this._uiSourceCode, oldUISourceCode: oldUISourceCode });
- }
-}
-
-WebInspector.RawSourceCode.prototype.__proto__ = WebInspector.Object.prototype;
diff --git a/Source/WebCore/inspector/front-end/Resource.js b/Source/WebCore/inspector/front-end/Resource.js
index 8329a0b7a..9fa6b8c0a 100644
--- a/Source/WebCore/inspector/front-end/Resource.js
+++ b/Source/WebCore/inspector/front-end/Resource.js
@@ -311,13 +311,12 @@ WebInspector.Resource.prototype = {
this._contentRequested = true;
/**
- * @param {?Protocol.Error} error
* @param {string} content
* @param {boolean} contentEncoded
*/
- function callback(error, content, contentEncoded)
+ function contentLoaded(content, contentEncoded)
{
- this._content = error ? null : content;
+ this._content = content;
this._contentEncoded = contentEncoded;
var callbacks = this._pendingContentCallbacks.slice();
for (var i = 0; i < callbacks.length; ++i)
@@ -325,7 +324,34 @@ WebInspector.Resource.prototype = {
this._pendingContentCallbacks.length = 0;
delete this._contentRequested;
}
- PageAgent.getResourceContent(this.frameId, this.url, callback.bind(this));
+
+ /**
+ * @param {?Protocol.Error} error
+ * @param {string} content
+ * @param {boolean} contentEncoded
+ */
+ function resourceContentLoaded(error, content, contentEncoded)
+ {
+ if (error)
+ console.error("Resource content request failed: " + error);
+ contentLoaded.call(this, error ? null : content, contentEncoded);
+ }
+
+ if (this.request) {
+ /**
+ * @param {string} content
+ * @param {boolean} contentEncoded
+ * @param {string} mimeType
+ */
+ function requestContentLoaded(content, contentEncoded, mimeType)
+ {
+ contentLoaded.call(this, content, contentEncoded);
+ }
+
+ this.request.requestContent(requestContentLoaded.bind(this));
+ return;
+ }
+ PageAgent.getResourceContent(this.frameId, this.url, resourceContentLoaded.bind(this));
},
/**
diff --git a/Source/WebCore/inspector/front-end/ResourceScriptMapping.js b/Source/WebCore/inspector/front-end/ResourceScriptMapping.js
index 6e2519f26..02eb62e72 100644
--- a/Source/WebCore/inspector/front-end/ResourceScriptMapping.js
+++ b/Source/WebCore/inspector/front-end/ResourceScriptMapping.js
@@ -30,17 +30,21 @@
/**
* @constructor
- * @extends {WebInspector.Object}
* @implements {WebInspector.SourceMapping}
- * @implements {WebInspector.UISourceCodeProvider}
+ * @param {WebInspector.Workspace} workspace
*/
-WebInspector.ResourceScriptMapping = function()
+WebInspector.ResourceScriptMapping = function(workspace)
{
- this._rawSourceCodes = [];
- this._rawSourceCodeForScriptId = {};
- this._rawSourceCodeForURL = {};
- this._rawSourceCodeForDocumentURL = {};
- this._rawSourceCodeForUISourceCode = new Map();
+ this._workspace = workspace;
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._reset, this);
+ this._workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, this._uiSourceCodeAddedToWorkspace, this);
+
+ /** @type {Object.<string, WebInspector.UISourceCode>} */
+ this._uiSourceCodeForScriptId = {};
+ this._scriptIdForUISourceCode = new Map();
+ this._temporaryUISourceCodes = new Map();
+ /** @type {Object.<string, number>} */
+ this._nextDynamicScriptIndexForURL = {};
}
WebInspector.ResourceScriptMapping.prototype = {
@@ -51,8 +55,9 @@ WebInspector.ResourceScriptMapping.prototype = {
rawLocationToUILocation: function(rawLocation)
{
var debuggerModelLocation = /** @type {WebInspector.DebuggerModel.Location} */ rawLocation;
- var rawSourceCode = this._rawSourceCodeForScriptId[debuggerModelLocation.scriptId];
- return rawSourceCode.rawLocationToUILocation(debuggerModelLocation);
+ var script = WebInspector.debuggerModel.scriptForId(debuggerModelLocation.scriptId);
+ var uiSourceCode = this._uiSourceCodeForScriptId[debuggerModelLocation.scriptId];
+ return new WebInspector.UILocation(uiSourceCode, debuggerModelLocation.lineNumber, debuggerModelLocation.columnNumber || 0);
},
/**
@@ -63,164 +68,157 @@ WebInspector.ResourceScriptMapping.prototype = {
*/
uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
{
- var rawSourceCode = this._rawSourceCodeForUISourceCode.get(uiSourceCode);
- return rawSourceCode.uiLocationToRawLocation(uiSourceCode, lineNumber, columnNumber);
+ var scriptId = this._scriptIdForUISourceCode.get(uiSourceCode);
+ var script = WebInspector.debuggerModel.scriptForId(scriptId);
+ return WebInspector.debuggerModel.createRawLocation(script, lineNumber, columnNumber);
},
/**
- * @return {Array.<WebInspector.UISourceCode>}
+ * @param {WebInspector.Script} script
*/
- uiSourceCodes: function()
+ addScript: function(script)
{
- var result = [];
- for (var i = 0; i < this._rawSourceCodes.length; ++i) {
- var uiSourceCode = this._rawSourceCodes[i].uiSourceCode();
- if (uiSourceCode)
- result.push(uiSourceCode);
+ console.assert(!this._uiSourceCodeForScriptId[script.scriptId]);
+
+ var isDynamicScript = false;
+ if (!script.isAnonymousScript()) {
+ var uiSourceCode = this._workspace.uiSourceCodeForURL(script.sourceURL);
+ isDynamicScript = !!uiSourceCode && uiSourceCode.contentType() === WebInspector.resourceTypes.Document && !script.isInlineScript();
+ if (uiSourceCode && !isDynamicScript && !this._temporaryUISourceCodes.get(uiSourceCode))
+ this._bindUISourceCodeToScripts(uiSourceCode, [script]);
}
- return result;
+ if (!this._uiSourceCodeForScriptId[script.scriptId])
+ this._addOrReplaceTemporaryUISourceCode(script, isDynamicScript);
+
+ console.assert(this._uiSourceCodeForScriptId[script.scriptId]);
},
/**
- * @param {WebInspector.Script} script
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ * @param {Array.<WebInspector.Script>} scripts
*/
- addScript: function(script)
+ _bindUISourceCodeToScripts: function(uiSourceCode, scripts)
{
- var resource = null;
- var request = null;
- if (!script.isAnonymousScript()) {
- // First lookup the resource that has already been loaded.
- resource = WebInspector.resourceForURL(script.sourceURL);
- // Ignore resource in case it has not yet finished loading.
- if (resource && resource.request && !resource.request.finished)
- resource = null;
- // Only bind inline and standalone scripts.
- if (resource && !this._shouldBindScriptToContentProvider(script, resource))
- resource = null;
- if (!resource) {
- // When there is no resource, lookup in-flight requests.
- request = WebInspector.networkManager.inflightRequestForURL(script.sourceURL);
- // Only bind inline and standalone scripts.
- if (request && !this._shouldBindScriptToContentProvider(script, request))
- request = null;
- }
- }
- console.assert(!resource || !request);
-
- var isInlineScript = script.isInlineScript() && (request || resource);
- // If either of these exists, we bind script to the resource.
- if (isInlineScript) {
- var rawSourceCode = this._rawSourceCodeForDocumentURL[script.sourceURL];
- if (rawSourceCode) {
- rawSourceCode.addScript(script);
- this._bindScriptToRawSourceCode(script, rawSourceCode);
- return;
- }
- }
-
- var rawSourceCode = new WebInspector.RawSourceCode(script.scriptId, script, resource, request, this);
- this._rawSourceCodes.push(rawSourceCode);
- this._bindScriptToRawSourceCode(script, rawSourceCode);
- if (isInlineScript)
- this._rawSourceCodeForDocumentURL[script.sourceURL] = rawSourceCode;
+ console.assert(scripts.length);
- if (rawSourceCode.uiSourceCode())
- this._uiSourceCodeAdded(rawSourceCode, rawSourceCode.uiSourceCode());
- rawSourceCode.addEventListener(WebInspector.RawSourceCode.Events.UISourceCodeChanged, this._handleUISourceCodeChanged, this);
+ for (var i = 0; i < scripts.length; ++i) {
+ this._uiSourceCodeForScriptId[scripts[i].scriptId] = uiSourceCode;
+ scripts[i].setSourceMapping(this);
+ }
+ uiSourceCode.isContentScript = scripts[0].isContentScript;
+ uiSourceCode.setSourceMapping(this);
+ this._scriptIdForUISourceCode.put(uiSourceCode, scripts[0].scriptId);
},
/**
- * @param {WebInspector.Script} script
- * @param {WebInspector.ContentProvider} contentProvider
- * @return {boolean}
+ * @param {string} sourceURL
+ * @param {boolean} isInlineScript
+ * @return {Array.<WebInspector.Script>}
*/
- _shouldBindScriptToContentProvider: function(script, contentProvider)
+ _scriptsForSourceURL: function(sourceURL, isInlineScript)
{
- if (script.isInlineScript())
- return contentProvider.contentType() === WebInspector.resourceTypes.Document;
- return contentProvider.contentType() === WebInspector.resourceTypes.Script;
+ function filter(script)
+ {
+ return script.sourceURL === sourceURL && script.isInlineScript() === isInlineScript;
+ }
+
+ return Object.values(WebInspector.debuggerModel.scripts).filter(filter);
},
/**
- * @param {WebInspector.Event} event
+ * @param {WebInspector.Script} script
+ * @param {boolean} isDynamicScript
*/
- _handleUISourceCodeChanged: function(event)
+ _addOrReplaceTemporaryUISourceCode: function(script, isDynamicScript)
{
- var rawSourceCode = /** @type {WebInspector.RawSourceCode} */ event.target;
- var uiSourceCode = /** @type {WebInspector.UISourceCode} */ event.data.uiSourceCode;
- var oldUISourceCode = /** @type {WebInspector.UISourceCode} */ event.data.oldUISourceCode;
- if (!oldUISourceCode)
- this._uiSourceCodeAdded(rawSourceCode, uiSourceCode);
+ var scripts = script.isInlineScript() ? this._scriptsForSourceURL(script.sourceURL, true) : [script];
+
+ var oldUISourceCode;
+ for (var i = 0; i < scripts.length; ++i) {
+ oldUISourceCode = this._uiSourceCodeForScriptId[scripts[i].scriptId];
+ if (oldUISourceCode)
+ break;
+ }
+ console.assert(!oldUISourceCode || this._temporaryUISourceCodes.get(oldUISourceCode));
+
+ var contentProvider = script.isInlineScript() ? new WebInspector.ConcatenatedScriptsContentProvider(scripts) : script;
+ var url = script.sourceURL;
+ if (isDynamicScript) {
+ var nextIndex = this._nextDynamicScriptIndexForURL[script.sourceURL] || 1;
+ url += " (" + nextIndex + ")";
+ this._nextDynamicScriptIndexForURL[script.sourceURL] = nextIndex + 1;
+ }
+ var uiSourceCode = new WebInspector.JavaScriptSource(url, null, contentProvider, !script.isInlineScript());
+ this._temporaryUISourceCodes.put(uiSourceCode, uiSourceCode);
+ this._bindUISourceCodeToScripts(uiSourceCode, scripts);
+
+ if (!script.sourceURL)
+ return uiSourceCode;
+
+ if (oldUISourceCode)
+ this._uiSourceCodeReplaced(oldUISourceCode, uiSourceCode);
else
- this._uiSourceCodeReplaced(rawSourceCode, oldUISourceCode, uiSourceCode);
+ this._workspace.project().addUISourceCode(uiSourceCode);
+ return uiSourceCode;
},
- /**
- * @param {WebInspector.RawSourceCode} rawSourceCode
- * @paran {WebInspector.UISourceCode} uiSourceCode
- */
- _uiSourceCodeAdded: function(rawSourceCode, uiSourceCode)
+ _uiSourceCodeAddedToWorkspace: function(event)
{
- if (!uiSourceCode.url)
+ var uiSourceCode = /** @type {WebInspector.UISourceCode} */ event.data;
+ console.assert(!this._scriptIdForUISourceCode.get(uiSourceCode) || this._temporaryUISourceCodes.get(uiSourceCode));
+ if (!uiSourceCode.url || this._temporaryUISourceCodes.get(uiSourceCode))
return;
- this._rawSourceCodeForUISourceCode.put(uiSourceCode, rawSourceCode);
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, uiSourceCode);
+ this._addUISourceCode(uiSourceCode);
},
/**
- * @param {WebInspector.RawSourceCode} rawSourceCode
- * @param {WebInspector.UISourceCode} oldUISourceCode
* @param {WebInspector.UISourceCode} uiSourceCode
*/
- _uiSourceCodeReplaced: function(rawSourceCode, oldUISourceCode, uiSourceCode)
+ _addUISourceCode: function(uiSourceCode)
{
- if (!uiSourceCode.url)
+ var isInlineScript;
+ switch (uiSourceCode.contentType()) {
+ case WebInspector.resourceTypes.Document:
+ isInlineScript = true;
+ break;
+ case WebInspector.resourceTypes.Script:
+ isInlineScript = false;
+ break;
+ default:
return;
- this._rawSourceCodeForUISourceCode.remove(oldUISourceCode);
- this._rawSourceCodeForUISourceCode.put(uiSourceCode, rawSourceCode);
+ }
- for (var i = 0; i < rawSourceCode._scripts.length; ++i)
- rawSourceCode._scripts[i].setSourceMapping(this);
+ var scripts = this._scriptsForSourceURL(uiSourceCode.url, isInlineScript);
+ if (!scripts.length)
+ return;
- var data = { oldUISourceCode: oldUISourceCode, uiSourceCode: uiSourceCode };
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeReplaced, data);
- },
+ var oldUISourceCode = this._uiSourceCodeForScriptId[scripts[0].scriptId];
+ this._bindUISourceCodeToScripts(uiSourceCode, scripts);
- /**
- * @param {WebInspector.RawSourceCode} rawSourceCode
- * @paran {WebInspector.UISourceCode} uiSourceCode
- */
- _uiSourceCodeRemoved: function(rawSourceCode, uiSourceCode)
- {
- if (!uiSourceCode.url)
- return;
- this._rawSourceCodeForUISourceCode.remove(uiSourceCode);
+ if (oldUISourceCode) {
+ console.assert(this._temporaryUISourceCodes.get(oldUISourceCode));
+ this._uiSourceCodeReplaced(oldUISourceCode, uiSourceCode);
+ }
+
+ console.assert(this._scriptIdForUISourceCode.get(uiSourceCode) && !this._temporaryUISourceCodes.get(uiSourceCode));
},
/**
- * @param {WebInspector.Script} script
- * @param {WebInspector.RawSourceCode} rawSourceCode
+ * @param {WebInspector.UISourceCode} oldUISourceCode
+ * @param {WebInspector.UISourceCode} uiSourceCode
*/
- _bindScriptToRawSourceCode: function(script, rawSourceCode)
+ _uiSourceCodeReplaced: function(oldUISourceCode, uiSourceCode)
{
- this._rawSourceCodeForScriptId[script.scriptId] = rawSourceCode;
- this._rawSourceCodeForURL[script.sourceURL] = rawSourceCode;
- script.setSourceMapping(this);
+ this._temporaryUISourceCodes.remove(oldUISourceCode);
+ this._scriptIdForUISourceCode.remove(oldUISourceCode);
+ this._workspace.project().replaceUISourceCode(oldUISourceCode, uiSourceCode);
},
- reset: function()
+ _reset: function()
{
- for (var i = 0; i < this._rawSourceCodes.length; ++i) {
- var rawSourceCode = this._rawSourceCodes[i];
- this._uiSourceCodeRemoved(rawSourceCode, rawSourceCode.uiSourceCode());
- rawSourceCode.removeAllListeners();
- }
- this._rawSourceCodes = [];
- this._rawSourceCodeForScriptId = {};
- this._rawSourceCodeForURL = {};
- this._rawSourceCodeForDocumentURL = {};
- this._rawSourceCodeForUISourceCode.clear();
- }
+ this._uiSourceCodeForScriptId = {};
+ this._scriptIdForUISourceCode.clear();
+ this._temporaryUISourceCodes.clear();
+ this._nextDynamicScriptIndexForURL = {};
+ },
}
-
-WebInspector.ResourceScriptMapping.prototype.__proto__ = WebInspector.Object.prototype;
diff --git a/Source/WebCore/inspector/front-end/ResourceTreeModel.js b/Source/WebCore/inspector/front-end/ResourceTreeModel.js
index ca25c959f..d503dae60 100644
--- a/Source/WebCore/inspector/front-end/ResourceTreeModel.js
+++ b/Source/WebCore/inspector/front-end/ResourceTreeModel.js
@@ -35,8 +35,7 @@
*/
WebInspector.ResourceTreeModel = function(networkManager)
{
- networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestUpdated, this._onRequestUpdated, this);
- networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestFinished, this._onRequestUpdated, this);
+ networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestFinished, this._onRequestFinished, this);
networkManager.addEventListener(WebInspector.NetworkManager.EventTypes.RequestUpdateDropped, this._onRequestUpdateDropped, this);
WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.MessageAdded, this._consoleMessageAdded, this);
@@ -116,9 +115,6 @@ WebInspector.ResourceTreeModel.prototype = {
*/
_frameNavigated: function(framePayload)
{
- if (this._frontendReused(framePayload))
- return;
-
// Do nothing unless cached resource tree is processed - it will overwrite everything.
if (!this._cachedResourcesProcessed)
return;
@@ -154,20 +150,6 @@ WebInspector.ResourceTreeModel.prototype = {
},
/**
- * @param {PageAgent.Frame} framePayload
- * @return {boolean}
- */
- _frontendReused: function(framePayload)
- {
- if (!framePayload.parentId && !WebInspector.networkLog.requests.length) {
- // We are navigating main frame to the existing loaded backend (no provisioual loaded resources are there).
- this._fetchResourceTree();
- return true;
- }
- return false;
- },
-
- /**
* @param {NetworkAgent.FrameId} frameId
*/
_frameDetached: function(frameId)
@@ -189,7 +171,7 @@ WebInspector.ResourceTreeModel.prototype = {
/**
* @param {WebInspector.Event} event
*/
- _onRequestUpdated: function(event)
+ _onRequestFinished: function(event)
{
if (!this._cachedResourcesProcessed)
return;
diff --git a/Source/WebCore/inspector/front-end/ResourceUtils.js b/Source/WebCore/inspector/front-end/ResourceUtils.js
index 54909c730..16a62676e 100644
--- a/Source/WebCore/inspector/front-end/ResourceUtils.js
+++ b/Source/WebCore/inspector/front-end/ResourceUtils.js
@@ -46,16 +46,6 @@ WebInspector.forAllResources = function(callback)
}
/**
- * @param {string} host
- */
-WebInspector.displayDomain = function(host)
-{
- if (host && (!WebInspector.inspectedPageDomain || (WebInspector.inspectedPageDomain && host !== WebInspector.inspectedPageDomain)))
- return host;
- return "";
-}
-
-/**
* @param {string} url
* @return {string}
*/
@@ -181,7 +171,7 @@ WebInspector.linkifyURLAsNode = function(url, linkText, classes, isExternal, too
classes += isExternal ? "webkit-html-external-link" : "webkit-html-resource-link";
var a = document.createElement("a");
- a.href = url;
+ a.href = sanitizeHref(url);
a.className = classes;
if (typeof tooltipText === "undefined")
a.title = url;
@@ -236,36 +226,3 @@ WebInspector.linkifyRequestAsNode = function(request, classes)
anchor.requestId = request.requestId;
return anchor;
}
-
-/**
- * @return {?string} null if the specified resource MUST NOT have a URL (e.g. "javascript:...")
- */
-WebInspector.resourceURLForRelatedNode = function(node, url)
-{
- if (!url || url.indexOf("://") > 0)
- return url;
-
- if (url.trim().startsWith("javascript:"))
- return null; // Do not provide a resource URL for security.
-
- for (var frameOwnerCandidate = node; frameOwnerCandidate; frameOwnerCandidate = frameOwnerCandidate.parentNode) {
- if (frameOwnerCandidate.documentURL) {
- var result = WebInspector.ParsedURL.completeURL(frameOwnerCandidate.documentURL, url);
- if (result)
- return result;
- break;
- }
- }
-
- // documentURL not found or has bad value
- var resourceURL = url;
- function callback(resource)
- {
- if (resource.parsedURL.path === url) {
- resourceURL = resource.url;
- return true;
- }
- }
- WebInspector.forAllResources(callback);
- return resourceURL;
-}
diff --git a/Source/WebCore/inspector/front-end/RevisionHistoryView.js b/Source/WebCore/inspector/front-end/RevisionHistoryView.js
index 5e8890374..f80e498aa 100644
--- a/Source/WebCore/inspector/front-end/RevisionHistoryView.js
+++ b/Source/WebCore/inspector/front-end/RevisionHistoryView.js
@@ -57,7 +57,7 @@ WebInspector.RevisionHistoryView = function()
WebInspector.workspace.addEventListener(WebInspector.Workspace.Events.UISourceCodeContentCommitted, this._revisionAdded, this);
WebInspector.workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeReplaced, this._uiSourceCodeReplaced, this);
WebInspector.workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeRemoved, this._uiSourceCodeRemoved, this);
- WebInspector.workspace.addEventListener(WebInspector.Workspace.Events.WorkspaceReset, this._reset, this);
+ WebInspector.workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._reset, this);
this._statusElement = document.createElement("span");
this._statusElement.textContent = WebInspector.UIString("Local modifications");
diff --git a/Source/WebCore/inspector/front-end/JavaScriptContextManager.js b/Source/WebCore/inspector/front-end/RuntimeModel.js
index c37190089..f56335622 100644
--- a/Source/WebCore/inspector/front-end/JavaScriptContextManager.js
+++ b/Source/WebCore/inspector/front-end/RuntimeModel.js
@@ -31,40 +31,53 @@
/**
* @constructor
* @extends {WebInspector.Object}
+ * @param {WebInspector.ResourceTreeModel} resourceTreeModel
*/
-WebInspector.JavaScriptContextManager = function(resourceTreeModel, consoleView)
+WebInspector.RuntimeModel = function(resourceTreeModel)
{
resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameAdded, this._frameAdded, this);
resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameNavigated, this._frameNavigated, this);
resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.FrameDetached, this._frameDetached, this);
resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._didLoadCachedResources, this);
- this._consoleView = consoleView;
- this._frameIdToContext = {};
+ this._frameIdToContextList = {};
}
-WebInspector.JavaScriptContextManager.prototype = {
+WebInspector.RuntimeModel.Events = {
+ FrameExecutionContextListAdded: "FrameExecutionContextListAdded",
+ FrameExecutionContextListRemoved: "FrameExecutionContextListRemoved",
+}
+
+WebInspector.RuntimeModel.prototype = {
+ /**
+ * @return {Array.<WebInspector.FrameExecutionContextList>}
+ */
+ contextLists: function()
+ {
+ return Object.values(this._frameIdToContextList);
+ },
+
/**
* @param {WebInspector.ResourceTreeFrame} frame
* @param {string} securityOrigin
*/
contextByFrameAndSecurityOrigin: function(frame, securityOrigin)
{
- var frameContext = this._frameIdToContext[frame.id];
+ var frameContext = this._frameIdToContextList[frame.id];
return frameContext && frameContext.contextBySecurityOrigin(securityOrigin);
},
_frameAdded: function(event)
{
var frame = event.data;
- var context = new WebInspector.FrameEvaluationContext(frame);
- this._frameIdToContext[frame.id] = context;
- this._consoleView.addContext(context);
+ var context = new WebInspector.FrameExecutionContextList(frame);
+ this._frameIdToContextList[frame.id] = context;
+ this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.FrameExecutionContextListAdded, context);
},
_frameNavigated: function(event)
{
var frame = event.data;
- var context = this._frameIdToContext[frame.id];
+ var context = this._frameIdToContextList[frame.id];
if (context)
context._frameNavigated(frame);
},
@@ -72,11 +85,11 @@ WebInspector.JavaScriptContextManager.prototype = {
_frameDetached: function(event)
{
var frame = event.data;
- var context = this._frameIdToContext[frame.id];
+ var context = this._frameIdToContextList[frame.id];
if (!context)
return;
- this._consoleView.removeContext(context);
- delete this._frameIdToContext[frame.id];
+ this.dispatchEventToListeners(WebInspector.RuntimeModel.Events.FrameExecutionContextListRemoved, context);
+ delete this._frameIdToContextList[frame.id];
},
_didLoadCachedResources: function()
@@ -85,37 +98,37 @@ WebInspector.JavaScriptContextManager.prototype = {
RuntimeAgent.setReportExecutionContextCreation(true);
},
- isolatedContextCreated: function(context)
+ _executionContextCreated: function(context)
{
- var frameEvaluationContext = this._frameIdToContext[context.frameId];
+ var contextList = this._frameIdToContextList[context.frameId];
// FIXME(85708): this should never happen
- if (!frameEvaluationContext)
+ if (!contextList)
return;
- frameEvaluationContext._addExecutionContext(new WebInspector.ExecutionContext(context.id, context.name, context.isPageContext));
+ contextList._addExecutionContext(new WebInspector.ExecutionContext(context.id, context.name, context.isPageContext));
}
}
-WebInspector.JavaScriptContextManager.prototype.__proto__ = WebInspector.Object.prototype;
+WebInspector.RuntimeModel.prototype.__proto__ = WebInspector.Object.prototype;
/**
- * @type {WebInspector.JavaScriptContextManager}
+ * @type {WebInspector.RuntimeModel}
*/
-WebInspector.javaScriptContextManager = null;
+WebInspector.runtimeModel = null;
/**
* @constructor
* @implements {RuntimeAgent.Dispatcher}
- * @param {WebInspector.JavaScriptContextManager} contextManager
+ * @param {WebInspector.RuntimeModel} runtimeModel
*/
-WebInspector.RuntimeDispatcher = function(contextManager)
+WebInspector.RuntimeDispatcher = function(runtimeModel)
{
- this._contextManager = contextManager;
+ this._runtimeModel = runtimeModel;
}
WebInspector.RuntimeDispatcher.prototype = {
- isolatedContextCreated: function(context)
+ executionContextCreated: function(context)
{
- this._contextManager.isolatedContextCreated(context);
+ this._runtimeModel._executionContextCreated(context);
}
}
@@ -149,26 +162,24 @@ WebInspector.ExecutionContext.comparator = function(a, b)
* @constructor
* @extends {WebInspector.Object}
*/
-WebInspector.FrameEvaluationContext = function(frame)
+WebInspector.FrameExecutionContextList = function(frame)
{
this._frame = frame;
- this._mainWorldContext = null;
- this._isolatedContexts = [];
+ this._executionContexts = [];
}
-WebInspector.FrameEvaluationContext.EventTypes = {
- Updated: "Updated",
- AddedExecutionContext: "AddedExecutionContext"
+WebInspector.FrameExecutionContextList.EventTypes = {
+ ContextsUpdated: "ContextsUpdated",
+ ContextAdded: "ContextAdded"
}
-WebInspector.FrameEvaluationContext.prototype =
+WebInspector.FrameExecutionContextList.prototype =
{
_frameNavigated: function(frame)
{
this._frame = frame;
- this._mainWorldContext = null;
- this._isolatedContexts = [];
- this.dispatchEventToListeners(WebInspector.FrameEvaluationContext.EventTypes.Updated, this);
+ this._executionContexts = [];
+ this.dispatchEventToListeners(WebInspector.FrameExecutionContextList.EventTypes.ContextsUpdated, this);
},
/**
@@ -176,23 +187,14 @@ WebInspector.FrameEvaluationContext.prototype =
*/
_addExecutionContext: function(context)
{
- if (context.isMainWorldContext)
- this._mainWorldContext = context;
- else {
- var insertAt = insertionIndexForObjectInListSortedByFunction(context, this._isolatedContexts, WebInspector.ExecutionContext.comparator);
- this._isolatedContexts.splice(insertAt, 0, context);
- }
- this.dispatchEventToListeners(WebInspector.FrameEvaluationContext.EventTypes.AddedExecutionContext, this);
- },
-
- mainWorldContext: function()
- {
- return this._mainWorldContext;
+ var insertAt = insertionIndexForObjectInListSortedByFunction(context, this._executionContexts, WebInspector.ExecutionContext.comparator);
+ this._executionContexts.splice(insertAt, 0, context);
+ this.dispatchEventToListeners(WebInspector.FrameExecutionContextList.EventTypes.ContextAdded, this);
},
- isolatedContexts: function()
+ executionContexts: function()
{
- return this._isolatedContexts;
+ return this._executionContexts;
},
/**
@@ -200,8 +202,8 @@ WebInspector.FrameEvaluationContext.prototype =
*/
contextBySecurityOrigin: function(securityOrigin)
{
- for (var i = 0; i < this._isolatedContexts.length; ++i) {
- var context = this._isolatedContexts[i];
+ for (var i = 0; i < this._executionContexts.length; ++i) {
+ var context = this._executionContexts[i];
if (!context.isMainWorldContext && context.name === securityOrigin)
return context;
}
@@ -232,4 +234,4 @@ WebInspector.FrameEvaluationContext.prototype =
}
}
-WebInspector.FrameEvaluationContext.prototype.__proto__ = WebInspector.Object.prototype;
+WebInspector.FrameExecutionContextList.prototype.__proto__ = WebInspector.Object.prototype;
diff --git a/Source/WebCore/inspector/front-end/SASSSourceMapping.js b/Source/WebCore/inspector/front-end/SASSSourceMapping.js
index e1c0aa700..0b8e96e6e 100644
--- a/Source/WebCore/inspector/front-end/SASSSourceMapping.js
+++ b/Source/WebCore/inspector/front-end/SASSSourceMapping.js
@@ -30,19 +30,16 @@
/**
* @constructor
- * @extends {WebInspector.Object}
* @implements {WebInspector.SourceMapping}
- * @implements {WebInspector.UISourceCodeProvider}
+ * @param {WebInspector.Workspace} workspace
*/
-WebInspector.SASSSourceMapping = function()
+WebInspector.SASSSourceMapping = function(workspace)
{
- /**
- * @type {Array.<WebInspector.UISourceCode>}
- */
- this._uiSourceCodes = [];
+ this._workspace = workspace;
this._uiSourceCodeForURL = {};
this._uiLocations = {};
WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._reset, this);
}
WebInspector.SASSSourceMapping.prototype = {
@@ -119,8 +116,7 @@ WebInspector.SASSSourceMapping.prototype = {
if (!uiSourceCode) {
uiSourceCode = new WebInspector.SASSSource(url);
this._uiSourceCodeForURL[url] = uiSourceCode;
- this._uiSourceCodes.push(uiSourceCode);
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, uiSourceCode);
+ this._workspace.project().addUISourceCode(uiSourceCode);
WebInspector.cssModel.setSourceMapping(rawURL, this);
}
var rawLocationString = rawURL + ":" + (rawLine + 1); // Next line after mapping metainfo
@@ -136,7 +132,7 @@ WebInspector.SASSSourceMapping.prototype = {
var location = /** @type WebInspector.CSSLocation */ rawLocation;
var uiLocation = this._uiLocations[location.url + ":" + location.lineNumber];
if (!uiLocation) {
- var uiSourceCode = WebInspector.workspace.uiSourceCodeForURL(location.url);
+ var uiSourceCode = this._workspace.uiSourceCodeForURL(location.url);
uiLocation = new WebInspector.UILocation(uiSourceCode, location.lineNumber, 0);
}
return uiLocation;
@@ -154,25 +150,14 @@ WebInspector.SASSSourceMapping.prototype = {
return new WebInspector.CSSLocation(uiSourceCode.contentURL() || "", lineNumber);
},
- /**
- * @return {Array.<WebInspector.UISourceCode>}
- */
- uiSourceCodes: function()
- {
- return this._uiSourceCodes;
- },
-
- reset: function()
+ _reset: function()
{
- this._uiSourceCodes = [];
this._uiSourceCodeForURL = {};
this._uiLocations = {};
this._populate();
}
}
-WebInspector.SASSSourceMapping.prototype.__proto__ = WebInspector.Object.prototype;
-
/**
* @constructor
* @extends {WebInspector.UISourceCode}
@@ -181,7 +166,7 @@ WebInspector.SASSSourceMapping.prototype.__proto__ = WebInspector.Object.prototy
WebInspector.SASSSource = function(sassURL)
{
var content = InspectorFrontendHost.loadResourceSynchronously(sassURL);
- var contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Stylesheet, content);
+ var contentProvider = new WebInspector.StaticContentProvider(WebInspector.resourceTypes.Stylesheet, content, "text/x-scss");
WebInspector.UISourceCode.call(this, sassURL, null, contentProvider);
}
diff --git a/Source/WebCore/inspector/front-end/ScriptSnippetModel.js b/Source/WebCore/inspector/front-end/ScriptSnippetModel.js
index 392448dfa..60a667233 100644
--- a/Source/WebCore/inspector/front-end/ScriptSnippetModel.js
+++ b/Source/WebCore/inspector/front-end/ScriptSnippetModel.js
@@ -31,9 +31,11 @@
/**
* @constructor
* @extends {WebInspector.Object}
+ * @param {WebInspector.Workspace} workspace
*/
-WebInspector.ScriptSnippetModel = function()
+WebInspector.ScriptSnippetModel = function(workspace)
{
+ this._workspace = workspace;
this._uiSourceCodeForScriptId = {};
this._scriptForUISourceCode = new Map();
this._snippetJavaScriptSourceForSnippetId = {};
@@ -41,6 +43,9 @@ WebInspector.ScriptSnippetModel = function()
this._snippetStorage = new WebInspector.SnippetStorage("script", "Script snippet #");
this._lastSnippetEvaluationIndexSetting = WebInspector.settings.createSetting("lastSnippetEvaluationIndex", 0);
this._snippetScriptMapping = new WebInspector.SnippetScriptMapping(this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._projectWillReset, this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectDidReset, this._projectDidReset, this);
+ this._loadSnippets();
}
WebInspector.ScriptSnippetModel.snippetSourceURLPrefix = "snippets:///";
@@ -77,8 +82,9 @@ WebInspector.ScriptSnippetModel.prototype = {
_addScriptSnippet: function(snippet)
{
var snippetJavaScriptSource = new WebInspector.SnippetJavaScriptSource(snippet.id, snippet.name, new WebInspector.SnippetContentProvider(snippet), this);
+ snippetJavaScriptSource.setSourceMapping(this._snippetScriptMapping);
this._snippetJavaScriptSourceForSnippetId[snippet.id] = snippetJavaScriptSource;
- this._snippetScriptMapping._fireUISourceCodeAdded(snippetJavaScriptSource);
+ this._workspace.project().addUISourceCode(snippetJavaScriptSource);
return snippetJavaScriptSource;
},
@@ -92,7 +98,7 @@ WebInspector.ScriptSnippetModel.prototype = {
this._removeBreakpoints(snippetJavaScriptSource);
this._releaseSnippetScript(snippetJavaScriptSource);
delete this._snippetJavaScriptSourceForSnippetId[snippet.id];
- this._snippetScriptMapping._fireUISourceCodeRemoved(snippetJavaScriptSource);
+ this._workspace.project().removeUISourceCode(snippetJavaScriptSource);
},
/**
@@ -239,17 +245,6 @@ WebInspector.ScriptSnippetModel.prototype = {
/**
* @return {Array.<WebInspector.UISourceCode>}
*/
- _uiSourceCodes: function()
- {
- var result = this._releasedUISourceCodes();
- for (var snippetId in this._snippetJavaScriptSourceForSnippetId)
- result.push(this._snippetJavaScriptSourceForSnippetId[snippetId]);
- return result;
- },
-
- /**
- * @return {Array.<WebInspector.UISourceCode>}
- */
_releasedUISourceCodes: function()
{
var result = [];
@@ -285,7 +280,8 @@ WebInspector.ScriptSnippetModel.prototype = {
*/
_createUISourceCodeForScript: function(script)
{
- var uiSourceCode = new WebInspector.JavaScriptSource(script.sourceURL, null, script, this._snippetScriptMapping, false);
+ var uiSourceCode = new WebInspector.JavaScriptSource(script.sourceURL, null, script, false);
+ uiSourceCode.setSourceMapping(this._snippetScriptMapping);
uiSourceCode.isSnippetEvaluation = true;
this._uiSourceCodeForScriptId[script.scriptId] = uiSourceCode;
this._scriptForUISourceCode.put(uiSourceCode, script);
@@ -357,13 +353,17 @@ WebInspector.ScriptSnippetModel.prototype = {
return snippetId;
},
- _reset: function()
+ _projectWillReset: function()
{
var removedUISourceCodes = this._releasedUISourceCodes();
this._uiSourceCodeForScriptId = {};
this._scriptForUISourceCode = new Map();
this._snippetJavaScriptSourceForSnippetId = {};
- setTimeout(this._loadSnippets.bind(this), 0);
+ },
+
+ _projectDidReset: function()
+ {
+ this._loadSnippets();
}
}
@@ -379,7 +379,7 @@ WebInspector.ScriptSnippetModel.prototype.__proto__ = WebInspector.Object.protot
*/
WebInspector.SnippetJavaScriptSource = function(snippetId, snippetName, contentProvider, scriptSnippetModel)
{
- WebInspector.JavaScriptSource.call(this, snippetName, null, contentProvider, scriptSnippetModel.scriptMapping, true);
+ WebInspector.JavaScriptSource.call(this, snippetName, null, contentProvider, true);
this._snippetId = snippetId;
this._scriptSnippetModel = scriptSnippetModel;
this.isSnippet = true;
@@ -450,9 +450,7 @@ WebInspector.SnippetJavaScriptSource.prototype.__proto__ = WebInspector.JavaScri
/**
* @constructor
- * @extends {WebInspector.Object}
* @implements {WebInspector.SourceMapping}
- * @implements {WebInspector.UISourceCodeProvider}
* @param {WebInspector.ScriptSnippetModel} scriptSnippetModel
*/
WebInspector.SnippetScriptMapping = function(scriptSnippetModel)
@@ -483,14 +481,6 @@ WebInspector.SnippetScriptMapping.prototype = {
},
/**
- * @return {Array.<WebInspector.UISourceCode>}
- */
- uiSourceCodes: function()
- {
- return this._scriptSnippetModel._uiSourceCodes();
- },
-
- /**
* @param {string} sourceURL
* @return {string|null}
*/
@@ -505,32 +495,9 @@ WebInspector.SnippetScriptMapping.prototype = {
addScript: function(script)
{
this._scriptSnippetModel._addScript(script);
- },
-
- /**
- * @param {WebInspector.UISourceCode} uiSourceCode
- */
- _fireUISourceCodeAdded: function(uiSourceCode)
- {
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, uiSourceCode);
- },
-
- /**
- * @param {WebInspector.UISourceCode} uiSourceCode
- */
- _fireUISourceCodeRemoved: function(uiSourceCode)
- {
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeRemoved, uiSourceCode);
- },
-
- reset: function()
- {
- this._scriptSnippetModel._reset();
}
}
-WebInspector.SnippetScriptMapping.prototype.__proto__ = WebInspector.Object.prototype;
-
/**
* @constructor
* @extends {WebInspector.StaticContentProvider}
diff --git a/Source/WebCore/inspector/front-end/ScriptsPanel.js b/Source/WebCore/inspector/front-end/ScriptsPanel.js
index 49dad8914..cb818ef64 100644
--- a/Source/WebCore/inspector/front-end/ScriptsPanel.js
+++ b/Source/WebCore/inspector/front-end/ScriptsPanel.js
@@ -196,7 +196,7 @@ WebInspector.ScriptsPanel = function(workspaceForTest)
this._workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, this._uiSourceCodeAdded, this);
this._workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeReplaced, this._uiSourceCodeReplaced, this);
this._workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeRemoved, this._uiSourceCodeRemoved, this);
- this._workspace.addEventListener(WebInspector.Workspace.Events.WorkspaceReset, this._reset.bind(this), this);
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._reset.bind(this), this);
WebInspector.advancedSearchController.registerSearchScope(new WebInspector.ScriptsSearchScope(this._workspace));
}
@@ -294,9 +294,11 @@ WebInspector.ScriptsPanel.prototype = {
} else if (details.reason === WebInspector.DebuggerModel.BreakReason.XHR) {
this.sidebarPanes.xhrBreakpoints.highlightBreakpoint(details.auxData["breakpointURL"]);
this.sidebarPanes.callstack.setStatus(WebInspector.UIString("Paused on a XMLHttpRequest."));
- } else if (details.reason === WebInspector.DebuggerModel.BreakReason.Exception) {
+ } else if (details.reason === WebInspector.DebuggerModel.BreakReason.Exception)
this.sidebarPanes.callstack.setStatus(WebInspector.UIString("Paused on exception: '%s'.", details.auxData.description));
- } else {
+ else if (details.reason === WebInspector.DebuggerModel.BreakReason.Assert)
+ this.sidebarPanes.callstack.setStatus(WebInspector.UIString("Paused on assertion."));
+ else {
function didGetUILocation(uiLocation)
{
var breakpoint = WebInspector.breakpointManager.findBreakpoint(uiLocation.uiSourceCode, uiLocation.lineNumber);
@@ -389,13 +391,6 @@ WebInspector.ScriptsPanel.prototype = {
this._showSourceLine(anchor.uiSourceCode, anchor.lineNumber);
},
- showFunctionDefinition: function(functionLocation)
- {
- WebInspector.inspectorView.showPanelForAnchorNavigation(this);
- var uiLocation = WebInspector.debuggerModel.rawLocationToUILocation(functionLocation);
- this._showSourceLine(uiLocation.uiSourceCode, uiLocation.lineNumber);
- },
-
/**
* @param {WebInspector.UISourceCode} uiSourceCode
* @param {number} lineNumber
@@ -995,6 +990,7 @@ WebInspector.ScriptsPanel.prototype = {
this._toggleDebuggerSidebarButton.state = "shown";
this._toggleDebuggerSidebarButton.title = WebInspector.UIString("Hide debugger");
this.splitView.showSidebarElement();
+ this.debugSidebarResizeWidgetElement.removeStyleClass("hidden");
WebInspector.settings.debuggerSidebarHidden.set(false);
},
@@ -1005,6 +1001,7 @@ WebInspector.ScriptsPanel.prototype = {
this._toggleDebuggerSidebarButton.state = "hidden";
this._toggleDebuggerSidebarButton.title = WebInspector.UIString("Show debugger");
this.splitView.hideSidebarElement();
+ this.debugSidebarResizeWidgetElement.addStyleClass("hidden");
WebInspector.settings.debuggerSidebarHidden.set(true);
},
@@ -1086,6 +1083,16 @@ WebInspector.ScriptsPanel.prototype = {
*/
appendApplicableItems: function(contextMenu, target)
{
+ this._appendUISourceCodeItems(contextMenu, target);
+ this._appendFunctionItems(contextMenu, target);
+ },
+
+ /**
+ * @param {WebInspector.ContextMenu} contextMenu
+ * @param {Object} target
+ */
+ _appendUISourceCodeItems: function(contextMenu, target)
+ {
if (!(target instanceof WebInspector.UISourceCode))
return;
@@ -1095,6 +1102,37 @@ WebInspector.ScriptsPanel.prototype = {
contextMenu.appendApplicableItems(uiSourceCode.resource().request);
},
+ /**
+ * @param {WebInspector.ContextMenu} contextMenu
+ * @param {Object} target
+ */
+ _appendFunctionItems: function(contextMenu, target)
+ {
+ if (!(target instanceof WebInspector.RemoteObject))
+ return;
+ var remoteObject = /** @type {WebInspector.RemoteObject} */ target;
+ if (remoteObject.type !== "function")
+ return;
+
+ function didGetDetails(error, response)
+ {
+ if (error) {
+ console.error(error);
+ return;
+ }
+ WebInspector.inspectorView.showPanelForAnchorNavigation(this);
+ var uiLocation = WebInspector.debuggerModel.rawLocationToUILocation(response.location);
+ this._showSourceLine(uiLocation.uiSourceCode, uiLocation.lineNumber);
+ }
+
+ function revealFunction()
+ {
+ DebuggerAgent.getFunctionDetails(remoteObject.objectId, didGetDetails.bind(this));
+ }
+
+ contextMenu.appendItem(WebInspector.UIString("Show function definition"), revealFunction.bind(this));
+ },
+
showGoToSourceDialog: function()
{
WebInspector.OpenResourceDialog.show(this, this._workspace, this.editorView.mainElement);
diff --git a/Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js b/Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js
index 01a873e42..5516f1f23 100644
--- a/Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js
+++ b/Source/WebCore/inspector/front-end/ScriptsPanelDescriptor.js
@@ -44,8 +44,14 @@ WebInspector.ScriptsPanelDescriptor.prototype = {
*/
appendApplicableItems: function(contextMenu, target)
{
- if (!(target instanceof WebInspector.UISourceCode))
- return;
+ var hasApplicableItems = target instanceof WebInspector.UISourceCode;
+
+ if (!hasApplicableItems && target instanceof WebInspector.RemoteObject) {
+ var remoteObject = /** @type {WebInspector.RemoteObject} */ target;
+ if (remoteObject.type !== "function")
+ return;
+ }
+
this.panel().appendApplicableItems(contextMenu, target);
}
}
diff --git a/Source/WebCore/inspector/front-end/Settings.js b/Source/WebCore/inspector/front-end/Settings.js
index ee13ebc27..6765dc542 100644
--- a/Source/WebCore/inspector/front-end/Settings.js
+++ b/Source/WebCore/inspector/front-end/Settings.js
@@ -191,6 +191,7 @@ WebInspector.ExperimentsSettings = function()
this.nativeMemorySnapshots = this._createExperiment("nativeMemorySnapshots", "Native memory profiling");
this.liveNativeMemoryChart = this._createExperiment("liveNativeMemoryChart", "Live native memory chart");
this.fileSystemInspection = this._createExperiment("fileSystemInspection", "FileSystem inspection");
+ this.webGLInspection = this._createExperiment("webGLInspection ", "WebGL inspection");
this.mainThreadMonitoring = this._createExperiment("mainThreadMonitoring", "Show CPU activity in Timeline");
this.geolocationOverride = this._createExperiment("geolocationOverride", "Override Device Geolocation");
this.deviceOrientationOverride = this._createExperiment("deviceOrientationOverride", "Override Device Orientation");
diff --git a/Source/WebCore/inspector/front-end/SettingsScreen.js b/Source/WebCore/inspector/front-end/SettingsScreen.js
index eb67a756f..728389c7f 100644
--- a/Source/WebCore/inspector/front-end/SettingsScreen.js
+++ b/Source/WebCore/inspector/front-end/SettingsScreen.js
@@ -38,7 +38,7 @@ WebInspector.SettingsScreen = function(onHide)
WebInspector.HelpScreen.call(this);
this.element.id = "settings-screen";
- /** @type {!function()} */
+ /** @type {function()} */
this._onHide = onHide;
this._tabbedPane = new WebInspector.TabbedPane();
@@ -65,7 +65,7 @@ WebInspector.SettingsScreen.Tabs = {
WebInspector.SettingsScreen.prototype = {
/**
- * @param {!string} tabId
+ * @param {string} tabId
*/
selectTab: function(tabId)
{
diff --git a/Source/WebCore/inspector/front-end/SourceCSSTokenizer.js b/Source/WebCore/inspector/front-end/SourceCSSTokenizer.js
index 8d5b8de82..618913969 100644
--- a/Source/WebCore/inspector/front-end/SourceCSSTokenizer.js
+++ b/Source/WebCore/inspector/front-end/SourceCSSTokenizer.js
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.13.5 on Mon Jul 9 19:31:30 2012 */
+/* Generated by re2c 0.13.5 on Fri Sep 7 17:09:30 2012 */
/*
* Copyright (C) 2009 Google Inc. All rights reserved.
*
@@ -52,7 +52,7 @@ WebInspector.SourceCSSTokenizer = function()
{
WebInspector.SourceTokenizer.call(this);
- this._propertyKeywords = WebInspector.CSSCompletions.cssPropertiesMetainfo.keySet();
+ this._propertyKeywords = WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet();
this._colorKeywords = WebInspector.CSSKeywordCompletions.colors();
this._valueKeywords = [
@@ -105,7 +105,12 @@ WebInspector.SourceCSSTokenizer = function()
"-webkit-right", "-webkit-small-control", "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
].keySet();
- this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
+ this._scssValueKeywords = [
+ "abs", "adjust-color", "adjust-hue", "alpha", "append", "ceil", "change-color", "comparable", "complement", "darken", "desaturate",
+ "fade-in", "fade-out", "floor", "grayscale", "hue", "ie-hex-str", "invert", "join", "length", "lighten",
+ "lightness", "max", "min", "mix", "nth", "opacify", "opacity", "percentage", "quote", "round", "saturate",
+ "saturation", "scale-color", "transparentize", "type-of", "unit", "unitless", "unquote", "zip"
+ ].keySet();
this._lexConditions = {
INITIAL: 0,
@@ -130,6 +135,10 @@ WebInspector.SourceCSSTokenizer = function()
this.condition = this.createInitialCondition();
}
+WebInspector.SourceCSSTokenizer.SCSSAtRelatedKeywords = ["from", "if", "in", "through"].keySet();
+
+WebInspector.SourceCSSTokenizer.MediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
+
WebInspector.SourceCSSTokenizer.prototype = {
createInitialCondition: function()
{
@@ -153,6 +162,11 @@ WebInspector.SourceCSSTokenizer.prototype = {
return this._condition.parseCondition === this._parseConditions.PROPERTY_VALUE || this._condition.parseCondition === this._parseConditions.AT_RULE;
},
+ _setParseCondition: function(condition)
+ {
+ this._condition.parseCondition = condition;
+ },
+
nextToken: function(cursor)
{
var cursorOnEnter = cursor;
@@ -341,43 +355,44 @@ case 26:
/* *********************************** */
case this.case_INITIAL:
yych = this._charAt(cursor);
- if (yych <= ';') {
- if (yych <= '\'') {
+ if (yych <= ':') {
+ if (yych <= '&') {
if (yych <= '"') {
if (yych <= ' ') { gotoCase = 29; continue; };
if (yych <= '!') { gotoCase = 31; continue; };
{ gotoCase = 33; continue; };
} else {
if (yych <= '#') { gotoCase = 34; continue; };
- if (yych <= '$') { gotoCase = 31; continue; };
- if (yych >= '\'') { gotoCase = 35; continue; };
+ if (yych <= '$') { gotoCase = 35; continue; };
+ if (yych >= '&') { gotoCase = 31; continue; };
}
} else {
- if (yych <= '.') {
- if (yych <= ',') { gotoCase = 29; continue; };
- if (yych <= '-') { gotoCase = 36; continue; };
- { gotoCase = 37; continue; };
+ if (yych <= '-') {
+ if (yych <= '\'') { gotoCase = 36; continue; };
+ if (yych >= '-') { gotoCase = 37; continue; };
} else {
- if (yych <= '/') { gotoCase = 38; continue; };
- if (yych <= '9') { gotoCase = 39; continue; };
- if (yych <= ':') { gotoCase = 41; continue; };
- { gotoCase = 43; continue; };
+ if (yych <= '.') { gotoCase = 38; continue; };
+ if (yych <= '/') { gotoCase = 39; continue; };
+ if (yych <= '9') { gotoCase = 40; continue; };
+ { gotoCase = 42; continue; };
}
}
} else {
- if (yych <= '^') {
- if (yych <= '?') {
- if (yych == '=') { gotoCase = 31; continue; };
+ if (yych <= ']') {
+ if (yych <= '=') {
+ if (yych <= ';') { gotoCase = 44; continue; };
+ if (yych >= '=') { gotoCase = 31; continue; };
} else {
- if (yych == '\\') { gotoCase = 29; continue; };
- if (yych <= ']') { gotoCase = 31; continue; };
+ if (yych <= '?') { gotoCase = 29; continue; };
+ if (yych != '\\') { gotoCase = 31; continue; };
}
} else {
if (yych <= 'z') {
- if (yych != '`') { gotoCase = 31; continue; };
+ if (yych == '_') { gotoCase = 31; continue; };
+ if (yych >= 'a') { gotoCase = 31; continue; };
} else {
- if (yych <= '{') { gotoCase = 45; continue; };
- if (yych == '}') { gotoCase = 47; continue; };
+ if (yych <= '{') { gotoCase = 46; continue; };
+ if (yych == '}') { gotoCase = 48; continue; };
}
}
}
@@ -388,79 +403,89 @@ case 30:
case 31:
++cursor;
yych = this._charAt(cursor);
- { gotoCase = 50; continue; };
+ { gotoCase = 51; continue; };
case 32:
{
var token = this._line.substring(cursorOnEnter, cursor);
- if (this._condition.parseCondition === this._parseConditions.INITIAL) {
- if (token === "@media") {
+ this.tokenType = null;
+ if (this._condition.parseCondition === this._parseConditions.INITIAL || this._condition.parseCondition === this._parseConditions.PROPERTY) {
+ if (token.charAt(0) === "@") {
this.tokenType = "css-at-rule";
- this._condition.parseCondition = this._parseConditions.AT_MEDIA_RULE;
- } else if (token.startsWith("@")) {
+ this._setParseCondition(token === "@media" ? this._parseConditions.AT_MEDIA_RULE : this._parseConditions.AT_RULE);
+ this._condition.atKeyword = token;
+ } else if (this._condition.parseCondition === this._parseConditions.INITIAL)
+ this.tokenType = "css-selector";
+ else if (this._propertyKeywords.hasOwnProperty(token))
+ this.tokenType = "css-property";
+ } else if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE || this._condition.parseCondition === this._parseConditions.AT_RULE) {
+ if (WebInspector.SourceCSSTokenizer.SCSSAtRelatedKeywords.hasOwnProperty(token))
this.tokenType = "css-at-rule";
- this._condition.parseCondition = this._parseConditions.AT_RULE;
- } else
+ else if (WebInspector.SourceCSSTokenizer.MediaTypes.hasOwnProperty(token))
+ this.tokenType = "css-keyword";
+ }
+ if (this.tokenType)
+ return cursor;
+
+ if (this._isPropertyValue()) {
+ var firstChar = token.charAt(0);
+ if (firstChar === "$")
+ this.tokenType = "scss-variable";
+ else if (firstChar === "!")
+ this.tokenType = "css-bang-keyword";
+ else if (this._condition.atKeyword === "@extend")
this.tokenType = "css-selector";
- } else if ((this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE || this._condition.parseCondition === this._parseConditions.AT_RULE) && token in this._mediaTypes)
- this.tokenType = "css-keyword";
- else if (this._condition.parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
- this.tokenType = "css-property";
- else if (this._isPropertyValue()) {
- if (token in this._valueKeywords)
+ else if (this._valueKeywords.hasOwnProperty(token) || this._scssValueKeywords.hasOwnProperty(token))
this.tokenType = "css-keyword";
- else if (token in this._colorKeywords) {
+ else if (this._colorKeywords.hasOwnProperty(token)) {
// FIXME: this does not convert tokens toLowerCase() for the sake of speed.
this.tokenType = "css-color";
- } else if (token === "!important")
- this.tokenType = "css-important";
- } else
- this.tokenType = null;
+ }
+ } else if (this._condition.parseCondition !== this._parseConditions.PROPERTY_VALUE)
+ this.tokenType = "css-selector";
return cursor;
}
case 33:
yyaccept = 0;
yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '-') {
+ if (yych <= '.') {
if (yych <= '!') {
if (yych <= '\f') {
if (yych == '\n') { gotoCase = 32; continue; };
- { gotoCase = 128; continue; };
+ { gotoCase = 132; continue; };
} else {
if (yych <= '\r') { gotoCase = 32; continue; };
- if (yych <= ' ') { gotoCase = 128; continue; };
- { gotoCase = 126; continue; };
+ if (yych <= ' ') { gotoCase = 132; continue; };
+ { gotoCase = 130; continue; };
}
} else {
- if (yych <= '$') {
- if (yych <= '"') { gotoCase = 115; continue; };
- if (yych <= '#') { gotoCase = 128; continue; };
- { gotoCase = 126; continue; };
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 116; continue; };
+ if (yych <= '%') { gotoCase = 132; continue; };
+ { gotoCase = 130; continue; };
} else {
- if (yych == '\'') { gotoCase = 126; continue; };
- if (yych <= ',') { gotoCase = 128; continue; };
- { gotoCase = 126; continue; };
+ if (yych == '-') { gotoCase = 130; continue; };
+ { gotoCase = 132; continue; };
}
}
} else {
- if (yych <= '[') {
- if (yych <= '<') {
- if (yych <= '.') { gotoCase = 128; continue; };
- if (yych <= '9') { gotoCase = 126; continue; };
- { gotoCase = 128; continue; };
+ if (yych <= '\\') {
+ if (yych <= '=') {
+ if (yych <= '9') { gotoCase = 130; continue; };
+ if (yych <= '<') { gotoCase = 132; continue; };
+ { gotoCase = 130; continue; };
} else {
- if (yych <= '=') { gotoCase = 126; continue; };
- if (yych <= '?') { gotoCase = 128; continue; };
- { gotoCase = 126; continue; };
+ if (yych <= '?') { gotoCase = 132; continue; };
+ if (yych <= '[') { gotoCase = 130; continue; };
+ { gotoCase = 134; continue; };
}
} else {
- if (yych <= '^') {
- if (yych <= '\\') { gotoCase = 130; continue; };
- if (yych <= ']') { gotoCase = 126; continue; };
- { gotoCase = 128; continue; };
+ if (yych <= '_') {
+ if (yych == '^') { gotoCase = 132; continue; };
+ { gotoCase = 130; continue; };
} else {
- if (yych == '`') { gotoCase = 128; continue; };
- if (yych <= 'z') { gotoCase = 126; continue; };
- { gotoCase = 128; continue; };
+ if (yych <= '`') { gotoCase = 132; continue; };
+ if (yych <= 'z') { gotoCase = 130; continue; };
+ { gotoCase = 132; continue; };
}
}
}
@@ -468,84 +493,121 @@ case 34:
yych = this._charAt(++cursor);
if (yych <= '@') {
if (yych <= '/') { gotoCase = 30; continue; };
- if (yych <= '9') { gotoCase = 123; continue; };
+ if (yych <= '9') { gotoCase = 127; continue; };
{ gotoCase = 30; continue; };
} else {
- if (yych <= 'F') { gotoCase = 123; continue; };
+ if (yych <= 'Z') { gotoCase = 127; continue; };
if (yych <= '`') { gotoCase = 30; continue; };
- if (yych <= 'f') { gotoCase = 123; continue; };
+ if (yych <= 'z') { gotoCase = 127; continue; };
{ gotoCase = 30; continue; };
}
case 35:
+ yych = this._charAt(++cursor);
+ if (yych <= '<') {
+ if (yych <= '\'') {
+ if (yych <= ' ') { gotoCase = 30; continue; };
+ if (yych <= '"') { gotoCase = 124; continue; };
+ if (yych <= '%') { gotoCase = 30; continue; };
+ { gotoCase = 124; continue; };
+ } else {
+ if (yych <= '-') {
+ if (yych <= ',') { gotoCase = 30; continue; };
+ { gotoCase = 124; continue; };
+ } else {
+ if (yych <= '.') { gotoCase = 30; continue; };
+ if (yych <= '9') { gotoCase = 124; continue; };
+ { gotoCase = 30; continue; };
+ }
+ }
+ } else {
+ if (yych <= ']') {
+ if (yych <= '?') {
+ if (yych <= '=') { gotoCase = 124; continue; };
+ { gotoCase = 30; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 30; continue; };
+ { gotoCase = 124; continue; };
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych <= '^') { gotoCase = 30; continue; };
+ { gotoCase = 124; continue; };
+ } else {
+ if (yych <= '`') { gotoCase = 30; continue; };
+ if (yych <= 'z') { gotoCase = 124; continue; };
+ { gotoCase = 30; continue; };
+ }
+ }
+ }
+case 36:
yyaccept = 0;
yych = this._charAt(YYMARKER = ++cursor);
- if (yych <= '-') {
+ if (yych <= '.') {
if (yych <= '"') {
if (yych <= '\f') {
if (yych == '\n') { gotoCase = 32; continue; };
- { gotoCase = 117; continue; };
+ { gotoCase = 118; continue; };
} else {
if (yych <= '\r') { gotoCase = 32; continue; };
- if (yych <= ' ') { gotoCase = 117; continue; };
- { gotoCase = 113; continue; };
+ if (yych <= ' ') { gotoCase = 118; continue; };
+ { gotoCase = 114; continue; };
}
} else {
- if (yych <= '&') {
- if (yych == '$') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '\'') {
+ if (yych <= '%') { gotoCase = 118; continue; };
+ if (yych <= '&') { gotoCase = 114; continue; };
+ { gotoCase = 116; continue; };
} else {
- if (yych <= '\'') { gotoCase = 115; continue; };
- if (yych <= ',') { gotoCase = 117; continue; };
- { gotoCase = 113; continue; };
+ if (yych == '-') { gotoCase = 114; continue; };
+ { gotoCase = 118; continue; };
}
}
} else {
- if (yych <= '[') {
- if (yych <= '<') {
- if (yych <= '.') { gotoCase = 117; continue; };
- if (yych <= '9') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '\\') {
+ if (yych <= '=') {
+ if (yych <= '9') { gotoCase = 114; continue; };
+ if (yych <= '<') { gotoCase = 118; continue; };
+ { gotoCase = 114; continue; };
} else {
- if (yych <= '=') { gotoCase = 113; continue; };
- if (yych <= '?') { gotoCase = 117; continue; };
- { gotoCase = 113; continue; };
+ if (yych <= '?') { gotoCase = 118; continue; };
+ if (yych <= '[') { gotoCase = 114; continue; };
+ { gotoCase = 120; continue; };
}
} else {
- if (yych <= '^') {
- if (yych <= '\\') { gotoCase = 119; continue; };
- if (yych <= ']') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '_') {
+ if (yych == '^') { gotoCase = 118; continue; };
+ { gotoCase = 114; continue; };
} else {
- if (yych == '`') { gotoCase = 117; continue; };
- if (yych <= 'z') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '`') { gotoCase = 118; continue; };
+ if (yych <= 'z') { gotoCase = 114; continue; };
+ { gotoCase = 118; continue; };
}
}
}
-case 36:
+case 37:
yyaccept = 0;
yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '.') { gotoCase = 66; continue; };
- if (yych <= '/') { gotoCase = 50; continue; };
- if (yych <= '9') { gotoCase = 51; continue; };
- { gotoCase = 50; continue; };
-case 37:
+ if (yych == '.') { gotoCase = 67; continue; };
+ if (yych <= '/') { gotoCase = 51; continue; };
+ if (yych <= '9') { gotoCase = 52; continue; };
+ { gotoCase = 51; continue; };
+case 38:
yych = this._charAt(++cursor);
if (yych <= '/') { gotoCase = 30; continue; };
- if (yych <= '9') { gotoCase = 69; continue; };
+ if (yych <= '9') { gotoCase = 70; continue; };
{ gotoCase = 30; continue; };
-case 38:
+case 39:
yyaccept = 0;
yych = this._charAt(YYMARKER = ++cursor);
- if (yych == '*') { gotoCase = 105; continue; };
- { gotoCase = 50; continue; };
-case 39:
+ if (yych == '*') { gotoCase = 106; continue; };
+ { gotoCase = 51; continue; };
+case 40:
yyaccept = 1;
yych = this._charAt(YYMARKER = ++cursor);
switch (yych) {
case '!':
case '"':
- case '$':
+ case '&':
case '\'':
case '-':
case '/':
@@ -592,9 +654,9 @@ case 39:
case 'w':
case 'x':
case 'y':
- case 'z': { gotoCase = 49; continue; };
- case '%': { gotoCase = 68; continue; };
- case '.': { gotoCase = 66; continue; };
+ case 'z': { gotoCase = 50; continue; };
+ case '%': { gotoCase = 69; continue; };
+ case '.': { gotoCase = 67; continue; };
case '0':
case '1':
case '2':
@@ -604,23 +666,23 @@ case 39:
case '6':
case '7':
case '8':
- case '9': { gotoCase = 51; continue; };
- case 'H': { gotoCase = 53; continue; };
- case '_': { gotoCase = 54; continue; };
- case 'c': { gotoCase = 55; continue; };
- case 'd': { gotoCase = 56; continue; };
- case 'e': { gotoCase = 57; continue; };
- case 'g': { gotoCase = 58; continue; };
- case 'i': { gotoCase = 59; continue; };
- case 'k': { gotoCase = 60; continue; };
- case 'm': { gotoCase = 61; continue; };
- case 'p': { gotoCase = 62; continue; };
- case 'r': { gotoCase = 63; continue; };
- case 's': { gotoCase = 64; continue; };
- case 't': { gotoCase = 65; continue; };
- default: { gotoCase = 40; continue; };
+ case '9': { gotoCase = 52; continue; };
+ case 'H': { gotoCase = 54; continue; };
+ case '_': { gotoCase = 55; continue; };
+ case 'c': { gotoCase = 56; continue; };
+ case 'd': { gotoCase = 57; continue; };
+ case 'e': { gotoCase = 58; continue; };
+ case 'g': { gotoCase = 59; continue; };
+ case 'i': { gotoCase = 60; continue; };
+ case 'k': { gotoCase = 61; continue; };
+ case 'm': { gotoCase = 62; continue; };
+ case 'p': { gotoCase = 63; continue; };
+ case 'r': { gotoCase = 64; continue; };
+ case 's': { gotoCase = 65; continue; };
+ case 't': { gotoCase = 66; continue; };
+ default: { gotoCase = 41; continue; };
}
-case 40:
+case 41:
{
if (this._isPropertyValue())
this.tokenType = "css-number";
@@ -628,92 +690,91 @@ case 40:
this.tokenType = null;
return cursor;
}
-case 41:
+case 42:
++cursor;
{
this.tokenType = null;
- if (this._condition.parseCondition === this._parseConditions.PROPERTY)
- this._condition.parseCondition = this._parseConditions.PROPERTY_VALUE;
+ if (this._condition.parseCondition === this._parseConditions.PROPERTY || this._condition.parseCondition === this._parseConditions.INITIAL)
+ this._setParseCondition(this._parseConditions.PROPERTY_VALUE);
return cursor;
}
-case 43:
+case 44:
++cursor;
{
this.tokenType = null;
- if (this._condition.parseCondition === this._parseConditions.AT_RULE)
- this._condition.parseCondition = this._parseConditions.INITIAL;
- else
- this._condition.parseCondition = this._parseConditions.PROPERTY;
+ this._setParseCondition(this._condition.openBraces ? this._parseConditions.PROPERTY : this._parseConditions.INITIAL);
+ delete this._condition.atKeyword;
return cursor;
}
-case 45:
+case 46:
++cursor;
{
this.tokenType = "block-start";
+ this._condition.openBraces = (this._condition.openBraces || 0) + 1;
if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE)
- this._condition.parseCondition = this._parseConditions.INITIAL;
+ this._setParseCondition(this._parseConditions.INITIAL);
else
- this._condition.parseCondition = this._parseConditions.PROPERTY;
+ this._setParseCondition(this._parseConditions.PROPERTY);
return cursor;
}
-case 47:
+case 48:
++cursor;
{
this.tokenType = "block-end";
- this._condition.parseCondition = this._parseConditions.INITIAL;
+ if (this._condition.openBraces > 0)
+ --this._condition.openBraces;
+ this._setParseCondition(this._condition.openBraces ? this._parseConditions.PROPERTY : this._parseConditions.INITIAL);
+ delete this._condition.atKeyword;
return cursor;
}
-case 49:
+case 50:
++cursor;
yych = this._charAt(cursor);
-case 50:
- if (yych <= '9') {
- if (yych <= '&') {
- if (yych <= '"') {
- if (yych <= ' ') { gotoCase = 32; continue; };
- { gotoCase = 49; continue; };
- } else {
- if (yych == '$') { gotoCase = 49; continue; };
- { gotoCase = 32; continue; };
- }
+case 51:
+ if (yych <= '<') {
+ if (yych <= '\'') {
+ if (yych <= ' ') { gotoCase = 32; continue; };
+ if (yych <= '"') { gotoCase = 50; continue; };
+ if (yych <= '%') { gotoCase = 32; continue; };
+ { gotoCase = 50; continue; };
} else {
- if (yych <= ',') {
- if (yych <= '\'') { gotoCase = 49; continue; };
- { gotoCase = 32; continue; };
+ if (yych <= '-') {
+ if (yych <= ',') { gotoCase = 32; continue; };
+ { gotoCase = 50; continue; };
} else {
- if (yych == '.') { gotoCase = 32; continue; };
- { gotoCase = 49; continue; };
+ if (yych <= '.') { gotoCase = 32; continue; };
+ if (yych <= '9') { gotoCase = 50; continue; };
+ { gotoCase = 32; continue; };
}
}
} else {
- if (yych <= '\\') {
- if (yych <= '=') {
- if (yych <= '<') { gotoCase = 32; continue; };
- { gotoCase = 49; continue; };
- } else {
- if (yych <= '?') { gotoCase = 32; continue; };
- if (yych <= '[') { gotoCase = 49; continue; };
+ if (yych <= ']') {
+ if (yych <= '?') {
+ if (yych <= '=') { gotoCase = 50; continue; };
{ gotoCase = 32; continue; };
+ } else {
+ if (yych == '\\') { gotoCase = 32; continue; };
+ { gotoCase = 50; continue; };
}
} else {
if (yych <= '_') {
- if (yych == '^') { gotoCase = 32; continue; };
- { gotoCase = 49; continue; };
+ if (yych <= '^') { gotoCase = 32; continue; };
+ { gotoCase = 50; continue; };
} else {
if (yych <= '`') { gotoCase = 32; continue; };
- if (yych <= 'z') { gotoCase = 49; continue; };
+ if (yych <= 'z') { gotoCase = 50; continue; };
{ gotoCase = 32; continue; };
}
}
}
-case 51:
+case 52:
yyaccept = 1;
YYMARKER = ++cursor;
yych = this._charAt(cursor);
switch (yych) {
case '!':
case '"':
- case '$':
+ case '&':
case '\'':
case '-':
case '/':
@@ -760,9 +821,9 @@ case 51:
case 'w':
case 'x':
case 'y':
- case 'z': { gotoCase = 49; continue; };
- case '%': { gotoCase = 68; continue; };
- case '.': { gotoCase = 66; continue; };
+ case 'z': { gotoCase = 50; continue; };
+ case '%': { gotoCase = 69; continue; };
+ case '.': { gotoCase = 67; continue; };
case '0':
case '1':
case '2':
@@ -772,584 +833,617 @@ case 51:
case '6':
case '7':
case '8':
- case '9': { gotoCase = 51; continue; };
- case 'H': { gotoCase = 53; continue; };
- case '_': { gotoCase = 54; continue; };
- case 'c': { gotoCase = 55; continue; };
- case 'd': { gotoCase = 56; continue; };
- case 'e': { gotoCase = 57; continue; };
- case 'g': { gotoCase = 58; continue; };
- case 'i': { gotoCase = 59; continue; };
- case 'k': { gotoCase = 60; continue; };
- case 'm': { gotoCase = 61; continue; };
- case 'p': { gotoCase = 62; continue; };
- case 'r': { gotoCase = 63; continue; };
- case 's': { gotoCase = 64; continue; };
- case 't': { gotoCase = 65; continue; };
- default: { gotoCase = 40; continue; };
+ case '9': { gotoCase = 52; continue; };
+ case 'H': { gotoCase = 54; continue; };
+ case '_': { gotoCase = 55; continue; };
+ case 'c': { gotoCase = 56; continue; };
+ case 'd': { gotoCase = 57; continue; };
+ case 'e': { gotoCase = 58; continue; };
+ case 'g': { gotoCase = 59; continue; };
+ case 'i': { gotoCase = 60; continue; };
+ case 'k': { gotoCase = 61; continue; };
+ case 'm': { gotoCase = 62; continue; };
+ case 'p': { gotoCase = 63; continue; };
+ case 'r': { gotoCase = 64; continue; };
+ case 's': { gotoCase = 65; continue; };
+ case 't': { gotoCase = 66; continue; };
+ default: { gotoCase = 41; continue; };
}
-case 53:
- yych = this._charAt(++cursor);
- if (yych == 'z') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
case 54:
yych = this._charAt(++cursor);
- if (yych == '_') { gotoCase = 102; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'z') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 55:
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == '_') { gotoCase = 103; continue; };
+ { gotoCase = 51; continue; };
case 56:
yych = this._charAt(++cursor);
- if (yych == 'e') { gotoCase = 101; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'm') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 57:
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 64; continue; };
- if (yych == 'x') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'e') { gotoCase = 102; continue; };
+ { gotoCase = 51; continue; };
case 58:
yych = this._charAt(++cursor);
- if (yych == 'r') { gotoCase = 99; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'm') { gotoCase = 65; continue; };
+ if (yych == 'x') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 59:
yych = this._charAt(++cursor);
- if (yych == 'n') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'r') { gotoCase = 100; continue; };
+ { gotoCase = 51; continue; };
case 60:
yych = this._charAt(++cursor);
- if (yych == 'H') { gotoCase = 98; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'n') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 61:
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 64; continue; };
- if (yych == 's') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'H') { gotoCase = 99; continue; };
+ { gotoCase = 51; continue; };
case 62:
yych = this._charAt(++cursor);
+ if (yych == 'm') { gotoCase = 65; continue; };
+ if (yych == 's') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
+case 63:
+ yych = this._charAt(++cursor);
if (yych <= 's') {
- if (yych == 'c') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'c') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
} else {
- if (yych <= 't') { gotoCase = 64; continue; };
- if (yych == 'x') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych <= 't') { gotoCase = 65; continue; };
+ if (yych == 'x') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
}
-case 63:
- yych = this._charAt(++cursor);
- if (yych == 'a') { gotoCase = 96; continue; };
- if (yych == 'e') { gotoCase = 97; continue; };
- { gotoCase = 50; continue; };
case 64:
yych = this._charAt(++cursor);
- if (yych <= '9') {
- if (yych <= '&') {
- if (yych <= '"') {
- if (yych <= ' ') { gotoCase = 40; continue; };
- { gotoCase = 49; continue; };
- } else {
- if (yych == '$') { gotoCase = 49; continue; };
- { gotoCase = 40; continue; };
- }
+ if (yych == 'a') { gotoCase = 97; continue; };
+ if (yych == 'e') { gotoCase = 98; continue; };
+ { gotoCase = 51; continue; };
+case 65:
+ yych = this._charAt(++cursor);
+ if (yych <= '<') {
+ if (yych <= '\'') {
+ if (yych <= ' ') { gotoCase = 41; continue; };
+ if (yych <= '"') { gotoCase = 50; continue; };
+ if (yych <= '%') { gotoCase = 41; continue; };
+ { gotoCase = 50; continue; };
} else {
- if (yych <= ',') {
- if (yych <= '\'') { gotoCase = 49; continue; };
- { gotoCase = 40; continue; };
+ if (yych <= '-') {
+ if (yych <= ',') { gotoCase = 41; continue; };
+ { gotoCase = 50; continue; };
} else {
- if (yych == '.') { gotoCase = 40; continue; };
- { gotoCase = 49; continue; };
+ if (yych <= '.') { gotoCase = 41; continue; };
+ if (yych <= '9') { gotoCase = 50; continue; };
+ { gotoCase = 41; continue; };
}
}
} else {
- if (yych <= '\\') {
- if (yych <= '=') {
- if (yych <= '<') { gotoCase = 40; continue; };
- { gotoCase = 49; continue; };
+ if (yych <= ']') {
+ if (yych <= '?') {
+ if (yych <= '=') { gotoCase = 50; continue; };
+ { gotoCase = 41; continue; };
} else {
- if (yych <= '?') { gotoCase = 40; continue; };
- if (yych <= '[') { gotoCase = 49; continue; };
- { gotoCase = 40; continue; };
+ if (yych == '\\') { gotoCase = 41; continue; };
+ { gotoCase = 50; continue; };
}
} else {
if (yych <= '_') {
- if (yych == '^') { gotoCase = 40; continue; };
- { gotoCase = 49; continue; };
+ if (yych <= '^') { gotoCase = 41; continue; };
+ { gotoCase = 50; continue; };
} else {
- if (yych <= '`') { gotoCase = 40; continue; };
- if (yych <= 'z') { gotoCase = 49; continue; };
- { gotoCase = 40; continue; };
+ if (yych <= '`') { gotoCase = 41; continue; };
+ if (yych <= 'z') { gotoCase = 50; continue; };
+ { gotoCase = 41; continue; };
}
}
}
-case 65:
- yych = this._charAt(++cursor);
- if (yych == 'u') { gotoCase = 94; continue; };
- { gotoCase = 50; continue; };
case 66:
yych = this._charAt(++cursor);
- if (yych <= '/') { gotoCase = 67; continue; };
- if (yych <= '9') { gotoCase = 69; continue; };
+ if (yych == 'u') { gotoCase = 95; continue; };
+ { gotoCase = 51; continue; };
case 67:
+ yych = this._charAt(++cursor);
+ if (yych <= '/') { gotoCase = 68; continue; };
+ if (yych <= '9') { gotoCase = 70; continue; };
+case 68:
cursor = YYMARKER;
if (yyaccept <= 0) {
{ gotoCase = 32; continue; };
} else {
- { gotoCase = 40; continue; };
+ { gotoCase = 41; continue; };
}
-case 68:
- yych = this._charAt(++cursor);
- { gotoCase = 40; continue; };
case 69:
+ yych = this._charAt(++cursor);
+ { gotoCase = 41; continue; };
+case 70:
yyaccept = 1;
YYMARKER = ++cursor;
yych = this._charAt(cursor);
if (yych <= 'f') {
if (yych <= 'H') {
if (yych <= '/') {
- if (yych == '%') { gotoCase = 68; continue; };
- { gotoCase = 40; continue; };
+ if (yych == '%') { gotoCase = 69; continue; };
+ { gotoCase = 41; continue; };
} else {
- if (yych <= '9') { gotoCase = 69; continue; };
- if (yych <= 'G') { gotoCase = 40; continue; };
- { gotoCase = 81; continue; };
+ if (yych <= '9') { gotoCase = 70; continue; };
+ if (yych <= 'G') { gotoCase = 41; continue; };
+ { gotoCase = 82; continue; };
}
} else {
if (yych <= 'b') {
- if (yych == '_') { gotoCase = 73; continue; };
- { gotoCase = 40; continue; };
+ if (yych == '_') { gotoCase = 74; continue; };
+ { gotoCase = 41; continue; };
} else {
- if (yych <= 'c') { gotoCase = 75; continue; };
- if (yych <= 'd') { gotoCase = 78; continue; };
- if (yych >= 'f') { gotoCase = 40; continue; };
+ if (yych <= 'c') { gotoCase = 76; continue; };
+ if (yych <= 'd') { gotoCase = 79; continue; };
+ if (yych >= 'f') { gotoCase = 41; continue; };
}
}
} else {
if (yych <= 'm') {
if (yych <= 'i') {
- if (yych <= 'g') { gotoCase = 79; continue; };
- if (yych <= 'h') { gotoCase = 40; continue; };
- { gotoCase = 77; continue; };
+ if (yych <= 'g') { gotoCase = 80; continue; };
+ if (yych <= 'h') { gotoCase = 41; continue; };
+ { gotoCase = 78; continue; };
} else {
- if (yych == 'k') { gotoCase = 82; continue; };
- if (yych <= 'l') { gotoCase = 40; continue; };
- { gotoCase = 76; continue; };
+ if (yych == 'k') { gotoCase = 83; continue; };
+ if (yych <= 'l') { gotoCase = 41; continue; };
+ { gotoCase = 77; continue; };
}
} else {
if (yych <= 'q') {
- if (yych == 'p') { gotoCase = 74; continue; };
- { gotoCase = 40; continue; };
+ if (yych == 'p') { gotoCase = 75; continue; };
+ { gotoCase = 41; continue; };
} else {
- if (yych <= 'r') { gotoCase = 72; continue; };
- if (yych <= 's') { gotoCase = 68; continue; };
- if (yych <= 't') { gotoCase = 80; continue; };
- { gotoCase = 40; continue; };
+ if (yych <= 'r') { gotoCase = 73; continue; };
+ if (yych <= 's') { gotoCase = 69; continue; };
+ if (yych <= 't') { gotoCase = 81; continue; };
+ { gotoCase = 41; continue; };
}
}
}
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 68; continue; };
- if (yych == 'x') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
-case 72:
- yych = this._charAt(++cursor);
- if (yych == 'a') { gotoCase = 92; continue; };
- if (yych == 'e') { gotoCase = 93; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'm') { gotoCase = 69; continue; };
+ if (yych == 'x') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 73:
yych = this._charAt(++cursor);
- if (yych == '_') { gotoCase = 89; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'a') { gotoCase = 93; continue; };
+ if (yych == 'e') { gotoCase = 94; continue; };
+ { gotoCase = 68; continue; };
case 74:
yych = this._charAt(++cursor);
+ if (yych == '_') { gotoCase = 90; continue; };
+ { gotoCase = 68; continue; };
+case 75:
+ yych = this._charAt(++cursor);
if (yych <= 's') {
- if (yych == 'c') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'c') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
} else {
- if (yych <= 't') { gotoCase = 68; continue; };
- if (yych == 'x') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych <= 't') { gotoCase = 69; continue; };
+ if (yych == 'x') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
}
-case 75:
- yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
case 76:
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 68; continue; };
- if (yych == 's') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'm') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 77:
yych = this._charAt(++cursor);
- if (yych == 'n') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'm') { gotoCase = 69; continue; };
+ if (yych == 's') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 78:
yych = this._charAt(++cursor);
- if (yych == 'e') { gotoCase = 88; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'n') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 79:
yych = this._charAt(++cursor);
- if (yych == 'r') { gotoCase = 86; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'e') { gotoCase = 89; continue; };
+ { gotoCase = 68; continue; };
case 80:
yych = this._charAt(++cursor);
- if (yych == 'u') { gotoCase = 84; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'r') { gotoCase = 87; continue; };
+ { gotoCase = 68; continue; };
case 81:
yych = this._charAt(++cursor);
- if (yych == 'z') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'u') { gotoCase = 85; continue; };
+ { gotoCase = 68; continue; };
case 82:
yych = this._charAt(++cursor);
- if (yych != 'H') { gotoCase = 67; continue; };
+ if (yych == 'z') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
+case 83:
yych = this._charAt(++cursor);
- if (yych == 'z') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
-case 84:
+ if (yych != 'H') { gotoCase = 68; continue; };
yych = this._charAt(++cursor);
- if (yych != 'r') { gotoCase = 67; continue; };
+ if (yych == 'z') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
+case 85:
yych = this._charAt(++cursor);
- if (yych == 'n') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
-case 86:
+ if (yych != 'r') { gotoCase = 68; continue; };
yych = this._charAt(++cursor);
- if (yych != 'a') { gotoCase = 67; continue; };
+ if (yych == 'n') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
+case 87:
yych = this._charAt(++cursor);
- if (yych == 'd') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
-case 88:
+ if (yych != 'a') { gotoCase = 68; continue; };
yych = this._charAt(++cursor);
- if (yych == 'g') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'd') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 89:
yych = this._charAt(++cursor);
- if (yych != 'q') { gotoCase = 67; continue; };
+ if (yych == 'g') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
+case 90:
yych = this._charAt(++cursor);
- if (yych != 'e') { gotoCase = 67; continue; };
+ if (yych != 'q') { gotoCase = 68; continue; };
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
-case 92:
+ if (yych != 'e') { gotoCase = 68; continue; };
yych = this._charAt(++cursor);
- if (yych == 'd') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'm') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 93:
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 68; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'd') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
case 94:
yych = this._charAt(++cursor);
- if (yych != 'r') { gotoCase = 50; continue; };
+ if (yych == 'm') { gotoCase = 69; continue; };
+ { gotoCase = 68; continue; };
+case 95:
yych = this._charAt(++cursor);
- if (yych == 'n') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
-case 96:
+ if (yych != 'r') { gotoCase = 51; continue; };
yych = this._charAt(++cursor);
- if (yych == 'd') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'n') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 97:
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'd') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 98:
yych = this._charAt(++cursor);
- if (yych == 'z') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'm') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 99:
yych = this._charAt(++cursor);
- if (yych != 'a') { gotoCase = 50; continue; };
+ if (yych == 'z') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
+case 100:
yych = this._charAt(++cursor);
- if (yych == 'd') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
-case 101:
+ if (yych != 'a') { gotoCase = 51; continue; };
yych = this._charAt(++cursor);
- if (yych == 'g') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
+ if (yych == 'd') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
case 102:
yych = this._charAt(++cursor);
- if (yych != 'q') { gotoCase = 50; continue; };
+ if (yych == 'g') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
+case 103:
+ yych = this._charAt(++cursor);
+ if (yych != 'q') { gotoCase = 51; continue; };
yych = this._charAt(++cursor);
- if (yych != 'e') { gotoCase = 50; continue; };
+ if (yych != 'e') { gotoCase = 51; continue; };
yych = this._charAt(++cursor);
- if (yych == 'm') { gotoCase = 64; continue; };
- { gotoCase = 50; continue; };
-case 105:
+ if (yych == 'm') { gotoCase = 65; continue; };
+ { gotoCase = 51; continue; };
+case 106:
++cursor;
yych = this._charAt(cursor);
if (yych <= '\f') {
- if (yych == '\n') { gotoCase = 109; continue; };
- { gotoCase = 105; continue; };
+ if (yych == '\n') { gotoCase = 110; continue; };
+ { gotoCase = 106; continue; };
} else {
- if (yych <= '\r') { gotoCase = 109; continue; };
- if (yych != '*') { gotoCase = 105; continue; };
+ if (yych <= '\r') { gotoCase = 110; continue; };
+ if (yych != '*') { gotoCase = 106; continue; };
}
-case 107:
+case 108:
++cursor;
yych = this._charAt(cursor);
- if (yych == '*') { gotoCase = 107; continue; };
- if (yych == '/') { gotoCase = 111; continue; };
- { gotoCase = 105; continue; };
-case 109:
+ if (yych == '*') { gotoCase = 108; continue; };
+ if (yych == '/') { gotoCase = 112; continue; };
+ { gotoCase = 106; continue; };
+case 110:
++cursor;
this.setLexCondition(this._lexConditions.COMMENT);
{ this.tokenType = "css-comment"; return cursor; }
-case 111:
+case 112:
++cursor;
{ this.tokenType = "css-comment"; return cursor; }
-case 113:
+case 114:
yyaccept = 0;
YYMARKER = ++cursor;
yych = this._charAt(cursor);
- if (yych <= '-') {
+ if (yych <= '.') {
if (yych <= '"') {
if (yych <= '\f') {
if (yych == '\n') { gotoCase = 32; continue; };
- { gotoCase = 117; continue; };
+ { gotoCase = 118; continue; };
} else {
if (yych <= '\r') { gotoCase = 32; continue; };
- if (yych <= ' ') { gotoCase = 117; continue; };
- { gotoCase = 113; continue; };
+ if (yych <= ' ') { gotoCase = 118; continue; };
+ { gotoCase = 114; continue; };
}
} else {
- if (yych <= '&') {
- if (yych == '$') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '\'') {
+ if (yych <= '%') { gotoCase = 118; continue; };
+ if (yych <= '&') { gotoCase = 114; continue; };
} else {
- if (yych <= '\'') { gotoCase = 115; continue; };
- if (yych <= ',') { gotoCase = 117; continue; };
- { gotoCase = 113; continue; };
+ if (yych == '-') { gotoCase = 114; continue; };
+ { gotoCase = 118; continue; };
}
}
} else {
- if (yych <= '[') {
- if (yych <= '<') {
- if (yych <= '.') { gotoCase = 117; continue; };
- if (yych <= '9') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '\\') {
+ if (yych <= '=') {
+ if (yych <= '9') { gotoCase = 114; continue; };
+ if (yych <= '<') { gotoCase = 118; continue; };
+ { gotoCase = 114; continue; };
} else {
- if (yych <= '=') { gotoCase = 113; continue; };
- if (yych <= '?') { gotoCase = 117; continue; };
- { gotoCase = 113; continue; };
+ if (yych <= '?') { gotoCase = 118; continue; };
+ if (yych <= '[') { gotoCase = 114; continue; };
+ { gotoCase = 120; continue; };
}
} else {
- if (yych <= '^') {
- if (yych <= '\\') { gotoCase = 119; continue; };
- if (yych <= ']') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '_') {
+ if (yych == '^') { gotoCase = 118; continue; };
+ { gotoCase = 114; continue; };
} else {
- if (yych == '`') { gotoCase = 117; continue; };
- if (yych <= 'z') { gotoCase = 113; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '`') { gotoCase = 118; continue; };
+ if (yych <= 'z') { gotoCase = 114; continue; };
+ { gotoCase = 118; continue; };
}
}
}
-case 115:
+case 116:
++cursor;
- if ((yych = this._charAt(cursor)) <= '9') {
- if (yych <= '&') {
- if (yych <= '"') {
- if (yych >= '!') { gotoCase = 49; continue; };
- } else {
- if (yych == '$') { gotoCase = 49; continue; };
- }
+ if ((yych = this._charAt(cursor)) <= '<') {
+ if (yych <= '\'') {
+ if (yych <= ' ') { gotoCase = 117; continue; };
+ if (yych <= '"') { gotoCase = 50; continue; };
+ if (yych >= '&') { gotoCase = 50; continue; };
} else {
- if (yych <= ',') {
- if (yych <= '\'') { gotoCase = 49; continue; };
+ if (yych <= '-') {
+ if (yych >= '-') { gotoCase = 50; continue; };
} else {
- if (yych != '.') { gotoCase = 49; continue; };
+ if (yych <= '.') { gotoCase = 117; continue; };
+ if (yych <= '9') { gotoCase = 50; continue; };
}
}
} else {
- if (yych <= '\\') {
- if (yych <= '=') {
- if (yych >= '=') { gotoCase = 49; continue; };
+ if (yych <= ']') {
+ if (yych <= '?') {
+ if (yych <= '=') { gotoCase = 50; continue; };
} else {
- if (yych <= '?') { gotoCase = 116; continue; };
- if (yych <= '[') { gotoCase = 49; continue; };
+ if (yych != '\\') { gotoCase = 50; continue; };
}
} else {
if (yych <= '_') {
- if (yych != '^') { gotoCase = 49; continue; };
+ if (yych >= '_') { gotoCase = 50; continue; };
} else {
- if (yych <= '`') { gotoCase = 116; continue; };
- if (yych <= 'z') { gotoCase = 49; continue; };
+ if (yych <= '`') { gotoCase = 117; continue; };
+ if (yych <= 'z') { gotoCase = 50; continue; };
}
}
}
-case 116:
- { return this._stringToken(cursor, true); }
case 117:
+ { return this._stringToken(cursor, true); }
+case 118:
++cursor;
yych = this._charAt(cursor);
if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 67; continue; };
- if (yych <= '\f') { gotoCase = 117; continue; };
- { gotoCase = 67; continue; };
+ if (yych == '\n') { gotoCase = 68; continue; };
+ if (yych <= '\f') { gotoCase = 118; continue; };
+ { gotoCase = 68; continue; };
} else {
if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 117; continue; };
- { gotoCase = 122; continue; };
+ if (yych <= '&') { gotoCase = 118; continue; };
+ { gotoCase = 123; continue; };
} else {
- if (yych != '\\') { gotoCase = 117; continue; };
+ if (yych != '\\') { gotoCase = 118; continue; };
}
}
-case 119:
+case 120:
++cursor;
yych = this._charAt(cursor);
if (yych <= 'a') {
if (yych <= '!') {
if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 67; continue; };
+ if (yych <= '\t') { gotoCase = 68; continue; };
} else {
- if (yych != '\r') { gotoCase = 67; continue; };
+ if (yych != '\r') { gotoCase = 68; continue; };
}
} else {
if (yych <= '\'') {
- if (yych <= '"') { gotoCase = 117; continue; };
- if (yych <= '&') { gotoCase = 67; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= '"') { gotoCase = 118; continue; };
+ if (yych <= '&') { gotoCase = 68; continue; };
+ { gotoCase = 118; continue; };
} else {
- if (yych == '\\') { gotoCase = 117; continue; };
- { gotoCase = 67; continue; };
+ if (yych == '\\') { gotoCase = 118; continue; };
+ { gotoCase = 68; continue; };
}
}
} else {
if (yych <= 'q') {
if (yych <= 'f') {
- if (yych <= 'b') { gotoCase = 117; continue; };
- if (yych <= 'e') { gotoCase = 67; continue; };
- { gotoCase = 117; continue; };
+ if (yych <= 'b') { gotoCase = 118; continue; };
+ if (yych <= 'e') { gotoCase = 68; continue; };
+ { gotoCase = 118; continue; };
} else {
- if (yych == 'n') { gotoCase = 117; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'n') { gotoCase = 118; continue; };
+ { gotoCase = 68; continue; };
}
} else {
if (yych <= 't') {
- if (yych == 's') { gotoCase = 67; continue; };
- { gotoCase = 117; continue; };
+ if (yych == 's') { gotoCase = 68; continue; };
+ { gotoCase = 118; continue; };
} else {
- if (yych == 'v') { gotoCase = 117; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'v') { gotoCase = 118; continue; };
+ { gotoCase = 68; continue; };
}
}
}
++cursor;
this.setLexCondition(this._lexConditions.SSTRING);
{ return this._stringToken(cursor); }
-case 122:
- yych = this._charAt(++cursor);
- { gotoCase = 116; continue; };
case 123:
+ yych = this._charAt(++cursor);
+ { gotoCase = 117; continue; };
+case 124:
+ ++cursor;
+ yych = this._charAt(cursor);
+ if (yych <= '<') {
+ if (yych <= '\'') {
+ if (yych <= ' ') { gotoCase = 126; continue; };
+ if (yych <= '"') { gotoCase = 124; continue; };
+ if (yych >= '&') { gotoCase = 124; continue; };
+ } else {
+ if (yych <= '-') {
+ if (yych >= '-') { gotoCase = 124; continue; };
+ } else {
+ if (yych <= '.') { gotoCase = 126; continue; };
+ if (yych <= '9') { gotoCase = 124; continue; };
+ }
+ }
+ } else {
+ if (yych <= ']') {
+ if (yych <= '?') {
+ if (yych <= '=') { gotoCase = 124; continue; };
+ } else {
+ if (yych != '\\') { gotoCase = 124; continue; };
+ }
+ } else {
+ if (yych <= '_') {
+ if (yych >= '_') { gotoCase = 124; continue; };
+ } else {
+ if (yych <= '`') { gotoCase = 126; continue; };
+ if (yych <= 'z') { gotoCase = 124; continue; };
+ }
+ }
+ }
+case 126:
+ {
+ if (this._condition.parseCondition === this._condition.parseCondition.INITIAL || this._condition.parseCondition === this._condition.parseCondition.AT_RULE)
+ this._setParseCondition(this._parseConditions.PROPERTY);
+ this.tokenType = "scss-variable";
+ return cursor;
+ }
+case 127:
++cursor;
yych = this._charAt(cursor);
if (yych <= '@') {
- if (yych <= '/') { gotoCase = 125; continue; };
- if (yych <= '9') { gotoCase = 123; continue; };
+ if (yych <= '/') { gotoCase = 129; continue; };
+ if (yych <= '9') { gotoCase = 127; continue; };
} else {
- if (yych <= 'F') { gotoCase = 123; continue; };
- if (yych <= '`') { gotoCase = 125; continue; };
- if (yych <= 'f') { gotoCase = 123; continue; };
+ if (yych <= 'Z') { gotoCase = 127; continue; };
+ if (yych <= '`') { gotoCase = 129; continue; };
+ if (yych <= 'z') { gotoCase = 127; continue; };
}
-case 125:
+case 129:
{
if (this._isPropertyValue())
this.tokenType = "css-color";
+ else if (this._condition.parseCondition === this._parseConditions.INITIAL)
+ this.tokenType = "css-selector";
else
this.tokenType = null;
return cursor;
}
-case 126:
+case 130:
yyaccept = 0;
YYMARKER = ++cursor;
yych = this._charAt(cursor);
- if (yych <= '-') {
+ if (yych <= '.') {
if (yych <= '!') {
if (yych <= '\f') {
if (yych == '\n') { gotoCase = 32; continue; };
} else {
if (yych <= '\r') { gotoCase = 32; continue; };
- if (yych >= '!') { gotoCase = 126; continue; };
+ if (yych >= '!') { gotoCase = 130; continue; };
}
} else {
- if (yych <= '$') {
- if (yych <= '"') { gotoCase = 115; continue; };
- if (yych >= '$') { gotoCase = 126; continue; };
+ if (yych <= '\'') {
+ if (yych <= '"') { gotoCase = 116; continue; };
+ if (yych >= '&') { gotoCase = 130; continue; };
} else {
- if (yych == '\'') { gotoCase = 126; continue; };
- if (yych >= '-') { gotoCase = 126; continue; };
+ if (yych == '-') { gotoCase = 130; continue; };
}
}
} else {
- if (yych <= '[') {
- if (yych <= '<') {
- if (yych <= '.') { gotoCase = 128; continue; };
- if (yych <= '9') { gotoCase = 126; continue; };
+ if (yych <= '\\') {
+ if (yych <= '=') {
+ if (yych <= '9') { gotoCase = 130; continue; };
+ if (yych >= '=') { gotoCase = 130; continue; };
} else {
- if (yych <= '=') { gotoCase = 126; continue; };
- if (yych >= '@') { gotoCase = 126; continue; };
+ if (yych <= '?') { gotoCase = 132; continue; };
+ if (yych <= '[') { gotoCase = 130; continue; };
+ { gotoCase = 134; continue; };
}
} else {
- if (yych <= '^') {
- if (yych <= '\\') { gotoCase = 130; continue; };
- if (yych <= ']') { gotoCase = 126; continue; };
+ if (yych <= '_') {
+ if (yych != '^') { gotoCase = 130; continue; };
} else {
- if (yych == '`') { gotoCase = 128; continue; };
- if (yych <= 'z') { gotoCase = 126; continue; };
+ if (yych <= '`') { gotoCase = 132; continue; };
+ if (yych <= 'z') { gotoCase = 130; continue; };
}
}
}
-case 128:
+case 132:
++cursor;
yych = this._charAt(cursor);
if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 67; continue; };
- if (yych <= '\f') { gotoCase = 128; continue; };
- { gotoCase = 67; continue; };
+ if (yych == '\n') { gotoCase = 68; continue; };
+ if (yych <= '\f') { gotoCase = 132; continue; };
+ { gotoCase = 68; continue; };
} else {
if (yych <= '"') {
- if (yych <= '!') { gotoCase = 128; continue; };
- { gotoCase = 122; continue; };
+ if (yych <= '!') { gotoCase = 132; continue; };
+ { gotoCase = 123; continue; };
} else {
- if (yych != '\\') { gotoCase = 128; continue; };
+ if (yych != '\\') { gotoCase = 132; continue; };
}
}
-case 130:
+case 134:
++cursor;
yych = this._charAt(cursor);
if (yych <= 'a') {
if (yych <= '!') {
if (yych <= '\n') {
- if (yych <= '\t') { gotoCase = 67; continue; };
+ if (yych <= '\t') { gotoCase = 68; continue; };
} else {
- if (yych != '\r') { gotoCase = 67; continue; };
+ if (yych != '\r') { gotoCase = 68; continue; };
}
} else {
if (yych <= '\'') {
- if (yych <= '"') { gotoCase = 128; continue; };
- if (yych <= '&') { gotoCase = 67; continue; };
- { gotoCase = 128; continue; };
+ if (yych <= '"') { gotoCase = 132; continue; };
+ if (yych <= '&') { gotoCase = 68; continue; };
+ { gotoCase = 132; continue; };
} else {
- if (yych == '\\') { gotoCase = 128; continue; };
- { gotoCase = 67; continue; };
+ if (yych == '\\') { gotoCase = 132; continue; };
+ { gotoCase = 68; continue; };
}
}
} else {
if (yych <= 'q') {
if (yych <= 'f') {
- if (yych <= 'b') { gotoCase = 128; continue; };
- if (yych <= 'e') { gotoCase = 67; continue; };
- { gotoCase = 128; continue; };
+ if (yych <= 'b') { gotoCase = 132; continue; };
+ if (yych <= 'e') { gotoCase = 68; continue; };
+ { gotoCase = 132; continue; };
} else {
- if (yych == 'n') { gotoCase = 128; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'n') { gotoCase = 132; continue; };
+ { gotoCase = 68; continue; };
}
} else {
if (yych <= 't') {
- if (yych == 's') { gotoCase = 67; continue; };
- { gotoCase = 128; continue; };
+ if (yych == 's') { gotoCase = 68; continue; };
+ { gotoCase = 132; continue; };
} else {
- if (yych == 'v') { gotoCase = 128; continue; };
- { gotoCase = 67; continue; };
+ if (yych == 'v') { gotoCase = 132; continue; };
+ { gotoCase = 68; continue; };
}
}
}
@@ -1360,114 +1454,114 @@ case 130:
case this.case_SSTRING:
yych = this._charAt(cursor);
if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 137; continue; };
- if (yych <= '\f') { gotoCase = 136; continue; };
- { gotoCase = 137; continue; };
+ if (yych == '\n') { gotoCase = 141; continue; };
+ if (yych <= '\f') { gotoCase = 140; continue; };
+ { gotoCase = 141; continue; };
} else {
if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 136; continue; };
- { gotoCase = 139; continue; };
+ if (yych <= '&') { gotoCase = 140; continue; };
+ { gotoCase = 143; continue; };
} else {
- if (yych == '\\') { gotoCase = 141; continue; };
- { gotoCase = 136; continue; };
+ if (yych == '\\') { gotoCase = 145; continue; };
+ { gotoCase = 140; continue; };
}
}
-case 135:
+case 139:
{ return this._stringToken(cursor); }
-case 136:
+case 140:
yyaccept = 0;
yych = this._charAt(YYMARKER = ++cursor);
- { gotoCase = 143; continue; };
-case 137:
+ { gotoCase = 147; continue; };
+case 141:
++cursor;
-case 138:
+case 142:
{ this.tokenType = null; return cursor; }
-case 139:
+case 143:
++cursor;
-case 140:
+case 144:
this.setLexCondition(this._lexConditions.INITIAL);
{ return this._stringToken(cursor, true); }
-case 141:
+case 145:
yych = this._charAt(++cursor);
if (yych <= 'e') {
if (yych <= '\'') {
- if (yych == '"') { gotoCase = 142; continue; };
- if (yych <= '&') { gotoCase = 138; continue; };
+ if (yych == '"') { gotoCase = 146; continue; };
+ if (yych <= '&') { gotoCase = 142; continue; };
} else {
if (yych <= '\\') {
- if (yych <= '[') { gotoCase = 138; continue; };
+ if (yych <= '[') { gotoCase = 142; continue; };
} else {
- if (yych != 'b') { gotoCase = 138; continue; };
+ if (yych != 'b') { gotoCase = 142; continue; };
}
}
} else {
if (yych <= 'r') {
if (yych <= 'm') {
- if (yych >= 'g') { gotoCase = 138; continue; };
+ if (yych >= 'g') { gotoCase = 142; continue; };
} else {
- if (yych <= 'n') { gotoCase = 142; continue; };
- if (yych <= 'q') { gotoCase = 138; continue; };
+ if (yych <= 'n') { gotoCase = 146; continue; };
+ if (yych <= 'q') { gotoCase = 142; continue; };
}
} else {
if (yych <= 't') {
- if (yych <= 's') { gotoCase = 138; continue; };
+ if (yych <= 's') { gotoCase = 142; continue; };
} else {
- if (yych != 'v') { gotoCase = 138; continue; };
+ if (yych != 'v') { gotoCase = 142; continue; };
}
}
}
-case 142:
+case 146:
yyaccept = 0;
YYMARKER = ++cursor;
yych = this._charAt(cursor);
-case 143:
+case 147:
if (yych <= '\r') {
- if (yych == '\n') { gotoCase = 135; continue; };
- if (yych <= '\f') { gotoCase = 142; continue; };
- { gotoCase = 135; continue; };
+ if (yych == '\n') { gotoCase = 139; continue; };
+ if (yych <= '\f') { gotoCase = 146; continue; };
+ { gotoCase = 139; continue; };
} else {
if (yych <= '\'') {
- if (yych <= '&') { gotoCase = 142; continue; };
- { gotoCase = 146; continue; };
+ if (yych <= '&') { gotoCase = 146; continue; };
+ { gotoCase = 150; continue; };
} else {
- if (yych != '\\') { gotoCase = 142; continue; };
+ if (yych != '\\') { gotoCase = 146; continue; };
}
}
++cursor;
yych = this._charAt(cursor);
if (yych <= 'e') {
if (yych <= '\'') {
- if (yych == '"') { gotoCase = 142; continue; };
- if (yych >= '\'') { gotoCase = 142; continue; };
+ if (yych == '"') { gotoCase = 146; continue; };
+ if (yych >= '\'') { gotoCase = 146; continue; };
} else {
if (yych <= '\\') {
- if (yych >= '\\') { gotoCase = 142; continue; };
+ if (yych >= '\\') { gotoCase = 146; continue; };
} else {
- if (yych == 'b') { gotoCase = 142; continue; };
+ if (yych == 'b') { gotoCase = 146; continue; };
}
}
} else {
if (yych <= 'r') {
if (yych <= 'm') {
- if (yych <= 'f') { gotoCase = 142; continue; };
+ if (yych <= 'f') { gotoCase = 146; continue; };
} else {
- if (yych <= 'n') { gotoCase = 142; continue; };
- if (yych >= 'r') { gotoCase = 142; continue; };
+ if (yych <= 'n') { gotoCase = 146; continue; };
+ if (yych >= 'r') { gotoCase = 146; continue; };
}
} else {
if (yych <= 't') {
- if (yych >= 't') { gotoCase = 142; continue; };
+ if (yych >= 't') { gotoCase = 146; continue; };
} else {
- if (yych == 'v') { gotoCase = 142; continue; };
+ if (yych == 'v') { gotoCase = 146; continue; };
}
}
}
cursor = YYMARKER;
- { gotoCase = 135; continue; };
-case 146:
+ { gotoCase = 139; continue; };
+case 150:
++cursor;
yych = this._charAt(cursor);
- { gotoCase = 140; continue; };
+ { gotoCase = 144; continue; };
}
}
diff --git a/Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js b/Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js
index 9e7b3ff22..f33f5a924 100644
--- a/Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js
+++ b/Source/WebCore/inspector/front-end/SourceCSSTokenizer.re2js
@@ -51,7 +51,7 @@ WebInspector.SourceCSSTokenizer = function()
{
WebInspector.SourceTokenizer.call(this);
- this._propertyKeywords = WebInspector.CSSCompletions.cssPropertiesMetainfo.keySet();
+ this._propertyKeywords = WebInspector.CSSCompletions.cssPropertiesMetainfoKeySet();
this._colorKeywords = WebInspector.CSSKeywordCompletions.colors();
this._valueKeywords = [
@@ -104,7 +104,12 @@ WebInspector.SourceCSSTokenizer = function()
"-webkit-right", "-webkit-small-control", "-webkit-text", "-webkit-xxx-large", "-webkit-zoom-in", "-webkit-zoom-out",
].keySet();
- this._mediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
+ this._scssValueKeywords = [
+ "abs", "adjust-color", "adjust-hue", "alpha", "append", "ceil", "change-color", "comparable", "complement", "darken", "desaturate",
+ "fade-in", "fade-out", "floor", "grayscale", "hue", "ie-hex-str", "invert", "join", "length", "lighten",
+ "lightness", "max", "min", "mix", "nth", "opacify", "opacity", "percentage", "quote", "round", "saturate",
+ "saturation", "scale-color", "transparentize", "type-of", "unit", "unitless", "unquote", "zip"
+ ].keySet();
this._lexConditions = {
INITIAL: 0,
@@ -129,6 +134,10 @@ WebInspector.SourceCSSTokenizer = function()
this.condition = this.createInitialCondition();
}
+WebInspector.SourceCSSTokenizer.SCSSAtRelatedKeywords = ["from", "if", "in", "through"].keySet();
+
+WebInspector.SourceCSSTokenizer.MediaTypes = ["all", "aural", "braille", "embossed", "handheld", "import", "print", "projection", "screen", "tty", "tv"].keySet();
+
WebInspector.SourceCSSTokenizer.prototype = {
createInitialCondition: function()
{
@@ -152,6 +161,11 @@ WebInspector.SourceCSSTokenizer.prototype = {
return this._condition.parseCondition === this._parseConditions.PROPERTY_VALUE || this._condition.parseCondition === this._parseConditions.AT_RULE;
},
+ _setParseCondition: function(condition)
+ {
+ this._condition.parseCondition = condition;
+ },
+
nextToken: function(cursor)
{
var cursorOnEnter = cursor;
@@ -186,8 +200,9 @@ WebInspector.SourceCSSTokenizer.prototype = {
NumericLiteral = "-"? ([0-9]+ | [0-9]* "." [0-9]+) ("em" | "rem" | "__qem" | "ex" | "px" | "cm" |
"mm" | "in" | "pt" | "pc" | "deg" | "rad" | "grad" | "turn" | "ms" | "s" | "Hz" | "kHz" | "%")?;
- Color = "#" [0-9A-Fa-f]+;
- Identifier = [@!_\-$0-9a-zA-Z\[\]='"/]+;
+ ColorOrSelector = "#" [0-9A-Za-z]+;
+ Identifier = [@!_\-0-9a-zA-Z\[\]='"/&]+;
+ Variable = "$" Identifier;
DoubleStringContent = ([^\r\n\"\\] | "\\" ['"\\bfnrtv])*;
SingleStringContent = ([^\r\n\'\\] | "\\" ['"\\bfnrtv])*;
@@ -213,35 +228,37 @@ WebInspector.SourceCSSTokenizer.prototype = {
<INITIAL> OpenCurlyBracket
{
this.tokenType = "block-start";
+ this._condition.openBraces = (this._condition.openBraces || 0) + 1;
if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE)
- this._condition.parseCondition = this._parseConditions.INITIAL;
+ this._setParseCondition(this._parseConditions.INITIAL);
else
- this._condition.parseCondition = this._parseConditions.PROPERTY;
+ this._setParseCondition(this._parseConditions.PROPERTY);
return cursor;
}
<INITIAL> CloseCurlyBracket
{
this.tokenType = "block-end";
- this._condition.parseCondition = this._parseConditions.INITIAL;
+ if (this._condition.openBraces > 0)
+ --this._condition.openBraces;
+ this._setParseCondition(this._condition.openBraces ? this._parseConditions.PROPERTY : this._parseConditions.INITIAL);
+ delete this._condition.atKeyword;
return cursor;
}
<INITIAL> Colon
{
this.tokenType = null;
- if (this._condition.parseCondition === this._parseConditions.PROPERTY)
- this._condition.parseCondition = this._parseConditions.PROPERTY_VALUE;
+ if (this._condition.parseCondition === this._parseConditions.PROPERTY || this._condition.parseCondition === this._parseConditions.INITIAL)
+ this._setParseCondition(this._parseConditions.PROPERTY_VALUE);
return cursor;
}
<INITIAL> Semicolon
{
this.tokenType = null;
- if (this._condition.parseCondition === this._parseConditions.AT_RULE)
- this._condition.parseCondition = this._parseConditions.INITIAL;
- else
- this._condition.parseCondition = this._parseConditions.PROPERTY;
+ this._setParseCondition(this._condition.openBraces ? this._parseConditions.PROPERTY : this._parseConditions.INITIAL);
+ delete this._condition.atKeyword;
return cursor;
}
@@ -254,41 +271,63 @@ WebInspector.SourceCSSTokenizer.prototype = {
return cursor;
}
- <INITIAL> Color
+ <INITIAL> ColorOrSelector
{
if (this._isPropertyValue())
this.tokenType = "css-color";
+ else if (this._condition.parseCondition === this._parseConditions.INITIAL)
+ this.tokenType = "css-selector";
else
this.tokenType = null;
return cursor;
}
+ <INITIAL> Variable
+ {
+ if (this._condition.parseCondition === this._condition.parseCondition.INITIAL || this._condition.parseCondition === this._condition.parseCondition.AT_RULE)
+ this._setParseCondition(this._parseConditions.PROPERTY);
+ this.tokenType = "scss-variable";
+ return cursor;
+ }
+
<INITIAL> Identifier
{
var token = this._line.substring(cursorOnEnter, cursor);
- if (this._condition.parseCondition === this._parseConditions.INITIAL) {
- if (token === "@media") {
+ this.tokenType = null;
+ if (this._condition.parseCondition === this._parseConditions.INITIAL || this._condition.parseCondition === this._parseConditions.PROPERTY) {
+ if (token.charAt(0) === "@") {
this.tokenType = "css-at-rule";
- this._condition.parseCondition = this._parseConditions.AT_MEDIA_RULE;
- } else if (token.startsWith("@")) {
+ this._setParseCondition(token === "@media" ? this._parseConditions.AT_MEDIA_RULE : this._parseConditions.AT_RULE);
+ this._condition.atKeyword = token;
+ } else if (this._condition.parseCondition === this._parseConditions.INITIAL)
+ this.tokenType = "css-selector";
+ else if (this._propertyKeywords.hasOwnProperty(token))
+ this.tokenType = "css-property";
+ } else if (this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE || this._condition.parseCondition === this._parseConditions.AT_RULE) {
+ if (WebInspector.SourceCSSTokenizer.SCSSAtRelatedKeywords.hasOwnProperty(token))
this.tokenType = "css-at-rule";
- this._condition.parseCondition = this._parseConditions.AT_RULE;
- } else
+ else if (WebInspector.SourceCSSTokenizer.MediaTypes.hasOwnProperty(token))
+ this.tokenType = "css-keyword";
+ }
+ if (this.tokenType)
+ return cursor;
+
+ if (this._isPropertyValue()) {
+ var firstChar = token.charAt(0);
+ if (firstChar === "$")
+ this.tokenType = "scss-variable";
+ else if (firstChar === "!")
+ this.tokenType = "css-bang-keyword";
+ else if (this._condition.atKeyword === "@extend")
this.tokenType = "css-selector";
- } else if ((this._condition.parseCondition === this._parseConditions.AT_MEDIA_RULE || this._condition.parseCondition === this._parseConditions.AT_RULE) && token in this._mediaTypes)
- this.tokenType = "css-keyword";
- else if (this._condition.parseCondition === this._parseConditions.PROPERTY && token in this._propertyKeywords)
- this.tokenType = "css-property";
- else if (this._isPropertyValue()) {
- if (token in this._valueKeywords)
+ else if (this._valueKeywords.hasOwnProperty(token) || this._scssValueKeywords.hasOwnProperty(token))
this.tokenType = "css-keyword";
- else if (token in this._colorKeywords) {
+ else if (this._colorKeywords.hasOwnProperty(token)) {
// FIXME: this does not convert tokens toLowerCase() for the sake of speed.
this.tokenType = "css-color";
- } else if (token === "!important")
- this.tokenType = "css-important";
- } else
- this.tokenType = null;
+ }
+ } else if (this._condition.parseCondition !== this._parseConditions.PROPERTY_VALUE)
+ this.tokenType = "css-selector";
return cursor;
}
<*> [^] { this.tokenType = null; return cursor; }
diff --git a/Source/WebCore/inspector/front-end/SourceFrame.js b/Source/WebCore/inspector/front-end/SourceFrame.js
index 2f498f3a0..cb930e14f 100644
--- a/Source/WebCore/inspector/front-end/SourceFrame.js
+++ b/Source/WebCore/inspector/front-end/SourceFrame.js
@@ -695,6 +695,17 @@ WebInspector.TextEditorDelegateForSourceFrame.prototype = {
populateTextAreaContextMenu: function(contextMenu, lineNumber)
{
this._sourceFrame.populateTextAreaContextMenu(contextMenu, lineNumber);
+ },
+
+ /**
+ * @param {string} hrefValue
+ * @param {boolean} isExternal
+ * @return {Element}
+ */
+ createLink: function(hrefValue, isExternal)
+ {
+ var targetLocation = WebInspector.ParsedURL.completeURL(this._sourceFrame._url, hrefValue);
+ return WebInspector.linkifyURLAsNode(targetLocation || hrefValue, hrefValue, undefined, isExternal);
}
}
diff --git a/Source/WebCore/inspector/front-end/SourceTokenizer.js b/Source/WebCore/inspector/front-end/SourceTokenizer.js
index 7a8a6acfb..9ae78a65d 100644
--- a/Source/WebCore/inspector/front-end/SourceTokenizer.js
+++ b/Source/WebCore/inspector/front-end/SourceTokenizer.js
@@ -83,7 +83,8 @@ WebInspector.SourceTokenizer.Registry = function() {
this._tokenizerConstructors = {
"text/css": "SourceCSSTokenizer",
"text/html": "SourceHTMLTokenizer",
- "text/javascript": "SourceJavaScriptTokenizer"
+ "text/javascript": "SourceJavaScriptTokenizer",
+ "text/x-scss": "SourceCSSTokenizer"
};
}
diff --git a/Source/WebCore/inspector/front-end/StyleSheetOutlineDialog.js b/Source/WebCore/inspector/front-end/StyleSheetOutlineDialog.js
index c251072b2..25141bda0 100644
--- a/Source/WebCore/inspector/front-end/StyleSheetOutlineDialog.js
+++ b/Source/WebCore/inspector/front-end/StyleSheetOutlineDialog.js
@@ -68,11 +68,20 @@ WebInspector.StyleSheetOutlineDialog.prototype = {
* @param {number} itemIndex
* @return {string}
*/
- itemSubtitleAt: function(itemIndex)
+ itemSuffixAt: function(itemIndex)
{
return "";
},
+ /*
+ * @param {number} itemIndex
+ * @return {string}
+ */
+ itemSubtitleAt: function(itemIndex)
+ {
+ return ":" + (this._rules[itemIndex].sourceLine + 1);
+ },
+
/**
* @param {number} itemIndex
* @return {string}
diff --git a/Source/WebCore/inspector/front-end/StyleSource.js b/Source/WebCore/inspector/front-end/StyleSource.js
index 6e3873a91..4d21f518a 100644
--- a/Source/WebCore/inspector/front-end/StyleSource.js
+++ b/Source/WebCore/inspector/front-end/StyleSource.js
@@ -28,94 +28,6 @@
/**
* @constructor
- * @extends {WebInspector.Object}
- * @implements {WebInspector.UISourceCodeProvider}
- * @implements {WebInspector.SourceMapping}
- */
-WebInspector.StylesUISourceCodeProvider = function()
-{
- /**
- * @type {Array.<WebInspector.UISourceCode>}
- */
- this._uiSourceCodes = [];
- this._uiSourceCodeForURL = {};
- WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.ResourceAdded, this._resourceAdded, this);
-}
-
-WebInspector.StylesUISourceCodeProvider.prototype = {
- /**
- * @return {Array.<WebInspector.UISourceCode>}
- */
- uiSourceCodes: function()
- {
- return this._uiSourceCodes;
- },
-
- /**
- * @param {WebInspector.RawLocation} rawLocation
- * @return {WebInspector.UILocation}
- */
- rawLocationToUILocation: function(rawLocation)
- {
- var location = /** @type WebInspector.CSSLocation */ rawLocation;
- var uiSourceCode = this._uiSourceCodeForURL[location.url];
- return new WebInspector.UILocation(uiSourceCode, location.lineNumber, 0);
- },
-
- /**
- * @param {WebInspector.UISourceCode} uiSourceCode
- * @param {number} lineNumber
- * @param {number} columnNumber
- * @return {WebInspector.RawLocation}
- */
- uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
- {
- return new WebInspector.CSSLocation(uiSourceCode.contentURL() || "", lineNumber);
- },
-
- _populate: function()
- {
- function populateFrame(frame)
- {
- for (var i = 0; i < frame.childFrames.length; ++i)
- populateFrame.call(this, frame.childFrames[i]);
-
- var resources = frame.resources();
- for (var i = 0; i < resources.length; ++i)
- this._resourceAdded({data:resources[i]});
- }
-
- populateFrame.call(this, WebInspector.resourceTreeModel.mainFrame);
- },
-
- /**
- * @param {WebInspector.Event} event
- */
- _resourceAdded: function(event)
- {
- var resource = /** @type {WebInspector.Resource} */ event.data;
- if (resource.type !== WebInspector.resourceTypes.Stylesheet)
- return;
- var uiSourceCode = new WebInspector.StyleSource(resource);
- this._uiSourceCodes.push(uiSourceCode);
- this._uiSourceCodeForURL[resource.url] = uiSourceCode;
- WebInspector.cssModel.setSourceMapping(resource.url, this);
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, uiSourceCode);
- },
-
- reset: function()
- {
- this._uiSourceCodes = [];
- this._uiSourceCodeForURL = {};
- WebInspector.cssModel.resetSourceMappings();
- this._populate();
- }
-}
-
-WebInspector.StylesUISourceCodeProvider.prototype.__proto__ = WebInspector.Object.prototype;
-
-/**
- * @constructor
* @extends {WebInspector.UISourceCode}
* @param {WebInspector.Resource} resource
*/
diff --git a/Source/WebCore/inspector/front-end/StylesSidebarPane.js b/Source/WebCore/inspector/front-end/StylesSidebarPane.js
index f0fbb4811..04678b094 100644
--- a/Source/WebCore/inspector/front-end/StylesSidebarPane.js
+++ b/Source/WebCore/inspector/front-end/StylesSidebarPane.js
@@ -134,9 +134,11 @@ WebInspector.StylesSidebarPane.canonicalPropertyName = function(name)
WebInspector.StylesSidebarPane.prototype = {
_contextMenuEventFired: function(event)
{
+ // We start editing upon click -> default navigation to resources panel is not available
+ // Hence we add a soft context menu for hrefs.
var contextMenu = new WebInspector.ContextMenu();
- if (WebInspector.populateHrefContextMenu(contextMenu, this.node, event))
- contextMenu.show(event);
+ contextMenu.appendApplicableItems(event.target);
+ contextMenu.show(event);
},
get _forcedPseudoClasses()
@@ -410,7 +412,7 @@ WebInspector.StylesSidebarPane.prototype = {
continue;
if (section.computedStyle)
section.styleRule.style = nodeComputedStyle;
- var styleRule = { section: section, style: section.styleRule.style, computedStyle: section.computedStyle, rule: section.rule, editable: !!(section.styleRule.style && section.styleRule.style.id) };
+ var styleRule = { section: section, style: section.styleRule.style, computedStyle: section.computedStyle, rule: section.rule, editable: !!(section.styleRule.style && section.styleRule.style.id), isAttribute: section.styleRule.isAttribute };
styleRules.push(styleRule);
}
return styleRules;
@@ -504,9 +506,8 @@ WebInspector.StylesSidebarPane.prototype = {
_markUsedProperties: function(styleRules, usedProperties)
{
- var priorityUsed = false;
-
- // Walk the style rules and make a list of all used and overloaded properties.
+ var foundImportantProperties = {};
+ var propertyToEffectiveRule = {};
for (var i = 0; i < styleRules.length; ++i) {
var styleRule = styleRules[i];
if (styleRule.computedStyle || styleRule.isStyleSeparator)
@@ -524,47 +525,22 @@ WebInspector.StylesSidebarPane.prototype = {
continue;
var canonicalName = WebInspector.StylesSidebarPane.canonicalPropertyName(property.name);
- if (!priorityUsed && property.priority.length)
- priorityUsed = true;
-
- // If the property name is already used by another rule then this rule's
- // property is overloaded, so don't add it to the rule's usedProperties.
- if (!(canonicalName in usedProperties))
- styleRule.usedProperties[canonicalName] = true;
- }
-
- // Add all the properties found in this style to the used properties list.
- // Do this here so only future rules are affect by properties used in this rule.
- for (var canonicalName in styleRules[i].usedProperties)
- usedProperties[canonicalName] = true;
- }
-
- if (priorityUsed) {
- // Walk the properties again and account for !important.
- var foundPriorityProperties = {};
+ if (foundImportantProperties.hasOwnProperty(canonicalName))
+ continue;
- // Walk in direct order to detect the active/most specific rule providing a priority
- // (in this case all subsequent !important values get canceled.)
- for (var i = 0; i < styleRules.length; ++i) {
- if (styleRules[i].computedStyle || styleRules[i].isStyleSeparator)
+ var isImportant = property.priority.length;
+ if (!isImportant && usedProperties.hasOwnProperty(canonicalName))
continue;
- var style = styleRules[i].style;
- var allProperties = style.allProperties;
- for (var j = 0; j < allProperties.length; ++j) {
- var property = allProperties[j];
- if (!property.isLive)
- continue;
- var canonicalName = WebInspector.StylesSidebarPane.canonicalPropertyName(property.name);
- if (property.priority.length) {
- if (!(canonicalName in foundPriorityProperties))
- styleRules[i].usedProperties[canonicalName] = true;
- else
- delete styleRules[i].usedProperties[canonicalName];
- foundPriorityProperties[canonicalName] = true;
- } else if (canonicalName in foundPriorityProperties)
- delete styleRules[i].usedProperties[canonicalName];
+ if (isImportant) {
+ foundImportantProperties[canonicalName] = true;
+ if (propertyToEffectiveRule.hasOwnProperty(canonicalName))
+ delete propertyToEffectiveRule[canonicalName].usedProperties[canonicalName];
}
+
+ styleRule.usedProperties[canonicalName] = true;
+ usedProperties[canonicalName] = true;
+ propertyToEffectiveRule[canonicalName] = styleRule;
}
}
},
@@ -621,10 +597,9 @@ WebInspector.StylesSidebarPane.prototype = {
editable = true;
if (computedStyle)
- var section = new WebInspector.ComputedStylePropertiesSection(styleRule, usedProperties);
+ var section = new WebInspector.ComputedStylePropertiesSection(this, styleRule, usedProperties);
else
var section = new WebInspector.StylePropertiesSection(this, styleRule, editable, styleRule.isInherited, lastWasSeparator);
- section.pane = this;
section.expanded = true;
if (computedStyle) {
@@ -693,7 +668,6 @@ WebInspector.StylesSidebarPane.prototype = {
addBlankSection: function()
{
var blankSection = new WebInspector.BlankStylePropertiesSection(this, this.node ? this.node.appropriateSelectorFor(true) : "");
- blankSection.pane = this;
var elementStyleSection = this.sections[0][1];
this._sectionsContainer.insertBefore(blankSection.element, elementStyleSection.element.nextSibling);
@@ -958,6 +932,11 @@ WebInspector.StylePropertiesSection = function(parentPane, styleRule, editable,
}
WebInspector.StylePropertiesSection.prototype = {
+ get pane()
+ {
+ return this._parentPane;
+ },
+
collapse: function(dontRememberState)
{
// Overriding with empty body.
@@ -1341,12 +1320,16 @@ WebInspector.StylePropertiesSection.prototype.__proto__ = WebInspector.Propertie
/**
* @constructor
* @extends {WebInspector.PropertiesSection}
+ * @param {!WebInspector.StylesSidebarPane} parentPane
+ * @param {!Object} styleRule
+ * @param {!Object.<string, boolean>} usedProperties
*/
-WebInspector.ComputedStylePropertiesSection = function(styleRule, usedProperties)
+WebInspector.ComputedStylePropertiesSection = function(parentPane, styleRule, usedProperties)
{
WebInspector.PropertiesSection.call(this, "");
this.headerElement.addStyleClass("hidden");
this.element.className = "styles-section monospace first-styles-section read-only computed-style";
+ this._parentPane = parentPane;
this.styleRule = styleRule;
this._usedProperties = usedProperties;
this._alwaysShowComputedProperties = { "display": true, "height": true, "width": true };
@@ -1356,6 +1339,11 @@ WebInspector.ComputedStylePropertiesSection = function(styleRule, usedProperties
}
WebInspector.ComputedStylePropertiesSection.prototype = {
+ get pane()
+ {
+ return this._parentPane;
+ },
+
collapse: function(dontRememberState)
{
// Overriding with empty body.
@@ -1400,7 +1388,7 @@ WebInspector.ComputedStylePropertiesSection.prototype = {
for (var i = 0; i < uniqueProperties.length; ++i) {
var property = uniqueProperties[i];
var inherited = this._isPropertyInherited(property.name);
- var item = new WebInspector.StylePropertyTreeElement(this, null, this.styleRule, style, property, false, inherited, false);
+ var item = new WebInspector.StylePropertyTreeElement(this, this._parentPane, this.styleRule, style, property, false, inherited, false);
this.propertiesTreeOutline.appendChild(item);
this._propertyTreeElements[property.name] = item;
}
@@ -1718,8 +1706,8 @@ WebInspector.StylePropertyTreeElement.prototype = {
container.appendChild(document.createTextNode("url("));
if (self._styleRule.sourceURL)
hrefUrl = WebInspector.ParsedURL.completeURL(self._styleRule.sourceURL, hrefUrl);
- else if (this._parentPane.node)
- hrefUrl = WebInspector.resourceURLForRelatedNode(this._parentPane.node, hrefUrl);
+ else if (self._parentPane.node)
+ hrefUrl = self._parentPane.node.resolveURL(hrefUrl);
var hasResource = !!WebInspector.resourceForURL(hrefUrl);
// FIXME: WebInspector.linkifyURLAsNode() should really use baseURI.
container.appendChild(WebInspector.linkifyURLAsNode(hrefUrl, url, undefined, !hasResource));
diff --git a/Source/WebCore/inspector/front-end/StylesSourceMapping.js b/Source/WebCore/inspector/front-end/StylesSourceMapping.js
new file mode 100644
index 000000000..0767e9ae0
--- /dev/null
+++ b/Source/WebCore/inspector/front-end/StylesSourceMapping.js
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/**
+ * @constructor
+ * @implements {WebInspector.SourceMapping}
+ * @param {WebInspector.Workspace} workspace
+ */
+WebInspector.StylesSourceMapping = function(workspace)
+{
+ this._workspace = workspace;
+ this._workspace.addEventListener(WebInspector.Workspace.Events.ProjectWillReset, this._reset, this);
+ this._workspace.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, this._uiSourceCodeAddedToWorkspace, this);
+
+ this._uiSourceCodeForURL = {};
+}
+
+WebInspector.StylesSourceMapping.prototype = {
+ /**
+ * @param {WebInspector.RawLocation} rawLocation
+ * @return {WebInspector.UILocation}
+ */
+ rawLocationToUILocation: function(rawLocation)
+ {
+ var location = /** @type WebInspector.CSSLocation */ rawLocation;
+ var uiSourceCode = this._uiSourceCodeForURL[location.url];
+ return new WebInspector.UILocation(uiSourceCode, location.lineNumber, 0);
+ },
+
+ /**
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ * @param {number} lineNumber
+ * @param {number} columnNumber
+ * @return {WebInspector.RawLocation}
+ */
+ uiLocationToRawLocation: function(uiSourceCode, lineNumber, columnNumber)
+ {
+ return new WebInspector.CSSLocation(uiSourceCode.contentURL() || "", lineNumber);
+ },
+
+ _uiSourceCodeAddedToWorkspace: function(event)
+ {
+ var uiSourceCode = /** @type {WebInspector.UISourceCode} */ event.data;
+ if (!uiSourceCode.url || this._uiSourceCodeForURL[uiSourceCode.url])
+ return;
+ if (uiSourceCode.contentType() !== WebInspector.resourceTypes.StyleSheet)
+ return;
+
+ this._addUISourceCode(uiSourceCode);
+ },
+
+ /**
+ * @param {WebInspector.UISourceCode} uiSourceCode
+ */
+ _addUISourceCode: function(uiSourceCode)
+ {
+ this._uiSourceCodeForURL[uiSourceCode.url] = uiSourceCode;
+ uiSourceCode.setSourceMapping(this);
+ WebInspector.cssModel.setSourceMapping(uiSourceCode.url, this);
+ },
+
+ _reset: function()
+ {
+ this._uiSourceCodeForURL = {};
+ WebInspector.cssModel.resetSourceMappings();
+ }
+}
+
diff --git a/Source/WebCore/inspector/front-end/TextEditor.js b/Source/WebCore/inspector/front-end/TextEditor.js
index 4be8f0d81..c4494385d 100644
--- a/Source/WebCore/inspector/front-end/TextEditor.js
+++ b/Source/WebCore/inspector/front-end/TextEditor.js
@@ -236,6 +236,12 @@ WebInspector.TextEditorDelegate.prototype = {
* @param {WebInspector.ContextMenu} contextMenu
* @param {number} lineNumber
*/
- populateTextAreaContextMenu: function(contextMenu, lineNumber) { }
-}
+ populateTextAreaContextMenu: function(contextMenu, lineNumber) { },
+ /**
+ * @param {string} hrefValue
+ * @param {boolean} isExternal
+ * @return {Element}
+ */
+ createLink: function(hrefValue, isExternal) { }
+}
diff --git a/Source/WebCore/inspector/front-end/TimelineGrid.js b/Source/WebCore/inspector/front-end/TimelineGrid.js
index a0cd7c85c..4323fcb60 100644
--- a/Source/WebCore/inspector/front-end/TimelineGrid.js
+++ b/Source/WebCore/inspector/front-end/TimelineGrid.js
@@ -87,7 +87,7 @@ WebInspector.TimelineGrid.prototype = {
{
var dividersElementClientWidth = this._dividersElement.clientWidth;
var dividerCount = Math.round(dividersElementClientWidth / 64);
- var slice = calculator.boundarySpan / dividerCount;
+ var slice = calculator.boundarySpan() / dividerCount;
this._currentDividerSlice = slice;
diff --git a/Source/WebCore/inspector/front-end/TimelineModel.js b/Source/WebCore/inspector/front-end/TimelineModel.js
index dff3044b2..74e635b2d 100644
--- a/Source/WebCore/inspector/front-end/TimelineModel.js
+++ b/Source/WebCore/inspector/front-end/TimelineModel.js
@@ -43,14 +43,18 @@ WebInspector.TimelineModel = function()
WebInspector.timelineManager.addEventListener(WebInspector.TimelineManager.EventTypes.TimelineEventRecorded, this._onRecordAdded, this);
}
+WebInspector.TimelineModel.TransferChunkLengthBytes = 5000000;
+
WebInspector.TimelineModel.RecordType = {
Root: "Root",
Program: "Program",
EventDispatch: "EventDispatch",
BeginFrame: "BeginFrame",
- Layout: "Layout",
+ ScheduleStyleRecalculation: "ScheduleStyleRecalculation",
RecalculateStyles: "RecalculateStyles",
+ InvalidateLayout: "InvalidateLayout",
+ Layout: "Layout",
Paint: "Paint",
DecodeImage: "DecodeImage",
ResizeImage: "ResizeImage",
@@ -115,7 +119,7 @@ WebInspector.TimelineModel.aggregateTimeForRecord = function(total, rawRecord)
{
var childrenTime = 0;
var children = rawRecord["children"] || [];
- for (var i = 0; i < children.length; ++i) {
+ for (var i = 0; i < children.length; ++i) {
WebInspector.TimelineModel.aggregateTimeForRecord(total, children[i]);
childrenTime += WebInspector.TimelineModel.durationInSeconds(children[i]);
}
@@ -162,90 +166,15 @@ WebInspector.TimelineModel.prototype = {
},
/**
- * @param {WebInspector.Progress} progress
- * @param {Array.<Object>} data
- * @param {number} index
- */
- _loadNextChunk: function(progress, data, index)
- {
- if (progress.isCanceled()) {
- this.reset();
- progress.done();
- return;
- }
- progress.setWorked(index);
-
- for (var i = 0; i < 100 && index < data.length; ++i, ++index)
- this._addRecord(data[index]);
-
- if (index !== data.length)
- setTimeout(this._loadNextChunk.bind(this, progress, data, index), 0);
- else
- progress.done();
- },
-
- /**
* @param {!Blob} file
- * @param {WebInspector.Progress} progress
+ * @param {!WebInspector.Progress} progress
*/
loadFromFile: function(file, progress)
{
- var compositeProgress = new WebInspector.CompositeProgress(progress);
- var loadingProgress = compositeProgress.createSubProgress(1);
- var parsingProgress = compositeProgress.createSubProgress(1);
- var processingProgress = compositeProgress.createSubProgress(1);
-
- function parseAndImportData(data)
- {
- try {
- var records = JSON.parse(data);
- parsingProgress.done();
- this.reset();
- processingProgress.setTotalWork(records.length);
- this._loadNextChunk(processingProgress, records, 1);
- } catch (e) {
- WebInspector.showErrorMessage("Malformed timeline data.");
- progress.done();
- }
- }
-
- function onLoad(e)
- {
- loadingProgress.done();
- parsingProgress.setTotalWork(1);
- setTimeout(parseAndImportData.bind(this, e.target.result), 0);
- }
-
- function onError(e)
- {
- progress.done();
- switch(e.target.error.code) {
- case e.target.error.NOT_FOUND_ERR:
- WebInspector.showErrorMessage(WebInspector.UIString("File \"%s\" not found.", file.name));
- break;
- case e.target.error.NOT_READABLE_ERR:
- WebInspector.showErrorMessage(WebInspector.UIString("File \"%s\" is not readable", file.name));
- break;
- case e.target.error.ABORT_ERR:
- break;
- default:
- WebInspector.showErrorMessage(WebInspector.UIString("An error occurred while reading the file \"%s\"", file.name));
- }
- }
-
- function onProgress(e)
- {
- if (e.lengthComputable)
- loadingProgress.setWorked(e.loaded / e.total);
- }
-
- var reader = new FileReader();
- reader.onload = onLoad.bind(this);
- reader.onerror = onError;
- reader.onprogress = onProgress;
- loadingProgress.setTitle(WebInspector.UIString("Loading\u2026"));
- loadingProgress.setTotalWork(1);
- reader.readAsText(file);
+ var delegate = new WebInspector.TimelineModelLoadFromFileDelegate(this, progress);
+ var fileReader = this._createFileReader(file, delegate);
+ var loader = new WebInspector.TimelineModelLoader(this, fileReader, progress);
+ fileReader.start(loader);
},
/**
@@ -253,46 +182,30 @@ WebInspector.TimelineModel.prototype = {
*/
loadFromURL: function(url, progress)
{
- var compositeProgress = new WebInspector.CompositeProgress(progress);
- var loadingProgress = compositeProgress.createSubProgress(1);
- var parsingProgress = compositeProgress.createSubProgress(1);
- var processingProgress = compositeProgress.createSubProgress(1);
-
- // FIXME: extract parsing routines so that they did not require too many progress objects.
- function parseAndImportData(data)
- {
- try {
- var records = JSON.parse(data);
- parsingProgress.done();
- this.reset();
- processingProgress.setTotalWork(records.length);
- this._loadNextChunk(processingProgress, records, 1);
- } catch (e) {
- WebInspector.showErrorMessage("Malformed timeline data.");
- progress.done();
- }
- }
+ var delegate = new WebInspector.TimelineModelLoadFromFileDelegate(this, progress);
+ var urlReader = new WebInspector.ChunkedXHRReader(url, delegate);
+ var loader = new WebInspector.TimelineModelLoader(this, urlReader, progress);
+ urlReader.start(loader);
+ },
- var responseText = loadXHR(url);
- if (responseText) {
- loadingProgress.done();
- parsingProgress.setTotalWork(1);
- setTimeout(parseAndImportData.bind(this, responseText), 0);
- }
+ _createFileReader: function(file, delegate)
+ {
+ return new WebInspector.ChunkedFileReader(file, WebInspector.TimelineModel.TransferChunkLengthBytes, delegate);
},
saveToFile: function()
{
- var records = ['[' + JSON.stringify(new String(window.navigator.appVersion))];
- for (var i = 0; i < this._records.length; ++i)
- records.push(JSON.stringify(this._records[i]));
-
- records[records.length - 1] = records[records.length - 1] + "]";
-
var now = new Date();
var fileName = "TimelineRawData-" + now.toISO8601Compact() + ".json";
- WebInspector.fileManager.save(fileName, records.join(",\n"), true);
+ var delegate = new WebInspector.TimelineModelWriteToFileDelegate(this._records, window.navigator.appVersion);
+ var writer = this._createFileWriter(fileName, delegate);
+ writer.startTransfer();
+ },
+
+ _createFileWriter: function(fileName, delegate)
+ {
+ return new WebInspector.FileOutputStream(fileName, delegate);
},
reset: function()
@@ -335,3 +248,192 @@ WebInspector.TimelineModel.prototype = {
}
WebInspector.TimelineModel.prototype.__proto__ = WebInspector.Object.prototype;
+
+/**
+ * @constructor
+ * @implements {WebInspector.OutputStream}
+ * @param {!WebInspector.TimelineModel} model
+ * @param {!{cancel: function()}} reader
+ * @param {!WebInspector.Progress} progress
+ */
+WebInspector.TimelineModelLoader = function(model, reader, progress)
+{
+ this._model = model;
+ this._reader = reader;
+ this._progress = progress;
+ this._buffer = "";
+}
+
+WebInspector.TimelineModelLoader.prototype = {
+ startTransfer: function()
+ {
+ this._model.reset();
+ this._firstChunk = true;
+ return true;
+ },
+
+ /**
+ * @param {string} chunk
+ */
+ transferChunk: function(chunk)
+ {
+ var data = this._buffer + chunk;
+ var lastIndex = 0;
+ var index;
+ do {
+ index = lastIndex;
+ lastIndex = WebInspector.findBalancedCurlyBrackets(data, index);
+ } while (lastIndex !== -1)
+
+ var json = data.slice(0, index) + "]";
+ this._buffer = data.slice(index);
+
+ if (!index)
+ return;
+
+ // Prepending "0" to turn string into valid JSON.
+ if (!this._firstChunk)
+ json = "[0" + json;
+
+ var items;
+ try {
+ items = /** @type {Array} */ JSON.parse(json);
+ } catch (e) {
+ WebInspector.showErrorMessage("Malformed timeline data.");
+ this._model.reset();
+ this._reader.cancel();
+ this._progress.done();
+ return;
+ }
+
+ if (this._firstChunk) {
+ this._version = items[0];
+ this._firstChunk = false;
+ }
+
+ // Skip 0-th element - it is either version or 0.
+ for (var i = 1, size = items.length; i < size; ++i)
+ this._model._addRecord(items[i]);
+ },
+
+ finishTransfer: function() { },
+
+ dispose: function() { }
+}
+
+/**
+ * @constructor
+ * @implements {WebInspector.OutputStreamDelegate}
+ * @param {!WebInspector.TimelineModel} model
+ * @param {!WebInspector.Progress} progress
+ */
+WebInspector.TimelineModelLoadFromFileDelegate = function(model, progress)
+{
+ this._model = model;
+ this._progress = progress;
+}
+
+WebInspector.TimelineModelLoadFromFileDelegate.prototype = {
+ onTransferStarted: function(reader)
+ {
+ this._progress.setTitle(WebInspector.UIString("Loading\u2026"));
+ },
+
+ onChunkTransferred: function(reader)
+ {
+ if (this._progress.isCanceled()) {
+ reader.cancel();
+ this._progress.done();
+ this._model.reset();
+ return;
+ }
+
+ var totalSize = reader.fileSize();
+ if (totalSize) {
+ this._progress.setTotalWork(totalSize);
+ this._progress.setWorked(reader.loadedSize());
+ }
+ },
+
+ onTransferFinished: function(reader)
+ {
+ this._progress.done();
+ },
+
+ onError: function(reader, event)
+ {
+ this._progress.done();
+ this._model.reset();
+ switch (event.target.error.code) {
+ case FileError.NOT_FOUND_ERR:
+ WebInspector.showErrorMessage(WebInspector.UIString("File \"%s\" not found.", reader.fileName()));
+ break;
+ case FileError.NOT_READABLE_ERR:
+ WebInspector.showErrorMessage(WebInspector.UIString("File \"%s\" is not readable", reader.fileName()));
+ break;
+ case FileError.ABORT_ERR:
+ break;
+ default:
+ WebInspector.showErrorMessage(WebInspector.UIString("An error occurred while reading the file \"%s\"", reader.fileName()));
+ }
+ }
+}
+
+/**
+ * @constructor
+ * @implements WebInspector.OutputStreamDelegate
+ * @param {Array} records
+ * @param {string} version
+ */
+WebInspector.TimelineModelWriteToFileDelegate = function(records, version)
+{
+ this._records = records;
+ this._recordIndex = 0;
+ this._prologue = "[" + JSON.stringify(new String(version));
+}
+
+WebInspector.TimelineModelWriteToFileDelegate.prototype = {
+ onTransferStarted: function(writer)
+ {
+ this._pushChunk(writer);
+ },
+
+ onChunkTransferred: function(writer)
+ {
+ if (this._recordIndex === this._records.length)
+ writer.finishTransfer();
+ else
+ this._pushChunk(writer);
+ },
+
+ onTransferFinished: function(writer) { },
+
+ onError: function(writer, event) { },
+
+ _pushChunk: function(writer)
+ {
+ const separator = ",\n";
+ var data = [];
+ var length = 0;
+
+ if (this._prologue) {
+ data.push(this._prologue);
+ length += this._prologue.length;
+ delete this._prologue;
+ } else
+ data.push("");
+
+ while (this._recordIndex < this._records.length) {
+ var item = JSON.stringify(this._records[this._recordIndex]);
+ var itemLength = item.length + separator.length;
+ if (length + itemLength > WebInspector.TimelineModel.TransferChunkLengthBytes)
+ break;
+ length += itemLength;
+ data.push(item);
+ ++this._recordIndex;
+ }
+ if (this._recordIndex === this._records.length)
+ data.push(data.pop() + "]");
+ writer.transferChunk(data.join(separator));
+ }
+}
diff --git a/Source/WebCore/inspector/front-end/TimelinePanel.js b/Source/WebCore/inspector/front-end/TimelinePanel.js
index dbfd8a8c0..d4c0ce6fe 100644
--- a/Source/WebCore/inspector/front-end/TimelinePanel.js
+++ b/Source/WebCore/inspector/front-end/TimelinePanel.js
@@ -46,8 +46,11 @@ WebInspector.TimelinePanel = function()
this._model = new WebInspector.TimelineModel();
this._presentationModel = new WebInspector.TimelinePresentationModel();
+ this._overviewModeSetting = WebInspector.settings.createSetting("timelineOverviewMode", WebInspector.TimelineOverviewPane.Mode.Events);
+ this._glueRecordsSetting = WebInspector.settings.createSetting("timelineGlueRecords", true);
+
this._overviewPane = new WebInspector.TimelineOverviewPane(this._model);
- this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.WindowChanged, this._scheduleRefresh.bind(this, false));
+ this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.WindowChanged, this._invalidateAndScheduleRefresh.bind(this, false));
this._overviewPane.addEventListener(WebInspector.TimelineOverviewPane.Events.ModeChanged, this._overviewModeChanged, this);
this._overviewPane.show(this.element);
@@ -145,8 +148,6 @@ WebInspector.TimelinePanel = function()
this._presentationModel.addFilter(this._overviewPane);
this._presentationModel.addFilter(new WebInspector.TimelineCategoryFilter());
this._presentationModel.addFilter(new WebInspector.TimelineIsLongFilter(this));
-
- this._overviewModeSetting = WebInspector.settings.createSetting("timelineOverviewMode", WebInspector.TimelineOverviewPane.Mode.Events);
}
// Define row height, should be in sync with styles for timeline graphs.
@@ -235,8 +236,8 @@ WebInspector.TimelinePanel.prototype = {
this._statusBarButtons.push(this.garbageCollectButton);
this._glueParentButton = new WebInspector.StatusBarButton(WebInspector.UIString("Glue asynchronous events to causes"), "glue-async-status-bar-item");
- this._glueParentButton.toggled = true;
- this._presentationModel.setGlueRecords(true);
+ this._glueParentButton.toggled = this._glueRecordsSetting.get();
+ this._presentationModel.setGlueRecords(this._glueParentButton.toggled);
this._glueParentButton.addEventListener("click", this._glueParentButtonClicked, this);
this._statusBarButtons.push(this._glueParentButton);
@@ -283,7 +284,7 @@ WebInspector.TimelinePanel.prototype = {
_onCategoryCheckboxClicked: function(category, event)
{
category.hidden = !event.target.checked;
- this._scheduleRefresh(true);
+ this._invalidateAndScheduleRefresh(true);
},
/**
@@ -529,7 +530,7 @@ WebInspector.TimelinePanel.prototype = {
this._showShortEvents = this.toggleFilterButton.toggled;
this._overviewPane.setShowShortEvents(this._showShortEvents);
this.toggleFilterButton.element.title = this._showShortEvents ? this._hideShortRecordsTitleText : this._showShortRecordsTitleText;
- this._scheduleRefresh(true);
+ this._invalidateAndScheduleRefresh(true);
},
_garbageCollectButtonClicked: function()
@@ -539,24 +540,27 @@ WebInspector.TimelinePanel.prototype = {
_glueParentButtonClicked: function()
{
- this._glueParentButton.toggled = !this._glueParentButton.toggled;
- this._presentationModel.setGlueRecords(this._glueParentButton.toggled);
+ var newValue = !this._glueParentButton.toggled;
+ this._glueParentButton.toggled = newValue;
+ this._presentationModel.setGlueRecords(newValue);
+ this._glueRecordsSetting.set(newValue);
this._repopulateRecords();
},
_repopulateRecords: function()
{
this._resetPanel();
+ this._automaticallySizeWindow = false;
var records = this._model.records;
for (var i = 0; i < records.length; ++i)
this._innerAddRecordToTimeline(records[i], this._rootRecord());
- this._scheduleRefresh(false);
+ this._invalidateAndScheduleRefresh(false);
},
_onTimelineEventRecorded: function(event)
{
if (this._innerAddRecordToTimeline(event.data, this._rootRecord()))
- this._scheduleRefresh(false);
+ this._invalidateAndScheduleRefresh(false);
},
_innerAddRecordToTimeline: function(record, parentRecord)
@@ -618,7 +622,7 @@ WebInspector.TimelinePanel.prototype = {
_onRecordsCleared: function()
{
this._resetPanel();
- this._refresh();
+ this._invalidateAndScheduleRefresh(true);
},
_resetPanel: function()
@@ -664,6 +668,15 @@ WebInspector.TimelinePanel.prototype = {
this._scheduleRefresh(true);
},
+ _invalidateAndScheduleRefresh: function(preserveBoundaries)
+ {
+ this._presentationModel.invalidateFilteredRecords();
+ this._scheduleRefresh(preserveBoundaries);
+ },
+
+ /**
+ * @param {boolean} preserveBoundaries
+ */
_scheduleRefresh: function(preserveBoundaries)
{
this._closeRecordDetails();
@@ -771,7 +784,7 @@ WebInspector.TimelinePanel.prototype = {
var width = this._graphRowsElementWidth;
this._itemsGraphsElement.removeChild(this._graphRowsElement);
var graphRowElement = this._graphRowsElement.firstChild;
- var scheduleRefreshCallback = this._scheduleRefresh.bind(this, true);
+ var scheduleRefreshCallback = this._invalidateAndScheduleRefresh.bind(this, true);
this._itemsGraphsElement.removeChild(this._expandElements);
this._expandElements.removeChildren();
@@ -1112,7 +1125,14 @@ WebInspector.TimelineRecordListRow.prototype = {
this._record = record;
this._offset = offset;
- this.element.className = "timeline-tree-item timeline-category-" + record.category.name + (isEven ? " even" : "");
+ this.element.className = "timeline-tree-item timeline-category-" + record.category.name;
+ if (isEven)
+ this.element.addStyleClass("even");
+ if (record.hasWarning)
+ this.element.addStyleClass("warning");
+ else if (record.childHasWarning)
+ this.element.addStyleClass("child-warning");
+
this._typeElement.textContent = record.title;
if (this._dataElement.firstChild)
diff --git a/Source/WebCore/inspector/front-end/TimelinePresentationModel.js b/Source/WebCore/inspector/front-end/TimelinePresentationModel.js
index 8ebc1123d..a15ce36f3 100644
--- a/Source/WebCore/inspector/front-end/TimelinePresentationModel.js
+++ b/Source/WebCore/inspector/front-end/TimelinePresentationModel.js
@@ -59,7 +59,7 @@ WebInspector.TimelinePresentationModel.categories = function()
/**
* @return {!Object.<string, {title: string, category}>}
*/
-WebInspector.TimelinePresentationModel.initRecordStyles_ = function()
+WebInspector.TimelinePresentationModel._initRecordStyles = function()
{
if (WebInspector.TimelinePresentationModel._recordStylesMap)
return WebInspector.TimelinePresentationModel._recordStylesMap;
@@ -72,8 +72,10 @@ WebInspector.TimelinePresentationModel.initRecordStyles_ = function()
recordStyles[recordTypes.Program] = { title: WebInspector.UIString("Program"), category: categories["program"] };
recordStyles[recordTypes.EventDispatch] = { title: WebInspector.UIString("Event"), category: categories["scripting"] };
recordStyles[recordTypes.BeginFrame] = { title: WebInspector.UIString("Frame Start"), category: categories["rendering"] };
- recordStyles[recordTypes.Layout] = { title: WebInspector.UIString("Layout"), category: categories["rendering"] };
+ recordStyles[recordTypes.ScheduleStyleRecalculation] = { title: WebInspector.UIString("Schedule Style Recalculation"), category: categories["rendering"] };
recordStyles[recordTypes.RecalculateStyles] = { title: WebInspector.UIString("Recalculate Style"), category: categories["rendering"] };
+ recordStyles[recordTypes.InvalidateLayout] = { title: WebInspector.UIString("Invalidate Layout"), category: categories["rendering"] };
+ recordStyles[recordTypes.Layout] = { title: WebInspector.UIString("Layout"), category: categories["rendering"] };
recordStyles[recordTypes.Paint] = { title: WebInspector.UIString("Paint"), category: categories["painting"] };
recordStyles[recordTypes.DecodeImage] = { title: WebInspector.UIString("Image Decode"), category: categories["painting"] };
recordStyles[recordTypes.ResizeImage] = { title: WebInspector.UIString("Image Resize"), category: categories["painting"] };
@@ -110,7 +112,7 @@ WebInspector.TimelinePresentationModel.initRecordStyles_ = function()
*/
WebInspector.TimelinePresentationModel.recordStyle = function(record)
{
- var recordStyles = WebInspector.TimelinePresentationModel.initRecordStyles_();
+ var recordStyles = WebInspector.TimelinePresentationModel._initRecordStyles();
var result = recordStyles[record.type];
if (!result) {
result = {
@@ -238,7 +240,7 @@ WebInspector.TimelinePresentationModel.prototype = {
reset: function()
{
this._linkifier.reset();
- this._rootRecord = new WebInspector.TimelinePresentationModel.Record(this, { type: WebInspector.TimelineModel.RecordType.Root }, null, null);
+ this._rootRecord = new WebInspector.TimelinePresentationModel.Record(this, { type: WebInspector.TimelineModel.RecordType.Root }, null, null, false);
this._sendRequestRecords = {};
this._scheduledResourceRequests = {};
this._timerRecords = {};
@@ -246,6 +248,8 @@ WebInspector.TimelinePresentationModel.prototype = {
this._timeRecords = {};
this._frames = [];
this._minimumRecordTime = -1;
+ this._lastInvalidateLayout = {};
+ this._lastScheduleStyleRecalculation = {};
},
addFrame: function(frame)
@@ -273,19 +277,18 @@ WebInspector.TimelinePresentationModel.prototype = {
_innerAddRecord: function(record, parentRecord)
{
+ const recordTypes = WebInspector.TimelineModel.RecordType;
+ const hiddenRecords = [
+ recordTypes.MarkDOMContent,
+ recordTypes.MarkLoad,
+ recordTypes.ScheduleStyleRecalculation,
+ recordTypes.InvalidateLayout
+ ];
+ var isHiddenRecord = hiddenRecords.indexOf(record.type) >= 0;
var connectedToOldRecord = false;
- var recordTypes = WebInspector.TimelineModel.RecordType;
-
- switch (record.type) {
- // No bar entry for load events.
- case recordTypes.MarkDOMContent:
- case recordTypes.MarkLoad:
- parentRecord = null;
- break;
- case recordTypes.Time:
+ if (record.type === recordTypes.Time)
parentRecord = this._rootRecord;
- break;
- default:
+ else if (!isHiddenRecord) {
var newParentRecord = this._findParentRecord(record);
if (newParentRecord) {
parentRecord = newParentRecord;
@@ -313,9 +316,9 @@ WebInspector.TimelinePresentationModel.prototype = {
}
}
- var formattedRecord = new WebInspector.TimelinePresentationModel.Record(this, record, parentRecord, scriptDetails);
+ var formattedRecord = new WebInspector.TimelinePresentationModel.Record(this, record, parentRecord, scriptDetails, isHiddenRecord);
- if (record.type === recordTypes.MarkDOMContent || record.type === recordTypes.MarkLoad)
+ if (isHiddenRecord)
return formattedRecord;
formattedRecord.collapsed = (parentRecord === this._rootRecord);
@@ -375,8 +378,16 @@ WebInspector.TimelinePresentationModel.prototype = {
this._glueRecords = glue;
},
+ invalidateFilteredRecords: function()
+ {
+ delete this._filteredRecords;
+ },
+
filteredRecords: function()
{
+ if (this._filteredRecords)
+ return this._filteredRecords;
+
var recordsInWindow = [];
var stack = [{children: this._rootRecord.children, index: 0, parentIsCollapsed: false}];
@@ -407,6 +418,7 @@ WebInspector.TimelinePresentationModel.prototype = {
}
}
+ this._filteredRecords = recordsInWindow;
return recordsInWindow;
},
@@ -424,16 +436,22 @@ WebInspector.TimelinePresentationModel.prototype.__proto__ = WebInspector.Object
/**
* @constructor
+ * @param {WebInspector.TimelinePresentationModel} presentationModel
+ * @param {Object} record
+ * @param {WebInspector.TimelinePresentationModel.Record} parentRecord
+ * @param {Object|undefined} scriptDetails
+ * @param {boolean} hidden
*/
-WebInspector.TimelinePresentationModel.Record = function(presentationModel, record, parentRecord, scriptDetails)
+WebInspector.TimelinePresentationModel.Record = function(presentationModel, record, parentRecord, scriptDetails, hidden)
{
this._linkifier = presentationModel._linkifier;
this._aggregatedStats = [];
this._record = record;
this._children = [];
- this.parent = parentRecord;
- if (parentRecord)
+ if (!hidden && parentRecord) {
+ this.parent = parentRecord;
parentRecord.children.push(this);
+ }
this._selfTime = this.endTime - this.startTime;
this._lastChildEndTime = this.endTime;
@@ -445,6 +463,8 @@ WebInspector.TimelinePresentationModel.Record = function(presentationModel, reco
this.scriptName = scriptDetails.scriptName;
this.scriptLine = scriptDetails.scriptLine;
}
+ if (parentRecord && parentRecord.callSiteStackTrace)
+ this.callSiteStackTrace = parentRecord.callSiteStackTrace;
var recordTypes = WebInspector.TimelineModel.RecordType;
switch (record.type) {
@@ -512,6 +532,30 @@ WebInspector.TimelinePresentationModel.Record = function(presentationModel, reco
timeRecord.intervalDuration = intervalDuration;
}
break;
+
+ case recordTypes.ScheduleStyleRecalculation:
+ presentationModel._lastScheduleStyleRecalculation[this.frameId] = this;
+ break;
+
+ case recordTypes.RecalculateStyles:
+ var scheduleStyleRecalculationRecord = presentationModel._lastScheduleStyleRecalculation[this.frameId];
+ if (!scheduleStyleRecalculationRecord)
+ break;
+ this.callSiteStackTrace = scheduleStyleRecalculationRecord.stackTrace;
+ break;
+
+ case recordTypes.InvalidateLayout:
+ presentationModel._lastInvalidateLayout[this.frameId] = this;
+ break;
+
+ case recordTypes.Layout:
+ var invalidateLayoutRecord = presentationModel._lastInvalidateLayout[this.frameId];
+ if (invalidateLayoutRecord)
+ this.callSiteStackTrace = invalidateLayoutRecord.stackTrace || invalidateLayoutRecord.callSiteStackTrace;
+ if (this.stackTrace)
+ this.setHasWarning();
+ presentationModel._lastInvalidateLayout[this.frameId] = null;
+ break;
}
}
@@ -630,9 +674,9 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
/**
* @return {number}
*/
- get totalHeapSize()
+ get usedHeapSizeDelta()
{
- return this._record.totalHeapSize;
+ return this._record.usedHeapSizeDelta || 0;
},
/**
@@ -664,7 +708,7 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
generatePopupContent: function(callback)
{
if (WebInspector.TimelinePresentationModel.needsPreviewElement(this.type))
- WebInspector.buildImagePreviewContents(this.url, false, this._generatePopupContentWithImagePreview.bind(this, callback));
+ WebInspector.DOMPresentationUtils.buildImagePreviewContents(this.url, false, this._generatePopupContentWithImagePreview.bind(this, callback));
else
this._generatePopupContentWithImagePreview(callback);
},
@@ -688,6 +732,10 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
}
const recordTypes = WebInspector.TimelineModel.RecordType;
+ // The messages may vary per record type;
+ var callSiteStackTraceLabel;
+ var callStackLabel;
+
switch (this.type) {
case recordTypes.GCEvent:
contentHelper._appendTextRow(WebInspector.UIString("Collected"), Number.bytesToString(this.data["usedHeapSizeDelta"]));
@@ -712,7 +760,7 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
case recordTypes.ResourceReceiveResponse:
case recordTypes.ResourceReceivedData:
case recordTypes.ResourceFinish:
- contentHelper._appendElementRow(WebInspector.UIString("Resource"), this._linkifyLocation(this.url));
+ contentHelper._appendElementRow(WebInspector.UIString("Resource"), WebInspector.linkifyResourceAsNode(this.url));
if (previewElement)
contentHelper._appendElementRow(WebInspector.UIString("Preview"), previewElement);
if (this.data["requestMethod"])
@@ -733,6 +781,15 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
contentHelper._appendTextRow(WebInspector.UIString("Dimensions"), WebInspector.UIString("%d × %d", this.data["width"], this.data["height"]));
break;
case recordTypes.RecalculateStyles: // We don't want to see default details.
+ callSiteStackTraceLabel = WebInspector.UIString("Styles invalidated");
+ callStackLabel = WebInspector.UIString("Styles recalculation forced");
+ break;
+ case recordTypes.Layout:
+ callSiteStackTraceLabel = WebInspector.UIString("Layout invalidated");
+ if (this.stackTrace) {
+ callStackLabel = WebInspector.UIString("Layout forced");
+ contentHelper._appendTextRow(WebInspector.UIString("Note"), WebInspector.UIString("Forced synchronous layout is a possible performance bottlenck."));
+ }
break;
case recordTypes.Time:
case recordTypes.TimeEnd:
@@ -748,14 +805,20 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
if (this.scriptName && this.type !== recordTypes.FunctionCall)
contentHelper._appendElementRow(WebInspector.UIString("Function Call"), this._linkifyScriptLocation());
- if (this.usedHeapSize)
- contentHelper._appendTextRow(WebInspector.UIString("Used Heap Size"), WebInspector.UIString("%s of %s", Number.bytesToString(this.usedHeapSize), Number.bytesToString(this.totalHeapSize)));
+ if (this.usedHeapSize) {
+ if (this.usedHeapSizeDelta) {
+ var sign = this.usedHeapSizeDelta > 0 ? "+" : "-";
+ contentHelper._appendTextRow(WebInspector.UIString("Used Heap Size"),
+ WebInspector.UIString("%s (%s%s)", Number.bytesToString(this.usedHeapSize), sign, Number.bytesToString(this.usedHeapSizeDelta)));
+ } else if (this.category === WebInspector.TimelinePresentationModel.categories().scripting)
+ contentHelper._appendTextRow(WebInspector.UIString("Used Heap Size"), Number.bytesToString(this.usedHeapSize));
+ }
- if (this.callSiteStackTrace && this.callSiteStackTrace.length)
- contentHelper._appendStackTrace(WebInspector.UIString("Call Site stack"), this.callSiteStackTrace, this._linkifyCallFrame.bind(this));
+ if (this.callSiteStackTrace)
+ contentHelper._appendStackTrace(callSiteStackTraceLabel || WebInspector.UIString("Call Site stack"), this.callSiteStackTrace, this._linkifyCallFrame.bind(this));
if (this.stackTrace)
- contentHelper._appendStackTrace(WebInspector.UIString("Call Stack"), this.stackTrace, this._linkifyCallFrame.bind(this));
+ contentHelper._appendStackTrace(callStackLabel || WebInspector.UIString("Call Stack"), this.stackTrace, this._linkifyCallFrame.bind(this));
callback(contentHelper._contentTable);
},
@@ -822,15 +885,14 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
/**
* @param {string} url
- * @param {number=} lineNumber
+ * @param {number} lineNumber
* @param {number=} columnNumber
*/
_linkifyLocation: function(url, lineNumber, columnNumber)
{
// FIXME(62725): stack trace line/column numbers are one-based.
- lineNumber = lineNumber ? lineNumber - 1 : lineNumber;
columnNumber = columnNumber ? columnNumber - 1 : 0;
- return this._linkifier.linkifyLocation(url, lineNumber, columnNumber, "timeline-details");
+ return this._linkifier.linkifyLocation(url, lineNumber - 1, columnNumber, "timeline-details");
},
_linkifyCallFrame: function(callFrame)
@@ -843,7 +905,11 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
*/
_linkifyTopCallFrame: function(defaultValue)
{
- return this.stackTrace ? this._linkifyCallFrame(this.stackTrace[0]) : defaultValue;
+ if (this.stackTrace)
+ return this._linkifyCallFrame(this.stackTrace[0]);
+ if (this.callSiteStackTrace)
+ return this._linkifyCallFrame(this.callSiteStackTrace[0]);
+ return defaultValue;
},
/**
@@ -874,6 +940,13 @@ WebInspector.TimelinePresentationModel.Record.prototype = {
get aggregatedStats()
{
return this._aggregatedStats;
+ },
+
+ setHasWarning: function()
+ {
+ this.hasWarning = true;
+ for (var parent = this.parent; parent && !parent.childHasWarning; parent = parent.parent)
+ parent.childHasWarning = true;
}
}
diff --git a/Source/WebCore/inspector/front-end/UISourceCode.js b/Source/WebCore/inspector/front-end/UISourceCode.js
index 17aaaa0b1..47c8c3425 100644
--- a/Source/WebCore/inspector/front-end/UISourceCode.js
+++ b/Source/WebCore/inspector/front-end/UISourceCode.js
@@ -36,15 +36,13 @@
* @param {string} url
* @param {WebInspector.Resource} resource
* @param {WebInspector.ContentProvider} contentProvider
- * @param {WebInspector.SourceMapping=} sourceMapping
*/
-WebInspector.UISourceCode = function(url, resource, contentProvider, sourceMapping)
+WebInspector.UISourceCode = function(url, resource, contentProvider)
{
this._url = url;
this._resource = resource;
this._parsedURL = new WebInspector.ParsedURL(url);
this._contentProvider = contentProvider;
- this._sourceMapping = sourceMapping;
this.isContentScript = false;
/**
* @type Array.<function(?string,boolean,string)>
@@ -384,6 +382,8 @@ WebInspector.UISourceCode.prototype = {
*/
uiLocationToRawLocation: function(lineNumber, columnNumber)
{
+ if (!this._sourceMapping)
+ return null;
var location = this._formatterMapping.formattedToOriginal(lineNumber, columnNumber);
return this._sourceMapping.uiLocationToRawLocation(this, location[0], location[1]);
},
@@ -537,6 +537,14 @@ WebInspector.UISourceCode.prototype = {
return null;
},
+ /**
+ * @param {WebInspector.SourceMapping} sourceMapping
+ */
+ setSourceMapping: function(sourceMapping)
+ {
+ this._sourceMapping = sourceMapping;
+ },
+
formattedChanged: function()
{
}
diff --git a/Source/WebCore/inspector/front-end/UIUtils.js b/Source/WebCore/inspector/front-end/UIUtils.js
index e140cf6f7..ac7419531 100644
--- a/Source/WebCore/inspector/front-end/UIUtils.js
+++ b/Source/WebCore/inspector/front-end/UIUtils.js
@@ -1031,77 +1031,6 @@ WebInspector.revertDomChanges = function(domChanges)
}
}
-/**
- * @param {string} imageURL
- * @param {boolean} showDimensions
- * @param {function(Element=)} userCallback
- * @param {Object=} precomputedDimensions
- */
-WebInspector.buildImagePreviewContents = function(imageURL, showDimensions, userCallback, precomputedDimensions)
-{
- var resource = WebInspector.resourceTreeModel.resourceForURL(imageURL);
- if (!resource) {
- userCallback();
- return;
- }
-
- var imageElement = document.createElement("img");
- imageElement.addEventListener("load", buildContent, false);
- imageElement.addEventListener("error", errorCallback, false);
- resource.populateImageSource(imageElement);
-
- function errorCallback()
- {
- // Drop the event parameter when invoking userCallback.
- userCallback();
- }
-
- function buildContent()
- {
- var container = document.createElement("table");
- container.className = "image-preview-container";
- var naturalWidth = precomputedDimensions ? precomputedDimensions.naturalWidth : imageElement.naturalWidth;
- var naturalHeight = precomputedDimensions ? precomputedDimensions.naturalHeight : imageElement.naturalHeight;
- var offsetWidth = precomputedDimensions ? precomputedDimensions.offsetWidth : naturalWidth;
- var offsetHeight = precomputedDimensions ? precomputedDimensions.offsetHeight : naturalHeight;
- var description;
- if (showDimensions) {
- if (offsetHeight === naturalHeight && offsetWidth === naturalWidth)
- description = WebInspector.UIString("%d \xd7 %d pixels", offsetWidth, offsetHeight);
- else
- description = WebInspector.UIString("%d \xd7 %d pixels (Natural: %d \xd7 %d pixels)", offsetWidth, offsetHeight, naturalWidth, naturalHeight);
- }
-
- container.createChild("tr").createChild("td", "image-container").appendChild(imageElement);
- if (description)
- container.createChild("tr").createChild("td").createChild("span", "description").textContent = description;
- userCallback(container);
- }
-}
-
-/**
- * @param {WebInspector.ContextMenu} contextMenu
- * @param {Node} contextNode
- * @param {Event} event
- */
-WebInspector.populateHrefContextMenu = function(contextMenu, contextNode, event)
-{
- var anchorElement = event.target.enclosingNodeOrSelfWithClass("webkit-html-resource-link") || event.target.enclosingNodeOrSelfWithClass("webkit-html-external-link");
- if (!anchorElement)
- return false;
-
- var resourceURL = WebInspector.resourceURLForRelatedNode(contextNode, anchorElement.href);
- if (!resourceURL)
- return false;
-
- // Add resource-related actions.
- contextMenu.appendItem(WebInspector.openLinkExternallyLabel(), WebInspector.openResource.bind(WebInspector, resourceURL, false));
- if (WebInspector.resourceForURL(resourceURL))
- contextMenu.appendItem(WebInspector.UIString(WebInspector.useLowerCaseMenuTitles() ? "Open link in Resources panel" : "Open Link in Resources Panel"), WebInspector.openResource.bind(null, resourceURL, true));
- contextMenu.appendItem(WebInspector.copyLinkAddressLabel(), InspectorFrontendHost.copyText.bind(InspectorFrontendHost, resourceURL));
- return true;
-}
-
WebInspector._coalescingLevel = 0;
WebInspector.startBatchUpdate = function()
diff --git a/Source/WebCore/inspector/front-end/WebGLProfileView.js b/Source/WebCore/inspector/front-end/WebGLProfileView.js
new file mode 100644
index 000000000..a504f63ee
--- /dev/null
+++ b/Source/WebCore/inspector/front-end/WebGLProfileView.js
@@ -0,0 +1,278 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+/**
+ * @constructor
+ * @extends {WebInspector.View}
+ */
+WebInspector.WebGLProfileView = function(profile)
+{
+ WebInspector.View.call(this);
+ this.registerRequiredCSS("webGLProfiler.css");
+ this._profile = profile;
+ this.element.addStyleClass("webgl-profile-view");
+
+ this._traceLogElement = document.createElement("div");
+ this._traceLogElement.className = "webgl-trace-log";
+ this._traceLogElement.addEventListener("click", this._onTraceLogItemClick.bind(this), false);
+ this.element.appendChild(this._traceLogElement);
+
+ var replayImageContainer = document.createElement("div");
+ replayImageContainer.id = "webgl-replay-image-container";
+ this.element.appendChild(replayImageContainer);
+
+ this._replayImageElement = document.createElement("image");
+ this._replayImageElement.id = "webgl-replay-image";
+ replayImageContainer.appendChild(this._replayImageElement);
+
+ this._debugInfoElement = document.createElement("div");
+ replayImageContainer.appendChild(this._debugInfoElement);
+
+ this._linkifier = new WebInspector.Linkifier();
+
+ this._showTraceLog();
+}
+
+WebInspector.WebGLProfileView.prototype = {
+ dispose: function()
+ {
+ this._linkifier.reset();
+ WebGLAgent.dropTraceLog(this._profile.traceLogId());
+ },
+
+ get statusBarItems()
+ {
+ return [];
+ },
+
+ get profile()
+ {
+ return this._profile;
+ },
+
+ wasShown: function()
+ {
+ var scrollPosition = this._traceLogElementScrollPosition;
+ delete this._traceLogElementScrollPosition;
+ if (scrollPosition) {
+ this._traceLogElement.scrollTop = scrollPosition.top;
+ this._traceLogElement.scrollLeft = scrollPosition.left;
+ }
+ },
+
+ willHide: function()
+ {
+ this._traceLogElementScrollPosition = {
+ top: this._traceLogElement.scrollTop,
+ left: this._traceLogElement.scrollLeft
+ };
+ },
+
+ _showTraceLog: function()
+ {
+ function didReceiveTraceLog(error, traceLog)
+ {
+ this._traceLogElement.innerHTML = "";
+ if (!traceLog)
+ return;
+ var calls = traceLog.calls;
+ for (var i = 0, n = calls.length; i < n; ++i) {
+ var call = calls[i];
+ var traceLogItem = document.createElement("div");
+ traceLogItem.traceLogId = traceLog.id;
+ traceLogItem.stepNo = i;
+ traceLogItem.appendChild(document.createTextNode("(" + (i+1) + ") "));
+
+ if (call.sourceURL) {
+ // FIXME(62725): stack trace line/column numbers are one-based.
+ var lineNumber = Math.max(0, call.lineNumber - 1) || 0;
+ var columnNumber = Math.max(0, call.columnNumber - 1) || 0;
+ var linkElement = this._linkifier.linkifyLocation(call.sourceURL, lineNumber, columnNumber);
+ linkElement.textContent = call.functionName;
+ traceLogItem.appendChild(linkElement);
+ } else
+ traceLogItem.appendChild(document.createTextNode(call.functionName));
+
+ traceLogItem.appendChild(document.createTextNode("(" + call.arguments.join(", ") + ")"));
+ if (typeof call.result !== "undefined")
+ traceLogItem.appendChild(document.createTextNode(" => " + call.result));
+ this._traceLogElement.appendChild(traceLogItem);
+ }
+ }
+ WebGLAgent.getTraceLog(this._profile.traceLogId(), didReceiveTraceLog.bind(this));
+ },
+
+ _onTraceLogItemClick: function(e)
+ {
+ var item = e.target;
+ if (!item || !item.traceLogId)
+ return;
+ var time = Date.now();
+ function didReplayTraceLog(error, dataURL)
+ {
+ this._debugInfoElement.textContent = "Replay time: " + (Date.now() - time) + "ms";
+ if (this._activeTraceLogItem)
+ this._activeTraceLogItem.style.backgroundColor = "";
+ this._activeTraceLogItem = item;
+ this._activeTraceLogItem.style.backgroundColor = "yellow";
+ this._replayImageElement.src = dataURL;
+ }
+ WebGLAgent.replayTraceLog(item.traceLogId, item.stepNo, didReplayTraceLog.bind(this));
+ }
+}
+
+WebInspector.WebGLProfileView.prototype.__proto__ = WebInspector.View.prototype;
+
+/**
+ * @constructor
+ * @extends {WebInspector.ProfileType}
+ */
+WebInspector.WebGLProfileType = function()
+{
+ WebInspector.ProfileType.call(this, WebInspector.WebGLProfileType.TypeId, WebInspector.UIString("Capture WebGL Frame"));
+ this._nextProfileUid = 1;
+ // FIXME: enable/disable by a UI action?
+ WebGLAgent.enable();
+}
+
+WebInspector.WebGLProfileType.TypeId = "WEBGL_PROFILE";
+
+WebInspector.WebGLProfileType.prototype = {
+ get buttonTooltip()
+ {
+ return WebInspector.UIString("Capture WebGL frame.");
+ },
+
+ /**
+ * @override
+ * @param {WebInspector.ProfilesPanel} profilesPanel
+ * @return {boolean}
+ */
+ buttonClicked: function(profilesPanel)
+ {
+ var profileHeader = new WebInspector.WebGLProfileHeader(this, WebInspector.UIString("Trace Log %d", this._nextProfileUid), this._nextProfileUid);
+ ++this._nextProfileUid;
+ profileHeader.isTemporary = true;
+ profilesPanel.addProfileHeader(profileHeader);
+ function didStartCapturingFrame(error, traceLogId)
+ {
+ profileHeader._traceLogId = traceLogId;
+ profileHeader.isTemporary = false;
+ }
+ WebGLAgent.captureFrame(didStartCapturingFrame.bind(this));
+ return false;
+ },
+
+ get treeItemTitle()
+ {
+ return WebInspector.UIString("WEBGL PROFILE");
+ },
+
+ get description()
+ {
+ return WebInspector.UIString("WebGL calls instrumentation");
+ },
+
+ /**
+ * @override
+ */
+ reset: function()
+ {
+ this._nextProfileUid = 1;
+ },
+
+ /**
+ * @override
+ * @param {string=} title
+ * @return {WebInspector.ProfileHeader}
+ */
+ createTemporaryProfile: function(title)
+ {
+ title = title || WebInspector.UIString("Capturing\u2026");
+ return new WebInspector.WebGLProfileHeader(this, title);
+ },
+
+ /**
+ * @override
+ * @param {ProfilerAgent.ProfileHeader} profile
+ * @return {WebInspector.ProfileHeader}
+ */
+ createProfile: function(profile)
+ {
+ return new WebInspector.WebGLProfileHeader(this, profile.title, -1);
+ }
+}
+
+WebInspector.WebGLProfileType.prototype.__proto__ = WebInspector.ProfileType.prototype;
+
+/**
+ * @constructor
+ * @extends {WebInspector.ProfileHeader}
+ * @param {WebInspector.WebGLProfileType} type
+ * @param {string} title
+ * @param {number=} uid
+ */
+WebInspector.WebGLProfileHeader = function(type, title, uid)
+{
+ WebInspector.ProfileHeader.call(this, type, title, uid);
+
+ /**
+ * @type {string?}
+ */
+ this._traceLogId = null;
+}
+
+WebInspector.WebGLProfileHeader.prototype = {
+ /**
+ * @return {string?}
+ */
+ traceLogId: function() {
+ return this._traceLogId;
+ },
+
+ /**
+ * @override
+ */
+ createSidebarTreeElement: function()
+ {
+ return new WebInspector.ProfileSidebarTreeElement(this, WebInspector.UIString("Trace Log %d"), "profile-sidebar-tree-item");
+ },
+
+ /**
+ * @override
+ * @param {WebInspector.ProfilesPanel} profilesPanel
+ */
+ createView: function(profilesPanel)
+ {
+ return new WebInspector.WebGLProfileView(this);
+ }
+}
+
+WebInspector.WebGLProfileHeader.prototype.__proto__ = WebInspector.ProfileHeader.prototype;
diff --git a/Source/WebCore/inspector/front-end/WebKit.qrc b/Source/WebCore/inspector/front-end/WebKit.qrc
index b19fbe25c..75b891427 100644
--- a/Source/WebCore/inspector/front-end/WebKit.qrc
+++ b/Source/WebCore/inspector/front-end/WebKit.qrc
@@ -57,6 +57,7 @@
<file>DOMSyntaxHighlighter.js</file>
<file>Drawer.js</file>
<file>ElementsPanel.js</file>
+ <file>ElementsPanelDescriptor.js</file>
<file>ElementsTreeOutline.js</file>
<file>EmptyView.js</file>
<file>EventListenersSidebarPane.js</file>
@@ -93,7 +94,6 @@
<file>InspectorFrontendAPI.js</file>
<file>InspectorFrontendHostStub.js</file>
<file>InspectorView.js</file>
- <file>JavaScriptContextManager.js</file>
<file>JavaScriptFormatter.js</file>
<file>JavaScriptSource.js</file>
<file>JavaScriptSourceFrame.js</file>
@@ -108,6 +108,7 @@
<file>NavigatorView.js</file>
<file>NetworkItemView.js</file>
<file>NetworkLog.js</file>
+ <file>NetworkUISourceCodeProvider.js</file>
<file>NetworkManager.js</file>
<file>NetworkPanel.js</file>
<file>NetworkPanelDescriptor.js</file>
@@ -127,7 +128,6 @@
<file>ProgressBar.js</file>
<file>PropertiesSection.js</file>
<file>PropertiesSidebarPane.js</file>
- <file>RawSourceCode.js</file>
<file>RemoteObject.js</file>
<file>Resource.js</file>
<file>RequestCookiesView.js</file>
@@ -146,6 +146,7 @@
<file>ResourceWebSocketFrameView.js</file>
<file>ResourcesPanel.js</file>
<file>RevisionHistoryView.js</file>
+ <file>RuntimeModel.js</file>
<file>SASSSourceMapping.js</file>
<file>ScopeChainSidebarPane.js</file>
<file>Script.js</file>
@@ -179,6 +180,7 @@
<file>StatusBarButton.js</file>
<file>StyleSheetOutlineDialog.js</file>
<file>StyleSource.js</file>
+ <file>StylesSourceMapping.js</file>
<file>StylesSidebarPane.js</file>
<file>TabbedEditorContainer.js</file>
<file>TabbedPane.js</file>
@@ -206,6 +208,7 @@
<file>utilities.js</file>
<file>View.js</file>
<file>WatchExpressionsSidebarPane.js</file>
+ <file>WebGLProfileView.js</file>
<file>WorkerManager.js</file>
<file>WorkersSidebarPane.js</file>
<file>Workspace.js</file>
@@ -239,6 +242,7 @@
<file>textEditor.css</file>
<file>textPrompt.css</file>
<file>timelinePanel.css</file>
+ <file>webGLProfiler.css</file>
<file>Images/applicationCache.png</file>
<file>Images/back.png</file>
<file>Images/breakpointBorder.png</file>
@@ -330,6 +334,7 @@
<file>Images/splitviewDimple.png</file>
<file>Images/splitviewDividerBackground.png</file>
<file>Images/statusbarButtonGlyphs.png</file>
+ <file>Images/statusbarButtonGlyphs2x.png</file>
<file>Images/statusbarResizerHorizontal.png</file>
<file>Images/statusbarResizerVertical.png</file>
<file>Images/successGreenDot.png</file>
diff --git a/Source/WebCore/inspector/front-end/WorkerManager.js b/Source/WebCore/inspector/front-end/WorkerManager.js
index ec295d449..9d14da9b9 100644
--- a/Source/WebCore/inspector/front-end/WorkerManager.js
+++ b/Source/WebCore/inspector/front-end/WorkerManager.js
@@ -161,10 +161,16 @@ WebInspector.WorkerManager.prototype = {
_openInspectorWindow: function(workerId, workerIsPaused)
{
- var url = window.location.href + "&dedicatedWorkerId=" + workerId;
+ var search = window.location.search;
+ var hash = window.location.hash;
+ var url = window.location.href;
+ // Make sure hash is in rear
+ url = url.replace(hash, "");
+ url += (search ? "&dedicatedWorkerId=" : "?dedicatedWorkerId=") + workerId;
if (workerIsPaused)
url += "&workerPaused=true";
url = url.replace("docked=true&", "");
+ url += hash;
// Set location=0 just to make sure the front-end will be opened in a separate window, not in new tab.
var workerInspectorWindow = window.open(url, undefined, "location=0");
this._workerIdToWindow[workerId] = workerInspectorWindow;
diff --git a/Source/WebCore/inspector/front-end/Workspace.js b/Source/WebCore/inspector/front-end/Workspace.js
index 40da8dd29..05087c8d5 100644
--- a/Source/WebCore/inspector/front-end/Workspace.js
+++ b/Source/WebCore/inspector/front-end/Workspace.js
@@ -30,57 +30,72 @@
/**
* @constructor
- * @extends {WebInspector.Object}
- * @implements {WebInspector.UISourceCodeProvider}
- * @param {Array.<WebInspector.UISourceCodeProvider>} uiSourceCodeProviders
*/
-WebInspector.CompositeUISourceCodeProvider = function(uiSourceCodeProviders)
+WebInspector.WorkspaceController = function(workspace)
{
- WebInspector.Object.call(this);
- this._uiSourceCodeProviders = [];
- for (var i = 0; i < uiSourceCodeProviders.length; ++i)
- this._registerUISourceCodeProvider(uiSourceCodeProviders[i]);
+ this._workspace = workspace;
+ WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._mainFrameNavigated, this);
}
-WebInspector.CompositeUISourceCodeProvider.prototype = {
- /**
- * @param {WebInspector.UISourceCodeProvider} uiSourceCodeProvider
- */
- _registerUISourceCodeProvider: function(uiSourceCodeProvider)
+WebInspector.WorkspaceController.prototype = {
+ _mainFrameNavigated: function()
{
- this._uiSourceCodeProviders.push(uiSourceCodeProvider);
- uiSourceCodeProvider.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, this._handleUISourceCodeAdded, this);
- uiSourceCodeProvider.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeReplaced, this._handleUISourceCodeReplaced, this);
- uiSourceCodeProvider.addEventListener(WebInspector.UISourceCodeProvider.Events.UISourceCodeRemoved, this._handleUISourceCodeRemoved, this);
- },
+ WebInspector.Revision.filterOutStaleRevisions();
+ this._workspace.dispatchEventToListeners(WebInspector.Workspace.Events.ProjectWillReset, this._workspace.project());
+ this._workspace.project().reset();
+ this._workspace.dispatchEventToListeners(WebInspector.Workspace.Events.ProjectDidReset, this._workspace.project());
+ }
+}
+
+/**
+ * @type {?WebInspector.WorkspaceController}
+ */
+WebInspector.workspaceController = null;
- _handleUISourceCodeAdded: function(event)
+/**
+ * @constructor
+ */
+WebInspector.Project = function(workspace)
+{
+ this._uiSourceCodes = [];
+ this._workspace = workspace;
+}
+
+WebInspector.Project.prototype = {
+ reset: function()
{
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, event.data);
+ this._uiSourceCodes = [];
},
/**
- * @param {WebInspector.Event} event
+ * @param {WebInspector.UISourceCode} uiSourceCode
*/
- _handleUISourceCodeReplaced: function(event)
+ addUISourceCode: function(uiSourceCode)
{
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeReplaced, event.data);
+ this._uiSourceCodes.push(uiSourceCode);
+ this._workspace.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeAdded, uiSourceCode);
},
/**
- * @param {WebInspector.Event} event
+ * @param {WebInspector.UISourceCode} oldUISourceCode
+ * @param {WebInspector.UISourceCode} uiSourceCode
*/
- _handleUISourceCodeRemoved: function(event)
+ replaceUISourceCode: function(oldUISourceCode, uiSourceCode)
{
- this.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeRemoved, event.data);
+ this._uiSourceCodes.splice(this._uiSourceCodes.indexOf(oldUISourceCode), 1);
+ if (this._uiSourceCodes.indexOf(uiSourceCode) === -1)
+ this._uiSourceCodes.push(uiSourceCode);
+ var data = { oldUISourceCode: oldUISourceCode, uiSourceCode: uiSourceCode };
+ this._workspace.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeReplaced, data);
},
/**
- * @return {Array.<WebInspector.UISourceCodeProvider>}
+ * @param {WebInspector.UISourceCode} uiSourceCode
*/
- uiSourceCodeProviders: function()
+ removeUISourceCode: function(uiSourceCode)
{
- return this._uiSourceCodeProviders.slice(0);
+ this._uiSourceCodes.splice(this._uiSourceCodes.indexOf(uiSourceCode), 1);
+ this._workspace.dispatchEventToListeners(WebInspector.UISourceCodeProvider.Events.UISourceCodeRemoved, uiSourceCode);
},
/**
@@ -89,12 +104,9 @@ WebInspector.CompositeUISourceCodeProvider.prototype = {
*/
uiSourceCodeForURL: function(url)
{
- for (var i = 0; i < this._uiSourceCodeProviders.length; ++i) {
- var uiSourceCodes = this._uiSourceCodeProviders[i].uiSourceCodes();
- for (var j = 0; j < uiSourceCodes.length; ++j) {
- if (uiSourceCodes[j].url === url)
- return uiSourceCodes[j];
- }
+ for (var i = 0; i < this._uiSourceCodes.length; ++i) {
+ if (this._uiSourceCodes[i].url === url)
+ return this._uiSourceCodes[i];
}
return null;
},
@@ -104,63 +116,55 @@ WebInspector.CompositeUISourceCodeProvider.prototype = {
*/
uiSourceCodes: function()
{
- var result = [];
- for (var i = 0; i < this._uiSourceCodeProviders.length; ++i) {
- var uiSourceCodes = this._uiSourceCodeProviders[i].uiSourceCodes();
- for (var j = 0; j < uiSourceCodes.length; ++j)
- result.push(uiSourceCodes[j]);
- }
- return result;
+ return this._uiSourceCodes;
}
}
-WebInspector.CompositeUISourceCodeProvider.prototype.__proto__ = WebInspector.Object.prototype;
-
/**
* @constructor
- * @extends {WebInspector.CompositeUISourceCodeProvider}
+ * @implements {WebInspector.UISourceCodeProvider}
+ * @extends {WebInspector.Object}
*/
WebInspector.Workspace = function()
{
- var scriptMapping = new WebInspector.DebuggerScriptMapping();
- var styleProviders = [new WebInspector.StylesUISourceCodeProvider()];
- if (WebInspector.experimentsSettings.sass.isEnabled())
- styleProviders.push(new WebInspector.SASSSourceMapping());
- var providers = scriptMapping.uiSourceCodeProviders().concat(styleProviders);
- WebInspector.CompositeUISourceCodeProvider.call(this, providers);
-
- new WebInspector.PresentationConsoleMessageHelper(this);
-
- WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.MainFrameNavigated, this._reset, this);
- WebInspector.resourceTreeModel.addEventListener(WebInspector.ResourceTreeModel.EventTypes.CachedResourcesLoaded, this._reset, this);
+ this._project = new WebInspector.Project(this);
}
WebInspector.Workspace.Events = {
- UISourceCodeContentCommitted: "uiSourceCodeContentCommitted",
- WorkspaceReset: "WorkspaceReset"
+ UISourceCodeContentCommitted: "UISourceCodeContentCommitted",
+ ProjectWillReset: "ProjectWillReset",
+ ProjectDidReset: "ProjectDidReset"
}
WebInspector.Workspace.prototype = {
/**
- * @param {WebInspector.UISourceCodeProvider} uiSourceCodeProvider
+ * @param {string} url
+ * @return {?WebInspector.UISourceCode}
*/
- registerUISourceCodeProvider: function(uiSourceCodeProvider)
+ uiSourceCodeForURL: function(url)
{
- this._registerUISourceCodeProvider(uiSourceCodeProvider);
+ return this._project.uiSourceCodeForURL(url);
},
- _reset: function()
+ /**
+ * @return {WebInspector.Project}
+ */
+ project: function()
{
- var uiSourceCodeProviders = this.uiSourceCodeProviders();
- for (var i = 0; i < uiSourceCodeProviders.length; ++i) {
- uiSourceCodeProviders[i].reset();
- }
- WebInspector.Revision.filterOutStaleRevisions();
- this.dispatchEventToListeners(WebInspector.Workspace.Events.WorkspaceReset, null);
+ // FIXME: support several projects.
+ return this._project;
+ },
+
+ /**
+ * @return {Array.<WebInspector.UISourceCode>}
+ */
+ uiSourceCodes: function()
+ {
+ return this._project.uiSourceCodes();
}
}
-WebInspector.Workspace.prototype.__proto__ = WebInspector.CompositeUISourceCodeProvider.prototype;
+WebInspector.Workspace.prototype.__proto__ = WebInspector.Object.prototype;
/**
* @type {?WebInspector.Workspace}
diff --git a/Source/WebCore/inspector/front-end/filteredItemSelectionDialog.css b/Source/WebCore/inspector/front-end/filteredItemSelectionDialog.css
index bea008c44..36510712a 100644
--- a/Source/WebCore/inspector/front-end/filteredItemSelectionDialog.css
+++ b/Source/WebCore/inspector/front-end/filteredItemSelectionDialog.css
@@ -28,7 +28,13 @@
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
- color: rgb(105, 105, 105);
+ color: rgb(95, 95, 95);
+}
+
+.js-outline-dialog span.subtitle {
+ color: rgb(155, 155, 155);
+ padding-right: 2px;
+ float: right;
}
.js-outline-dialog > .container > div.item.selected {
diff --git a/Source/WebCore/inspector/front-end/heapProfiler.css b/Source/WebCore/inspector/front-end/heapProfiler.css
index 8a8b49284..73d5365b3 100644
--- a/Source/WebCore/inspector/front-end/heapProfiler.css
+++ b/Source/WebCore/inspector/front-end/heapProfiler.css
@@ -217,8 +217,9 @@ body.inactive .heap-snapshot-sidebar-tree-item.wait.selected .icon {
}
.heap-snapshot-view .retainers-view-header {
- background-image: url(Images/statusbarResizerVertical.png), url(Images/statusbarBackground.png);
- background-repeat: no-repeat, repeat-x;
+ background-image: url(Images/statusbarResizerVertical.png), -webkit-linear-gradient(rgb(253,253,253), rgb(230,230,230) 75%, rgb(230,230,230));
+ border-top: 1px solid rgb(202, 202, 202);
+ background-repeat: no-repeat;
background-position: right center, center;
cursor: row-resize;
height: 23px;
diff --git a/Source/WebCore/inspector/front-end/inspector.css b/Source/WebCore/inspector/front-end/inspector.css
index 0f69372cd..fd07c43b9 100644
--- a/Source/WebCore/inspector/front-end/inspector.css
+++ b/Source/WebCore/inspector/front-end/inspector.css
@@ -544,7 +544,6 @@ body.drawer-visible #main-panels {
display: inline-block;
pointer-events: auto;
cursor: default;
- -webkit-flex: 0;
height: 24px;
padding: 0;
margin-left: -1px;
@@ -611,9 +610,16 @@ body.drawer-visible #floating-status-bar-container {
background-color: rgba(0, 0, 0, 0.75);
-webkit-mask-image: url(Images/statusbarButtonGlyphs.png);
-webkit-mask-position: -288px -48px;
+ -webkit-mask-size: 320px 72px;
z-index: 1;
}
+@media (-webkit-min-device-pixel-ratio: 1.5) {
+.long-click-glyph {
+ -webkit-mask-image: url(Images/statusbarButtonGlyphs2x.png);
+}
+}
+
.long-click-glyph.shadow {
top: 1px;
background-color: white !important;
@@ -688,6 +694,13 @@ select.status-bar-item, select.status-bar-item:hover {
.status-bar-item > .glyph {
-webkit-mask-image: url(Images/statusbarButtonGlyphs.png);
+ -webkit-mask-size: 320px 72px;
+}
+
+@media (-webkit-min-device-pixel-ratio: 1.5) {
+.status-bar-item > .glyph {
+ -webkit-mask-image: url(Images/statusbarButtonGlyphs2x.png);
+}
}
button.dock-status-bar-item.status-bar-item.toggled-undock .glyph {
diff --git a/Source/WebCore/inspector/front-end/inspector.html b/Source/WebCore/inspector/front-end/inspector.html
index 1b08cfd8d..cb9b8e86b 100644
--- a/Source/WebCore/inspector/front-end/inspector.html
+++ b/Source/WebCore/inspector/front-end/inspector.html
@@ -107,6 +107,9 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="TextEditor.js"></script>
<script type="text/javascript" src="DefaultTextEditor.js"></script>
<script type="text/javascript" src="SourceFrame.js"></script>
+ <script type="text/javascript" src="ResourceView.js"></script>
+ <script type="text/javascript" src="FontView.js"></script>
+ <script type="text/javascript" src="ImageView.js"></script>
<script type="text/javascript" src="SplitView.js"></script>
<script type="text/javascript" src="ConsolePanel.js"></script>
<script type="text/javascript" src="ExtensionAPI.js"></script>
@@ -136,7 +139,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="Workspace.js"></script>
<script type="text/javascript" src="BreakpointManager.js"></script>
<script type="text/javascript" src="ContentProviders.js"></script>
- <script type="text/javascript" src="RawSourceCode.js"></script>
<script type="text/javascript" src="ResourceScriptMapping.js"></script>
<script type="text/javascript" src="CompilerScriptMapping.js"></script>
<script type="text/javascript" src="SASSSourceMapping.js"></script>
@@ -153,12 +155,15 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
<script type="text/javascript" src="SearchController.js"></script>
<script type="text/javascript" src="WorkerManager.js"></script>
<script type="text/javascript" src="UserMetrics.js"></script>
- <script type="text/javascript" src="JavaScriptContextManager.js"></script>
+ <script type="text/javascript" src="RuntimeModel.js"></script>
<script type="text/javascript" src="HandlerRegistry.js"></script>
<script type="text/javascript" src="SnippetStorage.js"></script>
<script type="text/javascript" src="ScriptSnippetModel.js"></script>
<script type="text/javascript" src="ProgressBar.js"></script>
+ <script type="text/javascript" src="StylesSourceMapping.js"></script>
<script type="text/javascript" src="StyleSource.js"></script>
+ <script type="text/javascript" src="NetworkUISourceCodeProvider.js"></script>
+ <script type="text/javascript" src="ElementsPanelDescriptor.js"></script>
<script type="text/javascript" src="NetworkPanelDescriptor.js"></script>
<script type="text/javascript" src="ScriptsPanelDescriptor.js"></script>
</head>
diff --git a/Source/WebCore/inspector/front-end/inspector.js b/Source/WebCore/inspector/front-end/inspector.js
index 28dfa2eee..ffc1f7b35 100644
--- a/Source/WebCore/inspector/front-end/inspector.js
+++ b/Source/WebCore/inspector/front-end/inspector.js
@@ -37,7 +37,7 @@ var WebInspector = {
WebInspector.inspectorView.show(parentElement);
WebInspector.inspectorView.addEventListener(WebInspector.InspectorView.Events.PanelSelected, this._panelSelected, this);
- var elements = new WebInspector.PanelDescriptor("elements", WebInspector.UIString("Elements"), "ElementsPanel", "ElementsPanel.js");
+ var elements = new WebInspector.ElementsPanelDescriptor();
var resources = new WebInspector.PanelDescriptor("resources", WebInspector.UIString("Resources"), "ResourcesPanel", "ResourcesPanel.js");
var network = new WebInspector.NetworkPanelDescriptor();
var scripts = new WebInspector.ScriptsPanelDescriptor();
@@ -58,7 +58,7 @@ var WebInspector = {
var allDescriptors = [elements, resources, network, scripts, timeline, profiles, audits, console];
var hiddenPanels = InspectorFrontendHost.hiddenPanels();
for (var i = 0; i < allDescriptors.length; ++i) {
- if (hiddenPanels.indexOf(allDescriptors[i].name) === -1)
+ if (hiddenPanels.indexOf(allDescriptors[i].name()) === -1)
panelDescriptors.push(allDescriptors[i]);
}
return panelDescriptors;
@@ -484,7 +484,6 @@ WebInspector._doLoadedDoneWithCapabilities = function()
WebInspector.CSSCompletions.requestCSSNameCompletions();
this.drawer = new WebInspector.Drawer();
- this.consoleView = new WebInspector.ConsoleView(WebInspector.WorkerManager.isWorkerFrontend());
this.networkManager = new WebInspector.NetworkManager();
this.resourceTreeModel = new WebInspector.ResourceTreeModel(this.networkManager);
@@ -492,9 +491,9 @@ WebInspector._doLoadedDoneWithCapabilities = function()
this.debuggerModel.addEventListener(WebInspector.DebuggerModel.Events.DebuggerPaused, this._debuggerPaused, this);
this.networkLog = new WebInspector.NetworkLog();
this.domAgent = new WebInspector.DOMAgent();
- this.javaScriptContextManager = new WebInspector.JavaScriptContextManager(this.resourceTreeModel, this.consoleView);
+ this.runtimeModel = new WebInspector.RuntimeModel(this.resourceTreeModel);
- this.scriptSnippetModel = new WebInspector.ScriptSnippetModel();
+ this.consoleView = new WebInspector.ConsoleView(WebInspector.WorkerManager.isWorkerFrontend());
InspectorBackend.registerInspectorDispatcher(this);
@@ -518,8 +517,19 @@ WebInspector._doLoadedDoneWithCapabilities = function()
this.openAnchorLocationRegistry.registerHandler(autoselectPanel, function() { return false; });
this.workspace = new WebInspector.Workspace();
+ this.workspaceController = new WebInspector.WorkspaceController(this.workspace);
+
this.breakpointManager = new WebInspector.BreakpointManager(WebInspector.settings.breakpoints, this.debuggerModel, this.workspace);
+ this.scriptSnippetModel = new WebInspector.ScriptSnippetModel(this.workspace);
+ new WebInspector.DebuggerScriptMapping(this.workspace);
+ new WebInspector.NetworkUISourceCodeProvider(this.workspace);
+ new WebInspector.StylesSourceMapping(this.workspace);
+ if (WebInspector.experimentsSettings.sass.isEnabled())
+ new WebInspector.SASSSourceMapping(this.workspace);
+
+ new WebInspector.PresentationConsoleMessageHelper(this.workspace);
+
this._createGlobalStatusBarItems();
WebInspector._installDockToRight();
@@ -1084,9 +1094,4 @@ WebInspector.addMainEventListeners = function(doc)
doc.addEventListener("click", this.documentClick.bind(this), true);
}
-WebInspector.frontendReused = function()
-{
- this.resourceTreeModel.frontendReused();
-}
-
WebInspector.ProfileURLRegExp = /webkit-profile:\/\/(.+)\/(.+)#([0-9]+)/;
diff --git a/Source/WebCore/inspector/front-end/inspectorSyntaxHighlight.css b/Source/WebCore/inspector/front-end/inspectorSyntaxHighlight.css
index 748631e11..81897d8d4 100644
--- a/Source/WebCore/inspector/front-end/inspectorSyntaxHighlight.css
+++ b/Source/WebCore/inspector/front-end/inspectorSyntaxHighlight.css
@@ -46,7 +46,7 @@
color: black;
}
-.webkit-css-important {
+.webkit-css-bang-keyword {
color: rgb(200, 0, 180);
}
diff --git a/Source/WebCore/inspector/front-end/scriptsPanel.css b/Source/WebCore/inspector/front-end/scriptsPanel.css
index 3ece7eb1f..cf45abfe5 100644
--- a/Source/WebCore/inspector/front-end/scriptsPanel.css
+++ b/Source/WebCore/inspector/front-end/scriptsPanel.css
@@ -116,9 +116,16 @@
.toggle-breakpoints .glyph {
-webkit-mask-image: url(Images/statusbarButtonGlyphs.png);
-webkit-mask-position: -32px 0;
+ -webkit-mask-size: 320px 72px;
background-color: rgb(96, 96, 96) !important;
}
+@media (-webkit-min-device-pixel-ratio: 1.5) {
+.toggle-breakpoints .glyph {
+ -webkit-mask-image: url(Images/statusbarButtonGlyphs2x.png);
+}
+}
+
.toggle-breakpoints.toggled-on .glyph {
-webkit-mask-position: 0 -24px;
}
@@ -157,8 +164,9 @@
.status-bar-item.scripts-navigator-show-hide-button > .glyph {
background-color: rgba(0, 0, 0, 0.5);
- -webkit-mask-position: 0 0;
-webkit-mask-image: url(Images/navigatorShowHideButton.png);
+ -webkit-mask-position: 0 0;
+ -webkit-mask-size: 48px 32px;
}
.status-bar-item.scripts-navigator-show-hide-button.toggled-pinned > .glyph {
@@ -258,7 +266,6 @@ button.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay
button.status-bar-item.scripts-debugger-show-hide-button {
position: absolute;
top: 0;
- right: 16px;
background-image: none;
height: 16px;
width: 16px;
@@ -268,19 +275,35 @@ button.status-bar-item.scripts-debugger-show-hide-button {
button.status-bar-item.scripts-debugger-show-hide-button:active {
top: 1px;
- right: 15px;
}
.status-bar-item.scripts-debugger-show-hide-button > .glyph {
background-color: rgba(0, 0, 0, 0.5);
- -webkit-mask-position: 0 0;
-webkit-mask-image: url(Images/navigatorShowHideButton.png);
+ -webkit-mask-position: 0 0;
+ -webkit-mask-size: 48px 32px;
+}
+
+button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown {
+ right: 16px;
+}
+
+button.status-bar-item.scripts-debugger-show-hide-button.toggled-shown:active {
+ right: 15px;
}
.status-bar-item.scripts-debugger-show-hide-button.toggled-shown > .glyph {
-webkit-mask-position: 0 -16px;
}
+button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden {
+ right: 1px;
+}
+
+button.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden:active {
+ right: 0px;
+}
+
.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden > .glyph {
-webkit-mask-position: -16px -16px;
}
diff --git a/Source/WebCore/inspector/front-end/timelinePanel.css b/Source/WebCore/inspector/front-end/timelinePanel.css
index f5381bcc4..c9dfabe2b 100644
--- a/Source/WebCore/inspector/front-end/timelinePanel.css
+++ b/Source/WebCore/inspector/front-end/timelinePanel.css
@@ -271,6 +271,17 @@
background-color: rgba(0, 0, 0, 0.05);
}
+.timeline-tree-item.warning::after,
+.timeline-tree-item.child-warning::after {
+ content: url(Images/warningIcon.png);
+ float: right;
+ padding-top: 1px;
+}
+
+.timeline-tree-item.child-warning::after {
+ opacity: 0.5;
+}
+
.timeline-tree-item .data.dimmed {
color: rgba(0, 0, 0, 0.7);
}
@@ -475,9 +486,16 @@
margin-left: 0;
margin-right: 0;
-webkit-mask-image: url(Images/statusbarButtonGlyphs.png);
+ -webkit-mask-size: 320px 72px;
background-color: black;
}
+@media (-webkit-min-device-pixel-ratio: 1.5) {
+#timeline-overview-sidebar .icon {
+ -webkit-mask-image: url(Images/statusbarButtonGlyphs2x.png);
+}
+}
+
.timeline-overview-sidebar-events .icon {
-webkit-mask-position: -192px -48px;
}
diff --git a/Source/WebCore/inspector/front-end/utilities.js b/Source/WebCore/inspector/front-end/utilities.js
index bba9a95a4..26bf47ef8 100644
--- a/Source/WebCore/inspector/front-end/utilities.js
+++ b/Source/WebCore/inspector/front-end/utilities.js
@@ -133,6 +133,15 @@ String.prototype.trimURL = function(baseURLDomain)
return result;
}
+/**
+ * @param {string} href
+ * @return {string}
+ */
+function sanitizeHref(href)
+{
+ return href && href.trim().toLowerCase().startsWith("javascript:") ? "" : href;
+}
+
String.prototype.removeURLFragment = function()
{
var fragmentIndex = this.indexOf("#");
@@ -675,6 +684,7 @@ function numberToStringWithSpacesPadding(value, symbolsCount)
var Map = function()
{
this._map = {};
+ this._size = 0;
}
Map._lastObjectIdentifier = 0;
@@ -690,6 +700,8 @@ Map.prototype = {
objectIdentifier = ++Map._lastObjectIdentifier;
key.__identifier = objectIdentifier;
}
+ if (!this._map[objectIdentifier])
+ ++this._size;
this._map[objectIdentifier] = [key, value];
},
@@ -700,6 +712,7 @@ Map.prototype = {
{
var result = this._map[key.__identifier];
delete this._map[key.__identifier];
+ --this._size;
return result ? result[1] : undefined;
},
@@ -721,9 +734,10 @@ Map.prototype = {
*/
_list: function(index)
{
- var result = [];
+ var result = new Array(this._size);
+ var i = 0;
for (var objectIdentifier in this._map)
- result.push(this._map[objectIdentifier][index]);
+ result[i++] = this._map[objectIdentifier][index];
return result;
},
@@ -735,10 +749,16 @@ Map.prototype = {
var entry = this._map[key.__identifier];
return entry ? entry[1] : undefined;
},
-
+
+ size: function()
+ {
+ return this._size;
+ },
+
clear: function()
{
this._map = {};
+ this._size = 0;
}
}
/**
diff --git a/Source/WebCore/inspector/front-end/webGLProfiler.css b/Source/WebCore/inspector/front-end/webGLProfiler.css
new file mode 100644
index 000000000..ba1681a63
--- /dev/null
+++ b/Source/WebCore/inspector/front-end/webGLProfiler.css
@@ -0,0 +1,67 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+.webgl-profile-view {
+ overflow: hidden;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
+.webgl-trace-log {
+ position: absolute;
+ top: 10px;
+ left: 0;
+ bottom: 10px;
+ font-size: 13px;
+ overflow: auto;
+ white-space: nowrap;
+ padding: 0 20px;
+}
+
+.webgl-trace-log div {
+ padding-bottom: 4px;
+}
+
+#webgl-replay-image-container {
+ position: absolute;
+ right: 0;
+ top: 0;
+ padding: 10px;
+ background-color: white;
+}
+
+#webgl-replay-image {
+ width: 400px;
+ height: 400px;
+ display: block;
+}
diff --git a/Source/WebCore/inspector/generate-inspector-protocol-version b/Source/WebCore/inspector/generate-inspector-protocol-version
index e7d633c04..bd606b46e 100755
--- a/Source/WebCore/inspector/generate-inspector-protocol-version
+++ b/Source/WebCore/inspector/generate-inspector-protocol-version
@@ -339,8 +339,9 @@ def main():
output_file.write("""
#ifndef InspectorProtocolVersion_h
#define InspectorProtocolVersion_h
-#include "PlatformString.h"
+
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/DocumentLoader.cpp b/Source/WebCore/loader/DocumentLoader.cpp
index ea69bf52f..5ca9d683d 100644
--- a/Source/WebCore/loader/DocumentLoader.cpp
+++ b/Source/WebCore/loader/DocumentLoader.cpp
@@ -47,14 +47,14 @@
#include "InspectorInstrumentation.h"
#include "Logging.h"
#include "MainResourceLoader.h"
-#include "MemoryInstrumentation.h"
#include "Page.h"
-#include "PlatformString.h"
#include "Settings.h"
#include "SharedBuffer.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Assertions.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Unicode.h>
#if ENABLE(WEB_ARCHIVE) || ENABLE(MHTML)
@@ -336,7 +336,9 @@ void DocumentLoader::commitData(const char* bytes, size_t length)
m_frame->document()->setBaseURLOverride(m_archive->mainResource()->url());
#endif
- if (!frameLoader()->isReplacing())
+ // Call receivedFirstData() exactly once per load. We should only reach this point multiple times
+ // for multipart loads, and isReplacing() will be true after the first time.
+ if (!m_mainResourceLoader || !m_mainResourceLoader->isLoadingMultipartContent() || !frameLoader()->isReplacing())
frameLoader()->receivedFirstData();
bool userChosen = true;
@@ -357,7 +359,7 @@ void DocumentLoader::commitData(const char* bytes, size_t length)
void DocumentLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addInstrumentedMember(m_frame);
info.addInstrumentedMember(m_mainResourceLoader);
info.addInstrumentedHashSet(m_subresourceLoaders);
diff --git a/Source/WebCore/loader/DocumentWriter.h b/Source/WebCore/loader/DocumentWriter.h
index 5883229a7..3d90b9d87 100644
--- a/Source/WebCore/loader/DocumentWriter.h
+++ b/Source/WebCore/loader/DocumentWriter.h
@@ -30,7 +30,7 @@
#define DocumentWriter_h
#include "KURL.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/EmptyClients.cpp b/Source/WebCore/loader/EmptyClients.cpp
index d8bc06f33..7f16f3dfe 100644
--- a/Source/WebCore/loader/EmptyClients.cpp
+++ b/Source/WebCore/loader/EmptyClients.cpp
@@ -28,6 +28,7 @@
#include "config.h"
#include "EmptyClients.h"
+#include "DateTimeChooser.h"
#include "DocumentLoader.h"
#include "FileChooser.h"
#include "FormState.h"
@@ -103,6 +104,13 @@ PassOwnPtr<ColorChooser> EmptyChromeClient::createColorChooser(ColorChooserClien
}
#endif
+#if ENABLE(CALENDAR_PICKER)
+PassOwnPtr<DateTimeChooser> EmptyChromeClient::openDateTimeChooser(DateTimeChooserClient*, const DateTimeChooserParameters&)
+{
+ return nullptr;
+}
+#endif
+
void EmptyChromeClient::runOpenPanel(Frame*, PassRefPtr<FileChooser>)
{
}
diff --git a/Source/WebCore/loader/EmptyClients.h b/Source/WebCore/loader/EmptyClients.h
index a027997ff..fbda2f600 100644
--- a/Source/WebCore/loader/EmptyClients.h
+++ b/Source/WebCore/loader/EmptyClients.h
@@ -172,6 +172,10 @@ public:
virtual PassOwnPtr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&) OVERRIDE;
#endif
+#if ENABLE(CALENDAR_PICKER)
+ virtual PassOwnPtr<DateTimeChooser> openDateTimeChooser(DateTimeChooserClient*, const DateTimeChooserParameters&) OVERRIDE;
+#endif
+
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) OVERRIDE;
virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*) { }
diff --git a/Source/WebCore/loader/FTPDirectoryParser.h b/Source/WebCore/loader/FTPDirectoryParser.h
index 023a89536..642b3c3b9 100644
--- a/Source/WebCore/loader/FTPDirectoryParser.h
+++ b/Source/WebCore/loader/FTPDirectoryParser.h
@@ -71,7 +71,7 @@
#ifndef FTPDirectoryParser_h
#define FTPDirectoryParser_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <time.h>
diff --git a/Source/WebCore/loader/FormState.h b/Source/WebCore/loader/FormState.h
index 0e1ad31ef..964766b85 100644
--- a/Source/WebCore/loader/FormState.h
+++ b/Source/WebCore/loader/FormState.h
@@ -29,8 +29,8 @@
#ifndef FormState_h
#define FormState_h
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/FrameLoader.cpp b/Source/WebCore/loader/FrameLoader.cpp
index ca9ff0947..ff9a173b2 100644
--- a/Source/WebCore/loader/FrameLoader.cpp
+++ b/Source/WebCore/loader/FrameLoader.cpp
@@ -77,7 +77,6 @@
#include "Logging.h"
#include "MIMETypeRegistry.h"
#include "MainResourceLoader.h"
-#include "MemoryInstrumentation.h"
#include "Page.h"
#include "PageCache.h"
#include "PageTransitionEvent.h"
@@ -99,6 +98,7 @@
#include "SerializedScriptValue.h"
#include "Settings.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WindowFeatures.h"
#include "XMLDocumentParser.h"
#include <wtf/CurrentTime.h>
@@ -165,6 +165,43 @@ static bool isDocumentSandboxed(Frame* frame, SandboxFlags mask)
return frame->document() && frame->document()->isSandboxed(mask);
}
+class FrameLoader::FrameProgressTracker {
+public:
+ static PassOwnPtr<FrameProgressTracker> create(Frame* frame) { return adoptPtr(new FrameProgressTracker(frame)); }
+ ~FrameProgressTracker()
+ {
+ ASSERT(!m_inProgress || m_frame->page());
+ if (m_inProgress)
+ m_frame->page()->progress()->progressCompleted(m_frame);
+ }
+
+ void progressStarted()
+ {
+ ASSERT(m_frame->page());
+ if (!m_inProgress)
+ m_frame->page()->progress()->progressStarted(m_frame);
+ m_inProgress = true;
+ }
+
+ void progressCompleted()
+ {
+ ASSERT(m_inProgress);
+ ASSERT(m_frame->page());
+ m_inProgress = false;
+ m_frame->page()->progress()->progressCompleted(m_frame);
+ }
+
+private:
+ FrameProgressTracker(Frame* frame)
+ : m_frame(frame)
+ , m_inProgress(false)
+ {
+ }
+
+ Frame* m_frame;
+ bool m_inProgress;
+};
+
FrameLoader::FrameLoader(Frame* frame, FrameLoaderClient* client)
: m_frame(frame)
, m_client(client)
@@ -228,6 +265,7 @@ void FrameLoader::init()
m_didCallImplicitClose = true;
m_networkingContext = m_client->createNetworkingContext();
+ m_progressTracker = FrameProgressTracker::create(m_frame);
}
void FrameLoader::setDefersLoading(bool defers)
@@ -680,7 +718,7 @@ void FrameLoader::checkCompleted()
m_shouldCallCheckCompleted = false;
if (m_frame->view())
- m_frame->view()->checkStopDelayingDeferredRepaints();
+ m_frame->view()->checkFlushDeferredRepaintsAfterLoadComplete();
// Have we completed before?
if (m_isComplete)
@@ -715,6 +753,9 @@ void FrameLoader::checkCompleted()
completed();
if (m_frame->page())
checkLoadComplete();
+
+ if (m_frame->view())
+ m_frame->view()->checkFlushDeferredRepaintsAfterLoadComplete();
}
void FrameLoader::checkTimerFired(Timer<FrameLoader>*)
@@ -1087,8 +1128,7 @@ void FrameLoader::prepareForHistoryNavigation()
void FrameLoader::prepareForLoadStart()
{
- if (Page* page = m_frame->page())
- page->progress()->progressStarted(m_frame);
+ m_progressTracker->progressStarted();
m_client->dispatchDidStartProvisionalLoad();
// Notify accessibility.
@@ -1577,24 +1617,21 @@ void FrameLoader::setDocumentLoader(DocumentLoader* loader)
m_client->prepareForDataSourceReplacement();
detachChildren();
+
+ // detachChildren() can trigger this frame's unload event, and therefore
+ // script can run and do just about anything. For example, an unload event that calls
+ // document.write("") on its parent frame can lead to a recursive detachChildren()
+ // invocation for this frame. In that case, we can end up at this point with a
+ // loader that hasn't been deleted but has been detached from its frame. Such a
+ // DocumentLoader has been sufficiently detached that we'll end up in an inconsistent
+ // state if we try to use it.
+ if (loader && !loader->frame())
+ return;
+
if (m_documentLoader)
m_documentLoader->detachFromFrame();
m_documentLoader = loader;
-
- // The following abomination is brought to you by the unload event.
- // The detachChildren() call above may trigger a child frame's unload event,
- // which could do something obnoxious like call document.write("") on
- // the main frame, which results in detaching children while detaching children.
- // This can cause the new m_documentLoader to be detached from its Frame*, but still
- // be alive. To make matters worse, DocumentLoaders with a null Frame* aren't supposed
- // to happen when they're still alive (and many places below us on the stack think the
- // DocumentLoader is still usable). Ergo, we reattach loader to its Frame, and pretend
- // like nothing ever happened.
- if (m_documentLoader && !m_documentLoader->frame()) {
- ASSERT(!m_documentLoader->isLoading());
- m_documentLoader->setFrame(m_frame);
- }
}
void FrameLoader::setPolicyDocumentLoader(DocumentLoader* loader)
@@ -1646,8 +1683,7 @@ void FrameLoader::setState(FrameState newState)
void FrameLoader::clearProvisionalLoad()
{
setProvisionalDocumentLoader(0);
- if (Page* page = m_frame->page())
- page->progress()->progressCompleted(m_frame);
+ m_progressTracker->progressCompleted();
setState(FrameStateComplete);
}
@@ -1769,6 +1805,12 @@ void FrameLoader::transitionToCommitted(PassRefPtr<CachedPage> cachedPage)
setDocumentLoader(m_provisionalDocumentLoader.get());
setProvisionalDocumentLoader(0);
+
+ if (pdl != m_documentLoader) {
+ ASSERT(m_state == FrameStateComplete);
+ return;
+ }
+
setState(FrameStateCommittedPage);
#if ENABLE(TOUCH_EVENTS)
@@ -2123,9 +2165,8 @@ void FrameLoader::checkLoadCompleteForThisFrame()
return;
if (!settings->needsDidFinishLoadOrderQuirk()) {
+ m_progressTracker->progressCompleted();
if (Page* page = m_frame->page()) {
- page->progress()->progressCompleted(m_frame);
-
if (m_frame == page->mainFrame())
page->resetRelevantPaintedObjectCounter();
}
@@ -2143,9 +2184,8 @@ void FrameLoader::checkLoadCompleteForThisFrame()
}
if (settings->needsDidFinishLoadOrderQuirk()) {
+ m_progressTracker->progressCompleted();
if (Page* page = m_frame->page()) {
- page->progress()->progressCompleted(m_frame);
-
if (m_frame == page->mainFrame())
page->resetRelevantPaintedObjectCounter();
}
@@ -2369,6 +2409,8 @@ void FrameLoader::detachFromParent()
detachViewsAndDocumentLoader();
+ m_progressTracker.clear();
+
if (Frame* parent = m_frame->tree()->parent()) {
parent->loader()->closeAndRemoveChild(m_frame);
parent->loader()->scheduleCheckCompleted();
@@ -3235,7 +3277,7 @@ NetworkingContext* FrameLoader::networkingContext() const
void FrameLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addInstrumentedMember(m_documentLoader);
info.addInstrumentedMember(m_provisionalDocumentLoader);
info.addInstrumentedMember(m_policyDocumentLoader);
diff --git a/Source/WebCore/loader/FrameLoader.h b/Source/WebCore/loader/FrameLoader.h
index 4a17ab248..a21926f77 100644
--- a/Source/WebCore/loader/FrameLoader.h
+++ b/Source/WebCore/loader/FrameLoader.h
@@ -385,6 +385,9 @@ private:
mutable FrameLoaderStateMachine m_stateMachine;
mutable IconController m_icon;
+ class FrameProgressTracker;
+ OwnPtr<FrameProgressTracker> m_progressTracker;
+
FrameState m_state;
FrameLoadType m_loadType;
diff --git a/Source/WebCore/loader/HistoryController.cpp b/Source/WebCore/loader/HistoryController.cpp
index 5e3ce84bb..eb583414d 100644
--- a/Source/WebCore/loader/HistoryController.cpp
+++ b/Source/WebCore/loader/HistoryController.cpp
@@ -163,7 +163,7 @@ void HistoryController::saveDocumentState()
Document* document = m_frame->document();
ASSERT(document);
- if (item->isCurrentDocument(document)) {
+ if (item->isCurrentDocument(document) && document->attached()) {
LOG(Loading, "WebCoreLoading %s: saving form state to %p", m_frame->tree()->uniqueName().string().utf8().data(), item);
item->setDocumentState(document->formElementsState());
}
@@ -179,6 +179,22 @@ void HistoryController::saveDocumentAndScrollState()
}
}
+static inline bool isAssociatedToRequestedHistoryItem(const HistoryItem* current, Frame* frame, const HistoryItem* requested)
+{
+ if (requested == current)
+ return true;
+ if (requested)
+ return false;
+ while ((frame = frame->tree()->parent())) {
+ requested = frame->loader()->requestedHistoryItem();
+ if (!requested)
+ continue;
+ if (requested->isAncestorOf(current))
+ return true;
+ }
+ return false;
+}
+
void HistoryController::restoreDocumentState()
{
Document* doc = m_frame->document();
@@ -201,7 +217,7 @@ void HistoryController::restoreDocumentState()
if (!itemToRestore)
return;
- if (m_frame->loader()->requestedHistoryItem() == m_currentItem.get() && !m_frame->loader()->documentLoader()->isClientRedirect()) {
+ if (isAssociatedToRequestedHistoryItem(itemToRestore, m_frame, m_frame->loader()->requestedHistoryItem()) && !m_frame->loader()->documentLoader()->isClientRedirect()) {
LOG(Loading, "WebCoreLoading %s: restoring form state from %p", m_frame->tree()->uniqueName().string().utf8().data(), itemToRestore);
doc->setStateForNewFormElements(itemToRestore->documentState());
}
diff --git a/Source/WebCore/loader/HistoryController.h b/Source/WebCore/loader/HistoryController.h
index ce1ead5f5..2dc0b279c 100644
--- a/Source/WebCore/loader/HistoryController.h
+++ b/Source/WebCore/loader/HistoryController.h
@@ -31,10 +31,10 @@
#define HistoryController_h
#include "FrameLoaderTypes.h"
-#include "PlatformString.h"
#include "SerializedScriptValue.h"
#include <wtf/Noncopyable.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/ImageLoader.cpp b/Source/WebCore/loader/ImageLoader.cpp
index 8745346da..0523b3a89 100644
--- a/Source/WebCore/loader/ImageLoader.cpp
+++ b/Source/WebCore/loader/ImageLoader.cpp
@@ -279,7 +279,7 @@ void ImageLoader::notifyFinished(CachedResource* resource)
m_hasPendingErrorEvent = true;
errorEventSender().dispatchEventSoon(this);
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Cross-origin image load denied by Cross-Origin Resource Sharing policy."));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Cross-origin image load denied by Cross-Origin Resource Sharing policy.")));
document()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
ASSERT(!m_hasPendingLoadEvent);
diff --git a/Source/WebCore/loader/ImageLoader.h b/Source/WebCore/loader/ImageLoader.h
index d3b76692c..796d71802 100644
--- a/Source/WebCore/loader/ImageLoader.h
+++ b/Source/WebCore/loader/ImageLoader.h
@@ -26,7 +26,6 @@
#include "CachedImage.h"
#include "CachedImageClient.h"
#include "CachedResourceHandle.h"
-#include "Element.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/text/AtomicString.h>
diff --git a/Source/WebCore/loader/MainResourceLoader.cpp b/Source/WebCore/loader/MainResourceLoader.cpp
index 0836d8cc0..2d6e45bb8 100644
--- a/Source/WebCore/loader/MainResourceLoader.cpp
+++ b/Source/WebCore/loader/MainResourceLoader.cpp
@@ -371,7 +371,7 @@ void MainResourceLoader::didReceiveResponse(const ResourceResponse& r)
String content = it->second;
if (m_frame->loader()->shouldInterruptLoadForXFrameOptions(content, r.url())) {
InspectorInstrumentation::continueAfterXFrameOptionsDenied(m_frame.get(), documentLoader(), identifier(), r);
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to display document because display forbidden by X-Frame-Options.\n"));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to display document because display forbidden by X-Frame-Options.\n")));
m_frame->document()->domWindow()->console()->addMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
cancel();
@@ -551,7 +551,7 @@ void MainResourceLoader::didFail(const ResourceError& error)
void MainResourceLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
ResourceLoader::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_initialRequest);
info.addInstrumentedMember(m_substituteData);
diff --git a/Source/WebCore/loader/PolicyChecker.h b/Source/WebCore/loader/PolicyChecker.h
index b7176e1fa..5a4d6b3dc 100644
--- a/Source/WebCore/loader/PolicyChecker.h
+++ b/Source/WebCore/loader/PolicyChecker.h
@@ -31,10 +31,10 @@
#define PolicyChecker_h
#include "FrameLoaderTypes.h"
-#include "PlatformString.h"
#include "PolicyCallback.h"
#include "ResourceRequest.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/Prerenderer.cpp b/Source/WebCore/loader/Prerenderer.cpp
index b3acb2431..87bac778c 100644
--- a/Source/WebCore/loader/Prerenderer.cpp
+++ b/Source/WebCore/loader/Prerenderer.cpp
@@ -59,6 +59,7 @@ PassOwnPtr<Prerenderer> Prerenderer::create(Document* document)
Prerenderer::Prerenderer(Document* document)
: ActiveDOMObject(document, this)
+ , m_initializedClient(false)
, m_client(0)
{
}
@@ -80,7 +81,8 @@ PassRefPtr<PrerenderHandle> Prerenderer::render(const KURL& url)
RefPtr<PrerenderHandle> prerenderHandle = PrerenderHandle::create(url, referrer, referrerPolicy);
- client()->willAddPrerender(prerenderHandle.get());
+ if (client())
+ client()->willAddPrerender(prerenderHandle.get());
prerenderHandle->add();
m_activeHandles.append(prerenderHandle);
@@ -131,8 +133,12 @@ Document* Prerenderer::document()
PrerendererClient* Prerenderer::client()
{
- if (!m_client)
+ if (!m_initializedClient) {
+ // We can't initialize the client in our contructor, because the platform might not have
+ // provided our supplement by then.
+ m_initializedClient = true;
m_client = PrerendererClient::from(document()->page());
+ }
return m_client;
}
diff --git a/Source/WebCore/loader/Prerenderer.h b/Source/WebCore/loader/Prerenderer.h
index 32f350834..61c6d8cd9 100644
--- a/Source/WebCore/loader/Prerenderer.h
+++ b/Source/WebCore/loader/Prerenderer.h
@@ -73,6 +73,7 @@ private:
Document* document();
PrerendererClient* client();
+ bool m_initializedClient;
PrerendererClient* m_client;
HandleVector m_activeHandles;
HandleVector m_suspendedHandles;
diff --git a/Source/WebCore/loader/PrerendererClient.cpp b/Source/WebCore/loader/PrerendererClient.cpp
index 78f2470e2..f8c298928 100644
--- a/Source/WebCore/loader/PrerendererClient.cpp
+++ b/Source/WebCore/loader/PrerendererClient.cpp
@@ -51,7 +51,6 @@ const AtomicString& PrerendererClient::supplementName()
PrerendererClient* PrerendererClient::from(Page* page)
{
PrerendererClient* supplement = static_cast<PrerendererClient*>(Supplement<Page>::from(page, supplementName()));
- ASSERT(supplement);
return supplement;
}
diff --git a/Source/WebCore/loader/ResourceLoadScheduler.h b/Source/WebCore/loader/ResourceLoadScheduler.h
index e787d64a0..f407a9e54 100644
--- a/Source/WebCore/loader/ResourceLoadScheduler.h
+++ b/Source/WebCore/loader/ResourceLoadScheduler.h
@@ -24,7 +24,6 @@
#define ResourceLoadScheduler_h
#include "FrameLoaderTypes.h"
-#include "PlatformString.h"
#include "ResourceLoaderOptions.h"
#include "ResourceLoadPriority.h"
#include "Timer.h"
diff --git a/Source/WebCore/loader/ResourceLoader.cpp b/Source/WebCore/loader/ResourceLoader.cpp
index 2307515a3..3315ad558 100644
--- a/Source/WebCore/loader/ResourceLoader.cpp
+++ b/Source/WebCore/loader/ResourceLoader.cpp
@@ -535,7 +535,7 @@ AsyncFileStream* ResourceLoader::createAsyncFileStream(FileStreamClient* client)
void ResourceLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addMember(m_handle.get());
info.addInstrumentedMember(m_frame);
info.addInstrumentedMember(m_documentLoader);
diff --git a/Source/WebCore/loader/SubframeLoader.cpp b/Source/WebCore/loader/SubframeLoader.cpp
index d7eb00141..c3b38a87c 100644
--- a/Source/WebCore/loader/SubframeLoader.cpp
+++ b/Source/WebCore/loader/SubframeLoader.cpp
@@ -171,6 +171,9 @@ static String findPluginMIMETypeFromURL(Page* page, const String& url)
String extension = url.substring(dotIndex + 1);
PluginData* pluginData = page->pluginData();
+ if (!pluginData)
+ return String();
+
for (size_t i = 0; i < pluginData->mimes().size(); ++i) {
const MimeClassInfo& mimeClassInfo = pluginData->mimes()[i];
for (size_t j = 0; j < mimeClassInfo.extensions.size(); ++j) {
diff --git a/Source/WebCore/loader/SubframeLoader.h b/Source/WebCore/loader/SubframeLoader.h
index 74a166872..d8e03c102 100644
--- a/Source/WebCore/loader/SubframeLoader.h
+++ b/Source/WebCore/loader/SubframeLoader.h
@@ -32,12 +32,11 @@
#define SubframeLoader_h
#include "FrameLoaderTypes.h"
-#include "LayoutTypes.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/SubresourceLoader.cpp b/Source/WebCore/loader/SubresourceLoader.cpp
index c61fa31f0..6273a8d33 100644
--- a/Source/WebCore/loader/SubresourceLoader.cpp
+++ b/Source/WebCore/loader/SubresourceLoader.cpp
@@ -36,9 +36,9 @@
#include "FrameLoader.h"
#include "Logging.h"
#include "MemoryCache.h"
-#include "MemoryInstrumentation.h"
#include "SecurityOrigin.h"
#include "SecurityPolicy.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/RefCountedLeakCounter.h>
#include <wtf/StdLibExtras.h>
#include <wtf/text/CString.h>
@@ -137,7 +137,7 @@ void SubresourceLoader::cancelIfNotFinishing()
void SubresourceLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
ResourceLoader::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_resource);
info.addInstrumentedMember(m_document);
diff --git a/Source/WebCore/loader/SubstituteData.cpp b/Source/WebCore/loader/SubstituteData.cpp
index a269c3498..72b535f4a 100644
--- a/Source/WebCore/loader/SubstituteData.cpp
+++ b/Source/WebCore/loader/SubstituteData.cpp
@@ -31,13 +31,13 @@
#include "config.h"
#include "SubstituteData.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
void SubstituteData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addInstrumentedMember(m_content);
info.addInstrumentedMember(m_mimeType);
info.addInstrumentedMember(m_textEncoding);
diff --git a/Source/WebCore/loader/SubstituteData.h b/Source/WebCore/loader/SubstituteData.h
index 8da894820..0dc9a5016 100644
--- a/Source/WebCore/loader/SubstituteData.h
+++ b/Source/WebCore/loader/SubstituteData.h
@@ -28,7 +28,6 @@
#include "KURL.h"
#include "SharedBuffer.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
diff --git a/Source/WebCore/loader/TextTrackLoader.cpp b/Source/WebCore/loader/TextTrackLoader.cpp
index 8355a4a4c..202570d1d 100644
--- a/Source/WebCore/loader/TextTrackLoader.cpp
+++ b/Source/WebCore/loader/TextTrackLoader.cpp
@@ -114,7 +114,7 @@ void TextTrackLoader::didReceiveData(CachedResource* resource)
void TextTrackLoader::corsPolicyPreventedLoad()
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Cross-origin text track load denied by Cross-Origin Resource Sharing policy."));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Cross-origin text track load denied by Cross-Origin Resource Sharing policy.")));
Document* document = static_cast<Document*>(m_scriptExecutionContext);
document->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, consoleMessage);
m_state = Failed;
diff --git a/Source/WebCore/loader/TextTrackLoader.h b/Source/WebCore/loader/TextTrackLoader.h
index 76da390bd..74334f906 100644
--- a/Source/WebCore/loader/TextTrackLoader.h
+++ b/Source/WebCore/loader/TextTrackLoader.h
@@ -31,13 +31,13 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedTextTrack.h"
-#include "Document.h"
#include "Timer.h"
#include "WebVTTParser.h"
#include <wtf/OwnPtr.h>
namespace WebCore {
+class Document;
class TextTrackLoader;
class ScriptExecutionContext;
diff --git a/Source/WebCore/loader/WorkerThreadableLoader.h b/Source/WebCore/loader/WorkerThreadableLoader.h
index 2393b98f4..055dfa7d3 100644
--- a/Source/WebCore/loader/WorkerThreadableLoader.h
+++ b/Source/WebCore/loader/WorkerThreadableLoader.h
@@ -33,7 +33,6 @@
#if ENABLE(WORKERS)
-#include "PlatformString.h"
#include "ThreadableLoader.h"
#include "ThreadableLoaderClient.h"
#include "ThreadableLoaderClientWrapper.h"
@@ -43,6 +42,7 @@
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/appcache/ApplicationCache.cpp b/Source/WebCore/loader/appcache/ApplicationCache.cpp
index 63cd7bbbf..abb00232f 100644
--- a/Source/WebCore/loader/appcache/ApplicationCache.cpp
+++ b/Source/WebCore/loader/appcache/ApplicationCache.cpp
@@ -31,11 +31,17 @@
#include "ApplicationCacheStorage.h"
#include "ResourceRequest.h"
#include "SecurityOrigin.h"
-#include <wtf/text/CString.h>
+#include <algorithm>
#include <stdio.h>
+#include <wtf/text/CString.h>
namespace WebCore {
+static inline bool fallbackURLLongerThan(const std::pair<KURL, KURL>& lhs, const std::pair<KURL, KURL>& rhs)
+{
+ return lhs.first.string().length() > rhs.first.string().length();
+}
+
ApplicationCache::ApplicationCache()
: m_group(0)
, m_manifest(0)
@@ -159,6 +165,8 @@ void ApplicationCache::setFallbackURLs(const FallbackURLVector& fallbackURLs)
{
ASSERT(m_fallbackURLs.isEmpty());
m_fallbackURLs = fallbackURLs;
+ // FIXME: What's the right behavior if we have 2 or more identical namespace URLs?
+ std::stable_sort(m_fallbackURLs.begin(), m_fallbackURLs.end(), fallbackURLLongerThan);
}
bool ApplicationCache::urlMatchesFallbackNamespace(const KURL& url, KURL* fallbackURL)
diff --git a/Source/WebCore/loader/appcache/ApplicationCache.h b/Source/WebCore/loader/appcache/ApplicationCache.h
index 325e4c05b..251bea323 100644
--- a/Source/WebCore/loader/appcache/ApplicationCache.h
+++ b/Source/WebCore/loader/appcache/ApplicationCache.h
@@ -26,12 +26,12 @@
#ifndef ApplicationCache_h
#define ApplicationCache_h
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/appcache/ApplicationCacheGroup.h b/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
index 3d010f990..07651fe6d 100644
--- a/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
+++ b/Source/WebCore/loader/appcache/ApplicationCacheGroup.h
@@ -28,14 +28,13 @@
#include "DOMApplicationCache.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "ResourceHandle.h"
#include "ResourceHandleClient.h"
#include "SharedBuffer.h"
-
#include <wtf/Noncopyable.h>
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/appcache/ApplicationCacheStorage.h b/Source/WebCore/loader/appcache/ApplicationCacheStorage.h
index 0d35d18f7..af6437e84 100644
--- a/Source/WebCore/loader/appcache/ApplicationCacheStorage.h
+++ b/Source/WebCore/loader/appcache/ApplicationCacheStorage.h
@@ -26,12 +26,12 @@
#ifndef ApplicationCacheStorage_h
#define ApplicationCacheStorage_h
-#include "PlatformString.h"
#include "SecurityOriginHash.h"
#include "SQLiteDatabase.h"
#include <wtf/HashCountedSet.h>
#include <wtf/HashSet.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -40,9 +40,9 @@ class ApplicationCacheGroup;
class ApplicationCacheHost;
class ApplicationCacheResource;
class KURL;
-template <class T>
-class StorageIDJournal;
class SecurityOrigin;
+class SharedBuffer;
+template <class T> class StorageIDJournal;
class ApplicationCacheStorage {
WTF_MAKE_NONCOPYABLE(ApplicationCacheStorage); WTF_MAKE_FAST_ALLOCATED;
diff --git a/Source/WebCore/loader/appcache/ManifestParser.cpp b/Source/WebCore/loader/appcache/ManifestParser.cpp
index b0f6bc831..c985a9c2a 100644
--- a/Source/WebCore/loader/appcache/ManifestParser.cpp
+++ b/Source/WebCore/loader/appcache/ManifestParser.cpp
@@ -47,7 +47,7 @@ bool parseManifest(const KURL& manifestURL, const char* data, int length, Manife
RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/cache-manifest", "UTF-8");
String s = decoder->decode(data, length);
- s += decoder->flush();
+ s.append(decoder->flush());
// Look for the magic signature: "^\xFEFF?CACHE MANIFEST[ \t]?" (the BOM is removed by TextResourceDecoder).
// Example: "CACHE MANIFEST #comment" is a valid signature.
diff --git a/Source/WebCore/loader/archive/ArchiveFactory.cpp b/Source/WebCore/loader/archive/ArchiveFactory.cpp
index f6970aa53..c2b6dbcdd 100644
--- a/Source/WebCore/loader/archive/ArchiveFactory.cpp
+++ b/Source/WebCore/loader/archive/ArchiveFactory.cpp
@@ -30,7 +30,6 @@
#include "ArchiveFactory.h"
#include "MIMETypeRegistry.h"
-#include "PlatformString.h"
#if USE(CF) && !PLATFORM(QT) && ENABLE(WEB_ARCHIVE)
#include "LegacyWebArchive.h"
@@ -42,6 +41,7 @@
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/archive/ArchiveResourceCollection.h b/Source/WebCore/loader/archive/ArchiveResourceCollection.h
index b4912b5d8..15ef8bcc9 100644
--- a/Source/WebCore/loader/archive/ArchiveResourceCollection.h
+++ b/Source/WebCore/loader/archive/ArchiveResourceCollection.h
@@ -32,7 +32,7 @@
#include "Archive.h"
#include "ArchiveResource.h"
#include "KURL.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
diff --git a/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp b/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp
index 498d2fa57..96432af2b 100644
--- a/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp
+++ b/Source/WebCore/loader/cache/CachedCSSStyleSheet.cpp
@@ -32,10 +32,10 @@
#include "CachedStyleSheetClient.h"
#include "HTTPParsers.h"
#include "MemoryCache.h"
-#include "MemoryInstrumentation.h"
#include "SharedBuffer.h"
#include "StyleSheetContents.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/CurrentTime.h>
#include <wtf/Vector.h>
@@ -90,7 +90,7 @@ const String CachedCSSStyleSheet::sheetText(bool enforceMIMEType, bool* hasValid
// Don't cache the decoded text, regenerating is cheap and it can use quite a bit of memory
String sheetText = m_decoder->decode(m_data->data(), m_data->size());
- sheetText += m_decoder->flush();
+ sheetText.append(m_decoder->flush());
return sheetText;
}
@@ -104,7 +104,7 @@ void CachedCSSStyleSheet::data(PassRefPtr<SharedBuffer> data, bool allDataReceiv
// Decode the data to find out the encoding and keep the sheet text around during checkNotify()
if (m_data) {
m_decodedSheetText = m_decoder->decode(m_data->data(), m_data->size());
- m_decodedSheetText += m_decoder->flush();
+ m_decodedSheetText.append(m_decoder->flush());
}
setLoading(false);
checkNotify();
@@ -122,14 +122,6 @@ void CachedCSSStyleSheet::checkNotify()
c->setCSSStyleSheet(m_resourceRequest.url(), m_response.url(), m_decoder->encoding().name(), this);
}
-void CachedCSSStyleSheet::error(CachedResource::Status status)
-{
- setStatus(status);
- ASSERT(errorOccurred());
- setLoading(false);
- checkNotify();
-}
-
bool CachedCSSStyleSheet::canUseSheet(bool enforceMIMEType, bool* hasValidMIMEType) const
{
if (errorOccurred())
@@ -193,7 +185,8 @@ PassRefPtr<StyleSheetContents> CachedCSSStyleSheet::restoreParsedStyleSheet(cons
void CachedCSSStyleSheet::saveParsedStyleSheet(PassRefPtr<StyleSheetContents> sheet)
{
ASSERT(sheet && sheet->isCacheable());
-
+ if (m_parsedStyleSheetCache == sheet)
+ return;
if (m_parsedStyleSheetCache)
m_parsedStyleSheetCache->removedFromMemoryCache();
m_parsedStyleSheetCache = sheet;
@@ -204,7 +197,7 @@ void CachedCSSStyleSheet::saveParsedStyleSheet(PassRefPtr<StyleSheetContents> sh
void CachedCSSStyleSheet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceCSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceCSS);
CachedResource::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_decoder);
info.addInstrumentedMember(m_parsedStyleSheetCache);
diff --git a/Source/WebCore/loader/cache/CachedCSSStyleSheet.h b/Source/WebCore/loader/cache/CachedCSSStyleSheet.h
index 434ba4561..a4d638592 100644
--- a/Source/WebCore/loader/cache/CachedCSSStyleSheet.h
+++ b/Source/WebCore/loader/cache/CachedCSSStyleSheet.h
@@ -50,12 +50,8 @@ namespace WebCore {
virtual void setEncoding(const String&);
virtual String encoding() const;
virtual void data(PassRefPtr<SharedBuffer> data, bool allDataReceived);
- virtual void error(CachedResource::Status);
-
virtual void destroyDecodedData() OVERRIDE;
- void checkNotify();
-
PassRefPtr<StyleSheetContents> restoreParsedStyleSheet(const CSSParserContext&);
void saveParsedStyleSheet(PassRefPtr<StyleSheetContents>);
@@ -66,6 +62,8 @@ namespace WebCore {
virtual PurgePriority purgePriority() const { return PurgeLast; }
protected:
+ virtual void checkNotify();
+
RefPtr<TextResourceDecoder> m_decoder;
String m_decodedSheetText;
diff --git a/Source/WebCore/loader/cache/CachedFont.cpp b/Source/WebCore/loader/cache/CachedFont.cpp
index 27ffd9574..4c4569ca3 100644
--- a/Source/WebCore/loader/cache/CachedFont.cpp
+++ b/Source/WebCore/loader/cache/CachedFont.cpp
@@ -36,9 +36,9 @@
#include "CachedResourceLoader.h"
#include "FontPlatformData.h"
#include "MemoryCache.h"
-#include "MemoryInstrumentation.h"
#include "SharedBuffer.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Vector.h>
#ifdef STORE_FONT_CUSTOM_PLATFORM_DATA
@@ -137,7 +137,7 @@ bool CachedFont::ensureSVGFontData()
RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("application/xml");
String svgSource = decoder->decode(m_data->data(), m_data->size());
- svgSource += decoder->flush();
+ svgSource.append(decoder->flush());
m_externalSVGDocument->setContent(svgSource);
@@ -198,18 +198,9 @@ void CachedFont::checkNotify()
c->fontLoaded(this);
}
-
-void CachedFont::error(CachedResource::Status status)
-{
- setStatus(status);
- ASSERT(errorOccurred());
- setLoading(false);
- checkNotify();
-}
-
void CachedFont::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceFont);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceFont);
CachedResource::reportMemoryUsage(memoryObjectInfo);
#if ENABLE(SVG_FONTS)
info.addInstrumentedMember(m_externalSVGDocument);
diff --git a/Source/WebCore/loader/cache/CachedFont.h b/Source/WebCore/loader/cache/CachedFont.h
index cff342a25..f6356ea94 100644
--- a/Source/WebCore/loader/cache/CachedFont.h
+++ b/Source/WebCore/loader/cache/CachedFont.h
@@ -53,12 +53,8 @@ public:
virtual void didAddClient(CachedResourceClient*);
virtual void data(PassRefPtr<SharedBuffer> data, bool allDataReceived);
- virtual void error(CachedResource::Status);
virtual void allClientsRemoved();
-
- void checkNotify();
-
void beginLoadIfNeeded(CachedResourceLoader* dl);
bool stillNeedsLoad() const { return !m_loadInitiated; }
@@ -73,6 +69,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
private:
+ virtual void checkNotify();
FontCustomPlatformData* m_fontData;
bool m_loadInitiated;
diff --git a/Source/WebCore/loader/cache/CachedImage.cpp b/Source/WebCore/loader/cache/CachedImage.cpp
index 11588a0db..1527a63af 100644
--- a/Source/WebCore/loader/cache/CachedImage.cpp
+++ b/Source/WebCore/loader/cache/CachedImage.cpp
@@ -385,12 +385,8 @@ void CachedImage::error(CachedResource::Status status)
{
checkShouldPaintBrokenImage();
clear();
- setStatus(status);
- ASSERT(errorOccurred());
- m_data.clear();
+ CachedResource::error(status);
notifyObservers();
- setLoading(false);
- checkNotify();
}
void CachedImage::setResponse(const ResourceResponse& response)
@@ -476,13 +472,9 @@ void CachedImage::changedInRect(const Image* image, const IntRect& rect)
void CachedImage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceImage);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceImage);
CachedResource::reportMemoryUsage(memoryObjectInfo);
- if (m_image) {
- if (m_image->data())
- info.addRawBuffer(m_image->data(), m_image->data()->size());
- info.addRawBuffer(m_image.get(), decodedSize());
- }
+ info.addInstrumentedMember(m_image);
#if ENABLE(SVG)
info.addMember(m_svgImageCache);
#endif
diff --git a/Source/WebCore/loader/cache/CachedRawResource.cpp b/Source/WebCore/loader/cache/CachedRawResource.cpp
index 4e43131b1..729889324 100644
--- a/Source/WebCore/loader/cache/CachedRawResource.cpp
+++ b/Source/WebCore/loader/cache/CachedRawResource.cpp
@@ -29,9 +29,9 @@
#include "CachedResourceClient.h"
#include "CachedResourceClientWalker.h"
#include "CachedResourceLoader.h"
-#include "MemoryInstrumentation.h"
#include "SharedBuffer.h"
#include "SubresourceLoader.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassRefPtr.h>
namespace WebCore {
@@ -162,7 +162,7 @@ bool CachedRawResource::canReuse(const ResourceRequest& newRequest) const
void CachedRawResource::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResource);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceRaw);
CachedResource::reportMemoryUsage(memoryObjectInfo);
}
diff --git a/Source/WebCore/loader/cache/CachedResource.cpp b/Source/WebCore/loader/cache/CachedResource.cpp
index d7abcae84..83bc8eed3 100755
--- a/Source/WebCore/loader/cache/CachedResource.cpp
+++ b/Source/WebCore/loader/cache/CachedResource.cpp
@@ -37,12 +37,12 @@
#include "InspectorInstrumentation.h"
#include "KURL.h"
#include "Logging.h"
-#include "MemoryInstrumentation.h"
#include "PurgeableBuffer.h"
#include "ResourceHandle.h"
#include "ResourceLoadScheduler.h"
#include "SharedBuffer.h"
#include "SubresourceLoader.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/CurrentTime.h>
#include <wtf/MathExtras.h>
#include <wtf/RefCountedLeakCounter.h>
@@ -803,7 +803,7 @@ void CachedResource::CachedResourceCallback::timerFired(Timer<CachedResourceCall
void CachedResource::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResource);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResource);
info.addMember(m_resourceRequest);
info.addHashSet(m_clients);
info.addInstrumentedMember(m_accept);
diff --git a/Source/WebCore/loader/cache/CachedResource.h b/Source/WebCore/loader/cache/CachedResource.h
index f61ad5834..457657d25 100644
--- a/Source/WebCore/loader/cache/CachedResource.h
+++ b/Source/WebCore/loader/cache/CachedResource.h
@@ -25,18 +25,18 @@
#include "CachePolicy.h"
#include "FrameLoaderTypes.h"
-#include "PlatformString.h"
#include "PurgePriority.h"
-#include "ResourceLoaderOptions.h"
#include "ResourceLoadPriority.h"
+#include "ResourceLoaderOptions.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
#include "Timer.h"
+#include <time.h>
#include <wtf/HashCountedSet.h>
#include <wtf/HashSet.h>
#include <wtf/OwnPtr.h>
#include <wtf/Vector.h>
-#include <time.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -254,7 +254,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo*) const;
protected:
- void checkNotify();
+ virtual void checkNotify();
void setEncodedSize(unsigned);
void setDecodedSize(unsigned);
diff --git a/Source/WebCore/loader/cache/CachedResourceHandle.cpp b/Source/WebCore/loader/cache/CachedResourceHandle.cpp
index ea1631814..d95459f06 100644
--- a/Source/WebCore/loader/cache/CachedResourceHandle.cpp
+++ b/Source/WebCore/loader/cache/CachedResourceHandle.cpp
@@ -26,7 +26,7 @@
#include "config.h"
#include "CachedResourceHandle.h"
-#include "MemoryInstrumentation.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -43,7 +43,7 @@ void CachedResourceHandleBase::setResource(CachedResource* resource)
void CachedResourceHandleBase::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResource);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::MemoryCacheStructures);
info.addInstrumentedMember(m_resource);
}
diff --git a/Source/WebCore/loader/cache/CachedResourceLoader.cpp b/Source/WebCore/loader/cache/CachedResourceLoader.cpp
index b258c057f..5fd7c505a 100644
--- a/Source/WebCore/loader/cache/CachedResourceLoader.cpp
+++ b/Source/WebCore/loader/cache/CachedResourceLoader.cpp
@@ -880,7 +880,7 @@ void CachedResourceLoader::printPreloadStats()
void CachedResourceLoader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addHashMap(m_documentResources);
for (DocumentResourceMap::const_iterator i = m_documentResources.begin(); i != m_documentResources.end(); ++i) {
info.addInstrumentedMember(i->first);
diff --git a/Source/WebCore/loader/cache/CachedSVGDocument.cpp b/Source/WebCore/loader/cache/CachedSVGDocument.cpp
index 423008e8b..699b6886a 100644
--- a/Source/WebCore/loader/cache/CachedSVGDocument.cpp
+++ b/Source/WebCore/loader/cache/CachedSVGDocument.cpp
@@ -73,7 +73,7 @@ void CachedSVGDocument::data(PassRefPtr<SharedBuffer> data, bool allDataReceived
void CachedSVGDocument::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceSVG);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceSVG);
CachedResource::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_document);
info.addMember(m_decoder);
diff --git a/Source/WebCore/loader/cache/CachedScript.cpp b/Source/WebCore/loader/cache/CachedScript.cpp
index 12c9fe573..5c493397a 100644
--- a/Source/WebCore/loader/cache/CachedScript.cpp
+++ b/Source/WebCore/loader/cache/CachedScript.cpp
@@ -30,9 +30,9 @@
#include "MemoryCache.h"
#include "CachedResourceClient.h"
#include "CachedResourceClientWalker.h"
-#include "MemoryInstrumentation.h"
#include "SharedBuffer.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Vector.h>
#if USE(JSC)
@@ -71,7 +71,7 @@ const String& CachedScript::script()
if (!m_script && m_data) {
m_script = m_decoder->decode(m_data->data(), encodedSize());
- m_script += m_decoder->flush();
+ m_script.append(m_decoder->flush());
setDecodedSize(m_script.sizeInBytes());
}
m_decodedDataDeletionTimer.startOneShot(0);
@@ -90,14 +90,6 @@ void CachedScript::data(PassRefPtr<SharedBuffer> data, bool allDataReceived)
checkNotify();
}
-void CachedScript::error(CachedResource::Status status)
-{
- setStatus(status);
- ASSERT(errorOccurred());
- setLoading(false);
- checkNotify();
-}
-
void CachedScript::destroyDecodedData()
{
m_script = String();
@@ -129,7 +121,7 @@ void CachedScript::sourceProviderCacheSizeChanged(int delta)
void CachedScript::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceScript);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceScript);
CachedResource::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_script);
info.addMember(m_decoder);
diff --git a/Source/WebCore/loader/cache/CachedScript.h b/Source/WebCore/loader/cache/CachedScript.h
index 3df6be938..dd1949bca 100644
--- a/Source/WebCore/loader/cache/CachedScript.h
+++ b/Source/WebCore/loader/cache/CachedScript.h
@@ -50,7 +50,6 @@ namespace WebCore {
virtual void setEncoding(const String&);
virtual String encoding() const;
virtual void data(PassRefPtr<SharedBuffer> data, bool allDataReceived);
- virtual void error(Status);
virtual void destroyDecodedData();
#if USE(JSC)
diff --git a/Source/WebCore/loader/cache/CachedShader.cpp b/Source/WebCore/loader/cache/CachedShader.cpp
index a31abd050..8dc381c46 100644
--- a/Source/WebCore/loader/cache/CachedShader.cpp
+++ b/Source/WebCore/loader/cache/CachedShader.cpp
@@ -32,9 +32,9 @@
#if ENABLE(CSS_SHADERS)
#include "CachedShader.h"
-#include "MemoryInstrumentation.h"
#include "SharedBuffer.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -70,7 +70,7 @@ void CachedShader::data(PassRefPtr<SharedBuffer> data, bool allDataReceived)
void CachedShader::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceShader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceShader);
CachedResource::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_decoder);
info.addInstrumentedMember(m_shaderString);
diff --git a/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp b/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp
index 0e771618b..81e17d8cb 100644
--- a/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp
+++ b/Source/WebCore/loader/cache/CachedXSLStyleSheet.cpp
@@ -29,9 +29,9 @@
#include "CachedResourceClientWalker.h"
#include "CachedStyleSheetClient.h"
-#include "MemoryInstrumentation.h"
#include "SharedBuffer.h"
#include "TextResourceDecoder.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Vector.h>
namespace WebCore {
@@ -69,11 +69,11 @@ void CachedXSLStyleSheet::data(PassRefPtr<SharedBuffer> data, bool allDataReceiv
if (!allDataReceived)
return;
- m_data = data;
+ m_data = data;
setEncodedSize(m_data.get() ? m_data->size() : 0);
if (m_data.get()) {
- m_sheet = String(m_decoder->decode(m_data->data(), encodedSize()));
- m_sheet += m_decoder->flush();
+ m_sheet = m_decoder->decode(m_data->data(), encodedSize());
+ m_sheet.append(m_decoder->flush());
}
setLoading(false);
checkNotify();
@@ -89,17 +89,9 @@ void CachedXSLStyleSheet::checkNotify()
c->setXSLStyleSheet(m_resourceRequest.url(), m_response.url(), m_sheet);
}
-void CachedXSLStyleSheet::error(CachedResource::Status status)
-{
- setStatus(status);
- ASSERT(errorOccurred());
- setLoading(false);
- checkNotify();
-}
-
void CachedXSLStyleSheet::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CachedResourceXSLT);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceXSLT);
CachedResource::reportMemoryUsage(memoryObjectInfo);
info.addInstrumentedMember(m_sheet);
info.addMember(m_decoder);
diff --git a/Source/WebCore/loader/cache/CachedXSLStyleSheet.h b/Source/WebCore/loader/cache/CachedXSLStyleSheet.h
index 2aa8dfa25..8b8e1c369 100644
--- a/Source/WebCore/loader/cache/CachedXSLStyleSheet.h
+++ b/Source/WebCore/loader/cache/CachedXSLStyleSheet.h
@@ -47,13 +47,12 @@ namespace WebCore {
virtual void setEncoding(const String&);
virtual String encoding() const;
virtual void data(PassRefPtr<SharedBuffer> data, bool allDataReceived);
- virtual void error(CachedResource::Status);
-
- void checkNotify();
virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
protected:
+ virtual void checkNotify();
+
String m_sheet;
RefPtr<TextResourceDecoder> m_decoder;
};
diff --git a/Source/WebCore/loader/cache/MemoryCache.cpp b/Source/WebCore/loader/cache/MemoryCache.cpp
index 66111d73f..aaf852a95 100644
--- a/Source/WebCore/loader/cache/MemoryCache.cpp
+++ b/Source/WebCore/loader/cache/MemoryCache.cpp
@@ -36,10 +36,10 @@
#include "FrameView.h"
#include "Image.h"
#include "Logging.h"
-#include "MemoryInstrumentation.h"
#include "ResourceHandle.h"
#include "SecurityOrigin.h"
#include "SecurityOriginHash.h"
+#include "WebCoreMemoryInstrumentation.h"
#include "WorkerContext.h"
#include "WorkerLoaderProxy.h"
#include "WorkerThread.h"
@@ -717,7 +717,7 @@ MemoryCache::Statistics MemoryCache::getStatistics()
void MemoryCache::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::MemoryCacheStructures);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::MemoryCacheStructures);
info.addHashMap(m_resources);
CachedResourceMap::const_iterator e = m_resources.end();
for (CachedResourceMap::const_iterator i = m_resources.begin(); i != e; ++i) {
diff --git a/Source/WebCore/loader/cache/MemoryCache.h b/Source/WebCore/loader/cache/MemoryCache.h
index 5a2f9495e..13bb961f9 100644
--- a/Source/WebCore/loader/cache/MemoryCache.h
+++ b/Source/WebCore/loader/cache/MemoryCache.h
@@ -26,12 +26,12 @@
#define Cache_h
#include "CachedResource.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/icon/IconDatabase.cpp b/Source/WebCore/loader/icon/IconDatabase.cpp
index 7c13586f2..40a7755ac 100644
--- a/Source/WebCore/loader/icon/IconDatabase.cpp
+++ b/Source/WebCore/loader/icon/IconDatabase.cpp
@@ -73,6 +73,12 @@ static const int updateTimerDelay = 5;
static bool checkIntegrityOnOpen = false;
+#if PLATFORM(GTK)
+// We are not interested in icons that have been unused for more than
+// 30 days, delete them even if they have not been explicitly released.
+static const int notUsedIconExpirationTime = 60*60*24*30;
+#endif
+
#if !LOG_DISABLED || !ERROR_DISABLED
static String urlForLogging(const String& url)
{
@@ -904,7 +910,7 @@ String IconDatabase::databasePath() const
String IconDatabase::defaultDatabaseFilename()
{
- DEFINE_STATIC_LOCAL(String, defaultDatabaseFilename, ("WebpageIcons.db"));
+ DEFINE_STATIC_LOCAL(String, defaultDatabaseFilename, (ASCIILiteral("WebpageIcons.db")));
return defaultDatabaseFilename.isolatedCopy();
}
@@ -1257,7 +1263,17 @@ void IconDatabase::performURLImport()
{
ASSERT_ICON_SYNC_THREAD();
- SQLiteStatement query(m_syncDB, "SELECT PageURL.url, IconInfo.url, IconInfo.stamp FROM PageURL INNER JOIN IconInfo ON PageURL.iconID=IconInfo.iconID;");
+# if PLATFORM(GTK)
+ // Do not import icons not used in the last 30 days. They will be automatically pruned later if nobody retains them.
+ // Note that IconInfo.stamp is only set when the icon data is retrieved from the server (and thus is not updated whether
+ // we use it or not). This code works anyway because the IconDatabase downloads icons again if they are older than 4 days,
+ // so if the timestamp goes back in time more than those 30 days we can be sure that the icon was not used at all.
+ String importQuery = String::format("SELECT PageURL.url, IconInfo.url, IconInfo.stamp FROM PageURL INNER JOIN IconInfo ON PageURL.iconID=IconInfo.iconID WHERE IconInfo.stamp > %.0f;", floor(currentTime() - notUsedIconExpirationTime));
+#else
+ String importQuery("SELECT PageURL.url, IconInfo.url, IconInfo.stamp FROM PageURL INNER JOIN IconInfo ON PageURL.iconID=IconInfo.iconID;");
+#endif
+
+ SQLiteStatement query(m_syncDB, importQuery);
if (query.prepare() != SQLResultOk) {
LOG_ERROR("Unable to prepare icon url import query");
diff --git a/Source/WebCore/loader/icon/IconRecord.h b/Source/WebCore/loader/icon/IconRecord.h
index 50ef7f762..e5a47f76e 100644
--- a/Source/WebCore/loader/icon/IconRecord.h
+++ b/Source/WebCore/loader/icon/IconRecord.h
@@ -30,13 +30,12 @@
#define IconRecord_h
#include "PageURLRecord.h"
-#include <wtf/RefCounted.h>
#include "SharedBuffer.h"
-
-#include "PlatformString.h"
#include <wtf/HashSet.h>
#include <wtf/OwnPtr.h>
+#include <wtf/RefCounted.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#if OS(SOLARIS)
#include <sys/types.h> // For time_t structure.
diff --git a/Source/WebCore/loader/icon/PageURLRecord.h b/Source/WebCore/loader/icon/PageURLRecord.h
index 307a71920..2b33808d3 100644
--- a/Source/WebCore/loader/icon/PageURLRecord.h
+++ b/Source/WebCore/loader/icon/PageURLRecord.h
@@ -29,10 +29,9 @@
#ifndef PageURLRecord_h
#define PageURLRecord_h
-#include "PlatformString.h"
-
#include <wtf/Noncopyable.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/loader/mac/LoaderNSURLExtras.mm b/Source/WebCore/loader/mac/LoaderNSURLExtras.mm
index 9a507f5ea..2cb13af41 100644
--- a/Source/WebCore/loader/mac/LoaderNSURLExtras.mm
+++ b/Source/WebCore/loader/mac/LoaderNSURLExtras.mm
@@ -35,8 +35,8 @@
#import "KURL.h"
#import "LocalizedStrings.h"
#import "MIMETypeRegistry.h"
-#import "PlatformString.h"
#import "WebCoreNSStringExtras.h"
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebCore/loader/win/DocumentLoaderWin.cpp b/Source/WebCore/loader/win/DocumentLoaderWin.cpp
index bab7de6b8..671939b57 100644
--- a/Source/WebCore/loader/win/DocumentLoaderWin.cpp
+++ b/Source/WebCore/loader/win/DocumentLoaderWin.cpp
@@ -29,7 +29,7 @@
#include "DocumentLoader.h"
#include "FrameWin.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/Chrome.cpp b/Source/WebCore/page/Chrome.cpp
index 436222d88..cca4a0925 100644
--- a/Source/WebCore/page/Chrome.cpp
+++ b/Source/WebCore/page/Chrome.cpp
@@ -95,6 +95,7 @@ void Chrome::invalidateContentsForSlowScroll(const IntRect& updateRect, bool imm
void Chrome::scroll(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
{
m_client->scroll(scrollDelta, rectToScroll, clipRect);
+ InspectorInstrumentation::didScroll(m_page);
}
#if USE(TILED_BACKING_STORE)
diff --git a/Source/WebCore/page/ChromeClient.h b/Source/WebCore/page/ChromeClient.h
index dd6afcfe1..fa5b485e0 100644
--- a/Source/WebCore/page/ChromeClient.h
+++ b/Source/WebCore/page/ChromeClient.h
@@ -48,6 +48,8 @@ class NSResponder;
namespace WebCore {
class AccessibilityObject;
+ class DateTimeChooser;
+ class DateTimeChooserClient;
class Element;
class FileChooser;
class FileIconLoader;
@@ -69,6 +71,7 @@ namespace WebCore {
class GraphicsContext3D;
class Widget;
+ struct DateTimeChooserParameters;
struct FrameLoadRequest;
struct ViewportArguments;
struct WindowFeatures;
@@ -222,6 +225,10 @@ namespace WebCore {
virtual PassOwnPtr<ColorChooser> createColorChooser(ColorChooserClient*, const Color&) = 0;
#endif
+#if ENABLE(CALENDAR_PICKER)
+ virtual PassOwnPtr<DateTimeChooser> openDateTimeChooser(DateTimeChooserClient*, const DateTimeChooserParameters&) = 0;
+#endif
+
virtual void runOpenPanel(Frame*, PassRefPtr<FileChooser>) = 0;
// Asynchronous request to load an icon for specified filenames.
virtual void loadIconForFiles(const Vector<String>&, FileIconLoader*) = 0;
diff --git a/Source/WebCore/page/Console.cpp b/Source/WebCore/page/Console.cpp
index d0e5e4fe7..971337728 100644
--- a/Source/WebCore/page/Console.cpp
+++ b/Source/WebCore/page/Console.cpp
@@ -39,7 +39,6 @@
#include "MemoryInfo.h"
#include "Page.h"
#include "PageGroup.h"
-#include "PlatformString.h"
#include "ScriptArguments.h"
#include "ScriptCallStack.h"
#include "ScriptProfile.h"
@@ -48,6 +47,7 @@
#include <stdio.h>
#include <wtf/UnusedParam.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(CHROMIUM)
#include "TraceEvent.h"
diff --git a/Source/WebCore/page/ContentSecurityPolicy.cpp b/Source/WebCore/page/ContentSecurityPolicy.cpp
index a3834faa7..02a151bd3 100644
--- a/Source/WebCore/page/ContentSecurityPolicy.cpp
+++ b/Source/WebCore/page/ContentSecurityPolicy.cpp
@@ -244,8 +244,10 @@ bool CSPSourceList::matches(const KURL& url)
if (m_allowStar)
return true;
+ KURL effectiveURL = SecurityOrigin::shouldUseInnerURL(url) ? SecurityOrigin::extractInnerURL(url) : url;
+
for (size_t i = 0; i < m_list.size(); ++i) {
- if (m_list[i].matches(url))
+ if (m_list[i].matches(effectiveURL))
return true;
}
@@ -897,7 +899,7 @@ bool CSPDirectiveList::checkSourceAndReportViolation(SourceListDirective* direct
bool CSPDirectiveList::allowJavaScriptURLs(const String& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute JavaScript URL because it violates the following Content Security Policy directive: "));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute JavaScript URL because it violates the following Content Security Policy directive: ")));
if (reportingStatus == ContentSecurityPolicy::SendReport) {
return (checkInlineAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, contextURL, contextLine)
&& checkNonceAndReportViolation(m_scriptNonce.get(), String(), consoleMessage, contextURL, contextLine));
@@ -909,7 +911,7 @@ bool CSPDirectiveList::allowJavaScriptURLs(const String& contextURL, const WTF::
bool CSPDirectiveList::allowInlineEventHandlers(const String& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute inline event handler because it violates the following Content Security Policy directive: "));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute inline event handler because it violates the following Content Security Policy directive: ")));
if (reportingStatus == ContentSecurityPolicy::SendReport) {
return (checkInlineAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, contextURL, contextLine)
&& checkNonceAndReportViolation(m_scriptNonce.get(), String(), consoleMessage, contextURL, contextLine));
@@ -921,7 +923,7 @@ bool CSPDirectiveList::allowInlineEventHandlers(const String& contextURL, const
bool CSPDirectiveList::allowInlineScript(const String& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute inline script because it violates the following Content Security Policy directive: "));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute inline script because it violates the following Content Security Policy directive: ")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkInlineAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, contextURL, contextLine) :
checkInline(operativeDirective(m_scriptSrc.get()));
@@ -929,7 +931,7 @@ bool CSPDirectiveList::allowInlineScript(const String& contextURL, const WTF::Or
bool CSPDirectiveList::allowInlineStyle(const String& contextURL, const WTF::OrdinalNumber& contextLine, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to apply inline style because it violates the following Content Security Policy directive: "));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to apply inline style because it violates the following Content Security Policy directive: ")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkInlineAndReportViolation(operativeDirective(m_styleSrc.get()), consoleMessage, contextURL, contextLine) :
checkInline(operativeDirective(m_styleSrc.get()));
@@ -937,7 +939,7 @@ bool CSPDirectiveList::allowInlineStyle(const String& contextURL, const WTF::Ord
bool CSPDirectiveList::allowEval(PassRefPtr<ScriptCallStack> callStack, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to evaluate script because it violates the following Content Security Policy directive: "));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to evaluate script because it violates the following Content Security Policy directive: ")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkEvalAndReportViolation(operativeDirective(m_scriptSrc.get()), consoleMessage, String(), WTF::OrdinalNumber::beforeFirst(), callStack) :
checkEval(operativeDirective(m_scriptSrc.get()));
@@ -945,7 +947,7 @@ bool CSPDirectiveList::allowEval(PassRefPtr<ScriptCallStack> callStack, ContentS
bool CSPDirectiveList::allowScriptNonce(const String& nonce, const String& contextURL, const WTF::OrdinalNumber& contextLine, const KURL& url) const
{
- DEFINE_STATIC_LOCAL(String, consoleMessage, ("Refused to execute script because it violates the following Content Security Policy directive: "));
+ DEFINE_STATIC_LOCAL(String, consoleMessage, (ASCIILiteral("Refused to execute script because it violates the following Content Security Policy directive: ")));
if (url.isEmpty())
return checkNonceAndReportViolation(m_scriptNonce.get(), nonce, consoleMessage, contextURL, contextLine);
return checkNonceAndReportViolation(m_scriptNonce.get(), nonce, "Refused to load '" + url.string() + "' because it violates the following Content Security Policy directive: ", contextURL, contextLine);
@@ -960,7 +962,7 @@ bool CSPDirectiveList::allowPluginType(const String& type, const String& typeAtt
bool CSPDirectiveList::allowScriptFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("script"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("script")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(operativeDirective(m_scriptSrc.get()), url, type) :
checkSource(operativeDirective(m_scriptSrc.get()), url);
@@ -968,7 +970,7 @@ bool CSPDirectiveList::allowScriptFromSource(const KURL& url, ContentSecurityPol
bool CSPDirectiveList::allowObjectFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("object"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("object")));
if (url.isBlankURL())
return true;
return reportingStatus == ContentSecurityPolicy::SendReport ?
@@ -978,7 +980,7 @@ bool CSPDirectiveList::allowObjectFromSource(const KURL& url, ContentSecurityPol
bool CSPDirectiveList::allowChildFrameFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("frame"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("frame")));
if (url.isBlankURL())
return true;
return reportingStatus == ContentSecurityPolicy::SendReport ?
@@ -988,7 +990,7 @@ bool CSPDirectiveList::allowChildFrameFromSource(const KURL& url, ContentSecurit
bool CSPDirectiveList::allowImageFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("image"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("image")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(operativeDirective(m_imgSrc.get()), url, type) :
checkSource(operativeDirective(m_imgSrc.get()), url);
@@ -996,7 +998,7 @@ bool CSPDirectiveList::allowImageFromSource(const KURL& url, ContentSecurityPoli
bool CSPDirectiveList::allowStyleFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("style"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("style")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(operativeDirective(m_styleSrc.get()), url, type) :
checkSource(operativeDirective(m_styleSrc.get()), url);
@@ -1004,7 +1006,7 @@ bool CSPDirectiveList::allowStyleFromSource(const KURL& url, ContentSecurityPoli
bool CSPDirectiveList::allowFontFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("font"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("font")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(operativeDirective(m_fontSrc.get()), url, type) :
checkSource(operativeDirective(m_fontSrc.get()), url);
@@ -1012,7 +1014,7 @@ bool CSPDirectiveList::allowFontFromSource(const KURL& url, ContentSecurityPolic
bool CSPDirectiveList::allowMediaFromSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("media"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("media")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(operativeDirective(m_mediaSrc.get()), url, type) :
checkSource(operativeDirective(m_mediaSrc.get()), url);
@@ -1020,7 +1022,7 @@ bool CSPDirectiveList::allowMediaFromSource(const KURL& url, ContentSecurityPoli
bool CSPDirectiveList::allowConnectToSource(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("connect"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("connect")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(operativeDirective(m_connectSrc.get()), url, type) :
checkSource(operativeDirective(m_connectSrc.get()), url);
@@ -1034,7 +1036,7 @@ void CSPDirectiveList::gatherReportURIs(DOMStringList& list) const
bool CSPDirectiveList::allowFormAction(const KURL& url, ContentSecurityPolicy::ReportingStatus reportingStatus) const
{
- DEFINE_STATIC_LOCAL(String, type, ("form"));
+ DEFINE_STATIC_LOCAL(String, type, (ASCIILiteral("form")));
return reportingStatus == ContentSecurityPolicy::SendReport ?
checkSourceAndReportViolation(m_formAction.get(), url, type) :
checkSource(m_formAction.get(), url);
@@ -1108,8 +1110,10 @@ bool CSPDirectiveList::parseDirective(const UChar* begin, const UChar* end, Stri
const UChar* valueBegin = position;
skipWhile<isDirectiveValueCharacter>(position, end);
- if (position != end)
+ if (position != end) {
+ m_policy->reportInvalidDirectiveValueCharacter(name, String(valueBegin, end - valueBegin));
return false;
+ }
// The directive-value may be empty.
if (valueBegin == position)
@@ -1164,21 +1168,21 @@ void CSPDirectiveList::applySandboxPolicy(const String& name, const String& sand
void CSPDirectiveList::addDirective(const String& name, const String& value)
{
- DEFINE_STATIC_LOCAL(String, defaultSrc, ("default-src"));
- DEFINE_STATIC_LOCAL(String, scriptSrc, ("script-src"));
- DEFINE_STATIC_LOCAL(String, objectSrc, ("object-src"));
- DEFINE_STATIC_LOCAL(String, frameSrc, ("frame-src"));
- DEFINE_STATIC_LOCAL(String, imgSrc, ("img-src"));
- DEFINE_STATIC_LOCAL(String, styleSrc, ("style-src"));
- DEFINE_STATIC_LOCAL(String, fontSrc, ("font-src"));
- DEFINE_STATIC_LOCAL(String, mediaSrc, ("media-src"));
- DEFINE_STATIC_LOCAL(String, connectSrc, ("connect-src"));
- DEFINE_STATIC_LOCAL(String, sandbox, ("sandbox"));
- DEFINE_STATIC_LOCAL(String, reportURI, ("report-uri"));
+ DEFINE_STATIC_LOCAL(String, defaultSrc, (ASCIILiteral("default-src")));
+ DEFINE_STATIC_LOCAL(String, scriptSrc, (ASCIILiteral("script-src")));
+ DEFINE_STATIC_LOCAL(String, objectSrc, (ASCIILiteral("object-src")));
+ DEFINE_STATIC_LOCAL(String, frameSrc, (ASCIILiteral("frame-src")));
+ DEFINE_STATIC_LOCAL(String, imgSrc, (ASCIILiteral("img-src")));
+ DEFINE_STATIC_LOCAL(String, styleSrc, (ASCIILiteral("style-src")));
+ DEFINE_STATIC_LOCAL(String, fontSrc, (ASCIILiteral("font-src")));
+ DEFINE_STATIC_LOCAL(String, mediaSrc, (ASCIILiteral("media-src")));
+ DEFINE_STATIC_LOCAL(String, connectSrc, (ASCIILiteral("connect-src")));
+ DEFINE_STATIC_LOCAL(String, sandbox, (ASCIILiteral("sandbox")));
+ DEFINE_STATIC_LOCAL(String, reportURI, (ASCIILiteral("report-uri")));
#if ENABLE(CSP_NEXT)
- DEFINE_STATIC_LOCAL(String, formAction, ("form-action"));
- DEFINE_STATIC_LOCAL(String, pluginTypes, ("plugin-types"));
- DEFINE_STATIC_LOCAL(String, scriptNonce, ("script-nonce"));
+ DEFINE_STATIC_LOCAL(String, formAction, (ASCIILiteral("form-action")));
+ DEFINE_STATIC_LOCAL(String, pluginTypes, (ASCIILiteral("plugin-types")));
+ DEFINE_STATIC_LOCAL(String, scriptNonce, (ASCIILiteral("script-nonce")));
#endif
ASSERT(!name.isEmpty());
@@ -1502,6 +1506,12 @@ void ContentSecurityPolicy::reportInvalidPluginTypes(const String& pluginType) c
logToConsole(message);
}
+void ContentSecurityPolicy::reportInvalidDirectiveValueCharacter(const String& directiveName, const String& value) const
+{
+ String message = makeString("The value for Content Security Policy directive '", directiveName, "' contains an invalid character: '", value, "'. Non-whitespace characters outside ASCII 0x21-0x7E must be percent-encoded, as described in RFC 3986, section 2.1: http://tools.ietf.org/html/rfc3986#section-2.1.");
+ logToConsole(message);
+}
+
void ContentSecurityPolicy::reportInvalidNonce(const String& nonce) const
{
String message = makeString("Ignoring invalid Content Security Policy script nonce: '", nonce, "'.\n");
diff --git a/Source/WebCore/page/ContentSecurityPolicy.h b/Source/WebCore/page/ContentSecurityPolicy.h
index 3c390516a..3d40ec4cd 100644
--- a/Source/WebCore/page/ContentSecurityPolicy.h
+++ b/Source/WebCore/page/ContentSecurityPolicy.h
@@ -100,6 +100,7 @@ public:
void reportDuplicateDirective(const String&) const;
void reportIgnoredPathComponent(const String& directiveName, const String& completeSource, const String& path) const;
+ void reportInvalidDirectiveValueCharacter(const String& directiveName, const String& value) const;
void reportInvalidNonce(const String&) const;
void reportInvalidPluginTypes(const String&) const;
void reportInvalidSourceExpression(const String& directiveName, const String& source) const;
diff --git a/Source/WebCore/page/ContextMenuController.cpp b/Source/WebCore/page/ContextMenuController.cpp
index d9019fc30..87f3cc4d6 100644
--- a/Source/WebCore/page/ContextMenuController.cpp
+++ b/Source/WebCore/page/ContextMenuController.cpp
@@ -149,7 +149,7 @@ PassOwnPtr<ContextMenu> ContextMenuController::createContextMenu(Event* event)
HitTestResult result(mouseEvent->absoluteLocation());
if (Frame* frame = event->target()->toNode()->document()->frame())
- result = frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation(), false);
+ result = frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation());
if (!result.innerNonSharedNode())
return nullptr;
diff --git a/Source/WebCore/page/Coordinates.h b/Source/WebCore/page/Coordinates.h
index ceee538fc..3de1366f1 100644
--- a/Source/WebCore/page/Coordinates.h
+++ b/Source/WebCore/page/Coordinates.h
@@ -27,7 +27,6 @@
#define Coordinates_h
#include "Event.h"
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
namespace WebCore {
diff --git a/Source/WebCore/page/Crypto.cpp b/Source/WebCore/page/Crypto.cpp
index e38350ab1..16709e9e0 100644
--- a/Source/WebCore/page/Crypto.cpp
+++ b/Source/WebCore/page/Crypto.cpp
@@ -63,6 +63,10 @@ void Crypto::getRandomValues(ArrayBufferView* array, ExceptionCode& ec)
ec = TYPE_MISMATCH_ERR;
return;
}
+ if (array->byteLength() > 65536) {
+ ec = QUOTA_EXCEEDED_ERR;
+ return;
+ }
cryptographicallyRandomValues(array->baseAddress(), array->byteLength());
#else
ASSERT_UNUSED(array, array);
diff --git a/Source/WebCore/page/DOMSelection.cpp b/Source/WebCore/page/DOMSelection.cpp
index 59f266f41..c3ad42807 100644
--- a/Source/WebCore/page/DOMSelection.cpp
+++ b/Source/WebCore/page/DOMSelection.cpp
@@ -36,11 +36,11 @@
#include "Frame.h"
#include "FrameSelection.h"
#include "Node.h"
-#include "PlatformString.h"
#include "Range.h"
#include "TextIterator.h"
#include "TreeScope.h"
#include "htmlediting.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/DOMWindow.cpp b/Source/WebCore/page/DOMWindow.cpp
index d787a65bd..6df5a9a99 100644
--- a/Source/WebCore/page/DOMWindow.cpp
+++ b/Source/WebCore/page/DOMWindow.cpp
@@ -1755,10 +1755,16 @@ String DOMWindow::crossDomainAccessErrorMessage(DOMWindow* activeWindow)
if (activeWindowURL.isNull())
return String();
- // FIXME: This error message should contain more specifics of why the same origin check has failed.
- // Perhaps we should involve the security origin object in composing it.
// FIXME: This message, and other console messages, have extra newlines. Should remove them.
- return "Unsafe JavaScript attempt to access frame with URL " + document()->url().string() + " from frame with URL " + activeWindowURL.string() + ". Domains, protocols and ports must match.\n";
+ String message = makeString("Unsafe JavaScript attempt to access frame with URL ", document()->url().string(), " from frame with URL ", activeWindowURL.string(), ".");
+ if (document()->isSandboxed(SandboxOrigin) || activeWindow->document()->isSandboxed(SandboxOrigin)) {
+ if (document()->isSandboxed(SandboxOrigin) && activeWindow->document()->isSandboxed(SandboxOrigin))
+ return makeString("Sandbox access violation: ", message, " Both frames are sandboxed into unique origins.\n");
+ if (document()->isSandboxed(SandboxOrigin))
+ return makeString("Sandbox access violation: ", message, " The frame being accessed is sandboxed into a unique origin.\n");
+ return makeString("Sandbox access violation: ", message, " The frame requesting access is sandboxed into a unique origin.\n");
+ }
+ return makeString(message, " Domains, protocols and ports must match.\n");
}
bool DOMWindow::isInsecureScriptAccess(DOMWindow* activeWindow, const String& urlString)
diff --git a/Source/WebCore/page/DOMWindow.idl b/Source/WebCore/page/DOMWindow.idl
index 53495918d..2e0711cec 100644
--- a/Source/WebCore/page/DOMWindow.idl
+++ b/Source/WebCore/page/DOMWindow.idl
@@ -786,9 +786,9 @@ module window {
attribute [Conditional=MUTATION_OBSERVERS] MutationObserverConstructor WebKitMutationObserver;
- attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] MediaSourceConstructor MediaSource;
- attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] SourceBufferConstructor SourceBuffer;
- attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] SourceBufferListConstructor SourceBufferList;
+ attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] MediaSourceConstructor WebKitMediaSource;
+ attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] SourceBufferConstructor WebKitSourceBuffer;
+ attribute [Conditional=MEDIA_SOURCE, V8EnabledAtRuntime=mediaSource] SourceBufferListConstructor WebKitSourceBufferList;
#endif // defined(LANGUAGE_JAVASCRIPT)
diff --git a/Source/WebCore/page/DiagnosticLoggingKeys.cpp b/Source/WebCore/page/DiagnosticLoggingKeys.cpp
index d71a605a8..ca54547b0 100644
--- a/Source/WebCore/page/DiagnosticLoggingKeys.cpp
+++ b/Source/WebCore/page/DiagnosticLoggingKeys.cpp
@@ -30,55 +30,55 @@ namespace WebCore {
const String& DiagnosticLoggingKeys::mediaLoadedKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("mediaLoaded"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("mediaLoaded")));
return key;
}
const String& DiagnosticLoggingKeys::mediaLoadingFailedKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("mediaFailedLoading"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("mediaFailedLoading")));
return key;
}
const String& DiagnosticLoggingKeys::pluginLoadedKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("pluginLoaded"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("pluginLoaded")));
return key;
}
const String& DiagnosticLoggingKeys::pluginLoadingFailedKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("pluginFailedLoading"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("pluginFailedLoading")));
return key;
}
const String& DiagnosticLoggingKeys::pageContainsPluginKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("pageContainsPlugin"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("pageContainsPlugin")));
return key;
}
const String& DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("pageContainsAtLeastOnePlugin"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("pageContainsAtLeastOnePlugin")));
return key;
}
const String& DiagnosticLoggingKeys::passKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("pass"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("pass")));
return key;
}
const String& DiagnosticLoggingKeys::failKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("fail"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("fail")));
return key;
}
const String& DiagnosticLoggingKeys::noopKey()
{
- DEFINE_STATIC_LOCAL(const String, key, ("noop"));
+ DEFINE_STATIC_LOCAL(const String, key, (ASCIILiteral("noop")));
return key;
}
diff --git a/Source/WebCore/page/DragController.cpp b/Source/WebCore/page/DragController.cpp
index c744c189e..a1e78b80a 100644
--- a/Source/WebCore/page/DragController.cpp
+++ b/Source/WebCore/page/DragController.cpp
@@ -544,7 +544,7 @@ bool DragController::canProcessDrag(DragData* dragData)
if (!m_page->mainFrame()->contentRenderer())
return false;
- result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(point, true);
+ result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(point, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
if (!result.innerNonSharedNode())
return false;
@@ -726,7 +726,7 @@ bool DragController::startDrag(Frame* src, const DragState& state, DragOperation
if (!src->view() || !src->contentRenderer())
return false;
- HitTestResult hitTestResult = src->eventHandler()->hitTestResultAtPoint(dragOrigin, true);
+ HitTestResult hitTestResult = src->eventHandler()->hitTestResultAtPoint(dragOrigin, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
if (!state.m_dragSrc->contains(hitTestResult.innerNode()))
// The original node being dragged isn't under the drag origin anymore... maybe it was
// hidden or moved out from under the cursor. Regardless, we don't want to start a drag on
diff --git a/Source/WebCore/page/EditorClient.h b/Source/WebCore/page/EditorClient.h
index d74636839..e38fda50d 100644
--- a/Source/WebCore/page/EditorClient.h
+++ b/Source/WebCore/page/EditorClient.h
@@ -155,6 +155,10 @@ public:
virtual bool spellingUIIsShowing() = 0;
virtual void willSetInputMethodState() = 0;
virtual void setInputMethodState(bool enabled) = 0;
+
+ // Support for global selections, used on platforms like the X Window System that treat
+ // selection as a type of clipboard.
+ virtual bool supportsGlobalSelection() { return false; }
};
}
diff --git a/Source/WebCore/page/EventHandler.cpp b/Source/WebCore/page/EventHandler.cpp
index 04f636eae..3807c5597 100644
--- a/Source/WebCore/page/EventHandler.cpp
+++ b/Source/WebCore/page/EventHandler.cpp
@@ -308,7 +308,6 @@ EventHandler::EventHandler(Frame* frame)
, m_eventHandlerWillResetCapturingMouseEventsNode(0)
, m_clickCount(0)
, m_mouseDownTimestamp(0)
- , m_useLatchedWheelEventNode(false)
, m_widgetIsLatched(false)
#if PLATFORM(MAC)
, m_mouseDownView(nil)
@@ -1008,7 +1007,7 @@ void EventHandler::updateAutoscrollRenderer()
if (!m_autoscrollRenderer)
return;
- HitTestResult hitTest = hitTestResultAtPoint(m_panScrollStartPos, true);
+ HitTestResult hitTest = hitTestResultAtPoint(m_panScrollStartPos, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
if (Node* nodeAtPoint = hitTest.innerNode())
m_autoscrollRenderer = nodeAtPoint->renderer();
@@ -1040,42 +1039,18 @@ DragSourceAction EventHandler::updateDragSourceActionsAllowed() const
}
#endif // ENABLE(DRAG_SUPPORT)
-HitTestResult EventHandler::hitTestResultAtPoint(const LayoutPoint& point, bool allowShadowContent, bool ignoreClipping, HitTestScrollbars testScrollbars, HitTestRequest::HitTestRequestType hitType, const LayoutSize& padding)
+HitTestResult EventHandler::hitTestResultAtPoint(const LayoutPoint& point, HitTestRequest::HitTestRequestType hitType, const LayoutSize& padding)
{
- enum ShadowContentFilterPolicy shadowContentFilterPolicy = allowShadowContent ? AllowShadowContent : DoNotAllowShadowContent;
- HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width(), shadowContentFilterPolicy);
+ HitTestResult result(point, padding.height(), padding.width(), padding.height(), padding.width());
if (!m_frame->contentRenderer())
return result;
- if (ignoreClipping)
- hitType |= HitTestRequest::IgnoreClipping;
- m_frame->contentRenderer()->hitTest(HitTestRequest(hitType), result);
+ // We always need to handle child frame content.
+ hitType |= HitTestRequest::AllowChildFrameContent;
+
+ HitTestRequest request(hitType);
+ m_frame->contentRenderer()->hitTest(request, result);
- while (true) {
- Node* n = result.innerNode();
- if (!result.isOverWidget() || !n || !n->renderer() || !n->renderer()->isWidget())
- break;
- RenderWidget* renderWidget = toRenderWidget(n->renderer());
- Widget* widget = renderWidget->widget();
- if (!widget || !widget->isFrameView())
- break;
- Frame* frame = static_cast<HTMLFrameElementBase*>(n)->contentFrame();
- if (!frame || !frame->contentRenderer())
- break;
- FrameView* view = static_cast<FrameView*>(widget);
- LayoutPoint widgetPoint(result.localPoint().x() + view->scrollX() - renderWidget->borderLeft() - renderWidget->paddingLeft(),
- result.localPoint().y() + view->scrollY() - renderWidget->borderTop() - renderWidget->paddingTop());
- HitTestResult widgetHitTestResult(widgetPoint, padding.height(), padding.width(), padding.height(), padding.width(), shadowContentFilterPolicy);
- frame->contentRenderer()->hitTest(HitTestRequest(hitType), widgetHitTestResult);
- result = widgetHitTestResult;
-
- if (testScrollbars == ShouldHitTestScrollbars) {
- Scrollbar* eventScrollbar = view->scrollbarAtPoint(roundedIntPoint(point));
- if (eventScrollbar)
- result.setScrollbar(eventScrollbar);
- }
- }
-
// If our HitTestResult is not visible, then we started hit testing too far down the frame chain.
// Another hit test at the main frame level should get us the correct visible result.
Frame* resultFrame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : 0;
@@ -1086,12 +1061,12 @@ HitTestResult EventHandler::hitTestResultAtPoint(const LayoutPoint& point, bool
FrameView* mainView = mainFrame->view();
if (resultView && mainView) {
IntPoint mainFramePoint = mainView->rootViewToContents(resultView->contentsToRootView(roundedIntPoint(result.point())));
- result = mainFrame->eventHandler()->hitTestResultAtPoint(mainFramePoint, allowShadowContent, ignoreClipping, testScrollbars, hitType, padding);
+ result = mainFrame->eventHandler()->hitTestResultAtPoint(mainFramePoint, hitType, padding);
}
}
}
- if (!allowShadowContent)
+ if (!request.allowsShadowContent())
result.setToNonShadowAncestor();
return result;
@@ -1501,7 +1476,7 @@ bool EventHandler::handleMousePressEvent(const PlatformMouseEvent& mouseEvent)
m_mouseDownWasInSubframe = false;
HitTestRequest request(HitTestRequest::Active);
- // Save the document point we generate in case the window coordinate is invalidated by what happens
+ // Save the document point we generate in case the window coordinate is invalidated by what happens
// when we dispatch the event.
LayoutPoint documentPoint = documentPointForWindowPoint(m_frame, mouseEvent.position());
MouseEventWithHitTestResults mev = m_frame->document()->prepareMouseEvent(request, documentPoint, mouseEvent);
@@ -2299,11 +2274,9 @@ bool EventHandler::handleWheelEvent(const PlatformWheelEvent& e)
HitTestResult result(vPoint);
doc->renderView()->hitTest(request, result);
-#if PLATFORM(MAC)
- m_useLatchedWheelEventNode = e.momentumPhase() == PlatformWheelEventPhaseBegan || e.momentumPhase() == PlatformWheelEventPhaseChanged;
-#endif
+ bool useLatchedWheelEventNode = e.useLatchedEventNode();
- if (m_useLatchedWheelEventNode) {
+ if (useLatchedWheelEventNode) {
if (!m_latchedWheelEventNode) {
m_latchedWheelEventNode = result.innerNode();
m_widgetIsLatched = result.isOverWidget();
@@ -2367,7 +2340,7 @@ void EventHandler::defaultWheelEventHandler(Node* startNode, WheelEvent* wheelEv
if (scrollNode(wheelEvent->rawDeltaY(), granularity, ScrollUp, ScrollDown, startNode, &stopNode))
wheelEvent->setDefaultHandled();
- if (!m_useLatchedWheelEventNode)
+ if (!m_latchedWheelEventNode)
m_previousWheelScrolledNode = stopNode;
}
@@ -2403,7 +2376,7 @@ bool EventHandler::handleGestureEvent(const PlatformGestureEvent& gestureEvent)
eventTarget = m_scrollGestureHandlingNode.get();
if (!eventTarget) {
- HitTestResult result = hitTestResultAtPoint(gestureEvent.position(), false, false, DontHitTestScrollbars, HitTestRequest::ReadOnly | HitTestRequest::Active);
+ HitTestResult result = hitTestResultAtPoint(gestureEvent.position());
eventTarget = result.targetNode();
}
@@ -2454,8 +2427,8 @@ bool EventHandler::handleGestureTap(const PlatformGestureEvent& gestureEvent)
// FIXME: Refactor this code to not hit test multiple times. We use the adjusted position to ensure that the correct node is targeted by the later redundant hit tests.
IntPoint adjustedPoint = gestureEvent.position();
#if ENABLE(TOUCH_ADJUSTMENT)
- if (!gestureEvent.area().isEmpty() && !adjustGesturePosition(gestureEvent, adjustedPoint))
- return false;
+ if (!gestureEvent.area().isEmpty())
+ adjustGesturePosition(gestureEvent, adjustedPoint);
#endif
PlatformMouseEvent fakeMouseMove(adjustedPoint, gestureEvent.globalPosition(),
@@ -2490,7 +2463,6 @@ bool EventHandler::handleGestureScrollUpdate(const PlatformGestureEvent& gesture
bool EventHandler::handleGestureScrollCore(const PlatformGestureEvent& gestureEvent, PlatformWheelEventGranularity granularity, bool latchedWheel)
{
- TemporaryChange<bool> latched(m_useLatchedWheelEventNode, latchedWheel);
const float tickDivisor = (float)WheelEvent::tickMultiplier;
IntPoint point(gestureEvent.position().x(), gestureEvent.position().y());
IntPoint globalPoint(gestureEvent.globalPosition().x(), gestureEvent.globalPosition().y());
@@ -2498,6 +2470,7 @@ bool EventHandler::handleGestureScrollCore(const PlatformGestureEvent& gestureEv
gestureEvent.deltaX(), gestureEvent.deltaY(), gestureEvent.deltaX() / tickDivisor, gestureEvent.deltaY() / tickDivisor,
granularity,
gestureEvent.shiftKey(), gestureEvent.ctrlKey(), gestureEvent.altKey(), gestureEvent.metaKey());
+ syntheticWheelEvent.setUseLatchedEventNode(latchedWheel);
return handleWheelEvent(syntheticWheelEvent);
}
#endif
@@ -2505,9 +2478,8 @@ bool EventHandler::handleGestureScrollCore(const PlatformGestureEvent& gestureEv
#if ENABLE(TOUCH_ADJUSTMENT)
bool EventHandler::bestClickableNodeForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntPoint& targetPoint, Node*& targetNode)
{
- HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active;
IntPoint hitTestPoint = m_frame->view()->windowToContents(touchCenter);
- HitTestResult result = hitTestResultAtPoint(hitTestPoint, /*allowShadowContent*/ true, /*ignoreClipping*/ false, DontHitTestScrollbars, hitType, touchRadius);
+ HitTestResult result = hitTestResultAtPoint(hitTestPoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent, touchRadius);
IntRect touchRect(touchCenter - touchRadius, touchRadius + touchRadius);
RefPtr<StaticHashSetNodeList> nodeList = StaticHashSetNodeList::adopt(result.rectBasedTestResult());
@@ -2524,9 +2496,8 @@ bool EventHandler::bestClickableNodeForTouchPoint(const IntPoint& touchCenter, c
bool EventHandler::bestContextMenuNodeForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntPoint& targetPoint, Node*& targetNode)
{
- HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active;
IntPoint hitTestPoint = m_frame->view()->windowToContents(touchCenter);
- HitTestResult result = hitTestResultAtPoint(hitTestPoint, /*allowShadowContent*/ true, /*ignoreClipping*/ false, DontHitTestScrollbars, hitType, touchRadius);
+ HitTestResult result = hitTestResultAtPoint(hitTestPoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent, touchRadius);
IntRect touchRect(touchCenter - touchRadius, touchRadius + touchRadius);
RefPtr<StaticHashSetNodeList> nodeList = StaticHashSetNodeList::adopt(result.rectBasedTestResult());
@@ -2535,9 +2506,8 @@ bool EventHandler::bestContextMenuNodeForTouchPoint(const IntPoint& touchCenter,
bool EventHandler::bestZoomableAreaForTouchPoint(const IntPoint& touchCenter, const IntSize& touchRadius, IntRect& targetArea, Node*& targetNode)
{
- HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active;
IntPoint hitTestPoint = m_frame->view()->windowToContents(touchCenter);
- HitTestResult result = hitTestResultAtPoint(hitTestPoint, /*allowShadowContent*/ false, /*ignoreClipping*/ false, DontHitTestScrollbars, hitType, touchRadius);
+ HitTestResult result = hitTestResultAtPoint(hitTestPoint, HitTestRequest::ReadOnly | HitTestRequest::Active, touchRadius);
IntRect touchRect(touchCenter - touchRadius, touchRadius + touchRadius);
RefPtr<StaticHashSetNodeList> nodeList = StaticHashSetNodeList::adopt(result.rectBasedTestResult());
@@ -3579,7 +3549,7 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
unsigned touchPointTargetKey = point.id() + 1;
RefPtr<EventTarget> touchTarget;
if (pointState == PlatformTouchPoint::TouchPressed) {
- HitTestResult result = hitTestResultAtPoint(pagePoint, /*allowShadowContent*/ false, false, DontHitTestScrollbars, hitType);
+ HitTestResult result = hitTestResultAtPoint(pagePoint, hitType);
Node* node = result.innerNode();
ASSERT(node);
@@ -3597,7 +3567,7 @@ bool EventHandler::handleTouchEvent(const PlatformTouchEvent& event)
touchTarget = node;
} else if (pointState == PlatformTouchPoint::TouchReleased || pointState == PlatformTouchPoint::TouchCancelled) {
// We only perform a hittest on release or cancel to unset :active or :hover state.
- hitTestResultAtPoint(pagePoint, /*allowShadowContent*/ false, false, DontHitTestScrollbars, hitType);
+ hitTestResultAtPoint(pagePoint, hitType);
// The target should be the original target for this touch, so get it from the hashmap. As it's a release or cancel
// we also remove it from the map.
touchTarget = m_originatingTouchPointTargets.take(touchPointTargetKey);
diff --git a/Source/WebCore/page/EventHandler.h b/Source/WebCore/page/EventHandler.h
index ac0ff0b1f..97d0bd03f 100644
--- a/Source/WebCore/page/EventHandler.h
+++ b/Source/WebCore/page/EventHandler.h
@@ -88,8 +88,6 @@ extern const int TextDragHysteresis;
extern const int GeneralDragHysteresis;
#endif // ENABLE(DRAG_SUPPORT)
-enum HitTestScrollbars { ShouldHitTestScrollbars, DontHitTestScrollbars };
-
class EventHandler {
WTF_MAKE_NONCOPYABLE(EventHandler);
public:
@@ -115,9 +113,7 @@ public:
void dispatchFakeMouseMoveEventSoon();
void dispatchFakeMouseMoveEventSoonInQuad(const FloatQuad&);
- HitTestResult hitTestResultAtPoint(const LayoutPoint&, bool allowShadowContent, bool ignoreClipping = false,
- HitTestScrollbars scrollbars = DontHitTestScrollbars,
- HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active,
+ HitTestResult hitTestResultAtPoint(const LayoutPoint&, HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active,
const LayoutSize& padding = LayoutSize());
bool mousePressed() const { return m_mousePressed; }
@@ -430,7 +426,6 @@ private:
double m_mouseDownTimestamp;
PlatformMouseEvent m_mouseDown;
- bool m_useLatchedWheelEventNode;
RefPtr<Node> m_latchedWheelEventNode;
bool m_widgetIsLatched;
diff --git a/Source/WebCore/page/EventSource.cpp b/Source/WebCore/page/EventSource.cpp
index 03f78e988..610170208 100644
--- a/Source/WebCore/page/EventSource.cpp
+++ b/Source/WebCore/page/EventSource.cpp
@@ -41,7 +41,6 @@
#include "ExceptionCode.h"
#include "MemoryCache.h"
#include "MessageEvent.h"
-#include "PlatformString.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
@@ -51,6 +50,7 @@
#include "SerializedScriptValue.h"
#include "TextResourceDecoder.h"
#include "ThreadableLoader.h"
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -210,20 +210,22 @@ void EventSource::didReceiveResponse(unsigned long, const ResourceResponse& resp
// If we have a charset, the only allowed value is UTF-8 (case-insensitive).
responseIsValid = charset.isEmpty() || equalIgnoringCase(charset, "UTF-8");
if (!responseIsValid) {
- String message = "EventSource's response has a charset (\"";
- message += charset;
- message += "\") that is not UTF-8. Aborting the connection.";
+ StringBuilder message;
+ message.appendLiteral("EventSource's response has a charset (\"");
+ message.append(charset);
+ message.appendLiteral("\") that is not UTF-8. Aborting the connection.");
// FIXME: We are missing the source line.
- scriptExecutionContext()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message);
+ scriptExecutionContext()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message.toString());
}
} else {
// To keep the signal-to-noise ratio low, we only log 200-response with an invalid MIME type.
if (statusCode == 200 && !mimeTypeIsValid) {
- String message = "EventSource's response has a MIME type (\"";
- message += response.mimeType();
- message += "\") that is not \"text/event-stream\". Aborting the connection.";
+ StringBuilder message;
+ message.appendLiteral("EventSource's response has a MIME type (\"");
+ message.append(response.mimeType());
+ message.appendLiteral("\") that is not \"text/event-stream\". Aborting the connection.");
// FIXME: We are missing the source line.
- scriptExecutionContext()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message);
+ scriptExecutionContext()->addConsoleMessage(JSMessageSource, LogMessageType, ErrorMessageLevel, message.toString());
}
}
diff --git a/Source/WebCore/page/FocusController.cpp b/Source/WebCore/page/FocusController.cpp
index 41e9ffdd5..0705c0bfa 100644
--- a/Source/WebCore/page/FocusController.cpp
+++ b/Source/WebCore/page/FocusController.cpp
@@ -163,7 +163,7 @@ static inline void dispatchEventsOnWindowAndFocusedNode(Document* document, bool
static inline bool hasCustomFocusLogic(Node* node)
{
- return node->hasTagName(inputTag) || node->hasTagName(textareaTag) || node->hasTagName(videoTag) || node->hasTagName(audioTag);
+ return node->isHTMLElement() && toHTMLElement(node)->hasCustomFocusLogic();
}
static inline bool isNonFocusableShadowHost(Node* node, KeyboardEvent* event)
@@ -745,7 +745,7 @@ static void updateFocusCandidateIfNeeded(FocusDirection direction, const FocusCa
// If 2 nodes are intersecting, do hit test to find which node in on top.
LayoutUnit x = intersectionRect.x() + intersectionRect.width() / 2;
LayoutUnit y = intersectionRect.y() + intersectionRect.height() / 2;
- HitTestResult result = candidate.visibleNode->document()->page()->mainFrame()->eventHandler()->hitTestResultAtPoint(IntPoint(x, y), false, true);
+ HitTestResult result = candidate.visibleNode->document()->page()->mainFrame()->eventHandler()->hitTestResultAtPoint(IntPoint(x, y), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
if (candidate.visibleNode->contains(result.innerNode())) {
closest = candidate;
return;
diff --git a/Source/WebCore/page/Frame.cpp b/Source/WebCore/page/Frame.cpp
index 1874ddef2..471726729 100644
--- a/Source/WebCore/page/Frame.cpp
+++ b/Source/WebCore/page/Frame.cpp
@@ -303,11 +303,10 @@ void Frame::setDocument(PassRefPtr<Document> newDoc)
if (m_doc && !m_doc->attached())
m_doc->attach();
- // Update the cached 'document' property, which is now stale.
- m_script.updateDocument();
-
- if (m_doc)
+ if (m_doc) {
+ m_script.updateDocument();
m_doc->updateViewportArguments();
+ }
if (m_page && m_page->mainFrame() == this) {
notifyChromeClientWheelEventHandlerCountChanged();
@@ -675,7 +674,7 @@ void Frame::dispatchVisibilityStateChangeEvent()
void Frame::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_doc.get());
info.addInstrumentedMember(m_loader);
}
@@ -725,7 +724,7 @@ String Frame::displayStringModifiedByEncoding(const String& str) const
VisiblePosition Frame::visiblePositionForPoint(const IntPoint& framePoint)
{
- HitTestResult result = eventHandler()->hitTestResultAtPoint(framePoint, true);
+ HitTestResult result = eventHandler()->hitTestResultAtPoint(framePoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
Node* node = result.innerNonSharedNode();
if (!node)
return VisiblePosition();
@@ -747,7 +746,7 @@ Document* Frame::documentAtPoint(const IntPoint& point)
HitTestResult result = HitTestResult(pt);
if (contentRenderer())
- result = eventHandler()->hitTestResultAtPoint(pt, false);
+ result = eventHandler()->hitTestResultAtPoint(pt);
return result.innerNode() ? result.innerNode()->document() : 0;
}
@@ -851,7 +850,7 @@ void Frame::tiledBackingStorePaintEnd(const Vector<IntRect>& paintedArea)
return;
unsigned size = paintedArea.size();
// Request repaint from the system
- for (int n = 0; n < size; ++n)
+ for (unsigned n = 0; n < size; ++n)
m_page->chrome()->invalidateContentsAndRootView(m_view->contentsToRootView(paintedArea[n]), false);
}
diff --git a/Source/WebCore/page/FrameTree.cpp b/Source/WebCore/page/FrameTree.cpp
index 6378f3fc8..6f8171450 100644
--- a/Source/WebCore/page/FrameTree.cpp
+++ b/Source/WebCore/page/FrameTree.cpp
@@ -30,6 +30,7 @@
#include <wtf/StringExtras.h>
#include <wtf/Vector.h>
#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
using std::swap;
@@ -150,29 +151,23 @@ AtomicString FrameTree::uniqueChildName(const AtomicString& requestedName) const
break;
chain.append(frame);
}
- String name;
- name += framePathPrefix;
- if (frame)
- name += frame->tree()->uniqueName().string().substring(framePathPrefixLength,
- frame->tree()->uniqueName().length() - framePathPrefixLength - framePathSuffixLength);
+ StringBuilder name;
+ name.append(framePathPrefix);
+ if (frame) {
+ name.append(frame->tree()->uniqueName().string().substring(framePathPrefixLength,
+ frame->tree()->uniqueName().length() - framePathPrefixLength - framePathSuffixLength));
+ }
for (int i = chain.size() - 1; i >= 0; --i) {
frame = chain[i];
- name += "/";
- name += frame->tree()->uniqueName();
+ name.append('/');
+ name.append(frame->tree()->uniqueName());
}
- // Suffix buffer has more than enough space for:
- // 10 characters before the number
- // 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.
- char suffix[40];
- snprintf(suffix, sizeof(suffix), "/<!--frame%u-->-->", childCount());
-
- name += suffix;
+ name.appendLiteral("/<!--frame");
+ name.appendNumber(childCount());
+ name.appendLiteral("-->-->");
- return AtomicString(name);
+ return name.toAtomicString();
}
inline Frame* FrameTree::scopedChild(unsigned index, TreeScope* scope) const
diff --git a/Source/WebCore/page/FrameView.cpp b/Source/WebCore/page/FrameView.cpp
index 4c495fd5a..f4924f121 100644
--- a/Source/WebCore/page/FrameView.cpp
+++ b/Source/WebCore/page/FrameView.cpp
@@ -101,7 +101,7 @@ double FrameView::sCurrentPaintTimeStamp = 0.0;
// Should be removed when applications start using runtime configuration.
#if ENABLE(REPAINT_THROTTLING)
// Normal delay
-double FrameView::s_deferredRepaintDelay = 0.025;
+double FrameView::s_normalDeferredRepaintDelay = 0.016;
// Negative value would mean that first few repaints happen without a delay
double FrameView::s_initialDeferredRepaintDelayDuringLoading = 0;
// The delay grows on each repaint to this maximum value
@@ -112,7 +112,7 @@ double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0.5;
// FIXME: Repaint throttling could be good to have on all platform.
// The balance between CPU use and repaint frequency will need some tuning for desktop.
// More hooks may be needed to reset the delay on things like GIF and CSS animations.
-double FrameView::s_deferredRepaintDelay = 0;
+double FrameView::s_normalDeferredRepaintDelay = 0;
double FrameView::s_initialDeferredRepaintDelayDuringLoading = 0;
double FrameView::s_maxDeferredRepaintDelayDuringLoading = 0;
double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0;
@@ -609,8 +609,6 @@ void FrameView::applyOverflowToViewport(RenderObject* o, ScrollbarMode& hMode, S
// Don't set it at all.
;
}
-
- Pagination pagination;
switch (overflowY) {
case OHIDDEN:
@@ -625,22 +623,42 @@ void FrameView::applyOverflowToViewport(RenderObject* o, ScrollbarMode& hMode, S
case OAUTO:
vMode = ScrollbarAuto;
break;
- case OPAGEDX:
- pagination.mode = WebCore::paginationModeForRenderStyle(o->style());
- break;
- case OPAGEDY:
- pagination.mode = WebCore::paginationModeForRenderStyle(o->style());
- break;
default:
- // Don't set it at all.
+ // Don't set it at all. Values of OPAGEDX and OPAGEDY are handled by applyPaginationToViewPort().
;
}
- setPagination(pagination);
-
m_viewportRenderer = o;
}
+void FrameView::applyPaginationToViewport()
+{
+ Document* document = m_frame->document();
+ Node* documentElement = document->documentElement();
+ RenderObject* documentRenderer = documentElement ? documentElement->renderer() : 0;
+ RenderObject* documentOrBodyRenderer = documentRenderer;
+ Node* body = document->body();
+ if (body && body->renderer()) {
+ if (body->hasTagName(bodyTag))
+ documentOrBodyRenderer = documentRenderer->style()->overflowX() == OVISIBLE && documentElement->hasTagName(htmlTag) ? body->renderer() : documentRenderer;
+ }
+
+ Pagination pagination;
+
+ if (!documentOrBodyRenderer) {
+ setPagination(pagination);
+ return;
+ }
+
+ EOverflow overflowY = documentOrBodyRenderer->style()->overflowY();
+ if (overflowY == OPAGEDX || overflowY == OPAGEDY) {
+ pagination.mode = WebCore::paginationModeForRenderStyle(documentOrBodyRenderer->style());
+ pagination.gap = static_cast<unsigned>(documentOrBodyRenderer->style()->columnGap());
+ }
+
+ setPagination(pagination);
+}
+
void FrameView::calculateScrollbarModesForLayout(ScrollbarMode& hMode, ScrollbarMode& vMode, ScrollbarModesCalculationStrategy strategy)
{
m_viewportRenderer = 0;
@@ -788,7 +806,7 @@ bool FrameView::syncCompositingStateForThisFrame(Frame* rootFrameForSync)
// If we sync compositing layers and allow the repaint to be deferred, there is time for a
// visible flash to occur. Instead, stop the deferred repaint timer and repaint immediately.
- stopDelayingDeferredRepaints();
+ flushDeferredRepaints();
root->compositor()->flushPendingLayerChanges(rootFrameForSync == m_frame);
@@ -1035,6 +1053,10 @@ void FrameView::layout(bool allowSubtree)
} else
document->evaluateMediaQueryList();
+ // If there is any pagination to apply, it will affect the RenderView's style, so we should
+ // take care of that now.
+ applyPaginationToViewport();
+
// Always ensure our style info is up-to-date. This can happen in situations where
// the layout beats any sort of style recalc update that needs to occur.
document->updateStyleIfNeeded();
@@ -1314,7 +1336,7 @@ void FrameView::adjustMediaTypeForPrinting(bool printing)
bool FrameView::useSlowRepaints(bool considerOverlap) const
{
- bool mustBeSlow = m_slowRepaintObjectCount > 0 || (platformWidget() && hasFixedObjects());
+ bool mustBeSlow = m_slowRepaintObjectCount > 0 || (platformWidget() && hasViewportConstrainedObjects());
// FIXME: WidgetMac.mm makes the assumption that useSlowRepaints ==
// m_contentIsOpaque, so don't take the fast path for composited layers
@@ -1399,13 +1421,13 @@ void FrameView::removeSlowRepaintObject()
}
}
-void FrameView::addFixedObject(RenderObject* object)
+void FrameView::addViewportConstrainedObject(RenderObject* object)
{
- if (!m_fixedObjects)
- m_fixedObjects = adoptPtr(new FixedObjectSet);
+ if (!m_viewportConstrainedObjects)
+ m_viewportConstrainedObjects = adoptPtr(new ViewportConstrainedObjectSet);
- if (!m_fixedObjects->contains(object)) {
- m_fixedObjects->add(object);
+ if (!m_viewportConstrainedObjects->contains(object)) {
+ m_viewportConstrainedObjects->add(object);
if (platformWidget())
updateCanBlitOnScrollRecursively();
@@ -1416,12 +1438,10 @@ void FrameView::addFixedObject(RenderObject* object)
}
}
-void FrameView::removeFixedObject(RenderObject* object)
+void FrameView::removeViewportConstrainedObject(RenderObject* object)
{
- ASSERT(hasFixedObjects());
-
- if (m_fixedObjects->contains(object)) {
- m_fixedObjects->remove(object);
+ if (m_viewportConstrainedObjects && m_viewportConstrainedObjects->contains(object)) {
+ m_viewportConstrainedObjects->remove(object);
if (Page* page = m_frame->page()) {
if (ScrollingCoordinator* scrollingCoordinator = page->scrollingCoordinator())
scrollingCoordinator->frameViewFixedObjectsDidChange(this);
@@ -1490,7 +1510,7 @@ IntPoint FrameView::currentMousePosition() const
bool FrameView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect& rectToScroll, const IntRect& clipRect)
{
- if (!m_fixedObjects || m_fixedObjects->isEmpty()) {
+ if (!m_viewportConstrainedObjects || m_viewportConstrainedObjects->isEmpty()) {
hostWindow()->scroll(scrollDelta, rectToScroll, clipRect);
return true;
}
@@ -1499,10 +1519,10 @@ bool FrameView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect
// Get the rects of the fixed objects visible in the rectToScroll
Region regionToUpdate;
- FixedObjectSet::const_iterator end = m_fixedObjects->end();
- for (FixedObjectSet::const_iterator it = m_fixedObjects->begin(); it != end; ++it) {
+ ViewportConstrainedObjectSet::const_iterator end = m_viewportConstrainedObjects->end();
+ for (ViewportConstrainedObjectSet::const_iterator it = m_viewportConstrainedObjects->begin(); it != end; ++it) {
RenderObject* renderer = *it;
- if (renderer->style()->position() != FixedPosition)
+ if (!renderer->style()->hasViewportConstrainedPosition())
continue;
#if USE(ACCELERATED_COMPOSITING)
if (renderer->isComposited())
@@ -1533,8 +1553,8 @@ bool FrameView::scrollContentsFastPath(const IntSize& scrollDelta, const IntRect
// 2) update the area of fixed objects that has been invalidated
Vector<IntRect> subRectsToUpdate = regionToUpdate.rects();
- size_t fixObjectsCount = subRectsToUpdate.size();
- for (size_t i = 0; i < fixObjectsCount; ++i) {
+ size_t viewportConstrainedObjectsCount = subRectsToUpdate.size();
+ for (size_t i = 0; i < viewportConstrainedObjectsCount; ++i) {
IntRect updateRect = subRectsToUpdate[i];
IntRect scrolledRect = updateRect;
scrolledRect.move(scrollDelta);
@@ -1723,7 +1743,7 @@ void FrameView::scrollElementToRect(Element* element, const IntRect& rect)
{
m_frame->document()->updateLayoutIgnorePendingStylesheets();
- LayoutRect bounds = element->getRect();
+ LayoutRect bounds = element->boundingBox();
int centeringOffsetX = (rect.width() - bounds.width()) / 2;
int centeringOffsetY = (rect.height() - bounds.height()) / 2;
setScrollPosition(IntPoint(bounds.x() - centeringOffsetX - rect.x(), bounds.y() - centeringOffsetY - rect.y()));
@@ -1754,9 +1774,8 @@ void FrameView::setFixedVisibleContentRect(const IntRect& visibleContentRect)
bool visibleContentSizeDidChange = false;
if (visibleContentRect.size() != this->fixedVisibleContentRect().size()) {
// When the viewport size changes or the content is scaled, we need to
- // reposition the fixed positioned elements.
- if (RenderView* root = rootRenderer(this))
- root->setFixedPositionedObjectsNeedLayout();
+ // reposition the fixed and sticky positioned elements.
+ setViewportConstrainedObjectsNeedLayout();
visibleContentSizeDidChange = true;
}
@@ -1775,6 +1794,19 @@ void FrameView::setFixedVisibleContentRect(const IntRect& visibleContentRect)
frame()->loader()->client()->didChangeScrollOffset();
}
+void FrameView::setViewportConstrainedObjectsNeedLayout()
+{
+ if (!hasViewportConstrainedObjects())
+ return;
+
+ ViewportConstrainedObjectSet::const_iterator end = m_viewportConstrainedObjects->end();
+ for (ViewportConstrainedObjectSet::const_iterator it = m_viewportConstrainedObjects->begin(); it != end; ++it) {
+ RenderObject* renderer = *it;
+ renderer->setNeedsLayout(true);
+ }
+}
+
+
void FrameView::scrollPositionChangedViaPlatformWidget()
{
repaintFixedElementsAfterScrolling();
@@ -1799,7 +1831,7 @@ void FrameView::repaintFixedElementsAfterScrolling()
{
// For fixed position elements, update widget positions and compositing layers after scrolling,
// but only if we're not inside of layout.
- if (!m_nestedLayoutCount && hasFixedObjects()) {
+ if (!m_nestedLayoutCount && hasViewportConstrainedObjects()) {
if (RenderView* root = rootRenderer(this)) {
root->updateWidgetPositions();
root->layer()->updateLayerPositionsAfterScroll();
@@ -1810,7 +1842,7 @@ void FrameView::repaintFixedElementsAfterScrolling()
void FrameView::updateFixedElementsAfterScrolling()
{
#if USE(ACCELERATED_COMPOSITING)
- if (m_nestedLayoutCount <= 1 && hasFixedObjects()) {
+ if (m_nestedLayoutCount <= 1 && hasViewportConstrainedObjects()) {
if (RenderView* root = rootRenderer(this)) {
root->compositor()->updateCompositingLayers(CompositingUpdateOnScroll);
}
@@ -1970,25 +2002,22 @@ void FrameView::startDeferredRepaintTimer(double delay)
m_deferredRepaintTimer.startOneShot(delay);
}
-void FrameView::checkStopDelayingDeferredRepaints()
+void FrameView::checkFlushDeferredRepaintsAfterLoadComplete()
{
- Document* document = m_frame->document();
- if (document && (document->parsing() || document->cachedResourceLoader()->requestCount()))
+ if (shouldUseLoadTimeDeferredRepaintDelay())
return;
-
- stopDelayingDeferredRepaints();
+ m_deferredRepaintDelay = s_normalDeferredRepaintDelay;
+ flushDeferredRepaints();
}
-
-void FrameView::stopDelayingDeferredRepaints()
+
+void FrameView::flushDeferredRepaints()
{
if (!m_deferredRepaintTimer.isActive())
return;
-
m_deferredRepaintTimer.stop();
-
doDeferredRepaints();
}
-
+
void FrameView::doDeferredRepaints()
{
if (m_disableRepaints)
@@ -2013,21 +2042,32 @@ void FrameView::doDeferredRepaints()
m_repaintRects.clear();
m_repaintCount = 0;
- updateDeferredRepaintDelay();
+ updateDeferredRepaintDelayAfterRepaint();
}
-void FrameView::updateDeferredRepaintDelay()
+bool FrameView::shouldUseLoadTimeDeferredRepaintDelay() const
{
+ // Don't defer after the initial load of the page has been completed.
+ if (m_frame->tree()->top()->loader()->isComplete())
+ return false;
Document* document = m_frame->document();
- if (!document || (!document->parsing() && !document->cachedResourceLoader()->requestCount())) {
- m_deferredRepaintDelay = s_deferredRepaintDelay;
+ if (!document)
+ return false;
+ if (document->parsing())
+ return true;
+ if (document->cachedResourceLoader()->requestCount())
+ return true;
+ return false;
+}
+
+void FrameView::updateDeferredRepaintDelayAfterRepaint()
+{
+ if (!shouldUseLoadTimeDeferredRepaintDelay()) {
+ m_deferredRepaintDelay = s_normalDeferredRepaintDelay;
return;
}
- if (m_deferredRepaintDelay < s_maxDeferredRepaintDelayDuringLoading) {
- m_deferredRepaintDelay += s_deferredRepaintDelayIncrementDuringLoading;
- if (m_deferredRepaintDelay > s_maxDeferredRepaintDelayDuringLoading)
- m_deferredRepaintDelay = s_maxDeferredRepaintDelayDuringLoading;
- }
+ double incrementedRepaintDelay = m_deferredRepaintDelay + s_deferredRepaintDelayIncrementDuringLoading;
+ m_deferredRepaintDelay = std::min(incrementedRepaintDelay, s_maxDeferredRepaintDelayDuringLoading);
}
void FrameView::resetDeferredRepaintDelay()
@@ -2090,7 +2130,7 @@ void FrameView::scheduleRelayout()
return;
if (!m_frame->document()->shouldScheduleLayout())
return;
-
+ InspectorInstrumentation::didInvalidateLayout(m_frame.get());
// When frame flattening is enabled, the contents of the frame could affect the layout of the parent frames.
// Also invalidate parent frame starting from the owner element of this frame.
if (m_frame->ownerRenderer() && isInChildFrameWithFrameFlattening())
@@ -2152,6 +2192,7 @@ void FrameView::scheduleRelayoutOfSubtree(RenderObject* relayoutRoot)
}
}
} else if (m_layoutSchedulingEnabled) {
+ InspectorInstrumentation::didInvalidateLayout(m_frame.get());
int delay = m_frame->document()->minimumLayoutDelay();
m_layoutRoot = relayoutRoot;
ASSERT(!m_layoutRoot->container() || !m_layoutRoot->container()->needsLayout());
@@ -2300,7 +2341,7 @@ void FrameView::scrollToAnchor()
LayoutRect rect;
if (anchorNode != m_frame->document())
- rect = anchorNode->getRect();
+ rect = anchorNode->boundingBox();
// Scroll nested layers and frames to reveal the anchor.
// Align to the top and to the closest side (this matches other browsers).
@@ -3112,9 +3153,6 @@ void FrameView::paintContents(GraphicsContext* p, const IntRect& rect)
p->fillRect(rect, Color(0xFF, 0, 0), ColorSpaceDeviceRGB);
#endif
- if (pagination().mode != Pagination::Unpaginated)
- p->fillRect(rect, baseBackgroundColor(), ColorSpaceDeviceRGB);
-
bool isTopLevelPainter = !sCurrentPaintTimeStamp;
if (isTopLevelPainter)
sCurrentPaintTimeStamp = currentTime();
@@ -3294,14 +3332,6 @@ void FrameView::updateLayoutAndStyleIfNeededRecursive()
// This assert ensures that parent frames are clean, when child frames finished updating layout and style.
ASSERT(!needsLayout());
}
-
-void FrameView::flushDeferredRepaints()
-{
- if (!m_deferredRepaintTimer.isActive())
- return;
- m_deferredRepaintTimer.stop();
- doDeferredRepaints();
-}
void FrameView::enableAutoSizeMode(bool enable, const IntSize& minSize, const IntSize& maxSize)
{
@@ -3551,7 +3581,7 @@ IntPoint FrameView::convertFromContainingView(const IntPoint& parentPoint) const
// Normal delay
void FrameView::setRepaintThrottlingDeferredRepaintDelay(double p)
{
- s_deferredRepaintDelay = p;
+ s_normalDeferredRepaintDelay = p;
}
// Negative value would mean that first few repaints happen without a delay
diff --git a/Source/WebCore/page/FrameView.h b/Source/WebCore/page/FrameView.h
index 7e73150b8..0756c4978 100644
--- a/Source/WebCore/page/FrameView.h
+++ b/Source/WebCore/page/FrameView.h
@@ -197,11 +197,12 @@ public:
void removeSlowRepaintObject();
bool hasSlowRepaintObjects() const { return m_slowRepaintObjectCount; }
- typedef HashSet<RenderObject*> FixedObjectSet;
- void addFixedObject(RenderObject*);
- void removeFixedObject(RenderObject*);
- const FixedObjectSet* fixedObjects() const { return m_fixedObjects.get(); }
- bool hasFixedObjects() const { return m_fixedObjects && m_fixedObjects->size() > 0; }
+ // Includes fixed- and sticky-position objects.
+ typedef HashSet<RenderObject*> ViewportConstrainedObjectSet;
+ void addViewportConstrainedObject(RenderObject*);
+ void removeViewportConstrainedObject(RenderObject*);
+ const ViewportConstrainedObjectSet* viewportConstrainedObjects() const { return m_viewportConstrainedObjects.get(); }
+ bool hasViewportConstrainedObjects() const { return m_viewportConstrainedObjects && m_viewportConstrainedObjects->size() > 0; }
// Functions for querying the current scrolled position, negating the effects of overhang
// and adjusting for page scale.
@@ -211,8 +212,8 @@ public:
void beginDeferredRepaints();
void endDeferredRepaints();
- void checkStopDelayingDeferredRepaints();
- void stopDelayingDeferredRepaints();
+ void checkFlushDeferredRepaintsAfterLoadComplete();
+ void flushDeferredRepaints();
void startDeferredRepaintTimer(double delay);
void resetDeferredRepaintDelay();
@@ -264,7 +265,6 @@ public:
static double currentPaintTimeStamp() { return sCurrentPaintTimeStamp; } // returns 0 if not painting
void updateLayoutAndStyleIfNeededRecursive();
- void flushDeferredRepaints();
void incrementVisuallyNonEmptyCharacterCount(unsigned);
void incrementVisuallyNonEmptyPixelCount(const IntSize&);
@@ -381,6 +381,7 @@ private:
bool contentsInCompositedLayer() const;
void applyOverflowToViewport(RenderObject*, ScrollbarMode& hMode, ScrollbarMode& vMode);
+ void applyPaginationToViewport();
void updateOverflowStatus(bool horizontalOverflow, bool verticalOverflow);
@@ -426,9 +427,10 @@ private:
virtual void notifyPageThatContentAreaWillPaint() const;
+ bool shouldUseLoadTimeDeferredRepaintDelay() const;
void deferredRepaintTimerFired(Timer<FrameView>*);
void doDeferredRepaints();
- void updateDeferredRepaintDelay();
+ void updateDeferredRepaintDelayAfterRepaint();
double adjustedDeferredRepaintDelay() const;
bool updateWidgets();
@@ -444,6 +446,8 @@ private:
bool doLayoutWithFrameFlattening(bool allowSubtree);
+ void setViewportConstrainedObjectsNeedLayout();
+
virtual AXObjectCache* axObjectCache() const;
void notifyWidgetsInAllFrames(WidgetNotification);
@@ -542,9 +546,9 @@ private:
IntSize m_maxAutoSize;
OwnPtr<ScrollableAreaSet> m_scrollableAreas;
- OwnPtr<FixedObjectSet> m_fixedObjects;
+ OwnPtr<ViewportConstrainedObjectSet> m_viewportConstrainedObjects;
- static double s_deferredRepaintDelay;
+ static double s_normalDeferredRepaintDelay;
static double s_initialDeferredRepaintDelayDuringLoading;
static double s_maxDeferredRepaintDelayDuringLoading;
static double s_deferredRepaintDelayIncrementDuringLoading;
diff --git a/Source/WebCore/page/GroupSettings.h b/Source/WebCore/page/GroupSettings.h
index 1bbad2b55..603d06a01 100644
--- a/Source/WebCore/page/GroupSettings.h
+++ b/Source/WebCore/page/GroupSettings.h
@@ -26,8 +26,8 @@
#ifndef GroupSettings_h
#define GroupSettings_h
-#include "PlatformString.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/History.idl b/Source/WebCore/page/History.idl
index 6e8f6ab06..2c7d7998c 100644
--- a/Source/WebCore/page/History.idl
+++ b/Source/WebCore/page/History.idl
@@ -20,7 +20,7 @@
* 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
module window {
@@ -42,10 +42,10 @@ module window {
[DoNotCheckSecurity, CallWith=ScriptExecutionContext] void back();
[DoNotCheckSecurity, CallWith=ScriptExecutionContext] void forward();
[DoNotCheckSecurity, CallWith=ScriptExecutionContext] void go(in [Optional=DefaultIsUndefined] long distance);
-
- [Custom, V8EnabledAtRuntime] void pushState(in any data, in DOMString title, in [Optional] DOMString url)
+
+ [Custom] void pushState(in any data, in DOMString title, in [Optional] DOMString url)
raises(DOMException);
- [Custom, V8EnabledAtRuntime] void replaceState(in any data, in DOMString title, in [Optional] DOMString url)
+ [Custom] void replaceState(in any data, in DOMString title, in [Optional] DOMString url)
raises(DOMException);
};
diff --git a/Source/WebCore/page/NavigatorBase.cpp b/Source/WebCore/page/NavigatorBase.cpp
index 83b859af6..7febae4e5 100644
--- a/Source/WebCore/page/NavigatorBase.cpp
+++ b/Source/WebCore/page/NavigatorBase.cpp
@@ -28,7 +28,8 @@
#include "NavigatorBase.h"
#include "NetworkStateNotifier.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
+
#if OS(LINUX)
#include "sys/utsname.h"
#include <wtf/StdLibExtras.h>
diff --git a/Source/WebCore/page/OriginAccessEntry.h b/Source/WebCore/page/OriginAccessEntry.h
index 67e39fe14..183600bde 100644
--- a/Source/WebCore/page/OriginAccessEntry.h
+++ b/Source/WebCore/page/OriginAccessEntry.h
@@ -31,7 +31,7 @@
#ifndef OriginAccessEntry_h
#define OriginAccessEntry_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/Page.cpp b/Source/WebCore/page/Page.cpp
index 8c70f7854..2983808ea 100644
--- a/Source/WebCore/page/Page.cpp
+++ b/Source/WebCore/page/Page.cpp
@@ -392,6 +392,7 @@ void Page::setGroupName(const String& name)
const String& Page::groupName() const
{
DEFINE_STATIC_LOCAL(String, nullString, ());
+ // FIXME: Why not just return String()?
return m_group ? m_group->name() : nullString;
}
@@ -836,7 +837,7 @@ const String& Page::userStyleSheet() const
RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/css");
m_userStyleSheet = decoder->decode(data->data(), data->size());
- m_userStyleSheet += decoder->flush();
+ m_userStyleSheet.append(decoder->flush());
return m_userStyleSheet;
}
diff --git a/Source/WebCore/page/Page.h b/Source/WebCore/page/Page.h
index 2ba722acc..a218d5d4c 100644
--- a/Source/WebCore/page/Page.h
+++ b/Source/WebCore/page/Page.h
@@ -27,7 +27,6 @@
#include "PageVisibilityState.h"
#include "Pagination.h"
#include "PlatformScreen.h"
-#include "PlatformString.h"
#include "Region.h"
#include "Supplementable.h"
#include "ViewportArguments.h"
@@ -35,6 +34,7 @@
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
#if OS(SOLARIS)
#include <sys/time.h> // For time_t structure.
diff --git a/Source/WebCore/page/PageVisibilityState.cpp b/Source/WebCore/page/PageVisibilityState.cpp
index de1196e83..d9f774e79 100644
--- a/Source/WebCore/page/PageVisibilityState.cpp
+++ b/Source/WebCore/page/PageVisibilityState.cpp
@@ -37,10 +37,10 @@ namespace WebCore {
String pageVisibilityStateString(PageVisibilityState state)
{
- DEFINE_STATIC_LOCAL(const String, visible, ("visible"));
- DEFINE_STATIC_LOCAL(const String, hidden, ("hidden"));
- DEFINE_STATIC_LOCAL(const String, prerender, ("prerender"));
- DEFINE_STATIC_LOCAL(const String, preview, ("preview"));
+ DEFINE_STATIC_LOCAL(const String, visible, (ASCIILiteral("visible")));
+ DEFINE_STATIC_LOCAL(const String, hidden, (ASCIILiteral("hidden")));
+ DEFINE_STATIC_LOCAL(const String, prerender, (ASCIILiteral("prerender")));
+ DEFINE_STATIC_LOCAL(const String, preview, (ASCIILiteral("preview")));
switch (state) {
case PageVisibilityStateVisible:
diff --git a/Source/WebCore/page/PointerLockController.cpp b/Source/WebCore/page/PointerLockController.cpp
index ad7960962..ddbb84fd0 100644
--- a/Source/WebCore/page/PointerLockController.cpp
+++ b/Source/WebCore/page/PointerLockController.cpp
@@ -62,6 +62,7 @@ void PointerLockController::requestPointerLock(Element* target)
enqueueEvent(eventNames().webkitpointerlockchangeEvent, target);
m_element = target;
} else if (m_page->chrome()->client()->requestPointerLock()) {
+ m_lockPending = true;
m_element = target;
} else {
enqueueEvent(eventNames().webkitpointerlockerrorEvent, target);
@@ -79,7 +80,7 @@ void PointerLockController::elementRemoved(Element* element)
m_documentOfRemovedElementWhileWaitingForUnlock = m_element->document();
// Set element null immediately to block any future interaction with it
// including mouse events received before the unlock completes.
- m_element = 0;
+ clearElement();
requestPointerUnlock();
}
}
@@ -87,11 +88,16 @@ void PointerLockController::elementRemoved(Element* element)
void PointerLockController::documentDetached(Document* document)
{
if (m_element && m_element->document() == document) {
- m_element = 0;
+ clearElement();
requestPointerUnlock();
}
}
+bool PointerLockController::lockPending() const
+{
+ return m_lockPending;
+}
+
Element* PointerLockController::element() const
{
return m_element.get();
@@ -100,18 +106,19 @@ Element* PointerLockController::element() const
void PointerLockController::didAcquirePointerLock()
{
enqueueEvent(eventNames().webkitpointerlockchangeEvent, m_element.get());
+ m_lockPending = false;
}
void PointerLockController::didNotAcquirePointerLock()
{
enqueueEvent(eventNames().webkitpointerlockerrorEvent, m_element.get());
- m_element = 0;
+ clearElement();
}
void PointerLockController::didLosePointerLock()
{
enqueueEvent(eventNames().webkitpointerlockchangeEvent, m_element ? m_element->document() : m_documentOfRemovedElementWhileWaitingForUnlock.get());
- m_element = 0;
+ clearElement();
m_documentOfRemovedElementWhileWaitingForUnlock = 0;
}
@@ -127,6 +134,12 @@ void PointerLockController::dispatchLockedMouseEvent(const PlatformMouseEvent& e
m_element->dispatchMouseEvent(event, eventNames().clickEvent, event.clickCount());
}
+void PointerLockController::clearElement()
+{
+ m_lockPending = false;
+ m_element = 0;
+}
+
void PointerLockController::enqueueEvent(const AtomicString& type, Element* element)
{
if (element)
diff --git a/Source/WebCore/page/PointerLockController.h b/Source/WebCore/page/PointerLockController.h
index a942f9368..c820754ae 100644
--- a/Source/WebCore/page/PointerLockController.h
+++ b/Source/WebCore/page/PointerLockController.h
@@ -48,6 +48,7 @@ public:
void requestPointerUnlock();
void elementRemoved(Element*);
void documentDetached(Document*);
+ bool lockPending() const;
Element* element() const;
void didAcquirePointerLock();
@@ -57,9 +58,11 @@ public:
private:
explicit PointerLockController(Page*);
+ void clearElement();
void enqueueEvent(const AtomicString& type, Element*);
void enqueueEvent(const AtomicString& type, Document*);
Page* m_page;
+ bool m_lockPending;
RefPtr<Element> m_element;
RefPtr<Document> m_documentOfRemovedElementWhileWaitingForUnlock;
};
diff --git a/Source/WebCore/page/SecurityOrigin.cpp b/Source/WebCore/page/SecurityOrigin.cpp
index f5cd1c52e..da15021bd 100644
--- a/Source/WebCore/page/SecurityOrigin.cpp
+++ b/Source/WebCore/page/SecurityOrigin.cpp
@@ -53,18 +53,7 @@ static bool schemeRequiresAuthority(const KURL& url)
return url.protocolIsInHTTPFamily() || url.protocolIs("ftp");
}
-// Some URL schemes use nested URLs for their security context. For example,
-// filesystem URLs look like the following:
-//
-// filesystem:http://example.com/temporary/path/to/file.png
-//
-// We're supposed to use "http://example.com" as the origin.
-//
-// Generally, we add URL schemes to this list when WebKit support them. For
-// example, we don't include the "jar" scheme, even though Firefox understands
-// that jar uses an inner URL for it's security origin.
-//
-static bool shouldUseInnerURL(const KURL& url)
+bool SecurityOrigin::shouldUseInnerURL(const KURL& url)
{
#if ENABLE(BLOB)
if (url.protocolIs("blob"))
@@ -81,7 +70,7 @@ static bool shouldUseInnerURL(const KURL& url)
// In general, extracting the inner URL varies by scheme. It just so happens
// that all the URL schemes we currently support that use inner URLs for their
// security origin can be parsed using this algorithm.
-static KURL extractInnerURL(const KURL& url)
+KURL SecurityOrigin::extractInnerURL(const KURL& url)
{
if (url.innerURL())
return *url.innerURL();
@@ -105,7 +94,7 @@ static bool shouldTreatAsUniqueOrigin(const KURL& url)
return true;
// FIXME: Do we need to unwrap the URL further?
- KURL innerURL = shouldUseInnerURL(url) ? extractInnerURL(url) : url;
+ KURL innerURL = SecurityOrigin::shouldUseInnerURL(url) ? SecurityOrigin::extractInnerURL(url) : url;
// FIXME: Check whether innerURL is valid.
@@ -133,7 +122,7 @@ SecurityOrigin::SecurityOrigin(const KURL& url)
, m_isUnique(false)
, m_universalAccess(false)
, m_domainWasSetInDOM(false)
- , m_blockThirdPartyStorage(false)
+ , m_storageBlockingPolicy(AllowAllStorage)
, m_enforceFilePathSeparation(false)
, m_needsDatabaseIdentifierQuirkForFiles(false)
{
@@ -159,7 +148,7 @@ SecurityOrigin::SecurityOrigin()
, m_universalAccess(false)
, m_domainWasSetInDOM(false)
, m_canLoadLocalResources(false)
- , m_blockThirdPartyStorage(false)
+ , m_storageBlockingPolicy(AllowAllStorage)
, m_enforceFilePathSeparation(false)
, m_needsDatabaseIdentifierQuirkForFiles(false)
{
@@ -176,7 +165,7 @@ SecurityOrigin::SecurityOrigin(const SecurityOrigin* other)
, m_universalAccess(other->m_universalAccess)
, m_domainWasSetInDOM(other->m_domainWasSetInDOM)
, m_canLoadLocalResources(other->m_canLoadLocalResources)
- , m_blockThirdPartyStorage(other->m_blockThirdPartyStorage)
+ , m_storageBlockingPolicy(other->m_storageBlockingPolicy)
, m_enforceFilePathSeparation(other->m_enforceFilePathSeparation)
, m_needsDatabaseIdentifierQuirkForFiles(other->m_needsDatabaseIdentifierQuirkForFiles)
{
@@ -400,7 +389,10 @@ bool SecurityOrigin::canAccessStorage(const SecurityOrigin* topOrigin) const
if (!topOrigin)
return true;
- if ((m_blockThirdPartyStorage || topOrigin->m_blockThirdPartyStorage) && topOrigin->isThirdParty(this))
+ if (m_storageBlockingPolicy == BlockAllStorage || topOrigin->m_storageBlockingPolicy == BlockAllStorage)
+ return false;
+
+ if ((m_storageBlockingPolicy == BlockThirdPartyStorage || topOrigin->m_storageBlockingPolicy == BlockThirdPartyStorage) && topOrigin->isThirdParty(this))
return false;
return true;
@@ -480,8 +472,8 @@ String SecurityOrigin::toRawString() const
result.append(m_host);
if (m_port) {
- result.append(":");
- result.append(String::number(m_port));
+ result.append(':');
+ result.appendNumber(m_port);
}
return result.toString();
diff --git a/Source/WebCore/page/SecurityOrigin.h b/Source/WebCore/page/SecurityOrigin.h
index 2e32cfb69..e8120eda0 100644
--- a/Source/WebCore/page/SecurityOrigin.h
+++ b/Source/WebCore/page/SecurityOrigin.h
@@ -29,8 +29,8 @@
#ifndef SecurityOrigin_h
#define SecurityOrigin_h
-#include "PlatformString.h"
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -45,6 +45,12 @@ public:
Ask
};
+ enum StorageBlockingPolicy {
+ AllowAllStorage = 0,
+ BlockThirdPartyStorage,
+ BlockAllStorage
+ };
+
static PassRefPtr<SecurityOrigin> create(const KURL&);
static PassRefPtr<SecurityOrigin> createUnique();
@@ -52,6 +58,19 @@ public:
static PassRefPtr<SecurityOrigin> createFromString(const String&);
static PassRefPtr<SecurityOrigin> create(const String& protocol, const String& host, int port);
+ // Some URL schemes use nested URLs for their security context. For example,
+ // filesystem URLs look like the following:
+ //
+ // filesystem:http://example.com/temporary/path/to/file.png
+ //
+ // We're supposed to use "http://example.com" as the origin.
+ //
+ // Generally, we add URL schemes to this list when WebKit support them. For
+ // example, we don't include the "jar" scheme, even though Firefox
+ // understands that "jar" uses an inner URL for it's security origin.
+ static bool shouldUseInnerURL(const KURL&);
+ static KURL extractInnerURL(const KURL&);
+
// Create a deep copy of this SecurityOrigin. This method is useful
// when marshalling a SecurityOrigin to another thread.
PassRefPtr<SecurityOrigin> isolatedCopy() const;
@@ -121,10 +140,12 @@ public:
// WARNING: This is an extremely powerful ability. Use with caution!
void grantUniversalAccess();
- void blockThirdPartyStorage() { m_blockThirdPartyStorage = true; }
+ void setStorageBlockingPolicy(StorageBlockingPolicy policy) { m_storageBlockingPolicy = policy; }
bool canAccessDatabase(const SecurityOrigin* topOrigin = 0) const { return canAccessStorage(topOrigin); };
bool canAccessLocalStorage(const SecurityOrigin* topOrigin) const { return canAccessStorage(topOrigin); };
+ bool canAccessSharedWorkers(const SecurityOrigin* topOrigin) const { return canAccessStorage(topOrigin); }
+ bool canAccessPluginStorage(const SecurityOrigin* topOrigin) const { return canAccessStorage(topOrigin); }
bool canAccessCookies() const { return !isUnique(); }
bool canAccessPasswordManager() const { return !isUnique(); }
bool canAccessFileSystem() const { return !isUnique(); }
@@ -204,7 +225,7 @@ private:
bool m_universalAccess;
bool m_domainWasSetInDOM;
bool m_canLoadLocalResources;
- bool m_blockThirdPartyStorage;
+ StorageBlockingPolicy m_storageBlockingPolicy;
bool m_enforceFilePathSeparation;
bool m_needsDatabaseIdentifierQuirkForFiles;
};
diff --git a/Source/WebCore/page/Settings.cpp b/Source/WebCore/page/Settings.cpp
index e97c64f73..f25150b51 100644
--- a/Source/WebCore/page/Settings.cpp
+++ b/Source/WebCore/page/Settings.cpp
@@ -138,6 +138,7 @@ Settings::Settings(Page* page)
, m_sessionStorageQuota(StorageMap::noQuota)
, m_editingBehaviorType(editingBehaviorTypeForPlatform())
, m_maximumHTMLParserDOMTreeDepth(defaultMaximumHTMLParserDOMTreeDepth)
+ , m_storageBlockingPolicy(SecurityOrigin::AllowAllStorage)
#if ENABLE(TEXT_AUTOSIZING)
, m_textAutosizingFontScaleFactor(1)
#if HACK_FORCE_TEXT_AUTOSIZING_ON_DESKTOP
@@ -284,7 +285,6 @@ Settings::Settings(Page* page)
, m_cookieEnabled(true)
, m_windowFocusRestricted(true)
, m_diagnosticLoggingEnabled(false)
- , m_thirdPartyStorageBlockingEnabled(false)
, m_scrollingPerformanceLoggingEnabled(false)
, m_loadsImagesAutomaticallyTimer(this, &Settings::loadsImagesAutomaticallyTimerFired)
, m_incrementalRenderingSuppressionTimeoutInSeconds(defaultIncrementalRenderingSuppressionTimeoutInSeconds)
diff --git a/Source/WebCore/page/Settings.h b/Source/WebCore/page/Settings.h
index fd4d9a992..6fa3bc024 100644
--- a/Source/WebCore/page/Settings.h
+++ b/Source/WebCore/page/Settings.h
@@ -30,6 +30,7 @@
#include "EditingBehaviorTypes.h"
#include "FontRenderingMode.h"
#include "KURL.h"
+#include "SecurityOrigin.h"
#include "Timer.h"
#include <wtf/HashMap.h>
#include <wtf/text/AtomicString.h>
@@ -601,8 +602,8 @@ namespace WebCore {
void setWindowFocusRestricted(bool restricted) { m_windowFocusRestricted = restricted; }
bool windowFocusRestricted() const { return m_windowFocusRestricted; }
- void setThirdPartyStorageBlockingEnabled(bool enabled) { m_thirdPartyStorageBlockingEnabled = enabled; }
- bool thirdPartyStorageBlockingEnabled() const { return m_thirdPartyStorageBlockingEnabled; }
+ void setStorageBlockingPolicy(SecurityOrigin::StorageBlockingPolicy policy) { m_storageBlockingPolicy = policy; }
+ SecurityOrigin::StorageBlockingPolicy storageBlockingPolicy() const { return m_storageBlockingPolicy; }
void setScrollingPerformanceLoggingEnabled(bool);
bool scrollingPerformanceLoggingEnabled() { return m_scrollingPerformanceLoggingEnabled; }
@@ -652,6 +653,7 @@ namespace WebCore {
unsigned m_sessionStorageQuota;
unsigned m_editingBehaviorType;
unsigned m_maximumHTMLParserDOMTreeDepth;
+ SecurityOrigin::StorageBlockingPolicy m_storageBlockingPolicy;
#if ENABLE(TEXT_AUTOSIZING)
float m_textAutosizingFontScaleFactor;
IntSize m_textAutosizingWindowSizeOverride;
@@ -795,8 +797,6 @@ namespace WebCore {
bool m_diagnosticLoggingEnabled : 1;
- bool m_thirdPartyStorageBlockingEnabled : 1;
-
bool m_scrollingPerformanceLoggingEnabled : 1;
Timer<Settings> m_loadsImagesAutomaticallyTimer;
diff --git a/Source/WebCore/page/SpatialNavigation.cpp b/Source/WebCore/page/SpatialNavigation.cpp
index 4150b64f3..a9a11e368 100644
--- a/Source/WebCore/page/SpatialNavigation.cpp
+++ b/Source/WebCore/page/SpatialNavigation.cpp
@@ -522,7 +522,7 @@ LayoutRect nodeRectInAbsoluteCoordinates(Node* node, bool ignoreBorder)
if (node->isDocumentNode())
return frameRectInAbsoluteCoordinates(static_cast<Document*>(node)->frame());
- LayoutRect rect = rectToAbsoluteCoordinates(node->document()->frame(), node->getRect());
+ LayoutRect rect = rectToAbsoluteCoordinates(node->document()->frame(), node->boundingBox());
// For authors that use border instead of outline in their CSS, we compensate by ignoring the border when calculating
// the rect of the focused element.
diff --git a/Source/WebCore/page/SpeechInputResult.h b/Source/WebCore/page/SpeechInputResult.h
index 457f07835..895f122cb 100644
--- a/Source/WebCore/page/SpeechInputResult.h
+++ b/Source/WebCore/page/SpeechInputResult.h
@@ -28,9 +28,9 @@
#if ENABLE(INPUT_SPEECH)
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/TouchDisambiguation.cpp b/Source/WebCore/page/TouchDisambiguation.cpp
new file mode 100644
index 000000000..215bc1cb0
--- /dev/null
+++ b/Source/WebCore/page/TouchDisambiguation.cpp
@@ -0,0 +1,127 @@
+/*
+ * Copyright (C) 2012 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 "TouchDisambiguation.h"
+
+#include "Document.h"
+#include "Element.h"
+#include "Frame.h"
+#include "FrameView.h"
+#include "HTMLNames.h"
+#include "HitTestResult.h"
+#include <algorithm>
+#include <cmath>
+
+using namespace std;
+
+namespace WebCore {
+
+static IntRect boundingBoxForEventNodes(Node* eventNode)
+{
+ if (!eventNode->document()->view())
+ return IntRect();
+
+ IntRect result;
+ Node* node = eventNode;
+ while (node) {
+ // Skip the whole sub-tree if the node doesn't propagate events.
+ if (node != eventNode && node->willRespondToMouseClickEvents()) {
+ node = node->traverseNextSibling(eventNode);
+ continue;
+ }
+ result.unite(node->pixelSnappedBoundingBox());
+ node = node->traverseNextNode(eventNode);
+ }
+ return eventNode->document()->view()->contentsToWindow(result);
+}
+
+static float scoreTouchTarget(IntPoint touchPoint, int padding, IntRect boundingBox)
+{
+ if (boundingBox.isEmpty())
+ return 0;
+
+ float reciprocalPadding = 1.f / padding;
+ float score = 1;
+
+ IntSize distance = boundingBox.differenceToPoint(touchPoint);
+ score *= max((padding - abs(distance.width())) * reciprocalPadding, 0.f);
+ score *= max((padding - abs(distance.height())) * reciprocalPadding, 0.f);
+
+ return score;
+}
+
+struct TouchTargetData {
+ IntRect windowBoundingBox;
+ float score;
+};
+
+void findGoodTouchTargets(const IntRect& touchBox, Frame* mainFrame, float pageScaleFactor, Vector<IntRect>& goodTargets)
+{
+ goodTargets.clear();
+
+ int touchPointPadding = ceil(max(touchBox.width(), touchBox.height()) * 0.5);
+ // FIXME: Rect-based hit test doesn't transform the touch point size.
+ // We have to pre-apply page scale factor here.
+ int padding = ceil(touchPointPadding / pageScaleFactor);
+
+ IntPoint touchPoint = touchBox.center();
+ IntPoint contentsPoint = mainFrame->view()->windowToContents(touchPoint);
+
+ HitTestResult result = mainFrame->eventHandler()->hitTestResultAtPoint(contentsPoint, HitTestRequest::ReadOnly | HitTestRequest::Active, IntSize(padding, padding));
+ const ListHashSet<RefPtr<Node> >& hitResults = result.rectBasedTestResult();
+
+ HashMap<Node*, TouchTargetData> touchTargets;
+ float bestScore = 0;
+ for (ListHashSet<RefPtr<Node> >::const_iterator it = hitResults.begin(); it != hitResults.end(); ++it) {
+ for (Node* node = it->get(); node; node = node->parentNode()) {
+ if (node->isDocumentNode() || node->hasTagName(HTMLNames::htmlTag) || node->hasTagName(HTMLNames::bodyTag))
+ break;
+ if (node->willRespondToMouseClickEvents()) {
+ TouchTargetData& targetData = touchTargets.add(node, TouchTargetData()).iterator->second;
+ targetData.windowBoundingBox = boundingBoxForEventNodes(node);
+ targetData.score = scoreTouchTarget(touchPoint, touchPointPadding, targetData.windowBoundingBox);
+ bestScore = max(bestScore, targetData.score);
+ break;
+ }
+ }
+ }
+
+ for (HashMap<Node*, TouchTargetData>::iterator it = touchTargets.begin(); it != touchTargets.end(); ++it) {
+ // Currently the scoring function uses the overlap area with the fat point as the score.
+ // We ignore the candidates that has less than 1/2 overlap (we consider not really ambiguous enough) than the best candidate to avoid excessive popups.
+ if (it->second.score < bestScore * 0.5)
+ continue;
+ goodTargets.append(it->second.windowBoundingBox);
+ }
+}
+
+} // namespace WebCore
diff --git a/Source/WebCore/bindings/v8/IsolatedWorld.cpp b/Source/WebCore/page/TouchDisambiguation.h
index 368646171..5afeb6b5b 100644
--- a/Source/WebCore/bindings/v8/IsolatedWorld.cpp
+++ b/Source/WebCore/page/TouchDisambiguation.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2012 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
@@ -28,22 +28,18 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "IsolatedWorld.h"
+#ifndef TouchDisambiguation_h
+#define TouchDisambiguation_h
-namespace WebCore {
+#include <wtf/Vector.h>
-int IsolatedWorld::isolatedWorldCount = 0;
+namespace WebCore {
-IsolatedWorld::IsolatedWorld(int id)
-{
- ++isolatedWorldCount;
- m_id = id;
-}
+class Frame;
+class IntRect;
-IsolatedWorld::~IsolatedWorld()
-{
- --isolatedWorldCount;
-}
+void findGoodTouchTargets(const IntRect& touchBox, Frame* mainFrame, float pageScaleFactor, Vector<IntRect>& goodTargets);
} // namespace WebCore
+
+#endif
diff --git a/Source/WebCore/page/UserContentURLPattern.cpp b/Source/WebCore/page/UserContentURLPattern.cpp
index 272284a5a..676b65573 100644
--- a/Source/WebCore/page/UserContentURLPattern.cpp
+++ b/Source/WebCore/page/UserContentURLPattern.cpp
@@ -61,7 +61,7 @@ bool UserContentURLPattern::matchesPatterns(const KURL& url, const Vector<String
bool UserContentURLPattern::parse(const String& pattern)
{
- DEFINE_STATIC_LOCAL(const String, schemeSeparator, ("://"));
+ DEFINE_STATIC_LOCAL(const String, schemeSeparator, (ASCIILiteral("://")));
size_t schemeEndPos = pattern.find(schemeSeparator);
if (schemeEndPos == notFound)
diff --git a/Source/WebCore/page/UserContentURLPattern.h b/Source/WebCore/page/UserContentURLPattern.h
index 3450ed178..51d9fee33 100644
--- a/Source/WebCore/page/UserContentURLPattern.h
+++ b/Source/WebCore/page/UserContentURLPattern.h
@@ -26,8 +26,8 @@
#ifndef UserContentURLPattern_h
#define UserContentURLPattern_h
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/WindowFeatures.cpp b/Source/WebCore/page/WindowFeatures.cpp
index 75641528d..6cde9b5ef 100644
--- a/Source/WebCore/page/WindowFeatures.cpp
+++ b/Source/WebCore/page/WindowFeatures.cpp
@@ -24,7 +24,6 @@
#include "WindowFeatures.h"
#include "FloatRect.h"
-#include "PlatformString.h"
#include <wtf/Assertions.h>
#include <wtf/MathExtras.h>
#include <wtf/text/StringHash.h>
diff --git a/Source/WebCore/page/WindowFeatures.h b/Source/WebCore/page/WindowFeatures.h
index 7449d850e..204b7f8f4 100644
--- a/Source/WebCore/page/WindowFeatures.h
+++ b/Source/WebCore/page/WindowFeatures.h
@@ -29,8 +29,8 @@
#ifndef WindowFeatures_h
#define WindowFeatures_h
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/WorkerNavigator.h b/Source/WebCore/page/WorkerNavigator.h
index 4622b741b..a01c44ccb 100644
--- a/Source/WebCore/page/WorkerNavigator.h
+++ b/Source/WebCore/page/WorkerNavigator.h
@@ -29,10 +29,10 @@
#if ENABLE(WORKERS)
#include "NavigatorBase.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/animation/AnimationControllerPrivate.h b/Source/WebCore/page/animation/AnimationControllerPrivate.h
index 9a336cd32..ec76f1c98 100644
--- a/Source/WebCore/page/animation/AnimationControllerPrivate.h
+++ b/Source/WebCore/page/animation/AnimationControllerPrivate.h
@@ -30,7 +30,6 @@
#define AnimationControllerPrivate_h
#include "CSSPropertyNames.h"
-#include "PlatformString.h"
#include "Timer.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
@@ -38,6 +37,7 @@
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/AtomicString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/page/animation/CSSPropertyAnimation.cpp b/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
index f2a81cb0c..f442755a0 100644
--- a/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
+++ b/Source/WebCore/page/animation/CSSPropertyAnimation.cpp
@@ -901,7 +901,6 @@ private:
Vector<AnimationPropertyWrapperBase*> m_propertyWrappers;
};
-#if ENABLE(CSS3_FLEXBOX)
class PropertyWrapperFlex : public AnimationPropertyWrapperBase {
public:
PropertyWrapperFlex() : AnimationPropertyWrapperBase(CSSPropertyWebkitFlex)
@@ -927,7 +926,6 @@ public:
dst->setFlexShrink(blendFunc(anim, a->flexShrink(), b->flexShrink(), progress));
}
};
-#endif
#if ENABLE(SVG)
class PropertyWrapperSVGPaint : public AnimationPropertyWrapperBase {
@@ -1046,9 +1044,7 @@ void CSSPropertyAnimation::ensurePropertyMap()
gPropertyWrappers->append(new PropertyWrapper<Length>(CSSPropertyMinHeight, &RenderStyle::minHeight, &RenderStyle::setMinHeight));
gPropertyWrappers->append(new PropertyWrapper<Length>(CSSPropertyMaxHeight, &RenderStyle::maxHeight, &RenderStyle::setMaxHeight));
-#if ENABLE(CSS3_FLEXBOX)
gPropertyWrappers->append(new PropertyWrapperFlex());
-#endif
gPropertyWrappers->append(new PropertyWrapper<unsigned>(CSSPropertyBorderLeftWidth, &RenderStyle::borderLeftWidth, &RenderStyle::setBorderLeftWidth));
gPropertyWrappers->append(new PropertyWrapper<unsigned>(CSSPropertyBorderRightWidth, &RenderStyle::borderRightWidth, &RenderStyle::setBorderRightWidth));
diff --git a/Source/WebCore/page/mac/EventHandlerMac.mm b/Source/WebCore/page/mac/EventHandlerMac.mm
index 76245dab6..bd8ee4704 100644
--- a/Source/WebCore/page/mac/EventHandlerMac.mm
+++ b/Source/WebCore/page/mac/EventHandlerMac.mm
@@ -50,6 +50,7 @@
#include "WebCoreSystemInterface.h"
#include <objc/objc-runtime.h>
#include <wtf/MainThread.h>
+#include <wtf/ObjcRuntimeExtras.h>
#include <wtf/StdLibExtras.h>
namespace WebCore {
@@ -412,7 +413,7 @@ static void selfRetainingNSScrollViewScrollWheel(NSScrollView *self, SEL selecto
if (shouldRetainSelf)
[self retain];
- originalNSScrollViewScrollWheel(self, selector, event);
+ wtfCallIMP<void>(originalNSScrollViewScrollWheel, self, selector, event);
if (shouldRetainSelf)
[self release];
}
diff --git a/Source/WebCore/page/scrolling/ScrollingConstraints.cpp b/Source/WebCore/page/scrolling/ScrollingConstraints.cpp
new file mode 100644
index 000000000..b94ee6279
--- /dev/null
+++ b/Source/WebCore/page/scrolling/ScrollingConstraints.cpp
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2012 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 "ScrollingConstraints.h"
+
+namespace WebCore {
+
+FloatSize StickyPositionViewportConstraints::computeStickyOffset(const FloatRect& viewportRect) const
+{
+ FloatRect boxRect = m_absoluteStickyBoxRect;
+
+ if (hasAnchorEdge(AnchorEdgeRight)) {
+ float rightLimit = viewportRect.maxX() - m_rightOffset;
+ float rightDelta = std::min<float>(0, rightLimit - m_absoluteStickyBoxRect.maxX());
+ float availableSpace = std::min<float>(0, m_absoluteContainingBlockRect.x() - m_absoluteStickyBoxRect.x());
+ if (rightDelta < availableSpace)
+ rightDelta = availableSpace;
+
+ boxRect.move(rightDelta, 0);
+ }
+
+ if (hasAnchorEdge(AnchorEdgeLeft)) {
+ float leftLimit = viewportRect.x() + m_leftOffset;
+ float leftDelta = std::max<float>(0, leftLimit - m_absoluteStickyBoxRect.x());
+ float availableSpace = std::max<float>(0, m_absoluteContainingBlockRect.maxX() - m_absoluteStickyBoxRect.maxX());
+ if (leftDelta > availableSpace)
+ leftDelta = availableSpace;
+
+ boxRect.move(leftDelta, 0);
+ }
+
+ if (hasAnchorEdge(AnchorEdgeBottom)) {
+ float bottomLimit = viewportRect.maxY() - m_bottomOffset;
+ float bottomDelta = std::min<float>(0, bottomLimit - m_absoluteStickyBoxRect.maxY());
+ float availableSpace = std::min<float>(0, m_absoluteContainingBlockRect.y() - m_absoluteStickyBoxRect.y());
+ if (bottomDelta < availableSpace)
+ bottomDelta = availableSpace;
+
+ boxRect.move(0, bottomDelta);
+ }
+
+ if (hasAnchorEdge(AnchorEdgeTop)) {
+ float topLimit = viewportRect.y() + m_topOffset;
+ float topDelta = std::max<float>(0, topLimit - m_absoluteStickyBoxRect.y());
+ float availableSpace = std::max<float>(0, m_absoluteContainingBlockRect.maxY() - m_absoluteStickyBoxRect.maxY());
+ if (topDelta > availableSpace)
+ topDelta = availableSpace;
+
+ boxRect.move(0, topDelta);
+ }
+
+ return boxRect.location() - m_absoluteStickyBoxRect.location();
+}
+
+FloatPoint StickyPositionViewportConstraints::layerPositionForViewportRect(const FloatRect& viewportRect) const
+{
+ FloatSize offset = computeStickyOffset(viewportRect);
+ return m_layerPositionAtLastLayout + offset - m_stickyOffsetAtLastLayout;
+}
+
+} // namespace WebCore
diff --git a/Source/WebCore/page/scrolling/ScrollingConstraints.h b/Source/WebCore/page/scrolling/ScrollingConstraints.h
new file mode 100644
index 000000000..e8be408c8
--- /dev/null
+++ b/Source/WebCore/page/scrolling/ScrollingConstraints.h
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2012 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 ScrollingConstraints_h
+#define ScrollingConstraints_h
+
+#include "FloatRect.h"
+
+namespace WebCore {
+
+// ViewportConstraints classes encapsulate data and logic required to reposition elements whose layout
+// depends on the viewport rect (positions fixed and sticky), when scrolling and zooming.
+class ViewportConstraints {
+public:
+ enum ConstraintType {
+ FixedPositionConstaint,
+ StickyPositionConstraint
+ };
+
+ enum AnchorEdgeFlags {
+ AnchorEdgeLeft = 1 << 0,
+ AnchorEdgeRight = 1 << 1,
+ AnchorEdgeTop = 1 << 2,
+ AnchorEdgeBottom = 1 << 3
+ };
+ typedef unsigned AnchorEdges;
+
+ ViewportConstraints()
+ : m_anchorEdges(0)
+ { }
+
+ virtual ~ViewportConstraints() { }
+
+ virtual ConstraintType constraintType() const = 0;
+
+ AnchorEdges anchorEdges() const { return m_anchorEdges; }
+ bool hasAnchorEdge(AnchorEdgeFlags flag) const { return m_anchorEdges & flag; }
+ void addAnchorEdge(AnchorEdgeFlags edgeFlag) { m_anchorEdges |= edgeFlag; }
+
+ FloatSize alignmentOffset() const { return m_alignmentOffset; }
+ void setAlignmentOffset(const FloatSize& offset) { m_alignmentOffset = offset; }
+
+protected:
+ FloatSize m_alignmentOffset;
+ AnchorEdges m_anchorEdges;
+};
+
+class StickyPositionViewportConstraints : public ViewportConstraints {
+public:
+ StickyPositionViewportConstraints()
+ : m_leftOffset(0)
+ , m_rightOffset(0)
+ , m_topOffset(0)
+ , m_bottomOffset(0)
+ { }
+
+ virtual ConstraintType constraintType() const OVERRIDE { return StickyPositionConstraint; };
+ FloatSize computeStickyOffset(const FloatRect& viewportRect) const;
+
+ const FloatSize stickyOffsetAtLastLayout() const { return m_stickyOffsetAtLastLayout; }
+ void setStickyOffsetAtLastLayout(const FloatSize& offset) { m_stickyOffsetAtLastLayout = offset; }
+
+ FloatPoint layerPositionForViewportRect(const FloatRect& viewportRect) const;
+
+ const FloatPoint& layerPositionAtLastLayout() const { return m_layerPositionAtLastLayout; }
+ void setLayerPositionAtLastLayout(const FloatPoint& point) { m_layerPositionAtLastLayout = point; }
+
+ float leftOffset() const { return m_leftOffset; }
+ float rightOffset() const { return m_rightOffset; }
+ float topOffset() const { return m_topOffset; }
+ float bottomOffset() const { return m_bottomOffset; }
+
+ void setLeftOffset(float offset) { m_leftOffset = offset; }
+ void setRightOffset(float offset) { m_rightOffset = offset; }
+ void setTopOffset(float offset) { m_topOffset = offset; }
+ void setBottomOffset(float offset) { m_bottomOffset = offset; }
+
+ void setAbsoluteContainingBlockRect(const FloatRect& rect) { m_absoluteContainingBlockRect = rect; }
+ void setAbsoluteStickyBoxRect(const FloatRect& rect) { m_absoluteStickyBoxRect = rect; }
+
+private:
+ float m_leftOffset;
+ float m_rightOffset;
+ float m_topOffset;
+ float m_bottomOffset;
+ FloatRect m_absoluteContainingBlockRect;
+ FloatRect m_absoluteStickyBoxRect;
+ FloatSize m_stickyOffsetAtLastLayout;
+ FloatPoint m_layerPositionAtLastLayout;
+};
+
+} // namespace WebCore
+
+#endif // ScrollingConstraints_h
diff --git a/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp b/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
index 40feed77c..1f60151fd 100644
--- a/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
+++ b/Source/WebCore/page/scrolling/ScrollingCoordinator.cpp
@@ -36,7 +36,6 @@
#include "Region.h"
#include "RenderView.h"
#include "ScrollAnimator.h"
-#include "ScrollingTreeState.h"
#include <wtf/MainThread.h>
#if USE(ACCELERATED_COMPOSITING)
@@ -46,6 +45,7 @@
#if ENABLE(THREADED_SCROLLING)
#include "ScrollingThread.h"
#include "ScrollingTree.h"
+#include "ScrollingTreeState.h"
#include <wtf/Functional.h>
#include <wtf/PassRefPtr.h>
#endif
@@ -118,6 +118,11 @@ static Region computeNonFastScrollableRegion(Frame* frame, const IntPoint& frame
if (const FrameView::ScrollableAreaSet* scrollableAreas = frameView->scrollableAreas()) {
for (FrameView::ScrollableAreaSet::const_iterator it = scrollableAreas->begin(), end = scrollableAreas->end(); it != end; ++it) {
ScrollableArea* scrollableArea = *it;
+#if USE(ACCELERATED_COMPOSITING)
+ // Composited scrollable areas can be scrolled off the main thread.
+ if (scrollableArea->usesCompositedScrolling())
+ continue;
+#endif
IntRect box = scrollableArea->scrollableAreaBoundingBox();
box.moveBy(offset);
nonFastScrollableRegion.unite(box);
@@ -187,7 +192,7 @@ void ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange(FrameView* fr
if (!coordinatesScrollingForFrameView(frameView))
return;
- updateShouldUpdateScrollLayerPositionOnMainThread();
+ updateShouldUpdateScrollLayerPositionOnMainThreadReason();
}
void ScrollingCoordinator::frameViewFixedObjectsDidChange(FrameView* frameView)
@@ -198,7 +203,7 @@ void ScrollingCoordinator::frameViewFixedObjectsDidChange(FrameView* frameView)
if (!coordinatesScrollingForFrameView(frameView))
return;
- updateShouldUpdateScrollLayerPositionOnMainThread();
+ updateShouldUpdateScrollLayerPositionOnMainThreadReason();
}
static GraphicsLayer* scrollLayerForFrameView(FrameView* frameView)
@@ -227,7 +232,7 @@ void ScrollingCoordinator::frameViewRootLayerDidChange(FrameView* frameView)
frameViewLayoutUpdated(frameView);
recomputeWheelEventHandlerCount();
- updateShouldUpdateScrollLayerPositionOnMainThread();
+ updateShouldUpdateScrollLayerPositionOnMainThreadReason();
setScrollLayer(scrollLayerForFrameView(frameView));
}
@@ -354,36 +359,47 @@ void ScrollingCoordinator::recomputeWheelEventHandlerCount()
setWheelEventHandlerCount(wheelEventHandlerCount);
}
-bool ScrollingCoordinator::hasNonLayerFixedObjects(FrameView* frameView)
+bool ScrollingCoordinator::hasNonLayerViewportConstrainedObjects(FrameView* frameView)
{
- const FrameView::FixedObjectSet* fixedObjects = frameView->fixedObjects();
- if (!fixedObjects)
+ const FrameView::ViewportConstrainedObjectSet* viewportConstrainedObjects = frameView->viewportConstrainedObjects();
+ if (!viewportConstrainedObjects)
return false;
#if USE(ACCELERATED_COMPOSITING)
- for (FrameView::FixedObjectSet::const_iterator it = fixedObjects->begin(), end = fixedObjects->end(); it != end; ++it) {
- RenderObject* fixedObject = *it;
- if (!fixedObject->isBoxModelObject() || !fixedObject->hasLayer())
+ for (FrameView::ViewportConstrainedObjectSet::const_iterator it = viewportConstrainedObjects->begin(), end = viewportConstrainedObjects->end(); it != end; ++it) {
+ RenderObject* viewportConstrainedObject = *it;
+ if (!viewportConstrainedObject->isBoxModelObject() || !viewportConstrainedObject->hasLayer())
return true;
- RenderBoxModelObject* fixedBoxModelObject = toRenderBoxModelObject(fixedObject);
- if (!fixedBoxModelObject->layer()->backing())
+ RenderBoxModelObject* viewportConstrainedBoxModelObject = toRenderBoxModelObject(viewportConstrainedObject);
+ if (!viewportConstrainedBoxModelObject->layer()->backing())
return true;
}
return false;
#else
- return fixedObjects->size();
+ return viewportConstrainedObjects->size();
#endif
}
-void ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread()
+void ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThreadReason()
{
+#if ENABLE(THREADED_SCROLLING)
FrameView* frameView = m_page->mainFrame()->view();
- setShouldUpdateScrollLayerPositionOnMainThread(m_forceMainThreadScrollLayerPositionUpdates
- || frameView->hasSlowRepaintObjects()
- || (!supportsFixedPositionLayers() && frameView->hasFixedObjects())
- || (supportsFixedPositionLayers() && hasNonLayerFixedObjects(frameView))
- || m_page->mainFrame()->document()->isImageDocument());
+ ReasonForUpdatingScrollLayerPositionOnMainThreadFlags reasonsForUpdatingScrollLayerPositionOnMainThread = (ReasonForUpdatingScrollLayerPositionOnMainThreadFlags)0;
+
+ if (m_forceMainThreadScrollLayerPositionUpdates)
+ reasonsForUpdatingScrollLayerPositionOnMainThread |= ScrollingTreeState::ForcedOnMainThread;
+ if (frameView->hasSlowRepaintObjects())
+ reasonsForUpdatingScrollLayerPositionOnMainThread |= ScrollingTreeState::HasSlowRepaintObjects;
+ if (!supportsFixedPositionLayers() && frameView->hasViewportConstrainedObjects())
+ reasonsForUpdatingScrollLayerPositionOnMainThread |= ScrollingTreeState::HasNonCompositedViewportConstrainedObjects;
+ if (supportsFixedPositionLayers() && hasNonLayerViewportConstrainedObjects(frameView))
+ reasonsForUpdatingScrollLayerPositionOnMainThread |= ScrollingTreeState::HasNonLayerViewportConstrainedObjects;
+ if (m_page->mainFrame()->document()->isImageDocument())
+ reasonsForUpdatingScrollLayerPositionOnMainThread |= ScrollingTreeState::IsImageDocument;
+
+ setShouldUpdateScrollLayerPositionOnMainThreadReason(reasonsForUpdatingScrollLayerPositionOnMainThread);
+#endif
}
void ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates(bool forceMainThreadScrollLayerPositionUpdates)
@@ -392,7 +408,7 @@ void ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates(bool for
return;
m_forceMainThreadScrollLayerPositionUpdates = forceMainThreadScrollLayerPositionUpdates;
- updateShouldUpdateScrollLayerPositionOnMainThread();
+ updateShouldUpdateScrollLayerPositionOnMainThreadReason();
}
#if ENABLE(THREADED_SCROLLING)
@@ -430,16 +446,18 @@ void ScrollingCoordinator::setWheelEventHandlerCount(unsigned wheelEventHandlerC
scheduleTreeStateCommit();
}
-void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(bool shouldUpdateScrollLayerPositionOnMainThread)
+#if ENABLE(THREADED_SCROLLING)
+void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason(ReasonForUpdatingScrollLayerPositionOnMainThreadFlags reasons)
{
// The FrameView's GraphicsLayer is likely to be out-of-synch with the PlatformLayer
// at this point. So we'll update it before we switch back to main thread scrolling
// in order to avoid layer positioning bugs.
- if (shouldUpdateScrollLayerPositionOnMainThread)
+ if (reasons)
updateMainFrameScrollLayerPosition();
- m_scrollingTreeState->setShouldUpdateScrollLayerPositionOnMainThread(shouldUpdateScrollLayerPositionOnMainThread);
+ m_scrollingTreeState->setShouldUpdateScrollLayerPositionOnMainThreadReason(reasons);
scheduleTreeStateCommit();
}
+#endif
void ScrollingCoordinator::scheduleTreeStateCommit()
{
@@ -488,6 +506,11 @@ void ScrollingCoordinator::setLayerIsFixedToContainerLayer(GraphicsLayer*, bool)
{
// FIXME: Implement!
}
+
+void ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea*, GraphicsLayer*)
+{
+ // FIXME: Implement.
+}
#endif // !ENABLE(THREADED_SCROLLING)
} // namespace WebCore
diff --git a/Source/WebCore/page/scrolling/ScrollingCoordinator.h b/Source/WebCore/page/scrolling/ScrollingCoordinator.h
index 5d45eb620..8bc4b6a75 100644
--- a/Source/WebCore/page/scrolling/ScrollingCoordinator.h
+++ b/Source/WebCore/page/scrolling/ScrollingCoordinator.h
@@ -34,6 +34,7 @@
#include <wtf/Forward.h>
#if ENABLE(THREADED_SCROLLING)
+#include "ScrollingTreeState.h"
#include <wtf/ThreadSafeRefCounted.h>
#include <wtf/Threading.h>
#endif
@@ -48,6 +49,7 @@ class FrameView;
class GraphicsLayer;
class Page;
class Region;
+class ScrollableArea;
class ScrollingCoordinatorPrivate;
class ScrollingTreeState;
@@ -92,6 +94,9 @@ public:
// Should be called whenever the vertical scrollbar layer for the given frame view changes.
void frameViewVerticalScrollbarLayerDidChange(FrameView*, GraphicsLayer* verticalScrollbarLayer);
+ // Should be called whenever the scrollable layer for the given scroll area changes.
+ void scrollableAreaScrollLayerDidChange(ScrollableArea*, GraphicsLayer*);
+
// Requests that the scrolling coordinator updates the scroll position of the given frame view. If this function returns true, it means that the
// position will be updated asynchronously. If it returns false, the caller should update the scrolling position itself.
bool requestScrollPositionUpdate(FrameView*, const IntPoint&);
@@ -127,8 +132,8 @@ private:
explicit ScrollingCoordinator(Page*);
void recomputeWheelEventHandlerCount();
- bool hasNonLayerFixedObjects(FrameView*);
- void updateShouldUpdateScrollLayerPositionOnMainThread();
+ bool hasNonLayerViewportConstrainedObjects(FrameView*);
+ void updateShouldUpdateScrollLayerPositionOnMainThreadReason();
void setScrollLayer(GraphicsLayer*);
void setNonFastScrollableRegion(const Region&);
@@ -151,7 +156,9 @@ private:
void setScrollParameters(const ScrollParameters&);
void setWheelEventHandlerCount(unsigned);
- void setShouldUpdateScrollLayerPositionOnMainThread(bool);
+#if ENABLE(THREADED_SCROLLING)
+ void setShouldUpdateScrollLayerPositionOnMainThreadReason(ReasonForUpdatingScrollLayerPositionOnMainThreadFlags);
+#endif
void updateMainFrameScrollLayerPosition();
diff --git a/Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp b/Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp
index f0acfe0cc..26c6e530e 100644
--- a/Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp
+++ b/Source/WebCore/page/scrolling/ScrollingCoordinatorNone.cpp
@@ -67,9 +67,11 @@ void ScrollingCoordinator::setWheelEventHandlerCount(unsigned)
{
}
-void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(bool)
+#if ENABLE(THREADED_SCROLLING)
+void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason(ReasonForUpdatingScrollLayerPositionOnMainThreadFlags)
{
}
+#endif
bool ScrollingCoordinator::supportsFixedPositionLayers() const
{
@@ -83,6 +85,10 @@ void ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers(GraphicsLay
void ScrollingCoordinator::setLayerIsFixedToContainerLayer(GraphicsLayer*, bool)
{
}
+
+void ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea*, GraphicsLayer*)
+{
+}
#endif // !ENABLE(THREADED_SCROLLING)
}
diff --git a/Source/WebCore/page/scrolling/ScrollingTree.cpp b/Source/WebCore/page/scrolling/ScrollingTree.cpp
index ba6a52ac7..690ec9225 100644
--- a/Source/WebCore/page/scrolling/ScrollingTree.cpp
+++ b/Source/WebCore/page/scrolling/ScrollingTree.cpp
@@ -224,7 +224,7 @@ void ScrollingTree::setScrollingPerformanceLoggingEnabled(bool flag)
m_scrollingPerformanceLoggingEnabled = flag;
}
-bool ScrollingTree::scrollingPeformanceLoggingEnabled()
+bool ScrollingTree::scrollingPerformanceLoggingEnabled()
{
return m_scrollingPerformanceLoggingEnabled;
}
diff --git a/Source/WebCore/page/scrolling/ScrollingTree.h b/Source/WebCore/page/scrolling/ScrollingTree.h
index 4120e9eac..40705a0fc 100644
--- a/Source/WebCore/page/scrolling/ScrollingTree.h
+++ b/Source/WebCore/page/scrolling/ScrollingTree.h
@@ -98,7 +98,7 @@ public:
#endif
void setScrollingPerformanceLoggingEnabled(bool flag);
- bool scrollingPeformanceLoggingEnabled();
+ bool scrollingPerformanceLoggingEnabled();
private:
explicit ScrollingTree(ScrollingCoordinator*);
diff --git a/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp b/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp
index 28402ce16..150ba7213 100644
--- a/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp
+++ b/Source/WebCore/page/scrolling/ScrollingTreeNode.cpp
@@ -34,7 +34,7 @@ namespace WebCore {
ScrollingTreeNode::ScrollingTreeNode(ScrollingTree* scrollingTree)
: m_scrollingTree(scrollingTree)
- , m_shouldUpdateScrollLayerPositionOnMainThread(false)
+ , m_shouldUpdateScrollLayerPositionOnMainThreadReason(0)
, m_horizontalScrollElasticity(ScrollElasticityNone)
, m_verticalScrollElasticity(ScrollElasticityNone)
, m_hasEnabledHorizontalScrollbar(false)
@@ -56,8 +56,8 @@ void ScrollingTreeNode::update(ScrollingTreeState* state)
if (state->changedProperties() & ScrollingTreeState::ContentsSize)
m_contentsSize = state->contentsSize();
- if (state->changedProperties() & ScrollingTreeState::ShouldUpdateScrollLayerPositionOnMainThread)
- m_shouldUpdateScrollLayerPositionOnMainThread = state->shouldUpdateScrollLayerPositionOnMainThread();
+ if (state->changedProperties() & ScrollingTreeState::ShouldUpdateScrollLayerPositionOnMainThreadReason)
+ m_shouldUpdateScrollLayerPositionOnMainThreadReason = state->shouldUpdateScrollLayerPositionOnMainThreadReason();
if (state->changedProperties() & ScrollingTreeState::HorizontalScrollElasticity)
m_horizontalScrollElasticity = state->horizontalScrollElasticity();
diff --git a/Source/WebCore/page/scrolling/ScrollingTreeNode.h b/Source/WebCore/page/scrolling/ScrollingTreeNode.h
index f69ae9f41..3cad506cd 100644
--- a/Source/WebCore/page/scrolling/ScrollingTreeNode.h
+++ b/Source/WebCore/page/scrolling/ScrollingTreeNode.h
@@ -30,6 +30,7 @@
#include "IntRect.h"
#include "ScrollTypes.h"
+#include "ScrollingTreeState.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
@@ -47,7 +48,7 @@ public:
virtual void handleWheelEvent(const PlatformWheelEvent&) = 0;
virtual void setScrollPosition(const IntPoint&) = 0;
- bool shouldUpdateScrollLayerPositionOnMainThread() const { return m_shouldUpdateScrollLayerPositionOnMainThread; }
+ ReasonForUpdatingScrollLayerPositionOnMainThreadFlags shouldUpdateScrollLayerPositionOnMainThreadReason() const { return m_shouldUpdateScrollLayerPositionOnMainThreadReason; }
protected:
explicit ScrollingTreeNode(ScrollingTree*);
@@ -74,7 +75,7 @@ private:
IntSize m_contentsSize;
IntPoint m_scrollOrigin;
- bool m_shouldUpdateScrollLayerPositionOnMainThread;
+ ReasonForUpdatingScrollLayerPositionOnMainThreadFlags m_shouldUpdateScrollLayerPositionOnMainThreadReason;
ScrollElasticity m_horizontalScrollElasticity;
ScrollElasticity m_verticalScrollElasticity;
diff --git a/Source/WebCore/page/scrolling/ScrollingTreeState.cpp b/Source/WebCore/page/scrolling/ScrollingTreeState.cpp
index 5eb53abe6..2334b5958 100644
--- a/Source/WebCore/page/scrolling/ScrollingTreeState.cpp
+++ b/Source/WebCore/page/scrolling/ScrollingTreeState.cpp
@@ -38,7 +38,7 @@ PassOwnPtr<ScrollingTreeState> ScrollingTreeState::create()
ScrollingTreeState::ScrollingTreeState()
: m_changedProperties(0)
, m_wheelEventHandlerCount(0)
- , m_shouldUpdateScrollLayerPositionOnMainThread(false)
+ , m_shouldUpdateScrollLayerPositionOnMainThreadReason(0)
, m_horizontalScrollElasticity(ScrollElasticityNone)
, m_verticalScrollElasticity(ScrollElasticityNone)
, m_hasEnabledHorizontalScrollbar(false)
@@ -88,13 +88,13 @@ void ScrollingTreeState::setWheelEventHandlerCount(unsigned wheelEventHandlerCou
m_changedProperties |= WheelEventHandlerCount;
}
-void ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread(bool shouldUpdateScrollLayerPositionOnMainThread)
+void ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThreadReason(ReasonForUpdatingScrollLayerPositionOnMainThreadFlags reasons)
{
- if (m_shouldUpdateScrollLayerPositionOnMainThread == shouldUpdateScrollLayerPositionOnMainThread)
+ if ((bool)m_shouldUpdateScrollLayerPositionOnMainThreadReason == (bool)reasons)
return;
- m_shouldUpdateScrollLayerPositionOnMainThread = shouldUpdateScrollLayerPositionOnMainThread;
- m_changedProperties |= ShouldUpdateScrollLayerPositionOnMainThread;
+ m_shouldUpdateScrollLayerPositionOnMainThreadReason = reasons;
+ m_changedProperties |= ShouldUpdateScrollLayerPositionOnMainThreadReason;
}
void ScrollingTreeState::setHorizontalScrollElasticity(ScrollElasticity horizontalScrollElasticity)
diff --git a/Source/WebCore/page/scrolling/ScrollingTreeState.h b/Source/WebCore/page/scrolling/ScrollingTreeState.h
index 3b4a8d68b..0f662fd23 100644
--- a/Source/WebCore/page/scrolling/ScrollingTreeState.h
+++ b/Source/WebCore/page/scrolling/ScrollingTreeState.h
@@ -40,6 +40,8 @@
namespace WebCore {
+typedef unsigned ReasonForUpdatingScrollLayerPositionOnMainThreadFlags;
+
// The ScrollingTreeState object keeps track of the current state of scrolling related properties.
// Whenever any properties change, the scrolling coordinator will be informed and will update the state
// and schedule a timer that will clone the new state and send it over to the scrolling thread, avoiding locking.
@@ -54,7 +56,7 @@ public:
ContentsSize = 1 << 1,
NonFastScrollableRegion = 1 << 2,
WheelEventHandlerCount = 1 << 3,
- ShouldUpdateScrollLayerPositionOnMainThread = 1 << 4,
+ ShouldUpdateScrollLayerPositionOnMainThreadReason = 1 << 4,
HorizontalScrollElasticity = 1 << 5,
VerticalScrollElasticity = 1 << 6,
HasEnabledHorizontalScrollbar = 1 << 7,
@@ -66,6 +68,14 @@ public:
RequestedScrollPosition = 1 << 13,
};
+ enum ReasonForUpdatingScrollLayerPositionOnMainThread {
+ ForcedOnMainThread = 1 << 0,
+ HasSlowRepaintObjects = 1 << 1,
+ HasNonCompositedViewportConstrainedObjects = 1 << 2,
+ HasNonLayerViewportConstrainedObjects = 1 << 3,
+ IsImageDocument = 1 << 4
+ };
+
bool hasChangedProperties() const { return m_changedProperties; }
unsigned changedProperties() const { return m_changedProperties; }
@@ -81,8 +91,8 @@ public:
unsigned wheelEventHandlerCount() const { return m_wheelEventHandlerCount; }
void setWheelEventHandlerCount(unsigned);
- bool shouldUpdateScrollLayerPositionOnMainThread() const { return m_shouldUpdateScrollLayerPositionOnMainThread; }
- void setShouldUpdateScrollLayerPositionOnMainThread(bool);
+ ReasonForUpdatingScrollLayerPositionOnMainThreadFlags shouldUpdateScrollLayerPositionOnMainThreadReason() const { return m_shouldUpdateScrollLayerPositionOnMainThreadReason; }
+ void setShouldUpdateScrollLayerPositionOnMainThreadReason(ReasonForUpdatingScrollLayerPositionOnMainThreadFlags);
ScrollElasticity horizontalScrollElasticity() const { return m_horizontalScrollElasticity; }
void setHorizontalScrollElasticity(ScrollElasticity);
@@ -126,7 +136,7 @@ private:
unsigned m_wheelEventHandlerCount;
- bool m_shouldUpdateScrollLayerPositionOnMainThread;
+ ReasonForUpdatingScrollLayerPositionOnMainThreadFlags m_shouldUpdateScrollLayerPositionOnMainThreadReason;
ScrollElasticity m_horizontalScrollElasticity;
ScrollElasticity m_verticalScrollElasticity;
diff --git a/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp b/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
index e256bde1a..807decb5f 100644
--- a/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
+++ b/Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp
@@ -29,12 +29,16 @@
#include "Frame.h"
#include "FrameView.h"
+#include "GraphicsLayerChromium.h"
#include "Page.h"
#include "Region.h"
#include "RenderLayerCompositor.h"
#include "RenderView.h"
#include "ScrollbarThemeComposite.h"
+#include "WebScrollbarImpl.h"
#include "WebScrollbarThemeGeometryNative.h"
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebScrollbar.h>
#include <public/WebScrollbarLayer.h>
#include <public/WebScrollbarThemeGeometry.h>
@@ -55,7 +59,13 @@ public:
{
}
- ~ScrollingCoordinatorPrivate() { }
+ ~ScrollingCoordinatorPrivate()
+ {
+ if (m_horizontalScrollbarLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_horizontalScrollbarLayer->layer());
+ if (m_verticalScrollbarLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_verticalScrollbarLayer->layer());
+ }
void setScrollLayer(WebLayer* layer)
{
@@ -153,9 +163,10 @@ static PassOwnPtr<WebScrollbarLayer> createScrollbarLayer(Scrollbar* scrollbar,
WebKit::WebScrollbarThemePainter painter(themeComposite, scrollbar);
OwnPtr<WebKit::WebScrollbarThemeGeometry> geometry(WebKit::WebScrollbarThemeGeometryNative::create(themeComposite));
- OwnPtr<WebScrollbarLayer> scrollbarLayer = adoptPtr(WebScrollbarLayer::create(scrollbar, painter, geometry.release()));
+ OwnPtr<WebScrollbarLayer> scrollbarLayer = adoptPtr(WebKit::Platform::current()->compositorSupport()->createScrollbarLayer(new WebKit::WebScrollbarImpl(scrollbar), painter, geometry.leakPtr()));
scrollbarLayer->setScrollLayer(scrollLayer);
+ GraphicsLayerChromium::registerContentsLayer(scrollbarLayer->layer());
scrollbarGraphicsLayer->setContentsToMedia(scrollbarLayer->layer());
scrollbarGraphicsLayer->setDrawsContent(false);
scrollbarLayer->layer()->setOpaque(scrollbarGraphicsLayer->contentsOpaque());
@@ -212,13 +223,15 @@ void ScrollingCoordinator::setWheelEventHandlerCount(unsigned wheelEventHandlerC
m_private->scrollLayer()->setHaveWheelEventHandlers(wheelEventHandlerCount > 0);
}
-void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread(bool should)
+#if ENABLE(THREADED_SCROLLING)
+void ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThreadReason(ReasonForUpdatingScrollLayerPositionOnMainThreadFlags reasons)
{
// We won't necessarily get a setScrollLayer() call before this one, so grab the root ourselves.
setScrollLayer(scrollLayerForFrameView(m_page->mainFrame()->view()));
if (m_private->scrollLayer())
- m_private->scrollLayer()->setShouldScrollOnMainThread(should);
+ m_private->scrollLayer()->setShouldScrollOnMainThread(reasons);
}
+#endif
bool ScrollingCoordinator::supportsFixedPositionLayers() const
{
@@ -237,4 +250,18 @@ void ScrollingCoordinator::setLayerIsFixedToContainerLayer(GraphicsLayer* layer,
scrollableLayer->setFixedToContainerLayer(enable);
}
+void ScrollingCoordinator::scrollableAreaScrollLayerDidChange(ScrollableArea* scrollableArea, GraphicsLayer* scrollLayer)
+{
+ if (!scrollLayer)
+ return;
+ GraphicsLayerChromium* layer = static_cast<GraphicsLayerChromium*>(scrollLayer);
+ layer->setScrollableArea(scrollableArea);
+
+ if (WebLayer* webLayer = scrollLayer->platformLayer()) {
+ webLayer->setScrollable(true);
+ webLayer->setScrollPosition(scrollableArea->scrollPosition());
+ webLayer->setMaxScrollPosition(IntSize(scrollableArea->scrollSize(HorizontalScrollbar), scrollableArea->scrollSize(VerticalScrollbar)));
+ }
+}
+
}
diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm b/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm
index 4a6401ca5..101bbd002 100644
--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm
+++ b/Source/WebCore/page/scrolling/mac/ScrollingTreeMac.mm
@@ -62,7 +62,7 @@ void ScrollingTree::updateDebugRootLayer()
RetainPtr<CGColorRef> backgroundColor;
- if (m_rootNode->shouldUpdateScrollLayerPositionOnMainThread())
+ if (m_rootNode->shouldUpdateScrollLayerPositionOnMainThreadReason())
backgroundColor = adoptCF(CGColorCreateGenericRGB(1, 0, 0, .7));
{
diff --git a/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm b/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm
index 38dd9e53e..1194f8981 100644
--- a/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm
+++ b/Source/WebCore/page/scrolling/mac/ScrollingTreeNodeMac.mm
@@ -37,9 +37,13 @@
#include <wtf/CurrentTime.h>
#include <wtf/Deque.h>
+#include <wtf/text/StringBuilder.h>
+#include <wtf/text/CString.h>
namespace WebCore {
+static void logThreadedScrollingMode(unsigned reasonsForUpdatingScrollLayerPositionOnMainThread);
+
PassOwnPtr<ScrollingTreeNode> ScrollingTreeNode::create(ScrollingTree* scrollingTree)
{
return adoptPtr(new ScrollingTreeNodeMac(scrollingTree));
@@ -70,15 +74,22 @@ void ScrollingTreeNodeMac::update(ScrollingTreeState* state)
if (state->changedProperties() & (ScrollingTreeState::ScrollLayer | ScrollingTreeState::ContentsSize | ScrollingTreeState::ViewportRect))
updateMainFramePinState(scrollPosition());
- if ((state->changedProperties() & ScrollingTreeState::ShouldUpdateScrollLayerPositionOnMainThread) && shouldUpdateScrollLayerPositionOnMainThread()) {
- // We're transitioning to the slow "update scroll layer position on the main thread" mode.
- // Initialize the probable main thread scroll position with the current scroll layer position.
- if (state->changedProperties() & ScrollingTreeState::RequestedScrollPosition)
- m_probableMainThreadScrollPosition = state->requestedScrollPosition();
- else {
- CGPoint scrollLayerPosition = m_scrollLayer.get().position;
- m_probableMainThreadScrollPosition = IntPoint(-scrollLayerPosition.x, -scrollLayerPosition.y);
+ if ((state->changedProperties() & ScrollingTreeState::ShouldUpdateScrollLayerPositionOnMainThreadReason)) {
+ unsigned reasonsForUpdatingScrollLayerPositionOnMainThread = this->shouldUpdateScrollLayerPositionOnMainThreadReason();
+
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread) {
+ // We're transitioning to the slow "update scroll layer position on the main thread" mode.
+ // Initialize the probable main thread scroll position with the current scroll layer position.
+ if (state->changedProperties() & ScrollingTreeState::RequestedScrollPosition)
+ m_probableMainThreadScrollPosition = state->requestedScrollPosition();
+ else {
+ CGPoint scrollLayerPosition = m_scrollLayer.get().position;
+ m_probableMainThreadScrollPosition = IntPoint(-scrollLayerPosition.x, -scrollLayerPosition.y);
+ }
}
+
+ if (scrollingTree()->scrollingPerformanceLoggingEnabled())
+ logThreadedScrollingMode(reasonsForUpdatingScrollLayerPositionOnMainThread);
}
}
@@ -225,7 +236,7 @@ void ScrollingTreeNodeMac::stopSnapRubberbandTimer()
IntPoint ScrollingTreeNodeMac::scrollPosition() const
{
- if (shouldUpdateScrollLayerPositionOnMainThread())
+ if (shouldUpdateScrollLayerPositionOnMainThreadReason())
return m_probableMainThreadScrollPosition;
CGPoint scrollLayerPosition = m_scrollLayer.get().position;
@@ -240,7 +251,7 @@ void ScrollingTreeNodeMac::setScrollPosition(const IntPoint& scrollPosition)
setScrollPositionWithoutContentEdgeConstraints(newScrollPosition);
- if (scrollingTree()->scrollingPeformanceLoggingEnabled())
+ if (scrollingTree()->scrollingPerformanceLoggingEnabled())
logExposedUnfilledArea();
}
@@ -248,7 +259,7 @@ void ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints(const
{
updateMainFramePinState(scrollPosition);
- if (shouldUpdateScrollLayerPositionOnMainThread()) {
+ if (shouldUpdateScrollLayerPositionOnMainThreadReason()) {
m_probableMainThreadScrollPosition = scrollPosition;
scrollingTree()->updateMainFrameScrollPositionAndScrollLayerPosition(scrollPosition);
return;
@@ -260,7 +271,7 @@ void ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints(const
void ScrollingTreeNodeMac::setScrollLayerPosition(const IntPoint& position)
{
- ASSERT(!shouldUpdateScrollLayerPositionOnMainThread());
+ ASSERT(!shouldUpdateScrollLayerPositionOnMainThreadReason());
m_scrollLayer.get().position = CGPointMake(-position.x() + scrollOrigin().x(), -position.y() + scrollOrigin().y());
}
@@ -327,7 +338,31 @@ void ScrollingTreeNodeMac::logExposedUnfilledArea()
unsigned unfilledArea = TileCache::blankPixelCountForTiles(tiles, viewportRect(), IntPoint(-scrollPosition.x(), -scrollPosition.y()));
if (unfilledArea)
- printf("SCROLLING: Exposed tileless area. Time: %f Unfilled Pixels: %u\n", WTF::monotonicallyIncreasingTime(), unfilledArea);
+ WTFLogAlways("SCROLLING: Exposed tileless area. Time: %f Unfilled Pixels: %u\n", WTF::monotonicallyIncreasingTime(), unfilledArea);
+}
+
+static void logThreadedScrollingMode(unsigned reasonsForUpdatingScrollLayerPositionOnMainThread)
+{
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread) {
+ StringBuilder reasonsDescription;
+
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread & ScrollingTreeState::ForcedOnMainThread)
+ reasonsDescription.append("forced,");
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread & ScrollingTreeState::HasSlowRepaintObjects)
+ reasonsDescription.append("slow-repaint objects,");
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread & ScrollingTreeState::HasNonCompositedViewportConstrainedObjects)
+ reasonsDescription.append("viewport-constrained objects,");
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread & ScrollingTreeState::HasNonLayerViewportConstrainedObjects)
+ reasonsDescription.append("non-layer viewport-constrained objects,");
+ if (reasonsForUpdatingScrollLayerPositionOnMainThread & ScrollingTreeState::IsImageDocument)
+ reasonsDescription.append("image document,");
+
+ // Strip the trailing comma.
+ String reasonsDescriptionTrimmed = reasonsDescription.toString().left(reasonsDescription.length() - 1);
+
+ WTFLogAlways("SCROLLING: Switching to main-thread scrolling mode. Time: %f Reason(s): %s\n", WTF::monotonicallyIncreasingTime(), reasonsDescriptionTrimmed.ascii().data());
+ } else
+ WTFLogAlways("SCROLLING: Switching to threaded scrolling mode. Time: %f\n", WTF::monotonicallyIncreasingTime());
}
} // namespace WebCore
diff --git a/Source/WebCore/platform/AsyncFileSystem.h b/Source/WebCore/platform/AsyncFileSystem.h
index 1f5ca5ec0..b087790d8 100644
--- a/Source/WebCore/platform/AsyncFileSystem.h
+++ b/Source/WebCore/platform/AsyncFileSystem.h
@@ -35,9 +35,9 @@
#include "FileSystemType.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "Timer.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/AsyncFileSystemCallbacks.h b/Source/WebCore/platform/AsyncFileSystemCallbacks.h
index 61b338624..5b0011a4f 100644
--- a/Source/WebCore/platform/AsyncFileSystemCallbacks.h
+++ b/Source/WebCore/platform/AsyncFileSystemCallbacks.h
@@ -36,7 +36,7 @@
#include "AsyncFileSystem.h"
#include "AsyncFileWriter.h"
#include "FileMetadata.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/ContentType.h b/Source/WebCore/platform/ContentType.h
index b3857cf7b..175fe36b7 100644
--- a/Source/WebCore/platform/ContentType.h
+++ b/Source/WebCore/platform/ContentType.h
@@ -27,7 +27,7 @@
#ifndef ContentType_h
#define ContentType_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/ContextMenu.h b/Source/WebCore/platform/ContextMenu.h
index 4700db459..f9452c4a8 100644
--- a/Source/WebCore/platform/ContextMenu.h
+++ b/Source/WebCore/platform/ContextMenu.h
@@ -32,7 +32,8 @@
#include "ContextMenuItem.h"
#include "PlatformMenuDescription.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
+
#if PLATFORM(MAC)
#include <wtf/RetainPtr.h>
#elif PLATFORM(WIN)
diff --git a/Source/WebCore/platform/ContextMenuItem.h b/Source/WebCore/platform/ContextMenuItem.h
index c05519f4d..f5d935a5a 100644
--- a/Source/WebCore/platform/ContextMenuItem.h
+++ b/Source/WebCore/platform/ContextMenuItem.h
@@ -30,8 +30,8 @@
#if ENABLE(CONTEXT_MENUS)
#include "PlatformMenuDescription.h"
-#include "PlatformString.h"
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(MAC)
#include <wtf/RetainPtr.h>
diff --git a/Source/WebCore/platform/Cookie.h b/Source/WebCore/platform/Cookie.h
index 4eea7d2c3..cf3534210 100644
--- a/Source/WebCore/platform/Cookie.h
+++ b/Source/WebCore/platform/Cookie.h
@@ -26,8 +26,8 @@
#ifndef Cookie_h
#define Cookie_h
-#include "PlatformString.h"
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/CrossThreadCopier.cpp b/Source/WebCore/platform/CrossThreadCopier.cpp
index b42cf693c..5e5f07289 100644
--- a/Source/WebCore/platform/CrossThreadCopier.cpp
+++ b/Source/WebCore/platform/CrossThreadCopier.cpp
@@ -33,13 +33,12 @@
#include "CrossThreadCopier.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
#include "SerializedScriptValue.h"
-
#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/DateComponents.cpp b/Source/WebCore/platform/DateComponents.cpp
index 6288da5ec..670ffff21 100644
--- a/Source/WebCore/platform/DateComponents.cpp
+++ b/Source/WebCore/platform/DateComponents.cpp
@@ -31,11 +31,11 @@
#include "config.h"
#include "DateComponents.h"
-#include "PlatformString.h"
#include <limits.h>
#include <wtf/ASCIICType.h>
#include <wtf/DateMath.h>
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
using namespace std;
diff --git a/Source/WebCore/bindings/v8/IsolatedWorld.h b/Source/WebCore/platform/DateTimeChooser.h
index 53e3476e4..4b43a3081 100644
--- a/Source/WebCore/bindings/v8/IsolatedWorld.h
+++ b/Source/WebCore/platform/DateTimeChooser.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Google Inc. All rights reserved.
+ * Copyright (C) 2012 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
@@ -28,38 +28,34 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef IsolatedWorld_h
-#define IsolatedWorld_h
+#ifndef DateTimeChooser_h
+#define DateTimeChooser_h
-#include "DOMWrapperWorld.h"
-#include "V8DOMMap.h"
+#include "IntRect.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
-// An DOMWrapperWorld other than the thread's normal world.
-class IsolatedWorld : public DOMWrapperWorld {
-public:
- static PassRefPtr<IsolatedWorld> create(int id) { return adoptRef(new IsolatedWorld(id)); }
- static int count() { return isolatedWorldCount; }
-
- int id() const { return m_id; }
- DOMDataStore* domDataStore() const { return m_domDataStore.getStore(); }
-
-protected:
- explicit IsolatedWorld(int id);
- ~IsolatedWorld();
-
-private:
- int m_id;
+struct DateTimeChooserParameters {
+ AtomicString type;
+ IntRect anchorRectInRootView;
+ String currentValue;
+ Vector<String> suggestionValues;
+ Vector<String> suggestionLabels;
+ double minimum;
+ double maximum;
+ double step;
+ bool required;
+};
- // The backing store for the isolated world's DOM wrappers. This class
- // doesn't have visibility into the wrappers. This handle simply helps
- // manage their lifetime.
- DOMDataStoreHandle m_domDataStore;
+// For pickers like color pickers and date pickers.
+class DateTimeChooser {
+public:
+ virtual ~DateTimeChooser() { }
- static int isolatedWorldCount;
+ virtual void endChooser() = 0;
};
} // namespace WebCore
-#endif // IsolatedWorld_h
+#endif // DateTimeChooser_h
diff --git a/Source/WebCore/dom/MemoryInstrumentation.cpp b/Source/WebCore/platform/DateTimeChooserClient.h
index f924c876d..1853ea7a0 100644
--- a/Source/WebCore/dom/MemoryInstrumentation.cpp
+++ b/Source/WebCore/platform/DateTimeChooserClient.h
@@ -28,45 +28,21 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "MemoryInstrumentation.h"
-
-#include "KURL.h"
-#include <wtf/text/StringImpl.h>
-#include <wtf/text/WTFString.h>
+#ifndef DateTimeChooserClient_h
+#define DateTimeChooserClient_h
namespace WebCore {
-void MemoryInstrumentation::addInstrumentedObjectImpl(const String* const& string, ObjectType objectType, OwningType owningType)
-{
- if (!string || visited(string))
- return;
- if (owningType == byPointer)
- countObjectSize(objectType, sizeof(String));
- addInstrumentedObjectImpl(string->impl(), objectType, byPointer);
-}
-
-void MemoryInstrumentation::addInstrumentedObjectImpl(const StringImpl* const& stringImpl, ObjectType objectType, OwningType)
-{
- if (!stringImpl || visited(stringImpl))
- return;
- countObjectSize(objectType, stringImpl->sizeInBytes());
-}
+class DateTimeChooserClient {
+public:
+ virtual ~DateTimeChooserClient() { }
-void MemoryInstrumentation::addInstrumentedObjectImpl(const KURL* const& url, ObjectType objectType, OwningType owningType)
-{
- if (!url || visited(url))
- return;
- if (owningType == byPointer)
- countObjectSize(objectType, sizeof(KURL));
- addInstrumentedObject(url->string(), objectType);
- if (url->innerURL())
- addInstrumentedObject(url->innerURL(), objectType);
-}
-
-void MemoryInstrumentation::addInstrumentedObjectImpl(const AtomicString* const& atomicString, ObjectType objectType, OwningType owningType)
-{
- addInstrumentedObjectImpl(reinterpret_cast<const String* const>(atomicString), objectType, owningType);
-}
+ // Called when user picked a value.
+ virtual void didChooseValue(const String&) = 0;
+ // Called when chooser has ended.
+ virtual void didEndChooser() = 0;
+};
} // namespace WebCore
+
+#endif // DateTimeChooserClient_h
diff --git a/Source/WebCore/platform/Decimal.cpp b/Source/WebCore/platform/Decimal.cpp
index 8a5e275be..14bad6d0e 100644
--- a/Source/WebCore/platform/Decimal.cpp
+++ b/Source/WebCore/platform/Decimal.cpp
@@ -37,7 +37,6 @@
#include <wtf/Assertions.h>
#include <wtf/MathExtras.h>
#include <wtf/Noncopyable.h>
-#include <wtf/dtoa.h>
#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -681,10 +680,8 @@ Decimal Decimal::floor() const
Decimal Decimal::fromDouble(double doubleValue)
{
- if (isfinite(doubleValue)) {
- NumberToStringBuffer buffer;
- return fromString(numberToString(doubleValue, buffer));
- }
+ if (isfinite(doubleValue))
+ return fromString(String::numberToStringECMAScript(doubleValue));
if (isinf(doubleValue))
return infinity(doubleValue < 0 ? Negative : Positive);
@@ -1005,7 +1002,7 @@ String Decimal::toString() const
return builder.toString();
}
- builder.append("0.");
+ builder.appendLiteral("0.");
for (int i = adjustedExponent + 1; i < 0; ++i)
builder.append('0');
@@ -1023,7 +1020,7 @@ String Decimal::toString() const
if (adjustedExponent) {
builder.append(adjustedExponent < 0 ? "e" : "e+");
- builder.append(String::number(adjustedExponent));
+ builder.appendNumber(adjustedExponent);
}
}
return builder.toString();
diff --git a/Source/WebCore/platform/FileChooser.h b/Source/WebCore/platform/FileChooser.h
index a94c1c56a..e6f614662 100644
--- a/Source/WebCore/platform/FileChooser.h
+++ b/Source/WebCore/platform/FileChooser.h
@@ -30,9 +30,9 @@
#ifndef FileChooser_h
#define FileChooser_h
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/FileStream.cpp b/Source/WebCore/platform/FileStream.cpp
index b85667dd0..5c817edef 100644
--- a/Source/WebCore/platform/FileStream.cpp
+++ b/Source/WebCore/platform/FileStream.cpp
@@ -33,8 +33,9 @@
#if ENABLE(BLOB)
#include "FileStream.h"
+
#include "FileSystem.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/FileSystem.h b/Source/WebCore/platform/FileSystem.h
index a6b3a675f..943cc7b60 100644
--- a/Source/WebCore/platform/FileSystem.h
+++ b/Source/WebCore/platform/FileSystem.h
@@ -30,11 +30,11 @@
#ifndef FileSystem_h
#define FileSystem_h
-#include "PlatformString.h"
#include <time.h>
#include <wtf/Forward.h>
#include <wtf/MathExtras.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#if USE(CF)
#include <wtf/RetainPtr.h>
@@ -216,7 +216,7 @@ String filenameForDisplay(const String&);
CString applicationDirectoryPath();
CString sharedResourcesPath();
#endif
-#if PLATFORM(GTK) || PLATFORM(QT)
+#if USE(SOUP) || PLATFORM(QT)
uint64_t getVolumeFreeSizeForPath(const char*);
#endif
diff --git a/Source/WebCore/platform/FractionalLayoutUnit.h b/Source/WebCore/platform/FractionalLayoutUnit.h
index c3bd697d0..0f3a86a1f 100644
--- a/Source/WebCore/platform/FractionalLayoutUnit.h
+++ b/Source/WebCore/platform/FractionalLayoutUnit.h
@@ -244,6 +244,21 @@ public:
m.m_value = std::numeric_limits<int>::min();
return m;
}
+
+ // Versions of max/min that are slightly smaller/larger than max/min() to allow for roinding without overflowing.
+ static const FractionalLayoutUnit nearlyMax()
+ {
+ FractionalLayoutUnit m;
+ m.m_value = std::numeric_limits<int>::max() - kFixedPointDenominator / 2;
+ return m;
+ }
+ static const FractionalLayoutUnit nearlyMin()
+ {
+ FractionalLayoutUnit m;
+ m.m_value = std::numeric_limits<int>::min() + kFixedPointDenominator / 2;
+ return m;
+ }
+
static FractionalLayoutUnit clamp(double value)
{
return clampTo<FractionalLayoutUnit>(value, FractionalLayoutUnit::min(), FractionalLayoutUnit::max());
@@ -792,7 +807,8 @@ inline float& operator/=(float& a, const FractionalLayoutUnit& b)
inline int snapSizeToPixel(FractionalLayoutUnit size, FractionalLayoutUnit location)
{
- return (location + size).round() - location.round();
+ FractionalLayoutUnit fraction = location - location.floor();
+ return (fraction + size).round() - fraction.round();
}
#if PLATFORM(QT)
diff --git a/Source/WebCore/platform/KURL.cpp b/Source/WebCore/platform/KURL.cpp
index 0b46ec0fc..8dc8f507f 100644
--- a/Source/WebCore/platform/KURL.cpp
+++ b/Source/WebCore/platform/KURL.cpp
@@ -293,7 +293,7 @@ static void appendASCII(const String& base, const char* rel, size_t len, CharBuf
buffer[buffer.size() - 1] = '\0';
}
-// FIXME: Move to PlatformString.h eventually.
+// FIXME: Move to WTFString.h eventually.
// Returns the index of the first index in string |s| of any of the characters
// in |toFind|. |toFind| should be a null-terminated string, all characters up
// to the null will be searched. Returns int if not found.
diff --git a/Source/WebCore/platform/KURL.h b/Source/WebCore/platform/KURL.h
index fbf9f8237..adaf2ceea 100644
--- a/Source/WebCore/platform/KURL.h
+++ b/Source/WebCore/platform/KURL.h
@@ -27,8 +27,8 @@
#define KURL_h
#include "KURLWTFURLImpl.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
#if USE(CF)
typedef const struct __CFURL* CFURLRef;
@@ -48,10 +48,6 @@ QT_END_NAMESPACE
#include "KURLGooglePrivate.h"
#endif
-#if USE(JSC)
-#include <runtime/UString.h>
-#endif
-
namespace WebCore {
class TextEncoding;
diff --git a/Source/WebCore/platform/KURLHash.h b/Source/WebCore/platform/KURLHash.h
index a23650877..21dd13b2a 100644
--- a/Source/WebCore/platform/KURLHash.h
+++ b/Source/WebCore/platform/KURLHash.h
@@ -27,8 +27,8 @@
#define KURLHash_h
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/KURLWTFURL.cpp b/Source/WebCore/platform/KURLWTFURL.cpp
index 6234419cb..ae2da1d15 100644
--- a/Source/WebCore/platform/KURLWTFURL.cpp
+++ b/Source/WebCore/platform/KURLWTFURL.cpp
@@ -110,12 +110,10 @@ bool KURL::isValid() const
return isParsedURLValid;
}
-const String &KURL::string() const
+const String& KURL::string() const
{
- if (isNull()) {
- DEFINE_STATIC_LOCAL(const String, nullString, ());
- return nullString;
- }
+ if (isNull())
+ return nullAtom();
if (isValid())
return m_urlImpl->m_parsedURL.spec().string();
diff --git a/Source/WebCore/platform/KillRing.h b/Source/WebCore/platform/KillRing.h
index b6872742e..9dc73115e 100644
--- a/Source/WebCore/platform/KillRing.h
+++ b/Source/WebCore/platform/KillRing.h
@@ -26,7 +26,7 @@
#ifndef KillRing_h
#define KillRing_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/Language.cpp b/Source/WebCore/platform/Language.cpp
index 47f09f609..2af2a206e 100644
--- a/Source/WebCore/platform/Language.cpp
+++ b/Source/WebCore/platform/Language.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "Language.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/Length.cpp b/Source/WebCore/platform/Length.cpp
index 15dbeea80..9433b08c5 100644
--- a/Source/WebCore/platform/Length.cpp
+++ b/Source/WebCore/platform/Length.cpp
@@ -26,11 +26,11 @@
#include "Length.h"
#include "CalculationValue.h"
-#include "PlatformString.h"
#include <wtf/ASCIICType.h>
#include <wtf/Assertions.h>
#include <wtf/OwnArrayPtr.h>
#include <wtf/text/StringBuffer.h>
+#include <wtf/text/WTFString.h>
using namespace WTF;
diff --git a/Source/WebCore/platform/Length.h b/Source/WebCore/platform/Length.h
index 14cbf066b..dbde96303 100644
--- a/Source/WebCore/platform/Length.h
+++ b/Source/WebCore/platform/Length.h
@@ -24,7 +24,6 @@
#define Length_h
#include "AnimationUtilities.h"
-#include "LayoutTypes.h"
#include <wtf/Assertions.h>
#include <wtf/FastAllocBase.h>
#include <wtf/Forward.h>
diff --git a/Source/WebCore/platform/LinkHash.cpp b/Source/WebCore/platform/LinkHash.cpp
index 29671a0e1..3615e0eea 100644
--- a/Source/WebCore/platform/LinkHash.cpp
+++ b/Source/WebCore/platform/LinkHash.cpp
@@ -24,10 +24,9 @@
#include "config.h"
#include "KURL.h"
#include "LinkHash.h"
-#include "PlatformString.h"
#include <wtf/text/AtomicString.h>
#include <wtf/text/StringHash.h>
-#include <wtf/text/StringImpl.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/LocalizedStrings.cpp b/Source/WebCore/platform/LocalizedStrings.cpp
index bc54b61aa..01734e1ff 100644
--- a/Source/WebCore/platform/LocalizedStrings.cpp
+++ b/Source/WebCore/platform/LocalizedStrings.cpp
@@ -29,13 +29,14 @@
#include "IntSize.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include "TextBreakIterator.h"
#include <wtf/MathExtras.h>
+#include <wtf/UnusedParam.h>
+#include <wtf/unicode/CharacterNames.h>
+
#if USE(CF)
#include <wtf/RetainPtr.h>
#endif
-#include <wtf/UnusedParam.h>
-#include <wtf/unicode/CharacterNames.h>
#if PLATFORM(MAC)
#include "WebCoreSystemInterface.h"
diff --git a/Source/WebCore/platform/LocalizedStrings.h b/Source/WebCore/platform/LocalizedStrings.h
index c1180c66a..39f112bb7 100644
--- a/Source/WebCore/platform/LocalizedStrings.h
+++ b/Source/WebCore/platform/LocalizedStrings.h
@@ -165,6 +165,19 @@ namespace WebCore {
String AXMenuListPopupActionVerb();
String AXLinkActionVerb();
+#if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
+ String AXAMPMFieldText();
+ String AXDayOfMonthFieldText();
+ String AXDateTimeFieldEmptyValueText();
+ String AXHourFieldText();
+ String AXMillisecondFieldText();
+ String AXMinuteFieldText();
+ String AXMonthFieldText();
+ String AXSecondFieldText();
+ String AXWeekOfYearFieldText();
+ String AXYearFieldText();
+#endif
+
String missingPluginText();
String crashedPluginText();
String blockedPluginByContentSecurityPolicyText();
diff --git a/Source/WebCore/platform/Logging.cpp b/Source/WebCore/platform/Logging.cpp
index d97e1045a..d7275d4c4 100644
--- a/Source/WebCore/platform/Logging.cpp
+++ b/Source/WebCore/platform/Logging.cpp
@@ -25,7 +25,8 @@
#include "config.h"
#include "Logging.h"
-#include "PlatformString.h"
+
+#include <wtf/text/WTFString.h>
#if !LOG_DISABLED
diff --git a/Source/WebCore/platform/MIMETypeRegistry.cpp b/Source/WebCore/platform/MIMETypeRegistry.cpp
index 289c6699b..a198e8500 100755
--- a/Source/WebCore/platform/MIMETypeRegistry.cpp
+++ b/Source/WebCore/platform/MIMETypeRegistry.cpp
@@ -623,7 +623,7 @@ HashSet<String>& MIMETypeRegistry::getUnsupportedTextMIMETypes()
const String& defaultMIMEType()
{
- DEFINE_STATIC_LOCAL(const String, defaultMIMEType, ("application/octet-stream"));
+ DEFINE_STATIC_LOCAL(const String, defaultMIMEType, (ASCIILiteral("application/octet-stream")));
return defaultMIMEType;
}
@@ -637,50 +637,51 @@ static const MIMETypeAssociationMap& mimeTypeAssociationMap()
return *mimeTypeMap;
mimeTypeMap = new MIMETypeAssociationMap;
- mimeTypeMap->add("image/x-ms-bmp", "image/bmp");
- mimeTypeMap->add("image/x-windows-bmp", "image/bmp");
- mimeTypeMap->add("image/x-bmp", "image/bmp");
- mimeTypeMap->add("image/x-bitmap", "image/bmp");
- mimeTypeMap->add("image/x-ms-bitmap", "image/bmp");
- mimeTypeMap->add("image/jpg", "image/jpeg");
- mimeTypeMap->add("image/pjpeg", "image/jpeg");
- mimeTypeMap->add("image/x-png", "image/png");
- mimeTypeMap->add("image/vnd.rim.png", "image/png");
- mimeTypeMap->add("image/ico", "image/vnd.microsoft.icon");
- mimeTypeMap->add("image/icon", "image/vnd.microsoft.icon");
- mimeTypeMap->add("text/ico", "image/vnd.microsoft.icon");
- mimeTypeMap->add("application/ico", "image/vnd.microsoft.icon");
- mimeTypeMap->add("image/x-icon", "image/vnd.microsoft.icon");
- mimeTypeMap->add("audio/vnd.qcelp", "audio/qcelp");
- mimeTypeMap->add("audio/qcp", "audio/qcelp");
- mimeTypeMap->add("audio/vnd.qcp", "audio/qcelp");
- mimeTypeMap->add("audio/wav", "audio/x-wav");
- mimeTypeMap->add("audio/mid", "audio/midi");
- mimeTypeMap->add("audio/sp-midi", "audio/midi");
- mimeTypeMap->add("audio/x-mid", "audio/midi");
- mimeTypeMap->add("audio/x-midi", "audio/midi");
- mimeTypeMap->add("audio/x-mpeg", "audio/mpeg");
- mimeTypeMap->add("audio/mp3", "audio/mpeg");
- mimeTypeMap->add("audio/x-mp3", "audio/mpeg");
- mimeTypeMap->add("audio/mpeg3", "audio/mpeg");
- mimeTypeMap->add("audio/x-mpeg3", "audio/mpeg");
- mimeTypeMap->add("audio/mpg3", "audio/mpeg");
- mimeTypeMap->add("audio/mpg", "audio/mpeg");
- mimeTypeMap->add("audio/x-mpg", "audio/mpeg");
- mimeTypeMap->add("audio/m4a", "audio/mp4");
- mimeTypeMap->add("audio/x-m4a", "audio/mp4");
- mimeTypeMap->add("audio/x-mp4", "audio/mp4");
- mimeTypeMap->add("audio/x-aac", "audio/aac");
- mimeTypeMap->add("audio/x-amr", "audio/amr");
- mimeTypeMap->add("audio/mpegurl", "audio/x-mpegurl");
- mimeTypeMap->add("audio/flac", "audio/x-flac");
- mimeTypeMap->add("video/3gp", "video/3gpp");
- mimeTypeMap->add("video/avi", "video/x-msvideo");
- mimeTypeMap->add("video/x-m4v", "video/mp4");
- mimeTypeMap->add("video/x-quicktime", "video/quicktime");
- mimeTypeMap->add("application/java", "application/java-archive");
- mimeTypeMap->add("application/x-java-archive", "application/java-archive");
- mimeTypeMap->add("application/x-zip-compressed", "application/zip");
+
+ mimeTypeMap->add(ASCIILiteral("image/x-ms-bmp"), ASCIILiteral("image/bmp")));
+ mimeTypeMap->add(ASCIILiteral("image/x-windows-bmp"), ASCIILiteral("image/bmp"));
+ mimeTypeMap->add(ASCIILiteral("image/x-bmp"), ASCIILiteral("image/bmp"));
+ mimeTypeMap->add(ASCIILiteral("image/x-bitmap"), ASCIILiteral("image/bmp"));
+ mimeTypeMap->add(ASCIILiteral("image/x-ms-bitmap"), ASCIILiteral("image/bmp"));
+ mimeTypeMap->add(ASCIILiteral("image/jpg"), ASCIILiteral("image/jpeg"));
+ mimeTypeMap->add(ASCIILiteral("image/pjpeg"), ASCIILiteral("image/jpeg"));
+ mimeTypeMap->add(ASCIILiteral("image/x-png"), ASCIILiteral("image/png"));
+ mimeTypeMap->add(ASCIILiteral("image/vnd.rim.png"), ASCIILiteral("image/png"));
+ mimeTypeMap->add(ASCIILiteral("image/ico"), ASCIILiteral("image/vnd.microsoft.icon"));
+ mimeTypeMap->add(ASCIILiteral("image/icon"), ASCIILiteral("image/vnd.microsoft.icon"));
+ mimeTypeMap->add(ASCIILiteral("text/ico"), ASCIILiteral("image/vnd.microsoft.icon"));
+ mimeTypeMap->add(ASCIILiteral("application/ico"), ASCIILiteral("image/vnd.microsoft.icon"));
+ mimeTypeMap->add(ASCIILiteral("image/x-icon"), ASCIILiteral("image/vnd.microsoft.icon"));
+ mimeTypeMap->add(ASCIILiteral("audio/vnd.qcelp"), ASCIILiteral("audio/qcelp"));
+ mimeTypeMap->add(ASCIILiteral("audio/qcp"), ASCIILiteral("audio/qcelp"));
+ mimeTypeMap->add(ASCIILiteral("audio/vnd.qcp"), ASCIILiteral("audio/qcelp"));
+ mimeTypeMap->add(ASCIILiteral("audio/wav"), ASCIILiteral("audio/x-wav"));
+ mimeTypeMap->add(ASCIILiteral("audio/mid"), ASCIILiteral("audio/midi"));
+ mimeTypeMap->add(ASCIILiteral("audio/sp-midi"), ASCIILiteral("audio/midi"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-mid"), ASCIILiteral("audio/midi"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-midi"), ASCIILiteral("audio/midi"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-mpeg"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/mp3"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-mp3"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/mpeg3"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-mpeg3"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/mpg3"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/mpg"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-mpg"), ASCIILiteral("audio/mpeg"));
+ mimeTypeMap->add(ASCIILiteral("audio/m4a"), ASCIILiteral("audio/mp4"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-m4a"), ASCIILiteral("audio/mp4"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-mp4"), ASCIILiteral("audio/mp4"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-aac"), ASCIILiteral("audio/aac"));
+ mimeTypeMap->add(ASCIILiteral("audio/x-amr"), ASCIILiteral("audio/amr"));
+ mimeTypeMap->add(ASCIILiteral("audio/mpegurl"), ASCIILiteral("audio/x-mpegurl"));
+ mimeTypeMap->add(ASCIILiteral("audio/flac"), ASCIILiteral("audio/x-flac"));
+ mimeTypeMap->add(ASCIILiteral("video/3gp"), ASCIILiteral("video/3gpp"));
+ mimeTypeMap->add(ASCIILiteral("video/avi"), ASCIILiteral("video/x-msvideo"));
+ mimeTypeMap->add(ASCIILiteral("video/x-m4v"), ASCIILiteral("video/mp4"));
+ mimeTypeMap->add(ASCIILiteral("video/x-quicktime"), ASCIILiteral("video/quicktime"));
+ mimeTypeMap->add(ASCIILiteral("application/java"), ASCIILiteral("application/java-archive"));
+ mimeTypeMap->add(ASCIILiteral("application/x-java-archive"), ASCIILiteral("application/java-archive"));
+ mimeTypeMap->add(ASCIILiteral("application/x-zip-compressed"), ASCIILiteral("application/zip"));
return *mimeTypeMap;
}
diff --git a/Source/WebCore/platform/MIMETypeRegistry.h b/Source/WebCore/platform/MIMETypeRegistry.h
index bcfedca14..ab8b7ded1 100644
--- a/Source/WebCore/platform/MIMETypeRegistry.h
+++ b/Source/WebCore/platform/MIMETypeRegistry.h
@@ -26,10 +26,10 @@
#ifndef MIMETypeRegistry_h
#define MIMETypeRegistry_h
-#include "PlatformString.h"
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/Pasteboard.h b/Source/WebCore/platform/Pasteboard.h
index bfdb01ca2..4022a61a3 100644
--- a/Source/WebCore/platform/Pasteboard.h
+++ b/Source/WebCore/platform/Pasteboard.h
@@ -100,9 +100,12 @@ public:
PassRefPtr<DocumentFragment> documentFragment(Frame*, PassRefPtr<Range>, bool allowPlainText, bool& chosePlainText);
String plainText(Frame* = 0);
-#if PLATFORM(QT) || PLATFORM(CHROMIUM)
+#if PLATFORM(QT) || PLATFORM(CHROMIUM) || PLATFORM(GTK)
bool isSelectionMode() const;
- void setSelectionMode(bool selectionMode);
+ void setSelectionMode(bool);
+#else
+ bool isSelectionMode() const { return false; }
+ void setSelectionMode(bool) { }
#endif
#if PLATFORM(GTK)
diff --git a/Source/WebCore/platform/PlatformWheelEvent.h b/Source/WebCore/platform/PlatformWheelEvent.h
index 3083edade..b3ed0c5ab 100644
--- a/Source/WebCore/platform/PlatformWheelEvent.h
+++ b/Source/WebCore/platform/PlatformWheelEvent.h
@@ -87,6 +87,7 @@ namespace WebCore {
, m_wheelTicksY(0)
, m_granularity(ScrollByPixelWheelEvent)
, m_directionInvertedFromDevice(false)
+ , m_useLatchedEventNode(false)
#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
, m_hasPreciseScrollingDeltas(false)
#endif
@@ -110,11 +111,12 @@ namespace WebCore {
, m_wheelTicksY(wheelTicksY)
, m_granularity(granularity)
, m_directionInvertedFromDevice(false)
+ , m_useLatchedEventNode(false)
#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
, m_hasPreciseScrollingDeltas(false)
#endif
#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN))
- , m_phase(PlatformWheelEventPhaseNone)
+ , m_phase(PlatformWheelEventPhaseNone)
, m_momentumPhase(PlatformWheelEventPhaseNone)
, m_scrollCount(0)
, m_unacceleratedScrollingDeltaX(0)
@@ -148,6 +150,8 @@ namespace WebCore {
bool directionInvertedFromDevice() const { return m_directionInvertedFromDevice; }
+ void setUseLatchedEventNode(bool b) { m_useLatchedEventNode = b; }
+
#if PLATFORM(GTK)
explicit PlatformWheelEvent(GdkEventScroll*);
#endif
@@ -157,7 +161,7 @@ namespace WebCore {
#endif
#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
- bool hasPreciseScrollingDeltas() const { return m_hasPreciseScrollingDeltas; }
+ bool hasPreciseScrollingDeltas() const { return m_hasPreciseScrollingDeltas; }
#endif
#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN))
PlatformWheelEventPhase phase() const { return m_phase; }
@@ -165,6 +169,9 @@ namespace WebCore {
unsigned scrollCount() const { return m_scrollCount; }
float unacceleratedScrollingDeltaX() const { return m_unacceleratedScrollingDeltaX; }
float unacceleratedScrollingDeltaY() const { return m_unacceleratedScrollingDeltaY; }
+ bool useLatchedEventNode() const { return m_useLatchedEventNode || (m_momentumPhase == PlatformWheelEventPhaseBegan || m_momentumPhase == PlatformWheelEventPhaseChanged); }
+#else
+ bool useLatchedEventNode() const { return m_useLatchedEventNode; }
#endif
#if PLATFORM(WIN)
@@ -189,11 +196,12 @@ namespace WebCore {
float m_wheelTicksY;
PlatformWheelEventGranularity m_granularity;
bool m_directionInvertedFromDevice;
+ bool m_useLatchedEventNode;
#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
bool m_hasPreciseScrollingDeltas;
#endif
#if PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN))
- PlatformWheelEventPhase m_phase;
+ PlatformWheelEventPhase m_phase;
PlatformWheelEventPhase m_momentumPhase;
unsigned m_scrollCount;
float m_unacceleratedScrollingDeltaX;
diff --git a/Source/WebCore/platform/SSLKeyGenerator.h b/Source/WebCore/platform/SSLKeyGenerator.h
index f81f0a599..065152605 100644
--- a/Source/WebCore/platform/SSLKeyGenerator.h
+++ b/Source/WebCore/platform/SSLKeyGenerator.h
@@ -27,7 +27,7 @@
#define SSLKeyGenerator_h
#include <wtf/Vector.h>
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/SchemeRegistry.h b/Source/WebCore/platform/SchemeRegistry.h
index 4add7c371..f3bd0718e 100644
--- a/Source/WebCore/platform/SchemeRegistry.h
+++ b/Source/WebCore/platform/SchemeRegistry.h
@@ -26,9 +26,9 @@
#ifndef SchemeRegistry_h
#define SchemeRegistry_h
-#include "PlatformString.h"
#include <wtf/HashSet.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/ScrollAnimatorNone.cpp b/Source/WebCore/platform/ScrollAnimatorNone.cpp
index 34a6f7709..969d8aa09 100644
--- a/Source/WebCore/platform/ScrollAnimatorNone.cpp
+++ b/Source/WebCore/platform/ScrollAnimatorNone.cpp
@@ -46,7 +46,7 @@
#if ENABLE(GESTURE_ANIMATION)
#include "ActivePlatformGestureAnimation.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
+#include "TouchFlingPlatformGestureCurve.h"
#endif
@@ -299,9 +299,9 @@ bool ScrollAnimatorNone::PerAxisData::updateDataFromParameters(float step, float
// This needs to be as minimal as possible while not being intrusive to page up/down.
double minCoastDelta = m_visibleLength;
- if (abs(remainingDelta) > minCoastDelta) {
+ if (fabs(remainingDelta) > minCoastDelta) {
double maxCoastDelta = parameters->m_maximumCoastTime * targetMaxCoastVelocity;
- double coastFactor = min(1., (abs(remainingDelta) - minCoastDelta) / (maxCoastDelta - minCoastDelta));
+ double coastFactor = min(1., (fabs(remainingDelta) - minCoastDelta) / (maxCoastDelta - minCoastDelta));
// We could play with the curve here - linear seems a little soft. Initial testing makes me want to feed into the sustain time more aggressively.
double coastMinTimeLeft = min(parameters->m_maximumCoastTime, minTimeLeft + coastCurve(parameters->m_coastTimeCurve, coastFactor) * (parameters->m_maximumCoastTime - minTimeLeft));
@@ -408,7 +408,7 @@ void ScrollAnimatorNone::fireUpAnAnimation(FloatPoint fp)
#if ENABLE(GESTURE_ANIMATION)
if (m_gestureAnimation)
m_gestureAnimation.clear();
- m_gestureAnimation = ActivePlatformGestureAnimation::create(TouchpadFlingPlatformGestureCurve::create(fp), this);
+ m_gestureAnimation = ActivePlatformGestureAnimation::create(TouchFlingPlatformGestureCurve::createForTouchPad(fp), this);
#endif
#if USE(REQUEST_ANIMATION_FRAME_TIMER)
startNextTimer(0);
diff --git a/Source/WebCore/platform/ScrollableArea.h b/Source/WebCore/platform/ScrollableArea.h
index 721ec32ec..ce255b1b6 100644
--- a/Source/WebCore/platform/ScrollableArea.h
+++ b/Source/WebCore/platform/ScrollableArea.h
@@ -169,6 +169,7 @@ public:
#if USE(ACCELERATED_COMPOSITING)
virtual TiledBacking* tiledBacking() { return 0; }
+ virtual bool usesCompositedScrolling() const { return false; }
#endif
protected:
diff --git a/Source/WebCore/platform/SharedBuffer.cpp b/Source/WebCore/platform/SharedBuffer.cpp
index bc6c309da..d674ea8a7 100644
--- a/Source/WebCore/platform/SharedBuffer.cpp
+++ b/Source/WebCore/platform/SharedBuffer.cpp
@@ -27,9 +27,11 @@
#include "config.h"
#include "SharedBuffer.h"
-#include "MemoryInstrumentation.h"
#include "PurgeableBuffer.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/unicode/UTF8.h>
+#include <wtf/unicode/Unicode.h>
using namespace std;
@@ -248,7 +250,7 @@ const Vector<char>& SharedBuffer::buffer() const
void SharedBuffer::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Other);
+ MemoryClassInfo info(memoryObjectInfo, this, GenericMemoryTypes::Undefined);
info.addVector(m_buffer);
info.addVector(m_segments);
for (unsigned i = 0; i < m_segments.size(); ++i)
@@ -330,4 +332,21 @@ inline unsigned SharedBuffer::platformDataSize() const
#endif
+PassRefPtr<SharedBuffer> utf8Buffer(const String& string)
+{
+ // Allocate a buffer big enough to hold all the characters.
+ const int length = string.length();
+ Vector<char> buffer(length * 3);
+
+ // Convert to runs of 8-bit characters.
+ char* p = buffer.data();
+ const UChar* d = string.characters();
+ WTF::Unicode::ConversionResult result = WTF::Unicode::convertUTF16ToUTF8(&d, d + length, &p, p + buffer.size(), true);
+ if (result != WTF::Unicode::conversionOK)
+ return 0;
+
+ buffer.shrink(p - buffer.data());
+ return SharedBuffer::adoptVector(buffer);
}
+
+} // namespace WebCore
diff --git a/Source/WebCore/platform/SharedBuffer.h b/Source/WebCore/platform/SharedBuffer.h
index 90a2a3578..455c3d8e6 100644
--- a/Source/WebCore/platform/SharedBuffer.h
+++ b/Source/WebCore/platform/SharedBuffer.h
@@ -27,11 +27,11 @@
#ifndef SharedBuffer_h
#define SharedBuffer_h
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/OwnPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#if USE(CF)
#include <wtf/RetainPtr.h>
@@ -148,7 +148,9 @@ private:
RetainPtr<CFDataRef> m_cfData;
#endif
};
-
-}
+
+PassRefPtr<SharedBuffer> utf8Buffer(const String&);
+
+} // namespace WebCore
#endif // SharedBuffer_h
diff --git a/Source/WebCore/platform/Theme.h b/Source/WebCore/platform/Theme.h
index f211576fa..505046c4d 100644
--- a/Source/WebCore/platform/Theme.h
+++ b/Source/WebCore/platform/Theme.h
@@ -31,8 +31,8 @@
#include "IntRect.h"
#include "LengthBox.h"
#include "LengthSize.h"
-#include "PlatformString.h"
#include "ThemeTypes.h"
+#include <wtf/Forward.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp b/Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp
index b2bfbea5e..3f1b83f04 100644
--- a/Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.cpp
+++ b/Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp
@@ -24,7 +24,7 @@
#include "config.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
+#include "TouchFlingPlatformGestureCurve.h"
#include "PlatformGestureCurveTarget.h"
#include <math.h>
@@ -51,19 +51,23 @@ using namespace std;
// The curve is modelled as a 4th order polynomial, starting at t = 0, and ending at t = m_curveDuration.
// Attempts to generate position/velocity estimates outside this range are undefined.
-const int TouchpadFlingPlatformGestureCurve::m_maxSearchIterations = 20;
+static const int cMaxSearchIterations = 20;
-PassOwnPtr<PlatformGestureCurve> TouchpadFlingPlatformGestureCurve::create(const FloatPoint& velocity, IntPoint cumulativeScroll)
+PassOwnPtr<PlatformGestureCurve> TouchFlingPlatformGestureCurve::createForTouchPad(const FloatPoint& velocity, IntPoint cumulativeScroll)
{
// The default parameters listed below are a matched set, and should not be changed independently of one another.
- return create(velocity, -5.70762e+03, 1.72e+02, 3.7e+00, 0, 0, 1.3, cumulativeScroll);
+ return create(velocity, -5.70762e+03, 1.72e+02, 3.7e+00, 1.3, cumulativeScroll);
}
-// FIXME: need to remove p3, p4 here and below as they are not used in the exponential curve, but leave in for now to facilitate
-// the in-flight patch for https://bugs.webkit.org/show_bug.cgi?id=81663 .
-PassOwnPtr<PlatformGestureCurve> TouchpadFlingPlatformGestureCurve::create(const FloatPoint& velocity, float p0, float p1, float p2, float p3, float p4, float curveDuration, IntPoint cumulativeScroll)
+PassOwnPtr<PlatformGestureCurve> TouchFlingPlatformGestureCurve::createForTouchScreen(const FloatPoint& velocity, IntPoint cumulativeScroll)
{
- return adoptPtr(new TouchpadFlingPlatformGestureCurve(velocity, p0, p1, p2, p3, p4, curveDuration, cumulativeScroll));
+ // The touchscreen-specific parameters listed below are a matched set, and should not be changed independently of one another.
+ return create(velocity, -3.5e+03, 90, 3.0e+00, 1.5864, cumulativeScroll);
+}
+
+PassOwnPtr<PlatformGestureCurve> TouchFlingPlatformGestureCurve::create(const FloatPoint& velocity, float p0, float p1, float p2, float curveDuration, IntPoint cumulativeScroll)
+{
+ return adoptPtr(new TouchFlingPlatformGestureCurve(velocity, p0, p1, p2, curveDuration, cumulativeScroll));
}
inline double position(double t, float* p)
@@ -76,28 +80,26 @@ inline double velocity(double t, float* p)
return -p[0] * p[2] * exp(-p[2] * t) - p[1];
}
-TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve(const FloatPoint& initialVelocity, float p0, float p1, float p2, float p3, float p4, float curveDuration, const IntPoint& cumulativeScroll)
+TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve(const FloatPoint& initialVelocity, float p0, float p1, float p2, float curveDuration, const IntPoint& cumulativeScroll)
: m_cumulativeScroll(cumulativeScroll)
, m_curveDuration(curveDuration)
{
ASSERT(initialVelocity != FloatPoint::zero());
- m_coeffs[0] = p0; // alpha
- m_coeffs[1] = p1; // beta
- m_coeffs[2] = p2; // gamma
- m_coeffs[3] = p3; // not used
- m_coeffs[4] = p4; // not used
+ m_coefficients[0] = p0; // alpha
+ m_coefficients[1] = p1; // beta
+ m_coefficients[2] = p2; // gamma
float maxInitialVelocity = max(fabs(initialVelocity.x()), fabs(initialVelocity.y()));
// Force maxInitialVelocity to lie in the range v(0) to v(curveDuration), and assume that
// the curve parameters define a monotonically decreasing velocity, or else bisection search may
// fail.
- if (maxInitialVelocity > velocity(0, m_coeffs))
- maxInitialVelocity = velocity(0, m_coeffs);
+ if (maxInitialVelocity > velocity(0, m_coefficients))
+ maxInitialVelocity = velocity(0, m_coefficients);
- if (maxInitialVelocity < velocity(m_curveDuration, m_coeffs))
- maxInitialVelocity = velocity(m_curveDuration, m_coeffs);
+ if (maxInitialVelocity < velocity(m_curveDuration, m_coefficients))
+ maxInitialVelocity = velocity(m_curveDuration, m_coefficients);
// We keep track of relative magnitudes and directions of the velocity/displacement components here.
m_displacementRatio = FloatPoint(initialVelocity.x() / maxInitialVelocity, initialVelocity.y() / maxInitialVelocity);
@@ -108,10 +110,10 @@ TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve(const Float
double t0 = 0;
double t1 = curveDuration;
int numIterations = 0;
- while (t0 < t1 && numIterations < m_maxSearchIterations) {
+ while (t0 < t1 && numIterations < cMaxSearchIterations) {
numIterations++;
m_timeOffset = (t0 + t1) * 0.5;
- double vOffset = velocity(m_timeOffset, m_coeffs);
+ double vOffset = velocity(m_timeOffset, m_coefficients);
if (fabs(maxInitialVelocity - vOffset) < epsilon)
break;
@@ -122,27 +124,27 @@ TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve(const Float
}
// Compute curve position at offset time
- m_positionOffset = position(m_timeOffset, m_coeffs);
+ m_positionOffset = position(m_timeOffset, m_coefficients);
}
-TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve()
+TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve()
{
}
-const char* TouchpadFlingPlatformGestureCurve::debugName() const
+const char* TouchFlingPlatformGestureCurve::debugName() const
{
return "TouchpadFling";
}
-bool TouchpadFlingPlatformGestureCurve::apply(double time, PlatformGestureCurveTarget* target)
+bool TouchFlingPlatformGestureCurve::apply(double time, PlatformGestureCurveTarget* target)
{
float displacement;
if (time < 0)
displacement = 0;
else if (time + m_timeOffset < m_curveDuration)
- displacement = position(time + m_timeOffset, m_coeffs) - m_positionOffset;
+ displacement = position(time + m_timeOffset, m_coefficients) - m_positionOffset;
else
- displacement = position(m_curveDuration, m_coeffs) - m_positionOffset;
+ displacement = position(m_curveDuration, m_coefficients) - m_positionOffset;
// Keep track of integer portion of scroll thus far, and prepare increment.
IntPoint scroll(displacement * m_displacementRatio.x(), displacement * m_displacementRatio.y());
diff --git a/Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h b/Source/WebCore/platform/TouchFlingPlatformGestureCurve.h
index e1c85575d..f238a717d 100644
--- a/Source/WebCore/platform/TouchpadFlingPlatformGestureCurve.h
+++ b/Source/WebCore/platform/TouchFlingPlatformGestureCurve.h
@@ -22,8 +22,8 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef TouchpadFlingPlatformGestureCurve_h
-#define TouchpadFlingPlatformGestureCurve_h
+#ifndef TouchFlingPlatformGestureCurve_h
+#define TouchFlingPlatformGestureCurve_h
#include "FloatPoint.h"
#include "PlatformGestureCurve.h"
@@ -38,26 +38,25 @@ class PlatformGestureCurveTarget;
// fling scroll. Starts with a flat velocity profile based on 'velocity', which
// tails off to zero. Time is scaled to that duration of the fling is proportional
// the initial velocity.
-class TouchpadFlingPlatformGestureCurve : public PlatformGestureCurve {
+class TouchFlingPlatformGestureCurve : public PlatformGestureCurve {
public:
- static PassOwnPtr<PlatformGestureCurve> create(const FloatPoint& velocity, IntPoint cumulativeScroll = IntPoint());
- static PassOwnPtr<PlatformGestureCurve> create(const FloatPoint& velocity, float p0, float p1, float p2, float p3, float p4, float curveDuration, IntPoint cumulativeScroll = IntPoint());
- virtual ~TouchpadFlingPlatformGestureCurve();
+ static PassOwnPtr<PlatformGestureCurve> createForTouchPad(const FloatPoint& velocity, IntPoint cumulativeScroll = IntPoint());
+ static PassOwnPtr<PlatformGestureCurve> createForTouchScreen(const FloatPoint& velocity, IntPoint cumulativeScroll = IntPoint());
+ static PassOwnPtr<PlatformGestureCurve> create(const FloatPoint& velocity, float p0, float p1, float p2, float curveDuration, IntPoint cumulativeScroll = IntPoint());
+ virtual ~TouchFlingPlatformGestureCurve();
virtual const char* debugName() const OVERRIDE;
virtual bool apply(double monotonicTime, PlatformGestureCurveTarget*) OVERRIDE;
private:
- TouchpadFlingPlatformGestureCurve(const FloatPoint& velocity, float p0, float p1, float p2, float p3, float p4, float curveDuration, const IntPoint& cumulativeScroll);
+ TouchFlingPlatformGestureCurve(const FloatPoint& velocity, float p0, float p1, float p2, float curveDuration, const IntPoint& cumulativeScroll);
FloatPoint m_displacementRatio;
IntPoint m_cumulativeScroll;
- float m_coeffs[5];
+ float m_coefficients[3];
float m_timeOffset;
float m_curveDuration;
float m_positionOffset;
-
- static const int m_maxSearchIterations;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/TreeShared.h b/Source/WebCore/platform/TreeShared.h
index fbefeb159..6f652db64 100644
--- a/Source/WebCore/platform/TreeShared.h
+++ b/Source/WebCore/platform/TreeShared.h
@@ -113,7 +113,7 @@ public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_parent);
}
diff --git a/Source/WebCore/platform/UUID.h b/Source/WebCore/platform/UUID.h
index 85e111fd6..6d914dc04 100644
--- a/Source/WebCore/platform/UUID.h
+++ b/Source/WebCore/platform/UUID.h
@@ -31,7 +31,7 @@
#ifndef UUID_h
#define UUID_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/animation/Animation.cpp b/Source/WebCore/platform/animation/Animation.cpp
index d397ae201..333f1d828 100644
--- a/Source/WebCore/platform/animation/Animation.cpp
+++ b/Source/WebCore/platform/animation/Animation.cpp
@@ -136,7 +136,7 @@ bool Animation::animationsMatch(const Animation* o, bool matchPlayStates) const
const String& Animation::initialAnimationName()
{
- DEFINE_STATIC_LOCAL(String, initialValue, ("none"));
+ DEFINE_STATIC_LOCAL(String, initialValue, (ASCIILiteral("none")));
return initialValue;
}
diff --git a/Source/WebCore/platform/animation/Animation.h b/Source/WebCore/platform/animation/Animation.h
index b5da99076..8106efdbf 100644
--- a/Source/WebCore/platform/animation/Animation.h
+++ b/Source/WebCore/platform/animation/Animation.h
@@ -26,11 +26,11 @@
#define Animation_h
#include "CSSPropertyNames.h"
-#include "PlatformString.h"
#include "RenderStyleConstants.h"
#include "TimingFunction.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/audio/HRTFElevation.cpp b/Source/WebCore/platform/audio/HRTFElevation.cpp
index 080b3911e..25e458962 100644
--- a/Source/WebCore/platform/audio/HRTFElevation.cpp
+++ b/Source/WebCore/platform/audio/HRTFElevation.cpp
@@ -60,7 +60,7 @@ const size_t ResponseFrameSize = 256;
// The impulse responses may be resampled to a different sample-rate (depending on the audio hardware) when they are loaded.
const float ResponseSampleRate = 44100;
-#if PLATFORM(GTK) || PLATFORM(MAC) || PLATFORM(EFL)
+#if PLATFORM(MAC) || USE(WEBAUDIO_GSTREAMER)
#define USE_CONCATENATED_IMPULSE_RESPONSES
#endif
diff --git a/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp b/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp
index ba35a2c9f..79bc4f0ab 100644
--- a/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp
+++ b/Source/WebCore/platform/audio/chromium/AudioBusChromium.cpp
@@ -29,43 +29,51 @@
#include "AudioBus.h"
#include "AudioFileReader.h"
-#include "PlatformSupport.h"
#include <public/Platform.h>
+#include <public/WebAudioBus.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
+PassOwnPtr<AudioBus> decodeAudioFileData(const char* data, size_t size, double sampleRate)
+{
+ WebKit::WebAudioBus webAudioBus;
+ if (WebKit::Platform::current()->loadAudioResource(&webAudioBus, data, size, sampleRate))
+ return webAudioBus.release();
+ return nullptr;
+}
+
PassOwnPtr<AudioBus> AudioBus::loadPlatformResource(const char* name, float sampleRate)
{
const WebKit::WebData& resource = WebKit::Platform::current()->loadResource(name);
if (resource.isEmpty())
return nullptr;
-
+
// FIXME: the sampleRate parameter is ignored. It should be removed from the API.
- OwnPtr<AudioBus> audioBus = PlatformSupport::decodeAudioFileData(resource.data(), resource.size(), sampleRate);
+ OwnPtr<AudioBus> audioBus = decodeAudioFileData(resource.data(), resource.size(), sampleRate);
if (!audioBus.get())
return nullptr;
-
+
// If the bus is already at the requested sample-rate then return as is.
if (audioBus->sampleRate() == sampleRate)
return audioBus.release();
-
+
return AudioBus::createBySampleRateConverting(audioBus.get(), false, sampleRate);
}
PassOwnPtr<AudioBus> createBusFromInMemoryAudioFile(const void* data, size_t dataSize, bool mixToMono, float sampleRate)
{
// FIXME: the sampleRate parameter is ignored. It should be removed from the API.
- OwnPtr<AudioBus> audioBus = PlatformSupport::decodeAudioFileData(static_cast<const char*>(data), dataSize, sampleRate);
+ OwnPtr<AudioBus> audioBus = decodeAudioFileData(static_cast<const char*>(data), dataSize, sampleRate);
if (!audioBus.get())
return nullptr;
-
+
// If the bus needs no conversion then return as is.
if ((!mixToMono || audioBus->numberOfChannels() == 1) && audioBus->sampleRate() == sampleRate)
return audioBus.release();
-
- return AudioBus::createBySampleRateConverting(audioBus.get(), mixToMono, sampleRate);
+
+ return AudioBus::createBySampleRateConverting(audioBus.get(), mixToMono, sampleRate);
}
} // namespace WebCore
diff --git a/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp b/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
index 18372fc0b..540c979a5 100644
--- a/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
+++ b/Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp
@@ -24,6 +24,13 @@
#include "AudioFileReader.h"
#include "AudioBus.h"
+
+#if PLATFORM(QT)
+// Clear out offending Qt macro so the following header, gio.h, can be included.
+// https://bugs.webkit.org/show_bug.cgi?id=95081
+#undef signals
+#endif
+
#include <gio/gio.h>
#include <gst/app/gstappsink.h>
#include <gst/audio/multichannel.h>
diff --git a/Source/WebCore/platform/audio/qt/AudioBusQt.cpp b/Source/WebCore/platform/audio/qt/AudioBusQt.cpp
new file mode 100644
index 000000000..d502e1429
--- /dev/null
+++ b/Source/WebCore/platform/audio/qt/AudioBusQt.cpp
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(WEB_AUDIO)
+
+#include "AudioBus.h"
+
+#include "AudioFileReader.h"
+#include <QResource>
+
+namespace WebCore {
+
+PassOwnPtr<AudioBus> AudioBus::loadPlatformResource(const char* name, float sampleRate)
+{
+ QString path = QStringLiteral(":/webkit/resources/audio/");
+ path.append(QLatin1String(name));
+ QResource resource(path);
+ return createBusFromInMemoryAudioFile(resource.data(), resource.size(), /* mixToMono */ false, sampleRate);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(WEB_AUDIO)
diff --git a/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h b/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h
new file mode 100644
index 000000000..52224f511
--- /dev/null
+++ b/Source/WebCore/platform/blackberry/AuthenticationChallengeManager.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
+ *
+ * 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 AuthenticationChallengeManager_h
+#define AuthenticationChallengeManager_h
+
+namespace WebCore {
+
+class Credential;
+class KURL;
+class ProtectionSpace;
+
+enum AuthenticationChallengeResult {
+ AuthenticationChallengeSuccess,
+ AuthenticationChallengeCancelled
+};
+
+class AuthenticationChallengeClient {
+public:
+ virtual void notifyChallengeResult(const KURL&, const ProtectionSpace&, AuthenticationChallengeResult, const Credential&) = 0;
+};
+
+} // namespace WebCore
+
+#endif // AuthenticationChallengeManager_h
diff --git a/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp b/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp
index ced560207..e34594b62 100644
--- a/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp
+++ b/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp
@@ -65,9 +65,7 @@ CookieDatabaseBackingStore::CookieDatabaseBackingStore()
m_dbTimerClient = new BlackBerry::Platform::GenericTimerClient(this);
m_dbTimer.setClient(m_dbTimerClient);
- pthread_attr_t threadAttrs;
- pthread_attr_init(&threadAttrs);
- createThread("cookie_database", threadAttrs);
+ createThread("cookie_database", pthread_attr_default);
}
CookieDatabaseBackingStore::~CookieDatabaseBackingStore()
@@ -118,8 +116,8 @@ void CookieDatabaseBackingStore::upgradeTableIfNeeded(const String& databaseFiel
}
while (statement.step() == SQLResultRow) {
- DEFINE_STATIC_LOCAL(String, creationTime, ("creationTime"));
- DEFINE_STATIC_LOCAL(String, protocol, ("protocol"));
+ DEFINE_STATIC_LOCAL(String, creationTime, (ASCIILiteral("creationTime")));
+ DEFINE_STATIC_LOCAL(String, protocol, (ASCIILiteral("protocol")));
String name = statement.getColumnText(1);
if (name == creationTime)
creationTimeExists = true;
@@ -140,23 +138,25 @@ void CookieDatabaseBackingStore::upgradeTableIfNeeded(const String& databaseFiel
commands.append(renameQuery);
// Recreate the cookie table using the new database and primary key fields
- String createTableQuery("CREATE TABLE ");
- createTableQuery += m_tableName;
- createTableQuery += " (" + databaseFields + ", " + primaryKeyFields + ");";
- commands.append(createTableQuery);
+ StringBuilder createTableQuery;
+ createTableQuery.append("CREATE TABLE ");
+ createTableQuery.append(m_tableName);
+ createTableQuery.append(" (" + databaseFields + ", " + primaryKeyFields + ");");
+ commands.append(createTableQuery.toString());
// Copy the old data into the new table. If a column does not exists,
// we have to put a '' in the select statement to make the number of columns
// equal in the insert statement.
- String migrationQuery("INSERT OR REPLACE INTO ");
- migrationQuery += m_tableName;
- migrationQuery += " SELECT *";
+ StringBuilder migrationQuery;
+ migrationQuery.append("INSERT OR REPLACE INTO ");
+ migrationQuery.append(m_tableName);
+ migrationQuery.append(" SELECT *");
if (!creationTimeExists)
- migrationQuery += ",''";
+ migrationQuery.append(",''");
if (!protocolExists)
- migrationQuery += ",''";
- migrationQuery += " FROM Backup_" + m_tableName;
- commands.append(migrationQuery);
+ migrationQuery.append(",''");
+ migrationQuery.append(" FROM Backup_" + m_tableName);
+ commands.append(migrationQuery.toString());
// The new columns will be blank, set the new values.
if (!creationTimeExists) {
@@ -226,46 +226,50 @@ void CookieDatabaseBackingStore::invokeOpen(const String& cookieJar)
upgradeTableIfNeeded(databaseFields, primaryKeyFields);
// Create table if not exsist in case that the upgradeTableIfNeeded() failed accidentally.
- String createTableQuery("CREATE TABLE IF NOT EXISTS ");
- createTableQuery += m_tableName;
+ StringBuilder createTableQuery;
+ createTableQuery.append("CREATE TABLE IF NOT EXISTS ");
+ createTableQuery.append(m_tableName);
// This table schema is compliant with Mozilla's.
- createTableQuery += " (" + databaseFields + ", " + primaryKeyFields+");";
+ createTableQuery.append(" (" + databaseFields + ", " + primaryKeyFields+");");
m_db.setBusyTimeout(1000);
- if (!m_db.executeCommand(createTableQuery)) {
+ if (!m_db.executeCommand(createTableQuery.toString())) {
LOG_ERROR("Could not create the table to store the cookies into. No cookie will be stored!");
LOG_ERROR("SQLite Error Message: %s", m_db.lastErrorMsg());
close();
return;
}
- String insertQuery("INSERT OR REPLACE INTO ");
- insertQuery += m_tableName;
- insertQuery += " (name, value, host, path, expiry, lastAccessed, isSecure, isHttpOnly, creationTime, protocol) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10);";
+ StringBuilder insertQuery;
+ insertQuery.append("INSERT OR REPLACE INTO ");
+ insertQuery.append(m_tableName);
+ insertQuery.append(" (name, value, host, path, expiry, lastAccessed, isSecure, isHttpOnly, creationTime, protocol) VALUES (?1, ?2, ?3, ?4, ?5, ?6, ?7, ?8, ?9, ?10);");
- m_insertStatement = new SQLiteStatement(m_db, insertQuery);
+ m_insertStatement = new SQLiteStatement(m_db, insertQuery.toString());
if (m_insertStatement->prepare()) {
LOG_ERROR("Cannot save cookies");
LOG_ERROR("SQLite Error Message: %s", m_db.lastErrorMsg());
}
- String updateQuery("UPDATE ");
- updateQuery += m_tableName;
+ StringBuilder updateQuery;
+ updateQuery.append("UPDATE ");
+ updateQuery.append(m_tableName);
// The where statement is chosen to match CookieMap key.
- updateQuery += " SET name = ?1, value = ?2, host = ?3, path = ?4, expiry = ?5, lastAccessed = ?6, isSecure = ?7, isHttpOnly = ?8, creationTime = ?9, protocol = ?10 where name = ?1 and host = ?3 and path = ?4;";
- m_updateStatement = new SQLiteStatement(m_db, updateQuery);
+ updateQuery.append(" SET name = ?1, value = ?2, host = ?3, path = ?4, expiry = ?5, lastAccessed = ?6, isSecure = ?7, isHttpOnly = ?8, creationTime = ?9, protocol = ?10 where name = ?1 and host = ?3 and path = ?4;");
+ m_updateStatement = new SQLiteStatement(m_db, updateQuery.toString());
if (m_updateStatement->prepare()) {
LOG_ERROR("Cannot update cookies");
LOG_ERROR("SQLite Error Message: %s", m_db.lastErrorMsg());
}
- String deleteQuery("DELETE FROM ");
- deleteQuery += m_tableName;
+ StringBuilder deleteQuery;
+ deleteQuery.append("DELETE FROM ");
+ deleteQuery.append(m_tableName);
// The where statement is chosen to match CookieMap key.
- deleteQuery += " WHERE name=?1 and host=?2 and path=?3 and protocol=?4;";
- m_deleteStatement = new SQLiteStatement(m_db, deleteQuery);
+ deleteQuery.append(" WHERE name=?1 and host=?2 and path=?3 and protocol=?4;");
+ m_deleteStatement = new SQLiteStatement(m_db, deleteQuery.toString());
if (m_deleteStatement->prepare()) {
LOG_ERROR("Cannot delete cookies");
@@ -337,11 +341,12 @@ void CookieDatabaseBackingStore::invokeRemoveAll()
m_changedCookies.clear();
}
- String deleteQuery("DELETE FROM ");
- deleteQuery += m_tableName;
- deleteQuery += ";";
+ StringBuilder deleteQuery;
+ deleteQuery.append("DELETE FROM ");
+ deleteQuery.append(m_tableName);
+ deleteQuery.append(";");
- SQLiteStatement deleteStatement(m_db, deleteQuery);
+ SQLiteStatement deleteStatement(m_db, deleteQuery.toString());
if (deleteStatement.prepare()) {
LOG_ERROR("Could not prepare DELETE * statement");
LOG_ERROR("SQLite Error Message: %s", m_db.lastErrorMsg());
diff --git a/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h b/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h
index 986d28f8c..8bf7410ac 100644
--- a/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h
+++ b/Source/WebCore/platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h
@@ -27,7 +27,6 @@
#ifndef CookieDatabaseBackingStore_h
#define CookieDatabaseBackingStore_h
-#include "PlatformString.h"
#include "SQLiteDatabase.h"
#include "Timer.h"
@@ -38,6 +37,7 @@
#include <wtf/ThreadingPrimitives.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/blackberry/CookieManager.cpp b/Source/WebCore/platform/blackberry/CookieManager.cpp
index 50a510dc3..091d7531e 100644
--- a/Source/WebCore/platform/blackberry/CookieManager.cpp
+++ b/Source/WebCore/platform/blackberry/CookieManager.cpp
@@ -36,10 +36,11 @@
#include "FileSystem.h"
#include "Logging.h"
#include "WebSettings.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformExecutableMessage.h>
#include <BlackBerryPlatformMessageClient.h>
#include <BlackBerryPlatformNavigatorHandler.h>
+#include <BlackBerryPlatformSettings.h>
+#include <network/DomainTools.h>
#include <stdlib.h>
#include <wtf/CurrentTime.h>
#include <wtf/text/CString.h>
@@ -87,7 +88,7 @@ CookieManager::CookieManager()
: m_count(0)
, m_privateMode(false)
, m_shouldDumpAllCookies(false)
- , m_cookieJarFileName(pathByAppendingComponent(BlackBerry::Platform::Client::get()->getApplicationDataDirectory().c_str(), "/cookieCollection.db"))
+ , m_cookieJarFileName(pathByAppendingComponent(BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str(), "/cookieCollection.db"))
, m_policy(CookieStorageAcceptPolicyAlways)
, m_cookieBackingStore(CookieDatabaseBackingStore::create())
, m_limitTimer(this, &CookieManager::cookieLimitCleanUp)
@@ -206,10 +207,22 @@ void CookieManager::getRawCookies(Vector<ParsedCookie*> &stackOfCookies, const K
Vector<ParsedCookie*> cookieCandidates;
Vector<CookieMap*> protocolsToSearch;
+ // Special Case: If a server sets a "secure" cookie over a non-secure channel and tries to access the cookie
+ // over a secure channel, it will not succeed because the secure protocol isn't mapped to the insecure protocol yet.
+ // Set the map to the non-secure version, so it'll search the mapping for a secure cookie.
+ CookieMap* targetMap = m_managerMap.get(requestURL.protocol());
+ if (!targetMap && isConnectionSecure) {
+ CookieLog("CookieManager - special case: secure protocol are not linked yet.");
+ if (requestURL.protocolIs("https"))
+ targetMap = m_managerMap.get("http");
+ else if (requestURL.protocolIs("wss"))
+ targetMap = m_managerMap.get("ws");
+ }
+
if (specialCaseForLocal)
copyValuesToVector(m_managerMap, protocolsToSearch);
else {
- protocolsToSearch.append(m_managerMap.get(requestURL.protocol()));
+ protocolsToSearch.append(targetMap);
// FIXME: this is a hack for webworks apps; RFC 6265 says "Cookies do not provide isolation by scheme"
// so we should not be checking protocols at all. See PR 135595
if (m_shouldDumpAllCookies) {
@@ -219,7 +232,14 @@ void CookieManager::getRawCookies(Vector<ParsedCookie*> &stackOfCookies, const K
}
Vector<String> delimitedHost;
- requestURL.host().lower().split(".", true, delimitedHost);
+
+ // IP addresses are stored in a particular format (due to ipv6). Reduce the ip address so we can match
+ // it with the one in memory.
+ string canonicalIP = BlackBerry::Platform::getCanonicalIPFormat(requestURL.host().utf8().data());
+ if (!canonicalIP.empty())
+ delimitedHost.append(String(canonicalIP.c_str()));
+ else
+ requestURL.host().lower().split(".", true, delimitedHost);
// Go through all the protocol trees that we need to search for
// and get all cookies that are valid for this domain
@@ -267,7 +287,7 @@ void CookieManager::getRawCookies(Vector<ParsedCookie*> &stackOfCookies, const K
String path = cookie->path();
CookieLog("CookieManager - comparing cookie path %s (len %d) to request path %s (len %d)", path.utf8().data(), path.length(), requestURL.path().utf8().data(), path.length());
if (!equalIgnoringCase(path, requestURL.path()) && !path.endsWith("/", false))
- path += "/";
+ path = path + "/";
// Only secure connections have access to secure cookies. Unless specialCaseForLocal is true
// Get the cookies filtering out HttpOnly cookies if requested.
@@ -341,7 +361,7 @@ void CookieManager::checkAndTreatCookie(ParsedCookie* candidateCookie, BackingSt
// If protocol support domain, we have to traverse the domain tree to find the right
// cookieMap to handle with
if (!ignoreDomain)
- curMap = findOrCreateCookieMap(curMap, candidateCookie->domain(), candidateCookie->hasExpired());
+ curMap = findOrCreateCookieMap(curMap, *candidateCookie);
// Now that we have the proper map for this cookie, we can modify it
// If cookie does not exist and has expired, delete it
@@ -475,11 +495,16 @@ void CookieManager::setPrivateMode(bool mode)
}
}
-CookieMap* CookieManager::findOrCreateCookieMap(CookieMap* protocolMap, const String& domain, bool findOnly)
+CookieMap* CookieManager::findOrCreateCookieMap(CookieMap* protocolMap, const ParsedCookie& candidateCookie)
{
// Explode the domain with the '.' delimiter
Vector<String> delimitedHost;
- domain.split(".", delimitedHost);
+
+ // If the domain is an IP address, don't split it.
+ if (candidateCookie.domainIsIPAddress())
+ delimitedHost.append(candidateCookie.domain());
+ else
+ candidateCookie.domain().split(".", delimitedHost);
CookieMap* curMap = protocolMap;
size_t hostSize = delimitedHost.size();
@@ -494,7 +519,7 @@ CookieMap* CookieManager::findOrCreateCookieMap(CookieMap* protocolMap, const St
CookieMap* nextMap = curMap->getSubdomainMap(delimitedHost[i]);
if (!nextMap) {
CookieLog("CookieManager - cannot find map\n");
- if (findOnly)
+ if (candidateCookie.hasExpired())
return 0;
CookieLog("CookieManager - creating %s in currentmap %s\n", delimitedHost[i].utf8().data(), curMap->getName().utf8().data());
nextMap = new CookieMap(delimitedHost[i]);
diff --git a/Source/WebCore/platform/blackberry/CookieManager.h b/Source/WebCore/platform/blackberry/CookieManager.h
index eab4478b2..acb2fcd7a 100644
--- a/Source/WebCore/platform/blackberry/CookieManager.h
+++ b/Source/WebCore/platform/blackberry/CookieManager.h
@@ -29,14 +29,10 @@
#include "CookieMap.h"
#include "ParsedCookie.h"
-#include "PlatformString.h"
#include "Timer.h"
#include <BlackBerryPlatformGuardedPointer.h>
#include <wtf/HashMap.h>
-
-namespace WTF {
-class String;
-}
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -114,7 +110,7 @@ private:
void addCookieToMap(CookieMap* targetMap, ParsedCookie* candidateCookie, BackingStoreRemovalPolicy postToBackingStore, CookieFilter = WithHttpOnlyCookies);
- CookieMap* findOrCreateCookieMap(CookieMap* protocolMap, const String& domain, bool findOnly);
+ CookieMap* findOrCreateCookieMap(CookieMap* protocolMap, const ParsedCookie& candidateCookie);
void initiateCookieLimitCleanUp();
void cookieLimitCleanUp(Timer<CookieManager>*);
diff --git a/Source/WebCore/platform/blackberry/CookieMap.h b/Source/WebCore/platform/blackberry/CookieMap.h
index 5cabd65c7..671ac2987 100644
--- a/Source/WebCore/platform/blackberry/CookieMap.h
+++ b/Source/WebCore/platform/blackberry/CookieMap.h
@@ -27,10 +27,10 @@
#ifndef CookieMap_h
#define CookieMap_h
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/blackberry/CookieParser.cpp b/Source/WebCore/platform/blackberry/CookieParser.cpp
index 2564c568e..ff6b871b8 100644
--- a/Source/WebCore/platform/blackberry/CookieParser.cpp
+++ b/Source/WebCore/platform/blackberry/CookieParser.cpp
@@ -55,6 +55,14 @@ static inline bool isLightweightSpace(UChar c)
CookieParser::CookieParser(const KURL& defaultCookieURL)
: m_defaultCookieURL(defaultCookieURL)
{
+ m_defaultCookieHost = defaultCookieURL.host();
+ m_defaultDomainIsIPAddress = false;
+ string hostDomainCanonical = BlackBerry::Platform::getCanonicalIPFormat(m_defaultCookieHost.utf8().data()).c_str();
+ if (!hostDomainCanonical.empty()) {
+ m_defaultCookieHost = String(hostDomainCanonical.c_str());
+ m_defaultDomainIsIPAddress = true;
+ } else
+ m_defaultCookieHost = m_defaultCookieHost.startsWith(".") ? m_defaultCookieHost : "." + m_defaultCookieHost;
}
CookieParser::~CookieParser()
@@ -260,24 +268,38 @@ ParsedCookie* CookieParser::parseOneCookie(const String& cookie, unsigned start,
// For example: ab.c.com dose not domain match b.c.com;
String realDomain = parsedValue[0] == '.' ? parsedValue : "." + parsedValue;
- // The request host should domain match the Domain attribute.
- // Domain string starts with a dot, so a.b.com should domain match .a.b.com.
- // add a "." at beginning of host name, because it can handle many cases such as
- // a.b.com matches b.com, a.b.com matches .B.com and a.b.com matches .A.b.Com
- // and so on.
- String hostDomainName = m_defaultCookieURL.host();
- hostDomainName = hostDomainName.startsWith('.') ? hostDomainName : "." + hostDomainName;
- if (!hostDomainName.endsWith(realDomain, false))
- LOG_AND_DELETE("Invalid cookie %s (domain): it does not domain match the host");
- // We should check for an embedded dot in the portion of string in the host not in the domain
- // but to match firefox behaviour we do not.
-
- // Check whether the domain is a top level domain, if it is throw it out
- // http://publicsuffix.org/list/
- if (BlackBerry::Platform::isTopLevelDomain(realDomain.utf8().data()))
- LOG_AND_DELETE("Invalid cookie %s (domain): it did not pass the top level domain check", cookie.ascii().data());
-
- res->setDomain(realDomain);
+ // Try to return an canonical ip address if the domain is an ip
+
+ bool isIPAddress = false;
+ // We only check if the current domain is an IP address when the default domain is an IP address
+ // We know if the default domain is not an IP address and the current domain is, it won't suffix match
+ // If it is an IP Address, we should treat it only if it matches the host exactly
+ // We determine the canonical IP format before comparing because IPv6 could be represented in multiple formats
+ if (m_defaultDomainIsIPAddress) {
+ String realDomainCanonical = String(BlackBerry::Platform::getCanonicalIPFormat(realDomain.utf8().data()).c_str());
+ if (realDomainCanonical.isEmpty() || realDomainCanonical != m_defaultCookieHost)
+ LOG_AND_DELETE("Invalid cookie %s (domain): domain is IP but does not match host's IP", cookie.ascii().data());
+ realDomain = realDomainCanonical;
+ isIPAddress = true;
+ } else {
+ // The request host should domain match the Domain attribute.
+ // Domain string starts with a dot, so a.b.com should domain match .a.b.com.
+ // add a "." at beginning of host name, because it can handle many cases such as
+ // a.b.com matches b.com, a.b.com matches .B.com and a.b.com matches .A.b.Com
+ // and so on.
+ // We also have to make a special case for IP addresses. If a website tries to set
+ // a cookie to 61.97, that domain is not an IP address and will end with the m_defaultCookieHost
+ if (!m_defaultCookieHost.endsWith(realDomain, false))
+ LOG_AND_DELETE("Invalid cookie %s (domain): it does not domain match the host", cookie.ascii().data());
+ // We should check for an embedded dot in the portion of string in the host not in the domain
+ // but to match firefox behaviour we do not.
+
+ // Check whether the domain is a top level domain, if it is throw it out
+ // http://publicsuffix.org/list/
+ if (BlackBerry::Platform::isTopLevelDomain(realDomain.utf8().data()))
+ LOG_AND_DELETE("Invalid cookie %s (domain): it did not pass the top level domain check", cookie.ascii().data());
+ }
+ res->setDomain(realDomain, isIPAddress);
} else
LOG_AND_DELETE("Invalid cookie %s (domain)", cookie.ascii().data());
break;
@@ -363,7 +385,7 @@ ParsedCookie* CookieParser::parseOneCookie(const String& cookie, unsigned start,
// If no domain was provided, set it to the host
if (!res->domain())
- res->setDomain(m_defaultCookieURL.host());
+ res->setDomain(m_defaultCookieHost, m_defaultDomainIsIPAddress);
// According to the Cookie Specificaiton (RFC6265, section 4.1.2.4 and 5.2.4, http://tools.ietf.org/html/rfc6265),
// If no path was provided or the first character of the path value is not '/', set it to the host's path
diff --git a/Source/WebCore/platform/blackberry/CookieParser.h b/Source/WebCore/platform/blackberry/CookieParser.h
index 66455420d..00fafcfef 100644
--- a/Source/WebCore/platform/blackberry/CookieParser.h
+++ b/Source/WebCore/platform/blackberry/CookieParser.h
@@ -50,6 +50,8 @@ private:
ParsedCookie* parseOneCookie(const String& cookie, unsigned start, unsigned end, double curTime);
KURL m_defaultCookieURL;
+ String m_defaultCookieHost;
+ bool m_defaultDomainIsIPAddress;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/blackberry/DragDataBlackBerry.cpp b/Source/WebCore/platform/blackberry/DragDataBlackBerry.cpp
index 329bb8002..da5139138 100644
--- a/Source/WebCore/platform/blackberry/DragDataBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/DragDataBlackBerry.cpp
@@ -22,9 +22,8 @@
#include "Color.h"
#include "DocumentFragment.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
-
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/blackberry/FileSystemBlackBerry.cpp b/Source/WebCore/platform/blackberry/FileSystemBlackBerry.cpp
index 4765c01e0..7e932fbfe 100644
--- a/Source/WebCore/platform/blackberry/FileSystemBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/FileSystemBlackBerry.cpp
@@ -19,14 +19,14 @@
#include "config.h"
#include "FileSystem.h"
-#include <BlackBerryPlatformClient.h>
+#include <BlackBerryPlatformSettings.h>
#include <wtf/text/CString.h>
namespace WebCore {
String homeDirectoryPath()
{
- return BlackBerry::Platform::Client::get()->getApplicationDataDirectory().c_str();
+ return BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str();
}
CString fileSystemRepresentation(const String& path)
diff --git a/Source/WebCore/platform/blackberry/KURLBlackBerry.cpp b/Source/WebCore/platform/blackberry/KURLBlackBerry.cpp
index b31096135..0ea14fa39 100644
--- a/Source/WebCore/platform/blackberry/KURLBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/KURLBlackBerry.cpp
@@ -19,7 +19,7 @@
#include "config.h"
#include "KURL.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/blackberry/LocalizedStringsBlackBerry.cpp b/Source/WebCore/platform/blackberry/LocalizedStringsBlackBerry.cpp
index 732c4df73..87ed8cfe5 100644
--- a/Source/WebCore/platform/blackberry/LocalizedStringsBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/LocalizedStringsBlackBerry.cpp
@@ -21,10 +21,10 @@
#include "IntSize.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <LocaleHandler.h>
#include <LocalizeResource.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -66,7 +66,7 @@ static String platformLanguage()
// getLocale() returns a POSIX locale which uses '_' to separate language and country.
// However, we use '-' instead of '_' in WebCore (e.g. en_us should read en-us)
size_t underscorePosition = lang.find('_');
- String replaceWith = "-";
+ String replaceWith = ASCIILiteral("-");
if (underscorePosition != notFound)
return lang.replace(underscorePosition, replaceWith.length(), replaceWith);
return lang;
diff --git a/Source/WebCore/platform/blackberry/PageClientBlackBerry.h b/Source/WebCore/platform/blackberry/PageClientBlackBerry.h
index 752bdb693..b237d39dc 100644
--- a/Source/WebCore/platform/blackberry/PageClientBlackBerry.h
+++ b/Source/WebCore/platform/blackberry/PageClientBlackBerry.h
@@ -19,7 +19,6 @@
#ifndef PageClientBlackBerry_h
#define PageClientBlackBerry_h
-#include "Credential.h"
#include "Cursor.h"
#include "WebPageClient.h"
@@ -33,6 +32,8 @@ namespace BlackBerry {
}
namespace WebCore {
+ class AuthenticationChallengeClient;
+ class Credential;
class IntRect;
class IntSize;
class KURL;
@@ -70,7 +71,7 @@ public:
virtual int showAlertDialog(BlackBerry::WebKit::WebPageClient::AlertType) = 0;
virtual bool isActive() const = 0;
virtual bool isVisible() const = 0;
- virtual bool authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, WebCore::Credential&) = 0;
+ virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&, WebCore::AuthenticationChallengeClient*) = 0;
virtual SaveCredentialType notifyShouldSaveCredential(bool) = 0;
virtual void syncProxyCredential(const WebCore::Credential&) = 0;
};
diff --git a/Source/WebCore/platform/blackberry/ParsedCookie.cpp b/Source/WebCore/platform/blackberry/ParsedCookie.cpp
index 5e310e90a..c449fc681 100644
--- a/Source/WebCore/platform/blackberry/ParsedCookie.cpp
+++ b/Source/WebCore/platform/blackberry/ParsedCookie.cpp
@@ -45,6 +45,7 @@ ParsedCookie::ParsedCookie(double currentTime)
, m_isHttpOnly(false)
, m_isSession(true)
, m_isForceExpired(false)
+ , m_domainIsIPAddress(false)
{
}
@@ -61,6 +62,7 @@ ParsedCookie::ParsedCookie(const String& name, const String& value, const String
, m_isHttpOnly(isHttpOnly)
, m_isSession(false)
, m_isForceExpired(false)
+ , m_domainIsIPAddress(false)
{
}
@@ -77,6 +79,7 @@ ParsedCookie::ParsedCookie(const ParsedCookie* cookie)
, m_isHttpOnly(cookie->m_isHttpOnly)
, m_isSession(cookie->m_isSession)
, m_isForceExpired(cookie->m_isForceExpired)
+ , m_domainIsIPAddress(cookie->m_domainIsIPAddress)
{
}
diff --git a/Source/WebCore/platform/blackberry/ParsedCookie.h b/Source/WebCore/platform/blackberry/ParsedCookie.h
index db29e7afa..9db754934 100644
--- a/Source/WebCore/platform/blackberry/ParsedCookie.h
+++ b/Source/WebCore/platform/blackberry/ParsedCookie.h
@@ -63,7 +63,7 @@ public:
void setPath(const String& path) { m_path = path; }
const String& domain() const { return m_domain; }
- void setDomain(const String& domain) { m_domain = domain.lower(); }
+ void setDomain(const String& domain, bool domainIsIPAddress = false) { m_domain = domain.lower(); m_domainIsIPAddress = domainIsIPAddress; }
const String& protocol() const { return m_protocol; }
void setProtocol(const String& protocol) { m_protocol = protocol; }
@@ -90,6 +90,7 @@ public:
bool hasExpired() const;
bool isForceExpired() const { return m_isForceExpired; }
bool isUnderSizeLimit() const;
+ bool domainIsIPAddress() const { return m_domainIsIPAddress; }
String toString() const;
String toNameValuePair() const;
@@ -110,6 +111,7 @@ private:
bool m_isHttpOnly;
bool m_isSession;
bool m_isForceExpired;
+ bool m_domainIsIPAddress;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/blackberry/PlatformKeyboardEventBlackBerry.cpp b/Source/WebCore/platform/blackberry/PlatformKeyboardEventBlackBerry.cpp
index 8ffd8e36b..4914305ba 100644
--- a/Source/WebCore/platform/blackberry/PlatformKeyboardEventBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/PlatformKeyboardEventBlackBerry.cpp
@@ -479,9 +479,13 @@ void PlatformKeyboardEvent::disambiguateKeyDownEvent(PlatformEvent::Type type, b
}
}
-void PlatformKeyboardEvent::getCurrentModifierState(bool&, bool&, bool&, bool&)
+void PlatformKeyboardEvent::getCurrentModifierState(bool& shiftKey, bool& ctrlKey, bool& altKey, bool& metaKey)
{
notImplemented();
+ shiftKey = false;
+ ctrlKey = false;
+ altKey = false;
+ metaKey = false;
}
} // namespace WebCore
diff --git a/Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp b/Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
index 3bbb2318b..0688da847 100644
--- a/Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/RenderThemeBlackBerry.cpp
@@ -123,7 +123,7 @@ float RenderThemeBlackBerry::defaultFontSize = 16;
// sizes (e.g. 15px). So we just use Arial for now.
const String& RenderThemeBlackBerry::defaultGUIFont()
{
- DEFINE_STATIC_LOCAL(String, fontFace, ("Arial"));
+ DEFINE_STATIC_LOCAL(String, fontFace, (ASCIILiteral("Arial")));
return fontFace;
}
diff --git a/Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp b/Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp
index 3dc4d91c4..c98df3c5a 100644
--- a/Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp
+++ b/Source/WebCore/platform/blackberry/SSLKeyGeneratorBlackBerry.cpp
@@ -21,8 +21,8 @@
#include "KURL.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp b/Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp
index 70f0a2b54..0e616f89c 100644
--- a/Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp
+++ b/Source/WebCore/platform/blackberry/TemporaryLinkStubs.cpp
@@ -20,7 +20,7 @@
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/cf/FileSystemCF.cpp b/Source/WebCore/platform/cf/FileSystemCF.cpp
index 261882026..8ef50eeb0 100644
--- a/Source/WebCore/platform/cf/FileSystemCF.cpp
+++ b/Source/WebCore/platform/cf/FileSystemCF.cpp
@@ -29,9 +29,9 @@
#include "config.h"
#include "FileSystem.h"
-#include "PlatformString.h"
#include <wtf/RetainPtr.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/cf/SchedulePair.h b/Source/WebCore/platform/cf/SchedulePair.h
index 764c29fc4..82c257a1c 100644
--- a/Source/WebCore/platform/cf/SchedulePair.h
+++ b/Source/WebCore/platform/cf/SchedulePair.h
@@ -29,10 +29,11 @@
#ifndef SchedulePair_h
#define SchedulePair_h
-#include "PlatformString.h"
#include <wtf/HashSet.h>
#include <wtf/RefCounted.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(MAC)
OBJC_CLASS NSRunLoop;
diff --git a/Source/WebCore/platform/chromium/ChromiumDataObject.h b/Source/WebCore/platform/chromium/ChromiumDataObject.h
index 1efb4dfec..4a5e4fed4 100644
--- a/Source/WebCore/platform/chromium/ChromiumDataObject.h
+++ b/Source/WebCore/platform/chromium/ChromiumDataObject.h
@@ -32,12 +32,12 @@
#define ChromiumDataObject_h
#include "ChromiumDataObjectItem.h"
-#include "PlatformString.h"
#include "Supplementable.h"
#include <wtf/HashSet.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp b/Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp
index e2ec9f15e..d2c0e1288 100644
--- a/Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp
+++ b/Source/WebCore/platform/chromium/ClipboardUtilitiesChromium.cpp
@@ -33,10 +33,10 @@
#include "KURL.h"
#include "Pasteboard.h"
-#include "PlatformString.h"
#include <public/WebClipboard.h>
#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -50,7 +50,7 @@ WebKit::WebClipboard::Buffer currentPasteboardBuffer()
#if OS(WINDOWS)
void replaceNewlinesWithWindowsStyleNewlines(String& str)
{
- DEFINE_STATIC_LOCAL(String, windowsNewline, ("\r\n"));
+ DEFINE_STATIC_LOCAL(String, windowsNewline, (ASCIILiteral("\r\n")));
StringBuilder result;
for (unsigned index = 0; index < str.length(); ++index) {
if (str[index] != '\n' || (index > 0 && str[index - 1] == '\r'))
diff --git a/Source/WebCore/platform/chromium/DragDataChromium.cpp b/Source/WebCore/platform/chromium/DragDataChromium.cpp
index a1ab93ace..7083bfeee 100644
--- a/Source/WebCore/platform/chromium/DragDataChromium.cpp
+++ b/Source/WebCore/platform/chromium/DragDataChromium.cpp
@@ -37,8 +37,8 @@
#include "Frame.h"
#include "KURL.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "markup.h"
+#include <wtf/text/WTFString.h>
#include <public/Platform.h>
#include <public/WebFileUtilities.h>
diff --git a/Source/WebCore/platform/chromium/FileSystemChromium.cpp b/Source/WebCore/platform/chromium/FileSystemChromium.cpp
index 21e0937b2..38375d05e 100644
--- a/Source/WebCore/platform/chromium/FileSystemChromium.cpp
+++ b/Source/WebCore/platform/chromium/FileSystemChromium.cpp
@@ -33,11 +33,11 @@
#include "FileMetadata.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <public/Platform.h>
#include <public/WebFileInfo.h>
#include <public/WebFileUtilities.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/chromium/FileSystemChromiumMac.mm b/Source/WebCore/platform/chromium/FileSystemChromiumMac.mm
index 1f5075e94..5592fe06c 100644
--- a/Source/WebCore/platform/chromium/FileSystemChromiumMac.mm
+++ b/Source/WebCore/platform/chromium/FileSystemChromiumMac.mm
@@ -28,11 +28,11 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "FileSystem.h"
+#import "config.h"
+#import "FileSystem.h"
#import <Foundation/NSFileManager.h>
-#include "PlatformString.h"
+#import <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/chromium/LanguageChromium.cpp b/Source/WebCore/platform/chromium/LanguageChromium.cpp
index 410ec8214..46cc8add6 100644
--- a/Source/WebCore/platform/chromium/LanguageChromium.cpp
+++ b/Source/WebCore/platform/chromium/LanguageChromium.cpp
@@ -31,9 +31,9 @@
#include "config.h"
#include "Language.h"
-#include "PlatformString.h"
#include <public/Platform.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/chromium/LinkHashChromium.cpp b/Source/WebCore/platform/chromium/LinkHashChromium.cpp
index ff1a79302..b051bf4ba 100644
--- a/Source/WebCore/platform/chromium/LinkHashChromium.cpp
+++ b/Source/WebCore/platform/chromium/LinkHashChromium.cpp
@@ -1,10 +1,10 @@
/*
* Copyright (c) 2008, 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
@@ -14,7 +14,7 @@
* * 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
@@ -29,20 +29,59 @@
*/
#include "config.h"
+#include "KURL.h"
#include "LinkHash.h"
-#include "PlatformSupport.h"
+#if USE(GOOGLEURL)
+#include <googleurl/src/url_util.h>
+#endif
+
+#include <public/Platform.h>
namespace WebCore {
+// Visited Links --------------------------------------------------------------
+
LinkHash visitedLinkHash(const UChar* url, unsigned length)
{
- return PlatformSupport::visitedLinkHash(url, length);
+ url_canon::RawCanonOutput<2048> buffer;
+ url_parse::Parsed parsed;
+ if (!url_util::Canonicalize(url, length, 0, &buffer, &parsed))
+ return 0; // Invalid URLs are unvisited.
+ return WebKit::Platform::current()->visitedLinkHash(buffer.data(), buffer.length());
}
LinkHash visitedLinkHash(const KURL& base, const AtomicString& attributeURL)
{
- return PlatformSupport::visitedLinkHash(base, attributeURL);
+ // Resolve the relative URL using googleurl and pass the absolute URL up to
+ // the embedder. We could create a GURL object from the base and resolve
+ // the relative URL that way, but calling the lower-level functions
+ // directly saves us the string allocation in most cases.
+ url_canon::RawCanonOutput<2048> buffer;
+ url_parse::Parsed parsed;
+
+#if USE(GOOGLEURL)
+ const CString& cstr = base.utf8String();
+ const char* data = cstr.data();
+ int length = cstr.length();
+ const url_parse::Parsed& srcParsed = base.parsed();
+#else
+ // When we're not using GoogleURL, first canonicalize it so we can resolve it
+ // below.
+ url_canon::RawCanonOutput<2048> srcCanon;
+ url_parse::Parsed srcParsed;
+ String str = base.string();
+ if (!url_util::Canonicalize(str.characters(), str.length(), 0, &srcCanon, &srcParsed))
+ return 0;
+ const char* data = srcCanon.data();
+ int length = srcCanon.length();
+#endif
+
+ if (!url_util::ResolveRelative(data, length, srcParsed, attributeURL.characters(),
+ attributeURL.length(), 0, &buffer, &parsed))
+ return 0; // Invalid resolved URL.
+
+ return WebKit::Platform::current()->visitedLinkHash(buffer.data(), buffer.length());
}
} // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/PlatformSupport.h b/Source/WebCore/platform/chromium/PlatformSupport.h
index 0c43b9353..6e7949e8a 100644
--- a/Source/WebCore/platform/chromium/PlatformSupport.h
+++ b/Source/WebCore/platform/chromium/PlatformSupport.h
@@ -74,8 +74,6 @@ class GeolocationServiceChromium;
class GraphicsContext;
class Image;
class IDBFactoryBackendInterface;
-class IDBKey;
-class IDBKeyPath;
class IntRect;
class KURL;
class SerializedScriptValue;
@@ -105,7 +103,6 @@ public:
#if OS(DARWIN)
static bool loadFont(NSFont* srcFont, CGFontRef*, uint32_t* fontID);
#elif OS(UNIX)
- static void getRenderStyleForStrike(const char* family, int sizeAndStyle, FontRenderStyle* result);
struct FontFamily {
String name;
bool isBold;
@@ -119,10 +116,6 @@ public:
// IndexedDB ----------------------------------------------------------
static PassRefPtr<IDBFactoryBackendInterface> idbFactory();
- // Extracts keyPath from values and returns the corresponding keys.
- static void createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const IDBKeyPath&, Vector<RefPtr<IDBKey> >& keys);
- // Injects key via keyPath into value. Returns true on success.
- static PassRefPtr<SerializedScriptValue> injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey>, PassRefPtr<SerializedScriptValue>, const IDBKeyPath&);
// JavaScript ---------------------------------------------------------
static void notifyJSOutOfMemory(Frame*);
@@ -133,11 +126,6 @@ public:
static NPObject* pluginScriptableObject(Widget*);
static bool popupsAllowed(NPP);
- // Resources ----------------------------------------------------------
-#if ENABLE(WEB_AUDIO)
- static PassOwnPtr<AudioBus> decodeAudioFileData(const char* data, size_t, double sampleRate);
-#endif
-
// Screen -------------------------------------------------------------
static int screenHorizontalDPI(Widget*);
static int screenVerticalDPI(Widget*);
@@ -302,10 +290,6 @@ public:
// Paint the given the given theme part.
static void paintThemePart(GraphicsContext*, ThemePart, ThemePaintState, const IntRect&, const ThemePaintExtraParams*);
#endif
-
- // Visited links ------------------------------------------------------
- static LinkHash visitedLinkHash(const UChar* url, unsigned length);
- static LinkHash visitedLinkHash(const KURL& base, const AtomicString& attributeURL);
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/PopupListBox.cpp b/Source/WebCore/platform/chromium/PopupListBox.cpp
index c75a2ff3d..b8aad6b2c 100644
--- a/Source/WebCore/platform/chromium/PopupListBox.cpp
+++ b/Source/WebCore/platform/chromium/PopupListBox.cpp
@@ -614,9 +614,6 @@ void PopupListBox::setOriginalIndex(int index)
int PopupListBox::getRowHeight(int index)
{
- int paddingForTouch = 0;
- if (m_settings.deviceSupportsTouch)
- paddingForTouch = PopupMenuChromium::optionPaddingForTouch();
if (index < 0 || m_popupClient->itemStyle(index).isDisplayNone())
return PopupMenuChromium::minimumRowHeight();
@@ -632,7 +629,7 @@ int PopupListBox::getRowHeight(int index)
int linePaddingHeight = m_popupClient->menuStyle().menuType() == PopupMenuStyle::AutofillPopup ? kLinePaddingHeight : 0;
int calculatedRowHeight = max(fontHeight, iconHeight) + linePaddingHeight * 2;
- return (max(calculatedRowHeight, PopupMenuChromium::minimumRowHeight()) + paddingForTouch);
+ return max(calculatedRowHeight, PopupMenuChromium::minimumRowHeight());
}
IntRect PopupListBox::getRowBounds(int index)
diff --git a/Source/WebCore/platform/chromium/PopupListBox.h b/Source/WebCore/platform/chromium/PopupListBox.h
index 522376ec3..6575aee77 100644
--- a/Source/WebCore/platform/chromium/PopupListBox.h
+++ b/Source/WebCore/platform/chromium/PopupListBox.h
@@ -30,11 +30,10 @@
#ifndef PopupListBox_h
#define PopupListBox_h
-#include "Font.h"
-#include "FontSelector.h"
#include "FramelessScrollView.h"
-#include "IntRect.h"
#include "Node.h"
+#include "TextDirection.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -48,7 +47,9 @@ static const int kMinEndOfLinePadding = 2;
static const int kTextToLabelPadding = 10;
static const TimeStamp kTypeAheadTimeoutMs = 1000;
+class Font;
class GraphicsContext;
+class IntRect;
class PlatformKeyboardEvent;
class PlatformMouseEvent;
#if ENABLE(GESTURE_EVENTS)
diff --git a/Source/WebCore/platform/chromium/PopupMenuChromium.cpp b/Source/WebCore/platform/chromium/PopupMenuChromium.cpp
index e58895669..519e7cad1 100644
--- a/Source/WebCore/platform/chromium/PopupMenuChromium.cpp
+++ b/Source/WebCore/platform/chromium/PopupMenuChromium.cpp
@@ -40,8 +40,7 @@
namespace WebCore {
-int PopupMenuChromium::s_minimumRowHeight = 0;
-int PopupMenuChromium::s_optionPaddingForTouch = 30;
+int PopupMenuChromium::s_minimumRowHeight = 28;
// The settings used for the drop down menu.
// This is the delegate used if none is provided.
diff --git a/Source/WebCore/platform/chromium/PopupMenuChromium.h b/Source/WebCore/platform/chromium/PopupMenuChromium.h
index 6e9aa88be..20be6e153 100644
--- a/Source/WebCore/platform/chromium/PopupMenuChromium.h
+++ b/Source/WebCore/platform/chromium/PopupMenuChromium.h
@@ -57,9 +57,6 @@ public:
static int minimumRowHeight() { return s_minimumRowHeight; }
static void setMinimumRowHeight(int minimumRowHeight) { s_minimumRowHeight = minimumRowHeight; }
- static int optionPaddingForTouch() { return s_optionPaddingForTouch; }
- static void setOptionPaddingForTouch(int optionPaddingForTouch) { s_optionPaddingForTouch = optionPaddingForTouch; }
-
private:
PopupMenuClient* client() const { return m_popupClient; }
@@ -67,7 +64,6 @@ private:
PopupMenuPrivate p;
static int s_minimumRowHeight;
- static int s_optionPaddingForTouch;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/chromium/Prerender.cpp b/Source/WebCore/platform/chromium/Prerender.cpp
index 0ece44056..431a7ab58 100644
--- a/Source/WebCore/platform/chromium/Prerender.cpp
+++ b/Source/WebCore/platform/chromium/Prerender.cpp
@@ -65,7 +65,6 @@ void Prerender::add()
void Prerender::cancel()
{
- ASSERT(WebKit::WebPrerenderingSupport::current());
WebKit::WebPrerenderingSupport* platform = WebKit::WebPrerenderingSupport::current();
if (!platform)
return;
diff --git a/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp b/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp
index defae9935..e07810696 100644
--- a/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp
+++ b/Source/WebCore/platform/chromium/SSLKeyGeneratorChromium.cpp
@@ -31,11 +31,11 @@
#include "config.h"
#include "SSLKeyGenerator.h"
-#include "PlatformString.h"
#include <public/Platform.h>
#include <public/WebString.h>
#include <public/WebURL.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/chromium/support/GraphicsContext3DChromium.cpp b/Source/WebCore/platform/chromium/support/GraphicsContext3DChromium.cpp
index 127fcfa09..f8e46d871 100644
--- a/Source/WebCore/platform/chromium/support/GraphicsContext3DChromium.cpp
+++ b/Source/WebCore/platform/chromium/support/GraphicsContext3DChromium.cpp
@@ -43,7 +43,7 @@
namespace WebCore {
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes, HostWindow*, bool)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes, HostWindow*, GraphicsContext3D::RenderStyle)
{
}
diff --git a/Source/WebCore/platform/chromium/support/GraphicsContext3DPrivate.cpp b/Source/WebCore/platform/chromium/support/GraphicsContext3DPrivate.cpp
index f6b730ddf..0d571b4bc 100644
--- a/Source/WebCore/platform/chromium/support/GraphicsContext3DPrivate.cpp
+++ b/Source/WebCore/platform/chromium/support/GraphicsContext3DPrivate.cpp
@@ -77,7 +77,7 @@ GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
PassRefPtr<GraphicsContext3D> GraphicsContext3DPrivate::createGraphicsContextFromWebContext(PassOwnPtr<WebKit::WebGraphicsContext3D> webContext, bool preserveDrawingBuffer)
{
- RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(GraphicsContext3D::Attributes(), 0, false /* onscreen */));
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(GraphicsContext3D::Attributes(), 0));
OwnPtr<GraphicsContext3DPrivate> priv = adoptPtr(new GraphicsContext3DPrivate(webContext, preserveDrawingBuffer));
context->m_private = priv.release();
diff --git a/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.cpp b/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.cpp
index 50dccf39f..203f39ce9 100644
--- a/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.cpp
+++ b/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.cpp
@@ -24,12 +24,14 @@
*/
#include "config.h"
+
#include "PlatformGestureCurveFactory.h"
#include "FloatPoint.h"
#include "IntRect.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
+#include "TouchFlingPlatformGestureCurve.h"
#include "WebFlingAnimatorToGestureCurveAdapter.h"
+#include "WebInputEvent.h"
namespace WebKit {
@@ -39,15 +41,19 @@ PlatformGestureCurveFactory* PlatformGestureCurveFactory::get()
return &factory;
}
-PassOwnPtr<WebCore::PlatformGestureCurve> PlatformGestureCurveFactory::createCurve(const WebCore::FloatPoint& point, const WebCore::IntRect& range)
+PassOwnPtr<WebCore::PlatformGestureCurve> PlatformGestureCurveFactory::createCurve(int deviceSource, const WebCore::FloatPoint& point, WebCore::IntPoint cumulativeScroll)
{
OwnPtr<WebFlingAnimator> flingAnimator = m_mockFlingAnimator.release();
if (!flingAnimator)
flingAnimator = adoptPtr(Platform::current()->createFlingAnimator());
- if (!flingAnimator)
- return WebCore::TouchpadFlingPlatformGestureCurve::create(point);
- return WebFlingAnimatorToGestureCurveAdapter::create(point, range, flingAnimator.release());
+ if (flingAnimator)
+ return WebFlingAnimatorToGestureCurveAdapter::create(point, WebCore::IntRect(), flingAnimator.release());
+
+ if (deviceSource == WebGestureEvent::Touchscreen)
+ return WebCore::TouchFlingPlatformGestureCurve::createForTouchScreen(point, cumulativeScroll);
+
+ return WebCore::TouchFlingPlatformGestureCurve::createForTouchPad(point, cumulativeScroll);
}
void PlatformGestureCurveFactory::setWebFlingAnimatorForTest(PassOwnPtr<WebFlingAnimator> mockFlingAnimator)
diff --git a/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.h b/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.h
index 85f7ecc59..1ab3bf441 100644
--- a/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.h
+++ b/Source/WebCore/platform/chromium/support/PlatformGestureCurveFactory.h
@@ -36,7 +36,7 @@ class PlatformGestureCurveFactory {
public:
static PlatformGestureCurveFactory* get();
- PassOwnPtr<WebCore::PlatformGestureCurve> createCurve(const WebCore::FloatPoint&, const WebCore::IntRect& range);
+ PassOwnPtr<WebCore::PlatformGestureCurve> createCurve(int deviceSource, const WebCore::FloatPoint&, WebCore::IntPoint cumulativeScroll = WebCore::IntPoint());
void setWebFlingAnimatorForTest(PassOwnPtr<WebFlingAnimator>);
private:
diff --git a/Source/WebCore/platform/chromium/support/WebCompositorImpl.cpp b/Source/WebCore/platform/chromium/support/WebCompositorImpl.cpp
index a0bd1c8b7..43579ce15 100644
--- a/Source/WebCore/platform/chromium/support/WebCompositorImpl.cpp
+++ b/Source/WebCore/platform/chromium/support/WebCompositorImpl.cpp
@@ -47,9 +47,9 @@ void WebCompositor::initialize(WebThread* implThread)
WebCompositorImpl::initialize(implThread);
}
-bool WebCompositor::threadingEnabled()
+bool WebCompositor::isThreadingEnabled()
{
- return WebCompositorImpl::threadingEnabled();
+ return WebCompositorImpl::isThreadingEnabled();
}
void WebCompositor::shutdown()
@@ -90,7 +90,7 @@ void WebCompositorImpl::initialize(WebThread* implThread)
CCProxy::setImplThread(0);
}
-bool WebCompositorImpl::threadingEnabled()
+bool WebCompositorImpl::isThreadingEnabled()
{
return s_implThread;
}
diff --git a/Source/WebCore/platform/chromium/support/WebCompositorImpl.h b/Source/WebCore/platform/chromium/support/WebCompositorImpl.h
index a1a49c25b..67e3a67e1 100644
--- a/Source/WebCore/platform/chromium/support/WebCompositorImpl.h
+++ b/Source/WebCore/platform/chromium/support/WebCompositorImpl.h
@@ -49,7 +49,7 @@ private:
friend class WebCompositor;
static void initialize(WebThread* implThread);
- static bool threadingEnabled();
+ static bool isThreadingEnabled();
static void shutdown();
static bool s_initialized;
diff --git a/Source/WebCore/platform/chromium/support/WebHTTPLoadInfo.cpp b/Source/WebCore/platform/chromium/support/WebHTTPLoadInfo.cpp
index 7762fd8c4..33eace1d2 100644
--- a/Source/WebCore/platform/chromium/support/WebHTTPLoadInfo.cpp
+++ b/Source/WebCore/platform/chromium/support/WebHTTPLoadInfo.cpp
@@ -106,7 +106,7 @@ static void addHeader(HTTPHeaderMap* map, const WebString& name, const WebString
HTTPHeaderMap::AddResult result = map->add(name, value);
// It is important that values are separated by '\n', not comma, otherwise Set-Cookie header is not parseable.
if (!result.isNewEntry)
- result.iterator->second += "\n" + String(value);
+ result.iterator->second.append("\n" + String(value));
}
void WebHTTPLoadInfo::addRequestHeader(const WebString& name, const WebString& value)
diff --git a/Source/WebCore/platform/chromium/support/WebMediaConstraints.cpp b/Source/WebCore/platform/chromium/support/WebMediaConstraints.cpp
new file mode 100644
index 000000000..05fa3f666
--- /dev/null
+++ b/Source/WebCore/platform/chromium/support/WebMediaConstraints.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <public/WebMediaConstraints.h>
+
+#include "MediaConstraints.h"
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebMediaConstraints::WebMediaConstraints(const PassRefPtr<MediaConstraints>& constraints)
+ : m_private(constraints)
+{
+}
+
+void WebMediaConstraints::assign(const WebMediaConstraints& other)
+{
+ m_private = other.m_private;
+}
+
+void WebMediaConstraints::reset()
+{
+ m_private.reset();
+}
+
+bool WebMediaConstraints::isNull() const
+{
+ return m_private.isNull();
+}
+
+void WebMediaConstraints::getMandatoryConstraintNames(WebVector<WebString>& names) const
+{
+ ASSERT(!isNull());
+ Vector<String> constraintNames;
+ m_private->getMandatoryConstraintNames(constraintNames);
+ WebVector<WebString> result(constraintNames);
+ names.swap(result);
+}
+
+void WebMediaConstraints::getOptionalConstraintNames(WebVector<WebString>& names) const
+{
+ ASSERT(!isNull());
+ Vector<String> constraintNames;
+ m_private->getOptionalConstraintNames(constraintNames);
+ WebVector<WebString> result(constraintNames);
+ names.swap(result);
+}
+
+bool WebMediaConstraints::getMandatoryConstraintValue(const WebString& name, WebString& value) const
+{
+ ASSERT(!isNull());
+ String result;
+ if (m_private->getMandatoryConstraintValue(name, result)) {
+ value = result;
+ return true;
+ }
+ return false;
+}
+
+bool WebMediaConstraints::getOptionalConstraintValue(const WebString& name, WebString& value) const
+{
+ ASSERT(!isNull());
+ String result;
+ if (m_private->getOptionalConstraintValue(name, result)) {
+ value = result;
+ return true;
+ }
+ return false;
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
diff --git a/Source/WebCore/platform/chromium/support/WebRTCICECandidate.cpp b/Source/WebCore/platform/chromium/support/WebRTCICECandidate.cpp
new file mode 100644
index 000000000..b619bbfa7
--- /dev/null
+++ b/Source/WebCore/platform/chromium/support/WebRTCICECandidate.cpp
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <public/WebRTCICECandidate.h>
+
+#include "RTCIceCandidateDescriptor.h"
+#include <public/WebString.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebRTCICECandidate::WebRTCICECandidate(RTCIceCandidateDescriptor* iceCandidate)
+ : m_private(iceCandidate)
+{
+}
+
+WebRTCICECandidate::WebRTCICECandidate(PassRefPtr<RTCIceCandidateDescriptor> iceCandidate)
+ : m_private(iceCandidate)
+{
+}
+
+void WebRTCICECandidate::assign(const WebRTCICECandidate& other)
+{
+ m_private = other.m_private;
+}
+
+void WebRTCICECandidate::reset()
+{
+ m_private.reset();
+}
+
+void WebRTCICECandidate::initialize(const WebString& candidate, const WebString& sdpMid, unsigned short sdpMLineIndex)
+{
+ m_private = RTCIceCandidateDescriptor::create(candidate, sdpMid, sdpMLineIndex);
+}
+
+WebRTCICECandidate::operator PassRefPtr<WebCore::RTCIceCandidateDescriptor>() const
+{
+ return m_private.get();
+}
+
+WebString WebRTCICECandidate::candidate() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private->candidate();
+}
+
+WebString WebRTCICECandidate::sdpMid() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private->sdpMid();
+}
+
+unsigned short WebRTCICECandidate::sdpMLineIndex() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private->sdpMLineIndex();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
diff --git a/Source/WebCore/platform/chromium/support/WebRTCSessionDescription.cpp b/Source/WebCore/platform/chromium/support/WebRTCSessionDescription.cpp
new file mode 100644
index 000000000..7a7779780
--- /dev/null
+++ b/Source/WebCore/platform/chromium/support/WebRTCSessionDescription.cpp
@@ -0,0 +1,96 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <public/WebRTCSessionDescription.h>
+
+#include "RTCSessionDescriptionDescriptor.h"
+#include <public/WebString.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebRTCSessionDescription::WebRTCSessionDescription(const PassRefPtr<RTCSessionDescriptionDescriptor>& sessionDescription)
+ : m_private(sessionDescription)
+{
+}
+
+void WebRTCSessionDescription::assign(const WebRTCSessionDescription& other)
+{
+ m_private = other.m_private;
+}
+
+void WebRTCSessionDescription::reset()
+{
+ m_private.reset();
+}
+
+WebRTCSessionDescription::operator WTF::PassRefPtr<WebCore::RTCSessionDescriptionDescriptor>() const
+{
+ return m_private.get();
+}
+
+void WebRTCSessionDescription::initialize(const WebString& type, const WebString& sdp)
+{
+ m_private = RTCSessionDescriptionDescriptor::create(type, sdp);
+}
+
+WebString WebRTCSessionDescription::type() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private.get()->type();
+}
+
+void WebRTCSessionDescription::setType(const WebString& type)
+{
+ ASSERT(!m_private.isNull());
+ return m_private.get()->setType(type);
+}
+
+WebString WebRTCSessionDescription::sdp() const
+{
+ ASSERT(!m_private.isNull());
+ return m_private.get()->sdp();
+}
+
+void WebRTCSessionDescription::setSDP(const WebString& sdp)
+{
+ ASSERT(!m_private.isNull());
+ return m_private.get()->setSdp(sdp);
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
diff --git a/Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp b/Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp
new file mode 100644
index 000000000..00d7e6b86
--- /dev/null
+++ b/Source/WebCore/platform/chromium/support/WebRTCSessionDescriptionRequest.cpp
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <public/WebRTCSessionDescriptionRequest.h>
+
+#include "RTCSessionDescriptionDescriptor.h"
+#include "RTCSessionDescriptionRequest.h"
+#include <public/WebRTCSessionDescription.h>
+#include <wtf/PassOwnPtr.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebRTCSessionDescriptionRequest::WebRTCSessionDescriptionRequest(const PassRefPtr<RTCSessionDescriptionRequest>& constraints)
+ : m_private(constraints)
+{
+}
+
+void WebRTCSessionDescriptionRequest::assign(const WebRTCSessionDescriptionRequest& other)
+{
+ m_private = other.m_private;
+}
+
+void WebRTCSessionDescriptionRequest::reset()
+{
+ m_private.reset();
+}
+
+void WebRTCSessionDescriptionRequest::requestSucceeded(const WebRTCSessionDescription& sessionDescription) const
+{
+ ASSERT(m_private.get());
+ m_private->requestSucceeded(sessionDescription);
+}
+
+void WebRTCSessionDescriptionRequest::requestFailed(const WebString& error) const
+{
+ ASSERT(m_private.get());
+ m_private->requestFailed(error);
+}
+
+class ExtraDataContainer : public WebCore::RTCSessionDescriptionRequest::ExtraData {
+public:
+ ExtraDataContainer(WebRTCSessionDescriptionRequest::ExtraData* extraData) : m_extraData(WTF::adoptPtr(extraData)) { }
+
+ WebRTCSessionDescriptionRequest::ExtraData* extraData() { return m_extraData.get(); }
+
+private:
+ OwnPtr<WebRTCSessionDescriptionRequest::ExtraData> m_extraData;
+};
+
+WebRTCSessionDescriptionRequest::ExtraData* WebRTCSessionDescriptionRequest::extraData() const
+{
+ RefPtr<RTCSessionDescriptionRequest::ExtraData> data = m_private->extraData();
+ if (!data)
+ return 0;
+ return static_cast<ExtraDataContainer*>(data.get())->extraData();
+}
+
+void WebRTCSessionDescriptionRequest::setExtraData(ExtraData* extraData)
+{
+ m_private->setExtraData(adoptRef(new ExtraDataContainer(extraData)));
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
diff --git a/Source/WebCore/platform/chromium/support/WebRTCVoidRequest.cpp b/Source/WebCore/platform/chromium/support/WebRTCVoidRequest.cpp
new file mode 100644
index 000000000..2e242193b
--- /dev/null
+++ b/Source/WebCore/platform/chromium/support/WebRTCVoidRequest.cpp
@@ -0,0 +1,97 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <public/WebRTCVoidRequest.h>
+
+#include "RTCVoidRequest.h"
+#include <wtf/PassOwnPtr.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebRTCVoidRequest::WebRTCVoidRequest(const PassRefPtr<RTCVoidRequest>& constraints)
+ : m_private(constraints)
+{
+}
+
+void WebRTCVoidRequest::assign(const WebRTCVoidRequest& other)
+{
+ m_private = other.m_private;
+}
+
+void WebRTCVoidRequest::reset()
+{
+ m_private.reset();
+}
+
+void WebRTCVoidRequest::requestSucceeded() const
+{
+ ASSERT(m_private.get());
+ m_private->requestSucceeded();
+}
+
+void WebRTCVoidRequest::requestFailed(const WebString& error) const
+{
+ ASSERT(m_private.get());
+ m_private->requestFailed(error);
+}
+
+class ExtraDataContainer : public WebCore::RTCVoidRequest::ExtraData {
+public:
+ ExtraDataContainer(WebRTCVoidRequest::ExtraData* extraData) : m_extraData(WTF::adoptPtr(extraData)) { }
+
+ WebRTCVoidRequest::ExtraData* extraData() { return m_extraData.get(); }
+
+private:
+ OwnPtr<WebRTCVoidRequest::ExtraData> m_extraData;
+};
+
+WebRTCVoidRequest::ExtraData* WebRTCVoidRequest::extraData() const
+{
+ RefPtr<RTCVoidRequest::ExtraData> data = m_private->extraData();
+ if (!data)
+ return 0;
+ return static_cast<ExtraDataContainer*>(data.get())->extraData();
+}
+
+void WebRTCVoidRequest::setExtraData(ExtraData* extraData)
+{
+ m_private->setExtraData(adoptRef(new ExtraDataContainer(extraData)));
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
diff --git a/Source/WebKit/chromium/src/WebScrollbarImpl.cpp b/Source/WebCore/platform/chromium/support/WebScrollbarImpl.cpp
index 73b92697e..ec6d57bbc 100644
--- a/Source/WebKit/chromium/src/WebScrollbarImpl.cpp
+++ b/Source/WebCore/platform/chromium/support/WebScrollbarImpl.cpp
@@ -31,11 +31,6 @@
namespace WebKit {
-PassOwnPtr<WebScrollbar> WebScrollbar::create(WebCore::Scrollbar* scrollbar)
-{
- return adoptPtr(new WebScrollbarImpl(scrollbar));
-}
-
WebScrollbarImpl::WebScrollbarImpl(WebCore::Scrollbar* scrollbar)
: m_scrollbar(scrollbar)
{
diff --git a/Source/WebKit/chromium/src/WebScrollbarImpl.h b/Source/WebCore/platform/chromium/support/WebScrollbarImpl.h
index 5c9231aaa..9b6b77476 100644
--- a/Source/WebKit/chromium/src/WebScrollbarImpl.h
+++ b/Source/WebCore/platform/chromium/support/WebScrollbarImpl.h
@@ -35,7 +35,7 @@ namespace WebKit {
class WebScrollbarImpl : public WebScrollbar {
public:
- WebScrollbarImpl(WebCore::Scrollbar*);
+ explicit WebScrollbarImpl(WebCore::Scrollbar*);
// Implement WebKit::WebScrollbar methods
virtual bool isOverlay() const OVERRIDE;
diff --git a/Source/WebCore/platform/chromium/support/WebTransformOperations.cpp b/Source/WebCore/platform/chromium/support/WebTransformOperations.cpp
index 12bd00b26..3b52d9c66 100644
--- a/Source/WebCore/platform/chromium/support/WebTransformOperations.cpp
+++ b/Source/WebCore/platform/chromium/support/WebTransformOperations.cpp
@@ -26,8 +26,15 @@
#include <public/WebTransformOperations.h>
+#include <algorithm>
#include <wtf/Vector.h>
+using namespace std;
+
+namespace {
+const double EPSILON = 1e-4;
+}
+
namespace WebKit {
struct WebTransformOperation {
@@ -37,11 +44,43 @@ struct WebTransformOperation {
WebTransformOperationScale,
WebTransformOperationSkew,
WebTransformOperationPerspective,
- WebTransformOperationMatrix
+ WebTransformOperationMatrix,
+ WebTransformOperationIdentity
};
+ WebTransformOperation()
+ : type(WebTransformOperationIdentity)
+ {
+ }
+
Type type;
WebTransformationMatrix matrix;
+
+ union {
+ double perspectiveDepth;
+
+ struct {
+ double x, y;
+ } skew;
+
+ struct {
+ double x, y, z;
+ } scale;
+
+ struct {
+ double x, y, z;
+ } translate;
+
+ struct {
+ struct {
+ double x, y, z;
+ } axis;
+
+ double angle;
+ } rotate;
+ };
+
+ bool isIdentity() const { return matrix.isIdentity(); }
};
class WebTransformOperationsPrivate {
@@ -57,41 +96,188 @@ WebTransformationMatrix WebTransformOperations::apply() const
return toReturn;
}
-WebTransformationMatrix WebTransformOperations::blend(const WebTransformOperations& from, double progress) const
+static bool isIdentity(const WebTransformOperation* operation)
{
- WebTransformationMatrix toReturn;
- if (matchesTypes(from)) {
- for (size_t i = 0; i < m_private->operations.size(); ++i) {
- WebTransformationMatrix blended = m_private->operations[i].matrix;
- blended.blend(from.m_private->operations[i].matrix, progress);
- toReturn.multiply(blended);
+ return !operation || operation->isIdentity();
+}
+
+static bool shareSameAxis(const WebTransformOperation* from, const WebTransformOperation* to, double& axisX, double& axisY, double& axisZ, double& angleFrom)
+{
+ if (isIdentity(from) && isIdentity(to))
+ return false;
+
+ if (isIdentity(from) && !isIdentity(to)) {
+ axisX = to->rotate.axis.x;
+ axisY = to->rotate.axis.y;
+ axisZ = to->rotate.axis.z;
+ angleFrom = 0;
+ return true;
+ }
+
+ if (!isIdentity(from) && isIdentity(to)) {
+ axisX = from->rotate.axis.x;
+ axisY = from->rotate.axis.y;
+ axisZ = from->rotate.axis.z;
+ angleFrom = from->rotate.angle;
+ return true;
+ }
+
+ double length2 = from->rotate.axis.x * from->rotate.axis.x + from->rotate.axis.y * from->rotate.axis.y + from->rotate.axis.z * from->rotate.axis.z;
+ double otherLength2 = to->rotate.axis.x * to->rotate.axis.x + to->rotate.axis.y * to->rotate.axis.y + to->rotate.axis.z * to->rotate.axis.z;
+
+ if (length2 <= EPSILON || otherLength2 <= EPSILON)
+ return false;
+
+ double dot = to->rotate.axis.x * from->rotate.axis.x + to->rotate.axis.y * from->rotate.axis.y + to->rotate.axis.z * from->rotate.axis.z;
+ double error = fabs(1.0 - (dot * dot) / (length2 * otherLength2));
+ bool result = error < EPSILON;
+ if (result) {
+ axisX = to->rotate.axis.x;
+ axisY = to->rotate.axis.y;
+ axisZ = to->rotate.axis.z;
+ // If the axes are pointing in opposite directions, we need to reverse
+ // the angle.
+ angleFrom = dot > 0 ? from->rotate.angle : -from->rotate.angle;
+ }
+ return result;
+}
+
+static double blendDoubles(double from, double to, double progress)
+{
+ return from * (1 - progress) + to * progress;
+}
+
+static bool blendTransformOperations(const WebTransformOperation* from, const WebTransformOperation* to, double progress, WebTransformationMatrix& result)
+{
+ if (isIdentity(from) && isIdentity(to))
+ return true;
+
+ WebTransformOperation::Type interpolationType = WebTransformOperation::WebTransformOperationIdentity;
+ if (isIdentity(to))
+ interpolationType = from->type;
+ else
+ interpolationType = to->type;
+
+ switch (interpolationType) {
+ case WebTransformOperation::WebTransformOperationTranslate: {
+ double fromX = isIdentity(from) ? 0 : from->translate.x;
+ double fromY = isIdentity(from) ? 0 : from->translate.y;
+ double fromZ = isIdentity(from) ? 0 : from->translate.z;
+ double toX = isIdentity(to) ? 0 : to->translate.x;
+ double toY = isIdentity(to) ? 0 : to->translate.y;
+ double toZ = isIdentity(to) ? 0 : to->translate.z;
+ result.translate3d(blendDoubles(fromX, toX, progress),
+ blendDoubles(fromY, toY, progress),
+ blendDoubles(fromZ, toZ, progress));
+ break;
+ }
+ case WebTransformOperation::WebTransformOperationRotate: {
+ double axisX = 0;
+ double axisY = 0;
+ double axisZ = 1;
+ double fromAngle = 0;
+ double toAngle = isIdentity(to) ? 0 : to->rotate.angle;
+ if (shareSameAxis(from, to, axisX, axisY, axisZ, fromAngle))
+ result.rotate3d(axisX, axisY, axisZ, blendDoubles(fromAngle, toAngle, progress));
+ else {
+ WebTransformationMatrix toMatrix;
+ if (!isIdentity(to))
+ toMatrix = to->matrix;
+ WebTransformationMatrix fromMatrix;
+ if (!isIdentity(from))
+ fromMatrix = from->matrix;
+ result = toMatrix;
+ if (!result.blend(fromMatrix, progress))
+ return false;
}
- } else {
- toReturn = apply();
- WebTransformationMatrix fromTransform = from.apply();
- toReturn.blend(fromTransform, progress);
+ break;
+ }
+ case WebTransformOperation::WebTransformOperationScale: {
+ double fromX = isIdentity(from) ? 1 : from->scale.x;
+ double fromY = isIdentity(from) ? 1 : from->scale.y;
+ double fromZ = isIdentity(from) ? 1 : from->scale.z;
+ double toX = isIdentity(to) ? 1 : to->scale.x;
+ double toY = isIdentity(to) ? 1 : to->scale.y;
+ double toZ = isIdentity(to) ? 1 : to->scale.z;
+ result.scale3d(blendDoubles(fromX, toX, progress),
+ blendDoubles(fromY, toY, progress),
+ blendDoubles(fromZ, toZ, progress));
+ break;
+ }
+ case WebTransformOperation::WebTransformOperationSkew: {
+ double fromX = isIdentity(from) ? 0 : from->skew.x;
+ double fromY = isIdentity(from) ? 0 : from->skew.y;
+ double toX = isIdentity(to) ? 0 : to->skew.x;
+ double toY = isIdentity(to) ? 0 : to->skew.y;
+ result.skewX(blendDoubles(fromX, toX, progress));
+ result.skewY(blendDoubles(fromY, toY, progress));
+ break;
+ }
+ case WebTransformOperation::WebTransformOperationPerspective: {
+ double fromPerspectiveDepth = isIdentity(from) ? numeric_limits<double>::max() : from->perspectiveDepth;
+ double toPerspectiveDepth = isIdentity(to) ? numeric_limits<double>::max() : to->perspectiveDepth;
+ result.applyPerspective(blendDoubles(fromPerspectiveDepth, toPerspectiveDepth, progress));
+ break;
}
+ case WebTransformOperation::WebTransformOperationMatrix: {
+ WebTransformationMatrix toMatrix;
+ if (!isIdentity(to))
+ toMatrix = to->matrix;
+ WebTransformationMatrix fromMatrix;
+ if (!isIdentity(from))
+ fromMatrix = from->matrix;
+ result = toMatrix;
+ if (!result.blend(fromMatrix, progress))
+ return false;
+ break;
+ }
+ case WebTransformOperation::WebTransformOperationIdentity:
+ // Do nothing.
+ break;
+ }
+
+ return true;
+}
+
+WebTransformationMatrix WebTransformOperations::blend(const WebTransformOperations& from, double progress) const
+{
+ WebTransformationMatrix toReturn;
+ blendInternal(from, progress, toReturn);
return toReturn;
}
bool WebTransformOperations::matchesTypes(const WebTransformOperations& other) const
{
+ if (isIdentity() || other.isIdentity())
+ return true;
+
if (m_private->operations.size() != other.m_private->operations.size())
return false;
for (size_t i = 0; i < m_private->operations.size(); ++i) {
- if (m_private->operations[i].type != other.m_private->operations[i].type)
+ if (m_private->operations[i].type != other.m_private->operations[i].type
+ && !m_private->operations[i].isIdentity()
+ && !other.m_private->operations[i].isIdentity())
return false;
}
return true;
}
+bool WebTransformOperations::canBlendWith(const WebTransformOperations& other) const
+{
+ WebTransformationMatrix dummy;
+ return blendInternal(other, 0.5, dummy);
+}
+
void WebTransformOperations::appendTranslate(double x, double y, double z)
{
WebTransformOperation toAdd;
toAdd.matrix.translate3d(x, y, z);
toAdd.type = WebTransformOperation::WebTransformOperationTranslate;
+ toAdd.translate.x = x;
+ toAdd.translate.y = y;
+ toAdd.translate.z = z;
m_private->operations.append(toAdd);
}
@@ -100,6 +286,10 @@ void WebTransformOperations::appendRotate(double x, double y, double z, double d
WebTransformOperation toAdd;
toAdd.matrix.rotate3d(x, y, z, degrees);
toAdd.type = WebTransformOperation::WebTransformOperationRotate;
+ toAdd.rotate.axis.x = x;
+ toAdd.rotate.axis.y = y;
+ toAdd.rotate.axis.z = z;
+ toAdd.rotate.angle = degrees;
m_private->operations.append(toAdd);
}
@@ -108,6 +298,9 @@ void WebTransformOperations::appendScale(double x, double y, double z)
WebTransformOperation toAdd;
toAdd.matrix.scale3d(x, y, z);
toAdd.type = WebTransformOperation::WebTransformOperationScale;
+ toAdd.scale.x = x;
+ toAdd.scale.y = y;
+ toAdd.scale.z = z;
m_private->operations.append(toAdd);
}
@@ -117,6 +310,8 @@ void WebTransformOperations::appendSkew(double x, double y)
toAdd.matrix.skewX(x);
toAdd.matrix.skewY(y);
toAdd.type = WebTransformOperation::WebTransformOperationSkew;
+ toAdd.skew.x = x;
+ toAdd.skew.y = y;
m_private->operations.append(toAdd);
}
@@ -125,6 +320,7 @@ void WebTransformOperations::appendPerspective(double depth)
WebTransformOperation toAdd;
toAdd.matrix.applyPerspective(depth);
toAdd.type = WebTransformOperation::WebTransformOperationPerspective;
+ toAdd.perspectiveDepth = depth;
m_private->operations.append(toAdd);
}
@@ -136,6 +332,20 @@ void WebTransformOperations::appendMatrix(const WebTransformationMatrix& matrix)
m_private->operations.append(toAdd);
}
+void WebTransformOperations::appendIdentity()
+{
+ m_private->operations.append(WebTransformOperation());
+}
+
+bool WebTransformOperations::isIdentity() const
+{
+ for (size_t i = 0; i < m_private->operations.size(); ++i) {
+ if (!m_private->operations[i].isIdentity())
+ return false;
+ }
+ return true;
+}
+
void WebTransformOperations::reset()
{
m_private.reset(0);
@@ -154,4 +364,31 @@ void WebTransformOperations::initialize(const WebTransformOperations& other)
initialize();
}
+bool WebTransformOperations::blendInternal(const WebTransformOperations& from, double progress, WebTransformationMatrix& result) const
+{
+ bool fromIdentity = from.isIdentity();
+ bool toIdentity = isIdentity();
+ if (fromIdentity && toIdentity)
+ return true;
+
+ if (matchesTypes(from)) {
+ size_t numOperations = max(fromIdentity ? 0 : from.m_private->operations.size(),
+ toIdentity ? 0 : m_private->operations.size());
+ for (size_t i = 0; i < numOperations; ++i) {
+ WebTransformationMatrix blended;
+ if (!blendTransformOperations(fromIdentity ? 0 : &from.m_private->operations[i],
+ toIdentity ? 0 : &m_private->operations[i],
+ progress,
+ blended))
+ return false;
+ result.multiply(blended);
+ }
+ return true;
+ }
+
+ result = apply();
+ WebTransformationMatrix fromTransform = from.apply();
+ return result.blend(fromTransform, progress);
+}
+
} // namespace WebKit
diff --git a/Source/WebCore/platform/chromium/support/WebTransformationMatrix.cpp b/Source/WebCore/platform/chromium/support/WebTransformationMatrix.cpp
index 6d99440d5..01a96a455 100644
--- a/Source/WebCore/platform/chromium/support/WebTransformationMatrix.cpp
+++ b/Source/WebCore/platform/chromium/support/WebTransformationMatrix.cpp
@@ -162,9 +162,13 @@ void WebTransformationMatrix::applyPerspective(double p)
m_private.applyPerspective(p);
}
-void WebTransformationMatrix::blend(const WebTransformationMatrix& from, double progress)
+bool WebTransformationMatrix::blend(const WebTransformationMatrix& from, double progress)
{
+ WebCore::TransformationMatrix::DecomposedType dummy;
+ if (!m_private.decompose(dummy) || !from.m_private.decompose(dummy))
+ return false;
m_private.blend(from.m_private, progress);
+ return true;
}
bool WebTransformationMatrix::hasPerspective() const
diff --git a/Source/WebCore/platform/chromium/support/WebURLResponse.cpp b/Source/WebCore/platform/chromium/support/WebURLResponse.cpp
index 1f9b96860..9de3c01a0 100644
--- a/Source/WebCore/platform/chromium/support/WebURLResponse.cpp
+++ b/Source/WebCore/platform/chromium/support/WebURLResponse.cpp
@@ -261,7 +261,7 @@ void WebURLResponse::addHTTPHeaderField(const WebString& name, const WebString&
HTTPHeaderMap::AddResult result =
const_cast<HTTPHeaderMap*>(&map)->add(name, valueStr);
if (!result.isNewEntry)
- result.iterator->second += ", " + valueStr;
+ result.iterator->second.append(", " + valueStr);
}
void WebURLResponse::clearHTTPHeaderField(const WebString& name)
diff --git a/Source/WebCore/platform/cocoa/KeyEventCocoa.mm b/Source/WebCore/platform/cocoa/KeyEventCocoa.mm
index 4d1e41a9e..a125b6a10 100644
--- a/Source/WebCore/platform/cocoa/KeyEventCocoa.mm
+++ b/Source/WebCore/platform/cocoa/KeyEventCocoa.mm
@@ -27,9 +27,9 @@
#import "KeyEventCocoa.h"
#import "Logging.h"
-#import "PlatformString.h"
#import "WindowsKeyboardCodes.h"
#import <wtf/ASCIICType.h>
+#import <wtf/text/WTFString.h>
#if PLATFORM(IOS)
#import "KeyEventCodesIOS.h"
diff --git a/Source/WebCore/platform/efl/BatteryProviderEfl.cpp b/Source/WebCore/platform/efl/BatteryProviderEfl.cpp
index 2c15efa42..1be9e1d25 100644
--- a/Source/WebCore/platform/efl/BatteryProviderEfl.cpp
+++ b/Source/WebCore/platform/efl/BatteryProviderEfl.cpp
@@ -59,6 +59,9 @@ void BatteryProviderEfl::startUpdating()
void BatteryProviderEfl::stopUpdating()
{
+ if (!m_timer.isActive())
+ return;
+
m_timer.stop();
e_ukit_shutdown();
e_dbus_shutdown();
diff --git a/Source/WebCore/platform/efl/ContextMenuItemEfl.cpp b/Source/WebCore/platform/efl/ContextMenuItemEfl.cpp
index b8b62010d..c4ed067b8 100644
--- a/Source/WebCore/platform/efl/ContextMenuItemEfl.cpp
+++ b/Source/WebCore/platform/efl/ContextMenuItemEfl.cpp
@@ -3,7 +3,7 @@
* Copyright (C) 2007 Staikos Computing Services Inc. <info@staikos.net>
* Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
* Copyright (C) 2009-2010 ProFUSION embedded systems
- * Copyright (C) 2011 Samsung Electronics
+ * Copyright (C) 2011-2012 Samsung Electronics
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -33,6 +33,7 @@
#include "ContextMenuItem.h"
+#include "ContextMenu.h"
#include "NotImplemented.h"
namespace WebCore {
@@ -121,15 +122,21 @@ bool ContextMenuItem::enabled() const
return m_platformDescription.enabled;
}
-void ContextMenuItem::setSubMenu(ContextMenu*)
+void ContextMenuItem::setSubMenu(ContextMenu* menu)
{
- notImplemented();
+ m_platformDescription.subMenuItems = *menu->platformDescription();
}
PlatformMenuDescription ContextMenuItem::platformSubMenu() const
-{
- return 0;
-}
+{
+ return &m_platformDescription.subMenuItems;
+}
+
+void ContextMenuItem::setSubMenu(Vector<ContextMenuItem>& items)
+{
+ m_platformDescription.subMenuItems = items;
+}
+
#endif
}
#endif // ENABLE(CONTEXT_MENUS)
diff --git a/Source/WebCore/platform/efl/EflScreenUtilities.cpp b/Source/WebCore/platform/efl/EflScreenUtilities.cpp
index 18dcd1bb0..6048db969 100644
--- a/Source/WebCore/platform/efl/EflScreenUtilities.cpp
+++ b/Source/WebCore/platform/efl/EflScreenUtilities.cpp
@@ -50,49 +50,49 @@ int CursorMap::cursor(const String& cursorGroup)
CursorMap::CursorMap()
{
- m_cursorStringMap.set("cursor/pointer", ECORE_X_CURSOR_LEFT_PTR);
- m_cursorStringMap.set("cursor/move", ECORE_X_CURSOR_FLEUR);
- m_cursorStringMap.set("cursor/cross", ECORE_X_CURSOR_CROSS);
- m_cursorStringMap.set("cursor/hand", ECORE_X_CURSOR_HAND2);
- m_cursorStringMap.set("cursor/i_beam", ECORE_X_CURSOR_XTERM);
- m_cursorStringMap.set("cursor/wait", ECORE_X_CURSOR_WATCH);
- m_cursorStringMap.set("cursor/help", ECORE_X_CURSOR_QUESTION_ARROW);
- m_cursorStringMap.set("cursor/east_resize", ECORE_X_CURSOR_RIGHT_SIDE);
- m_cursorStringMap.set("cursor/north_resize", ECORE_X_CURSOR_TOP_SIDE);
- m_cursorStringMap.set("cursor/north_east_resize", ECORE_X_CURSOR_TOP_RIGHT_CORNER);
- m_cursorStringMap.set("cursor/north_west_resize", ECORE_X_CURSOR_TOP_LEFT_CORNER);
- m_cursorStringMap.set("cursor/south_resize", ECORE_X_CURSOR_BOTTOM_SIDE);
- m_cursorStringMap.set("cursor/south_east_resize", ECORE_X_CURSOR_BOTTOM_RIGHT_CORNER);
- m_cursorStringMap.set("cursor/south_west_resize", ECORE_X_CURSOR_BOTTOM_LEFT_CORNER);
- m_cursorStringMap.set("cursor/west_resize", ECORE_X_CURSOR_LEFT_SIDE);
- m_cursorStringMap.set("cursor/north_south_resize", ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
- m_cursorStringMap.set("cursor/east_west_resize", ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
- m_cursorStringMap.set("cursor/north_east_south_west_resize", ECORE_X_CURSOR_SIZING);
- m_cursorStringMap.set("cursor/north_west_south_east_resize", ECORE_X_CURSOR_SIZING);
- m_cursorStringMap.set("cursor/column_resize", ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
- m_cursorStringMap.set("cursor/row_resize", ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
- m_cursorStringMap.set("cursor/middle_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/north_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/north_east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/north_west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/south_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/south_east_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/south_west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/west_panning", ECORE_X_CURSOR_CROSS_REVERSE);
- m_cursorStringMap.set("cursor/vertical_text", ECORE_X_CURSOR_SB_DOWN_ARROW);
- m_cursorStringMap.set("cursor/cell", ECORE_X_CURSOR_ICON);
- m_cursorStringMap.set("cursor/context_menu", ECORE_X_CURSOR_HAND2);
- m_cursorStringMap.set("cursor/no_drop", ECORE_X_CURSOR_DOT_BOX_MASK);
- m_cursorStringMap.set("cursor/copy", ECORE_X_CURSOR_ICON);
- m_cursorStringMap.set("cursor/progress", ECORE_X_CURSOR_WATCH);
- m_cursorStringMap.set("cursor/alias", ECORE_X_CURSOR_MAN);
- m_cursorStringMap.set("cursor/none", ECORE_X_CURSOR_X);
- m_cursorStringMap.set("cursor/not_allowed", ECORE_X_CURSOR_X);
- m_cursorStringMap.set("cursor/zoom_in", ECORE_X_CURSOR_DIAMOND_CROSS);
- m_cursorStringMap.set("cursor/zoom_out", ECORE_X_CURSOR_DIAMOND_CROSS);
- m_cursorStringMap.set("cursor/grab", ECORE_X_CURSOR_HAND2);
- m_cursorStringMap.set("cursor/grabbing", ECORE_X_CURSOR_HAND2);
+ m_cursorStringMap.set(ASCIILiteral("cursor/pointer"), ECORE_X_CURSOR_LEFT_PTR);
+ m_cursorStringMap.set(ASCIILiteral("cursor/move"), ECORE_X_CURSOR_FLEUR);
+ m_cursorStringMap.set(ASCIILiteral("cursor/cross"), ECORE_X_CURSOR_CROSS);
+ m_cursorStringMap.set(ASCIILiteral("cursor/hand"), ECORE_X_CURSOR_HAND2);
+ m_cursorStringMap.set(ASCIILiteral("cursor/i_beam"), ECORE_X_CURSOR_XTERM);
+ m_cursorStringMap.set(ASCIILiteral("cursor/wait"), ECORE_X_CURSOR_WATCH);
+ m_cursorStringMap.set(ASCIILiteral("cursor/help"), ECORE_X_CURSOR_QUESTION_ARROW);
+ m_cursorStringMap.set(ASCIILiteral("cursor/east_resize"), ECORE_X_CURSOR_RIGHT_SIDE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_resize"), ECORE_X_CURSOR_TOP_SIDE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_east_resize"), ECORE_X_CURSOR_TOP_RIGHT_CORNER);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_west_resize"), ECORE_X_CURSOR_TOP_LEFT_CORNER);
+ m_cursorStringMap.set(ASCIILiteral("cursor/south_resize"), ECORE_X_CURSOR_BOTTOM_SIDE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/south_east_resize"), ECORE_X_CURSOR_BOTTOM_RIGHT_CORNER);
+ m_cursorStringMap.set(ASCIILiteral("cursor/south_west_resize"), ECORE_X_CURSOR_BOTTOM_LEFT_CORNER);
+ m_cursorStringMap.set(ASCIILiteral("cursor/west_resize"), ECORE_X_CURSOR_LEFT_SIDE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_south_resize"), ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
+ m_cursorStringMap.set(ASCIILiteral("cursor/east_west_resize"), ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_east_south_west_resize"), ECORE_X_CURSOR_SIZING);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_west_south_east_resize"), ECORE_X_CURSOR_SIZING);
+ m_cursorStringMap.set(ASCIILiteral("cursor/column_resize"), ECORE_X_CURSOR_SB_V_DOUBLE_ARROW);
+ m_cursorStringMap.set(ASCIILiteral("cursor/row_resize"), ECORE_X_CURSOR_SB_H_DOUBLE_ARROW);
+ m_cursorStringMap.set(ASCIILiteral("cursor/middle_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/east_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_east_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/north_west_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/south_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/south_east_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/south_west_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/west_panning"), ECORE_X_CURSOR_CROSS_REVERSE);
+ m_cursorStringMap.set(ASCIILiteral("cursor/vertical_text"), ECORE_X_CURSOR_SB_DOWN_ARROW);
+ m_cursorStringMap.set(ASCIILiteral("cursor/cell"), ECORE_X_CURSOR_ICON);
+ m_cursorStringMap.set(ASCIILiteral("cursor/context_menu"), ECORE_X_CURSOR_HAND2);
+ m_cursorStringMap.set(ASCIILiteral("cursor/no_drop"), ECORE_X_CURSOR_DOT_BOX_MASK);
+ m_cursorStringMap.set(ASCIILiteral("cursor/copy"), ECORE_X_CURSOR_ICON);
+ m_cursorStringMap.set(ASCIILiteral("cursor/progress"), ECORE_X_CURSOR_WATCH);
+ m_cursorStringMap.set(ASCIILiteral("cursor/alias"), ECORE_X_CURSOR_MAN);
+ m_cursorStringMap.set(ASCIILiteral("cursor/none"), ECORE_X_CURSOR_X);
+ m_cursorStringMap.set(ASCIILiteral("cursor/not_allowed"), ECORE_X_CURSOR_X);
+ m_cursorStringMap.set(ASCIILiteral("cursor/zoom_in"), ECORE_X_CURSOR_DIAMOND_CROSS);
+ m_cursorStringMap.set(ASCIILiteral("cursor/zoom_out"), ECORE_X_CURSOR_DIAMOND_CROSS);
+ m_cursorStringMap.set(ASCIILiteral("cursor/grab"), ECORE_X_CURSOR_HAND2);
+ m_cursorStringMap.set(ASCIILiteral("cursor/grabbing"), ECORE_X_CURSOR_HAND2);
}
int getEcoreCursor(const String& cursorString)
@@ -127,23 +127,6 @@ int getDPI()
#endif
}
-int getPixelDepth(const Evas* evas)
-{
-#ifdef HAVE_ECORE_X
- Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(evas);
- // FIXME: ecore_evas_software_x11_window_get() can't get Ecore_X_Window during the layout test.
- // Because, EFL DumpRenderTree doesn't use X11 window by default.
- // See also, http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/efl/DumpRenderTree.cpp#L69
- Ecore_X_Window window = ecore_evas_software_x11_window_get(ecoreEvas);
- if (!window)
- return 8;
-
- return ecore_x_window_depth_get(window);
-#else
- return 8;
-#endif
-}
-
bool isUsingEcoreX(const Evas* evas)
{
#ifdef HAVE_ECORE_X
diff --git a/Source/WebCore/platform/efl/EflScreenUtilities.h b/Source/WebCore/platform/efl/EflScreenUtilities.h
index ebf52b64a..6ec60ef02 100644
--- a/Source/WebCore/platform/efl/EflScreenUtilities.h
+++ b/Source/WebCore/platform/efl/EflScreenUtilities.h
@@ -27,7 +27,6 @@ namespace WebCore {
void applyFallbackCursor(Ecore_Evas*, const char*);
int getDPI();
-int getPixelDepth(const Evas*);
bool isUsingEcoreX(const Evas*);
} // namespace WebCore
diff --git a/Source/WebCore/platform/efl/ErrorsEfl.h b/Source/WebCore/platform/efl/ErrorsEfl.h
index 9372afe9c..029f0d64b 100644
--- a/Source/WebCore/platform/efl/ErrorsEfl.h
+++ b/Source/WebCore/platform/efl/ErrorsEfl.h
@@ -26,7 +26,7 @@
#ifndef ErrorsEfl_h
#define ErrorsEfl_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/efl/FileSystemEfl.cpp b/Source/WebCore/platform/efl/FileSystemEfl.cpp
index 407882279..cc8c7f6a2 100644
--- a/Source/WebCore/platform/efl/FileSystemEfl.cpp
+++ b/Source/WebCore/platform/efl/FileSystemEfl.cpp
@@ -46,6 +46,7 @@
#include <limits.h>
#include <stdio.h>
#include <sys/stat.h>
+#include <sys/statvfs.h>
#include <unistd.h>
#include <wtf/text/CString.h>
@@ -107,4 +108,13 @@ Vector<String> listDirectory(const String& path, const String& filter)
return matchingEntries;
}
+uint64_t getVolumeFreeSizeForPath(const char* path)
+{
+ struct statvfs buf;
+ if (statvfs(path, &buf) < 0)
+ return 0;
+
+ return buf.f_bavail * buf.f_bsize;
+}
+
}
diff --git a/Source/WebCore/platform/efl/LanguageEfl.cpp b/Source/WebCore/platform/efl/LanguageEfl.cpp
index 6aeadb4b9..f49de9e73 100644
--- a/Source/WebCore/platform/efl/LanguageEfl.cpp
+++ b/Source/WebCore/platform/efl/LanguageEfl.cpp
@@ -29,10 +29,9 @@
#include "config.h"
#include "Language.h"
-#include "PlatformString.h"
-
#include <locale.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/efl/LocalizedStringsEfl.cpp b/Source/WebCore/platform/efl/LocalizedStringsEfl.cpp
index 21aa5f23e..ed6ee5fa5 100644
--- a/Source/WebCore/platform/efl/LocalizedStringsEfl.cpp
+++ b/Source/WebCore/platform/efl/LocalizedStringsEfl.cpp
@@ -34,7 +34,7 @@
#include "LocalizedStrings.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/efl/LoggingEfl.cpp b/Source/WebCore/platform/efl/LoggingEfl.cpp
index 79cf004f5..d1864a011 100644
--- a/Source/WebCore/platform/efl/LoggingEfl.cpp
+++ b/Source/WebCore/platform/efl/LoggingEfl.cpp
@@ -25,8 +25,8 @@
#if !LOG_DISABLED
-#include "PlatformString.h"
#include <Eina.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/efl/PasteboardEfl.cpp b/Source/WebCore/platform/efl/PasteboardEfl.cpp
index 95b2a3426..39650c77d 100644
--- a/Source/WebCore/platform/efl/PasteboardEfl.cpp
+++ b/Source/WebCore/platform/efl/PasteboardEfl.cpp
@@ -28,10 +28,10 @@
#include "Image.h"
#include "KURL.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "RenderImage.h"
#include "markup.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/efl/PlatformScreenEfl.cpp b/Source/WebCore/platform/efl/PlatformScreenEfl.cpp
index 394da63f6..b43bf415f 100644
--- a/Source/WebCore/platform/efl/PlatformScreenEfl.cpp
+++ b/Source/WebCore/platform/efl/PlatformScreenEfl.cpp
@@ -5,6 +5,7 @@
* Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
* Copyright (C) 2009-2010 ProFUSION embedded systems
* Copyright (C) 2009-2010 Samsung Electronics
+ * Copyright (C) 2012 Intel Corporation. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -34,64 +35,96 @@
#include "config.h"
#include "PlatformScreen.h"
-#include "EflScreenUtilities.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "Widget.h"
#include <Ecore_Evas.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
+
+#ifdef HAVE_ECORE_X
+#include <Ecore_X.h>
+#endif
namespace WebCore {
-
-int screenHorizontalDPI(Widget* widget)
+
+#ifdef HAVE_ECORE_X
+
+#define CALL_WITH_ECORE_X(ECORE_X_CALL) \
+ do { \
+ int success = ecore_x_init(0); \
+ if (success) { \
+ Ecore_X_Screen* screen = ecore_x_default_screen_get(); \
+ if (screen) \
+ ECORE_X_CALL; \
+ ecore_x_shutdown(); \
+ } \
+ } while (0) \
+
+#endif
+
+int screenHorizontalDPI(Widget*)
{
notImplemented();
return 0;
}
-int screenVerticalDPI(Widget* widget)
+int screenVerticalDPI(Widget*)
{
notImplemented();
return 0;
}
-int screenDepth(Widget* widget)
+int screenDepth(Widget*)
{
- if (!widget || !widget->evas())
- return 0;
-
- return getPixelDepth(widget->evas());
+#ifdef HAVE_ECORE_X
+ int depth = 24;
+ CALL_WITH_ECORE_X(depth = ecore_x_default_depth_get(ecore_x_display_get(), screen));
+ return depth;
+#else
+ return 24;
+#endif
}
int screenDepthPerComponent(Widget* widget)
{
- if (!widget || !widget->evas())
- return 0;
-
- // FIXME: How to support this functionality based on EFL library ?
- return getPixelDepth(widget->evas());
+ if (!widget)
+ return 8;
+
+ int depth = screenDepth(widget);
+
+ switch (depth) {
+ // Special treat 0 as an error, and return 8 bit per component.
+ case 0:
+ case 24:
+ case 32:
+ return 8;
+ case 8:
+ return 2;
+ default:
+ return depth / 3;
+ }
}
-bool screenIsMonochrome(Widget*)
+bool screenIsMonochrome(Widget* widget)
{
- notImplemented();
- return false;
+ return screenDepth(widget) < 2;
}
FloatRect screenRect(Widget* widget)
{
- if (!widget)
+#ifdef HAVE_ECORE_X
+ int width = 0, height = 0;
+ CALL_WITH_ECORE_X(ecore_x_screen_size_get(screen, &width, &height));
+ return FloatRect(0, 0, width, height);
+#else
+ if (!widget || !widget->evas())
return FloatRect();
int x, y, w, h;
- Evas* e = widget->evas();
- if (!e)
- return FloatRect();
-
- ecore_evas_screen_geometry_get(ecore_evas_ecore_evas_get(e), &x, &y, &w, &h);
-
+ ecore_evas_screen_geometry_get(ecore_evas_ecore_evas_get(widget->evas()), &x, &y, &w, &h);
return FloatRect(x, y, w, h);
+#endif
}
FloatRect screenAvailableRect(Widget* widget)
diff --git a/Source/WebCore/platform/efl/RenderThemeEfl.cpp b/Source/WebCore/platform/efl/RenderThemeEfl.cpp
index 4075430d4..f3dc54c98 100644
--- a/Source/WebCore/platform/efl/RenderThemeEfl.cpp
+++ b/Source/WebCore/platform/efl/RenderThemeEfl.cpp
@@ -5,6 +5,7 @@
* Copyright (C) 2008 INdT - Instituto Nokia de Tecnologia
* Copyright (C) 2009-2010 ProFUSION embedded systems
* Copyright (C) 2009-2011 Samsung Electronics
+ * Copyright (c) 2012 Intel Corporation. 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
@@ -70,16 +71,24 @@ float RenderThemeEfl::defaultFontSize = 16.0f;
static const int progressAnimationFrames = 10;
static const double progressAnimationInterval = 0.125;
-static const int sliderThumbWidth = 12;
-static const int sliderThumbHeight = 12;
+static const int sliderThumbWidth = 29;
+static const int sliderThumbHeight = 11;
#if ENABLE(VIDEO)
static const int mediaSliderHeight = 14;
static const int mediaSliderThumbWidth = 12;
static const int mediaSliderThumbHeight = 12;
#endif
+#define _ASSERT_ON_RELEASE_RETURN(o, fmt, ...) \
+ do { if (!o) { EINA_LOG_CRIT(fmt, ## __VA_ARGS__); ASSERT(o); return; } } while (0)
+#define _ASSERT_ON_RELEASE_RETURN_VAL(o, val, fmt, ...) \
+ do { if (!o) { EINA_LOG_CRIT(fmt, ## __VA_ARGS__); ASSERT(o); return val; } } while (0)
+
void RenderThemeEfl::adjustSizeConstraints(RenderStyle* style, FormType type) const
{
+ loadThemeIfNeeded();
+ _ASSERT_ON_RELEASE_RETURN(m_edje, "Could not paint native HTML part due to missing theme.");
+
const struct ThemePartDesc* desc = m_partDescs + (size_t)type;
if (style->minWidth().isIntrinsic())
@@ -113,8 +122,7 @@ bool RenderThemeEfl::themePartCacheEntryReset(struct ThemePartCacheEntry* entry,
if (!edje_object_file_set(entry->o, file, group)) {
Edje_Load_Error err = edje_object_load_error_get(entry->o);
const char *errmsg = edje_load_error_str(err);
- EINA_LOG_ERR("Could not load '%s' from theme %s: %s",
- group, file, errmsg);
+ EINA_LOG_ERR("Could not load '%s' from theme %s: %s", group, file, errmsg);
return false;
}
return true;
@@ -158,7 +166,7 @@ bool RenderThemeEfl::isFormElementTooLargeToDisplay(const IntSize& elementSize)
struct RenderThemeEfl::ThemePartCacheEntry* RenderThemeEfl::cacheThemePartNew(FormType type, const IntSize& size)
{
if (isFormElementTooLargeToDisplay(size)) {
- EINA_LOG_ERR("cannot render an element of size %dx%d", size.width(), size.height());
+ EINA_LOG_ERR("Cannot render an element of size %dx%d.", size.width(), size.height());
return 0;
}
@@ -310,13 +318,13 @@ void RenderThemeEfl::applyEdjeStateFromForm(Evas_Object* object, ControlStates s
bool RenderThemeEfl::paintThemePart(RenderObject* object, FormType type, const PaintInfo& info, const IntRect& rect)
{
+ loadThemeIfNeeded();
+ _ASSERT_ON_RELEASE_RETURN_VAL(m_edje, false, "Could not paint native HTML part due to missing theme.");
+
ThemePartCacheEntry* entry;
Eina_List* updates;
cairo_t* cairo;
- ASSERT(m_canvas);
- ASSERT(m_edje);
-
entry = cacheThemePartGet(type, rect.size());
if (!entry)
return false;
@@ -340,11 +348,16 @@ bool RenderThemeEfl::paintThemePart(RenderObject* object, FormType type, const P
Edje_Message_Float_Set* msg = new(buffer.get()) Edje_Message_Float_Set;
msg->count = 2;
- if (valueRange > 0)
- msg->val[0] = static_cast<float>((input->valueAsNumber() - input->minimum()) / valueRange);
+ // The first parameter of the message decides if the progress bar
+ // grows from the end of the slider or from the beginning. On vertical
+ // sliders, it should always be the same and will not be affected by
+ // text direction settings.
+ if (object->style()->direction() == RTL || type == SliderVertical)
+ msg->val[0] = 1;
else
msg->val[0] = 0;
- msg->val[1] = 0.1;
+
+ msg->val[1] = (input->valueAsNumber() - input->minimum()) / valueRange;
edje_object_message_send(entry->o, EDJE_MESSAGE_FLOAT_SET, 0, msg);
#if ENABLE(PROGRESS_ELEMENT)
} else if (type == ProgressBar) {
@@ -393,37 +406,44 @@ PassRefPtr<RenderTheme> RenderTheme::themeForPage(Page* page)
return fallback;
}
-static void renderThemeEflColorClassSelectionActive(void* data, Evas_Object* object, const char* signal, const char* source)
+static void applyColorCallback(void* data, Evas_Object*, const char* /* signal */, const char* colorClass)
{
- RenderThemeEfl* that = static_cast<RenderThemeEfl *>(data);
- int fr, fg, fb, fa, br, bg, bb, ba;
-
- if (!edje_object_color_class_get(object, source, &fr, &fg, &fb, &fa, &br, &bg, &bb, &ba, 0, 0, 0, 0))
- return;
-
- that->setActiveSelectionColor(fr, fg, fb, fa, br, bg, bb, ba);
+ RenderThemeEfl* that = static_cast<RenderThemeEfl*>(data);
+ that->setColorFromThemeClass(colorClass);
+ that->platformColorsDidChange(); // Triggers relayout.
}
-static void renderThemeEflColorClassSelectionInactive(void* data, Evas_Object* object, const char* signal, const char* source)
+static void fillColorsFromEdjeClass(Evas_Object* o, const char* colorClass, Color* color1, Color* color2 = 0, Color* color3 = 0)
{
- RenderThemeEfl* that = static_cast<RenderThemeEfl *>(data);
- int fr, fg, fb, fa, br, bg, bb, ba;
+ int r1, g1, b1, a1;
+ int r2, g2, b2, a2;
+ int r3, g3, b3, a3;
- if (!edje_object_color_class_get(object, source, &fr, &fg, &fb, &fa, &br, &bg, &bb, &ba, 0, 0, 0, 0))
- return;
+ bool ok = edje_object_color_class_get(o, colorClass, &r1, &g1, &b1, &a1, &r2, &g2, &b2, &a2, &r3, &g3, &b3, &a3);
+ _ASSERT_ON_RELEASE_RETURN(ok, "Could not get color class '%s'\n", colorClass);
- that->setInactiveSelectionColor(fr, fg, fb, fa, br, bg, bb, ba);
+ if (color1)
+ color1->setRGB(makeRGBA(r1, g1, b1, a1));
+ if (color2)
+ color2->setRGB(makeRGBA(r2, g2, b2, a2));
+ if (color3)
+ color3->setRGB(makeRGBA(r3, g3, b3, a3));
}
-static void renderThemeEflColorClassFocusRing(void* data, Evas_Object* object, const char* signal, const char* source)
+void RenderThemeEfl::setColorFromThemeClass(const char* colorClass)
{
- RenderThemeEfl* that = static_cast<RenderThemeEfl *>(data);
- int fr, fg, fb, fa;
-
- if (!edje_object_color_class_get(object, source, &fr, &fg, &fb, &fa, 0, 0, 0, 0, 0, 0, 0, 0))
- return;
+ ASSERT(m_edje);
- that->setFocusRingColor(fr, fg, fb, fa);
+ if (!strcmp("webkit/selection/active", colorClass))
+ fillColorsFromEdjeClass(m_edje, colorClass, &m_activeSelectionForegroundColor, &m_activeSelectionBackgroundColor);
+ else if (!strcmp("webkit/selection/inactive", colorClass))
+ fillColorsFromEdjeClass(m_edje, colorClass, &m_inactiveSelectionForegroundColor, &m_inactiveSelectionBackgroundColor);
+ else if (!strcmp("webkit/focus_ring", colorClass)) {
+ fillColorsFromEdjeClass(m_edje, colorClass, &m_focusRingColor);
+ // platformFocusRingColor() is only used for the default theme (without page)
+ // The following is ugly, but no other way to do it unless we change it to use page themes as much as possible.
+ RenderTheme::setCustomFocusRingColor(m_focusRingColor);
+ }
}
void RenderThemeEfl::setThemePath(const String& path)
@@ -432,72 +452,56 @@ void RenderThemeEfl::setThemePath(const String& path)
return;
m_themePath = path;
- themeChanged();
-}
-void RenderThemeEfl::createCanvas()
-{
- ASSERT(!m_canvas);
- m_canvas = ecore_evas_buffer_new(1, 1);
- ASSERT(m_canvas);
-}
+ if (m_themePath.isEmpty()) {
+ EINA_LOG_ERR("No theme defined, unable to set theme for HTML Forms.");
+ return;
+ }
-void RenderThemeEfl::createEdje()
-{
- ASSERT(!m_edje);
- if (m_themePath.isEmpty())
- EINA_LOG_ERR("No theme defined, unable to set RenderThemeEfl.");
- else {
- m_edje = edje_object_add(ecore_evas_get(m_canvas));
- if (!m_edje)
- EINA_LOG_ERR("Could not create base edje object.");
- else if (!edje_object_file_set(m_edje, m_themePath.utf8().data(), "webkit/base")) {
- Edje_Load_Error err = edje_object_load_error_get(m_edje);
- const char* errmsg = edje_load_error_str(err);
- EINA_LOG_ERR("Could not set file: %s", errmsg);
- evas_object_del(m_edje);
- m_edje = 0;
- } else {
-#define CONNECT(cc, func) \
- edje_object_signal_callback_add(m_edje, "color_class,set", \
- "webkit/"cc, func, this)
-
- CONNECT("selection/active",
- renderThemeEflColorClassSelectionActive);
- CONNECT("selection/inactive",
- renderThemeEflColorClassSelectionInactive);
- CONNECT("focus_ring", renderThemeEflColorClassFocusRing);
-#undef CONNECT
- }
+ if (!m_canvas) {
+ m_canvas = ecore_evas_buffer_new(1, 1);
+ if (!m_canvas)
+ EINA_LOG_ERR("Could not create canvas.");
}
+
+ loadTheme();
}
-void RenderThemeEfl::applyEdjeColors()
+bool RenderThemeEfl::loadTheme()
{
- int fr, fg, fb, fa, br, bg, bb, ba;
- ASSERT(m_edje);
-#define COLOR_GET(cls) \
- edje_object_color_class_get(m_edje, "webkit/"cls, \
- &fr, &fg, &fb, &fa, &br, &bg, &bb, &ba, \
- 0, 0, 0, 0)
-
- if (COLOR_GET("selection/active")) {
- m_activeSelectionForegroundColor = Color(fr, fg, fb, fa);
- m_activeSelectionBackgroundColor = Color(br, bg, bb, ba);
- }
- if (COLOR_GET("selection/inactive")) {
- m_inactiveSelectionForegroundColor = Color(fr, fg, fb, fa);
- m_inactiveSelectionBackgroundColor = Color(br, bg, bb, ba);
+ Evas_Object* o = edje_object_add(ecore_evas_get(m_canvas));
+ _ASSERT_ON_RELEASE_RETURN_VAL(o, false, "Could not create new base Edje object.");
+
+ if (!edje_object_file_set(o, m_themePath.utf8().data(), "webkit/base")) {
+ Edje_Load_Error err = edje_object_load_error_get(o);
+ const char* errmsg = edje_load_error_str(err);
+ EINA_LOG_ERR("Could not set file '%s': %s", m_themePath.utf8().data(), errmsg);
+ evas_object_del(o);
+ return false; // Keep current theme.
}
- if (COLOR_GET("focus_ring")) {
- m_focusRingColor = Color(fr, fg, fb, fa);
- // webkit just use platformFocusRingColor() for default theme (without page)
- // this is ugly, but no other way to do it unless we change
- // it to use page themes as much as possible.
- RenderTheme::setCustomFocusRingColor(m_focusRingColor);
+
+ // Get rid of existing theme.
+ if (m_edje) {
+ cacheThemePartFlush();
+ evas_object_del(m_edje);
}
-#undef COLOR_GET
- platformColorsDidChange();
+
+ // Set new loaded theme, and apply it.
+ m_edje = o;
+
+ edje_object_signal_callback_add(m_edje, "color_class,set", "webkit/selection/active", applyColorCallback, this);
+ edje_object_signal_callback_add(m_edje, "color_class,set", "webkit/selection/inactive", applyColorCallback, this);
+ edje_object_signal_callback_add(m_edje, "color_class,set", "webkit/focus_ring", applyColorCallback, this);
+
+ applyPartDescriptionsFrom(m_edje);
+
+ setColorFromThemeClass("webkit/selection/active");
+ setColorFromThemeClass("webkit/selection/inactive");
+ setColorFromThemeClass("webkit/focus_ring");
+
+ platformColorsDidChange(); // Schedules a relayout, do last.
+
+ return true;
}
void RenderThemeEfl::applyPartDescriptionFallback(struct ThemePartDesc* desc)
@@ -581,6 +585,8 @@ const char* RenderThemeEfl::edjeGroupFromFormType(FormType type) const
W("search/cancel_button"),
W("slider/vertical"),
W("slider/horizontal"),
+ W("slider/thumb_vertical"),
+ W("slider/thumb_horizontal"),
#if ENABLE(VIDEO)
W("mediacontrol/playpause_button"),
W("mediacontrol/mute_button"),
@@ -588,6 +594,9 @@ const char* RenderThemeEfl::edjeGroupFromFormType(FormType type) const
W("mediacontrol/seekbackward_button"),
W("mediacontrol/fullscreen_button"),
#endif
+#if ENABLE(VIDEO_TRACK)
+ W("mediacontrol/toggle_captions_button"),
+#endif
W("spinner"),
#undef W
0
@@ -597,17 +606,20 @@ const char* RenderThemeEfl::edjeGroupFromFormType(FormType type) const
return groups[type];
}
-void RenderThemeEfl::applyPartDescriptions()
+void RenderThemeEfl::applyPartDescriptionsFrom(Evas_Object* o)
{
Evas_Object* object;
unsigned int i;
const char* file;
- ASSERT(m_canvas);
- ASSERT(m_edje);
+ ASSERT(o);
- edje_object_file_get(m_edje, &file, 0);
+ edje_object_file_get(o, &file, 0);
ASSERT(file);
+ if (!file) {
+ EINA_LOG_ERR("Could not retrieve Edje theme file.");
+ return;
+ }
object = edje_object_add(ecore_evas_get(m_canvas));
if (!object) {
@@ -632,26 +644,6 @@ void RenderThemeEfl::applyPartDescriptions()
evas_object_del(object);
}
-void RenderThemeEfl::themeChanged()
-{
- cacheThemePartFlush();
-
- if (!m_canvas) {
- createCanvas();
- if (!m_canvas)
- return;
- }
-
- if (!m_edje) {
- createEdje();
- if (!m_edje)
- return;
- }
-
- applyEdjeColors();
- applyPartDescriptions();
-}
-
RenderThemeEfl::RenderThemeEfl(Page* page)
: RenderTheme()
, m_page(page)
@@ -681,30 +673,6 @@ RenderThemeEfl::~RenderThemeEfl()
}
}
-void RenderThemeEfl::setActiveSelectionColor(int foreR, int foreG, int foreB, int foreA, int backR, int backG, int backB, int backA)
-{
- m_activeSelectionForegroundColor = Color(foreR, foreG, foreB, foreA);
- m_activeSelectionBackgroundColor = Color(backR, backG, backB, backA);
- platformColorsDidChange();
-}
-
-void RenderThemeEfl::setInactiveSelectionColor(int foreR, int foreG, int foreB, int foreA, int backR, int backG, int backB, int backA)
-{
- m_inactiveSelectionForegroundColor = Color(foreR, foreG, foreB, foreA);
- m_inactiveSelectionBackgroundColor = Color(backR, backG, backB, backA);
- platformColorsDidChange();
-}
-
-void RenderThemeEfl::setFocusRingColor(int r, int g, int b, int a)
-{
- m_focusRingColor = Color(r, g, b, a);
- // webkit just use platformFocusRingColor() for default theme (without page)
- // this is ugly, but no other way to do it unless we change
- // it to use page themes as much as possible.
- RenderTheme::setCustomFocusRingColor(m_focusRingColor);
- platformColorsDidChange();
-}
-
static bool supportsFocus(ControlPart appearance)
{
switch (appearance) {
@@ -746,6 +714,36 @@ LayoutUnit RenderThemeEfl::baselinePosition(const RenderObject* object) const
return RenderTheme::baselinePosition(object);
}
+Color RenderThemeEfl::platformActiveSelectionBackgroundColor() const
+{
+ loadThemeIfNeeded();
+ return m_activeSelectionBackgroundColor;
+}
+
+Color RenderThemeEfl::platformInactiveSelectionBackgroundColor() const
+{
+ loadThemeIfNeeded();
+ return m_inactiveSelectionBackgroundColor;
+}
+
+Color RenderThemeEfl::platformActiveSelectionForegroundColor() const
+{
+ loadThemeIfNeeded();
+ return m_activeSelectionForegroundColor;
+}
+
+Color RenderThemeEfl::platformInactiveSelectionForegroundColor() const
+{
+ loadThemeIfNeeded();
+ return m_inactiveSelectionForegroundColor;
+}
+
+Color RenderThemeEfl::platformFocusRingColor() const
+{
+ loadThemeIfNeeded();
+ return m_focusRingColor;
+}
+
bool RenderThemeEfl::paintSliderTrack(RenderObject* object, const PaintInfo& info, const IntRect& rect)
{
if (object->style()->appearance() == SliderHorizontalPart)
@@ -762,45 +760,30 @@ bool RenderThemeEfl::paintSliderTrack(RenderObject* object, const PaintInfo& inf
void RenderThemeEfl::adjustSliderTrackStyle(StyleResolver* styleResolver, RenderStyle* style, Element* element) const
{
- if (!m_page && element && element->document()->page()) {
- static_cast<RenderThemeEfl*>(element->document()->page()->theme())->adjustSliderTrackStyle(styleResolver, style, element);
- return;
- }
-
- const ThemePartDesc* desc;
- if (style->appearance() == SliderHorizontalPart) {
- adjustSizeConstraints(style, SliderHorizontal);
- desc = m_partDescs + static_cast<size_t>(SliderHorizontal);
- } else {
- adjustSizeConstraints(style, SliderVertical);
- desc = m_partDescs + static_cast<size_t>(SliderVertical);
- }
- style->resetBorder();
- if (style->width().value() > 0 && style->width().value() < desc->min.width().value())
- style->setWidth(desc->min.width());
- if (style->height().value() > 0 && style->height().value() < desc->min.height().value())
- style->setHeight(desc->min.height());
+ style->setBoxShadow(nullptr);
}
void RenderThemeEfl::adjustSliderThumbStyle(StyleResolver* styleResolver, RenderStyle* style, Element* element) const
{
RenderTheme::adjustSliderThumbStyle(styleResolver, style, element);
- adjustSliderTrackStyle(styleResolver, style, element);
+ style->setBoxShadow(nullptr);
}
void RenderThemeEfl::adjustSliderThumbSize(RenderStyle* style, Element*) const
{
ControlPart part = style->appearance();
- if (part == SliderThumbVerticalPart || part == SliderThumbHorizontalPart) {
+ if (part == SliderThumbVerticalPart) {
style->setWidth(Length(sliderThumbHeight, Fixed));
style->setHeight(Length(sliderThumbWidth, Fixed));
- }
+ } else if (part == SliderThumbHorizontalPart) {
+ style->setWidth(Length(sliderThumbWidth, Fixed));
+ style->setHeight(Length(sliderThumbHeight, Fixed));
#if ENABLE(VIDEO)
- else if (part == MediaSliderThumbPart) {
+ } else if (part == MediaSliderThumbPart) {
style->setWidth(Length(mediaSliderThumbWidth, Fixed));
style->setHeight(Length(mediaSliderThumbHeight, Fixed));
- }
#endif
+ }
}
#if ENABLE(DATALIST_ELEMENT)
@@ -835,7 +818,11 @@ bool RenderThemeEfl::supportsDataListUI(const AtomicString& type) const
bool RenderThemeEfl::paintSliderThumb(RenderObject* object, const PaintInfo& info, const IntRect& rect)
{
- // We've already painted it in paintSliderTrack(), no need to do anything here.
+ if (object->style()->appearance() == SliderThumbHorizontalPart)
+ paintThemePart(object, SliderThumbHorizontal, info, rect);
+ else
+ paintThemePart(object, SliderThumbVertical, info, rect);
+
return false;
}
@@ -845,7 +832,10 @@ void RenderThemeEfl::adjustCheckboxStyle(StyleResolver* styleResolver, RenderSty
static_cast<RenderThemeEfl*>(element->document()->page()->theme())->adjustCheckboxStyle(styleResolver, style, element);
return;
}
+
adjustSizeConstraints(style, CheckBox);
+ ASSERT(m_edje);
+
style->resetBorder();
const struct ThemePartDesc *desc = m_partDescs + (size_t)CheckBox;
@@ -866,7 +856,10 @@ void RenderThemeEfl::adjustRadioStyle(StyleResolver* styleResolver, RenderStyle*
static_cast<RenderThemeEfl*>(element->document()->page()->theme())->adjustRadioStyle(styleResolver, style, element);
return;
}
+
adjustSizeConstraints(style, RadioButton);
+ ASSERT(m_edje);
+
style->resetBorder();
const struct ThemePartDesc *desc = m_partDescs + (size_t)RadioButton;
@@ -888,13 +881,9 @@ void RenderThemeEfl::adjustButtonStyle(StyleResolver* styleResolver, RenderStyle
return;
}
- adjustSizeConstraints(style, Button);
-
- if (style->appearance() == PushButtonPart) {
- style->resetBorder();
- style->setWhiteSpace(PRE);
- style->setHeight(Length(Auto));
- }
+ // adjustSizeConstrains can make SquareButtonPart's size wrong (by adjusting paddings), so call it only for PushButtonPart and ButtonPart
+ if (style->appearance() == PushButtonPart || style->appearance() == ButtonPart)
+ adjustSizeConstraints(style, Button);
}
bool RenderThemeEfl::paintButton(RenderObject* object, const PaintInfo& info, const IntRect& rect)
@@ -911,6 +900,8 @@ void RenderThemeEfl::adjustMenuListStyle(StyleResolver* styleResolver, RenderSty
adjustSizeConstraints(style, ComboBox);
style->resetBorder();
style->setWhiteSpace(PRE);
+
+ style->setLineHeight(RenderStyle::initialLineHeight());
}
bool RenderThemeEfl::paintMenuList(RenderObject* object, const PaintInfo& info, const IntRect& rect)
@@ -1056,7 +1047,7 @@ void RenderThemeEfl::systemFont(int propId, FontDescription& fontDescription) co
{
// It was called by RenderEmbeddedObject::paintReplaced to render alternative string.
// To avoid cairo_error while rendering, fontDescription should be passed.
- DEFINE_STATIC_LOCAL(String, fontFace, ("Sans"));
+ DEFINE_STATIC_LOCAL(String, fontFace, (ASCIILiteral("Sans")));
float fontSize = defaultFontSize;
fontDescription.firstFamily().setFamily(fontFace);
@@ -1095,12 +1086,13 @@ bool RenderThemeEfl::paintProgressBar(RenderObject* object, const PaintInfo& inf
#if ENABLE(VIDEO)
bool RenderThemeEfl::emitMediaButtonSignal(FormType formType, MediaControlElementType mediaElementType, const IntRect& rect)
{
+ loadThemeIfNeeded();
+ _ASSERT_ON_RELEASE_RETURN_VAL(m_edje, false, "Could not paint native HTML part due to missing theme.");
+
ThemePartCacheEntry* entry;
entry = cacheThemePartGet(formType, rect.size());
- ASSERT(entry);
- if (!entry)
- return false;
+ _ASSERT_ON_RELEASE_RETURN_VAL(entry, false, "Could not paint native HTML part due to missing theme part.");
if (mediaElementType == MediaPlayButton)
edje_object_signal_emit(entry->o, "play", "");
@@ -1116,6 +1108,12 @@ bool RenderThemeEfl::emitMediaButtonSignal(FormType formType, MediaControlElemen
edje_object_signal_emit(entry->o, "seekbackward", "");
else if (mediaElementType == MediaEnterFullscreenButton)
edje_object_signal_emit(entry->o, "fullscreen", "");
+#if ENABLE(VIDEO_TRACK)
+ else if (mediaElementType == MediaShowClosedCaptionsButton)
+ edje_object_signal_emit(entry->o, "show_captions", "");
+ else if (mediaElementType == MediaHideClosedCaptionsButton)
+ edje_object_signal_emit(entry->o, "hide_captions", "");
+#endif
else
return false;
@@ -1289,4 +1287,30 @@ bool RenderThemeEfl::paintMediaCurrentTime(RenderObject* object, const PaintInfo
return true;
}
#endif
+
+#if ENABLE(VIDEO_TRACK)
+bool RenderThemeEfl::supportsClosedCaptioning() const
+{
+ return true;
+}
+
+bool RenderThemeEfl::paintMediaToggleClosedCaptionsButton(RenderObject* object, const PaintInfo& info, const IntRect& rect)
+{
+ Node* mediaNode = object->node() ? object->node()->shadowHost() : 0;
+ if (!mediaNode)
+ mediaNode = object->node();
+ if (!mediaNode || (!mediaNode->hasTagName(videoTag)))
+ return false;
+
+ HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(mediaNode);
+ if (!emitMediaButtonSignal(ToggleCaptionsButton, mediaElement->webkitClosedCaptionsVisible() ? MediaShowClosedCaptionsButton : MediaHideClosedCaptionsButton, rect))
+ return false;
+
+ return paintThemePart(object, ToggleCaptionsButton, info, rect);
+}
+#endif
+
+#undef _ASSERT_ON_RELEASE_RETURN
+#undef _ASSERT_ON_RELEASE_RETURN_VAL
+
}
diff --git a/Source/WebCore/platform/efl/RenderThemeEfl.h b/Source/WebCore/platform/efl/RenderThemeEfl.h
index b97fdd3ad..c126f0a94 100644
--- a/Source/WebCore/platform/efl/RenderThemeEfl.h
+++ b/Source/WebCore/platform/efl/RenderThemeEfl.h
@@ -58,6 +58,8 @@ enum FormType { // KEEP IN SYNC WITH edjeGroupFromFormType()
SearchFieldCancelButton,
SliderVertical,
SliderHorizontal,
+ SliderThumbVertical,
+ SliderThumbHorizontal,
#if ENABLE(VIDEO)
PlayPauseButton,
MuteUnMuteButton,
@@ -65,13 +67,16 @@ enum FormType { // KEEP IN SYNC WITH edjeGroupFromFormType()
SeekBackwardButton,
FullScreenButton,
#endif
+#if ENABLE(VIDEO_TRACK)
+ ToggleCaptionsButton,
+#endif
Spinner,
FormTypeLast
};
class RenderThemeEfl : public RenderTheme {
private:
- RenderThemeEfl(Page*);
+ explicit RenderThemeEfl(Page*);
~RenderThemeEfl();
public:
@@ -94,18 +99,14 @@ public:
// controls that need to do this.
virtual LayoutUnit baselinePosition(const RenderObject*) const;
- virtual Color platformActiveSelectionBackgroundColor() const { return m_activeSelectionBackgroundColor; }
- virtual Color platformInactiveSelectionBackgroundColor() const { return m_inactiveSelectionBackgroundColor; }
- virtual Color platformActiveSelectionForegroundColor() const { return m_activeSelectionForegroundColor; }
- virtual Color platformInactiveSelectionForegroundColor() const { return m_inactiveSelectionForegroundColor; }
- virtual Color platformFocusRingColor() const { return m_focusRingColor; }
-
- virtual void themeChanged();
+ virtual Color platformActiveSelectionBackgroundColor() const;
+ virtual Color platformInactiveSelectionBackgroundColor() const;
+ virtual Color platformActiveSelectionForegroundColor() const;
+ virtual Color platformInactiveSelectionForegroundColor() const;
+ virtual Color platformFocusRingColor() const;
- // Set platform colors and notify they changed
- void setActiveSelectionColor(int foreR, int foreG, int foreB, int foreA, int backR, int backG, int backB, int backA);
- void setInactiveSelectionColor(int foreR, int foreG, int foreB, int foreA, int backR, int backG, int backB, int backA);
- void setFocusRingColor(int r, int g, int b, int a);
+ // Set platform colors; remember to call platformColorDidChange after.
+ void setColorFromThemeClass(const char* colorClass);
void setButtonTextColor(int foreR, int foreG, int foreB, int foreA, int backR, int backG, int backB, int backA);
void setComboTextColor(int foreR, int foreG, int foreB, int foreA, int backR, int backG, int backB, int backA);
@@ -114,7 +115,6 @@ public:
void adjustSizeConstraints(RenderStyle*, FormType) const;
-
// System fonts.
virtual void systemFont(int propId, FontDescription&) const;
@@ -203,17 +203,27 @@ public:
virtual bool paintMediaVolumeSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaCurrentTime(RenderObject*, const PaintInfo&, const IntRect&);
#endif
+#if ENABLE(VIDEO_TRACK)
+ virtual bool supportsClosedCaptioning() const OVERRIDE;
+ virtual bool paintMediaToggleClosedCaptionsButton(RenderObject*, const PaintInfo&, const IntRect&) OVERRIDE;
+#endif
+ virtual bool shouldShowPlaceholderWhenFocused() const OVERRIDE { return true; }
void setThemePath(const String&);
String themePath() { return m_themePath; }
+
protected:
static float defaultFontSize;
private:
- void createCanvas();
- void createEdje();
- void applyEdjeColors();
- void applyPartDescriptions();
+ bool loadTheme();
+ ALWAYS_INLINE bool loadThemeIfNeeded() const
+ {
+ return m_edje || const_cast<RenderThemeEfl*>(this)->loadTheme();
+ }
+
+ void applyPartDescriptionsFrom(Evas_Object*);
+
const char* edjeGroupFromFormType(FormType) const;
void applyEdjeStateFromForm(Evas_Object*, ControlStates);
bool paintThemePart(RenderObject*, FormType, const PaintInfo&, const IntRect&);
diff --git a/Source/WebCore/platform/efl/SoundEfl.cpp b/Source/WebCore/platform/efl/SoundEfl.cpp
index 091de7ac9..c3d83bc5c 100644
--- a/Source/WebCore/platform/efl/SoundEfl.cpp
+++ b/Source/WebCore/platform/efl/SoundEfl.cpp
@@ -39,7 +39,10 @@ namespace WebCore {
void systemBeep()
{
#ifdef HAVE_ECORE_X
- ecore_x_bell(0);
+ if (ecore_x_init(0)) {
+ ecore_x_bell(0);
+ ecore_x_shutdown();
+ }
#endif
}
diff --git a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp
index 78a0de410..5c528cfff 100644
--- a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp
+++ b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.cpp
@@ -32,12 +32,14 @@
namespace WebCore {
-ANGLEWebKitBridge::ANGLEWebKitBridge(ShShaderOutput shaderOutput) :
- builtCompilers(false),
- m_fragmentCompiler(0),
- m_vertexCompiler(0),
- m_shaderOutput(shaderOutput)
+ANGLEWebKitBridge::ANGLEWebKitBridge(ShShaderOutput shaderOutput, ShShaderSpec shaderSpec)
+ : builtCompilers(false)
+ , m_fragmentCompiler(0)
+ , m_vertexCompiler(0)
+ , m_shaderOutput(shaderOutput)
+ , m_shaderSpec(shaderSpec)
{
+ // This is a no-op if it's already initialized.
ShInitialize();
}
@@ -69,8 +71,8 @@ void ANGLEWebKitBridge::setResources(ShBuiltInResources resources)
bool ANGLEWebKitBridge::validateShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog, int extraCompileOptions)
{
if (!builtCompilers) {
- m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, SH_WEBGL_SPEC, m_shaderOutput, &m_resources);
- m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, SH_WEBGL_SPEC, m_shaderOutput, &m_resources);
+ m_fragmentCompiler = ShConstructCompiler(SH_FRAGMENT_SHADER, m_shaderSpec, m_shaderOutput, &m_resources);
+ m_vertexCompiler = ShConstructCompiler(SH_VERTEX_SHADER, m_shaderSpec, m_shaderOutput, &m_resources);
if (!m_fragmentCompiler || !m_vertexCompiler) {
cleanupCompilers();
return false;
diff --git a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
index 834dcc9aa..26f3012f7 100644
--- a/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
+++ b/Source/WebCore/platform/graphics/ANGLEWebKitBridge.h
@@ -26,12 +26,10 @@
#ifndef ANGLEWebKitBridge_h
#define ANGLEWebKitBridge_h
-#include "PlatformString.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
-#if PLATFORM(QT)
-#include "ANGLE/include/GLSLANG/ShaderLang.h"
-#elif !PLATFORM(GTK) && !PLATFORM(EFL) && !PLATFORM(BLACKBERRY)
+#if !PLATFORM(GTK) && !PLATFORM(EFL) && !PLATFORM(BLACKBERRY) && !PLATFORM(CHROMIUM) && !PLATFORM(QT)
#include "ANGLE/ShaderLang.h"
#else
#include "ShaderLang.h"
@@ -47,13 +45,13 @@ enum ANGLEShaderType {
class ANGLEWebKitBridge {
public:
- ANGLEWebKitBridge(ShShaderOutput = SH_GLSL_OUTPUT);
+ ANGLEWebKitBridge(ShShaderOutput = SH_GLSL_OUTPUT, ShShaderSpec = SH_WEBGL_SPEC);
~ANGLEWebKitBridge();
ShBuiltInResources getResources() { return m_resources; }
void setResources(ShBuiltInResources);
- bool validateShaderSource(const char* shaderSource, ANGLEShaderType shaderType, String& translatedShaderSource, String& shaderValidationLog, int extraCompileOptions);
+ bool validateShaderSource(const char* shaderSource, ANGLEShaderType, String& translatedShaderSource, String& shaderValidationLog, int extraCompileOptions = 0);
private:
@@ -65,6 +63,7 @@ private:
ShHandle m_vertexCompiler;
ShShaderOutput m_shaderOutput;
+ ShShaderSpec m_shaderSpec;
ShBuiltInResources m_resources;
};
diff --git a/Source/WebCore/platform/graphics/BitmapImage.cpp b/Source/WebCore/platform/graphics/BitmapImage.cpp
index e286a7c8b..448a28295 100644
--- a/Source/WebCore/platform/graphics/BitmapImage.cpp
+++ b/Source/WebCore/platform/graphics/BitmapImage.cpp
@@ -31,18 +31,14 @@
#include "ImageObserver.h"
#include "IntRect.h"
#include "MIMETypeRegistry.h"
-#include "PlatformString.h"
#include "Timer.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/CurrentTime.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
-static int frameBytes(const IntSize& frameSize)
-{
- return frameSize.width() * frameSize.height() * 4;
-}
-
BitmapImage::BitmapImage(ImageObserver* observer)
: Image(observer)
, m_currentFrame(0)
@@ -85,17 +81,18 @@ bool BitmapImage::hasSingleSecurityOrigin() const
void BitmapImage::destroyDecodedData(bool destroyAll)
{
- int framesCleared = 0;
+ unsigned frameBytesCleared = 0;
const size_t clearBeforeFrame = destroyAll ? m_frames.size() : m_currentFrame;
for (size_t i = 0; i < clearBeforeFrame; ++i) {
// The underlying frame isn't actually changing (we're just trying to
// save the memory for the framebuffer data), so we don't need to clear
// the metadata.
+ unsigned frameBytes = m_frames[i].m_frameBytes;
if (m_frames[i].clear(false))
- ++framesCleared;
+ frameBytesCleared += frameBytes;
}
- destroyMetadataAndNotify(framesCleared);
+ destroyMetadataAndNotify(frameBytesCleared);
m_source.clear(destroyAll, clearBeforeFrame, data(), m_allDataReceived);
return;
@@ -106,24 +103,28 @@ void BitmapImage::destroyDecodedDataIfNecessary(bool destroyAll)
// Animated images >5MB are considered large enough that we'll only hang on
// to one frame at a time.
static const unsigned cLargeAnimationCutoff = 5242880;
- if (m_frames.size() * frameBytes(m_size) > cLargeAnimationCutoff)
+ unsigned allFrameBytes = 0;
+ for (size_t i = 0; i < m_frames.size(); ++i)
+ allFrameBytes += m_frames[i].m_frameBytes;
+
+ if (allFrameBytes > cLargeAnimationCutoff)
destroyDecodedData(destroyAll);
}
-void BitmapImage::destroyMetadataAndNotify(int framesCleared)
+void BitmapImage::destroyMetadataAndNotify(unsigned frameBytesCleared)
{
m_isSolidColor = false;
m_checkedForSolidColor = false;
invalidatePlatformData();
- int deltaBytes = framesCleared * -frameBytes(m_size);
- m_decodedSize += deltaBytes;
- if (framesCleared > 0) {
- deltaBytes -= m_decodedPropertiesSize;
+ ASSERT(m_decodedSize >= frameBytesCleared);
+ m_decodedSize -= frameBytesCleared;
+ if (frameBytesCleared > 0) {
+ frameBytesCleared += m_decodedPropertiesSize;
m_decodedPropertiesSize = 0;
}
- if (deltaBytes && imageObserver())
- imageObserver()->decodedSizeChanged(this, deltaBytes);
+ if (frameBytesCleared && imageObserver())
+ imageObserver()->decodedSizeChanged(this, -safeCast<int>(frameBytesCleared));
}
void BitmapImage::cacheFrame(size_t index)
@@ -144,12 +145,13 @@ void BitmapImage::cacheFrame(size_t index)
if (repetitionCount(false) != cAnimationNone)
m_frames[index].m_duration = m_source.frameDurationAtIndex(index);
m_frames[index].m_hasAlpha = m_source.frameHasAlphaAtIndex(index);
+ m_frames[index].m_frameBytes = m_source.frameBytesAtIndex(index);
const IntSize frameSize(index ? m_source.frameSizeAtIndex(index) : m_size);
if (frameSize != m_size)
m_hasUniformFrameSize = false;
if (m_frames[index].m_frame) {
- int deltaBytes = frameBytes(frameSize);
+ int deltaBytes = safeCast<int>(m_frames[index].m_frameBytes);
m_decodedSize += deltaBytes;
// The fully-decoded frame will subsume the partially decoded data used
// to determine image properties.
@@ -236,15 +238,16 @@ bool BitmapImage::dataChanged(bool allDataReceived)
// start of the frame data), and any or none of them might be the particular
// frame affected by appending new data here. Thus we have to clear all the
// incomplete frames to be safe.
- int framesCleared = 0;
+ unsigned frameBytesCleared = 0;
for (size_t i = 0; i < m_frames.size(); ++i) {
// NOTE: Don't call frameIsCompleteAtIndex() here, that will try to
// decode any uncached (i.e. never-decoded or
// cleared-on-a-previous-pass) frames!
+ unsigned frameBytes = m_frames[i].m_frameBytes;
if (m_frames[i].m_haveMetadata && !m_frames[i].m_isComplete)
- framesCleared += (m_frames[i].clear(true) ? 1 : 0);
+ frameBytesCleared += (m_frames[i].clear(true) ? frameBytes : 0);
}
- destroyMetadataAndNotify(framesCleared);
+ destroyMetadataAndNotify(frameBytesCleared);
// Feed all the data we've seen so far to the image decoder.
m_allDataReceived = allDataReceived;
@@ -569,4 +572,20 @@ Color BitmapImage::solidColor() const
return m_solidColor;
}
+void BitmapImage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceImage);
+ Image::reportMemoryUsage(memoryObjectInfo);
+ info.addMember(m_source);
+ info.addMember(m_frameTimer);
+ info.addVector(m_frames);
+ for (unsigned i = 0; i < m_frameCount; ++i) {
+#if OS(WINCE)
+ info.addRawBuffer(m_frames[i].m_frame.get(), m_frames[i].m_frameBytes);
+#else
+ info.addRawBuffer(m_frames[i].m_frame, m_frames[i].m_frameBytes);
+#endif
+ }
+}
+
}
diff --git a/Source/WebCore/platform/graphics/BitmapImage.h b/Source/WebCore/platform/graphics/BitmapImage.h
index 693d41f6d..10b372948 100644
--- a/Source/WebCore/platform/graphics/BitmapImage.h
+++ b/Source/WebCore/platform/graphics/BitmapImage.h
@@ -75,6 +75,7 @@ public:
, m_haveMetadata(false)
, m_isComplete(false)
, m_hasAlpha(true)
+ , m_frameBytes(0)
{
}
@@ -86,6 +87,7 @@ public:
// Clear the cached image data on the frame, and (optionally) the metadata.
// Returns whether there was cached image data to clear.
bool clear(bool clearMetadata);
+ void reportMemoryUsage(MemoryObjectInfo*) const;
NativeImagePtr m_frame;
ImageOrientation m_orientation;
@@ -93,6 +95,7 @@ public:
bool m_haveMetadata : 1;
bool m_isComplete : 1;
bool m_hasAlpha : 1;
+ unsigned m_frameBytes;
};
// =================================================
@@ -178,6 +181,8 @@ public:
virtual bool notSolidColor();
#endif
+ void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
private:
void updateSize() const;
@@ -234,8 +239,8 @@ protected:
// Generally called by destroyDecodedData(), destroys whole-image metadata
// and notifies observers that the memory footprint has (hopefully)
- // decreased by |framesCleared| times the size (in bytes) of a frame.
- void destroyMetadataAndNotify(int framesCleared);
+ // decreased by |frameBytesCleared|.
+ void destroyMetadataAndNotify(unsigned frameBytesCleared);
// Whether or not size is available yet.
bool isSizeAvailable();
diff --git a/Source/WebCore/platform/graphics/Color.cpp b/Source/WebCore/platform/graphics/Color.cpp
index a90fcd4e0..6df62096a 100644
--- a/Source/WebCore/platform/graphics/Color.cpp
+++ b/Source/WebCore/platform/graphics/Color.cpp
@@ -125,7 +125,8 @@ RGBA32 makeRGBAFromCMYKA(float c, float m, float y, float k, float a)
}
// originally moved here from the CSS parser
-bool Color::parseHexColor(const UChar* name, unsigned length, RGBA32& rgb)
+template <typename CharacterType>
+static inline bool parseHexColorInternal(const CharacterType* name, unsigned length, RGBA32& rgb)
{
if (length != 3 && length != 6)
return false;
@@ -148,8 +149,24 @@ bool Color::parseHexColor(const UChar* name, unsigned length, RGBA32& rgb)
return true;
}
+bool Color::parseHexColor(const LChar* name, unsigned length, RGBA32& rgb)
+{
+ return parseHexColorInternal(name, length, rgb);
+}
+
+bool Color::parseHexColor(const UChar* name, unsigned length, RGBA32& rgb)
+{
+ return parseHexColorInternal(name, length, rgb);
+}
+
bool Color::parseHexColor(const String& name, RGBA32& rgb)
{
+ unsigned length = name.length();
+
+ if (!length)
+ return false;
+ if (name.is8Bit())
+ return parseHexColor(name.characters8(), name.length(), rgb);
return parseHexColor(name.characters(), name.length(), rgb);
}
@@ -163,9 +180,12 @@ int differenceSquared(const Color& c1, const Color& c2)
Color::Color(const String& name)
{
- if (name[0] == '#')
- m_valid = parseHexColor(name.characters() + 1, name.length() - 1, m_color);
- else
+ if (name[0] == '#') {
+ if (name.is8Bit())
+ m_valid = parseHexColor(name.characters8() + 1, name.length() - 1, m_color);
+ else
+ m_valid = parseHexColor(name.characters() + 1, name.length() - 1, m_color);
+ } else
setNamedColor(name);
}
diff --git a/Source/WebCore/platform/graphics/Color.h b/Source/WebCore/platform/graphics/Color.h
index 41dc0a4ae..a2e48daa6 100644
--- a/Source/WebCore/platform/graphics/Color.h
+++ b/Source/WebCore/platform/graphics/Color.h
@@ -156,8 +156,9 @@ public:
Color(CGColorRef);
#endif
- static bool parseHexColor(const String& name, RGBA32& rgb);
- static bool parseHexColor(const UChar* name, unsigned length, RGBA32& rgb);
+ static bool parseHexColor(const String&, RGBA32&);
+ static bool parseHexColor(const LChar*, unsigned, RGBA32&);
+ static bool parseHexColor(const UChar*, unsigned, RGBA32&);
static const RGBA32 black = 0xFF000000;
static const RGBA32 white = 0xFFFFFFFF;
diff --git a/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp b/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp
index 708dcd065..178e4246b 100644
--- a/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp
+++ b/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp
@@ -29,6 +29,7 @@
#include "FloatRect.h"
#include "GraphicsContext.h"
#include "ImageBuffer.h"
+#include "WebCoreMemoryInstrumentation.h"
using namespace std;
@@ -107,4 +108,12 @@ void CrossfadeGeneratedImage::drawPattern(GraphicsContext* context, const FloatR
imageBuffer->drawPattern(context, srcRect, patternTransform, phase, styleColorSpace, compositeOp, dstRect);
}
+void CrossfadeGeneratedImage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ GeneratedImage::reportMemoryUsage(memoryObjectInfo);
+ info.addInstrumentedMember(m_fromImage);
+ info.addInstrumentedMember(m_toImage);
+}
+
}
diff --git a/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h b/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h
index eb06b6d8b..b73a2391a 100644
--- a/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h
+++ b/Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h
@@ -35,6 +35,7 @@
namespace WebCore {
class CSSCrossfadeValue;
+class MemoryObjectInfo;
class CrossfadeGeneratedImage : public GeneratedImage {
public:
@@ -50,6 +51,8 @@ public:
virtual IntSize size() const { return m_crossfadeSize; }
+ void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
protected:
virtual void draw(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator);
virtual void drawPattern(GraphicsContext*, const FloatRect& srcRect, const AffineTransform& patternTransform, const FloatPoint& phase, ColorSpace styleColorSpace, CompositeOperator, const FloatRect& dstRect);
diff --git a/Source/WebCore/platform/graphics/Font.cpp b/Source/WebCore/platform/graphics/Font.cpp
index db07f0a98..714fa9a84 100644
--- a/Source/WebCore/platform/graphics/Font.cpp
+++ b/Source/WebCore/platform/graphics/Font.cpp
@@ -39,6 +39,16 @@
using namespace WTF;
using namespace Unicode;
+namespace WTF {
+
+// allow compilation of OwnPtr<TextLayout> in source files that don't have access to the TextLayout class definition
+template <> void deleteOwnedPtr<WebCore::TextLayout>(WebCore::TextLayout* ptr)
+{
+ WebCore::Font::deleteLayout(ptr);
+}
+
+}
+
namespace WebCore {
const uint8_t Font::s_roundingHackCharacterTable[256] = {
@@ -197,6 +207,25 @@ float Font::width(const TextRun& run, int& charsConsumed, String& glyphName) con
return floatWidthForComplexText(run);
}
+#if !(PLATFORM(MAC) || (PLATFORM(CHROMIUM) && OS(DARWIN)))
+
+PassOwnPtr<TextLayout> Font::createLayout(RenderText*, float, bool) const
+{
+ return nullptr;
+}
+
+void Font::deleteLayout(TextLayout*)
+{
+}
+
+float Font::width(TextLayout&, unsigned, unsigned)
+{
+ ASSERT_NOT_REACHED();
+ return 0;
+}
+
+#endif
+
FloatRect Font::selectionRectForText(const TextRun& run, const FloatPoint& point, int h, int from, int to) const
{
to = (to == -1 ? run.length() : to);
@@ -215,17 +244,28 @@ int Font::offsetForPosition(const TextRun& run, float x, bool includePartialGlyp
return offsetForPositionForComplexText(run, x, includePartialGlyphs);
}
-String Font::normalizeSpaces(const UChar* characters, unsigned length)
+template <typename CharacterType>
+static inline String normalizeSpacesInternal(const CharacterType* characters, unsigned length)
{
StringBuilder normalized;
normalized.reserveCapacity(length);
for (unsigned i = 0; i < length; ++i)
- normalized.append(normalizeSpaces(characters[i]));
+ normalized.append(Font::normalizeSpaces(characters[i]));
return normalized.toString();
}
+String Font::normalizeSpaces(const LChar* characters, unsigned length)
+{
+ return normalizeSpacesInternal(characters, length);
+}
+
+String Font::normalizeSpaces(const UChar* characters, unsigned length)
+{
+ return normalizeSpacesInternal(characters, length);
+}
+
static bool shouldUseFontSmoothing = true;
void Font::setShouldUseSmoothing(bool shouldUseSmoothing)
@@ -268,8 +308,11 @@ Font::CodePath Font::codePath(const TextRun& run) const
if (!run.characterScanForCodePath())
return Simple;
+ if (run.is8Bit())
+ return Simple;
+
// Start from 0 since drawing and highlighting also measure the characters before run->from.
- return characterRangeCodePath(run.characters(), run.length());
+ return characterRangeCodePath(run.characters16(), run.length());
}
Font::CodePath Font::characterRangeCodePath(const UChar* characters, unsigned len)
@@ -528,6 +571,29 @@ bool Font::isCJKIdeographOrSymbol(UChar32 c)
return isCJKIdeograph(c);
}
+unsigned Font::expansionOpportunityCount(const LChar* characters, size_t length, TextDirection direction, bool& isAfterExpansion)
+{
+ unsigned count = 0;
+ if (direction == LTR) {
+ for (size_t i = 0; i < length; ++i) {
+ if (treatAsSpace(characters[i])) {
+ count++;
+ isAfterExpansion = true;
+ } else
+ isAfterExpansion = false;
+ }
+ } else {
+ for (size_t i = length; i > 0; --i) {
+ if (treatAsSpace(characters[i - 1])) {
+ count++;
+ isAfterExpansion = true;
+ } else
+ isAfterExpansion = false;
+ }
+ }
+ return count;
+}
+
unsigned Font::expansionOpportunityCount(const UChar* characters, size_t length, TextDirection direction, bool& isAfterExpansion)
{
static bool expandAroundIdeographs = canExpandAroundIdeographsInComplexText();
diff --git a/Source/WebCore/platform/graphics/Font.h b/Source/WebCore/platform/graphics/Font.h
index 5e38a9633..a259dab07 100644
--- a/Source/WebCore/platform/graphics/Font.h
+++ b/Source/WebCore/platform/graphics/Font.h
@@ -53,6 +53,8 @@ class FontSelector;
class GlyphBuffer;
class GlyphPageTreeNode;
class GraphicsContext;
+class RenderText;
+class TextLayout;
class TextRun;
struct GlyphData;
@@ -102,6 +104,10 @@ public:
float width(const TextRun&, HashSet<const SimpleFontData*>* fallbackFonts = 0, GlyphOverflow* = 0) const;
float width(const TextRun&, int& charsConsumed, String& glyphName) const;
+ PassOwnPtr<TextLayout> createLayout(RenderText*, float xPos, bool collapseWhiteSpace) const;
+ static void deleteLayout(TextLayout*);
+ static float width(TextLayout&, unsigned from, unsigned len);
+
int offsetForPosition(const TextRun&, float position, bool includePartialGlyphs) const;
FloatRect selectionRectForText(const TextRun&, const FloatPoint&, int h, int from = 0, int to = -1) const;
@@ -177,6 +183,7 @@ public:
static bool isCJKIdeograph(UChar32);
static bool isCJKIdeographOrSymbol(UChar32);
+ static unsigned expansionOpportunityCount(const LChar*, size_t length, TextDirection, bool& isAfterExpansion);
static unsigned expansionOpportunityCount(const UChar*, size_t length, TextDirection, bool& isAfterExpansion);
#if PLATFORM(QT)
@@ -189,6 +196,7 @@ public:
enum CodePath { Auto, Simple, Complex, SimpleWithGlyphOverflow };
CodePath codePath(const TextRun&) const;
+ static CodePath characterRangeCodePath(const LChar*, unsigned) { return Simple; }
static CodePath characterRangeCodePath(const UChar*, unsigned len);
private:
@@ -250,6 +258,7 @@ public:
return character;
}
+ static String normalizeSpaces(const LChar*, unsigned length);
static String normalizeSpaces(const UChar*, unsigned length);
bool needsTranscoding() const { return m_needsTranscoding; }
@@ -310,4 +319,10 @@ inline float Font::tabWidth(const SimpleFontData& fontData, unsigned tabSize, fl
}
+namespace WTF {
+
+template <> void deleteOwnedPtr<WebCore::TextLayout>(WebCore::TextLayout*);
+
+}
+
#endif
diff --git a/Source/WebCore/platform/graphics/FontCache.h b/Source/WebCore/platform/graphics/FontCache.h
index 858db21e8..0e28ef851 100644
--- a/Source/WebCore/platform/graphics/FontCache.h
+++ b/Source/WebCore/platform/graphics/FontCache.h
@@ -41,8 +41,7 @@
#include <mlang.h>
#endif
-namespace WebCore
-{
+namespace WebCore {
class Font;
class FontPlatformData;
@@ -106,7 +105,11 @@ public:
#endif
#if ENABLE(OPENTYPE_VERTICAL)
+#if USE(SKIA)
+ typedef uint32_t FontFileKey;
+#else
typedef AtomicString FontFileKey;
+#endif
OpenTypeVerticalData* getVerticalData(const FontFileKey&, const FontPlatformData&);
#endif
diff --git a/Source/WebCore/platform/graphics/FontPlatformData.cpp b/Source/WebCore/platform/graphics/FontPlatformData.cpp
index 22cf99ff0..e2dc5f371 100644
--- a/Source/WebCore/platform/graphics/FontPlatformData.cpp
+++ b/Source/WebCore/platform/graphics/FontPlatformData.cpp
@@ -21,11 +21,11 @@
#include "config.h"
#include "FontPlatformData.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(CHROMIUM) && OS(DARWIN)
#include "HarfBuzzNGFace.h"
diff --git a/Source/WebCore/platform/graphics/FontPlatformData.h b/Source/WebCore/platform/graphics/FontPlatformData.h
index 984f58c14..f7af70617 100644
--- a/Source/WebCore/platform/graphics/FontPlatformData.h
+++ b/Source/WebCore/platform/graphics/FontPlatformData.h
@@ -42,7 +42,6 @@
#include "FontOrientation.h"
#include "FontWidthVariant.h"
-#include "GlyphBuffer.h"
#include "TextOrientation.h"
#if PLATFORM(WIN)
diff --git a/Source/WebCore/platform/graphics/FractionalLayoutRect.h b/Source/WebCore/platform/graphics/FractionalLayoutRect.h
index a06d17508..449100da1 100644
--- a/Source/WebCore/platform/graphics/FractionalLayoutRect.h
+++ b/Source/WebCore/platform/graphics/FractionalLayoutRect.h
@@ -165,7 +165,11 @@ public:
FractionalLayoutRect transposedRect() const { return FractionalLayoutRect(m_location.transposedPoint(), m_size.transposedSize()); }
- static FractionalLayoutRect infiniteRect() {return FractionalLayoutRect(FractionalLayoutUnit::min() / 2, FractionalLayoutUnit::min() / 2, FractionalLayoutUnit::max(), FractionalLayoutUnit::max()); }
+ static FractionalLayoutRect infiniteRect()
+ {
+ // Return a rect that is slightly smaller than the true max rect to allow pixelSnapping to round up to the nearest IntRect without overflowing.
+ return FractionalLayoutRect(FractionalLayoutUnit::nearlyMin() / 2, FractionalLayoutUnit::nearlyMin() / 2, FractionalLayoutUnit::nearlyMax(), FractionalLayoutUnit::nearlyMax());
+ }
#if PLATFORM(QT)
explicit FractionalLayoutRect(const QRect&);
@@ -207,9 +211,9 @@ inline bool operator!=(const FractionalLayoutRect& a, const FractionalLayoutRect
inline IntRect pixelSnappedIntRect(const FractionalLayoutRect& rect)
{
#if ENABLE(SUBPIXEL_LAYOUT)
- IntPoint roundedLocation = roundedIntPoint(rect.location());
- return IntRect(roundedLocation, IntSize((rect.x() + rect.width()).round() - roundedLocation.x(),
- (rect.y() + rect.height()).round() - roundedLocation.y()));
+ return IntRect(roundedIntPoint(rect.location()), IntSize(snapSizeToPixel(rect.width(), rect.x()),
+ snapSizeToPixel(rect.height(), rect.y())));
+
#else
return IntRect(rect);
#endif
diff --git a/Source/WebCore/platform/graphics/GeneratedImage.cpp b/Source/WebCore/platform/graphics/GeneratedImage.cpp
index 5e06dfd34..2d504a31e 100644
--- a/Source/WebCore/platform/graphics/GeneratedImage.cpp
+++ b/Source/WebCore/platform/graphics/GeneratedImage.cpp
@@ -1,70 +1,41 @@
/*
- * Copyright (C) 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2012 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.
+ * modification, are permitted provided that the following conditions are
+ * met:
*
- * 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.
+ * * 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 "GeneratedImage.h"
-#include "FloatRect.h"
-#include "GraphicsContext.h"
-#include "ImageBuffer.h"
-#include "Length.h"
-
-namespace WebCore {
-
-void GeneratedImage::draw(GraphicsContext* context, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace, CompositeOperator compositeOp)
-{
- GraphicsContextStateSaver stateSaver(*context);
- context->setCompositeOperation(compositeOp);
- context->clip(dstRect);
- context->translate(dstRect.x(), dstRect.y());
- if (dstRect.size() != srcRect.size())
- context->scale(FloatSize(dstRect.width() / srcRect.width(), dstRect.height() / srcRect.height()));
- context->translate(-srcRect.x(), -srcRect.y());
- context->fillRect(FloatRect(FloatPoint(), m_size), *m_generator.get());
-}
-
-void GeneratedImage::drawPattern(GraphicsContext* context, const FloatRect& srcRect, const AffineTransform& patternTransform,
- const FloatPoint& phase, ColorSpace styleColorSpace, CompositeOperator compositeOp, const FloatRect& destRect)
-{
- // Allow the generator to provide visually-equivalent tiling parameters for better performance.
- IntSize adjustedSize = m_size;
- FloatRect adjustedSrcRect = srcRect;
- m_generator->adjustParametersForTiledDrawing(adjustedSize, adjustedSrcRect);
-
- // Create a BitmapImage and call drawPattern on it.
- OwnPtr<ImageBuffer> imageBuffer = ImageBuffer::create(adjustedSize);
- if (!imageBuffer)
- return;
+#include "FloatSize.h"
+#include "WebCoreMemoryInstrumentation.h"
- // Fill with the gradient.
- GraphicsContext* graphicsContext = imageBuffer->context();
- graphicsContext->fillRect(FloatRect(FloatPoint(), adjustedSize), *m_generator.get());
- // Tile the image buffer into the context.
- imageBuffer->drawPattern(context, adjustedSrcRect, patternTransform, phase, styleColorSpace, compositeOp, destRect);
-}
+namespace WebCore {
void GeneratedImage::computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio)
{
@@ -72,4 +43,10 @@ void GeneratedImage::computeIntrinsicDimensions(Length& intrinsicWidth, Length&
intrinsicRatio = FloatSize();
}
+void GeneratedImage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceImage);
+ Image::reportMemoryUsage(memoryObjectInfo);
+}
+
}
diff --git a/Source/WebCore/platform/graphics/GeneratedImage.h b/Source/WebCore/platform/graphics/GeneratedImage.h
index bec343c21..d294af77d 100644
--- a/Source/WebCore/platform/graphics/GeneratedImage.h
+++ b/Source/WebCore/platform/graphics/GeneratedImage.h
@@ -50,6 +50,8 @@ public:
virtual void destroyDecodedData(bool /*destroyAll*/ = true) { }
virtual unsigned decodedSize() const { return 0; }
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
protected:
virtual void draw(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator) = 0;
virtual void drawPattern(GraphicsContext*, const FloatRect& srcRect, const AffineTransform& patternTransform,
diff --git a/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp b/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp
index c98603a41..0431cb916 100644
--- a/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp
+++ b/Source/WebCore/platform/graphics/GeneratorGeneratedImage.cpp
@@ -79,16 +79,19 @@ void GeneratorGeneratedImage::drawPattern(GraphicsContext* destContext, const Fl
m_cacheTimer.restart();
}
-void GeneratedImage::computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsicHeight, FloatSize& intrinsicRatio)
-{
- Image::computeIntrinsicDimensions(intrinsicWidth, intrinsicHeight, intrinsicRatio);
- intrinsicRatio = FloatSize();
-}
-
void GeneratorGeneratedImage::invalidateCacheTimerFired(DeferrableOneShotTimer<GeneratorGeneratedImage>*)
{
m_cachedImageBuffer.clear();
m_cachedAdjustedSize = IntSize();
}
+void GeneratorGeneratedImage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ GeneratedImage::reportMemoryUsage(memoryObjectInfo);
+ info.addMember(m_generator);
+ info.addMember(m_cachedImageBuffer);
+ info.addMember(m_cacheTimer);
+}
+
}
diff --git a/Source/WebCore/platform/graphics/GeneratorGeneratedImage.h b/Source/WebCore/platform/graphics/GeneratorGeneratedImage.h
index 071c2c07b..96a315d85 100644
--- a/Source/WebCore/platform/graphics/GeneratorGeneratedImage.h
+++ b/Source/WebCore/platform/graphics/GeneratorGeneratedImage.h
@@ -32,6 +32,7 @@
#include "ImageBuffer.h"
#include "IntSize.h"
#include "Timer.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/RefPtr.h>
namespace WebCore {
@@ -50,6 +51,8 @@ public:
m_cacheTimer.stop();
}
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
protected:
virtual void draw(GraphicsContext*, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator);
virtual void drawPattern(GraphicsContext*, const FloatRect& srcRect, const AffineTransform& patternTransform,
diff --git a/Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp b/Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp
index 87e93fd98..770ce122d 100644
--- a/Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp
+++ b/Source/WebCore/platform/graphics/GlyphPageTreeNode.cpp
@@ -29,11 +29,12 @@
#include "config.h"
#include "GlyphPageTreeNode.h"
-#include "PlatformString.h"
+#include "OpenTypeVerticalData.h"
#include "SegmentedFontData.h"
#include "SimpleFontData.h"
#include <stdio.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/CharacterNames.h>
#include <wtf/unicode/Unicode.h>
@@ -130,7 +131,12 @@ static bool fill(GlyphPage* pageToFill, unsigned offset, unsigned length, UChar*
if (SimpleFontData::AdditionalFontData* additionalFontData = fontData->fontData())
return additionalFontData->fillSVGGlyphPage(pageToFill, offset, length, buffer, bufferLength, fontData);
#endif
- return pageToFill->fill(offset, length, buffer, bufferLength, fontData);
+ bool hasGlyphs = pageToFill->fill(offset, length, buffer, bufferLength, fontData);
+#if ENABLE(OPENTYPE_VERTICAL)
+ if (hasGlyphs && fontData->verticalData())
+ fontData->verticalData()->substituteWithVerticalGlyphs(fontData, pageToFill, offset, length);
+#endif
+ return hasGlyphs;
}
void GlyphPageTreeNode::initializePage(const FontData* fontData, unsigned pageNumber)
diff --git a/Source/WebCore/platform/graphics/GraphicsContext.cpp b/Source/WebCore/platform/graphics/GraphicsContext.cpp
index b0ee15668..3a1bdcd3e 100644
--- a/Source/WebCore/platform/graphics/GraphicsContext.cpp
+++ b/Source/WebCore/platform/graphics/GraphicsContext.cpp
@@ -413,8 +413,7 @@ void GraphicsContext::drawBidiText(const Font& font, const TextRun& run, const F
FloatPoint currPoint = point;
BidiCharacterRun* bidiRun = bidiRuns.firstRun();
while (bidiRun) {
- TextRun subrun = run;
- subrun.setText(run.data(bidiRun->start()), bidiRun->stop() - bidiRun->start());
+ TextRun subrun = run.subRun(bidiRun->start(), bidiRun->stop() - bidiRun->start());
bool isRTL = bidiRun->level() % 2;
subrun.setDirection(isRTL ? RTL : LTR);
subrun.setDirectionalOverride(bidiRun->dirOverride(false));
diff --git a/Source/WebCore/platform/graphics/GraphicsContext3D.h b/Source/WebCore/platform/graphics/GraphicsContext3D.h
index f5e6f1f2f..42076ff78 100644
--- a/Source/WebCore/platform/graphics/GraphicsContext3D.h
+++ b/Source/WebCore/platform/graphics/GraphicsContext3D.h
@@ -29,11 +29,11 @@
#include "IntRect.h"
#include "GraphicsLayer.h"
#include "GraphicsTypes3D.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/ListHashSet.h>
#include <wtf/Noncopyable.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
// FIXME: Find a better way to avoid the name confliction for NO_ERROR.
#if ((PLATFORM(CHROMIUM) && OS(WINDOWS)) || PLATFORM(WIN) || (PLATFORM(QT) && OS(WINDOWS)))
@@ -250,6 +250,7 @@ public:
ALPHA = 0x1906,
RGB = 0x1907,
RGBA = 0x1908,
+ BGRA = 0x80E1,
LUMINANCE = 0x1909,
LUMINANCE_ALPHA = 0x190A,
UNSIGNED_SHORT_4_4_4_4 = 0x8033,
@@ -458,7 +459,8 @@ public:
enum RenderStyle {
RenderOffscreen,
- RenderDirectlyToHostWindow
+ RenderDirectlyToHostWindow,
+ RenderToCurrentGLContext
};
class ContextLostCallback {
@@ -477,6 +479,7 @@ public:
void setErrorMessageCallback(PassOwnPtr<ErrorMessageCallback>);
static PassRefPtr<GraphicsContext3D> create(Attributes, HostWindow*, RenderStyle = RenderOffscreen);
+ static PassRefPtr<GraphicsContext3D> createForCurrentGLContext();
~GraphicsContext3D();
#if PLATFORM(MAC)
@@ -524,6 +527,9 @@ public:
void prepareTexture();
#endif
+ // Equivalent to ::glTexImage2D(). Allows pixels==0 with no allocation.
+ void texImage2DDirect(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels);
+
// Helper to texImage2D with pixel==0 case: pixels are initialized to 0.
// Return true if no GL error is synthesized.
// By default, alignment is 4, the OpenGL default setting.
@@ -867,7 +873,7 @@ public:
static unsigned getChannelBitsByFormat(GC3Denum);
private:
- GraphicsContext3D(Attributes attrs, HostWindow* hostWindow, bool renderDirectlyToHostWindow);
+ GraphicsContext3D(Attributes, HostWindow*, RenderStyle = RenderOffscreen);
// Each platform must provide an implementation of this method.
//
@@ -982,6 +988,7 @@ public:
friend class Extensions3DOpenGLCommon;
Attributes m_attrs;
+ RenderStyle m_renderStyle;
Vector<Vector<float> > m_vertexArray;
GC3Duint m_texture;
diff --git a/Source/WebCore/platform/graphics/GraphicsLayer.cpp b/Source/WebCore/platform/graphics/GraphicsLayer.cpp
index 4c359d245..2ae3fe787 100644
--- a/Source/WebCore/platform/graphics/GraphicsLayer.cpp
+++ b/Source/WebCore/platform/graphics/GraphicsLayer.cpp
@@ -31,10 +31,11 @@
#include "FloatPoint.h"
#include "GraphicsContext.h"
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include "RotateTransformOperation.h"
#include "TextStream.h"
#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/WTFString.h>
#ifndef NDEBUG
@@ -80,7 +81,7 @@ GraphicsLayer::GraphicsLayer(GraphicsLayerClient* client)
, m_maintainsPixelAlignment(false)
, m_appliesPageScale(false)
, m_usingTileCache(false)
- , m_paintingPhase(GraphicsLayerPaintAll)
+ , m_paintingPhase(GraphicsLayerPaintAllWithOverflowClip)
, m_contentsOrientation(CompositingCoordinatesTopDown)
, m_parent(0)
, m_maskLayer(0)
@@ -323,10 +324,11 @@ void GraphicsLayer::paintGraphicsLayerContents(GraphicsContext& context, const I
String GraphicsLayer::animationNameForTransition(AnimatedPropertyID property)
{
// | is not a valid identifier character in CSS, so this can never conflict with a keyframe identifier.
- String id = "-|transition";
+ StringBuilder id;
+ id.appendLiteral("-|transition");
id.append(static_cast<char>(property));
id.append('-');
- return id;
+ return id.toString();
}
void GraphicsLayer::suspendAnimations(double)
diff --git a/Source/WebCore/platform/graphics/GraphicsLayer.h b/Source/WebCore/platform/graphics/GraphicsLayer.h
index 1556ce845..4233bc7f7 100644
--- a/Source/WebCore/platform/graphics/GraphicsLayer.h
+++ b/Source/WebCore/platform/graphics/GraphicsLayer.h
@@ -368,8 +368,8 @@ public:
virtual void setMaintainsPixelAlignment(bool maintainsAlignment) { m_maintainsPixelAlignment = maintainsAlignment; }
virtual bool maintainsPixelAlignment() const { return m_maintainsPixelAlignment; }
- void setAppliesPageScale(bool appliesScale = true) { m_appliesPageScale = appliesScale; }
- bool appliesPageScale() const { return m_appliesPageScale; }
+ virtual void setAppliesPageScale(bool appliesScale = true) { m_appliesPageScale = appliesScale; }
+ virtual bool appliesPageScale() const { return m_appliesPageScale; }
float pageScaleFactor() const { return m_client ? m_client->pageScaleFactor() : 1; }
float deviceScaleFactor() const { return m_client ? m_client->deviceScaleFactor() : 1; }
@@ -501,4 +501,3 @@ void showGraphicsLayerTree(const WebCore::GraphicsLayer* layer);
#endif // USE(ACCELERATED_COMPOSITING)
#endif // GraphicsLayer_h
-
diff --git a/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp b/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp
index e0813dfec..3aa25ac40 100644
--- a/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp
+++ b/Source/WebCore/platform/graphics/GraphicsLayerAnimation.cpp
@@ -37,7 +37,7 @@ static bool shouldReverseAnimationValue(Animation::AnimationDirection direction,
return false;
}
-static double normalizedAnimationValue(double runningTime, double duration, Animation::AnimationDirection direction)
+static double normalizedAnimationValue(double runningTime, double duration, Animation::AnimationDirection direction, double iterationCount)
{
if (!duration)
return 0;
@@ -45,7 +45,8 @@ static double normalizedAnimationValue(double runningTime, double duration, Anim
const int loopCount = runningTime / duration;
const double lastFullLoop = duration * double(loopCount);
const double remainder = runningTime - lastFullLoop;
- const double normalized = remainder / duration;
+ // Ignore remainder when we've reached the end of animation.
+ const double normalized = (loopCount == iterationCount) ? 1.0 : (remainder / duration);
return shouldReverseAnimationValue(direction, loopCount) ? 1 - normalized : normalized;
}
@@ -214,7 +215,7 @@ void GraphicsLayerAnimation::apply(Client* client)
return;
double totalRunningTime = m_state == PausedState ? m_pauseTime : WTF::currentTime() - m_startTime;
- double normalizedValue = normalizedAnimationValue(totalRunningTime, m_animation->duration(), m_animation->direction());
+ double normalizedValue = normalizedAnimationValue(totalRunningTime, m_animation->duration(), m_animation->direction(), m_animation->iterationCount());
if (m_animation->iterationCount() != Animation::IterationCountInfinite && totalRunningTime >= m_animation->duration() * m_animation->iterationCount()) {
setState(StoppedState);
diff --git a/Source/WebCore/platform/graphics/GraphicsLayerClient.h b/Source/WebCore/platform/graphics/GraphicsLayerClient.h
index 902a2573d..10b116d9d 100644
--- a/Source/WebCore/platform/graphics/GraphicsLayerClient.h
+++ b/Source/WebCore/platform/graphics/GraphicsLayerClient.h
@@ -36,12 +36,14 @@ class IntPoint;
class IntRect;
class FloatPoint;
-enum GraphicsLayerPaintingPhase {
+enum GraphicsLayerPaintingPhaseFlags {
GraphicsLayerPaintBackground = (1 << 0),
GraphicsLayerPaintForeground = (1 << 1),
GraphicsLayerPaintMask = (1 << 2),
- GraphicsLayerPaintAll = (GraphicsLayerPaintBackground | GraphicsLayerPaintForeground | GraphicsLayerPaintMask)
+ GraphicsLayerPaintOverflowContents = (1 << 3),
+ GraphicsLayerPaintAllWithOverflowClip = (GraphicsLayerPaintBackground | GraphicsLayerPaintForeground | GraphicsLayerPaintMask)
};
+typedef unsigned GraphicsLayerPaintingPhase;
enum AnimatedPropertyID {
AnimatedPropertyInvalid,
diff --git a/Source/WebCore/platform/graphics/GraphicsTypes.cpp b/Source/WebCore/platform/graphics/GraphicsTypes.cpp
index b53c37361..f617cc5ea 100644
--- a/Source/WebCore/platform/graphics/GraphicsTypes.cpp
+++ b/Source/WebCore/platform/graphics/GraphicsTypes.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "GraphicsTypes.h"
-#include "PlatformString.h"
#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/Image.cpp b/Source/WebCore/platform/graphics/Image.cpp
index 655b6d14f..8e743ba27 100644
--- a/Source/WebCore/platform/graphics/Image.cpp
+++ b/Source/WebCore/platform/graphics/Image.cpp
@@ -30,10 +30,12 @@
#include "AffineTransform.h"
#include "BitmapImage.h"
#include "GraphicsContext.h"
+#include "ImageObserver.h"
#include "IntRect.h"
#include "Length.h"
#include "MIMETypeRegistry.h"
#include "SharedBuffer.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <math.h>
#include <wtf/MainThread.h>
#include <wtf/StdLibExtras.h>
@@ -196,4 +198,11 @@ void Image::computeIntrinsicDimensions(Length& intrinsicWidth, Length& intrinsic
intrinsicHeight = Length(intrinsicRatio.height(), Fixed);
}
+void Image::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceImage);
+ info.addInstrumentedMember(m_data);
+ info.addMember(m_imageObserver);
+}
+
}
diff --git a/Source/WebCore/platform/graphics/Image.h b/Source/WebCore/platform/graphics/Image.h
index 7c7ba9b95..a52af3eeb 100644
--- a/Source/WebCore/platform/graphics/Image.h
+++ b/Source/WebCore/platform/graphics/Image.h
@@ -64,6 +64,7 @@ class FloatPoint;
class FloatRect;
class FloatSize;
class GraphicsContext;
+class MemoryObjectInfo;
class SharedBuffer;
struct Length;
@@ -168,6 +169,8 @@ public:
virtual bool notSolidColor() { return true; }
#endif
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const;
+
protected:
Image(ImageObserver* = 0);
diff --git a/Source/WebCore/platform/graphics/ImageSource.cpp b/Source/WebCore/platform/graphics/ImageSource.cpp
index c433de401..ca0f95d77 100644
--- a/Source/WebCore/platform/graphics/ImageSource.cpp
+++ b/Source/WebCore/platform/graphics/ImageSource.cpp
@@ -198,4 +198,11 @@ bool ImageSource::frameIsCompleteAtIndex(size_t index)
return buffer && buffer->status() == ImageFrame::FrameComplete;
}
+unsigned ImageSource::frameBytesAtIndex(size_t index) const
+{
+ if (!m_decoder)
+ return 0;
+ return m_decoder->frameBytesAtIndex(index);
+}
+
}
diff --git a/Source/WebCore/platform/graphics/ImageSource.h b/Source/WebCore/platform/graphics/ImageSource.h
index 78f0de8ce..6879eda05 100644
--- a/Source/WebCore/platform/graphics/ImageSource.h
+++ b/Source/WebCore/platform/graphics/ImageSource.h
@@ -146,6 +146,10 @@ public:
bool frameIsCompleteAtIndex(size_t); // Whether or not the frame is completely decoded.
ImageOrientation orientationAtIndex(size_t) const; // EXIF image orientation
+ // Return the number of bytes in the decoded frame. If the frame is not yet
+ // decoded then return 0.
+ unsigned frameBytesAtIndex(size_t) const;
+
#if ENABLE(IMAGE_DECODER_DOWN_SAMPLING)
static unsigned maxPixelsPerDecodedImage() { return s_maxPixelsPerDecodedImage; }
static void setMaxPixelsPerDecodedImage(unsigned maxPixels) { s_maxPixelsPerDecodedImage = maxPixels; }
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.cpp b/Source/WebCore/platform/graphics/MediaPlayer.cpp
index 312233573..b11610fe8 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/Source/WebCore/platform/graphics/MediaPlayer.cpp
@@ -154,6 +154,7 @@ public:
virtual bool sourceRemoveId(const String&) { return false; }
virtual bool sourceAppend(const String&, const unsigned char*, unsigned) { return false; }
virtual bool sourceAbort(const String&) { return false; }
+ virtual void sourceSetDuration(double) { }
virtual void sourceEndOfStream(MediaPlayer::EndOfStreamStatus) { }
virtual bool sourceSetTimestampOffset(const String&, double) { return false; }
#endif
@@ -490,6 +491,11 @@ bool MediaPlayer::sourceAbort(const String& id)
return m_private->sourceAbort(id);
}
+void MediaPlayer::sourceSetDuration(double duration)
+{
+ m_private->sourceSetDuration(duration);
+}
+
void MediaPlayer::sourceEndOfStream(MediaPlayer::EndOfStreamStatus status)
{
return m_private->sourceEndOfStream(status);
diff --git a/Source/WebCore/platform/graphics/MediaPlayer.h b/Source/WebCore/platform/graphics/MediaPlayer.h
index eac345c17..9a2c6b786 100644
--- a/Source/WebCore/platform/graphics/MediaPlayer.h
+++ b/Source/WebCore/platform/graphics/MediaPlayer.h
@@ -32,9 +32,10 @@
#include "MediaPlayerProxy.h"
#endif
-#include "Document.h"
#include "IntRect.h"
#include "KURL.h"
+#include "LayoutTypesInlineMethods.h"
+#include "Timer.h"
#include <wtf/Forward.h>
#include <wtf/HashSet.h>
#include <wtf/OwnPtr.h>
@@ -56,8 +57,10 @@ class QTMovieVisualContext;
namespace WebCore {
class AudioSourceProvider;
+class Document;
class GStreamerGWorld;
class MediaPlayerPrivateInterface;
+class MediaSource;
// Structure that will hold every native
// types supported by the current media player.
@@ -263,6 +266,7 @@ public:
bool sourceRemoveId(const String& id);
PassRefPtr<TimeRanges> sourceBuffered(const String& id);
bool sourceAppend(const String& id, const unsigned char* data, unsigned length);
+ void sourceSetDuration(double);
bool sourceAbort(const String& id);
enum EndOfStreamStatus { EosNoError, EosNetworkError, EosDecodeError };
void sourceEndOfStream(EndOfStreamStatus);
diff --git a/Source/WebCore/platform/graphics/MediaPlayerPrivate.h b/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
index 28d2d9e07..87851e44c 100644
--- a/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
+++ b/Source/WebCore/platform/graphics/MediaPlayerPrivate.h
@@ -173,6 +173,7 @@ public:
virtual bool sourceRemoveId(const String& id) { return false; }
virtual bool sourceAppend(const String& id, const unsigned char* data, unsigned length) { return false; }
virtual bool sourceAbort(const String& id) { return false; }
+ virtual void sourceSetDuration(double) { }
virtual void sourceEndOfStream(MediaPlayer::EndOfStreamStatus) { };
virtual bool sourceSetTimestampOffset(const String& id, double offset) { return false; }
#endif
diff --git a/Source/WebCore/platform/graphics/NativeImagePtr.h b/Source/WebCore/platform/graphics/NativeImagePtr.h
index 3cc8d744c..1fc3fa6c9 100644
--- a/Source/WebCore/platform/graphics/NativeImagePtr.h
+++ b/Source/WebCore/platform/graphics/NativeImagePtr.h
@@ -52,6 +52,8 @@ namespace WebCore {
#if USE(CG)
typedef CGImageRef NativeImagePtr;
+#elif PLATFORM(QT)
+typedef QImage* NativeImagePtr;
#elif PLATFORM(OPENVG)
class TiledImageOpenVG;
typedef TiledImageOpenVG* NativeImagePtr;
@@ -69,8 +71,6 @@ typedef WebCore::NativeImageSkia* NativeImagePtr;
typedef RefPtr<SharedBitmap> NativeImagePtr;
#elif PLATFORM(BLACKBERRY)
typedef void* NativeImagePtr;
-#elif PLATFORM(QT)
-typedef QImage* NativeImagePtr;
#endif
}
diff --git a/Source/WebCore/platform/graphics/OpenGLShims.cpp b/Source/WebCore/platform/graphics/OpenGLShims.cpp
index 8e54ee452..1bde4a850 100644
--- a/Source/WebCore/platform/graphics/OpenGLShims.cpp
+++ b/Source/WebCore/platform/graphics/OpenGLShims.cpp
@@ -22,7 +22,10 @@
#define DISABLE_SHIMS
#include "OpenGLShims.h"
+#if !PLATFORM(QT)
#include <dlfcn.h>
+#endif
+
#include <wtf/text/CString.h>
#include <wtf/text/WTFString.h>
@@ -34,11 +37,6 @@ OpenGLFunctionTable* openGLFunctionTable()
return &table;
}
-#if PLATFORM(QT) && defined(QT_OPENGL_ES_2)
-#define ASSIGN_FUNCTION_TABLE_ENTRY(FunctionName, success) \
- openGLFunctionTable()->FunctionName = ::FunctionName
-#else
-
#if PLATFORM(QT)
static void* getProcAddress(const char* procName)
{
@@ -63,9 +61,9 @@ static void* getProcAddress(const char* procName)
}
#endif
-static void* lookupOpenGLFunctionAddress(const char* functionName, bool& success)
+static void* lookupOpenGLFunctionAddress(const char* functionName, bool* success = 0)
{
- if (!success)
+ if (success && !*success)
return 0;
void* target = getProcAddress(functionName);
@@ -82,17 +80,39 @@ static void* lookupOpenGLFunctionAddress(const char* functionName, bool& success
fullFunctionName.append("EXT");
target = getProcAddress(fullFunctionName.utf8().data());
+#if defined(GL_ES_VERSION_2_0)
+ fullFunctionName = functionName;
+ fullFunctionName.append("ANGLE");
+ target = getProcAddress(fullFunctionName.utf8().data());
+
+ fullFunctionName = functionName;
+ fullFunctionName.append("APPLE");
+ target = getProcAddress(fullFunctionName.utf8().data());
+#endif
+
// A null address is still a failure case.
- if (!target)
- success = false;
+ if (!target && success)
+ *success = false;
return target;
}
+#if PLATFORM(QT) && defined(QT_OPENGL_ES_2)
+
+// With Angle only EGL/GLES2 extensions are available through eglGetProcAddress, not the regular standardized functions.
+#define ASSIGN_FUNCTION_TABLE_ENTRY(FunctionName, success) \
+ openGLFunctionTable()->FunctionName = ::FunctionName
+
+#else
+
#define ASSIGN_FUNCTION_TABLE_ENTRY(FunctionName, success) \
- openGLFunctionTable()->FunctionName = reinterpret_cast<FunctionName##Type>(lookupOpenGLFunctionAddress(#FunctionName, success))
+ openGLFunctionTable()->FunctionName = reinterpret_cast<FunctionName##Type>(lookupOpenGLFunctionAddress(#FunctionName, &success))
+
#endif
+#define ASSIGN_FUNCTION_TABLE_ENTRY_EXT(FunctionName) \
+ openGLFunctionTable()->FunctionName = reinterpret_cast<FunctionName##Type>(lookupOpenGLFunctionAddress(#FunctionName))
+
bool initializeOpenGLShims()
{
static bool success = true;
@@ -111,14 +131,9 @@ bool initializeOpenGLShims()
ASSIGN_FUNCTION_TABLE_ENTRY(glBlendEquation, success);
ASSIGN_FUNCTION_TABLE_ENTRY(glBlendEquationSeparate, success);
ASSIGN_FUNCTION_TABLE_ENTRY(glBlendFuncSeparate, success);
+ // In GLES2 there is optional an ANGLE extension for glBlitFramebuffer
#if defined(GL_ES_VERSION_2_0)
-
-#if defined(GL_ANGLE_framebuffer_blit)
- openGLFunctionTable()->glBlitFramebuffer = ::GL_ANGLE_framebuffer_blit;
-#else
- openGLFunctionTable()->glBlitFramebuffer = 0;
-#endif
-
+ ASSIGN_FUNCTION_TABLE_ENTRY_EXT(glBlitFramebuffer);
#else
ASSIGN_FUNCTION_TABLE_ENTRY(glBlitFramebuffer, success);
#endif
@@ -167,16 +182,9 @@ bool initializeOpenGLShims()
ASSIGN_FUNCTION_TABLE_ENTRY(glIsShader, success);
ASSIGN_FUNCTION_TABLE_ENTRY(glLinkProgram, success);
ASSIGN_FUNCTION_TABLE_ENTRY(glRenderbufferStorage, success);
+ // In GLES2 there are optional ANGLE and APPLE extensions for glRenderbufferStorageMultisample.
#if defined(GL_ES_VERSION_2_0)
-
-#if defined(GL_APPLE_framebuffer_multisample)
- openGLFunctionTable()->glRenderbufferStorageMultisample = ::glRenderbufferStorageMultisampleAPPLE;
-#elif defined(GL_ANGLE_framebuffer_multisample)
- openGLFunctionTable()->glRenderbufferStorageMultisample = ::glRenderbufferStorageMultisampleANGLE;
-#else
- openGLFunctionTable()->glRenderbufferStorageMultisample = 0;
-#endif
-
+ ASSIGN_FUNCTION_TABLE_ENTRY_EXT(glRenderbufferStorageMultisample);
#else
ASSIGN_FUNCTION_TABLE_ENTRY(glRenderbufferStorageMultisample, success);
#endif
diff --git a/Source/WebCore/platform/graphics/OpenGLShims.h b/Source/WebCore/platform/graphics/OpenGLShims.h
index fffa502e5..3d96927e6 100644
--- a/Source/WebCore/platform/graphics/OpenGLShims.h
+++ b/Source/WebCore/platform/graphics/OpenGLShims.h
@@ -41,98 +41,104 @@ bool initializeOpenGLShims();
OpenGLFunctionTable* openGLFunctionTable();
}
-typedef void (*glActiveTextureType) (GLenum);
-typedef void (*glAttachShaderType) (GLuint, GLuint);
-typedef void (*glBindAttribLocationType) (GLuint, GLuint, const char*);
-typedef void (*glBindBufferType) (GLenum, GLuint);
-typedef void (*glBindFramebufferType) (GLenum, GLuint);
-typedef void (*glBindRenderbufferType) (GLenum, GLuint);
-typedef void (*glBlendColorType) (GLclampf, GLclampf, GLclampf, GLclampf);
-typedef void (*glBlendEquationType) (GLenum);
-typedef void (*glBlendEquationSeparateType)(GLenum, GLenum);
-typedef void (*glBlendFuncSeparateType)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
-typedef void (*glBlitFramebufferType) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
-typedef void (*glBufferDataType) (GLenum, GLsizeiptr, const GLvoid*, GLenum);
-typedef void (*glBufferSubDataType) (GLenum, GLintptr, GLsizeiptr, const GLvoid*);
-typedef GLenum (*glCheckFramebufferStatusType) (GLenum);
-typedef void (*glCompileShaderType) (GLuint);
-typedef GLuint (*glCreateProgramType) ();
-typedef GLuint (*glCreateShaderType) (GLenum);
-typedef void (*glDeleteBuffersType) (GLsizei, const GLuint*);
-typedef void (*glDeleteFramebuffersType) (GLsizei n, const GLuint*);
-typedef void (*glDeleteProgramType) (GLuint);
-typedef void (*glDeleteRenderbuffersType) (GLsizei n, const GLuint*);
-typedef void (*glDeleteShaderType) (GLuint);
-typedef void (*glDetachShaderType) (GLuint, GLuint);
-typedef void (*glDisableVertexAttribArrayType) (GLuint);
-typedef void (*glEnableVertexAttribArrayType) (GLuint);
-typedef void (*glFramebufferRenderbufferType) (GLenum, GLenum, GLenum, GLuint);
-typedef void (*glFramebufferTexture2DType) (GLenum, GLenum, GLenum, GLuint, GLint);
-typedef void (*glGenBuffersType) (GLsizei, GLuint*);
-typedef void (*glGenerateMipmapType) (GLenum target);
-typedef void (*glGenFramebuffersType) (GLsizei, GLuint*);
-typedef void (*glGenRenderbuffersType) (GLsizei, GLuint*);
-typedef void (*glGetActiveAttribType) (GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
-typedef void (*glGetActiveUniformType) (GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
-typedef void (*glGetAttachedShadersType) (GLuint, GLsizei, GLsizei*, GLuint*);
-typedef GLint (*glGetAttribLocationType) (GLuint, const char*);
-typedef void (*glGetBufferParameterivType) (GLenum, GLenum, GLint*);
-typedef void (*glGetFramebufferAttachmentParameterivType) (GLenum, GLenum, GLenum, GLint* params);
-typedef void (*glGetProgramInfoLogType) (GLuint, GLsizei, GLsizei*, char*);
-typedef void (*glGetProgramivType) (GLuint, GLenum, GLint*);
-typedef void (*glGetRenderbufferParameterivType) (GLenum, GLenum, GLint*);
-typedef void (*glGetShaderInfoLogType) (GLuint, GLsizei, GLsizei*, char*);
-typedef void (*glGetShaderivType) (GLuint, GLenum, GLint*);
-typedef void (*glGetShaderSourceType) (GLuint, GLsizei, GLsizei*, char*);
-typedef GLint (*glGetUniformLocationType) (GLuint, const char*);
-typedef void (*glGetUniformfvType) (GLuint, GLint, GLfloat*);
-typedef void (*glGetUniformivType) (GLuint, GLint, GLint*);
-typedef void (*glGetVertexAttribfvType) (GLuint, GLenum, GLfloat*);
-typedef void (*glGetVertexAttribivType) (GLuint, GLenum, GLint*);
-typedef void (*glGetVertexAttribPointervType) (GLuint, GLenum, GLvoid**);
-typedef GLboolean (*glIsBufferType) (GLuint);
-typedef GLboolean (*glIsFramebufferType) (GLuint);
-typedef GLboolean (*glIsProgramType) (GLuint);
-typedef GLboolean (*glIsRenderbufferType) (GLuint);
-typedef GLboolean (*glIsShaderType) (GLuint);
-typedef void (*glLinkProgramType) (GLuint);
-typedef void (*glRenderbufferStorageType) (GLenum, GLenum, GLsizei, GLsizei);
-typedef void (*glRenderbufferStorageMultisampleType) (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
-typedef void (*glSampleCoverageType) (GLclampf, GLboolean);
-typedef void (*glShaderSourceType) (GLuint, GLsizei, const char**, const GLint*);
-typedef void (*glStencilFuncSeparateType) (GLenum, GLenum, GLint, GLuint);
-typedef void (*glStencilMaskSeparateType) (GLenum, GLuint);
-typedef void (*glStencilOpSeparateType) (GLenum, GLenum, GLenum, GLenum);
-typedef void (*glUniform1fType) (GLint, GLfloat);
-typedef void (*glUniform1fvType) (GLint, GLsizei, const GLfloat*);
-typedef void (*glUniform1iType) (GLint, GLint);
-typedef void (*glUniform1ivType) (GLint, GLsizei, const GLint*);
-typedef void (*glUniform2fType) (GLint, GLfloat, GLfloat);
-typedef void (*glUniform2fvType) (GLint, GLsizei, const GLfloat*);
-typedef void (*glUniform2iType) (GLint, GLint, GLint);
-typedef void (*glUniform2ivType) (GLint, GLsizei, const GLint*);
-typedef void (*glUniform3fType) (GLint, GLfloat, GLfloat, GLfloat);
-typedef void (*glUniform3fvType) (GLint, GLsizei, const GLfloat*);
-typedef void (*glUniform3iType) (GLint, GLint, GLint, GLint);
-typedef void (*glUniform3ivType) (GLint, GLsizei, const GLint*);
-typedef void (*glUniform4fType) (GLint, GLfloat, GLfloat, GLfloat, GLfloat);
-typedef void (*glUniform4fvType) (GLint, GLsizei, const GLfloat*);
-typedef void (*glUniform4iType) (GLint, GLint, GLint, GLint, GLint);
-typedef void (*glUniform4ivType) (GLint, GLsizei, const GLint*);
-typedef void (*glUniformMatrix2fvType) (GLint, GLsizei, GLboolean, const GLfloat*);
-typedef void (*glUniformMatrix3fvType) (GLint, GLsizei, GLboolean, const GLfloat*);
-typedef void (*glUniformMatrix4fvType) (GLint, GLsizei, GLboolean, const GLfloat*);
-typedef void (*glUseProgramType) (GLuint);
-typedef void (*glValidateProgramType) (GLuint);
-typedef void (*glVertexAttrib1fType) (GLuint, const GLfloat);
-typedef void (*glVertexAttrib1fvType) (GLuint, const GLfloat*);
-typedef void (*glVertexAttrib2fType) (GLuint, const GLfloat, const GLfloat);
-typedef void (*glVertexAttrib2fvType) (GLuint, const GLfloat*);
-typedef void (*glVertexAttrib3fType) (GLuint, const GLfloat, const GLfloat, const GLfloat);
-typedef void (*glVertexAttrib3fvType) (GLuint, const GLfloat*);
-typedef void (*glVertexAttrib4fType) (GLuint, const GLfloat, const GLfloat, const GLfloat, const GLfloat);
-typedef void (*glVertexAttrib4fvType) (GLuint, const GLfloat*);
-typedef void (*glVertexAttribPointerType) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid*);
+#if OS(WINDOWS)
+#define GLAPIENTRY __stdcall
+#else
+#define GLAPIENTRY
+#endif
+
+typedef void (GLAPIENTRY *glActiveTextureType) (GLenum);
+typedef void (GLAPIENTRY *glAttachShaderType) (GLuint, GLuint);
+typedef void (GLAPIENTRY *glBindAttribLocationType) (GLuint, GLuint, const char*);
+typedef void (GLAPIENTRY *glBindBufferType) (GLenum, GLuint);
+typedef void (GLAPIENTRY *glBindFramebufferType) (GLenum, GLuint);
+typedef void (GLAPIENTRY *glBindRenderbufferType) (GLenum, GLuint);
+typedef void (GLAPIENTRY *glBlendColorType) (GLclampf, GLclampf, GLclampf, GLclampf);
+typedef void (GLAPIENTRY *glBlendEquationType) (GLenum);
+typedef void (GLAPIENTRY *glBlendEquationSeparateType)(GLenum, GLenum);
+typedef void (GLAPIENTRY *glBlendFuncSeparateType)(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
+typedef void (GLAPIENTRY *glBlitFramebufferType) (GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLint, GLbitfield, GLenum);
+typedef void (GLAPIENTRY *glBufferDataType) (GLenum, GLsizeiptr, const GLvoid*, GLenum);
+typedef void (GLAPIENTRY *glBufferSubDataType) (GLenum, GLintptr, GLsizeiptr, const GLvoid*);
+typedef GLenum (GLAPIENTRY *glCheckFramebufferStatusType) (GLenum);
+typedef void (GLAPIENTRY *glCompileShaderType) (GLuint);
+typedef GLuint (GLAPIENTRY *glCreateProgramType) ();
+typedef GLuint (GLAPIENTRY *glCreateShaderType) (GLenum);
+typedef void (GLAPIENTRY *glDeleteBuffersType) (GLsizei, const GLuint*);
+typedef void (GLAPIENTRY *glDeleteFramebuffersType) (GLsizei n, const GLuint*);
+typedef void (GLAPIENTRY *glDeleteProgramType) (GLuint);
+typedef void (GLAPIENTRY *glDeleteRenderbuffersType) (GLsizei n, const GLuint*);
+typedef void (GLAPIENTRY *glDeleteShaderType) (GLuint);
+typedef void (GLAPIENTRY *glDetachShaderType) (GLuint, GLuint);
+typedef void (GLAPIENTRY *glDisableVertexAttribArrayType) (GLuint);
+typedef void (GLAPIENTRY *glEnableVertexAttribArrayType) (GLuint);
+typedef void (GLAPIENTRY *glFramebufferRenderbufferType) (GLenum, GLenum, GLenum, GLuint);
+typedef void (GLAPIENTRY *glFramebufferTexture2DType) (GLenum, GLenum, GLenum, GLuint, GLint);
+typedef void (GLAPIENTRY *glGenBuffersType) (GLsizei, GLuint*);
+typedef void (GLAPIENTRY *glGenerateMipmapType) (GLenum target);
+typedef void (GLAPIENTRY *glGenFramebuffersType) (GLsizei, GLuint*);
+typedef void (GLAPIENTRY *glGenRenderbuffersType) (GLsizei, GLuint*);
+typedef void (GLAPIENTRY *glGetActiveAttribType) (GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
+typedef void (GLAPIENTRY *glGetActiveUniformType) (GLuint, GLuint, GLsizei, GLsizei*, GLint*, GLenum*, GLchar*);
+typedef void (GLAPIENTRY *glGetAttachedShadersType) (GLuint, GLsizei, GLsizei*, GLuint*);
+typedef GLint (GLAPIENTRY *glGetAttribLocationType) (GLuint, const char*);
+typedef void (GLAPIENTRY *glGetBufferParameterivType) (GLenum, GLenum, GLint*);
+typedef void (GLAPIENTRY *glGetFramebufferAttachmentParameterivType) (GLenum, GLenum, GLenum, GLint* params);
+typedef void (GLAPIENTRY *glGetProgramInfoLogType) (GLuint, GLsizei, GLsizei*, char*);
+typedef void (GLAPIENTRY *glGetProgramivType) (GLuint, GLenum, GLint*);
+typedef void (GLAPIENTRY *glGetRenderbufferParameterivType) (GLenum, GLenum, GLint*);
+typedef void (GLAPIENTRY *glGetShaderInfoLogType) (GLuint, GLsizei, GLsizei*, char*);
+typedef void (GLAPIENTRY *glGetShaderivType) (GLuint, GLenum, GLint*);
+typedef void (GLAPIENTRY *glGetShaderSourceType) (GLuint, GLsizei, GLsizei*, char*);
+typedef GLint (GLAPIENTRY *glGetUniformLocationType) (GLuint, const char*);
+typedef void (GLAPIENTRY *glGetUniformfvType) (GLuint, GLint, GLfloat*);
+typedef void (GLAPIENTRY *glGetUniformivType) (GLuint, GLint, GLint*);
+typedef void (GLAPIENTRY *glGetVertexAttribfvType) (GLuint, GLenum, GLfloat*);
+typedef void (GLAPIENTRY *glGetVertexAttribivType) (GLuint, GLenum, GLint*);
+typedef void (GLAPIENTRY *glGetVertexAttribPointervType) (GLuint, GLenum, GLvoid**);
+typedef GLboolean (GLAPIENTRY *glIsBufferType) (GLuint);
+typedef GLboolean (GLAPIENTRY *glIsFramebufferType) (GLuint);
+typedef GLboolean (GLAPIENTRY *glIsProgramType) (GLuint);
+typedef GLboolean (GLAPIENTRY *glIsRenderbufferType) (GLuint);
+typedef GLboolean (GLAPIENTRY *glIsShaderType) (GLuint);
+typedef void (GLAPIENTRY *glLinkProgramType) (GLuint);
+typedef void (GLAPIENTRY *glRenderbufferStorageType) (GLenum, GLenum, GLsizei, GLsizei);
+typedef void (GLAPIENTRY *glRenderbufferStorageMultisampleType) (GLenum, GLsizei, GLenum, GLsizei, GLsizei);
+typedef void (GLAPIENTRY *glSampleCoverageType) (GLclampf, GLboolean);
+typedef void (GLAPIENTRY *glShaderSourceType) (GLuint, GLsizei, const char**, const GLint*);
+typedef void (GLAPIENTRY *glStencilFuncSeparateType) (GLenum, GLenum, GLint, GLuint);
+typedef void (GLAPIENTRY *glStencilMaskSeparateType) (GLenum, GLuint);
+typedef void (GLAPIENTRY *glStencilOpSeparateType) (GLenum, GLenum, GLenum, GLenum);
+typedef void (GLAPIENTRY *glUniform1fType) (GLint, GLfloat);
+typedef void (GLAPIENTRY *glUniform1fvType) (GLint, GLsizei, const GLfloat*);
+typedef void (GLAPIENTRY *glUniform1iType) (GLint, GLint);
+typedef void (GLAPIENTRY *glUniform1ivType) (GLint, GLsizei, const GLint*);
+typedef void (GLAPIENTRY *glUniform2fType) (GLint, GLfloat, GLfloat);
+typedef void (GLAPIENTRY *glUniform2fvType) (GLint, GLsizei, const GLfloat*);
+typedef void (GLAPIENTRY *glUniform2iType) (GLint, GLint, GLint);
+typedef void (GLAPIENTRY *glUniform2ivType) (GLint, GLsizei, const GLint*);
+typedef void (GLAPIENTRY *glUniform3fType) (GLint, GLfloat, GLfloat, GLfloat);
+typedef void (GLAPIENTRY *glUniform3fvType) (GLint, GLsizei, const GLfloat*);
+typedef void (GLAPIENTRY *glUniform3iType) (GLint, GLint, GLint, GLint);
+typedef void (GLAPIENTRY *glUniform3ivType) (GLint, GLsizei, const GLint*);
+typedef void (GLAPIENTRY *glUniform4fType) (GLint, GLfloat, GLfloat, GLfloat, GLfloat);
+typedef void (GLAPIENTRY *glUniform4fvType) (GLint, GLsizei, const GLfloat*);
+typedef void (GLAPIENTRY *glUniform4iType) (GLint, GLint, GLint, GLint, GLint);
+typedef void (GLAPIENTRY *glUniform4ivType) (GLint, GLsizei, const GLint*);
+typedef void (GLAPIENTRY *glUniformMatrix2fvType) (GLint, GLsizei, GLboolean, const GLfloat*);
+typedef void (GLAPIENTRY *glUniformMatrix3fvType) (GLint, GLsizei, GLboolean, const GLfloat*);
+typedef void (GLAPIENTRY *glUniformMatrix4fvType) (GLint, GLsizei, GLboolean, const GLfloat*);
+typedef void (GLAPIENTRY *glUseProgramType) (GLuint);
+typedef void (GLAPIENTRY *glValidateProgramType) (GLuint);
+typedef void (GLAPIENTRY *glVertexAttrib1fType) (GLuint, const GLfloat);
+typedef void (GLAPIENTRY *glVertexAttrib1fvType) (GLuint, const GLfloat*);
+typedef void (GLAPIENTRY *glVertexAttrib2fType) (GLuint, const GLfloat, const GLfloat);
+typedef void (GLAPIENTRY *glVertexAttrib2fvType) (GLuint, const GLfloat*);
+typedef void (GLAPIENTRY *glVertexAttrib3fType) (GLuint, const GLfloat, const GLfloat, const GLfloat);
+typedef void (GLAPIENTRY *glVertexAttrib3fvType) (GLuint, const GLfloat*);
+typedef void (GLAPIENTRY *glVertexAttrib4fType) (GLuint, const GLfloat, const GLfloat, const GLfloat, const GLfloat);
+typedef void (GLAPIENTRY *glVertexAttrib4fvType) (GLuint, const GLfloat*);
+typedef void (GLAPIENTRY *glVertexAttribPointerType) (GLuint, GLint, GLenum, GLboolean, GLsizei, const GLvoid*);
#define FUNCTION_TABLE_ENTRY(FunctionName) FunctionName##Type FunctionName
diff --git a/Source/WebCore/platform/graphics/SegmentedFontData.cpp b/Source/WebCore/platform/graphics/SegmentedFontData.cpp
index 7e1004072..fd9094baa 100644
--- a/Source/WebCore/platform/graphics/SegmentedFontData.cpp
+++ b/Source/WebCore/platform/graphics/SegmentedFontData.cpp
@@ -26,9 +26,9 @@
#include "config.h"
#include "SegmentedFontData.h"
-#include "PlatformString.h"
#include "SimpleFontData.h"
#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/SimpleFontData.cpp b/Source/WebCore/platform/graphics/SimpleFontData.cpp
index 1232e47f9..eae95bdcb 100644
--- a/Source/WebCore/platform/graphics/SimpleFontData.cpp
+++ b/Source/WebCore/platform/graphics/SimpleFontData.cpp
@@ -32,6 +32,7 @@
#include "Font.h"
#include "FontCache.h"
+#include "OpenTypeVerticalData.h"
#include <wtf/MathExtras.h>
#include <wtf/UnusedParam.h>
@@ -49,11 +50,20 @@ SimpleFontData::SimpleFontData(const FontPlatformData& platformData, bool isCust
, m_isLoading(isLoading)
, m_isTextOrientationFallback(isTextOrientationFallback)
, m_isBrokenIdeographFallback(false)
+#if ENABLE(OPENTYPE_VERTICAL)
+ , m_verticalData(0)
+#endif
, m_hasVerticalGlyphs(false)
{
platformInit();
platformGlyphInit();
platformCharWidthInit();
+#if ENABLE(OPENTYPE_VERTICAL)
+ if (platformData.orientation() == Vertical && !isTextOrientationFallback) {
+ m_verticalData = platformData.verticalData();
+ m_hasVerticalGlyphs = m_verticalData && m_verticalData->hasVerticalMetrics();
+ }
+#endif
}
SimpleFontData::SimpleFontData(PassOwnPtr<AdditionalFontData> fontData, float fontSize, bool syntheticBold, bool syntheticItalic)
@@ -64,6 +74,9 @@ SimpleFontData::SimpleFontData(PassOwnPtr<AdditionalFontData> fontData, float fo
, m_isLoading(false)
, m_isTextOrientationFallback(false)
, m_isBrokenIdeographFallback(false)
+#if ENABLE(OPENTYPE_VERTICAL)
+ , m_verticalData(0)
+#endif
, m_hasVerticalGlyphs(false)
{
m_fontData->initializeFontData(this, fontSize);
diff --git a/Source/WebCore/platform/graphics/SimpleFontData.h b/Source/WebCore/platform/graphics/SimpleFontData.h
index 820c26573..215e9be59 100644
--- a/Source/WebCore/platform/graphics/SimpleFontData.h
+++ b/Source/WebCore/platform/graphics/SimpleFontData.h
@@ -88,7 +88,7 @@ public:
const FontPlatformData& platformData() const { return m_platformData; }
#if ENABLE(OPENTYPE_VERTICAL)
- const OpenTypeVerticalData* verticalData() const { return 0; } // FIXME: implement
+ const OpenTypeVerticalData* verticalData() const { return m_verticalData; }
#endif
SimpleFontData* smallCapsFontData(const FontDescription&) const;
@@ -229,6 +229,9 @@ private:
mutable OwnPtr<GlyphMetricsMap<FloatRect> > m_glyphToBoundsMap;
mutable GlyphMetricsMap<float> m_glyphToWidthMap;
+#if ENABLE(OPENTYPE_VERTICAL)
+ const OpenTypeVerticalData* m_verticalData;
+#endif
bool m_treatAsFixedPitch;
bool m_isCustomFont; // Whether or not we are custom font loaded via @font-face
@@ -317,6 +320,14 @@ ALWAYS_INLINE float SimpleFontData::widthForGlyph(Glyph glyph) const
if (m_fontData)
width = m_fontData->widthForSVGGlyph(glyph, m_platformData.size());
+#if ENABLE(OPENTYPE_VERTICAL)
+ else if (m_verticalData)
+#if USE(CG) || USE(CAIRO) || PLATFORM(WX) || USE(SKIA_ON_MAC_CHROMIUM)
+ width = m_verticalData->advanceHeight(this, glyph) + m_syntheticBoldOffset;
+#else
+ width = m_verticalData->advanceHeight(this, glyph);
+#endif
+#endif
else
width = platformWidthForGlyph(glyph);
@@ -325,5 +336,4 @@ ALWAYS_INLINE float SimpleFontData::widthForGlyph(Glyph glyph) const
}
} // namespace WebCore
-
#endif // SimpleFontData_h
diff --git a/Source/WebCore/platform/graphics/TextRun.cpp b/Source/WebCore/platform/graphics/TextRun.cpp
index 7d58efdec..7d28b1f0f 100644
--- a/Source/WebCore/platform/graphics/TextRun.cpp
+++ b/Source/WebCore/platform/graphics/TextRun.cpp
@@ -36,7 +36,7 @@ struct ExpectedTextRunSize {
float float2;
#endif
float float3;
- uint32_t bitfields : 9;
+ uint32_t bitfields : 10;
unsigned anUnsigned;
RefPtr<TextRun::RenderingContext> renderingContext;
};
diff --git a/Source/WebCore/platform/graphics/TextRun.h b/Source/WebCore/platform/graphics/TextRun.h
index 66c0e2616..590a9ed4a 100644
--- a/Source/WebCore/platform/graphics/TextRun.h
+++ b/Source/WebCore/platform/graphics/TextRun.h
@@ -58,9 +58,9 @@ public:
typedef unsigned RoundingHacks;
- TextRun(const UChar* c, int len, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
- : m_characters(c)
- , m_charactersLength(len)
+#if PLATFORM(MAC)
+ TextRun(const LChar* c, unsigned len, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
+ : m_charactersLength(len)
, m_len(len)
, m_xpos(xpos)
#if ENABLE(SVG)
@@ -68,6 +68,7 @@ public:
#endif
, m_expansion(expansion)
, m_expansionBehavior(expansionBehavior)
+ , m_is8Bit(true)
, m_allowTabs(false)
, m_direction(direction)
, m_directionalOverride(directionalOverride)
@@ -77,11 +78,34 @@ public:
, m_disableSpacing(false)
, m_tabSize(0)
{
+ m_data.characters8 = c;
}
+#endif
+ TextRun(const UChar* c, unsigned len, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
+ : m_charactersLength(len)
+ , m_len(len)
+ , m_xpos(xpos)
+#if ENABLE(SVG)
+ , m_horizontalGlyphStretch(1)
+#endif
+ , m_expansion(expansion)
+ , m_expansionBehavior(expansionBehavior)
+ , m_is8Bit(false)
+ , m_allowTabs(false)
+ , m_direction(direction)
+ , m_directionalOverride(directionalOverride)
+ , m_characterScanForCodePath(characterScanForCodePath)
+ , m_applyRunRounding((roundingHacks & RunRounding) && s_allowsRoundingHacks)
+ , m_applyWordRounding((roundingHacks & WordRounding) && s_allowsRoundingHacks)
+ , m_disableSpacing(false)
+ , m_tabSize(0)
+ {
+ m_data.characters16 = c;
+ }
+
TextRun(const String& s, float xpos = 0, float expansion = 0, ExpansionBehavior expansionBehavior = AllowTrailingExpansion | ForbidLeadingExpansion, TextDirection direction = LTR, bool directionalOverride = false, bool characterScanForCodePath = true, RoundingHacks roundingHacks = RunRounding | WordRounding)
- : m_characters(s.characters())
- , m_charactersLength(s.length())
+ : m_charactersLength(s.length())
, m_len(s.length())
, m_xpos(xpos)
#if ENABLE(SVG)
@@ -98,17 +122,52 @@ public:
, m_disableSpacing(false)
, m_tabSize(0)
{
+#if PLATFORM(MAC)
+ if (m_charactersLength && s.is8Bit()) {
+ m_data.characters16 = s.characters();
+ m_is8Bit = false;
+// FIXME: Change this to:
+// m_data.characters8 = s.characters8();
+// m_is8Bit = true;
+// when other 8 bit rendering changes are landed.
+ } else {
+ m_data.characters16 = s.characters();
+ m_is8Bit = false;
+ }
+#else
+ m_data.characters16 = s.characters();
+ m_is8Bit = false;
+#endif
+ }
+
+ TextRun subRun(unsigned startOffset, unsigned length) const
+ {
+ ASSERT(startOffset < m_len);
+
+ TextRun result = *this;
+
+ if (is8Bit())
+ result.setText(data8(startOffset), length);
+ else
+ result.setText(data16(startOffset), length);
+
+ return result;
}
- UChar operator[](int i) const { ASSERT(i >= 0 && i < m_len); return m_characters[i]; }
- const UChar* data(int i) const { ASSERT(i >= 0 && i < m_len); return &m_characters[i]; }
+ UChar operator[](unsigned i) const { ASSERT(i < m_len); return is8Bit() ? m_data.characters8[i] :m_data.characters16[i]; }
+ const LChar* data8(unsigned i) const { ASSERT(i < m_len); ASSERT(is8Bit()); return &m_data.characters8[i]; }
+ const UChar* data16(unsigned i) const { ASSERT(i < m_len); ASSERT(!is8Bit()); return &m_data.characters16[i]; }
- const UChar* characters() const { return m_characters; }
+ const LChar* characters8() const { ASSERT(is8Bit()); return m_data.characters8; }
+ const UChar* characters16() const { ASSERT(!is8Bit()); return m_data.characters16; }
+
+ bool is8Bit() const { return m_is8Bit; }
int length() const { return m_len; }
int charactersLength() const { return m_charactersLength; }
- void setText(const UChar* c, int len) { m_characters = c; m_len = len; }
- void setCharactersLength(int charactersLength) { m_charactersLength = charactersLength; }
+ void setText(const LChar* c, unsigned len) { m_data.characters8 = c; m_len = len; m_is8Bit = true;}
+ void setText(const UChar* c, unsigned len) { m_data.characters16 = c; m_len = len; m_is8Bit = false;}
+ void setCharactersLength(unsigned charactersLength) { m_charactersLength = charactersLength; }
#if ENABLE(SVG)
float horizontalGlyphStretch() const { return m_horizontalGlyphStretch; }
@@ -159,9 +218,12 @@ public:
private:
static bool s_allowsRoundingHacks;
- const UChar* m_characters;
- int m_charactersLength; // Marks the end of the m_characters buffer. Default equals to m_len.
- int m_len;
+ union {
+ const LChar* characters8;
+ const UChar* characters16;
+ } m_data;
+ unsigned m_charactersLength; // Marks the end of the characters buffer. Default equals to m_len.
+ unsigned m_len;
// m_xpos is the x position relative to the left start of the text line, not relative to the left
// start of the containing block. In the case of right alignment or center alignment, left start of
@@ -173,6 +235,7 @@ private:
float m_expansion;
ExpansionBehavior m_expansionBehavior : 2;
+ unsigned m_is8Bit : 1;
unsigned m_allowTabs : 1;
unsigned m_direction : 1;
unsigned m_directionalOverride : 1; // Was this direction set by an override character.
diff --git a/Source/WebCore/platform/graphics/TiledBacking.h b/Source/WebCore/platform/graphics/TiledBacking.h
index cfa36b19f..70012b117 100644
--- a/Source/WebCore/platform/graphics/TiledBacking.h
+++ b/Source/WebCore/platform/graphics/TiledBacking.h
@@ -40,6 +40,7 @@ public:
virtual void visibleRectChanged(const IntRect&) = 0;
virtual void setIsInWindow(bool) = 0;
virtual void setCanHaveScrollbars(bool) = 0;
+ virtual void forceRepaint() = 0;
void setScrollingPerformanceLoggingEnabled(bool flag) { m_scrollingPerformanceLoggingEnabled = flag; }
bool scrollingPerformanceLoggingEnabled() const { return m_scrollingPerformanceLoggingEnabled; }
diff --git a/Source/WebCore/platform/graphics/TiledBackingStore.cpp b/Source/WebCore/platform/graphics/TiledBackingStore.cpp
index b485dcf17..a19f6a616 100644
--- a/Source/WebCore/platform/graphics/TiledBackingStore.cpp
+++ b/Source/WebCore/platform/graphics/TiledBackingStore.cpp
@@ -91,8 +91,8 @@ void TiledBackingStore::invalidate(const IntRect& contentsDirtyRect)
Tile::Coordinate topLeft = tileCoordinateForPoint(coveredDirtyRect.location());
Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(coveredDirtyRect));
- for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
+ for (int yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (int xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
RefPtr<Tile> currentTile = tileAt(Tile::Coordinate(xCoordinate, yCoordinate));
if (!currentTile)
continue;
@@ -152,8 +152,8 @@ void TiledBackingStore::paint(GraphicsContext* context, const IntRect& rect)
Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
- for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
+ for (int yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (int xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
Tile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
RefPtr<Tile> currentTile = tileAt(currentCoordinate);
if (currentTile && currentTile->isReadyToPaint())
@@ -221,8 +221,8 @@ float TiledBackingStore::coverageRatio(const WebCore::IntRect& contentsRect) con
Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
- for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
+ for (int yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (int xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
Tile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
RefPtr<Tile> currentTile = tileAt(currentCoordinate);
if (currentTile && currentTile->isReadyToPaint()) {
@@ -278,8 +278,8 @@ void TiledBackingStore::createTiles()
// inside the visible rect.
Tile::Coordinate topLeft = tileCoordinateForPoint(coverRect.location());
Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(coverRect));
- for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
- for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
+ for (int yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
+ for (int xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
Tile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
if (tileAt(currentCoordinate))
continue;
diff --git a/Source/WebCore/platform/graphics/WidthIterator.cpp b/Source/WebCore/platform/graphics/WidthIterator.cpp
index b23d4c9a4..85d820ff1 100644
--- a/Source/WebCore/platform/graphics/WidthIterator.cpp
+++ b/Source/WebCore/platform/graphics/WidthIterator.cpp
@@ -57,7 +57,7 @@ WidthIterator::WidthIterator(const Font* font, const TextRun& run, HashSet<const
m_expansionPerOpportunity = 0;
else {
bool isAfterExpansion = m_isAfterExpansion;
- unsigned expansionOpportunityCount = Font::expansionOpportunityCount(m_run.characters(), m_run.length(), m_run.ltr() ? LTR : RTL, isAfterExpansion);
+ unsigned expansionOpportunityCount = m_run.is8Bit() ? Font::expansionOpportunityCount(m_run.characters8(), m_run.length(), m_run.ltr() ? LTR : RTL, isAfterExpansion) : Font::expansionOpportunityCount(m_run.characters16(), m_run.length(), m_run.ltr() ? LTR : RTL, isAfterExpansion);
if (isAfterExpansion && !m_run.allowsTrailingExpansion())
expansionOpportunityCount--;
@@ -106,7 +106,7 @@ unsigned WidthIterator::advance(int offset, GlyphBuffer* glyphBuffer)
UChar32 character = 0;
unsigned clusterLength = 0;
- SurrogatePairAwareTextIterator textIterator(m_run.data(m_currentCharacter), m_currentCharacter, offset, m_run.length());
+ SurrogatePairAwareTextIterator textIterator(m_run.data16(m_currentCharacter), m_currentCharacter, offset, m_run.length());
while (textIterator.consume(character, clusterLength)) {
unsigned advanceLength = clusterLength;
const GlyphData& glyphData = glyphDataForCharacter(character, rtl, textIterator.currentCharacter(), advanceLength);
diff --git a/Source/WebCore/platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp b/Source/WebCore/platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp
index f1081ef76..d3002cfd1 100644
--- a/Source/WebCore/platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp
@@ -47,10 +47,10 @@ PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(Attributes attribs, Host
if (renderStyle == RenderDirectlyToHostWindow)
return 0;
- return adoptRef(new GraphicsContext3D(attribs, hostWindow, false));
+ return adoptRef(new GraphicsContext3D(attribs, hostWindow, renderStyle));
}
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow*, bool renderDirectlyToHostWindow)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow*, GraphicsContext3D::RenderStyle renderStyle)
: m_currentWidth(0)
, m_currentHeight(0)
, m_context(BlackBerry::Platform::Graphics::createWebGLContext())
@@ -67,7 +67,7 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWi
, m_boundTexture0(0)
, m_isImaginationHardware(0)
{
- if (!renderDirectlyToHostWindow) {
+ if (renderStyle != RenderDirectlyToHostWindow) {
#if USE(ACCELERATED_COMPOSITING)
m_compositingLayer = WebGLLayerWebKitThread::create();
#endif
diff --git a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
index 545f30fa0..195070d3a 100644
--- a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp
@@ -319,16 +319,6 @@ bool GraphicsLayerBlackBerry::setFilters(const FilterOperations& filters)
}
#endif
-void GraphicsLayerBlackBerry::setBoundsOrigin(const FloatPoint& origin)
-{
- if (origin == m_boundsOrigin)
- return;
-
- GraphicsLayer::setBoundsOrigin(origin);
- updateBoundsOrigin();
-
-}
-
void GraphicsLayerBlackBerry::setBackgroundColor(const Color& color)
{
if (m_backgroundColorSet && m_backgroundColor == color)
@@ -714,11 +704,6 @@ void GraphicsLayerBlackBerry::updateAnchorPoint()
updateLayerPosition();
}
-void GraphicsLayerBlackBerry::updateBoundsOrigin()
-{
- primaryLayer()->setBoundsOrigin(m_boundsOrigin);
-}
-
void GraphicsLayerBlackBerry::updateTransform()
{
primaryLayer()->setTransform(m_transform);
diff --git a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.h b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.h
index 811dd88ba..d8d6b6ae9 100644
--- a/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.h
+++ b/Source/WebCore/platform/graphics/blackberry/GraphicsLayerBlackBerry.h
@@ -85,8 +85,6 @@ public:
const FilterOperations& filters() const { return m_filters; }
#endif
- virtual void setBoundsOrigin(const FloatPoint&);
-
virtual void setBackgroundColor(const Color&);
virtual void clearBackgroundColor();
@@ -145,7 +143,6 @@ private:
void updateLayerPosition();
void updateLayerSize();
void updateAnchorPoint();
- void updateBoundsOrigin();
void updateTransform();
void updateChildrenTransform();
void updateMasksToBounds();
diff --git a/Source/WebCore/platform/graphics/blackberry/IconBlackBerry.cpp b/Source/WebCore/platform/graphics/blackberry/IconBlackBerry.cpp
index 93a4b0faa..a1357f1e2 100644
--- a/Source/WebCore/platform/graphics/blackberry/IconBlackBerry.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/IconBlackBerry.cpp
@@ -22,7 +22,7 @@
#include "GraphicsContext.h"
#include "IntRect.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp b/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp
index 8f3a2bb56..706d6ab67 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.cpp
@@ -475,8 +475,6 @@ bool LayerCompositingThread::updateAnimations(double currentTime)
m_transform = m_override->transform();
if (m_override->isOpacitySet())
m_opacity = m_override->opacity();
- if (m_override->isBoundsOriginSet())
- m_boundsOrigin = m_override->boundsOrigin();
for (size_t i = 0; i < m_override->animations().size(); ++i) {
LayerAnimation* animation = m_override->animations()[i].get();
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.h b/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.h
index fed7ebae5..85385ed2c 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.h
+++ b/Source/WebCore/platform/graphics/blackberry/LayerCompositingThread.h
@@ -83,10 +83,6 @@ public:
float opacity() const { return m_opacity; }
void setOpacity(float opacity) { m_opacity = opacity; m_opacitySet = true; }
- bool isBoundsOriginSet() const { return m_boundsOriginSet; }
- FloatPoint boundsOrigin() const { return m_boundsOrigin; }
- void setBoundsOrigin(const FloatPoint& origin) { m_boundsOrigin = origin; m_boundsOriginSet = true; }
-
const Vector<RefPtr<LayerAnimation> >& animations() const { return m_animations; }
void addAnimation(PassRefPtr<LayerAnimation> animation) { m_animations.append(animation); }
void removeAnimation(const String& name);
@@ -99,7 +95,6 @@ private:
, m_boundsSet(false)
, m_transformSet(false)
, m_opacitySet(false)
- , m_boundsOriginSet(false)
{
}
@@ -108,7 +103,6 @@ private:
IntSize m_bounds;
TransformationMatrix m_transform;
float m_opacity;
- FloatPoint m_boundsOrigin;
Vector<RefPtr<LayerAnimation> > m_animations;
@@ -117,7 +111,6 @@ private:
unsigned m_boundsSet : 1;
unsigned m_transformSet : 1;
unsigned m_opacitySet : 1;
- unsigned m_boundsOriginSet : 1;
};
class LayerFilterRendererAction;
@@ -141,7 +134,6 @@ public:
// These functions can also be used to update animated properties in LayerAnimation.
void setPosition(const FloatPoint& position) { m_position = position; }
void setAnchorPoint(const FloatPoint& anchorPoint) { m_anchorPoint = anchorPoint; }
- void setBoundsOrigin(const FloatPoint& boundsOrigin) { m_boundsOrigin = boundsOrigin; }
void setBounds(const IntSize& bounds) { m_bounds = bounds; }
void setSizeIsScaleInvariant(bool invariant) { m_sizeIsScaleInvariant = invariant; }
void setTransform(const TransformationMatrix& matrix) { m_transform = matrix; }
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerData.h b/Source/WebCore/platform/graphics/blackberry/LayerData.h
index de4b51fd1..50be08af5 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerData.h
+++ b/Source/WebCore/platform/graphics/blackberry/LayerData.h
@@ -38,9 +38,9 @@
#include "FloatPoint.h"
#include "FloatRect.h"
#include "IntRect.h"
-#include "PlatformString.h"
#include "TransformationMatrix.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
#if USE(ACCELERATED_COMPOSITING)
@@ -141,8 +141,6 @@ public:
FloatPoint position() const { return m_position; }
- FloatPoint boundsOrigin() const { return m_boundsOrigin; }
-
// This is currently only used for perspective transform, see GraphicsLayer::setChildrenTransform()
const TransformationMatrix& sublayerTransform() const { return m_sublayerTransform; }
@@ -190,7 +188,6 @@ protected:
IntSize m_bounds;
FloatPoint m_position;
FloatPoint m_anchorPoint;
- FloatPoint m_boundsOrigin;
Color m_backgroundColor;
Color m_borderColor;
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp b/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp
index 3da499ffa..60d2687f4 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp
@@ -26,7 +26,6 @@
#include "LayerCompositingThread.h"
#include "LayerRenderer.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "TextureCacheCompositingThread.h"
#include <BlackBerryPlatformGraphics.h>
@@ -35,6 +34,7 @@
#include <cstring>
#include <limits>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -63,7 +63,7 @@ static int operationTypeToProgramID(const FilterOperation::OperationType& t)
return LayerData::CSSFilterShaderShadow;
#if ENABLE(CSS_SHADERS)
case FilterOperation::CUSTOM:
- return LayerData::CSSFilterCustom;
+ return LayerData::CSSFilterShaderCustom;
#endif
default:
ASSERT_NOT_REACHED();
@@ -71,7 +71,7 @@ static int operationTypeToProgramID(const FilterOperation::OperationType& t)
}
}
-Uniformf::Uniformf(int c_location)
+Uniform::Uniform(int c_location)
: m_location(c_location)
{
}
@@ -81,13 +81,29 @@ void Uniform1f::apply()
glUniform1f(location(), m_val);
}
-PassRefPtr<Uniformf> Uniform1f::create(int location, float val)
+PassRefPtr<Uniform> Uniform1f::create(int location, float val)
{
return adoptRef(new Uniform1f(location, val));
}
Uniform1f::Uniform1f(int c_location, float c_val)
- : Uniformf(c_location)
+ : Uniform(c_location)
+ , m_val(c_val)
+{
+}
+
+void Uniform1i::apply()
+{
+ glUniform1i(location(), m_val);
+}
+
+PassRefPtr<Uniform> Uniform1i::create(int location, int val)
+{
+ return adoptRef(new Uniform1i(location, val));
+}
+
+Uniform1i::Uniform1i(int c_location, int c_val)
+ : Uniform(c_location)
, m_val(c_val)
{
}
@@ -97,13 +113,13 @@ void Uniform2f::apply()
glUniform2f(location(), m_val[0], m_val[1]);
}
-PassRefPtr<Uniformf> Uniform2f::create(int location, float val0, float val1)
+PassRefPtr<Uniform> Uniform2f::create(int location, float val0, float val1)
{
return adoptRef(new Uniform2f(location, val0, val1));
}
Uniform2f::Uniform2f(int c_location, float c_val0, float c_val1)
- : Uniformf(c_location)
+ : Uniform(c_location)
{
m_val[0] = c_val0;
m_val[1] = c_val1;
@@ -114,19 +130,111 @@ void Uniform3f::apply()
glUniform3f(location(), m_val[0], m_val[1], m_val[2]);
}
-PassRefPtr<Uniformf> Uniform3f::create(int location, float val0, float val1, float val2)
+PassRefPtr<Uniform> Uniform3f::create(int location, float val0, float val1, float val2)
{
return adoptRef(new Uniform3f(location, val0, val1, val2));
}
Uniform3f::Uniform3f(int c_location, float c_val0, float c_val1, float c_val2)
- : Uniformf(c_location)
+ : Uniform(c_location)
{
m_val[0] = c_val0;
m_val[1] = c_val1;
m_val[2] = c_val2;
}
+void Uniform4f::apply()
+{
+ glUniform4f(location(), m_val[0], m_val[1], m_val[2], m_val[3]);
+}
+
+PassRefPtr<Uniform> Uniform4f::create(int location, float val0, float val1, float val2, float val3)
+{
+ return adoptRef(new Uniform4f(location, val0, val1, val2, val3));
+}
+
+Uniform4f::Uniform4f(int c_location, float c_val0, float c_val1, float c_val2, float c_val3)
+ : Uniform(c_location)
+{
+ m_val[0] = c_val0;
+ m_val[1] = c_val1;
+ m_val[2] = c_val2;
+ m_val[3] = c_val3;
+}
+
+void Matrix4fv::apply()
+{
+ glUniformMatrix4fv(location(), m_size, m_transpose, m_array);
+}
+
+PassRefPtr<Parameter> Matrix4fv::create(GLint location, GLsizei size, GLboolean transpose, GLfloat* array)
+{
+ return adoptRef(new Matrix4fv(location, size, transpose, array));
+}
+
+Matrix4fv::Matrix4fv(GLint clocation, GLsizei size, GLboolean transpose, GLfloat* array)
+ : Uniform(clocation)
+ , m_size(size)
+ , m_transpose(transpose)
+ , m_array(0)
+{
+ m_array = new GLfloat[size * 4 * 4];
+ std::memcpy(m_array, array, size * 4 * 4 * sizeof(GLfloat));
+}
+
+Matrix4fv::~Matrix4fv()
+{
+ delete[] m_array;
+}
+
+void Buffer::apply()
+{
+ glBindBuffer(m_buffer, m_object);
+}
+
+void Buffer::restoreState()
+{
+ glBindBuffer(m_buffer, 0);
+}
+
+PassRefPtr<Parameter> Buffer::create(GLenum buffer, GLuint object)
+{
+ return adoptRef(new Buffer(buffer, object));
+}
+
+Buffer::Buffer(GLenum buffer, GLuint object)
+ : Parameter()
+ , m_buffer(buffer)
+ , m_object(object)
+{
+}
+
+void VertexAttribf::apply()
+{
+ glVertexAttribPointer(m_location, m_size, GL_FLOAT, false, m_bytesPerVertex, reinterpret_cast<GLvoid*>(static_cast<intptr_t>(m_offset)));
+ glEnableVertexAttribArray(m_location);
+}
+
+void VertexAttribf::restoreState()
+{
+ glDisableVertexAttribArray(m_location);
+}
+
+PassRefPtr<Parameter> VertexAttribf::create(int location, int size, int bytesPerVertex, int offset)
+{
+ return adoptRef(new VertexAttribf(location, size, bytesPerVertex, offset));
+}
+
+
+VertexAttribf::VertexAttribf(int location, int size, int bytesPerVertex, int offset)
+ : Parameter()
+ , m_location(location)
+ , m_size(size)
+ , m_bytesPerVertex(bytesPerVertex)
+ , m_offset(offset)
+{
+}
+
PassRefPtr<LayerFilterRendererAction> LayerFilterRendererAction::create(int programId)
{
return adoptRef(new LayerFilterRendererAction(programId));
@@ -134,8 +242,10 @@ PassRefPtr<LayerFilterRendererAction> LayerFilterRendererAction::create(int prog
LayerFilterRendererAction::LayerFilterRendererAction(int c_programId)
: m_programId(c_programId)
+ , m_customId(-1)
, m_pushSnapshot(false)
, m_popSnapshot(false)
+ , m_drawingMode(DrawTriangleFanArrays)
{
}
@@ -147,8 +257,14 @@ void LayerFilterRendererAction::useActionOn(LayerFilterRenderer* renderer)
return;
}
glUseProgram(renderer->m_cssFilterProgramObject[m_programId]);
- for (unsigned i = 0; i < m_uniforms.size(); ++i)
- m_uniforms[i]->apply();
+ for (unsigned i = 0; i < m_parameters.size(); ++i)
+ m_parameters[i]->apply();
+}
+
+void LayerFilterRendererAction::restoreState()
+{
+ for (unsigned i = 0; i < m_parameters.size(); ++i)
+ m_parameters[i]->restoreState();
}
PassOwnPtr<LayerFilterRenderer> LayerFilterRenderer::create(const int& positionLocation, const int& texCoordLocation)
@@ -160,6 +276,9 @@ LayerFilterRenderer::LayerFilterRenderer(const int& positionLocation, const int&
: m_positionLocation(positionLocation)
, m_texCoordLocation(texCoordLocation)
{
+ // If you ever move this stuff, please make sure that
+ // everything in this constructor is called BEFORE actionsForOperations.
+
for (int i = 0; i < LayerData::NumberOfCSSFilterShaders; ++i)
m_cssFilterProgramObject[i] = 0;
@@ -429,14 +548,14 @@ Vector<RefPtr<LayerFilterRendererAction> > LayerFilterRenderer::actionsForOperat
case FilterOperation::SEPIA:
case FilterOperation::SATURATE:
case FilterOperation::HUE_ROTATE:
- ret.last()->appendUniform(Uniform1f::create(m_amountLocation[programId]
+ ret.last()->appendParameter(Uniform1f::create(m_amountLocation[programId]
, static_cast<const BasicColorMatrixFilterOperation&>(operation).amount()));
break;
case FilterOperation::INVERT:
case FilterOperation::BRIGHTNESS:
case FilterOperation::CONTRAST:
case FilterOperation::OPACITY:
- ret.last()->appendUniform(Uniform1f::create(m_amountLocation[programId]
+ ret.last()->appendParameter(Uniform1f::create(m_amountLocation[programId]
, static_cast<const BasicComponentTransferFilterOperation&>(operation).amount()));
break;
case FilterOperation::BLUR:
@@ -449,14 +568,14 @@ Vector<RefPtr<LayerFilterRendererAction> > LayerFilterRenderer::actionsForOperat
double amount = static_cast<const BlurFilterOperation&>(operation).stdDeviation().value();
// BLUR Y:
- ret.last()->appendUniform(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurY], amount));
- ret.last()->appendUniform(Uniform1f::create(m_blurAmountLocation[0]
+ ret.last()->appendParameter(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurY], amount));
+ ret.last()->appendParameter(Uniform1f::create(m_blurAmountLocation[0]
, 1.0f / float(surface->size().height())));
// BLUR X:
ret.append(LayerFilterRendererAction::create(LayerData::CSSFilterShaderBlurX));
- ret.last()->appendUniform(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurX], amount));
- ret.last()->appendUniform(Uniform1f::create(m_blurAmountLocation[1]
+ ret.last()->appendParameter(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurX], amount));
+ ret.last()->appendParameter(Uniform1f::create(m_blurAmountLocation[1]
, 1.0f / float(surface->size().width())));
}
@@ -471,26 +590,26 @@ Vector<RefPtr<LayerFilterRendererAction> > LayerFilterRenderer::actionsForOperat
// 4. repaint original on top of mask
const DropShadowFilterOperation& dsfo = static_cast<const DropShadowFilterOperation&>(operation);
ret.last()->setPushSnapshot();
- ret.last()->appendUniform(Uniform2f::create(m_offsetLocation
+ ret.last()->appendParameter(Uniform2f::create(m_offsetLocation
, float(dsfo.x()) / float(surface->size().width())
, float(dsfo.y()) / float(surface->size().height())));
- ret.last()->appendUniform(Uniform3f::create(m_shadowColorLocation
+ ret.last()->appendParameter(Uniform3f::create(m_shadowColorLocation
, float(dsfo.color().red()) / 255.0f
, float(dsfo.color().green()) / 255.0f
, float(dsfo.color().blue()) / 255.0f));
// BLUR Y
ret.append(LayerFilterRendererAction::create(LayerData::CSSFilterShaderBlurY));
- ret.last()->appendUniform(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurY]
+ ret.last()->appendParameter(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurY]
, dsfo.stdDeviation()));
- ret.last()->appendUniform(Uniform1f::create(m_blurAmountLocation[0]
+ ret.last()->appendParameter(Uniform1f::create(m_blurAmountLocation[0]
, 1.0f / float(surface->size().height())));
// BLUR X
ret.append(LayerFilterRendererAction::create(LayerData::CSSFilterShaderBlurX));
- ret.last()->appendUniform(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurX]
+ ret.last()->appendParameter(Uniform1f::create(m_amountLocation[LayerData::CSSFilterShaderBlurX]
, dsfo.stdDeviation()));
- ret.last()->appendUniform(Uniform1f::create(m_blurAmountLocation[1]
+ ret.last()->appendParameter(Uniform1f::create(m_blurAmountLocation[1]
, 1.0f / float(surface->size().width())));
// Repaint original image
@@ -575,7 +694,24 @@ void LayerFilterRenderer::applyActions(unsigned& fbo, LayerCompositingThread* la
if (actions[i]->shouldPopSnapshot())
popSnapshot();
- glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
+ switch (actions[i]->drawingMode()) {
+ case LayerFilterRendererAction::DrawTriangleFanArrays:
+ glDrawArrays(GL_TRIANGLE_FAN, 0, 4);
+ break;
+ case LayerFilterRendererAction::DrawTriangleElementsUShort0:
+ glDrawElements(GL_TRIANGLES, actions[i]->drawingModeParameter(), GL_UNSIGNED_SHORT, reinterpret_cast<GLvoid*>(static_cast<intptr_t>(0)));
+ break;
+ case LayerFilterRendererAction::NumberOfDrawingModes:
+ ASSERT_NOT_REACHED();
+ break;
+ }
+
+ actions[i]->restoreState();
+
+ glVertexAttribPointer(m_positionLocation, 2, GL_FLOAT, GL_FALSE, 0, &layer->getTransformedBounds() );
+ glEnableVertexAttribArray(m_positionLocation);
+ glVertexAttribPointer(m_texCoordLocation, 2, GL_FLOAT, GL_FALSE, 0, texcoords);
+ glEnableVertexAttribArray(m_texCoordLocation);
}
m_texture->unprotect();
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.h b/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.h
index 7ca93e470..3b28d08ab 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.h
+++ b/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.h
@@ -23,7 +23,6 @@
#include "IntRect.h"
#include "LayerData.h"
-#include "OwnPtr.h"
#include "Texture.h"
#include "TransformationMatrix.h"
@@ -31,6 +30,7 @@
#include <BlackBerryPlatformIntRectRegion.h>
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
+#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
@@ -41,22 +41,33 @@ class LayerFilterRenderer;
class LayerFilterRendererAction;
class LayerRendererSurface;
-class Uniformf : public RefCounted<Uniformf> {
- WTF_MAKE_NONCOPYABLE(Uniformf);
+class Parameter : public RefCounted<Parameter> {
+ WTF_MAKE_NONCOPYABLE(Parameter);
public:
virtual void apply() = 0;
+ virtual void restoreState() { }
+ virtual ~Parameter() { }
+protected:
+ explicit Parameter() { }
+};
+
+class Uniform : public Parameter {
+ WTF_MAKE_NONCOPYABLE(Uniform);
+public:
+ virtual void apply() = 0;
+ virtual ~Uniform() { }
protected:
- Uniformf(int location);
+ Uniform(int location);
const int& location() const { return m_location; }
private:
int m_location;
};
-class Uniform1f : public Uniformf {
+class Uniform1f : public Uniform {
public:
- static PassRefPtr<Uniformf> create(int location, float val);
+ static PassRefPtr<Uniform> create(int location, float val);
protected:
Uniform1f(int location, float val);
@@ -66,9 +77,21 @@ private:
float m_val;
};
-class Uniform2f : public Uniformf {
+class Uniform1i : public Uniform {
+public:
+ static PassRefPtr<Uniform> create(int location, int val);
+
+protected:
+ Uniform1i(int location, int val);
+
+private:
+ virtual void apply();
+ int m_val;
+};
+
+class Uniform2f : public Uniform {
public:
- static PassRefPtr<Uniformf> create(int location, float val0, float val1);
+ static PassRefPtr<Uniform> create(int location, float val0, float val1);
protected:
Uniform2f(int location, float val0, float val1);
@@ -78,9 +101,9 @@ private:
float m_val[2];
};
-class Uniform3f : public Uniformf {
+class Uniform3f : public Uniform {
public:
- static PassRefPtr<Uniformf> create(int location, float val0, float val1, float val2);
+ static PassRefPtr<Uniform> create(int location, float val0, float val1, float val2);
protected:
Uniform3f(int location, float val0, float val1, float val2);
@@ -90,6 +113,64 @@ private:
float m_val[3];
};
+class Uniform4f : public Uniform {
+public:
+ static PassRefPtr<Uniform> create(int location, float val0, float val1, float val2, float val3);
+
+protected:
+ Uniform4f(int location, float val0, float val1, float val2, float val3);
+
+private:
+ virtual void apply();
+ float m_val[4];
+};
+
+class Matrix4fv : public Uniform {
+public:
+ static PassRefPtr<Parameter> create(GLint location, GLsizei, GLboolean transpose, GLfloat* array);
+
+protected:
+ Matrix4fv(GLint location, GLsizei length, GLboolean transpose, GLfloat* array);
+ ~Matrix4fv();
+
+private:
+ virtual void apply();
+ GLint m_location;
+ GLsizei m_size;
+ GLboolean m_transpose;
+ GLfloat* m_array;
+};
+
+class Buffer : public Parameter {
+public:
+ static PassRefPtr<Parameter> create(GLenum buffer, GLuint index);
+
+protected:
+ Buffer(GLenum buffer, GLuint index);
+
+private:
+ virtual void apply();
+ virtual void restoreState();
+ GLenum m_buffer;
+ GLuint m_object;
+};
+
+class VertexAttribf : public Parameter {
+public:
+ static PassRefPtr<Parameter> create(int location, int size, int bytesPerVertex, int offset);
+
+protected:
+ VertexAttribf(int location, int size, int bytesPerVertex, int offset);
+
+private:
+ virtual void apply();
+ virtual void restoreState();
+ int m_location;
+ int m_size;
+ int m_bytesPerVertex;
+ int m_offset;
+};
+
class LayerFilterRendererAction : public RefCounted<LayerFilterRendererAction> {
public:
static PassRefPtr<LayerFilterRendererAction> create(int programId);
@@ -102,15 +183,33 @@ public:
bool shouldPopSnapshot() const { return m_popSnapshot; }
void setPopSnapshot() { m_popSnapshot = true; }
- void appendUniform(const RefPtr<Uniformf>& uniform) { m_uniforms.append(uniform); }
+ void appendParameter(const RefPtr<Parameter>& uniform) { m_parameters.append(uniform); }
void useActionOn(LayerFilterRenderer*);
+ void restoreState();
+
+ enum DrawingMode {
+ DrawTriangleFanArrays = 0,
+ DrawTriangleElementsUShort0,
+ NumberOfDrawingModes
+ };
+
+ DrawingMode drawingMode() const { return m_drawingMode; }
+ void setDrawingMode(const DrawingMode& mode) { m_drawingMode = mode; }
+
+ int drawingModeParameter() const { return m_drawingModeParameter; }
+ void setDrawingModeParameter(int p) { m_drawingModeParameter = p; }
+
protected:
int m_programId;
bool m_pushSnapshot;
bool m_popSnapshot;
- Vector<RefPtr<Uniformf> > m_uniforms;
+ Vector<RefPtr<Parameter> > m_parameters;
+
+ DrawingMode m_drawingMode;
+ int m_drawingModeParameter;
+
private:
LayerFilterRendererAction(int programId);
};
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp b/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp
index db218a54e..4fd63cedd 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/LayerRenderer.cpp
@@ -38,7 +38,6 @@
#include "LayerCompositingThread.h"
#include "LayerFilterRenderer.h"
-#include "PlatformString.h"
#include "TextureCacheCompositingThread.h"
#include <BlackBerryPlatformGraphics.h>
@@ -46,10 +45,10 @@
#include <EGL/egl.h>
#include <limits>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#define ENABLE_SCISSOR 1
-#define DEBUG_SHADER_COMPILATION 0
#define DEBUG_LAYER_ANIMATIONS 0 // Show running animations as green.
#define DEBUG_CLIPPING 0
@@ -76,12 +75,10 @@ GLuint LayerRenderer::loadShader(GLenum type, const char* shaderSource)
GLint compiled;
glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
if (!compiled) {
-#if DEBUG_SHADER_COMPILATION
char infoLog[2048];
GLsizei length;
glGetShaderInfoLog(shader, 2048, &length, infoLog);
- fprintf(stderr, "Failed to compile shader: %s", infoLog);
-#endif
+ BlackBerry::Platform::logAlways(BlackBerry::Platform::LogLevelCritical, "Failed to compile shader:\n%s\nlog: %s", shaderSource, infoLog);
glDeleteShader(shader);
return 0;
}
@@ -808,7 +805,6 @@ void LayerRenderer::updateLayersRecursive(LayerCompositingThread* layer, const T
// The matrix passed down to the sublayers is therefore:
// M[s] = M * Tr[-center]
localMatrix.translate3d(-bounds.width() * 0.5, -bounds.height() * 0.5, 0);
- localMatrix.translate(-layer->boundsOrigin().x(), -layer->boundsOrigin().y());
const Vector<RefPtr<LayerCompositingThread> >& sublayers = layer->getSublayers();
for (size_t i = 0; i < sublayers.size(); i++)
@@ -1132,43 +1128,31 @@ bool LayerRenderer::initializeSharedGLObjects()
m_layerProgramObject[LayerData::LayerProgramShaderRGBA] =
loadShaderProgram(vertexShaderString, fragmentShaderStringRGBA);
- if (!m_layerProgramObject[LayerData::LayerProgramShaderRGBA]) {
+ if (!m_layerProgramObject[LayerData::LayerProgramShaderRGBA])
LOG_ERROR("Failed to create shader program for RGBA layers");
- return false;
- }
m_layerProgramObject[LayerData::LayerProgramShaderBGRA] =
loadShaderProgram(vertexShaderString, fragmentShaderStringBGRA);
- if (!m_layerProgramObject[LayerData::LayerProgramShaderBGRA]) {
+ if (!m_layerProgramObject[LayerData::LayerProgramShaderBGRA])
LOG_ERROR("Failed to create shader program for BGRA layers");
- return false;
- }
m_layerMaskProgramObject[LayerData::LayerProgramShaderRGBA] =
loadShaderProgram(vertexShaderString, fragmentShaderStringMaskRGBA);
- if (!m_layerMaskProgramObject[LayerData::LayerProgramShaderRGBA]) {
+ if (!m_layerMaskProgramObject[LayerData::LayerProgramShaderRGBA])
LOG_ERROR("Failed to create shader mask program for RGBA layers");
- return false;
- }
m_layerMaskProgramObject[LayerData::LayerProgramShaderBGRA] =
loadShaderProgram(vertexShaderString, fragmentShaderStringMaskBGRA);
- if (!m_layerMaskProgramObject[LayerData::LayerProgramShaderBGRA]) {
+ if (!m_layerMaskProgramObject[LayerData::LayerProgramShaderBGRA])
LOG_ERROR("Failed to create shader mask program for BGRA layers");
- return false;
- }
m_colorProgramObject = loadShaderProgram(colorVertexShaderString, colorFragmentShaderString);
- if (!m_colorProgramObject) {
+ if (!m_colorProgramObject)
LOG_ERROR("Failed to create shader program for debug borders");
- return false;
- }
m_checkerProgramObject = loadShaderProgram(colorVertexShaderString, checkerFragmentShaderString.data());
- if (!m_checkerProgramObject) {
+ if (!m_checkerProgramObject)
LOG_ERROR("Failed to create shader program for checkerboard pattern");
- return false;
- }
// Specify the attrib location for the position and make it the same for all programs to
// avoid binding re-binding the vertex attributes.
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp b/Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp
index 9f5c6af3e..83eacacc0 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/LayerTiler.cpp
@@ -30,6 +30,7 @@
#include "TextureCacheCompositingThread.h"
#include <BlackBerryPlatformScreen.h>
+#include <BlackBerryPlatformSettings.h>
#include <GLES2/gl2.h>
using namespace std;
@@ -327,7 +328,7 @@ bool LayerTiler::shouldPerformRenderJob(const TileIndex& index, bool allowPrefil
// Or if they are visible according to the state that's about to be
// committed. We do a visibility test using the current transform state.
IntRect contentRect = rectForTile(index, m_pendingTextureSize);
- return m_layer->contentsVisible(contentRect);
+ return m_layer->contentsVisible(LayerWebKitThread::mapFromTransformed(contentRect, m_contentsScale));
}
void LayerTiler::addTextureJob(const TextureJob& job)
@@ -694,19 +695,9 @@ void LayerTiler::scheduleCommit()
bool LayerTiler::shouldPrefillTile(const TileIndex& index)
{
- // For now, we use the heuristic of prefilling the first screenful of tiles.
- // This gives the correct result only for layers with identity transform,
- // which is why it's called a heuristic here. This is needed for the case
- // where the developer actually designed their web page around the use of
- // accelerated compositing, and expects even offscreen layers to have content.
- // We oblige them to some degree by prefilling a screenful of tiles.
- // This is redundant in some other scenarios, i.e. when an offscreen layer
- // is composited only because of overlapping a flash ad or something like
- // that, but we're willing to make this tradeoff.
-
- // Since the tileMultiplier indicates how many tiles fit on the screen,
- // the following formula can be used:
- return index.i() < static_cast<unsigned>(tileMultiplier) && index.j() < static_cast<unsigned>(tileMultiplier);
+ IntRect prefillTargetRect = BlackBerry::Platform::Settings::instance()->layerTilerPrefillRect();
+ IntRect tileRect = IntRect(originOfTile(index), tileSize());
+ return prefillTargetRect.intersects(tileRect);
}
TileIndex LayerTiler::indexOfTile(const WebCore::IntPoint& origin)
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp b/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp
index 4545cab17..42b8bed58 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.cpp
@@ -108,7 +108,7 @@ SkBitmap LayerWebKitThread::paintContents(const IntRect& contentsRect, double sc
OwnPtr<InstrumentedPlatformCanvas> canvas;
if (drawsContent()) { // Layer contents must be drawn into a canvas.
- IntRect untransformedContentsRect = contentsRect;
+ IntRect untransformedContentsRect = mapFromTransformed(contentsRect, scale);
SkBitmap canvasBitmap;
canvasBitmap.setConfig(SkBitmap::kARGB_8888_Config, contentsRect.width(), contentsRect.height());
@@ -123,18 +123,8 @@ SkBitmap LayerWebKitThread::paintContents(const IntRect& contentsRect, double sc
GraphicsContext graphicsContext(&skiaContext);
graphicsContext.translate(-contentsRect.x(), -contentsRect.y());
- if (scale != 1.0) {
- TransformationMatrix matrix;
- matrix.scale(1.0 / scale);
- untransformedContentsRect = matrix.mapRect(contentsRect);
-
- // We extract from the contentsRect but draw a slightly larger region than
- // we were told to, in order to avoid pixels being rendered only partially.
- const int atLeastOneDevicePixel = static_cast<int>(ceilf(1.0 / scale));
- untransformedContentsRect.inflate(atLeastOneDevicePixel);
-
+ if (scale != 1.0)
graphicsContext.scale(FloatSize(scale, scale));
- }
// RenderLayerBacking doesn't always clip, so we need to do this by ourselves.
graphicsContext.clip(untransformedContentsRect);
@@ -532,6 +522,24 @@ void LayerWebKitThread::releaseLayerResources()
replicaLayer()->releaseLayerResources();
}
+IntRect LayerWebKitThread::mapFromTransformed(const IntRect& contentsRect, double scale)
+{
+ IntRect untransformedContentsRect = contentsRect;
+
+ if (scale != 1.0) {
+ TransformationMatrix matrix;
+ matrix.scale(1.0 / scale);
+ untransformedContentsRect = matrix.mapRect(contentsRect);
+
+ // We extract from the contentsRect but draw a slightly larger region than
+ // we were told to, in order to avoid pixels being rendered only partially.
+ const int atLeastOneDevicePixel = static_cast<int>(ceilf(1.0 / scale));
+ untransformedContentsRect.inflate(atLeastOneDevicePixel);
+ }
+
+ return untransformedContentsRect;
+}
+
}
#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h b/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h
index 99ff1a3f6..b834d88c1 100644
--- a/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h
+++ b/Source/WebCore/platform/graphics/blackberry/LayerWebKitThread.h
@@ -107,8 +107,6 @@ public:
void setPosition(const FloatPoint& position) { m_position = position; setNeedsCommit(); }
- void setBoundsOrigin(const FloatPoint& boundsOrigin) { m_boundsOrigin = boundsOrigin; setNeedsCommit(); }
-
const LayerWebKitThread* rootLayer() const;
void removeAllSublayers();
@@ -162,6 +160,8 @@ public:
void releaseLayerResources();
+ static IntRect mapFromTransformed(const IntRect&, double scale);
+
protected:
LayerWebKitThread(LayerType, GraphicsLayerBlackBerry* owner);
diff --git a/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp b/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp
index d7f9acba6..b4e5ce33c 100644
--- a/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp
+++ b/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp
@@ -38,7 +38,8 @@
#include "TimeRanges.h"
#include "WebPageClient.h"
-#include <BlackBerryPlatformClient.h>
+#include <BlackBerryPlatformSettings.h>
+#include <FrameLoaderClientBlackBerry.h>
#include <set>
#include <string>
#include <wtf/text/CString.h>
@@ -139,7 +140,7 @@ void MediaPlayerPrivate::load(const String& url)
if (modifiedUrl.startsWith("local://")) {
KURL kurl = KURL(KURL(), modifiedUrl);
kurl.setProtocol("file");
- String tempPath(BlackBerry::Platform::Client::get()->getApplicationLocalDirectory().c_str());
+ String tempPath(BlackBerry::Platform::Settings::instance()->applicationLocalDirectory().c_str());
tempPath.append(kurl.path());
kurl.setPath(tempPath);
modifiedUrl = kurl.string();
@@ -695,25 +696,31 @@ static ProtectionSpace generateProtectionSpaceFromMMRAuthChallenge(const MMRAuth
static_cast<ProtectionSpaceAuthenticationScheme>(authChallenge.authScheme()));
}
-bool MediaPlayerPrivate::onAuthenticationNeeded(MMRAuthChallenge& authChallenge)
+void MediaPlayerPrivate::onAuthenticationNeeded(MMRAuthChallenge& authChallenge)
{
KURL url(ParsedURLString, String(authChallenge.url().c_str()));
if (!url.isValid())
- return false;
+ return;
ProtectionSpace protectionSpace = generateProtectionSpaceFromMMRAuthChallenge(authChallenge);
Credential credential = CredentialStorage::get(protectionSpace);
- bool isConfirmed = false;
- if (credential.isEmpty()) {
- isConfirmed = m_webCorePlayer->mediaPlayerClient()->mediaPlayerHostWindow()->platformPageClient()->authenticationChallenge(url, protectionSpace, credential);
+ if (!credential.isEmpty()) {
+ notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+ return;
+ }
- } else
- isConfirmed = true;
+ if (frameView() && frameView()->hostWindow())
+ frameView()->hostWindow()->platformPageClient()->authenticationChallenge(url, protectionSpace, credential, this);
+}
- if (isConfirmed)
- authChallenge.setCredential(credential.user().utf8().data(), credential.password().utf8().data(), static_cast<MMRAuthChallenge::CredentialPersistence>(credential.persistence()));
+void MediaPlayerPrivate::notifyChallengeResult(const KURL& url, const ProtectionSpace& protectionSpace, AuthenticationChallengeResult result, const Credential& credential)
+{
+ if (result != AuthenticationChallengeSuccess || !url.isValid())
+ return;
- return isConfirmed;
+ m_platformPlayer->reloadWithCredential(credential.user().utf8(true).data(),
+ credential.password().utf8(true).data(),
+ static_cast<MMRAuthChallenge::CredentialPersistence>(credential.persistence()));
}
void MediaPlayerPrivate::onAuthenticationAccepted(const MMRAuthChallenge& authChallenge) const
diff --git a/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h b/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h
index 570741ce2..289669261 100644
--- a/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h
+++ b/Source/WebCore/platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h
@@ -20,6 +20,7 @@
#define MediaPlayerPrivateBlackBerry_h
#if ENABLE(VIDEO)
+#include "AuthenticationChallengeManager.h"
#include "MediaPlayerPrivate.h"
#include <BlackBerryPlatformPlayer.h>
@@ -32,7 +33,7 @@ class WebPageClient;
namespace WebCore {
-class MediaPlayerPrivate : public MediaPlayerPrivateInterface, public BlackBerry::Platform::IPlatformPlayerListener {
+class MediaPlayerPrivate : public MediaPlayerPrivateInterface, public AuthenticationChallengeClient, public BlackBerry::Platform::IPlatformPlayerListener {
public:
virtual ~MediaPlayerPrivate();
@@ -132,9 +133,11 @@ public:
#if USE(ACCELERATED_COMPOSITING)
virtual void onBuffering(bool);
#endif
- virtual bool onAuthenticationNeeded(BlackBerry::Platform::MMRAuthChallenge&);
+ virtual void onAuthenticationNeeded(BlackBerry::Platform::MMRAuthChallenge&);
virtual void onAuthenticationAccepted(const BlackBerry::Platform::MMRAuthChallenge&) const;
+ virtual void notifyChallengeResult(const KURL&, const ProtectionSpace&, AuthenticationChallengeResult, const Credential&);
+
virtual bool isFullscreen() const;
virtual bool isElementPaused() const;
virtual bool isTabVisible() const;
diff --git a/Source/WebCore/platform/graphics/blackberry/skia/PlatformSupport.h b/Source/WebCore/platform/graphics/blackberry/skia/PlatformSupport.h
index bd22d86d7..3be9b0743 100644
--- a/Source/WebCore/platform/graphics/blackberry/skia/PlatformSupport.h
+++ b/Source/WebCore/platform/graphics/blackberry/skia/PlatformSupport.h
@@ -32,7 +32,7 @@
#ifndef PlatformSupport_h
#define PlatformSupport_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/ca/PlatformCALayer.h b/Source/WebCore/platform/graphics/ca/PlatformCALayer.h
index 1ed94115c..e412a1d85 100644
--- a/Source/WebCore/platform/graphics/ca/PlatformCALayer.h
+++ b/Source/WebCore/platform/graphics/ca/PlatformCALayer.h
@@ -31,7 +31,6 @@
#include "GraphicsContext.h"
#include "PlatformCAAnimation.h"
#include "PlatformCALayerClient.h"
-#include "PlatformString.h"
#include <QuartzCore/CABase.h>
#include <wtf/CurrentTime.h>
#include <wtf/HashMap.h>
@@ -40,6 +39,7 @@
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h b/Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h
index 938976c52..316606173 100644
--- a/Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h
+++ b/Source/WebCore/platform/graphics/ca/PlatformCALayerClient.h
@@ -31,13 +31,13 @@
#include "GraphicsContext.h"
#include "GraphicsLayer.h"
#include "PlatformCAAnimation.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm b/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
index c3679d726..ac8675584 100644
--- a/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
+++ b/Source/WebCore/platform/graphics/ca/mac/PlatformCAAnimationMac.mm
@@ -31,10 +31,10 @@
#import "FloatConversion.h"
#import "LengthFunctions.h"
-#import "PlatformString.h"
#import "TimingFunction.h"
#import <QuartzCore/QuartzCore.h>
#import <wtf/UnusedParam.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebCore/platform/graphics/ca/mac/TileCache.h b/Source/WebCore/platform/graphics/ca/mac/TileCache.h
index 9c56d676f..a7d33fbe5 100644
--- a/Source/WebCore/platform/graphics/ca/mac/TileCache.h
+++ b/Source/WebCore/platform/graphics/ca/mac/TileCache.h
@@ -82,7 +82,8 @@ private:
virtual void visibleRectChanged(const IntRect&) OVERRIDE;
virtual void setIsInWindow(bool) OVERRIDE;
virtual void setCanHaveScrollbars(bool) OVERRIDE;
-
+ virtual void forceRepaint() OVERRIDE;
+
IntRect bounds() const;
typedef IntPoint TileIndex;
diff --git a/Source/WebCore/platform/graphics/ca/mac/TileCache.mm b/Source/WebCore/platform/graphics/ca/mac/TileCache.mm
index 67027979d..a8ed4aaca 100644
--- a/Source/WebCore/platform/graphics/ca/mac/TileCache.mm
+++ b/Source/WebCore/platform/graphics/ca/mac/TileCache.mm
@@ -233,6 +233,11 @@ void TileCache::setCanHaveScrollbars(bool canHaveScrollbars)
scheduleTileRevalidation(0);
}
+void TileCache::forceRepaint()
+{
+ setNeedsDisplay();
+}
+
void TileCache::setTileDebugBorderWidth(float borderWidth)
{
if (m_tileDebugBorderWidth == borderWidth)
diff --git a/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h b/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h
index d44f9e1ee..1e63a501e 100644
--- a/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h
+++ b/Source/WebCore/platform/graphics/ca/mac/WebTileCacheLayer.h
@@ -22,6 +22,9 @@
* (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 WebTileCacheLayer_h
+#define WebTileCacheLayer_h
#import <QuartzCore/QuartzCore.h>
#import <wtf/OwnPtr.h>
@@ -41,3 +44,5 @@ namespace WebCore {
- (void)invalidate;
@end
+
+#endif // WebTileCacheLayer_h
diff --git a/Source/WebCore/platform/graphics/ca/mac/WebTileLayer.mm b/Source/WebCore/platform/graphics/ca/mac/WebTileLayer.mm
index 2e2bb268b..df88b623d 100644
--- a/Source/WebCore/platform/graphics/ca/mac/WebTileLayer.mm
+++ b/Source/WebCore/platform/graphics/ca/mac/WebTileLayer.mm
@@ -77,7 +77,7 @@ using namespace WebCore;
visiblePart.intersect(_tileCache->visibleRect());
if ([self repaintCount] == 1 && !visiblePart.isEmpty())
- printf("SCROLLING: Filled visible fresh tile. Time: %f Unfilled Pixels: %u\n", WTF::monotonicallyIncreasingTime(), _tileCache->blankPixelCount());
+ WTFLogAlways("SCROLLING: Filled visible fresh tile. Time: %f Unfilled Pixels: %u\n", WTF::monotonicallyIncreasingTime(), _tileCache->blankPixelCount());
}
@end
diff --git a/Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp b/Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp
index b4feaee68..f00fddeee 100644
--- a/Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp
+++ b/Source/WebCore/platform/graphics/ca/win/LayerChangesFlusher.cpp
@@ -95,7 +95,7 @@ LRESULT LayerChangesFlusher::hookFired(int code, WPARAM wParam, LPARAM lParam)
LRESULT result = ::CallNextHookEx(m_hook, code, wParam, lParam);
- if (m_hostsWithChangesToFlush.isEmpty()) {
+ if (m_hook && m_hostsWithChangesToFlush.isEmpty()) {
// We won't have any work to do next time around, so just remove our hook.
removeHook();
}
diff --git a/Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp b/Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp
index 4a71fe5f2..f1e46c208 100644
--- a/Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp
+++ b/Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp
@@ -30,7 +30,6 @@
#include "PlatformCAAnimation.h"
#include "FloatConversion.h"
-#include "PlatformString.h"
#include "TimingFunction.h"
#include <QuartzCore/CACFAnimation.h>
#include <QuartzCore/CACFTiming.h>
@@ -38,6 +37,7 @@
#include <QuartzCore/CACFValueFunction.h>
#include <QuartzCore/CACFVector.h>
#include <wtf/UnusedParam.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebCore/platform/graphics/cairo/GLContext.cpp b/Source/WebCore/platform/graphics/cairo/GLContext.cpp
index 6eb9904ec..3b804f602 100644
--- a/Source/WebCore/platform/graphics/cairo/GLContext.cpp
+++ b/Source/WebCore/platform/graphics/cairo/GLContext.cpp
@@ -53,6 +53,7 @@ PassOwnPtr<GLContext> GLContext::createOffscreenContext(GLContext* sharing)
#if USE(GLX)
return GLContextGLX::createContext(0, sharing);
#endif
+ return nullptr;
}
// FIXME: This should be a thread local eventually if we
diff --git a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
index 9822d4e24..dc12f6c5d 100644
--- a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
+++ b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DCairo.cpp
@@ -61,11 +61,11 @@ PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attri
if (!success)
return 0;
- RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, false));
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, renderStyle));
return context.release();
}
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow*, bool)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow*, GraphicsContext3D::RenderStyle renderStyle)
: m_currentWidth(0)
, m_currentHeight(0)
, m_attrs(attributes)
@@ -78,37 +78,39 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, H
, m_multisampleFBO(0)
, m_multisampleDepthStencilBuffer(0)
, m_multisampleColorBuffer(0)
- , m_private(GraphicsContext3DPrivate::create(this))
+ , m_private(GraphicsContext3DPrivate::create(this, renderStyle))
{
makeContextCurrent();
validateAttributes();
- // Create a texture to render into.
- ::glGenTextures(1, &m_texture);
- ::glBindTexture(GL_TEXTURE_2D, m_texture);
- ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
- ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
- ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
- ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
- ::glBindTexture(GL_TEXTURE_2D, 0);
-
- // Create an FBO.
- ::glGenFramebuffersEXT(1, &m_fbo);
- ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_fbo);
-
- m_boundFBO = m_fbo;
- if (!m_attrs.antialias && (m_attrs.stencil || m_attrs.depth))
- ::glGenRenderbuffersEXT(1, &m_depthStencilBuffer);
-
- // Create a multisample FBO.
- if (m_attrs.antialias) {
- ::glGenFramebuffersEXT(1, &m_multisampleFBO);
- ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_multisampleFBO);
- m_boundFBO = m_multisampleFBO;
- ::glGenRenderbuffersEXT(1, &m_multisampleColorBuffer);
- if (m_attrs.stencil || m_attrs.depth)
- ::glGenRenderbuffersEXT(1, &m_multisampleDepthStencilBuffer);
+ if (renderStyle == RenderOffscreen) {
+ // Create a texture to render into.
+ ::glGenTextures(1, &m_texture);
+ ::glBindTexture(GL_TEXTURE_2D, m_texture);
+ ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ ::glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
+ ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+ ::glBindTexture(GL_TEXTURE_2D, 0);
+
+ // Create an FBO.
+ ::glGenFramebuffersEXT(1, &m_fbo);
+ ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_fbo);
+
+ m_boundFBO = m_fbo;
+ if (!m_attrs.antialias && (m_attrs.stencil || m_attrs.depth))
+ ::glGenRenderbuffersEXT(1, &m_depthStencilBuffer);
+
+ // Create a multisample FBO.
+ if (m_attrs.antialias) {
+ ::glGenFramebuffersEXT(1, &m_multisampleFBO);
+ ::glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_multisampleFBO);
+ m_boundFBO = m_multisampleFBO;
+ ::glGenRenderbuffersEXT(1, &m_multisampleColorBuffer);
+ if (m_attrs.stencil || m_attrs.depth)
+ ::glGenRenderbuffersEXT(1, &m_multisampleDepthStencilBuffer);
+ }
}
// ANGLE initialization.
@@ -134,6 +136,9 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, H
GraphicsContext3D::~GraphicsContext3D()
{
+ if (m_private->renderStyle() == RenderToCurrentGLContext)
+ return;
+
makeContextCurrent();
::glDeleteTextures(1, &m_texture);
if (m_attrs.antialias) {
diff --git a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp
index 7d6629f69..d88242f96 100644
--- a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp
+++ b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.cpp
@@ -36,15 +36,25 @@ using namespace std;
namespace WebCore {
-PassOwnPtr<GraphicsContext3DPrivate> GraphicsContext3DPrivate::create(GraphicsContext3D* context)
+PassOwnPtr<GraphicsContext3DPrivate> GraphicsContext3DPrivate::create(GraphicsContext3D* context, GraphicsContext3D::RenderStyle renderStyle)
{
- return adoptPtr(new GraphicsContext3DPrivate(context));
+ return adoptPtr(new GraphicsContext3DPrivate(context, renderStyle));
}
-GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context)
+GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, GraphicsContext3D::RenderStyle renderStyle)
: m_context(context)
- , m_glContext(GLContext::createOffscreenContext(GLContext::sharingContext()))
+ , m_renderStyle(renderStyle)
{
+ switch (renderStyle) {
+ case GraphicsContext3D::RenderOffscreen:
+ m_glContext = GLContext::createOffscreenContext(GLContext::sharingContext());
+ break;
+ case GraphicsContext3D::RenderToCurrentGLContext:
+ break;
+ case GraphicsContext3D::RenderDirectlyToHostWindow:
+ ASSERT_NOT_REACHED();
+ break;
+ }
}
GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
@@ -58,7 +68,7 @@ bool GraphicsContext3DPrivate::makeContextCurrent()
PlatformGraphicsContext3D GraphicsContext3DPrivate::platformContext()
{
- return m_glContext ? m_glContext->platformContext() : 0;
+ return m_glContext ? m_glContext->platformContext() : GLContext::getCurrent()->platformContext();
}
#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
@@ -67,6 +77,8 @@ void GraphicsContext3DPrivate::paintToTextureMapper(TextureMapper* textureMapper
if (!m_glContext)
return;
+ ASSERT(m_renderStyle == GraphicsContext3D::RenderOffscreen);
+
// FIXME: We do not support mask for the moment with TextureMapperImageBuffer.
if (textureMapper->accelerationMode() != TextureMapper::OpenGLMode) {
GraphicsContext* context = textureMapper->graphicsContext();
diff --git a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h
index f1dba8225..69dad6754 100644
--- a/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h
+++ b/Source/WebCore/platform/graphics/cairo/GraphicsContext3DPrivate.h
@@ -36,20 +36,23 @@ class GraphicsContext3DPrivate
#endif
{
public:
- static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D*);
+ static PassOwnPtr<GraphicsContext3DPrivate> create(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
~GraphicsContext3DPrivate();
bool makeContextCurrent();
PlatformGraphicsContext3D platformContext();
+ GraphicsContext3D::RenderStyle renderStyle() { return m_renderStyle; }
+
#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
virtual void paintToTextureMapper(TextureMapper*, const FloatRect& target, const TransformationMatrix&, float opacity, BitmapTexture* mask);
#endif
private:
- GraphicsContext3DPrivate(GraphicsContext3D*);
+ GraphicsContext3DPrivate(GraphicsContext3D*, GraphicsContext3D::RenderStyle);
GraphicsContext3D* m_context;
OwnPtr<GLContext> m_glContext;
+ GraphicsContext3D::RenderStyle m_renderStyle;
};
}
diff --git a/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp b/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
index 947b97189..f8ac395ff 100644
--- a/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
+++ b/Source/WebCore/platform/graphics/cairo/ImageBufferCairo.cpp
@@ -38,11 +38,11 @@
#include "NotImplemented.h"
#include "Pattern.h"
#include "PlatformContextCairo.h"
-#include "PlatformString.h"
#include "RefPtrCairo.h"
#include <cairo.h>
#include <wtf/Vector.h>
#include <wtf/text/Base64.h>
+#include <wtf/text/WTFString.h>
using namespace std;
diff --git a/Source/WebCore/platform/graphics/cairo/PathCairo.cpp b/Source/WebCore/platform/graphics/cairo/PathCairo.cpp
index 2022777ba..5e946531a 100644
--- a/Source/WebCore/platform/graphics/cairo/PathCairo.cpp
+++ b/Source/WebCore/platform/graphics/cairo/PathCairo.cpp
@@ -31,11 +31,11 @@
#include "GraphicsContext.h"
#include "OwnPtrCairo.h"
#include "PlatformPathCairo.h"
-#include "PlatformString.h"
#include "StrokeStyleApplier.h"
#include <cairo.h>
#include <math.h>
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp b/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp
new file mode 100644
index 000000000..1f2d0355e
--- /dev/null
+++ b/Source/WebCore/platform/graphics/cg/BitmapImageCG.cpp
@@ -0,0 +1,192 @@
+/*
+ * Copyright (C) 2004, 2005, 2006 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 "BitmapImage.h"
+
+#if USE(CG)
+
+#include "FloatConversion.h"
+#include "GraphicsContextCG.h"
+#include "ImageObserver.h"
+#include <ApplicationServices/ApplicationServices.h>
+#include <wtf/RetainPtr.h>
+
+#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
+#include "WebCoreSystemInterface.h"
+#endif
+
+#if PLATFORM(WIN)
+#include <WebKitSystemInterface/WebKitSystemInterface.h>
+#endif
+
+namespace WebCore {
+
+bool FrameData::clear(bool clearMetadata)
+{
+ if (clearMetadata)
+ m_haveMetadata = false;
+
+ m_orientation = DefaultImageOrientation;
+
+ if (m_frame) {
+ CGImageRelease(m_frame);
+ m_frame = 0;
+ return true;
+ }
+ return false;
+}
+
+BitmapImage::BitmapImage(CGImageRef cgImage, ImageObserver* observer)
+ : Image(observer)
+ , m_currentFrame(0)
+ , m_frames(0)
+ , m_frameTimer(0)
+ , m_repetitionCount(cAnimationNone)
+ , m_repetitionCountStatus(Unknown)
+ , m_repetitionsComplete(0)
+ , m_decodedSize(0)
+ , m_decodedPropertiesSize(0)
+ , m_frameCount(1)
+ , m_isSolidColor(false)
+ , m_checkedForSolidColor(false)
+ , m_animationFinished(true)
+ , m_allDataReceived(true)
+ , m_haveSize(true)
+ , m_sizeAvailable(true)
+ , m_haveFrameCount(true)
+{
+ CGFloat width = CGImageGetWidth(cgImage);
+ CGFloat height = CGImageGetHeight(cgImage);
+ m_decodedSize = width * height * 4;
+ m_size = IntSize(width, height);
+
+ // Since we don't have a decoder, we can't figure out the image orientation.
+ // Set m_sizeRespectingOrientation to be the same as m_size so it's not 0x0.
+ m_sizeRespectingOrientation = IntSize(width, height);
+
+ m_frames.grow(1);
+ m_frames[0].m_frame = cgImage;
+ m_frames[0].m_hasAlpha = true;
+ m_frames[0].m_haveMetadata = true;
+
+ checkForSolidColor();
+}
+
+// Drawing Routines
+
+void BitmapImage::checkForSolidColor()
+{
+ m_checkedForSolidColor = true;
+ if (frameCount() > 1) {
+ m_isSolidColor = false;
+ return;
+ }
+
+ CGImageRef image = frameAtIndex(0);
+
+ // Currently we only check for solid color in the important special case of a 1x1 image.
+ if (image && CGImageGetWidth(image) == 1 && CGImageGetHeight(image) == 1) {
+ unsigned char pixel[4]; // RGBA
+ RetainPtr<CGContextRef> bmap(AdoptCF, CGBitmapContextCreate(pixel, 1, 1, 8, sizeof(pixel), deviceRGBColorSpaceRef(),
+ kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big));
+ if (!bmap)
+ return;
+ GraphicsContext(bmap.get()).setCompositeOperation(CompositeCopy);
+ CGRect dst = { {0, 0}, {1, 1} };
+ CGContextDrawImage(bmap.get(), dst, image);
+ if (pixel[3] == 0)
+ m_solidColor = Color(0, 0, 0, 0);
+ else
+ m_solidColor = Color(pixel[0] * 255 / pixel[3], pixel[1] * 255 / pixel[3], pixel[2] * 255 / pixel[3], pixel[3]);
+ m_isSolidColor = true;
+ }
+}
+
+CGImageRef BitmapImage::getCGImageRef()
+{
+ return frameAtIndex(0);
+}
+
+CGImageRef BitmapImage::getFirstCGImageRefOfSize(const IntSize& size)
+{
+ size_t count = frameCount();
+ for (size_t i = 0; i < count; ++i) {
+ CGImageRef cgImage = frameAtIndex(i);
+ if (cgImage && IntSize(CGImageGetWidth(cgImage), CGImageGetHeight(cgImage)) == size)
+ return cgImage;
+ }
+
+ // Fallback to the default CGImageRef if we can't find the right size
+ return getCGImageRef();
+}
+
+RetainPtr<CFArrayRef> BitmapImage::getCGImageArray()
+{
+ size_t count = frameCount();
+ if (!count)
+ return 0;
+
+ CFMutableArrayRef array = CFArrayCreateMutable(NULL, count, &kCFTypeArrayCallBacks);
+ for (size_t i = 0; i < count; ++i) {
+ if (CGImageRef currFrame = frameAtIndex(i))
+ CFArrayAppendValue(array, currFrame);
+ }
+ return RetainPtr<CFArrayRef>(AdoptCF, array);
+}
+
+void BitmapImage::draw(GraphicsContext* ctx, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator op)
+{
+ draw(ctx, dstRect, srcRect, styleColorSpace, op, DoNotRespectImageOrientation);
+}
+
+void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& destRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator compositeOp, RespectImageOrientationEnum shouldRespectImageOrientation)
+{
+ startAnimation();
+
+ CGImageRef image = frameAtIndex(m_currentFrame);
+ if (!image) // If it's too early we won't have an image yet.
+ return;
+
+ if (mayFillWithSolidColor()) {
+ fillWithSolidColor(ctxt, destRect, solidColor(), styleColorSpace, compositeOp);
+ return;
+ }
+
+ FloatSize selfSize = currentFrameSize();
+ ImageOrientation orientation = DefaultImageOrientation;
+
+ if (shouldRespectImageOrientation == RespectImageOrientation)
+ orientation = frameOrientationAtIndex(m_currentFrame);
+
+ ctxt->drawNativeImage(image, selfSize, styleColorSpace, destRect, srcRect, compositeOp, orientation);
+
+ if (imageObserver())
+ imageObserver()->didDraw(this);
+}
+
+}
+
+#endif // USE(CG)
diff --git a/Source/WebCore/platform/graphics/cg/ImageCG.cpp b/Source/WebCore/platform/graphics/cg/ImageCG.cpp
index 88adabfbf..a54a867d6 100644
--- a/Source/WebCore/platform/graphics/cg/ImageCG.cpp
+++ b/Source/WebCore/platform/graphics/cg/ImageCG.cpp
@@ -24,19 +24,15 @@
*/
#include "config.h"
-#include "BitmapImage.h"
+#include "Image.h"
#if USE(CG)
-#include "AffineTransform.h"
#include "FloatConversion.h"
#include "FloatRect.h"
#include "GraphicsContextCG.h"
#include "ImageObserver.h"
-#include "PDFDocumentImage.h"
-#include "PlatformString.h"
#include <ApplicationServices/ApplicationServices.h>
-#include <CoreFoundation/CFArray.h>
#include <wtf/RetainPtr.h>
#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
@@ -49,91 +45,6 @@
namespace WebCore {
-bool FrameData::clear(bool clearMetadata)
-{
- if (clearMetadata)
- m_haveMetadata = false;
-
- m_orientation = DefaultImageOrientation;
-
- if (m_frame) {
- CGImageRelease(m_frame);
- m_frame = 0;
- return true;
- }
- return false;
-}
-
-// ================================================
-// Image Class
-// ================================================
-
-BitmapImage::BitmapImage(CGImageRef cgImage, ImageObserver* observer)
- : Image(observer)
- , m_currentFrame(0)
- , m_frames(0)
- , m_frameTimer(0)
- , m_repetitionCount(cAnimationNone)
- , m_repetitionCountStatus(Unknown)
- , m_repetitionsComplete(0)
- , m_decodedSize(0)
- , m_decodedPropertiesSize(0)
- , m_frameCount(1)
- , m_isSolidColor(false)
- , m_checkedForSolidColor(false)
- , m_animationFinished(true)
- , m_allDataReceived(true)
- , m_haveSize(true)
- , m_sizeAvailable(true)
- , m_haveFrameCount(true)
-{
- CGFloat width = CGImageGetWidth(cgImage);
- CGFloat height = CGImageGetHeight(cgImage);
- m_decodedSize = width * height * 4;
- m_size = IntSize(width, height);
-
- // Since we don't have a decoder, we can't figure out the image orientation.
- // Set m_sizeRespectingOrientation to be the same as m_size so it's not 0x0.
- m_sizeRespectingOrientation = IntSize(width, height);
-
- m_frames.grow(1);
- m_frames[0].m_frame = cgImage;
- m_frames[0].m_hasAlpha = true;
- m_frames[0].m_haveMetadata = true;
-
- checkForSolidColor();
-}
-
-// Drawing Routines
-
-void BitmapImage::checkForSolidColor()
-{
- m_checkedForSolidColor = true;
- if (frameCount() > 1) {
- m_isSolidColor = false;
- return;
- }
-
- CGImageRef image = frameAtIndex(0);
-
- // Currently we only check for solid color in the important special case of a 1x1 image.
- if (image && CGImageGetWidth(image) == 1 && CGImageGetHeight(image) == 1) {
- unsigned char pixel[4]; // RGBA
- RetainPtr<CGContextRef> bmap(AdoptCF, CGBitmapContextCreate(pixel, 1, 1, 8, sizeof(pixel), deviceRGBColorSpaceRef(),
- kCGImageAlphaPremultipliedLast | kCGBitmapByteOrder32Big));
- if (!bmap)
- return;
- GraphicsContext(bmap.get()).setCompositeOperation(CompositeCopy);
- CGRect dst = { {0, 0}, {1, 1} };
- CGContextDrawImage(bmap.get(), dst, image);
- if (pixel[3] == 0)
- m_solidColor = Color(0, 0, 0, 0);
- else
- m_solidColor = Color(pixel[0] * 255 / pixel[3], pixel[1] * 255 / pixel[3], pixel[2] * 255 / pixel[3], pixel[3]);
- m_isSolidColor = true;
- }
-}
-
RetainPtr<CGImageRef> Image::imageWithColorSpace(CGImageRef originalImage, ColorSpace colorSpace)
{
CGColorSpaceRef originalColorSpace = CGImageGetColorSpace(originalImage);
@@ -156,68 +67,6 @@ RetainPtr<CGImageRef> Image::imageWithColorSpace(CGImageRef originalImage, Color
return originalImage;
}
-CGImageRef BitmapImage::getCGImageRef()
-{
- return frameAtIndex(0);
-}
-
-CGImageRef BitmapImage::getFirstCGImageRefOfSize(const IntSize& size)
-{
- size_t count = frameCount();
- for (size_t i = 0; i < count; ++i) {
- CGImageRef cgImage = frameAtIndex(i);
- if (cgImage && IntSize(CGImageGetWidth(cgImage), CGImageGetHeight(cgImage)) == size)
- return cgImage;
- }
-
- // Fallback to the default CGImageRef if we can't find the right size
- return getCGImageRef();
-}
-
-RetainPtr<CFArrayRef> BitmapImage::getCGImageArray()
-{
- size_t count = frameCount();
- if (!count)
- return 0;
-
- CFMutableArrayRef array = CFArrayCreateMutable(NULL, count, &kCFTypeArrayCallBacks);
- for (size_t i = 0; i < count; ++i) {
- if (CGImageRef currFrame = frameAtIndex(i))
- CFArrayAppendValue(array, currFrame);
- }
- return RetainPtr<CFArrayRef>(AdoptCF, array);
-}
-
-void BitmapImage::draw(GraphicsContext* ctx, const FloatRect& dstRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator op)
-{
- draw(ctx, dstRect, srcRect, styleColorSpace, op, DoNotRespectImageOrientation);
-}
-
-void BitmapImage::draw(GraphicsContext* ctxt, const FloatRect& destRect, const FloatRect& srcRect, ColorSpace styleColorSpace, CompositeOperator compositeOp, RespectImageOrientationEnum shouldRespectImageOrientation)
-{
- startAnimation();
-
- CGImageRef image = frameAtIndex(m_currentFrame);
- if (!image) // If it's too early we won't have an image yet.
- return;
-
- if (mayFillWithSolidColor()) {
- fillWithSolidColor(ctxt, destRect, solidColor(), styleColorSpace, compositeOp);
- return;
- }
-
- FloatSize selfSize = currentFrameSize();
- ImageOrientation orientation = DefaultImageOrientation;
-
- if (shouldRespectImageOrientation == RespectImageOrientation)
- orientation = frameOrientationAtIndex(m_currentFrame);
-
- ctxt->drawNativeImage(image, selfSize, styleColorSpace, destRect, srcRect, compositeOp, orientation);
-
- if (imageObserver())
- imageObserver()->didDraw(this);
-}
-
static void drawPatternCallback(void* info, CGContextRef context)
{
CGImageRef image = (CGImageRef)info;
@@ -311,7 +160,6 @@ void Image::drawPattern(GraphicsContext* ctxt, const FloatRect& tileRect, const
imageObserver()->didDraw(this);
}
-
}
#endif // USE(CG)
diff --git a/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp b/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp
index b00666759..65bce5232 100644
--- a/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp
+++ b/Source/WebCore/platform/graphics/cg/ImageSourceCG.cpp
@@ -384,6 +384,12 @@ bool ImageSource::frameHasAlphaAtIndex(size_t)
return true;
}
+unsigned ImageSource::frameBytesAtIndex(size_t index) const
+{
+ IntSize frameSize = frameSizeAtIndex(index, RespectImageOrientation);
+ return frameSize.width() * frameSize.height() * 4;
+}
+
}
#endif // USE(CG)
diff --git a/Source/WebCore/platform/graphics/cg/ImageSourceCGMac.mm b/Source/WebCore/platform/graphics/cg/ImageSourceCGMac.mm
index 297e30a19..bd50a3175 100644
--- a/Source/WebCore/platform/graphics/cg/ImageSourceCGMac.mm
+++ b/Source/WebCore/platform/graphics/cg/ImageSourceCGMac.mm
@@ -26,8 +26,8 @@
#import "config.h"
#import "ImageSourceCG.h"
-#import "PlatformString.h"
-#import "wtf/RetainPtr.h"
+#import <wtf/RetainPtr.h>
+#import <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/cg/PathCG.cpp b/Source/WebCore/platform/graphics/cg/PathCG.cpp
index b150c57c5..61e681765 100644
--- a/Source/WebCore/platform/graphics/cg/PathCG.cpp
+++ b/Source/WebCore/platform/graphics/cg/PathCG.cpp
@@ -33,11 +33,11 @@
#include "FloatRect.h"
#include "GraphicsContext.h"
#include "IntRect.h"
-#include "PlatformString.h"
#include "StrokeStyleApplier.h"
#include <ApplicationServices/ApplicationServices.h>
#include <wtf/MathExtras.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(MAC) || PLATFORM(CHROMIUM)
#include "WebCoreSystemInterface.h"
diff --git a/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp b/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp
deleted file mode 100644
index 41aecea03..000000000
--- a/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.cpp
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-* Copyright (C) 2012 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 "AnimationIdVendor.h"
-
-namespace WebCore {
-
-int AnimationIdVendor::s_nextAnimationId = FirstAvailableAnimationId;
-int AnimationIdVendor::s_nextGroupId = FirstAvailableGroupId;
-
-int AnimationIdVendor::getNextAnimationId()
-{
- int id = s_nextAnimationId++;
- if (s_nextAnimationId == DontUseAnimationId)
- s_nextAnimationId = FirstAvailableAnimationId;
-
- return id;
-}
-
-int AnimationIdVendor::getNextGroupId()
-{
- int id = s_nextGroupId++;
- if (s_nextGroupId == DontUseGroupId)
- s_nextGroupId = FirstAvailableGroupId;
-
- return id;
-}
-
-} // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h b/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h
deleted file mode 100644
index 69a43532e..000000000
--- a/Source/WebCore/platform/graphics/chromium/AnimationIdVendor.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- 2 * Copyright (C) 2012 Google Inc. All rights reserved.
- 3 *
-* 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 AnimationIdVendor_h
-#define AnimationIdVendor_h
-
-namespace WebCore {
-
-class AnimationIdVendor {
-public:
- enum AnimationIdSequence { DontUseAnimationId = 0, LinkHighlightAnimationId, FirstAvailableAnimationId };
- enum GroupIdSequence { DontUseGroupId = 0, FirstAvailableGroupId };
-
- static int getNextAnimationId();
- static int getNextGroupId();
-
-private:
- static int s_nextAnimationId;
- static int s_nextGroupId;
-};
-
-} // namespace WebCore
-
-#endif
diff --git a/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp b/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp
index 8064ae38e..1ee8ea053 100644
--- a/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp
+++ b/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.cpp
@@ -40,8 +40,10 @@
#include "TransformOperations.h"
#include "TranslateTransformOperation.h"
+#include <public/Platform.h>
#include <public/WebAnimation.h>
#include <public/WebAnimationCurve.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFloatAnimationCurve.h>
#include <public/WebTransformAnimationCurve.h>
#include <public/WebTransformOperations.h>
@@ -113,6 +115,8 @@ WebTransformOperations toWebTransformOperations(const TransformOperations& trans
break;
}
case TransformOperation::IDENTITY:
+ webTransformOperations.appendIdentity();
+ break;
case TransformOperation::NONE:
// Do nothing.
break;
@@ -145,53 +149,16 @@ bool isRotationType(TransformOperation::OperationType transformType)
|| transformType == TransformOperation::ROTATE_3D;
}
-bool causesRotationOfAtLeast180Degrees(const TransformAnimationValue* value, const TransformAnimationValue* lastValue)
-{
- if (!lastValue)
- return false;
-
- const TransformOperations& operations = *value->value();
- const TransformOperations& lastOperations = *lastValue->value();
-
- // We'll be doing matrix interpolation in this case. No risk of incorrect rotations here.
- if (operations.size() && lastOperations.size() && !operations.operationsMatch(lastOperations))
- return false;
-
- size_t numOperations = max(operations.size(), lastOperations.size());
- for (size_t i = 0; i < numOperations; ++i) {
- float angle = 0;
- if (i < operations.size()) {
- if (!isRotationType(operations.operations()[i]->getOperationType()))
- continue;
-
- RotateTransformOperation* rotation = static_cast<RotateTransformOperation*>(operations.operations()[i].get());
- angle = rotation->angle();
- }
-
- float lastAngle = 0;
- if (i < lastOperations.size()) {
- if (!isRotationType(lastOperations.operations()[i]->getOperationType()))
- continue;
-
- RotateTransformOperation* lastRotation = static_cast<RotateTransformOperation*>(lastOperations.operations()[i].get());
- lastAngle = lastRotation->angle();
- }
-
- if (fabs(angle - lastAngle) >= 180)
- return true;
- }
-
- return false;
-}
-
template <>
bool appendKeyframeWithStandardTimingFunction<TransformAnimationValue, WebTransformKeyframe, WebTransformAnimationCurve>(WebTransformAnimationCurve* curve, double keyTime, const TransformAnimationValue* value, const TransformAnimationValue* lastValue, WebKit::WebAnimationCurve::TimingFunctionType timingFunctionType, const FloatSize& boxSize)
{
- if (causesRotationOfAtLeast180Degrees(value, lastValue))
- return false;
-
+ bool canBlend = !lastValue;
WebTransformOperations operations = toWebTransformOperations(*value->value(), boxSize);
- if (operations.apply().isInvertible()) {
+ if (!canBlend) {
+ WebTransformOperations lastOperations = toWebTransformOperations(*lastValue->value(), boxSize);
+ canBlend = lastOperations.canBlendWith(operations);
+ }
+ if (canBlend) {
curve->add(WebTransformKeyframe(keyTime, operations), timingFunctionType);
return true;
}
@@ -201,11 +168,13 @@ bool appendKeyframeWithStandardTimingFunction<TransformAnimationValue, WebTransf
template <>
bool appendKeyframeWithCustomBezierTimingFunction<TransformAnimationValue, WebTransformKeyframe, WebTransformAnimationCurve>(WebTransformAnimationCurve* curve, double keyTime, const TransformAnimationValue* value, const TransformAnimationValue* lastValue, double x1, double y1, double x2, double y2, const FloatSize& boxSize)
{
- if (causesRotationOfAtLeast180Degrees(value, lastValue))
- return false;
-
+ bool canBlend = !lastValue;
WebTransformOperations operations = toWebTransformOperations(*value->value(), boxSize);
- if (operations.apply().isInvertible()) {
+ if (!canBlend) {
+ WebTransformOperations lastOperations = toWebTransformOperations(*lastValue->value(), boxSize);
+ canBlend = lastOperations.canBlendWith(operations);
+ }
+ if (canBlend) {
curve->add(WebTransformKeyframe(keyTime, operations), x1, y1, x2, y2);
return true;
}
@@ -213,7 +182,7 @@ bool appendKeyframeWithCustomBezierTimingFunction<TransformAnimationValue, WebTr
}
template <class Value, class Keyframe, class Curve>
-PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& valueList, const Animation* animation, size_t animationId, size_t groupId, double timeOffset, WebKit::WebAnimation::TargetProperty targetProperty, const FloatSize& boxSize)
+PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& valueList, const Animation* animation, int animationId, double timeOffset, Curve* curve, WebKit::WebAnimation::TargetProperty targetProperty, const FloatSize& boxSize)
{
bool alternate = false;
bool reverse = false;
@@ -225,8 +194,6 @@ PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& val
reverse = true;
}
- OwnPtr<Curve> curve = adoptPtr(Curve::create());
-
for (size_t i = 0; i < valueList.size(); i++) {
size_t index = reverse ? valueList.size() - i - 1 : i;
const Value* originalValue = static_cast<const Value*>(valueList.at(index));
@@ -277,32 +244,38 @@ PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& val
bool addedKeyframe = false;
if (isUsingCustomBezierTimingFunction)
- addedKeyframe = appendKeyframeWithCustomBezierTimingFunction<Value, Keyframe, Curve>(curve.get(), keyTime, originalValue, lastOriginalValue, x1, y1, x2, y2, boxSize);
+ addedKeyframe = appendKeyframeWithCustomBezierTimingFunction<Value, Keyframe, Curve>(curve, keyTime, originalValue, lastOriginalValue, x1, y1, x2, y2, boxSize);
else
- addedKeyframe = appendKeyframeWithStandardTimingFunction<Value, Keyframe, Curve>(curve.get(), keyTime, originalValue, lastOriginalValue, timingFunctionType, boxSize);
+ addedKeyframe = appendKeyframeWithStandardTimingFunction<Value, Keyframe, Curve>(curve, keyTime, originalValue, lastOriginalValue, timingFunctionType, boxSize);
if (!addedKeyframe)
return nullptr;
}
- OwnPtr<WebKit::WebAnimation> anim(adoptPtr(WebKit::WebAnimation::create(*curve, animationId, groupId, targetProperty)));
+ OwnPtr<WebKit::WebAnimation> webAnimation = adoptPtr(Platform::current()->compositorSupport()->createAnimation(*curve, targetProperty, animationId));
int iterations = (animation && animation->isIterationCountSet()) ? animation->iterationCount() : 1;
- anim->setIterations(iterations);
- anim->setAlternatesDirection(alternate);
+ webAnimation->setIterations(iterations);
+ webAnimation->setAlternatesDirection(alternate);
// If timeOffset > 0, then the animation has started in the past.
- anim->setTimeOffset(timeOffset);
+ webAnimation->setTimeOffset(timeOffset);
- return anim.release();
+ return webAnimation.release();
}
-PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& values, const Animation* animation, size_t animationId, size_t groupId, double timeOffset, const FloatSize& boxSize)
+PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList& values, const Animation* animation, int animationId, double timeOffset, const FloatSize& boxSize)
{
- if (values.property() == AnimatedPropertyWebkitTransform)
- return createWebAnimation<TransformAnimationValue, WebTransformKeyframe, WebTransformAnimationCurve>(values, animation, animationId, groupId, timeOffset, WebKit::WebAnimation::TargetPropertyTransform, FloatSize(boxSize));
- if (values.property() == AnimatedPropertyOpacity)
- return createWebAnimation<FloatAnimationValue, WebFloatKeyframe, WebFloatAnimationCurve>(values, animation, animationId, groupId, timeOffset, WebKit::WebAnimation::TargetPropertyOpacity, FloatSize());
+
+ if (values.property() == AnimatedPropertyWebkitTransform) {
+ OwnPtr<WebTransformAnimationCurve> curve = adoptPtr(Platform::current()->compositorSupport()->createTransformAnimationCurve());
+ return createWebAnimation<TransformAnimationValue, WebTransformKeyframe, WebTransformAnimationCurve>(values, animation, animationId, timeOffset, curve.get(), WebKit::WebAnimation::TargetPropertyTransform, FloatSize(boxSize));
+ }
+
+ if (values.property() == AnimatedPropertyOpacity) {
+ OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(Platform::current()->compositorSupport()->createFloatAnimationCurve());
+ return createWebAnimation<FloatAnimationValue, WebFloatKeyframe, WebFloatAnimationCurve>(values, animation, animationId, timeOffset, curve.get(), WebKit::WebAnimation::TargetPropertyOpacity, FloatSize());
+ }
return nullptr;
}
diff --git a/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.h b/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.h
index 5d88a2ed8..8739ab76a 100644
--- a/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.h
+++ b/Source/WebCore/platform/graphics/chromium/AnimationTranslationUtil.h
@@ -49,7 +49,7 @@ class FloatSize;
// - a steps timing function is used,
// - a property other than AnimatedPropertyWebkitTransform, or AnimatedPropertyOpacity is animated, or
// - a transform animation involves a non-invertable transform.
-PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList&, const Animation*, size_t animationId, size_t groupId, double timeOffset, const FloatSize& boxSize);
+PassOwnPtr<WebKit::WebAnimation> createWebAnimation(const KeyframeValueList&, const Animation*, int animationId, double timeOffset, const FloatSize& boxSize);
} // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp
index ed332b187..b816c33bc 100644
--- a/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp
+++ b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.cpp
@@ -28,11 +28,14 @@
#include "Canvas2DLayerBridge.h"
#include "CCRendererGL.h" // For the GLC() macro.
+#include "Canvas2DLayerManager.h"
#include "GrContext.h"
#include "GraphicsContext3D.h"
#include "GraphicsContext3DPrivate.h"
+#include "GraphicsLayerChromium.h"
#include "TraceEvent.h"
-#include <public/WebCompositor.h>
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebGraphicsContext3D.h>
using WebKit::WebExternalTextureLayer;
@@ -43,17 +46,22 @@ namespace WebCore {
Canvas2DLayerBridge::Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D> context, const IntSize& size, DeferralMode deferralMode, unsigned textureId)
: m_deferralMode(deferralMode)
- // FIXME: We currently turn off double buffering when canvas rendering is
- // deferred. What we should be doing is to use a smarter heuristic based
- // on GPU resource monitoring and other factors to chose between single
- // and double buffering.
- , m_useDoubleBuffering(WebKit::WebCompositor::threadingEnabled() && deferralMode == NonDeferred)
, m_frontBufferTexture(0)
, m_backBufferTexture(textureId)
, m_size(size)
, m_canvas(0)
, m_context(context)
+ , m_bytesAllocated(0)
+ , m_next(0)
+ , m_prev(0)
{
+ bool compositorThreadingEnabled = WebKit::Platform::current()->compositorSupport()->isThreadingEnabled();
+ // FIXME: We currently turn off double buffering when canvas rendering is
+ // deferred. What we should be doing is to use a smarter heuristic based
+ // on GPU resource monitoring and other factors to chose between single
+ // and double buffering.
+ m_useDoubleBuffering = compositorThreadingEnabled && deferralMode == NonDeferred;
+
if (m_useDoubleBuffering) {
m_context->makeContextCurrent();
GLC(m_context.get(), m_frontBufferTexture = m_context->createTexture());
@@ -69,13 +77,16 @@ Canvas2DLayerBridge::Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D> context,
grContext->resetContext();
}
- m_layer = adoptPtr(WebExternalTextureLayer::create(this));
+ m_layer = adoptPtr(WebKit::Platform::current()->compositorSupport()->createExternalTextureLayer(this));
m_layer->setTextureId(textureId);
- m_layer->setRateLimitContext(!WebKit::WebCompositor::threadingEnabled() || m_useDoubleBuffering);
+ m_layer->setRateLimitContext(!compositorThreadingEnabled || m_useDoubleBuffering);
+ GraphicsLayerChromium::registerContentsLayer(m_layer->layer());
}
Canvas2DLayerBridge::~Canvas2DLayerBridge()
{
+ GraphicsLayerChromium::unregisterContentsLayer(m_layer->layer());
+ Canvas2DLayerManager::get().layerToBeDestroyed(this);
if (SkDeferredCanvas* deferred = deferredCanvas())
deferred->setNotificationClient(0);
m_layer->setTextureId(0);
@@ -101,6 +112,35 @@ void Canvas2DLayerBridge::prepareForDraw()
m_context->makeContextCurrent();
}
+void Canvas2DLayerBridge::storageAllocatedForRecordingChanged(size_t bytesAllocated)
+{
+ ASSERT(m_deferralMode == Deferred);
+ intptr_t delta = (intptr_t)bytesAllocated - (intptr_t)m_bytesAllocated;
+ m_bytesAllocated = bytesAllocated;
+ Canvas2DLayerManager::get().layerAllocatedStorageChanged(this, delta);
+}
+
+void Canvas2DLayerBridge::flushedDrawCommands()
+{
+ storageAllocatedForRecordingChanged(deferredCanvas()->storageAllocatedForRecording());
+}
+
+size_t Canvas2DLayerBridge::freeMemoryIfPossible(size_t bytesToFree)
+{
+ ASSERT(deferredCanvas());
+ size_t bytesFreed = deferredCanvas()->freeMemoryIfPossible(bytesToFree);
+ if (bytesFreed)
+ Canvas2DLayerManager::get().layerAllocatedStorageChanged(this, -((intptr_t)bytesFreed));
+ m_bytesAllocated -= bytesFreed;
+ return bytesFreed;
+}
+
+void Canvas2DLayerBridge::flush()
+{
+ ASSERT(deferredCanvas());
+ m_canvas->flush();
+}
+
SkCanvas* Canvas2DLayerBridge::skCanvas(SkDevice* device)
{
ASSERT(!m_canvas);
@@ -154,6 +194,8 @@ void Canvas2DLayerBridge::contextAcquired()
{
if (m_deferralMode == NonDeferred && !m_useDoubleBuffering)
m_layer->willModifyTexture();
+ else if (m_deferralMode == Deferred)
+ Canvas2DLayerManager::get().layerDidDraw(this);
}
unsigned Canvas2DLayerBridge::backBufferTexture()
diff --git a/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.h b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.h
index 27b1ea659..8199159c9 100644
--- a/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.h
+++ b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerBridge.h
@@ -32,6 +32,7 @@
#include "SkDeferredCanvas.h"
#include <public/WebExternalTextureLayer.h>
#include <public/WebExternalTextureLayerClient.h>
+#include <wtf/DoublyLinkedList.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
@@ -43,7 +44,7 @@ namespace WebCore {
class LayerChromium;
-class Canvas2DLayerBridge : public WebKit::WebExternalTextureLayerClient, public SkDeferredCanvas::NotificationClient {
+class Canvas2DLayerBridge : public WebKit::WebExternalTextureLayerClient, public SkDeferredCanvas::NotificationClient, public DoublyLinkedListNode<Canvas2DLayerBridge> {
WTF_MAKE_NONCOPYABLE(Canvas2DLayerBridge);
public:
static PassOwnPtr<Canvas2DLayerBridge> create(PassRefPtr<GraphicsContext3D> context, const IntSize& size, DeferralMode deferralMode, unsigned textureId)
@@ -58,7 +59,14 @@ public:
virtual WebKit::WebGraphicsContext3D* context() OVERRIDE;
// SkDeferredCanvas::NotificationClient implementation
- virtual void prepareForDraw();
+ virtual void prepareForDraw() OVERRIDE;
+ virtual void storageAllocatedForRecordingChanged(size_t) OVERRIDE;
+ virtual void flushedDrawCommands() OVERRIDE;
+
+ // Methods used by Canvas2DLayerManager
+ virtual size_t freeMemoryIfPossible(size_t); // virtual for mocking
+ virtual void flush(); // virtual for mocking
+ size_t bytesAllocated() const {return m_bytesAllocated;}
SkCanvas* skCanvas(SkDevice*);
WebKit::WebLayer* layer();
@@ -66,7 +74,7 @@ public:
unsigned backBufferTexture();
-private:
+protected:
Canvas2DLayerBridge(PassRefPtr<GraphicsContext3D>, const IntSize&, DeferralMode, unsigned textureId);
SkDeferredCanvas* deferredCanvas();
@@ -78,6 +86,11 @@ private:
SkCanvas* m_canvas;
OwnPtr<WebKit::WebExternalTextureLayer> m_layer;
RefPtr<GraphicsContext3D> m_context;
+ size_t m_bytesAllocated;
+
+ friend class WTF::DoublyLinkedListNode<Canvas2DLayerBridge>;
+ Canvas2DLayerBridge* m_next;
+ Canvas2DLayerBridge* m_prev;
};
}
diff --git a/Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.cpp b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.cpp
new file mode 100644
index 000000000..7ffadf7a9
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.cpp
@@ -0,0 +1,137 @@
+/*
+Copyright (C) 2012 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. 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 "Canvas2DLayerManager.h"
+
+#include <wtf/StdLibExtras.h>
+
+namespace {
+enum {
+ DefaultMaxBytesAllocated = 64*1024*1024,
+ DefaultTargetBytesAllocated = 16*1024*1024,
+};
+}
+
+namespace WebCore {
+
+Canvas2DLayerManager::Canvas2DLayerManager()
+ : m_bytesAllocated(0)
+ , m_maxBytesAllocated(DefaultMaxBytesAllocated)
+ , m_targetBytesAllocated(DefaultTargetBytesAllocated)
+{
+}
+
+Canvas2DLayerManager::~Canvas2DLayerManager()
+{
+ ASSERT(!m_bytesAllocated);
+ ASSERT(!m_layerList.head());
+}
+
+void Canvas2DLayerManager::init(size_t maxBytesAllocated, size_t targetBytesAllocated)
+{
+ ASSERT(maxBytesAllocated >= targetBytesAllocated);
+ m_maxBytesAllocated = maxBytesAllocated;
+ m_targetBytesAllocated = targetBytesAllocated;
+}
+
+Canvas2DLayerManager& Canvas2DLayerManager::get()
+{
+ DEFINE_STATIC_LOCAL(Canvas2DLayerManager, manager, ());
+ return manager;
+}
+
+void Canvas2DLayerManager::layerDidDraw(Canvas2DLayerBridge* layer)
+{
+ if (isInList(layer)) {
+ if (layer != m_layerList.head()) {
+ m_layerList.remove(layer);
+ m_layerList.push(layer); // Set as MRU
+ }
+ } else
+ addLayerToList(layer);
+}
+
+void Canvas2DLayerManager::addLayerToList(Canvas2DLayerBridge* layer)
+{
+ ASSERT(!isInList(layer));
+ m_bytesAllocated += layer->bytesAllocated();
+ m_layerList.push(layer); // Set as MRU
+}
+
+void Canvas2DLayerManager::layerAllocatedStorageChanged(Canvas2DLayerBridge* layer, intptr_t deltaBytes)
+{
+ if (!isInList(layer))
+ addLayerToList(layer);
+ else {
+ ASSERT((intptr_t)m_bytesAllocated + deltaBytes >= 0);
+ m_bytesAllocated = (intptr_t)m_bytesAllocated + deltaBytes;
+ }
+ if (deltaBytes > 0)
+ freeMemoryIfNecessary();
+}
+
+void Canvas2DLayerManager::layerToBeDestroyed(Canvas2DLayerBridge* layer)
+{
+ if (isInList(layer))
+ removeLayerFromList(layer);
+}
+
+void Canvas2DLayerManager::freeMemoryIfNecessary()
+{
+ if (m_bytesAllocated > m_maxBytesAllocated) {
+ // Pass 1: Free memory from caches
+ Canvas2DLayerBridge* layer = m_layerList.tail(); // LRU
+ while (m_bytesAllocated > m_targetBytesAllocated && layer) {
+ layer->freeMemoryIfPossible(m_bytesAllocated - m_targetBytesAllocated);
+ layer = layer->prev();
+ }
+
+ // Pass 2: Flush canvases
+ Canvas2DLayerBridge* leastRecentlyUsedLayer = m_layerList.tail();
+ while (m_bytesAllocated > m_targetBytesAllocated && leastRecentlyUsedLayer) {
+ leastRecentlyUsedLayer->flush();
+ leastRecentlyUsedLayer->freeMemoryIfPossible(~0);
+ removeLayerFromList(leastRecentlyUsedLayer);
+ leastRecentlyUsedLayer = m_layerList.tail();
+ }
+ }
+}
+
+void Canvas2DLayerManager::removeLayerFromList(Canvas2DLayerBridge* layer)
+{
+ ASSERT(isInList(layer));
+ m_bytesAllocated -= layer->bytesAllocated();
+ m_layerList.remove(layer);
+ layer->setNext(0);
+ layer->setPrev(0);
+}
+
+bool Canvas2DLayerManager::isInList(Canvas2DLayerBridge* layer)
+{
+ return layer->prev() || m_layerList.head() == layer;
+}
+
+}
+
diff --git a/Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.h b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.h
new file mode 100644
index 000000000..373729b69
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/Canvas2DLayerManager.h
@@ -0,0 +1,63 @@
+/*
+Copyright (C) 2012 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. 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 Canvas2DLayerManager_h
+#define Canvas2DLayerManager_h
+
+#include "Canvas2DLayerBridge.h"
+
+class Canvas2DLayerManagerTest;
+
+namespace WebCore {
+
+class Canvas2DLayerManager {
+public:
+ static Canvas2DLayerManager& get();
+ void init(size_t maxBytesAllocated, size_t targetBytesAllocated);
+ virtual ~Canvas2DLayerManager();
+
+ void layerAllocatedStorageChanged(Canvas2DLayerBridge*, intptr_t deltaBytes);
+ void layerDidDraw(Canvas2DLayerBridge*);
+ void layerToBeDestroyed(Canvas2DLayerBridge*);
+private:
+ Canvas2DLayerManager();
+
+ // internal methods
+ void freeMemoryIfNecessary();
+ bool isInList(Canvas2DLayerBridge*);
+ void addLayerToList(Canvas2DLayerBridge*);
+ void removeLayerFromList(Canvas2DLayerBridge*);
+
+ size_t m_bytesAllocated;
+ size_t m_maxBytesAllocated;
+ size_t m_targetBytesAllocated;
+ DoublyLinkedList<Canvas2DLayerBridge> m_layerList;
+
+ friend class ::Canvas2DLayerManagerTest; // for unit testing
+};
+
+}
+
+#endif
+
diff --git a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
index c2bf45ead..d578117be 100644
--- a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp
@@ -38,6 +38,7 @@
#include "BitmapSkPictureCanvasLayerTextureUpdater.h"
#include "CCLayerTreeHost.h"
#include "CCSettings.h"
+#include "ContentLayerChromiumClient.h"
#include "FrameBufferSkPictureCanvasLayerTextureUpdater.h"
#include "LayerPainterChromium.h"
#include <public/Platform.h>
@@ -45,34 +46,34 @@
namespace WebCore {
-ContentLayerPainter::ContentLayerPainter(ContentLayerDelegate* delegate)
- : m_delegate(delegate)
+ContentLayerPainter::ContentLayerPainter(ContentLayerChromiumClient* client)
+ : m_client(client)
{
}
-PassOwnPtr<ContentLayerPainter> ContentLayerPainter::create(ContentLayerDelegate* delegate)
+PassOwnPtr<ContentLayerPainter> ContentLayerPainter::create(ContentLayerChromiumClient* client)
{
- return adoptPtr(new ContentLayerPainter(delegate));
+ return adoptPtr(new ContentLayerPainter(client));
}
void ContentLayerPainter::paint(SkCanvas* canvas, const IntRect& contentRect, FloatRect& opaque)
{
double paintStart = currentTime();
- m_delegate->paintContents(canvas, contentRect, opaque);
+ m_client->paintContents(canvas, contentRect, opaque);
double paintEnd = currentTime();
double pixelsPerSec = (contentRect.width() * contentRect.height()) / (paintEnd - paintStart);
WebKit::Platform::current()->histogramCustomCounts("Renderer4.AccelContentPaintDurationMS", (paintEnd - paintStart) * 1000, 0, 120, 30);
WebKit::Platform::current()->histogramCustomCounts("Renderer4.AccelContentPaintMegapixPerSecond", pixelsPerSec / 1000000, 10, 210, 30);
}
-PassRefPtr<ContentLayerChromium> ContentLayerChromium::create(ContentLayerDelegate* delegate)
+PassRefPtr<ContentLayerChromium> ContentLayerChromium::create(ContentLayerChromiumClient* client)
{
- return adoptRef(new ContentLayerChromium(delegate));
+ return adoptRef(new ContentLayerChromium(client));
}
-ContentLayerChromium::ContentLayerChromium(ContentLayerDelegate* delegate)
+ContentLayerChromium::ContentLayerChromium(ContentLayerChromiumClient* client)
: TiledLayerChromium()
- , m_delegate(delegate)
+ , m_client(client)
{
}
@@ -82,7 +83,7 @@ ContentLayerChromium::~ContentLayerChromium()
bool ContentLayerChromium::drawsContent() const
{
- return TiledLayerChromium::drawsContent() && m_delegate;
+ return TiledLayerChromium::drawsContent() && m_client;
}
void ContentLayerChromium::setTexturePriorities(const CCPriorityCalculator& priorityCalc)
@@ -110,11 +111,11 @@ void ContentLayerChromium::createTextureUpdaterIfNeeded()
if (m_textureUpdater)
return;
if (layerTreeHost()->settings().acceleratePainting)
- m_textureUpdater = FrameBufferSkPictureCanvasLayerTextureUpdater::create(ContentLayerPainter::create(m_delegate));
+ m_textureUpdater = FrameBufferSkPictureCanvasLayerTextureUpdater::create(ContentLayerPainter::create(m_client));
else if (CCSettings::perTilePaintingEnabled())
- m_textureUpdater = BitmapSkPictureCanvasLayerTextureUpdater::create(ContentLayerPainter::create(m_delegate));
+ m_textureUpdater = BitmapSkPictureCanvasLayerTextureUpdater::create(ContentLayerPainter::create(m_client));
else
- m_textureUpdater = BitmapCanvasLayerTextureUpdater::create(ContentLayerPainter::create(m_delegate));
+ m_textureUpdater = BitmapCanvasLayerTextureUpdater::create(ContentLayerPainter::create(m_client));
m_textureUpdater->setOpaque(opaque());
GC3Denum textureFormat = layerTreeHost()->rendererCapabilities().bestTextureFormat;
diff --git a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
index 6c068b30c..7eb459c5b 100644
--- a/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h
@@ -41,39 +41,32 @@ class SkCanvas;
namespace WebCore {
+class ContentLayerChromiumClient;
class FloatRect;
class IntRect;
class LayerTextureUpdater;
-class ContentLayerDelegate {
-public:
- virtual void paintContents(SkCanvas*, const IntRect& clip, FloatRect& opaque) = 0;
-
-protected:
- virtual ~ContentLayerDelegate() { }
-};
-
class ContentLayerPainter : public LayerPainterChromium {
WTF_MAKE_NONCOPYABLE(ContentLayerPainter);
public:
- static PassOwnPtr<ContentLayerPainter> create(ContentLayerDelegate*);
+ static PassOwnPtr<ContentLayerPainter> create(ContentLayerChromiumClient*);
virtual void paint(SkCanvas*, const IntRect& contentRect, FloatRect& opaque) OVERRIDE;
private:
- explicit ContentLayerPainter(ContentLayerDelegate*);
+ explicit ContentLayerPainter(ContentLayerChromiumClient*);
- ContentLayerDelegate* m_delegate;
+ ContentLayerChromiumClient* m_client;
};
// A layer that renders its contents into an SkCanvas.
class ContentLayerChromium : public TiledLayerChromium {
public:
- static PassRefPtr<ContentLayerChromium> create(ContentLayerDelegate*);
+ static PassRefPtr<ContentLayerChromium> create(ContentLayerChromiumClient*);
virtual ~ContentLayerChromium();
- void clearDelegate() { m_delegate = 0; }
+ void clearClient() { m_client = 0; }
virtual bool drawsContent() const OVERRIDE;
virtual void setTexturePriorities(const CCPriorityCalculator&) OVERRIDE;
@@ -83,14 +76,14 @@ public:
virtual void setOpaque(bool) OVERRIDE;
protected:
- explicit ContentLayerChromium(ContentLayerDelegate*);
+ explicit ContentLayerChromium(ContentLayerChromiumClient*);
private:
virtual LayerTextureUpdater* textureUpdater() const OVERRIDE { return m_textureUpdater.get(); }
virtual void createTextureUpdaterIfNeeded() OVERRIDE;
- ContentLayerDelegate* m_delegate;
+ ContentLayerChromiumClient* m_client;
RefPtr<LayerTextureUpdater> m_textureUpdater;
};
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCGestureCurve.h b/Source/WebCore/platform/graphics/chromium/ContentLayerChromiumClient.h
index 9089a48f3..d956a5d71 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCGestureCurve.h
+++ b/Source/WebCore/platform/graphics/chromium/ContentLayerChromiumClient.h
@@ -22,30 +22,23 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CCGestureCurve_h
-#define CCGestureCurve_h
+#ifndef ContentLayerChromiumClient_h
+#define ContentLayerChromiumClient_h
-namespace WebCore {
-
-class IntPoint;
-
-class CCGestureCurveTarget {
-public:
- virtual ~CCGestureCurveTarget() { }
+class SkCanvas;
- virtual void scrollBy(const IntPoint&) = 0;
- // FIXME: add interfaces for scroll(), etc.
-};
+namespace WebCore {
+class FloatRect;
+class IntRect;
-class CCGestureCurve {
+class ContentLayerChromiumClient {
public:
- virtual ~CCGestureCurve() { }
-
- virtual const char* debugName() const = 0;
+ virtual void paintContents(SkCanvas*, const IntRect& clip, FloatRect& opaque) = 0;
- virtual bool apply(double monotonicTime, CCGestureCurveTarget*) = 0;
+protected:
+ virtual ~ContentLayerChromiumClient() { }
};
-} // namespace WebCore
+}
-#endif
+#endif // ContentLayerChromiumClient_h
diff --git a/Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp b/Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
index 6102a3e6f..f12a5ba27 100644
--- a/Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
@@ -36,8 +36,10 @@
#include "Extensions3DChromium.h"
#include "GraphicsContext3D.h"
#include "GraphicsContext3DPrivate.h"
+#include "GraphicsLayerChromium.h"
#include <algorithm>
-#include <public/WebCompositor.h>
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebExternalTextureLayer.h>
#include <public/WebExternalTextureLayerClient.h>
#include <public/WebGraphicsContext3D.h>
@@ -81,13 +83,16 @@ DrawingBuffer::DrawingBuffer(GraphicsContext3D* context,
, m_fbo(0)
, m_colorBuffer(0)
, m_frontColorBuffer(0)
- , m_separateFrontTexture(m_preserveDrawingBuffer == Preserve || WebKit::WebCompositor::threadingEnabled())
, m_depthStencilBuffer(0)
, m_depthBuffer(0)
, m_stencilBuffer(0)
, m_multisampleFBO(0)
, m_multisampleColorBuffer(0)
+ , m_contentsChanged(true)
{
+ // We need a separate front and back textures if ...
+ m_separateFrontTexture = m_preserveDrawingBuffer == Preserve // ... we have to preserve contents after compositing, which is done with a copy or ...
+ || WebKit::Platform::current()->compositorSupport()->isThreadingEnabled(); // ... if we're in threaded mode and need to double buffer.
initialize(size);
}
@@ -119,6 +124,9 @@ void DrawingBuffer::initialize(const IntSize& size)
#if USE(ACCELERATED_COMPOSITING)
void DrawingBuffer::prepareBackBuffer()
{
+ if (!m_contentsChanged)
+ return;
+
m_context->makeContextCurrent();
if (multisample())
@@ -138,6 +146,8 @@ void DrawingBuffer::prepareBackBuffer()
bind();
else
restoreFramebufferBinding();
+
+ m_contentsChanged = false;
}
bool DrawingBuffer::requiresCopyFromBackToFrontBuffer() const
@@ -156,15 +166,18 @@ class DrawingBufferPrivate : public WebKit::WebExternalTextureLayerClient {
public:
explicit DrawingBufferPrivate(DrawingBuffer* drawingBuffer)
: m_drawingBuffer(drawingBuffer)
- , m_layer(adoptPtr(WebKit::WebExternalTextureLayer::create(this)))
+ , m_layer(adoptPtr(WebKit::Platform::current()->compositorSupport()->createExternalTextureLayer(this)))
{
+
GraphicsContext3D::Attributes attributes = m_drawingBuffer->graphicsContext3D()->getContextAttributes();
m_layer->setOpaque(!attributes.alpha);
m_layer->setPremultipliedAlpha(attributes.premultipliedAlpha);
+ GraphicsLayerChromium::registerContentsLayer(m_layer->layer());
}
virtual ~DrawingBufferPrivate()
{
+ GraphicsLayerChromium::unregisterContentsLayer(m_layer->layer());
}
virtual unsigned prepareTexture(WebKit::WebTextureUpdater& updater) OVERRIDE
diff --git a/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
index 3d30e18eb..afd08db78 100644
--- a/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontChromiumWin.cpp
@@ -390,15 +390,56 @@ void Font::drawGlyphs(GraphicsContext* graphicsContext,
// We draw the glyphs in chunks to avoid having to do a heap allocation for
// the arrays of characters and advances.
const int kMaxBufferLength = 256;
- Vector<WORD, kMaxBufferLength> glyphs;
Vector<int, kMaxBufferLength> advances;
int glyphIndex = 0; // The starting glyph of the current chunk.
+ float horizontalOffset = point.x(); // The floating point offset of the left side of the current glyph.
+#if ENABLE(OPENTYPE_VERTICAL)
+ const OpenTypeVerticalData* verticalData = font->verticalData();
+ if (verticalData) {
+ Vector<FloatPoint, kMaxBufferLength> translations;
+ Vector<GOFFSET, kMaxBufferLength> offsets;
+
+ // Skia doesn't have matrix for glyph coordinate space, so we rotate back the CTM.
+ AffineTransform savedMatrix = graphicsContext->getCTM();
+ graphicsContext->concatCTM(AffineTransform(0, -1, 1, 0, point.x(), point.y()));
+ graphicsContext->concatCTM(AffineTransform(1, 0, 0, 1, -point.x(), -point.y()));
+
+ const FontMetrics& metrics = font->fontMetrics();
+ SkScalar verticalOriginX = SkFloatToScalar(point.x() + metrics.floatAscent() - metrics.floatAscent(IdeographicBaseline));
+ while (glyphIndex < numGlyphs) {
+ // How many chars will be in this chunk?
+ int curLen = std::min(kMaxBufferLength, numGlyphs - glyphIndex);
+
+ const Glyph* glyphs = glyphBuffer.glyphs(from + glyphIndex);
+ translations.resize(curLen);
+ verticalData->getVerticalTranslationsForGlyphs(font, &glyphs[0], curLen, reinterpret_cast<float*>(&translations[0]));
+ // To position glyphs vertically, we use offsets instead of advances.
+ advances.resize(curLen);
+ advances.fill(0);
+ offsets.resize(curLen);
+ float currentWidth = 0;
+ for (int i = 0; i < curLen; ++i, ++glyphIndex) {
+ offsets[i].du = lroundf(translations[i].x());
+ offsets[i].dv = -lroundf(currentWidth - translations[i].y());
+ currentWidth += glyphBuffer.advanceAt(from + glyphIndex);
+ }
+ SkPoint origin;
+ origin.set(verticalOriginX, SkFloatToScalar(point.y() + horizontalOffset - point.x()));
+ horizontalOffset += currentWidth;
+ paintSkiaText(graphicsContext, font->platformData(), curLen, &glyphs[0], &advances[0], &offsets[0], &origin);
+ }
+
+ graphicsContext->setCTM(savedMatrix);
+ return;
+ }
+#endif
+
// In order to round all offsets to the correct pixel boundary, this code keeps track of the absolute position
// of each glyph in floating point units and rounds to integer advances at the last possible moment.
- float horizontalOffset = point.x(); // The floating point offset of the left side of the current glyph.
int lastHorizontalOffsetRounded = lroundf(horizontalOffset); // The rounded offset of the left side of the last glyph rendered.
+ Vector<WORD, kMaxBufferLength> glyphs;
while (glyphIndex < numGlyphs) {
// How many chars will be in this chunk?
int curLen = std::min(kMaxBufferLength, numGlyphs - glyphIndex);
diff --git a/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp
index 6f27f8a54..183ad0b6f 100644
--- a/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.cpp
@@ -191,6 +191,31 @@ SCRIPT_FONTPROPERTIES* FontPlatformData::scriptFontProperties() const
return m_scriptFontProperties;
}
+#if ENABLE(OPENTYPE_VERTICAL)
+const OpenTypeVerticalData* FontPlatformData::verticalData() const
+{
+ SkFontID id = typeface()->uniqueID();
+ return fontCache()->getVerticalData(id, *this);
+}
+
+PassRefPtr<SharedBuffer> FontPlatformData::openTypeTable(uint32_t table) const
+{
+ HWndDC hdc(0);
+ HGDIOBJ oldFont = SelectObject(hdc, hfont());
+
+ DWORD size = GetFontData(hdc, table, 0, 0, 0);
+ RefPtr<SharedBuffer> buffer;
+ if (size != GDI_ERROR) {
+ buffer = SharedBuffer::create(size);
+ DWORD result = GetFontData(hdc, table, 0, (PVOID)buffer->data(), size);
+ ASSERT(result == size);
+ }
+
+ SelectObject(hdc, oldFont);
+ return buffer.release();
+}
+#endif
+
#ifndef NDEBUG
String FontPlatformData::description() const
{
diff --git a/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.h b/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.h
index 55a5c2b07..b5ebef2b3 100644
--- a/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.h
+++ b/Source/WebCore/platform/graphics/chromium/FontPlatformDataChromiumWin.h
@@ -35,6 +35,7 @@
#include "config.h"
#include "FontOrientation.h"
+#include "SharedBuffer.h"
#include "SkTypeface.h"
#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
@@ -53,6 +54,9 @@ namespace WebCore {
SkTypeface* CreateTypefaceFromHFont(HFONT, int* size, int* lfQuality);
class FontDescription;
+#if ENABLE(OPENTYPE_VERTICAL)
+class OpenTypeVerticalData;
+#endif
class FontPlatformData {
public:
@@ -92,6 +96,11 @@ public:
return m_font == other.m_font && m_size == other.m_size && m_orientation == other.m_orientation;
}
+#if ENABLE(OPENTYPE_VERTICAL)
+ const OpenTypeVerticalData* verticalData() const;
+ PassRefPtr<SharedBuffer> openTypeTable(uint32_t table) const;
+#endif
+
#ifndef NDEBUG
String description() const;
#endif
diff --git a/Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp b/Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp
index cc52c52eb..df941cb90 100644
--- a/Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FontUtilsChromiumWin.cpp
@@ -34,12 +34,12 @@
#include <limits>
#include "HWndDC.h"
-#include "PlatformString.h"
#include "UniscribeHelper.h"
#include <unicode/locid.h>
#include <unicode/uchar.h>
#include <wtf/HashMap.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp b/Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp
index 101ad4bb1..4bc639009 100644
--- a/Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp
+++ b/Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp
@@ -50,7 +50,7 @@ static PassOwnPtr<SkCanvas> createAcceleratedCanvas(GrContext* grContext,
textureDesc.fFlags = kRenderTarget_GrPlatformTextureFlag;
textureDesc.fWidth = canvasSize.width();
textureDesc.fHeight = canvasSize.height();
- textureDesc.fConfig = kSkia8888_PM_GrPixelConfig;
+ textureDesc.fConfig = kSkia8888_GrPixelConfig;
textureDesc.fTextureHandle = textureId;
SkAutoTUnref<GrTexture> target(grContext->createPlatformTexture(textureDesc));
SkAutoTUnref<SkDevice> device(new SkGpuDevice(grContext, target.get()));
@@ -103,11 +103,16 @@ LayerTextureUpdater::SampledTexelFormat FrameBufferSkPictureCanvasLayerTextureUp
void FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect(WebGraphicsContext3D* context, GrContext* grContext, CCResourceProvider* resourceProvider, CCPrioritizedTexture* texture, const IntRect& sourceRect, const IntSize& destOffset)
{
- // Make sure ganesh uses the correct GL context.
- context->makeContextCurrent();
-
texture->acquireBackingTexture(resourceProvider);
+ // Flush the context in which the backing texture is created so that it
+ // is available in other shared contexts. It is important to do here
+ // because the backing texture is created in one context while it is
+ // being written to in another.
+ resourceProvider->flush();
CCResourceProvider::ScopedWriteLockGL lock(resourceProvider, texture->resourceId());
+
+ // Make sure ganesh uses the correct GL context.
+ context->makeContextCurrent();
// Create an accelerated canvas to draw on.
OwnPtr<SkCanvas> canvas = createAcceleratedCanvas(grContext, texture->size(), lock.textureId());
diff --git a/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
index cf4435bda..0aa145b01 100644
--- a/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp
@@ -45,7 +45,6 @@
#include "GraphicsLayerChromium.h"
-#include "AnimationIdVendor.h"
#include "AnimationTranslationUtil.h"
#include "ContentLayerChromium.h"
#include "FloatConversion.h"
@@ -54,11 +53,12 @@
#include "Image.h"
#include "NativeImageSkia.h"
#include "PlatformContextSkia.h"
-#include "PlatformString.h"
+#include "ScrollableArea.h"
#include "SkMatrix44.h"
#include "SystemTime.h"
-
+#include <public/Platform.h>
#include <public/WebAnimation.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFilterOperation.h>
#include <public/WebFilterOperations.h>
#include <public/WebFloatPoint.h>
@@ -67,8 +67,10 @@
#include <public/WebSize.h>
#include <public/WebTransformationMatrix.h>
#include <wtf/CurrentTime.h>
+#include <wtf/HashSet.h>
#include <wtf/StringExtras.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
using namespace std;
using namespace WebKit;
@@ -88,13 +90,12 @@ GraphicsLayerChromium::GraphicsLayerChromium(GraphicsLayerClient* client)
, m_contentsLayerPurpose(NoContentsLayer)
, m_contentsLayerHasBackgroundColor(false)
, m_inSetChildren(false)
- , m_pageScaleChanged(false)
+ , m_scrollableArea(0)
{
m_opaqueRectTrackingContentLayerDelegate = adoptPtr(new OpaqueRectTrackingContentLayerDelegate(this));
- m_layer = adoptPtr(WebContentLayer::create(m_opaqueRectTrackingContentLayerDelegate.get()));
+ m_layer = adoptPtr(Platform::current()->compositorSupport()->createContentLayer(m_opaqueRectTrackingContentLayerDelegate.get()));
m_layer->layer()->setDrawsContent(m_drawsContent && m_contentsVisible);
- if (client)
- deviceOrPageScaleFactorChanged();
+ m_layer->layer()->setScrollClient(this);
updateDebugIndicators();
}
@@ -130,9 +131,9 @@ void GraphicsLayerChromium::updateNames()
String debugName = "TransformLayer for " + m_nameBase;
m_transformLayer->setDebugName(debugName);
}
- if (m_contentsLayer) {
+ if (WebLayer* contentsLayer = contentsLayerIfRegistered()) {
String debugName = "ContentsLayer for " + m_nameBase;
- m_contentsLayer->setDebugName(debugName);
+ contentsLayer->setDebugName(debugName);
}
if (m_linkHighlight) {
String debugName = "LinkHighlight for " + m_nameBase;
@@ -218,20 +219,10 @@ void GraphicsLayerChromium::setSize(const FloatSize& size)
GraphicsLayer::setSize(clampedSize);
updateLayerSize();
-
- if (m_pageScaleChanged) {
- m_layer->layer()->invalidate();
- if (m_linkHighlight)
- m_linkHighlight->invalidate();
- }
- m_pageScaleChanged = false;
}
void GraphicsLayerChromium::setTransform(const TransformationMatrix& transform)
{
- // Call this method first to assign contents scale to our layer so the painter can apply the scale transform.
- updateContentsScale();
-
GraphicsLayer::setTransform(transform);
updateTransform();
}
@@ -290,7 +281,9 @@ void GraphicsLayerChromium::setBackgroundColor(const Color& color)
void GraphicsLayerChromium::clearBackgroundColor()
{
GraphicsLayer::clearBackgroundColor();
- m_contentsLayer->setBackgroundColor(static_cast<RGBA32>(0));
+
+ if (WebLayer* contentsLayer = contentsLayerIfRegistered())
+ contentsLayer->setBackgroundColor(static_cast<RGBA32>(0));
}
void GraphicsLayerChromium::setContentsOpaque(bool opaque)
@@ -432,8 +425,8 @@ void GraphicsLayerChromium::setReplicatedByLayer(GraphicsLayer* layer)
void GraphicsLayerChromium::setContentsNeedsDisplay()
{
- if (m_contentsLayer)
- m_contentsLayer->invalidate();
+ if (WebLayer* contentsLayer = contentsLayerIfRegistered())
+ contentsLayer->invalidate();
}
void GraphicsLayerChromium::setNeedsDisplay()
@@ -468,7 +461,9 @@ void GraphicsLayerChromium::setContentsToImage(Image* image)
bool childrenChanged = false;
if (image) {
if (m_contentsLayerPurpose != ContentsLayerForImage) {
- m_imageLayer = adoptPtr(WebImageLayer::create());
+ m_imageLayer = adoptPtr(Platform::current()->compositorSupport()->createImageLayer());
+ registerContentsLayer(m_imageLayer->layer());
+
setupContentsLayer(m_imageLayer->layer());
m_contentsLayerPurpose = ContentsLayerForImage;
childrenChanged = true;
@@ -481,6 +476,7 @@ void GraphicsLayerChromium::setContentsToImage(Image* image)
if (m_imageLayer) {
childrenChanged = true;
+ unregisterContentsLayer(m_imageLayer->layer());
m_imageLayer.clear();
}
// The old contents layer will be removed via updateChildList.
@@ -491,6 +487,40 @@ void GraphicsLayerChromium::setContentsToImage(Image* image)
updateChildList();
}
+static HashSet<int>* s_registeredLayerSet;
+
+void GraphicsLayerChromium::registerContentsLayer(WebLayer* layer)
+{
+ if (!s_registeredLayerSet)
+ s_registeredLayerSet = new HashSet<int>;
+ if (s_registeredLayerSet->contains(layer->id()))
+ CRASH();
+ s_registeredLayerSet->add(layer->id());
+}
+
+void GraphicsLayerChromium::unregisterContentsLayer(WebLayer* layer)
+{
+ ASSERT(s_registeredLayerSet);
+ if (!s_registeredLayerSet->contains(layer->id()))
+ CRASH();
+ s_registeredLayerSet->remove(layer->id());
+}
+
+void GraphicsLayerChromium::clearContentsLayerIfUnregistered()
+{
+ if (!m_contentsLayerId || s_registeredLayerSet->contains(m_contentsLayerId))
+ return;
+
+ m_contentsLayer = 0;
+ m_contentsLayerId = 0;
+}
+
+WebLayer* GraphicsLayerChromium::contentsLayerIfRegistered()
+{
+ clearContentsLayerIfUnregistered();
+ return m_contentsLayer;
+}
+
void GraphicsLayerChromium::setContentsToCanvas(PlatformLayer* layer)
{
setContentsTo(ContentsLayerForCanvas, layer);
@@ -501,10 +531,13 @@ void GraphicsLayerChromium::setContentsToMedia(PlatformLayer* layer)
setContentsTo(ContentsLayerForVideo, layer);
}
-void GraphicsLayerChromium::setContentsTo(ContentsLayerPurpose purpose, WebKit::WebLayer* layer)
+void GraphicsLayerChromium::setContentsTo(ContentsLayerPurpose purpose, WebLayer* layer)
{
bool childrenChanged = false;
if (layer) {
+ ASSERT(s_registeredLayerSet);
+ if (!s_registeredLayerSet->contains(layer->id()))
+ CRASH();
if (m_contentsLayerId != layer->id()) {
setupContentsLayer(layer);
m_contentsLayerPurpose = purpose;
@@ -528,12 +561,17 @@ bool GraphicsLayerChromium::addAnimation(const KeyframeValueList& values, const
{
platformLayer()->setAnimationDelegate(this);
- int animationId = mapAnimationNameToId(animationName);
- int groupId = AnimationIdVendor::getNextGroupId();
+ int animationId = 0;
- OwnPtr<WebKit::WebAnimation> toAdd(createWebAnimation(values, animation, animationId, groupId, timeOffset, boxSize));
+ if (m_animationIdMap.contains(animationName))
+ animationId = m_animationIdMap.get(animationName);
+
+ OwnPtr<WebAnimation> toAdd(createWebAnimation(values, animation, animationId, timeOffset, boxSize));
if (toAdd) {
+ animationId = toAdd->id();
+ m_animationIdMap.set(animationName, animationId);
+
// Remove any existing animations with the same animation id and target property.
platformLayer()->removeAnimation(animationId, toAdd->targetProperty());
return platformLayer()->addAnimation(toAdd.get());
@@ -544,12 +582,14 @@ bool GraphicsLayerChromium::addAnimation(const KeyframeValueList& values, const
void GraphicsLayerChromium::pauseAnimation(const String& animationName, double timeOffset)
{
- platformLayer()->pauseAnimation(mapAnimationNameToId(animationName), timeOffset);
+ if (m_animationIdMap.contains(animationName))
+ platformLayer()->pauseAnimation(m_animationIdMap.get(animationName), timeOffset);
}
void GraphicsLayerChromium::removeAnimation(const String& animationName)
{
- platformLayer()->removeAnimation(mapAnimationNameToId(animationName));
+ if (m_animationIdMap.contains(animationName))
+ platformLayer()->removeAnimation(m_animationIdMap.get(animationName));
}
void GraphicsLayerChromium::suspendAnimations(double wallClockTime)
@@ -600,6 +640,8 @@ void GraphicsLayerChromium::updateChildList()
WebLayer* childHost = m_transformLayer ? m_transformLayer.get() : m_layer->layer();
childHost->removeAllChildren();
+ clearContentsLayerIfUnregistered();
+
if (m_transformLayer) {
// Add the primary layer first. Even if we have negative z-order children, the primary layer always comes behind.
childHost->addChild(m_layer->layer());
@@ -672,8 +714,7 @@ void GraphicsLayerChromium::updateMasksToBounds()
void GraphicsLayerChromium::updateLayerPreserves3D()
{
if (m_preserves3D && !m_transformLayer) {
- // Create the transform layer.
- m_transformLayer = adoptPtr(WebLayer::create());
+ m_transformLayer = adoptPtr(Platform::current()->compositorSupport()->createLayer());
m_transformLayer->setPreserves3D(true);
m_transformLayer->setAnimationDelegate(this);
m_layer->layer()->transferAnimationsTo(m_transformLayer.get());
@@ -693,16 +734,14 @@ void GraphicsLayerChromium::updateLayerPreserves3D()
// Set the old layer to opacity of 1. Further down we will set the opacity on the transform layer.
m_layer->layer()->setOpacity(1);
- m_layer->setContentsScale(contentsScale());
-
// Move this layer to be a child of the transform layer.
if (parent())
parent()->platformLayer()->replaceChild(m_layer->layer(), m_transformLayer.get());
m_transformLayer->addChild(m_layer->layer());
updateChildList();
- } else if (m_preserves3D && !m_transformLayer) {
- // Relace the transformLayer in the parent with this layer.
+ } else if (!m_preserves3D && m_transformLayer) {
+ // Replace the transformLayer in the parent with this layer.
m_layer->layer()->removeFromParent();
if (parent())
parent()->platformLayer()->replaceChild(m_transformLayer.get(), m_layer->layer());
@@ -736,9 +775,8 @@ void GraphicsLayerChromium::updateLayerIsDrawable()
// so it is only given contentsVisible.
m_layer->layer()->setDrawsContent(m_drawsContent && m_contentsVisible);
-
- if (m_contentsLayer)
- m_contentsLayer->setDrawsContent(m_contentsVisible);
+ if (WebLayer* contentsLayer = contentsLayerIfRegistered())
+ contentsLayer->setDrawsContent(m_contentsVisible);
if (m_drawsContent) {
m_layer->layer()->invalidate();
@@ -751,14 +789,15 @@ void GraphicsLayerChromium::updateLayerIsDrawable()
void GraphicsLayerChromium::updateLayerBackgroundColor()
{
- if (!m_contentsLayer)
+ WebLayer* contentsLayer = contentsLayerIfRegistered();
+ if (!contentsLayer)
return;
// We never create the contents layer just for background color yet.
if (m_backgroundColorSet)
- m_contentsLayer->setBackgroundColor(m_backgroundColor.rgb());
+ contentsLayer->setBackgroundColor(m_backgroundColor.rgb());
else
- m_contentsLayer->setBackgroundColor(static_cast<RGBA32>(0));
+ contentsLayer->setBackgroundColor(static_cast<RGBA32>(0));
}
void GraphicsLayerChromium::updateContentsVideo()
@@ -768,20 +807,12 @@ void GraphicsLayerChromium::updateContentsVideo()
void GraphicsLayerChromium::updateContentsRect()
{
- if (!m_contentsLayer)
- return;
-
- m_contentsLayer->setPosition(FloatPoint(m_contentsRect.x(), m_contentsRect.y()));
- m_contentsLayer->setBounds(IntSize(m_contentsRect.width(), m_contentsRect.height()));
-}
-
-void GraphicsLayerChromium::updateContentsScale()
-{
- // If page scale is already applied then there's no need to apply it again.
- if (appliesPageScale())
+ WebLayer* contentsLayer = contentsLayerIfRegistered();
+ if (!contentsLayer)
return;
- m_layer->setContentsScale(contentsScale());
+ contentsLayer->setPosition(FloatPoint(m_contentsRect.x(), m_contentsRect.y()));
+ contentsLayer->setBounds(IntSize(m_contentsRect.width(), m_contentsRect.height()));
}
void GraphicsLayerChromium::setupContentsLayer(WebLayer* contentsLayer)
@@ -810,20 +841,14 @@ void GraphicsLayerChromium::setupContentsLayer(WebLayer* contentsLayer)
updateNames();
}
-float GraphicsLayerChromium::contentsScale() const
+void GraphicsLayerChromium::setAppliesPageScale(bool appliesScale)
{
- if (!appliesPageScale())
- return pageScaleFactor() * deviceScaleFactor();
- return 1;
+ m_layer->setBoundsContainPageScale(appliesScale);
}
-void GraphicsLayerChromium::deviceOrPageScaleFactorChanged()
+bool GraphicsLayerChromium::appliesPageScale() const
{
- updateContentsScale();
- // Invalidations are clamped to the layer's bounds but we receive the scale changed notification before receiving
- // the new layer bounds. When the scale changes, we really want to invalidate the post-scale layer bounds, so we
- // remember that the scale has changed and then invalidate the full layer bounds when we receive the new size.
- m_pageScaleChanged = true;
+ return m_layer->boundsContainPageScale();
}
void GraphicsLayerChromium::paint(GraphicsContext& context, const IntRect& clip)
@@ -832,17 +857,6 @@ void GraphicsLayerChromium::paint(GraphicsContext& context, const IntRect& clip)
paintGraphicsLayerContents(context, clip);
}
-int GraphicsLayerChromium::mapAnimationNameToId(const String& animationName)
-{
- if (animationName.isEmpty())
- return 0;
-
- if (!m_animationIdMap.contains(animationName))
- m_animationIdMap.add(animationName, AnimationIdVendor::getNextAnimationId());
-
- return m_animationIdMap.find(animationName)->second;
-}
-
void GraphicsLayerChromium::notifyAnimationStarted(double startTime)
{
if (m_client)
@@ -854,6 +868,12 @@ void GraphicsLayerChromium::notifyAnimationFinished(double)
// Do nothing.
}
+void GraphicsLayerChromium::didScroll()
+{
+ if (m_scrollableArea)
+ m_scrollableArea->scrollToOffsetWithoutAnimation(IntPoint(m_layer->layer()->scrollPosition()));
+}
+
} // namespace WebCore
#endif // USE(ACCELERATED_COMPOSITING)
diff --git a/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h b/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h
index 4fc8d1cfd..d5816b40f 100644
--- a/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h
@@ -41,12 +41,13 @@
#include <public/WebContentLayer.h>
#include <public/WebImageLayer.h>
#include <public/WebLayer.h>
+#include <public/WebLayerScrollClient.h>
#include <wtf/HashMap.h>
namespace WebCore {
-class LayerChromium;
class Path;
+class ScrollableArea;
class LinkHighlightClient {
public:
@@ -58,7 +59,7 @@ protected:
virtual ~LinkHighlightClient() { }
};
-class GraphicsLayerChromium : public GraphicsLayer, public GraphicsContextPainter, public WebKit::WebAnimationDelegate {
+class GraphicsLayerChromium : public GraphicsLayer, public GraphicsContextPainter, public WebKit::WebAnimationDelegate, public WebKit::WebLayerScrollClient {
public:
GraphicsLayerChromium(GraphicsLayerClient*);
virtual ~GraphicsLayerChromium();
@@ -110,6 +111,9 @@ public:
virtual void setContentsRect(const IntRect&);
+ static void registerContentsLayer(WebKit::WebLayer*);
+ static void unregisterContentsLayer(WebKit::WebLayer*);
+
virtual void setContentsToImage(Image*);
virtual void setContentsToMedia(PlatformLayer*);
virtual void setContentsToCanvas(PlatformLayer*);
@@ -125,11 +129,16 @@ public:
// Next function for testing purposes.
LinkHighlightClient* linkHighlight() { return m_linkHighlight; }
- virtual PlatformLayer* platformLayer() const;
+ virtual WebKit::WebLayer* platformLayer() const;
virtual void setDebugBackgroundColor(const Color&);
virtual void setDebugBorder(const Color&, float borderWidth);
- virtual void deviceOrPageScaleFactorChanged();
+
+ virtual void setAppliesPageScale(bool appliesScale) OVERRIDE;
+ virtual bool appliesPageScale() const OVERRIDE;
+
+ void setScrollableArea(ScrollableArea* scrollableArea) { m_scrollableArea = scrollableArea; }
+ ScrollableArea* scrollableArea() const { return m_scrollableArea; }
// GraphicsContextPainter implementation.
virtual void paint(GraphicsContext&, const IntRect& clip) OVERRIDE;
@@ -138,11 +147,13 @@ public:
virtual void notifyAnimationStarted(double startTime) OVERRIDE;
virtual void notifyAnimationFinished(double finishTime) OVERRIDE;
+ // WebLayerScrollClient implementation.
+ virtual void didScroll() OVERRIDE;
+
WebKit::WebContentLayer* contentLayer() const { return m_layer.get(); }
// Exposed for tests.
WebKit::WebLayer* contentsLayer() const { return m_contentsLayer; }
- float contentsScale() const;
private:
void updateNames();
@@ -160,7 +171,6 @@ private:
void updateContentsImage();
void updateContentsVideo();
void updateContentsRect();
- void updateContentsScale();
enum ContentsLayerPurpose {
NoContentsLayer = 0,
@@ -171,8 +181,8 @@ private:
void setContentsTo(ContentsLayerPurpose, WebKit::WebLayer*);
void setupContentsLayer(WebKit::WebLayer*);
-
- int mapAnimationNameToId(const String& animationName);
+ void clearContentsLayerIfUnregistered();
+ WebKit::WebLayer* contentsLayerIfRegistered();
String m_nameBase;
@@ -193,10 +203,11 @@ private:
ContentsLayerPurpose m_contentsLayerPurpose;
bool m_contentsLayerHasBackgroundColor : 1;
bool m_inSetChildren;
- bool m_pageScaleChanged;
typedef HashMap<String, int> AnimationIdMap;
AnimationIdMap m_animationIdMap;
+
+ ScrollableArea* m_scrollableArea;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/chromium/IconChromium.cpp b/Source/WebCore/platform/graphics/chromium/IconChromium.cpp
index 398cc3bd6..6427ded23 100644
--- a/Source/WebCore/platform/graphics/chromium/IconChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/IconChromium.cpp
@@ -32,7 +32,7 @@
#include "Icon.h"
#include "GraphicsContext.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/chromium/IconChromiumAndroid.cpp b/Source/WebCore/platform/graphics/chromium/IconChromiumAndroid.cpp
index 2085827e0..6e28a237d 100644
--- a/Source/WebCore/platform/graphics/chromium/IconChromiumAndroid.cpp
+++ b/Source/WebCore/platform/graphics/chromium/IconChromiumAndroid.cpp
@@ -28,7 +28,7 @@
#include "GraphicsContext.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
index 4e7fa74f5..2418fded7 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp
@@ -42,6 +42,8 @@
#include "TextStream.h"
#include <public/WebAnimationDelegate.h>
+#include <public/WebLayerScrollClient.h>
+#include <public/WebSize.h>
using namespace std;
using WebKit::WebTransformationMatrix;
@@ -90,8 +92,9 @@ LayerChromium::LayerChromium()
, m_drawTransformIsAnimating(false)
, m_screenSpaceTransformIsAnimating(false)
, m_contentsScale(1.0)
+ , m_boundsContainPageScale(false)
, m_layerAnimationDelegate(0)
- , m_layerScrollDelegate(0)
+ , m_layerScrollClient(0)
{
if (m_layerId < 0) {
s_nextLayerId = 1;
@@ -395,6 +398,8 @@ void LayerChromium::setScrollPosition(const IntPoint& scrollPosition)
if (m_scrollPosition == scrollPosition)
return;
m_scrollPosition = scrollPosition;
+ if (m_layerScrollClient)
+ m_layerScrollClient->didScroll();
setNeedsCommit();
}
@@ -439,13 +444,6 @@ void LayerChromium::setNonFastScrollableRegion(const Region& region)
setNeedsCommit();
}
-void LayerChromium::scrollBy(const IntSize& scrollDelta)
-{
- setScrollPosition(scrollPosition() + scrollDelta);
- if (m_layerScrollDelegate)
- m_layerScrollDelegate->didScroll(scrollDelta);
-}
-
void LayerChromium::setDrawCheckerboardForMissingTiles(bool checkerboard)
{
if (m_drawCheckerboardForMissingTiles == checkerboard)
@@ -620,6 +618,16 @@ void LayerChromium::setContentsScale(float contentsScale)
if (!needsContentsScale() || m_contentsScale == contentsScale)
return;
m_contentsScale = contentsScale;
+
+ setNeedsDisplay();
+}
+
+void LayerChromium::setBoundsContainPageScale(bool boundsContainPageScale)
+{
+ if (boundsContainPageScale == m_boundsContainPageScale)
+ return;
+
+ m_boundsContainPageScale = boundsContainPageScale;
setNeedsDisplay();
}
diff --git a/Source/WebCore/platform/graphics/chromium/LayerChromium.h b/Source/WebCore/platform/graphics/chromium/LayerChromium.h
index 2e541ee7b..ee0ea7756 100644
--- a/Source/WebCore/platform/graphics/chromium/LayerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/LayerChromium.h
@@ -54,6 +54,7 @@
namespace WebKit {
class WebAnimationDelegate;
+class WebLayerScrollClient;
}
namespace WebCore {
@@ -68,15 +69,6 @@ class ScrollbarLayerChromium;
struct CCAnimationEvent;
struct CCRenderingStats;
-// Delegate for handling scroll input for a LayerChromium.
-class LayerChromiumScrollDelegate {
-public:
- virtual void didScroll(const IntSize&) = 0;
-
-protected:
- virtual ~LayerChromiumScrollDelegate() { }
-};
-
// Base class for composited layers. Special layer types are derived from
// this class.
class LayerChromium : public RefCounted<LayerChromium>, public CCLayerAnimationControllerClient {
@@ -175,8 +167,7 @@ public:
const Region& nonFastScrollableRegion() { return m_nonFastScrollableRegion; }
void setNonFastScrollableRegion(const Region&);
void setNonFastScrollableRegionChanged() { m_nonFastScrollableRegionChanged = true; }
- void setLayerScrollDelegate(LayerChromiumScrollDelegate* layerScrollDelegate) { m_layerScrollDelegate = layerScrollDelegate; }
- void scrollBy(const IntSize&);
+ void setLayerScrollClient(WebKit::WebLayerScrollClient* layerScrollClient) { m_layerScrollClient = layerScrollClient; }
void setDrawCheckerboardForMissingTiles(bool);
bool drawCheckerboardForMissingTiles() const { return m_drawCheckerboardForMissingTiles; }
@@ -259,6 +250,10 @@ public:
float contentsScale() const { return m_contentsScale; }
void setContentsScale(float);
+ // When true, the layer's contents are not scaled by the current page scale factor.
+ void setBoundsContainPageScale(bool);
+ bool boundsContainPageScale() const { return m_boundsContainPageScale; }
+
// Returns true if any of the layer's descendants has content to draw.
bool descendantDrawsContent();
@@ -394,9 +389,10 @@ private:
// Uses target surface space.
IntRect m_drawableContentRect;
float m_contentsScale;
+ bool m_boundsContainPageScale;
WebKit::WebAnimationDelegate* m_layerAnimationDelegate;
- LayerChromiumScrollDelegate* m_layerScrollDelegate;
+ WebKit::WebLayerScrollClient* m_layerScrollClient;
};
void sortLayers(Vector<RefPtr<LayerChromium> >::iterator, Vector<RefPtr<LayerChromium> >::iterator, void*);
diff --git a/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp
index 5dd1045ab..eff14ddfd 100644
--- a/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/ScrollbarLayerChromium.cpp
@@ -65,7 +65,7 @@ void ScrollbarLayerChromium::pushPropertiesTo(CCLayerImpl* layer)
CCScrollbarLayerImpl* scrollbarLayer = static_cast<CCScrollbarLayerImpl*>(layer);
if (!scrollbarLayer->scrollbarGeometry())
- scrollbarLayer->setScrollbarGeometry(adoptPtr(m_geometry->clone()));
+ scrollbarLayer->setScrollbarGeometry(CCScrollbarGeometryFixedThumb::create(adoptPtr(m_geometry->clone())));
scrollbarLayer->setScrollbarData(m_scrollbar.get());
diff --git a/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp b/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp
index d2f469e36..34fd026eb 100644
--- a/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp
+++ b/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.cpp
@@ -31,6 +31,7 @@
#include "CCLayerTreeHost.h"
#include "CCTextureLayerImpl.h"
+#include "TextureLayerChromiumClient.h"
#include <public/WebGraphicsContext3D.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h b/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h
index 4b6721bb4..fd639f6f9 100644
--- a/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h
+++ b/Source/WebCore/platform/graphics/chromium/TextureLayerChromium.h
@@ -23,7 +23,6 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-
#ifndef TextureLayerChromium_h
#define TextureLayerChromium_h
@@ -37,19 +36,7 @@ class WebGraphicsContext3D;
namespace WebCore {
-class TextureLayerChromiumClient {
-public:
- // Called to prepare this layer's texture for compositing. The client may queue a texture
- // upload or copy on the CCTextureUpdateQueue.
- // Returns the texture ID to be used for compositing.
- virtual unsigned prepareTexture(CCTextureUpdateQueue&) = 0;
-
- // Returns the context that is providing the texture. Used for rate limiting and detecting lost context.
- virtual WebKit::WebGraphicsContext3D* context() = 0;
-
-protected:
- virtual ~TextureLayerChromiumClient() { }
-};
+class TextureLayerChromiumClient;
// A Layer containing a the rendered output of a plugin instance.
class TextureLayerChromium : public LayerChromium {
diff --git a/Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.cpp b/Source/WebCore/platform/graphics/chromium/TextureLayerChromiumClient.h
index 64a1fbc5b..f32cf165d 100644
--- a/Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/TextureLayerChromiumClient.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2012 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,32 +23,30 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "IDBKeyPathBackendImpl.h"
+#ifndef TextureLayerChromiumClient_h
+#define TextureLayerChromiumClient_h
-#include "IDBKey.h"
-#include "SerializedScriptValue.h"
-
-
-#if PLATFORM(CHROMIUM)
-#error "Chromium should not compile this file and instead define its own version of this factory that navigates the multi-process boundry."
-#endif
-
-#if ENABLE(INDEXED_DATABASE)
+namespace WebKit {
+class WebGraphicsContext3D;
+}
namespace WebCore {
+class CCTextureUpdateQueue;
-void IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue>, 0>&, const IDBKeyPath&, Vector<RefPtr<IDBKey>, 0>&)
-{
- // FIXME: Implement this method once JSC supports WireFormat for SerializedScriptValue.
-}
+class TextureLayerChromiumClient {
+public:
+ // Called to prepare this layer's texture for compositing. The client may queue a texture
+ // upload or copy on the CCTextureUpdateQueue.
+ // Returns the texture ID to be used for compositing.
+ virtual unsigned prepareTexture(CCTextureUpdateQueue&) = 0;
-PassRefPtr<SerializedScriptValue> IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey>, PassRefPtr<SerializedScriptValue>, const IDBKeyPath&)
-{
- // FIXME: Implement this method once JSC supports WireFormat for SerializedScriptValue.
- return PassRefPtr<SerializedScriptValue>();
-}
+ // Returns the context that is providing the texture. Used for rate limiting and detecting lost context.
+ virtual WebKit::WebGraphicsContext3D* context() = 0;
+
+protected:
+ virtual ~TextureLayerChromiumClient() { }
+};
}
-#endif // ENABLE(INDEXED_DATABASE)
+#endif // TextureLayerChromiumClient_h
diff --git a/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp b/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
index ad9dd49d4..f7701c2a3 100644
--- a/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
+++ b/Source/WebCore/platform/graphics/chromium/UniscribeHelperTextRun.cpp
@@ -40,7 +40,7 @@ namespace WebCore {
UniscribeHelperTextRun::UniscribeHelperTextRun(const TextRun& run,
const Font& font)
- : UniscribeHelper(run.characters(), run.length(), run.rtl(),
+ : UniscribeHelper(run.characters16(), run.length(), run.rtl(),
font.primaryFont()->platformData().hfont(),
font.primaryFont()->platformData().scriptCache(),
font.primaryFont()->platformData().scriptFontProperties(),
diff --git a/Source/WebKit/chromium/public/WebTouchCandidatesInfo.h b/Source/WebCore/platform/graphics/chromium/cc/CCAppendQuadsData.h
index 65d4024a2..d53fdbbf0 100644
--- a/Source/WebKit/chromium/public/WebTouchCandidatesInfo.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCAppendQuadsData.h
@@ -23,32 +23,23 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebTouchCandidatesInfo_h
-#define WebTouchCandidatesInfo_h
+#ifndef CCAppendQuadsData_h
+#define CCAppendQuadsData_h
-#include "platform/WebRect.h"
+namespace WebCore {
-namespace WebKit {
-
-struct WebTouchCandidatesInfo {
- // The number of possible touch receivers from the last touch.
- int numberOfCandidates;
-
- // The bounds of the possible touch candidates. This will enclose the
- // rects of any possible touch candidates for a press.
- WebRect unitedBounds;
-
- // The smallest dimension (either width or height) of any of the
- // available touch targets.
- int smallestDimension;
-
- WebTouchCandidatesInfo()
- : numberOfCandidates(0)
- , smallestDimension(0)
+struct CCAppendQuadsData {
+ CCAppendQuadsData()
+ : hadOcclusionFromOutsideTargetSurface(false)
+ , hadMissingTiles(false)
{
}
-};
-} // namespace WebKit
+ // Set by the QuadCuller.
+ bool hadOcclusionFromOutsideTargetSurface;
+ // Set by the layer appending quads.
+ bool hadMissingTiles;
+};
-#endif
+}
+#endif // CCCCAppendQuadsData_h
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.cpp
index 4688bed19..6b53789f5 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.cpp
@@ -112,12 +112,12 @@ IntRect CCDirectRenderer::moveScissorToWindowSpace(const DrawingFrame& frame, Fl
void CCDirectRenderer::decideRenderPassAllocationsForFrame(const CCRenderPassList& renderPassesInDrawOrder)
{
- HashMap<int, const CCRenderPass*> renderPassesInFrame;
+ HashMap<CCRenderPass::Id, const CCRenderPass*> renderPassesInFrame;
for (size_t i = 0; i < renderPassesInDrawOrder.size(); ++i)
renderPassesInFrame.set(renderPassesInDrawOrder[i]->id(), renderPassesInDrawOrder[i]);
- Vector<int> passesToDelete;
- HashMap<int, OwnPtr<CachedTexture> >::const_iterator passIterator;
+ Vector<CCRenderPass::Id> passesToDelete;
+ HashMap<CCRenderPass::Id, OwnPtr<CachedTexture> >::const_iterator passIterator;
for (passIterator = m_renderPassTextures.begin(); passIterator != m_renderPassTextures.end(); ++passIterator) {
const CCRenderPass* renderPassInFrame = renderPassesInFrame.get(passIterator->first);
if (!renderPassInFrame) {
@@ -212,7 +212,7 @@ bool CCDirectRenderer::useRenderPass(DrawingFrame& frame, const CCRenderPass* re
return bindFramebufferToTexture(frame, texture, renderPass->outputRect());
}
-bool CCDirectRenderer::haveCachedResourcesForRenderPassId(int id) const
+bool CCDirectRenderer::haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const
{
CachedTexture* texture = m_renderPassTextures.get(id);
return texture && texture->id() && texture->isComplete();
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.h b/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.h
index 294152cdd..73d624fba 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCDirectRenderer.h
@@ -45,7 +45,7 @@ public:
CCResourceProvider* resourceProvider() const { return m_resourceProvider; }
virtual void decideRenderPassAllocationsForFrame(const CCRenderPassList& renderPassesInDrawOrder) OVERRIDE;
- virtual bool haveCachedResourcesForRenderPassId(int id) const OVERRIDE;
+ virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id) const OVERRIDE;
virtual void drawFrame(const CCRenderPassList& renderPassesInDrawOrder, const CCRenderPassIdHashMap& renderPassesById) OVERRIDE;
protected:
@@ -101,7 +101,7 @@ protected:
static void initializeMatrices(DrawingFrame&, const IntRect& drawRect, bool flipY);
static IntRect moveScissorToWindowSpace(const DrawingFrame&, FloatRect scissorRect);
- bool haveCachedResources(int renderPassId) const;
+ bool haveCachedResources(CCRenderPass::Id) const;
static IntSize renderPassTextureSize(const CCRenderPass*);
static GC3Denum renderPassTextureFormat(const CCRenderPass*);
@@ -118,7 +118,7 @@ protected:
virtual void beginDrawingFrame(DrawingFrame&) = 0;
virtual void finishDrawingFrame(DrawingFrame&) = 0;
- HashMap<int, OwnPtr<CachedTexture> > m_renderPassTextures;
+ HashMap<CCRenderPass::Id, OwnPtr<CachedTexture> > m_renderPassTextures;
CCResourceProvider* m_resourceProvider;
};
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
index 4584d4986..49321182b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.cpp
@@ -97,6 +97,21 @@ unsigned CCDrawQuad::size() const
return sizeof(CCDrawQuad);
}
+PassOwnPtr<CCDrawQuad> CCDrawQuad::copy(const CCSharedQuadState* copiedSharedQuadState) const
+{
+ // RenderPass quads have their own copy() method.
+ ASSERT(material() != RenderPass);
+
+ unsigned bytes = size();
+ ASSERT(bytes);
+
+ OwnPtr<CCDrawQuad> copyQuad(adoptPtr(reinterpret_cast<CCDrawQuad*>(new char[bytes])));
+ memcpy(copyQuad.get(), this, bytes);
+ copyQuad->setSharedQuadState(copiedSharedQuadState);
+
+ return copyQuad.release();
+}
+
void CCDrawQuad::setSharedQuadState(const CCSharedQuadState* sharedQuadState)
{
m_sharedQuadState = sharedQuadState;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h b/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h
index d4b0cc3f1..805ef1562 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCDrawQuad.h
@@ -80,6 +80,8 @@ public:
// looking at the material type).
unsigned size() const;
+ PassOwnPtr<CCDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState) const;
+
const CCSharedQuadState* sharedQuadState() const { return m_sharedQuadState; }
int sharedQuadStateId() const { return m_sharedQuadStateId; }
void setSharedQuadState(const CCSharedQuadState*);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.cpp
index 8d85fb342..c6059ee99 100644..100755
--- a/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.cpp
@@ -31,6 +31,14 @@
#include "TraceEvent.h"
#include <wtf/CurrentTime.h>
+namespace {
+
+// This will be the maximum number of pending frames unless
+// CCFrameRateController::setMaxFramesPending is called.
+const int defaultMaxFramesPending = 2;
+
+}
+
namespace WebCore {
class CCFrameRateControllerTimeSourceAdapter : public CCTimeSourceClient {
@@ -52,9 +60,10 @@ private:
CCFrameRateController::CCFrameRateController(PassRefPtr<CCTimeSource> timer)
: m_client(0)
, m_numFramesPending(0)
- , m_maxFramesPending(0)
+ , m_maxFramesPending(defaultMaxFramesPending)
, m_timeSource(timer)
, m_active(false)
+ , m_swapBuffersCompleteSupported(true)
, m_isTimeSourceThrottling(true)
{
m_timeSourceClientAdapter = CCFrameRateControllerTimeSourceAdapter::create(this);
@@ -64,8 +73,9 @@ CCFrameRateController::CCFrameRateController(PassRefPtr<CCTimeSource> timer)
CCFrameRateController::CCFrameRateController(CCThread* thread)
: m_client(0)
, m_numFramesPending(0)
- , m_maxFramesPending(0)
+ , m_maxFramesPending(defaultMaxFramesPending)
, m_active(false)
+ , m_swapBuffersCompleteSupported(true)
, m_isTimeSourceThrottling(false)
{
m_manualTicker = adoptPtr(new CCTimer(thread, this));
@@ -79,9 +89,9 @@ CCFrameRateController::~CCFrameRateController()
void CCFrameRateController::setActive(bool active)
{
- TRACE_EVENT1("cc", "CCFrameRateController::setActive", "active", active);
if (m_active == active)
return;
+ TRACE_EVENT1("cc", "CCFrameRateController::setActive", "active", active);
m_active = active;
if (m_isTimeSourceThrottling)
@@ -96,6 +106,7 @@ void CCFrameRateController::setActive(bool active)
void CCFrameRateController::setMaxFramesPending(int maxFramesPending)
{
+ ASSERT(maxFramesPending > 0);
m_maxFramesPending = maxFramesPending;
}
@@ -105,12 +116,17 @@ void CCFrameRateController::setTimebaseAndInterval(double timebase, double inter
m_timeSource->setTimebaseAndInterval(timebase, intervalSeconds);
}
+void CCFrameRateController::setSwapBuffersCompleteSupported(bool supported)
+{
+ m_swapBuffersCompleteSupported = supported;
+}
+
void CCFrameRateController::onTimerTick()
{
ASSERT(m_active);
// Don't forward the tick if we have too many frames in flight.
- if (m_maxFramesPending && m_numFramesPending >= m_maxFramesPending) {
+ if (m_numFramesPending >= m_maxFramesPending) {
TRACE_EVENT0("cc", "CCFrameRateController::onTimerTickButMaxFramesPending");
return;
}
@@ -118,8 +134,7 @@ void CCFrameRateController::onTimerTick()
if (m_client)
m_client->vsyncTick();
- if (!m_isTimeSourceThrottling
- && (!m_maxFramesPending || m_numFramesPending < m_maxFramesPending))
+ if (m_swapBuffersCompleteSupported && !m_isTimeSourceThrottling && m_numFramesPending < m_maxFramesPending)
postManualTick();
}
@@ -136,11 +151,16 @@ void CCFrameRateController::onTimerFired()
void CCFrameRateController::didBeginFrame()
{
- m_numFramesPending++;
+ if (m_swapBuffersCompleteSupported)
+ m_numFramesPending++;
+ else if (!m_isTimeSourceThrottling)
+ postManualTick();
}
void CCFrameRateController::didFinishFrame()
{
+ ASSERT(m_swapBuffersCompleteSupported);
+
m_numFramesPending--;
if (!m_isTimeSourceThrottling)
postManualTick();
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.h b/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.h
index 11b29a72e..f87cd4a2b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCFrameRateController.h
@@ -70,6 +70,7 @@ public:
double nextTickTimeIfActivated();
void setTimebaseAndInterval(double timebase, double intervalSeconds);
+ void setSwapBuffersCompleteSupported(bool);
protected:
friend class CCFrameRateControllerTimeSourceAdapter;
@@ -86,6 +87,7 @@ protected:
RefPtr<CCTimeSource> m_timeSource;
OwnPtr<CCFrameRateControllerTimeSourceAdapter> m_timeSourceClientAdapter;
bool m_active;
+ bool m_swapBuffersCompleteSupported;
// Members for unthrottled frame-rate.
bool m_isTimeSourceThrottling;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp
index 99df0ea57..508a50bff 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp
@@ -90,7 +90,7 @@ void CCHeadsUpDisplayLayerImpl::willDraw(CCResourceProvider* resourceProvider)
m_hudTexture->allocate(CCRenderer::ImplPool, bounds(), GraphicsContext3D::RGBA, CCResourceProvider::TextureUsageAny);
}
-void CCHeadsUpDisplayLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
+void CCHeadsUpDisplayLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
if (!m_hudTexture->id())
return;
@@ -101,7 +101,7 @@ void CCHeadsUpDisplayLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
bool premultipliedAlpha = true;
FloatRect uvRect(0, 0, 1, 1);
bool flipped = false;
- quadSink.append(CCTextureDrawQuad::create(sharedQuadState, quadRect, m_hudTexture->id(), premultipliedAlpha, uvRect, flipped));
+ quadSink.append(CCTextureDrawQuad::create(sharedQuadState, quadRect, m_hudTexture->id(), premultipliedAlpha, uvRect, flipped), appendQuadsData);
}
void CCHeadsUpDisplayLayerImpl::updateHudTexture(CCResourceProvider* resourceProvider)
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h
index f7d477fff..a4dd74183 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h
@@ -49,7 +49,7 @@ public:
void setFontAtlas(PassOwnPtr<CCFontAtlas>);
virtual void willDraw(CCResourceProvider*) OVERRIDE;
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
void updateHudTexture(CCResourceProvider*);
virtual void didDraw(CCResourceProvider*) OVERRIDE;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp
index 9f69e238f..5241c0bed 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp
@@ -96,13 +96,13 @@ void CCIOSurfaceLayerImpl::willDraw(CCResourceProvider* resourceProvider)
}
}
-void CCIOSurfaceLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
+void CCIOSurfaceLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
- appendDebugBorderQuad(quadSink, sharedQuadState);
+ appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
IntRect quadRect(IntPoint(), contentBounds());
- quadSink.append(CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, m_ioSurfaceSize, m_ioSurfaceTextureId, CCIOSurfaceDrawQuad::Flipped));
+ quadSink.append(CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, m_ioSurfaceSize, m_ioSurfaceTextureId, CCIOSurfaceDrawQuad::Flipped), appendQuadsData);
}
void CCIOSurfaceLayerImpl::dumpLayerProperties(TextStream& ts, int indent) const
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h
index 3a55bf2e2..fbbc04fbc 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h
@@ -41,7 +41,7 @@ public:
void setIOSurfaceProperties(unsigned ioSurfaceId, const IntSize&);
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
virtual void willDraw(CCResourceProvider*) OVERRIDE;
virtual void didLoseContext() OVERRIDE;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCInputHandler.h b/Source/WebCore/platform/graphics/chromium/cc/CCInputHandler.h
index d4f33948f..13fd568fa 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCInputHandler.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCInputHandler.h
@@ -29,8 +29,6 @@
namespace WebCore {
-class CCActiveGestureAnimation;
-class CCGestureCurveTarget;
class IntPoint;
class IntSize;
@@ -38,9 +36,9 @@ class IntSize;
// the impl thread side of the compositor implementation.
//
// There is one CCInputHandler for every CCLayerTreeHost. It is
-// created and used only on the impl thread.
+// created on the main thread and used only on the impl thread.
//
-// The CCInputHandler is constructed with an InputHandlerClient, which is the
+// The CCInputHandler is constructed with a CCInputHandlerClient, which is the
// interface by which the handler can manipulate the LayerTree.
class CCInputHandlerClient {
WTF_MAKE_NONCOPYABLE(CCInputHandlerClient);
@@ -75,9 +73,6 @@ public:
double startTime,
double duration) = 0;
- virtual CCActiveGestureAnimation* activeGestureAnimation() = 0;
- virtual void setActiveGestureAnimation(PassOwnPtr<CCActiveGestureAnimation>) = 0;
-
// Request another callback to CCInputHandler::animate().
virtual void scheduleAnimation() = 0;
@@ -89,10 +84,9 @@ protected:
class CCInputHandler {
WTF_MAKE_NONCOPYABLE(CCInputHandler);
public:
- static PassOwnPtr<CCInputHandler> create(CCInputHandlerClient*);
virtual ~CCInputHandler() { }
- virtual int identifier() const = 0;
+ virtual void bindToClient(CCInputHandlerClient*) = 0;
virtual void animate(double monotonicTime) = 0;
protected:
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
index e6de00e24..3800b0876 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp
@@ -166,13 +166,13 @@ void CCLayerImpl::didDraw(CCResourceProvider*)
#endif
}
-void CCLayerImpl::appendDebugBorderQuad(CCQuadSink& quadList, const CCSharedQuadState* sharedQuadState) const
+void CCLayerImpl::appendDebugBorderQuad(CCQuadSink& quadList, const CCSharedQuadState* sharedQuadState, CCAppendQuadsData& appendQuadsData) const
{
if (!hasDebugBorders())
return;
IntRect contentRect(IntPoint(), contentBounds());
- quadList.append(CCDebugBorderDrawQuad::create(sharedQuadState, contentRect, debugBorderColor(), debugBorderWidth()));
+ quadList.append(CCDebugBorderDrawQuad::create(sharedQuadState, contentRect, debugBorderColor(), debugBorderWidth()), appendQuadsData);
}
CCResourceProvider::ResourceId CCLayerImpl::contentsResourceId() const
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
index e12b1b1a7..f8ad06701 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.h
@@ -47,12 +47,14 @@ namespace WebCore {
class CCLayerSorter;
class CCLayerTreeHostImpl;
-class CCRenderer;
class CCQuadSink;
+class CCRenderer;
class CCScrollbarAnimationController;
class CCScrollbarLayerImpl;
class LayerChromium;
+struct CCAppendQuadsData;
+
class CCLayerImpl : public CCLayerAnimationControllerClient {
public:
static PassOwnPtr<CCLayerImpl> create(int id)
@@ -95,7 +97,7 @@ public:
// the layer is destroyed. To enforce this, any class that overrides
// willDraw/didDraw must call the base class version.
virtual void willDraw(CCResourceProvider*);
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) { }
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) { }
virtual void didDraw(CCResourceProvider*);
virtual CCResourceProvider::ResourceId contentsResourceId() const;
@@ -274,7 +276,7 @@ public:
protected:
explicit CCLayerImpl(int);
- void appendDebugBorderQuad(CCQuadSink&, const CCSharedQuadState*) const;
+ void appendDebugBorderQuad(CCQuadSink&, const CCSharedQuadState*, CCAppendQuadsData&) const;
virtual void dumpLayerProperties(TextStream&, int indent) const;
static void writeIndent(TextStream&, int indent);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp
index c5240cc41..40dd77734 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerSorter.cpp
@@ -264,7 +264,7 @@ void CCLayerSorter::createGraphEdges()
#endif
// Fraction of the total zRange below which z differences
// are not considered reliable.
- const float zThresholdFactor = 0.01;
+ const float zThresholdFactor = 0.01f;
float zThreshold = m_zRange * zThresholdFactor;
for (unsigned na = 0; na < m_nodes.size(); na++) {
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
index 5ee1bf6e9..14472c707 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.cpp
@@ -31,6 +31,7 @@
#include "CCHeadsUpDisplayLayerImpl.h"
#include "CCLayerAnimationController.h"
#include "CCLayerIterator.h"
+#include "CCLayerTreeHostClient.h"
#include "CCLayerTreeHostCommon.h"
#include "CCLayerTreeHostImpl.h"
#include "CCOcclusionTracker.h"
@@ -69,8 +70,7 @@ PassOwnPtr<CCLayerTreeHost> CCLayerTreeHost::create(CCLayerTreeHostClient* clien
}
CCLayerTreeHost::CCLayerTreeHost(CCLayerTreeHostClient* client, const CCLayerTreeSettings& settings)
- : m_compositorIdentifier(-1)
- , m_animating(false)
+ : m_animating(false)
, m_needsAnimateLayers(false)
, m_client(client)
, m_commitNumber(0)
@@ -104,11 +104,7 @@ bool CCLayerTreeHost::initialize()
m_proxy = CCSingleThreadProxy::create(this);
m_proxy->start();
- if (!m_proxy->initializeContext())
- return false;
-
- m_compositorIdentifier = m_proxy->compositorIdentifier();
- return true;
+ return m_proxy->initializeContext();
}
CCLayerTreeHost::~CCLayerTreeHost()
@@ -208,7 +204,7 @@ void CCLayerTreeHost::acquireLayerTextures()
void CCLayerTreeHost::updateAnimations(double monotonicFrameBeginTime)
{
m_animating = true;
- m_client->updateAnimations(monotonicFrameBeginTime);
+ m_client->animate(monotonicFrameBeginTime);
animateLayers(monotonicFrameBeginTime);
m_animating = false;
@@ -239,10 +235,10 @@ void CCLayerTreeHost::finishCommitOnImplThread(CCLayerTreeHostImpl* hostImpl)
hostImpl->setRootLayer(TreeSynchronizer::synchronizeTrees(rootLayer(), hostImpl->detachLayerTree(), hostImpl));
- if (!m_hudLayer)
- hostImpl->setHudLayer(0);
- else
+ if (m_rootLayer && m_hudLayer)
hostImpl->setHudLayer(static_cast<CCHeadsUpDisplayLayerImpl*>(CCLayerTreeHostCommon::findLayerInSubtree(hostImpl->rootLayer(), m_hudLayer->id())));
+ else
+ hostImpl->setHudLayer(0);
// We may have added an animation during the tree sync. This will cause both layer tree hosts
// to visit their controllers.
@@ -275,10 +271,8 @@ void CCLayerTreeHost::willCommit()
if (m_fontAtlas)
m_hudLayer->setFontAtlas(m_fontAtlas.release());
- if (m_hudLayer->parent() != m_rootLayer.get()) {
- m_hudLayer->removeFromParent();
+ if (!m_hudLayer->parent())
m_rootLayer->addChild(m_hudLayer);
- }
}
}
@@ -293,6 +287,11 @@ PassOwnPtr<CCGraphicsContext> CCLayerTreeHost::createContext()
return m_client->createOutputSurface();
}
+PassOwnPtr<CCInputHandler> CCLayerTreeHost::createInputHandler()
+{
+ return m_client->createInputHandler();
+}
+
PassOwnPtr<CCLayerTreeHostImpl> CCLayerTreeHost::createLayerTreeHostImpl(CCLayerTreeHostImplClient* client)
{
return CCLayerTreeHostImpl::create(m_settings, client);
@@ -378,6 +377,10 @@ void CCLayerTreeHost::setRootLayer(PassRefPtr<LayerChromium> rootLayer)
m_rootLayer = rootLayer;
if (m_rootLayer)
m_rootLayer->setLayerTreeHost(this);
+
+ if (m_hudLayer)
+ m_hudLayer->removeFromParent();
+
setNeedsCommit();
}
@@ -411,11 +414,18 @@ void CCLayerTreeHost::setVisible(bool visible)
m_proxy->setVisible(visible);
}
-void CCLayerTreeHost::evictAllContentTextures()
+void CCLayerTreeHost::unlinkAllContentTextures()
{
ASSERT(CCProxy::isMainThread());
ASSERT(m_contentsTextureManager.get());
- m_contentsTextureManager->allBackingTexturesWereDeleted();
+ m_contentsTextureManager->unlinkAllBackings();
+}
+
+void CCLayerTreeHost::deleteUnlinkedTextures()
+{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
+ ASSERT(m_contentsTextureManager.get());
+ m_contentsTextureManager->deleteAllUnlinkedBackings();
}
void CCLayerTreeHost::startPageScaleAnimation(const IntSize& targetPosition, bool useAnchor, float scale, double durationSec)
@@ -461,7 +471,6 @@ bool CCLayerTreeHost::initializeRendererIfNeeded()
return true;
}
-
void CCLayerTreeHost::updateLayers(CCTextureUpdateQueue& queue, size_t memoryAllocationLimitBytes)
{
ASSERT(m_rendererInitialized);
@@ -478,10 +487,37 @@ void CCLayerTreeHost::updateLayers(CCTextureUpdateQueue& queue, size_t memoryAll
updateLayers(rootLayer(), queue);
}
+static void setScale(LayerChromium* layer, float deviceScaleFactor, float pageScaleFactor)
+{
+ if (layer->boundsContainPageScale())
+ layer->setContentsScale(deviceScaleFactor);
+ else
+ layer->setContentsScale(deviceScaleFactor * pageScaleFactor);
+}
+
+static void updateLayerScale(LayerChromium* layer, float deviceScaleFactor, float pageScaleFactor)
+{
+ setScale(layer, deviceScaleFactor, pageScaleFactor);
+
+ LayerChromium* maskLayer = layer->maskLayer();
+ if (maskLayer)
+ setScale(maskLayer, deviceScaleFactor, pageScaleFactor);
+
+ LayerChromium* replicaMaskLayer = layer->replicaLayer() ? layer->replicaLayer()->maskLayer() : 0;
+ if (replicaMaskLayer)
+ setScale(replicaMaskLayer, deviceScaleFactor, pageScaleFactor);
+
+ const Vector<RefPtr<LayerChromium> >& children = layer->children();
+ for (unsigned int i = 0; i < children.size(); ++i)
+ updateLayerScale(children[i].get(), deviceScaleFactor, pageScaleFactor);
+}
+
void CCLayerTreeHost::updateLayers(LayerChromium* rootLayer, CCTextureUpdateQueue& queue)
{
TRACE_EVENT0("cc", "CCLayerTreeHost::updateLayers");
+ updateLayerScale(rootLayer, m_deviceScaleFactor, m_pageScaleFactor);
+
LayerList updateList;
{
@@ -655,7 +691,7 @@ void CCLayerTreeHost::applyScrollAndScale(const CCScrollAndScaleSet& info)
if (layer == rootScrollLayer)
rootScrollDelta += info.scrolls[i].scrollDelta;
else
- layer->scrollBy(info.scrolls[i].scrollDelta);
+ layer->setScrollPosition(layer->scrollPosition() + info.scrolls[i].scrollDelta);
}
if (!rootScrollDelta.isZero() || info.pageScaleDelta != 1)
m_client->applyScrollAndScale(rootScrollDelta, info.pageScaleDelta);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
index cc0b45d3d..1f291a9aa 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHost.h
@@ -27,6 +27,7 @@
#include "CCAnimationEvents.h"
#include "CCGraphicsContext.h"
+#include "CCLayerTreeHostClient.h"
#include "CCLayerTreeHostCommon.h"
#include "CCOcclusionTracker.h"
#include "CCPrioritizedTextureManager.h"
@@ -53,28 +54,6 @@ class HeadsUpDisplayLayerChromium;
class Region;
struct CCScrollAndScaleSet;
-class CCLayerTreeHostClient {
-public:
- virtual void willBeginFrame() = 0;
- // Marks finishing compositing-related tasks on the main thread. In threaded mode, this corresponds to didCommit().
- virtual void didBeginFrame() = 0;
- virtual void updateAnimations(double frameBeginTime) = 0;
- virtual void layout() = 0;
- virtual void applyScrollAndScale(const IntSize& scrollDelta, float pageScale) = 0;
- virtual PassOwnPtr<WebKit::WebCompositorOutputSurface> createOutputSurface() = 0;
- virtual void didRecreateOutputSurface(bool success) = 0;
- virtual void willCommit() = 0;
- virtual void didCommit() = 0;
- virtual void didCommitAndDrawFrame() = 0;
- virtual void didCompleteSwapBuffers() = 0;
-
- // Used only in the single-threaded path.
- virtual void scheduleComposite() = 0;
-
-protected:
- virtual ~CCLayerTreeHostClient() { }
-};
-
struct CCLayerTreeSettings {
CCLayerTreeSettings()
: acceleratePainting(false)
@@ -165,6 +144,7 @@ public:
void willCommit();
void commitComplete();
PassOwnPtr<CCGraphicsContext> createContext();
+ PassOwnPtr<CCInputHandler> createInputHandler();
virtual PassOwnPtr<CCLayerTreeHostImpl> createLayerTreeHostImpl(CCLayerTreeHostImplClient*);
void didLoseContext();
enum RecreateResult {
@@ -183,8 +163,6 @@ public:
CCLayerTreeHostClient* client() { return m_client; }
- int compositorIdentifier() const { return m_compositorIdentifier; }
-
// Only used when compositing on the main thread.
void composite();
void scheduleComposite();
@@ -233,11 +211,8 @@ public:
CCPrioritizedTextureManager* contentsTextureManager() const;
- // This will cause contents texture manager to evict all textures, but
- // without deleting them. This happens after all content textures have
- // already been deleted on impl, after getting a 0 allocation limit.
- // Set during a commit, but before updateLayers.
- void evictAllContentTextures();
+ void unlinkAllContentTextures();
+ void deleteUnlinkedTextures();
bool visible() const { return m_visible; }
void setVisible(bool);
@@ -261,6 +236,8 @@ public:
void setFontAtlas(PassOwnPtr<CCFontAtlas>);
+ HeadsUpDisplayLayerChromium* hudLayer() const { return m_hudLayer.get(); }
+
protected:
CCLayerTreeHost(CCLayerTreeHostClient*, const CCLayerTreeSettings&);
bool initialize();
@@ -286,8 +263,6 @@ private:
bool animateLayersRecursive(LayerChromium* current, double monotonicTime);
void setAnimationEventsRecursive(const CCAnimationEventsVector&, LayerChromium*, double wallClockTime);
- int m_compositorIdentifier;
-
bool m_animating;
bool m_needsAnimateLayers;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h
new file mode 100644
index 000000000..3d5cb37cb
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2012 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. 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 CCLayerTreeHostClient_h
+#define CCLayerTreeHostClient_h
+
+#include <wtf/PassOwnPtr.h>
+
+namespace WebKit {
+class WebCompositorOutputSurface;
+}
+
+namespace WebCore {
+class CCInputHandler;
+class IntSize;
+
+class CCLayerTreeHostClient {
+public:
+ virtual void willBeginFrame() = 0;
+ // Marks finishing compositing-related tasks on the main thread. In threaded mode, this corresponds to didCommit().
+ virtual void didBeginFrame() = 0;
+ virtual void animate(double frameBeginTime) = 0;
+ virtual void layout() = 0;
+ virtual void applyScrollAndScale(const IntSize& scrollDelta, float pageScale) = 0;
+ virtual PassOwnPtr<WebKit::WebCompositorOutputSurface> createOutputSurface() = 0;
+ virtual void didRecreateOutputSurface(bool success) = 0;
+ virtual PassOwnPtr<CCInputHandler> createInputHandler() = 0;
+ virtual void willCommit() = 0;
+ virtual void didCommit() = 0;
+ virtual void didCommitAndDrawFrame() = 0;
+ virtual void didCompleteSwapBuffers() = 0;
+
+ // Used only in the single-threaded path.
+ virtual void scheduleComposite() = 0;
+
+protected:
+ virtual ~CCLayerTreeHostClient() { }
+};
+
+}
+
+#endif // CCLayerTreeHostClient_h
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
index 6898c9779..2140df056 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp
@@ -613,15 +613,12 @@ static void calculateDrawTransformsInternal(LayerType* layer, LayerType* rootLay
// Layers that are not their own renderTarget will render into the target of their nearest ancestor.
layer->setRenderTarget(layer->parent()->renderTarget());
} else {
- // FIXME: This root layer special case code should eventually go away. But before that is truly possible,
- // tests (or code) related to CCOcclusionTracker need to be adjusted so that they do not require
- // the rootLayer to clip; the root layer's RenderSurface would already clip and should be enough.
+ // FIXME: This root layer special case code should eventually go away. https://bugs.webkit.org/show_bug.cgi?id=92290
ASSERT(!layer->parent());
ASSERT(layer->renderSurface());
ASSERT(ancestorClipsSubtree);
layer->renderSurface()->setClipRect(clipRectFromAncestor);
- subtreeShouldBeClipped = true;
- clipRectForSubtree = clipRectFromAncestor;
+ subtreeShouldBeClipped = false;
}
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
index 647de88f7..3db0e0ff7 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp
@@ -26,7 +26,7 @@
#include "CCLayerTreeHostImpl.h"
-#include "CCActiveGestureAnimation.h"
+#include "CCAppendQuadsData.h"
#include "CCDamageTracker.h"
#include "CCDebugRectHistory.h"
#include "CCDelayBasedTimeSource.h"
@@ -167,6 +167,10 @@ void CCLayerTreeHostImpl::commitComplete()
bool CCLayerTreeHostImpl::canDraw()
{
+ // Note: If you are changing this function or any other function that might
+ // affect the result of canDraw, make sure to call m_client->onCanDrawStateChanged
+ // in the proper places and update the notifyIfCanDrawChanged test.
+
if (!m_rootLayerImpl) {
TRACE_EVENT_INSTANT0("cc", "CCLayerTreeHostImpl::canDraw no root layer");
return false;
@@ -195,7 +199,6 @@ void CCLayerTreeHostImpl::animate(double monotonicTime, double wallClockTime)
{
animatePageScale(monotonicTime);
animateLayers(monotonicTime, wallClockTime);
- animateGestures(monotonicTime);
animateScrollbars(monotonicTime);
}
@@ -224,14 +227,6 @@ void CCLayerTreeHostImpl::startPageScaleAnimation(const IntSize& targetPosition,
m_client->setNeedsCommitOnImplThread();
}
-void CCLayerTreeHostImpl::setActiveGestureAnimation(PassOwnPtr<CCActiveGestureAnimation> gestureAnimation)
-{
- m_activeGestureAnimation = gestureAnimation;
-
- if (m_activeGestureAnimation)
- m_client->setNeedsRedrawOnImplThread();
-}
-
void CCLayerTreeHostImpl::scheduleAnimation()
{
m_client->setNeedsRedrawOnImplThread();
@@ -266,6 +261,13 @@ void CCLayerTreeHostImpl::calculateRenderSurfaceLayerList(CCLayerList& renderSur
}
}
+void CCLayerTreeHostImpl::FrameData::appendRenderPass(PassOwnPtr<CCRenderPass> renderPass)
+{
+ CCRenderPass* pass = renderPass.get();
+ renderPasses.append(pass);
+ renderPassesById.set(pass->id(), renderPass);
+}
+
bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
{
ASSERT(frame.renderPasses.isEmpty());
@@ -275,22 +277,9 @@ bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
TRACE_EVENT1("cc", "CCLayerTreeHostImpl::calculateRenderPasses", "renderSurfaceLayerList.size()", static_cast<long long unsigned>(frame.renderSurfaceLayerList->size()));
// Create the render passes in dependency order.
- HashMap<CCRenderSurface*, CCRenderPass*> surfacePassMap;
for (int surfaceIndex = frame.renderSurfaceLayerList->size() - 1; surfaceIndex >= 0 ; --surfaceIndex) {
CCLayerImpl* renderSurfaceLayer = (*frame.renderSurfaceLayerList)[surfaceIndex];
- CCRenderSurface* renderSurface = renderSurfaceLayer->renderSurface();
-
- int renderPassId = renderSurfaceLayer->id();
- IntRect outputRect = renderSurface->contentRect();
- const WebTransformationMatrix& transformToRootTarget = renderSurface->screenSpaceTransform();
- OwnPtr<CCRenderPass> pass = CCRenderPass::create(renderPassId, outputRect, transformToRootTarget);
- pass->setDamageRect(renderSurface->damageTracker()->currentDamageRect());
- pass->setFilters(renderSurfaceLayer->filters());
- pass->setBackgroundFilters(renderSurfaceLayer->backgroundFilters());
-
- surfacePassMap.add(renderSurface, pass.get());
- frame.renderPasses.append(pass.get());
- frame.renderPassesById.add(renderPassId, pass.release());
+ renderSurfaceLayer->renderSurface()->appendRenderPasses(frame);
}
bool recordMetricsForFrame = true; // FIXME: In the future, disable this when about:tracing is off.
@@ -310,28 +299,32 @@ bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
CCLayerIteratorType end = CCLayerIteratorType::end(frame.renderSurfaceLayerList);
for (CCLayerIteratorType it = CCLayerIteratorType::begin(frame.renderSurfaceLayerList); it != end; ++it) {
- CCRenderSurface* renderSurface = it.targetRenderSurfaceLayer()->renderSurface();
- CCRenderPass* pass = surfacePassMap.get(renderSurface);
- bool hadMissingTiles = false;
+ CCRenderPass::Id targetRenderPassId = it.targetRenderSurfaceLayer()->renderSurface()->renderPassId();
+ CCRenderPass* targetRenderPass = frame.renderPassesById.get(targetRenderPassId);
occlusionTracker.enterLayer(it);
+ CCAppendQuadsData appendQuadsData;
+
if (it.representsContributingRenderSurface()) {
- CCRenderPass* contributingRenderPass = surfacePassMap.get(it->renderSurface());
- pass->appendQuadsForRenderSurfaceLayer(*it, contributingRenderPass, &occlusionTracker);
+ CCRenderPass::Id contributingRenderPassId = it->renderSurface()->renderPassId();
+ CCRenderPass* contributingRenderPass = frame.renderPassesById.get(contributingRenderPassId);
+ targetRenderPass->appendQuadsForRenderSurfaceLayer(*it, contributingRenderPass, &occlusionTracker, appendQuadsData);
} else if (it.representsItself() && !it->visibleContentRect().isEmpty()) {
bool hasOcclusionFromOutsideTargetSurface;
- if (occlusionTracker.occluded(*it, it->visibleContentRect(), &hasOcclusionFromOutsideTargetSurface)) {
- if (hasOcclusionFromOutsideTargetSurface)
- pass->setHasOcclusionFromOutsideTargetSurface(hasOcclusionFromOutsideTargetSurface);
- } else {
+ if (occlusionTracker.occluded(*it, it->visibleContentRect(), &hasOcclusionFromOutsideTargetSurface))
+ appendQuadsData.hadOcclusionFromOutsideTargetSurface |= hasOcclusionFromOutsideTargetSurface;
+ else {
it->willDraw(m_resourceProvider.get());
frame.willDrawLayers.append(*it);
- pass->appendQuadsForLayer(*it, &occlusionTracker, hadMissingTiles);
+ targetRenderPass->appendQuadsForLayer(*it, &occlusionTracker, appendQuadsData);
}
}
- if (hadMissingTiles) {
+ if (appendQuadsData.hadOcclusionFromOutsideTargetSurface)
+ targetRenderPass->setHasOcclusionFromOutsideTargetSurface(true);
+
+ if (appendQuadsData.hadMissingTiles) {
bool layerHasAnimatingTransform = it->screenSpaceTransformIsAnimating() || it->drawTransformIsAnimating();
if (layerHasAnimatingTransform)
drawFrame = false;
@@ -344,6 +337,7 @@ bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
for (size_t i = 0; i < frame.renderPasses.size(); ++i) {
for (size_t j = 0; j < frame.renderPasses[i]->quadList().size(); ++j)
ASSERT(frame.renderPasses[i]->quadList()[j]->sharedQuadStateId() >= 0);
+ ASSERT(frame.renderPassesById.contains(frame.renderPasses[i]->id()));
}
#endif
@@ -408,14 +402,14 @@ IntSize CCLayerTreeHostImpl::contentSize() const
return m_rootScrollLayerImpl->children()[0]->contentBounds();
}
-static inline CCRenderPass* findRenderPassById(int renderPassId, const CCLayerTreeHostImpl::FrameData& frame)
+static inline CCRenderPass* findRenderPassById(CCRenderPass::Id renderPassId, const CCLayerTreeHostImpl::FrameData& frame)
{
CCRenderPassIdHashMap::const_iterator it = frame.renderPassesById.find(renderPassId);
ASSERT(it != frame.renderPassesById.end());
return it->second.get();
}
-static void removeRenderPassesRecursive(int removeRenderPassId, CCLayerTreeHostImpl::FrameData& frame)
+static void removeRenderPassesRecursive(CCRenderPass::Id removeRenderPassId, CCLayerTreeHostImpl::FrameData& frame)
{
CCRenderPass* removeRenderPass = findRenderPassById(removeRenderPassId, frame);
size_t removeIndex = frame.renderPasses.find(removeRenderPass);
@@ -435,7 +429,7 @@ static void removeRenderPassesRecursive(int removeRenderPassId, CCLayerTreeHostI
if (currentQuad->material() != CCDrawQuad::RenderPass)
continue;
- int nextRemoveRenderPassId = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId();
+ CCRenderPass::Id nextRemoveRenderPassId = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId();
removeRenderPassesRecursive(nextRemoveRenderPassId, frame);
}
}
@@ -530,6 +524,7 @@ void CCLayerTreeHostImpl::releaseContentsTextures()
m_resourceProvider->deleteOwnedResources(CCRenderer::ContentPool);
m_contentsTexturesPurged = true;
m_client->setNeedsCommitOnImplThread();
+ m_client->onCanDrawStateChanged(canDraw());
}
void CCLayerTreeHostImpl::setMemoryAllocationLimitBytes(size_t bytes)
@@ -669,6 +664,8 @@ void CCLayerTreeHostImpl::setRootLayer(PassOwnPtr<CCLayerImpl> layer)
m_currentlyScrollingLayerImpl = CCLayerTreeHostCommon::findLayerInSubtree(m_rootLayerImpl.get(), m_scrollingLayerIdFromPreviousTree);
m_scrollingLayerIdFromPreviousTree = -1;
+
+ m_client->onCanDrawStateChanged(canDraw());
}
PassOwnPtr<CCLayerImpl> CCLayerTreeHostImpl::detachLayerTree()
@@ -731,9 +728,17 @@ bool CCLayerTreeHostImpl::initializeRenderer(PassOwnPtr<CCGraphicsContext> conte
if (!m_visible && m_renderer)
m_renderer->setVisible(m_visible);
+ m_client->onCanDrawStateChanged(canDraw());
+
return m_renderer;
}
+void CCLayerTreeHostImpl::resetContentsTexturesPurged()
+{
+ m_contentsTexturesPurged = false;
+ m_client->onCanDrawStateChanged(canDraw());
+}
+
void CCLayerTreeHostImpl::setViewportSize(const IntSize& layoutViewportSize, const IntSize& deviceViewportSize)
{
if (layoutViewportSize == m_layoutViewportSize && deviceViewportSize == m_deviceViewportSize)
@@ -746,6 +751,8 @@ void CCLayerTreeHostImpl::setViewportSize(const IntSize& layoutViewportSize, con
if (m_renderer)
m_renderer->viewportChanged();
+
+ m_client->onCanDrawStateChanged(canDraw());
}
static void adjustScrollsForPageScaleChange(CCLayerImpl* layerImpl, float pageScaleChange)
@@ -769,6 +776,8 @@ void CCLayerTreeHostImpl::setDeviceScaleFactor(float deviceScaleFactor)
if (deviceScaleFactor == m_deviceScaleFactor)
return;
m_deviceScaleFactor = deviceScaleFactor;
+
+ updateMaxScrollPosition();
}
@@ -962,6 +971,9 @@ void CCLayerTreeHostImpl::scrollBy(const IntPoint& viewportPoint, const IntSize&
return;
FloatSize pendingDelta(scrollDelta);
+
+ pendingDelta.scale(m_deviceScaleFactor);
+
for (CCLayerImpl* layerImpl = m_currentlyScrollingLayerImpl; layerImpl; layerImpl = layerImpl->parent()) {
if (!layerImpl->scrollable())
continue;
@@ -973,7 +985,7 @@ void CCLayerTreeHostImpl::scrollBy(const IntPoint& viewportPoint, const IntSize&
appliedDelta = scrollLayerWithLocalDelta(*layerImpl, pendingDelta);
// If the layer wasn't able to move, try the next one in the hierarchy.
- float moveThresholdSquared = 0.1 * 0.1;
+ float moveThresholdSquared = 0.1f * 0.1f;
if (appliedDelta.diagonalLengthSquared() < moveThresholdSquared)
continue;
@@ -1075,7 +1087,7 @@ void CCLayerTreeHostImpl::computePinchZoomDeltas(CCScrollAndScaleSet* scrollInfo
// Only send fake scroll/zoom deltas if we're pinch zooming out by a
// significant amount. This also ensures only one fake delta set will be
// sent.
- const float pinchZoomOutSensitivity = 0.95;
+ const float pinchZoomOutSensitivity = 0.95f;
if (m_pageScaleDelta > pinchZoomOutSensitivity)
return;
@@ -1249,19 +1261,6 @@ void CCLayerTreeHostImpl::dumpRenderSurfaces(TextStream& ts, int indent, const C
dumpRenderSurfaces(ts, indent, layer->children()[i].get());
}
-
-void CCLayerTreeHostImpl::animateGestures(double monotonicTime)
-{
- if (!m_activeGestureAnimation)
- return;
-
- bool isContinuing = m_activeGestureAnimation->animate(monotonicTime);
- if (isContinuing)
- m_client->setNeedsRedrawOnImplThread();
- else
- m_activeGestureAnimation.clear();
-}
-
int CCLayerTreeHostImpl::sourceAnimationFrameNumber() const
{
return fpsCounter()->currentFrameNumber();
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
index bfda2b129..80e003198 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostImpl.h
@@ -29,6 +29,7 @@
#include "CCInputHandler.h"
#include "CCLayerSorter.h"
#include "CCRenderPass.h"
+#include "CCRenderPassSink.h"
#include "CCRenderer.h"
#include "SkColor.h"
#include <public/WebCompositorOutputSurfaceClient.h>
@@ -37,7 +38,6 @@
namespace WebCore {
-class CCActiveGestureAnimation;
class CCCompletionEvent;
class CCDebugRectHistory;
class CCFrameRateCounter;
@@ -56,6 +56,7 @@ public:
virtual void didLoseContextOnImplThread() = 0;
virtual void onSwapBuffersCompleteOnImplThread() = 0;
virtual void onVSyncParametersChanged(double monotonicTimebase, double intervalInSeconds) = 0;
+ virtual void onCanDrawStateChanged(bool canDraw) = 0;
virtual void setNeedsRedrawOnImplThread() = 0;
virtual void setNeedsCommitOnImplThread() = 0;
virtual void postAnimationEventsToMainThreadOnImplThread(PassOwnPtr<CCAnimationEventsVector>, double wallClockTime) = 0;
@@ -80,17 +81,17 @@ public:
virtual void pinchGestureUpdate(float, const IntPoint&) OVERRIDE;
virtual void pinchGestureEnd() OVERRIDE;
virtual void startPageScaleAnimation(const IntSize& targetPosition, bool anchorPoint, float pageScale, double startTime, double duration) OVERRIDE;
- virtual CCActiveGestureAnimation* activeGestureAnimation() OVERRIDE { return m_activeGestureAnimation.get(); }
- // To clear an active animation, pass nullptr.
- virtual void setActiveGestureAnimation(PassOwnPtr<CCActiveGestureAnimation>) OVERRIDE;
virtual void scheduleAnimation() OVERRIDE;
- struct FrameData {
+ struct FrameData : public CCRenderPassSink {
Vector<IntRect> occludingScreenSpaceRects;
CCRenderPassList renderPasses;
CCRenderPassIdHashMap renderPassesById;
CCLayerList* renderSurfaceLayerList;
CCLayerList willDrawLayers;
+
+ // CCRenderPassSink implementation.
+ virtual void appendRenderPass(PassOwnPtr<CCRenderPass>) OVERRIDE;
};
// Virtual for testing.
@@ -156,7 +157,7 @@ public:
void setSourceFrameNumber(int frameNumber) { m_sourceFrameNumber = frameNumber; }
bool contentsTexturesPurged() const { return m_contentsTexturesPurged; }
- void resetContentsTexturesPurged() { m_contentsTexturesPurged = false; }
+ void resetContentsTexturesPurged();
size_t memoryAllocationLimitBytes() const { return m_memoryAllocationLimitBytes; }
void setViewportSize(const IntSize& layoutViewportSize, const IntSize& deviceViewportSize);
@@ -223,7 +224,6 @@ protected:
CCLayerTreeHostImpl(const CCLayerTreeSettings&, CCLayerTreeHostImplClient*);
void animatePageScale(double monotonicTime);
- void animateGestures(double monotonicTime);
void animateScrollbars(double monotonicTime);
// Exposed for testing.
@@ -295,7 +295,6 @@ private:
IntPoint m_previousPinchAnchor;
OwnPtr<CCPageScaleAnimation> m_pageScaleAnimation;
- OwnPtr<CCActiveGestureAnimation> m_activeGestureAnimation;
// This is used for ticking animations slowly when hidden.
OwnPtr<CCLayerTreeHostImplTimeSourceAdapter> m_timeSourceClientAdapter;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp
index 96fb05d94..9d3efb4a1 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.cpp
@@ -28,6 +28,7 @@
#include "CCPrioritizedTexture.h"
#include "CCPriorityCalculator.h"
+#include "CCProxy.h"
#include "TraceEvent.h"
#include <algorithm>
@@ -58,6 +59,7 @@ CCPrioritizedTextureManager::~CCPrioritizedTextureManager()
void CCPrioritizedTextureManager::prioritizeTextures()
{
TRACE_EVENT0("cc", "CCPrioritizedTextureManager::prioritizeTextures");
+ ASSERT(CCProxy::isMainThread());
#if !ASSERT_DISABLED
assertInvariants();
@@ -137,6 +139,7 @@ void CCPrioritizedTextureManager::prioritizeTextures()
void CCPrioritizedTextureManager::clearPriorities()
{
+ ASSERT(CCProxy::isMainThread());
for (TextureSet::iterator it = m_textures.begin(); it != m_textures.end(); ++it) {
// FIXME: We should remove this and just set all priorities to
// CCPriorityCalculator::lowestPriority() once we have priorities
@@ -148,6 +151,8 @@ void CCPrioritizedTextureManager::clearPriorities()
bool CCPrioritizedTextureManager::requestLate(CCPrioritizedTexture* texture)
{
+ ASSERT(CCProxy::isMainThread());
+
// This is already above cutoff, so don't double count it's memory below.
if (texture->isAbovePriorityCutoff())
return true;
@@ -170,6 +175,7 @@ bool CCPrioritizedTextureManager::requestLate(CCPrioritizedTexture* texture)
void CCPrioritizedTextureManager::acquireBackingTextureIfNeeded(CCPrioritizedTexture* texture, CCResourceProvider* resourceProvider)
{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
ASSERT(!texture->isSelfManaged());
ASSERT(texture->isAbovePriorityCutoff());
if (texture->backing() || !texture->isAbovePriorityCutoff())
@@ -204,6 +210,7 @@ void CCPrioritizedTextureManager::acquireBackingTextureIfNeeded(CCPrioritizedTex
void CCPrioritizedTextureManager::reduceMemory(size_t limitBytes, CCResourceProvider* resourceProvider)
{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
if (memoryUseBytes() <= limitBytes)
return;
// Destroy backings until we are below the limit,
@@ -218,6 +225,7 @@ void CCPrioritizedTextureManager::reduceMemory(size_t limitBytes, CCResourceProv
void CCPrioritizedTextureManager::reduceMemory(CCResourceProvider* resourceProvider)
{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
reduceMemory(m_memoryAvailableBytes, resourceProvider);
ASSERT(memoryUseBytes() <= maxMemoryLimitBytes());
@@ -240,6 +248,8 @@ void CCPrioritizedTextureManager::reduceMemory(CCResourceProvider* resourceProvi
void CCPrioritizedTextureManager::clearAllMemory(CCResourceProvider* resourceProvider)
{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
+ ASSERT(resourceProvider);
// Unlink and destroy all backing textures.
while (m_backings.size() > 0) {
BackingSet::iterator it = m_backings.begin();
@@ -249,16 +259,29 @@ void CCPrioritizedTextureManager::clearAllMemory(CCResourceProvider* resourcePro
}
}
-void CCPrioritizedTextureManager::allBackingTexturesWereDeleted()
+void CCPrioritizedTextureManager::unlinkAllBackings()
{
- // Same as clearAllMemory, except all our textures were already
- // deleted externally, so we don't delete them. Passing no
- // resourceProvider results in leaking the (now invalid) texture ids.
- clearAllMemory(0);
+ ASSERT(CCProxy::isMainThread());
+ for (BackingSet::iterator it = m_backings.begin(); it != m_backings.end(); ++it)
+ if ((*it)->owner())
+ (*it)->owner()->unlink();
+}
+
+void CCPrioritizedTextureManager::deleteAllUnlinkedBackings()
+{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
+ BackingVector backingsToDelete;
+ for (BackingSet::iterator it = m_backings.begin(); it != m_backings.end(); ++it)
+ if (!(*it)->owner())
+ backingsToDelete.append((*it));
+
+ for (BackingVector::iterator it = backingsToDelete.begin(); it != backingsToDelete.end(); ++it)
+ destroyBacking((*it), 0);
}
void CCPrioritizedTextureManager::registerTexture(CCPrioritizedTexture* texture)
{
+ ASSERT(CCProxy::isMainThread());
ASSERT(texture);
ASSERT(!texture->textureManager());
ASSERT(!texture->backing());
@@ -271,6 +294,7 @@ void CCPrioritizedTextureManager::registerTexture(CCPrioritizedTexture* texture)
void CCPrioritizedTextureManager::unregisterTexture(CCPrioritizedTexture* texture)
{
+ ASSERT(CCProxy::isMainThread() || (CCProxy::isImplThread() && CCProxy::isMainThreadBlocked()));
ASSERT(texture);
ASSERT(m_textures.find(texture) != m_textures.end());
@@ -280,9 +304,9 @@ void CCPrioritizedTextureManager::unregisterTexture(CCPrioritizedTexture* textur
texture->setAbovePriorityCutoff(false);
}
-
void CCPrioritizedTextureManager::returnBackingTexture(CCPrioritizedTexture* texture)
{
+ ASSERT(CCProxy::isMainThread() || (CCProxy::isImplThread() && CCProxy::isMainThreadBlocked()));
if (texture->backing()) {
// Move the backing texture to the front for eviction/recycling and unlink it.
m_backings.remove(texture->backing());
@@ -293,8 +317,8 @@ void CCPrioritizedTextureManager::returnBackingTexture(CCPrioritizedTexture* tex
CCPrioritizedTexture::Backing* CCPrioritizedTextureManager::createBacking(IntSize size, GC3Denum format, CCResourceProvider* resourceProvider)
{
+ ASSERT(CCProxy::isImplThread() && CCProxy::isMainThreadBlocked());
ASSERT(resourceProvider);
-
CCResourceProvider::ResourceId resourceId = resourceProvider->createResource(m_pool, size, format, CCResourceProvider::TextureUsageAny);
CCPrioritizedTexture::Backing* backing = new CCPrioritizedTexture::Backing(resourceId, size, format);
m_memoryUseBytes += backing->bytes();
@@ -324,6 +348,8 @@ void CCPrioritizedTextureManager::destroyBacking(CCPrioritizedTexture::Backing*
#if !ASSERT_DISABLED
void CCPrioritizedTextureManager::assertInvariants()
{
+ ASSERT(CCProxy::isMainThread());
+
// If we hit any of these asserts, there is a bug in this class. To see
// where the bug is, call this function at the beginning and end of
// every public function.
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.h b/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.h
index 13dbc5176..e90b25355 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCPrioritizedTextureManager.h
@@ -78,7 +78,8 @@ public:
void reduceMemory(CCResourceProvider*);
void clearAllMemory(CCResourceProvider*);
- void allBackingTexturesWereDeleted();
+ void unlinkAllBackings();
+ void deleteAllUnlinkedBackings();
void acquireBackingTextureIfNeeded(CCPrioritizedTexture*, CCResourceProvider*);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h b/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h
index 602e9d49f..42124c3a2 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCProxy.h
@@ -79,8 +79,6 @@ public:
// reinitialized.
virtual bool recreateContext() = 0;
- virtual int compositorIdentifier() const = 0;
-
virtual void implSideRenderingStats(CCRenderingStats&) = 0;
virtual const RendererCapabilities& rendererCapabilities() const = 0;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp
index 78a0bd9ec..94979ea8e 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.cpp
@@ -29,6 +29,7 @@
#include "CCQuadCuller.h"
+#include "CCAppendQuadsData.h"
#include "CCDebugBorderDrawQuad.h"
#include "CCLayerImpl.h"
#include "CCOcclusionTracker.h"
@@ -56,7 +57,6 @@ CCQuadCuller::CCQuadCuller(CCQuadList& quadList, CCSharedQuadStateList& sharedQu
, m_occlusionTracker(occlusionTracker)
, m_showCullingWithDebugBorderQuads(showCullingWithDebugBorderQuads)
, m_forSurface(forSurface)
- , m_hasOcclusionFromOutsideTargetSurface(false)
{
}
@@ -93,7 +93,7 @@ static inline bool appendQuadInternal(PassOwnPtr<CCDrawQuad> passDrawQuad, const
return keepQuad;
}
-bool CCQuadCuller::append(PassOwnPtr<CCDrawQuad> passDrawQuad)
+bool CCQuadCuller::append(PassOwnPtr<CCDrawQuad> passDrawQuad, CCAppendQuadsData& appendQuadsData)
{
ASSERT(passDrawQuad->sharedQuadState() == m_currentSharedQuadState);
ASSERT(passDrawQuad->sharedQuadStateId() == m_currentSharedQuadState->id);
@@ -107,7 +107,8 @@ bool CCQuadCuller::append(PassOwnPtr<CCDrawQuad> passDrawQuad)
culledRect = m_occlusionTracker->unoccludedContributingSurfaceContentRect(m_layer, false, passDrawQuad->quadRect(), &hasOcclusionFromOutsideTargetSurface);
else
culledRect = m_occlusionTracker->unoccludedContentRect(m_layer, passDrawQuad->quadRect(), &hasOcclusionFromOutsideTargetSurface);
- m_hasOcclusionFromOutsideTargetSurface |= hasOcclusionFromOutsideTargetSurface;
+
+ appendQuadsData.hadOcclusionFromOutsideTargetSurface |= hasOcclusionFromOutsideTargetSurface;
return appendQuadInternal(passDrawQuad, culledRect, m_quadList, *m_occlusionTracker, m_showCullingWithDebugBorderQuads);
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h b/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h
index 7fd8efbe4..51d5409c3 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCQuadCuller.h
@@ -42,9 +42,7 @@ public:
// CCQuadSink implementation.
virtual CCSharedQuadState* useSharedQuadState(PassOwnPtr<CCSharedQuadState>) OVERRIDE;
- virtual bool append(PassOwnPtr<CCDrawQuad>) OVERRIDE;
-
- bool hasOcclusionFromOutsideTargetSurface() { return m_hasOcclusionFromOutsideTargetSurface; }
+ virtual bool append(PassOwnPtr<CCDrawQuad>, CCAppendQuadsData&) OVERRIDE;
private:
CCQuadList& m_quadList;
@@ -54,7 +52,6 @@ private:
const CCOcclusionTrackerBase<CCLayerImpl, CCRenderSurface>* m_occlusionTracker;
bool m_showCullingWithDebugBorderQuads;
bool m_forSurface;
- bool m_hasOcclusionFromOutsideTargetSurface;
};
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCQuadSink.h b/Source/WebCore/platform/graphics/chromium/cc/CCQuadSink.h
index 09bdd0ae2..5e47c684d 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCQuadSink.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCQuadSink.h
@@ -32,6 +32,7 @@ namespace WebCore {
class CCDrawQuad;
+struct CCAppendQuadsData;
struct CCSharedQuadState;
class CCQuadSink {
@@ -43,7 +44,7 @@ public:
virtual CCSharedQuadState* useSharedQuadState(PassOwnPtr<CCSharedQuadState>) = 0;
// Returns true if the quad is added to the list, and false if the quad is entirely culled.
- virtual bool append(PassOwnPtr<CCDrawQuad> passDrawQuad) = 0;
+ virtual bool append(PassOwnPtr<CCDrawQuad> passDrawQuad, CCAppendQuadsData&) = 0;
};
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp
index 04fe91802..a6771454f 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.cpp
@@ -38,46 +38,56 @@ using WebKit::WebTransformationMatrix;
namespace WebCore {
-PassOwnPtr<CCRenderPass> CCRenderPass::create(int id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
+PassOwnPtr<CCRenderPass> CCRenderPass::create(Id id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
{
return adoptPtr(new CCRenderPass(id, outputRect, transformToRootTarget));
}
-CCRenderPass::CCRenderPass(int id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
+CCRenderPass::CCRenderPass(Id id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget)
: m_id(id)
, m_transformToRootTarget(transformToRootTarget)
, m_outputRect(outputRect)
, m_hasTransparentBackground(true)
, m_hasOcclusionFromOutsideTargetSurface(false)
{
- ASSERT(id > 0);
+ ASSERT(id.layerId > 0);
+ ASSERT(id.index >= 0);
}
-void CCRenderPass::appendQuadsForLayer(CCLayerImpl* layer, CCOcclusionTrackerImpl* occlusionTracker, bool& hadMissingTiles)
+PassOwnPtr<CCRenderPass> CCRenderPass::copy(Id newId) const
+{
+ ASSERT(newId != m_id);
+
+ OwnPtr<CCRenderPass> copyPass(create(newId, m_outputRect, m_transformToRootTarget));
+ copyPass->setDamageRect(m_damageRect);
+ copyPass->setHasTransparentBackground(m_hasTransparentBackground);
+ copyPass->setHasOcclusionFromOutsideTargetSurface(m_hasOcclusionFromOutsideTargetSurface);
+ copyPass->setFilters(m_filters);
+ copyPass->setBackgroundFilters(m_backgroundFilters);
+ return copyPass.release();
+}
+
+void CCRenderPass::appendQuadsForLayer(CCLayerImpl* layer, CCOcclusionTrackerImpl* occlusionTracker, CCAppendQuadsData& appendQuadsData)
{
const bool forSurface = false;
CCQuadCuller quadCuller(m_quadList, m_sharedQuadStateList, layer, occlusionTracker, layer->hasDebugBorders(), forSurface);
- layer->appendQuads(quadCuller, hadMissingTiles);
-
- m_hasOcclusionFromOutsideTargetSurface |= quadCuller.hasOcclusionFromOutsideTargetSurface();
+ layer->appendQuads(quadCuller, appendQuadsData);
}
-void CCRenderPass::appendQuadsForRenderSurfaceLayer(CCLayerImpl* layer, const CCRenderPass* contributingRenderPass, CCOcclusionTrackerImpl* occlusionTracker)
+void CCRenderPass::appendQuadsForRenderSurfaceLayer(CCLayerImpl* layer, const CCRenderPass* contributingRenderPass, CCOcclusionTrackerImpl* occlusionTracker, CCAppendQuadsData& appendQuadsData)
{
const bool forSurface = true;
CCQuadCuller quadCuller(m_quadList, m_sharedQuadStateList, layer, occlusionTracker, layer->hasDebugBorders(), forSurface);
bool isReplica = false;
- layer->renderSurface()->appendQuads(quadCuller, isReplica, contributingRenderPass->id());
+ layer->renderSurface()->appendQuads(quadCuller, appendQuadsData, isReplica, contributingRenderPass->id());
// Add replica after the surface so that it appears below the surface.
if (layer->hasReplica()) {
isReplica = true;
- layer->renderSurface()->appendQuads(quadCuller, isReplica, contributingRenderPass->id());
+ layer->renderSurface()->appendQuads(quadCuller, appendQuadsData, isReplica, contributingRenderPass->id());
}
-
- m_hasOcclusionFromOutsideTargetSurface |= quadCuller.hasOcclusionFromOutsideTargetSurface();
}
void CCRenderPass::appendQuadsToFillScreen(CCLayerImpl* rootLayer, SkColor screenBackgroundColor, const CCOcclusionTrackerImpl& occlusionTracker)
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h
index 4aaaf4717..7a5cc6106 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPass.h
@@ -41,6 +41,8 @@ namespace WebCore {
class CCLayerImpl;
class CCRenderSurface;
+struct CCAppendQuadsData;
+
// A list of CCDrawQuad objects, sorted internally in front-to-back order.
class CCQuadList : public Vector<OwnPtr<CCDrawQuad> > {
public:
@@ -58,15 +60,33 @@ typedef Vector<OwnPtr<CCSharedQuadState> > CCSharedQuadStateList;
class CCRenderPass {
WTF_MAKE_NONCOPYABLE(CCRenderPass);
public:
- static PassOwnPtr<CCRenderPass> create(int id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
+ struct Id {
+ int layerId;
+ int index;
+
+ Id(int layerId, int index)
+ : layerId(layerId)
+ , index(index)
+ {
+ }
+
+ bool operator==(const Id& other) const { return layerId == other.layerId && index == other.index; }
+ bool operator!=(const Id& other) const { return !(*this == other); }
+ bool operator<(const Id& other) const { return layerId < other.layerId || (layerId == other.layerId && index < other.index); }
+ };
- void appendQuadsForLayer(CCLayerImpl*, CCOcclusionTrackerImpl*, bool& hadMissingTiles);
- void appendQuadsForRenderSurfaceLayer(CCLayerImpl*, const CCRenderPass* contributingRenderPass, CCOcclusionTrackerImpl*);
+ static PassOwnPtr<CCRenderPass> create(Id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
+
+ // A shallow copy of the render pass, which does not include its quads.
+ PassOwnPtr<CCRenderPass> copy(Id newId) const;
+
+ void appendQuadsForLayer(CCLayerImpl*, CCOcclusionTrackerImpl*, CCAppendQuadsData&);
+ void appendQuadsForRenderSurfaceLayer(CCLayerImpl*, const CCRenderPass* contributingRenderPass, CCOcclusionTrackerImpl*, CCAppendQuadsData&);
void appendQuadsToFillScreen(CCLayerImpl* rootLayer, SkColor screenBackgroundColor, const CCOcclusionTrackerImpl&);
const CCQuadList& quadList() const { return m_quadList; }
- int id() const { return m_id; }
+ Id id() const { return m_id; }
// FIXME: Modify this transform when merging the RenderPass into a parent compositor.
// Transforms from quad's original content space to the root target's content space.
@@ -90,9 +110,9 @@ public:
bool hasOcclusionFromOutsideTargetSurface() const { return m_hasOcclusionFromOutsideTargetSurface; }
void setHasOcclusionFromOutsideTargetSurface(bool hasOcclusionFromOutsideTargetSurface) { m_hasOcclusionFromOutsideTargetSurface = hasOcclusionFromOutsideTargetSurface; }
protected:
- CCRenderPass(int id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
+ CCRenderPass(Id, IntRect outputRect, const WebKit::WebTransformationMatrix& transformToRootTarget);
- int m_id;
+ Id m_id;
CCQuadList m_quadList;
CCSharedQuadStateList m_sharedQuadStateList;
WebKit::WebTransformationMatrix m_transformToRootTarget;
@@ -104,9 +124,29 @@ protected:
WebKit::WebFilterOperations m_backgroundFilters;
};
-typedef Vector<CCRenderPass*> CCRenderPassList;
-typedef HashMap<int, OwnPtr<CCRenderPass> > CCRenderPassIdHashMap;
+} // namespace WebCore
-}
+namespace WTF {
+template<> struct HashTraits<WebCore::CCRenderPass::Id> : GenericHashTraits<WebCore::CCRenderPass::Id> {
+ static const bool emptyValueIsZero = false;
+ static const bool needsDestruction = false;
+ static WebCore::CCRenderPass::Id emptyValue() { return WebCore::CCRenderPass::Id(0, 0); }
+ static void constructDeletedValue(WebCore::CCRenderPass::Id& slot) { slot = WebCore::CCRenderPass::Id(-1, -1); }
+ static bool isDeletedValue(WebCore::CCRenderPass::Id value) { return value.layerId == -1 && value.index == -1; }
+};
+template<> struct IntHash<WebCore::CCRenderPass::Id> {
+ static unsigned hash(const WebCore::CCRenderPass::Id& key) { return PairHash<int, int>::hash(std::make_pair(key.layerId, key.index)); }
+ static bool equal(const WebCore::CCRenderPass::Id& a, const WebCore::CCRenderPass::Id& b) { return a == b; }
+ static const bool safeToCompareToEmptyOrDeleted = true;
+};
+template<> struct DefaultHash<WebCore::CCRenderPass::Id> {
+ typedef IntHash<WebCore::CCRenderPass::Id> Hash;
+};
+} // namespace WTF
+
+namespace WebCore {
+typedef Vector<CCRenderPass*> CCRenderPassList;
+typedef HashMap<CCRenderPass::Id, OwnPtr<CCRenderPass> > CCRenderPassIdHashMap;
+} // namespace WebCore
#endif
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp
index c53b7fe45..4324110b8 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.cpp
@@ -29,12 +29,12 @@
namespace WebCore {
-PassOwnPtr<CCRenderPassDrawQuad> CCRenderPassDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, int renderPassId, bool isReplica, const CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
+PassOwnPtr<CCRenderPassDrawQuad> CCRenderPassDrawQuad::create(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, CCRenderPass::Id renderPassId, bool isReplica, const CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
{
return adoptPtr(new CCRenderPassDrawQuad(sharedQuadState, quadRect, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY));
}
-CCRenderPassDrawQuad::CCRenderPassDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, int renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
+CCRenderPassDrawQuad::CCRenderPassDrawQuad(const CCSharedQuadState* sharedQuadState, const IntRect& quadRect, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY)
: CCDrawQuad(sharedQuadState, CCDrawQuad::RenderPass, quadRect)
, m_renderPassId(renderPassId)
, m_isReplica(isReplica)
@@ -45,7 +45,8 @@ CCRenderPassDrawQuad::CCRenderPassDrawQuad(const CCSharedQuadState* sharedQuadSt
, m_maskTexCoordOffsetX(maskTexCoordOffsetX)
, m_maskTexCoordOffsetY(maskTexCoordOffsetY)
{
- ASSERT(m_renderPassId > 0);
+ ASSERT(m_renderPassId.layerId > 0);
+ ASSERT(m_renderPassId.index >= 0);
}
const CCRenderPassDrawQuad* CCRenderPassDrawQuad::materialCast(const CCDrawQuad* quad)
@@ -54,4 +55,17 @@ const CCRenderPassDrawQuad* CCRenderPassDrawQuad::materialCast(const CCDrawQuad*
return static_cast<const CCRenderPassDrawQuad*>(quad);
}
+PassOwnPtr<CCRenderPassDrawQuad> CCRenderPassDrawQuad::copy(const CCSharedQuadState* copiedSharedQuadState, CCRenderPass::Id copiedRenderPassId) const
+{
+ unsigned bytes = size();
+ ASSERT(bytes);
+
+ OwnPtr<CCRenderPassDrawQuad> copyQuad(adoptPtr(reinterpret_cast<CCRenderPassDrawQuad*>(new char[bytes])));
+ memcpy(copyQuad.get(), this, bytes);
+ copyQuad->setSharedQuadState(copiedSharedQuadState);
+ copyQuad->m_renderPassId = copiedRenderPassId;
+
+ return copyQuad.release();
+}
+
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h
index 0d2caf9b5..29136ef98 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassDrawQuad.h
@@ -27,20 +27,19 @@
#define CCRenderPassDrawQuad_h
#include "CCDrawQuad.h"
+#include "CCRenderPass.h"
#include "CCResourceProvider.h"
#include "IntRect.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
-class CCRenderPass;
-
class CCRenderPassDrawQuad : public CCDrawQuad {
WTF_MAKE_NONCOPYABLE(CCRenderPassDrawQuad);
public:
- static PassOwnPtr<CCRenderPassDrawQuad> create(const CCSharedQuadState*, const IntRect&, int renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
+ static PassOwnPtr<CCRenderPassDrawQuad> create(const CCSharedQuadState*, const IntRect&, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
- int renderPassId() const { return m_renderPassId; }
+ CCRenderPass::Id renderPassId() const { return m_renderPassId; }
bool isReplica() const { return m_isReplica; }
CCResourceProvider::ResourceId maskResourceId() const { return m_maskResourceId; }
const IntRect& contentsChangedSinceLastFrame() const { return m_contentsChangedSinceLastFrame; }
@@ -51,10 +50,12 @@ public:
float maskTexCoordOffsetX() const { return m_maskTexCoordOffsetX; }
float maskTexCoordOffsetY() const { return m_maskTexCoordOffsetY; }
+ PassOwnPtr<CCRenderPassDrawQuad> copy(const CCSharedQuadState* copiedSharedQuadState, CCRenderPass::Id copiedRenderPassId) const;
+
private:
- CCRenderPassDrawQuad(const CCSharedQuadState*, const IntRect&, int renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
+ CCRenderPassDrawQuad(const CCSharedQuadState*, const IntRect&, CCRenderPass::Id renderPassId, bool isReplica, CCResourceProvider::ResourceId maskResourceId, const IntRect& contentsChangedSinceLastFrame, float maskTexCoordScaleX, float maskTexCoordScaleY, float maskTexCoordOffsetX, float maskTexCoordOffsetY);
- int m_renderPassId;
+ CCRenderPass::Id m_renderPassId;
bool m_isReplica;
CCResourceProvider::ResourceId m_maskResourceId;
IntRect m_contentsChangedSinceLastFrame;
diff --git a/Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassSink.h
index 0f057eb2b..593a80909 100644
--- a/Source/WebCore/Modules/indexeddb/IDBKeyPathBackendImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderPassSink.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2012 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,27 +23,19 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef IDBKeyPathBackendImpl_h
-#define IDBKeyPathBackendImpl_h
+#ifndef CCRenderPassSink_h
+#define CCRenderPassSink_h
-#if ENABLE(INDEXED_DATABASE)
-
-#include <wtf/Forward.h>
+#include <wtf/PassOwnPtr.h>
namespace WebCore {
-class IDBKey;
-class IDBKeyPath;
-class SerializedScriptValue;
+class CCRenderPass;
-class IDBKeyPathBackendImpl {
+class CCRenderPassSink {
public:
- static void createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue>, 0>& values, const IDBKeyPath&, Vector<RefPtr<IDBKey>, 0>& keys);
- static PassRefPtr<SerializedScriptValue> injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey>, PassRefPtr<SerializedScriptValue>, const IDBKeyPath&);
+ virtual void appendRenderPass(PassOwnPtr<CCRenderPass>) = 0;
};
}
-
-#endif // ENABLE(INDEXED_DATABASE)
-
-#endif // IDBKeyPathBackendImpl_h
+#endif // CCRenderPassSink_h
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp
index 50234aca3..16393b930 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.cpp
@@ -34,7 +34,9 @@
#include "CCLayerImpl.h"
#include "CCMathUtil.h"
#include "CCQuadSink.h"
+#include "CCRenderPass.h"
#include "CCRenderPassDrawQuad.h"
+#include "CCRenderPassSink.h"
#include "CCSharedQuadState.h"
#include "TextStream.h"
#include <public/WebTransformationMatrix.h>
@@ -179,7 +181,24 @@ static inline IntRect computeClippedRectInTarget(const CCLayerImpl* owningLayer)
return clippedRectInTarget;
}
-void CCRenderSurface::appendQuads(CCQuadSink& quadSink, bool forReplica, int renderPassId)
+CCRenderPass::Id CCRenderSurface::renderPassId()
+{
+ int layerId = m_owningLayer->id();
+ int subId = 0;
+ ASSERT(layerId > 0);
+ return CCRenderPass::Id(layerId, subId);
+}
+
+void CCRenderSurface::appendRenderPasses(CCRenderPassSink& passSink)
+{
+ OwnPtr<CCRenderPass> pass = CCRenderPass::create(renderPassId(), m_contentRect, m_screenSpaceTransform);
+ pass->setDamageRect(m_damageTracker->currentDamageRect());
+ pass->setFilters(m_owningLayer->filters());
+ pass->setBackgroundFilters(m_owningLayer->backgroundFilters());
+ passSink.appendRenderPass(pass.release());
+}
+
+void CCRenderSurface::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData, bool forReplica, CCRenderPass::Id renderPassId)
{
ASSERT(!forReplica || m_owningLayer->hasReplica());
@@ -193,7 +212,7 @@ void CCRenderSurface::appendQuads(CCQuadSink& quadSink, bool forReplica, int ren
int green = forReplica ? debugReplicaBorderColorGreen : debugSurfaceBorderColorGreen;
int blue = forReplica ? debugReplicaBorderColorBlue : debugSurfaceBorderColorBlue;
SkColor color = SkColorSetARGB(debugSurfaceBorderAlpha, red, green, blue);
- quadSink.append(CCDebugBorderDrawQuad::create(sharedQuadState, contentRect(), color, debugSurfaceBorderWidth));
+ quadSink.append(CCDebugBorderDrawQuad::create(sharedQuadState, contentRect(), color, debugSurfaceBorderWidth), appendQuadsData);
}
// FIXME: By using the same RenderSurface for both the content and its reflection,
@@ -227,7 +246,7 @@ void CCRenderSurface::appendQuads(CCQuadSink& quadSink, bool forReplica, int ren
IntRect contentsChangedSinceLastFrame = contentsChanged() ? m_contentRect : IntRect();
quadSink.append(CCRenderPassDrawQuad::create(sharedQuadState, contentRect(), renderPassId, forReplica, maskResourceId, contentsChangedSinceLastFrame,
- maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY));
+ maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY), appendQuadsData);
}
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h b/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h
index a7d639562..2d7aaa93e 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurface.h
@@ -29,6 +29,7 @@
#if USE(ACCELERATED_COMPOSITING)
+#include "CCRenderPass.h"
#include "CCSharedQuadState.h"
#include "FloatRect.h"
#include "IntRect.h"
@@ -40,10 +41,12 @@ namespace WebCore {
class CCDamageTracker;
class CCQuadSink;
-class CCRenderPass;
+class CCRenderPassSink;
class CCLayerImpl;
class TextStream;
+struct CCAppendQuadsData;
+
class CCRenderSurface {
WTF_MAKE_NONCOPYABLE(CCRenderSurface);
public:
@@ -103,7 +106,10 @@ public:
CCDamageTracker* damageTracker() const { return m_damageTracker.get(); }
- void appendQuads(CCQuadSink&, bool forReplica, int renderPassId);
+ CCRenderPass::Id renderPassId();
+
+ void appendRenderPasses(CCRenderPassSink&);
+ void appendQuads(CCQuadSink&, CCAppendQuadsData&, bool forReplica, CCRenderPass::Id renderPassId);
private:
CCLayerImpl* m_owningLayer;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp
index 1d4278ec8..f0b265971 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp
@@ -34,7 +34,7 @@
#include "SkCanvas.h"
#include "SkColorMatrixFilter.h"
#include "SkGpuDevice.h"
-#include "SkGrTexturePixelRef.h"
+#include "SkGrPixelRef.h"
#include "SkMagnifierImageFilter.h"
#include <public/WebFilterOperation.h>
#include <public/WebFilterOperations.h>
@@ -265,12 +265,12 @@ public:
GrPlatformTextureDesc platformTextureDescription;
platformTextureDescription.fWidth = size.width();
platformTextureDescription.fHeight = size.height();
- platformTextureDescription.fConfig = kSkia8888_PM_GrPixelConfig;
+ platformTextureDescription.fConfig = kSkia8888_GrPixelConfig;
platformTextureDescription.fTextureHandle = textureId;
SkAutoTUnref<GrTexture> texture(grContext->createPlatformTexture(platformTextureDescription));
// Place the platform texture inside an SkBitmap.
m_source.setConfig(SkBitmap::kARGB_8888_Config, size.width(), size.height());
- m_source.setPixelRef(new SkGrTexturePixelRef(texture.get()))->unref();
+ m_source.setPixelRef(new SkGrPixelRef(texture.get()))->unref();
}
~FilterBufferState() { }
@@ -283,7 +283,7 @@ public:
desc.fSampleCnt = 0;
desc.fWidth = m_source.width();
desc.fHeight = m_source.height();
- desc.fConfig = kSkia8888_PM_GrPixelConfig;
+ desc.fConfig = kSkia8888_GrPixelConfig;
for (int i = 0; i < scratchCount; ++i) {
GrAutoScratchTexture scratchTexture(m_grContext, desc, GrContext::kExact_ScratchTexMatch);
m_scratchTextures[i].reset(scratchTexture.detach());
@@ -308,7 +308,7 @@ public:
m_canvas.reset(0);
m_device.reset(0);
- m_source.setPixelRef(new SkGrTexturePixelRef(m_scratchTextures[m_currentTexture].get()))->unref();
+ m_source.setPixelRef(new SkGrPixelRef(m_scratchTextures[m_currentTexture].get()))->unref();
m_currentTexture = 1 - m_currentTexture;
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h b/Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h
index 946aec633..047bd80f3 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCRenderer.h
@@ -77,7 +77,7 @@ public:
virtual void viewportChanged() { }
virtual void decideRenderPassAllocationsForFrame(const CCRenderPassList&) { }
- virtual bool haveCachedResourcesForRenderPassId(int) const { return false; }
+ virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id) const { return false; }
virtual void drawFrame(const CCRenderPassList&, const CCRenderPassIdHashMap&) = 0;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp
index 3aad147ca..fc3bfe7e1 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCResourceProvider.cpp
@@ -154,7 +154,9 @@ void CCResourceProvider::deleteResource(ResourceId id)
{
ASSERT(CCProxy::isImplThread());
ResourceMap::iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && !it->second.lockedForWrite && !it->second.lockForReadCount);
+ ASSERT(it != m_resources.end());
+ ASSERT(!it->second.lockedForWrite);
+ ASSERT(!it->second.lockForReadCount);
if (it->second.glId && !it->second.external) {
WebGraphicsContext3D* context3d = m_context->context3D();
@@ -190,7 +192,10 @@ void CCResourceProvider::upload(ResourceId id, const uint8_t* image, const IntRe
{
ASSERT(CCProxy::isImplThread());
ResourceMap::iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && !it->second.lockedForWrite && !it->second.lockForReadCount && !it->second.external);
+ ASSERT(it != m_resources.end());
+ ASSERT(!it->second.lockedForWrite);
+ ASSERT(!it->second.lockForReadCount);
+ ASSERT(!it->second.external);
if (it->second.glId) {
WebGraphicsContext3D* context3d = m_context->context3D();
@@ -238,7 +243,8 @@ const CCResourceProvider::Resource* CCResourceProvider::lockForRead(ResourceId i
{
ASSERT(CCProxy::isImplThread());
ResourceMap::iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && !it->second.lockedForWrite);
+ ASSERT(it != m_resources.end());
+ ASSERT(!it->second.lockedForWrite);
it->second.lockForReadCount++;
return &it->second;
}
@@ -247,7 +253,8 @@ void CCResourceProvider::unlockForRead(ResourceId id)
{
ASSERT(CCProxy::isImplThread());
ResourceMap::iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && it->second.lockForReadCount > 0);
+ ASSERT(it != m_resources.end());
+ ASSERT(it->second.lockForReadCount > 0);
it->second.lockForReadCount--;
}
@@ -255,7 +262,10 @@ const CCResourceProvider::Resource* CCResourceProvider::lockForWrite(ResourceId
{
ASSERT(CCProxy::isImplThread());
ResourceMap::iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && !it->second.lockedForWrite && !it->second.lockForReadCount && !it->second.external);
+ ASSERT(it != m_resources.end());
+ ASSERT(!it->second.lockedForWrite);
+ ASSERT(!it->second.lockForReadCount);
+ ASSERT(!it->second.external);
it->second.lockedForWrite = true;
return &it->second;
}
@@ -264,7 +274,9 @@ void CCResourceProvider::unlockForWrite(ResourceId id)
{
ASSERT(CCProxy::isImplThread());
ResourceMap::iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && it->second.lockedForWrite && !it->second.external);
+ ASSERT(it != m_resources.end());
+ ASSERT(it->second.lockedForWrite);
+ ASSERT(!it->second.external);
it->second.lockedForWrite = false;
}
@@ -505,7 +517,10 @@ bool CCResourceProvider::transferResource(WebGraphicsContext3D* context, Resourc
{
ASSERT(CCProxy::isImplThread());
ResourceMap::const_iterator it = m_resources.find(id);
- ASSERT(it != m_resources.end() && !it->second.lockedForWrite && !it->second.lockForReadCount && !it->second.external);
+ ASSERT(it != m_resources.end());
+ ASSERT(!it->second.lockedForWrite);
+ ASSERT(!it->second.lockForReadCount);
+ ASSERT(!it->second.external);
if (it->second.exported)
return false;
resource->id = id;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.cpp
index 999a08ec9..01984210b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.cpp
@@ -57,6 +57,16 @@ void CCScheduler::setVisible(bool visible)
processScheduledActions();
}
+void CCScheduler::setCanDraw(bool canDraw)
+{
+ m_stateMachine.setCanDraw(canDraw);
+
+ // Defer processScheduleActions so we don't recurse and commit/draw
+ // multiple frames. We can call processScheduledActions directly
+ // once it is no longer re-entrant.
+ m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded());
+}
+
void CCScheduler::setNeedsCommit()
{
m_stateMachine.setNeedsCommit();
@@ -106,6 +116,11 @@ void CCScheduler::setMaxFramesPending(int maxFramesPending)
m_frameRateController->setMaxFramesPending(maxFramesPending);
}
+void CCScheduler::setSwapBuffersCompleteSupported(bool supported)
+{
+ m_frameRateController->setSwapBuffersCompleteSupported(supported);
+}
+
void CCScheduler::didSwapBuffersComplete()
{
TRACE_EVENT0("cc", "CCScheduler::didSwapBuffersComplete");
@@ -145,16 +160,10 @@ void CCScheduler::vsyncTick()
m_stateMachine.didLeaveVSync();
}
-CCSchedulerStateMachine::Action CCScheduler::nextAction()
-{
- m_stateMachine.setCanDraw(m_client->canDraw());
- return m_stateMachine.nextAction();
-}
-
void CCScheduler::processScheduledActions()
{
// Early out so we don't spam TRACE_EVENTS with useless processScheduledActions.
- if (nextAction() == CCSchedulerStateMachine::ACTION_NONE) {
+ if (m_stateMachine.nextAction() == CCSchedulerStateMachine::ACTION_NONE) {
m_frameRateController->setActive(m_stateMachine.vsyncCallbackNeeded());
return;
}
@@ -163,7 +172,7 @@ void CCScheduler::processScheduledActions()
// setNeedsCommit. Proceeed with caution.
CCSchedulerStateMachine::Action action;
do {
- action = nextAction();
+ action = m_stateMachine.nextAction();
m_stateMachine.updateState(action);
TRACE_EVENT1("cc", "CCScheduler::processScheduledActions()", "action", action);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.h b/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.h
index 63664bb59..9ac871fbf 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScheduler.h
@@ -52,7 +52,6 @@ struct CCScheduledActionDrawAndSwapResult {
class CCSchedulerClient {
public:
- virtual bool canDraw() = 0;
virtual bool hasMoreResourceUpdates() const = 0;
virtual void scheduledActionBeginFrame() = 0;
@@ -80,6 +79,7 @@ public:
void setCanBeginFrame(bool);
void setVisible(bool);
+ void setCanDraw(bool);
void setNeedsCommit();
@@ -97,6 +97,7 @@ public:
void beginFrameAborted();
void setMaxFramesPending(int);
+ void setSwapBuffersCompleteSupported(bool);
void didSwapBuffersComplete();
void didLoseContext();
@@ -113,7 +114,6 @@ public:
private:
CCScheduler(CCSchedulerClient*, PassOwnPtr<CCFrameRateController>);
- CCSchedulerStateMachine::Action nextAction();
void processScheduledActions();
CCSchedulerClient* m_client;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp
index ffcd5e90c..08b407df8 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp
@@ -25,6 +25,8 @@
#include "config.h"
#include "CCSchedulerStateMachine.h"
+#include "TextStream.h"
+
namespace WebCore {
@@ -44,13 +46,38 @@ CCSchedulerStateMachine::CCSchedulerStateMachine()
, m_insideVSync(false)
, m_visible(false)
, m_canBeginFrame(false)
- , m_canDraw(true)
+ , m_canDraw(false)
, m_drawIfPossibleFailed(false)
, m_textureState(LAYER_TEXTURE_STATE_UNLOCKED)
, m_contextState(CONTEXT_ACTIVE)
{
}
+String CCSchedulerStateMachine::toString()
+{
+ TextStream ts;
+ ts << "m_commitState = " << m_commitState << "; ";
+ ts << "m_currentFrameNumber = " << m_currentFrameNumber << "; ";
+ ts << "m_lastFrameNumberWhereDrawWasCalled = " << m_lastFrameNumberWhereDrawWasCalled << "; ";
+ ts << "m_consecutiveFailedDraws = " << m_consecutiveFailedDraws << "; ";
+ ts << "m_maximumNumberOfFailedDrawsBeforeDrawIsForced = " << m_maximumNumberOfFailedDrawsBeforeDrawIsForced << "; ";
+ ts << "m_needsRedraw = " << m_needsRedraw << "; ";
+ ts << "m_needsForcedRedraw = " << m_needsForcedRedraw << "; ";
+ ts << "m_needsForcedRedrawAfterNextCommit = " << m_needsForcedRedrawAfterNextCommit << "; ";
+ ts << "m_needsCommit = " << m_needsCommit << "; ";
+ ts << "m_needsForcedCommit = " << m_needsForcedCommit << "; ";
+ ts << "m_mainThreadNeedsLayerTextures = " << m_mainThreadNeedsLayerTextures << "; ";
+ ts << "m_updateMoreResourcesPending = " << m_updateMoreResourcesPending << "; ";
+ ts << "m_insideVSync = " << m_insideVSync << "; ";
+ ts << "m_visible = " << m_visible << "; ";
+ ts << "m_canBeginFrame = " << m_canBeginFrame << "; ";
+ ts << "m_canDraw = " << m_canDraw << "; ";
+ ts << "m_drawIfPossibleFailed = " << m_drawIfPossibleFailed << "; ";
+ ts << "m_textureState = " << m_textureState << "; ";
+ ts << "m_contextState = " << m_contextState << "; ";
+ return ts.release();
+}
+
bool CCSchedulerStateMachine::hasDrawnThisFrame() const
{
return m_currentFrameNumber == m_lastFrameNumberWhereDrawWasCalled;
@@ -176,11 +203,7 @@ void CCSchedulerStateMachine::updateState(Action action)
return;
case ACTION_COMMIT:
- if ((m_needsCommit || !m_visible) && !m_needsForcedCommit)
- m_commitState = COMMIT_STATE_WAITING_FOR_FIRST_DRAW;
- else
- m_commitState = COMMIT_STATE_IDLE;
-
+ m_commitState = COMMIT_STATE_WAITING_FOR_FIRST_DRAW;
m_needsRedraw = true;
if (m_drawIfPossibleFailed)
m_lastFrameNumberWhereDrawWasCalled = -1;
@@ -230,14 +253,18 @@ void CCSchedulerStateMachine::setMainThreadNeedsLayerTextures()
bool CCSchedulerStateMachine::vsyncCallbackNeeded() const
{
- if (!m_visible || m_contextState != CONTEXT_ACTIVE) {
- if (m_needsForcedRedraw || m_commitState == COMMIT_STATE_UPDATING_RESOURCES)
- return true;
+ // To prevent live-lock, we must always tick when updating resources.
+ if (m_updateMoreResourcesPending || m_commitState == COMMIT_STATE_UPDATING_RESOURCES)
+ return true;
+ // If we can't draw, don't tick until we are notified that we can draw again.
+ if (!m_canDraw)
return false;
- }
- return m_needsRedraw || m_needsForcedRedraw || m_commitState == COMMIT_STATE_UPDATING_RESOURCES;
+ if (m_needsForcedRedraw)
+ return true;
+
+ return m_needsRedraw && m_visible && m_contextState == CONTEXT_ACTIVE;
}
void CCSchedulerStateMachine::didEnterVSync()
@@ -303,6 +330,7 @@ void CCSchedulerStateMachine::beginFrameAborted()
{
ASSERT(m_commitState == COMMIT_STATE_FRAME_IN_PROGRESS);
m_commitState = COMMIT_STATE_IDLE;
+ setNeedsCommit();
}
void CCSchedulerStateMachine::beginUpdateMoreResourcesComplete(bool morePending)
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.h b/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.h
index fe1b180fe..8babafab8 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSchedulerStateMachine.h
@@ -26,6 +26,7 @@
#define CCSchedulerStateMachine_h
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -148,6 +149,8 @@ public:
// Exposed for testing purposes.
void setMaximumNumberOfFailedDrawsBeforeDrawIsForced(int);
+ String toString();
+
protected:
bool shouldDrawForced() const;
bool drawSuspendedUntilCommit() const;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp
new file mode 100644
index 000000000..2ad23ae9e
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.cpp
@@ -0,0 +1,115 @@
+/*
+ * Copyright (C) 2012 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 "CCScrollbarGeometryFixedThumb.h"
+
+#include <cmath>
+#include <public/WebRect.h>
+#include <public/WebScrollbar.h>
+
+using WebKit::WebRect;
+using WebKit::WebScrollbar;
+using WebKit::WebScrollbarThemeGeometry;
+
+namespace WebCore {
+
+PassOwnPtr<CCScrollbarGeometryFixedThumb> CCScrollbarGeometryFixedThumb::create(PassOwnPtr<WebScrollbarThemeGeometry> geometry)
+{
+ return adoptPtr(new CCScrollbarGeometryFixedThumb(geometry));
+}
+
+CCScrollbarGeometryFixedThumb::~CCScrollbarGeometryFixedThumb()
+{
+}
+
+void CCScrollbarGeometryFixedThumb::update(WebScrollbar* scrollbar)
+{
+ int length = CCScrollbarGeometryStub::thumbLength(scrollbar);
+
+ if (scrollbar->orientation() == WebScrollbar::Horizontal)
+ m_thumbSize = IntSize(length, scrollbar->size().height);
+ else
+ m_thumbSize = IntSize(scrollbar->size().width, length);
+}
+
+WebScrollbarThemeGeometry* CCScrollbarGeometryFixedThumb::clone() const
+{
+ CCScrollbarGeometryFixedThumb* geometry = new CCScrollbarGeometryFixedThumb(adoptPtr(CCScrollbarGeometryStub::clone()));
+ geometry->m_thumbSize = m_thumbSize;
+ return geometry;
+}
+
+int CCScrollbarGeometryFixedThumb::thumbLength(WebScrollbar* scrollbar)
+{
+ if (scrollbar->orientation() == WebScrollbar::Horizontal)
+ return m_thumbSize.width();
+ return m_thumbSize.height();
+}
+
+int CCScrollbarGeometryFixedThumb::thumbPosition(WebScrollbar* scrollbar)
+{
+ if (scrollbar->enabled()) {
+ float size = scrollbar->maximum();
+ if (!size)
+ return 1;
+ int value = std::min(std::max(0, scrollbar->value()), scrollbar->maximum());
+ float pos = (trackLength(scrollbar) - thumbLength(scrollbar)) * value / size;
+ return static_cast<int>(floorf((pos < 1 && pos > 0) ? 1 : pos));
+ }
+ return 0;
+}
+void CCScrollbarGeometryFixedThumb::splitTrack(WebScrollbar* scrollbar, const WebRect& unconstrainedTrackRect, WebRect& beforeThumbRect, WebRect& thumbRect, WebRect& afterThumbRect)
+{
+ // This is a reimplementation of ScrollbarThemeComposite::splitTrack.
+ // Because the WebScrollbarThemeGeometry functions call down to native
+ // ScrollbarThemeComposite code which uses ScrollbarThemeComposite virtual
+ // helpers, there's no way to override a helper like thumbLength from
+ // the WebScrollbarThemeGeometry level. So, these three functions
+ // (splitTrack, thumbPosition, thumbLength) are copied here so that the
+ // WebScrollbarThemeGeometry helper functions are used instead and
+ // a fixed size thumbLength can be used.
+
+ WebRect trackRect = constrainTrackRectToTrackPieces(scrollbar, unconstrainedTrackRect);
+ int thickness = scrollbar->orientation() == WebScrollbar::Horizontal ? scrollbar->size().height : scrollbar->size().width;
+ int thumbPos = thumbPosition(scrollbar);
+ if (scrollbar->orientation() == WebScrollbar::Horizontal) {
+ thumbRect = WebRect(trackRect.x + thumbPos, trackRect.y + (trackRect.height - thickness) / 2, thumbLength(scrollbar), thickness);
+ beforeThumbRect = WebRect(trackRect.x, trackRect.y, thumbPos + thumbRect.width / 2, trackRect.height);
+ afterThumbRect = WebRect(trackRect.x + beforeThumbRect.width, trackRect.y, trackRect.x + trackRect.width - beforeThumbRect.x - beforeThumbRect.width, trackRect.height);
+ } else {
+ thumbRect = WebRect(trackRect.x + (trackRect.width - thickness) / 2, trackRect.y + thumbPos, thickness, thumbLength(scrollbar));
+ beforeThumbRect = WebRect(trackRect.x, trackRect.y, trackRect.width, thumbPos + thumbRect.height / 2);
+ afterThumbRect = WebRect(trackRect.x, trackRect.y + beforeThumbRect.height, trackRect.width, trackRect.y + trackRect.height - beforeThumbRect.y - beforeThumbRect.height);
+ }
+}
+
+CCScrollbarGeometryFixedThumb::CCScrollbarGeometryFixedThumb(PassOwnPtr<WebScrollbarThemeGeometry> geometry)
+ : CCScrollbarGeometryStub(geometry)
+{
+}
+
+}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h
new file mode 100644
index 000000000..049fb93ea
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryFixedThumb.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2012 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 CCScrollbarGeometryFixedThumb_h
+#define CCScrollbarGeometryFixedThumb_h
+
+#include "CCScrollbarGeometryStub.h"
+#include "IntSize.h"
+
+namespace WebCore {
+
+// This scrollbar geometry class behaves exactly like a normal geometry except
+// it always returns a fixed thumb length. This allows a page to zoom (changing
+// the total size of the scrollable area, changing the thumb length) while not
+// requiring the thumb resource to be repainted.
+class CCScrollbarGeometryFixedThumb : public CCScrollbarGeometryStub {
+public:
+ static PassOwnPtr<CCScrollbarGeometryFixedThumb> create(PassOwnPtr<WebKit::WebScrollbarThemeGeometry>);
+ virtual ~CCScrollbarGeometryFixedThumb();
+
+ // Update thumb length from scrollbar
+ void update(WebKit::WebScrollbar*);
+
+ // WebScrollbarThemeGeometry interface
+ virtual WebKit::WebScrollbarThemeGeometry* clone() const OVERRIDE;
+ virtual int thumbLength(WebKit::WebScrollbar*) OVERRIDE;
+ virtual int thumbPosition(WebKit::WebScrollbar*) OVERRIDE;
+ virtual void splitTrack(WebKit::WebScrollbar*, const WebKit::WebRect& track, WebKit::WebRect& startTrack, WebKit::WebRect& thumb, WebKit::WebRect& endTrack) OVERRIDE;
+
+private:
+ explicit CCScrollbarGeometryFixedThumb(PassOwnPtr<WebKit::WebScrollbarThemeGeometry>);
+
+ IntSize m_thumbSize;
+};
+
+}
+
+#endif
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp
new file mode 100644
index 000000000..8e4f6bf80
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.cpp
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2012 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 "CCScrollbarGeometryStub.h"
+
+using WebKit::WebRect;
+using WebKit::WebScrollbar;
+using WebKit::WebScrollbarThemeGeometry;
+
+namespace WebCore {
+
+CCScrollbarGeometryStub::CCScrollbarGeometryStub(PassOwnPtr<WebScrollbarThemeGeometry> geometry)
+ : m_geometry(geometry)
+{
+}
+
+CCScrollbarGeometryStub::~CCScrollbarGeometryStub()
+{
+}
+
+WebScrollbarThemeGeometry* CCScrollbarGeometryStub::clone() const
+{
+ return m_geometry->clone();
+}
+
+int CCScrollbarGeometryStub::thumbPosition(WebScrollbar* scrollbar)
+{
+ return m_geometry->thumbPosition(scrollbar);
+}
+
+int CCScrollbarGeometryStub::thumbLength(WebScrollbar* scrollbar)
+{
+ return m_geometry->thumbLength(scrollbar);
+}
+
+int CCScrollbarGeometryStub::trackPosition(WebScrollbar* scrollbar)
+{
+ return m_geometry->trackPosition(scrollbar);
+}
+
+int CCScrollbarGeometryStub::trackLength(WebScrollbar* scrollbar)
+{
+ return m_geometry->trackLength(scrollbar);
+}
+
+bool CCScrollbarGeometryStub::hasButtons(WebScrollbar* scrollbar)
+{
+ return m_geometry->hasButtons(scrollbar);
+}
+
+bool CCScrollbarGeometryStub::hasThumb(WebScrollbar* scrollbar)
+{
+ return m_geometry->hasThumb(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::trackRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->trackRect(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::thumbRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->thumbRect(scrollbar);
+}
+
+int CCScrollbarGeometryStub::minimumThumbLength(WebScrollbar* scrollbar)
+{
+ return m_geometry->minimumThumbLength(scrollbar);
+}
+
+int CCScrollbarGeometryStub::scrollbarThickness(WebScrollbar* scrollbar)
+{
+ return m_geometry->scrollbarThickness(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::backButtonStartRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->backButtonStartRect(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::backButtonEndRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->backButtonEndRect(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::forwardButtonStartRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->forwardButtonStartRect(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::forwardButtonEndRect(WebScrollbar* scrollbar)
+{
+ return m_geometry->forwardButtonEndRect(scrollbar);
+}
+
+WebRect CCScrollbarGeometryStub::constrainTrackRectToTrackPieces(WebScrollbar* scrollbar, const WebRect& rect)
+{
+ return m_geometry->constrainTrackRectToTrackPieces(scrollbar, rect);
+}
+
+void CCScrollbarGeometryStub::splitTrack(WebScrollbar* scrollbar, const WebRect& unconstrainedTrackRect, WebRect& beforeThumbRect, WebRect& thumbRect, WebRect& afterThumbRect)
+{
+ m_geometry->splitTrack(scrollbar, unconstrainedTrackRect, beforeThumbRect, thumbRect, afterThumbRect);
+}
+
+}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.h b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.h
new file mode 100644
index 000000000..f10b28191
--- /dev/null
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarGeometryStub.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2012 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 CCScrollbarGeometryStub_h
+#define CCScrollbarGeometryStub_h
+
+#include <public/WebScrollbarThemeGeometry.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+
+namespace WebCore {
+
+// This subclass wraps an existing scrollbar geometry class so that
+// another class can derive from it and override specific functions, while
+// passing through the remaining ones.
+class CCScrollbarGeometryStub : public WebKit::WebScrollbarThemeGeometry {
+public:
+ virtual ~CCScrollbarGeometryStub();
+
+ // Allow derived classes to update themselves from a scrollbar.
+ void update(WebKit::WebScrollbar*) { }
+
+ // WebScrollbarThemeGeometry interface
+ virtual WebKit::WebScrollbarThemeGeometry* clone() const OVERRIDE;
+ virtual int thumbPosition(WebKit::WebScrollbar*) OVERRIDE;
+ virtual int thumbLength(WebKit::WebScrollbar*) OVERRIDE;
+ virtual int trackPosition(WebKit::WebScrollbar*) OVERRIDE;
+ virtual int trackLength(WebKit::WebScrollbar*) OVERRIDE;
+ virtual bool hasButtons(WebKit::WebScrollbar*) OVERRIDE;
+ virtual bool hasThumb(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect trackRect(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect thumbRect(WebKit::WebScrollbar*) OVERRIDE;
+ virtual int minimumThumbLength(WebKit::WebScrollbar*) OVERRIDE;
+ virtual int scrollbarThickness(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect backButtonStartRect(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect backButtonEndRect(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect forwardButtonStartRect(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect forwardButtonEndRect(WebKit::WebScrollbar*) OVERRIDE;
+ virtual WebKit::WebRect constrainTrackRectToTrackPieces(WebKit::WebScrollbar*, const WebKit::WebRect&) OVERRIDE;
+ virtual void splitTrack(WebKit::WebScrollbar*, const WebKit::WebRect& track, WebKit::WebRect& startTrack, WebKit::WebRect& thumb, WebKit::WebRect& endTrack) OVERRIDE;
+
+protected:
+ explicit CCScrollbarGeometryStub(PassOwnPtr<WebKit::WebScrollbarThemeGeometry>);
+
+private:
+ OwnPtr<WebKit::WebScrollbarThemeGeometry> m_geometry;
+};
+
+}
+
+#endif
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
index dc191dc2c..804d6ffd8 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp
@@ -62,12 +62,12 @@ CCScrollbarLayerImpl::CCScrollbarLayerImpl(int id)
{
}
-void CCScrollbarLayerImpl::setScrollbarGeometry(PassOwnPtr<WebKit::WebScrollbarThemeGeometry> geometry)
+void CCScrollbarLayerImpl::setScrollbarGeometry(PassOwnPtr<CCScrollbarGeometryFixedThumb> geometry)
{
m_geometry = geometry;
}
-void CCScrollbarLayerImpl::setScrollbarData(const WebScrollbar* scrollbar)
+void CCScrollbarLayerImpl::setScrollbarData(WebScrollbar* scrollbar)
{
m_scrollbarOverlayStyle = scrollbar->scrollbarOverlayStyle();
m_orientation = scrollbar->orientation();
@@ -81,6 +81,8 @@ void CCScrollbarLayerImpl::setScrollbarData(const WebScrollbar* scrollbar)
m_isOverlayScrollbar = scrollbar->isOverlay();
scrollbar->getTickmarks(m_tickmarks);
+
+ m_geometry->update(scrollbar);
}
static FloatRect toUVRect(const WebRect& r, const IntRect& bounds)
@@ -89,7 +91,7 @@ static FloatRect toUVRect(const WebRect& r, const IntRect& bounds)
static_cast<float>(r.width) / bounds.width(), static_cast<float>(r.height) / bounds.height());
}
-void CCScrollbarLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
+void CCScrollbarLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
bool premultipledAlpha = false;
bool flipped = false;
@@ -97,7 +99,7 @@ void CCScrollbarLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
IntRect boundsRect(IntPoint(), contentBounds());
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
- appendDebugBorderQuad(quadSink, sharedQuadState);
+ appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
WebRect thumbRect, backTrackRect, foreTrackRect;
m_geometry->splitTrack(&m_scrollbar, m_geometry->trackRect(&m_scrollbar), backTrackRect, thumbRect, foreTrackRect);
@@ -107,7 +109,7 @@ void CCScrollbarLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
if (m_thumbResourceId && !thumbRect.isEmpty()) {
OwnPtr<CCTextureDrawQuad> quad = CCTextureDrawQuad::create(sharedQuadState, IntRect(thumbRect.x, thumbRect.y, thumbRect.width, thumbRect.height), m_thumbResourceId, premultipledAlpha, uvRect, flipped);
quad->setNeedsBlending();
- quadSink.append(quad.release());
+ quadSink.append(quad.release(), appendQuadsData);
}
if (!m_backTrackResourceId)
@@ -115,12 +117,12 @@ void CCScrollbarLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
// We only paint the track in two parts if we were given a texture for the forward track part.
if (m_foreTrackResourceId && !foreTrackRect.isEmpty())
- quadSink.append(CCTextureDrawQuad::create(sharedQuadState, IntRect(foreTrackRect.x, foreTrackRect.y, foreTrackRect.width, foreTrackRect.height), m_foreTrackResourceId, premultipledAlpha, toUVRect(foreTrackRect, boundsRect), flipped));
+ quadSink.append(CCTextureDrawQuad::create(sharedQuadState, IntRect(foreTrackRect.x, foreTrackRect.y, foreTrackRect.width, foreTrackRect.height), m_foreTrackResourceId, premultipledAlpha, toUVRect(foreTrackRect, boundsRect), flipped), appendQuadsData);
// Order matters here: since the back track texture is being drawn to the entire contents rect, we must append it after the thumb and
// fore track quads. The back track texture contains (and displays) the buttons.
if (!boundsRect.isEmpty())
- quadSink.append(CCTextureDrawQuad::create(sharedQuadState, IntRect(boundsRect), m_backTrackResourceId, premultipledAlpha, uvRect, flipped));
+ quadSink.append(CCTextureDrawQuad::create(sharedQuadState, IntRect(boundsRect), m_backTrackResourceId, premultipledAlpha, uvRect, flipped), appendQuadsData);
}
void CCScrollbarLayerImpl::didLoseContext()
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
index f8fd7bf8c..3e628673b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCScrollbarLayerImpl.h
@@ -29,9 +29,9 @@
#if USE(ACCELERATED_COMPOSITING)
#include "CCLayerImpl.h"
+#include "CCScrollbarGeometryFixedThumb.h"
#include <public/WebRect.h>
#include <public/WebScrollbar.h>
-#include <public/WebScrollbarThemeGeometry.h>
#include <public/WebVector.h>
namespace WebCore {
@@ -42,9 +42,9 @@ class CCScrollbarLayerImpl : public CCLayerImpl {
public:
static PassOwnPtr<CCScrollbarLayerImpl> create(int id);
- WebKit::WebScrollbarThemeGeometry* scrollbarGeometry() const { return m_geometry.get(); }
- void setScrollbarGeometry(PassOwnPtr<WebKit::WebScrollbarThemeGeometry>);
- void setScrollbarData(const WebKit::WebScrollbar*);
+ CCScrollbarGeometryFixedThumb* scrollbarGeometry() const { return m_geometry.get(); }
+ void setScrollbarGeometry(PassOwnPtr<CCScrollbarGeometryFixedThumb>);
+ void setScrollbarData(WebKit::WebScrollbar*);
void setBackTrackResourceId(CCResourceProvider::ResourceId id) { m_backTrackResourceId = id; }
void setForeTrackResourceId(CCResourceProvider::ResourceId id) { m_foreTrackResourceId = id; }
@@ -61,7 +61,7 @@ public:
WebKit::WebScrollbar::Orientation orientation() const { return m_orientation; }
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
virtual void didLoseContext() OVERRIDE;
@@ -103,7 +103,7 @@ private:
CCResourceProvider::ResourceId m_foreTrackResourceId;
CCResourceProvider::ResourceId m_thumbResourceId;
- OwnPtr<WebKit::WebScrollbarThemeGeometry> m_geometry;
+ OwnPtr<CCScrollbarGeometryFixedThumb> m_geometry;
// Data to implement CCScrollbar
WebKit::WebScrollbar::ScrollbarOverlayStyle m_scrollbarOverlayStyle;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp
index f3922b301..b6d433e52 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.cpp
@@ -46,4 +46,11 @@ CCSharedQuadState::CCSharedQuadState(const WebKit::WebTransformationMatrix& quad
{
}
+PassOwnPtr<CCSharedQuadState> CCSharedQuadState::copy() const
+{
+ OwnPtr<CCSharedQuadState> copiedState(create(quadTransform, visibleContentRect, clippedRectInTarget, opacity, opaque));
+ copiedState->id = id;
+ return copiedState.release();
+}
+
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.h b/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.h
index f3adf0301..b2ae63d39 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSharedQuadState.h
@@ -45,7 +45,8 @@ struct CCSharedQuadState {
static PassOwnPtr<CCSharedQuadState> create(const WebKit::WebTransformationMatrix& quadTransform, const IntRect& visibleContentRect, const IntRect& clippedRectInTarget, float opacity, bool opaque);
CCSharedQuadState(const WebKit::WebTransformationMatrix& quadTransform, const IntRect& visibleContentRect, const IntRect& clippedRectInTarget, float opacity, bool opaque);
- bool isLayerAxisAlignedIntRect() const;
+
+ PassOwnPtr<CCSharedQuadState> copy() const;
};
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
index 6876ea218..3bc3d86ca 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.cpp
@@ -46,7 +46,6 @@ PassOwnPtr<CCProxy> CCSingleThreadProxy::create(CCLayerTreeHost* layerTreeHost)
CCSingleThreadProxy::CCSingleThreadProxy(CCLayerTreeHost* layerTreeHost)
: m_layerTreeHost(layerTreeHost)
, m_contextLost(false)
- , m_compositorIdentifier(-1)
, m_rendererInitialized(false)
, m_nextFrameIsNewlyCommittedFrame(false)
{
@@ -155,6 +154,7 @@ bool CCSingleThreadProxy::recreateContext()
bool initialized;
{
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
DebugScopedSetImplThread impl;
if (!m_layerTreeHostImpl->contentsTexturesPurged())
m_layerTreeHost->deleteContentsTexturesOnImplThread(m_layerTreeHostImpl->resourceProvider());
@@ -297,12 +297,14 @@ bool CCSingleThreadProxy::commitAndComposite()
{
ASSERT(CCProxy::isMainThread());
-
if (!m_layerTreeHost->initializeRendererIfNeeded())
return false;
- if (m_layerTreeHostImpl->contentsTexturesPurged())
- m_layerTreeHost->evictAllContentTextures();
+ if (m_layerTreeHostImpl->contentsTexturesPurged()) {
+ m_layerTreeHost->unlinkAllContentTextures();
+ DebugScopedSetImplThreadAndMainThreadBlocked implAndMainBlocked;
+ m_layerTreeHost->deleteUnlinkedTextures();
+ }
CCTextureUpdateQueue queue;
m_layerTreeHost->updateLayers(queue, m_layerTreeHostImpl->memoryAllocationLimitBytes());
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h b/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h
index a73a6aa17..a48bdaf0b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSingleThreadProxy.h
@@ -50,7 +50,6 @@ public:
virtual void setVisible(bool) OVERRIDE;
virtual bool initializeRenderer() OVERRIDE;
virtual bool recreateContext() OVERRIDE;
- virtual int compositorIdentifier() const OVERRIDE { return m_compositorIdentifier; }
virtual void implSideRenderingStats(CCRenderingStats&) OVERRIDE;
virtual const RendererCapabilities& rendererCapabilities() const OVERRIDE;
virtual void loseContext() OVERRIDE;
@@ -69,6 +68,7 @@ public:
virtual void didLoseContextOnImplThread() OVERRIDE { }
virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE { ASSERT_NOT_REACHED(); }
virtual void onVSyncParametersChanged(double monotonicTimebase, double intervalInSeconds) OVERRIDE { }
+ virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE { }
virtual void setNeedsRedrawOnImplThread() OVERRIDE { m_layerTreeHost->scheduleComposite(); }
virtual void setNeedsCommitOnImplThread() OVERRIDE { m_layerTreeHost->scheduleComposite(); }
virtual void postAnimationEventsToMainThreadOnImplThread(PassOwnPtr<CCAnimationEventsVector>, double wallClockTime) OVERRIDE;
@@ -87,7 +87,6 @@ private:
// Accessed on main thread only.
CCLayerTreeHost* m_layerTreeHost;
bool m_contextLost;
- int m_compositorIdentifier;
// Holds on to the context between initializeContext() and initializeRenderer() calls. Shouldn't
// be used for anything else.
@@ -102,7 +101,7 @@ private:
};
// For use in the single-threaded case. In debug builds, it pretends that the
-// code is running on the thread to satisfy assertion checks.
+// code is running on the impl thread to satisfy assertion checks.
class DebugScopedSetImplThread {
public:
DebugScopedSetImplThread()
@@ -137,6 +136,15 @@ public:
}
};
+// For use in the single-threaded case. In debug builds, it pretends that the
+// code is running on the impl thread and that the main thread is blocked to
+// satisfy assertion checks
+class DebugScopedSetImplThreadAndMainThreadBlocked {
+private:
+ DebugScopedSetImplThread m_implThread;
+ DebugScopedSetMainThreadBlocked m_mainThreadBlocked;
+};
+
} // namespace WebCore
#endif
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp
index fe0007f55..f31c853c1 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp
@@ -49,10 +49,10 @@ CCSolidColorLayerImpl::~CCSolidColorLayerImpl()
{
}
-void CCSolidColorLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
+void CCSolidColorLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
- appendDebugBorderQuad(quadSink, sharedQuadState);
+ appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
// We create a series of smaller quads instead of just one large one so that the
// culler can reduce the total pixels drawn.
@@ -61,7 +61,7 @@ void CCSolidColorLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
for (int x = 0; x < width; x += m_tileSize) {
for (int y = 0; y < height; y += m_tileSize) {
IntRect solidTileRect(x, y, min(width - x, m_tileSize), min(height - y, m_tileSize));
- quadSink.append(CCSolidColorDrawQuad::create(sharedQuadState, solidTileRect, backgroundColor()));
+ quadSink.append(CCSolidColorDrawQuad::create(sharedQuadState, solidTileRect, backgroundColor()), appendQuadsData);
}
}
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h
index a2914017d..c700671aa 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h
@@ -39,7 +39,7 @@ public:
}
virtual ~CCSolidColorLayerImpl();
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
protected:
explicit CCSolidColorLayerImpl(int id);
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
index 59dbc8ac0..ebe24f8b7 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.cpp
@@ -58,16 +58,16 @@ void CCTextureLayerImpl::willDraw(CCResourceProvider* resourceProvider)
m_externalTextureResource = resourceProvider->createResourceFromExternalTexture(m_textureId);
}
-void CCTextureLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
+void CCTextureLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
if (!m_externalTextureResource)
return;
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
- appendDebugBorderQuad(quadSink, sharedQuadState);
+ appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
IntRect quadRect(IntPoint(), contentBounds());
- quadSink.append(CCTextureDrawQuad::create(sharedQuadState, quadRect, m_externalTextureResource, m_premultipliedAlpha, m_uvRect, m_flipped));
+ quadSink.append(CCTextureDrawQuad::create(sharedQuadState, quadRect, m_externalTextureResource, m_premultipliedAlpha, m_uvRect, m_flipped), appendQuadsData);
}
void CCTextureLayerImpl::didDraw(CCResourceProvider* resourceProvider)
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.h
index 55d48b451..befa255e1 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCTextureLayerImpl.h
@@ -39,7 +39,7 @@ public:
virtual ~CCTextureLayerImpl();
virtual void willDraw(CCResourceProvider*) OVERRIDE;
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
virtual void didDraw(CCResourceProvider*) OVERRIDE;
virtual void didLoseContext() OVERRIDE;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
index 583c70c60..b987372fc 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.cpp
@@ -68,9 +68,9 @@ PassOwnPtr<CCProxy> CCThreadProxy::create(CCLayerTreeHost* layerTreeHost)
CCThreadProxy::CCThreadProxy(CCLayerTreeHost* layerTreeHost)
: m_animateRequested(false)
, m_commitRequested(false)
+ , m_commitRequestSentToImplThread(false)
, m_forcedCommitRequested(false)
, m_layerTreeHost(layerTreeHost)
- , m_compositorIdentifier(-1)
, m_rendererInitialized(false)
, m_started(false)
, m_texturesAcquired(true)
@@ -108,9 +108,12 @@ bool CCThreadProxy::compositeAndReadback(void *pixels, const IntRect& rect)
// Perform a synchronous commit.
- CCCompletionEvent beginFrameCompletion;
- CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::forceBeginFrameOnImplThread, &beginFrameCompletion));
- beginFrameCompletion.wait();
+ {
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
+ CCCompletionEvent beginFrameCompletion;
+ CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::forceBeginFrameOnImplThread, &beginFrameCompletion));
+ beginFrameCompletion.wait();
+ }
m_inCompositeAndReadback = true;
beginFrame();
m_inCompositeAndReadback = false;
@@ -119,8 +122,11 @@ bool CCThreadProxy::compositeAndReadback(void *pixels, const IntRect& rect)
ReadbackRequest request;
request.rect = rect;
request.pixels = pixels;
- CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::requestReadbackOnImplThread, &request));
- request.completion.wait();
+ {
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
+ CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::requestReadbackOnImplThread, &request));
+ request.completion.wait();
+ }
return request.success;
}
@@ -157,6 +163,7 @@ void CCThreadProxy::finishAllRendering()
ASSERT(CCProxy::isMainThread());
// Make sure all GL drawing is finished on the impl thread.
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCCompletionEvent completion;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::finishAllRenderingOnImplThread, &completion));
completion.wait();
@@ -195,6 +202,7 @@ void CCThreadProxy::setSurfaceReadyOnImplThread()
void CCThreadProxy::setVisible(bool visible)
{
TRACE_EVENT0("cc", "CCThreadProxy::setVisible");
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCCompletionEvent completion;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::setVisibleOnImplThread, &completion, visible));
completion.wait();
@@ -216,6 +224,7 @@ bool CCThreadProxy::initializeRenderer()
CCCompletionEvent completion;
bool initializeSucceeded = false;
RendererCapabilities capabilities;
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::initializeRendererOnImplThread,
&completion,
&initializeSucceeded,
@@ -248,6 +257,7 @@ bool CCThreadProxy::recreateContext()
CCCompletionEvent completion;
bool recreateSucceeded = false;
RendererCapabilities capabilities;
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::recreateContextOnImplThread,
&completion,
context.leakPtr(),
@@ -260,16 +270,11 @@ bool CCThreadProxy::recreateContext()
return recreateSucceeded;
}
-int CCThreadProxy::compositorIdentifier() const
-{
- ASSERT(isMainThread());
- return m_compositorIdentifier;
-}
-
void CCThreadProxy::implSideRenderingStats(CCRenderingStats& stats)
{
ASSERT(isMainThread());
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCCompletionEvent completion;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::implSideRenderingStatsOnImplThread,
&completion,
@@ -296,7 +301,11 @@ void CCThreadProxy::setNeedsAnimate()
TRACE_EVENT0("cc", "CCThreadProxy::setNeedsAnimate");
m_animateRequested = true;
- setNeedsCommit();
+
+ if (m_commitRequestSentToImplThread)
+ return;
+ m_commitRequestSentToImplThread = true;
+ CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::setNeedsCommitOnImplThread));
}
void CCThreadProxy::setNeedsCommit()
@@ -304,9 +313,12 @@ void CCThreadProxy::setNeedsCommit()
ASSERT(isMainThread());
if (m_commitRequested)
return;
-
TRACE_EVENT0("cc", "CCThreadProxy::setNeedsCommit");
m_commitRequested = true;
+
+ if (m_commitRequestSentToImplThread)
+ return;
+ m_commitRequestSentToImplThread = true;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::setNeedsCommitOnImplThread));
}
@@ -314,6 +326,7 @@ void CCThreadProxy::didLoseContextOnImplThread()
{
ASSERT(isImplThread());
TRACE_EVENT0("cc", "CCThreadProxy::didLoseContextOnImplThread");
+ m_currentTextureUpdateControllerOnImplThread.clear();
m_schedulerOnImplThread->didLoseContext();
}
@@ -328,10 +341,17 @@ void CCThreadProxy::onSwapBuffersCompleteOnImplThread()
void CCThreadProxy::onVSyncParametersChanged(double monotonicTimebase, double intervalInSeconds)
{
ASSERT(isImplThread());
- TRACE_EVENT0("cc", "CCThreadProxy::onVSyncParametersChanged");
+ TRACE_EVENT2("cc", "CCThreadProxy::onVSyncParametersChanged", "monotonicTimebase", monotonicTimebase, "intervalInSeconds", intervalInSeconds);
m_schedulerOnImplThread->setTimebaseAndInterval(monotonicTimebase, intervalInSeconds);
}
+void CCThreadProxy::onCanDrawStateChanged(bool canDraw)
+{
+ ASSERT(isImplThread());
+ TRACE_EVENT1("cc", "CCThreadProxy::onCanDrawStateChanged", "canDraw", canDraw);
+ m_schedulerOnImplThread->setCanDraw(canDraw);
+}
+
void CCThreadProxy::setNeedsCommitOnImplThread()
{
ASSERT(isImplThread());
@@ -380,8 +400,10 @@ void CCThreadProxy::start()
ASSERT(isMainThread());
ASSERT(CCProxy::implThread());
// Create LayerTreeHostImpl.
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCCompletionEvent completion;
- CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::initializeImplOnImplThread, &completion));
+ OwnPtr<CCInputHandler> handler = m_layerTreeHost->createInputHandler();
+ CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::initializeImplOnImplThread, &completion, handler.release()));
completion.wait();
m_started = true;
@@ -411,6 +433,7 @@ void CCThreadProxy::stop()
void CCThreadProxy::forceSerializeOnSwapBuffers()
{
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCCompletionEvent completion;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::forceSerializeOnSwapBuffersOnImplThread, &completion));
completion.wait();
@@ -487,6 +510,7 @@ void CCThreadProxy::beginFrame()
// the paint, m_commitRequested will be set to false to allow new commit
// requests to be scheduled.
m_commitRequested = true;
+ m_commitRequestSentToImplThread = true;
// On the other hand, the animationRequested flag needs to be cleared
// here so that any animation requests generated by the apply or animate
@@ -499,6 +523,7 @@ void CCThreadProxy::beginFrame()
if (!m_inCompositeAndReadback && !m_layerTreeHost->visible()) {
m_commitRequested = false;
+ m_commitRequestSentToImplThread = false;
m_forcedCommitRequested = false;
TRACE_EVENT0("cc", "EarlyOut_NotVisible");
@@ -515,13 +540,16 @@ void CCThreadProxy::beginFrame()
// layout when painted will trigger another setNeedsCommit inside
// updateLayers.
m_commitRequested = false;
+ m_commitRequestSentToImplThread = false;
m_forcedCommitRequested = false;
- if (!m_layerTreeHost->initializeRendererIfNeeded())
+ if (!m_layerTreeHost->initializeRendererIfNeeded()) {
+ TRACE_EVENT0("cc", "EarlyOut_InitializeFailed");
return;
+ }
if (request->contentsTexturesWereDeleted)
- m_layerTreeHost->evictAllContentTextures();
+ m_layerTreeHost->unlinkAllContentTextures();
OwnPtr<CCTextureUpdateQueue> queue = adoptPtr(new CCTextureUpdateQueue);
m_layerTreeHost->updateLayers(*(queue.get()), request->memoryAllocationLimitBytes);
@@ -531,11 +559,16 @@ void CCThreadProxy::beginFrame()
m_texturesAcquired = false;
m_layerTreeHost->willCommit();
- // Before applying scrolls and calling animate, we set m_animateRequested to false.
- // If it is true now, it means setNeedAnimate was called again. Call setNeedsCommit
- // now so that we get begin frame when this one is done.
- if (m_animateRequested)
- setNeedsCommit();
+ // Before applying scrolls and calling animate, we set m_animateRequested to
+ // false. If it is true now, it means setNeedAnimate was called again, but
+ // during a state when m_commitRequestSentToImplThread = true. We need to
+ // force that call to happen again now so that the commit request is sent to
+ // the impl thread.
+ if (m_animateRequested) {
+ // Forces setNeedsAnimate to consider posting a commit task.
+ m_animateRequested = false;
+ setNeedsAnimate();
+ }
// Notify the impl thread that the beginFrame has completed. This will
// begin the commit process, which is blocking from the main thread's
@@ -558,24 +591,30 @@ void CCThreadProxy::beginFrameCompleteOnImplThread(CCCompletionEvent* completion
{
TRACE_EVENT0("cc", "CCThreadProxy::beginFrameCompleteOnImplThread");
ASSERT(!m_commitCompletionEventOnImplThread);
- ASSERT(isImplThread());
+ ASSERT(isImplThread() && isMainThreadBlocked());
ASSERT(m_schedulerOnImplThread);
ASSERT(m_schedulerOnImplThread->commitPending());
if (!m_layerTreeHostImpl) {
+ TRACE_EVENT0("cc", "EarlyOut_NoLayerTree");
completion->signal();
return;
}
- if (!contentsTexturesWereDeleted && m_layerTreeHostImpl->contentsTexturesPurged()) {
+ if (contentsTexturesWereDeleted) {
+ ASSERT(m_layerTreeHostImpl->contentsTexturesPurged());
+ // We unlinked all textures on the main thread, delete them now.
+ m_layerTreeHost->deleteUnlinkedTextures();
+ // Mark that we can start drawing again when this commit is complete.
+ m_resetContentsTexturesPurgedAfterCommitOnImplThread = true;
+ } else if (m_layerTreeHostImpl->contentsTexturesPurged()) {
// We purged the content textures on the impl thread between the time we
// posted the beginFrame task and now, meaning we have a bunch of
// uploads that are now invalid. Clear the uploads (they all go to
// content textures), and kick another commit to fill them again.
queue->clearUploads();
setNeedsCommitOnImplThread();
- } else
- m_resetContentsTexturesPurgedAfterCommitOnImplThread = true;
+ }
m_currentTextureUpdateControllerOnImplThread = CCTextureUpdateController::create(CCProxy::implThread(), queue, m_layerTreeHostImpl->resourceProvider(), m_layerTreeHostImpl->renderer()->textureCopier(), m_layerTreeHostImpl->renderer()->textureUploader());
m_commitCompletionEventOnImplThread = completion;
@@ -600,14 +639,6 @@ bool CCThreadProxy::hasMoreResourceUpdates() const
return m_currentTextureUpdateControllerOnImplThread->hasMoreUpdates();
}
-bool CCThreadProxy::canDraw()
-{
- ASSERT(isImplThread());
- if (!m_layerTreeHostImpl)
- return false;
- return m_layerTreeHostImpl->canDraw();
-}
-
void CCThreadProxy::scheduledActionUpdateMoreResources(double monotonicTimeLimit)
{
TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionUpdateMoreResources");
@@ -619,8 +650,7 @@ void CCThreadProxy::scheduledActionCommit()
{
TRACE_EVENT0("cc", "CCThreadProxy::scheduledActionCommit");
ASSERT(isImplThread());
- ASSERT(m_currentTextureUpdateControllerOnImplThread);
- ASSERT(!m_currentTextureUpdateControllerOnImplThread->hasMoreUpdates());
+ ASSERT(!hasMoreResourceUpdates());
ASSERT(m_commitCompletionEventOnImplThread);
m_currentTextureUpdateControllerOnImplThread.clear();
@@ -671,7 +701,8 @@ CCScheduledActionDrawAndSwapResult CCThreadProxy::scheduledActionDrawAndSwapInte
double monotonicTime = monotonicallyIncreasingTime();
double wallClockTime = currentTime();
- m_inputHandlerOnImplThread->animate(monotonicTime);
+ if (m_inputHandlerOnImplThread)
+ m_inputHandlerOnImplThread->animate(monotonicTime);
m_layerTreeHostImpl->animate(monotonicTime, wallClockTime);
// This method is called on a forced draw, regardless of whether we are able to produce a frame,
@@ -725,6 +756,7 @@ void CCThreadProxy::acquireLayerTextures()
return;
TRACE_EVENT0("cc", "CCThreadProxy::acquireLayerTextures");
+ DebugScopedSetMainThreadBlocked mainThreadBlocked;
CCCompletionEvent completion;
CCProxy::implThread()->postTask(createCCThreadTask(this, &CCThreadProxy::acquireLayerTexturesForMainThreadOnImplThread, &completion));
completion.wait(); // Block until it is safe to write to layer textures from the main thread.
@@ -823,7 +855,7 @@ void CCThreadProxy::tryToRecreateContext()
m_contextRecreationTimer.clear();
}
-void CCThreadProxy::initializeImplOnImplThread(CCCompletionEvent* completion)
+void CCThreadProxy::initializeImplOnImplThread(CCCompletionEvent* completion, PassOwnPtr<CCInputHandler> popHandler)
{
TRACE_EVENT0("cc", "CCThreadProxy::initializeImplOnImplThread");
ASSERT(isImplThread());
@@ -837,8 +869,9 @@ void CCThreadProxy::initializeImplOnImplThread(CCCompletionEvent* completion)
m_schedulerOnImplThread = CCScheduler::create(this, frameRateController.release());
m_schedulerOnImplThread->setVisible(m_layerTreeHostImpl->visible());
- m_inputHandlerOnImplThread = CCInputHandler::create(m_layerTreeHostImpl.get());
- m_compositorIdentifier = m_inputHandlerOnImplThread->identifier();
+ m_inputHandlerOnImplThread = popHandler;
+ if (m_inputHandlerOnImplThread)
+ m_inputHandlerOnImplThread->bindToClient(m_layerTreeHostImpl.get());
completion->signal();
}
@@ -858,8 +891,8 @@ void CCThreadProxy::initializeRendererOnImplThread(CCCompletionEvent* completion
*initializeSucceeded = m_layerTreeHostImpl->initializeRenderer(m_contextBeforeInitializationOnImplThread.release(), textureUploader);
if (*initializeSucceeded) {
*capabilities = m_layerTreeHostImpl->rendererCapabilities();
- if (capabilities->usingSwapCompleteCallback)
- m_schedulerOnImplThread->setMaxFramesPending(2);
+ m_schedulerOnImplThread->setSwapBuffersCompleteSupported(
+ capabilities->usingSwapCompleteCallback);
}
completion->signal();
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h
index a240281c5..aa2b9537a 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCThreadProxy.h
@@ -59,7 +59,6 @@ public:
virtual void setVisible(bool) OVERRIDE;
virtual bool initializeRenderer() OVERRIDE;
virtual bool recreateContext() OVERRIDE;
- virtual int compositorIdentifier() const OVERRIDE;
virtual void implSideRenderingStats(CCRenderingStats&) OVERRIDE;
virtual const RendererCapabilities& rendererCapabilities() const OVERRIDE;
virtual void loseContext() OVERRIDE;
@@ -78,13 +77,14 @@ public:
virtual void didLoseContextOnImplThread() OVERRIDE;
virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE;
virtual void onVSyncParametersChanged(double monotonicTimebase, double intervalInSeconds) OVERRIDE;
+ virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE;
virtual void setNeedsRedrawOnImplThread() OVERRIDE;
virtual void setNeedsCommitOnImplThread() OVERRIDE;
virtual void postAnimationEventsToMainThreadOnImplThread(PassOwnPtr<CCAnimationEventsVector>, double wallClockTime) OVERRIDE;
// CCSchedulerClient implementation
- virtual bool canDraw() OVERRIDE;
virtual bool hasMoreResourceUpdates() const OVERRIDE;
+
virtual void scheduledActionBeginFrame() OVERRIDE;
virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossible() OVERRIDE;
virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapForced() OVERRIDE;
@@ -132,7 +132,7 @@ private:
void requestReadbackOnImplThread(ReadbackRequest*);
void requestStartPageScaleAnimationOnImplThread(IntSize targetPosition, bool useAnchor, float scale, double durationSec);
void finishAllRenderingOnImplThread(CCCompletionEvent*);
- void initializeImplOnImplThread(CCCompletionEvent*);
+ void initializeImplOnImplThread(CCCompletionEvent*, PassOwnPtr<CCInputHandler>);
void setSurfaceReadyOnImplThread();
void setVisibleOnImplThread(CCCompletionEvent*, bool);
void initializeContextOnImplThread(CCGraphicsContext*);
@@ -147,12 +147,12 @@ private:
void setNeedsForcedCommitOnImplThread();
// Accessed on main thread only.
- bool m_animateRequested;
- bool m_commitRequested;
+ bool m_animateRequested; // Set only when setNeedsAnimate is called.
+ bool m_commitRequested; // Set only when setNeedsCommit is called.
+ bool m_commitRequestSentToImplThread; // Set by setNeedsCommit and setNeedsAnimate.
bool m_forcedCommitRequested;
OwnPtr<CCThreadProxyContextRecreationTimer> m_contextRecreationTimer;
CCLayerTreeHost* m_layerTreeHost;
- int m_compositorIdentifier;
bool m_rendererInitialized;
RendererCapabilities m_RendererCapabilitiesMainThreadCopy;
bool m_started;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp
index b611d9891..6e00bf48c 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.cpp
@@ -29,6 +29,7 @@
#include "CCTiledLayerImpl.h"
+#include "CCAppendQuadsData.h"
#include "CCCheckerboardDrawQuad.h"
#include "CCDebugBorderDrawQuad.h"
#include "CCLayerTilingData.h"
@@ -125,7 +126,7 @@ DrawableTile* CCTiledLayerImpl::createTile(int i, int j)
return addedTile;
}
-void CCTiledLayerImpl::appendQuads(CCQuadSink& quadSink, bool& hadMissingTiles)
+void CCTiledLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
const IntRect& contentRect = visibleContentRect();
@@ -133,7 +134,7 @@ void CCTiledLayerImpl::appendQuads(CCQuadSink& quadSink, bool& hadMissingTiles)
return;
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
- appendDebugBorderQuad(quadSink, sharedQuadState);
+ appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
int left, top, right, bottom;
m_tiler->contentRectToTileIndices(contentRect, left, top, right, bottom);
@@ -149,7 +150,7 @@ void CCTiledLayerImpl::appendQuads(CCQuadSink& quadSink, bool& hadMissingTiles)
borderColor = SkColorSetARGB(debugTileBorderAlpha, debugTileBorderMissingTileColorRed, debugTileBorderMissingTileColorGreen, debugTileBorderMissingTileColorBlue);
else
borderColor = SkColorSetARGB(debugTileBorderAlpha, debugTileBorderColorRed, debugTileBorderColorGreen, debugTileBorderColorBlue);
- quadSink.append(CCDebugBorderDrawQuad::create(sharedQuadState, tileRect, borderColor, debugTileBorderWidth));
+ quadSink.append(CCDebugBorderDrawQuad::create(sharedQuadState, tileRect, borderColor, debugTileBorderWidth), appendQuadsData);
}
}
}
@@ -170,9 +171,9 @@ void CCTiledLayerImpl::appendQuads(CCQuadSink& quadSink, bool& hadMissingTiles)
if (!tile || !tile->resourceId()) {
if (drawCheckerboardForMissingTiles())
- hadMissingTiles |= quadSink.append(CCCheckerboardDrawQuad::create(sharedQuadState, tileRect));
+ appendQuadsData.hadMissingTiles |= quadSink.append(CCCheckerboardDrawQuad::create(sharedQuadState, tileRect), appendQuadsData);
else
- hadMissingTiles |= quadSink.append(CCSolidColorDrawQuad::create(sharedQuadState, tileRect, backgroundColor()));
+ appendQuadsData.hadMissingTiles |= quadSink.append(CCSolidColorDrawQuad::create(sharedQuadState, tileRect, backgroundColor()), appendQuadsData);
continue;
}
@@ -198,7 +199,7 @@ void CCTiledLayerImpl::appendQuads(CCQuadSink& quadSink, bool& hadMissingTiles)
bool bottomEdgeAA = j == m_tiler->numTilesY() - 1 && useAA;
const GC3Dint textureFilter = m_tiler->hasBorderTexels() ? GraphicsContext3D::LINEAR : GraphicsContext3D::NEAREST;
- quadSink.append(CCTileDrawQuad::create(sharedQuadState, tileRect, tileOpaqueRect, tile->resourceId(), textureOffset, textureSize, textureFilter, contentsSwizzled(), leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA));
+ quadSink.append(CCTileDrawQuad::create(sharedQuadState, tileRect, tileOpaqueRect, tile->resourceId(), textureOffset, textureSize, textureFilter, contentsSwizzled(), leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA), appendQuadsData);
}
}
}
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h
index 1bc60aba4..6456e4c0b 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCTiledLayerImpl.h
@@ -42,7 +42,7 @@ public:
}
virtual ~CCTiledLayerImpl();
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
virtual CCResourceProvider::ResourceId contentsResourceId() const OVERRIDE;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp b/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
index 662cd2f03..0a4e8b819 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.cpp
@@ -177,7 +177,7 @@ void CCVideoLayerImpl::willDrawInternal(CCResourceProvider* resourceProvider)
m_externalTextureResource = resourceProvider->createResourceFromExternalTexture(m_frame->textureId());
}
-void CCVideoLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
+void CCVideoLayerImpl::appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData)
{
ASSERT(CCProxy::isImplThread());
@@ -185,7 +185,7 @@ void CCVideoLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
return;
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
- appendDebugBorderQuad(quadSink, sharedQuadState);
+ appendDebugBorderQuad(quadSink, sharedQuadState, appendQuadsData);
// FIXME: When we pass quads out of process, we need to double-buffer, or
// otherwise synchonize use of all textures in the quad.
@@ -199,7 +199,7 @@ void CCVideoLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
const FramePlane& uPlane = m_framePlanes[WebKit::WebVideoFrame::uPlane];
const FramePlane& vPlane = m_framePlanes[WebKit::WebVideoFrame::vPlane];
OwnPtr<CCYUVVideoDrawQuad> yuvVideoQuad = CCYUVVideoDrawQuad::create(sharedQuadState, quadRect, yPlane, uPlane, vPlane);
- quadSink.append(yuvVideoQuad.release());
+ quadSink.append(yuvVideoQuad.release(), appendQuadsData);
break;
}
case GraphicsContext3D::RGBA: {
@@ -211,7 +211,7 @@ void CCVideoLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
FloatRect uvRect(0, 0, widthScaleFactor, 1);
bool flipped = false;
OwnPtr<CCTextureDrawQuad> textureQuad = CCTextureDrawQuad::create(sharedQuadState, quadRect, plane.resourceId, premultipliedAlpha, uvRect, flipped);
- quadSink.append(textureQuad.release());
+ quadSink.append(textureQuad.release(), appendQuadsData);
break;
}
case GraphicsContext3D::TEXTURE_2D: {
@@ -220,19 +220,19 @@ void CCVideoLayerImpl::appendQuads(CCQuadSink& quadSink, bool&)
FloatRect uvRect(0, 0, 1, 1);
bool flipped = false;
OwnPtr<CCTextureDrawQuad> textureQuad = CCTextureDrawQuad::create(sharedQuadState, quadRect, m_externalTextureResource, premultipliedAlpha, uvRect, flipped);
- quadSink.append(textureQuad.release());
+ quadSink.append(textureQuad.release(), appendQuadsData);
break;
}
case Extensions3D::TEXTURE_RECTANGLE_ARB: {
IntSize textureSize(m_frame->width(), m_frame->height());
OwnPtr<CCIOSurfaceDrawQuad> ioSurfaceQuad = CCIOSurfaceDrawQuad::create(sharedQuadState, quadRect, textureSize, m_frame->textureId(), CCIOSurfaceDrawQuad::Unflipped);
- quadSink.append(ioSurfaceQuad.release());
+ quadSink.append(ioSurfaceQuad.release(), appendQuadsData);
break;
}
case Extensions3DChromium::GL_TEXTURE_EXTERNAL_OES: {
// StreamTexture hardware decoder.
OwnPtr<CCStreamVideoDrawQuad> streamVideoQuad = CCStreamVideoDrawQuad::create(sharedQuadState, quadRect, m_frame->textureId(), m_streamTextureMatrix);
- quadSink.append(streamVideoQuad.release());
+ quadSink.append(streamVideoQuad.release(), appendQuadsData);
break;
}
default:
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h b/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h
index 2c54e3513..f8e89741e 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h
+++ b/Source/WebCore/platform/graphics/chromium/cc/CCVideoLayerImpl.h
@@ -51,7 +51,7 @@ public:
virtual ~CCVideoLayerImpl();
virtual void willDraw(CCResourceProvider*) OVERRIDE;
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE;
+ virtual void appendQuads(CCQuadSink&, CCAppendQuadsData&) OVERRIDE;
virtual void didDraw(CCResourceProvider*) OVERRIDE;
virtual void dumpLayerProperties(TextStream&, int indent) const OVERRIDE;
diff --git a/Source/WebCore/platform/graphics/clutter/GraphicsContext3DClutter.cpp b/Source/WebCore/platform/graphics/clutter/GraphicsContext3DClutter.cpp
index 4b4b0e39d..abfbd47e6 100644
--- a/Source/WebCore/platform/graphics/clutter/GraphicsContext3DClutter.cpp
+++ b/Source/WebCore/platform/graphics/clutter/GraphicsContext3DClutter.cpp
@@ -42,11 +42,11 @@ namespace WebCore {
PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
{
- RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, false));
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attributes, hostWindow, renderStyle));
return context.release();
}
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, bool)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attributes, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
{
notImplemented();
}
diff --git a/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm b/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm
index 961284876..2700fa7d6 100644
--- a/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm
+++ b/Source/WebCore/platform/graphics/cocoa/FontPlatformDataCocoa.mm
@@ -24,9 +24,9 @@
#import "config.h"
#import "FontPlatformData.h"
-#import "PlatformString.h"
#import "WebCoreSystemInterface.h"
#import <AppKit/NSFont.h>
+#import <wtf/text/WTFString.h>
#if PLATFORM(CHROMIUM) && OS(DARWIN)
#import "HarfBuzzNGFace.h"
diff --git a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp b/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
index efe1a12e2..721d7c7be 100644
--- a/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
+++ b/Source/WebCore/platform/graphics/efl/GraphicsContext3DEfl.cpp
@@ -36,12 +36,12 @@ PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attri
if (!internal)
return 0;
- RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, renderDirectlyToEvasGLObject));
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, renderStyle));
context->m_private = internal.release();
return context.release();
}
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, bool renderDirectlyToHostWindow)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
: m_currentWidth(0)
, m_currentHeight(0)
{
diff --git a/Source/WebCore/platform/graphics/efl/IconEfl.cpp b/Source/WebCore/platform/graphics/efl/IconEfl.cpp
index 304a17eaa..6c7efdca9 100644
--- a/Source/WebCore/platform/graphics/efl/IconEfl.cpp
+++ b/Source/WebCore/platform/graphics/efl/IconEfl.cpp
@@ -37,8 +37,8 @@
#include "GraphicsContext.h"
#include "MIMETypeRegistry.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp b/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp
index 1eabd7ecd..3c6959bfe 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.cpp
@@ -33,48 +33,11 @@
#include "CustomFilterCompiledProgram.h"
#include "CustomFilterGlobalContext.h"
-#include "CustomFilterProgramInfo.h"
-#include "GraphicsContext3D.h"
namespace WebCore {
-#define SHADER(Src) (#Src)
-
-String CustomFilterCompiledProgram::defaultVertexShaderString()
-{
- DEFINE_STATIC_LOCAL(String, vertexShaderString, SHADER(
- precision mediump float;
- attribute vec4 a_position;
- attribute vec2 a_texCoord;
- uniform mat4 u_projectionMatrix;
- varying vec2 v_texCoord;
- void main()
- {
- gl_Position = u_projectionMatrix * a_position;
- v_texCoord = a_texCoord;
- }
- ));
- return vertexShaderString;
-}
-
-String CustomFilterCompiledProgram::defaultFragmentShaderString()
-{
- DEFINE_STATIC_LOCAL(String, fragmentShaderString, SHADER(
- precision mediump float;
- varying vec2 v_texCoord;
- uniform sampler2D u_texture;
- void main()
- {
- gl_FragColor = texture2D(u_texture, v_texCoord);
- }
- ));
- return fragmentShaderString;
-}
-
-CustomFilterCompiledProgram::CustomFilterCompiledProgram(CustomFilterGlobalContext* globalContext, const CustomFilterProgramInfo& programInfo)
- : m_globalContext(globalContext)
- , m_context(globalContext->context())
- , m_programInfo(programInfo)
+CustomFilterCompiledProgram::CustomFilterCompiledProgram(PassRefPtr<GraphicsContext3D> context, const String& validatedVertexShader, const String& validatedFragmentShader)
+ : m_context(context)
, m_program(0)
, m_positionAttribLocation(-1)
, m_texAttribLocation(-1)
@@ -87,15 +50,16 @@ CustomFilterCompiledProgram::CustomFilterCompiledProgram(CustomFilterGlobalConte
, m_samplerLocation(-1)
, m_samplerSizeLocation(-1)
, m_contentSamplerLocation(-1)
+ , m_internalTexCoordAttribLocation(-1)
, m_isInitialized(false)
{
m_context->makeContextCurrent();
-
- Platform3DObject vertexShader = compileShader(GraphicsContext3D::VERTEX_SHADER, programInfo.vertexShaderString());
+
+ Platform3DObject vertexShader = compileShader(GraphicsContext3D::VERTEX_SHADER, validatedVertexShader);
if (!vertexShader)
return;
- Platform3DObject fragmentShader = compileShader(GraphicsContext3D::FRAGMENT_SHADER, programInfo.fragmentShaderString());
+ Platform3DObject fragmentShader = compileShader(GraphicsContext3D::FRAGMENT_SHADER, validatedFragmentShader);
if (!fragmentShader) {
m_context->deleteShader(vertexShader);
return;
@@ -114,26 +78,12 @@ CustomFilterCompiledProgram::CustomFilterCompiledProgram(CustomFilterGlobalConte
m_isInitialized = true;
}
-String CustomFilterCompiledProgram::getDefaultShaderString(GC3Denum shaderType)
-{
- switch (shaderType) {
- case GraphicsContext3D::VERTEX_SHADER:
- return defaultVertexShaderString();
- case GraphicsContext3D::FRAGMENT_SHADER:
- return defaultFragmentShaderString();
- default:
- ASSERT_NOT_REACHED();
- return String();
- }
-}
-
Platform3DObject CustomFilterCompiledProgram::compileShader(GC3Denum shaderType, const String& shaderString)
{
+ ASSERT(!shaderString.isNull());
+
Platform3DObject shader = m_context->createShader(shaderType);
- if (shaderString.isNull())
- m_context->shaderSource(shader, getDefaultShaderString(shaderType));
- else
- m_context->shaderSource(shader, shaderString);
+ m_context->shaderSource(shader, shaderString);
m_context->compileShader(shader);
int compiled = 0;
@@ -177,9 +127,14 @@ void CustomFilterCompiledProgram::initializeParameterLocations()
m_tileSizeLocation = m_context->getUniformLocation(m_program, "u_tileSize");
m_meshSizeLocation = m_context->getUniformLocation(m_program, "u_meshSize");
m_projectionMatrixLocation = m_context->getUniformLocation(m_program, "u_projectionMatrix");
- m_samplerLocation = m_context->getUniformLocation(m_program, "u_texture");
m_samplerSizeLocation = m_context->getUniformLocation(m_program, "u_textureSize");
m_contentSamplerLocation = m_context->getUniformLocation(m_program, "u_contentTexture");
+ m_internalTexCoordAttribLocation = m_context->getAttribLocation(m_program, "css_a_texCoord");
+ m_samplerLocation = m_context->getUniformLocation(m_program, "css_u_texture");
+ // FIXME: Remove texture access via u_texture and change the tests to use blending and compositing.
+ // https://bugs.webkit.org/show_bug.cgi?id=93871
+ if (m_samplerLocation == -1)
+ m_samplerLocation = m_context->getUniformLocation(m_program, "u_texture");
}
int CustomFilterCompiledProgram::uniformLocationByName(const String& name)
@@ -191,8 +146,6 @@ int CustomFilterCompiledProgram::uniformLocationByName(const String& name)
CustomFilterCompiledProgram::~CustomFilterCompiledProgram()
{
- if (m_globalContext)
- m_globalContext->removeCompiledProgram(this);
if (m_program) {
m_context->makeContextCurrent();
m_context->deleteProgram(m_program);
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h b/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h
index 44f377782..ad945f6ca 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterCompiledProgram.h
@@ -32,31 +32,22 @@
#if ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
-#include "CustomFilterProgramInfo.h"
-#include "GraphicsTypes3D.h"
+#include "GraphicsContext3D.h"
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class CustomFilterGlobalContext;
-class GraphicsContext3D;
-// A specific combination of vertex / fragment shader is only going to be compiled once. The CustomFilterGlobalContext is
-// caching the compiled programs. CustomFilterGlobalContext has a weak reference to the CustomFilterCompiledProgram, so the
-// CustomFilterCompiledProgram destructor needs to notify the CustomFilterGlobalContext to remove the program from the cache.
-// FECustomFilter is the reference owner of the CustomFilterCompiledProgram, so a compiled shader is only kept alive as
-// long as there is at least one visible layer that applies the shader.
class CustomFilterCompiledProgram: public RefCounted<CustomFilterCompiledProgram> {
public:
- static PassRefPtr<CustomFilterCompiledProgram> create(CustomFilterGlobalContext* globalContext, const CustomFilterProgramInfo& programInfo)
+ static PassRefPtr<CustomFilterCompiledProgram> create(PassRefPtr<GraphicsContext3D> context, const String& validatedVertexShader, const String& validatedFragmentShader)
{
- return adoptRef(new CustomFilterCompiledProgram(globalContext, programInfo));
+ return adoptRef(new CustomFilterCompiledProgram(context, validatedVertexShader, validatedFragmentShader));
}
~CustomFilterCompiledProgram();
-
- const CustomFilterProgramInfo& programInfo() const { return m_programInfo; }
int positionAttribLocation() const { return m_positionAttribLocation; }
int texAttribLocation() const { return m_texAttribLocation; }
@@ -69,32 +60,26 @@ public:
int samplerLocation() const { return m_samplerLocation; }
int contentSamplerLocation() const { return m_contentSamplerLocation; }
int samplerSizeLocation() const { return m_samplerSizeLocation; }
+ // FIXME: Get rid of the internal tex coord attribute "css_a_texCoord".
+ // If the author defined "a_texCoord", we should leverage that.
+ // If not, we should write "a_texCoord" in the shader.
+ // This requires us to first get the list of attributes from the vertex shader using ANGLE.
+ // https://bugs.webkit.org/show_bug.cgi?id=94358
+ int internalTexCoordAttribLocation() const { return m_internalTexCoordAttribLocation; }
int uniformLocationByName(const String&);
bool isInitialized() const { return m_isInitialized; }
Platform3DObject program() const { return m_program; }
-
- // 'detachGlobalContext' is called when the CustomFilterGlobalContext is deleted
- // and there's no need for the callback anymore.
- // Note that CustomFilterGlobalContext doesn't not keep a strong reference to
- // the CustomFilterCompiledProgram.
- void detachFromGlobalContext() { m_globalContext = 0; }
private:
- CustomFilterCompiledProgram(CustomFilterGlobalContext*, const CustomFilterProgramInfo&);
+ CustomFilterCompiledProgram(PassRefPtr<GraphicsContext3D>, const String& validatedVertexShader, const String& validatedFragmentShader);
Platform3DObject compileShader(GC3Denum shaderType, const String& shaderString);
Platform3DObject linkProgram(Platform3DObject vertexShader, Platform3DObject fragmentShader);
void initializeParameterLocations();
- static String defaultVertexShaderString();
- static String defaultFragmentShaderString();
- String getDefaultShaderString(GC3Denum shaderType);
-
- CustomFilterGlobalContext* m_globalContext;
RefPtr<GraphicsContext3D> m_context;
- CustomFilterProgramInfo m_programInfo;
Platform3DObject m_program;
int m_positionAttribLocation;
@@ -108,6 +93,9 @@ private:
int m_samplerLocation;
int m_samplerSizeLocation;
int m_contentSamplerLocation;
+ // FIXME: Get rid of the internal tex coord attribute "css_a_texCoord".
+ // https://bugs.webkit.org/show_bug.cgi?id=94358
+ int m_internalTexCoordAttribLocation;
bool m_isInitialized;
};
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp b/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp
index 382c278ea..582846e7f 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.cpp
@@ -32,7 +32,7 @@
#if ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
#include "CustomFilterGlobalContext.h"
-#include "CustomFilterCompiledProgram.h"
+#include "CustomFilterValidatedProgram.h"
#include "GraphicsContext3D.h"
namespace WebCore {
@@ -43,10 +43,33 @@ CustomFilterGlobalContext::CustomFilterGlobalContext()
CustomFilterGlobalContext::~CustomFilterGlobalContext()
{
- for (CustomFilterCompiledProgramsMap::iterator iter = m_programs.begin(); iter != m_programs.end(); ++iter)
+ for (CustomFilterValidatedProgramsMap::iterator iter = m_programs.begin(); iter != m_programs.end(); ++iter)
iter->second->detachFromGlobalContext();
}
+ANGLEWebKitBridge* CustomFilterGlobalContext::webglShaderValidator()
+{
+ if (!m_webglShaderValidator)
+ m_webglShaderValidator = createShaderValidator(SH_WEBGL_SPEC);
+ return m_webglShaderValidator.get();
+}
+
+ANGLEWebKitBridge* CustomFilterGlobalContext::mixShaderValidator()
+{
+ if (!m_mixShaderValidator)
+ m_mixShaderValidator = createShaderValidator(SH_CSS_SHADERS_SPEC);
+ return m_mixShaderValidator.get();
+}
+
+PassOwnPtr<ANGLEWebKitBridge> CustomFilterGlobalContext::createShaderValidator(ShShaderSpec shaderSpec)
+{
+ OwnPtr<ANGLEWebKitBridge> validator = adoptPtr(new ANGLEWebKitBridge(SH_ESSL_OUTPUT, shaderSpec));
+ ShBuiltInResources resources;
+ ShInitBuiltInResources(&resources);
+ validator->setResources(resources);
+ return validator.release();
+}
+
void CustomFilterGlobalContext::prepareContextIfNeeded(HostWindow* hostWindow)
{
if (m_context.get())
@@ -62,23 +85,20 @@ void CustomFilterGlobalContext::prepareContextIfNeeded(HostWindow* hostWindow)
m_context->enable(GraphicsContext3D::DEPTH_TEST);
}
-PassRefPtr<CustomFilterCompiledProgram> CustomFilterGlobalContext::getCompiledProgram(const CustomFilterProgramInfo& programInfo)
+PassRefPtr<CustomFilterValidatedProgram> CustomFilterGlobalContext::getValidatedProgram(const CustomFilterProgramInfo& programInfo)
{
- // Check that the context is already prepared.
- ASSERT(m_context);
-
- CustomFilterCompiledProgramsMap::iterator iter = m_programs.find(programInfo);
+ CustomFilterValidatedProgramsMap::iterator iter = m_programs.find(programInfo);
if (iter != m_programs.end())
return iter->second;
- RefPtr<CustomFilterCompiledProgram> compiledProgram = CustomFilterCompiledProgram::create(this, programInfo);
- m_programs.set(programInfo, compiledProgram.get());
- return compiledProgram.release();
+ RefPtr<CustomFilterValidatedProgram> validatedProgram = CustomFilterValidatedProgram::create(this, programInfo);
+ m_programs.set(programInfo, validatedProgram.get());
+ return validatedProgram.release();
}
-void CustomFilterGlobalContext::removeCompiledProgram(const CustomFilterCompiledProgram* program)
+void CustomFilterGlobalContext::removeValidatedProgram(const CustomFilterValidatedProgram* program)
{
- CustomFilterCompiledProgramsMap::iterator iter = m_programs.find(program->programInfo());
+ CustomFilterValidatedProgramsMap::iterator iter = m_programs.find(program->programInfo());
ASSERT(iter != m_programs.end());
m_programs.remove(iter);
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.h b/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.h
index 8dc85f212..ae0271f1c 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.h
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterGlobalContext.h
@@ -31,17 +31,18 @@
#define CustomFilterGlobalContext_h
#if ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
+#include "ANGLEWebKitBridge.h"
#include "CustomFilterProgramInfo.h"
#include <wtf/HashMap.h>
#include <wtf/RefPtr.h>
namespace WebCore {
-class CustomFilterCompiledProgram;
+class CustomFilterValidatedProgram;
class HostWindow;
class GraphicsContext3D;
-typedef HashMap<CustomFilterProgramInfo, CustomFilterCompiledProgram*> CustomFilterCompiledProgramsMap;
+typedef HashMap<CustomFilterProgramInfo, CustomFilterValidatedProgram*> CustomFilterValidatedProgramsMap;
class CustomFilterGlobalContext {
public:
@@ -49,14 +50,32 @@ public:
~CustomFilterGlobalContext();
GraphicsContext3D* context() const { return m_context.get(); }
+
+ // CSS shaders not referenced from the CSS mix function should be validated just like regular WebGL shaders.
+ // This ANGLE validator uses the SH_WEBGL_SPEC flag.
+ ANGLEWebKitBridge* webglShaderValidator();
+
+ // CSS shaders referenced from the CSS mix function should be validated slightly differently than WebGL shaders.
+ // This ANGLE validator uses the SH_CSS_SHADERS_SPEC flag.
+ // Under this flag, most notably:
+ // - The "gl_FragColor" built-in is not available.
+ // - Instead, the "css_MixColor" and "css_ColorMatrix" built-ins are available.
+ // - The "css_" prefix is reserved.
+ // - In the translated source that ANGLE returns, ANGLE renames the author's "main" function to "css_main".
+ // The complete details are documented in ANGLE/ShaderLang.h.
+ ANGLEWebKitBridge* mixShaderValidator();
void prepareContextIfNeeded(HostWindow*);
- PassRefPtr<CustomFilterCompiledProgram> getCompiledProgram(const CustomFilterProgramInfo&);
- void removeCompiledProgram(const CustomFilterCompiledProgram*);
+ PassRefPtr<CustomFilterValidatedProgram> getValidatedProgram(const CustomFilterProgramInfo&);
+ void removeValidatedProgram(const CustomFilterValidatedProgram*);
private:
+ static PassOwnPtr<ANGLEWebKitBridge> createShaderValidator(ShShaderSpec);
+
RefPtr<GraphicsContext3D> m_context;
- CustomFilterCompiledProgramsMap m_programs;
+ OwnPtr<ANGLEWebKitBridge> m_webglShaderValidator;
+ OwnPtr<ANGLEWebKitBridge> m_mixShaderValidator;
+ CustomFilterValidatedProgramsMap m_programs;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterMesh.cpp b/Source/WebCore/platform/graphics/filters/CustomFilterMesh.cpp
index e014f0a06..0278abad0 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterMesh.cpp
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterMesh.cpp
@@ -31,209 +31,12 @@
#if ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
#include "CustomFilterMesh.h"
+#include "CustomFilterMeshGenerator.h"
#include "GraphicsContext3D.h"
namespace WebCore {
-
-#ifndef NDEBUG
-// Use "call 'WebCore::s_dumpCustomFilterMeshBuffers' = 1" in GDB to activate printing of the mesh buffers.
-static bool s_dumpCustomFilterMeshBuffers = false;
-#endif
-
-class MeshGenerator {
-public:
- // Lines and columns are the values passed in CSS. The result is vertex mesh that has 'rows' numbers of rows
- // and 'columns' number of columns with a total of 'rows + 1' * 'columns + 1' vertices.
- // MeshBox is the filtered area calculated defined using the border-box, padding-box, content-box or filter-box
- // attributes. A value of (0, 0, 1, 1) will cover the entire output surface.
- MeshGenerator(unsigned columns, unsigned rows, const FloatRect& meshBox, CustomFilterOperation::MeshType meshType)
- : m_meshType(meshType)
- , m_points(columns + 1, rows + 1)
- , m_tiles(columns, rows)
- , m_tileSizeInPixels(meshBox.width() / m_tiles.width(), meshBox.height() / m_tiles.height())
- , m_tileSizeInDeviceSpace(1.0f / m_tiles.width(), 1.0f / m_tiles.height())
- , m_meshBox(meshBox)
- {
- // Build the two buffers needed to draw triangles:
- // * m_vertices has a number of float attributes that will be passed to the vertex shader
- // for each computed vertex. This number is calculated in floatsPerVertex() based on the meshType.
- // * m_indices is a buffer that will have 3 indices per triangle. Each index will point inside
- // the m_vertices buffer.
- m_vertices.reserveCapacity(verticesCount() * floatsPerVertex());
- m_indices.reserveCapacity(indicesCount());
-
- // Based on the meshType there can be two types of meshes.
- // * attached: each triangle uses vertices from the neighbor triangles. This is useful to save some GPU memory
- // when there's no need to explode the tiles.
- // * detached: each triangle has its own vertices. This means each triangle can be moved independently and a vec3
- // attribute is passed, so that each vertex can be uniquely identified.
- if (m_meshType == CustomFilterOperation::ATTACHED)
- generateAttachedMesh();
- else
- generateDetachedMesh();
-
-#ifndef NDEBUG
- if (s_dumpCustomFilterMeshBuffers)
- dumpBuffers();
-#endif
- }
-
- const Vector<float>& vertices() const { return m_vertices; }
- const Vector<uint16_t>& indices() const { return m_indices; }
-
- const IntSize& points() const { return m_points; }
- unsigned pointsCount() const { return m_points.width() * m_points.height(); }
-
- const IntSize& tiles() const { return m_tiles; }
- unsigned tilesCount() const { return m_tiles.width() * m_tiles.height(); }
-
- unsigned indicesCount() const
- {
- const unsigned trianglesPerTile = 2;
- const unsigned indicesPerTriangle = 3;
- return tilesCount() * trianglesPerTile * indicesPerTriangle;
- }
-
- unsigned floatsPerVertex() const
- {
- static const unsigned AttachedMeshVertexSize = 4 + // vec4 a_position
- 2 + // vec2 a_texCoord
- 2; // vec2 a_meshCoord
-
- static const unsigned DetachedMeshVertexSize = AttachedMeshVertexSize +
- 3; // vec3 a_triangleCoord
-
- return m_meshType == CustomFilterOperation::ATTACHED ? AttachedMeshVertexSize : DetachedMeshVertexSize;
- }
-
- unsigned verticesCount() const
- {
- return m_meshType == CustomFilterOperation::ATTACHED ? pointsCount() : indicesCount();
- }
-
-private:
- typedef void (MeshGenerator::*AddTriangleVertexFunction)(int quadX, int quadY, int triangleX, int triangleY, int triangle);
-
- template <AddTriangleVertexFunction addTriangleVertex>
- void addTile(int quadX, int quadY)
- {
- ((*this).*(addTriangleVertex))(quadX, quadY, 0, 0, 1);
- ((*this).*(addTriangleVertex))(quadX, quadY, 1, 0, 2);
- ((*this).*(addTriangleVertex))(quadX, quadY, 1, 1, 3);
- ((*this).*(addTriangleVertex))(quadX, quadY, 0, 0, 4);
- ((*this).*(addTriangleVertex))(quadX, quadY, 1, 1, 5);
- ((*this).*(addTriangleVertex))(quadX, quadY, 0, 1, 6);
- }
-
- void addAttachedMeshIndex(int quadX, int quadY, int triangleX, int triangleY, int triangle)
- {
- UNUSED_PARAM(triangle);
- m_indices.append((quadY + triangleY) * m_points.width() + (quadX + triangleX));
- }
-
- void generateAttachedMesh()
- {
- for (int j = 0; j < m_points.height(); ++j) {
- for (int i = 0; i < m_points.width(); ++i)
- addAttachedMeshVertexAttributes(i, j);
- }
-
- for (int j = 0; j < m_tiles.height(); ++j) {
- for (int i = 0; i < m_tiles.width(); ++i)
- addTile<&MeshGenerator::addAttachedMeshIndex>(i, j);
- }
- }
-
- void addDetachedMeshVertexAndIndex(int quadX, int quadY, int triangleX, int triangleY, int triangle)
- {
- addDetachedMeshVertexAttributes(quadX, quadY, triangleX, triangleY, triangle);
- m_indices.append(m_indices.size());
- }
-
- void generateDetachedMesh()
- {
- for (int j = 0; j < m_tiles.height(); ++j) {
- for (int i = 0; i < m_tiles.width(); ++i)
- addTile<&MeshGenerator::addDetachedMeshVertexAndIndex>(i, j);
- }
- }
-
- void addPositionAttribute(int quadX, int quadY)
- {
- // vec4 a_position
- m_vertices.append(m_tileSizeInPixels.width() * quadX - 0.5f + m_meshBox.x());
- m_vertices.append(m_tileSizeInPixels.height() * quadY - 0.5f + m_meshBox.y());
- m_vertices.append(0.0f); // z
- m_vertices.append(1.0f);
- }
-
- void addTexCoordAttribute(int quadX, int quadY)
- {
- // vec2 a_texCoord
- m_vertices.append(m_tileSizeInPixels.width() * quadX + m_meshBox.x());
- m_vertices.append(m_tileSizeInPixels.height() * quadY + m_meshBox.y());
- }
-
- void addMeshCoordAttribute(int quadX, int quadY)
- {
- // vec2 a_meshCoord
- m_vertices.append(m_tileSizeInDeviceSpace.width() * quadX);
- m_vertices.append(m_tileSizeInDeviceSpace.height() * quadY);
- }
-
- void addTriangleCoordAttribute(int quadX, int quadY, int triangle)
- {
- // vec3 a_triangleCoord
- m_vertices.append(quadX);
- m_vertices.append(quadY);
- m_vertices.append(triangle);
- }
-
- void addAttachedMeshVertexAttributes(int quadX, int quadY)
- {
- addPositionAttribute(quadX, quadY);
- addTexCoordAttribute(quadX, quadY);
- addMeshCoordAttribute(quadX, quadY);
- }
-
- void addDetachedMeshVertexAttributes(int quadX, int quadY, int triangleX, int triangleY, int triangle)
- {
- addAttachedMeshVertexAttributes(quadX + triangleX, quadY + triangleY);
- addTriangleCoordAttribute(quadX, quadY, triangle);
- }
-
-#ifndef NDEBUG
- void dumpBuffers() const
- {
- printf("Mesh buffers: Points.width(): %d, Points.height(): %d meshBox: %f, %f, %f, %f, type: %s\n",
- m_points.width(), m_points.height(), m_meshBox.x(), m_meshBox.y(), m_meshBox.width(), m_meshBox.height(),
- (m_meshType == CustomFilterOperation::ATTACHED) ? "Attached" : "Detached");
- printf("---Vertex:\n\t");
- for (unsigned i = 0; i < m_vertices.size(); ++i) {
- printf("%f ", m_vertices.at(i));
- if (!((i + 1) % floatsPerVertex()))
- printf("\n\t");
- }
- printf("\n---Indices: ");
- for (unsigned i = 0; i < m_indices.size(); ++i)
- printf("%d ", m_indices.at(i));
- printf("\n");
- }
-#endif
-
-private:
- Vector<float> m_vertices;
- Vector<uint16_t> m_indices;
-
- CustomFilterOperation::MeshType m_meshType;
- IntSize m_points;
- IntSize m_tiles;
- FloatSize m_tileSizeInPixels;
- FloatSize m_tileSizeInDeviceSpace;
- FloatRect m_meshBox;
-};
-CustomFilterMesh::CustomFilterMesh(GraphicsContext3D* context, unsigned columns, unsigned rows,
+CustomFilterMesh::CustomFilterMesh(GraphicsContext3D* context, unsigned columns, unsigned rows,
const FloatRect& meshBox, CustomFilterOperation::MeshType meshType)
: m_context(context)
, m_verticesBufferObject(0)
@@ -241,7 +44,7 @@ CustomFilterMesh::CustomFilterMesh(GraphicsContext3D* context, unsigned columns,
, m_meshBox(meshBox)
, m_meshType(meshType)
{
- MeshGenerator generator(columns, rows, meshBox, meshType);
+ CustomFilterMeshGenerator generator(columns, rows, meshBox, meshType);
m_indicesCount = generator.indicesCount();
m_bytesPerVertex = generator.floatsPerVertex() * sizeof(float);
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.cpp b/Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.cpp
new file mode 100644
index 000000000..3d9d4d1b2
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.cpp
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2011 Adobe Systems Incorporated. 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 HOLDER “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 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 ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
+#include "CustomFilterMeshGenerator.h"
+
+namespace WebCore {
+
+#ifndef NDEBUG
+// Use "call 'WebCore::s_dumpCustomFilterMeshBuffers' = 1" in GDB to activate printing of the mesh buffers.
+static bool s_dumpCustomFilterMeshBuffers = false;
+#endif
+
+CustomFilterMeshGenerator::CustomFilterMeshGenerator(unsigned columns, unsigned rows, const FloatRect& meshBox, CustomFilterOperation::MeshType meshType)
+ : m_meshType(meshType)
+ , m_points(columns + 1, rows + 1)
+ , m_tiles(columns, rows)
+ , m_tileSizeInPixels(meshBox.width() / m_tiles.width(), meshBox.height() / m_tiles.height())
+ , m_tileSizeInDeviceSpace(1.0f / m_tiles.width(), 1.0f / m_tiles.height())
+ , m_meshBox(meshBox)
+{
+ // Build the two buffers needed to draw triangles:
+ // * m_vertices has a number of float attributes that will be passed to the vertex shader
+ // for each computed vertex. This number is calculated in floatsPerVertex() based on the meshType.
+ // * m_indices is a buffer that will have 3 indices per triangle. Each index will point inside
+ // the m_vertices buffer.
+ m_vertices.reserveCapacity(verticesCount() * floatsPerVertex());
+ m_indices.reserveCapacity(indicesCount());
+
+ // Based on the meshType there can be two types of meshes.
+ // * attached: each triangle uses vertices from the neighbor triangles. This is useful to save some GPU memory
+ // when there's no need to explode the tiles.
+ // * detached: each triangle has its own vertices. This means each triangle can be moved independently and a vec3
+ // attribute is passed, so that each vertex can be uniquely identified.
+ if (m_meshType == CustomFilterOperation::ATTACHED)
+ generateAttachedMesh();
+ else
+ generateDetachedMesh();
+
+#ifndef NDEBUG
+ if (s_dumpCustomFilterMeshBuffers)
+ dumpBuffers();
+#endif
+}
+
+void CustomFilterMeshGenerator::addAttachedMeshIndex(int quadX, int quadY, int triangleX, int triangleY, int triangle)
+{
+ UNUSED_PARAM(triangle);
+ m_indices.append((quadY + triangleY) * m_points.width() + (quadX + triangleX));
+}
+
+void CustomFilterMeshGenerator::generateAttachedMesh()
+{
+ for (int j = 0; j < m_points.height(); ++j) {
+ for (int i = 0; i < m_points.width(); ++i)
+ addAttachedMeshVertexAttributes(i, j);
+ }
+
+ for (int j = 0; j < m_tiles.height(); ++j) {
+ for (int i = 0; i < m_tiles.width(); ++i)
+ addTile<&CustomFilterMeshGenerator::addAttachedMeshIndex>(i, j);
+ }
+}
+
+void CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex(int quadX, int quadY, int triangleX, int triangleY, int triangle)
+{
+ addDetachedMeshVertexAttributes(quadX, quadY, triangleX, triangleY, triangle);
+ m_indices.append(m_indices.size());
+}
+
+void CustomFilterMeshGenerator::generateDetachedMesh()
+{
+ for (int j = 0; j < m_tiles.height(); ++j) {
+ for (int i = 0; i < m_tiles.width(); ++i)
+ addTile<&CustomFilterMeshGenerator::addDetachedMeshVertexAndIndex>(i, j);
+ }
+}
+
+void CustomFilterMeshGenerator::addPositionAttribute(int quadX, int quadY)
+{
+ // vec4 a_position
+ m_vertices.append(m_tileSizeInPixels.width() * quadX - 0.5f + m_meshBox.x());
+ m_vertices.append(m_tileSizeInPixels.height() * quadY - 0.5f + m_meshBox.y());
+ m_vertices.append(0.0f); // z
+ m_vertices.append(1.0f);
+}
+
+void CustomFilterMeshGenerator::addTexCoordAttribute(int quadX, int quadY)
+{
+ // vec2 a_texCoord
+ m_vertices.append(m_tileSizeInPixels.width() * quadX + m_meshBox.x());
+ m_vertices.append(m_tileSizeInPixels.height() * quadY + m_meshBox.y());
+}
+
+void CustomFilterMeshGenerator::addMeshCoordAttribute(int quadX, int quadY)
+{
+ // vec2 a_meshCoord
+ m_vertices.append(m_tileSizeInDeviceSpace.width() * quadX);
+ m_vertices.append(m_tileSizeInDeviceSpace.height() * quadY);
+}
+
+void CustomFilterMeshGenerator::addTriangleCoordAttribute(int quadX, int quadY, int triangle)
+{
+ // vec3 a_triangleCoord
+ m_vertices.append(quadX);
+ m_vertices.append(quadY);
+ m_vertices.append(triangle);
+}
+
+void CustomFilterMeshGenerator::addAttachedMeshVertexAttributes(int quadX, int quadY)
+{
+ addPositionAttribute(quadX, quadY);
+ addTexCoordAttribute(quadX, quadY);
+ addMeshCoordAttribute(quadX, quadY);
+}
+
+void CustomFilterMeshGenerator::addDetachedMeshVertexAttributes(int quadX, int quadY, int triangleX, int triangleY, int triangle)
+{
+ addAttachedMeshVertexAttributes(quadX + triangleX, quadY + triangleY);
+ addTriangleCoordAttribute(quadX, quadY, triangle);
+}
+
+#ifndef NDEBUG
+void CustomFilterMeshGenerator::dumpBuffers() const
+{
+ printf("Mesh buffers: Points.width(): %d, Points.height(): %d meshBox: %f, %f, %f, %f, type: %s\n",
+ m_points.width(), m_points.height(), m_meshBox.x(), m_meshBox.y(), m_meshBox.width(), m_meshBox.height(),
+ (m_meshType == CustomFilterOperation::ATTACHED) ? "Attached" : "Detached");
+ printf("---Vertex:\n\t");
+ for (unsigned i = 0; i < m_vertices.size(); ++i) {
+ printf("%f ", m_vertices.at(i));
+ if (!((i + 1) % floatsPerVertex()))
+ printf("\n\t");
+ }
+ printf("\n---Indices: ");
+ for (unsigned i = 0; i < m_indices.size(); ++i)
+ printf("%d ", m_indices.at(i));
+ printf("\n");
+}
+#endif
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
+
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.h b/Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.h
new file mode 100644
index 000000000..09f75621b
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterMeshGenerator.h
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2011 Adobe Systems Incorporated. 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 HOLDER “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 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 CustomFilterMeshGenerator_h
+#define CustomFilterMeshGenerator_h
+
+#if ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
+
+#include "CustomFilterOperation.h"
+#include "FloatRect.h"
+
+namespace WebCore {
+
+class CustomFilterMeshGenerator {
+public:
+ // Lines and columns are the values passed in CSS. The result is vertex mesh that has 'rows' numbers of rows
+ // and 'columns' number of columns with a total of 'rows + 1' * 'columns + 1' vertices.
+ // MeshBox is the filtered area calculated defined using the border-box, padding-box, content-box or filter-box
+ // attributes. A value of (0, 0, 1, 1) will cover the entire output surface.
+ CustomFilterMeshGenerator(unsigned columns, unsigned rows, const FloatRect& meshBox, CustomFilterOperation::MeshType);
+
+ const Vector<float>& vertices() const { return m_vertices; }
+ const Vector<uint16_t>& indices() const { return m_indices; }
+
+ const IntSize& points() const { return m_points; }
+ unsigned pointsCount() const { return m_points.width() * m_points.height(); }
+
+ const IntSize& tiles() const { return m_tiles; }
+ unsigned tilesCount() const { return m_tiles.width() * m_tiles.height(); }
+
+ unsigned indicesCount() const
+ {
+ const unsigned trianglesPerTile = 2;
+ const unsigned indicesPerTriangle = 3;
+ return tilesCount() * trianglesPerTile * indicesPerTriangle;
+ }
+
+ unsigned floatsPerVertex() const
+ {
+ static const unsigned AttachedMeshVertexSize = 4 + // vec4 a_position
+ 2 + // vec2 a_texCoord
+ 2; // vec2 a_meshCoord
+
+ static const unsigned DetachedMeshVertexSize = AttachedMeshVertexSize +
+ 3; // vec3 a_triangleCoord
+
+ return m_meshType == CustomFilterOperation::ATTACHED ? AttachedMeshVertexSize : DetachedMeshVertexSize;
+ }
+
+ unsigned verticesCount() const
+ {
+ return m_meshType == CustomFilterOperation::ATTACHED ? pointsCount() : indicesCount();
+ }
+
+private:
+ typedef void (CustomFilterMeshGenerator::*AddTriangleVertexFunction)(int quadX, int quadY, int triangleX, int triangleY, int triangle);
+
+ template <AddTriangleVertexFunction addTriangleVertex>
+ void addTile(int quadX, int quadY)
+ {
+ ((*this).*(addTriangleVertex))(quadX, quadY, 0, 0, 1);
+ ((*this).*(addTriangleVertex))(quadX, quadY, 1, 0, 2);
+ ((*this).*(addTriangleVertex))(quadX, quadY, 1, 1, 3);
+ ((*this).*(addTriangleVertex))(quadX, quadY, 0, 0, 4);
+ ((*this).*(addTriangleVertex))(quadX, quadY, 1, 1, 5);
+ ((*this).*(addTriangleVertex))(quadX, quadY, 0, 1, 6);
+ }
+
+ void addAttachedMeshIndex(int quadX, int quadY, int triangleX, int triangleY, int triangle);
+
+ void generateAttachedMesh();
+
+ void addDetachedMeshVertexAndIndex(int quadX, int quadY, int triangleX, int triangleY, int triangle);
+
+ void generateDetachedMesh();
+ void addPositionAttribute(int quadX, int quadY);
+ void addTexCoordAttribute(int quadX, int quadY);
+ void addMeshCoordAttribute(int quadX, int quadY);
+ void addTriangleCoordAttribute(int quadX, int quadY, int triangle);
+ void addAttachedMeshVertexAttributes(int quadX, int quadY);
+ void addDetachedMeshVertexAttributes(int quadX, int quadY, int triangleX, int triangleY, int triangle);
+
+#ifndef NDEBUG
+ void dumpBuffers() const;
+#endif
+
+private:
+ Vector<float> m_vertices;
+ Vector<uint16_t> m_indices;
+
+ CustomFilterOperation::MeshType m_meshType;
+ IntSize m_points;
+ IntSize m_tiles;
+ FloatSize m_tileSizeInPixels;
+ FloatSize m_tileSizeInDeviceSpace;
+ FloatRect m_meshBox;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS) && USE(3D_GRAPHICS)
+
+#endif // CustomFilterMeshGenerator_h
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterParameter.h b/Source/WebCore/platform/graphics/filters/CustomFilterParameter.h
index e66e2298a..82980d6c7 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterParameter.h
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterParameter.h
@@ -45,7 +45,8 @@ public:
// 3d-transforms: https://bugs.webkit.org/show_bug.cgi?id=71443
// mat2, mat3, mat4: https://bugs.webkit.org/show_bug.cgi?id=71444
enum ParameterType {
- NUMBER
+ NUMBER,
+ TRANSFORM
};
virtual ~CustomFilterParameter() { }
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterProgramInfo.h b/Source/WebCore/platform/graphics/filters/CustomFilterProgramInfo.h
index e1f4559ab..7c6e1f41d 100644
--- a/Source/WebCore/platform/graphics/filters/CustomFilterProgramInfo.h
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterProgramInfo.h
@@ -75,6 +75,7 @@ public:
const String& vertexShaderString() const { return m_vertexShaderString; }
const String& fragmentShaderString() const { return m_fragmentShaderString; }
+ const CustomFilterProgramMixSettings& mixSettings() const { return m_mixSettings; }
private:
String m_vertexShaderString;
String m_fragmentShaderString;
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterTransformParameter.h b/Source/WebCore/platform/graphics/filters/CustomFilterTransformParameter.h
new file mode 100644
index 000000000..bd66cec6c
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterTransformParameter.h
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER “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 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 CustomFilterTransformParameter_h
+#define CustomFilterTransformParameter_h
+
+#if ENABLE(CSS_SHADERS)
+#include "CustomFilterParameter.h"
+#include "FloatSize.h"
+#include "TransformOperations.h"
+
+namespace WebCore {
+
+class FloatRect;
+class TransformationMatrix;
+
+class CustomFilterTransformParameter : public CustomFilterParameter {
+public:
+ static PassRefPtr<CustomFilterTransformParameter> create(const String& name)
+ {
+ return adoptRef(new CustomFilterTransformParameter(name));
+ }
+
+ virtual PassRefPtr<CustomFilterParameter> blend(const CustomFilterParameter*, double)
+ {
+ // FIXME: Implement animations support.
+ // https://bugs.webkit.org/show_bug.cgi?id=94980
+ return this;
+ }
+
+ virtual bool operator==(const CustomFilterParameter& o) const
+ {
+ if (!isSameType(o))
+ return false;
+ const CustomFilterTransformParameter* other = static_cast<const CustomFilterTransformParameter*>(&o);
+ return m_operations == other->m_operations;
+ }
+
+ void applyTransform(TransformationMatrix& transform, const FloatSize& boxSize) const
+ {
+ for (unsigned i = 0, size = m_operations.size(); i < size; ++i)
+ m_operations.at(i)->apply(transform, boxSize);
+ }
+
+ const TransformOperations& operations() const { return m_operations; }
+ void setOperations(const TransformOperations& value) { m_operations = value; }
+
+private:
+ CustomFilterTransformParameter(const String& name)
+ : CustomFilterParameter(TRANSFORM, name)
+ {
+ }
+ virtual ~CustomFilterTransformParameter()
+ {
+ }
+
+ TransformOperations m_operations;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)
+
+#endif // CustomFilterTransformParameter_h
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp b/Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp
new file mode 100644
index 000000000..a7dacdbc3
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.cpp
@@ -0,0 +1,286 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER “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 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 ENABLE(CSS_SHADERS)
+
+#include "CustomFilterValidatedProgram.h"
+
+#include "ANGLEWebKitBridge.h"
+#include "CustomFilterGlobalContext.h"
+#include "CustomFilterProgramInfo.h"
+#include "NotImplemented.h"
+#include <wtf/text/StringBuilder.h>
+
+namespace WebCore {
+
+#define SHADER(Src) (#Src)
+
+String CustomFilterValidatedProgram::defaultVertexShaderString()
+{
+ DEFINE_STATIC_LOCAL(String, vertexShaderString, (ASCIILiteral(SHADER(
+ attribute mediump vec4 a_position;
+ uniform mediump mat4 u_projectionMatrix;
+
+ void main()
+ {
+ gl_Position = u_projectionMatrix * a_position;
+ }
+ ))));
+ return vertexShaderString;
+}
+
+String CustomFilterValidatedProgram::defaultFragmentShaderString()
+{
+ DEFINE_STATIC_LOCAL(String, fragmentShaderString, (ASCIILiteral(SHADER(
+ void main()
+ {
+ }
+ ))));
+ return fragmentShaderString;
+}
+
+CustomFilterValidatedProgram::CustomFilterValidatedProgram(CustomFilterGlobalContext* globalContext, const CustomFilterProgramInfo& programInfo)
+ : m_globalContext(globalContext)
+ , m_programInfo(programInfo)
+ , m_isInitialized(false)
+{
+ platformInit();
+
+ String originalVertexShader = programInfo.vertexShaderString();
+ if (originalVertexShader.isNull())
+ originalVertexShader = defaultVertexShaderString();
+
+ String originalFragmentShader = programInfo.fragmentShaderString();
+ if (originalFragmentShader.isNull())
+ originalFragmentShader = defaultFragmentShaderString();
+
+ // Shaders referenced from the CSS mix function use a different validator than regular WebGL shaders. See CustomFilterGlobalContext.h for more details.
+ ANGLEWebKitBridge* validator = programInfo.mixSettings().enabled ? m_globalContext->mixShaderValidator() : m_globalContext->webglShaderValidator();
+ String vertexShaderLog, fragmentShaderLog;
+ bool vertexShaderValid = validator->validateShaderSource(originalVertexShader.utf8().data(), SHADER_TYPE_VERTEX, m_validatedVertexShader, vertexShaderLog);
+ bool fragmentShaderValid = validator->validateShaderSource(originalFragmentShader.utf8().data(), SHADER_TYPE_FRAGMENT, m_validatedFragmentShader, fragmentShaderLog);
+ if (!vertexShaderValid || !fragmentShaderValid) {
+ // FIXME: Report the validation errors.
+ // https://bugs.webkit.org/show_bug.cgi?id=74416
+ return;
+ }
+
+ // We need to add texture access, blending, and compositing code to shaders that are referenced from the CSS mix function.
+ if (programInfo.mixSettings().enabled) {
+ rewriteMixVertexShader();
+ rewriteMixFragmentShader();
+ }
+
+ m_isInitialized = true;
+}
+
+PassRefPtr<CustomFilterCompiledProgram> CustomFilterValidatedProgram::compiledProgram()
+{
+ ASSERT(m_isInitialized && m_globalContext && !m_validatedVertexShader.isNull() && !m_validatedFragmentShader.isNull());
+ if (!m_compiledProgram)
+ m_compiledProgram = CustomFilterCompiledProgram::create(m_globalContext->context(), m_validatedVertexShader, m_validatedFragmentShader);
+ return m_compiledProgram;
+}
+
+void CustomFilterValidatedProgram::rewriteMixVertexShader()
+{
+ ASSERT(m_programInfo.mixSettings().enabled);
+
+ // During validation, ANGLE renamed the author's "main" function to "css_main".
+ // We write our own "main" function and call "css_main" from it.
+ // This makes rewriting easy and ensures that our code runs after all author code.
+ m_validatedVertexShader.append(SHADER(
+ attribute mediump vec2 css_a_texCoord;
+ varying mediump vec2 css_v_texCoord;
+
+ void main()
+ {
+ css_main();
+ css_v_texCoord = css_a_texCoord;
+ }
+ ));
+}
+
+void CustomFilterValidatedProgram::rewriteMixFragmentShader()
+{
+ ASSERT(m_programInfo.mixSettings().enabled);
+
+ StringBuilder builder;
+ // ANGLE considered these symbols as built-ins during validation under the SH_CSS_SHADERS_SPEC flag.
+ // Now, we have to define these symbols in order to make this shader valid GLSL.
+ // We define these symbols before the author's shader code, which makes them accessible to author code.
+ builder.append(SHADER(
+ mediump vec4 css_MixColor = vec4(0.0);
+ mediump mat4 css_ColorMatrix = mat4(1.0);
+ ));
+ builder.append(m_validatedFragmentShader);
+ builder.append(blendFunctionString(m_programInfo.mixSettings().blendMode));
+ builder.append(compositeFunctionString(m_programInfo.mixSettings().compositeOperator));
+ // We define symbols like "css_u_texture" after the author's shader code, which makes them inaccessible to author code.
+ // In particular, "css_u_texture" represents the DOM element texture, so it's important to keep it inaccessible to
+ // author code for security reasons.
+ builder.append(SHADER(
+ uniform sampler2D css_u_texture;
+ varying mediump vec2 css_v_texCoord;
+
+ void main()
+ {
+ css_main();
+ mediump vec4 originalColor = texture2D(css_u_texture, css_v_texCoord);
+ mediump vec4 multipliedColor = css_ColorMatrix * originalColor;
+ mediump vec3 blendedColor = css_Blend(multipliedColor.rgb, css_MixColor.rgb);
+ gl_FragColor = css_Composite(multipliedColor.rgb, multipliedColor.a, blendedColor.rgb, css_MixColor.a);
+ }
+ ));
+ m_validatedFragmentShader = builder.toString();
+}
+
+String CustomFilterValidatedProgram::blendFunctionString(BlendMode blendMode)
+{
+ // Implemented using the same symbol names as the Compositing and Blending spec:
+ // https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnormal
+ // Cs: is the source color
+ // Cb: is the backdrop color
+ const char* expression = 0;
+ switch (blendMode) {
+ case BlendModeNormal:
+ expression = "Cs";
+ break;
+ case BlendModeMultiply:
+ expression = "Cs * Cb";
+ break;
+ case BlendModeScreen:
+ expression = "Cb + Cs - (Cb * Cs)";
+ break;
+ case BlendModeDarken:
+ expression = "min(Cb, Cs)";
+ break;
+ case BlendModeLighten:
+ expression = "max(Cb, Cs)";
+ break;
+ case BlendModeDifference:
+ expression = "abs(Cb - Cs)";
+ break;
+ case BlendModeExclusion:
+ expression = "Cb + Cs - 2.0 * Cb * Cs";
+ break;
+ case BlendModeOverlay:
+ case BlendModeColorDodge:
+ case BlendModeColorBurn:
+ case BlendModeHardLight:
+ case BlendModeSoftLight:
+ case BlendModeHue:
+ case BlendModeSaturation:
+ case BlendModeColor:
+ case BlendModeLuminosity:
+ notImplemented();
+ return String();
+ }
+
+ ASSERT(expression);
+ return String::format(SHADER(
+ mediump vec3 css_Blend(mediump vec3 Cb, mediump vec3 Cs)
+ {
+ return %s;
+ }
+ ), expression);
+}
+
+String CustomFilterValidatedProgram::compositeFunctionString(CompositeOperator compositeOperator)
+{
+ // Use the same symbol names as the Compositing and Blending spec:
+ // https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blendingnormal
+ // Cs: is the source color
+ // Cb: is the backdrop color
+ // as: is the source alpha
+ // ab: is the backdrop alpha
+ // Fa: is defined by the Porter Duff operator in use
+ // Fb: is defined by the Porter Duff operator in use
+ const char* Fa = 0;
+ const char* Fb = 0;
+ switch (compositeOperator) {
+ case CompositeSourceAtop:
+ Fa = "ab";
+ Fb = "1.0 - as";
+ break;
+ case CompositeClear:
+ case CompositeCopy:
+ case CompositeSourceOver:
+ case CompositeSourceIn:
+ case CompositeSourceOut:
+ case CompositeDestinationOver:
+ case CompositeDestinationIn:
+ case CompositeDestinationOut:
+ case CompositeDestinationAtop:
+ case CompositeXOR:
+ case CompositePlusLighter:
+ notImplemented();
+ return String();
+ default:
+ // The CSS parser should not have accepted any other composite operators.
+ ASSERT_NOT_REACHED();
+ return String();
+ }
+
+ ASSERT(Fa && Fb);
+ // Use the general formula for compositing, lifted from the spec:
+ // https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#generalformula
+ return String::format(SHADER(
+ mediump vec4 css_Composite(mediump vec3 Cb, mediump float ab, mediump vec3 Cs, mediump float as)
+ {
+ mediump float Fa = %s;
+ mediump float Fb = %s;
+ return vec4(as * Fa * Cs + ab * Fb * Cb, as * Fa + ab * Fb);
+ }
+ ), Fa, Fb);
+}
+
+CustomFilterValidatedProgram::~CustomFilterValidatedProgram()
+{
+ platformDestroy();
+
+ if (m_globalContext)
+ m_globalContext->removeValidatedProgram(this);
+}
+
+#if !PLATFORM(BLACKBERRY)
+void CustomFilterValidatedProgram::platformInit()
+{
+}
+
+void CustomFilterValidatedProgram::platformDestroy()
+{
+}
+#endif
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)
diff --git a/Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h b/Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h
new file mode 100644
index 000000000..610884d6e
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/CustomFilterValidatedProgram.h
@@ -0,0 +1,124 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER “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 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 CustomFilterValidatedProgram_h
+#define CustomFilterValidatedProgram_h
+
+#if ENABLE(CSS_SHADERS)
+
+#include "CustomFilterCompiledProgram.h"
+#include "CustomFilterProgramInfo.h"
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
+
+// PlatformCompiledProgram defines a type that is compatible with the framework used to implement accelerated compositing on a particular platform.
+#if PLATFORM(BLACKBERRY)
+namespace WebCore {
+class LayerCompiledProgram;
+}
+typedef WebCore::LayerCompiledProgram PlatformCompiledProgram;
+#endif
+
+namespace WebCore {
+
+class ANGLEWebKitBridge;
+class CustomFilterCompiledProgram;
+class CustomFilterGlobalContext;
+
+//
+// A unique combination of vertex shader and fragment shader is only validated and compiled once.
+// All shaders are validated through ANGLE in CustomFilterValidatedProgram before being compiled by the GraphicsContext3D in CustomFilterCompiledProgram.
+// For shaders that use the CSS mix function, CustomFilterValidatedProgram adds shader code to perform DOM texture access, blending, and compositing.
+//
+// The CustomFilterGlobalContext caches the validated programs.
+// CustomFilterValidatedProgram owns a CustomFilterCompiledProgram if validation and compilation succeeds.
+// Thus, compiled programs are cached via their validated program owners.
+//
+// CustomFilterGlobalContext has a weak reference to the CustomFilterValidatedProgram.
+// Thus, the CustomFilterValidatedProgram destructor needs to notify the CustomFilterGlobalContext to remove the program from the cache.
+// FECustomFilter is the reference owner of the CustomFilterValidatedProgram.
+// Thus, a validated and compiled shader is only kept alive as long as there is at least one visible layer that applies the shader.
+//
+class CustomFilterValidatedProgram : public RefCounted<CustomFilterValidatedProgram> {
+public:
+ static PassRefPtr<CustomFilterValidatedProgram> create(CustomFilterGlobalContext* globalContext, const CustomFilterProgramInfo& programInfo)
+ {
+ return adoptRef(new CustomFilterValidatedProgram(globalContext, programInfo));
+ }
+
+ ~CustomFilterValidatedProgram();
+
+ const CustomFilterProgramInfo& programInfo() const { return m_programInfo; }
+ PassRefPtr<CustomFilterCompiledProgram> compiledProgram();
+
+#if PLATFORM(BLACKBERRY)
+ PlatformCompiledProgram* platformCompiledProgram();
+#endif
+
+ bool isInitialized() const { return m_isInitialized; }
+
+ // 'detachFromGlobalContext' is called when the CustomFilterGlobalContext is deleted, and there's no need for the callback anymore.
+ // Note that CustomFilterGlobalContext does not keep a strong reference to the CustomFilterValidatedProgram.
+ void detachFromGlobalContext() { m_globalContext = 0; }
+private:
+ CustomFilterValidatedProgram(CustomFilterGlobalContext*, const CustomFilterProgramInfo&);
+
+ void platformInit();
+ void platformDestroy();
+
+ static String defaultVertexShaderString();
+ static String defaultFragmentShaderString();
+
+ static String blendFunctionString(BlendMode);
+ static String compositeFunctionString(CompositeOperator);
+
+ void rewriteMixVertexShader();
+ void rewriteMixFragmentShader();
+
+ CustomFilterGlobalContext* m_globalContext;
+ CustomFilterProgramInfo m_programInfo;
+
+ String m_validatedVertexShader;
+ String m_validatedFragmentShader;
+
+ RefPtr<CustomFilterCompiledProgram> m_compiledProgram;
+#if PLATFORM(BLACKBERRY)
+ PlatformCompiledProgram* m_platformCompiledProgram;
+#endif
+
+ bool m_isInitialized;
+};
+
+}
+
+#endif // ENABLE(CSS_SHADERS)
+
+#endif
diff --git a/Source/WebCore/platform/graphics/filters/FEBlend.h b/Source/WebCore/platform/graphics/filters/FEBlend.h
index fe5017c3e..e58c8a3d0 100644
--- a/Source/WebCore/platform/graphics/filters/FEBlend.h
+++ b/Source/WebCore/platform/graphics/filters/FEBlend.h
@@ -49,6 +49,9 @@ public:
unsigned colorArrayLength);
void platformApplyNEON(unsigned char* srcPixelArrayA, unsigned char* srcPixelArrayB, unsigned char* dstPixelArray,
unsigned colorArrayLength);
+#if USE(SKIA)
+ virtual bool platformApplySkia();
+#endif
virtual void platformApplySoftware();
virtual void dump();
diff --git a/Source/WebCore/platform/graphics/filters/FEComposite.h b/Source/WebCore/platform/graphics/filters/FEComposite.h
index 60fded137..df0426a78 100644
--- a/Source/WebCore/platform/graphics/filters/FEComposite.h
+++ b/Source/WebCore/platform/graphics/filters/FEComposite.h
@@ -25,8 +25,8 @@
#if ENABLE(FILTERS)
#include "FilterEffect.h"
-#include "PlatformString.h"
#include "Filter.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/FECustomFilter.cpp b/Source/WebCore/platform/graphics/filters/FECustomFilter.cpp
index a2ece0524..d65ff97ca 100644
--- a/Source/WebCore/platform/graphics/filters/FECustomFilter.cpp
+++ b/Source/WebCore/platform/graphics/filters/FECustomFilter.cpp
@@ -38,6 +38,8 @@
#include "CustomFilterNumberParameter.h"
#include "CustomFilterParameter.h"
#include "CustomFilterProgram.h"
+#include "CustomFilterTransformParameter.h"
+#include "CustomFilterValidatedProgram.h"
#include "DrawingBuffer.h"
#include "GraphicsContext3D.h"
#include "ImageData.h"
@@ -74,27 +76,30 @@ static void orthogonalProjectionMatrix(TransformationMatrix& matrix, float left,
matrix.setM44(1.0f);
}
-FECustomFilter::FECustomFilter(Filter* filter, CustomFilterGlobalContext* customFilterGlobalContext, PassRefPtr<CustomFilterProgram> program, const CustomFilterParameterList& parameters,
+FECustomFilter::FECustomFilter(Filter* filter, CustomFilterGlobalContext* customFilterGlobalContext, PassRefPtr<CustomFilterValidatedProgram> validatedProgram, const CustomFilterParameterList& parameters,
unsigned meshRows, unsigned meshColumns, CustomFilterOperation::MeshBoxType,
CustomFilterOperation::MeshType meshType)
: FilterEffect(filter)
, m_globalContext(customFilterGlobalContext)
+ , m_validatedProgram(validatedProgram)
+ , m_compiledProgram(0) // Don't compile the program unless we need to paint.
, m_frameBuffer(0)
, m_depthBuffer(0)
, m_destTexture(0)
- , m_program(program)
, m_parameters(parameters)
, m_meshRows(meshRows)
, m_meshColumns(meshColumns)
, m_meshType(meshType)
{
+ // An FECustomFilter shouldn't have been created unless the program passed validation.
+ ASSERT(m_validatedProgram->isInitialized());
}
-PassRefPtr<FECustomFilter> FECustomFilter::create(Filter* filter, CustomFilterGlobalContext* customFilterGlobalContext, PassRefPtr<CustomFilterProgram> program, const CustomFilterParameterList& parameters,
+PassRefPtr<FECustomFilter> FECustomFilter::create(Filter* filter, CustomFilterGlobalContext* customFilterGlobalContext, PassRefPtr<CustomFilterValidatedProgram> validatedProgram, const CustomFilterParameterList& parameters,
unsigned meshRows, unsigned meshColumns, CustomFilterOperation::MeshBoxType meshBoxType,
CustomFilterOperation::MeshType meshType)
{
- return adoptRef(new FECustomFilter(filter, customFilterGlobalContext, program, parameters, meshRows, meshColumns, meshBoxType, meshType));
+ return adoptRef(new FECustomFilter(filter, customFilterGlobalContext, validatedProgram, parameters, meshRows, meshColumns, meshBoxType, meshType));
}
FECustomFilter::~FECustomFilter()
@@ -182,6 +187,8 @@ bool FECustomFilter::applyShader()
m_context->drawElements(GraphicsContext3D::TRIANGLES, m_mesh->indicesCount(), GraphicsContext3D::UNSIGNED_SHORT, 0);
+ unbindVertexAttributes();
+
ASSERT(static_cast<size_t>(newContextSize.width() * newContextSize.height() * 4) == dstPixelArray->length());
m_context->readPixels(0, 0, newContextSize.width(), newContextSize.height(), GraphicsContext3D::RGBA, GraphicsContext3D::UNSIGNED_BYTE, dstPixelArray->data());
@@ -195,7 +202,7 @@ bool FECustomFilter::initializeContext()
if (!m_context)
return false;
m_context->makeContextCurrent();
- m_compiledProgram = m_globalContext->getCompiledProgram(m_program->programInfo());
+ m_compiledProgram = m_validatedProgram->compiledProgram();
// FIXME: Sharing the mesh would just save the time needed to upload it to the GPU, so I assume we could
// benchmark that for performance.
@@ -240,13 +247,18 @@ void FECustomFilter::resizeContext(const IntSize& newContextSize)
m_contextSize = newContextSize;
}
-void FECustomFilter::bindVertexAttribute(int attributeLocation, unsigned size, unsigned& offset)
+void FECustomFilter::bindVertexAttribute(int attributeLocation, unsigned size, unsigned offset)
{
if (attributeLocation != -1) {
m_context->vertexAttribPointer(attributeLocation, size, GraphicsContext3D::FLOAT, false, m_mesh->bytesPerVertex(), offset);
m_context->enableVertexAttribArray(attributeLocation);
}
- offset += size * sizeof(float);
+}
+
+void FECustomFilter::unbindVertexAttribute(int attributeLocation)
+{
+ if (attributeLocation != -1)
+ m_context->disableVertexAttribArray(attributeLocation);
}
void FECustomFilter::bindProgramNumberParameters(int uniformLocation, CustomFilterNumberParameter* numberParameter)
@@ -269,6 +281,24 @@ void FECustomFilter::bindProgramNumberParameters(int uniformLocation, CustomFilt
}
}
+void FECustomFilter::bindProgramTransformParameter(int uniformLocation, CustomFilterTransformParameter* transformParameter)
+{
+ TransformationMatrix matrix;
+ if (m_contextSize.width() && m_contextSize.height()) {
+ // The viewport is a box with the size of 1 unit, so we are scalling up here to make sure that translations happen using real pixel
+ // units. At the end we scale back down in order to map it back to the original box. Note that transforms come in reverse order, because it is
+ // supposed to multiply to the left of the coordinates of the vertices.
+ // Note that the origin (0, 0) of the viewport is in the middle of the context, so there's no need to change the origin of the transform
+ // in order to rotate around the middle of mesh.
+ matrix.scale3d(1.0 / m_contextSize.width(), 1.0 / m_contextSize.height(), 1);
+ transformParameter->applyTransform(matrix, m_contextSize);
+ matrix.scale3d(m_contextSize.width(), m_contextSize.height(), 1);
+ }
+ float glMatrix[16];
+ matrix.toColumnMajorFloatArray(glMatrix);
+ m_context->uniformMatrix4fv(uniformLocation, 1, false, &glMatrix[0]);
+}
+
void FECustomFilter::bindProgramParameters()
{
// FIXME: Find a way to reset uniforms that are not specified in CSS. This is needed to avoid using values
@@ -285,12 +315,17 @@ void FECustomFilter::bindProgramParameters()
case CustomFilterParameter::NUMBER:
bindProgramNumberParameters(uniformLocation, static_cast<CustomFilterNumberParameter*>(parameter));
break;
+ case CustomFilterParameter::TRANSFORM:
+ bindProgramTransformParameter(uniformLocation, static_cast<CustomFilterTransformParameter*>(parameter));
+ break;
}
}
}
void FECustomFilter::bindProgramAndBuffers(Uint8ClampedArray* srcPixelArray)
{
+ ASSERT(m_compiledProgram->isInitialized());
+
m_context->useProgram(m_compiledProgram->program());
if (m_compiledProgram->samplerLocation() != -1) {
@@ -315,16 +350,40 @@ void FECustomFilter::bindProgramAndBuffers(Uint8ClampedArray* srcPixelArray)
m_context->bindBuffer(GraphicsContext3D::ARRAY_BUFFER, m_mesh->verticesBufferObject());
m_context->bindBuffer(GraphicsContext3D::ELEMENT_ARRAY_BUFFER, m_mesh->elementsBufferObject());
- unsigned offset = 0;
- bindVertexAttribute(m_compiledProgram->positionAttribLocation(), 4, offset);
- bindVertexAttribute(m_compiledProgram->texAttribLocation(), 2, offset);
- bindVertexAttribute(m_compiledProgram->meshAttribLocation(), 2, offset);
+ // FIXME: Ideally, these should be public members of CustomFilterMesh.
+ // https://bugs.webkit.org/show_bug.cgi?id=94755
+ static const unsigned PositionAttribSize = 4;
+ static const unsigned TexAttribSize = 2;
+ static const unsigned MeshAttribSize = 2;
+ static const unsigned TriangleAttribSize = 3;
+
+ static const unsigned PositionAttribOffset = 0;
+ static const unsigned TexAttribOffset = PositionAttribOffset + PositionAttribSize * sizeof(float);
+ static const unsigned MeshAttribOffset = TexAttribOffset + TexAttribSize * sizeof(float);
+ static const unsigned TriangleAttribOffset = MeshAttribOffset + MeshAttribSize * sizeof(float);
+
+ bindVertexAttribute(m_compiledProgram->positionAttribLocation(), PositionAttribSize, PositionAttribOffset);
+ bindVertexAttribute(m_compiledProgram->texAttribLocation(), TexAttribSize, TexAttribOffset);
+ // FIXME: Get rid of the internal tex coord attribute "css_a_texCoord".
+ // https://bugs.webkit.org/show_bug.cgi?id=94358
+ bindVertexAttribute(m_compiledProgram->internalTexCoordAttribLocation(), TexAttribSize, TexAttribOffset);
+ bindVertexAttribute(m_compiledProgram->meshAttribLocation(), MeshAttribSize, MeshAttribOffset);
if (m_meshType == CustomFilterOperation::DETACHED)
- bindVertexAttribute(m_compiledProgram->triangleAttribLocation(), 3, offset);
+ bindVertexAttribute(m_compiledProgram->triangleAttribLocation(), TriangleAttribSize, TriangleAttribOffset);
bindProgramParameters();
}
+void FECustomFilter::unbindVertexAttributes()
+{
+ unbindVertexAttribute(m_compiledProgram->positionAttribLocation());
+ unbindVertexAttribute(m_compiledProgram->texAttribLocation());
+ unbindVertexAttribute(m_compiledProgram->internalTexCoordAttribLocation());
+ unbindVertexAttribute(m_compiledProgram->meshAttribLocation());
+ if (m_meshType == CustomFilterOperation::DETACHED)
+ unbindVertexAttribute(m_compiledProgram->triangleAttribLocation());
+}
+
void FECustomFilter::dump()
{
}
diff --git a/Source/WebCore/platform/graphics/filters/FECustomFilter.h b/Source/WebCore/platform/graphics/filters/FECustomFilter.h
index a1bacde1f..96bb9185e 100644
--- a/Source/WebCore/platform/graphics/filters/FECustomFilter.h
+++ b/Source/WebCore/platform/graphics/filters/FECustomFilter.h
@@ -45,11 +45,13 @@ class Uint8ClampedArray;
namespace WebCore {
class CachedShader;
+class CustomFilterCompiledProgram;
class CustomFilterGlobalContext;
class CustomFilterMesh;
class CustomFilterNumberParameter;
class CustomFilterProgram;
-class CustomFilterCompiledProgram;
+class CustomFilterTransformParameter;
+class CustomFilterValidatedProgram;
class DrawingBuffer;
class GraphicsContext3D;
class IntSize;
@@ -57,7 +59,7 @@ class Texture;
class FECustomFilter : public FilterEffect {
public:
- static PassRefPtr<FECustomFilter> create(Filter*, CustomFilterGlobalContext*, PassRefPtr<CustomFilterProgram>, const CustomFilterParameterList&,
+ static PassRefPtr<FECustomFilter> create(Filter*, CustomFilterGlobalContext*, PassRefPtr<CustomFilterValidatedProgram>, const CustomFilterParameterList&,
unsigned meshRows, unsigned meshColumns, CustomFilterOperation::MeshBoxType,
CustomFilterOperation::MeshType);
@@ -67,7 +69,7 @@ public:
virtual TextStream& externalRepresentation(TextStream&, int indention) const;
private:
- FECustomFilter(Filter*, CustomFilterGlobalContext*, PassRefPtr<CustomFilterProgram>, const CustomFilterParameterList&,
+ FECustomFilter(Filter*, CustomFilterGlobalContext*, PassRefPtr<CustomFilterValidatedProgram>, const CustomFilterParameterList&,
unsigned meshRows, unsigned meshColumns, CustomFilterOperation::MeshBoxType,
CustomFilterOperation::MeshType);
~FECustomFilter();
@@ -77,16 +79,20 @@ private:
bool initializeContext();
void deleteRenderBuffers();
void resizeContext(const IntSize& newContextSize);
- void bindVertexAttribute(int attributeLocation, unsigned size, unsigned& offset);
+ void bindVertexAttribute(int attributeLocation, unsigned size, unsigned offset);
+ void unbindVertexAttribute(int attributeLocation);
void bindProgramNumberParameters(int uniformLocation, CustomFilterNumberParameter*);
+ void bindProgramTransformParameter(int uniformLocation, CustomFilterTransformParameter*);
void bindProgramParameters();
void bindProgramAndBuffers(Uint8ClampedArray* srcPixelArray);
+ void unbindVertexAttributes();
// No need to keep a reference here. It is owned by the RenderView.
CustomFilterGlobalContext* m_globalContext;
RefPtr<GraphicsContext3D> m_context;
RefPtr<Texture> m_inputTexture;
+ RefPtr<CustomFilterValidatedProgram> m_validatedProgram;
RefPtr<CustomFilterCompiledProgram> m_compiledProgram;
RefPtr<CustomFilterMesh> m_mesh;
IntSize m_contextSize;
diff --git a/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h b/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h
index 6d9bdfe3a..47b54d539 100644
--- a/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h
+++ b/Source/WebCore/platform/graphics/filters/FEDisplacementMap.h
@@ -23,9 +23,9 @@
#define FEDisplacementMap_h
#if ENABLE(FILTERS)
-#include "PlatformString.h"
#include "FilterEffect.h"
#include "Filter.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp b/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp
index 0bd5cbc5a..283501c53 100644
--- a/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp
+++ b/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp
@@ -25,11 +25,10 @@
#include "Color.h"
#include "Filter.h"
#include "GraphicsContext.h"
-#include "PlatformString.h"
#include "RenderTreeAsText.h"
#include "TextStream.h"
-
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/SourceAlpha.h b/Source/WebCore/platform/graphics/filters/SourceAlpha.h
index 62f19fc41..96916e9f2 100644
--- a/Source/WebCore/platform/graphics/filters/SourceAlpha.h
+++ b/Source/WebCore/platform/graphics/filters/SourceAlpha.h
@@ -22,8 +22,6 @@
#if ENABLE(FILTERS)
#include "FilterEffect.h"
-
-#include "PlatformString.h"
#include "Filter.h"
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp b/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp
index f46d87da8..75b11ddf7 100644
--- a/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp
+++ b/Source/WebCore/platform/graphics/filters/SourceGraphic.cpp
@@ -24,11 +24,10 @@
#include "Filter.h"
#include "GraphicsContext.h"
-#include "PlatformString.h"
#include "RenderTreeAsText.h"
#include "TextStream.h"
-
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/SourceGraphic.h b/Source/WebCore/platform/graphics/filters/SourceGraphic.h
index d85330b77..c7e833e35 100644
--- a/Source/WebCore/platform/graphics/filters/SourceGraphic.h
+++ b/Source/WebCore/platform/graphics/filters/SourceGraphic.h
@@ -23,9 +23,7 @@
#if ENABLE(FILTERS)
#include "FilterEffect.h"
-
#include "Filter.h"
-#include "PlatformString.h"
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp b/Source/WebCore/platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp
new file mode 100644
index 000000000..9cfd1b6ad
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/blackberry/CustomFilterValidatedProgramBlackBerry.cpp
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2012 Research In Motion Limited. 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 HOLDER “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 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 ENABLE(CSS_SHADERS)
+
+#include "CustomFilterValidatedProgram.h"
+
+#include "LayerCompiledProgram.h"
+
+namespace WebCore {
+
+LayerCompiledProgram* CustomFilterValidatedProgram::platformCompiledProgram()
+{
+ ASSERT(m_isInitialized && !m_validatedVertexShader.isNull() && !m_validatedFragmentShader.isNull());
+
+ if (!m_platformCompiledProgram)
+ m_platformCompiledProgram = LayerCompiledProgram::create(m_validatedVertexShader, m_validatedFragmentShader).leakRef();
+
+ return m_platformCompiledProgram;
+}
+
+void CustomFilterValidatedProgram::platformInit()
+{
+ m_platformCompiledProgram = 0;
+}
+
+void CustomFilterValidatedProgram::platformDestroy()
+{
+ derefIfNotNull(m_platformCompiledProgram);
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(CSS_SHADERS)
diff --git a/Source/WebCore/platform/graphics/filters/skia/FEBlendSkia.cpp b/Source/WebCore/platform/graphics/filters/skia/FEBlendSkia.cpp
new file mode 100644
index 000000000..fdca432f4
--- /dev/null
+++ b/Source/WebCore/platform/graphics/filters/skia/FEBlendSkia.cpp
@@ -0,0 +1,89 @@
+/*
+ * Copyright (C) 2012 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"
+
+#if ENABLE(FILTERS)
+#include "FEBlend.h"
+
+#include "NativeImageSkia.h"
+#include "SkBitmapSource.h"
+#include "SkBlendImageFilter.h"
+
+namespace WebCore {
+
+static SkBlendImageFilter::Mode toSkiaMode(BlendModeType mode)
+{
+ switch (mode) {
+ case FEBLEND_MODE_NORMAL:
+ return SkBlendImageFilter::kNormal_Mode;
+ case FEBLEND_MODE_MULTIPLY:
+ return SkBlendImageFilter::kMultiply_Mode;
+ case FEBLEND_MODE_SCREEN:
+ return SkBlendImageFilter::kScreen_Mode;
+ case FEBLEND_MODE_DARKEN:
+ return SkBlendImageFilter::kDarken_Mode;
+ case FEBLEND_MODE_LIGHTEN:
+ return SkBlendImageFilter::kLighten_Mode;
+ default:
+ return SkBlendImageFilter::kNormal_Mode;
+ }
+}
+
+bool FEBlend::platformApplySkia()
+{
+ // For now, only use the skia implementation for accelerated rendering.
+ if (filter()->renderingMode() != Accelerated)
+ return false;
+
+ FilterEffect* in = inputEffect(0);
+ FilterEffect* in2 = inputEffect(1);
+
+ if (!in || !in2)
+ return false;
+
+ ImageBuffer* resultImage = createImageBufferResult();
+ if (!resultImage)
+ return false;
+
+ RefPtr<Image> foreground = in->asImageBuffer()->copyImage(DontCopyBackingStore);
+ RefPtr<Image> background = in2->asImageBuffer()->copyImage(DontCopyBackingStore);
+
+ SkBitmap foregroundBitmap = foreground->nativeImageForCurrentFrame()->bitmap();
+ SkBitmap backgroundBitmap = background->nativeImageForCurrentFrame()->bitmap();
+
+ SkAutoTUnref<SkImageFilter> backgroundSource(new SkBitmapSource(backgroundBitmap));
+ SkBlendImageFilter::Mode mode = toSkiaMode(m_mode);
+ SkAutoTUnref<SkImageFilter> blend(new SkBlendImageFilter(mode, backgroundSource));
+ SkPaint paint;
+ paint.setImageFilter(blend);
+ SkCanvas* canvas = resultImage->context()->platformContext()->canvas();
+ canvas->drawBitmap(foregroundBitmap, 0, 0, &paint);
+ return true;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(FILTERS)
diff --git a/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp b/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp
index 803ec3fe0..c95d1b3b9 100644
--- a/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp
+++ b/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp
@@ -25,11 +25,11 @@
#include "config.h"
#include "FontPlatformData.h"
-#include "PlatformString.h"
#include "FontDescription.h"
#include <cairo-ft.h>
#include <cairo.h>
#include <fontconfig/fcfreetype.h>
+#include <wtf/text/WTFString.h>
#if !PLATFORM(EFL)
#include <gdk/gdk.h>
diff --git a/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp b/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp
index 5d6e7fb26..d7d224264 100644
--- a/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp
+++ b/Source/WebCore/platform/graphics/freetype/SimpleFontDataFreeType.cpp
@@ -141,8 +141,18 @@ void SimpleFontData::determinePitch()
m_treatAsFixedPitch = m_platformData.isFixedPitch();
}
-FloatRect SimpleFontData::platformBoundsForGlyph(Glyph) const
+FloatRect SimpleFontData::platformBoundsForGlyph(Glyph glyph) const
{
+ if (!m_platformData.size())
+ return FloatRect();
+
+ cairo_glyph_t cglyph = { glyph, 0, 0 };
+ cairo_text_extents_t extents;
+ cairo_scaled_font_glyph_extents(m_platformData.scaledFont(), &cglyph, 1, &extents);
+
+ if (cairo_scaled_font_status(m_platformData.scaledFont()) == CAIRO_STATUS_SUCCESS)
+ return FloatRect(extents.x_bearing, extents.y_bearing, extents.width, extents.height);
+
return FloatRect();
}
diff --git a/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h b/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
index 3419ff541..9904242e4 100644
--- a/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
+++ b/Source/WebCore/platform/graphics/gpu/DrawingBuffer.h
@@ -121,6 +121,8 @@ public:
// graphics context to prevent freeing invalid resources.
void discardResources();
+ void markContentsChanged() { m_contentsChanged = true; }
+
#if USE(ACCELERATED_COMPOSITING)
PlatformLayer* platformLayer();
void prepareBackBuffer();
@@ -164,6 +166,9 @@ private:
Platform3DObject m_multisampleFBO;
Platform3DObject m_multisampleColorBuffer;
+ // True if our contents have been modified since the last presentation of this buffer.
+ bool m_contentsChanged;
+
#if PLATFORM(CHROMIUM)
OwnPtr<DrawingBufferPrivate> m_private;
#endif
diff --git a/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp b/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
index 7d476f3c3..c063fe4bb 100644
--- a/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
+++ b/Source/WebCore/platform/graphics/gpu/SharedGraphicsContext3D.cpp
@@ -28,8 +28,8 @@
#include "SharedGraphicsContext3D.h"
-#include "CCProxy.h"
#include "Extensions3D.h"
+#include <wtf/MainThread.h>
namespace WebCore {
@@ -89,19 +89,19 @@ static PassRefPtr<GraphicsContext3D> getOrCreateContextForImplThread(ContextOper
PassRefPtr<GraphicsContext3D> SharedGraphicsContext3D::getForImplThread()
{
- ASSERT(CCProxy::isImplThread());
+ ASSERT(!isMainThread());
return getOrCreateContextForImplThread(Get);
}
bool SharedGraphicsContext3D::haveForImplThread()
{
- ASSERT(CCProxy::isMainThread());
+ ASSERT(isMainThread());
return getOrCreateContextForImplThread(Get);
}
bool SharedGraphicsContext3D::createForImplThread()
{
- ASSERT(CCProxy::isMainThread());
+ ASSERT(isMainThread());
return getOrCreateContextForImplThread(Create);
}
diff --git a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
index e584be231..7508122ca 100644
--- a/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
+++ b/Source/WebCore/platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp
@@ -782,18 +782,15 @@ void StreamingClient::didReceiveResponse(ResourceHandle*, const ResourceResponse
if (length > 0) {
length += priv->requestedOffset;
gst_app_src_set_size(priv->appsrc, length);
+
+#ifndef GST_API_VERSION_1
if (!priv->haveAppSrc27) {
-#ifdef GST_API_VERSION_1
- GstSegment* segment = &GST_BASE_SRC(priv->appsrc)->segment;
- segment->duration = length;
- segment->format = GST_FORMAT_BYTES;
-#else
gst_segment_set_duration(&GST_BASE_SRC(priv->appsrc)->segment, GST_FORMAT_BYTES, length);
-#endif
gst_element_post_message(GST_ELEMENT(priv->appsrc),
gst_message_new_duration(GST_OBJECT(priv->appsrc),
GST_FORMAT_BYTES, length));
}
+#endif
}
priv->size = length >= 0 ? length : 0;
diff --git a/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp b/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp
index 63da5cc3d..c1102e7fa 100644
--- a/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp
+++ b/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp
@@ -1,10 +1,10 @@
/*
* Copyright (c) 2006, 2007, 2008, 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
@@ -14,7 +14,7 @@
* * 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
@@ -29,25 +29,27 @@
*/
#include "config.h"
-#include "FontPlatformData.h"
+#include "FontPlatformDataHarfBuzz.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
-#include "PlatformSupport.h"
-
#include "SkAdvancedTypefaceMetrics.h"
#include "SkFontHost.h"
#include "SkPaint.h"
#include "SkTypeface.h"
-#include <wtf/text/StringImpl.h>
-
#if USE(HARFBUZZ_NG)
#include "HarfBuzzNGFace.h"
#else
#include "HarfBuzzSkia.h"
#endif
+#include <public/linux/WebFontInfo.h>
+#include <public/linux/WebFontRenderStyle.h>
+#include <public/linux/WebSandboxSupport.h>
+#include <public/Platform.h>
+#include <wtf/text/StringImpl.h>
+#include <wtf/text/WTFString.h>
+
namespace WebCore {
static SkPaint::Hinting skiaHinting = SkPaint::kNormal_Hinting;
@@ -248,7 +250,7 @@ bool FontPlatformData::operator==(const FontPlatformData& a) const
else
typefacesEqual = SkTypeface::Equal(m_typeface, a.m_typeface);
- return typefacesEqual
+ return typefacesEqual
&& m_textSize == a.m_textSize
&& m_fakeBold == a.m_fakeBold
&& m_fakeItalic == a.m_fakeItalic
@@ -296,9 +298,27 @@ HarfbuzzFace* FontPlatformData::harfbuzzFace() const
}
#endif
+void FontPlatformData::getRenderStyleForStrike(const char* font, int sizeAndStyle)
+{
+ WebKit::WebFontRenderStyle style;
+
+#if OS(ANDROID)
+ style.setDefaults();
+#else
+ if (!font || !*font)
+ style.setDefaults(); // It's probably a webfont. Take the system defaults.
+ else if (WebKit::Platform::current()->sandboxSupport())
+ WebKit::Platform::current()->sandboxSupport()->getRenderStyleForStrike(font, sizeAndStyle, &style);
+ else
+ WebKit::WebFontInfo::renderStyleForStrike(font, sizeAndStyle, &style);
+#endif
+
+ style.toFontRenderStyle(&m_style);
+}
+
void FontPlatformData::querySystemForRenderStyle()
{
- PlatformSupport::getRenderStyleForStrike(m_family.data(), (((int)m_textSize) << 2) | (m_typeface->style() & 3), &m_style);
+ getRenderStyleForStrike(m_family.data(), (((int)m_textSize) << 2) | (m_typeface->style() & 3));
// Fix FontRenderStyle::NoPreference to actual styles.
if (m_style.useAntiAlias == FontRenderStyle::NoPreference)
diff --git a/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h b/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h
index 2c2f64bbc..d4a01f810 100644
--- a/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h
+++ b/Source/WebCore/platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h
@@ -1,10 +1,10 @@
/*
* Copyright (c) 2006, 2007, 2008, 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
@@ -14,7 +14,7 @@
* * 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
@@ -126,6 +126,7 @@ public:
static void setSubpixelPositioning(bool);
private:
+ void getRenderStyleForStrike(const char*, int);
void querySystemForRenderStyle();
// FIXME: Could SkAutoUnref be used here?
diff --git a/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp b/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp
index 6836b7db4..1b9b7d3a4 100644
--- a/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp
+++ b/Source/WebCore/platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp
@@ -97,7 +97,7 @@ void HarfBuzzShaperBase::setNormalizedBuffer(NormalizeMode normalizeMode)
for (int i = 0; i < m_run.length(); ++i) {
UChar ch = m_run[i];
if (::ublock_getCode(ch) == UBLOCK_COMBINING_DIACRITICAL_MARKS) {
- icu::Normalizer::normalize(icu::UnicodeString(m_run.characters(),
+ icu::Normalizer::normalize(icu::UnicodeString(m_run.characters16(),
m_run.length()), UNORM_NFC, 0 /* no options */,
normalizedString, error);
if (U_FAILURE(error))
@@ -109,7 +109,7 @@ void HarfBuzzShaperBase::setNormalizedBuffer(NormalizeMode normalizeMode)
const UChar* sourceText;
if (normalizedString.isEmpty()) {
m_normalizedBufferLength = m_run.length();
- sourceText = m_run.characters();
+ sourceText = m_run.characters16();
} else {
m_normalizedBufferLength = normalizedString.length();
sourceText = normalizedString.getBuffer();
diff --git a/Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp b/Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp
index 32e4d5600..4e327fcaa 100644
--- a/Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp
+++ b/Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp
@@ -172,7 +172,7 @@ HarfBuzzShaper::HarfBuzzShaper(const Font* font, const TextRun& run)
{
m_normalizedBuffer = adoptArrayPtr(new UChar[m_run.length() + 1]);
m_normalizedBufferLength = m_run.length();
- normalizeCharacters(m_run.characters(), m_normalizedBuffer.get(), m_normalizedBufferLength);
+ normalizeCharacters(m_run.characters16(), m_normalizedBuffer.get(), m_normalizedBufferLength);
setPadding(m_run.expansion());
setFontFeatures();
}
diff --git a/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp b/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp
index 83d6ee467..429da5410 100644
--- a/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp
+++ b/Source/WebCore/platform/graphics/mac/ComplexTextController.cpp
@@ -27,6 +27,8 @@
#include "FloatSize.h"
#include "Font.h"
+#include "RenderBlock.h"
+#include "RenderText.h"
#include "TextBreakIterator.h"
#include "TextRun.h"
#include <ApplicationServices/ApplicationServices.h>
@@ -37,6 +39,71 @@ using namespace std;
namespace WebCore {
+class TextLayout {
+public:
+ static bool isNeeded(RenderText* text, const Font& font)
+ {
+ TextRun run = RenderBlock::constructTextRun(text, font, text->characters(), text->textLength(), text->style());
+ return font.codePath(run) == Font::Complex;
+ }
+
+ TextLayout(RenderText* text, const Font& font, float xPos)
+ : m_font(fontWithNoWordSpacing(font))
+ , m_run(constructTextRun(text, font, xPos))
+ , m_controller(adoptPtr(new ComplexTextController(&m_font, m_run, true)))
+ {
+ }
+
+ float width(unsigned from, unsigned len)
+ {
+ m_controller->advance(from, 0, ByWholeGlyphs);
+ float beforeWidth = m_controller->runWidthSoFar();
+ m_controller->advance(from + len, 0, ByWholeGlyphs);
+ float afterWidth = m_controller->runWidthSoFar();
+ return afterWidth - beforeWidth;
+ }
+
+private:
+ static Font fontWithNoWordSpacing(const Font& originalFont)
+ {
+ Font font(originalFont);
+ font.setWordSpacing(0);
+ return font;
+ }
+
+ static TextRun constructTextRun(RenderText* text, const Font& font, float xPos)
+ {
+ TextRun run = RenderBlock::constructTextRun(text, font, text->characters(), text->textLength(), text->style());
+ run.setCharactersLength(text->textLength());
+ ASSERT(run.charactersLength() >= run.length());
+
+ run.setXPos(xPos);
+ return run;
+ }
+
+ // ComplexTextController has only references to its Font and TextRun so they must be kept alive here.
+ Font m_font;
+ TextRun m_run;
+ OwnPtr<ComplexTextController> m_controller;
+};
+
+PassOwnPtr<TextLayout> Font::createLayout(RenderText* text, float xPos, bool collapseWhiteSpace) const
+{
+ if (!collapseWhiteSpace || !TextLayout::isNeeded(text, *this))
+ return nullptr;
+ return adoptPtr(new TextLayout(text, *this, xPos));
+}
+
+void Font::deleteLayout(TextLayout* layout)
+{
+ delete layout;
+}
+
+float Font::width(TextLayout& layout, unsigned from, unsigned len)
+{
+ return layout.width(from, len);
+}
+
static inline CGFloat roundCGFloat(CGFloat f)
{
if (sizeof(CGFloat) == sizeof(float))
@@ -54,6 +121,7 @@ static inline CGFloat ceilCGFloat(CGFloat f)
ComplexTextController::ComplexTextController(const Font* font, const TextRun& run, bool mayUseNaturalWritingDirection, HashSet<const SimpleFontData*>* fallbackFonts, bool forTextEmphasis)
: m_font(*font)
, m_run(run)
+ , m_isLTROnly(true)
, m_mayUseNaturalWritingDirection(mayUseNaturalWritingDirection)
, m_forTextEmphasis(forTextEmphasis)
, m_currentCharacter(0)
@@ -79,7 +147,7 @@ ComplexTextController::ComplexTextController(const Font* font, const TextRun& ru
m_expansionPerOpportunity = 0;
else {
bool isAfterExpansion = m_afterExpansion;
- unsigned expansionOpportunityCount = Font::expansionOpportunityCount(m_run.characters(), m_end, m_run.ltr() ? LTR : RTL, isAfterExpansion);
+ unsigned expansionOpportunityCount = Font::expansionOpportunityCount(m_run.characters16(), m_end, m_run.ltr() ? LTR : RTL, isAfterExpansion);
if (isAfterExpansion && !m_run.allowsTrailingExpansion())
expansionOpportunityCount--;
@@ -92,6 +160,9 @@ ComplexTextController::ComplexTextController(const Font* font, const TextRun& ru
collectComplexTextRuns();
adjustGlyphsAndAdvances();
+ if (!m_isLTROnly)
+ m_runIndices.reserveInitialCapacity(m_complexTextRuns.size());
+
m_runWidthSoFar = m_leadingExpansion;
}
@@ -218,7 +289,7 @@ void ComplexTextController::collectComplexTextRuns()
return;
// We break up glyph run generation for the string by FontData.
- const UChar* cp = m_run.characters();
+ const UChar* cp = m_run.characters16();
if (m_font.isSmallCaps())
m_smallCapsBuffer.resize(m_end);
@@ -340,25 +411,75 @@ void ComplexTextController::ComplexTextRun::setIsNonMonotonic()
}
}
-void ComplexTextController::advance(unsigned offset, GlyphBuffer* glyphBuffer)
+unsigned ComplexTextController::indexOfCurrentRun(unsigned& leftmostGlyph)
+{
+ leftmostGlyph = 0;
+
+ size_t runCount = m_complexTextRuns.size();
+ if (m_currentRun >= runCount)
+ return runCount;
+
+ if (m_isLTROnly) {
+ for (unsigned i = 0; i < m_currentRun; ++i)
+ leftmostGlyph += m_complexTextRuns[i]->glyphCount();
+ return m_currentRun;
+ }
+
+ while (m_runIndices.size() <= m_currentRun) {
+ unsigned offset = m_runIndices.isEmpty() ? 0 : stringEnd(*m_complexTextRuns[m_runIndices.last()]);
+
+ for (unsigned i = 0; i < runCount; ++i) {
+ if (offset == stringBegin(*m_complexTextRuns[i])) {
+ m_runIndices.uncheckedAppend(i);
+ break;
+ }
+ }
+ }
+
+ unsigned currentRunIndex = m_runIndices[m_currentRun];
+ for (unsigned i = 0; i < currentRunIndex; ++i)
+ leftmostGlyph += m_complexTextRuns[i]->glyphCount();
+ return currentRunIndex;
+}
+
+unsigned ComplexTextController::incrementCurrentRun(unsigned& leftmostGlyph)
+{
+ if (m_isLTROnly) {
+ leftmostGlyph += m_complexTextRuns[m_currentRun++]->glyphCount();
+ return m_currentRun;
+ }
+
+ m_currentRun++;
+ leftmostGlyph = 0;
+ return indexOfCurrentRun(leftmostGlyph);
+}
+
+void ComplexTextController::advance(unsigned offset, GlyphBuffer* glyphBuffer, GlyphIterationStyle iterationStyle)
{
if (static_cast<int>(offset) > m_end)
offset = m_end;
- if (offset <= m_currentCharacter)
- return;
+ if (offset <= m_currentCharacter) {
+ m_runWidthSoFar = m_leadingExpansion;
+ m_numGlyphsSoFar = 0;
+ m_currentRun = 0;
+ m_glyphInCurrentRun = 0;
+ m_characterInCurrentGlyph = 0;
+ }
m_currentCharacter = offset;
size_t runCount = m_complexTextRuns.size();
- bool ltr = m_run.ltr();
-
- unsigned k = ltr ? m_numGlyphsSoFar : m_adjustedGlyphs.size() - 1 - m_numGlyphsSoFar;
+ unsigned leftmostGlyph = 0;
+ unsigned currentRunIndex = indexOfCurrentRun(leftmostGlyph);
while (m_currentRun < runCount) {
- const ComplexTextRun& complexTextRun = *m_complexTextRuns[ltr ? m_currentRun : runCount - 1 - m_currentRun];
+ const ComplexTextRun& complexTextRun = *m_complexTextRuns[currentRunIndex];
+ bool ltr = complexTextRun.isLTR();
size_t glyphCount = complexTextRun.glyphCount();
unsigned g = ltr ? m_glyphInCurrentRun : glyphCount - 1 - m_glyphInCurrentRun;
+ unsigned k = leftmostGlyph + g;
+
while (m_glyphInCurrentRun < glyphCount) {
unsigned glyphStartOffset = complexTextRun.indexAt(g);
unsigned glyphEndOffset;
@@ -387,6 +508,9 @@ void ComplexTextController::advance(unsigned offset, GlyphBuffer* glyphBuffer)
// When there are multiple glyphs per character we need to advance by the full width of the glyph.
ASSERT(m_characterInCurrentGlyph == oldCharacterInCurrentGlyph);
m_runWidthSoFar += adjustedAdvance.width;
+ } else if (iterationStyle == ByWholeGlyphs) {
+ if (!oldCharacterInCurrentGlyph)
+ m_runWidthSoFar += adjustedAdvance.width;
} else
m_runWidthSoFar += adjustedAdvance.width * (m_characterInCurrentGlyph - oldCharacterInCurrentGlyph) / (glyphEndOffset - glyphStartOffset);
@@ -404,10 +528,10 @@ void ComplexTextController::advance(unsigned offset, GlyphBuffer* glyphBuffer)
k--;
}
}
- m_currentRun++;
+ currentRunIndex = incrementCurrentRun(leftmostGlyph);
m_glyphInCurrentRun = 0;
}
- if (!ltr && m_numGlyphsSoFar == m_adjustedAdvances.size())
+ if (!m_run.ltr() && m_numGlyphsSoFar == m_adjustedAdvances.size())
m_runWidthSoFar += m_finalRoundingWidth;
}
@@ -421,6 +545,9 @@ void ComplexTextController::adjustGlyphsAndAdvances()
unsigned glyphCount = complexTextRun.glyphCount();
const SimpleFontData* fontData = complexTextRun.fontData();
+ if (!complexTextRun.isLTR())
+ m_isLTROnly = false;
+
const CGGlyph* glyphs = complexTextRun.glyphs();
const CGSize* advances = complexTextRun.advances();
@@ -508,7 +635,7 @@ void ComplexTextController::adjustGlyphsAndAdvances()
m_afterExpansion = false;
// Account for word-spacing.
- if (treatAsSpace && characterIndex > 0 && !Font::treatAsSpace(*m_run.data(characterIndex - 1)) && m_font.wordSpacing())
+ if (treatAsSpace && characterIndex > 0 && !Font::treatAsSpace(m_run[characterIndex - 1]) && m_font.wordSpacing())
advance.width += m_font.wordSpacing();
} else
m_afterExpansion = false;
diff --git a/Source/WebCore/platform/graphics/mac/ComplexTextController.h b/Source/WebCore/platform/graphics/mac/ComplexTextController.h
index 7c00dcbb4..b3165c279 100644
--- a/Source/WebCore/platform/graphics/mac/ComplexTextController.h
+++ b/Source/WebCore/platform/graphics/mac/ComplexTextController.h
@@ -44,6 +44,8 @@ class Font;
class SimpleFontData;
class TextRun;
+enum GlyphIterationStyle { IncludePartialGlyphs, ByWholeGlyphs };
+
// ComplexTextController is responsible for rendering and measuring glyphs for
// complex scripts on OS X.
class ComplexTextController {
@@ -51,7 +53,7 @@ public:
ComplexTextController(const Font*, const TextRun&, bool mayUseNaturalWritingDirection = false, HashSet<const SimpleFontData*>* fallbackFonts = 0, bool forTextEmphasis = false);
// Advance and emit glyphs up to the specified character.
- void advance(unsigned to, GlyphBuffer* = 0);
+ void advance(unsigned to, GlyphBuffer* = 0, GlyphIterationStyle = IncludePartialGlyphs);
// Compute the character offset for a given x coordinate.
int offsetForPosition(float x, bool includePartialGlyphs);
@@ -89,10 +91,12 @@ private:
unsigned stringLocation() const { return m_stringLocation; }
size_t stringLength() const { return m_stringLength; }
ALWAYS_INLINE CFIndex indexAt(size_t i) const;
+ CFIndex indexBegin() const { return m_indexBegin; }
CFIndex indexEnd() const { return m_indexEnd; }
CFIndex endOffsetAt(size_t i) const { ASSERT(!m_isMonotonic); return m_glyphEndOffsets[i]; }
const CGGlyph* glyphs() const { return m_glyphs; }
const CGSize* advances() const { return m_advances; }
+ bool isLTR() const { return m_isLTR; }
bool isMonotonic() const { return m_isMonotonic; }
void setIsNonMonotonic();
@@ -107,22 +111,35 @@ private:
size_t m_stringLength;
Vector<CFIndex, 64> m_coreTextIndicesVector;
const CFIndex* m_coreTextIndices;
+ CFIndex m_indexBegin;
CFIndex m_indexEnd;
Vector<CFIndex, 64> m_glyphEndOffsets;
Vector<CGGlyph, 64> m_glyphsVector;
const CGGlyph* m_glyphs;
Vector<CGSize, 64> m_advancesVector;
const CGSize* m_advances;
+ bool m_isLTR;
bool m_isMonotonic;
};
+
+ static unsigned stringBegin(const ComplexTextRun& run) { return run.stringLocation() + run.indexBegin(); }
+ static unsigned stringEnd(const ComplexTextRun& run) { return run.stringLocation() + run.indexEnd(); }
void collectComplexTextRuns();
void collectComplexTextRunsForCharacters(const UChar*, unsigned length, unsigned stringLocation, const SimpleFontData*);
void adjustGlyphsAndAdvances();
+ unsigned indexOfCurrentRun(unsigned& leftmostGlyph);
+ unsigned incrementCurrentRun(unsigned& leftmostGlyph);
+
+ // The default size of this vector was selected as being the smallest power of two greater than
+ // the average (3.5) plus one standard deviation (7.5) of nonzero sizes used on Arabic Wikipedia.
+ Vector<unsigned, 16> m_runIndices;
+
const Font& m_font;
const TextRun& m_run;
+ bool m_isLTROnly;
bool m_mayUseNaturalWritingDirection;
bool m_forTextEmphasis;
diff --git a/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm b/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm
index a993b7772..2440fd48e 100644
--- a/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm
+++ b/Source/WebCore/platform/graphics/mac/ComplexTextControllerCoreText.mm
@@ -105,7 +105,9 @@ ComplexTextController::ComplexTextRun::ComplexTextRun(CTRunRef ctRun, const Simp
, m_characters(characters)
, m_stringLocation(stringLocation)
, m_stringLength(stringLength)
+ , m_indexBegin(runRange.location)
, m_indexEnd(runRange.location + runRange.length)
+ , m_isLTR(!(CTRunGetStatus(ctRun) & kCTRunStatusRightToLeft))
, m_isMonotonic(true)
{
m_glyphCount = CTRunGetGlyphCount(ctRun);
@@ -138,7 +140,9 @@ ComplexTextController::ComplexTextRun::ComplexTextRun(const SimpleFontData* font
, m_characters(characters)
, m_stringLocation(stringLocation)
, m_stringLength(stringLength)
+ , m_indexBegin(0)
, m_indexEnd(stringLength)
+ , m_isLTR(ltr)
, m_isMonotonic(true)
{
m_coreTextIndicesVector.reserveInitialCapacity(m_stringLength);
diff --git a/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm b/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
index d570f485a..68f4f2437 100644
--- a/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
+++ b/Source/WebCore/platform/graphics/mac/GraphicsContext3DMac.mm
@@ -92,11 +92,11 @@ PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attri
// This implementation doesn't currently support rendering directly to the HostWindow.
if (renderStyle == RenderDirectlyToHostWindow)
return 0;
- RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, false));
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, renderStyle));
return context->m_contextObj ? context.release() : 0;
}
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, bool)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
: m_currentWidth(0)
, m_currentHeight(0)
, m_contextObj(0)
@@ -116,6 +116,7 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWi
, m_private(adoptPtr(new GraphicsContext3DPrivate(this)))
{
UNUSED_PARAM(hostWindow);
+ UNUSED_PARAM(renderStyle);
Vector<CGLPixelFormatAttribute> attribs;
CGLPixelFormatObj pixelFormatObj = 0;
diff --git a/Source/WebCore/platform/graphics/mac/IconMac.mm b/Source/WebCore/platform/graphics/mac/IconMac.mm
index 17b6a28f5..dbf6a715e 100644
--- a/Source/WebCore/platform/graphics/mac/IconMac.mm
+++ b/Source/WebCore/platform/graphics/mac/IconMac.mm
@@ -23,8 +23,8 @@
#import "GraphicsContext.h"
#import "LocalCurrentGraphicsContext.h"
-#import "PlatformString.h"
#import <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/mac/ImageMac.mm b/Source/WebCore/platform/graphics/mac/ImageMac.mm
index 62fa565ed..bc0bcc522 100644
--- a/Source/WebCore/platform/graphics/mac/ImageMac.mm
+++ b/Source/WebCore/platform/graphics/mac/ImageMac.mm
@@ -28,8 +28,8 @@
#import "FloatRect.h"
#import "GraphicsContext.h"
-#import "PlatformString.h"
#import "SharedBuffer.h"
+#import <wtf/text/WTFString.h>
@interface WebCoreBundleFinder : NSObject
@end
diff --git a/Source/WebCore/platform/graphics/mac/WebGLLayer.mm b/Source/WebCore/platform/graphics/mac/WebGLLayer.mm
index d1007b904..2000e1270 100644
--- a/Source/WebCore/platform/graphics/mac/WebGLLayer.mm
+++ b/Source/WebCore/platform/graphics/mac/WebGLLayer.mm
@@ -33,6 +33,7 @@
#import "GraphicsContext3D.h"
#import "GraphicsLayer.h"
#import <OpenGL/OpenGL.h>
+#import <OpenGL/gl.h>
#import <wtf/FastMalloc.h>
#import <wtf/RetainPtr.h>
#import <wtf/UnusedParam.h>
diff --git a/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h b/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h
index 6aa3274b2..d508a7684 100644
--- a/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h
+++ b/Source/WebCore/platform/graphics/opengl/Extensions3DOpenGLES.h
@@ -32,7 +32,7 @@
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
-#if PLATFORM(BLACKBERRY)
+#if OS(QNX)
// See https://bugs.webkit.org/show_bug.cgi?id=91030.
#define PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMG PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC
#define PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMG PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC
diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
index fd450141c..98e1145b3 100644
--- a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
+++ b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp
@@ -256,7 +256,7 @@ bool GraphicsContext3D::texImage2D(GC3Denum target, GC3Dint level, GC3Denum inte
synthesizeGLError(INVALID_VALUE);
return false;
}
- makeContextCurrent();
+
GC3Denum openGLInternalFormat = internalformat;
if (type == GL_FLOAT) {
if (format == GL_RGBA)
@@ -265,7 +265,7 @@ bool GraphicsContext3D::texImage2D(GC3Denum target, GC3Dint level, GC3Denum inte
openGLInternalFormat = GL_RGB32F_ARB;
}
- ::glTexImage2D(target, level, openGLInternalFormat, width, height, border, format, type, pixels);
+ texImage2DDirect(target, level, openGLInternalFormat, width, height, border, format, type, pixels);
return true;
}
diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
index e0c2d6e67..d81e9e6af 100644
--- a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
+++ b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
@@ -70,6 +70,12 @@
namespace WebCore {
+PassRefPtr<GraphicsContext3D> GraphicsContext3D::createForCurrentGLContext()
+{
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(Attributes(), 0, GraphicsContext3D::RenderToCurrentGLContext));
+ return context->m_private ? context.release() : 0;
+}
+
void GraphicsContext3D::validateDepthStencil(const char* packedDepthStencilExtension)
{
Extensions3D* extensions = getExtensions();
@@ -623,14 +629,14 @@ bool GraphicsContext3D::getActiveAttrib(Platform3DObject program, GC3Duint index
makeContextCurrent();
GLint maxAttributeSize = 0;
::glGetProgramiv(program, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, &maxAttributeSize);
- GLchar name[maxAttributeSize]; // GL_ACTIVE_ATTRIBUTE_MAX_LENGTH includes null termination.
+ OwnArrayPtr<GLchar> name = adoptArrayPtr(new GLchar[maxAttributeSize]); // GL_ACTIVE_ATTRIBUTE_MAX_LENGTH includes null termination.
GLsizei nameLength = 0;
GLint size = 0;
GLenum type = 0;
- ::glGetActiveAttrib(program, index, maxAttributeSize, &nameLength, &size, &type, name);
+ ::glGetActiveAttrib(program, index, maxAttributeSize, &nameLength, &size, &type, name.get());
if (!nameLength)
return false;
- info.name = String(name, nameLength);
+ info.name = String(name.get(), nameLength);
info.type = type;
info.size = size;
return true;
@@ -1374,6 +1380,12 @@ bool GraphicsContext3D::layerComposited() const
return m_layerComposited;
}
+void GraphicsContext3D::texImage2DDirect(GC3Denum target, GC3Dint level, GC3Denum internalformat, GC3Dsizei width, GC3Dsizei height, GC3Dint border, GC3Denum format, GC3Denum type, const void* pixels)
+{
+ makeContextCurrent();
+ ::glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
+}
+
}
#endif // USE(3D_GRAPHICS)
diff --git a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
index 9dbb48335..4d1530c4b 100644
--- a/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
+++ b/Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp
@@ -31,6 +31,7 @@
#if USE(3D_GRAPHICS)
#include "GraphicsContext3D.h"
+
#include "Extensions3DOpenGLES.h"
#include "IntRect.h"
#include "IntSize.h"
@@ -201,8 +202,8 @@ bool GraphicsContext3D::texImage2D(GC3Denum target, GC3Dint level, GC3Denum inte
synthesizeGLError(INVALID_VALUE);
return false;
}
- makeContextCurrent();
- ::glTexImage2D(target, level, internalformat, width, height, border, format, type, pixels);
+
+ texImage2DDirect(target, level, internalformat, width, height, border, format, type, pixels);
return true;
}
diff --git a/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h b/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h
index 2f2d51c62..da9cea96c 100644
--- a/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h
+++ b/Source/WebCore/platform/graphics/opentype/OpenTypeTypes.h
@@ -102,5 +102,4 @@ protected:
} // namespace OpenType
} // namespace WebCore
-
#endif // OpenTypeTypes_h
diff --git a/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h b/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h
index f8e878773..7b8154482 100644
--- a/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h
+++ b/Source/WebCore/platform/graphics/opentype/OpenTypeUtilities.h
@@ -27,9 +27,9 @@
#ifndef OpenTypeUtilities_h
#define OpenTypeUtilities_h
-#include "PlatformString.h"
#include <windows.h>
#include <wtf/Forward.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp b/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp
index c6d13f26b..584d78ff8 100644
--- a/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp
+++ b/Source/WebCore/platform/graphics/opentype/OpenTypeVerticalData.cpp
@@ -554,5 +554,4 @@ void OpenTypeVerticalData::substituteWithVerticalGlyphs(const SimpleFontData* fo
}
} // namespace WebCore
-
#endif // ENABLE(OPENTYPE_VERTICAL)
diff --git a/Source/WebCore/platform/graphics/openvg/PathOpenVG.cpp b/Source/WebCore/platform/graphics/openvg/PathOpenVG.cpp
index 95df242eb..a1fe36a5d 100644
--- a/Source/WebCore/platform/graphics/openvg/PathOpenVG.cpp
+++ b/Source/WebCore/platform/graphics/openvg/PathOpenVG.cpp
@@ -26,12 +26,12 @@
#include "NotImplemented.h"
#include "PainterOpenVG.h"
#include "PlatformPathOpenVG.h"
-#include "PlatformString.h"
#include "StrokeStyleApplier.h"
#include "VGUtils.h"
#include <openvg.h>
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
#define WEBKIT_VG_PATH_CAPABILITIES VG_PATH_CAPABILITY_ALL
diff --git a/Source/WebCore/platform/graphics/pango/FontPango.cpp b/Source/WebCore/platform/graphics/pango/FontPango.cpp
index cef443db4..03507c4c7 100644
--- a/Source/WebCore/platform/graphics/pango/FontPango.cpp
+++ b/Source/WebCore/platform/graphics/pango/FontPango.cpp
@@ -292,7 +292,7 @@ void Font::drawComplexText(GraphicsContext* context, const TextRun& run, const F
PangoLayout* layout = pango_cairo_create_layout(cr);
setPangoAttributes(this, run, layout);
- gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length());
+ gchar* utf8 = convertUniCharToUTF8(run.characters16(), run.length(), 0, run.length());
pango_layout_set_text(layout, utf8, -1);
// Our layouts are single line
@@ -380,7 +380,7 @@ float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFon
PangoLayout* layout = getDefaultPangoLayout(run);
setPangoAttributes(this, run, layout);
- gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length());
+ gchar* utf8 = convertUniCharToUTF8(run.characters16(), run.length(), 0, run.length());
pango_layout_set_text(layout, utf8, -1);
int width;
@@ -405,7 +405,7 @@ int Font::offsetForPositionForComplexText(const TextRun& run, float xFloat, bool
PangoLayout* layout = getDefaultPangoLayout(run);
setPangoAttributes(this, run, layout);
- gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length());
+ gchar* utf8 = convertUniCharToUTF8(run.characters16(), run.length(), 0, run.length());
pango_layout_set_text(layout, utf8, -1);
int index, trailing;
@@ -430,7 +430,7 @@ FloatRect Font::selectionRectForComplexText(const TextRun& run, const FloatPoint
PangoLayout* layout = getDefaultPangoLayout(run);
setPangoAttributes(this, run, layout);
- gchar* utf8 = convertUniCharToUTF8(run.characters(), run.length(), 0, run.length());
+ gchar* utf8 = convertUniCharToUTF8(run.characters16(), run.length(), 0, run.length());
pango_layout_set_text(layout, utf8, -1);
char* start = g_utf8_offset_to_pointer(utf8, from);
diff --git a/Source/WebCore/platform/graphics/pango/FontPlatformDataPango.cpp b/Source/WebCore/platform/graphics/pango/FontPlatformDataPango.cpp
index 03dc33d96..61cd042ff 100644
--- a/Source/WebCore/platform/graphics/pango/FontPlatformDataPango.cpp
+++ b/Source/WebCore/platform/graphics/pango/FontPlatformDataPango.cpp
@@ -25,11 +25,11 @@
#include "config.h"
#include "FontPlatformData.h"
-#include "PlatformString.h"
#include "FontDescription.h"
-#include <wtf/text/CString.h>
-#include <cairo.h>
#include <assert.h>
+#include <cairo.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <pango/pango.h>
#include <pango/pangocairo.h>
diff --git a/Source/WebCore/platform/graphics/qt/FontCacheQt.cpp b/Source/WebCore/platform/graphics/qt/FontCacheQt.cpp
index 957d77a9c..b58198fa3 100644
--- a/Source/WebCore/platform/graphics/qt/FontCacheQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/FontCacheQt.cpp
@@ -28,11 +28,11 @@
#include "FontDescription.h"
#include "FontPlatformData.h"
#include "Font.h"
-#include "PlatformString.h"
#include <utility>
#include <wtf/ListHashSet.h>
#include <wtf/StdLibExtras.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <QFont>
#include <QFontDatabase>
diff --git a/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp b/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
index c1a157422..529150a7b 100644
--- a/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/FontPlatformDataQt.cpp
@@ -23,7 +23,7 @@
#include "config.h"
#include "FontPlatformData.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/qt/FontQt.cpp b/Source/WebCore/platform/graphics/qt/FontQt.cpp
index ef9902271..f5bacddcc 100644
--- a/Source/WebCore/platform/graphics/qt/FontQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/FontQt.cpp
@@ -178,7 +178,7 @@ static void drawQtGlyphRun(GraphicsContext* context, const QGlyphRun& qtGlyphRun
void Font::drawComplexText(GraphicsContext* ctx, const TextRun& run, const FloatPoint& point, int from, int to) const
{
- String sanitized = Font::normalizeSpaces(run.characters(), run.length());
+ String sanitized = Font::normalizeSpaces(run.characters16(), run.length());
const QString string = fromRawDataWithoutRef(sanitized);
QTextLayout layout(string);
layout.setRawFont(rawFont());
@@ -201,7 +201,7 @@ float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFon
if (run.length() == 1 && treatAsSpace(run[0]))
return primaryFont()->spaceWidth() + run.expansion();
- String sanitized = Font::normalizeSpaces(run.characters(), run.length());
+ String sanitized = Font::normalizeSpaces(run.characters16(), run.length());
QString string = fromRawDataWithoutRef(sanitized);
QTextLayout layout(string);
@@ -217,7 +217,7 @@ float Font::floatWidthForComplexText(const TextRun& run, HashSet<const SimpleFon
int Font::offsetForPositionForComplexText(const TextRun& run, float position, bool) const
{
- String sanitized = Font::normalizeSpaces(run.characters(), run.length());
+ String sanitized = Font::normalizeSpaces(run.characters16(), run.length());
QString string = fromRawDataWithoutRef(sanitized);
QTextLayout layout(string);
@@ -229,7 +229,7 @@ int Font::offsetForPositionForComplexText(const TextRun& run, float position, bo
FloatRect Font::selectionRectForComplexText(const TextRun& run, const FloatPoint& pt, int h, int from, int to) const
{
- String sanitized = Font::normalizeSpaces(run.characters(), run.length());
+ String sanitized = Font::normalizeSpaces(run.characters16(), run.length());
QString string = fromRawDataWithoutRef(sanitized);
QTextLayout layout(string);
diff --git a/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp b/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
index 8852ccdb1..98adec7f8 100644
--- a/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp
@@ -61,7 +61,7 @@ class GraphicsContext3DPrivate
#endif
{
public:
- GraphicsContext3DPrivate(GraphicsContext3D*, HostWindow*);
+ GraphicsContext3DPrivate(GraphicsContext3D*, HostWindow*, GraphicsContext3D::RenderStyle);
~GraphicsContext3DPrivate();
#if USE(ACCELERATED_COMPOSITING)
@@ -76,6 +76,8 @@ public:
void blitMultisampleFramebuffer() const;
void blitMultisampleFramebufferAndRestoreContext() const;
bool makeCurrentIfNeeded() const;
+ void createOffscreenBuffers();
+ void initializeANGLE();
void createGraphicsSurfaces(const IntSize&);
GraphicsContext3D* m_context;
@@ -104,7 +106,7 @@ void GraphicsContext3D::releaseShaderCompiler()
}
#endif
-GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, HostWindow* hostWindow)
+GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
: m_context(context)
, m_hostWindow(hostWindow)
, m_surface(0)
@@ -121,6 +123,12 @@ GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, H
return;
}
+ if (renderStyle == GraphicsContext3D::RenderToCurrentGLContext) {
+ m_platformContext = QOpenGLContext::currentContext();
+ m_surface = m_platformContext->surface();
+ return;
+ }
+
#if USE(GRAPHICS_SURFACE)
// FIXME: Find a way to create a QOpenGLContext without creating a QWindow at all.
// We need to create a surface in order to create a QOpenGLContext and make it current.
@@ -145,12 +153,67 @@ GraphicsContext3DPrivate::GraphicsContext3DPrivate(GraphicsContext3D* context, H
#endif
}
+void GraphicsContext3DPrivate::createOffscreenBuffers()
+{
+ glGenFramebuffers(/* count */ 1, &m_context->m_fbo);
+
+ glGenTextures(1, &m_context->m_texture);
+ glBindTexture(GraphicsContext3D::TEXTURE_2D, m_context->m_texture);
+ glTexParameterf(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MAG_FILTER, GraphicsContext3D::LINEAR);
+ glTexParameterf(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MIN_FILTER, GraphicsContext3D::LINEAR);
+ glTexParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_S, GraphicsContext3D::CLAMP_TO_EDGE);
+ glTexParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_T, GraphicsContext3D::CLAMP_TO_EDGE);
+ glBindTexture(GraphicsContext3D::TEXTURE_2D, 0);
+
+ // Create a multisample FBO.
+ if (m_context->m_attrs.antialias) {
+ glGenFramebuffers(1, &m_context->m_multisampleFBO);
+ glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_context->m_multisampleFBO);
+ m_context->m_boundFBO = m_context->m_multisampleFBO;
+ glGenRenderbuffers(1, &m_context->m_multisampleColorBuffer);
+ if (m_context->m_attrs.stencil || m_context->m_attrs.depth)
+ glGenRenderbuffers(1, &m_context->m_multisampleDepthStencilBuffer);
+ } else {
+ // Bind canvas FBO.
+ glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_context->m_fbo);
+ m_context->m_boundFBO = m_context->m_fbo;
+#if USE(OPENGL_ES_2)
+ if (m_context->m_attrs.depth)
+ glGenRenderbuffers(1, &m_context->m_depthBuffer);
+ if (m_context->m_attrs.stencil)
+ glGenRenderbuffers(1, &m_context->m_stencilBuffer);
+#endif
+ if (m_context->m_attrs.stencil || m_context->m_attrs.depth)
+ glGenRenderbuffers(1, &m_context->m_depthStencilBuffer);
+ }
+}
+
+void GraphicsContext3DPrivate::initializeANGLE()
+{
+ ShBuiltInResources ANGLEResources;
+ ShInitBuiltInResources(&ANGLEResources);
+
+ m_context->getIntegerv(GraphicsContext3D::MAX_VERTEX_ATTRIBS, &ANGLEResources.MaxVertexAttribs);
+ m_context->getIntegerv(GraphicsContext3D::MAX_VERTEX_UNIFORM_VECTORS, &ANGLEResources.MaxVertexUniformVectors);
+ m_context->getIntegerv(GraphicsContext3D::MAX_VARYING_VECTORS, &ANGLEResources.MaxVaryingVectors);
+ m_context->getIntegerv(GraphicsContext3D::MAX_VERTEX_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxVertexTextureImageUnits);
+ m_context->getIntegerv(GraphicsContext3D::MAX_COMBINED_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxCombinedTextureImageUnits);
+ m_context->getIntegerv(GraphicsContext3D::MAX_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxTextureImageUnits);
+ m_context->getIntegerv(GraphicsContext3D::MAX_FRAGMENT_UNIFORM_VECTORS, &ANGLEResources.MaxFragmentUniformVectors);
+
+ // Always set to 1 for OpenGL ES.
+ ANGLEResources.MaxDrawBuffers = 1;
+ m_context->m_compiler.setResources(ANGLEResources);
+}
+
GraphicsContext3DPrivate::~GraphicsContext3DPrivate()
{
- delete m_surface;
- m_surface = 0;
- // Platform context is assumed to be owned by surface.
- m_platformContext = 0;
+ if (m_hostWindow) {
+ delete m_surface;
+ m_surface = 0;
+ // Platform context is assumed to be owned by surface.
+ m_platformContext = 0;
+ }
}
static inline quint32 swapBgrToRgb(quint32 pixel)
@@ -291,15 +354,16 @@ PassRefPtr<GraphicsContext3D> GraphicsContext3D::create(GraphicsContext3D::Attri
// This implementation doesn't currently support rendering directly to the HostWindow.
if (renderStyle == RenderDirectlyToHostWindow)
return 0;
- RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, false));
+ RefPtr<GraphicsContext3D> context = adoptRef(new GraphicsContext3D(attrs, hostWindow, renderStyle));
return context->m_private ? context.release() : 0;
}
-GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, bool)
+GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWindow* hostWindow, GraphicsContext3D::RenderStyle renderStyle)
: m_currentWidth(0)
, m_currentHeight(0)
, m_compiler(isGLES2Compliant() ? SH_ESSL_OUTPUT : SH_GLSL_OUTPUT)
, m_attrs(attrs)
+ , m_renderStyle(renderStyle)
, m_texture(0)
, m_compositorTexture(0)
, m_fbo(0)
@@ -316,7 +380,7 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWi
, m_multisampleFBO(0)
, m_multisampleDepthStencilBuffer(0)
, m_multisampleColorBuffer(0)
- , m_private(adoptPtr(new GraphicsContext3DPrivate(this, hostWindow)))
+ , m_private(adoptPtr(new GraphicsContext3DPrivate(this, hostWindow, renderStyle)))
{
validateAttributes();
@@ -337,54 +401,10 @@ GraphicsContext3D::GraphicsContext3D(GraphicsContext3D::Attributes attrs, HostWi
return;
}
- // Create buffers for the canvas FBO.
- glGenFramebuffers(/* count */ 1, &m_fbo);
+ if (renderStyle == RenderOffscreen)
+ m_private->createOffscreenBuffers();
- glGenTextures(1, &m_texture);
- glBindTexture(GraphicsContext3D::TEXTURE_2D, m_texture);
- glTexParameterf(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MAG_FILTER, GraphicsContext3D::LINEAR);
- glTexParameterf(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MIN_FILTER, GraphicsContext3D::LINEAR);
- glTexParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_S, GraphicsContext3D::CLAMP_TO_EDGE);
- glTexParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_T, GraphicsContext3D::CLAMP_TO_EDGE);
- glBindTexture(GraphicsContext3D::TEXTURE_2D, 0);
-
- // Create a multisample FBO.
- if (m_attrs.antialias) {
- glGenFramebuffers(1, &m_multisampleFBO);
- glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_multisampleFBO);
- m_boundFBO = m_multisampleFBO;
- glGenRenderbuffers(1, &m_multisampleColorBuffer);
- if (m_attrs.stencil || m_attrs.depth)
- glGenRenderbuffers(1, &m_multisampleDepthStencilBuffer);
- } else {
- // Bind canvas FBO.
- glBindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
- m_boundFBO = m_fbo;
-#if USE(OPENGL_ES_2)
- if (m_attrs.depth)
- glGenRenderbuffers(1, &m_depthBuffer);
- if (m_attrs.stencil)
- glGenRenderbuffers(1, &m_stencilBuffer);
-#endif
- if (m_attrs.stencil || m_attrs.depth)
- glGenRenderbuffers(1, &m_depthStencilBuffer);
- }
-
- // ANGLE initialization.
- ShBuiltInResources ANGLEResources;
- ShInitBuiltInResources(&ANGLEResources);
-
- getIntegerv(GraphicsContext3D::MAX_VERTEX_ATTRIBS, &ANGLEResources.MaxVertexAttribs);
- getIntegerv(GraphicsContext3D::MAX_VERTEX_UNIFORM_VECTORS, &ANGLEResources.MaxVertexUniformVectors);
- getIntegerv(GraphicsContext3D::MAX_VARYING_VECTORS, &ANGLEResources.MaxVaryingVectors);
- getIntegerv(GraphicsContext3D::MAX_VERTEX_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxVertexTextureImageUnits);
- getIntegerv(GraphicsContext3D::MAX_COMBINED_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxCombinedTextureImageUnits);
- getIntegerv(GraphicsContext3D::MAX_TEXTURE_IMAGE_UNITS, &ANGLEResources.MaxTextureImageUnits);
- getIntegerv(GraphicsContext3D::MAX_FRAGMENT_UNIFORM_VECTORS, &ANGLEResources.MaxFragmentUniformVectors);
-
- // Always set to 1 for OpenGL ES.
- ANGLEResources.MaxDrawBuffers = 1;
- m_compiler.setResources(ANGLEResources);
+ m_private->initializeANGLE();
#if !USE(OPENGL_ES_2)
glEnable(GL_POINT_SPRITE);
@@ -438,7 +458,7 @@ PlatformLayer* GraphicsContext3D::platformLayer() const
bool GraphicsContext3D::makeContextCurrent()
{
- if (!m_private)
+ if (!m_private || m_renderStyle == RenderToCurrentGLContext)
return false;
return m_private->makeCurrentIfNeeded();
}
diff --git a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
index c7aef5e9e..5c8a3ae24 100644
--- a/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp
@@ -108,6 +108,8 @@ static inline QPainter::CompositionMode toQtCompositionMode(CompositeOperator op
return QPainter::CompositionMode_Darken;
case CompositePlusLighter:
return QPainter::CompositionMode_Plus;
+ case CompositeDifference:
+ return QPainter::CompositionMode_Difference;
default:
ASSERT_NOT_REACHED();
}
diff --git a/Source/WebCore/platform/graphics/qt/IconQt.cpp b/Source/WebCore/platform/graphics/qt/IconQt.cpp
index 7d2613fbd..adc3bdbdd 100644
--- a/Source/WebCore/platform/graphics/qt/IconQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/IconQt.cpp
@@ -24,8 +24,7 @@
#include "GraphicsContext.h"
#include "IntRect.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
-
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/qt/ImageQt.cpp b/Source/WebCore/platform/graphics/qt/ImageQt.cpp
index 16330a40f..5be31cea0 100644
--- a/Source/WebCore/platform/graphics/qt/ImageQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/ImageQt.cpp
@@ -38,9 +38,9 @@
#include "GraphicsContext.h"
#include "ImageObserver.h"
#include "NativeImageQt.h"
-#include "PlatformString.h"
#include "ShadowBlur.h"
#include "StillImageQt.h"
+#include <wtf/text/WTFString.h>
#include <QCoreApplication>
#include <QDebug>
diff --git a/Source/WebCore/platform/graphics/qt/PathQt.cpp b/Source/WebCore/platform/graphics/qt/PathQt.cpp
index 2eaaff8f4..4f65151b7 100644
--- a/Source/WebCore/platform/graphics/qt/PathQt.cpp
+++ b/Source/WebCore/platform/graphics/qt/PathQt.cpp
@@ -36,13 +36,13 @@
#include "GraphicsContext.h"
#include "ImageBuffer.h"
#include "NativeImageQt.h"
-#include "PlatformString.h"
#include "StrokeStyleApplier.h"
#include <QPainterPath>
#include <QTransform>
#include <QString>
#include <wtf/MathExtras.h>
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h
index 7c927f635..371baee44 100644
--- a/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/skia/FontCustomPlatformData.h
@@ -40,8 +40,8 @@
#include <wtf/Noncopyable.h>
#if OS(WINDOWS)
-#include "PlatformString.h"
#include <windows.h>
+#include <wtf/text/WTFString.h>
#elif OS(UNIX)
#include "SkTypeface.h"
#endif
diff --git a/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp b/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
index 02b19ee5f..905480d10 100644
--- a/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
+++ b/Source/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
@@ -85,7 +85,7 @@ static SkCanvas* createAcceleratedCanvas(const IntSize& size, ImageBufferData* d
desc.fSampleCnt = 0;
desc.fWidth = size.width();
desc.fHeight = size.height();
- desc.fConfig = kSkia8888_PM_GrPixelConfig;
+ desc.fConfig = kSkia8888_GrPixelConfig;
SkAutoTUnref<GrTexture> texture(gr->createUncachedTexture(desc, 0, 0));
if (!texture.get())
return 0;
diff --git a/Source/WebCore/platform/graphics/skia/ImageSkia.cpp b/Source/WebCore/platform/graphics/skia/ImageSkia.cpp
index a0af3d64a..8f883d819 100644
--- a/Source/WebCore/platform/graphics/skia/ImageSkia.cpp
+++ b/Source/WebCore/platform/graphics/skia/ImageSkia.cpp
@@ -40,12 +40,12 @@
#include "Logging.h"
#include "NativeImageSkia.h"
#include "PlatformContextSkia.h"
-#include "PlatformString.h"
#include "SkPixelRef.h"
#include "SkRect.h"
#include "SkShader.h"
#include "SkiaUtils.h"
#include "Texture.h"
+#include <wtf/text/WTFString.h>
#include "skia/ext/image_operations.h"
#include "skia/ext/platform_canvas.h"
diff --git a/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp b/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp
index 3ff3a543b..be4bfbc43 100644
--- a/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp
+++ b/Source/WebCore/platform/graphics/skia/OpaqueRegionSkia.cpp
@@ -182,6 +182,10 @@ void OpaqueRegionSkia::pushCanvasLayer(const SkPaint* paint)
void OpaqueRegionSkia::popCanvasLayer(const PlatformContextSkia* context)
{
+ ASSERT(!m_canvasLayerStack.isEmpty());
+ if (m_canvasLayerStack.isEmpty())
+ return;
+
const CanvasLayerState& canvasLayer = m_canvasLayerStack.last();
SkRect layerOpaqueRect = canvasLayer.opaqueRect;
SkPaint layerPaint = canvasLayer.paint;
diff --git a/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.cpp b/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.cpp
index 55c645a77..9ff3881d0 100644
--- a/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.cpp
+++ b/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.cpp
@@ -63,6 +63,11 @@ void GraphicsSurface::copyFromFramebuffer(uint32_t fbo, const IntRect& sourceRec
platformCopyFromFramebuffer(fbo, sourceRect);
}
+void GraphicsSurface::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
+{
+ platformPaintToTextureMapper(textureMapper, targetRect, transform, opacity, mask);
+}
+
uint32_t GraphicsSurface::frontBuffer()
{
return platformFrontBuffer();
diff --git a/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h b/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h
index e8ac538f5..0ee68cf3d 100644
--- a/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h
+++ b/Source/WebCore/platform/graphics/surfaces/GraphicsSurface.h
@@ -38,6 +38,8 @@ typedef uint32_t PlatformGraphicsSurface;
namespace WebCore {
+class BitmapTexture;
+class TextureMapper;
struct GraphicsSurfacePrivate;
class GraphicsSurface : public RefCounted<GraphicsSurface> {
@@ -70,6 +72,7 @@ public:
static PassRefPtr<GraphicsSurface> create(const IntSize&, Flags, uint64_t token);
void copyToGLTexture(uint32_t target, uint32_t texture, const IntRect& targetRect, const IntPoint& sourceOffset);
void copyFromFramebuffer(uint32_t fbo, const IntRect& sourceRect);
+ void paintToTextureMapper(TextureMapper*, const FloatRect& targetRect, const TransformationMatrix&, float opacity, BitmapTexture* mask);
uint32_t frontBuffer();
uint32_t swapBuffers();
uint64_t exportToken();
@@ -89,6 +92,7 @@ protected:
void platformUnlock();
void platformCopyToGLTexture(uint32_t target, uint32_t texture, const IntRect&, const IntPoint&);
void platformCopyFromFramebuffer(uint32_t fbo, const IntRect& sourceRect);
+ void platformPaintToTextureMapper(TextureMapper*, const FloatRect& targetRect, const TransformationMatrix&, float opacity, BitmapTexture* mask);
uint32_t platformFrontBuffer() const;
uint32_t platformSwapBuffers();
diff --git a/Source/WebCore/platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp b/Source/WebCore/platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp
index b211c1bd3..8a8322df8 100644
--- a/Source/WebCore/platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp
+++ b/Source/WebCore/platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp
@@ -21,6 +21,7 @@
#include "GraphicsSurface.h"
#if USE(GRAPHICS_SURFACE) && OS(DARWIN)
+#include "TextureMapperGL.h"
#include <CFNumber.h>
#include <CGLContext.h>
#include <CGLCurrent.h>
@@ -241,6 +242,13 @@ void GraphicsSurface::platformCopyFromFramebuffer(uint32_t originFbo, const IntR
glFlush();
}
+void GraphicsSurface::platformPaintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
+{
+ TransformationMatrix adjustedTransform = transform;
+ adjustedTransform.multiply(TransformationMatrix::rectToRect(FloatRect(FloatPoint::zero(), m_size), targetRect));
+ static_cast<TextureMapperGL*>(textureMapper)->drawTextureRectangleARB(m_private->frontBufferTextureID(), 0, m_size, targetRect, adjustedTransform, opacity, mask);
+}
+
uint32_t GraphicsSurface::platformFrontBuffer() const
{
return IOSurfaceGetID(m_private->frontBuffer());
diff --git a/Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp b/Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp
index eabb52972..1bbeb73b9 100644
--- a/Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp
+++ b/Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp
@@ -22,6 +22,7 @@
#if USE(GRAPHICS_SURFACE)
+#include "TextureMapperGL.h"
// Qt headers must be included before glx headers.
#include <QCoreApplication>
#include <QOpenGLContext>
@@ -277,6 +278,14 @@ void GraphicsSurface::platformCopyFromFramebuffer(uint32_t originFbo, const IntR
glPopAttrib();
}
+
+void GraphicsSurface::platformPaintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
+{
+ TransformationMatrix adjustedTransform = transform;
+ adjustedTransform.multiply(TransformationMatrix::rectToRect(FloatRect(FloatPoint::zero(), m_size), targetRect));
+ static_cast<TextureMapperGL*>(textureMapper)->drawTexture(platformGetTextureID(), 0, m_size, targetRect, adjustedTransform, opacity, mask);
+}
+
uint32_t GraphicsSurface::platformFrontBuffer() const
{
return 0;
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp
index 6d6f1c7f5..b25372ce6 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperBackingStore.cpp
@@ -58,14 +58,7 @@ PassRefPtr<BitmapTexture> TextureMapperSurfaceBackingStore::texture() const
void TextureMapperSurfaceBackingStore::paintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
{
- TransformationMatrix adjustedTransform = transform;
- adjustedTransform.multiply(TransformationMatrix::rectToRect(FloatRect(FloatPoint::zero(), m_graphicsSurfaceSize), targetRect));
-#if OS(DARWIN)
- // This is specific to the Mac implementation of GraphicsSurface. IOSurface requires GL_TEXTURE_RECTANGLE_ARB to be used.
- static_cast<TextureMapperGL*>(textureMapper)->drawTextureRectangleARB(m_graphicsSurface->getTextureID(), 0, m_graphicsSurfaceSize, targetRect, adjustedTransform, opacity, mask);
-#else
- static_cast<TextureMapperGL*>(textureMapper)->drawTexture(m_graphicsSurface->getTextureID(), 0, m_graphicsSurfaceSize, targetRect, adjustedTransform, opacity, mask);
-#endif
+ m_graphicsSurface->paintToTextureMapper(textureMapper, targetRect, transform, opacity, mask);
}
void TextureMapperSurfaceBackingStore::setSurface(PassRefPtr<GraphicsSurface> surface)
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp
index a22e720e1..ca375b1fd 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.cpp
@@ -38,13 +38,6 @@
#if PLATFORM(QT)
#include "NativeImageQt.h"
-#include <QOpenGLContext>
-#elif OS(WINDOWS)
-#include <windows.h>
-#elif OS(MAC_OS_X)
-#include <AGL/agl.h>
-#elif defined(XP_UNIX)
-#include <GL/glx.h>
#endif
#if USE(CAIRO)
@@ -53,70 +46,43 @@
#include <cairo.h>
#endif
-#define GL_CMD(...) do { __VA_ARGS__; ASSERT_ARG(__VA_ARGS__, !glGetError()); } while (0)
+#if !USE(TEXMAP_OPENGL_ES_2)
+// FIXME: Move to Extensions3D.h.
+#define GL_TEXTURE_RECTANGLE_ARB 0x84F5
+#define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
+#define GL_UNPACK_ROW_LENGTH 0x0CF2
+#define GL_UNPACK_SKIP_PIXELS 0x0CF4
+#define GL_UNPACK_SKIP_ROWS 0x0CF3
+#endif
+
namespace WebCore {
struct TextureMapperGLData {
struct SharedGLData : public RefCounted<SharedGLData> {
-#if PLATFORM(QT)
- typedef QOpenGLContext* GLContext;
- static GLContext getCurrentGLContext()
- {
- return QOpenGLContext::currentContext();
- }
-#elif OS(WINDOWS)
- typedef HGLRC GLContext;
- static GLContext getCurrentGLContext()
- {
- return wglGetCurrentContext();
- }
-#elif OS(MAC_OS_X)
- typedef AGLContext GLContext;
- static GLContext getCurrentGLContext()
- {
- return aglGetCurrentContext();
- }
-#elif defined(XP_UNIX)
- typedef GLXContext GLContext;
- static GLContext getCurrentGLContext()
- {
- return glXGetCurrentContext();
- }
-#else
- // Default implementation for unknown opengl.
- // Returns always increasing number and disables GL context data sharing.
- typedef unsigned int GLContext;
- static GLContext getCurrentGLContext()
- {
- static GLContext dummyContextCounter = 0;
- return ++dummyContextCounter;
- }
-
-#endif
- typedef HashMap<GLContext, SharedGLData*> GLContextDataMap;
+ typedef HashMap<PlatformGraphicsContext3D, SharedGLData*> GLContextDataMap;
static GLContextDataMap& glContextDataMap()
{
static GLContextDataMap map;
return map;
}
- static PassRefPtr<SharedGLData> currentSharedGLData()
+ static PassRefPtr<SharedGLData> currentSharedGLData(GraphicsContext3D* context)
{
- GLContext currentGLConext = getCurrentGLContext();
- GLContextDataMap::iterator it = glContextDataMap().find(currentGLConext);
+ GLContextDataMap::iterator it = glContextDataMap().find(context->platformGraphicsContext3D());
if (it != glContextDataMap().end())
return it->second;
- return adoptRef(new SharedGLData(getCurrentGLContext()));
+ return adoptRef(new SharedGLData(context));
}
TextureMapperShaderManager textureMapperShaderManager;
- SharedGLData(GLContext glContext)
+ SharedGLData(GraphicsContext3D* context)
+ : textureMapperShaderManager(context)
{
- glContextDataMap().add(glContext, this);
+ glContextDataMap().add(context->platformGraphicsContext3D(), this);
}
~SharedGLData()
@@ -135,30 +101,32 @@ struct TextureMapperGLData {
SharedGLData& sharedGLData() const
{
- return *(m_sharedGLData.get());
+ return *m_sharedGLData;
}
void initializeStencil();
- TextureMapperGLData()
- : PaintFlags(0)
+ TextureMapperGLData(GraphicsContext3D* context)
+ : context(context)
+ , PaintFlags(0)
, previousProgram(0)
, targetFrameBuffer(0)
, didModifyStencil(false)
, previousScissorState(0)
, previousDepthState(0)
- , m_sharedGLData(TextureMapperGLData::SharedGLData::currentSharedGLData())
+ , m_sharedGLData(TextureMapperGLData::SharedGLData::currentSharedGLData(this->context))
{ }
+ GraphicsContext3D* context;
TransformationMatrix projectionMatrix;
TextureMapper::PaintFlags PaintFlags;
- GLint previousProgram;
- GLint targetFrameBuffer;
+ GC3Dint previousProgram;
+ GC3Dint targetFrameBuffer;
bool didModifyStencil;
- GLint previousScissorState;
- GLint previousDepthState;
- GLint viewport[4];
- GLint previousScissor[4];
+ GC3Dint previousScissorState;
+ GC3Dint previousDepthState;
+ GC3Dint viewport[4];
+ GC3Dint previousScissor[4];
RefPtr<SharedGLData> m_sharedGLData;
RefPtr<BitmapTexture> currentSurface;
};
@@ -182,25 +150,25 @@ void TextureMapperGL::ClipStack::pop()
clipStack.removeLast();
}
-static void scissorClip(const IntRect& rect)
+static void scissorClip(GraphicsContext3D* context, const IntRect& rect)
{
if (rect.isEmpty())
return;
- GLint viewport[4];
- GL_CMD(glGetIntegerv(GL_VIEWPORT, viewport));
- GL_CMD(glScissor(rect.x(), viewport[3] - rect.maxY(), rect.width(), rect.height()));
+ GC3Dint viewport[4];
+ context->getIntegerv(GraphicsContext3D::VIEWPORT, viewport);
+ context->scissor(rect.x(), viewport[3] - rect.maxY(), rect.width(), rect.height());
}
-void TextureMapperGL::ClipStack::apply()
+void TextureMapperGL::ClipStack::apply(GraphicsContext3D* context)
{
- scissorClip(clipState.scissorBox);
- GL_CMD(glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP));
- GL_CMD(glStencilFunc(GL_EQUAL, clipState.stencilIndex - 1, clipState.stencilIndex - 1));
+ scissorClip(context, clipState.scissorBox);
+ context->stencilOp(GraphicsContext3D::KEEP, GraphicsContext3D::KEEP, GraphicsContext3D::KEEP);
+ context->stencilFunc(GraphicsContext3D::EQUAL, clipState.stencilIndex - 1, clipState.stencilIndex - 1);
if (clipState.stencilIndex == 1)
- GL_CMD(glDisable(GL_STENCIL_TEST));
+ context->disable(GraphicsContext3D::STENCIL_TEST);
else
- GL_CMD(glEnable(GL_STENCIL_TEST));
+ context->enable(GraphicsContext3D::STENCIL_TEST);
}
@@ -214,8 +182,8 @@ void TextureMapperGLData::initializeStencil()
if (didModifyStencil)
return;
- GL_CMD(glClearStencil(0));
- GL_CMD(glClear(GL_STENCIL_BUFFER_BIT));
+ context->clearStencil(0);
+ context->clear(GraphicsContext3D::STENCIL_BUFFER_BIT);
didModifyStencil = true;
}
@@ -229,10 +197,11 @@ BitmapTextureGL* toBitmapTextureGL(BitmapTexture* texture)
TextureMapperGL::TextureMapperGL()
: TextureMapper(OpenGLMode)
- , m_data(new TextureMapperGLData)
, m_context(0)
, m_enableEdgeDistanceAntialiasing(false)
{
+ m_context3D = GraphicsContext3D::createForCurrentGLContext();
+ m_data = new TextureMapperGLData(m_context3D.get());
}
TextureMapperGL::ClipStack& TextureMapperGL::clipStack()
@@ -242,15 +211,9 @@ TextureMapperGL::ClipStack& TextureMapperGL::clipStack()
void TextureMapperGL::beginPainting(PaintFlags flags)
{
- // Make sure that no GL error code stays from previous operations.
- glGetError();
-
- if (!initializeOpenGLShims())
- return;
-
- GL_CMD(glGetIntegerv(GL_CURRENT_PROGRAM, &data().previousProgram));
- data().previousScissorState = glIsEnabled(GL_SCISSOR_TEST);
- data().previousDepthState = glIsEnabled(GL_DEPTH_TEST);
+ m_context3D->getIntegerv(GraphicsContext3D::CURRENT_PROGRAM, &data().previousProgram);
+ data().previousScissorState = m_context3D->isEnabled(GraphicsContext3D::SCISSOR_TEST);
+ data().previousDepthState = m_context3D->isEnabled(GraphicsContext3D::DEPTH_TEST);
#if PLATFORM(QT)
if (m_context) {
QPainter* painter = m_context->platformContext();
@@ -258,14 +221,14 @@ void TextureMapperGL::beginPainting(PaintFlags flags)
painter->beginNativePainting();
}
#endif
- glDisable(GL_DEPTH_TEST);
- glEnable(GL_SCISSOR_TEST);
+ m_context3D->disable(GraphicsContext3D::DEPTH_TEST);
+ m_context3D->enable(GraphicsContext3D::SCISSOR_TEST);
data().didModifyStencil = false;
- GL_CMD(glDepthMask(0));
- GL_CMD(glGetIntegerv(GL_VIEWPORT, data().viewport));
- GL_CMD(glGetIntegerv(GL_SCISSOR_BOX, data().previousScissor));
+ m_context3D->depthMask(0);
+ m_context3D->getIntegerv(GraphicsContext3D::VIEWPORT, data().viewport);
+ m_context3D->getIntegerv(GraphicsContext3D::SCISSOR_BOX, data().previousScissor);
m_clipStack.init(IntRect(0, 0, data().viewport[2], data().viewport[3]));
- GL_CMD(glGetIntegerv(GL_FRAMEBUFFER_BINDING, &data().targetFrameBuffer));
+ m_context3D->getIntegerv(GraphicsContext3D::FRAMEBUFFER_BINDING, &data().targetFrameBuffer);
data().PaintFlags = flags;
bindSurface(0);
}
@@ -273,22 +236,22 @@ void TextureMapperGL::beginPainting(PaintFlags flags)
void TextureMapperGL::endPainting()
{
if (data().didModifyStencil) {
- glClearStencil(1);
- glClear(GL_STENCIL_BUFFER_BIT);
+ m_context3D->clearStencil(1);
+ m_context3D->clear(GraphicsContext3D::STENCIL_BUFFER_BIT);
}
- glUseProgram(data().previousProgram);
+ m_context3D->useProgram(data().previousProgram);
- glScissor(data().previousScissor[0], data().previousScissor[1], data().previousScissor[2], data().previousScissor[3]);
+ m_context3D->scissor(data().previousScissor[0], data().previousScissor[1], data().previousScissor[2], data().previousScissor[3]);
if (data().previousScissorState)
- glEnable(GL_SCISSOR_TEST);
+ m_context3D->enable(GraphicsContext3D::SCISSOR_TEST);
else
- glDisable(GL_SCISSOR_TEST);
+ m_context3D->disable(GraphicsContext3D::SCISSOR_TEST);
if (data().previousDepthState)
- glEnable(GL_DEPTH_TEST);
+ m_context3D->enable(GraphicsContext3D::DEPTH_TEST);
else
- glDisable(GL_DEPTH_TEST);
+ m_context3D->disable(GraphicsContext3D::DEPTH_TEST);
#if PLATFORM(QT)
if (!m_context)
@@ -299,40 +262,40 @@ void TextureMapperGL::endPainting()
#endif
}
-void TextureMapperGL::drawQuad(const DrawQuad& quadToDraw, const TransformationMatrix& modelViewMatrix, TextureMapperShaderProgram* shaderProgram, GLenum drawingMode, bool needsBlending)
+void TextureMapperGL::drawQuad(const DrawQuad& quadToDraw, const TransformationMatrix& modelViewMatrix, TextureMapperShaderProgram* shaderProgram, GC3Denum drawingMode, bool needsBlending)
{
- GL_CMD(glEnableVertexAttribArray(shaderProgram->vertexAttrib()));
- GL_CMD(glBindBuffer(GL_ARRAY_BUFFER, 0));
+ m_context3D->enableVertexAttribArray(shaderProgram->vertexAttrib());
+ m_context3D->bindBuffer(GraphicsContext3D::ARRAY_BUFFER, 0);
- const GLfloat quad[] = {
+ const GC3Dfloat quad[] = {
quadToDraw.targetRectMappedToUnitSquare.p1().x(), quadToDraw.targetRectMappedToUnitSquare.p1().y(),
quadToDraw.targetRectMappedToUnitSquare.p2().x(), quadToDraw.targetRectMappedToUnitSquare.p2().y(),
quadToDraw.targetRectMappedToUnitSquare.p3().x(), quadToDraw.targetRectMappedToUnitSquare.p3().y(),
quadToDraw.targetRectMappedToUnitSquare.p4().x(), quadToDraw.targetRectMappedToUnitSquare.p4().y()
};
- GL_CMD(glVertexAttribPointer(shaderProgram->vertexAttrib(), 2, GL_FLOAT, GL_FALSE, 0, quad));
+ m_context3D->vertexAttribPointer(shaderProgram->vertexAttrib(), 2, GraphicsContext3D::FLOAT, false, 0, GC3Dintptr(quad));
TransformationMatrix matrix = TransformationMatrix(data().projectionMatrix).multiply(modelViewMatrix).multiply(TransformationMatrix(
quadToDraw.originalTargetRect.width(), 0, 0, 0,
0, quadToDraw.originalTargetRect.height(), 0, 0,
0, 0, 1, 0,
quadToDraw.originalTargetRect.x(), quadToDraw.originalTargetRect.y(), 0, 1));
- const GLfloat m4[] = {
+ GC3Dfloat m4[] = {
matrix.m11(), matrix.m12(), matrix.m13(), matrix.m14(),
matrix.m21(), matrix.m22(), matrix.m23(), matrix.m24(),
matrix.m31(), matrix.m32(), matrix.m33(), matrix.m34(),
matrix.m41(), matrix.m42(), matrix.m43(), matrix.m44()
};
- GL_CMD(glUniformMatrix4fv(shaderProgram->matrixLocation(), 1, GL_FALSE, m4));
+ m_context3D->uniformMatrix4fv(shaderProgram->matrixLocation(), 1, false, m4);
if (needsBlending) {
- GL_CMD(glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA));
- GL_CMD(glEnable(GL_BLEND));
+ m_context3D->blendFunc(GraphicsContext3D::ONE, GraphicsContext3D::ONE_MINUS_SRC_ALPHA);
+ m_context3D->enable(GraphicsContext3D::BLEND);
} else
- GL_CMD(glDisable(GL_BLEND));
+ m_context3D->disable(GraphicsContext3D::BLEND);
- GL_CMD(glDrawArrays(drawingMode, 0, 4));
- GL_CMD(glDisableVertexAttribArray(shaderProgram->vertexAttrib()));
+ m_context3D->drawArrays(drawingMode, 0, 4);
+ m_context3D->disableVertexAttribArray(shaderProgram->vertexAttrib());
}
void TextureMapperGL::drawBorder(const Color& color, float width, const FloatRect& targetRect, const TransformationMatrix& modelViewMatrix)
@@ -341,17 +304,17 @@ void TextureMapperGL::drawBorder(const Color& color, float width, const FloatRec
return;
RefPtr<TextureMapperShaderProgramSolidColor> program = data().sharedGLData().textureMapperShaderManager.solidColorProgram();
- GL_CMD(glUseProgram(program->id()));
+ m_context3D->useProgram(program->id());
float alpha = color.alpha() / 255.0;
- GL_CMD(glUniform4f(program->colorLocation(),
+ m_context3D->uniform4f(program->colorLocation(),
(color.red() / 255.0) * alpha,
(color.green() / 255.0) * alpha,
(color.blue() / 255.0) * alpha,
- alpha));
- GL_CMD(glLineWidth(width));
+ alpha);
+ m_context3D->lineWidth(width);
- drawQuad(targetRect, modelViewMatrix, program.get(), GL_LINE_LOOP, color.hasAlpha());
+ drawQuad(targetRect, modelViewMatrix, program.get(), GraphicsContext3D::LINE_LOOP, color.hasAlpha());
}
void TextureMapperGL::drawRepaintCounter(int value, int pointSize, const FloatPoint& targetPoint, const TransformationMatrix& modelViewMatrix)
@@ -398,7 +361,7 @@ void TextureMapperGL::drawTexture(const BitmapTexture& texture, const FloatRect&
drawTexture(textureGL.id(), textureGL.isOpaque() ? 0 : SupportsBlending, textureGL.size(), targetRect, matrix, opacity, mask, exposedEdges);
}
-#if defined(GL_ARB_texture_rectangle)
+#if !USE(TEXMAP_OPENGL_ES_2)
void TextureMapperGL::drawTextureRectangleARB(uint32_t texture, Flags flags, const IntSize& textureSize, const FloatRect& targetRect, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture)
{
RefPtr<TextureMapperShaderProgram> program;
@@ -406,36 +369,36 @@ void TextureMapperGL::drawTextureRectangleARB(uint32_t texture, Flags flags, con
program = data().sharedGLData().textureMapperShaderManager.getShaderProgram(TextureMapperShaderManager::RectOpacityAndMask);
else
program = data().sharedGLData().textureMapperShaderManager.getShaderProgram(TextureMapperShaderManager::RectSimple);
- GL_CMD(glUseProgram(program->id()));
+ m_context3D->useProgram(program->id());
- GL_CMD(glEnableVertexAttribArray(program->vertexAttrib()));
- GL_CMD(glActiveTexture(GL_TEXTURE0));
- GL_CMD(glBindTexture(GL_TEXTURE_RECTANGLE_ARB, texture));
- GL_CMD(glUniform1i(program->sourceTextureLocation(), 0));
+ m_context3D->enableVertexAttribArray(program->vertexAttrib());
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE0);
+ m_context3D->bindTexture(GL_TEXTURE_RECTANGLE_ARB, texture);
+ m_context3D->uniform1i(program->sourceTextureLocation(), 0);
- GL_CMD(glUniform1f(program->flipLocation(), !!(flags & ShouldFlipTexture)));
- GL_CMD(glUniform2f(program->textureSizeLocation(), textureSize.width(), textureSize.height()));
+ m_context3D->uniform1f(program->flipLocation(), !!(flags & ShouldFlipTexture));
+ m_context3D->uniform2f(program->textureSizeLocation(), textureSize.width(), textureSize.height());
if (TextureMapperShaderProgram::isValidUniformLocation(program->opacityLocation()))
- GL_CMD(glUniform1f(program->opacityLocation(), opacity));
+ m_context3D->uniform1f(program->opacityLocation(), opacity);
if (maskTexture && maskTexture->isValid() && TextureMapperShaderProgram::isValidUniformLocation(program->maskTextureLocation())) {
const BitmapTextureGL* maskTextureGL = static_cast<const BitmapTextureGL*>(maskTexture);
- GL_CMD(glActiveTexture(GL_TEXTURE1));
- GL_CMD(glBindTexture(GL_TEXTURE_2D, maskTextureGL->id()));
- GL_CMD(glUniform1i(program->maskTextureLocation(), 1));
- GL_CMD(glActiveTexture(GL_TEXTURE0));
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE1);
+ m_context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, maskTextureGL->id());
+ m_context3D->uniform1i(program->maskTextureLocation(), 1);
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE0);
}
bool needsBlending = (flags & SupportsBlending) || opacity < 0.99 || maskTexture;
- drawQuad(targetRect, modelViewMatrix, program.get(), GL_TRIANGLE_FAN, needsBlending);
+ drawQuad(targetRect, modelViewMatrix, program.get(), GraphicsContext3D::TRIANGLE_FAN, needsBlending);
}
-#endif // defined(GL_ARB_texture_rectangle)
+#endif // !USE(TEXMAP_OPENGL_ES_2)
void TextureMapperGL::drawTexture(uint32_t texture, Flags flags, const IntSize& /* textureSize */, const FloatRect& targetRect, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture, unsigned exposedEdges)
{
- bool needsAntiliaing = m_enableEdgeDistanceAntialiasing && !modelViewMatrix.isIntegerTranslation();
- if (needsAntiliaing && drawTextureWithAntialiasing(texture, flags, targetRect, modelViewMatrix, opacity, maskTexture, exposedEdges))
+ bool needsAntialiasing = m_enableEdgeDistanceAntialiasing && !modelViewMatrix.isIntegerTranslation();
+ if (needsAntialiasing && drawTextureWithAntialiasing(texture, flags, targetRect, modelViewMatrix, opacity, maskTexture, exposedEdges))
return;
RefPtr<TextureMapperShaderProgram> program;
@@ -443,15 +406,15 @@ void TextureMapperGL::drawTexture(uint32_t texture, Flags flags, const IntSize&
program = data().sharedGLData().textureMapperShaderManager.getShaderProgram(TextureMapperShaderManager::OpacityAndMask);
else
program = data().sharedGLData().textureMapperShaderManager.getShaderProgram(TextureMapperShaderManager::Simple);
- GL_CMD(glUseProgram(program->id()));
+ m_context3D->useProgram(program->id());
drawTexturedQuadWithProgram(program.get(), texture, flags, targetRect, modelViewMatrix, opacity, maskTexture);
}
-static TransformationMatrix viewportMatrix()
+static TransformationMatrix viewportMatrix(GraphicsContext3D* context3D)
{
- GLint viewport[4];
- GL_CMD(glGetIntegerv(GL_VIEWPORT, viewport));
+ GC3Dint viewport[4];
+ context3D->getIntegerv(GraphicsContext3D::VIEWPORT, viewport);
TransformationMatrix matrix;
matrix.translate3d(viewport[0], viewport[1], 0);
@@ -548,7 +511,7 @@ bool TextureMapperGL::drawTextureWithAntialiasing(uint32_t texture, Flags flags,
// antialiasing. Note here that we are also including the viewport matrix (which
// translates from normalized device coordinates to screen coordinates), because these
// values are consumed in the fragment shader, which works in screen coordinates.
- TransformationMatrix screenSpaceTransform = viewportMatrix().multiply(TransformationMatrix(data().projectionMatrix)).multiply(modelViewMatrix).to2dTransform();
+ TransformationMatrix screenSpaceTransform = viewportMatrix(m_context3D.get()).multiply(TransformationMatrix(data().projectionMatrix)).multiply(modelViewMatrix).to2dTransform();
if (!screenSpaceTransform.isInvertible())
return false;
FloatQuad quadInScreenSpace = screenSpaceTransform.mapQuad(originalTargetRect);
@@ -572,8 +535,8 @@ bool TextureMapperGL::drawTextureWithAntialiasing(uint32_t texture, Flags flags,
quadToEdgeArray(inflateQuad(quadInScreenSpace.boundingBox(), inflationDistance), targetQuadEdges + 12);
RefPtr<TextureMapperShaderProgramAntialiasingNoMask> program = data().sharedGLData().textureMapperShaderManager.antialiasingNoMaskProgram();
- GL_CMD(glUseProgram(program->id()));
- GL_CMD(glUniform3fv(program->expandedQuadEdgesInScreenSpaceLocation(), 8, targetQuadEdges));
+ m_context3D->useProgram(program->id());
+ m_context3D->uniform3fv(program->expandedQuadEdgesInScreenSpaceLocation(), 8, targetQuadEdges);
drawTexturedQuadWithProgram(program.get(), texture, flags, DrawQuad(originalTargetRect, expandedQuadInTextureCoordinates), modelViewMatrix, opacity, 0 /* maskTexture */);
return true;
@@ -581,26 +544,26 @@ bool TextureMapperGL::drawTextureWithAntialiasing(uint32_t texture, Flags flags,
void TextureMapperGL::drawTexturedQuadWithProgram(TextureMapperShaderProgram* program, uint32_t texture, Flags flags, const DrawQuad& quadToDraw, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture)
{
- GL_CMD(glEnableVertexAttribArray(program->vertexAttrib()));
- GL_CMD(glActiveTexture(GL_TEXTURE0));
- GL_CMD(glBindTexture(GL_TEXTURE_2D, texture));
- GL_CMD(glUniform1i(program->sourceTextureLocation(), 0));
+ m_context3D->enableVertexAttribArray(program->vertexAttrib());
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE0);
+ m_context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, texture);
+ m_context3D->uniform1i(program->sourceTextureLocation(), 0);
- GL_CMD(glUniform1f(program->flipLocation(), !!(flags & ShouldFlipTexture)));
+ m_context3D->uniform1f(program->flipLocation(), !!(flags & ShouldFlipTexture));
if (TextureMapperShaderProgram::isValidUniformLocation(program->opacityLocation()))
- GL_CMD(glUniform1f(program->opacityLocation(), opacity));
+ m_context3D->uniform1f(program->opacityLocation(), opacity);
if (maskTexture && maskTexture->isValid() && TextureMapperShaderProgram::isValidUniformLocation(program->maskTextureLocation())) {
const BitmapTextureGL* maskTextureGL = static_cast<const BitmapTextureGL*>(maskTexture);
- GL_CMD(glActiveTexture(GL_TEXTURE1));
- GL_CMD(glBindTexture(GL_TEXTURE_2D, maskTextureGL->id()));
- GL_CMD(glUniform1i(program->maskTextureLocation(), 1));
- GL_CMD(glActiveTexture(GL_TEXTURE0));
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE1);
+ m_context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, maskTextureGL->id());
+ m_context3D->uniform1i(program->maskTextureLocation(), 1);
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE0);
}
bool needsBlending = (flags & SupportsBlending) || opacity < 0.99 || maskTexture;
- drawQuad(quadToDraw, modelViewMatrix, program, GL_TRIANGLE_FAN, needsBlending);
+ drawQuad(quadToDraw, modelViewMatrix, program, GraphicsContext3D::TRIANGLE_FAN, needsBlending);
}
bool BitmapTextureGL::canReuseWith(const IntSize& contentsSize, Flags)
@@ -611,7 +574,7 @@ bool BitmapTextureGL::canReuseWith(const IntSize& contentsSize, Flags)
#if OS(DARWIN)
#define DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE GL_UNSIGNED_INT_8_8_8_8_REV
#else
-#define DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE GL_UNSIGNED_BYTE
+#define DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE GraphicsContext3D::UNSIGNED_BYTE
#endif
static void swizzleBGRAToRGBA(uint32_t* data, const IntRect& rect, int stride = 0)
@@ -646,38 +609,42 @@ static bool driverSupportsSubImage()
void BitmapTextureGL::didReset()
{
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+
if (!m_id)
- GL_CMD(glGenTextures(1, &m_id));
+ m_id = context3D->createTexture();
m_shouldClear = true;
if (m_textureSize == contentSize())
return;
- GLuint format = driverSupportsBGRASwizzling() ? GL_BGRA : GL_RGBA;
+ Platform3DObject format = driverSupportsBGRASwizzling() ? GraphicsContext3D::BGRA : GraphicsContext3D::RGBA;
m_textureSize = contentSize();
- GL_CMD(glBindTexture(GL_TEXTURE_2D, m_id));
- GL_CMD(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR));
- GL_CMD(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR));
- GL_CMD(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE));
- GL_CMD(glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE));
- GL_CMD(glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, m_textureSize.width(), m_textureSize.height(), 0, format, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, 0));
+ context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, m_id);
+ context3D->texParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MIN_FILTER, GraphicsContext3D::LINEAR);
+ context3D->texParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_MAG_FILTER, GraphicsContext3D::LINEAR);
+ context3D->texParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_S, GraphicsContext3D::CLAMP_TO_EDGE);
+ context3D->texParameteri(GraphicsContext3D::TEXTURE_2D, GraphicsContext3D::TEXTURE_WRAP_T, GraphicsContext3D::CLAMP_TO_EDGE);
+ context3D->texImage2DDirect(GraphicsContext3D::TEXTURE_2D, 0, GraphicsContext3D::RGBA, m_textureSize.width(), m_textureSize.height(), 0, format, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, 0);
}
void BitmapTextureGL::updateContents(const void* data, const IntRect& targetRect, const IntPoint& sourceOffset, int bytesPerLine)
{
- GLuint glFormat = GL_RGBA;
- GL_CMD(glBindTexture(GL_TEXTURE_2D, m_id));
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+
+ Platform3DObject glFormat = GraphicsContext3D::RGBA;
+ context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, m_id);
const unsigned bytesPerPixel = 4;
if (driverSupportsBGRASwizzling())
- glFormat = GL_BGRA;
+ glFormat = GraphicsContext3D::BGRA;
else
swizzleBGRAToRGBA(reinterpret_cast<uint32_t*>(const_cast<void*>(data)), IntRect(sourceOffset, targetRect.size()), bytesPerLine / bytesPerPixel);
if (bytesPerLine == targetRect.width() / 4 && sourceOffset == IntPoint::zero()) {
- GL_CMD(glTexSubImage2D(GL_TEXTURE_2D, 0, targetRect.x(), targetRect.y(), targetRect.width(), targetRect.height(), glFormat, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, (const char*)data));
+ context3D->texSubImage2D(GraphicsContext3D::TEXTURE_2D, 0, targetRect.x(), targetRect.y(), targetRect.width(), targetRect.height(), glFormat, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, (const char*)data);
return;
}
@@ -695,19 +662,19 @@ void BitmapTextureGL::updateContents(const void* data, const IntRect& targetRect
dst += targetBytesPerLine;
}
- GL_CMD(glTexSubImage2D(GL_TEXTURE_2D, 0, targetRect.x(), targetRect.y(), targetRect.width(), targetRect.height(), glFormat, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, temporaryData.data()));
+ context3D->texSubImage2D(GraphicsContext3D::TEXTURE_2D, 0, targetRect.x(), targetRect.y(), targetRect.width(), targetRect.height(), glFormat, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, temporaryData.data());
return;
}
#if !defined(TEXMAP_OPENGL_ES_2)
// Use the OpenGL sub-image extension, now that we know it's available.
- GL_CMD(glPixelStorei(GL_UNPACK_ROW_LENGTH, bytesPerLine / bytesPerPixel));
- GL_CMD(glPixelStorei(GL_UNPACK_SKIP_ROWS, sourceOffset.y()));
- GL_CMD(glPixelStorei(GL_UNPACK_SKIP_PIXELS, sourceOffset.x()));
- GL_CMD(glTexSubImage2D(GL_TEXTURE_2D, 0, targetRect.x(), targetRect.y(), targetRect.width(), targetRect.height(), glFormat, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, (const char*)data));
- GL_CMD(glPixelStorei(GL_UNPACK_ROW_LENGTH, 0));
- GL_CMD(glPixelStorei(GL_UNPACK_SKIP_ROWS, 0));
- GL_CMD(glPixelStorei(GL_UNPACK_SKIP_PIXELS, 0));
+ context3D->pixelStorei(GL_UNPACK_ROW_LENGTH, bytesPerLine / bytesPerPixel);
+ context3D->pixelStorei(GL_UNPACK_SKIP_ROWS, sourceOffset.y());
+ context3D->pixelStorei(GL_UNPACK_SKIP_PIXELS, sourceOffset.x());
+ context3D->texSubImage2D(GraphicsContext3D::TEXTURE_2D, 0, targetRect.x(), targetRect.y(), targetRect.width(), targetRect.height(), glFormat, DEFAULT_TEXTURE_PIXEL_TRANSFER_TYPE, (const char*)data);
+ context3D->pixelStorei(GL_UNPACK_ROW_LENGTH, 0);
+ context3D->pixelStorei(GL_UNPACK_SKIP_ROWS, 0);
+ context3D->pixelStorei(GL_UNPACK_SKIP_PIXELS, 0);
#endif
}
@@ -743,19 +710,19 @@ void TextureMapperGL::drawFiltered(const BitmapTexture& sourceTexture, const Bit
program->prepare(filter, pass, sourceTexture.contentSize(), static_cast<const BitmapTextureGL&>(contentTexture).id());
- GL_CMD(glEnableVertexAttribArray(program->vertexAttrib()));
- GL_CMD(glEnableVertexAttribArray(program->texCoordAttrib()));
- GL_CMD(glActiveTexture(GL_TEXTURE0));
- GL_CMD(glBindTexture(GL_TEXTURE_2D, static_cast<const BitmapTextureGL&>(sourceTexture).id()));
- glUniform1i(program->textureUniform(), 0);
- const GLfloat targetVertices[] = {-1, -1, 1, -1, 1, 1, -1, 1};
- const GLfloat sourceVertices[] = {0, 0, 1, 0, 1, 1, 0, 1};
- GL_CMD(glVertexAttribPointer(program->vertexAttrib(), 2, GL_FLOAT, GL_FALSE, 0, targetVertices));
- GL_CMD(glVertexAttribPointer(program->texCoordAttrib(), 2, GL_FLOAT, GL_FALSE, 0, sourceVertices));
- GL_CMD(glDisable(GL_BLEND));
- GL_CMD(glDrawArrays(GL_TRIANGLE_FAN, 0, 4));
- GL_CMD(glDisableVertexAttribArray(program->vertexAttrib()));
- GL_CMD(glDisableVertexAttribArray(program->texCoordAttrib()));
+ m_context3D->enableVertexAttribArray(program->vertexAttrib());
+ m_context3D->enableVertexAttribArray(program->texCoordAttrib());
+ m_context3D->activeTexture(GraphicsContext3D::TEXTURE0);
+ m_context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, static_cast<const BitmapTextureGL&>(sourceTexture).id());
+ m_context3D->uniform1i(program->textureUniform(), 0);
+ const GC3Dfloat targetVertices[] = {-1, -1, 1, -1, 1, 1, -1, 1};
+ const GC3Dfloat sourceVertices[] = {0, 0, 1, 0, 1, 1, 0, 1};
+ m_context3D->vertexAttribPointer(program->vertexAttrib(), 2, GraphicsContext3D::FLOAT, false, 0, GC3Dintptr(targetVertices));
+ m_context3D->vertexAttribPointer(program->texCoordAttrib(), 2, GraphicsContext3D::FLOAT, false, 0, GC3Dintptr(sourceVertices));
+ m_context3D->disable(GraphicsContext3D::BLEND);
+ m_context3D->drawArrays(GraphicsContext3D::TRIANGLE_FAN, 0, 4);
+ m_context3D->disableVertexAttribArray(program->vertexAttrib());
+ m_context3D->disableVertexAttribArray(program->texCoordAttrib());
}
PassRefPtr<BitmapTexture> BitmapTextureGL::applyFilters(const BitmapTexture& contentTexture, const FilterOperations& filters)
@@ -783,30 +750,32 @@ PassRefPtr<BitmapTexture> BitmapTextureGL::applyFilters(const BitmapTexture& con
static inline TransformationMatrix createProjectionMatrix(const IntSize& size, bool mirrored)
{
- const float near = 9999999;
- const float far = -99999;
+ const float nearValue = 9999999;
+ const float farValue = -99999;
return TransformationMatrix(2.0 / float(size.width()), 0, 0, 0,
0, (mirrored ? 2.0 : -2.0) / float(size.height()), 0, 0,
- 0, 0, -2.f / (far - near), 0,
- -1, mirrored ? -1 : 1, -(far + near) / (far - near), 1);
+ 0, 0, -2.f / (farValue - nearValue), 0,
+ -1, mirrored ? -1 : 1, -(farValue + nearValue) / (farValue - nearValue), 1);
}
void BitmapTextureGL::initializeStencil()
{
if (m_rbo)
return;
- GL_CMD(glGenRenderbuffers(1, &m_rbo));
- GL_CMD(glBindRenderbuffer(GL_RENDERBUFFER, m_rbo));
+
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+ m_rbo = context3D->createRenderbuffer();
+ context3D->bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, m_rbo);
#ifdef TEXMAP_OPENGL_ES_2
- GL_CMD(glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, m_textureSize.width(), m_textureSize.height()));
+ context3D->renderbufferStorage(GraphicsContext3D::RENDERBUFFER, GraphicsContext3D::STENCIL_INDEX8, m_textureSize.width(), m_textureSize.height());
#else
- GL_CMD(glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_STENCIL, m_textureSize.width(), m_textureSize.height()));
+ context3D->renderbufferStorage(GraphicsContext3D::RENDERBUFFER, GraphicsContext3D::DEPTH_STENCIL, m_textureSize.width(), m_textureSize.height());
#endif
- GL_CMD(glBindRenderbuffer(GL_RENDERBUFFER, 0));
- GL_CMD(glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, m_rbo));
- GL_CMD(glClearStencil(0));
- GL_CMD(glClear(GL_STENCIL_BUFFER_BIT));
+ context3D->bindRenderbuffer(GraphicsContext3D::RENDERBUFFER, 0);
+ context3D->framebufferRenderbuffer(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::STENCIL_ATTACHMENT, GraphicsContext3D::RENDERBUFFER, m_rbo);
+ context3D->clearStencil(0);
+ context3D->clear(GraphicsContext3D::STENCIL_BUFFER_BIT);
}
void BitmapTextureGL::clearIfNeeded()
@@ -814,10 +783,12 @@ void BitmapTextureGL::clearIfNeeded()
if (!m_shouldClear)
return;
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+
m_clipStack.init(IntRect(IntPoint::zero(), m_textureSize));
- m_clipStack.apply();
- GL_CMD(glClearColor(0, 0, 0, 0));
- GL_CMD(glClear(GL_COLOR_BUFFER_BIT));
+ m_clipStack.apply(context3D);
+ context3D->clearColor(0, 0, 0, 0);
+ context3D->clear(GraphicsContext3D::COLOR_BUFFER_BIT);
m_shouldClear = false;
}
@@ -826,33 +797,37 @@ void BitmapTextureGL::createFboIfNeeded()
if (m_fbo)
return;
- GL_CMD(glGenFramebuffers(1, &m_fbo));
- GL_CMD(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo));
- GL_CMD(glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, id(), 0));
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+ m_fbo = context3D->createFramebuffer();
+ context3D->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
+ context3D->framebufferTexture2D(GraphicsContext3D::FRAMEBUFFER, GraphicsContext3D::COLOR_ATTACHMENT0, GraphicsContext3D::TEXTURE_2D, id(), 0);
m_shouldClear = true;
}
void BitmapTextureGL::bind()
{
- GL_CMD(glBindTexture(GL_TEXTURE_2D, 0));
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+ context3D->bindTexture(GraphicsContext3D::TEXTURE_2D, 0);
createFboIfNeeded();
- GL_CMD(glBindFramebuffer(GL_FRAMEBUFFER, m_fbo));
- GL_CMD(glViewport(0, 0, m_textureSize.width(), m_textureSize.height()));
+ context3D->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, m_fbo);
+ context3D->viewport(0, 0, m_textureSize.width(), m_textureSize.height());
clearIfNeeded();
m_textureMapper->data().projectionMatrix = createProjectionMatrix(m_textureSize, true /* mirrored */);
- m_clipStack.apply();
+ m_clipStack.apply(context3D);
}
BitmapTextureGL::~BitmapTextureGL()
{
+ GraphicsContext3D* context3D = m_textureMapper->graphicsContext3D();
+
if (m_id)
- GL_CMD(glDeleteTextures(1, &m_id));
+ context3D->deleteTexture(m_id);
if (m_fbo)
- GL_CMD(glDeleteFramebuffers(1, &m_fbo));
+ context3D->deleteFramebuffer(m_fbo);
if (m_rbo)
- GL_CMD(glDeleteRenderbuffers(1, &m_rbo));
+ context3D->deleteRenderbuffer(m_rbo);
}
bool BitmapTextureGL::isValid() const
@@ -872,11 +847,11 @@ TextureMapperGL::~TextureMapperGL()
void TextureMapperGL::bindDefaultSurface()
{
- GL_CMD(glBindFramebuffer(GL_FRAMEBUFFER, data().targetFrameBuffer));
+ m_context3D->bindFramebuffer(GraphicsContext3D::FRAMEBUFFER, data().targetFrameBuffer);
IntSize viewportSize(data().viewport[2], data().viewport[3]);
data().projectionMatrix = createProjectionMatrix(viewportSize, data().PaintFlags & PaintingMirrored);
- GL_CMD(glViewport(data().viewport[0], data().viewport[1], viewportSize.width(), viewportSize.height()));
- m_clipStack.apply();
+ m_context3D->viewport(data().viewport[0], data().viewport[1], viewportSize.width(), viewportSize.height());
+ m_clipStack.apply(m_context3D.get());
data().currentSurface.clear();
}
@@ -906,7 +881,7 @@ bool TextureMapperGL::beginScissorClip(const TransformationMatrix& modelViewMatr
return false;
clipStack().current().scissorBox.intersect(rect);
- clipStack().apply();
+ clipStack().apply(m_context3D.get());
return true;
}
@@ -920,10 +895,10 @@ void TextureMapperGL::beginClip(const TransformationMatrix& modelViewMatrix, con
RefPtr<TextureMapperShaderProgram> program = data().sharedGLData().textureMapperShaderManager.getShaderProgram(TextureMapperShaderManager::Simple);
- GL_CMD(glUseProgram(program->id()));
- GL_CMD(glEnableVertexAttribArray(program->vertexAttrib()));
- const GLfloat unitRect[] = {0, 0, 1, 0, 1, 1, 0, 1};
- GL_CMD(glVertexAttribPointer(program->vertexAttrib(), 2, GL_FLOAT, GL_FALSE, 0, unitRect));
+ m_context3D->useProgram(program->id());
+ m_context3D->enableVertexAttribArray(program->vertexAttrib());
+ const GC3Dfloat unitRect[] = {0, 0, 1, 0, 1, 1, 0, 1};
+ m_context3D->vertexAttribPointer(program->vertexAttrib(), 2, GraphicsContext3D::FLOAT, false, 0, GC3Dintptr(unitRect));
TransformationMatrix matrix = TransformationMatrix(data().projectionMatrix)
.multiply(modelViewMatrix)
@@ -932,14 +907,14 @@ void TextureMapperGL::beginClip(const TransformationMatrix& modelViewMatrix, con
0, 0, 1, 0,
targetRect.x(), targetRect.y(), 0, 1));
- const GLfloat m4[] = {
+ const GC3Dfloat m4[] = {
matrix.m11(), matrix.m12(), matrix.m13(), matrix.m14(),
matrix.m21(), matrix.m22(), matrix.m23(), matrix.m24(),
matrix.m31(), matrix.m32(), matrix.m33(), matrix.m34(),
matrix.m41(), matrix.m42(), matrix.m43(), matrix.m44()
};
- const GLfloat m4all[] = {
+ const GC3Dfloat m4all[] = {
2, 0, 0, 0,
0, 2, 0, 0,
0, 0, 1, 0,
@@ -948,43 +923,42 @@ void TextureMapperGL::beginClip(const TransformationMatrix& modelViewMatrix, con
int& stencilIndex = clipStack().current().stencilIndex;
- GL_CMD(glEnable(GL_STENCIL_TEST));
+ m_context3D->enable(GraphicsContext3D::STENCIL_TEST);
// Make sure we don't do any actual drawing.
- GL_CMD(glStencilFunc(GL_NEVER, stencilIndex, stencilIndex));
+ m_context3D->stencilFunc(GraphicsContext3D::NEVER, stencilIndex, stencilIndex);
// Operate only on the stencilIndex and above.
- GL_CMD(glStencilMask(0xff & ~(stencilIndex - 1)));
+ m_context3D->stencilMask(0xff & ~(stencilIndex - 1));
// First clear the entire buffer at the current index.
- GL_CMD(glUniformMatrix4fv(program->matrixLocation(), 1, GL_FALSE, m4all));
- GL_CMD(glStencilOp(GL_ZERO, GL_ZERO, GL_ZERO));
- GL_CMD(glDrawArrays(GL_TRIANGLE_FAN, 0, 4));
+ m_context3D->uniformMatrix4fv(program->matrixLocation(), 1, false, const_cast<GC3Dfloat*>(m4all));
+ m_context3D->stencilOp(GraphicsContext3D::ZERO, GraphicsContext3D::ZERO, GraphicsContext3D::ZERO);
+ m_context3D->drawArrays(GraphicsContext3D::TRIANGLE_FAN, 0, 4);
// Now apply the current index to the new quad.
- GL_CMD(glStencilOp(GL_REPLACE, GL_REPLACE, GL_REPLACE));
- GL_CMD(glUniformMatrix4fv(program->matrixLocation(), 1, GL_FALSE, m4));
- GL_CMD(glDrawArrays(GL_TRIANGLE_FAN, 0, 4));
+ m_context3D->stencilOp(GraphicsContext3D::REPLACE, GraphicsContext3D::REPLACE, GraphicsContext3D::REPLACE);
+ m_context3D->uniformMatrix4fv(program->matrixLocation(), 1, false, const_cast<GC3Dfloat*>(m4));
+ m_context3D->drawArrays(GraphicsContext3D::TRIANGLE_FAN, 0, 4);
// Clear the state.
- GL_CMD(glDisableVertexAttribArray(program->vertexAttrib()));
- GL_CMD(glStencilMask(0));
+ m_context3D->disableVertexAttribArray(program->vertexAttrib());
+ m_context3D->stencilMask(0);
// Increase stencilIndex and apply stencil testing.
stencilIndex *= 2;
- clipStack().apply();
+ clipStack().apply(m_context3D.get());
}
void TextureMapperGL::endClip()
{
clipStack().pop();
- clipStack().apply();
+ clipStack().apply(m_context3D.get());
}
PassRefPtr<BitmapTexture> TextureMapperGL::createTexture()
{
- BitmapTextureGL* texture = new BitmapTextureGL();
- texture->setTextureMapper(this);
+ BitmapTextureGL* texture = new BitmapTextureGL(this);
return adoptRef(texture);
}
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h
index 076e65f73..8a72d67af 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperGL.h
@@ -23,8 +23,8 @@
#if USE(ACCELERATED_COMPOSITING)
#include "FloatQuad.h"
+#include "GraphicsContext3D.h"
#include "IntSize.h"
-#include "OpenGLShims.h"
#include "TextureMapper.h"
#include "TransformationMatrix.h"
@@ -38,7 +38,6 @@ class TextureMapperShaderProgram;
class TextureMapperGL : public TextureMapper {
public:
static PassOwnPtr<TextureMapperGL> create() { return adoptPtr(new TextureMapperGL); }
- TextureMapperGL();
virtual ~TextureMapperGL();
enum Flag {
@@ -54,7 +53,7 @@ public:
virtual void drawTexture(const BitmapTexture&, const FloatRect&, const TransformationMatrix&, float opacity, const BitmapTexture* maskTexture, unsigned exposedEdges) OVERRIDE;
virtual void drawTexture(uint32_t texture, Flags, const IntSize& textureSize, const FloatRect& targetRect, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture, unsigned exposedEdges = AllEdges);
-#if defined(GL_ARB_texture_rectangle)
+#if !USE(TEXMAP_OPENGL_ES_2)
virtual void drawTextureRectangleARB(uint32_t texture, Flags, const IntSize& textureSize, const FloatRect& targetRect, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture);
#endif
@@ -66,6 +65,7 @@ public:
virtual IntSize maxTextureSize() const OVERRIDE { return IntSize(2000, 2000); }
virtual PassRefPtr<BitmapTexture> createTexture() OVERRIDE;
virtual GraphicsContext* graphicsContext() OVERRIDE { return m_context; }
+ inline GraphicsContext3D* graphicsContext3D() const { return m_context3D.get(); }
virtual void setGraphicsContext(GraphicsContext* context) OVERRIDE { m_context = context; }
#if ENABLE(CSS_FILTERS)
@@ -75,7 +75,6 @@ public:
void setEnableEdgeDistanceAntialiasing(bool enabled) { m_enableEdgeDistanceAntialiasing = enabled; }
private:
-
struct ClipState {
IntRect scissorBox;
int stencilIndex;
@@ -89,7 +88,7 @@ private:
public:
void push();
void pop();
- void apply();
+ void apply(GraphicsContext3D*);
inline ClipState& current() { return clipState; }
void init(const IntRect&);
@@ -109,16 +108,19 @@ private:
FloatQuad targetRectMappedToUnitSquare;
};
+ TextureMapperGL();
+
bool drawTextureWithAntialiasing(uint32_t texture, Flags, const FloatRect& originalTargetRect, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture, unsigned exposedEdges);
void drawTexturedQuadWithProgram(TextureMapperShaderProgram*, uint32_t texture, Flags, const DrawQuad&, const TransformationMatrix& modelViewMatrix, float opacity, const BitmapTexture* maskTexture);
- void drawQuad(const DrawQuad&, const TransformationMatrix& modelViewMatrix, TextureMapperShaderProgram*, GLenum drawingMode, bool needsBlending);
+ void drawQuad(const DrawQuad&, const TransformationMatrix& modelViewMatrix, TextureMapperShaderProgram*, GC3Denum drawingMode, bool needsBlending);
bool beginScissorClip(const TransformationMatrix&, const FloatRect&);
void bindDefaultSurface();
ClipStack& clipStack();
inline TextureMapperGLData& data() { return *m_data; }
- TextureMapperGLData* m_data;
GraphicsContext* m_context;
+ RefPtr<GraphicsContext3D> m_context3D;
+ TextureMapperGLData* m_data;
ClipStack m_clipStack;
bool m_enableEdgeDistanceAntialiasing;
@@ -135,7 +137,7 @@ public:
void initializeStencil();
~BitmapTextureGL();
virtual uint32_t id() const { return m_id; }
- uint32_t textureTarget() const { return GL_TEXTURE_2D; }
+ uint32_t textureTarget() const { return GraphicsContext3D::TEXTURE_2D; }
IntSize textureSize() const { return m_textureSize; }
void setTextureMapper(TextureMapperGL* texmap) { m_textureMapper = texmap; }
void updateContents(Image*, const IntRect&, const IntPoint&);
@@ -147,20 +149,22 @@ public:
#endif
private:
- GLuint m_id;
+ Platform3DObject m_id;
IntSize m_textureSize;
IntRect m_dirtyRect;
- GLuint m_fbo;
- GLuint m_rbo;
+ Platform3DObject m_fbo;
+ Platform3DObject m_rbo;
bool m_shouldClear;
- TextureMapperGL* m_textureMapper;
TextureMapperGL::ClipStack m_clipStack;
- BitmapTextureGL()
+ TextureMapperGL* m_textureMapper;
+
+ BitmapTextureGL();
+ BitmapTextureGL(TextureMapperGL* textureMapper)
: m_id(0)
, m_fbo(0)
, m_rbo(0)
, m_shouldClear(true)
- , m_textureMapper(0)
+ , m_textureMapper(textureMapper)
{
}
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
index e58bd7381..36958987d 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperLayer.cpp
@@ -199,7 +199,7 @@ void TextureMapperLayer::paintSelfAndChildren(const TextureMapperPaintOptions& o
if (shouldClip)
options.textureMapper->beginClip(TransformationMatrix(options.transform).multiply(m_transform.combined()), layerRect());
- for (int i = 0; i < m_children.size(); ++i)
+ for (size_t i = 0; i < m_children.size(); ++i)
m_children[i]->paintRecursive(options);
if (shouldClip)
@@ -322,7 +322,7 @@ void TextureMapperLayer::paintSelfAndChildrenWithReplica(const TextureMapperPain
#if ENABLE(CSS_FILTERS)
static bool shouldKeepContentTexture(const FilterOperations& filters)
{
- for (int i = 0; i < filters.size(); ++i) {
+ for (size_t i = 0; i < filters.size(); ++i) {
switch (filters.operations().at(i)->getOperationType()) {
// The drop-shadow filter requires the content texture, because it needs to composite it
// on top of the blurred shadow color.
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp
index 0fbdbe95c..73d6fefbb 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.cpp
@@ -30,25 +30,11 @@
namespace WebCore {
-#ifndef TEXMAP_OPENGL_ES_2
-#define OES2_PRECISION_DEFINITIONS \
- "#define lowp\n#define highp\n"
-#define OES2_FRAGMENT_SHADER_DEFAULT_PRECISION
-#else
-#define OES2_PRECISION_DEFINITIONS
-#define OES2_FRAGMENT_SHADER_DEFAULT_PRECISION \
- "precision mediump float; \n"
-#endif
-
-#define STRINGIFY_VAL(src...) #src
-#define VERTEX_SHADER(src...) OES2_PRECISION_DEFINITIONS\
- STRINGIFY_VAL(src)
-#define FRAGMENT_SHADER(src...) OES2_PRECISION_DEFINITIONS\
- OES2_FRAGMENT_SHADER_DEFAULT_PRECISION\
- STRINGIFY_VAL(src)
+#define STRINGIFY(...) #__VA_ARGS__
static const char* fragmentShaderSourceOpacityAndMask =
- FRAGMENT_SHADER(
+ STRINGIFY(
+ precision mediump float;
uniform sampler2D s_source;
uniform sampler2D s_mask;
uniform lowp float u_opacity;
@@ -64,7 +50,8 @@ static const char* fragmentShaderSourceOpacityAndMask =
);
static const char* fragmentShaderSourceRectOpacityAndMask =
- FRAGMENT_SHADER(
+ STRINGIFY(
+ precision mediump float;
uniform sampler2DRect s_source;
uniform sampler2DRect s_mask;
uniform lowp float u_opacity;
@@ -80,7 +67,7 @@ static const char* fragmentShaderSourceRectOpacityAndMask =
);
static const char* vertexShaderSourceOpacityAndMask =
- VERTEX_SHADER(
+ STRINGIFY(
uniform mat4 u_matrix;
uniform lowp float u_flip;
attribute vec4 a_vertex;
@@ -95,7 +82,8 @@ static const char* vertexShaderSourceOpacityAndMask =
);
static const char* fragmentShaderSourceSimple =
- FRAGMENT_SHADER(
+ STRINGIFY(
+ precision mediump float;
uniform sampler2D s_source;
uniform lowp float u_opacity;
varying highp vec2 v_sourceTexCoord;
@@ -107,7 +95,8 @@ static const char* fragmentShaderSourceSimple =
);
static const char* fragmentShaderSourceAntialiasingNoMask =
- FRAGMENT_SHADER(
+ STRINGIFY(
+ precision mediump float;
uniform sampler2D s_source;
varying highp vec2 v_sourceTexCoord;
uniform lowp float u_opacity;
@@ -145,7 +134,8 @@ static const char* fragmentShaderSourceAntialiasingNoMask =
);
static const char* fragmentShaderSourceRectSimple =
- FRAGMENT_SHADER(
+ STRINGIFY(
+ precision mediump float;
uniform sampler2DRect s_source;
uniform lowp vec2 u_textureSize;
uniform lowp float u_opacity;
@@ -158,7 +148,7 @@ static const char* fragmentShaderSourceRectSimple =
);
static const char* vertexShaderSourceSimple =
- VERTEX_SHADER(
+ STRINGIFY(
uniform mat4 u_matrix;
uniform lowp float u_flip;
attribute vec4 a_vertex;
@@ -171,7 +161,7 @@ static const char* vertexShaderSourceSimple =
);
static const char* vertexShaderSourceSolidColor =
- VERTEX_SHADER(
+ STRINGIFY(
uniform mat4 u_matrix;
attribute vec4 a_vertex;
void main(void)
@@ -182,7 +172,8 @@ static const char* vertexShaderSourceSolidColor =
static const char* fragmentShaderSourceSolidColor =
- VERTEX_SHADER(
+ STRINGIFY(
+ precision mediump float;
uniform vec4 u_color;
void main(void)
{
@@ -212,22 +203,22 @@ PassRefPtr<TextureMapperShaderProgram> TextureMapperShaderManager::getShaderProg
switch (shaderType) {
case Simple:
- program = TextureMapperShaderProgramSimple::create();
+ program = TextureMapperShaderProgramSimple::create(m_context);
break;
case RectSimple:
- program = TextureMapperShaderProgramRectSimple::create();
+ program = TextureMapperShaderProgramRectSimple::create(m_context);
break;
case AntialiasingNoMask:
- program = TextureMapperShaderProgramAntialiasingNoMask::create();
+ program = TextureMapperShaderProgramAntialiasingNoMask::create(m_context);
break;
case OpacityAndMask:
- program = TextureMapperShaderProgramOpacityAndMask::create();
+ program = TextureMapperShaderProgramOpacityAndMask::create(m_context);
break;
case RectOpacityAndMask:
- program = TextureMapperShaderProgramRectOpacityAndMask::create();
+ program = TextureMapperShaderProgramRectOpacityAndMask::create(m_context);
break;
case SolidColor:
- program = TextureMapperShaderProgramSolidColor::create();
+ program = TextureMapperShaderProgramSolidColor::create(m_context);
break;
case Invalid:
ASSERT_NOT_REACHED();
@@ -236,8 +227,9 @@ PassRefPtr<TextureMapperShaderProgram> TextureMapperShaderManager::getShaderProg
return program;
}
-TextureMapperShaderProgram::TextureMapperShaderProgram(const char* vertexShaderSource, const char* fragmentShaderSource)
- : m_id(0)
+TextureMapperShaderProgram::TextureMapperShaderProgram(GraphicsContext3D* context, const char* vertexShaderSource, const char* fragmentShaderSource)
+ : m_context(context)
+ , m_id(0)
, m_vertexAttrib(0)
, m_vertexShader(0)
, m_fragmentShader(0)
@@ -256,46 +248,46 @@ void TextureMapperShaderProgram::initializeProgram()
{
const char* vertexShaderSourceProgram = vertexShaderSource();
const char* fragmentShaderSourceProgram = fragmentShaderSource();
- GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
- GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
- glShaderSource(vertexShader, 1, &vertexShaderSourceProgram, 0);
- glShaderSource(fragmentShader, 1, &fragmentShaderSourceProgram, 0);
- GLuint programID = glCreateProgram();
- glCompileShader(vertexShader);
- glCompileShader(fragmentShader);
+ Platform3DObject vertexShader = m_context->createShader(GraphicsContext3D::VERTEX_SHADER);
+ Platform3DObject fragmentShader = m_context->createShader(GraphicsContext3D::FRAGMENT_SHADER);
+ m_context->shaderSource(vertexShader, vertexShaderSourceProgram);
+ m_context->shaderSource(fragmentShader, fragmentShaderSourceProgram);
+ Platform3DObject programID = m_context->createProgram();
+ m_context->compileShader(vertexShader);
+ m_context->compileShader(fragmentShader);
- glAttachShader(programID, vertexShader);
- glAttachShader(programID, fragmentShader);
- glLinkProgram(programID);
+ m_context->attachShader(programID, vertexShader);
+ m_context->attachShader(programID, fragmentShader);
+ m_context->linkProgram(programID);
- m_vertexAttrib = glGetAttribLocation(programID, "a_vertex");
+ m_vertexAttrib = m_context->getAttribLocation(programID, "a_vertex");
m_id = programID;
m_vertexShader = vertexShader;
m_fragmentShader = fragmentShader;
}
-void TextureMapperShaderProgram::getUniformLocation(GLint &variable, const char* name)
+void TextureMapperShaderProgram::getUniformLocation(GC3Dint &variable, const char* name)
{
- variable = glGetUniformLocation(m_id, name);
+ variable = m_context->getUniformLocation(m_id, name);
ASSERT(variable >= 0);
}
TextureMapperShaderProgram::~TextureMapperShaderProgram()
{
- GLuint programID = m_id;
+ Platform3DObject programID = m_id;
if (!programID)
return;
- glDetachShader(programID, m_vertexShader);
- glDeleteShader(m_vertexShader);
- glDetachShader(programID, m_fragmentShader);
- glDeleteShader(m_fragmentShader);
- glDeleteProgram(programID);
+ m_context->detachShader(programID, m_vertexShader);
+ m_context->deleteShader(m_vertexShader);
+ m_context->detachShader(programID, m_fragmentShader);
+ m_context->deleteShader(m_fragmentShader);
+ m_context->deleteProgram(programID);
}
-TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple()
- : TextureMapperShaderProgram(vertexShaderSourceSimple, fragmentShaderSourceSimple)
+TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple(GraphicsContext3D* context)
+ : TextureMapperShaderProgram(context, vertexShaderSourceSimple, fragmentShaderSourceSimple)
{
initializeProgram();
getUniformLocation(m_flipLocation, "u_flip");
@@ -304,16 +296,16 @@ TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple()
getUniformLocation(m_opacityLocation, "u_opacity");
}
-TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor()
- : TextureMapperShaderProgram(vertexShaderSourceSolidColor, fragmentShaderSourceSolidColor)
+TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor(GraphicsContext3D* context)
+ : TextureMapperShaderProgram(context, vertexShaderSourceSolidColor, fragmentShaderSourceSolidColor)
{
initializeProgram();
getUniformLocation(m_matrixLocation, "u_matrix");
getUniformLocation(m_colorLocation, "u_color");
}
-TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple()
- : TextureMapperShaderProgram(vertexShaderSourceSimple, fragmentShaderSourceRectSimple)
+TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple(GraphicsContext3D* context)
+ : TextureMapperShaderProgram(context, vertexShaderSourceSimple, fragmentShaderSourceRectSimple)
{
initializeProgram();
getUniformLocation(m_matrixLocation, "u_matrix");
@@ -323,8 +315,8 @@ TextureMapperShaderProgramRectSimple::TextureMapperShaderProgramRectSimple()
getUniformLocation(m_opacityLocation, "u_opacity");
}
-TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask()
- : TextureMapperShaderProgram(vertexShaderSourceOpacityAndMask, fragmentShaderSourceOpacityAndMask)
+TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask(GraphicsContext3D* context)
+ : TextureMapperShaderProgram(context, vertexShaderSourceOpacityAndMask, fragmentShaderSourceOpacityAndMask)
{
initializeProgram();
getUniformLocation(m_matrixLocation, "u_matrix");
@@ -334,8 +326,8 @@ TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMa
getUniformLocation(m_opacityLocation, "u_opacity");
}
-TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask()
- : TextureMapperShaderProgram(vertexShaderSourceOpacityAndMask, fragmentShaderSourceRectOpacityAndMask)
+TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpacityAndMask(GraphicsContext3D* context)
+ : TextureMapperShaderProgram(context, vertexShaderSourceOpacityAndMask, fragmentShaderSourceRectOpacityAndMask)
{
initializeProgram();
getUniformLocation(m_matrixLocation, "u_matrix");
@@ -345,8 +337,8 @@ TextureMapperShaderProgramRectOpacityAndMask::TextureMapperShaderProgramRectOpac
getUniformLocation(m_opacityLocation, "u_opacity");
}
-TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask()
- : TextureMapperShaderProgram(vertexShaderSourceSimple, fragmentShaderSourceAntialiasingNoMask)
+TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialiasingNoMask(GraphicsContext3D* context)
+ : TextureMapperShaderProgram(context, vertexShaderSourceSimple, fragmentShaderSourceAntialiasingNoMask)
{
initializeProgram();
getUniformLocation(m_matrixLocation, "u_matrix");
@@ -356,9 +348,9 @@ TextureMapperShaderProgramAntialiasingNoMask::TextureMapperShaderProgramAntialia
getUniformLocation(m_flipLocation, "u_flip");
}
-TextureMapperShaderManager::TextureMapperShaderManager()
+TextureMapperShaderManager::TextureMapperShaderManager(GraphicsContext3D* context)
+ : m_context(context)
{
- ASSERT(initializeOpenGLShims());
}
TextureMapperShaderManager::~TextureMapperShaderManager()
@@ -373,18 +365,19 @@ TextureMapperShaderManager::~TextureMapperShaderManager()
StandardFilterProgram::~StandardFilterProgram()
{
- glDetachShader(m_id, m_vertexShader);
- glDeleteShader(m_vertexShader);
- glDetachShader(m_id, m_fragmentShader);
- glDeleteShader(m_fragmentShader);
- glDeleteProgram(m_id);
+ m_context->detachShader(m_id, m_vertexShader);
+ m_context->deleteShader(m_vertexShader);
+ m_context->detachShader(m_id, m_fragmentShader);
+ m_context->deleteShader(m_fragmentShader);
+ m_context->deleteProgram(m_id);
}
-StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type, unsigned pass)
- : m_id(0)
+StandardFilterProgram::StandardFilterProgram(GraphicsContext3D* context, FilterOperation::OperationType type, unsigned pass)
+ : m_context(context)
+ , m_id(0)
{
const char* vertexShaderSource =
- VERTEX_SHADER(
+ STRINGIFY(
attribute vec4 a_vertex;
attribute vec4 a_texCoord;
varying highp vec2 v_texCoord;
@@ -395,13 +388,12 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
}
);
-#define STANDARD_FILTER(x...) \
- OES2_PRECISION_DEFINITIONS\
- OES2_FRAGMENT_SHADER_DEFAULT_PRECISION\
+#define STANDARD_FILTER(...) \
+ "precision mediump float;\n"\
"varying highp vec2 v_texCoord;\n"\
"uniform highp float u_amount;\n"\
"uniform sampler2D u_texture;\n"\
- #x\
+ #__VA_ARGS__ \
"void main(void)\n { gl_FragColor = shade(texture2D(u_texture, v_texCoord)); }"
const char* fragmentShaderSource = 0;
@@ -490,7 +482,8 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
);
break;
case FilterOperation::BLUR:
- fragmentShaderSource = FRAGMENT_SHADER(
+ fragmentShaderSource = STRINGIFY(
+ precision mediump float;
varying highp vec2 v_texCoord;
uniform lowp vec2 u_blurRadius;
uniform sampler2D u_texture;
@@ -523,7 +516,8 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
switch (pass) {
case 0: {
// First pass: horizontal alpha blur.
- fragmentShaderSource = FRAGMENT_SHADER(
+ fragmentShaderSource = STRINGIFY(
+ precision mediump float;
varying highp vec2 v_texCoord;
uniform lowp float u_shadowBlurRadius;
uniform lowp vec2 u_shadowOffset;
@@ -556,7 +550,8 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
}
case 1: {
// Second pass: vertical alpha blur and composite with origin.
- fragmentShaderSource = FRAGMENT_SHADER(
+ fragmentShaderSource = STRINGIFY(
+ precision mediump float;
varying highp vec2 v_texCoord;
uniform lowp float u_shadowBlurRadius;
uniform lowp vec4 u_shadowColor;
@@ -602,26 +597,25 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
if (!fragmentShaderSource)
return;
- GLuint vertexShader = glCreateShader(GL_VERTEX_SHADER);
- GLuint fragmentShader = glCreateShader(GL_FRAGMENT_SHADER);
- glShaderSource(vertexShader, 1, &vertexShaderSource, 0);
- glShaderSource(fragmentShader, 1, &fragmentShaderSource, 0);
- GLuint programID = glCreateProgram();
- glCompileShader(vertexShader);
- glCompileShader(fragmentShader);
+ Platform3DObject vertexShader = m_context->createShader(GraphicsContext3D::VERTEX_SHADER);
+ Platform3DObject fragmentShader = m_context->createShader(GraphicsContext3D::FRAGMENT_SHADER);
+ m_context->shaderSource(vertexShader, vertexShaderSource);
+ m_context->shaderSource(fragmentShader, fragmentShaderSource);
+ Platform3DObject programID = m_context->createProgram();
+ m_context->compileShader(vertexShader);
+ m_context->compileShader(fragmentShader);
#if !LOG_DISABLED
- GLchar log[100];
- GLint len;
- glGetShaderInfoLog(fragmentShader, 100, &len, log);
- WTFLog(&LogCompositing, "%s\n", log);
+ String log;
+ m_context->getShaderInfoLog(fragmentShader);
+ WTFLog(&LogCompositing, "%s\n", log.ascii().data());
#endif
- glAttachShader(programID, vertexShader);
- glAttachShader(programID, fragmentShader);
- glLinkProgram(programID);
+ m_context->attachShader(programID, vertexShader);
+ m_context->attachShader(programID, fragmentShader);
+ m_context->linkProgram(programID);
- m_vertexAttrib = glGetAttribLocation(programID, "a_vertex");
- m_texCoordAttrib = glGetAttribLocation(programID, "a_texCoord");
- m_textureUniformLocation = glGetUniformLocation(programID, "u_texture");
+ m_vertexAttrib = m_context->getAttribLocation(programID, "a_vertex");
+ m_texCoordAttrib = m_context->getAttribLocation(programID, "a_texCoord");
+ m_textureUniformLocation = m_context->getUniformLocation(programID, "u_texture");
switch (type) {
case FilterOperation::GRAYSCALE:
case FilterOperation::SEPIA:
@@ -631,21 +625,21 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
case FilterOperation::BRIGHTNESS:
case FilterOperation::CONTRAST:
case FilterOperation::OPACITY:
- m_uniformLocations.amount = glGetUniformLocation(programID, "u_amount");
+ m_uniformLocations.amount = m_context->getUniformLocation(programID, "u_amount");
break;
case FilterOperation::BLUR:
- m_uniformLocations.blur.radius = glGetUniformLocation(programID, "u_blurRadius");
- m_uniformLocations.blur.gaussianKernel = glGetUniformLocation(programID, "u_gaussianKernel");
+ m_uniformLocations.blur.radius = m_context->getUniformLocation(programID, "u_blurRadius");
+ m_uniformLocations.blur.gaussianKernel = m_context->getUniformLocation(programID, "u_gaussianKernel");
break;
case FilterOperation::DROP_SHADOW:
- m_uniformLocations.shadow.blurRadius = glGetUniformLocation(programID, "u_shadowBlurRadius");
- m_uniformLocations.shadow.gaussianKernel = glGetUniformLocation(programID, "u_gaussianKernel");
+ m_uniformLocations.shadow.blurRadius = m_context->getUniformLocation(programID, "u_shadowBlurRadius");
+ m_uniformLocations.shadow.gaussianKernel = m_context->getUniformLocation(programID, "u_gaussianKernel");
if (!pass)
- m_uniformLocations.shadow.offset = glGetUniformLocation(programID, "u_shadowOffset");
+ m_uniformLocations.shadow.offset = m_context->getUniformLocation(programID, "u_shadowOffset");
else {
// We only need the color and the content texture in the second pass, the first pass is only a horizontal alpha blur.
- m_uniformLocations.shadow.color = glGetUniformLocation(programID, "u_shadowColor");
- m_uniformLocations.shadow.contentTexture = glGetUniformLocation(programID, "u_contentTexture");
+ m_uniformLocations.shadow.color = m_context->getUniformLocation(programID, "u_shadowColor");
+ m_uniformLocations.shadow.contentTexture = m_context->getUniformLocation(programID, "u_contentTexture");
}
break;
default:
@@ -656,9 +650,9 @@ StandardFilterProgram::StandardFilterProgram(FilterOperation::OperationType type
m_fragmentShader = fragmentShader;
}
-PassRefPtr<StandardFilterProgram> StandardFilterProgram::create(FilterOperation::OperationType type, unsigned pass)
+PassRefPtr<StandardFilterProgram> StandardFilterProgram::create(GraphicsContext3D* context, FilterOperation::OperationType type, unsigned pass)
{
- RefPtr<StandardFilterProgram> program = adoptRef(new StandardFilterProgram(type, pass));
+ RefPtr<StandardFilterProgram> program = adoptRef(new StandardFilterProgram(context, type, pass));
if (!program->m_id)
return 0;
@@ -694,21 +688,21 @@ static float* gaussianKernel()
return kernel;
}
-void StandardFilterProgram::prepare(const FilterOperation& operation, unsigned pass, const IntSize& size, GLuint contentTexture)
+void StandardFilterProgram::prepare(const FilterOperation& operation, unsigned pass, const IntSize& size, GC3Duint contentTexture)
{
- glUseProgram(m_id);
+ m_context->useProgram(m_id);
switch (operation.getOperationType()) {
case FilterOperation::GRAYSCALE:
case FilterOperation::SEPIA:
case FilterOperation::SATURATE:
case FilterOperation::HUE_ROTATE:
- glUniform1f(m_uniformLocations.amount, static_cast<const BasicColorMatrixFilterOperation&>(operation).amount());
+ m_context->uniform1f(m_uniformLocations.amount, static_cast<const BasicColorMatrixFilterOperation&>(operation).amount());
break;
case FilterOperation::INVERT:
case FilterOperation::BRIGHTNESS:
case FilterOperation::CONTRAST:
case FilterOperation::OPACITY:
- glUniform1f(m_uniformLocations.amount, static_cast<const BasicComponentTransferFilterOperation&>(operation).amount());
+ m_context->uniform1f(m_uniformLocations.amount, static_cast<const BasicComponentTransferFilterOperation&>(operation).amount());
break;
case FilterOperation::BLUR: {
const BlurFilterOperation& blur = static_cast<const BlurFilterOperation&>(operation);
@@ -720,8 +714,8 @@ void StandardFilterProgram::prepare(const FilterOperation& operation, unsigned p
else
radius.setWidth(floatValueForLength(blur.stdDeviation(), size.width()) / size.width());
- glUniform2f(m_uniformLocations.blur.radius, radius.width(), radius.height());
- glUniform1fv(m_uniformLocations.blur.gaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel());
+ m_context->uniform2f(m_uniformLocations.blur.radius, radius.width(), radius.height());
+ m_context->uniform1fv(m_uniformLocations.blur.gaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel());
break;
}
case FilterOperation::DROP_SHADOW: {
@@ -729,20 +723,20 @@ void StandardFilterProgram::prepare(const FilterOperation& operation, unsigned p
switch (pass) {
case 0:
// First pass: vertical alpha blur.
- glUniform2f(m_uniformLocations.shadow.offset, float(shadow.location().x()) / float(size.width()), float(shadow.location().y()) / float(size.height()));
- glUniform1f(m_uniformLocations.shadow.blurRadius, shadow.stdDeviation() / float(size.width()));
- glUniform1fv(m_uniformLocations.shadow.gaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel());
+ m_context->uniform2f(m_uniformLocations.shadow.offset, float(shadow.location().x()) / float(size.width()), float(shadow.location().y()) / float(size.height()));
+ m_context->uniform1f(m_uniformLocations.shadow.blurRadius, shadow.stdDeviation() / float(size.width()));
+ m_context->uniform1fv(m_uniformLocations.shadow.gaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel());
break;
case 1:
// Second pass: we need the shadow color and the content texture for compositing.
- glUniform1f(m_uniformLocations.shadow.blurRadius, shadow.stdDeviation() / float(size.height()));
- glUniform1fv(m_uniformLocations.shadow.gaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel());
- glActiveTexture(GL_TEXTURE1);
- glBindTexture(GL_TEXTURE_2D, contentTexture);
- glUniform1i(m_uniformLocations.shadow.contentTexture, 1);
+ m_context->uniform1f(m_uniformLocations.shadow.blurRadius, shadow.stdDeviation() / float(size.height()));
+ m_context->uniform1fv(m_uniformLocations.shadow.gaussianKernel, GAUSSIAN_KERNEL_HALF_WIDTH, gaussianKernel());
+ m_context->activeTexture(GraphicsContext3D::TEXTURE1);
+ m_context->bindTexture(GraphicsContext3D::TEXTURE_2D, contentTexture);
+ m_context->uniform1i(m_uniformLocations.shadow.contentTexture, 1);
float r, g, b, a;
shadow.color().getRGBA(r, g, b, a);
- glUniform4f(m_uniformLocations.shadow.color, r, g, b, a);
+ m_context->uniform4f(m_uniformLocations.shadow.color, r, g, b, a);
break;
}
break;
@@ -759,7 +753,7 @@ PassRefPtr<StandardFilterProgram> TextureMapperShaderManager::getShaderForFilter
int key = int(type) | (pass << 16);
FilterMap::iterator iterator = m_filterMap.find(key);
if (iterator == m_filterMap.end()) {
- program = StandardFilterProgram::create(type, pass);
+ program = StandardFilterProgram::create(m_context, type, pass);
if (!program)
return 0;
diff --git a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h
index 785498e7f..1ffb7100b 100644
--- a/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h
+++ b/Source/WebCore/platform/graphics/texmap/TextureMapperShaderManager.h
@@ -24,9 +24,9 @@
#if USE(ACCELERATED_COMPOSITING) && USE(TEXTURE_MAPPER)
#include "FloatQuad.h"
+#include "GraphicsContext3D.h"
#include "IntSize.h"
-#include "OpenGLShims.h"
-#include "TextureMapper.h"
+#include "TextureMapperGL.h"
#include "TransformationMatrix.h"
#include <wtf/HashMap.h>
#include <wtf/PassRefPtr.h>
@@ -44,39 +44,40 @@ class TextureMapperShaderManager;
class TextureMapperShaderProgram : public RefCounted<TextureMapperShaderProgram> {
public:
- GLuint id() { return m_id; }
- GLuint vertexAttrib() { return m_vertexAttrib; }
+ Platform3DObject id() { return m_id; }
+ GC3Duint vertexAttrib() { return m_vertexAttrib; }
- TextureMapperShaderProgram(const char* vertexShaderSource, const char* fragmentShaderSource);
+ TextureMapperShaderProgram(GraphicsContext3D*, const char* vertexShaderSource, const char* fragmentShaderSource);
virtual ~TextureMapperShaderProgram();
virtual void prepare(float opacity, const BitmapTexture*) { }
- GLint matrixLocation() const { return m_matrixLocation; }
- GLint flipLocation() const { return m_flipLocation; }
- GLint textureSizeLocation() const { return m_textureSizeLocation; }
- GLint sourceTextureLocation() const { return m_sourceTextureLocation; }
- GLint maskTextureLocation() const { return m_maskTextureLocation; }
- GLint opacityLocation() const { return m_opacityLocation; }
+ GC3Dint matrixLocation() const { return m_matrixLocation; }
+ GC3Dint flipLocation() const { return m_flipLocation; }
+ GC3Dint textureSizeLocation() const { return m_textureSizeLocation; }
+ GC3Dint sourceTextureLocation() const { return m_sourceTextureLocation; }
+ GC3Dint maskTextureLocation() const { return m_maskTextureLocation; }
+ GC3Dint opacityLocation() const { return m_opacityLocation; }
- static bool isValidUniformLocation(GLint location) { return location >= 0; }
+ static bool isValidUniformLocation(GC3Dint location) { return location >= 0; }
protected:
- void getUniformLocation(GLint& var, const char* name);
+ void getUniformLocation(GC3Dint& var, const char* name);
void initializeProgram();
virtual void initialize() { }
const char* vertexShaderSource() const { return m_vertexShaderSource.data(); }
const char* fragmentShaderSource() const { return m_fragmentShaderSource.data(); }
- GLuint m_id;
- GLuint m_vertexAttrib;
- GLuint m_vertexShader;
- GLuint m_fragmentShader;
- GLint m_matrixLocation;
- GLint m_flipLocation;
- GLint m_textureSizeLocation;
- GLint m_sourceTextureLocation;
- GLint m_opacityLocation;
- GLint m_maskTextureLocation;
+ GraphicsContext3D* m_context;
+ Platform3DObject m_id;
+ GC3Duint m_vertexAttrib;
+ Platform3DObject m_vertexShader;
+ Platform3DObject m_fragmentShader;
+ GC3Dint m_matrixLocation;
+ GC3Dint m_flipLocation;
+ GC3Dint m_textureSizeLocation;
+ GC3Dint m_sourceTextureLocation;
+ GC3Dint m_opacityLocation;
+ GC3Dint m_maskTextureLocation;
private:
CString m_vertexShaderSource;
@@ -87,33 +88,36 @@ private:
class StandardFilterProgram : public RefCounted<StandardFilterProgram> {
public:
virtual ~StandardFilterProgram();
- virtual void prepare(const FilterOperation&, unsigned pass, const IntSize&, GLuint contentTexture);
- static PassRefPtr<StandardFilterProgram> create(FilterOperation::OperationType, unsigned pass);
- GLuint vertexAttrib() const { return m_vertexAttrib; }
- GLuint texCoordAttrib() const { return m_texCoordAttrib; }
- GLuint textureUniform() const { return m_textureUniformLocation; }
+ virtual void prepare(const FilterOperation&, unsigned pass, const IntSize&, GC3Duint contentTexture);
+ static PassRefPtr<StandardFilterProgram> create(GraphicsContext3D*, FilterOperation::OperationType, unsigned pass);
+ GC3Duint vertexAttrib() const { return m_vertexAttrib; }
+ GC3Duint texCoordAttrib() const { return m_texCoordAttrib; }
+ GC3Duint textureUniform() const { return m_textureUniformLocation; }
+protected:
+ GraphicsContext3D* m_context;
private:
- StandardFilterProgram(FilterOperation::OperationType, unsigned pass);
- GLuint m_id;
- GLuint m_vertexShader;
- GLuint m_fragmentShader;
- GLuint m_vertexAttrib;
- GLuint m_texCoordAttrib;
- GLuint m_textureUniformLocation;
+ StandardFilterProgram();
+ StandardFilterProgram(GraphicsContext3D*, FilterOperation::OperationType, unsigned pass);
+ Platform3DObject m_id;
+ Platform3DObject m_vertexShader;
+ Platform3DObject m_fragmentShader;
+ GC3Duint m_vertexAttrib;
+ GC3Duint m_texCoordAttrib;
+ GC3Duint m_textureUniformLocation;
union {
- GLuint amount;
+ GC3Duint amount;
struct {
- GLuint radius;
- GLuint gaussianKernel;
+ GC3Duint radius;
+ GC3Duint gaussianKernel;
} blur;
struct {
- GLuint blurRadius;
- GLuint color;
- GLuint offset;
- GLuint contentTexture;
- GLuint gaussianKernel;
+ GC3Duint blurRadius;
+ GC3Duint color;
+ GC3Duint offset;
+ GC3Duint contentTexture;
+ GC3Duint gaussianKernel;
} shadow;
} m_uniformLocations;
};
@@ -121,77 +125,89 @@ private:
class TextureMapperShaderProgramSimple : public TextureMapperShaderProgram {
public:
- static PassRefPtr<TextureMapperShaderProgramSimple> create()
+ static PassRefPtr<TextureMapperShaderProgramSimple> create(GraphicsContext3D* context)
{
- return adoptRef(new TextureMapperShaderProgramSimple());
+ return adoptRef(new TextureMapperShaderProgramSimple(context));
}
protected:
+ TextureMapperShaderProgramSimple(GraphicsContext3D*);
+private:
TextureMapperShaderProgramSimple();
};
class TextureMapperShaderProgramRectSimple : public TextureMapperShaderProgram {
public:
- static PassRefPtr<TextureMapperShaderProgramRectSimple> create()
+ static PassRefPtr<TextureMapperShaderProgramRectSimple> create(GraphicsContext3D* context)
{
- return adoptRef(new TextureMapperShaderProgramRectSimple());
+ return adoptRef(new TextureMapperShaderProgramRectSimple(context));
}
+protected:
+ TextureMapperShaderProgramRectSimple(GraphicsContext3D*);
private:
TextureMapperShaderProgramRectSimple();
};
class TextureMapperShaderProgramOpacityAndMask : public TextureMapperShaderProgram {
public:
- static PassRefPtr<TextureMapperShaderProgramOpacityAndMask> create()
+ static PassRefPtr<TextureMapperShaderProgramOpacityAndMask> create(GraphicsContext3D* context)
{
- return adoptRef(new TextureMapperShaderProgramOpacityAndMask());
+ return adoptRef(new TextureMapperShaderProgramOpacityAndMask(context));
}
+protected:
+ TextureMapperShaderProgramOpacityAndMask(GraphicsContext3D*);
private:
TextureMapperShaderProgramOpacityAndMask();
};
class TextureMapperShaderProgramRectOpacityAndMask : public TextureMapperShaderProgram {
public:
- static PassRefPtr<TextureMapperShaderProgramRectOpacityAndMask> create()
+ static PassRefPtr<TextureMapperShaderProgramRectOpacityAndMask> create(GraphicsContext3D* context)
{
- return adoptRef(new TextureMapperShaderProgramRectOpacityAndMask());
+ return adoptRef(new TextureMapperShaderProgramRectOpacityAndMask(context));
}
+protected:
+ TextureMapperShaderProgramRectOpacityAndMask(GraphicsContext3D*);
private:
TextureMapperShaderProgramRectOpacityAndMask();
};
class TextureMapperShaderProgramSolidColor : public TextureMapperShaderProgram {
public:
- static PassRefPtr<TextureMapperShaderProgramSolidColor> create()
+ static PassRefPtr<TextureMapperShaderProgramSolidColor> create(GraphicsContext3D* context)
{
- return adoptRef(new TextureMapperShaderProgramSolidColor());
+ return adoptRef(new TextureMapperShaderProgramSolidColor(context));
}
- GLint colorLocation() const { return m_colorLocation; }
+ GC3Dint colorLocation() const { return m_colorLocation; }
+protected:
+ TextureMapperShaderProgramSolidColor(GraphicsContext3D*);
private:
TextureMapperShaderProgramSolidColor();
- GLint m_colorLocation;
+ GC3Dint m_colorLocation;
};
class TextureMapperShaderProgramAntialiasingNoMask : public TextureMapperShaderProgram {
public:
- static PassRefPtr<TextureMapperShaderProgramAntialiasingNoMask> create()
+ static PassRefPtr<TextureMapperShaderProgramAntialiasingNoMask> create(GraphicsContext3D* context)
{
- return adoptRef(new TextureMapperShaderProgramAntialiasingNoMask());
+ return adoptRef(new TextureMapperShaderProgramAntialiasingNoMask(context));
}
- GLint expandedQuadVerticesInTextureCoordinatesLocation() { return m_expandedQuadVerticesInTextureCordinatesLocation; }
- GLint expandedQuadEdgesInScreenSpaceLocation() { return m_expandedQuadEdgesInScreenSpaceLocation; }
+ GC3Dint expandedQuadVerticesInTextureCoordinatesLocation() { return m_expandedQuadVerticesInTextureCordinatesLocation; }
+ GC3Dint expandedQuadEdgesInScreenSpaceLocation() { return m_expandedQuadEdgesInScreenSpaceLocation; }
+protected:
+ TextureMapperShaderProgramAntialiasingNoMask(GraphicsContext3D*);
private:
TextureMapperShaderProgramAntialiasingNoMask();
- GLint m_expandedQuadVerticesInTextureCordinatesLocation;
- GLint m_expandedQuadEdgesInScreenSpaceLocation;
+ GC3Dint m_expandedQuadVerticesInTextureCordinatesLocation;
+ GC3Dint m_expandedQuadEdgesInScreenSpaceLocation;
};
class TextureMapperShaderManager {
@@ -206,7 +222,8 @@ public:
SolidColor
};
- TextureMapperShaderManager();
+ TextureMapperShaderManager() { }
+ TextureMapperShaderManager(GraphicsContext3D*);
virtual ~TextureMapperShaderManager();
#if ENABLE(CSS_FILTERS)
@@ -221,12 +238,12 @@ public:
private:
typedef HashMap<ShaderType, RefPtr<TextureMapperShaderProgram>, DefaultHash<int>::Hash, HashTraits<int> > TextureMapperShaderProgramMap;
TextureMapperShaderProgramMap m_textureMapperShaderProgramMap;
+ GraphicsContext3D* m_context;
#if ENABLE(CSS_FILTERS)
typedef HashMap<int, RefPtr<StandardFilterProgram> > FilterMap;
FilterMap m_filterMap;
#endif
-
};
}
diff --git a/Source/WebCore/platform/graphics/transforms/TransformState.h b/Source/WebCore/platform/graphics/transforms/TransformState.h
index c25d26619..33eb7e0db 100644
--- a/Source/WebCore/platform/graphics/transforms/TransformState.h
+++ b/Source/WebCore/platform/graphics/transforms/TransformState.h
@@ -30,7 +30,7 @@
#include "FloatPoint.h"
#include "FloatQuad.h"
#include "IntSize.h"
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include "TransformationMatrix.h"
#include <wtf/OwnPtr.h>
diff --git a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
index 53038b4ee..495b15f8b 100644
--- a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
+++ b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp
@@ -31,6 +31,7 @@
#include "FloatPoint3D.h"
#include "FloatRect.h"
#include "FloatQuad.h"
+#include "FractionalLayoutRect.h"
#include "IntRect.h"
#include <wtf/Assertions.h>
diff --git a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
index ca68c57aa..cd1db5e03 100644
--- a/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
+++ b/Source/WebCore/platform/graphics/transforms/TransformationMatrix.h
@@ -27,7 +27,6 @@
#define TransformationMatrix_h
#include "FloatPoint.h"
-#include "FractionalLayoutRect.h"
#include "IntPoint.h"
#include <string.h> //for memcpy
#include <wtf/FastAllocBase.h>
diff --git a/Source/WebCore/platform/graphics/win/FontCGWin.cpp b/Source/WebCore/platform/graphics/win/FontCGWin.cpp
index f59669640..b367bb79d 100644
--- a/Source/WebCore/platform/graphics/win/FontCGWin.cpp
+++ b/Source/WebCore/platform/graphics/win/FontCGWin.cpp
@@ -127,176 +127,6 @@ static CGPathRef createPathForGlyph(HDC hdc, Glyph glyph)
return path;
}
-static void drawGDIGlyphs(GraphicsContext* graphicsContext, const SimpleFontData* font, const GlyphBuffer& glyphBuffer,
- int from, int numGlyphs, const FloatPoint& point)
-{
- Color fillColor = graphicsContext->fillColor();
-
- bool drawIntoBitmap = false;
- TextDrawingModeFlags drawingMode = graphicsContext->textDrawingMode();
- if (drawingMode == TextModeFill) {
- if (!fillColor.alpha())
- return;
-
- drawIntoBitmap = fillColor.alpha() != 255 || graphicsContext->isInTransparencyLayer();
- if (!drawIntoBitmap) {
- FloatSize offset;
- float blur;
- Color color;
- ColorSpace shadowColorSpace;
-
- graphicsContext->getShadow(offset, blur, color, shadowColorSpace);
- drawIntoBitmap = offset.width() || offset.height() || blur;
- }
- }
-
- // We have to convert CG's two-dimensional floating point advances to just horizontal integer advances.
- Vector<int, 2048> gdiAdvances;
- int totalWidth = 0;
- for (int i = 0; i < numGlyphs; i++) {
- gdiAdvances.append(lroundf(glyphBuffer.advanceAt(from + i)));
- totalWidth += gdiAdvances[i];
- }
-
- HDC hdc = 0;
- OwnPtr<GraphicsContext::WindowsBitmap> bitmap;
- IntRect textRect;
- if (!drawIntoBitmap)
- hdc = graphicsContext->getWindowsContext(textRect, true, false);
- if (!hdc) {
- drawIntoBitmap = true;
- // We put slop into this rect, since glyphs can overflow the ascent/descent bounds and the left/right edges.
- // FIXME: Can get glyphs' optical bounds (even from CG) to get this right.
- const FontMetrics& fontMetrics = font->fontMetrics();
- int lineGap = fontMetrics.lineGap();
- textRect = IntRect(point.x() - (fontMetrics.ascent() + fontMetrics.descent()) / 2,
- point.y() - fontMetrics.ascent() - lineGap,
- totalWidth + fontMetrics.ascent() + fontMetrics.descent(),
- fontMetrics.lineSpacing());
- bitmap = graphicsContext->createWindowsBitmap(textRect.size());
- memset(bitmap->buffer(), 255, bitmap->bufferLength());
- hdc = bitmap->hdc();
-
- XFORM xform;
- xform.eM11 = 1.0f;
- xform.eM12 = 0.0f;
- xform.eM21 = 0.0f;
- xform.eM22 = 1.0f;
- xform.eDx = -textRect.x();
- xform.eDy = -textRect.y();
- SetWorldTransform(hdc, &xform);
- }
-
- SelectObject(hdc, font->platformData().hfont());
-
- // Set the correct color.
- if (drawIntoBitmap)
- SetTextColor(hdc, RGB(0, 0, 0));
- else
- SetTextColor(hdc, RGB(fillColor.red(), fillColor.green(), fillColor.blue()));
-
- SetBkMode(hdc, TRANSPARENT);
- SetTextAlign(hdc, TA_LEFT | TA_BASELINE);
-
- // Uniscribe gives us offsets to help refine the positioning of combining glyphs.
- FloatSize translation = glyphBuffer.offsetAt(from);
- if (translation.width() || translation.height()) {
- XFORM xform;
- xform.eM11 = 1.0;
- xform.eM12 = 0;
- xform.eM21 = 0;
- xform.eM22 = 1.0;
- xform.eDx = translation.width();
- xform.eDy = translation.height();
- ModifyWorldTransform(hdc, &xform, MWT_LEFTMULTIPLY);
- }
-
- if (drawingMode == TextModeFill) {
- XFORM xform;
- xform.eM11 = 1.0;
- xform.eM12 = 0;
- xform.eM21 = font->platformData().syntheticOblique() ? -tanf(syntheticObliqueAngle * piFloat / 180.0f) : 0;
- xform.eM22 = 1.0;
- xform.eDx = point.x();
- xform.eDy = point.y();
- ModifyWorldTransform(hdc, &xform, MWT_LEFTMULTIPLY);
- ExtTextOut(hdc, 0, 0, ETO_GLYPH_INDEX, 0, reinterpret_cast<const WCHAR*>(glyphBuffer.glyphs(from)), numGlyphs, gdiAdvances.data());
- if (font->syntheticBoldOffset()) {
- xform.eM21 = 0;
- xform.eDx = font->syntheticBoldOffset();
- xform.eDy = 0;
- ModifyWorldTransform(hdc, &xform, MWT_LEFTMULTIPLY);
- ExtTextOut(hdc, 0, 0, ETO_GLYPH_INDEX, 0, reinterpret_cast<const WCHAR*>(glyphBuffer.glyphs(from)), numGlyphs, gdiAdvances.data());
- }
- } else {
- XFORM xform;
- GetWorldTransform(hdc, &xform);
- AffineTransform hdcTransform(xform.eM11, xform.eM21, xform.eM12, xform.eM22, xform.eDx, xform.eDy);
- CGAffineTransform initialGlyphTransform = hdcTransform.isInvertible() ? hdcTransform.inverse() : CGAffineTransformIdentity;
- if (font->platformData().syntheticOblique())
- initialGlyphTransform = CGAffineTransformConcat(initialGlyphTransform, CGAffineTransformMake(1, 0, tanf(syntheticObliqueAngle * piFloat / 180.0f), 1, 0, 0));
- initialGlyphTransform.tx = 0;
- initialGlyphTransform.ty = 0;
- CGContextRef cgContext = graphicsContext->platformContext();
-
- CGContextSaveGState(cgContext);
-
- BOOL fontSmoothingEnabled = false;
- SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &fontSmoothingEnabled, 0);
- CGContextSetShouldAntialias(cgContext, fontSmoothingEnabled);
-
- CGContextScaleCTM(cgContext, 1.0, -1.0);
- CGContextTranslateCTM(cgContext, point.x() + glyphBuffer.offsetAt(from).width(), -(point.y() + glyphBuffer.offsetAt(from).height()));
-
- for (unsigned i = 0; i < numGlyphs; ++i) {
- RetainPtr<CGPathRef> glyphPath(AdoptCF, createPathForGlyph(hdc, glyphBuffer.glyphAt(from + i)));
- CGContextSaveGState(cgContext);
- CGContextConcatCTM(cgContext, initialGlyphTransform);
-
- if (drawingMode & TextModeFill) {
- CGContextAddPath(cgContext, glyphPath.get());
- CGContextFillPath(cgContext);
- if (font->syntheticBoldOffset()) {
- CGContextTranslateCTM(cgContext, font->syntheticBoldOffset(), 0);
- CGContextAddPath(cgContext, glyphPath.get());
- CGContextFillPath(cgContext);
- CGContextTranslateCTM(cgContext, -font->syntheticBoldOffset(), 0);
- }
- }
- if (drawingMode & TextModeStroke) {
- CGContextAddPath(cgContext, glyphPath.get());
- CGContextStrokePath(cgContext);
- if (font->syntheticBoldOffset()) {
- CGContextTranslateCTM(cgContext, font->syntheticBoldOffset(), 0);
- CGContextAddPath(cgContext, glyphPath.get());
- CGContextStrokePath(cgContext);
- CGContextTranslateCTM(cgContext, -font->syntheticBoldOffset(), 0);
- }
- }
-
- CGContextRestoreGState(cgContext);
- CGContextTranslateCTM(cgContext, gdiAdvances[i], 0);
- }
-
- CGContextRestoreGState(cgContext);
- }
-
- if (drawIntoBitmap) {
- UInt8* buffer = bitmap->buffer();
- unsigned bufferLength = bitmap->bufferLength();
- for (unsigned i = 0; i < bufferLength; i += 4) {
- // Use green, which is always in the middle.
- UInt8 alpha = (255 - buffer[i + 1]) * fillColor.alpha() / 255;
- buffer[i] = fillColor.blue();
- buffer[i + 1] = fillColor.green();
- buffer[i + 2] = fillColor.red();
- buffer[i + 3] = alpha;
- }
- graphicsContext->drawWindowsBitmap(bitmap.get(), textRect.location());
- } else
- graphicsContext->releaseWindowsContext(hdc, textRect, true, false);
-}
-
void Font::drawGlyphs(GraphicsContext* graphicsContext, const SimpleFontData* font, const GlyphBuffer& glyphBuffer,
int from, int numGlyphs, const FloatPoint& point) const
{
@@ -327,11 +157,6 @@ void Font::drawGlyphs(GraphicsContext* graphicsContext, const SimpleFontData* fo
ASSERT_NOT_REACHED();
}
- if (font->platformData().useGDI() && !shouldUseFontSmoothing) {
- drawGDIGlyphs(graphicsContext, font, glyphBuffer, from, numGlyphs, point);
- return;
- }
-
uint32_t oldFontSmoothingStyle = wkSetFontSmoothingStyle(cgContext, shouldUseFontSmoothing);
const FontPlatformData& platformData = font->platformData();
diff --git a/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
index cd1dee6b7..d3e5c0761 100644
--- a/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/win/FontCustomPlatformData.h
@@ -24,11 +24,11 @@
#include "FontOrientation.h"
#include "FontRenderingMode.h"
#include "FontWidthVariant.h"
-#include "PlatformString.h"
#include "TextOrientation.h"
#include <windows.h>
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
typedef struct CGFont* CGFontRef;
diff --git a/Source/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp b/Source/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp
index 287121bfc..a424a86b6 100644
--- a/Source/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp
+++ b/Source/WebCore/platform/graphics/win/FontPlatformDataCGWin.cpp
@@ -24,13 +24,13 @@
#include "config.h"
#include "FontPlatformData.h"
-#include "PlatformString.h"
#include <ApplicationServices/ApplicationServices.h>
#include <WebKitSystemInterface/WebKitSystemInterface.h>
#include <wtf/HashMap.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
using std::min;
diff --git a/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp b/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp
index 82d6b4ff4..cc49b986f 100644
--- a/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp
+++ b/Source/WebCore/platform/graphics/win/FontPlatformDataCairoWin.cpp
@@ -26,11 +26,11 @@
#include "config.h"
#include "FontPlatformData.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <cairo-win32.h>
diff --git a/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp b/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp
index f78368511..44a4ec4be 100644
--- a/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp
+++ b/Source/WebCore/platform/graphics/win/FontPlatformDataWin.cpp
@@ -26,12 +26,12 @@
#include "FontPlatformData.h"
#include "HWndDC.h"
-#include "PlatformString.h"
#include "SharedBuffer.h"
#include <wtf/HashMap.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
using std::min;
diff --git a/Source/WebCore/platform/graphics/win/IconWin.cpp b/Source/WebCore/platform/graphics/win/IconWin.cpp
index 7e033628c..cb7ddb72a 100644
--- a/Source/WebCore/platform/graphics/win/IconWin.cpp
+++ b/Source/WebCore/platform/graphics/win/IconWin.cpp
@@ -24,8 +24,8 @@
#include "GraphicsContext.h"
#include "LocalWindowsContext.h"
-#include "PlatformString.h"
#include <windows.h>
+#include <wtf/text/WTFString.h>
#if OS(WINCE)
// SHGFI_SHELLICONSIZE is not available on WINCE
diff --git a/Source/WebCore/platform/graphics/win/ImageCGWin.cpp b/Source/WebCore/platform/graphics/win/ImageCGWin.cpp
index 6cc5d6dd1..74a5d7664 100644
--- a/Source/WebCore/platform/graphics/win/ImageCGWin.cpp
+++ b/Source/WebCore/platform/graphics/win/ImageCGWin.cpp
@@ -29,10 +29,10 @@
#include "BitmapImage.h"
#include "BitmapInfo.h"
#include "GraphicsContextCG.h"
-#include "PlatformString.h"
#include <ApplicationServices/ApplicationServices.h>
#include <windows.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp b/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp
index 272cba88f..230d2c7ba 100644
--- a/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp
+++ b/Source/WebCore/platform/graphics/win/ImageCairoWin.cpp
@@ -31,7 +31,7 @@
#include <cairo-win32.h>
#include <windows.h>
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp b/Source/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp
index 96847e7c9..9965526fa 100644
--- a/Source/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp
+++ b/Source/WebCore/platform/graphics/win/SimpleFontDataCGWin.cpp
@@ -34,7 +34,6 @@
#include "FontCache.h"
#include "FontDescription.h"
#include "HWndDC.h"
-#include "PlatformString.h"
#include <ApplicationServices/ApplicationServices.h>
#include <WebKitSystemInterface/WebKitSystemInterface.h>
#include <mlang.h>
@@ -43,6 +42,7 @@
#include <winsock2.h>
#include <wtf/MathExtras.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/win/UniscribeController.cpp b/Source/WebCore/platform/graphics/win/UniscribeController.cpp
index 6158fe617..aacfb1695 100644
--- a/Source/WebCore/platform/graphics/win/UniscribeController.cpp
+++ b/Source/WebCore/platform/graphics/win/UniscribeController.cpp
@@ -109,7 +109,7 @@ void UniscribeController::advance(unsigned offset, GlyphBuffer* glyphBuffer)
return;
// Itemize the string.
- const UChar* cp = m_run.data(m_currentCharacter);
+ const UChar* cp = m_run.data16(m_currentCharacter);
unsigned baseCharacter = m_currentCharacter;
// We break up itemization of the string by fontData and (if needed) the use of small caps.
@@ -330,7 +330,7 @@ bool UniscribeController::shapeAndPlaceItem(const UChar* cp, unsigned i, const S
}
// Account for word-spacing.
- if (characterIndex > 0 && !Font::treatAsSpace(*m_run.data(characterIndex - 1)) && m_font.wordSpacing())
+ if (characterIndex > 0 && !Font::treatAsSpace(*m_run.data16(characterIndex - 1)) && m_font.wordSpacing())
advance += m_font.wordSpacing();
}
}
diff --git a/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h b/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h
index 12a86e949..ade3d66a6 100644
--- a/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h
+++ b/Source/WebCore/platform/graphics/wince/FontCustomPlatformData.h
@@ -25,13 +25,14 @@
#include "FontRenderingMode.h"
#include "FontWidthVariant.h"
#include "TextOrientation.h"
-#include "PlatformString.h"
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class FontPlatformData;
class CachedFont;
+ class SharedBuffer;
class CustomFontCache {
public:
diff --git a/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp b/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp
index 19790ad49..1266c5c1b 100644
--- a/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp
+++ b/Source/WebCore/platform/graphics/wince/FontPlatformData.cpp
@@ -24,12 +24,12 @@
#include "Font.h"
#include "FontCache.h"
#include "FontData.h"
-#include "PlatformString.h"
#include "SimpleFontData.h"
#include "UnicodeRange.h"
#include "wtf/OwnPtr.h"
#include <wtf/StdLibExtras.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <windows.h>
#include <mlang.h>
diff --git a/Source/WebCore/platform/graphics/wince/FontWinCE.cpp b/Source/WebCore/platform/graphics/wince/FontWinCE.cpp
index 50880a97e..7aae13fb2 100644
--- a/Source/WebCore/platform/graphics/wince/FontWinCE.cpp
+++ b/Source/WebCore/platform/graphics/wince/FontWinCE.cpp
@@ -145,7 +145,7 @@ static int generateComponents(TextRunComponents* components, const Font &font, c
if (Font::treatAsSpace(run[i])) {
int add = 0;
if (i - start > 0) {
- components->append(TextRunComponent(run.characters() + start, i - start,
+ components->append(TextRunComponent(run.characters16() + start, i - start,
run, font, offset));
offset += components->last().m_width + letterSpacing;
}
@@ -160,7 +160,7 @@ static int generateComponents(TextRunComponents* components, const Font &font, c
continue;
}
if (i - start > 0) {
- components->append(TextRunComponent(run.characters() + start, i - start,
+ components->append(TextRunComponent(run.characters16() + start, i - start,
run,
font, offset));
offset += components->last().m_width + letterSpacing;
@@ -168,7 +168,7 @@ static int generateComponents(TextRunComponents* components, const Font &font, c
start = i;
}
if (run.length() - start > 0) {
- components->append(TextRunComponent(run.characters() + start, run.length() - start,
+ components->append(TextRunComponent(run.characters16() + start, run.length() - start,
run,
font, offset));
offset += components->last().m_width;
@@ -179,7 +179,7 @@ static int generateComponents(TextRunComponents* components, const Font &font, c
for (int i = 0; i < run.length(); ++i) {
if (Font::treatAsSpace(run[i])) {
if (i - start > 0) {
- components->append(TextRunComponent(run.characters() + start, i - start,
+ components->append(TextRunComponent(run.characters16() + start, i - start,
run,
font, offset));
offset += components->last().m_width;
@@ -198,7 +198,7 @@ static int generateComponents(TextRunComponents* components, const Font &font, c
}
}
if (run.length() - start > 0) {
- components->append(TextRunComponent(run.characters() + start, run.length() - start,
+ components->append(TextRunComponent(run.characters16() + start, run.length() - start,
run,
font, offset));
offset += components->last().m_width;
diff --git a/Source/WebCore/platform/graphics/wince/ImageWinCE.cpp b/Source/WebCore/platform/graphics/wince/ImageWinCE.cpp
index 23d3b3a2c..aa06cafd9 100644
--- a/Source/WebCore/platform/graphics/wince/ImageWinCE.cpp
+++ b/Source/WebCore/platform/graphics/wince/ImageWinCE.cpp
@@ -31,11 +31,11 @@
#include "GraphicsContext.h"
#include "ImageDecoder.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "SharedBuffer.h"
#include "TransformationMatrix.h"
#include "WinceGraphicsExtras.h"
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
#include <windows.h>
diff --git a/Source/WebCore/platform/graphics/wince/MediaPlayerProxy.cpp b/Source/WebCore/platform/graphics/wince/MediaPlayerProxy.cpp
index af0084e12..a4abc3ff8 100644
--- a/Source/WebCore/platform/graphics/wince/MediaPlayerProxy.cpp
+++ b/Source/WebCore/platform/graphics/wince/MediaPlayerProxy.cpp
@@ -30,7 +30,6 @@
#include "JSPluginElementFunctions.h"
#include "MediaPlayer.h"
#include "Node.h"
-#include "PlatformString.h"
#include "PluginView.h"
#include "RenderPartObject.h"
#include "RenderWidget.h"
@@ -40,6 +39,7 @@
#include "c_runtime.h"
#include "npruntime_impl.h"
#include <runtime/Identifier.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
diff --git a/Source/WebCore/platform/graphics/wince/PathWinCE.cpp b/Source/WebCore/platform/graphics/wince/PathWinCE.cpp
index 9c9112bec..1b4040f7a 100644
--- a/Source/WebCore/platform/graphics/wince/PathWinCE.cpp
+++ b/Source/WebCore/platform/graphics/wince/PathWinCE.cpp
@@ -24,8 +24,8 @@
#include "FloatRect.h"
#include "NotImplemented.h"
#include "PlatformPathWinCE.h"
-#include "PlatformString.h"
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/wince/PlatformPathWinCE.cpp b/Source/WebCore/platform/graphics/wince/PlatformPathWinCE.cpp
index 8efe6617b..b579d920a 100644
--- a/Source/WebCore/platform/graphics/wince/PlatformPathWinCE.cpp
+++ b/Source/WebCore/platform/graphics/wince/PlatformPathWinCE.cpp
@@ -24,10 +24,10 @@
#include "FloatRect.h"
#include "GraphicsContext.h"
#include "Path.h"
-#include "PlatformString.h"
#include "WinCEGraphicsExtras.h"
#include <wtf/MathExtras.h>
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
#include <windows.h>
diff --git a/Source/WebCore/platform/graphics/wx/FontCacheWx.cpp b/Source/WebCore/platform/graphics/wx/FontCacheWx.cpp
index e971b2d57..e0034ecd6 100644
--- a/Source/WebCore/platform/graphics/wx/FontCacheWx.cpp
+++ b/Source/WebCore/platform/graphics/wx/FontCacheWx.cpp
@@ -32,7 +32,7 @@
#include "FontPlatformData.h"
#include "NotImplemented.h"
#include "SimpleFontData.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <wx/defs.h>
#include <wx/fontenum.h>
diff --git a/Source/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp b/Source/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp
index 87cbd5dcc..d50cac171 100644
--- a/Source/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp
+++ b/Source/WebCore/platform/graphics/wx/FontPlatformDataWx.cpp
@@ -27,10 +27,10 @@
#include "FontPlatformData.h"
#include "FontDescription.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <wx/defs.h>
-#include <wx/gdicmn.h>
#include <wx/font.h>
+#include <wx/gdicmn.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/wx/IconWx.cpp b/Source/WebCore/platform/graphics/wx/IconWx.cpp
index d3cc961e3..41fa4eb13 100644
--- a/Source/WebCore/platform/graphics/wx/IconWx.cpp
+++ b/Source/WebCore/platform/graphics/wx/IconWx.cpp
@@ -22,9 +22,9 @@
#include "Icon.h"
#include "GraphicsContext.h"
-#include "PlatformString.h"
#include "IntRect.h"
#include "NotImplemented.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/graphics/wx/PathWx.cpp b/Source/WebCore/platform/graphics/wx/PathWx.cpp
index e183dfdc2..c2d3052db 100644
--- a/Source/WebCore/platform/graphics/wx/PathWx.cpp
+++ b/Source/WebCore/platform/graphics/wx/PathWx.cpp
@@ -30,8 +30,8 @@
#include "FloatPoint.h"
#include "FloatRect.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "StrokeStyleApplier.h"
+#include <wtf/text/WTFString.h>
#include <stdio.h>
diff --git a/Source/WebCore/platform/gtk/ErrorsGtk.h b/Source/WebCore/platform/gtk/ErrorsGtk.h
index 198d1fbd9..582cc99fb 100644
--- a/Source/WebCore/platform/gtk/ErrorsGtk.h
+++ b/Source/WebCore/platform/gtk/ErrorsGtk.h
@@ -20,7 +20,7 @@
#ifndef ErrorsGtk_h
#define ErrorsGtk_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/gtk/FileSystemGtk.cpp b/Source/WebCore/platform/gtk/FileSystemGtk.cpp
index 45cd53e68..fa207296c 100644
--- a/Source/WebCore/platform/gtk/FileSystemGtk.cpp
+++ b/Source/WebCore/platform/gtk/FileSystemGtk.cpp
@@ -24,7 +24,6 @@
#include "FileSystem.h"
#include "FileMetadata.h"
-#include "PlatformString.h"
#include "UUID.h"
#include <gio/gio.h>
#include <glib.h>
@@ -33,6 +32,7 @@
#include <wtf/gobject/GRefPtr.h>
#include <wtf/gobject/GlibUtilities.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/gtk/GtkPopupMenu.h b/Source/WebCore/platform/gtk/GtkPopupMenu.h
index 3977d702f..7c6ad44f7 100644
--- a/Source/WebCore/platform/gtk/GtkPopupMenu.h
+++ b/Source/WebCore/platform/gtk/GtkPopupMenu.h
@@ -24,10 +24,10 @@
#include "GRefPtrGtk.h"
#include "IntPoint.h"
#include "IntSize.h"
-#include "PlatformString.h"
#include <wtf/FastAllocBase.h>
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
typedef struct _GdkEventKey GdkEventKey;
diff --git a/Source/WebCore/platform/gtk/KeyBindingTranslator.h b/Source/WebCore/platform/gtk/KeyBindingTranslator.h
index bc4a3ff4a..c6436de6c 100644
--- a/Source/WebCore/platform/gtk/KeyBindingTranslator.h
+++ b/Source/WebCore/platform/gtk/KeyBindingTranslator.h
@@ -20,8 +20,8 @@
#define KeyBindingTranslator_h
#include "GRefPtrGtk.h"
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
typedef struct _GdkEventKey GdkEventKey;
diff --git a/Source/WebCore/platform/gtk/LanguageGtk.cpp b/Source/WebCore/platform/gtk/LanguageGtk.cpp
index 23282e441..37a71e561 100644
--- a/Source/WebCore/platform/gtk/LanguageGtk.cpp
+++ b/Source/WebCore/platform/gtk/LanguageGtk.cpp
@@ -21,9 +21,9 @@
#include "Language.h"
#include <wtf/gobject/GOwnPtr.h>
-#include "PlatformString.h"
#include <wtf/Vector.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <glib.h>
#include <locale.h>
diff --git a/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp b/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp
index 81af05bb7..5d6429da2 100644
--- a/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp
+++ b/Source/WebCore/platform/gtk/LocalizedStringsGtk.cpp
@@ -34,8 +34,8 @@
#include <wtf/gobject/GOwnPtr.h>
#include "IntSize.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
diff --git a/Source/WebCore/platform/gtk/LoggingGtk.cpp b/Source/WebCore/platform/gtk/LoggingGtk.cpp
index f16a1b24c..39dc9c747 100644
--- a/Source/WebCore/platform/gtk/LoggingGtk.cpp
+++ b/Source/WebCore/platform/gtk/LoggingGtk.cpp
@@ -23,9 +23,9 @@
#if !LOG_DISABLED
-#include "PlatformString.h"
#include <glib.h>
#include <string.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/gtk/PasteboardGtk.cpp b/Source/WebCore/platform/gtk/PasteboardGtk.cpp
index fe5a1f1d9..f2d3fa2a1 100644
--- a/Source/WebCore/platform/gtk/PasteboardGtk.cpp
+++ b/Source/WebCore/platform/gtk/PasteboardGtk.cpp
@@ -29,7 +29,6 @@
#include "HTMLParserIdioms.h"
#include "KURL.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "TextResourceDecoder.h"
#include "Image.h"
#include "RenderImage.h"
@@ -37,6 +36,7 @@
#include <gtk/gtk.h>
#include <wtf/gobject/GRefPtr.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SVG)
#include "SVGNames.h"
@@ -58,7 +58,7 @@ Pasteboard::Pasteboard()
void Pasteboard::writeSelection(Range* selectedRange, bool canSmartCopyOrDelete, Frame* frame)
{
PasteboardHelper* helper = PasteboardHelper::defaultPasteboardHelper();
- GtkClipboard* clipboard = helper->getClipboard(frame);
+ GtkClipboard* clipboard = helper->getCurrentClipboard(frame);
DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
dataObject->clearAll();
@@ -85,7 +85,7 @@ void Pasteboard::writeURL(const KURL& url, const String& label, Frame* frame)
return;
PasteboardHelper* helper = PasteboardHelper::defaultPasteboardHelper();
- GtkClipboard* clipboard = helper->getClipboard(frame);
+ GtkClipboard* clipboard = helper->getCurrentClipboard(frame);
DataObjectGtk* dataObject = DataObjectGtk::forClipboard(clipboard);
dataObject->clearAll();
@@ -199,4 +199,14 @@ String Pasteboard::plainText(Frame* frame)
return dataObject->text();
}
+bool Pasteboard::isSelectionMode() const
+{
+ return PasteboardHelper::defaultPasteboardHelper()->usePrimarySelectionClipboard();
+}
+
+void Pasteboard::setSelectionMode(bool selectionMode)
+{
+ PasteboardHelper::defaultPasteboardHelper()->setUsePrimarySelectionClipboard(selectionMode);
+}
+
}
diff --git a/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp b/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp
index 84b02b3bf..520bf9a89 100644
--- a/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp
+++ b/Source/WebCore/platform/gtk/PlatformWheelEventGtk.cpp
@@ -30,6 +30,7 @@
#include "Scrollbar.h"
#include <gdk/gdk.h>
+#include <gtk/gtk.h>
#include <wtf/CurrentTime.h>
namespace WebCore {
@@ -69,6 +70,15 @@ PlatformWheelEvent::PlatformWheelEvent(GdkEventScroll* event)
case GDK_SCROLL_RIGHT:
m_deltaX = -delta;
break;
+#if GTK_CHECK_VERSION(3, 3, 18)
+ case GDK_SCROLL_SMOOTH: {
+ gdouble deltaX, deltaY;
+ gdk_event_get_scroll_deltas(reinterpret_cast<GdkEvent*>(event), &deltaX, &deltaY);
+ m_deltaX = -deltaX;
+ m_deltaY = -deltaY;
+ }
+ break;
+#endif
}
m_wheelTicksX = m_deltaX;
m_wheelTicksY = m_deltaY;
diff --git a/Source/WebCore/platform/gtk/UserAgentGtk.cpp b/Source/WebCore/platform/gtk/UserAgentGtk.cpp
new file mode 100644
index 000000000..67d48598c
--- /dev/null
+++ b/Source/WebCore/platform/gtk/UserAgentGtk.cpp
@@ -0,0 +1,106 @@
+/*
+ * Copyright (C) 2012 Igalia S.L.
+ *
+ * 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 "UserAgentGtk.h"
+
+#include <glib.h>
+
+#if OS(UNIX)
+#include <sys/utsname.h>
+#elif OS(WINDOWS)
+#include "SystemInfo.h"
+#endif
+
+namespace WebCore {
+
+static const char* platformForUAString()
+{
+#if PLATFORM(X11)
+ return "X11";
+#elif OS(WINDOWS)
+ return "";
+#elif PLATFORM(MAC)
+ return "Macintosh";
+#elif defined(GDK_WINDOWING_DIRECTFB)
+ return "DirectFB";
+#else
+ return "Unknown";
+#endif
+}
+
+static String platformVersionForUAString()
+{
+ DEFINE_STATIC_LOCAL(String, uaOSVersion, (String()));
+ if (!uaOSVersion.isEmpty())
+ return uaOSVersion;
+
+#if OS(WINDOWS)
+ uaOSVersion = windowsVersionForUAString();
+#elif OS(DARWIN)
+#if CPU(X86)
+ uaOSVersion = "Intel Mac OS X";
+#else
+ uaOSVersion = "PPC Mac OS X";
+#endif
+#elif OS(UNIX)
+ struct utsname name;
+ if (uname(&name) != -1)
+ uaOSVersion = String::format("%s %s", name.sysname, name.machine);
+ else
+ uaOSVersion = String("Unknown");
+#else
+ uaOSVersion = String("Unknown");
+#endif
+ return uaOSVersion;
+}
+
+String standardUserAgent(const String& applicationName, const String& applicationVersion)
+{
+ // Create a default user agent string with a liberal interpretation of
+ // https://developer.mozilla.org/en-US/docs/User_Agent_Strings_Reference
+ //
+ // Forming a functional user agent is really difficult. We must mention Safari, because some
+ // sites check for that when detecting WebKit browsers. Additionally some sites assume that
+ // browsers that are "Safari" but not running on OS X are the Safari iOS browser, so we
+ // also claim to be Chromium. Getting this wrong can cause sites to load the wrong JavaScript,
+ // CSS, or custom fonts. In some cases sites won't load resources at all.
+ DEFINE_STATIC_LOCAL(const CString, uaVersion, (String::format("%i.%i", WEBKIT_USER_AGENT_MAJOR_VERSION, WEBKIT_USER_AGENT_MINOR_VERSION).utf8()));
+ DEFINE_STATIC_LOCAL(const String, staticUA, (String::format("Mozilla/5.0 (%s; %s) AppleWebKit/%s (KHTML, like Gecko) "
+ "Chromium/18.0.1025.168 Chrome/18.0.1025.168 Safari/%s",
+ platformForUAString(), platformVersionForUAString().utf8().data(),
+ uaVersion.data(), uaVersion.data())));
+ if (applicationName.isEmpty())
+ return staticUA;
+
+ String finalApplicationVersion = applicationVersion;
+ if (finalApplicationVersion.isEmpty())
+ finalApplicationVersion = uaVersion.data();
+
+ return String::format("%s %s/%s", staticUA.utf8().data(), applicationName.utf8().data(), finalApplicationVersion.utf8().data());
+}
+
+} // namespace WebCore
+
diff --git a/Source/JavaScriptCore/runtime/UStringBuilder.h b/Source/WebCore/platform/gtk/UserAgentGtk.h.in
index 31ccf382a..5a50b7a32 100644
--- a/Source/JavaScriptCore/runtime/UStringBuilder.h
+++ b/Source/WebCore/platform/gtk/UserAgentGtk.h.in
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2009 Apple Inc. All rights reserved.
+ * Copyright (C) 2012 Igalia S.L.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -10,34 +10,33 @@
* 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
+ * 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 INC. OR
+ * 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.
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef UStringBuilder_h
-#define UStringBuilder_h
+#ifndef UserAgentGtk_h
+#define UserAgentGtk_h
-#include <wtf/text/StringBuilder.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
-namespace JSC {
+#define WEBKIT_USER_AGENT_MAJOR_VERSION (@WEBKIT_USER_AGENT_MAJOR_VERSION@)
+#define WEBKIT_USER_AGENT_MINOR_VERSION (@WEBKIT_USER_AGENT_MINOR_VERSION@)
-class UStringBuilder : public StringBuilder {
-public:
- using StringBuilder::append;
- void append(const UString& str) { append(String(str.impl())); }
+namespace WebCore {
- UString toUString() { return toString().impl(); }
-};
+String standardUserAgent(const String& applicationName = "", const String& applicationVersion = "");
-} // namespace JSC
+}
+
+#endif // UserAgentGtk_h
-#endif // UStringBuilder_h
diff --git a/Source/WebCore/platform/image-decoders/ImageDecoder.cpp b/Source/WebCore/platform/image-decoders/ImageDecoder.cpp
index 995110827..1ee03efc6 100644
--- a/Source/WebCore/platform/image-decoders/ImageDecoder.cpp
+++ b/Source/WebCore/platform/image-decoders/ImageDecoder.cpp
@@ -286,6 +286,14 @@ bool ImageDecoder::frameHasAlphaAtIndex(size_t index) const
return true;
}
+unsigned ImageDecoder::frameBytesAtIndex(size_t index) const
+{
+ if (m_frameBufferCache.size() <= index)
+ return 0;
+ // FIXME: Use the dimension of the requested frame.
+ return m_size.area() * sizeof(ImageFrame::PixelData);
+}
+
void ImageDecoder::prepareScaleDataIfNecessary()
{
m_scaled = false;
diff --git a/Source/WebCore/platform/image-decoders/ImageDecoder.h b/Source/WebCore/platform/image-decoders/ImageDecoder.h
index f2aaecc47..ea6495fee 100644
--- a/Source/WebCore/platform/image-decoders/ImageDecoder.h
+++ b/Source/WebCore/platform/image-decoders/ImageDecoder.h
@@ -32,11 +32,11 @@
#include "IntRect.h"
#include "ImageSource.h"
#include "PlatformScreen.h"
-#include "PlatformString.h"
#include "SharedBuffer.h"
#include <wtf/Assertions.h>
#include <wtf/RefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#if USE(SKIA)
#include "NativeImageSkia.h"
@@ -279,6 +279,9 @@ namespace WebCore {
// Make the best effort guess to check if the requested frame has alpha channel.
virtual bool frameHasAlphaAtIndex(size_t) const;
+ // Number of bytes in the decoded frame requested. Return 0 if not yet decoded.
+ virtual unsigned frameBytesAtIndex(size_t) const;
+
void setIgnoreGammaAndColorProfile(bool flag) { m_ignoreGammaAndColorProfile = flag; }
bool ignoresGammaAndColorProfile() const { return m_ignoreGammaAndColorProfile; }
diff --git a/Source/WebCore/platform/leveldb/LevelDBSlice.h b/Source/WebCore/platform/leveldb/LevelDBSlice.h
index 22a4e4e73..58369a478 100644
--- a/Source/WebCore/platform/leveldb/LevelDBSlice.h
+++ b/Source/WebCore/platform/leveldb/LevelDBSlice.h
@@ -28,8 +28,8 @@
#if USE(LEVELDB)
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/mac/FileSystemMac.mm b/Source/WebCore/platform/mac/FileSystemMac.mm
index f9a034366..1154a7950 100644
--- a/Source/WebCore/platform/mac/FileSystemMac.mm
+++ b/Source/WebCore/platform/mac/FileSystemMac.mm
@@ -29,12 +29,11 @@
#import "config.h"
#import "FileSystem.h"
-#import "PlatformString.h"
-//#import "WebCoreNSStringExtras.h"
#import "WebCoreNSURLExtras.h"
#import "WebCoreSystemInterface.h"
#import <wtf/RetainPtr.h>
#import <wtf/text/CString.h>
+#import <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/mac/WebCoreObjCExtras.mm b/Source/WebCore/platform/mac/WebCoreObjCExtras.mm
index 41b5ec526..d357f9800 100644
--- a/Source/WebCore/platform/mac/WebCoreObjCExtras.mm
+++ b/Source/WebCore/platform/mac/WebCoreObjCExtras.mm
@@ -39,6 +39,7 @@
#include <utility>
#include <wtf/Assertions.h>
#include <wtf/MainThread.h>
+#include <wtf/ObjcRuntimeExtras.h>
#include <wtf/Threading.h>
#include <wtf/UnusedParam.h>
@@ -63,7 +64,7 @@ static void deallocCallback(void* context)
Method method = class_getInstanceMethod(pair->first, @selector(dealloc));
IMP imp = method_getImplementation(method);
- imp(pair->second, @selector(dealloc));
+ wtfCallIMP<void>(imp, pair->second, @selector(dealloc));
delete pair;
}
diff --git a/Source/WebCore/platform/mediastream/MediaConstraints.h b/Source/WebCore/platform/mediastream/MediaConstraints.h
new file mode 100644
index 000000000..f285c579b
--- /dev/null
+++ b/Source/WebCore/platform/mediastream/MediaConstraints.h
@@ -0,0 +1,59 @@
+/*
+ * Copyright (C) 2012 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 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 MediaConstraints_h
+#define MediaConstraints_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class MediaConstraints : public RefCounted<MediaConstraints> {
+public:
+ virtual ~MediaConstraints() { }
+
+ virtual void getMandatoryConstraintNames(Vector<String>& names) const = 0;
+ virtual void getOptionalConstraintNames(Vector<String>& names) const = 0;
+
+ virtual bool getMandatoryConstraintValue(const String& name, String& value) const = 0;
+ virtual bool getOptionalConstraintValue(const String& name, String& value) const = 0;
+
+protected:
+ MediaConstraints() { }
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // MediaConstraints_h
diff --git a/Source/WebCore/platform/mediastream/MediaStreamCenter.h b/Source/WebCore/platform/mediastream/MediaStreamCenter.h
index c8a51deb8..75535deab 100644
--- a/Source/WebCore/platform/mediastream/MediaStreamCenter.h
+++ b/Source/WebCore/platform/mediastream/MediaStreamCenter.h
@@ -57,8 +57,8 @@ public:
// Calls from the DOM objects to notify the platform
virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
- virtual void didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
- virtual void didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
+ virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
+ virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) = 0;
virtual void didStopLocalMediaStream(MediaStreamDescriptor*) = 0;
virtual void didCreateMediaStream(MediaStreamDescriptor*) = 0;
virtual String constructSDP(IceCandidateDescriptor*) = 0;
diff --git a/Source/WebCore/platform/mediastream/MediaStreamSource.h b/Source/WebCore/platform/mediastream/MediaStreamSource.h
index b093f34f0..bf7110edc 100644
--- a/Source/WebCore/platform/mediastream/MediaStreamSource.h
+++ b/Source/WebCore/platform/mediastream/MediaStreamSource.h
@@ -34,9 +34,9 @@
#if ENABLE(MEDIA_STREAM)
-#include "PlatformString.h"
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/mediastream/RTCIceCandidateDescriptor.h b/Source/WebCore/platform/mediastream/RTCIceCandidateDescriptor.h
index b5af1e432..f5123a3fc 100644
--- a/Source/WebCore/platform/mediastream/RTCIceCandidateDescriptor.h
+++ b/Source/WebCore/platform/mediastream/RTCIceCandidateDescriptor.h
@@ -44,9 +44,9 @@ public:
static PassRefPtr<RTCIceCandidateDescriptor> create(const String& candidate, const String& sdpMid, unsigned short sdpMLineIndex);
virtual ~RTCIceCandidateDescriptor();
- const String& candidate() { return m_candidate; }
- const String& sdpMid() { return m_sdpMid; }
- unsigned short sdpMLineIndex() { return m_sdpMLineIndex; }
+ const String& candidate() const { return m_candidate; }
+ const String& sdpMid() const { return m_sdpMid; }
+ unsigned short sdpMLineIndex() const { return m_sdpMLineIndex; }
private:
RTCIceCandidateDescriptor(const String& candidate, const String& sdpMid, unsigned short sdpMLineIndex);
diff --git a/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp b/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp
index af5400c80..dfd5d18d4 100644
--- a/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp
+++ b/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.cpp
@@ -35,6 +35,7 @@
#include "RTCPeerConnectionHandler.h"
#include "RTCPeerConnectionHandlerClient.h"
+#include "RTCSessionDescriptionDescriptor.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
@@ -46,7 +47,19 @@ public:
RTCPeerConnectionHandlerDummy(RTCPeerConnectionHandlerClient*);
virtual ~RTCPeerConnectionHandlerDummy();
- virtual bool initialize() OVERRIDE;
+ virtual bool initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) OVERRIDE;
+
+ virtual void createOffer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual void createAnswer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual void setLocalDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>) OVERRIDE;
+ virtual void setRemoteDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>) OVERRIDE;
+ virtual PassRefPtr<RTCSessionDescriptionDescriptor> localDescription() OVERRIDE;
+ virtual PassRefPtr<RTCSessionDescriptionDescriptor> remoteDescription() OVERRIDE;
+ virtual bool updateIce(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual bool addIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) OVERRIDE;
+ virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
+ virtual void stop() OVERRIDE;
private:
RTCPeerConnectionHandlerClient* m_client;
@@ -67,11 +80,60 @@ RTCPeerConnectionHandlerDummy::~RTCPeerConnectionHandlerDummy()
{
}
-bool RTCPeerConnectionHandlerDummy::initialize()
+bool RTCPeerConnectionHandlerDummy::initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>)
{
return false;
}
+void RTCPeerConnectionHandlerDummy::createOffer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>)
+{
+}
+
+void RTCPeerConnectionHandlerDummy::createAnswer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>)
+{
+}
+
+void RTCPeerConnectionHandlerDummy::setLocalDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>)
+{
+}
+
+void RTCPeerConnectionHandlerDummy::setRemoteDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>)
+{
+}
+
+PassRefPtr<RTCSessionDescriptionDescriptor> RTCPeerConnectionHandlerDummy::localDescription()
+{
+ return 0;
+}
+
+PassRefPtr<RTCSessionDescriptionDescriptor> RTCPeerConnectionHandlerDummy::remoteDescription()
+{
+ return 0;
+}
+
+bool RTCPeerConnectionHandlerDummy::addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>)
+{
+ return false;
+}
+
+void RTCPeerConnectionHandlerDummy::removeStream(PassRefPtr<MediaStreamDescriptor>)
+{
+}
+
+bool RTCPeerConnectionHandlerDummy::updateIce(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>)
+{
+ return false;
+}
+
+bool RTCPeerConnectionHandlerDummy::addIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>)
+{
+ return false;
+}
+
+void RTCPeerConnectionHandlerDummy::stop()
+{
+}
+
} // namespace WebCore
#endif // ENABLE(MEDIA_STREAM)
diff --git a/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h b/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h
index a7f31fc06..18021c582 100644
--- a/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h
+++ b/Source/WebCore/platform/mediastream/RTCPeerConnectionHandler.h
@@ -33,19 +33,38 @@
#if ENABLE(MEDIA_STREAM)
+#include "MediaStreamDescriptor.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
namespace WebCore {
+class MediaConstraints;
+class RTCConfiguration;
+class RTCIceCandidateDescriptor;
class RTCPeerConnectionHandlerClient;
+class RTCSessionDescriptionDescriptor;
+class RTCSessionDescriptionRequest;
+class RTCVoidRequest;
class RTCPeerConnectionHandler {
public:
static PassOwnPtr<RTCPeerConnectionHandler> create(RTCPeerConnectionHandlerClient*);
virtual ~RTCPeerConnectionHandler() { }
- virtual bool initialize() = 0;
+ virtual bool initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) = 0;
+
+ virtual void createOffer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>) = 0;
+ virtual void createAnswer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>) = 0;
+ virtual void setLocalDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>) = 0;
+ virtual void setRemoteDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>) = 0;
+ virtual PassRefPtr<RTCSessionDescriptionDescriptor> localDescription() = 0;
+ virtual PassRefPtr<RTCSessionDescriptionDescriptor> remoteDescription() = 0;
+ virtual bool updateIce(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) = 0;
+ virtual bool addIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) = 0;
+ virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) = 0;
+ virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) = 0;
+ virtual void stop() = 0;
protected:
RTCPeerConnectionHandler() { }
diff --git a/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h b/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h
index bad9f32b9..708f64ed2 100644
--- a/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h
+++ b/Source/WebCore/platform/mediastream/RTCPeerConnectionHandlerClient.h
@@ -33,12 +33,41 @@
#if ENABLE(MEDIA_STREAM)
+#include <wtf/PassRefPtr.h>
+
namespace WebCore {
+class MediaStreamDescriptor;
+class RTCIceCandidateDescriptor;
+
class RTCPeerConnectionHandlerClient {
public:
+ enum ReadyState {
+ ReadyStateNew = 1,
+ ReadyStateOpening = 2,
+ ReadyStateActive = 3,
+ ReadyStateClosing = 4,
+ ReadyStateClosed = 5
+ };
+
+ enum IceState {
+ IceStateNew = 1,
+ IceStateGathering = 2,
+ IceStateWaiting = 3,
+ IceStateChecking = 4,
+ IceStateConnected = 5,
+ IceStateCompleted = 6,
+ IceStateFailed = 7,
+ IceStateClosed = 8
+ };
+
virtual ~RTCPeerConnectionHandlerClient() { }
+ virtual void didGenerateIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) = 0;
+ virtual void didChangeReadyState(ReadyState) = 0;
+ virtual void didChangeIceState(IceState) = 0;
+ virtual void didAddRemoteStream(PassRefPtr<MediaStreamDescriptor>) = 0;
+ virtual void didRemoveRemoteStream(MediaStreamDescriptor*) = 0;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h b/Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h
index 04e34b78d..523c27fa1 100644
--- a/Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h
+++ b/Source/WebCore/platform/mediastream/RTCSessionDescriptionDescriptor.h
@@ -44,10 +44,10 @@ public:
static PassRefPtr<RTCSessionDescriptionDescriptor> create(const String& type, const String& sdp);
virtual ~RTCSessionDescriptionDescriptor();
- const String& type() { return m_type; }
+ const String& type() const { return m_type; }
void setType(const String& type) { m_type = type; }
- const String& sdp() { return m_sdp; }
+ const String& sdp() const { return m_sdp; }
void setSdp(const String& sdp) { m_sdp = sdp; }
private:
diff --git a/Source/WebCore/platform/mediastream/RTCSessionDescriptionRequest.h b/Source/WebCore/platform/mediastream/RTCSessionDescriptionRequest.h
new file mode 100644
index 000000000..f198e8405
--- /dev/null
+++ b/Source/WebCore/platform/mediastream/RTCSessionDescriptionRequest.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2012 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 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 RTCSessionDescriptionRequest_h
+#define RTCSessionDescriptionRequest_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class RTCSessionDescriptionDescriptor;
+
+class RTCSessionDescriptionRequest : public RefCounted<RTCSessionDescriptionRequest> {
+public:
+ class ExtraData : public RefCounted<ExtraData> {
+ public:
+ virtual ~ExtraData() { }
+ };
+
+ virtual ~RTCSessionDescriptionRequest() { }
+
+ virtual void requestSucceeded(PassRefPtr<RTCSessionDescriptionDescriptor>) = 0;
+ virtual void requestFailed(const String& error) = 0;
+
+ PassRefPtr<ExtraData> extraData() const { return m_extraData; }
+ void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; }
+
+protected:
+ RTCSessionDescriptionRequest() { }
+
+private:
+ RefPtr<ExtraData> m_extraData;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCSessionDescriptionRequest_h
diff --git a/Source/WebCore/platform/mediastream/RTCVoidRequest.h b/Source/WebCore/platform/mediastream/RTCVoidRequest.h
new file mode 100644
index 000000000..23e39fa09
--- /dev/null
+++ b/Source/WebCore/platform/mediastream/RTCVoidRequest.h
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2012 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 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 RTCVoidRequest_h
+#define RTCVoidRequest_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
+
+namespace WebCore {
+
+class RTCVoidRequest : public RefCounted<RTCVoidRequest> {
+public:
+ class ExtraData : public RefCounted<ExtraData> {
+ public:
+ virtual ~ExtraData() { }
+ };
+
+ virtual ~RTCVoidRequest() { }
+
+ virtual void requestSucceeded() = 0;
+ virtual void requestFailed(const String& error) = 0;
+
+ PassRefPtr<ExtraData> extraData() const { return m_extraData; }
+ void setExtraData(PassRefPtr<ExtraData> extraData) { m_extraData = extraData; }
+
+protected:
+ RTCVoidRequest() { }
+
+private:
+ RefPtr<ExtraData> m_extraData;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // RTCVoidRequest_h
diff --git a/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp b/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp
index c82fc7af6..f8b880215 100644
--- a/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp
+++ b/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.cpp
@@ -68,6 +68,16 @@ void MediaStreamCenterBlackBerry::didSetMediaStreamTrackEnabled(MediaStreamDescr
{
}
+bool MediaStreamCenterBlackBerry::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
+{
+ return false;
+}
+
+bool MediaStreamCenterBlackBerry::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
+{
+ return false;
+}
+
void MediaStreamCenterBlackBerry::didStopLocalMediaStream(MediaStreamDescriptor*)
{
}
diff --git a/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h b/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h
index 9724c0e13..e971c11e6 100644
--- a/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h
+++ b/Source/WebCore/platform/mediastream/blackberry/MediaStreamCenterBlackBerry.h
@@ -55,6 +55,8 @@ public:
// MediaStreamCenter
virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) OVERRIDE;
virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
+ virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
+ virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
virtual void didStopLocalMediaStream(MediaStreamDescriptor*) OVERRIDE;
virtual void didCreateMediaStream(MediaStreamDescriptor*) OVERRIDE;
virtual String constructSDP(IceCandidateDescriptor*) OVERRIDE;
diff --git a/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp b/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp
index 925807442..c53572be7 100644
--- a/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp
+++ b/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.cpp
@@ -86,12 +86,14 @@ void MediaStreamCenterChromium::didSetMediaStreamTrackEnabled(MediaStreamDescrip
}
}
-void MediaStreamCenterChromium::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
+bool MediaStreamCenterChromium::didAddMediaStreamTrack(MediaStreamDescriptor* stream, MediaStreamComponent* component)
{
+ return m_private ? m_private->didAddMediaStreamTrack(stream, component) : false;
}
-void MediaStreamCenterChromium::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
+bool MediaStreamCenterChromium::didRemoveMediaStreamTrack(MediaStreamDescriptor* stream, MediaStreamComponent* component)
{
+ return m_private ? m_private->didRemoveMediaStreamTrack(stream, component) : false;
}
void MediaStreamCenterChromium::didStopLocalMediaStream(MediaStreamDescriptor* stream)
diff --git a/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.h b/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.h
index e3fff8af4..2041786b2 100644
--- a/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.h
+++ b/Source/WebCore/platform/mediastream/chromium/MediaStreamCenterChromium.h
@@ -62,8 +62,8 @@ public:
// MediaStreamCenter
virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) OVERRIDE;
virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
- virtual void didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
- virtual void didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
+ virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
+ virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
virtual void didStopLocalMediaStream(MediaStreamDescriptor*) OVERRIDE;
virtual void didCreateMediaStream(MediaStreamDescriptor*) OVERRIDE;
virtual String constructSDP(IceCandidateDescriptor*) OVERRIDE;
diff --git a/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp b/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
index 851391035..4ac4afc44 100644
--- a/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
+++ b/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp
@@ -34,8 +34,21 @@
#include "RTCPeerConnectionHandlerChromium.h"
+#include "MediaConstraints.h"
+#include "RTCConfiguration.h"
+#include "RTCIceCandidateDescriptor.h"
#include "RTCPeerConnectionHandlerClient.h"
+#include "RTCSessionDescriptionDescriptor.h"
+#include "RTCSessionDescriptionRequest.h"
+#include "RTCVoidRequest.h"
#include <public/Platform.h>
+#include <public/WebMediaConstraints.h>
+#include <public/WebMediaStreamDescriptor.h>
+#include <public/WebRTCConfiguration.h>
+#include <public/WebRTCICECandidate.h>
+#include <public/WebRTCSessionDescription.h>
+#include <public/WebRTCSessionDescriptionRequest.h>
+#include <public/WebRTCVoidRequest.h>
#include <wtf/PassOwnPtr.h>
namespace WebCore {
@@ -45,18 +58,135 @@ PassOwnPtr<RTCPeerConnectionHandler> RTCPeerConnectionHandler::create(RTCPeerCon
return adoptPtr(new RTCPeerConnectionHandlerChromium(client));
}
-RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium(RTCPeerConnectionHandlerClient*)
+RTCPeerConnectionHandlerChromium::RTCPeerConnectionHandlerChromium(RTCPeerConnectionHandlerClient* client)
+ : m_client(client)
{
+ ASSERT(m_client);
}
RTCPeerConnectionHandlerChromium::~RTCPeerConnectionHandlerChromium()
{
}
-bool RTCPeerConnectionHandlerChromium::initialize()
+bool RTCPeerConnectionHandlerChromium::initialize(PassRefPtr<RTCConfiguration> configuration, PassRefPtr<MediaConstraints> constraints)
{
m_webHandler = adoptPtr(WebKit::Platform::current()->createRTCPeerConnectionHandler(this));
- return m_webHandler ? m_webHandler->initialize() : false;
+ return m_webHandler ? m_webHandler->initialize(configuration, constraints) : false;
+}
+
+void RTCPeerConnectionHandlerChromium::createOffer(PassRefPtr<RTCSessionDescriptionRequest> request, PassRefPtr<MediaConstraints> constraints)
+{
+ // FIXME: Should the error callback be triggered here?
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->createOffer(request, constraints);
+}
+
+void RTCPeerConnectionHandlerChromium::createAnswer(PassRefPtr<RTCSessionDescriptionRequest> request, PassRefPtr<MediaConstraints> constraints)
+{
+ // FIXME: Should the error callback be triggered here?
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->createAnswer(request, constraints);
+}
+
+void RTCPeerConnectionHandlerChromium::setLocalDescription(PassRefPtr<RTCVoidRequest> request, PassRefPtr<RTCSessionDescriptionDescriptor> sessionDescription)
+{
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->setLocalDescription(request, sessionDescription);
+}
+
+void RTCPeerConnectionHandlerChromium::setRemoteDescription(PassRefPtr<RTCVoidRequest> request, PassRefPtr<RTCSessionDescriptionDescriptor> sessionDescription)
+{
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->setRemoteDescription(request, sessionDescription);
+}
+
+bool RTCPeerConnectionHandlerChromium::updateIce(PassRefPtr<RTCConfiguration> configuration, PassRefPtr<MediaConstraints> constraints)
+{
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->updateICE(configuration, constraints);
+}
+
+bool RTCPeerConnectionHandlerChromium::addIceCandidate(PassRefPtr<RTCIceCandidateDescriptor> iceCandidate)
+{
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->addICECandidate(iceCandidate);
+}
+
+PassRefPtr<RTCSessionDescriptionDescriptor> RTCPeerConnectionHandlerChromium::localDescription()
+{
+ if (!m_webHandler)
+ return 0;
+
+ return m_webHandler->localDescription();
+}
+
+PassRefPtr<RTCSessionDescriptionDescriptor> RTCPeerConnectionHandlerChromium::remoteDescription()
+{
+ if (!m_webHandler)
+ return 0;
+
+ return m_webHandler->remoteDescription();
+}
+
+bool RTCPeerConnectionHandlerChromium::addStream(PassRefPtr<MediaStreamDescriptor> mediaStream, PassRefPtr<MediaConstraints> constraints)
+{
+ if (!m_webHandler)
+ return false;
+
+ return m_webHandler->addStream(mediaStream, constraints);
+}
+
+void RTCPeerConnectionHandlerChromium::removeStream(PassRefPtr<MediaStreamDescriptor> mediaStream)
+{
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->removeStream(mediaStream);
+}
+
+void RTCPeerConnectionHandlerChromium::stop()
+{
+ if (!m_webHandler)
+ return;
+
+ m_webHandler->stop();
+}
+
+void RTCPeerConnectionHandlerChromium::didGenerateICECandidate(const WebKit::WebRTCICECandidate& iceCandidate)
+{
+ m_client->didGenerateIceCandidate(iceCandidate);
+}
+
+void RTCPeerConnectionHandlerChromium::didChangeReadyState(WebKit::WebRTCPeerConnectionHandlerClient::ReadyState state)
+{
+ m_client->didChangeReadyState(static_cast<RTCPeerConnectionHandlerClient::ReadyState>(state));
+}
+
+void RTCPeerConnectionHandlerChromium::didChangeICEState(WebKit::WebRTCPeerConnectionHandlerClient::ICEState state)
+{
+ m_client->didChangeIceState(static_cast<RTCPeerConnectionHandlerClient::IceState>(state));
+}
+
+void RTCPeerConnectionHandlerChromium::didAddRemoteStream(const WebKit::WebMediaStreamDescriptor& webMediaStreamDescriptor)
+{
+ m_client->didAddRemoteStream(webMediaStreamDescriptor);
+}
+
+void RTCPeerConnectionHandlerChromium::didRemoveRemoteStream(const WebKit::WebMediaStreamDescriptor& webMediaStreamDescriptor)
+{
+ m_client->didRemoveRemoteStream(webMediaStreamDescriptor);
}
} // namespace WebCore
diff --git a/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h b/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h
index 1a6d16288..848fe3dc9 100644
--- a/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h
+++ b/Source/WebCore/platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h
@@ -33,12 +33,18 @@
#if ENABLE(MEDIA_STREAM)
+#include "MediaStreamDescriptor.h"
#include "RTCPeerConnectionHandler.h"
#include <public/WebRTCPeerConnectionHandler.h>
#include <public/WebRTCPeerConnectionHandlerClient.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
+namespace WebKit {
+class WebMediaStreamDescriptor;
+class WebRTCICECandidate;
+}
+
namespace WebCore {
class RTCPeerConnectionHandlerChromium : public RTCPeerConnectionHandler, public WebKit::WebRTCPeerConnectionHandlerClient {
@@ -46,10 +52,30 @@ public:
RTCPeerConnectionHandlerChromium(RTCPeerConnectionHandlerClient*);
virtual ~RTCPeerConnectionHandlerChromium();
- virtual bool initialize() OVERRIDE;
+ virtual bool initialize(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) OVERRIDE;
+
+ virtual void createOffer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual void createAnswer(PassRefPtr<RTCSessionDescriptionRequest>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual void setLocalDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>) OVERRIDE;
+ virtual void setRemoteDescription(PassRefPtr<RTCVoidRequest>, PassRefPtr<RTCSessionDescriptionDescriptor>) OVERRIDE;
+ virtual PassRefPtr<RTCSessionDescriptionDescriptor> localDescription() OVERRIDE;
+ virtual PassRefPtr<RTCSessionDescriptionDescriptor> remoteDescription() OVERRIDE;
+ virtual bool updateIce(PassRefPtr<RTCConfiguration>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual bool addIceCandidate(PassRefPtr<RTCIceCandidateDescriptor>) OVERRIDE;
+ virtual bool addStream(PassRefPtr<MediaStreamDescriptor>, PassRefPtr<MediaConstraints>) OVERRIDE;
+ virtual void removeStream(PassRefPtr<MediaStreamDescriptor>) OVERRIDE;
+ virtual void stop() OVERRIDE;
+
+ // WebKit::WebRTCPeerConnectionHandlerClient implementation.
+ virtual void didGenerateICECandidate(const WebKit::WebRTCICECandidate&) OVERRIDE;
+ virtual void didChangeReadyState(WebKit::WebRTCPeerConnectionHandlerClient::ReadyState) OVERRIDE;
+ virtual void didChangeICEState(WebKit::WebRTCPeerConnectionHandlerClient::ICEState) OVERRIDE;
+ virtual void didAddRemoteStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
+ virtual void didRemoveRemoteStream(const WebKit::WebMediaStreamDescriptor&) OVERRIDE;
private:
OwnPtr<WebKit::WebRTCPeerConnectionHandler> m_webHandler;
+ RTCPeerConnectionHandlerClient* m_client;
};
} // namespace WebCore
diff --git a/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp b/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp
index dc483ff3b..83084e129 100644
--- a/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp
+++ b/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp
@@ -68,12 +68,14 @@ void MediaStreamCenterGStreamer::didSetMediaStreamTrackEnabled(MediaStreamDescri
{
}
-void MediaStreamCenterGStreamer::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
+bool MediaStreamCenterGStreamer::didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
{
+ return false;
}
-void MediaStreamCenterGStreamer::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
+bool MediaStreamCenterGStreamer::didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*)
{
+ return false;
}
void MediaStreamCenterGStreamer::didStopLocalMediaStream(MediaStreamDescriptor*)
diff --git a/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h b/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h
index 7641fb58e..1b260406e 100644
--- a/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h
+++ b/Source/WebCore/platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h
@@ -55,8 +55,8 @@ public:
// MediaStreamCenter
virtual void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>) OVERRIDE;
virtual void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
- virtual void didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
- virtual void didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
+ virtual bool didAddMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
+ virtual bool didRemoveMediaStreamTrack(MediaStreamDescriptor*, MediaStreamComponent*) OVERRIDE;
virtual void didStopLocalMediaStream(MediaStreamDescriptor*) OVERRIDE;
virtual void didCreateMediaStream(MediaStreamDescriptor*) OVERRIDE;
virtual String constructSDP(IceCandidateDescriptor*) OVERRIDE;
diff --git a/Source/WebCore/platform/mock/GeolocationClientMock.h b/Source/WebCore/platform/mock/GeolocationClientMock.h
index 4c238ce57..8abd5e970 100644
--- a/Source/WebCore/platform/mock/GeolocationClientMock.h
+++ b/Source/WebCore/platform/mock/GeolocationClientMock.h
@@ -32,12 +32,11 @@
#define GeolocationClientMock_h
#include "GeolocationClient.h"
-#include "PlatformString.h"
#include "Timer.h"
-
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/BlobData.h b/Source/WebCore/platform/network/BlobData.h
index b35d25cf7..fd15c384a 100644
--- a/Source/WebCore/platform/network/BlobData.h
+++ b/Source/WebCore/platform/network/BlobData.h
@@ -33,9 +33,9 @@
#include "FileSystem.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/ThreadSafeRefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/BlobRegistryImpl.h b/Source/WebCore/platform/network/BlobRegistryImpl.h
index 608da7f29..807dce73c 100644
--- a/Source/WebCore/platform/network/BlobRegistryImpl.h
+++ b/Source/WebCore/platform/network/BlobRegistryImpl.h
@@ -34,10 +34,10 @@
#include "BlobData.h"
#include "BlobRegistry.h"
#include "BlobStorageData.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/BlobResourceHandle.h b/Source/WebCore/platform/network/BlobResourceHandle.h
index 97fe00fbb..a61063d17 100644
--- a/Source/WebCore/platform/network/BlobResourceHandle.h
+++ b/Source/WebCore/platform/network/BlobResourceHandle.h
@@ -34,10 +34,10 @@
#if ENABLE(BLOB)
#include "FileStreamClient.h"
-#include "PlatformString.h"
#include "ResourceHandle.h"
#include <wtf/PassRefPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/ContentTypeParser.cpp b/Source/WebCore/platform/network/ContentTypeParser.cpp
index 6478d9ba7..dda458899 100644
--- a/Source/WebCore/platform/network/ContentTypeParser.cpp
+++ b/Source/WebCore/platform/network/ContentTypeParser.cpp
@@ -157,7 +157,7 @@ size_t ContentTypeParser::parameterCount() const
void ContentTypeParser::parse()
{
- DEFINE_STATIC_LOCAL(const String, contentTypeParameterName, ("Content-Type"));
+ DEFINE_STATIC_LOCAL(const String, contentTypeParameterName, (ASCIILiteral("Content-Type")));
if (!m_contentType.startsWith(contentTypeParameterName)) {
LOG_ERROR("Invalid Content-Type string '%s'", m_contentType.ascii().data());
diff --git a/Source/WebCore/platform/network/Credential.h b/Source/WebCore/platform/network/Credential.h
index d43ae8fb8..0a995873c 100644
--- a/Source/WebCore/platform/network/Credential.h
+++ b/Source/WebCore/platform/network/Credential.h
@@ -25,7 +25,7 @@
#ifndef Credential_h
#define Credential_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#define CERTIFICATE_CREDENTIALS_SUPPORTED (PLATFORM(MAC) && (PLATFORM(IOS) || __MAC_OS_X_VERSION_MIN_REQUIRED >= 1060))
diff --git a/Source/WebCore/platform/network/FormData.cpp b/Source/WebCore/platform/network/FormData.cpp
index 9c3c8c3ac..ab25e8790 100644
--- a/Source/WebCore/platform/network/FormData.cpp
+++ b/Source/WebCore/platform/network/FormData.cpp
@@ -32,9 +32,9 @@
#include "FormDataBuilder.h"
#include "FormDataList.h"
#include "MIMETypeRegistry.h"
-#include "MemoryInstrumentation.h"
#include "Page.h"
#include "TextEncoding.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/Decoder.h>
#include <wtf/Encoder.h>
@@ -359,7 +359,7 @@ void FormData::removeGeneratedFilesIfNeeded()
void FormData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addVector(m_boundary);
}
diff --git a/Source/WebCore/platform/network/FormData.h b/Source/WebCore/platform/network/FormData.h
index 63cadc6c1..875d3012d 100644
--- a/Source/WebCore/platform/network/FormData.h
+++ b/Source/WebCore/platform/network/FormData.h
@@ -21,10 +21,10 @@
#define FormData_h
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/FormDataBuilder.h b/Source/WebCore/platform/network/FormDataBuilder.h
index e5909cf9f..42753ff44 100644
--- a/Source/WebCore/platform/network/FormDataBuilder.h
+++ b/Source/WebCore/platform/network/FormDataBuilder.h
@@ -22,7 +22,6 @@
#define FormDataBuilder_h
#include "FormData.h"
-#include "PlatformString.h"
#include <wtf/Forward.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/HTTPParsers.cpp b/Source/WebCore/platform/network/HTTPParsers.cpp
index 9702132cc..310243e50 100644
--- a/Source/WebCore/platform/network/HTTPParsers.cpp
+++ b/Source/WebCore/platform/network/HTTPParsers.cpp
@@ -33,10 +33,10 @@
#include "config.h"
#include "HTTPParsers.h"
-#include "PlatformString.h"
#include <wtf/DateMath.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuilder.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/CharacterNames.h>
using namespace WTF;
diff --git a/Source/WebCore/platform/network/HTTPRequest.h b/Source/WebCore/platform/network/HTTPRequest.h
index 33522e33e..8e13fc873 100644
--- a/Source/WebCore/platform/network/HTTPRequest.h
+++ b/Source/WebCore/platform/network/HTTPRequest.h
@@ -35,9 +35,9 @@
#include "HTTPHeaderMap.h"
#include "HTTPParsers.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/HTTPValidation.cpp b/Source/WebCore/platform/network/HTTPValidation.cpp
index 7731895fd..964805c5b 100644
--- a/Source/WebCore/platform/network/HTTPValidation.cpp
+++ b/Source/WebCore/platform/network/HTTPValidation.cpp
@@ -30,8 +30,8 @@
#include "config.h"
#include "HTTPValidation.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/NetworkStateNotifier.cpp b/Source/WebCore/platform/network/NetworkStateNotifier.cpp
index 19c8f98fe..6c85fd9f8 100644
--- a/Source/WebCore/platform/network/NetworkStateNotifier.cpp
+++ b/Source/WebCore/platform/network/NetworkStateNotifier.cpp
@@ -46,7 +46,7 @@ void NetworkStateNotifier::setNetworkStateChangedFunction(void(*function)())
m_networkStateChangedFunction = function;
}
-#if PLATFORM(CHROMIUM) || PLATFORM(EFL)
+#if PLATFORM(CHROMIUM)
void NetworkStateNotifier::setOnLine(bool onLine)
{
if (m_isOnLine == onLine)
diff --git a/Source/WebCore/platform/network/NetworkStateNotifier.h b/Source/WebCore/platform/network/NetworkStateNotifier.h
index 6a330c98b..b86e7e9e4 100644
--- a/Source/WebCore/platform/network/NetworkStateNotifier.h
+++ b/Source/WebCore/platform/network/NetworkStateNotifier.h
@@ -45,6 +45,10 @@ typedef const struct __SCDynamicStore * SCDynamicStoreRef;
#include <QtCore/qglobal.h>
+#elif PLATFORM(EFL)
+
+typedef struct _Ecore_Fd_Handler Ecore_Fd_Handler;
+
#endif
namespace WebCore {
@@ -57,14 +61,19 @@ class NetworkStateNotifier {
WTF_MAKE_NONCOPYABLE(NetworkStateNotifier); WTF_MAKE_FAST_ALLOCATED;
public:
NetworkStateNotifier();
+#if PLATFORM(EFL)
+ ~NetworkStateNotifier();
+#endif
void setNetworkStateChangedFunction(void (*)());
bool onLine() const { return m_isOnLine; }
#if (PLATFORM(QT) && !defined(QT_NO_BEARERMANAGEMENT))
void setNetworkAccessAllowed(bool);
-#elif PLATFORM(CHROMIUM) || PLATFORM(EFL)
+#elif PLATFORM(CHROMIUM)
void setOnLine(bool);
+#elif PLATFORM(EFL)
+ void networkInterfaceChanged();
#endif
#if PLATFORM(BLACKBERRY)
@@ -94,13 +103,16 @@ private:
HANDLE m_waitHandle;
OVERLAPPED m_overlapped;
+#elif PLATFORM(EFL)
+ Ecore_Fd_Handler* m_fdHandler;
+
#elif (PLATFORM(QT) && !defined(QT_NO_BEARERMANAGEMENT))
friend class NetworkStateNotifierPrivate;
NetworkStateNotifierPrivate* p;
#endif
};
-#if !PLATFORM(MAC) && !PLATFORM(WIN) && !(PLATFORM(QT) && !defined(QT_NO_BEARERMANAGEMENT)) && !PLATFORM(BLACKBERRY)
+#if !PLATFORM(MAC) && !PLATFORM(WIN) && !(PLATFORM(QT) && !defined(QT_NO_BEARERMANAGEMENT)) && !PLATFORM(BLACKBERRY) && !PLATFORM(EFL)
inline NetworkStateNotifier::NetworkStateNotifier()
: m_isOnLine(true)
diff --git a/Source/WebCore/platform/network/ProtectionSpace.h b/Source/WebCore/platform/network/ProtectionSpace.h
index 87758e141..11369cdfa 100644
--- a/Source/WebCore/platform/network/ProtectionSpace.h
+++ b/Source/WebCore/platform/network/ProtectionSpace.h
@@ -22,10 +22,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.
*/
+
#ifndef ProtectionSpace_h
#define ProtectionSpace_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/ProxyServer.cpp b/Source/WebCore/platform/network/ProxyServer.cpp
index 7ef283bbc..07c90cbf2 100644
--- a/Source/WebCore/platform/network/ProxyServer.cpp
+++ b/Source/WebCore/platform/network/ProxyServer.cpp
@@ -52,7 +52,7 @@ static void appendProxyServerString(StringBuilder& builder, const ProxyServer& p
builder.append(':');
ASSERT(proxyServer.port() != -1);
- builder.append(String::number(proxyServer.port()));
+ builder.appendNumber(proxyServer.port());
}
String toString(const Vector<ProxyServer>& proxyServers)
diff --git a/Source/WebCore/platform/network/ResourceErrorBase.cpp b/Source/WebCore/platform/network/ResourceErrorBase.cpp
index f9b10b55d..004a1992b 100644
--- a/Source/WebCore/platform/network/ResourceErrorBase.cpp
+++ b/Source/WebCore/platform/network/ResourceErrorBase.cpp
@@ -42,6 +42,7 @@ ResourceError ResourceErrorBase::copy() const
errorCopy.m_localizedDescription = m_localizedDescription.isolatedCopy();
errorCopy.m_isNull = m_isNull;
errorCopy.m_isCancellation = m_isCancellation;
+ errorCopy.m_isTimeout = m_isTimeout;
platformCopy(errorCopy);
return errorCopy;
}
@@ -74,6 +75,9 @@ bool ResourceErrorBase::compare(const ResourceError& a, const ResourceError& b)
if (a.isCancellation() != b.isCancellation())
return false;
+ if (a.isTimeout() != b.isTimeout())
+ return false;
+
return platformCompare(a, b);
}
diff --git a/Source/WebCore/platform/network/ResourceErrorBase.h b/Source/WebCore/platform/network/ResourceErrorBase.h
index 2d7be70de..5b7909fdb 100644
--- a/Source/WebCore/platform/network/ResourceErrorBase.h
+++ b/Source/WebCore/platform/network/ResourceErrorBase.h
@@ -26,7 +26,7 @@
#ifndef ResourceErrorBase_h
#define ResourceErrorBase_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -49,6 +49,9 @@ public:
void setIsCancellation(bool isCancellation) { m_isCancellation = isCancellation; }
bool isCancellation() const { return m_isCancellation; }
+ void setIsTimeout(bool isTimeout) { m_isTimeout = isTimeout; }
+ bool isTimeout() const { return m_isTimeout; }
+
static bool compare(const ResourceError&, const ResourceError&);
protected:
@@ -56,6 +59,7 @@ protected:
: m_errorCode(0)
, m_isNull(true)
, m_isCancellation(false)
+ , m_isTimeout(false)
{
}
@@ -66,6 +70,7 @@ protected:
, m_localizedDescription(localizedDescription)
, m_isNull(false)
, m_isCancellation(false)
+ , m_isTimeout(false)
{
}
@@ -86,6 +91,7 @@ protected:
String m_localizedDescription;
bool m_isNull;
bool m_isCancellation;
+ bool m_isTimeout;
};
inline bool operator==(const ResourceError& a, const ResourceError& b) { return ResourceErrorBase::compare(a, b); }
diff --git a/Source/WebCore/platform/network/ResourceRequestBase.cpp b/Source/WebCore/platform/network/ResourceRequestBase.cpp
index 64ebc18c8..cbb74d48b 100644
--- a/Source/WebCore/platform/network/ResourceRequestBase.cpp
+++ b/Source/WebCore/platform/network/ResourceRequestBase.cpp
@@ -26,8 +26,8 @@
#include "config.h"
#include "ResourceRequestBase.h"
-#include "MemoryInstrumentation.h"
#include "ResourceRequest.h"
+#include "WebCoreMemoryInstrumentation.h"
using namespace std;
@@ -374,7 +374,7 @@ void ResourceRequestBase::addHTTPHeaderField(const AtomicString& name, const Str
updateResourceRequest();
HTTPHeaderMap::AddResult result = m_httpHeaderFields.add(name, value);
if (!result.isNewEntry)
- result.iterator->second += "," + value;
+ result.iterator->second = result.iterator->second + ',' + value;
if (url().protocolIsInHTTPFamily())
m_platformRequestUpdated = false;
@@ -446,7 +446,7 @@ bool ResourceRequestBase::isConditional() const
void ResourceRequestBase::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addInstrumentedMember(m_url);
info.addInstrumentedMember(m_firstPartyForCookies);
info.addInstrumentedMember(m_httpMethod);
diff --git a/Source/WebCore/platform/network/ResourceResponseBase.cpp b/Source/WebCore/platform/network/ResourceResponseBase.cpp
index e8d7ca433..c22cf6598 100644
--- a/Source/WebCore/platform/network/ResourceResponseBase.cpp
+++ b/Source/WebCore/platform/network/ResourceResponseBase.cpp
@@ -28,8 +28,8 @@
#include "ResourceResponseBase.h"
#include "HTTPParsers.h"
-#include "MemoryInstrumentation.h"
#include "ResourceResponse.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/CurrentTime.h>
#include <wtf/MathExtras.h>
#include <wtf/StdLibExtras.h>
@@ -570,7 +570,7 @@ void ResourceResponseBase::lazyInit(InitLevel initLevel) const
void ResourceResponseBase::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Loader);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::Loader);
info.addInstrumentedMember(m_url);
info.addInstrumentedMember(m_mimeType);
info.addInstrumentedMember(m_textEncodingName);
diff --git a/Source/WebCore/platform/network/SocketStreamErrorBase.h b/Source/WebCore/platform/network/SocketStreamErrorBase.h
index e6cc567d2..132063f2b 100644
--- a/Source/WebCore/platform/network/SocketStreamErrorBase.h
+++ b/Source/WebCore/platform/network/SocketStreamErrorBase.h
@@ -32,7 +32,7 @@
#ifndef SocketStreamErrorBase_h
#define SocketStreamErrorBase_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/blackberry/AutofillBackingStore.cpp b/Source/WebCore/platform/network/blackberry/AutofillBackingStore.cpp
index 21ff9578c..db00b7803 100644
--- a/Source/WebCore/platform/network/blackberry/AutofillBackingStore.cpp
+++ b/Source/WebCore/platform/network/blackberry/AutofillBackingStore.cpp
@@ -22,7 +22,7 @@
#include "FileSystem.h"
#include "SQLiteStatement.h"
-#include <BlackBerryPlatformClient.h>
+#include <BlackBerryPlatformSettings.h>
#define HANDLE_SQL_EXEC_FAILURE(statement, returnValue, ...) \
if (statement) { \
@@ -36,7 +36,7 @@ AutofillBackingStore& autofillBackingStore()
{
DEFINE_STATIC_LOCAL(AutofillBackingStore, backingStore, ());
if (!backingStore.m_database.isOpen())
- backingStore.open(pathByAppendingComponent(BlackBerry::Platform::Client::get()->getApplicationDataDirectory().c_str(), "/autofill.db"));
+ backingStore.open(pathByAppendingComponent(BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str(), "/autofill.db"));
return backingStore;
}
diff --git a/Source/WebCore/platform/network/blackberry/CredentialBackingStore.cpp b/Source/WebCore/platform/network/blackberry/CredentialBackingStore.cpp
index 3aab2122c..187d238db 100644
--- a/Source/WebCore/platform/network/blackberry/CredentialBackingStore.cpp
+++ b/Source/WebCore/platform/network/blackberry/CredentialBackingStore.cpp
@@ -27,8 +27,8 @@
#include "NotImplemented.h"
#include "ProtectionSpaceHash.h"
#include "SQLiteStatement.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformEncryptor.h>
+#include <BlackBerryPlatformSettings.h>
#include <CertMgrWrapper.h>
#define HANDLE_SQL_EXEC_FAILURE(statement, returnValue, ...) \
@@ -54,7 +54,7 @@ CredentialBackingStore& credentialBackingStore()
{
DEFINE_STATIC_LOCAL(CredentialBackingStore, backingStore, ());
if (!backingStore.m_database.isOpen())
- backingStore.open(pathByAppendingComponent(BlackBerry::Platform::Client::get()->getApplicationDataDirectory().c_str(), "/credentials.db"));
+ backingStore.open(pathByAppendingComponent(BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str(), "/credentials.db"));
return backingStore;
}
diff --git a/Source/WebCore/platform/network/blackberry/DNSBlackBerry.cpp b/Source/WebCore/platform/network/blackberry/DNSBlackBerry.cpp
index 54f215f6f..69bd82d08 100644
--- a/Source/WebCore/platform/network/blackberry/DNSBlackBerry.cpp
+++ b/Source/WebCore/platform/network/blackberry/DNSBlackBerry.cpp
@@ -20,10 +20,10 @@
#define DNSPrefetchBlackBerry_H
#include "config.h"
-#include "PlatformString.h"
#include <BlackBerryPlatformCommonFunctions.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/blackberry/DeferredData.h b/Source/WebCore/platform/network/blackberry/DeferredData.h
index d183662cd..75f9c0435 100644
--- a/Source/WebCore/platform/network/blackberry/DeferredData.h
+++ b/Source/WebCore/platform/network/blackberry/DeferredData.h
@@ -19,11 +19,11 @@
#ifndef DeferredData_h
#define DeferredData_h
-#include "PlatformString.h"
#include "Timer.h"
#include <wtf/Deque.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/blackberry/NetworkJob.cpp b/Source/WebCore/platform/network/blackberry/NetworkJob.cpp
index 45ae8af39..f29abcfb2 100644
--- a/Source/WebCore/platform/network/blackberry/NetworkJob.cpp
+++ b/Source/WebCore/platform/network/blackberry/NetworkJob.cpp
@@ -36,8 +36,8 @@
#include "ResourceHandleInternal.h"
#include "ResourceRequest.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformLog.h>
+#include <BlackBerryPlatformSettings.h>
#include <LocalizeResource.h>
#include <network/MultipartStream.h>
#include <network/NetworkStreamFactory.h>
@@ -752,25 +752,22 @@ bool NetworkJob::sendRequestWithCredentials(ProtectionSpaceServerType type, Prot
String username;
String password;
- if (username.isEmpty() || password.isEmpty()) {
- // Before asking the user for credentials, we check if the URL contains that.
- if (!m_handle->getInternal()->m_user.isEmpty() && !m_handle->getInternal()->m_pass.isEmpty()) {
- username = m_handle->getInternal()->m_user;
- password = m_handle->getInternal()->m_pass;
-
- // Prevent them from been used again if they are wrong.
- // If they are correct, they will the put into CredentialStorage.
- m_handle->getInternal()->m_user = "";
- m_handle->getInternal()->m_pass = "";
- } else {
- if (m_handle->firstRequest().targetType() != ResourceRequest::TargetIsMainFrame && BlackBerry::Platform::Client::isChromeProcess())
- return false;
- Credential inputCredential;
- if (!m_frame->page()->chrome()->client()->platformPageClient()->authenticationChallenge(newURL, protectionSpace, inputCredential))
- return false;
- username = inputCredential.user();
- password = inputCredential.password();
- }
+ // Before asking the user for credentials, we check if the URL contains that.
+ if (!m_handle->getInternal()->m_user.isEmpty() && !m_handle->getInternal()->m_pass.isEmpty()) {
+ username = m_handle->getInternal()->m_user;
+ password = m_handle->getInternal()->m_pass;
+
+ // Prevent them from been used again if they are wrong.
+ // If they are correct, they will the put into CredentialStorage.
+ m_handle->getInternal()->m_user = "";
+ m_handle->getInternal()->m_pass = "";
+ } else {
+ if (m_handle->firstRequest().targetType() != ResourceRequest::TargetIsMainFrame && BlackBerry::Platform::Settings::instance()->isChromeProcess())
+ return false;
+
+ m_handle->getInternal()->m_currentWebChallenge = AuthenticationChallenge();
+ m_frame->page()->chrome()->client()->platformPageClient()->authenticationChallenge(newURL, protectionSpace, Credential(), this);
+ return true;
}
credential = Credential(username, password, CredentialPersistenceForSession);
@@ -778,10 +775,8 @@ bool NetworkJob::sendRequestWithCredentials(ProtectionSpaceServerType type, Prot
m_handle->getInternal()->m_currentWebChallenge = AuthenticationChallenge(protectionSpace, credential, 0, m_response, ResourceError());
}
- ResourceRequest newRequest = m_handle->firstRequest();
- newRequest.setURL(newURL);
- newRequest.setMustHandleInternally(true);
- return startNewJobWithRequest(newRequest);
+ notifyChallengeResult(newURL, protectionSpace, AuthenticationChallengeSuccess, credential);
+ return m_newJobWithCredentialsStarted;
}
void NetworkJob::storeCredentials()
@@ -800,7 +795,7 @@ void NetworkJob::storeCredentials()
challenge.setStored(true);
if (challenge.protectionSpace().serverType() == ProtectionSpaceProxyHTTP) {
- BlackBerry::Platform::Client::get()->setProxyCredential(challenge.proposedCredential().user().utf8().data(),
+ BlackBerry::Platform::Settings::instance()->setProxyCredential(challenge.proposedCredential().user().utf8().data(),
challenge.proposedCredential().password().utf8().data());
m_frame->page()->chrome()->client()->platformPageClient()->syncProxyCredential(challenge.proposedCredential());
}
@@ -830,4 +825,20 @@ void NetworkJob::fireDeleteJobTimer(Timer<NetworkJob>*)
NetworkManager::instance()->deleteJob(this);
}
+void NetworkJob::notifyChallengeResult(const KURL& url, const ProtectionSpace& protectionSpace, AuthenticationChallengeResult result, const Credential& credential)
+{
+ if (result != AuthenticationChallengeSuccess || protectionSpace.host().isEmpty() || !url.isValid()) {
+ m_newJobWithCredentialsStarted = false;
+ return;
+ }
+
+ if (m_handle->getInternal()->m_currentWebChallenge.isNull())
+ m_handle->getInternal()->m_currentWebChallenge = AuthenticationChallenge(protectionSpace, credential, 0, m_response, ResourceError());
+
+ ResourceRequest newRequest = m_handle->firstRequest();
+ newRequest.setURL(m_response.url());
+ newRequest.setMustHandleInternally(true);
+ m_newJobWithCredentialsStarted = startNewJobWithRequest(newRequest);
+}
+
} // namespace WebCore
diff --git a/Source/WebCore/platform/network/blackberry/NetworkJob.h b/Source/WebCore/platform/network/blackberry/NetworkJob.h
index e39e539ab..3526374ab 100644
--- a/Source/WebCore/platform/network/blackberry/NetworkJob.h
+++ b/Source/WebCore/platform/network/blackberry/NetworkJob.h
@@ -19,9 +19,9 @@
#ifndef NetworkJob_h
#define NetworkJob_h
+#include "AuthenticationChallengeManager.h"
#include "DeferredData.h"
#include "PlatformString.h"
-#include "ProtectionSpace.h"
#include "ResourceHandle.h"
#include "ResourceResponse.h"
#include "Timer.h"
@@ -29,6 +29,7 @@
#include <network/FilterStream.h>
#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace Platform {
@@ -39,11 +40,13 @@ class NetworkStreamFactory;
namespace WebCore {
+class Credential;
class Frame;
class KURL;
+class ProtectionSpace;
class ResourceRequest;
-class NetworkJob : public BlackBerry::Platform::FilterStream {
+class NetworkJob : public AuthenticationChallengeClient, public BlackBerry::Platform::FilterStream {
public:
NetworkJob();
bool initialize(int playerId,
@@ -81,6 +84,8 @@ public:
void handleNotifyClose(int status);
virtual int status() const { return m_extendedStatusCode; }
+ virtual void notifyChallengeResult(const KURL&, const ProtectionSpace&, AuthenticationChallengeResult, const Credential&);
+
private:
bool isClientAvailable() const { return !m_cancelled && m_handle && m_handle->client(); }
diff --git a/Source/WebCore/platform/network/blackberry/NetworkManager.cpp b/Source/WebCore/platform/network/blackberry/NetworkManager.cpp
index 118bd7144..152ea4b29 100644
--- a/Source/WebCore/platform/network/blackberry/NetworkManager.cpp
+++ b/Source/WebCore/platform/network/blackberry/NetworkManager.cpp
@@ -27,8 +27,8 @@
#include "Page.h"
#include "ResourceHandleInternal.h"
#include "ResourceRequest.h"
+#include "SecurityOrigin.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformLog.h>
#include <BuildInformation.h>
#include <network/FilterStream.h>
@@ -77,6 +77,8 @@ bool NetworkManager::startJob(int playerId, const String& pageGroupName, PassRef
BlackBerry::Platform::NetworkRequest platformRequest;
request.initializePlatformRequest(platformRequest, frame.loader() && frame.loader()->client() && static_cast<FrameLoaderClientBlackBerry*>(frame.loader()->client())->cookiesEnabled(), isInitial, redirectCount);
+ platformRequest.setReferrer(frame.document()->url().string().utf8().data());
+ platformRequest.setSecurityOrigin(frame.document()->securityOrigin()->toRawString().utf8().data());
// Attach any applicable auth credentials to the NetworkRequest.
AuthenticationChallenge& challenge = guardJob->getInternal()->m_currentWebChallenge;
diff --git a/Source/WebCore/platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp b/Source/WebCore/platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
index 6c2381ef3..ffb71dc3d 100644
--- a/Source/WebCore/platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
+++ b/Source/WebCore/platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
@@ -27,12 +27,12 @@
#include "config.h"
#include "NetworkStateNotifier.h"
-#include <BlackBerryPlatformClient.h>
+#include <BlackBerryPlatformSettings.h>
namespace WebCore {
NetworkStateNotifier::NetworkStateNotifier()
- : m_isOnLine(BlackBerry::Platform::Client::get()->isNetworkAvailable())
+ : m_isOnLine(BlackBerry::Platform::Settings::instance()->isNetworkAvailable())
, m_networkStateChangedFunction(0)
{
}
diff --git a/Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.cpp b/Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.cpp
index 6af6bc421..dbab969e8 100644
--- a/Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.cpp
+++ b/Source/WebCore/platform/network/blackberry/rss/RSSAtomParser.cpp
@@ -230,6 +230,8 @@ String RSSAtomParser::parseContent(const String& base, xmlNode* node)
// See: http://tools.ietf.org/html/rfc4287#page-16
BLACKBERRY_ASSERT(node);
+ // Why does Blackberry have its own RSS parser?
+ // FIXME: content should be a StringBuilder.
String content;
String type = "default";
String src;
diff --git a/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp b/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp
index 05929c1f4..5d6d73926 100644
--- a/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp
+++ b/Source/WebCore/platform/network/cf/CookieJarCFNet.cpp
@@ -32,11 +32,11 @@
#include "CookieStorageCFNet.h"
#include "Document.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "ResourceHandle.h"
#include "SoftLinking.h"
#include <CFNetwork/CFHTTPCookiesPriv.h>
#include <CoreFoundation/CoreFoundation.h>
+#include <wtf/text/WTFString.h>
#if PLATFORM(WIN)
#include <WebKitSystemInterface/WebKitSystemInterface.h>
diff --git a/Source/WebCore/platform/network/curl/CookieJarCurl.cpp b/Source/WebCore/platform/network/curl/CookieJarCurl.cpp
index 57102a769..8e802c3a0 100644
--- a/Source/WebCore/platform/network/curl/CookieJarCurl.cpp
+++ b/Source/WebCore/platform/network/curl/CookieJarCurl.cpp
@@ -20,9 +20,9 @@
#include "Cookie.h"
#include "Document.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/curl/ResourceHandleManager.h b/Source/WebCore/platform/network/curl/ResourceHandleManager.h
index ff54e7308..1dc14efc1 100644
--- a/Source/WebCore/platform/network/curl/ResourceHandleManager.h
+++ b/Source/WebCore/platform/network/curl/ResourceHandleManager.h
@@ -29,7 +29,6 @@
#define ResourceHandleManager_h
#include "Frame.h"
-#include "PlatformString.h"
#include "Timer.h"
#include "ResourceHandleClient.h"
@@ -41,6 +40,7 @@
#include <curl/curl.h>
#include <wtf/Vector.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/efl/NetworkStateNotifierEfl.cpp b/Source/WebCore/platform/network/efl/NetworkStateNotifierEfl.cpp
new file mode 100644
index 000000000..4b1a47f0c
--- /dev/null
+++ b/Source/WebCore/platform/network/efl/NetworkStateNotifierEfl.cpp
@@ -0,0 +1,157 @@
+/*
+ * Copyright (C) 2012 Intel Corporation. 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 "NetworkStateNotifier.h"
+
+#include "Logging.h"
+#include <Ecore.h>
+#include <Eeze.h>
+#include <Eeze_Net.h>
+#include <asm/types.h>
+#include <string.h>
+#include <sys/socket.h>
+#include <unistd.h>
+
+// Must come at the end so that sys/socket.h is included first.
+#include <linux/netlink.h>
+#include <linux/rtnetlink.h>
+
+static const char udevLoopBackInterfaceSysPath[] = "lo";
+static const char udevOperstateAttribute[] = "operstate";
+static const char udevOperstateUp[] = "up";
+static const size_t bufferSize = 4096;
+
+namespace WebCore {
+
+void NetworkStateNotifier::updateState()
+{
+ // Assume that we're offline until proven otherwise.
+ m_isOnLine = false;
+
+ Eina_List* networkInterfaces = eeze_net_list();
+
+ Eina_List* list;
+ void* data;
+ EINA_LIST_FOREACH(networkInterfaces, list, data) {
+ Eeze_Net* networkInterface = static_cast<Eeze_Net*>(data);
+
+ // Skip Loopback interface.
+ const char* syspath = eeze_net_syspath_get(networkInterface);
+ if (!syspath || !strcmp(syspath, udevLoopBackInterfaceSysPath))
+ continue;
+
+ // Skip interfaces that are not up.
+ const char* state = eeze_net_attribute_get(networkInterface, udevOperstateAttribute);
+ if (!state || strcmp(state, udevOperstateUp))
+ continue;
+
+ // Check if the interface has an IP address.
+ eeze_net_scan(networkInterface);
+ if (eeze_net_addr_get(networkInterface, EEZE_NET_ADDR_TYPE_IP) || eeze_net_addr_get(networkInterface, EEZE_NET_ADDR_TYPE_IP6)) {
+ m_isOnLine = true;
+ break;
+ }
+ }
+
+ EINA_LIST_FREE(networkInterfaces, data)
+ eeze_net_free(static_cast<Eeze_Net*>(data));
+}
+
+void NetworkStateNotifier::networkInterfaceChanged()
+{
+ bool wasOnline = m_isOnLine;
+ updateState();
+
+ if (wasOnline != m_isOnLine && m_networkStateChangedFunction)
+ m_networkStateChangedFunction();
+}
+
+static Eina_Bool readSocketCallback(void* userData, Ecore_Fd_Handler* handler)
+{
+ int sock = ecore_main_fd_handler_fd_get(handler);
+ char buffer[bufferSize];
+ ssize_t len;
+ nlmsghdr* nlh = reinterpret_cast<nlmsghdr*>(buffer);
+ while ((len = recv(sock, nlh, bufferSize, MSG_DONTWAIT)) > 0) {
+ while ((NLMSG_OK(nlh, len)) && (nlh->nlmsg_type != NLMSG_DONE)) {
+ if (nlh->nlmsg_type == NLMSG_ERROR) {
+ LOG_ERROR("Error while reading socket, stop monitoring onLine state.");
+ return ECORE_CALLBACK_CANCEL;
+ }
+ if (nlh->nlmsg_type == RTM_NEWADDR || nlh->nlmsg_type == RTM_DELADDR) {
+ // We detected an IP address change, recheck onLine state.
+ static_cast<NetworkStateNotifier*>(userData)->networkInterfaceChanged();
+ }
+ nlh = NLMSG_NEXT(nlh, len);
+ }
+ }
+
+ return ECORE_CALLBACK_RENEW;
+}
+
+NetworkStateNotifier::~NetworkStateNotifier()
+{
+ if (m_fdHandler) {
+ int sock = ecore_main_fd_handler_fd_get(m_fdHandler);
+ ecore_main_fd_handler_del(m_fdHandler);
+ close(sock);
+ }
+ eeze_shutdown();
+}
+
+NetworkStateNotifier::NetworkStateNotifier()
+ : m_isOnLine(false)
+ , m_networkStateChangedFunction(0)
+ , m_fdHandler(0)
+{
+ if (eeze_init() < 0) {
+ LOG_ERROR("Failed to initialize eeze library.");
+ return;
+ }
+
+ updateState();
+
+ // Watch for network address changes to keep online state up-to-date.
+ int sock;
+ if ((sock = socket(PF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) == -1) {
+ LOG_ERROR("Couldn't open NETLINK_ROUTE socket.");
+ return;
+ }
+
+ sockaddr_nl addr;
+ memset(&addr, 0, sizeof(addr));
+ addr.nl_family = AF_NETLINK;
+ addr.nl_groups = RTMGRP_IPV4_IFADDR | RTMGRP_IPV6_IFADDR;
+
+ if (bind(sock, reinterpret_cast<sockaddr*>(&addr), sizeof(addr)) == -1) {
+ LOG_ERROR("Couldn't bind to NETLINK_ROUTE socket.");
+ return;
+ }
+
+ m_fdHandler = ecore_main_fd_handler_add(sock, ECORE_FD_READ, readSocketCallback, this, 0, 0);
+}
+
+} // namespace WebCore
diff --git a/Source/WebCore/platform/network/qt/DnsPrefetchHelper.cpp b/Source/WebCore/platform/network/qt/DnsPrefetchHelper.cpp
index 84d70c770..5f9ec5676 100644
--- a/Source/WebCore/platform/network/qt/DnsPrefetchHelper.cpp
+++ b/Source/WebCore/platform/network/qt/DnsPrefetchHelper.cpp
@@ -20,7 +20,7 @@
#include "config.h"
#include "DnsPrefetchHelper.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
// this is called on mouse over a href and on page loading
diff --git a/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp b/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp
index d7127b4b5..ddfa1c38d 100644
--- a/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp
+++ b/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp
@@ -24,11 +24,11 @@
#include "GOwnPtrSoup.h"
#include "HTTPParsers.h"
#include "MIMETypeRegistry.h"
-#include "PlatformString.h"
#include "SoupURIUtils.h"
#include <libsoup/soup.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
using namespace std;
diff --git a/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp b/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp
index ddaa893b6..452108b6a 100644
--- a/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp
+++ b/Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp
@@ -24,9 +24,9 @@
#include <wtf/gobject/GOwnPtr.h>
#include "HTTPParsers.h"
#include "MIMETypeRegistry.h"
-#include "PlatformString.h"
#include "SoupURIUtils.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
using namespace std;
diff --git a/Source/WebCore/platform/network/win/CookieJarWin.cpp b/Source/WebCore/platform/network/win/CookieJarWin.cpp
index 282001069..089fd41c1 100644
--- a/Source/WebCore/platform/network/win/CookieJarWin.cpp
+++ b/Source/WebCore/platform/network/win/CookieJarWin.cpp
@@ -28,11 +28,11 @@
#include "Cookie.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "Document.h"
#include "ResourceHandle.h"
#include <windows.h>
#include <Wininet.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/network/win/DownloadBundleWin.cpp b/Source/WebCore/platform/network/win/DownloadBundleWin.cpp
index f0f3027b8..2b36195ad 100644
--- a/Source/WebCore/platform/network/win/DownloadBundleWin.cpp
+++ b/Source/WebCore/platform/network/win/DownloadBundleWin.cpp
@@ -44,7 +44,7 @@ static UInt32 magicNumber()
const String& fileExtension()
{
- DEFINE_STATIC_LOCAL(const String, extension, (".download"));
+ DEFINE_STATIC_LOCAL(const String, extension, (ASCIILiteral(".download")));
return extension;
}
diff --git a/Source/WebCore/platform/posix/FileSystemPOSIX.cpp b/Source/WebCore/platform/posix/FileSystemPOSIX.cpp
index 37a45d14d..8acc0b094 100644
--- a/Source/WebCore/platform/posix/FileSystemPOSIX.cpp
+++ b/Source/WebCore/platform/posix/FileSystemPOSIX.cpp
@@ -30,7 +30,6 @@
#include "FileSystem.h"
#include "FileMetadata.h"
-#include "PlatformString.h"
#include <dirent.h>
#include <errno.h>
#include <fcntl.h>
@@ -41,6 +40,7 @@
#include <sys/types.h>
#include <unistd.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/qt/ClipboardQt.cpp b/Source/WebCore/platform/qt/ClipboardQt.cpp
index 8edbbe384..e1569926e 100644
--- a/Source/WebCore/platform/qt/ClipboardQt.cpp
+++ b/Source/WebCore/platform/qt/ClipboardQt.cpp
@@ -42,11 +42,11 @@
#include "IntPoint.h"
#include "KURL.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "Range.h"
#include "RenderImage.h"
#include "markup.h"
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <QGuiApplication>
#include <QClipboard>
diff --git a/Source/WebCore/platform/qt/CookieJarQt.cpp b/Source/WebCore/platform/qt/CookieJarQt.cpp
index d07d6ef92..7d57aac1c 100644
--- a/Source/WebCore/platform/qt/CookieJarQt.cpp
+++ b/Source/WebCore/platform/qt/CookieJarQt.cpp
@@ -29,15 +29,13 @@
#include "config.h"
#include "CookieJarQt.h"
-#include "CookieJar.h"
-
#include "Cookie.h"
+#include "CookieJar.h"
#include "Document.h"
#include "Frame.h"
#include "FrameLoader.h"
#include "KURL.h"
#include "NetworkingContext.h"
-#include "PlatformString.h"
#include "ThirdPartyCookiesQt.h"
#include <QDateTime>
#include <QNetworkAccessManager>
@@ -45,6 +43,7 @@
#include <QSqlQuery>
#include <QStringList>
#include <QVariant>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/qt/FileSystemQt.cpp b/Source/WebCore/platform/qt/FileSystemQt.cpp
index 504ad8062..16f4d7420 100644
--- a/Source/WebCore/platform/qt/FileSystemQt.cpp
+++ b/Source/WebCore/platform/qt/FileSystemQt.cpp
@@ -34,16 +34,17 @@
#include "FileSystem.h"
#include "FileMetadata.h"
-#include "PlatformString.h"
#include <QDateTime>
#include <QDir>
#include <QFile>
#include <QFileInfo>
#include <QTemporaryFile>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
+
#if !defined(Q_OS_WIN)
#include <sys/statvfs.h>
#endif
-#include <wtf/text/CString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/qt/LanguageQt.cpp b/Source/WebCore/platform/qt/LanguageQt.cpp
index bdccfcd5e..3b2fa3f02 100644
--- a/Source/WebCore/platform/qt/LanguageQt.cpp
+++ b/Source/WebCore/platform/qt/LanguageQt.cpp
@@ -27,9 +27,9 @@
#include "config.h"
#include "Language.h"
-#include "PlatformString.h"
#include <QLocale>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/qt/LocalizedStringsQt.cpp b/Source/WebCore/platform/qt/LocalizedStringsQt.cpp
index 5613fb103..a410f438e 100644
--- a/Source/WebCore/platform/qt/LocalizedStringsQt.cpp
+++ b/Source/WebCore/platform/qt/LocalizedStringsQt.cpp
@@ -32,9 +32,9 @@
#include "IntSize.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <QCoreApplication>
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/qt/LoggingQt.cpp b/Source/WebCore/platform/qt/LoggingQt.cpp
index 8089e9453..4351ba95e 100644
--- a/Source/WebCore/platform/qt/LoggingQt.cpp
+++ b/Source/WebCore/platform/qt/LoggingQt.cpp
@@ -22,9 +22,9 @@
#if !LOG_DISABLED
-#include "PlatformString.h"
#include <QDebug>
#include <QStringList>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/qt/PlatformSupport.h b/Source/WebCore/platform/qt/PlatformSupport.h
index d0bf1549a..9a1948889 100644
--- a/Source/WebCore/platform/qt/PlatformSupport.h
+++ b/Source/WebCore/platform/qt/PlatformSupport.h
@@ -27,9 +27,9 @@
#define PlatformSupport_h
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
// V8 bindings use the ARRAYSIZE_UNSAFE macro. This macro was copied
// from http://src.chromium.org/viewvc/chrome/trunk/src/base/basictypes.h
diff --git a/Source/WebCore/platform/qt/RenderThemeQt.cpp b/Source/WebCore/platform/qt/RenderThemeQt.cpp
index f3917b8a9..1de8153a3 100644
--- a/Source/WebCore/platform/qt/RenderThemeQt.cpp
+++ b/Source/WebCore/platform/qt/RenderThemeQt.cpp
@@ -539,7 +539,7 @@ String RenderThemeQt::extraMediaControlsStyleSheet()
String result = String(mediaControlsQtUserAgentStyleSheet, sizeof(mediaControlsQtUserAgentStyleSheet));
if (m_page && m_page->chrome()->requiresFullscreenForVideoPlayback())
- result += String(mediaControlsQtFullscreenUserAgentStyleSheet, sizeof(mediaControlsQtFullscreenUserAgentStyleSheet));
+ result.append(String(mediaControlsQtFullscreenUserAgentStyleSheet, sizeof(mediaControlsQtFullscreenUserAgentStyleSheet)));
return result;
}
@@ -867,7 +867,7 @@ String RenderThemeQt::fileListNameForWidth(const FileList* fileList, const Font&
int n = fileList->length();
string = QCoreApplication::translate("QWebPage", "%n file(s)",
"number of chosen file",
- QCoreApplication::DefaultCodec, n);
+ n);
}
return string;
diff --git a/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp b/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp
index 602f3fc99..702eda4cd 100644
--- a/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp
+++ b/Source/WebCore/platform/qt/RenderThemeQtMobile.cpp
@@ -875,11 +875,14 @@ bool RenderThemeQtMobile::paintSliderTrack(RenderObject* o, const PaintInfo& pi,
QRect rect(r);
const bool vertical = (o->style()->appearance() == SliderVerticalPart);
const int groovePadding = vertical ? r.width() * sliderGrooveBorderRatio : r.height() * sliderGrooveBorderRatio;
- if (vertical)
+ if (vertical) {
rect.adjust(groovePadding, 0, -groovePadding, 0);
- else
+ // Direction is ignored on vertical sliders and we assume LTR.
+ p.drawProgress(rect, progress, true, /*animated = */ false, vertical);
+ } else {
rect.adjust(0, groovePadding, 0, -groovePadding);
- p.drawProgress(rect, progress, o->style()->isLeftToRightDirection(), /*animated = */ false, vertical);
+ p.drawProgress(rect, progress, o->style()->isLeftToRightDirection(), /*animated = */ false, vertical);
+ }
return false;
}
diff --git a/Source/WebCore/platform/qt/SharedTimerQt.cpp b/Source/WebCore/platform/qt/SharedTimerQt.cpp
index cebfea663..aaca428fd 100644
--- a/Source/WebCore/platform/qt/SharedTimerQt.cpp
+++ b/Source/WebCore/platform/qt/SharedTimerQt.cpp
@@ -33,7 +33,7 @@
#include <QBasicTimer>
#include <QCoreApplication>
#include <QDebug>
-#include <QWeakPointer>
+#include <QPointer>
#include <wtf/CurrentTime.h>
namespace WebCore {
@@ -83,7 +83,7 @@ void SharedTimerQt::destroy()
SharedTimerQt* SharedTimerQt::inst()
{
- static QWeakPointer<SharedTimerQt> timer;
+ static QPointer<SharedTimerQt> timer;
if (!timer) {
timer = new SharedTimerQt();
timer.data()->connect(QCoreApplication::instance(), SIGNAL(aboutToQuit()), SLOT(destroy()));
diff --git a/Source/WebCore/platform/sql/SQLValue.h b/Source/WebCore/platform/sql/SQLValue.h
index 0f854fc89..86ff887c1 100644
--- a/Source/WebCore/platform/sql/SQLValue.h
+++ b/Source/WebCore/platform/sql/SQLValue.h
@@ -29,8 +29,8 @@
#ifndef SQLValue_h
#define SQLValue_h
-#include "PlatformString.h"
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/sql/SQLiteDatabase.cpp b/Source/WebCore/platform/sql/SQLiteDatabase.cpp
index 3fd3d023d..8ab626b12 100644
--- a/Source/WebCore/platform/sql/SQLiteDatabase.cpp
+++ b/Source/WebCore/platform/sql/SQLiteDatabase.cpp
@@ -93,7 +93,7 @@ bool SQLiteDatabase::open(const String& filename, bool forWebSQLDatabase)
else
m_openErrorMessage = "sqlite_open returned null";
- if (!SQLiteStatement(*this, "PRAGMA temp_store = MEMORY;").executeCommand())
+ if (!SQLiteStatement(*this, ASCIILiteral("PRAGMA temp_store = MEMORY;")).executeCommand())
LOG_ERROR("SQLite database could not set temp_store to memory");
return isOpen();
@@ -140,9 +140,9 @@ bool SQLiteDatabase::isInterrupted()
void SQLiteDatabase::setFullsync(bool fsync)
{
if (fsync)
- executeCommand("PRAGMA fullfsync = 1;");
+ executeCommand(ASCIILiteral("PRAGMA fullfsync = 1;"));
else
- executeCommand("PRAGMA fullfsync = 0;");
+ executeCommand(ASCIILiteral("PRAGMA fullfsync = 0;"));
}
int64_t SQLiteDatabase::maximumSize()
@@ -152,7 +152,7 @@ int64_t SQLiteDatabase::maximumSize()
{
MutexLocker locker(m_authorizerLock);
enableAuthorizer(false);
- SQLiteStatement statement(*this, "PRAGMA max_page_count");
+ SQLiteStatement statement(*this, ASCIILiteral("PRAGMA max_page_count"));
maxPageCount = statement.getColumnInt64(0);
enableAuthorizer(true);
}
@@ -194,7 +194,7 @@ int SQLiteDatabase::pageSize()
MutexLocker locker(m_authorizerLock);
enableAuthorizer(false);
- SQLiteStatement statement(*this, "PRAGMA page_size");
+ SQLiteStatement statement(*this, ASCIILiteral("PRAGMA page_size"));
m_pageSize = statement.getColumnInt(0);
enableAuthorizer(true);
@@ -211,7 +211,7 @@ int64_t SQLiteDatabase::freeSpaceSize()
MutexLocker locker(m_authorizerLock);
enableAuthorizer(false);
// Note: freelist_count was added in SQLite 3.4.1.
- SQLiteStatement statement(*this, "PRAGMA freelist_count");
+ SQLiteStatement statement(*this, ASCIILiteral("PRAGMA freelist_count"));
freelistCount = statement.getColumnInt64(0);
enableAuthorizer(true);
}
@@ -226,7 +226,7 @@ int64_t SQLiteDatabase::totalSize()
{
MutexLocker locker(m_authorizerLock);
enableAuthorizer(false);
- SQLiteStatement statement(*this, "PRAGMA page_count");
+ SQLiteStatement statement(*this, ASCIILiteral("PRAGMA page_count"));
pageCount = statement.getColumnInt64(0);
enableAuthorizer(true);
}
@@ -269,9 +269,9 @@ bool SQLiteDatabase::tableExists(const String& tablename)
{
if (!isOpen())
return false;
-
+
String statement = "SELECT name FROM sqlite_master WHERE type = 'table' AND name = '" + tablename + "';";
-
+
SQLiteStatement sql(*this, statement);
sql.prepare();
return sql.step() == SQLITE_ROW;
@@ -279,7 +279,7 @@ bool SQLiteDatabase::tableExists(const String& tablename)
void SQLiteDatabase::clearAllTables()
{
- String query = "SELECT name FROM sqlite_master WHERE type='table';";
+ String query = ASCIILiteral("SELECT name FROM sqlite_master WHERE type='table';");
Vector<String> tables;
if (!SQLiteStatement(*this, query).returnTextResults(0, tables)) {
LOG(SQLDatabase, "Unable to retrieve list of tables from database");
@@ -296,7 +296,7 @@ void SQLiteDatabase::clearAllTables()
int SQLiteDatabase::runVacuumCommand()
{
- if (!executeCommand("VACUUM;"))
+ if (!executeCommand(ASCIILiteral("VACUUM;")))
LOG(SQLDatabase, "Unable to vacuum database - %s", lastErrorMsg());
return lastError();
}
@@ -306,7 +306,7 @@ int SQLiteDatabase::runIncrementalVacuumCommand()
MutexLocker locker(m_authorizerLock);
enableAuthorizer(false);
- if (!executeCommand("PRAGMA incremental_vacuum"))
+ if (!executeCommand(ASCIILiteral("PRAGMA incremental_vacuum")))
LOG(SQLDatabase, "Unable to run incremental vacuum - %s", lastErrorMsg());
enableAuthorizer(true);
@@ -457,7 +457,7 @@ bool SQLiteDatabase::isAutoCommitOn() const
bool SQLiteDatabase::turnOnIncrementalAutoVacuum()
{
- SQLiteStatement statement(*this, "PRAGMA auto_vacuum");
+ SQLiteStatement statement(*this, ASCIILiteral("PRAGMA auto_vacuum"));
int autoVacuumMode = statement.getColumnInt(0);
int error = lastError();
@@ -474,10 +474,10 @@ bool SQLiteDatabase::turnOnIncrementalAutoVacuum()
case AutoVacuumIncremental:
return true;
case AutoVacuumFull:
- return executeCommand("PRAGMA auto_vacuum = 2");
+ return executeCommand(ASCIILiteral("PRAGMA auto_vacuum = 2"));
case AutoVacuumNone:
default:
- if (!executeCommand("PRAGMA auto_vacuum = 2"))
+ if (!executeCommand(ASCIILiteral("PRAGMA auto_vacuum = 2")))
return false;
runVacuumCommand();
error = lastError();
diff --git a/Source/WebCore/platform/sql/SQLiteDatabase.h b/Source/WebCore/platform/sql/SQLiteDatabase.h
index 26fea2471..40ee81b0e 100644
--- a/Source/WebCore/platform/sql/SQLiteDatabase.h
+++ b/Source/WebCore/platform/sql/SQLiteDatabase.h
@@ -27,9 +27,9 @@
#ifndef SQLiteDatabase_h
#define SQLiteDatabase_h
-#include "PlatformString.h"
-#include <wtf/text/CString.h>
#include <wtf/Threading.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if COMPILER(MSVC)
#pragma warning(disable: 4800)
diff --git a/Source/WebCore/platform/sql/SQLiteFileSystem.h b/Source/WebCore/platform/sql/SQLiteFileSystem.h
index f25d01de1..1c61b9b90 100644
--- a/Source/WebCore/platform/sql/SQLiteFileSystem.h
+++ b/Source/WebCore/platform/sql/SQLiteFileSystem.h
@@ -31,8 +31,8 @@
#ifndef SQLiteFileSystem_h
#define SQLiteFileSystem_h
-#include "PlatformString.h"
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
struct sqlite3;
diff --git a/Source/WebCore/platform/text/DecodeEscapeSequences.h b/Source/WebCore/platform/text/DecodeEscapeSequences.h
index 22a47ac14..b02677a3f 100644
--- a/Source/WebCore/platform/text/DecodeEscapeSequences.h
+++ b/Source/WebCore/platform/text/DecodeEscapeSequences.h
@@ -30,7 +30,6 @@
#ifndef DecodeEscapeSequences_h
#define DecodeEscapeSequences_h
-#include "PlatformString.h"
#include "TextEncoding.h"
#include <wtf/ASCIICType.h>
#include <wtf/Assertions.h>
diff --git a/Source/WebCore/platform/text/LineEnding.cpp b/Source/WebCore/platform/text/LineEnding.cpp
index 00a90eb4f..ff5707988 100644
--- a/Source/WebCore/platform/text/LineEnding.cpp
+++ b/Source/WebCore/platform/text/LineEnding.cpp
@@ -32,8 +32,8 @@
#include "config.h"
#include "LineEnding.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace {
diff --git a/Source/WebCore/platform/text/ParserUtilities.h b/Source/WebCore/platform/text/ParserUtilities.h
index 31052141f..ad4f98de7 100644
--- a/Source/WebCore/platform/text/ParserUtilities.h
+++ b/Source/WebCore/platform/text/ParserUtilities.h
@@ -22,7 +22,7 @@
#ifndef ParserUtilities_h
#define ParserUtilities_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/PlatformString.h b/Source/WebCore/platform/text/PlatformString.h
deleted file mode 100644
index e525bd4c8..000000000
--- a/Source/WebCore/platform/text/PlatformString.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * (C) 1999 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008 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
- * 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 PlatformString_h
-#define PlatformString_h
-
-// This file would be called String.h, but that conflicts with <string.h>
-// on systems without case-sensitive file systems.
-
-#include <wtf/text/WTFString.h>
-
-namespace WebCore {
-
-class SharedBuffer;
-
-PassRefPtr<SharedBuffer> utf8Buffer(const String&);
-// Counts the number of grapheme clusters. A surrogate pair or a sequence
-// of a non-combining character and following combining characters is
-// counted as 1 grapheme cluster.
-unsigned numGraphemeClusters(const String& s);
-// Returns the number of characters which will be less than or equal to
-// the specified grapheme cluster length.
-unsigned numCharactersInGraphemeClusters(const String& s, unsigned);
-
-} // namespace WebCore
-
-#endif
diff --git a/Source/WebCore/platform/text/RegularExpression.cpp b/Source/WebCore/platform/text/RegularExpression.cpp
index f74f957dc..236959085 100644
--- a/Source/WebCore/platform/text/RegularExpression.cpp
+++ b/Source/WebCore/platform/text/RegularExpression.cpp
@@ -56,7 +56,7 @@ private:
PassOwnPtr<JSC::Yarr::BytecodePattern> compile(const String& patternString, TextCaseSensitivity caseSensitivity)
{
- JSC::Yarr::YarrPattern pattern(JSC::UString(patternString.impl()), (caseSensitivity == TextCaseInsensitive), false, &m_constructionError);
+ JSC::Yarr::YarrPattern pattern(patternString, (caseSensitivity == TextCaseInsensitive), false, &m_constructionError);
if (m_constructionError) {
LOG_ERROR("RegularExpression: YARR compile failed with '%s'", m_constructionError);
return nullptr;
@@ -112,7 +112,7 @@ int RegularExpression::match(const String& str, int startFrom, int* matchLength)
unsigned result;
if (str.length() <= INT_MAX)
- result = JSC::Yarr::interpret(d->m_regExpByteCode.get(), JSC::UString(str.impl()), startFrom, offsetVector);
+ result = JSC::Yarr::interpret(d->m_regExpByteCode.get(), str, startFrom, offsetVector);
else {
// This code can't handle unsigned offsets. Limit our processing to strings with offsets that
// can be represented as ints.
diff --git a/Source/WebCore/platform/text/RegularExpression.h b/Source/WebCore/platform/text/RegularExpression.h
index 536ed4811..7c48faabe 100644
--- a/Source/WebCore/platform/text/RegularExpression.h
+++ b/Source/WebCore/platform/text/RegularExpression.h
@@ -26,7 +26,7 @@
#ifndef RegularExpression_h
#define RegularExpression_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/SegmentedString.h b/Source/WebCore/platform/text/SegmentedString.h
index 0a8ecb227..abd798aec 100644
--- a/Source/WebCore/platform/text/SegmentedString.h
+++ b/Source/WebCore/platform/text/SegmentedString.h
@@ -20,10 +20,10 @@
#ifndef SegmentedString_h
#define SegmentedString_h
-#include "PlatformString.h"
#include <wtf/Deque.h>
#include <wtf/text/StringBuilder.h>
#include <wtf/text/TextPosition.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/StringWithDirection.h b/Source/WebCore/platform/text/StringWithDirection.h
index 3302f8188..3833b1cdc 100644
--- a/Source/WebCore/platform/text/StringWithDirection.h
+++ b/Source/WebCore/platform/text/StringWithDirection.h
@@ -31,8 +31,8 @@
#ifndef StringWithDirection_h
#define StringWithDirection_h
-#include "PlatformString.h"
#include "TextDirection.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/SuffixTree.h b/Source/WebCore/platform/text/SuffixTree.h
index f11fd2344..1f05c363e 100644
--- a/Source/WebCore/platform/text/SuffixTree.h
+++ b/Source/WebCore/platform/text/SuffixTree.h
@@ -26,8 +26,8 @@
#ifndef SuffixTree_h
#define SuffixTree_h
-#include "PlatformString.h"
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/TextAllInOne.cpp b/Source/WebCore/platform/text/TextAllInOne.cpp
index b0bc39432..31c37f774 100644
--- a/Source/WebCore/platform/text/TextAllInOne.cpp
+++ b/Source/WebCore/platform/text/TextAllInOne.cpp
@@ -26,6 +26,7 @@
// This all-in-one cpp file cuts down on template bloat to allow us to build our Windows release build.
#include "TextBoundaries.cpp"
+#include "TextBreakIterator.cpp"
#include "TextBreakIteratorICU.cpp"
#include "TextCodec.cpp"
#include "TextCodecICU.cpp"
diff --git a/Source/WebCore/platform/text/String.cpp b/Source/WebCore/platform/text/TextBreakIterator.cpp
index 590b7a3c1..1362e8116 100644
--- a/Source/WebCore/platform/text/String.cpp
+++ b/Source/WebCore/platform/text/TextBreakIterator.cpp
@@ -20,35 +20,10 @@
*/
#include "config.h"
-#include "PlatformString.h"
-
-#include "SharedBuffer.h"
#include "TextBreakIterator.h"
-#include <wtf/unicode/UTF8.h>
-#include <wtf/unicode/Unicode.h>
-
-using namespace WTF;
-using namespace WTF::Unicode;
namespace WebCore {
-PassRefPtr<SharedBuffer> utf8Buffer(const String& string)
-{
- // Allocate a buffer big enough to hold all the characters.
- const int length = string.length();
- Vector<char> buffer(length * 3);
-
- // Convert to runs of 8-bit characters.
- char* p = buffer.data();
- const UChar* d = string.characters();
- ConversionResult result = convertUTF16ToUTF8(&d, d + length, &p, p + buffer.size(), true);
- if (result != conversionOK)
- return 0;
-
- buffer.shrink(p - buffer.data());
- return SharedBuffer::adoptVector(buffer);
-}
-
unsigned numGraphemeClusters(const String& s)
{
NonSharedCharacterBreakIterator it(s.characters(), s.length());
@@ -65,7 +40,7 @@ unsigned numCharactersInGraphemeClusters(const String& s, unsigned numGraphemeCl
{
NonSharedCharacterBreakIterator it(s.characters(), s.length());
if (!it)
- return min(s.length(), numGraphemeClusters);
+ return std::min(s.length(), numGraphemeClusters);
for (unsigned i = 0; i < numGraphemeClusters; ++i) {
if (textBreakNext(it) == TextBreakDone)
diff --git a/Source/WebCore/platform/text/TextBreakIterator.h b/Source/WebCore/platform/text/TextBreakIterator.h
index bbc1dba4b..ac49fb467 100644
--- a/Source/WebCore/platform/text/TextBreakIterator.h
+++ b/Source/WebCore/platform/text/TextBreakIterator.h
@@ -115,6 +115,14 @@ private:
TextBreakIterator* m_iterator;
};
+// Counts the number of grapheme clusters. A surrogate pair or a sequence
+// of a non-combining character and following combining characters is
+// counted as 1 grapheme cluster.
+unsigned numGraphemeClusters(const String&);
+// Returns the number of characters which will be less than or equal to
+// the specified grapheme cluster length.
+unsigned numCharactersInGraphemeClusters(const String&, unsigned);
+
}
#endif
diff --git a/Source/WebCore/platform/text/TextBreakIteratorICU.cpp b/Source/WebCore/platform/text/TextBreakIteratorICU.cpp
index 29b1580d6..9a80cc2f1 100644
--- a/Source/WebCore/platform/text/TextBreakIteratorICU.cpp
+++ b/Source/WebCore/platform/text/TextBreakIteratorICU.cpp
@@ -23,8 +23,8 @@
#include "TextBreakIterator.h"
#include "LineBreakIteratorPoolICU.h"
-#include "PlatformString.h"
#include <wtf/Atomics.h>
+#include <wtf/text/WTFString.h>
using namespace WTF;
using namespace std;
diff --git a/Source/WebCore/platform/text/TextCodec.cpp b/Source/WebCore/platform/text/TextCodec.cpp
index 4222ee18c..b0a5720bc 100644
--- a/Source/WebCore/platform/text/TextCodec.cpp
+++ b/Source/WebCore/platform/text/TextCodec.cpp
@@ -27,8 +27,8 @@
#include "config.h"
#include "TextCodec.h"
-#include "PlatformString.h"
#include <wtf/StringExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/TextCodec.h b/Source/WebCore/platform/text/TextCodec.h
index 0c2a38aa8..e4c9571c6 100644
--- a/Source/WebCore/platform/text/TextCodec.h
+++ b/Source/WebCore/platform/text/TextCodec.h
@@ -32,10 +32,9 @@
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Unicode.h>
-#include "PlatformString.h"
-
namespace WebCore {
class TextEncoding;
diff --git a/Source/WebCore/platform/text/TextCodecLatin1.cpp b/Source/WebCore/platform/text/TextCodecLatin1.cpp
index d3a202773..da86f8ff4 100644
--- a/Source/WebCore/platform/text/TextCodecLatin1.cpp
+++ b/Source/WebCore/platform/text/TextCodecLatin1.cpp
@@ -26,11 +26,11 @@
#include "config.h"
#include "TextCodecLatin1.h"
-#include "PlatformString.h"
#include "TextCodecASCIIFastPath.h"
+#include <wtf/PassOwnPtr.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuffer.h>
-#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
using namespace WTF;
diff --git a/Source/WebCore/platform/text/TextCodecUTF16.cpp b/Source/WebCore/platform/text/TextCodecUTF16.cpp
index c5c825d01..7f2a88877 100644
--- a/Source/WebCore/platform/text/TextCodecUTF16.cpp
+++ b/Source/WebCore/platform/text/TextCodecUTF16.cpp
@@ -26,10 +26,10 @@
#include "config.h"
#include "TextCodecUTF16.h"
-#include "PlatformString.h"
+#include <wtf/PassOwnPtr.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuffer.h>
-#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
using namespace std;
diff --git a/Source/WebCore/platform/text/TextCodecUserDefined.cpp b/Source/WebCore/platform/text/TextCodecUserDefined.cpp
index 06dd91f39..47d682110 100644
--- a/Source/WebCore/platform/text/TextCodecUserDefined.cpp
+++ b/Source/WebCore/platform/text/TextCodecUserDefined.cpp
@@ -26,12 +26,12 @@
#include "config.h"
#include "TextCodecUserDefined.h"
-#include "PlatformString.h"
#include <stdio.h>
+#include <wtf/PassOwnPtr.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuffer.h>
#include <wtf/text/StringBuilder.h>
-#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/TextEncoding.cpp b/Source/WebCore/platform/text/TextEncoding.cpp
index 2e9079b6a..f28cd6715 100644
--- a/Source/WebCore/platform/text/TextEncoding.cpp
+++ b/Source/WebCore/platform/text/TextEncoding.cpp
@@ -28,9 +28,13 @@
#include "config.h"
#include "TextEncoding.h"
-#include "PlatformString.h"
#include "TextCodec.h"
#include "TextEncodingRegistry.h"
+#include <wtf/OwnPtr.h>
+#include <wtf/StdLibExtras.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
+
#if USE(ICU_UNICODE)
#include <unicode/unorm.h>
#elif USE(QT4_UNICODE)
@@ -39,9 +43,6 @@
#include <glib.h>
#include <wtf/gobject/GOwnPtr.h>
#endif
-#include <wtf/text/CString.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/StdLibExtras.h>
namespace WebCore {
@@ -58,7 +59,7 @@ TextEncoding::TextEncoding(const char* name)
}
TextEncoding::TextEncoding(const String& name)
- : m_name(atomicCanonicalTextEncodingName(name.characters(), name.length()))
+ : m_name(atomicCanonicalTextEncodingName(name))
, m_backslashAsCurrencySymbol(backslashAsCurrencySymbol())
{
}
diff --git a/Source/WebCore/platform/text/TextEncodingRegistry.cpp b/Source/WebCore/platform/text/TextEncodingRegistry.cpp
index 4763bf834..4140a3872 100644
--- a/Source/WebCore/platform/text/TextEncodingRegistry.cpp
+++ b/Source/WebCore/platform/text/TextEncodingRegistry.cpp
@@ -348,12 +348,13 @@ const char* atomicCanonicalTextEncodingName(const char* name)
return textEncodingNameMap->get(name);
}
-const char* atomicCanonicalTextEncodingName(const UChar* characters, size_t length)
+template <typename CharacterType>
+const char* atomicCanonicalTextEncodingName(const CharacterType* characters, size_t length)
{
char buffer[maxEncodingNameLength + 1];
size_t j = 0;
for (size_t i = 0; i < length; ++i) {
- UChar c = characters[i];
+ CharacterType c = characters[i];
if (j == maxEncodingNameLength)
return 0;
buffer[j++] = c;
@@ -362,6 +363,17 @@ const char* atomicCanonicalTextEncodingName(const UChar* characters, size_t leng
return atomicCanonicalTextEncodingName(buffer);
}
+const char* atomicCanonicalTextEncodingName(const String& alias)
+{
+ if (!alias.length())
+ return 0;
+
+ if (alias.is8Bit())
+ return atomicCanonicalTextEncodingName<LChar>(alias.characters8(), alias.length());
+
+ return atomicCanonicalTextEncodingName<UChar>(alias.characters(), alias.length());
+}
+
bool noExtendedTextEncodingNameUsed()
{
// If the calling thread did not use extended encoding names, it is fine for it to use a stale false value.
diff --git a/Source/WebCore/platform/text/TextEncodingRegistry.h b/Source/WebCore/platform/text/TextEncodingRegistry.h
index 16844c6b2..1895df737 100644
--- a/Source/WebCore/platform/text/TextEncodingRegistry.h
+++ b/Source/WebCore/platform/text/TextEncodingRegistry.h
@@ -28,6 +28,7 @@
#include <memory>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Unicode.h>
namespace WebCore {
@@ -41,7 +42,9 @@ namespace WebCore {
// Only TextEncoding should use the following functions directly.
const char* atomicCanonicalTextEncodingName(const char* alias);
- const char* atomicCanonicalTextEncodingName(const UChar* aliasCharacters, size_t aliasLength);
+ template <typename CharacterType>
+ const char* atomicCanonicalTextEncodingName(const CharacterType*, size_t);
+ const char* atomicCanonicalTextEncodingName(const String&);
bool noExtendedTextEncodingNameUsed();
bool isJapaneseEncoding(const char* canonicalEncodingName);
bool shouldShowBackslashAsCurrencySymbolIn(const char* canonicalEncodingName);
diff --git a/Source/WebCore/platform/text/TextStream.cpp b/Source/WebCore/platform/text/TextStream.cpp
index ce9a56190..e0aa9a3ea 100644
--- a/Source/WebCore/platform/text/TextStream.cpp
+++ b/Source/WebCore/platform/text/TextStream.cpp
@@ -42,25 +42,37 @@ TextStream& TextStream::operator<<(bool b)
TextStream& TextStream::operator<<(int i)
{
- m_text.append(String::number(i));
+ m_text.appendNumber(i);
return *this;
}
TextStream& TextStream::operator<<(unsigned i)
{
- m_text.append(String::number(i));
+ m_text.appendNumber(i);
return *this;
}
TextStream& TextStream::operator<<(long i)
{
- m_text.append(String::number(i));
+ m_text.appendNumber(i);
return *this;
}
TextStream& TextStream::operator<<(unsigned long i)
{
- m_text.append(String::number(i));
+ m_text.appendNumber(i);
+ return *this;
+}
+
+TextStream& TextStream::operator<<(long long i)
+{
+ m_text.appendNumber(i);
+ return *this;
+}
+
+TextStream& TextStream::operator<<(unsigned long long i)
+{
+ m_text.appendNumber(i);
return *this;
}
@@ -102,19 +114,4 @@ String TextStream::release()
return result;
}
-#if OS(WINDOWS) && CPU(X86_64)
-TextStream& TextStream::operator<<(__int64 i)
-{
- char buffer[printBufferSize];
- snprintf(buffer, sizeof(buffer) - 1, "%I64i", i);
- return *this << buffer;
-}
-TextStream& TextStream::operator<<(unsigned __int64 i)
-{
- char buffer[printBufferSize];
- snprintf(buffer, sizeof(buffer) - 1, "%I64u", i);
- return *this << buffer;
-}
-#endif
-
}
diff --git a/Source/WebCore/platform/text/TextStream.h b/Source/WebCore/platform/text/TextStream.h
index 62b1a9222..21d38189f 100644
--- a/Source/WebCore/platform/text/TextStream.h
+++ b/Source/WebCore/platform/text/TextStream.h
@@ -39,15 +39,13 @@ public:
TextStream& operator<<(unsigned);
TextStream& operator<<(long);
TextStream& operator<<(unsigned long);
+ TextStream& operator<<(long long);
+ TextStream& operator<<(unsigned long long);
TextStream& operator<<(float);
TextStream& operator<<(double);
TextStream& operator<<(const char*);
TextStream& operator<<(const void*);
TextStream& operator<<(const String&);
-#if OS(WINDOWS) && CPU(X86_64)
- TextStream& operator<<(unsigned __int64);
- TextStream& operator<<(__int64);
-#endif
String release();
diff --git a/Source/WebCore/platform/text/blackberry/StringBlackBerry.cpp b/Source/WebCore/platform/text/blackberry/StringBlackBerry.cpp
index 3eff66b2f..436569f53 100644
--- a/Source/WebCore/platform/text/blackberry/StringBlackBerry.cpp
+++ b/Source/WebCore/platform/text/blackberry/StringBlackBerry.cpp
@@ -17,7 +17,7 @@
*/
#include "config.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include "WebString.h"
diff --git a/Source/WebCore/platform/text/cf/StringCF.cpp b/Source/WebCore/platform/text/cf/StringCF.cpp
index 2fe408b49..8c9774982 100644
--- a/Source/WebCore/platform/text/cf/StringCF.cpp
+++ b/Source/WebCore/platform/text/cf/StringCF.cpp
@@ -19,7 +19,8 @@
*/
#include "config.h"
-#include "PlatformString.h"
+
+#include <wtf/text/WTFString.h>
#if USE(CF)
diff --git a/Source/WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp b/Source/WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp
index e390a658d..0f14bdf0c 100644
--- a/Source/WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp
+++ b/Source/WebCore/platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp
@@ -23,9 +23,9 @@
#include "TextBreakIteratorInternalICU.h"
#include "Language.h"
-#include "PlatformString.h"
#include <wtf/StdLibExtras.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp b/Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp
index 11a3ef2d3..f72fb0cab 100644
--- a/Source/WebCore/platform/text/gtk/TextCheckerEnchant.cpp
+++ b/Source/WebCore/platform/text/enchant/TextCheckerEnchant.cpp
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2012 Igalia S.L.
+ * Copyright (C) 2012 Samsung Electronics
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -21,8 +22,10 @@
#if ENABLE(SPELLCHECK)
-#include <pango/pango.h>
-#include <wtf/gobject/GOwnPtr.h>
+#include <Language.h>
+#include <editing/visible_units.h>
+#include <glib.h>
+#include <text/TextBreakIterator.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringBuilder.h>
@@ -36,18 +39,6 @@ static void enchantDictDescribeCallback(const char* const languageTag, const cha
dictionaries->append(languageTag);
}
-static bool wordEndIsAContractionApostrophe(const char* string, long offset)
-{
- if (g_utf8_get_char(g_utf8_offset_to_pointer(string, offset)) != g_utf8_get_char("'"))
- return false;
-
- // If this is the last character in the string, it cannot be the apostrophe part of a contraction.
- if (offset == g_utf8_strlen(string, -1))
- return false;
-
- return g_unichar_isalpha(g_utf8_get_char(g_utf8_offset_to_pointer(string, offset + 1)));
-}
-
TextCheckerEnchant::TextCheckerEnchant()
: m_broker(enchant_broker_init())
, m_enchantDictionaries(0)
@@ -79,28 +70,25 @@ void TextCheckerEnchant::checkSpellingOfString(const String& string, int& misspe
{
if (m_enchantDictionaries.isEmpty())
return;
- Vector<EnchantDict*>::const_iterator dictIter = m_enchantDictionaries.begin();
- PangoLanguage* language(pango_language_get_default());
size_t numberOfCharacters = string.length();
- GOwnPtr<PangoLogAttr> attrs(g_new(PangoLogAttr, numberOfCharacters + 1));
+ TextBreakIterator* iter = wordBreakIterator(string.characters(), numberOfCharacters);
+ if (!iter)
+ return;
CString utf8String = string.utf8();
const char* cString = utf8String.data();
- // pango_get_log_attrs uses an aditional position at the end of the text.
- pango_get_log_attrs(cString, -1, -1, language, attrs.get(), numberOfCharacters + 1);
-
for (size_t i = 0; i < numberOfCharacters + 1; i++) {
- // We go through each character until we find an is_word_start,
- // then we get into an inner loop to find the is_word_end corresponding
+ // We go through each character until we find the beginning of the word
+ // then we get into an inner loop to find the end of the word corresponding
// to it.
- if (attrs.get()[i].is_word_start) {
+ if (isLogicalStartOfWord(iter, i)) {
int start = i;
int end = i;
int wordLength;
- while (attrs.get()[end].is_word_end < 1 || wordEndIsAContractionApostrophe(cString, end))
+ while (!islogicalEndOfWord(iter, end))
end++;
wordLength = end - start;
@@ -108,14 +96,11 @@ void TextCheckerEnchant::checkSpellingOfString(const String& string, int& misspe
// check characters twice.
i = end;
- gchar* cstart = g_utf8_offset_to_pointer(cString, start);
- gint bytes = static_cast<gint>(g_utf8_offset_to_pointer(cString, end) - cstart);
- GOwnPtr<gchar> word(g_new0(gchar, bytes + 1));
-
- g_utf8_strncpy(word.get(), cstart, wordLength);
+ char* cstart = g_utf8_offset_to_pointer(cString, start);
+ int numberOfBytes = static_cast<int>(g_utf8_offset_to_pointer(cString, end) - cstart);
- for (; dictIter != m_enchantDictionaries.end(); ++dictIter) {
- if (enchant_dict_check(*dictIter, word.get(), bytes)) {
+ for (Vector<EnchantDict*>::const_iterator dictIter = m_enchantDictionaries.begin(); dictIter != m_enchantDictionaries.end(); ++dictIter) {
+ if (enchant_dict_check(*dictIter, cstart, numberOfBytes)) {
misspellingLocation = start;
misspellingLength = wordLength;
} else {
@@ -139,7 +124,7 @@ Vector<String> TextCheckerEnchant::getGuessesForWord(const String& word)
size_t numberOfSuggestions;
size_t i;
- gchar** suggestions = enchant_dict_suggest(*iter, word.utf8().data(), -1, &numberOfSuggestions);
+ char** suggestions = enchant_dict_suggest(*iter, word.utf8().data(), -1, &numberOfSuggestions);
if (numberOfSuggestions <= 0)
continue;
@@ -168,16 +153,18 @@ void TextCheckerEnchant::updateSpellCheckingLanguages(const Vector<String>& lang
}
}
} else {
- const char* language = pango_language_to_string(pango_language_get_default());
+ // Languages are not specified by user, try to get default language.
+ CString utf8Language = defaultLanguage().utf8();
+ const char* language = utf8Language.data();
if (enchant_broker_dict_exists(m_broker, language)) {
EnchantDict* dict = enchant_broker_request_dict(m_broker, language);
spellDictionaries.append(dict);
} else {
- // No dictionaries selected, we get one from the list.
+ // No dictionaries selected, we get the first one from the list.
Vector<CString> allDictionaries;
enchant_broker_list_dicts(m_broker, enchantDictDescribeCallback, &allDictionaries);
if (!allDictionaries.isEmpty()) {
- EnchantDict* dict = enchant_broker_request_dict(m_broker, allDictionaries[0].data());
+ EnchantDict* dict = enchant_broker_request_dict(m_broker, allDictionaries.first().data());
spellDictionaries.append(dict);
}
}
diff --git a/Source/WebCore/platform/text/gtk/TextCheckerEnchant.h b/Source/WebCore/platform/text/enchant/TextCheckerEnchant.h
index 1780b454d..1780b454d 100644
--- a/Source/WebCore/platform/text/gtk/TextCheckerEnchant.h
+++ b/Source/WebCore/platform/text/enchant/TextCheckerEnchant.h
diff --git a/Source/WebCore/platform/text/gtk/TextCodecGtk.cpp b/Source/WebCore/platform/text/gtk/TextCodecGtk.cpp
index 42759edc5..a132d95b4 100644
--- a/Source/WebCore/platform/text/gtk/TextCodecGtk.cpp
+++ b/Source/WebCore/platform/text/gtk/TextCodecGtk.cpp
@@ -32,10 +32,10 @@
#include <gio/gio.h>
#include <wtf/gobject/GOwnPtr.h>
#include "Logging.h"
-#include "PlatformString.h"
#include <wtf/Assertions.h>
#include <wtf/HashMap.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
using std::min;
diff --git a/Source/WebCore/platform/text/mac/StringMac.mm b/Source/WebCore/platform/text/mac/StringMac.mm
index 7e98b2b4d..9544048b2 100644
--- a/Source/WebCore/platform/text/mac/StringMac.mm
+++ b/Source/WebCore/platform/text/mac/StringMac.mm
@@ -19,7 +19,8 @@
*/
#include "config.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
+
#include <CoreFoundation/CFString.h>
namespace WTF {
diff --git a/Source/WebCore/platform/text/mac/TextCodecMac.cpp b/Source/WebCore/platform/text/mac/TextCodecMac.cpp
index c830580c6..312412faa 100644
--- a/Source/WebCore/platform/text/mac/TextCodecMac.cpp
+++ b/Source/WebCore/platform/text/mac/TextCodecMac.cpp
@@ -28,13 +28,13 @@
#include "TextCodecMac.h"
#include "CharsetData.h"
-#include "PlatformString.h"
#include "ThreadGlobalData.h"
#include <wtf/Assertions.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RetainPtr.h>
#include <wtf/Threading.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/CharacterNames.h>
using namespace std;
diff --git a/Source/WebCore/platform/text/qt/TextCodecQt.cpp b/Source/WebCore/platform/text/qt/TextCodecQt.cpp
index a2b346a45..6a36e1a13 100644
--- a/Source/WebCore/platform/text/qt/TextCodecQt.cpp
+++ b/Source/WebCore/platform/text/qt/TextCodecQt.cpp
@@ -27,9 +27,10 @@
#include "config.h"
#if USE(QT4_UNICODE)
#include "TextCodecQt.h"
-#include "PlatformString.h"
-#include <wtf/text/CString.h>
+
#include <qset.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/win/TextCodecWin.h b/Source/WebCore/platform/text/win/TextCodecWin.h
index 15b2bc3d9..b69aba792 100644
--- a/Source/WebCore/platform/text/win/TextCodecWin.h
+++ b/Source/WebCore/platform/text/win/TextCodecWin.h
@@ -29,11 +29,11 @@
#ifndef TextCodecWin_h
#define TextCodecWin_h
-#include "PlatformString.h"
#include "TextCodec.h"
#include "TextEncoding.h"
#include <windows.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp b/Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp
index 40ba1c667..1c6c5c62d 100644
--- a/Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp
+++ b/Source/WebCore/platform/text/wince/TextBreakIteratorWinCE.cpp
@@ -22,9 +22,9 @@
#include "config.h"
#include "TextBreakIterator.h"
-#include "PlatformString.h"
#include <wtf/Atomics.h>
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Unicode.h>
using namespace WTF;
diff --git a/Source/WebCore/platform/win/BString.cpp b/Source/WebCore/platform/win/BString.cpp
index 872ab7eac..d13f01ce7 100644
--- a/Source/WebCore/platform/win/BString.cpp
+++ b/Source/WebCore/platform/win/BString.cpp
@@ -27,9 +27,9 @@
#include "BString.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <windows.h>
#include <wtf/text/AtomicString.h>
+#include <wtf/text/WTFString.h>
#if USE(CF)
#include <CoreFoundation/CoreFoundation.h>
@@ -84,14 +84,6 @@ BString::BString(const AtomicString& s)
m_bstr = SysAllocStringLen(s.characters(), s.length());
}
-BString::BString(const UString& s)
-{
- if (s.isNull())
- m_bstr = 0;
- else
- m_bstr = SysAllocStringLen(s.characters(), s.length());
-}
-
#if USE(CF)
BString::BString(CFStringRef cfstr)
: m_bstr(0)
diff --git a/Source/WebCore/platform/win/BString.h b/Source/WebCore/platform/win/BString.h
index 922d3e2fb..7373eedad 100644
--- a/Source/WebCore/platform/win/BString.h
+++ b/Source/WebCore/platform/win/BString.h
@@ -34,10 +34,6 @@ typedef const struct __CFString * CFStringRef;
typedef wchar_t* BSTR;
-namespace JSC {
- class UString;
-}
-
namespace WebCore {
class KURL;
@@ -50,7 +46,6 @@ namespace WebCore {
BString(const String&);
BString(const AtomicString&);
BString(const KURL&);
- BString(const JSC::UString&);
#if USE(CF)
BString(CFStringRef);
#endif
diff --git a/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp b/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp
index 61e3621b5..a16817927 100644
--- a/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp
+++ b/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp
@@ -299,7 +299,7 @@ void markupToCFHTML(const String& markup, const String& srcURL, Vector<char>& re
void replaceNewlinesWithWindowsStyleNewlines(String& str)
{
- DEFINE_STATIC_LOCAL(String, windowsNewline, ("\r\n"));
+ DEFINE_STATIC_LOCAL(String, windowsNewline, (ASCIILiteral("\r\n")));
StringBuilder result;
for (unsigned index = 0; index < str.length(); ++index) {
if (str[index] != '\n' || (index > 0 && str[index - 1] == '\r'))
diff --git a/Source/WebCore/platform/win/ClipboardWin.cpp b/Source/WebCore/platform/win/ClipboardWin.cpp
index d1c1386a1..af5e3a286 100644
--- a/Source/WebCore/platform/win/ClipboardWin.cpp
+++ b/Source/WebCore/platform/win/ClipboardWin.cpp
@@ -147,9 +147,7 @@ static String filesystemPathFromUrlOrTitle(const String& url, const String& titl
return String(static_cast<UChar*>(fsPathBuffer));
}
- String result(static_cast<UChar*>(fsPathBuffer));
- result += String(extension);
- return result;
+ return makeString(static_cast<const UChar*>(fsPathBuffer), extension);
#endif
}
diff --git a/Source/WebCore/platform/win/DragDataWin.cpp b/Source/WebCore/platform/win/DragDataWin.cpp
index 6a9aeaf88..9713870ef 100644
--- a/Source/WebCore/platform/win/DragDataWin.cpp
+++ b/Source/WebCore/platform/win/DragDataWin.cpp
@@ -31,7 +31,6 @@
#include "ClipboardUtilitiesWin.h"
#include "Frame.h"
#include "DocumentFragment.h"
-#include "PlatformString.h"
#include "Markup.h"
#include "TextEncoding.h"
#include <objidl.h>
@@ -41,6 +40,7 @@
#include <wtf/Hashmap.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/win/FileSystemWin.cpp b/Source/WebCore/platform/win/FileSystemWin.cpp
index ee0255e12..0ab0d7283 100644
--- a/Source/WebCore/platform/win/FileSystemWin.cpp
+++ b/Source/WebCore/platform/win/FileSystemWin.cpp
@@ -198,7 +198,7 @@ String directoryName(const String& path)
static String bundleName()
{
- static String name = "WebKit";
+ DEFINE_STATIC_LOCAL(String, name, (ASCIILiteral("WebKit")));
#if USE(CF)
static bool initialized;
@@ -224,7 +224,7 @@ static String storageDirectory(DWORD pathIdentifier)
buffer.resize(wcslen(buffer.data()));
String directory = String::adopt(buffer);
- static const String companyNameDirectory = "Apple Computer\\";
+ DEFINE_STATIC_LOCAL(String, companyNameDirectory, (ASCIILiteral("Apple Computer\\")));
directory = pathByAppendingComponent(directory, companyNameDirectory + bundleName());
if (!makeAllDirectories(directory))
return String();
diff --git a/Source/WebCore/platform/win/GDIObjectCounter.h b/Source/WebCore/platform/win/GDIObjectCounter.h
index 9b9bd1223..ea628c22d 100644
--- a/Source/WebCore/platform/win/GDIObjectCounter.h
+++ b/Source/WebCore/platform/win/GDIObjectCounter.h
@@ -37,7 +37,7 @@
#ifndef NDEBUG
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/win/LoggingWin.cpp b/Source/WebCore/platform/win/LoggingWin.cpp
index 6d353ed92..280a23f4b 100644
--- a/Source/WebCore/platform/win/LoggingWin.cpp
+++ b/Source/WebCore/platform/win/LoggingWin.cpp
@@ -28,9 +28,9 @@
#if !LOG_DISABLED
-#include "PlatformString.h"
#include <windows.h>
#include <wtf/OwnArrayPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/win/WCDataObject.cpp b/Source/WebCore/platform/win/WCDataObject.cpp
index 0c03ce00f..c5aaefc7c 100644
--- a/Source/WebCore/platform/win/WCDataObject.cpp
+++ b/Source/WebCore/platform/win/WCDataObject.cpp
@@ -28,7 +28,7 @@
#include "ClipboardUtilitiesWin.h"
#include "DragData.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/wince/DragDataWinCE.cpp b/Source/WebCore/platform/wince/DragDataWinCE.cpp
index cc5f7a7aa..3c7a13580 100644
--- a/Source/WebCore/platform/wince/DragDataWinCE.cpp
+++ b/Source/WebCore/platform/wince/DragDataWinCE.cpp
@@ -22,7 +22,6 @@
#include "DragData.h"
#include "DocumentFragment.h"
-#include "PlatformString.h"
#include "Range.h"
namespace WebCore {
diff --git a/Source/WebCore/platform/wx/ClipboardWx.cpp b/Source/WebCore/platform/wx/ClipboardWx.cpp
index 990662177..f6f244fed 100644
--- a/Source/WebCore/platform/wx/ClipboardWx.cpp
+++ b/Source/WebCore/platform/wx/ClipboardWx.cpp
@@ -33,9 +33,8 @@
#include "IntPoint.h"
#include "NotImplemented.h"
#include "Pasteboard.h"
-#include "PlatformString.h"
#include <wtf/text/StringHash.h>
-
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/wx/FileSystemWx.cpp b/Source/WebCore/platform/wx/FileSystemWx.cpp
index d3f7b18fc..2cb469299 100644
--- a/Source/WebCore/platform/wx/FileSystemWx.cpp
+++ b/Source/WebCore/platform/wx/FileSystemWx.cpp
@@ -40,8 +40,8 @@
#include <wx/filename.h>
#include "NotImplemented.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if OS(DARWIN)
#include <CoreFoundation/CoreFoundation.h>
diff --git a/Source/WebCore/platform/wx/LanguageWx.cpp b/Source/WebCore/platform/wx/LanguageWx.cpp
index d66b29974..96f3f39ee 100644
--- a/Source/WebCore/platform/wx/LanguageWx.cpp
+++ b/Source/WebCore/platform/wx/LanguageWx.cpp
@@ -27,7 +27,7 @@
#include "Language.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/wx/LocalizedStringsWx.cpp b/Source/WebCore/platform/wx/LocalizedStringsWx.cpp
index fa959314d..b5c216987 100644
--- a/Source/WebCore/platform/wx/LocalizedStringsWx.cpp
+++ b/Source/WebCore/platform/wx/LocalizedStringsWx.cpp
@@ -28,7 +28,7 @@
#include "LocalizedStrings.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/platform/wx/LoggingWx.cpp b/Source/WebCore/platform/wx/LoggingWx.cpp
index 86a47ac16..08aaba868 100644
--- a/Source/WebCore/platform/wx/LoggingWx.cpp
+++ b/Source/WebCore/platform/wx/LoggingWx.cpp
@@ -28,9 +28,9 @@
#if !LOG_DISABLED
-#include "PlatformString.h"
#include <wtf/Vector.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include <wx/defs.h>
#include <wx/utils.h>
diff --git a/Source/WebCore/platform/wx/PasteboardWx.cpp b/Source/WebCore/platform/wx/PasteboardWx.cpp
index c45d1fc42..9696fd50a 100644
--- a/Source/WebCore/platform/wx/PasteboardWx.cpp
+++ b/Source/WebCore/platform/wx/PasteboardWx.cpp
@@ -32,7 +32,7 @@
#include "KURL.h"
#include "markup.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <wx/defs.h>
#include <wx/dataobj.h>
diff --git a/Source/WebCore/platform/wx/PopupMenuWx.cpp b/Source/WebCore/platform/wx/PopupMenuWx.cpp
index 514e19c54..f7a6324df 100644
--- a/Source/WebCore/platform/wx/PopupMenuWx.cpp
+++ b/Source/WebCore/platform/wx/PopupMenuWx.cpp
@@ -28,7 +28,7 @@
#include "FrameView.h"
#include "HostWindow.h"
#include "PopupMenuClient.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <wx/defs.h>
#if __WXMSW__
diff --git a/Source/WebCore/plugins/PluginData.h b/Source/WebCore/plugins/PluginData.h
index fdcce6126..d1ffc39e3 100644
--- a/Source/WebCore/plugins/PluginData.h
+++ b/Source/WebCore/plugins/PluginData.h
@@ -22,7 +22,7 @@
#include <wtf/RefCounted.h>
#include <wtf/Vector.h>
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/plugins/PluginDatabase.cpp b/Source/WebCore/plugins/PluginDatabase.cpp
index e021bad0e..961c45485 100644
--- a/Source/WebCore/plugins/PluginDatabase.cpp
+++ b/Source/WebCore/plugins/PluginDatabase.cpp
@@ -36,6 +36,10 @@
#include <stdlib.h>
#include <wtf/text/CString.h>
+#if PLATFORM(BLACKBERRY)
+#include <BlackBerryPlatformSettings.h>
+#endif
+
namespace WebCore {
typedef HashMap<String, RefPtr<PluginPackage> > PluginPackageByNameMap;
@@ -429,7 +433,7 @@ bool PluginDatabase::isPreferredPluginDirectory(const String& path)
String preferredPath = homeDirectoryPath();
#if PLATFORM(BLACKBERRY)
- preferredPath = BlackBerry::Platform::Client::get()->getApplicationPluginDirectory().c_str();
+ preferredPath = BlackBerry::Platform::Settings::instance()->applicationPluginDirectory().c_str();
#elif defined(XP_UNIX)
preferredPath.append(String("/.mozilla/plugins"));
#elif defined(XP_MACOSX)
diff --git a/Source/WebCore/plugins/PluginDatabase.h b/Source/WebCore/plugins/PluginDatabase.h
index c412c0966..55980d1de 100644
--- a/Source/WebCore/plugins/PluginDatabase.h
+++ b/Source/WebCore/plugins/PluginDatabase.h
@@ -28,11 +28,11 @@
#ifndef PluginDatabase_h
#define PluginDatabase_h
-#include "PlatformString.h"
#include "PluginPackage.h"
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Element;
diff --git a/Source/WebCore/plugins/PluginDebug.cpp b/Source/WebCore/plugins/PluginDebug.cpp
index 8c3efcb5e..8ab935bfa 100644
--- a/Source/WebCore/plugins/PluginDebug.cpp
+++ b/Source/WebCore/plugins/PluginDebug.cpp
@@ -26,7 +26,8 @@
#include "config.h"
#include "PluginDebug.h"
-#include "PlatformString.h"
+
+#include <wtf/text/WTFString.h>
#if !LOG_DISABLED
diff --git a/Source/WebCore/plugins/PluginPackage.h b/Source/WebCore/plugins/PluginPackage.h
index 2c3734ad6..01fa565f8 100644
--- a/Source/WebCore/plugins/PluginPackage.h
+++ b/Source/WebCore/plugins/PluginPackage.h
@@ -28,13 +28,13 @@
#define PluginPackage_h
#include "FileSystem.h"
-#include "PlatformString.h"
#include "PluginQuirkSet.h"
#include "Timer.h"
#include "npruntime_internal.h"
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
typedef HashMap<String, String> MIMEToDescriptionsMap;
diff --git a/Source/WebCore/plugins/PluginStream.cpp b/Source/WebCore/plugins/PluginStream.cpp
index 002380f5f..085a318b4 100644
--- a/Source/WebCore/plugins/PluginStream.cpp
+++ b/Source/WebCore/plugins/PluginStream.cpp
@@ -140,7 +140,7 @@ void PluginStream::startStream()
if (m_resourceResponse.isHTTP()) {
StringBuilder stringBuilder;
- String separator(": ");
+ String separator = ASCIILiteral(": ");
String statusLine = "HTTP " + String::number(m_resourceResponse.httpStatusCode()) + " OK\n";
stringBuilder.append(statusLine);
diff --git a/Source/WebCore/plugins/PluginStream.h b/Source/WebCore/plugins/PluginStream.h
index 9bc10c8f5..55d1702bf 100644
--- a/Source/WebCore/plugins/PluginStream.h
+++ b/Source/WebCore/plugins/PluginStream.h
@@ -30,7 +30,6 @@
#include "FileSystem.h"
#include "KURL.h"
#include "NetscapePlugInStreamLoader.h"
-#include "PlatformString.h"
#include "PluginQuirkSet.h"
#include "ResourceRequest.h"
#include "ResourceResponse.h"
@@ -42,6 +41,7 @@
#include <wtf/Vector.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Frame;
diff --git a/Source/WebCore/plugins/PluginView.cpp b/Source/WebCore/plugins/PluginView.cpp
index 0d6857f25..9672e91f6 100644
--- a/Source/WebCore/plugins/PluginView.cpp
+++ b/Source/WebCore/plugins/PluginView.cpp
@@ -64,6 +64,7 @@
#include "Settings.h"
#include "npruntime_impl.h"
#include <wtf/ASCIICType.h>
+#include <wtf/text/WTFString.h>
#if OS(WINDOWS) && ENABLE(NETSCAPE_PLUGIN_API)
#include "PluginMessageThrottlerWin.h"
@@ -81,7 +82,6 @@ using JSC::ExecState;
using JSC::JSLock;
using JSC::JSObject;
using JSC::JSValue;
-using JSC::UString;
#endif
#if ENABLE(NETSCAPE_PLUGIN_API)
@@ -1133,12 +1133,8 @@ static inline HTTPHeaderMap parseRFC822HeaderFields(const Vector<char>& buffer,
value = String(colon, eol - colon);
String oldValue = headerFields.get(lastKey);
- if (!oldValue.isNull()) {
- String tmp = oldValue;
- tmp += ", ";
- tmp += value;
- value = tmp;
- }
+ if (!oldValue.isNull())
+ value = oldValue + ", " + value;
headerFields.set(lastKey, value);
}
diff --git a/Source/WebCore/plugins/PluginViewNone.cpp b/Source/WebCore/plugins/PluginViewNone.cpp
index e3b134a3b..93cc6cfb5 100644
--- a/Source/WebCore/plugins/PluginViewNone.cpp
+++ b/Source/WebCore/plugins/PluginViewNone.cpp
@@ -29,7 +29,6 @@
#if USE(JSC)
#include "BridgeJSC.h"
#include <runtime/JSObject.h>
-#include <runtime/ScopeChain.h>
#endif
using namespace WTF;
diff --git a/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp b/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
index 2cc96d5e2..f5478f08c 100644
--- a/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
+++ b/Source/WebCore/plugins/blackberry/PluginViewBlackBerry.cpp
@@ -90,7 +90,6 @@ using JSC::ExecState;
using JSC::Interpreter;
using JSC::JSLock;
using JSC::JSObject;
-using JSC::UString;
using namespace std;
using namespace WTF;
diff --git a/Source/WebCore/plugins/gtk/PluginViewGtk.cpp b/Source/WebCore/plugins/gtk/PluginViewGtk.cpp
index 6844eecc5..62f9f8d84 100644
--- a/Source/WebCore/plugins/gtk/PluginViewGtk.cpp
+++ b/Source/WebCore/plugins/gtk/PluginViewGtk.cpp
@@ -83,7 +83,6 @@ using JSC::ExecState;
using JSC::Interpreter;
using JSC::JSLock;
using JSC::JSObject;
-using JSC::UString;
using std::min;
diff --git a/Source/WebCore/plugins/mac/PluginViewMac.mm b/Source/WebCore/plugins/mac/PluginViewMac.mm
index 785a74df0..42ba6a645 100644
--- a/Source/WebCore/plugins/mac/PluginViewMac.mm
+++ b/Source/WebCore/plugins/mac/PluginViewMac.mm
@@ -70,7 +70,6 @@ using JSC::Interpreter;
using JSC::JSLock;
using JSC::JSObject;
using JSC::JSValue;
-using JSC::UString;
#if PLATFORM(QT)
#include <QWidget>
diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
index 04d710ea2..9bc02275a 100644
--- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
@@ -90,7 +90,6 @@ using JSC::Interpreter;
#endif
using JSC::JSLock;
using JSC::JSObject;
-using JSC::UString;
using std::min;
diff --git a/Source/WebCore/plugins/win/PluginViewWin.cpp b/Source/WebCore/plugins/win/PluginViewWin.cpp
index 142fa8305..05ff30ba4 100644
--- a/Source/WebCore/plugins/win/PluginViewWin.cpp
+++ b/Source/WebCore/plugins/win/PluginViewWin.cpp
@@ -69,6 +69,7 @@
#include <runtime/JSLock.h>
#include <runtime/JSValue.h>
#include <wtf/ASCIICType.h>
+#include <wtf/text/WTFString.h>
#if !PLATFORM(WX)
#include "BitmapInfo.h"
@@ -127,7 +128,6 @@ static inline HWND windowHandleForPageClient(PlatformPageClient client)
using JSC::ExecState;
using JSC::JSLock;
using JSC::JSObject;
-using JSC::UString;
using std::min;
diff --git a/Source/WebCore/rendering/ColumnInfo.h b/Source/WebCore/rendering/ColumnInfo.h
index 553564c53..dc2584d8e 100644
--- a/Source/WebCore/rendering/ColumnInfo.h
+++ b/Source/WebCore/rendering/ColumnInfo.h
@@ -26,7 +26,7 @@
#ifndef ColumnInfo_h
#define ColumnInfo_h
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include <wtf/Vector.h>
namespace WebCore {
diff --git a/Source/WebCore/rendering/EllipsisBox.cpp b/Source/WebCore/rendering/EllipsisBox.cpp
index c25673d93..902df2b0a 100644
--- a/Source/WebCore/rendering/EllipsisBox.cpp
+++ b/Source/WebCore/rendering/EllipsisBox.cpp
@@ -121,7 +121,7 @@ void EllipsisBox::paintSelection(GraphicsContext* context, const LayoutPoint& pa
context->drawHighlightForText(font, RenderBlock::constructTextRun(renderer(), font, m_str, style, TextRun::AllowTrailingExpansion), roundedIntPoint(LayoutPoint(x() + paintOffset.x(), y() + paintOffset.y() + top)), h, c, style->colorSpace());
}
-bool EllipsisBox::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint&, const LayoutPoint&, LayoutUnit, LayoutUnit)
+bool EllipsisBox::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, LayoutUnit, LayoutUnit)
{
return false;
}
diff --git a/Source/WebCore/rendering/EllipsisBox.h b/Source/WebCore/rendering/EllipsisBox.h
index c759a397e..699767847 100644
--- a/Source/WebCore/rendering/EllipsisBox.h
+++ b/Source/WebCore/rendering/EllipsisBox.h
@@ -40,7 +40,7 @@ public:
}
virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
void setSelectionState(RenderObject::SelectionState s) { m_selectionState = s; }
IntRect selectionRect();
diff --git a/Source/WebCore/rendering/FilterEffectRenderer.cpp b/Source/WebCore/rendering/FilterEffectRenderer.cpp
index 6d411995d..78ed248ff 100644
--- a/Source/WebCore/rendering/FilterEffectRenderer.cpp
+++ b/Source/WebCore/rendering/FilterEffectRenderer.cpp
@@ -29,6 +29,7 @@
#include "FilterEffectRenderer.h"
+#include "ColorSpace.h"
#include "Document.h"
#include "FEColorMatrix.h"
#include "FEComponentTransfer.h"
@@ -45,6 +46,7 @@
#include "CustomFilterGlobalContext.h"
#include "CustomFilterProgram.h"
#include "CustomFilterOperation.h"
+#include "CustomFilterValidatedProgram.h"
#include "FECustomFilter.h"
#include "RenderView.h"
#include "Settings.h"
@@ -89,6 +91,26 @@ static bool isCSSCustomFilterEnabled(Document* document)
Settings* settings = document->settings();
return settings && settings->isCSSCustomFilterEnabled() && settings->webGLEnabled();
}
+
+static PassRefPtr<FECustomFilter> createCustomFilterEffect(Filter* filter, Document* document, CustomFilterOperation* operation)
+{
+ if (!isCSSCustomFilterEnabled(document))
+ return 0;
+
+ RefPtr<CustomFilterProgram> program = operation->program();
+ if (!program->isLoaded())
+ return 0;
+
+ CustomFilterGlobalContext* globalContext = document->renderView()->customFilterGlobalContext();
+ globalContext->prepareContextIfNeeded(document->view()->hostWindow());
+ RefPtr<CustomFilterValidatedProgram> validatedProgram = globalContext->getValidatedProgram(program->programInfo());
+ if (!validatedProgram->isInitialized())
+ return 0;
+
+ return FECustomFilter::create(filter, globalContext, validatedProgram, operation->parameters(),
+ operation->meshRows(), operation->meshColumns(),
+ operation->meshBoxType(), operation->meshType());
+}
#endif
FilterEffectRenderer::FilterEffectRenderer()
@@ -322,23 +344,12 @@ bool FilterEffectRenderer::build(Document* document, const FilterOperations& ope
dropShadowOperation->x(), dropShadowOperation->y(), dropShadowOperation->color(), 1);
break;
}
-#if ENABLE(CSS_SHADERS)
+#if ENABLE(CSS_SHADERS) && ENABLE(WEBGL)
case FilterOperation::CUSTOM: {
-#if ENABLE(WEBGL)
- if (!isCSSCustomFilterEnabled(document))
- continue;
-
CustomFilterOperation* customFilterOperation = static_cast<CustomFilterOperation*>(filterOperation);
- RefPtr<CustomFilterProgram> program = customFilterOperation->program();
- if (program->isLoaded()) {
- CustomFilterGlobalContext* globalContext = document->renderView()->customFilterGlobalContext();
- globalContext->prepareContextIfNeeded(document->view()->hostWindow());
- effect = FECustomFilter::create(this, globalContext, program, customFilterOperation->parameters(),
- customFilterOperation->meshRows(), customFilterOperation->meshColumns(),
- customFilterOperation->meshBoxType(), customFilterOperation->meshType());
+ effect = createCustomFilterEffect(this, document, customFilterOperation);
+ if (effect)
m_hasCustomShaderFilter = true;
- }
-#endif
break;
}
#endif
@@ -349,6 +360,7 @@ bool FilterEffectRenderer::build(Document* document, const FilterOperations& ope
if (effect) {
// Unlike SVG, filters applied here should not clip to their primitive subregions.
effect->setClipsToBounds(false);
+ effect->setColorSpace(ColorSpaceDeviceRGB);
if (filterOperation->getOperationType() != FilterOperation::REFERENCE) {
effect->inputEffects().append(previousEffect);
diff --git a/Source/WebCore/rendering/FilterEffectRenderer.h b/Source/WebCore/rendering/FilterEffectRenderer.h
index 0db987b3c..bc53cdc14 100644
--- a/Source/WebCore/rendering/FilterEffectRenderer.h
+++ b/Source/WebCore/rendering/FilterEffectRenderer.h
@@ -32,8 +32,10 @@
#include "FilterEffect.h"
#include "FilterOperations.h"
#include "FloatRect.h"
+#include "FractionalLayoutRect.h"
#include "GraphicsContext.h"
#include "ImageBuffer.h"
+#include "LayoutTypesInlineMethods.h"
#include "SVGFilterBuilder.h"
#include "SourceGraphic.h"
@@ -111,7 +113,7 @@ public:
bool hasFilterThatMovesPixels() const { return m_hasFilterThatMovesPixels; }
LayoutRect computeSourceImageRectForDirtyRect(const LayoutRect& filterBoxRect, const LayoutRect& dirtyRect);
-#if ENABLE(CSS_SHADERS)
+#if ENABLE(CSS_SHADERS) && ENABLE(WEBGL)
bool hasCustomShaderFilter() const { return m_hasCustomShaderFilter; }
#endif
private:
diff --git a/Source/WebCore/rendering/FlowThreadController.cpp b/Source/WebCore/rendering/FlowThreadController.cpp
index 476c924b8..9edd0aa7e 100644
--- a/Source/WebCore/rendering/FlowThreadController.cpp
+++ b/Source/WebCore/rendering/FlowThreadController.cpp
@@ -31,12 +31,11 @@
#include "FlowThreadController.h"
+#include "NamedFlowCollection.h"
#include "RenderFlowThread.h"
-#include "RenderFlowThreadContainer.h"
#include "RenderNamedFlowThread.h"
#include "StyleInheritedData.h"
#include "WebKitNamedFlow.h"
-#include "WebKitNamedFlowCollection.h"
#include <wtf/text/AtomicString.h>
namespace WebCore {
@@ -49,7 +48,6 @@ PassOwnPtr<FlowThreadController> FlowThreadController::create(RenderView* view)
FlowThreadController::FlowThreadController(RenderView* view)
: m_view(view)
, m_currentRenderFlowThread(0)
- , m_flowThreadContainer(0)
, m_isRenderNamedFlowThreadOrderDirty(false)
{
}
@@ -60,11 +58,6 @@ FlowThreadController::~FlowThreadController()
RenderNamedFlowThread* FlowThreadController::ensureRenderFlowThreadWithName(const AtomicString& name)
{
- if (!m_flowThreadContainer) {
- m_flowThreadContainer = new (m_view->renderArena()) RenderFlowThreadContainer(m_view->document());
- m_flowThreadContainer->setStyle(RenderFlowThread::createFlowThreadStyle(m_view->style()));
- m_view->addChild(m_flowThreadContainer);
- }
if (!m_renderNamedFlowThreadList)
m_renderNamedFlowThreadList = adoptPtr(new RenderNamedFlowThreadList());
else {
@@ -75,7 +68,7 @@ RenderNamedFlowThread* FlowThreadController::ensureRenderFlowThreadWithName(cons
}
}
- WebKitNamedFlowCollection* namedFlows = m_view->document()->namedFlows();
+ NamedFlowCollection* namedFlows = m_view->document()->namedFlows();
// Sanity check for the absence of a named flow in the "CREATED" state with the same name.
ASSERT(!namedFlows->flowByName(name));
@@ -84,8 +77,8 @@ RenderNamedFlowThread* FlowThreadController::ensureRenderFlowThreadWithName(cons
flowRenderer->setStyle(RenderFlowThread::createFlowThreadStyle(m_view->style()));
m_renderNamedFlowThreadList->add(flowRenderer);
- // Keep the flow renderer as a child of RenderFlowThreadContainer.
- m_flowThreadContainer->addChild(flowRenderer);
+ // Keep the flow renderer as a child of RenderView.
+ m_view->addChild(flowRenderer);
setIsRenderNamedFlowThreadOrderDirty(true);
@@ -105,6 +98,23 @@ void FlowThreadController::layoutRenderNamedFlowThreads()
{
ASSERT(m_renderNamedFlowThreadList);
+ // Remove the left-over flow threads.
+ RenderNamedFlowThreadList toRemoveList;
+ for (RenderNamedFlowThreadList::iterator iter = m_renderNamedFlowThreadList->begin(); iter != m_renderNamedFlowThreadList->end(); ++iter) {
+ RenderNamedFlowThread* flowRenderer = *iter;
+ if (flowRenderer->isMarkedForDestruction())
+ toRemoveList.add(flowRenderer);
+ }
+
+ if (toRemoveList.size() > 0)
+ setIsRenderNamedFlowThreadOrderDirty(true);
+
+ for (RenderNamedFlowThreadList::iterator iter = toRemoveList.begin(); iter != toRemoveList.end(); ++iter) {
+ RenderNamedFlowThread* flowRenderer = *iter;
+ m_renderNamedFlowThreadList->remove(flowRenderer);
+ flowRenderer->destroy();
+ }
+
if (isRenderNamedFlowThreadOrderDirty()) {
// Arrange the thread list according to dependencies.
RenderNamedFlowThreadList sortedList;
@@ -146,10 +156,4 @@ void FlowThreadController::unregisterNamedFlowContentNode(Node* contentNode)
m_mapNamedFlowContentNodes.remove(contentNode);
}
-void FlowThreadController::removeFlowThread(RenderNamedFlowThread* flowThread)
-{
- m_renderNamedFlowThreadList->remove(flowThread);
- setIsRenderNamedFlowThreadOrderDirty(true);
-}
-
} // namespace WebCore
diff --git a/Source/WebCore/rendering/FlowThreadController.h b/Source/WebCore/rendering/FlowThreadController.h
index 58edb2cf1..0aef61130 100644
--- a/Source/WebCore/rendering/FlowThreadController.h
+++ b/Source/WebCore/rendering/FlowThreadController.h
@@ -37,7 +37,6 @@
namespace WebCore {
class RenderFlowThread;
-class RenderFlowThreadContainer;
class RenderNamedFlowThread;
typedef ListHashSet<RenderNamedFlowThread*> RenderNamedFlowThreadList;
@@ -66,7 +65,6 @@ public:
void registerNamedFlowContentNode(Node*, RenderNamedFlowThread*);
void unregisterNamedFlowContentNode(Node*);
- void removeFlowThread(RenderNamedFlowThread*);
protected:
FlowThreadController(RenderView*);
@@ -74,7 +72,6 @@ protected:
private:
RenderView* m_view;
RenderFlowThread* m_currentRenderFlowThread;
- RenderFlowThreadContainer* m_flowThreadContainer;
bool m_isRenderNamedFlowThreadOrderDirty;
OwnPtr<RenderNamedFlowThreadList> m_renderNamedFlowThreadList;
// maps a content node to its render flow thread.
diff --git a/Source/WebCore/rendering/HitTestRequest.h b/Source/WebCore/rendering/HitTestRequest.h
index e6a5231bb..1900900f1 100644
--- a/Source/WebCore/rendering/HitTestRequest.h
+++ b/Source/WebCore/rendering/HitTestRequest.h
@@ -34,7 +34,12 @@ public:
Release = 1 << 4,
IgnoreClipping = 1 << 5,
SVGClipContent = 1 << 6,
- TouchEvent = 1 << 7
+ TouchEvent = 1 << 7,
+ AllowShadowContent = 1 << 8,
+ AllowChildFrameContent = 1 << 9,
+ // FIXME: Get rid of the two options below if possible.
+ ChildFrameHitTest = 1 << 10,
+ TestChildFrameScrollBars = 1 << 11
};
typedef unsigned HitTestRequestType;
@@ -52,6 +57,10 @@ public:
bool svgClipContent() const { return m_requestType & SVGClipContent; }
bool touchEvent() const { return m_requestType & TouchEvent; }
bool mouseEvent() const { return !touchEvent(); }
+ bool allowsShadowContent() const { return m_requestType & AllowShadowContent; }
+ bool allowsChildFrameContent() const { return m_requestType & AllowChildFrameContent; }
+ bool isChildFrameHitTest() const { return m_requestType & ChildFrameHitTest; }
+ bool shouldTestChildFrameScrollBars() const { return m_requestType & TestChildFrameScrollBars; }
// Convenience functions
bool touchMove() const { return move() && touchEvent(); }
diff --git a/Source/WebCore/rendering/HitTestResult.cpp b/Source/WebCore/rendering/HitTestResult.cpp
index 0745763d1..8063c812e 100644
--- a/Source/WebCore/rendering/HitTestResult.cpp
+++ b/Source/WebCore/rendering/HitTestResult.cpp
@@ -48,14 +48,14 @@ namespace WebCore {
using namespace HTMLNames;
-HitTestPoint::HitTestPoint()
+HitTestLocation::HitTestLocation()
: m_region(0)
, m_isRectBased(false)
, m_isRectilinear(true)
{
}
-HitTestPoint::HitTestPoint(const LayoutPoint& point)
+HitTestLocation::HitTestLocation(const LayoutPoint& point)
: m_point(point)
, m_boundingBox(rectForPoint(point, 0, 0, 0, 0))
, m_transformedPoint(point)
@@ -66,7 +66,7 @@ HitTestPoint::HitTestPoint(const LayoutPoint& point)
{
}
-HitTestPoint::HitTestPoint(const FloatPoint& point)
+HitTestLocation::HitTestLocation(const FloatPoint& point)
: m_point(flooredLayoutPoint(point))
, m_boundingBox(rectForPoint(m_point, 0, 0, 0, 0))
, m_transformedPoint(point)
@@ -77,7 +77,7 @@ HitTestPoint::HitTestPoint(const FloatPoint& point)
{
}
-HitTestPoint::HitTestPoint(const FloatPoint& point, const FloatQuad& quad)
+HitTestLocation::HitTestLocation(const FloatPoint& point, const FloatQuad& quad)
: m_transformedPoint(point)
, m_transformedRect(quad)
, m_region(0)
@@ -88,7 +88,7 @@ HitTestPoint::HitTestPoint(const FloatPoint& point, const FloatQuad& quad)
m_isRectilinear = quad.isRectilinear();
}
-HitTestPoint::HitTestPoint(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
+HitTestLocation::HitTestLocation(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
: m_point(centerPoint)
, m_boundingBox(rectForPoint(centerPoint, topPadding, rightPadding, bottomPadding, leftPadding))
, m_transformedPoint(centerPoint)
@@ -99,19 +99,19 @@ HitTestPoint::HitTestPoint(const LayoutPoint& centerPoint, unsigned topPadding,
m_transformedRect = FloatQuad(m_boundingBox);
}
-HitTestPoint::HitTestPoint(const HitTestPoint& other, const LayoutSize& offset, RenderRegion* region)
+HitTestLocation::HitTestLocation(const HitTestLocation& other, const LayoutSize& offset, RenderRegion* region)
: m_point(other.m_point)
, m_boundingBox(other.m_boundingBox)
, m_transformedPoint(other.m_transformedPoint)
, m_transformedRect(other.m_transformedRect)
- , m_region(region)
+ , m_region(region ? region : other.m_region)
, m_isRectBased(other.m_isRectBased)
, m_isRectilinear(other.m_isRectilinear)
{
move(offset);
}
-HitTestPoint::HitTestPoint(const HitTestPoint& other)
+HitTestLocation::HitTestLocation(const HitTestLocation& other)
: m_point(other.m_point)
, m_boundingBox(other.m_boundingBox)
, m_transformedPoint(other.m_transformedPoint)
@@ -122,11 +122,11 @@ HitTestPoint::HitTestPoint(const HitTestPoint& other)
{
}
-HitTestPoint::~HitTestPoint()
+HitTestLocation::~HitTestLocation()
{
}
-HitTestPoint& HitTestPoint::operator=(const HitTestPoint& other)
+HitTestLocation& HitTestLocation::operator=(const HitTestLocation& other)
{
m_point = other.m_point;
m_boundingBox = other.m_boundingBox;
@@ -139,7 +139,7 @@ HitTestPoint& HitTestPoint::operator=(const HitTestPoint& other)
return *this;
}
-void HitTestPoint::move(const LayoutSize& offset)
+void HitTestLocation::move(const LayoutSize& offset)
{
m_point.move(offset);
m_transformedPoint.move(offset);
@@ -148,7 +148,7 @@ void HitTestPoint::move(const LayoutSize& offset)
}
template<typename RectType>
-bool HitTestPoint::intersectsRect(const RectType& rect) const
+bool HitTestLocation::intersectsRect(const RectType& rect) const
{
// FIXME: When the hit test is not rect based we should use rect.contains(m_point).
// That does change some corner case tests though.
@@ -169,17 +169,17 @@ bool HitTestPoint::intersectsRect(const RectType& rect) const
return m_transformedRect.intersectsRect(rect);
}
-bool HitTestPoint::intersects(const LayoutRect& rect) const
+bool HitTestLocation::intersects(const LayoutRect& rect) const
{
return intersectsRect(rect);
}
-bool HitTestPoint::intersects(const FloatRect& rect) const
+bool HitTestLocation::intersects(const FloatRect& rect) const
{
return intersectsRect(rect);
}
-IntRect HitTestPoint::rectForPoint(const LayoutPoint& point, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
+IntRect HitTestLocation::rectForPoint(const LayoutPoint& point, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
{
IntPoint actualPoint(flooredIntPoint(point));
actualPoint -= IntSize(leftPadding, topPadding);
@@ -192,41 +192,36 @@ IntRect HitTestPoint::rectForPoint(const LayoutPoint& point, unsigned topPadding
return IntRect(actualPoint, actualPadding);
}
-HitTestResult::HitTestResult() : HitTestPoint()
+HitTestResult::HitTestResult() : HitTestLocation()
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(DoNotAllowShadowContent)
{
}
-HitTestResult::HitTestResult(const LayoutPoint& point) : HitTestPoint(point)
+HitTestResult::HitTestResult(const LayoutPoint& point) : HitTestLocation(point)
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(DoNotAllowShadowContent)
{
}
-HitTestResult::HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, ShadowContentFilterPolicy allowShadowContent)
- : HitTestPoint(centerPoint, topPadding, rightPadding, bottomPadding, leftPadding)
+HitTestResult::HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding)
+ : HitTestLocation(centerPoint, topPadding, rightPadding, bottomPadding, leftPadding)
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(allowShadowContent)
{
}
-HitTestResult::HitTestResult(const HitTestPoint& other, ShadowContentFilterPolicy allowShadowContent)
- : HitTestPoint(other)
+HitTestResult::HitTestResult(const HitTestLocation& other)
+ : HitTestLocation(other)
, m_isOverWidget(false)
- , m_shadowContentFilterPolicy(allowShadowContent)
{
}
HitTestResult::HitTestResult(const HitTestResult& other)
- : HitTestPoint(other)
+ : HitTestLocation(other)
, m_innerNode(other.innerNode())
, m_innerNonSharedNode(other.innerNonSharedNode())
, m_localPoint(other.localPoint())
, m_innerURLElement(other.URLElement())
, m_scrollbar(other.scrollbar())
, m_isOverWidget(other.isOverWidget())
- , m_shadowContentFilterPolicy(other.shadowContentFilterPolicy())
{
// Only copy the NodeSet in case of rect hit test.
m_rectBasedTestResult = adoptPtr(other.m_rectBasedTestResult ? new NodeSet(*other.m_rectBasedTestResult) : 0);
@@ -238,7 +233,7 @@ HitTestResult::~HitTestResult()
HitTestResult& HitTestResult::operator=(const HitTestResult& other)
{
- HitTestPoint::operator=(other);
+ HitTestLocation::operator=(other);
m_innerNode = other.innerNode();
m_innerNonSharedNode = other.innerNonSharedNode();
m_localPoint = other.localPoint();
@@ -248,7 +243,6 @@ HitTestResult& HitTestResult::operator=(const HitTestResult& other)
// Only copy the NodeSet in case of rect hit test.
m_rectBasedTestResult = adoptPtr(other.m_rectBasedTestResult ? new NodeSet(*other.m_rectBasedTestResult) : 0);
- m_shadowContentFilterPolicy = other.shadowContentFilterPolicy();
return *this;
}
@@ -674,7 +668,7 @@ bool HitTestResult::isContentEditable() const
return m_innerNonSharedNode->rendererIsEditable();
}
-bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestPoint& pointInContainer, const LayoutRect& rect)
+bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestRequest& request, const HitTestLocation& locationInContainer, const LayoutRect& rect)
{
// If it is not a rect-based hit test, this method has to be no-op.
// Return false, so the hit test stops.
@@ -685,12 +679,12 @@ bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestPoint&
if (!node)
return true;
- if (m_shadowContentFilterPolicy == DoNotAllowShadowContent)
+ if (!request.allowsShadowContent())
node = node->shadowAncestorNode();
mutableRectBasedTestResult().add(node);
- bool regionFilled = rect.contains(pointInContainer.boundingBox());
+ bool regionFilled = rect.contains(locationInContainer.boundingBox());
// FIXME: This code (incorrectly) attempts to correct for culled inline nodes. See https://bugs.webkit.org/show_bug.cgi?id=85849.
if (node->renderer()->isInline() && !regionFilled) {
for (RenderObject* curr = node->renderer()->parent(); curr; curr = curr->parent()) {
@@ -709,7 +703,7 @@ bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestPoint&
return !regionFilled;
}
-bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestPoint& pointInContainer, const FloatRect& rect)
+bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestRequest& request, const HitTestLocation& locationInContainer, const FloatRect& rect)
{
// If it is not a rect-based hit test, this method has to be no-op.
// Return false, so the hit test stops.
@@ -720,12 +714,12 @@ bool HitTestResult::addNodeToRectBasedTestResult(Node* node, const HitTestPoint&
if (!node)
return true;
- if (m_shadowContentFilterPolicy == DoNotAllowShadowContent)
+ if (!request.allowsShadowContent())
node = node->shadowAncestorNode();
mutableRectBasedTestResult().add(node);
- bool regionFilled = rect.contains(pointInContainer.boundingBox());
+ bool regionFilled = rect.contains(locationInContainer.boundingBox());
// FIXME: This code (incorrectly) attempts to correct for culled inline nodes. See https://bugs.webkit.org/show_bug.cgi?id=85849.
if (node->renderer()->isInline() && !regionFilled) {
for (RenderObject* curr = node->renderer()->parent(); curr; curr = curr->parent()) {
@@ -784,7 +778,7 @@ Vector<String> HitTestResult::dictationAlternatives() const
if (!m_innerNonSharedNode)
return Vector<String>();
- DocumentMarker* marker = m_innerNonSharedNode->document()->markers()->markerContainingPoint(hitTestPoint().point(), DocumentMarker::DictationAlternatives);
+ DocumentMarker* marker = m_innerNonSharedNode->document()->markers()->markerContainingPoint(hitTestLocation().point(), DocumentMarker::DictationAlternatives);
if (!marker)
return Vector<String>();
diff --git a/Source/WebCore/rendering/HitTestResult.h b/Source/WebCore/rendering/HitTestResult.h
index 9d16bf042..bac96a2b1 100644
--- a/Source/WebCore/rendering/HitTestResult.h
+++ b/Source/WebCore/rendering/HitTestResult.h
@@ -25,7 +25,7 @@
#include "FloatQuad.h"
#include "FloatRect.h"
#include "HitTestRequest.h"
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include "TextDirection.h"
#include <wtf/Forward.h>
#include <wtf/ListHashSet.h>
@@ -45,22 +45,20 @@ class Node;
class RenderRegion;
class Scrollbar;
-enum ShadowContentFilterPolicy { DoNotAllowShadowContent, AllowShadowContent };
-
-class HitTestPoint {
+class HitTestLocation {
public:
- HitTestPoint();
- HitTestPoint(const LayoutPoint&);
- HitTestPoint(const FloatPoint&);
- HitTestPoint(const FloatPoint&, const FloatQuad&);
+ HitTestLocation();
+ HitTestLocation(const LayoutPoint&);
+ HitTestLocation(const FloatPoint&);
+ HitTestLocation(const FloatPoint&, const FloatQuad&);
// Pass non-zero padding values to perform a rect-based hit test.
- HitTestPoint(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
- // Make a copy the HitTestPoint in a new region by applying given offset to internal point and area.
- HitTestPoint(const HitTestPoint&, const LayoutSize& offset, RenderRegion*);
- HitTestPoint(const HitTestPoint&);
- ~HitTestPoint();
- HitTestPoint& operator=(const HitTestPoint&);
+ HitTestLocation(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
+ // Make a copy the HitTestLocation in a new region by applying given offset to internal point and area.
+ HitTestLocation(const HitTestLocation&, const LayoutSize& offset, RenderRegion* = 0);
+ HitTestLocation(const HitTestLocation&);
+ ~HitTestLocation();
+ HitTestLocation& operator=(const HitTestLocation&);
LayoutPoint point() const { return m_point; }
IntPoint roundedPoint() const { return roundedIntPoint(m_point); }
@@ -102,15 +100,15 @@ private:
bool m_isRectilinear;
};
-class HitTestResult : public HitTestPoint {
+class HitTestResult : public HitTestLocation {
public:
typedef ListHashSet<RefPtr<Node> > NodeSet;
HitTestResult();
HitTestResult(const LayoutPoint&);
// Pass non-negative padding values to perform a rect-based hit test.
- HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding, ShadowContentFilterPolicy);
- HitTestResult(const HitTestPoint&, ShadowContentFilterPolicy);
+ HitTestResult(const LayoutPoint& centerPoint, unsigned topPadding, unsigned rightPadding, unsigned bottomPadding, unsigned leftPadding);
+ HitTestResult(const HitTestLocation&);
HitTestResult(const HitTestResult&);
~HitTestResult();
HitTestResult& operator=(const HitTestResult&);
@@ -124,8 +122,7 @@ public:
void setToNonShadowAncestor();
- const HitTestPoint& hitTestPoint() const { return *this; }
- ShadowContentFilterPolicy shadowContentFilterPolicy() const { return m_shadowContentFilterPolicy; }
+ const HitTestLocation& hitTestLocation() const { return *this; }
void setInnerNode(Node*);
void setInnerNonSharedNode(Node*);
@@ -166,8 +163,8 @@ public:
// Returns true if it is rect-based hit test and needs to continue until the rect is fully
// enclosed by the boundaries of a node.
- bool addNodeToRectBasedTestResult(Node*, const HitTestPoint& pointInContainer, const LayoutRect& = LayoutRect());
- bool addNodeToRectBasedTestResult(Node*, const HitTestPoint& pointInContainer, const FloatRect&);
+ bool addNodeToRectBasedTestResult(Node*, const HitTestRequest&, const HitTestLocation& pointInContainer, const LayoutRect& = LayoutRect());
+ bool addNodeToRectBasedTestResult(Node*, const HitTestRequest&, const HitTestLocation& pointInContainer, const FloatRect&);
void append(const HitTestResult&);
// If m_rectBasedTestResult is 0 then set it to a new NodeSet. Return *m_rectBasedTestResult. Lazy allocation makes
@@ -194,8 +191,6 @@ private:
RefPtr<Scrollbar> m_scrollbar;
bool m_isOverWidget; // Returns true if we are over a widget (and not in the border/padding area of a RenderWidget for example).
- ShadowContentFilterPolicy m_shadowContentFilterPolicy;
-
mutable OwnPtr<NodeSet> m_rectBasedTestResult;
};
diff --git a/Source/WebCore/rendering/HitTestingTransformState.cpp b/Source/WebCore/rendering/HitTestingTransformState.cpp
index 6d9cc7629..6d6c33e91 100644
--- a/Source/WebCore/rendering/HitTestingTransformState.cpp
+++ b/Source/WebCore/rendering/HitTestingTransformState.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "HitTestingTransformState.h"
+#include "FractionalLayoutRect.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
diff --git a/Source/WebCore/rendering/InlineBox.cpp b/Source/WebCore/rendering/InlineBox.cpp
index be3c9c7cf..01742e5bf 100644
--- a/Source/WebCore/rendering/InlineBox.cpp
+++ b/Source/WebCore/rendering/InlineBox.cpp
@@ -243,12 +243,12 @@ void InlineBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset, Layo
}
}
-bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/)
+bool InlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/)
{
// Hit test all phases of replaced elements atomically, as though the replaced element established its
// own stacking context. (See Appendix E.2, section 6.4 on inline block/table elements in the CSS2.1
// specification.)
- return renderer()->hitTest(request, result, pointInContainer, accumulatedOffset);
+ return renderer()->hitTest(request, result, locationInContainer, accumulatedOffset);
}
const RootInlineBox* InlineBox::root() const
diff --git a/Source/WebCore/rendering/InlineBox.h b/Source/WebCore/rendering/InlineBox.h
index 0edab2c33..d8f7e3c17 100644
--- a/Source/WebCore/rendering/InlineBox.h
+++ b/Source/WebCore/rendering/InlineBox.h
@@ -95,7 +95,7 @@ public:
}
virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom);
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom);
// Overloaded new operator.
void* operator new(size_t, RenderArena*);
diff --git a/Source/WebCore/rendering/InlineFlowBox.cpp b/Source/WebCore/rendering/InlineFlowBox.cpp
index 126db27f9..9ad0fcfa1 100644
--- a/Source/WebCore/rendering/InlineFlowBox.cpp
+++ b/Source/WebCore/rendering/InlineFlowBox.cpp
@@ -36,6 +36,7 @@
#include "RenderRubyRun.h"
#include "RenderRubyText.h"
#include "RenderTableCell.h"
+#include "RenderView.h"
#include "RootInlineBox.h"
#include "Text.h"
@@ -971,18 +972,18 @@ void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO
setVisualOverflow(visualOverflow, lineTop, lineBottom);
}
-bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom)
+bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom)
{
LayoutRect overflowRect(visualOverflowRect(lineTop, lineBottom));
flipForWritingMode(overflowRect);
overflowRect.moveBy(accumulatedOffset);
- if (!pointInContainer.intersects(overflowRect))
+ if (!locationInContainer.intersects(overflowRect))
return false;
// Check children first.
for (InlineBox* curr = lastChild(); curr; curr = curr->prevOnLine()) {
- if ((curr->renderer()->isText() || !curr->boxModelObject()->hasSelfPaintingLayer()) && curr->nodeAtPoint(request, result, pointInContainer, accumulatedOffset, lineTop, lineBottom)) {
- renderer()->updateHitTestResult(result, pointInContainer.point() - toLayoutSize(accumulatedOffset));
+ if ((curr->renderer()->isText() || !curr->boxModelObject()->hasSelfPaintingLayer()) && curr->nodeAtPoint(request, result, locationInContainer, accumulatedOffset, lineTop, lineBottom)) {
+ renderer()->updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset));
return true;
}
}
@@ -1010,9 +1011,9 @@ bool InlineFlowBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& re
flipForWritingMode(rect);
rect.moveBy(accumulatedOffset);
- if (visibleToHitTesting() && pointInContainer.intersects(rect)) {
- renderer()->updateHitTestResult(result, flipForWritingMode(pointInContainer.point() - toLayoutSize(accumulatedOffset))); // Don't add in m_x or m_y here, we want coords in the containing block's space.
- if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, rect))
+ if (visibleToHitTesting() && locationInContainer.intersects(rect)) {
+ renderer()->updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - toLayoutSize(accumulatedOffset))); // Don't add in m_x or m_y here, we want coords in the containing block's space.
+ if (!result.addNodeToRectBasedTestResult(renderer()->node(), request, locationInContainer, rect))
return true;
}
diff --git a/Source/WebCore/rendering/InlineFlowBox.h b/Source/WebCore/rendering/InlineFlowBox.h
index 32839f15f..5a34f6c65 100644
--- a/Source/WebCore/rendering/InlineFlowBox.h
+++ b/Source/WebCore/rendering/InlineFlowBox.h
@@ -116,7 +116,7 @@ public:
void paintFillLayer(const PaintInfo&, const Color&, const FillLayer*, const LayoutRect&, CompositeOperator = CompositeSourceOver);
void paintBoxShadow(const PaintInfo&, RenderStyle*, ShadowStyle, const LayoutRect&);
virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
bool boxShadowCanBeAppliedToBackground(const FillLayer&) const;
diff --git a/Source/WebCore/rendering/InlineTextBox.cpp b/Source/WebCore/rendering/InlineTextBox.cpp
index 7d63031da..5bc3b7652 100644
--- a/Source/WebCore/rendering/InlineTextBox.cpp
+++ b/Source/WebCore/rendering/InlineTextBox.cpp
@@ -349,7 +349,7 @@ bool InlineTextBox::isLineBreak() const
return renderer()->isBR() || (renderer()->style()->preserveNewline() && len() == 1 && (*textRenderer()->text())[start()] == '\n');
}
-bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/)
+bool InlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit /* lineTop */, LayoutUnit /*lineBottom*/)
{
if (isLineBreak())
return false;
@@ -357,9 +357,9 @@ bool InlineTextBox::nodeAtPoint(const HitTestRequest&, HitTestResult& result, co
FloatPoint boxOrigin = locationIncludingFlipping();
boxOrigin.moveBy(accumulatedOffset);
FloatRect rect(boxOrigin, size());
- if (m_truncation != cFullTruncation && visibleToHitTesting() && pointInContainer.intersects(rect)) {
- renderer()->updateHitTestResult(result, flipForWritingMode(pointInContainer.point() - toLayoutSize(accumulatedOffset)));
- if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, rect))
+ if (m_truncation != cFullTruncation && visibleToHitTesting() && locationInContainer.intersects(rect)) {
+ renderer()->updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - toLayoutSize(accumulatedOffset)));
+ if (!result.addNodeToRectBasedTestResult(renderer()->node(), request, locationInContainer, rect))
return true;
}
return false;
diff --git a/Source/WebCore/rendering/InlineTextBox.h b/Source/WebCore/rendering/InlineTextBox.h
index a3e7630e6..06ba040fc 100644
--- a/Source/WebCore/rendering/InlineTextBox.h
+++ b/Source/WebCore/rendering/InlineTextBox.h
@@ -115,7 +115,7 @@ public:
protected:
virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
public:
RenderText* textRenderer() const;
diff --git a/Source/WebCore/rendering/LayoutRepainter.h b/Source/WebCore/rendering/LayoutRepainter.h
index 57400faeb..6f63e82d3 100644
--- a/Source/WebCore/rendering/LayoutRepainter.h
+++ b/Source/WebCore/rendering/LayoutRepainter.h
@@ -26,7 +26,7 @@
#ifndef LayoutRepainter_h
#define LayoutRepainter_h
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
namespace WebCore {
diff --git a/Source/WebCore/rendering/LayoutState.cpp b/Source/WebCore/rendering/LayoutState.cpp
index 1dff9533e..1e4442f2f 100644
--- a/Source/WebCore/rendering/LayoutState.cpp
+++ b/Source/WebCore/rendering/LayoutState.cpp
@@ -83,7 +83,7 @@ LayoutState::LayoutState(LayoutState* prev, RenderBox* renderer, const LayoutSiz
// If we establish a new page height, then cache the offset to the top of the first page.
// We can compare this later on to figure out what part of the page we're actually on,
- if (pageLogicalHeight || m_columnInfo) {
+ if (pageLogicalHeight || m_columnInfo || renderer->isRenderFlowThread()) {
m_pageLogicalHeight = pageLogicalHeight;
bool isFlipped = renderer->style()->isFlippedBlocksWritingMode();
m_pageOffset = LayoutSize(m_layoutOffset.width() + (!isFlipped ? renderer->borderLeft() + renderer->paddingLeft() : renderer->borderRight() + renderer->paddingRight()),
@@ -109,7 +109,7 @@ LayoutState::LayoutState(LayoutState* prev, RenderBox* renderer, const LayoutSiz
m_layoutDelta = m_next->m_layoutDelta;
- m_isPaginated = m_pageLogicalHeight || m_columnInfo;
+ m_isPaginated = m_pageLogicalHeight || m_columnInfo || renderer->isRenderFlowThread();
if (lineGrid() && renderer->hasColumns() && renderer->style()->hasInlineColumnAxis())
computeLineGridPaginationOrigin(renderer);
@@ -121,23 +121,6 @@ LayoutState::LayoutState(LayoutState* prev, RenderBox* renderer, const LayoutSiz
// FIXME: <http://bugs.webkit.org/show_bug.cgi?id=13443> Apply control clip if present.
}
-LayoutState::LayoutState(LayoutState* prev, RenderFlowThread* flowThread, bool regionsChanged)
- : m_clipped(false)
- , m_isPaginated(true)
- , m_pageLogicalHeight(1) // Use a fake height here. That value is not important, just needs to be non-zero.
- , m_pageLogicalHeightChanged(regionsChanged)
- , m_columnInfo(0)
- , m_lineGrid(0)
- , m_next(prev)
-#ifndef NDEBUG
- , m_renderer(flowThread)
-#endif
-{
-#ifdef NDEBUG
- UNUSED_PARAM(flowThread);
-#endif
-}
-
LayoutState::LayoutState(RenderObject* root)
: m_clipped(false)
, m_isPaginated(false)
diff --git a/Source/WebCore/rendering/LayoutState.h b/Source/WebCore/rendering/LayoutState.h
index 81d61e9cd..152c80465 100644
--- a/Source/WebCore/rendering/LayoutState.h
+++ b/Source/WebCore/rendering/LayoutState.h
@@ -57,7 +57,6 @@ public:
}
LayoutState(LayoutState*, RenderBox*, const LayoutSize& offset, LayoutUnit pageHeight, bool pageHeightChanged, ColumnInfo*);
- LayoutState(LayoutState*, RenderFlowThread*, bool regionsChanged);
LayoutState(RenderObject*);
void destroy(RenderArena*);
diff --git a/Source/WebCore/rendering/LayoutTypes.h b/Source/WebCore/rendering/LayoutTypes.h
index 51967f8e9..ff7e6c274 100644
--- a/Source/WebCore/rendering/LayoutTypes.h
+++ b/Source/WebCore/rendering/LayoutTypes.h
@@ -36,132 +36,24 @@
#ifndef LayoutTypes_h
#define LayoutTypes_h
-#include "FloatRect.h"
-#include "FractionalLayoutBoxExtent.h"
-#include "FractionalLayoutRect.h"
-#include "FractionalLayoutUnit.h"
-#include "IntRect.h"
-
-#include <wtf/MathExtras.h>
-
namespace WebCore {
-typedef FractionalLayoutUnit LayoutUnit;
+class FractionalLayoutBoxExtent;
+class FractionalLayoutPoint;
+class FractionalLayoutRect;
+class FractionalLayoutSize;
+class FractionalLayoutUnit;
+
+typedef FractionalLayoutBoxExtent LayoutBoxExtent;
typedef FractionalLayoutPoint LayoutPoint;
-typedef FractionalLayoutSize LayoutSize;
typedef FractionalLayoutRect LayoutRect;
-typedef FractionalLayoutBoxExtent LayoutBoxExtent;
+typedef FractionalLayoutSize LayoutSize;
+typedef FractionalLayoutUnit LayoutUnit;
#define MAX_LAYOUT_UNIT LayoutUnit::max()
#define MIN_LAYOUT_UNIT LayoutUnit::min()
#define ZERO_LAYOUT_UNIT LayoutUnit(0)
-inline FractionalLayoutRect enclosingLayoutRect(const FloatRect& rect)
-{
- return enclosingIntRect(rect);
-}
-
-inline LayoutSize roundedLayoutSize(const FloatSize& s)
-{
-#if ENABLE(SUBPIXEL_LAYOUT)
- return FractionalLayoutSize(s);
-#else
- return roundedIntSize(s);
-#endif
-}
-
-inline IntRect pixelSnappedIntRect(LayoutUnit left, LayoutUnit top, LayoutUnit width, LayoutUnit height)
-{
- return IntRect(left.round(), top.round(), snapSizeToPixel(width, left), snapSizeToPixel(height, top));
-}
-
-inline IntRect pixelSnappedIntRectFromEdges(LayoutUnit left, LayoutUnit top, LayoutUnit right, LayoutUnit bottom)
-{
- return IntRect(left.round(), top.round(), snapSizeToPixel(right - left, left), snapSizeToPixel(bottom - top, top));
-}
-
-inline LayoutPoint roundedLayoutPoint(const FloatPoint& p)
-{
-#if ENABLE(SUBPIXEL_LAYOUT)
- return FractionalLayoutPoint(p);
-#else
- return roundedIntPoint(p);
-#endif
-}
-
-inline LayoutPoint flooredLayoutPoint(const FloatPoint& p)
-{
- return flooredFractionalLayoutPoint(p);
-}
-
-inline LayoutPoint flooredLayoutPoint(const FloatSize& s)
-{
- return flooredLayoutPoint(FloatPoint(s));
-}
-
-inline int roundToInt(LayoutUnit value)
-{
- return value.round();
-}
-
-inline int floorToInt(LayoutUnit value)
-{
- return value.floor();
-}
-
-inline LayoutUnit roundedLayoutUnit(float value)
-{
-#if ENABLE(SUBPIXEL_LAYOUT)
- return FractionalLayoutUnit::fromFloatRound(value);
-#else
- return static_cast<int>(lroundf(value));
-#endif
-}
-
-inline LayoutUnit ceiledLayoutUnit(float value)
-{
-#if ENABLE(SUBPIXEL_LAYOUT)
- return FractionalLayoutUnit::fromFloatCeil(value);
-#else
- return ceilf(value);
-#endif
-}
-
-inline LayoutUnit absoluteValue(const LayoutUnit& value)
-{
- return value.abs();
-}
-
-inline LayoutSize toLayoutSize(const LayoutPoint& p)
-{
- return LayoutSize(p.x(), p.y());
-}
-
-inline LayoutPoint toLayoutPoint(const LayoutSize& p)
-{
- return LayoutPoint(p.width(), p.height());
-}
-
-inline LayoutUnit layoutMod(const LayoutUnit& numerator, const LayoutUnit& denominator)
-{
- return numerator % denominator;
-}
-
-inline IntSize pixelSnappedIntSize(const FractionalLayoutSize& s, const FractionalLayoutPoint& p)
-{
- return IntSize(snapSizeToPixel(s.width(), p.x()), snapSizeToPixel(s.height(), p.y()));
-}
-
-inline IntRect pixelSnappedIntRect(LayoutPoint location, LayoutSize size)
-{
- return IntRect(roundedIntPoint(location), pixelSnappedIntSize(size, location));
-}
-
-inline bool isIntegerValue(const LayoutUnit value)
-{
- return value.toInt() == value;
-}
-
} // namespace WebCore
#endif // LayoutTypes_h
diff --git a/Source/WebCore/rendering/LayoutTypesInlineMethods.h b/Source/WebCore/rendering/LayoutTypesInlineMethods.h
new file mode 100644
index 000000000..3cb4a0fdb
--- /dev/null
+++ b/Source/WebCore/rendering/LayoutTypesInlineMethods.h
@@ -0,0 +1,153 @@
+/*
+ * Copyright (C) 2011 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 LayoutTypesInlineMethods_h
+#define LayoutTypesInlineMethods_h
+
+#include "FloatRect.h"
+#include "FractionalLayoutBoxExtent.h"
+#include "FractionalLayoutRect.h"
+#include "FractionalLayoutUnit.h"
+#include "IntRect.h"
+#include "LayoutTypes.h"
+
+#include <wtf/MathExtras.h>
+
+namespace WebCore {
+
+inline FractionalLayoutRect enclosingLayoutRect(const FloatRect& rect)
+{
+ return enclosingIntRect(rect);
+}
+
+inline LayoutSize roundedLayoutSize(const FloatSize& s)
+{
+#if ENABLE(SUBPIXEL_LAYOUT)
+ return FractionalLayoutSize(s);
+#else
+ return roundedIntSize(s);
+#endif
+}
+
+inline IntRect pixelSnappedIntRect(LayoutUnit left, LayoutUnit top, LayoutUnit width, LayoutUnit height)
+{
+ return IntRect(left.round(), top.round(), snapSizeToPixel(width, left), snapSizeToPixel(height, top));
+}
+
+inline IntRect pixelSnappedIntRectFromEdges(LayoutUnit left, LayoutUnit top, LayoutUnit right, LayoutUnit bottom)
+{
+ return IntRect(left.round(), top.round(), snapSizeToPixel(right - left, left), snapSizeToPixel(bottom - top, top));
+}
+
+inline LayoutPoint roundedLayoutPoint(const FloatPoint& p)
+{
+#if ENABLE(SUBPIXEL_LAYOUT)
+ return FractionalLayoutPoint(p);
+#else
+ return roundedIntPoint(p);
+#endif
+}
+
+inline LayoutPoint flooredLayoutPoint(const FloatPoint& p)
+{
+ return flooredFractionalLayoutPoint(p);
+}
+
+inline LayoutPoint flooredLayoutPoint(const FloatSize& s)
+{
+ return flooredLayoutPoint(FloatPoint(s));
+}
+
+inline int roundToInt(LayoutUnit value)
+{
+ return value.round();
+}
+
+inline int floorToInt(LayoutUnit value)
+{
+ return value.floor();
+}
+
+inline LayoutUnit roundedLayoutUnit(float value)
+{
+#if ENABLE(SUBPIXEL_LAYOUT)
+ return FractionalLayoutUnit::fromFloatRound(value);
+#else
+ return static_cast<int>(lroundf(value));
+#endif
+}
+
+inline LayoutUnit ceiledLayoutUnit(float value)
+{
+#if ENABLE(SUBPIXEL_LAYOUT)
+ return FractionalLayoutUnit::fromFloatCeil(value);
+#else
+ return ceilf(value);
+#endif
+}
+
+inline LayoutUnit absoluteValue(const LayoutUnit& value)
+{
+ return value.abs();
+}
+
+inline LayoutSize toLayoutSize(const LayoutPoint& p)
+{
+ return LayoutSize(p.x(), p.y());
+}
+
+inline LayoutPoint toLayoutPoint(const LayoutSize& p)
+{
+ return LayoutPoint(p.width(), p.height());
+}
+
+inline LayoutUnit layoutMod(const LayoutUnit& numerator, const LayoutUnit& denominator)
+{
+ return numerator % denominator;
+}
+
+inline IntSize pixelSnappedIntSize(const FractionalLayoutSize& s, const FractionalLayoutPoint& p)
+{
+ return IntSize(snapSizeToPixel(s.width(), p.x()), snapSizeToPixel(s.height(), p.y()));
+}
+
+inline IntRect pixelSnappedIntRect(LayoutPoint location, LayoutSize size)
+{
+ return IntRect(roundedIntPoint(location), pixelSnappedIntSize(size, location));
+}
+
+inline bool isIntegerValue(const LayoutUnit value)
+{
+ return value.toInt() == value;
+}
+
+} // namespace WebCore
+
+#endif // LayoutTypesInlineMethods_h
diff --git a/Source/WebCore/rendering/PaintInfo.h b/Source/WebCore/rendering/PaintInfo.h
index 7ed743272..88a3c7abc 100644
--- a/Source/WebCore/rendering/PaintInfo.h
+++ b/Source/WebCore/rendering/PaintInfo.h
@@ -32,7 +32,7 @@
#include "GraphicsContext.h"
#include "IntRect.h"
-#include "LayoutTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include "PaintPhase.h"
#include <limits>
#include <wtf/HashMap.h>
diff --git a/Source/WebCore/rendering/RenderBlock.cpp b/Source/WebCore/rendering/RenderBlock.cpp
index 119cbb7fd..10216bc00 100755
--- a/Source/WebCore/rendering/RenderBlock.cpp
+++ b/Source/WebCore/rendering/RenderBlock.cpp
@@ -61,6 +61,9 @@
#include "ShadowRoot.h"
#include "TransformState.h"
#include <wtf/StdLibExtras.h>
+#if ENABLE(CSS_EXCLUSIONS)
+#include "WrapShapeInfo.h"
+#endif
using namespace std;
using namespace WTF;
@@ -275,6 +278,10 @@ void RenderBlock::willBeDestroyed()
if (lineGridBox())
lineGridBox()->destroy(renderArena());
+#if ENABLE(CSS_EXCLUSIONS)
+ WrapShapeInfo::removeWrapShapeInfoForRenderBlock(this);
+#endif
+
if (UNLIKELY(gDelayedUpdateScrollInfoSet != 0))
gDelayedUpdateScrollInfoSet->remove(this);
@@ -320,6 +327,12 @@ void RenderBlock::styleDidChange(StyleDifference diff, const RenderStyle* oldSty
{
RenderBox::styleDidChange(diff, oldStyle);
+#if ENABLE(CSS_EXCLUSIONS)
+ // FIXME: Bug 89993: Style changes should affect the WrapShapeInfos for other render blocks that
+ // share the same WrapShapeInfo
+ updateWrapShapeInfoAfterStyleChange(style()->wrapShapeInside(), oldStyle ? oldStyle->wrapShapeInside() : 0);
+#endif
+
if (!isAnonymousBlock()) {
// Ensure that all of our continuation blocks pick up the new style.
for (RenderBlock* currCont = blockElementContinuation(); currCont; currCont = currCont->blockElementContinuation()) {
@@ -1366,6 +1379,21 @@ void RenderBlock::layout()
clearLayoutOverflow();
}
+#if ENABLE(CSS_EXCLUSIONS)
+void RenderBlock::updateWrapShapeInfoAfterStyleChange(const BasicShape* wrapShape, const BasicShape* oldWrapShape)
+{
+ // FIXME: A future optimization would do a deep comparison for equality.
+ if (wrapShape == oldWrapShape)
+ return;
+
+ if (wrapShape) {
+ WrapShapeInfo* wrapShapeInfo = WrapShapeInfo::ensureWrapShapeInfoForRenderBlock(this);
+ wrapShapeInfo->dirtyWrapShapeSize();
+ } else
+ WrapShapeInfo::removeWrapShapeInfoForRenderBlock(this);
+}
+#endif
+
void RenderBlock::computeInitialRegionRangeForBlock()
{
if (inRenderFlowThread()) {
@@ -1422,6 +1450,9 @@ void RenderBlock::checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalH
colInfo->clearForcedBreaks();
colInfo->setPaginationUnit(paginationUnit());
+ } else if (isRenderFlowThread()) {
+ pageLogicalHeight = 1; // This is just a hack to always make sure we have a page logical height.
+ pageLogicalHeightChanged = toRenderFlowThread(this)->pageLogicalHeightChanged();
}
}
@@ -1461,6 +1492,11 @@ void RenderBlock::layoutBlock(bool relayoutChildren, LayoutUnit pageLogicalHeigh
relayoutChildren = true;
}
computeInitialRegionRangeForBlock();
+#if ENABLE(CSS_EXCLUSIONS)
+ // FIXME: Bug 93547: Resolve logical height for percentage based vertical lengths
+ if (WrapShapeInfo* wrapShapeInfo = this->wrapShapeInfo())
+ wrapShapeInfo->computeShapeSize(logicalWidth(), 0);
+#endif
// We use four values, maxTopPos, maxTopNeg, maxBottomPos, and maxBottomNeg, to track
// our current maximal positive and negative margins. These values are used when we
@@ -2049,28 +2085,28 @@ LayoutUnit RenderBlock::clearFloatsIfNeeded(RenderBox* child, MarginInfo& margin
// For self-collapsing blocks that clear, they can still collapse their
// margins with following siblings. Reset the current margins to represent
// the self-collapsing block's margins only.
- // CSS2.1 states:
- // "An element that has had clearance applied to it never collapses its top margin with its parent block's bottom margin.
- // Therefore if we are at the bottom of the block, let's go ahead and reset margins to only include the
- // self-collapsing block's bottom margin.
- bool atBottomOfBlock = true;
- for (RenderBox* curr = child->nextSiblingBox(); curr && atBottomOfBlock; curr = curr->nextSiblingBox()) {
- if (!curr->isFloatingOrOutOfFlowPositioned())
- atBottomOfBlock = false;
- }
-
MarginValues childMargins = marginValuesForChild(child);
- if (atBottomOfBlock) {
- marginInfo.setPositiveMargin(childMargins.positiveMarginAfter());
- marginInfo.setNegativeMargin(childMargins.negativeMarginAfter());
- } else {
- marginInfo.setPositiveMargin(max(childMargins.positiveMarginBefore(), childMargins.positiveMarginAfter()));
- marginInfo.setNegativeMargin(max(childMargins.negativeMarginBefore(), childMargins.negativeMarginAfter()));
- }
-
- // Adjust our height such that we are ready to be collapsed with subsequent siblings (or the bottom
- // of the parent block).
- setLogicalHeight(child->logicalTop() - max(ZERO_LAYOUT_UNIT, marginInfo.margin()));
+ marginInfo.setPositiveMargin(max(childMargins.positiveMarginBefore(), childMargins.positiveMarginAfter()));
+ marginInfo.setNegativeMargin(max(childMargins.negativeMarginBefore(), childMargins.negativeMarginAfter()));
+
+ // CSS2.1 states:
+ // "If the top and bottom margins of an element with clearance are adjoining, its margins collapse with
+ // the adjoining margins of following siblings but that resulting margin does not collapse with the bottom margin of the parent block."
+ // So the parent's bottom margin cannot collapse through this block or any subsequent self-collapsing blocks. Check subsequent siblings
+ // for a block with height - if none is found then don't allow the margins to collapse with the parent.
+ bool wouldCollapseMarginsWithParent = marginInfo.canCollapseMarginAfterWithChildren();
+ for (RenderBox* curr = child->nextSiblingBox(); curr && wouldCollapseMarginsWithParent; curr = curr->nextSiblingBox()) {
+ if (!curr->isFloatingOrOutOfFlowPositioned() && !curr->isSelfCollapsingBlock())
+ wouldCollapseMarginsWithParent = false;
+ }
+ if (wouldCollapseMarginsWithParent)
+ marginInfo.setCanCollapseMarginAfterWithChildren(false);
+
+ // CSS2.1: "the amount of clearance is set so that clearance + margin-top = [height of float], i.e., clearance = [height of float] - margin-top"
+ // Move the top of the child box to the bottom of the float ignoring the child's top margin.
+ LayoutUnit collapsedMargin = collapsedMarginBeforeForChild(child);
+ setLogicalHeight(child->logicalTop() - collapsedMargin);
+ heightIncrease -= collapsedMargin;
} else
// Increase our height by the amount we had to clear.
setLogicalHeight(logicalHeight() + heightIncrease);
@@ -2084,8 +2120,14 @@ LayoutUnit RenderBlock::clearFloatsIfNeeded(RenderBox* child, MarginInfo& margin
setMaxMarginBeforeValues(oldTopPosMargin, oldTopNegMargin);
marginInfo.setAtBeforeSideOfBlock(false);
}
-
- return yPos + heightIncrease;
+
+ LayoutUnit logicalTop = yPos + heightIncrease;
+ // After margin collapsing, one of our floats may now intrude into the child. If the child doesn't contain floats of its own it
+ // won't get picked up for relayout even though the logical top estimate was wrong - so add the newly intruding float now.
+ if (containsFloats() && child->isRenderBlock() && !toRenderBlock(child)->containsFloats() && !child->avoidsFloats() && lowestFloatLogicalBottom() > logicalTop)
+ toRenderBlock(child)->addIntrudingFloats(this, logicalLeftOffsetForContent(), logicalTop);
+
+ return logicalTop;
}
void RenderBlock::marginBeforeEstimateForChild(RenderBox* child, LayoutUnit& positiveMarginBefore, LayoutUnit& negativeMarginBefore) const
@@ -2122,7 +2164,7 @@ void RenderBlock::marginBeforeEstimateForChild(RenderBox* child, LayoutUnit& pos
// Make sure to update the block margins now for the grandchild box so that we're looking at current values.
if (grandchildBox->needsLayout()) {
- grandchildBox->computeBlockDirectionMargins(this);
+ grandchildBox->computeAndSetBlockDirectionMargins(this);
grandchildBox->setMarginBeforeQuirk(grandchildBox->style()->marginBefore().quirk());
grandchildBox->setMarginAfterQuirk(grandchildBox->style()->marginAfter().quirk());
}
@@ -2246,7 +2288,10 @@ void RenderBlock::handleAfterSideOfBlock(LayoutUnit beforeSide, LayoutUnit after
marginInfo.setAtAfterSideOfBlock(true);
// If we can't collapse with children then go ahead and add in the bottom margin.
+ // Don't do this for ordinary anonymous blocks as only the enclosing box should add in
+ // its margin.
if (!marginInfo.canCollapseWithMarginAfter() && !marginInfo.canCollapseWithMarginBefore()
+ && (!isAnonymousBlock() || isAnonymousColumnsBlock() || isAnonymousColumnSpanBlock())
&& (!document()->inQuirksMode() || !marginInfo.quirkContainer() || !marginInfo.marginAfterQuirk()))
setLogicalHeight(logicalHeight() + marginInfo.margin());
@@ -2366,7 +2411,7 @@ void RenderBlock::layoutBlockChild(RenderBox* child, MarginInfo& marginInfo, Lay
LayoutUnit oldNegMarginBefore = maxNegativeMarginBefore();
// The child is a normal flow object. Compute the margins we will use for collapsing now.
- child->computeBlockDirectionMargins(this);
+ child->computeAndSetBlockDirectionMargins(this);
// Do not allow a collapse if the margin-before-collapse style is set to SEPARATE.
RenderStyle* childStyle = child->style();
@@ -2615,14 +2660,6 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren)
r->layoutIfNeeded();
- // Adjust the static position of a center-aligned inline positioned object with a block child now that the child's width has been computed.
- if (!r->parent()->isRenderView() && r->parent()->isRenderBlock() && r->firstChild() && r->style()->position() == AbsolutePosition
- && r->style()->isOriginalDisplayInlineType() && (r->style()->textAlign() == CENTER || r->style()->textAlign() == WEBKIT_CENTER)) {
- RenderBlock* block = toRenderBlock(r->parent());
- LayoutUnit blockHeight = block->logicalHeight();
- block->setStaticInlinePositionForChild(r, blockHeight, block->startAlignedOffsetForLine(r, blockHeight, false));
- }
-
// Lay out again if our estimate was wrong.
if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r) != oldLogicalTop) {
r->setChildNeedsLayout(true, MarkOnlyThis);
@@ -3177,9 +3214,10 @@ bool RenderBlock::isSelectionRoot() const
return false;
if (isBody() || isRoot() || hasOverflowClip()
- || isInFlowPositioned() || isFloatingOrOutOfFlowPositioned()
+ || isPositioned() || isFloating()
|| isTableCell() || isInlineBlockOrInlineTable()
- || hasTransform() || hasReflection() || hasMask() || isWritingModeRoot())
+ || hasTransform() || hasReflection() || hasMask() || isWritingModeRoot()
+ || isRenderFlowThread())
return true;
if (view() && view()->selectionStart()) {
@@ -3723,7 +3761,7 @@ RenderBlock::FloatingObject* RenderBlock::insertFloatingObject(RenderBox* o)
o->layoutIfNeeded();
else {
o->computeLogicalWidth();
- o->computeBlockDirectionMargins(this);
+ o->computeAndSetBlockDirectionMargins(this);
}
setLogicalWidthForFloat(newObj, logicalWidthForChild(o) + marginStartForChild(o) + marginEndForChild(o));
@@ -4473,6 +4511,8 @@ bool RenderBlock::hasOverhangingFloat(RenderBox* renderer)
void RenderBlock::addIntrudingFloats(RenderBlock* prev, LayoutUnit logicalLeftOffset, LayoutUnit logicalTopOffset)
{
+ ASSERT(!avoidsFloats());
+
// If the parent or previous sibling doesn't have any floats to add, don't bother.
if (!prev->m_floatingObjects)
return;
@@ -4641,15 +4681,15 @@ LayoutUnit RenderBlock::getClearDelta(RenderBox* child, LayoutUnit logicalTop)
return result;
}
-bool RenderBlock::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
+bool RenderBlock::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& locationInContainer, const LayoutPoint& accumulatedOffset)
{
if (!scrollsOverflow())
return false;
- return layer()->hitTestOverflowControls(result, roundedIntPoint(pointInContainer - toLayoutSize(accumulatedOffset)));
+ return layer()->hitTestOverflowControls(result, roundedIntPoint(locationInContainer - toLayoutSize(accumulatedOffset)));
}
-bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
LayoutPoint adjustedLocation(accumulatedOffset + location());
LayoutSize localOffset = toLayoutSize(adjustedLocation);
@@ -4659,21 +4699,21 @@ bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
LayoutRect overflowBox = visualOverflowRect();
flipForWritingMode(overflowBox);
overflowBox.moveBy(adjustedLocation);
- if (!pointInContainer.intersects(overflowBox))
+ if (!locationInContainer.intersects(overflowBox))
return false;
}
- if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) && isPointInOverflowControl(result, pointInContainer.point(), adjustedLocation)) {
- updateHitTestResult(result, pointInContainer.point() - localOffset);
+ if ((hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) && isPointInOverflowControl(result, locationInContainer.point(), adjustedLocation)) {
+ updateHitTestResult(result, locationInContainer.point() - localOffset);
// FIXME: isPointInOverflowControl() doesn't handle rect-based tests yet.
- if (!result.addNodeToRectBasedTestResult(node(), pointInContainer))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer))
return true;
}
// If we have clipping, then we can't have any spillout.
bool useOverflowClip = hasOverflowClip() && !hasSelfPaintingLayer();
bool useClip = (hasControlClip() || useOverflowClip);
- bool checkChildren = !useClip || (hasControlClip() ? pointInContainer.intersects(controlClipRect(adjustedLocation)) : pointInContainer.intersects(overflowClipRect(adjustedLocation, pointInContainer.region(), IncludeOverlayScrollbarSize)));
+ bool checkChildren = !useClip || (hasControlClip() ? locationInContainer.intersects(controlClipRect(adjustedLocation)) : locationInContainer.intersects(overflowClipRect(adjustedLocation, locationInContainer.region(), IncludeOverlayScrollbarSize)));
if (checkChildren) {
// Hit test descendants first.
LayoutSize scrolledOffset(localOffset);
@@ -4682,14 +4722,14 @@ bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
// Hit test contents if we don't have columns.
if (!hasColumns()) {
- if (hitTestContents(request, result, pointInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
- updateHitTestResult(result, pointInContainer.point() - localOffset);
+ if (hitTestContents(request, result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
+ updateHitTestResult(result, locationInContainer.point() - localOffset);
return true;
}
- if (hitTestAction == HitTestFloat && hitTestFloats(request, result, pointInContainer, toLayoutPoint(scrolledOffset)))
+ if (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, toLayoutPoint(scrolledOffset)))
return true;
- } else if (hitTestColumns(request, result, pointInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
- updateHitTestResult(result, flipForWritingMode(pointInContainer.point() - localOffset));
+ } else if (hitTestColumns(request, result, locationInContainer, toLayoutPoint(scrolledOffset), hitTestAction)) {
+ updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
return true;
}
}
@@ -4697,9 +4737,9 @@ bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
// Now hit test our background
if (hitTestAction == HitTestBlockBackground || hitTestAction == HitTestChildBlockBackground) {
LayoutRect boundsRect(adjustedLocation, size());
- if (visibleToHitTesting() && pointInContainer.intersects(boundsRect)) {
- updateHitTestResult(result, flipForWritingMode(pointInContainer.point() - localOffset));
- if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect))
+ if (visibleToHitTesting() && locationInContainer.intersects(boundsRect)) {
+ updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - localOffset));
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
}
@@ -4707,7 +4747,7 @@ bool RenderBlock::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
return false;
}
-bool RenderBlock::hitTestFloats(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
+bool RenderBlock::hitTestFloats(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset)
{
if (!m_floatingObjects)
return false;
@@ -4726,8 +4766,8 @@ bool RenderBlock::hitTestFloats(const HitTestRequest& request, HitTestResult& re
LayoutUnit xOffset = xPositionForFloatIncludingMargin(floatingObject) - floatingObject->m_renderer->x();
LayoutUnit yOffset = yPositionForFloatIncludingMargin(floatingObject) - floatingObject->m_renderer->y();
LayoutPoint childPoint = flipFloatForWritingModeForChild(floatingObject, adjustedLocation + LayoutSize(xOffset, yOffset));
- if (floatingObject->m_renderer->hitTest(request, result, pointInContainer, childPoint)) {
- updateHitTestResult(result, pointInContainer.point() - toLayoutSize(childPoint));
+ if (floatingObject->m_renderer->hitTest(request, result, locationInContainer, childPoint)) {
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(childPoint));
return true;
}
}
@@ -4795,48 +4835,48 @@ private:
LayoutRect m_colRect;
};
-bool RenderBlock::hitTestColumns(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderBlock::hitTestColumns(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
// We need to do multiple passes, breaking up our hit testing into strips.
if (!hasColumns())
return false;
for (ColumnRectIterator it(*this); it.hasMore(); it.advance()) {
- LayoutRect hitRect = pointInContainer.boundingBox();
+ LayoutRect hitRect = locationInContainer.boundingBox();
LayoutRect colRect = it.columnRect();
colRect.moveBy(accumulatedOffset);
- if (pointInContainer.intersects(colRect)) {
+ if (locationInContainer.intersects(colRect)) {
// The point is inside this column.
// Adjust accumulatedOffset to change where we hit test.
LayoutSize offset;
it.adjust(offset);
LayoutPoint finalLocation = accumulatedOffset + offset;
if (!result.isRectBasedTest() || colRect.contains(hitRect))
- return hitTestContents(request, result, pointInContainer, finalLocation, hitTestAction) || (hitTestAction == HitTestFloat && hitTestFloats(request, result, pointInContainer, finalLocation));
+ return hitTestContents(request, result, locationInContainer, finalLocation, hitTestAction) || (hitTestAction == HitTestFloat && hitTestFloats(request, result, locationInContainer, finalLocation));
- hitTestContents(request, result, pointInContainer, finalLocation, hitTestAction);
+ hitTestContents(request, result, locationInContainer, finalLocation, hitTestAction);
}
}
return false;
}
-void RenderBlock::adjustForColumnRect(LayoutSize& offset, const LayoutPoint& pointInContainer) const
+void RenderBlock::adjustForColumnRect(LayoutSize& offset, const LayoutPoint& locationInContainer) const
{
for (ColumnRectIterator it(*this); it.hasMore(); it.advance()) {
LayoutRect colRect = it.columnRect();
- if (colRect.contains(pointInContainer)) {
+ if (colRect.contains(locationInContainer)) {
it.adjust(offset);
return;
}
}
}
-bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
if (childrenInline() && !isTable()) {
// We have to hit-test our line boxes.
- if (m_lineBoxes.hitTest(this, request, result, pointInContainer, accumulatedOffset, hitTestAction))
+ if (m_lineBoxes.hitTest(this, request, result, locationInContainer, accumulatedOffset, hitTestAction))
return true;
} else {
// Hit test our children.
@@ -4845,7 +4885,7 @@ bool RenderBlock::hitTestContents(const HitTestRequest& request, HitTestResult&
childHitTest = HitTestChildBlockBackground;
for (RenderBox* child = lastChildBox(); child; child = child->previousSiblingBox()) {
LayoutPoint childPoint = flipForWritingModeForChild(child, accumulatedOffset);
- if (!child->hasSelfPaintingLayer() && !child->isFloating() && child->nodeAtPoint(request, result, pointInContainer, childPoint, childHitTest))
+ if (!child->hasSelfPaintingLayer() && !child->isFloating() && child->nodeAtPoint(request, result, locationInContainer, childPoint, childHitTest))
return true;
}
}
@@ -6851,11 +6891,11 @@ bool RenderBlock::hasNextPage(LayoutUnit logicalOffset, PageBoundaryRule pageBou
// See if we're in the last region.
LayoutUnit pageOffset = offsetFromLogicalTopOfFirstPage() + logicalOffset;
- RenderRegion* region = enclosingRenderFlowThread()->renderRegionForLine(pageOffset, this);
+ RenderRegion* region = enclosingRenderFlowThread()->regionAtBlockOffset(pageOffset, this);
if (!region)
return false;
if (region->isLastRegion())
- return region->style()->regionOverflow() == BreakRegionOverflow
+ return region->isRenderRegionSet() || region->style()->regionOverflow() == BreakRegionOverflow
|| (pageBoundaryRule == IncludePageBoundary && pageOffset == region->offsetFromLogicalTopOfFirstPage());
return true;
}
@@ -6938,7 +6978,7 @@ LayoutUnit RenderBlock::pageLogicalTopForOffset(LayoutUnit offset) const
return 0;
return cumulativeOffset - roundToInt(cumulativeOffset - firstPageLogicalTop) % roundToInt(pageLogicalHeight);
}
- return enclosingRenderFlowThread()->regionLogicalTopForLine(cumulativeOffset);
+ return enclosingRenderFlowThread()->pageLogicalTopForOffset(cumulativeOffset);
}
LayoutUnit RenderBlock::pageLogicalHeightForOffset(LayoutUnit offset) const
@@ -6946,7 +6986,7 @@ LayoutUnit RenderBlock::pageLogicalHeightForOffset(LayoutUnit offset) const
RenderView* renderView = view();
if (!inRenderFlowThread())
return renderView->layoutState()->m_pageLogicalHeight;
- return enclosingRenderFlowThread()->regionLogicalHeightForLine(offset + offsetFromLogicalTopOfFirstPage());
+ return enclosingRenderFlowThread()->pageLogicalHeightForOffset(offset + offsetFromLogicalTopOfFirstPage());
}
LayoutUnit RenderBlock::pageRemainingLogicalHeightForOffset(LayoutUnit offset, PageBoundaryRule pageBoundaryRule) const
@@ -6965,7 +7005,7 @@ LayoutUnit RenderBlock::pageRemainingLogicalHeightForOffset(LayoutUnit offset, P
return remainingHeight;
}
- return enclosingRenderFlowThread()->regionRemainingLogicalHeightForLine(offset, pageBoundaryRule);
+ return enclosingRenderFlowThread()->pageRemainingLogicalHeightForOffset(offset, pageBoundaryRule);
}
LayoutUnit RenderBlock::adjustForUnsplittableChild(RenderBox* child, LayoutUnit logicalOffset, bool includeMargins)
@@ -7172,7 +7212,7 @@ RenderRegion* RenderBlock::regionAtBlockOffset(LayoutUnit blockOffset) const
if (!flowThread || !flowThread->hasValidRegionInfo())
return 0;
- return flowThread->renderRegionForLine(offsetFromLogicalTopOfFirstPage() + blockOffset, true);
+ return flowThread->regionAtBlockOffset(offsetFromLogicalTopOfFirstPage() + blockOffset, true);
}
void RenderBlock::setStaticInlinePositionForChild(RenderBox* child, LayoutUnit blockOffset, LayoutUnit inlinePosition)
@@ -7329,6 +7369,8 @@ const char* RenderBlock::renderName() const
return "RenderBlock (generated)";
if (isRelPositioned())
return "RenderBlock (relative positioned)";
+ if (isStickyPositioned())
+ return "RenderBlock (sticky positioned)";
if (isRunIn())
return "RenderBlock (run-in)";
return "RenderBlock";
diff --git a/Source/WebCore/rendering/RenderBlock.h b/Source/WebCore/rendering/RenderBlock.h
index a31b26ed6..a33eeaf5b 100644
--- a/Source/WebCore/rendering/RenderBlock.h
+++ b/Source/WebCore/rendering/RenderBlock.h
@@ -29,16 +29,20 @@
#include "RenderBox.h"
#include "RenderLineBoxList.h"
#include "RootInlineBox.h"
+#include "TextBreakIterator.h"
#include "TextRun.h"
#include <wtf/OwnPtr.h>
#include <wtf/ListHashSet.h>
+#if ENABLE(CSS_EXCLUSIONS)
+#include "WrapShapeInfo.h"
+#endif
+
namespace WebCore {
class BidiContext;
class InlineIterator;
class LayoutStateMaintainer;
-class LazyLineBreakIterator;
class LineLayoutState;
class LineWidth;
class RenderInline;
@@ -48,6 +52,7 @@ struct BidiRun;
struct PaintInfo;
class LineInfo;
class RenderRubyRun;
+class TextLayout;
template <class Iterator, class Run> class BidiResolver;
template <class Run> class BidiRunList;
@@ -195,7 +200,7 @@ public:
: logicalWidth() - logicalRightOffsetForLine(position, firstLine, logicalHeight);
}
- LayoutUnit startAlignedOffsetForLine(RenderBox* child, LayoutUnit position, bool firstLine);
+ LayoutUnit startAlignedOffsetForLine(LayoutUnit position, bool firstLine);
LayoutUnit textIndentOffset() const;
virtual VisiblePosition positionForPoint(const LayoutPoint&);
@@ -229,7 +234,7 @@ public:
void adjustRectForColumns(LayoutRect&) const;
virtual void adjustForColumns(LayoutSize&, const LayoutPoint&) const;
- void adjustForColumnRect(LayoutSize& offset, const LayoutPoint& pointInContainer) const;
+ void adjustForColumnRect(LayoutSize& offset, const LayoutPoint& locationInContainer) const;
void addContinuationWithOutline(RenderInline*);
bool paintsContinuationOutline(RenderInline*);
@@ -396,6 +401,13 @@ public:
void showLineTreeAndMark(const InlineBox* = 0, const char* = 0, const InlineBox* = 0, const char* = 0, const RenderObject* = 0) const;
#endif
+#if ENABLE(CSS_EXCLUSIONS)
+ WrapShapeInfo* wrapShapeInfo() const
+ {
+ return style()->wrapShapeInside() && WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock(this) ? WrapShapeInfo::wrapShapeInfoForRenderBlock(this) : 0;
+ }
+#endif
+
protected:
virtual void willBeDestroyed();
@@ -431,7 +443,7 @@ protected:
virtual ETextAlign textAlignmentForLine(bool endsWithSoftBreak) const;
virtual void adjustInlineDirectionLineBounds(int /* expansionOpportunityCount */, float& /* logicalLeft */, float& /* logicalWidth */) const { }
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual void computePreferredLogicalWidths();
@@ -485,6 +497,9 @@ protected:
virtual void checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalHeight, bool& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight);
private:
+#if ENABLE(CSS_EXCLUSIONS)
+ void updateWrapShapeInfoAfterStyleChange(const BasicShape*, const BasicShape* oldWrapShape);
+#endif
virtual RenderObjectChildList* virtualChildren() { return children(); }
virtual const RenderObjectChildList* virtualChildren() const { return children(); }
@@ -692,7 +707,16 @@ private:
LayoutPoint computeLogicalLocationForFloat(const FloatingObject*, LayoutUnit logicalTopOffset) const;
// The following functions' implementations are in RenderBlockLineLayout.cpp.
- typedef std::pair<RenderText*, LazyLineBreakIterator> LineBreakIteratorInfo;
+ struct RenderTextInfo {
+ // Destruction of m_layout requires TextLayout to be a complete type, so the constructor and destructor are made non-inline to avoid compilation errors.
+ RenderTextInfo();
+ ~RenderTextInfo();
+
+ RenderText* m_text;
+ OwnPtr<TextLayout> m_layout;
+ LazyLineBreakIterator m_lineBreakIterator;
+ };
+
class LineBreaker {
public:
LineBreaker(RenderBlock* block)
@@ -701,7 +725,7 @@ private:
reset();
}
- InlineIterator nextLineBreak(InlineBidiResolver&, LineInfo&, LineBreakIteratorInfo&, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines);
+ InlineIterator nextLineBreak(InlineBidiResolver&, LineInfo&, RenderTextInfo&, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines);
bool lineWasHyphenated() { return m_hyphenated; }
const Vector<RenderBox*>& positionedObjects() { return m_positionedObjects; }
@@ -770,11 +794,11 @@ private:
LayoutUnit lowestFloatLogicalBottom(FloatingObject::Type = FloatingObject::FloatLeftRight) const;
LayoutUnit nextFloatLogicalBottomBelow(LayoutUnit) const;
- virtual bool hitTestColumns(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
- virtual bool hitTestContents(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
- bool hitTestFloats(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset);
+ virtual bool hitTestColumns(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
+ virtual bool hitTestContents(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
+ bool hitTestFloats(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset);
- virtual bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset);
+ virtual bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& locationInContainer, const LayoutPoint& accumulatedOffset);
void computeInlinePreferredLogicalWidths();
void computeBlockPreferredLogicalWidths();
@@ -906,6 +930,7 @@ private:
bool canCollapseWithMarginAfter() const { return m_atAfterSideOfBlock && m_canCollapseMarginAfterWithChildren; }
bool canCollapseMarginBeforeWithChildren() const { return m_canCollapseMarginBeforeWithChildren; }
bool canCollapseMarginAfterWithChildren() const { return m_canCollapseMarginAfterWithChildren; }
+ void setCanCollapseMarginAfterWithChildren(bool collapse) { m_canCollapseMarginAfterWithChildren = collapse; }
bool quirkContainer() const { return m_quirkContainer; }
bool determinedMarginBeforeQuirk() const { return m_determinedMarginBeforeQuirk; }
bool marginBeforeQuirk() const { return m_marginBeforeQuirk; }
diff --git a/Source/WebCore/rendering/RenderBlockLineLayout.cpp b/Source/WebCore/rendering/RenderBlockLineLayout.cpp
index 55377d986..c0c3404ad 100755
--- a/Source/WebCore/rendering/RenderBlockLineLayout.cpp
+++ b/Source/WebCore/rendering/RenderBlockLineLayout.cpp
@@ -36,7 +36,6 @@
#include "RenderRubyRun.h"
#include "RenderView.h"
#include "Settings.h"
-#include "TextBreakIterator.h"
#include "TrailingFloatsRootInlineBox.h"
#include "VerticalPositionCache.h"
#include "break_lines.h"
@@ -46,6 +45,10 @@
#include <wtf/Vector.h>
#include <wtf/unicode/CharacterNames.h>
+#if ENABLE(CSS_EXCLUSIONS)
+#include "WrapShapeInfo.h"
+#endif
+
#if ENABLE(SVG)
#include "RenderSVGInlineText.h"
#include "SVGRootInlineBox.h"
@@ -70,9 +73,21 @@ public:
, m_left(0)
, m_right(0)
, m_availableWidth(0)
+#if ENABLE(CSS_EXCLUSIONS)
+ , m_segment(0)
+#endif
, m_isFirstLine(isFirstLine)
{
ASSERT(block);
+#if ENABLE(CSS_EXCLUSIONS)
+ WrapShapeInfo* wrapShapeInfo = m_block->wrapShapeInfo();
+ // FIXME: Bug 91878: Add support for multiple segments, currently we only support one
+ if (wrapShapeInfo && wrapShapeInfo->lineState() == WrapShapeInfo::LINE_INSIDE_SHAPE) {
+ // All interior shape positions should have at least one segment
+ ASSERT(wrapShapeInfo->hasSegments());
+ m_segment = &wrapShapeInfo->segments()[0];
+ }
+#endif
updateAvailableWidth();
}
#if ENABLE(SUBPIXEL_LAYOUT)
@@ -114,6 +129,9 @@ private:
float m_left;
float m_right;
float m_availableWidth;
+#if ENABLE(CSS_EXCLUSIONS)
+ const LineSegment* m_segment;
+#endif
bool m_isFirstLine;
};
@@ -138,6 +156,13 @@ inline void LineWidth::updateAvailableWidth()
m_left = m_block->logicalLeftOffsetForLine(height, m_isFirstLine, logicalHeight);
m_right = m_block->logicalRightOffsetForLine(height, m_isFirstLine, logicalHeight);
+#if ENABLE(CSS_EXCLUSIONS)
+ if (m_segment) {
+ m_left = max<float>(m_segment->logicalLeft, m_left);
+ m_right = min<float>(m_segment->logicalRight, m_right);
+ }
+#endif
+
computeAvailableWidthFromLeftAndRight();
}
@@ -397,9 +422,9 @@ static inline InlineBox* createInlineBoxForRenderer(RenderObject* obj, bool isRo
static inline void dirtyLineBoxesForRenderer(RenderObject* o, bool fullLayout)
{
if (o->isText()) {
- if (o->preferredLogicalWidthsDirty() && (o->isCounter() || o->isQuote()))
- toRenderText(o)->computePreferredLogicalWidths(0); // FIXME: Counters depend on this hack. No clue why. Should be investigated and removed.
- toRenderText(o)->dirtyLineBoxes(fullLayout);
+ RenderText* renderText = toRenderText(o);
+ renderText->updateTextIfNeeded(); // FIXME: Counters depend on this hack. No clue why. Should be investigated and removed.
+ renderText->dirtyLineBoxes(fullLayout);
} else
toRenderInline(o)->dirtyLineBoxes(fullLayout);
}
@@ -777,7 +802,15 @@ void RenderBlock::computeInlineDirectionPositionsForLine(RootInlineBox* lineBox,
// box is only affected if it is the first child of its parent element."
bool firstLine = lineInfo.isFirstLine() && !(isAnonymousBlock() && parent()->firstChild() != this);
float logicalLeft = pixelSnappedLogicalLeftOffsetForLine(logicalHeight(), firstLine, lineLogicalHeight);
- float availableLogicalWidth = pixelSnappedLogicalRightOffsetForLine(logicalHeight(), firstLine, lineLogicalHeight) - logicalLeft;
+ float logicalRight = pixelSnappedLogicalRightOffsetForLine(logicalHeight(), firstLine, lineLogicalHeight);
+#if ENABLE(CSS_EXCLUSIONS)
+ WrapShapeInfo* wrapShapeInfo = this->wrapShapeInfo();
+ if (wrapShapeInfo && wrapShapeInfo->lineState() == WrapShapeInfo::LINE_INSIDE_SHAPE) {
+ logicalLeft = max<float>(roundToInt(wrapShapeInfo->segments()[0].logicalLeft), logicalLeft);
+ logicalRight = min<float>(floorToInt(wrapShapeInfo->segments()[0].logicalRight), logicalRight);
+ }
+#endif
+ float availableLogicalWidth = logicalRight - logicalLeft;
bool needsWordSpacing = false;
float totalLogicalWidth = lineBox->getFlowSpacingLogicalWidth();
@@ -888,12 +921,12 @@ static void setStaticPositions(RenderBlock* block, RenderBox* child)
// A relative positioned inline encloses us. In this case, we also have to determine our
// position as though we were an inline. Set |staticInlinePosition| and |staticBlockPosition| on the relative positioned
// inline so that we can obtain the value later.
- toRenderInline(containerBlock)->layer()->setStaticInlinePosition(block->startAlignedOffsetForLine(child, blockHeight, false));
+ toRenderInline(containerBlock)->layer()->setStaticInlinePosition(block->startAlignedOffsetForLine(blockHeight, false));
toRenderInline(containerBlock)->layer()->setStaticBlockPosition(blockHeight);
}
if (child->style()->isOriginalDisplayInlineType())
- block->setStaticInlinePositionForChild(child, blockHeight, block->startAlignedOffsetForLine(child, blockHeight, false));
+ block->setStaticInlinePositionForChild(child, blockHeight, block->startAlignedOffsetForLine(blockHeight, false));
else
block->setStaticInlinePositionForChild(child, blockHeight, block->startOffsetForContent(blockHeight));
child->layer()->setStaticBlockPosition(blockHeight);
@@ -1240,6 +1273,15 @@ void RenderBlock::layoutRunsAndFloats(LineLayoutState& layoutState, bool hasInli
repaintDirtyFloats(layoutState.floats());
}
+RenderBlock::RenderTextInfo::RenderTextInfo()
+ : m_text(0)
+{
+}
+
+RenderBlock::RenderTextInfo::~RenderTextInfo()
+{
+}
+
void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, InlineBidiResolver& resolver, const InlineIterator& cleanLineStart, const BidiStatus& cleanLineBidiStatus, unsigned consecutiveHyphenatedLines)
{
RenderStyle* styleToUse = style();
@@ -1247,11 +1289,18 @@ void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, Inlin
LineMidpointState& lineMidpointState = resolver.midpointState();
InlineIterator end = resolver.position();
bool checkForEndLineMatch = layoutState.endLine();
- LineBreakIteratorInfo lineBreakIteratorInfo;
+ RenderTextInfo renderTextInfo;
VerticalPositionCache verticalPositionCache;
LineBreaker lineBreaker(this);
+#if ENABLE(CSS_EXCLUSIONS)
+ WrapShapeInfo* wrapShapeInfo = this->wrapShapeInfo();
+ // Move to the top of the shape inside to begin layout
+ if (wrapShapeInfo && logicalHeight() < wrapShapeInfo->shapeTop())
+ setLogicalHeight(wrapShapeInfo->shapeTop());
+#endif
+
while (!end.atEnd()) {
// FIXME: Is this check necessary before the first iteration or can it be moved to the end?
if (checkForEndLineMatch) {
@@ -1270,7 +1319,13 @@ void RenderBlock::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, Inlin
const InlineIterator oldEnd = end;
bool isNewUBAParagraph = layoutState.lineInfo().previousLineBrokeCleanly();
FloatingObject* lastFloatFromPreviousLine = (m_floatingObjects && !m_floatingObjects->set().isEmpty()) ? m_floatingObjects->set().last() : 0;
- end = lineBreaker.nextLineBreak(resolver, layoutState.lineInfo(), lineBreakIteratorInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines);
+#if ENABLE(CSS_EXCLUSIONS)
+ // FIXME: Bug 89993: If the wrap shape comes from a parent, we will need to adjust
+ // the height coordinate
+ if (wrapShapeInfo)
+ wrapShapeInfo->computeSegmentsForLine(logicalHeight());
+#endif
+ end = lineBreaker.nextLineBreak(resolver, layoutState.lineInfo(), renderTextInfo, lastFloatFromPreviousLine, consecutiveHyphenatedLines);
if (resolver.position().atEnd()) {
// FIXME: We shouldn't be creating any runs in nextLineBreak to begin with!
// Once BidiRunList is separated from BidiResolver this will not be needed.
@@ -1970,11 +2025,14 @@ static bool shouldSkipWhitespaceAfterStartObject(RenderBlock* block, RenderObjec
return false;
}
-static inline float textWidth(RenderText* text, unsigned from, unsigned len, const Font& font, float xPos, bool isFixedPitch, bool collapseWhiteSpace)
+static inline float textWidth(RenderText* text, unsigned from, unsigned len, const Font& font, float xPos, bool isFixedPitch, bool collapseWhiteSpace, TextLayout* layout = 0)
{
if (isFixedPitch || (!from && len == text->textLength()) || text->style()->hasTextCombine())
return text->width(from, len, font, xPos);
+ if (layout)
+ return Font::width(*layout, from, len);
+
TextRun run = RenderBlock::constructTextRun(text, font, text->characters() + from, len, text->style());
run.setCharactersLength(text->textLength() - from);
ASSERT(run.charactersLength() >= run.length());
@@ -2136,8 +2194,7 @@ void RenderBlock::LineBreaker::reset()
m_clear = CNONE;
}
-InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resolver, LineInfo& lineInfo,
- LineBreakIteratorInfo& lineBreakIteratorInfo, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines)
+InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resolver, LineInfo& lineInfo, RenderTextInfo& renderTextInfo, FloatingObject* lastFloatFromPreviousLine, unsigned consecutiveHyphenatedLines)
{
reset();
@@ -2376,6 +2433,14 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
ASSERT(current.m_pos == t->textLength());
}
+ if (renderTextInfo.m_text != t) {
+ t->updateTextIfNeeded();
+ renderTextInfo.m_text = t;
+ renderTextInfo.m_layout = f.createLayout(t, width.currentWidth(), collapseWhiteSpace);
+ renderTextInfo.m_lineBreakIterator.reset(t->characters(), t->textLength(), style->locale());
+ }
+ TextLayout* textLayout = renderTextInfo.m_layout.get();
+
for (; current.m_pos < t->textLength(); current.fastIncrementInTextNode()) {
bool previousCharacterIsSpace = currentCharacterIsSpace;
bool previousCharacterIsWS = currentCharacterIsWS;
@@ -2397,16 +2462,11 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
if ((breakAll || breakWords) && !midWordBreak) {
wrapW += charWidth;
bool midWordBreakIsBeforeSurrogatePair = U16_IS_LEAD(c) && current.m_pos + 1 < t->textLength() && U16_IS_TRAIL(t->characters()[current.m_pos + 1]);
- charWidth = textWidth(t, current.m_pos, midWordBreakIsBeforeSurrogatePair ? 2 : 1, f, width.committedWidth() + wrapW, isFixedPitch, collapseWhiteSpace);
+ charWidth = textWidth(t, current.m_pos, midWordBreakIsBeforeSurrogatePair ? 2 : 1, f, width.committedWidth() + wrapW, isFixedPitch, collapseWhiteSpace, textLayout);
midWordBreak = width.committedWidth() + wrapW + charWidth > width.availableWidth();
}
- if ((lineBreakIteratorInfo.first != t) || (lineBreakIteratorInfo.second.string() != t->characters())) {
- lineBreakIteratorInfo.first = t;
- lineBreakIteratorInfo.second.reset(t->characters(), t->textLength(), style->locale());
- }
-
- bool betweenWords = c == '\n' || (currWS != PRE && !atStart && isBreakable(lineBreakIteratorInfo.second, current.m_pos, current.m_nextBreakablePosition, breakNBSP)
+ bool betweenWords = c == '\n' || (currWS != PRE && !atStart && isBreakable(renderTextInfo.m_lineBreakIterator, current.m_pos, current.m_nextBreakablePosition, breakNBSP)
&& (style->hyphens() != HyphensNone || (current.previousInSameNode() != softHyphen)));
if (betweenWords || midWordBreak) {
@@ -2428,9 +2488,9 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
float additionalTmpW;
if (wordTrailingSpaceWidth && currentCharacterIsSpace)
- additionalTmpW = textWidth(t, lastSpace, current.m_pos + 1 - lastSpace, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace) - wordTrailingSpaceWidth + lastSpaceWordSpacing;
+ additionalTmpW = textWidth(t, lastSpace, current.m_pos + 1 - lastSpace, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace, textLayout) - wordTrailingSpaceWidth + lastSpaceWordSpacing;
else
- additionalTmpW = textWidth(t, lastSpace, current.m_pos - lastSpace, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
+ additionalTmpW = textWidth(t, lastSpace, current.m_pos - lastSpace, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace, textLayout) + lastSpaceWordSpacing;
width.addUncommittedWidth(additionalTmpW);
if (!appliedStartWidth) {
width.addUncommittedWidth(inlineLogicalWidth(current.m_obj, true, false));
@@ -2447,7 +2507,7 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
// as candidate width for this line.
bool lineWasTooWide = false;
if (width.fitsOnLine() && currentCharacterIsWS && currentStyle->breakOnlyAfterWhiteSpace() && !midWordBreak) {
- float charWidth = textWidth(t, current.m_pos, 1, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace) + (applyWordSpacing ? wordSpacing : 0);
+ float charWidth = textWidth(t, current.m_pos, 1, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace, textLayout) + (applyWordSpacing ? wordSpacing : 0);
// Check if line is too big even without the extra space
// at the end of the line. If it is not, do nothing.
// If the line needs the extra whitespace to be too long,
@@ -2573,7 +2633,7 @@ InlineIterator RenderBlock::LineBreaker::nextLineBreak(InlineBidiResolver& resol
}
// IMPORTANT: current.m_pos is > length here!
- float additionalTmpW = ignoringSpaces ? 0 : textWidth(t, lastSpace, current.m_pos - lastSpace, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace) + lastSpaceWordSpacing;
+ float additionalTmpW = ignoringSpaces ? 0 : textWidth(t, lastSpace, current.m_pos - lastSpace, f, width.currentWidth(), isFixedPitch, collapseWhiteSpace, textLayout) + lastSpaceWordSpacing;
width.addUncommittedWidth(additionalTmpW + inlineLogicalWidth(current.m_obj, !appliedStartWidth, includeEndWidth));
includeEndWidth = false;
@@ -2830,7 +2890,7 @@ bool RenderBlock::positionNewFloatOnLine(FloatingObject* newFloat, FloatingObjec
return true;
}
-LayoutUnit RenderBlock::startAlignedOffsetForLine(RenderBox* child, LayoutUnit position, bool firstLine)
+LayoutUnit RenderBlock::startAlignedOffsetForLine(LayoutUnit position, bool firstLine)
{
ETextAlign textAlign = style()->textAlign();
@@ -2838,15 +2898,13 @@ LayoutUnit RenderBlock::startAlignedOffsetForLine(RenderBox* child, LayoutUnit p
return startOffsetForLine(position, firstLine);
// updateLogicalWidthForAlignment() handles the direction of the block so no need to consider it here
- float logicalLeft;
- float availableLogicalWidth;
- logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false);
- availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), false) - logicalLeft;
- float totalLogicalWidth = logicalWidthForChild(child);
+ float totalLogicalWidth = 0;
+ float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false);
+ float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), false) - logicalLeft;
updateLogicalWidthForAlignment(textAlign, 0, logicalLeft, totalLogicalWidth, availableLogicalWidth, 0);
if (!style()->isLeftToRightDirection())
- return logicalWidth() - (logicalLeft + totalLogicalWidth);
+ return logicalWidth() - logicalLeft;
return logicalLeft;
}
diff --git a/Source/WebCore/rendering/RenderBox.cpp b/Source/WebCore/rendering/RenderBox.cpp
index f16457b5e..792b9c28b 100644
--- a/Source/WebCore/rendering/RenderBox.cpp
+++ b/Source/WebCore/rendering/RenderBox.cpp
@@ -134,16 +134,7 @@ void RenderBox::willBeDestroyed()
{
clearOverrideSize();
- if (style()) {
- RenderBlock::removePercentHeightDescendantIfNeeded(this);
-
- if (RenderView* view = this->view()) {
- if (FrameView* frameView = view->frameView()) {
- if (style()->position() == FixedPosition)
- frameView->removeFixedObject(this);
- }
- }
- }
+ RenderBlock::removePercentHeightDescendantIfNeeded(this);
RenderBoxModelObject::willBeDestroyed();
}
@@ -205,17 +196,6 @@ void RenderBox::styleWillChange(StyleDifference diff, const RenderStyle* newStyl
} else if (newStyle && isBody())
view()->repaint();
- if (FrameView *frameView = view()->frameView()) {
- bool newStyleIsFixed = newStyle && newStyle->position() == FixedPosition;
- bool oldStyleIsFixed = oldStyle && oldStyle->position() == FixedPosition;
- if (newStyleIsFixed != oldStyleIsFixed) {
- if (newStyleIsFixed)
- frameView->addFixedObject(this);
- else
- frameView->removeFixedObject(this);
- }
- }
-
RenderBoxModelObject::styleWillChange(diff, newStyle);
}
@@ -433,7 +413,7 @@ void RenderBox::updateLayerTransform()
layer()->updateTransform();
}
-LayoutUnit RenderBox::constrainLogicalWidthInRegionByMinMax(LayoutUnit logicalWidth, LayoutUnit availableWidth, RenderBlock* cb, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage)
+LayoutUnit RenderBox::constrainLogicalWidthInRegionByMinMax(LayoutUnit logicalWidth, LayoutUnit availableWidth, RenderBlock* cb, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage) const
{
RenderStyle* styleToUse = style();
if (!styleToUse->logicalMaxWidth().isUndefined())
@@ -441,7 +421,7 @@ LayoutUnit RenderBox::constrainLogicalWidthInRegionByMinMax(LayoutUnit logicalWi
return max(logicalWidth, computeLogicalWidthInRegionUsing(MinSize, availableWidth, cb, region, offsetFromLogicalTopOfFirstPage));
}
-LayoutUnit RenderBox::constrainLogicalHeightByMinMax(LayoutUnit logicalHeight)
+LayoutUnit RenderBox::constrainLogicalHeightByMinMax(LayoutUnit logicalHeight) const
{
RenderStyle* styleToUse = style();
if (!styleToUse->logicalMaxHeight().isUndefined()) {
@@ -758,25 +738,25 @@ LayoutUnit RenderBox::computeContentBoxLogicalHeight(LayoutUnit height) const
}
// Hit Testing
-bool RenderBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+bool RenderBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
LayoutPoint adjustedLocation = accumulatedOffset + location();
// Check kids first.
for (RenderObject* child = lastChild(); child; child = child->previousSibling()) {
- if (!child->hasLayer() && child->nodeAtPoint(request, result, pointInContainer, adjustedLocation, action)) {
- updateHitTestResult(result, pointInContainer.point() - toLayoutSize(adjustedLocation));
+ if (!child->hasLayer() && child->nodeAtPoint(request, result, locationInContainer, adjustedLocation, action)) {
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
return true;
}
}
// Check our bounds next. For this purpose always assume that we can only be hit in the
// foreground phase (which is true for replaced elements like images).
- LayoutRect boundsRect = borderBoxRectInRegion(pointInContainer.region());
+ LayoutRect boundsRect = borderBoxRectInRegion(locationInContainer.region());
boundsRect.moveBy(adjustedLocation);
- if (visibleToHitTesting() && action == HitTestForeground && pointInContainer.intersects(boundsRect)) {
- updateHitTestResult(result, pointInContainer.point() - toLayoutSize(adjustedLocation));
- if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect))
+ if (visibleToHitTesting() && action == HitTestForeground && locationInContainer.intersects(boundsRect)) {
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
@@ -1171,7 +1151,7 @@ LayoutRect RenderBox::clipRect(const LayoutPoint& location, RenderRegion* region
return clipRect;
}
-LayoutUnit RenderBox::shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, LayoutUnit childMarginEnd, const RenderBlock* cb, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage)
+LayoutUnit RenderBox::shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, LayoutUnit childMarginEnd, const RenderBlock* cb, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage) const
{
RenderRegion* containingBlockRegion = 0;
LayoutUnit logicalTopPosition = logicalTop();
@@ -1374,9 +1354,6 @@ const RenderObject* RenderBox::pushMappingToContainer(const RenderBoxModelObject
void RenderBox::mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState& transformState) const
{
- // We don't expect absoluteToLocal() to be called during layout (yet)
- ASSERT(!view() || !view()->layoutStateEnabled());
-
bool isFixedPos = style()->position() == FixedPosition;
bool hasTransform = hasLayer() && layer()->transform();
if (hasTransform) {
@@ -1577,7 +1554,7 @@ void RenderBox::computeRectForRepaint(RenderBoxModelObject* repaintContainer, La
if (position == AbsolutePosition && o->isInFlowPositioned() && o->isRenderInline())
topLeft += toRenderInline(o)->offsetForInFlowPositionedInline(this);
- else if ((position == RelativePosition) && layer()) {
+ else if ((position == RelativePosition || position == StickyPosition) && layer()) {
// Apply the relative position offset when invalidating a rectangle. The layer
// is translated, but the render box isn't, so we need to do this to get the
// right dirty rect. Since this is called from RenderObject::setStyle, the relative position
@@ -1640,15 +1617,26 @@ void RenderBox::repaintDuringLayoutIfMoved(const LayoutRect& oldRect)
void RenderBox::computeLogicalWidth()
{
- computeLogicalWidthInRegion();
+ LogicalExtentComputedValues computedValues;
+ computeLogicalWidthInRegion(computedValues);
+
+ setLogicalWidth(computedValues.m_extent);
+ setLogicalLeft(computedValues.m_position);
+ setMarginStart(computedValues.m_margins.m_start);
+ setMarginEnd(computedValues.m_margins.m_end);
}
-void RenderBox::computeLogicalWidthInRegion(RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage)
+void RenderBox::computeLogicalWidthInRegion(LogicalExtentComputedValues& computedValues, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage) const
{
+ computedValues.m_extent = logicalWidth();
+ computedValues.m_position = logicalLeft();
+ computedValues.m_margins.m_start = marginStart();
+ computedValues.m_margins.m_end = marginEnd();
+
if (isOutOfFlowPositioned()) {
// FIXME: This calculation is not patched for block-flow yet.
// https://bugs.webkit.org/show_bug.cgi?id=46500
- computePositionedLogicalWidth(region, offsetFromLogicalTopOfFirstPage);
+ computePositionedLogicalWidth(computedValues, region, offsetFromLogicalTopOfFirstPage);
return;
}
@@ -1661,7 +1649,7 @@ void RenderBox::computeLogicalWidthInRegion(RenderRegion* region, LayoutUnit off
// FIXME: Account for block-flow in flexible boxes.
// https://bugs.webkit.org/show_bug.cgi?id=46418
if (hasOverrideWidth() && parent()->isFlexibleBoxIncludingDeprecated()) {
- setLogicalWidth(overrideLogicalContentWidth() + borderAndPaddingLogicalWidth());
+ computedValues.m_extent = overrideLogicalContentWidth() + borderAndPaddingLogicalWidth();
return;
}
@@ -1672,7 +1660,7 @@ void RenderBox::computeLogicalWidthInRegion(RenderRegion* region, LayoutUnit off
bool treatAsReplaced = shouldComputeSizeAsReplaced() && (!inVerticalBox || !stretching);
RenderStyle* styleToUse = style();
- Length logicalWidthLength = (treatAsReplaced) ? Length(computeReplacedLogicalWidth(), Fixed) : styleToUse->logicalWidth();
+ Length logicalWidthLength = treatAsReplaced ? Length(computeReplacedLogicalWidth(), Fixed) : styleToUse->logicalWidth();
RenderBlock* cb = containingBlock();
LayoutUnit containerLogicalWidth = max<LayoutUnit>(0, containingBlockLogicalWidthForContentInRegion(region, offsetFromLogicalTopOfFirstPage));
@@ -1684,44 +1672,53 @@ void RenderBox::computeLogicalWidthInRegion(RenderRegion* region, LayoutUnit off
if (isInline() && !isInlineBlockOrInlineTable()) {
// just calculate margins
RenderView* renderView = view();
- setMarginStart(minimumValueForLength(styleToUse->marginStart(), containerLogicalWidth, renderView));
- setMarginEnd(minimumValueForLength(styleToUse->marginEnd(), containerLogicalWidth, renderView));
+ computedValues.m_margins.m_start = minimumValueForLength(styleToUse->marginStart(), containerLogicalWidth, renderView);
+ computedValues.m_margins.m_end = minimumValueForLength(styleToUse->marginEnd(), containerLogicalWidth, renderView);
if (treatAsReplaced)
- setLogicalWidth(max<LayoutUnit>(floatValueForLength(logicalWidthLength, 0) + borderAndPaddingLogicalWidth(), minPreferredLogicalWidth()));
+ computedValues.m_extent = max<LayoutUnit>(floatValueForLength(logicalWidthLength, 0) + borderAndPaddingLogicalWidth(), minPreferredLogicalWidth());
return;
}
// Width calculations
if (treatAsReplaced)
- setLogicalWidth(logicalWidthLength.value() + borderAndPaddingLogicalWidth());
+ computedValues.m_extent = logicalWidthLength.value() + borderAndPaddingLogicalWidth();
else {
LayoutUnit preferredWidth = computeLogicalWidthInRegionUsing(MainOrPreferredSize, containerWidthInInlineDirection, cb, region, offsetFromLogicalTopOfFirstPage);
- setLogicalWidth(constrainLogicalWidthInRegionByMinMax(preferredWidth, containerWidthInInlineDirection, cb, region, offsetFromLogicalTopOfFirstPage));
+ computedValues.m_extent = constrainLogicalWidthInRegionByMinMax(preferredWidth, containerWidthInInlineDirection, cb, region, offsetFromLogicalTopOfFirstPage);
}
// Fieldsets are currently the only objects that stretch to their minimum width.
if (stretchesToMinIntrinsicLogicalWidth())
- setLogicalWidth(max(logicalWidth(), minPreferredLogicalWidth()));
+ computedValues.m_extent = max(computedValues.m_extent, minPreferredLogicalWidth());
// Margin calculations.
if (hasPerpendicularContainingBlock || isFloating() || isInline()) {
RenderView* renderView = view();
- setMarginStart(minimumValueForLength(styleToUse->marginStart(), containerLogicalWidth, renderView));
- setMarginEnd(minimumValueForLength(styleToUse->marginEnd(), containerLogicalWidth, renderView));
+ computedValues.m_margins.m_start = minimumValueForLength(styleToUse->marginStart(), containerLogicalWidth, renderView);
+ computedValues.m_margins.m_end = minimumValueForLength(styleToUse->marginEnd(), containerLogicalWidth, renderView);
} else {
LayoutUnit containerLogicalWidthForAutoMargins = containerLogicalWidth;
if (avoidsFloats() && cb->containsFloats())
containerLogicalWidthForAutoMargins = containingBlockAvailableLineWidthInRegion(region, offsetFromLogicalTopOfFirstPage);
- computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth());
+ bool hasInvertedDirection = cb->style()->isLeftToRightDirection() != style()->isLeftToRightDirection();
+ computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, computedValues.m_extent,
+ hasInvertedDirection ? computedValues.m_margins.m_end : computedValues.m_margins.m_start,
+ hasInvertedDirection ? computedValues.m_margins.m_start : computedValues.m_margins.m_end);
}
- if (!hasPerpendicularContainingBlock && containerLogicalWidth && containerLogicalWidth != (logicalWidth() + marginStart() + marginEnd())
- && !isFloating() && !isInline() && !cb->isFlexibleBoxIncludingDeprecated())
- cb->setMarginEndForChild(this, containerLogicalWidth - logicalWidth() - cb->marginStartForChild(this));
+ if (!hasPerpendicularContainingBlock && containerLogicalWidth && containerLogicalWidth != (computedValues.m_extent + computedValues.m_margins.m_start + computedValues.m_margins.m_end)
+ && !isFloating() && !isInline() && !cb->isFlexibleBoxIncludingDeprecated()) {
+ LayoutUnit newMargin = containerLogicalWidth - computedValues.m_extent - cb->marginStartForChild(this);
+ bool hasInvertedDirection = cb->style()->isLeftToRightDirection() != style()->isLeftToRightDirection();
+ if (hasInvertedDirection)
+ computedValues.m_margins.m_start = newMargin;
+ else
+ computedValues.m_margins.m_end = newMargin;
+ }
}
LayoutUnit RenderBox::computeLogicalWidthInRegionUsing(SizeType widthType, LayoutUnit availableLogicalWidth,
- const RenderBlock* cb, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage)
+ const RenderBlock* cb, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage) const
{
RenderStyle* styleToUse = style();
Length logicalWidth;
@@ -1820,7 +1817,7 @@ bool RenderBox::sizesLogicalWidthToFitContent(SizeType widthType) const
return false;
}
-void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth)
+void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUnit& marginStart, LayoutUnit& marginEnd) const
{
const RenderStyle* containingBlockStyle = containingBlock->style();
Length marginStartLength = style()->marginStartUsing(containingBlockStyle);
@@ -1829,8 +1826,8 @@ void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, Layo
if (isFloating() || isInline()) {
// Inline blocks/tables and floats don't have their margins increased.
- containingBlock->setMarginStartForChild(this, minimumValueForLength(marginStartLength, containerWidth, renderView));
- containingBlock->setMarginEndForChild(this, minimumValueForLength(marginEndLength, containerWidth, renderView));
+ marginStart = minimumValueForLength(marginStartLength, containerWidth, renderView);
+ marginEnd = minimumValueForLength(marginEndLength, containerWidth, renderView);
return;
}
@@ -1841,15 +1838,15 @@ void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, Layo
LayoutUnit marginStartWidth = minimumValueForLength(marginStartLength, containerWidth, renderView);
LayoutUnit marginEndWidth = minimumValueForLength(marginEndLength, containerWidth, renderView);
LayoutUnit centeredMarginBoxStart = max<LayoutUnit>(0, (containerWidth - childWidth - marginStartWidth - marginEndWidth) / 2);
- containingBlock->setMarginStartForChild(this, centeredMarginBoxStart + marginStartWidth);
- containingBlock->setMarginEndForChild(this, containerWidth - childWidth - containingBlock->marginStartForChild(this) + marginEndWidth);
+ marginStart = centeredMarginBoxStart + marginStartWidth;
+ marginEnd = containerWidth - childWidth - marginStart + marginEndWidth;
return;
}
// Case Two: The object is being pushed to the start of the containing block's available logical width.
if (marginEndLength.isAuto() && childWidth < containerWidth) {
- containingBlock->setMarginStartForChild(this, valueForLength(marginStartLength, containerWidth, renderView));
- containingBlock->setMarginEndForChild(this, containerWidth - childWidth - containingBlock->marginStartForChild(this));
+ marginStart = valueForLength(marginStartLength, containerWidth, renderView);
+ marginEnd = containerWidth - childWidth - marginStart;
return;
}
@@ -1857,15 +1854,15 @@ void RenderBox::computeInlineDirectionMargins(RenderBlock* containingBlock, Layo
bool pushToEndFromTextAlign = !marginEndLength.isAuto() && ((!containingBlockStyle->isLeftToRightDirection() && containingBlockStyle->textAlign() == WEBKIT_LEFT)
|| (containingBlockStyle->isLeftToRightDirection() && containingBlockStyle->textAlign() == WEBKIT_RIGHT));
if ((marginStartLength.isAuto() && childWidth < containerWidth) || pushToEndFromTextAlign) {
- containingBlock->setMarginEndForChild(this, valueForLength(marginEndLength, containerWidth, renderView));
- containingBlock->setMarginStartForChild(this, containerWidth - childWidth - containingBlock->marginEndForChild(this));
+ marginEnd = valueForLength(marginEndLength, containerWidth, renderView);
+ marginStart = containerWidth - childWidth - marginEnd;
return;
}
// Case Four: Either no auto margins, or our width is >= the container width (css2.1, 10.3.3). In that case
// auto margins will just turn into 0.
- containingBlock->setMarginStartForChild(this, minimumValueForLength(marginStartLength, containerWidth, renderView));
- containingBlock->setMarginEndForChild(this, minimumValueForLength(marginEndLength, containerWidth, renderView));
+ marginStart = minimumValueForLength(marginStartLength, containerWidth, renderView);
+ marginEnd = minimumValueForLength(marginEndLength, containerWidth, renderView);
}
RenderBoxRegionInfo* RenderBox::renderBoxRegionInfo(RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage, RenderBoxRegionInfoFlags cacheFlag) const
@@ -1887,21 +1884,12 @@ RenderBoxRegionInfo* RenderBox::renderBoxRegionInfo(RenderRegion* region, Layout
|| isTableCell() || !isBlockFlow() || isRenderFlowThread())
return 0;
- // FIXME: It's gross to cast away the const, but it would be a huge refactoring to
- // change all width computation to avoid updating any member variables, and it would be pretty lame to
- // make all the variables mutable as well.
RenderFlowThread* flowThread = enclosingRenderFlowThread();
if (flowThread->style()->writingMode() != style()->writingMode())
return 0;
- LayoutUnit oldLogicalWidth = logicalWidth();
- LayoutUnit oldLogicalLeft = logicalLeft();
- LayoutUnit oldMarginStart = marginStart();
- LayoutUnit oldMarginEnd = marginEnd();
-
- RenderBox* mutableBox = const_cast<RenderBox*>(this);
-
- mutableBox->computeLogicalWidthInRegion(region, offsetFromLogicalTopOfFirstPage);
+ LogicalExtentComputedValues computedValues;
+ computeLogicalWidthInRegion(computedValues, region, offsetFromLogicalTopOfFirstPage);
// Now determine the insets based off where this object is supposed to be positioned.
RenderBlock* cb = containingBlock();
@@ -1911,22 +1899,16 @@ RenderBoxRegionInfo* RenderBox::renderBoxRegionInfo(RenderRegion* region, Layout
LayoutUnit containingBlockLogicalWidth = cb->logicalWidth();
LayoutUnit containingBlockLogicalWidthInRegion = containingBlockInfo ? containingBlockInfo->logicalWidth() : containingBlockLogicalWidth;
- LayoutUnit marginStartInRegion = marginStart();
- LayoutUnit startMarginDelta = marginStartInRegion - oldMarginStart;
- LayoutUnit logicalWidthInRegion = logicalWidth();
- LayoutUnit logicalLeftInRegion = logicalLeft();
- LayoutUnit widthDelta = logicalWidthInRegion - oldLogicalWidth;
- LayoutUnit logicalLeftDelta = isOutOfFlowPositioned() ? logicalLeftInRegion - oldLogicalLeft : startMarginDelta;
+ LayoutUnit marginStartInRegion = computedValues.m_margins.m_start;
+ LayoutUnit startMarginDelta = marginStartInRegion - marginStart();
+ LayoutUnit logicalWidthInRegion = computedValues.m_extent;
+ LayoutUnit logicalLeftInRegion = computedValues.m_position;
+ LayoutUnit widthDelta = logicalWidthInRegion - logicalWidth();
+ LayoutUnit logicalLeftDelta = isOutOfFlowPositioned() ? logicalLeftInRegion - logicalLeft() : startMarginDelta;
LayoutUnit logicalRightInRegion = containingBlockLogicalWidthInRegion - (logicalLeftInRegion + logicalWidthInRegion);
- LayoutUnit oldLogicalRight = containingBlockLogicalWidth - (oldLogicalLeft + oldLogicalWidth);
+ LayoutUnit oldLogicalRight = containingBlockLogicalWidth - (logicalLeft() + logicalWidth());
LayoutUnit logicalRightDelta = isOutOfFlowPositioned() ? logicalRightInRegion - oldLogicalRight : startMarginDelta;
- // Set our values back.
- mutableBox->setLogicalWidth(oldLogicalWidth);
- mutableBox->setLogicalLeft(oldLogicalLeft);
- mutableBox->setMarginStart(oldMarginStart);
- mutableBox->setMarginEnd(oldMarginEnd);
-
LayoutUnit logicalLeftOffset = 0;
if (!isOutOfFlowPositioned() && avoidsFloats() && cb->containsFloats()) {
@@ -1953,26 +1935,74 @@ RenderBoxRegionInfo* RenderBox::renderBoxRegionInfo(RenderRegion* region, Layout
return new RenderBoxRegionInfo(logicalLeftOffset, logicalWidthInRegion, isShifted);
}
+static bool shouldFlipBeforeAfterMargins(const RenderStyle* containingBlockStyle, const RenderStyle* childStyle)
+{
+ ASSERT(containingBlockStyle->isHorizontalWritingMode() != childStyle->isHorizontalWritingMode());
+ WritingMode childWritingMode = childStyle->writingMode();
+ bool shouldFlip = false;
+ switch (containingBlockStyle->writingMode()) {
+ case TopToBottomWritingMode:
+ shouldFlip = (childWritingMode == RightToLeftWritingMode);
+ break;
+ case BottomToTopWritingMode:
+ shouldFlip = (childWritingMode == RightToLeftWritingMode);
+ break;
+ case RightToLeftWritingMode:
+ shouldFlip = (childWritingMode == BottomToTopWritingMode);
+ break;
+ case LeftToRightWritingMode:
+ shouldFlip = (childWritingMode == BottomToTopWritingMode);
+ break;
+ }
+
+ if (!containingBlockStyle->isLeftToRightDirection())
+ shouldFlip = !shouldFlip;
+
+ return shouldFlip;
+}
+
void RenderBox::computeLogicalHeight()
{
+ LogicalExtentComputedValues computedValues;
+ computeLogicalHeight(computedValues);
+
+ setLogicalHeight(computedValues.m_extent);
+ setLogicalTop(computedValues.m_position);
+ setMarginBefore(computedValues.m_margins.m_before);
+ setMarginAfter(computedValues.m_margins.m_after);
+}
+
+void RenderBox::computeLogicalHeight(LogicalExtentComputedValues& computedValues) const
+{
+ computedValues.m_extent = logicalHeight();
+ computedValues.m_position = logicalTop();
+
// Cell height is managed by the table and inline non-replaced elements do not support a height property.
if (isTableCell() || (isInline() && !isReplaced()))
return;
Length h;
if (isOutOfFlowPositioned())
- computePositionedLogicalHeight();
+ computePositionedLogicalHeight(computedValues);
else {
RenderBlock* cb = containingBlock();
bool hasPerpendicularContainingBlock = cb->isHorizontalWritingMode() != isHorizontalWritingMode();
- if (!hasPerpendicularContainingBlock)
- computeBlockDirectionMargins(cb);
+ if (!hasPerpendicularContainingBlock) {
+ bool shouldFlipBeforeAfter = cb->style()->writingMode() != style()->writingMode();
+ computeBlockDirectionMargins(cb,
+ shouldFlipBeforeAfter ? computedValues.m_margins.m_after : computedValues.m_margins.m_before,
+ shouldFlipBeforeAfter ? computedValues.m_margins.m_before : computedValues.m_margins.m_after);
+ }
// For tables, calculate margins only.
if (isTable()) {
- if (hasPerpendicularContainingBlock)
- computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), logicalHeight());
+ if (hasPerpendicularContainingBlock) {
+ bool shouldFlipBeforeAfter = shouldFlipBeforeAfterMargins(cb->style(), style());
+ computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), logicalHeight(),
+ shouldFlipBeforeAfter ? computedValues.m_margins.m_after : computedValues.m_margins.m_before,
+ shouldFlipBeforeAfter ? computedValues.m_margins.m_before : computedValues.m_margins.m_after);
+ }
return;
}
@@ -2018,10 +2048,14 @@ void RenderBox::computeLogicalHeight()
heightResult = h.value() + borderAndPaddingLogicalHeight();
}
- setLogicalHeight(heightResult);
+ computedValues.m_extent = heightResult;
- if (hasPerpendicularContainingBlock)
- computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), heightResult);
+ if (hasPerpendicularContainingBlock) {
+ bool shouldFlipBeforeAfter = shouldFlipBeforeAfterMargins(cb->style(), style());
+ computeInlineDirectionMargins(cb, containingBlockLogicalWidthForContent(), heightResult,
+ shouldFlipBeforeAfter ? computedValues.m_margins.m_after : computedValues.m_margins.m_before,
+ shouldFlipBeforeAfter ? computedValues.m_margins.m_before : computedValues.m_margins.m_after);
+ }
}
// WinIE quirk: The <html> block always fills the entire canvas in quirks mode. The <body> always fills the
@@ -2045,15 +2079,15 @@ void RenderBox::computeLogicalHeight()
visHeight = view()->viewWidth();
}
if (isRoot())
- setLogicalHeight(max(logicalHeight(), visHeight - margins));
+ computedValues.m_extent = max(computedValues.m_extent, visHeight - margins);
else {
LayoutUnit marginsBordersPadding = margins + parentBox()->marginBefore() + parentBox()->marginAfter() + parentBox()->borderAndPaddingLogicalHeight();
- setLogicalHeight(max(logicalHeight(), visHeight - marginsBordersPadding));
+ computedValues.m_extent = max(computedValues.m_extent, visHeight - marginsBordersPadding);
}
}
}
-LayoutUnit RenderBox::computeLogicalHeightUsing(SizeType heightType, const Length& height)
+LayoutUnit RenderBox::computeLogicalHeightUsing(SizeType heightType, const Length& height) const
{
LayoutUnit logicalHeight = computeContentLogicalHeightUsing(heightType, height);
if (logicalHeight != -1)
@@ -2066,10 +2100,10 @@ LayoutUnit RenderBox::computeLogicalClientHeight(SizeType heightType, const Leng
LayoutUnit heightIncludingScrollbar = computeContentLogicalHeightUsing(heightType, height);
if (heightIncludingScrollbar == -1)
return -1;
- return std::max(LayoutUnit(0), computeContentBoxLogicalHeight(heightIncludingScrollbar) - scrollbarLogicalHeight());
+ return std::max<LayoutUnit>(0, computeContentBoxLogicalHeight(heightIncludingScrollbar) - scrollbarLogicalHeight());
}
-LayoutUnit RenderBox::computeContentLogicalHeightUsing(SizeType heightType, const Length& height)
+LayoutUnit RenderBox::computeContentLogicalHeightUsing(SizeType heightType, const Length& height) const
{
if (height.isAuto())
return heightType == MinSize ? 0 : -1;
@@ -2082,7 +2116,7 @@ LayoutUnit RenderBox::computeContentLogicalHeightUsing(SizeType heightType, cons
return -1;
}
-LayoutUnit RenderBox::computePercentageLogicalHeight(const Length& height)
+LayoutUnit RenderBox::computePercentageLogicalHeight(const Length& height) const
{
LayoutUnit result = -1;
@@ -2098,7 +2132,7 @@ LayoutUnit RenderBox::computePercentageLogicalHeight(const Length& height)
break;
skippedAutoHeightContainingBlock = true;
cb = cb->containingBlock();
- cb->addPercentHeightDescendant(this);
+ cb->addPercentHeightDescendant(const_cast<RenderBox*>(this));
}
RenderStyle* cbstyle = cb->style();
@@ -2138,9 +2172,11 @@ LayoutUnit RenderBox::computePercentageLogicalHeight(const Length& height)
result = max<LayoutUnit>(0, contentBoxHeightWithScrollbar - cb->scrollbarLogicalHeight());
} else if (cbstyle->logicalHeight().isPercent() && !isOutOfFlowPositionedWithSpecifiedHeight) {
// We need to recur and compute the percentage height for our containing block.
- result = cb->computePercentageLogicalHeight(cbstyle->logicalHeight());
- if (result != -1)
- result = cb->computeContentBoxLogicalHeight(result);
+ LayoutUnit heightWithScrollbar = cb->computePercentageLogicalHeight(cbstyle->logicalHeight());
+ if (heightWithScrollbar != -1) {
+ LayoutUnit contentBoxHeightWithScrollbar = cb->computeContentBoxLogicalHeight(heightWithScrollbar);
+ result = max<LayoutUnit>(0, contentBoxHeightWithScrollbar - cb->scrollbarLogicalHeight());
+ }
} else if (cb->isRenderView() || (cb->isBody() && document()->inQuirksMode()) || isOutOfFlowPositionedWithSpecifiedHeight) {
// Don't allow this to affect the block' height() member variable, since this
// can get called while the block is still laying out its kids.
@@ -2270,10 +2306,7 @@ LayoutUnit RenderBox::computeReplacedLogicalHeightUsing(SizeType sizeType, Lengt
cb = cb->containingBlock();
}
}
- availableHeight = computeContentBoxLogicalHeight(valueForLength(logicalHeight, availableHeight));
- if (cb->isBox() && cb->style()->logicalHeight().isFixed())
- availableHeight = max<LayoutUnit>(0, availableHeight - toRenderBox(cb)->scrollbarLogicalHeight());
- return availableHeight;
+ return computeContentBoxLogicalHeight(valueForLength(logicalHeight, availableHeight));
}
case ViewportPercentageWidth:
case ViewportPercentageHeight:
@@ -2291,9 +2324,6 @@ LayoutUnit RenderBox::availableLogicalHeight() const
LayoutUnit RenderBox::availableLogicalHeightUsing(const Length& h) const
{
- if (h.isFixed())
- return computeContentBoxLogicalHeight(h.value());
-
if (isRenderView())
return isHorizontalWritingMode() ? toRenderView(this)->frameView()->visibleHeight() : toRenderView(this)->frameView()->visibleWidth();
@@ -2303,19 +2333,16 @@ LayoutUnit RenderBox::availableLogicalHeightUsing(const Length& h) const
if (isTableCell() && (h.isAuto() || h.isPercent()))
return overrideLogicalContentHeight();
- if (h.isPercent()) {
- LayoutUnit availableHeight;
- // https://bugs.webkit.org/show_bug.cgi?id=64046
- // For absolutely positioned elements whose containing block is based on a block-level element,
- // the percentage is calculated with respect to the height of the padding box of that element
- if (isOutOfFlowPositioned())
- availableHeight = containingBlockLogicalHeightForPositioned(containingBlock());
- else
- availableHeight = containingBlock()->availableLogicalHeight();
+ if (h.isPercent() && isOutOfFlowPositioned()) {
+ LayoutUnit availableHeight = containingBlockLogicalHeightForPositioned(containingBlock());
return computeContentBoxLogicalHeight(valueForLength(h, availableHeight));
}
- // FIXME: We can't just check top/bottom here.
+ LayoutUnit heightIncludingScrollbar = computeContentLogicalHeightUsing(MainOrPreferredSize, h);
+ if (heightIncludingScrollbar != -1)
+ return std::max<LayoutUnit>(0, computeContentBoxLogicalHeight(heightIncludingScrollbar) - scrollbarLogicalHeight());
+
+ // FIXME: Check logicalTop/logicalBottom here to correctly handle vertical writing-mode.
// https://bugs.webkit.org/show_bug.cgi?id=46500
if (isRenderBlock() && isOutOfFlowPositioned() && style()->height().isAuto() && !(style()->top().isAuto() || style()->bottom().isAuto())) {
RenderBlock* block = const_cast<RenderBlock*>(toRenderBlock(this));
@@ -2329,13 +2356,13 @@ LayoutUnit RenderBox::availableLogicalHeightUsing(const Length& h) const
return containingBlock()->availableLogicalHeight();
}
-void RenderBox::computeBlockDirectionMargins(const RenderBlock* containingBlock)
+void RenderBox::computeBlockDirectionMargins(const RenderBlock* containingBlock, LayoutUnit& marginBefore, LayoutUnit& marginAfter) const
{
if (isTableCell()) {
// FIXME: Not right if we allow cells to have different directionality than the table. If we do allow this, though,
// we may just do it with an extra anonymous block inside the cell.
- setMarginBefore(0);
- setMarginAfter(0);
+ marginBefore = 0;
+ marginAfter = 0;
return;
}
@@ -2344,8 +2371,17 @@ void RenderBox::computeBlockDirectionMargins(const RenderBlock* containingBlock)
LayoutUnit cw = containingBlockLogicalWidthForContent();
RenderView* renderView = view();
RenderStyle* containingBlockStyle = containingBlock->style();
- containingBlock->setMarginBeforeForChild(this, minimumValueForLength(style()->marginBeforeUsing(containingBlockStyle), cw, renderView));
- containingBlock->setMarginAfterForChild(this, minimumValueForLength(style()->marginAfterUsing(containingBlockStyle), cw, renderView));
+ marginBefore = minimumValueForLength(style()->marginBeforeUsing(containingBlockStyle), cw, renderView);
+ marginAfter = minimumValueForLength(style()->marginAfterUsing(containingBlockStyle), cw, renderView);
+}
+
+void RenderBox::computeAndSetBlockDirectionMargins(const RenderBlock* containingBlock)
+{
+ LayoutUnit marginBefore;
+ LayoutUnit marginAfter;
+ computeBlockDirectionMargins(containingBlock, marginBefore, marginAfter);
+ containingBlock->setMarginBeforeForChild(this, marginBefore);
+ containingBlock->setMarginAfterForChild(this, marginAfter);
}
LayoutUnit RenderBox::containingBlockLogicalWidthForPositioned(const RenderBoxModelObject* containingBlock, RenderRegion* region,
@@ -2496,10 +2532,10 @@ static void computeInlineStaticDistance(Length& logicalLeft, Length& logicalRigh
}
}
-void RenderBox::computePositionedLogicalWidth(RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage)
+void RenderBox::computePositionedLogicalWidth(LogicalExtentComputedValues& computedValues, RenderRegion* region, LayoutUnit offsetFromLogicalTopOfFirstPage) const
{
if (isReplaced()) {
- computePositionedLogicalWidthReplaced(); // FIXME: Patch for regions when we add replaced element support.
+ computePositionedLogicalWidthReplaced(computedValues); // FIXME: Patch for regions when we add replaced element support.
return;
}
@@ -2534,8 +2570,6 @@ void RenderBox::computePositionedLogicalWidth(RenderRegion* region, LayoutUnit o
const LayoutUnit bordersPlusPadding = borderAndPaddingLogicalWidth();
const Length marginLogicalLeft = isHorizontal ? style()->marginLeft() : style()->marginTop();
const Length marginLogicalRight = isHorizontal ? style()->marginRight() : style()->marginBottom();
- LayoutUnit& marginLogicalLeftAlias = m_marginBox.mutableLogicalLeft(style()->writingMode());
- LayoutUnit& marginLogicalRightAlias = m_marginBox.mutableLogicalRight(style()->writingMode());
Length logicalLeftLength = style()->logicalLeft();
Length logicalRightLength = style()->logicalRight();
@@ -2569,70 +2603,57 @@ void RenderBox::computePositionedLogicalWidth(RenderRegion* region, LayoutUnit o
computeInlineStaticDistance(logicalLeftLength, logicalRightLength, this, containerBlock, containerLogicalWidth, region);
// Calculate constraint equation values for 'width' case.
- LayoutUnit logicalWidthResult;
- LayoutUnit logicalLeftResult;
computePositionedLogicalWidthUsing(MainOrPreferredSize, style()->logicalWidth(), containerBlock, containerDirection,
containerLogicalWidth, bordersPlusPadding,
logicalLeftLength, logicalRightLength, marginLogicalLeft, marginLogicalRight,
- logicalWidthResult, marginLogicalLeftAlias, marginLogicalRightAlias, logicalLeftResult);
- setLogicalWidth(logicalWidthResult);
- setLogicalLeft(logicalLeftResult);
+ computedValues);
// Calculate constraint equation values for 'max-width' case.
if (!style()->logicalMaxWidth().isUndefined()) {
- LayoutUnit maxLogicalWidth;
- LayoutUnit maxMarginLogicalLeft;
- LayoutUnit maxMarginLogicalRight;
- LayoutUnit maxLogicalLeftPos;
+ LogicalExtentComputedValues maxValues;
computePositionedLogicalWidthUsing(MaxSize, style()->logicalMaxWidth(), containerBlock, containerDirection,
containerLogicalWidth, bordersPlusPadding,
logicalLeftLength, logicalRightLength, marginLogicalLeft, marginLogicalRight,
- maxLogicalWidth, maxMarginLogicalLeft, maxMarginLogicalRight, maxLogicalLeftPos);
+ maxValues);
- if (logicalWidth() > maxLogicalWidth) {
- setLogicalWidth(maxLogicalWidth);
- marginLogicalLeftAlias = maxMarginLogicalLeft;
- marginLogicalRightAlias = maxMarginLogicalRight;
- setLogicalLeft(maxLogicalLeftPos);
+ if (computedValues.m_extent > maxValues.m_extent) {
+ computedValues.m_extent = maxValues.m_extent;
+ computedValues.m_position = maxValues.m_position;
+ computedValues.m_margins.m_start = maxValues.m_margins.m_start;
+ computedValues.m_margins.m_end = maxValues.m_margins.m_end;
}
}
// Calculate constraint equation values for 'min-width' case.
if (!style()->logicalMinWidth().isZero()) {
- LayoutUnit minLogicalWidth;
- LayoutUnit minMarginLogicalLeft;
- LayoutUnit minMarginLogicalRight;
- LayoutUnit minLogicalLeftPos;
+ LogicalExtentComputedValues minValues;
computePositionedLogicalWidthUsing(MinSize, style()->logicalMinWidth(), containerBlock, containerDirection,
containerLogicalWidth, bordersPlusPadding,
logicalLeftLength, logicalRightLength, marginLogicalLeft, marginLogicalRight,
- minLogicalWidth, minMarginLogicalLeft, minMarginLogicalRight, minLogicalLeftPos);
+ minValues);
- if (logicalWidth() < minLogicalWidth) {
- setLogicalWidth(minLogicalWidth);
- marginLogicalLeftAlias = minMarginLogicalLeft;
- marginLogicalRightAlias = minMarginLogicalRight;
- setLogicalLeft(minLogicalLeftPos);
+ if (computedValues.m_extent < minValues.m_extent) {
+ computedValues.m_extent = minValues.m_extent;
+ computedValues.m_position = minValues.m_position;
+ computedValues.m_margins.m_start = minValues.m_margins.m_start;
+ computedValues.m_margins.m_end = minValues.m_margins.m_end;
}
}
- if (stretchesToMinIntrinsicLogicalWidth() && logicalWidth() < minPreferredLogicalWidth() - bordersPlusPadding) {
+ if (stretchesToMinIntrinsicLogicalWidth() && computedValues.m_extent < minPreferredLogicalWidth() - bordersPlusPadding) {
computePositionedLogicalWidthUsing(MainOrPreferredSize, Length(minPreferredLogicalWidth() - bordersPlusPadding, Fixed), containerBlock, containerDirection,
containerLogicalWidth, bordersPlusPadding,
logicalLeftLength, logicalRightLength, marginLogicalLeft, marginLogicalRight,
- logicalWidthResult, marginLogicalLeftAlias, marginLogicalRightAlias, logicalLeftResult);
- setLogicalWidth(logicalWidthResult);
- setLogicalLeft(logicalLeftResult);
+ computedValues);
}
- // Put logicalWidth() into correct form.
- setLogicalWidth(logicalWidth() + bordersPlusPadding);
+ computedValues.m_extent += bordersPlusPadding;
// Adjust logicalLeft if we need to for the flipped version of our writing mode in regions.
if (inRenderFlowThread() && !region && isWritingModeRoot() && isHorizontalWritingMode() == containerBlock->isHorizontalWritingMode()) {
- LayoutUnit logicalLeftPos = logicalLeft();
+ LayoutUnit logicalLeftPos = computedValues.m_position;
const RenderBlock* cb = toRenderBlock(containerBlock);
LayoutUnit cbPageOffset = offsetFromLogicalTopOfFirstPage - logicalTop();
RenderRegion* cbRegion = cb->regionAtBlockOffset(cbPageOffset);
@@ -2641,7 +2662,7 @@ void RenderBox::computePositionedLogicalWidth(RenderRegion* region, LayoutUnit o
RenderBoxRegionInfo* boxInfo = cb->renderBoxRegionInfo(cbRegion, cbPageOffset);
if (boxInfo) {
logicalLeftPos += boxInfo->logicalLeft();
- setLogicalLeft(logicalLeftPos);
+ computedValues.m_position = logicalLeftPos;
}
}
}
@@ -2661,7 +2682,7 @@ static void computeLogicalLeftPositionedOffset(LayoutUnit& logicalLeftPos, const
void RenderBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Length logicalWidth, const RenderBoxModelObject* containerBlock, TextDirection containerDirection,
LayoutUnit containerLogicalWidth, LayoutUnit bordersPlusPadding,
Length logicalLeft, Length logicalRight, Length marginLogicalLeft, Length marginLogicalRight,
- LayoutUnit& logicalWidthValue, LayoutUnit& marginLogicalLeftValue, LayoutUnit& marginLogicalRightValue, LayoutUnit& logicalLeftPos)
+ LogicalExtentComputedValues& computedValues) const
{
if (widthSizeType == MinSize && logicalWidth.isAuto())
logicalWidth = Length(0, Fixed);
@@ -2676,6 +2697,8 @@ void RenderBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Lengt
bool logicalLeftIsAuto = logicalLeft.isAuto();
bool logicalRightIsAuto = logicalRight.isAuto();
RenderView* renderView = view();
+ LayoutUnit& marginLogicalLeftValue = style()->isLeftToRightDirection() ? computedValues.m_margins.m_start : computedValues.m_margins.m_end;
+ LayoutUnit& marginLogicalRightValue = style()->isLeftToRightDirection() ? computedValues.m_margins.m_end : computedValues.m_margins.m_start;
if (!logicalLeftIsAuto && !logicalWidthIsAuto && !logicalRightIsAuto) {
/*-----------------------------------------------------------------------*\
@@ -2694,9 +2717,9 @@ void RenderBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Lengt
// case because the value is not used for any further calculations.
logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth, renderView);
- logicalWidthValue = computeContentBoxLogicalWidth(valueForLength(logicalWidth, containerLogicalWidth, renderView));
+ computedValues.m_extent = computeContentBoxLogicalWidth(valueForLength(logicalWidth, containerLogicalWidth, renderView));
- const LayoutUnit availableSpace = containerLogicalWidth - (logicalLeftValue + logicalWidthValue + valueForLength(logicalRight, containerLogicalWidth, renderView) + bordersPlusPadding);
+ const LayoutUnit availableSpace = containerLogicalWidth - (logicalLeftValue + computedValues.m_extent + valueForLength(logicalRight, containerLogicalWidth, renderView) + bordersPlusPadding);
// Margins are now the only unknown
if (marginLogicalLeft.isAuto() && marginLogicalRight.isAuto()) {
@@ -2791,8 +2814,8 @@ void RenderBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Lengt
LayoutUnit preferredWidth = maxPreferredLogicalWidth() - bordersPlusPadding;
LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bordersPlusPadding;
LayoutUnit availableWidth = availableSpace - logicalRightValue;
- logicalWidthValue = min(max(preferredMinWidth, availableWidth), preferredWidth);
- logicalLeftValue = availableSpace - (logicalWidthValue + logicalRightValue);
+ computedValues.m_extent = min(max(preferredMinWidth, availableWidth), preferredWidth);
+ logicalLeftValue = availableSpace - (computedValues.m_extent + logicalRightValue);
} else if (!logicalLeftIsAuto && logicalWidthIsAuto && logicalRightIsAuto) {
// RULE 3: (use shrink-to-fit for width, and no need solve of right)
logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth, renderView);
@@ -2801,19 +2824,19 @@ void RenderBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Lengt
LayoutUnit preferredWidth = maxPreferredLogicalWidth() - bordersPlusPadding;
LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bordersPlusPadding;
LayoutUnit availableWidth = availableSpace - logicalLeftValue;
- logicalWidthValue = min(max(preferredMinWidth, availableWidth), preferredWidth);
+ computedValues.m_extent = min(max(preferredMinWidth, availableWidth), preferredWidth);
} else if (logicalLeftIsAuto && !logicalWidthIsAuto && !logicalRightIsAuto) {
// RULE 4: (solve for left)
- logicalWidthValue = computeContentBoxLogicalWidth(valueForLength(logicalWidth, containerLogicalWidth, renderView));
- logicalLeftValue = availableSpace - (logicalWidthValue + valueForLength(logicalRight, containerLogicalWidth, renderView));
+ computedValues.m_extent = computeContentBoxLogicalWidth(valueForLength(logicalWidth, containerLogicalWidth, renderView));
+ logicalLeftValue = availableSpace - (computedValues.m_extent + valueForLength(logicalRight, containerLogicalWidth, renderView));
} else if (!logicalLeftIsAuto && logicalWidthIsAuto && !logicalRightIsAuto) {
// RULE 5: (solve for width)
logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth, renderView);
- logicalWidthValue = availableSpace - (logicalLeftValue + valueForLength(logicalRight, containerLogicalWidth, renderView));
+ computedValues.m_extent = availableSpace - (logicalLeftValue + valueForLength(logicalRight, containerLogicalWidth, renderView));
} else if (!logicalLeftIsAuto && !logicalWidthIsAuto && logicalRightIsAuto) {
// RULE 6: (no need solve for right)
logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth, renderView);
- logicalWidthValue = computeContentBoxLogicalWidth(valueForLength(logicalWidth, containerLogicalWidth, renderView));
+ computedValues.m_extent = computeContentBoxLogicalWidth(valueForLength(logicalWidth, containerLogicalWidth, renderView));
}
}
@@ -2828,13 +2851,13 @@ void RenderBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Lengt
InlineFlowBox* firstLine = flow->firstLineBox();
InlineFlowBox* lastLine = flow->lastLineBox();
if (firstLine && lastLine && firstLine != lastLine) {
- logicalLeftPos = logicalLeftValue + marginLogicalLeftValue + lastLine->borderLogicalLeft() + (lastLine->logicalLeft() - firstLine->logicalLeft());
+ computedValues.m_position = logicalLeftValue + marginLogicalLeftValue + lastLine->borderLogicalLeft() + (lastLine->logicalLeft() - firstLine->logicalLeft());
return;
}
}
- logicalLeftPos = logicalLeftValue + marginLogicalLeftValue;
- computeLogicalLeftPositionedOffset(logicalLeftPos, this, logicalWidthValue, containerBlock, containerLogicalWidth);
+ computedValues.m_position = logicalLeftValue + marginLogicalLeftValue;
+ computeLogicalLeftPositionedOffset(computedValues.m_position, this, computedValues.m_extent, containerBlock, containerLogicalWidth);
}
static void computeBlockStaticDistance(Length& logicalTop, Length& logicalBottom, const RenderBox* child, const RenderBoxModelObject* containerBlock)
@@ -2851,10 +2874,10 @@ static void computeBlockStaticDistance(Length& logicalTop, Length& logicalBottom
logicalTop.setValue(Fixed, staticLogicalTop);
}
-void RenderBox::computePositionedLogicalHeight()
+void RenderBox::computePositionedLogicalHeight(LogicalExtentComputedValues& computedValues) const
{
if (isReplaced()) {
- computePositionedLogicalHeightReplaced();
+ computePositionedLogicalHeightReplaced(computedValues);
return;
}
@@ -2874,9 +2897,6 @@ void RenderBox::computePositionedLogicalHeight()
const LayoutUnit bordersPlusPadding = borderAndPaddingLogicalHeight();
const Length marginBefore = styleToUse->marginBefore();
const Length marginAfter = styleToUse->marginAfter();
- LayoutUnit& marginBeforeAlias = m_marginBox.mutableBefore(styleToUse->writingMode());
- LayoutUnit& marginAfterAlias = m_marginBox.mutableAfter(styleToUse->writingMode());
-
Length logicalTopLength = styleToUse->logicalTop();
Length logicalBottomLength = styleToUse->logicalBottom();
@@ -2901,62 +2921,52 @@ void RenderBox::computePositionedLogicalHeight()
// Calculate the static distance if needed.
computeBlockStaticDistance(logicalTopLength, logicalBottomLength, this, containerBlock);
- LayoutUnit logicalHeightResult; // Needed to compute overflow.
- LayoutUnit logicalTopPos;
-
// Calculate constraint equation values for 'height' case.
computePositionedLogicalHeightUsing(MainOrPreferredSize, styleToUse->logicalHeight(), containerBlock, containerLogicalHeight, bordersPlusPadding,
logicalTopLength, logicalBottomLength, marginBefore, marginAfter,
- logicalHeightResult, marginBeforeAlias, marginAfterAlias, logicalTopPos);
- setLogicalTop(logicalTopPos);
+ computedValues);
// Avoid doing any work in the common case (where the values of min-height and max-height are their defaults).
// see FIXME 2
// Calculate constraint equation values for 'max-height' case.
if (!styleToUse->logicalMaxHeight().isUndefined()) {
- LayoutUnit maxLogicalHeight;
- LayoutUnit maxMarginBefore;
- LayoutUnit maxMarginAfter;
- LayoutUnit maxLogicalTopPos;
+ LogicalExtentComputedValues maxValues;
computePositionedLogicalHeightUsing(MaxSize, styleToUse->logicalMaxHeight(), containerBlock, containerLogicalHeight, bordersPlusPadding,
logicalTopLength, logicalBottomLength, marginBefore, marginAfter,
- maxLogicalHeight, maxMarginBefore, maxMarginAfter, maxLogicalTopPos);
+ maxValues);
- if (logicalHeightResult > maxLogicalHeight) {
- logicalHeightResult = maxLogicalHeight;
- marginBeforeAlias = maxMarginBefore;
- marginAfterAlias = maxMarginAfter;
- setLogicalTop(maxLogicalTopPos);
+ if (computedValues.m_extent > maxValues.m_extent) {
+ computedValues.m_extent = maxValues.m_extent;
+ computedValues.m_position = maxValues.m_position;
+ computedValues.m_margins.m_before = maxValues.m_margins.m_before;
+ computedValues.m_margins.m_after = maxValues.m_margins.m_after;
}
}
// Calculate constraint equation values for 'min-height' case.
if (!styleToUse->logicalMinHeight().isZero()) {
- LayoutUnit minLogicalHeight;
- LayoutUnit minMarginBefore;
- LayoutUnit minMarginAfter;
- LayoutUnit minLogicalTopPos;
+ LogicalExtentComputedValues minValues;
computePositionedLogicalHeightUsing(MinSize, styleToUse->logicalMinHeight(), containerBlock, containerLogicalHeight, bordersPlusPadding,
logicalTopLength, logicalBottomLength, marginBefore, marginAfter,
- minLogicalHeight, minMarginBefore, minMarginAfter, minLogicalTopPos);
+ minValues);
- if (logicalHeightResult < minLogicalHeight) {
- logicalHeightResult = minLogicalHeight;
- marginBeforeAlias = minMarginBefore;
- marginAfterAlias = minMarginAfter;
- setLogicalTop(minLogicalTopPos);
+ if (computedValues.m_extent < minValues.m_extent) {
+ computedValues.m_extent = minValues.m_extent;
+ computedValues.m_position = minValues.m_position;
+ computedValues.m_margins.m_before = minValues.m_margins.m_before;
+ computedValues.m_margins.m_after = minValues.m_margins.m_after;
}
}
// Set final height value.
- setLogicalHeight(logicalHeightResult + bordersPlusPadding);
+ computedValues.m_extent += bordersPlusPadding;
// Adjust logicalTop if we need to for perpendicular writing modes in regions.
if (inRenderFlowThread() && isHorizontalWritingMode() != containerBlock->isHorizontalWritingMode()) {
- LayoutUnit logicalTopPos = logicalTop();
+ LayoutUnit logicalTopPos = computedValues.m_position;
const RenderBlock* cb = toRenderBlock(containerBlock);
LayoutUnit cbPageOffset = cb->offsetFromLogicalTopOfFirstPage() - logicalLeft();
RenderRegion* cbRegion = cb->regionAtBlockOffset(cbPageOffset);
@@ -2965,7 +2975,7 @@ void RenderBox::computePositionedLogicalHeight()
RenderBoxRegionInfo* boxInfo = cb->renderBoxRegionInfo(cbRegion, cbPageOffset);
if (boxInfo) {
logicalTopPos += boxInfo->logicalLeft();
- setLogicalTop(logicalTopPos);
+ computedValues.m_position = logicalTopPos;
}
}
}
@@ -2996,7 +3006,7 @@ static void computeLogicalTopPositionedOffset(LayoutUnit& logicalTopPos, const R
void RenderBox::computePositionedLogicalHeightUsing(SizeType heightSizeType, Length logicalHeightLength, const RenderBoxModelObject* containerBlock,
LayoutUnit containerLogicalHeight, LayoutUnit bordersPlusPadding,
Length logicalTop, Length logicalBottom, Length marginBefore, Length marginAfter,
- LayoutUnit& logicalHeightValue, LayoutUnit& marginBeforeValue, LayoutUnit& marginAfterValue, LayoutUnit& logicalTopPos)
+ LogicalExtentComputedValues& computedValues) const
{
if (heightSizeType == MinSize && logicalHeightLength.isAuto())
logicalHeightLength = Length(0, Fixed);
@@ -3005,6 +3015,7 @@ void RenderBox::computePositionedLogicalHeightUsing(SizeType heightSizeType, Len
// converted to the static position in computePositionedLogicalHeight()
ASSERT(!(logicalTop.isAuto() && logicalBottom.isAuto()));
+ LayoutUnit logicalHeightValue;
LayoutUnit contentLogicalHeight = logicalHeight() - bordersPlusPadding;
LayoutUnit logicalTopValue = 0;
@@ -3041,20 +3052,20 @@ void RenderBox::computePositionedLogicalHeightUsing(SizeType heightSizeType, Len
if (marginBefore.isAuto() && marginAfter.isAuto()) {
// Both margins auto, solve for equality
// NOTE: This may result in negative values.
- marginBeforeValue = availableSpace / 2; // split the difference
- marginAfterValue = availableSpace - marginBeforeValue; // account for odd valued differences
+ computedValues.m_margins.m_before = availableSpace / 2; // split the difference
+ computedValues.m_margins.m_after = availableSpace - computedValues.m_margins.m_before; // account for odd valued differences
} else if (marginBefore.isAuto()) {
// Solve for top margin
- marginAfterValue = valueForLength(marginAfter, containerLogicalHeight, renderView);
- marginBeforeValue = availableSpace - marginAfterValue;
+ computedValues.m_margins.m_after = valueForLength(marginAfter, containerLogicalHeight, renderView);
+ computedValues.m_margins.m_before = availableSpace - computedValues.m_margins.m_after;
} else if (marginAfter.isAuto()) {
// Solve for bottom margin
- marginBeforeValue = valueForLength(marginBefore, containerLogicalHeight, renderView);
- marginAfterValue = availableSpace - marginBeforeValue;
+ computedValues.m_margins.m_before = valueForLength(marginBefore, containerLogicalHeight, renderView);
+ computedValues.m_margins.m_after = availableSpace - computedValues.m_margins.m_before;
} else {
// Over-constrained, (no need solve for bottom)
- marginBeforeValue = valueForLength(marginBefore, containerLogicalHeight, renderView);
- marginAfterValue = valueForLength(marginAfter, containerLogicalHeight, renderView);
+ computedValues.m_margins.m_before = valueForLength(marginBefore, containerLogicalHeight, renderView);
+ computedValues.m_margins.m_after = valueForLength(marginAfter, containerLogicalHeight, renderView);
}
} else {
/*--------------------------------------------------------------------*\
@@ -3083,10 +3094,10 @@ void RenderBox::computePositionedLogicalHeightUsing(SizeType heightSizeType, Len
// because the value is not used for any further calculations.
// Calculate margins, 'auto' margins are ignored.
- marginBeforeValue = minimumValueForLength(marginBefore, containerLogicalHeight, renderView);
- marginAfterValue = minimumValueForLength(marginAfter, containerLogicalHeight, renderView);
+ computedValues.m_margins.m_before = minimumValueForLength(marginBefore, containerLogicalHeight, renderView);
+ computedValues.m_margins.m_after = minimumValueForLength(marginAfter, containerLogicalHeight, renderView);
- const LayoutUnit availableSpace = containerLogicalHeight - (marginBeforeValue + marginAfterValue + bordersPlusPadding);
+ const LayoutUnit availableSpace = containerLogicalHeight - (computedValues.m_margins.m_before + computedValues.m_margins.m_after + bordersPlusPadding);
// Use rule/case that applies.
if (logicalTopIsAuto && logicalHeightIsAuto && !logicalBottomIsAuto) {
@@ -3111,13 +3122,14 @@ void RenderBox::computePositionedLogicalHeightUsing(SizeType heightSizeType, Len
logicalTopValue = valueForLength(logicalTop, containerLogicalHeight, renderView);
}
}
+ computedValues.m_extent = logicalHeightValue;
// Use computed values to calculate the vertical position.
- logicalTopPos = logicalTopValue + marginBeforeValue;
- computeLogicalTopPositionedOffset(logicalTopPos, this, logicalHeightValue, containerBlock, containerLogicalHeight);
+ computedValues.m_position = logicalTopValue + computedValues.m_margins.m_before;
+ computeLogicalTopPositionedOffset(computedValues.m_position, this, logicalHeightValue, containerBlock, containerLogicalHeight);
}
-void RenderBox::computePositionedLogicalWidthReplaced()
+void RenderBox::computePositionedLogicalWidthReplaced(LogicalExtentComputedValues& computedValues) const
{
// The following is based off of the W3C Working Draft from April 11, 2006 of
// CSS 2.1: Section 10.3.8 "Absolutely positioned, replaced elements"
@@ -3141,8 +3153,8 @@ void RenderBox::computePositionedLogicalWidthReplaced()
Length logicalRight = style()->logicalRight();
Length marginLogicalLeft = isHorizontal ? style()->marginLeft() : style()->marginTop();
Length marginLogicalRight = isHorizontal ? style()->marginRight() : style()->marginBottom();
- LayoutUnit& marginLogicalLeftAlias = m_marginBox.mutableLogicalLeft(style()->writingMode());
- LayoutUnit& marginLogicalRightAlias = m_marginBox.mutableLogicalRight(style()->writingMode());
+ LayoutUnit& marginLogicalLeftAlias = style()->isLeftToRightDirection() ? computedValues.m_margins.m_start : computedValues.m_margins.m_end;
+ LayoutUnit& marginLogicalRightAlias = style()->isLeftToRightDirection() ? computedValues.m_margins.m_end : computedValues.m_margins.m_start;
/*-----------------------------------------------------------------------*\
* 1. The used value of 'width' is determined as for inline replaced
@@ -3151,9 +3163,9 @@ void RenderBox::computePositionedLogicalWidthReplaced()
// NOTE: This value of width is FINAL in that the min/max width calculations
// are dealt with in computeReplacedWidth(). This means that the steps to produce
// correct max/min in the non-replaced version, are not necessary.
- setLogicalWidth(computeReplacedLogicalWidth() + borderAndPaddingLogicalWidth());
+ computedValues.m_extent = computeReplacedLogicalWidth() + borderAndPaddingLogicalWidth();
- const LayoutUnit availableSpace = containerLogicalWidth - logicalWidth();
+ const LayoutUnit availableSpace = containerLogicalWidth - computedValues.m_extent;
/*-----------------------------------------------------------------------*\
* 2. If both 'left' and 'right' have the value 'auto', then if 'direction'
@@ -3249,7 +3261,7 @@ void RenderBox::computePositionedLogicalWidthReplaced()
logicalLeftValue = valueForLength(logicalLeft, containerLogicalWidth, renderView);
// If the containing block is right-to-left, then push the left position as far to the right as possible
if (containerDirection == RTL) {
- int totalLogicalWidth = logicalWidth() + logicalLeftValue + logicalRightValue + marginLogicalLeftAlias + marginLogicalRightAlias;
+ int totalLogicalWidth = computedValues.m_extent + logicalLeftValue + logicalRightValue + marginLogicalLeftAlias + marginLogicalRightAlias;
logicalLeftValue = containerLogicalWidth - (totalLogicalWidth - logicalLeftValue);
}
}
@@ -3276,17 +3288,17 @@ void RenderBox::computePositionedLogicalWidthReplaced()
InlineFlowBox* firstLine = flow->firstLineBox();
InlineFlowBox* lastLine = flow->lastLineBox();
if (firstLine && lastLine && firstLine != lastLine) {
- setLogicalLeft(logicalLeftValue + marginLogicalLeftAlias + lastLine->borderLogicalLeft() + (lastLine->logicalLeft() - firstLine->logicalLeft()));
+ computedValues.m_position = logicalLeftValue + marginLogicalLeftAlias + lastLine->borderLogicalLeft() + (lastLine->logicalLeft() - firstLine->logicalLeft());
return;
}
}
LayoutUnit logicalLeftPos = logicalLeftValue + marginLogicalLeftAlias;
- computeLogicalLeftPositionedOffset(logicalLeftPos, this, logicalWidth(), containerBlock, containerLogicalWidth);
- setLogicalLeft(logicalLeftPos.round());
+ computeLogicalLeftPositionedOffset(logicalLeftPos, this, computedValues.m_extent, containerBlock, containerLogicalWidth);
+ computedValues.m_position = logicalLeftPos.round();
}
-void RenderBox::computePositionedLogicalHeightReplaced()
+void RenderBox::computePositionedLogicalHeightReplaced(LogicalExtentComputedValues& computedValues) const
{
// The following is based off of the W3C Working Draft from April 11, 2006 of
// CSS 2.1: Section 10.6.5 "Absolutely positioned, replaced elements"
@@ -3302,8 +3314,8 @@ void RenderBox::computePositionedLogicalHeightReplaced()
// Variables to solve.
Length marginBefore = style()->marginBefore();
Length marginAfter = style()->marginAfter();
- LayoutUnit& marginBeforeAlias = m_marginBox.mutableBefore(style()->writingMode());
- LayoutUnit& marginAfterAlias = m_marginBox.mutableAfter(style()->writingMode());
+ LayoutUnit& marginBeforeAlias = computedValues.m_margins.m_before;
+ LayoutUnit& marginAfterAlias = computedValues.m_margins.m_after;
Length logicalTop = style()->logicalTop();
Length logicalBottom = style()->logicalBottom();
@@ -3316,8 +3328,8 @@ void RenderBox::computePositionedLogicalHeightReplaced()
// NOTE: This value of height is FINAL in that the min/max height calculations
// are dealt with in computeReplacedHeight(). This means that the steps to produce
// correct max/min in the non-replaced version, are not necessary.
- setLogicalHeight(computeReplacedLogicalHeight() + borderAndPaddingLogicalHeight());
- const LayoutUnit availableSpace = containerLogicalHeight - logicalHeight();
+ computedValues.m_extent = computeReplacedLogicalHeight() + borderAndPaddingLogicalHeight();
+ const LayoutUnit availableSpace = containerLogicalHeight - computedValues.m_extent;
/*-----------------------------------------------------------------------*\
* 2. If both 'top' and 'bottom' have the value 'auto', replace 'top'
@@ -3411,8 +3423,8 @@ void RenderBox::computePositionedLogicalHeightReplaced()
// Use computed values to calculate the vertical position.
LayoutUnit logicalTopPos = logicalTopValue + marginBeforeAlias;
- computeLogicalTopPositionedOffset(logicalTopPos, this, logicalHeight(), containerBlock, containerLogicalHeight);
- setLogicalTop(logicalTopPos.round());
+ computeLogicalTopPositionedOffset(logicalTopPos, this, computedValues.m_extent, containerBlock, containerLogicalHeight);
+ computedValues.m_position = logicalTopPos.round();
}
LayoutRect RenderBox::localCaretRect(InlineBox* box, int caretOffset, LayoutUnit* extraWidthToEndOfLine)
diff --git a/Source/WebCore/rendering/RenderBox.h b/Source/WebCore/rendering/RenderBox.h
index f011714cb..ed70a94b8 100644
--- a/Source/WebCore/rendering/RenderBox.h
+++ b/Source/WebCore/rendering/RenderBox.h
@@ -44,7 +44,7 @@ public:
// hasAutoZIndex only returns true if the element is positioned or a flex-item since
// position:static elements that are not flex-items get their z-index coerced to auto.
- virtual bool requiresLayer() const OVERRIDE { return isRoot() || isOutOfFlowPositioned() || isInFlowPositioned() || isTransparent() || hasOverflowClip() || hasTransform() || hasHiddenBackface() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns() || !style()->hasAutoZIndex(); }
+ virtual bool requiresLayer() const OVERRIDE { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasOverflowClip() || hasTransform() || hasHiddenBackface() || hasReflection() || style()->specifiesColumns() || !style()->hasAutoZIndex(); }
// Use this with caution! No type checking is done!
RenderBox* firstChildBox() const;
@@ -75,8 +75,8 @@ public:
LayoutUnit logicalWidth() const { return style()->isHorizontalWritingMode() ? width() : height(); }
LayoutUnit logicalHeight() const { return style()->isHorizontalWritingMode() ? height() : width(); }
- LayoutUnit constrainLogicalWidthInRegionByMinMax(LayoutUnit, LayoutUnit, RenderBlock*, RenderRegion* = 0, LayoutUnit offsetFromLogicalTopOfFirstPage = ZERO_LAYOUT_UNIT);
- LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit);
+ LayoutUnit constrainLogicalWidthInRegionByMinMax(LayoutUnit, LayoutUnit, RenderBlock*, RenderRegion* = 0, LayoutUnit offsetFromLogicalTopOfFirstPage = ZERO_LAYOUT_UNIT) const;
+ LayoutUnit constrainLogicalHeightByMinMax(LayoutUnit) const;
int pixelSnappedLogicalHeight() const { return style()->isHorizontalWritingMode() ? pixelSnappedHeight() : pixelSnappedWidth(); }
int pixelSnappedLogicalWidth() const { return style()->isHorizontalWritingMode() ? pixelSnappedWidth() : pixelSnappedHeight(); }
@@ -284,7 +284,7 @@ public:
virtual void layout();
virtual void paint(PaintInfo&, const LayoutPoint&);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual LayoutUnit minPreferredLogicalWidth() const;
virtual LayoutUnit maxPreferredLogicalWidth() const;
@@ -306,12 +306,37 @@ public:
virtual void borderFitAdjust(LayoutRect&) const { } // Shrink the box in which the border paints if border-fit is set.
+ struct ComputedMarginValues {
+ ComputedMarginValues()
+ : m_before(0)
+ , m_after(0)
+ , m_start(0)
+ , m_end(0)
+ {
+ }
+ LayoutUnit m_before;
+ LayoutUnit m_after;
+ LayoutUnit m_start;
+ LayoutUnit m_end;
+ };
+ struct LogicalExtentComputedValues {
+ LogicalExtentComputedValues()
+ : m_extent(0)
+ , m_position(0)
+ {
+ }
+
+ LayoutUnit m_extent;
+ LayoutUnit m_position;
+ ComputedMarginValues m_margins;
+ };
// Resolve auto margins in the inline direction of the containing block so that objects can be pushed to the start, middle or end
// of the containing block.
- void computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth);
+ void computeInlineDirectionMargins(RenderBlock* containingBlock, LayoutUnit containerWidth, LayoutUnit childWidth, LayoutUnit& marginStart, LayoutUnit& marginEnd) const;
// Used to resolve margins in the containing block's block-flow direction.
- void computeBlockDirectionMargins(const RenderBlock* containingBlock);
+ void computeBlockDirectionMargins(const RenderBlock* containingBlock, LayoutUnit& marginBefore, LayoutUnit& marginAfter) const;
+ void computeAndSetBlockDirectionMargins(const RenderBlock* containingBlock);
enum RenderBoxRegionInfoFlags { CacheRenderBoxRegionInfo, DoNotCacheRenderBoxRegionInfo };
LayoutRect borderBoxRectInRegion(RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage = 0, RenderBoxRegionInfoFlags = CacheRenderBoxRegionInfo) const;
@@ -338,12 +363,13 @@ public:
LayoutUnit containingBlockLogicalWidthForContentInRegion(RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage) const;
LayoutUnit containingBlockAvailableLineWidthInRegion(RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage) const;
LayoutUnit perpendicularContainingBlockLogicalHeight() const;
-
+
virtual void computeLogicalWidth();
virtual void computeLogicalHeight();
+ void computeLogicalHeight(LogicalExtentComputedValues&) const;
RenderBoxRegionInfo* renderBoxRegionInfo(RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage, RenderBoxRegionInfoFlags = CacheRenderBoxRegionInfo) const;
- void computeLogicalWidthInRegion(RenderRegion* = 0, LayoutUnit offsetFromLogicalTopOfFirstPage = ZERO_LAYOUT_UNIT);
+ void computeLogicalWidthInRegion(LogicalExtentComputedValues&, RenderRegion* = 0, LayoutUnit offsetFromLogicalTopOfFirstPage = ZERO_LAYOUT_UNIT) const;
bool stretchesToViewport() const
{
@@ -359,12 +385,12 @@ public:
bool sizesLogicalWidthToFitContent(SizeType) const;
virtual bool stretchesToMinIntrinsicLogicalWidth() const { return false; }
- LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, LayoutUnit childMarginEnd, const RenderBlock* cb, RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage);
+ LayoutUnit shrinkLogicalWidthToAvoidFloats(LayoutUnit childMarginStart, LayoutUnit childMarginEnd, const RenderBlock* cb, RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage) const;
- LayoutUnit computeLogicalWidthInRegionUsing(SizeType, LayoutUnit availableLogicalWidth, const RenderBlock* containingBlock, RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage);
- LayoutUnit computeLogicalHeightUsing(SizeType, const Length& height);
+ LayoutUnit computeLogicalWidthInRegionUsing(SizeType, LayoutUnit availableLogicalWidth, const RenderBlock* containingBlock, RenderRegion*, LayoutUnit offsetFromLogicalTopOfFirstPage) const;
+ LayoutUnit computeLogicalHeightUsing(SizeType, const Length& height) const;
LayoutUnit computeLogicalClientHeight(SizeType, const Length& height);
- LayoutUnit computeContentLogicalHeightUsing(SizeType, const Length& height);
+ LayoutUnit computeContentLogicalHeightUsing(SizeType, const Length& height) const;
LayoutUnit computeReplacedLogicalWidthUsing(SizeType, Length width) const;
LayoutUnit computeReplacedLogicalWidthRespectingMinMaxWidth(LayoutUnit logicalWidth, bool includeMaxWidth = true) const;
LayoutUnit computeReplacedLogicalHeightUsing(SizeType, Length height) const;
@@ -373,7 +399,7 @@ public:
virtual LayoutUnit computeReplacedLogicalWidth(bool includeMaxWidth = true) const;
virtual LayoutUnit computeReplacedLogicalHeight() const;
- LayoutUnit computePercentageLogicalHeight(const Length& height);
+ LayoutUnit computePercentageLogicalHeight(const Length& height) const;
// Block flows subclass availableWidth/Height to handle multi column layout (shrinking the width/height available to children when laying out.)
virtual LayoutUnit availableLogicalWidth() const { return contentLogicalWidth(); }
@@ -536,7 +562,7 @@ protected:
void paintCustomHighlight(const LayoutPoint&, const AtomicString& type, bool behindText);
#endif
- void computePositionedLogicalWidth(RenderRegion* = 0, LayoutUnit offsetFromLogicalTopOfFirstPage = 0);
+ void computePositionedLogicalWidth(LogicalExtentComputedValues&, RenderRegion* = 0, LayoutUnit offsetFromLogicalTopOfFirstPage = 0) const;
virtual bool shouldComputeSizeAsReplaced() const { return isReplaced() && !isInlineBlockOrInlineTable(); }
@@ -561,24 +587,26 @@ private:
LayoutUnit offsetFromLogicalTopOfFirstPage = 0, bool checkForPerpendicularWritingMode = true) const;
LayoutUnit containingBlockLogicalHeightForPositioned(const RenderBoxModelObject* containingBlock, bool checkForPerpendicularWritingMode = true) const;
- void computePositionedLogicalHeight();
+ void computePositionedLogicalHeight(LogicalExtentComputedValues&) const;
void computePositionedLogicalWidthUsing(SizeType, Length logicalWidth, const RenderBoxModelObject* containerBlock, TextDirection containerDirection,
LayoutUnit containerLogicalWidth, LayoutUnit bordersPlusPadding,
Length logicalLeft, Length logicalRight, Length marginLogicalLeft, Length marginLogicalRight,
- LayoutUnit& logicalWidthValue, LayoutUnit& marginLogicalLeftValue, LayoutUnit& marginLogicalRightValue, LayoutUnit& logicalLeftPos);
+ LogicalExtentComputedValues&) const;
void computePositionedLogicalHeightUsing(SizeType, Length logicalHeight, const RenderBoxModelObject* containerBlock,
LayoutUnit containerLogicalHeight, LayoutUnit bordersPlusPadding,
Length logicalTop, Length logicalBottom, Length marginLogicalTop, Length marginLogicalBottom,
- LayoutUnit& logicalHeightValue, LayoutUnit& marginLogicalTopValue, LayoutUnit& marginLogicalBottomValue, LayoutUnit& logicalTopPos);
+ LogicalExtentComputedValues&) const;
- void computePositionedLogicalHeightReplaced();
- void computePositionedLogicalWidthReplaced();
+ void computePositionedLogicalHeightReplaced(LogicalExtentComputedValues&) const;
+ void computePositionedLogicalWidthReplaced(LogicalExtentComputedValues&) const;
// This function calculates the minimum and maximum preferred widths for an object.
// These values are used in shrink-to-fit layout systems.
// These include tables, positioned objects, floats and flexible boxes.
virtual void computePreferredLogicalWidths() { setPreferredLogicalWidthsDirty(false); }
+ virtual LayoutRect frameRectForStickyPositioning() const OVERRIDE { return frameRect(); }
+
private:
// The width/height of the contents + borders + padding. The x/y location is relative to our container (which is not always our parent).
LayoutRect m_frameRect;
diff --git a/Source/WebCore/rendering/RenderBoxModelObject.cpp b/Source/WebCore/rendering/RenderBoxModelObject.cpp
index 7dcd24129..8deeddf38 100644
--- a/Source/WebCore/rendering/RenderBoxModelObject.cpp
+++ b/Source/WebCore/rendering/RenderBoxModelObject.cpp
@@ -37,6 +37,7 @@
#include "RenderInline.h"
#include "RenderLayer.h"
#include "RenderView.h"
+#include "ScrollingConstraints.h"
#include "Settings.h"
#include "TransformState.h"
#include <wtf/CurrentTime.h>
@@ -348,6 +349,15 @@ void RenderBoxModelObject::willBeDestroyed()
// A continuation of this RenderObject should be destroyed at subclasses.
ASSERT(!continuation());
+ if (isPositioned()) {
+ if (RenderView* view = this->view()) {
+ if (FrameView* frameView = view->frameView()) {
+ if (style()->hasViewportConstrainedPosition())
+ frameView->removeViewportConstrainedObject(this);
+ }
+ }
+ }
+
// If this is a first-letter object with a remaining text fragment then the
// entry needs to be cleared from the map.
if (firstLetterRemainingText())
@@ -446,6 +456,17 @@ void RenderBoxModelObject::styleDidChange(StyleDifference diff, const RenderStyl
if (s_hadLayer && layer()->isSelfPaintingLayer() != s_layerWasSelfPainting)
setChildNeedsLayout(true);
}
+
+ if (FrameView *frameView = view()->frameView()) {
+ bool newStyleIsViewportConstained = style()->hasViewportConstrainedPosition();
+ bool oldStyleIsViewportConstrained = oldStyle && oldStyle->hasViewportConstrainedPosition();
+ if (newStyleIsViewportConstained != oldStyleIsViewportConstrained) {
+ if (newStyleIsViewportConstained && layer())
+ frameView->addViewportConstrainedObject(this);
+ else
+ frameView->removeViewportConstrainedObject(this);
+ }
+ }
}
void RenderBoxModelObject::updateBoxModelInfoFromStyle()
@@ -456,6 +477,7 @@ void RenderBoxModelObject::updateBoxModelInfoFromStyle()
setHasBoxDecorations(hasBackground() || styleToUse->hasBorder() || styleToUse->hasAppearance() || styleToUse->boxShadow());
setInline(styleToUse->isDisplayInlineType());
setRelPositioned(styleToUse->position() == RelativePosition);
+ setStickyPositioned(styleToUse->position() == StickyPosition);
setHorizontalWritingMode(styleToUse->isHorizontalWritingMode());
}
@@ -534,6 +556,8 @@ LayoutPoint RenderBoxModelObject::adjustedPositionRelativeToOffsetParent(const L
if (!isOutOfFlowPositioned()) {
if (isRelPositioned())
referencePoint.move(relativePositionOffset());
+ else if (isStickyPositioned())
+ referencePoint.move(stickyPositionOffset());
const RenderObject* curr = parent();
while (curr != offsetParent) {
// FIXME: What are we supposed to do inside SVG content?
@@ -542,7 +566,7 @@ LayoutPoint RenderBoxModelObject::adjustedPositionRelativeToOffsetParent(const L
referencePoint.move(curr->parent()->offsetForColumns(referencePoint));
curr = curr->parent();
}
- if (offsetParent->isBox() && offsetParent->isBody() && !offsetParent->isRelPositioned() && !offsetParent->isOutOfFlowPositioned())
+ if (offsetParent->isBox() && offsetParent->isBody() && !offsetParent->isPositioned())
referencePoint.moveBy(toRenderBox(offsetParent)->topLeftLocation());
}
}
@@ -550,11 +574,73 @@ LayoutPoint RenderBoxModelObject::adjustedPositionRelativeToOffsetParent(const L
return referencePoint;
}
+void RenderBoxModelObject::computeStickyPositionConstraints(StickyPositionViewportConstraints& constraints, const FloatRect& viewportRect) const
+{
+ RenderBlock* containingBlock = this->containingBlock();
+
+ LayoutRect containerContentRect = containingBlock->contentBoxRect();
+
+ LayoutUnit minLeftMargin = minimumValueForLength(style()->marginLeft(), containingBlock->availableLogicalWidth(), view());
+ LayoutUnit minTopMargin = minimumValueForLength(style()->marginTop(), containingBlock->availableLogicalWidth(), view());
+ LayoutUnit minRightMargin = minimumValueForLength(style()->marginRight(), containingBlock->availableLogicalWidth(), view());
+ LayoutUnit minBottomMargin = minimumValueForLength(style()->marginBottom(), containingBlock->availableLogicalWidth(), view());
+
+ // Compute the container-relative area within which the sticky element is allowed to move.
+ containerContentRect.move(minLeftMargin, minTopMargin);
+ containerContentRect.contract(minLeftMargin + minRightMargin, minTopMargin + minBottomMargin);
+ constraints.setAbsoluteContainingBlockRect(containingBlock->localToAbsoluteQuad(FloatRect(containerContentRect)).boundingBox());
+
+ LayoutRect stickyBoxRect = frameRectForStickyPositioning();
+ LayoutRect flippedStickyBoxRect = stickyBoxRect;
+ containingBlock->flipForWritingMode(flippedStickyBoxRect);
+ LayoutPoint stickyLocation = flippedStickyBoxRect.location();
+
+ // FIXME: sucks to call localToAbsolute again, but we can't just offset from the previously computed rect if there are transforms.
+ FloatRect absContainerFrame = containingBlock->localToAbsoluteQuad(FloatRect(FloatPoint(), containingBlock->size())).boundingBox();
+ // We can't call localToAbsolute on |this| because that will recur. FIXME: For now, assume that |this| is not transformed.
+ FloatRect absoluteStickyBoxRect(absContainerFrame.location() + stickyLocation, flippedStickyBoxRect.size());
+ constraints.setAbsoluteStickyBoxRect(absoluteStickyBoxRect);
+
+ if (!style()->left().isAuto()) {
+ constraints.setLeftOffset(valueForLength(style()->left(), viewportRect.width(), view()));
+ constraints.addAnchorEdge(ViewportConstraints::AnchorEdgeLeft);
+ }
+
+ if (!style()->right().isAuto()) {
+ constraints.setRightOffset(valueForLength(style()->right(), viewportRect.width(), view()));
+ constraints.addAnchorEdge(ViewportConstraints::AnchorEdgeRight);
+ }
+
+ if (!style()->top().isAuto()) {
+ constraints.setTopOffset(valueForLength(style()->top(), viewportRect.height(), view()));
+ constraints.addAnchorEdge(ViewportConstraints::AnchorEdgeTop);
+ }
+
+ if (!style()->bottom().isAuto()) {
+ constraints.setBottomOffset(valueForLength(style()->bottom(), viewportRect.height(), view()));
+ constraints.addAnchorEdge(ViewportConstraints::AnchorEdgeBottom);
+ }
+}
+
+LayoutSize RenderBoxModelObject::stickyPositionOffset() const
+{
+ LayoutRect viewportRect = view()->frameView()->visibleContentRect();
+
+ StickyPositionViewportConstraints constraints;
+ computeStickyPositionConstraints(constraints, viewportRect);
+
+ // The sticky offset is physical, so we can just return the delta computed in absolute coords (though it may be wrong with transforms).
+ return LayoutSize(constraints.computeStickyOffset(viewportRect));
+}
+
LayoutSize RenderBoxModelObject::offsetForInFlowPosition() const
{
if (isRelPositioned())
return relativePositionOffset();
+ if (isStickyPositioned())
+ return stickyPositionOffset();
+
return LayoutSize();
}
@@ -2730,9 +2816,6 @@ bool RenderBoxModelObject::shouldAntialiasLines(GraphicsContext* context)
void RenderBoxModelObject::mapAbsoluteToLocalPoint(bool fixed, bool useTransforms, TransformState& transformState) const
{
- // We don't expect absoluteToLocal() to be called during layout (yet)
- ASSERT(!view() || !view()->layoutStateEnabled());
-
RenderObject* o = container();
if (!o)
return;
diff --git a/Source/WebCore/rendering/RenderBoxModelObject.h b/Source/WebCore/rendering/RenderBoxModelObject.h
index 8d5e83e7a..6ee354c9a 100644
--- a/Source/WebCore/rendering/RenderBoxModelObject.h
+++ b/Source/WebCore/rendering/RenderBoxModelObject.h
@@ -24,6 +24,7 @@
#ifndef RenderBoxModelObject_h
#define RenderBoxModelObject_h
+#include "LayoutTypesInlineMethods.h"
#include "RenderObject.h"
#include "ShadowData.h"
@@ -50,6 +51,7 @@ enum ContentChangeType {
};
class KeyframeList;
+class StickyPositionViewportConstraints;
// This class is the base for all objects that adhere to the CSS box model as described
// at http://www.w3.org/TR/CSS21/box.html
@@ -62,6 +64,10 @@ public:
LayoutSize relativePositionOffset() const;
LayoutSize relativePositionLogicalOffset() const { return style()->isHorizontalWritingMode() ? relativePositionOffset() : relativePositionOffset().transposedSize(); }
+ void computeStickyPositionConstraints(StickyPositionViewportConstraints&, const FloatRect& viewportRect) const;
+ LayoutSize stickyPositionOffset() const;
+ LayoutSize stickyPositionLogicalOffset() const { return style()->isHorizontalWritingMode() ? stickyPositionOffset() : stickyPositionOffset().transposedSize(); }
+
LayoutSize offsetForInFlowPosition() const;
// IE extensions. Used to calculate offsetWidth/Height. Overridden by inlines (RenderFlow)
@@ -82,7 +88,8 @@ public:
bool hasSelfPaintingLayer() const;
RenderLayer* layer() const { return m_layer; }
- virtual bool requiresLayer() const { return isRoot() || isOutOfFlowPositioned() || isInFlowPositioned() || isTransparent() || hasTransform() || hasHiddenBackface() || hasMask() || hasReflection() || hasFilter() || style()->specifiesColumns(); }
+
+ virtual bool requiresLayer() const { return isRoot() || isPositioned() || createsGroup() || hasClipPath() || hasTransform() || hasHiddenBackface() || hasReflection() || style()->specifiesColumns(); }
// This will work on inlines to return the bounding box of all of the lines' border boxes.
virtual IntRect borderBoundingBox() const = 0;
@@ -275,6 +282,8 @@ public:
private:
virtual bool isBoxModelObject() const { return true; }
+
+ virtual LayoutRect frameRectForStickyPositioning() const = 0;
IntSize calculateFillTileSize(const FillLayer*, const IntSize& scaledPositioningAreaSize) const;
diff --git a/Source/WebCore/rendering/RenderCounter.cpp b/Source/WebCore/rendering/RenderCounter.cpp
index de45d895e..e3496b136 100644
--- a/Source/WebCore/rendering/RenderCounter.cpp
+++ b/Source/WebCore/rendering/RenderCounter.cpp
@@ -30,6 +30,7 @@
#include "RenderListItem.h"
#include "RenderListMarker.h"
#include "RenderStyle.h"
+#include "RenderView.h"
#include <wtf/StdLibExtras.h>
#ifndef NDEBUG
@@ -40,7 +41,7 @@ namespace WebCore {
using namespace HTMLNames;
-typedef HashMap<RefPtr<AtomicStringImpl>, RefPtr<CounterNode> > CounterMap;
+typedef HashMap<AtomicString, RefPtr<CounterNode> > CounterMap;
typedef HashMap<const RenderObject*, OwnPtr<CounterMap> > CounterMaps;
static CounterNode* makeCounterNode(RenderObject*, const AtomicString& identifier, bool alwaysCreateCounter);
@@ -241,20 +242,11 @@ static bool planCounter(RenderObject* object, const AtomicString& identifier, bo
return false; // Counters are forbidden from all other pseudo elements.
}
- if (const CounterDirectiveMap* directivesMap = style->counterDirectives()) {
- CounterDirectives directives = directivesMap->get(identifier.impl());
- if (directives.m_reset) {
- value = directives.m_resetValue;
- if (directives.m_increment)
- value += directives.m_incrementValue;
- isReset = true;
- return true;
- }
- if (directives.m_increment) {
- value = directives.m_incrementValue;
- isReset = false;
- return true;
- }
+ const CounterDirectives directives = style->getCounterDirectives(identifier);
+ if (directives.isDefined()) {
+ value = directives.combinedValue();
+ isReset = directives.isReset();
+ return true;
}
if (identifier == "list-item") {
@@ -420,7 +412,7 @@ static CounterNode* makeCounterNode(RenderObject* object, const AtomicString& id
if (object->hasCounterNodeMap()) {
if (CounterMap* nodeMap = counterMaps().get(object)) {
- if (CounterNode* node = nodeMap->get(identifier.impl()).get())
+ if (CounterNode* node = nodeMap->get(identifier).get())
return node;
}
}
@@ -443,7 +435,7 @@ static CounterNode* makeCounterNode(RenderObject* object, const AtomicString& id
counterMaps().set(object, adoptPtr(nodeMap));
object->setHasCounterNodeMap(true);
}
- nodeMap->set(identifier.impl(), newNode);
+ nodeMap->set(identifier, newNode);
if (newNode->parent())
return newNode.get();
// Checking if some nodes that were previously counter tree root nodes
@@ -455,7 +447,7 @@ static CounterNode* makeCounterNode(RenderObject* object, const AtomicString& id
skipDescendants = false;
if (!currentRenderer->hasCounterNodeMap())
continue;
- CounterNode* currentCounter = maps.get(currentRenderer)->get(identifier.impl()).get();
+ CounterNode* currentCounter = maps.get(currentRenderer)->get(identifier).get();
if (!currentCounter)
continue;
skipDescendants = true;
@@ -537,6 +529,11 @@ PassRefPtr<StringImpl> RenderCounter::originalText() const
return text.impl();
}
+void RenderCounter::updateText()
+{
+ computePreferredLogicalWidths(0);
+}
+
void RenderCounter::computePreferredLogicalWidths(float lead)
{
setTextInternal(originalText());
@@ -558,8 +555,8 @@ static void destroyCounterNodeWithoutMapRemoval(const AtomicString& identifier,
for (RefPtr<CounterNode> child = node->lastDescendant(); child && child != node; child = previous) {
previous = child->previousInPreOrder();
child->parent()->removeChild(child.get());
- ASSERT(counterMaps().get(child->owner())->get(identifier.impl()) == child);
- counterMaps().get(child->owner())->remove(identifier.impl());
+ ASSERT(counterMaps().get(child->owner())->get(identifier) == child);
+ counterMaps().get(child->owner())->remove(identifier);
}
if (CounterNode* parent = node->parent())
parent->removeChild(node);
@@ -574,8 +571,7 @@ void RenderCounter::destroyCounterNodes(RenderObject* owner)
CounterMap* map = mapsIterator->second.get();
CounterMap::const_iterator end = map->end();
for (CounterMap::const_iterator it = map->begin(); it != end; ++it) {
- AtomicString identifier(it->first.get());
- destroyCounterNodeWithoutMapRemoval(identifier, it->second.get());
+ destroyCounterNodeWithoutMapRemoval(it->first, it->second.get());
}
maps.remove(mapsIterator);
owner->setHasCounterNodeMap(false);
@@ -586,7 +582,7 @@ void RenderCounter::destroyCounterNode(RenderObject* owner, const AtomicString&
CounterMap* map = counterMaps().get(owner);
if (!map)
return;
- CounterMap::iterator mapIterator = map->find(identifier.impl());
+ CounterMap::iterator mapIterator = map->find(identifier);
if (mapIterator == map->end())
return;
destroyCounterNodeWithoutMapRemoval(identifier, mapIterator->second.get());
@@ -629,22 +625,22 @@ static void updateCounters(RenderObject* renderer)
CounterDirectiveMap::const_iterator end = directiveMap->end();
if (!renderer->hasCounterNodeMap()) {
for (CounterDirectiveMap::const_iterator it = directiveMap->begin(); it != end; ++it)
- makeCounterNode(renderer, AtomicString(it->first.get()), false);
+ makeCounterNode(renderer, it->first, false);
return;
}
CounterMap* counterMap = counterMaps().get(renderer);
ASSERT(counterMap);
for (CounterDirectiveMap::const_iterator it = directiveMap->begin(); it != end; ++it) {
- RefPtr<CounterNode> node = counterMap->get(it->first.get());
+ RefPtr<CounterNode> node = counterMap->get(it->first);
if (!node) {
- makeCounterNode(renderer, AtomicString(it->first.get()), false);
+ makeCounterNode(renderer, it->first, false);
continue;
}
RefPtr<CounterNode> newParent = 0;
RefPtr<CounterNode> newPreviousSibling = 0;
- findPlaceForCounter(renderer, AtomicString(it->first.get()), node->hasResetType(), newParent, newPreviousSibling);
- if (node != counterMap->get(it->first.get()))
+ findPlaceForCounter(renderer, it->first, node->hasResetType(), newParent, newPreviousSibling);
+ if (node != counterMap->get(it->first))
continue;
CounterNode* parent = node->parent();
if (newParent == parent && newPreviousSibling == node->previousSibling())
@@ -652,7 +648,7 @@ static void updateCounters(RenderObject* renderer)
if (parent)
parent->removeChild(node.get());
if (newParent)
- newParent->insertAfter(node.get(), newPreviousSibling.get(), it->first.get());
+ newParent->insertAfter(node.get(), newPreviousSibling.get(), it->first);
}
}
@@ -688,17 +684,17 @@ void RenderCounter::rendererStyleChanged(RenderObject* renderer, const RenderSty
if (oldMapIt != oldMapEnd) {
if (oldMapIt->second == it->second)
continue;
- RenderCounter::destroyCounterNode(renderer, it->first.get());
+ RenderCounter::destroyCounterNode(renderer, it->first);
}
// We must create this node here, because the changed node may be a node with no display such as
// as those created by the increment or reset directives and the re-layout that will happen will
// not catch the change if the node had no children.
- makeCounterNode(renderer, it->first.get(), false);
+ makeCounterNode(renderer, it->first, false);
}
// Destroying old counters that do not exist in the new counterDirective map.
for (CounterDirectiveMap::const_iterator it = oldCounterDirectives->begin(); it !=oldMapEnd; ++it) {
if (!newCounterDirectives->contains(it->first))
- RenderCounter::destroyCounterNode(renderer, it->first.get());
+ RenderCounter::destroyCounterNode(renderer, it->first);
}
} else {
if (renderer->hasCounterNodeMap())
@@ -710,7 +706,7 @@ void RenderCounter::rendererStyleChanged(RenderObject* renderer, const RenderSty
// We must create this node here, because the added node may be a node with no display such as
// as those created by the increment or reset directives and the re-layout that will happen will
// not catch the change if the node had no children.
- makeCounterNode(renderer, it->first.get(), false);
+ makeCounterNode(renderer, it->first, false);
}
}
}
@@ -735,7 +731,7 @@ void showCounterRendererTree(const WebCore::RenderObject* renderer, const char*
fprintf(stderr, "%p N:%p P:%p PS:%p NS:%p C:%p\n",
current, current->node(), current->parent(), current->previousSibling(),
current->nextSibling(), current->hasCounterNodeMap() ?
- counterName ? WebCore::counterMaps().get(current)->get(identifier.impl()).get() : (WebCore::CounterNode*)1 : (WebCore::CounterNode*)0);
+ counterName ? WebCore::counterMaps().get(current)->get(identifier).get() : (WebCore::CounterNode*)1 : (WebCore::CounterNode*)0);
}
fflush(stderr);
}
diff --git a/Source/WebCore/rendering/RenderCounter.h b/Source/WebCore/rendering/RenderCounter.h
index 6ba936f86..548828647 100644
--- a/Source/WebCore/rendering/RenderCounter.h
+++ b/Source/WebCore/rendering/RenderCounter.h
@@ -48,6 +48,7 @@ private:
virtual bool isCounter() const;
virtual PassRefPtr<StringImpl> originalText() const;
+ virtual void updateText() OVERRIDE;
virtual void computePreferredLogicalWidths(float leadWidth);
// Removes the reference to the CounterNode associated with this renderer.
diff --git a/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp b/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
index 8fa73ae4f..e2fe1cf5c 100644
--- a/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
+++ b/Source/WebCore/rendering/RenderDeprecatedFlexibleBox.cpp
@@ -379,7 +379,7 @@ void RenderDeprecatedFlexibleBox::layoutHorizontalBox(bool relayoutChildren)
continue;
// Compute the child's vertical margins.
- child->computeBlockDirectionMargins(this);
+ child->computeAndSetBlockDirectionMargins(this);
if (!child->needsLayout())
child->markForPaginationRelayoutIfNeeded();
@@ -684,7 +684,7 @@ void RenderDeprecatedFlexibleBox::layoutVerticalBox(bool relayoutChildren)
}
// Compute the child's vertical margins.
- child->computeBlockDirectionMargins(this);
+ child->computeAndSetBlockDirectionMargins(this);
// Add in the child's marginTop to our height.
setHeight(height() + child->marginTop());
diff --git a/Source/WebCore/rendering/RenderDialog.cpp b/Source/WebCore/rendering/RenderDialog.cpp
new file mode 100644
index 000000000..4fb940925
--- /dev/null
+++ b/Source/WebCore/rendering/RenderDialog.cpp
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 2012 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 "RenderDialog.h"
+
+#if ENABLE(DIALOG_ELEMENT)
+#include "FrameView.h"
+#include "LayoutRepainter.h"
+#include "RenderLayer.h"
+#include "RenderView.h"
+
+namespace WebCore {
+
+void RenderDialog::layout()
+{
+ LayoutRepainter repainter(*this, true);
+ LayoutStateMaintainer statePusher(view(), this, locationOffset(), hasTransform() || hasReflection() || style()->isFlippedBlocksWritingMode());
+
+ RenderBlock::layout();
+
+ RenderStyle* styleToUse = style();
+ if (styleToUse->position() != AbsolutePosition || !styleToUse->top().isAuto() || !styleToUse->bottom().isAuto()) {
+ statePusher.pop();
+ return;
+ }
+
+ // Adjust the dialog's position to be centered in or at the top of the viewport.
+ // FIXME: Figure out what to do in vertical writing mode.
+ FrameView* frameView = document()->view();
+ int scrollTop = frameView->scrollOffset().height();
+ FloatPoint absolutePoint(0, scrollTop);
+ int visibleHeight = frameView->visibleContentRect(true).height();
+ if (height() < visibleHeight)
+ absolutePoint.move(0, (visibleHeight - height()) / 2);
+ FloatPoint localPoint = containingBlock()->absoluteToLocal(absolutePoint);
+ LayoutUnit localTop = LayoutSize(localPoint.x(), localPoint.y()).height();
+ setY(localTop);
+
+ statePusher.pop();
+ // FIXME: Since there is always a layer here, repainter shouldn't be necessary. But without it, the dialog is sometimes not painted (see bug 90670).
+ repainter.repaintAfterLayout();
+}
+
+}
+
+#endif
diff --git a/Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp b/Source/WebCore/rendering/RenderDialog.h
index c86c77d97..ea669469e 100644
--- a/Source/WebCore/storage/chromium/IDBKeyPathBackendImpl.cpp
+++ b/Source/WebCore/rendering/RenderDialog.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Google Inc. All rights reserved.
+ * Copyright (C) 2012 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,27 +23,33 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "IDBKeyPathBackendImpl.h"
+#ifndef RenderDialog_h
+#define RenderDialog_h
-#if ENABLE(INDEXED_DATABASE)
-
-#include "IDBKey.h"
-#include "PlatformSupport.h"
-#include "SerializedScriptValue.h"
+#if ENABLE(DIALOG_ELEMENT)
+#include "RenderBlock.h"
+#include "RenderWidget.h"
namespace WebCore {
-void IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue>, 0>& values, const IDBKeyPath& keyPath, Vector<RefPtr<IDBKey>, 0>& keys)
-{
- PlatformSupport::createIDBKeysFromSerializedValuesAndKeyPath(values, keyPath, keys);
-}
+class HTMLDialogElement;
+
+class RenderDialog : public RenderBlock {
+public:
+ explicit RenderDialog(Node* node)
+ : RenderBlock(node)
+ { }
-PassRefPtr<SerializedScriptValue> IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey> key, PassRefPtr<SerializedScriptValue> value, const IDBKeyPath& keyPath)
-{
- return PlatformSupport::injectIDBKeyIntoSerializedValue(key, value, keyPath);
-}
+ virtual ~RenderDialog() { }
+ virtual void layout() OVERRIDE;
+
+private:
+ virtual const char* renderName() const { return "RenderDialog"; }
+ virtual bool isDialog() const OVERRIDE { return true; }
+};
} // namespace WebCore
#endif
+
+#endif // RenderDialog_h
diff --git a/Source/WebCore/rendering/RenderEmbeddedObject.cpp b/Source/WebCore/rendering/RenderEmbeddedObject.cpp
index 135959420..dcb3cc3b0 100644
--- a/Source/WebCore/rendering/RenderEmbeddedObject.cpp
+++ b/Source/WebCore/rendering/RenderEmbeddedObject.cpp
@@ -265,16 +265,16 @@ void RenderEmbeddedObject::viewCleared()
}
}
-bool RenderEmbeddedObject::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderEmbeddedObject::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- if (!RenderPart::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction))
+ if (!RenderPart::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction))
return false;
if (!widget() || !widget()->isPluginViewBase())
return true;
PluginViewBase* view = static_cast<PluginViewBase*>(widget());
- IntPoint roundedPoint = pointInContainer.roundedPoint();
+ IntPoint roundedPoint = locationInContainer.roundedPoint();
if (Scrollbar* horizontalScrollbar = view->horizontalScrollbar()) {
if (horizontalScrollbar->shouldParticipateInHitTesting() && horizontalScrollbar->frameRect().contains(roundedPoint)) {
diff --git a/Source/WebCore/rendering/RenderEmbeddedObject.h b/Source/WebCore/rendering/RenderEmbeddedObject.h
index 6edc9bfb7..3f318b167 100644
--- a/Source/WebCore/rendering/RenderEmbeddedObject.h
+++ b/Source/WebCore/rendering/RenderEmbeddedObject.h
@@ -71,7 +71,7 @@ private:
virtual void layout();
virtual void viewCleared();
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier, Node** stopNode);
virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier, Node** stopNode);
diff --git a/Source/WebCore/rendering/RenderFlowThread.cpp b/Source/WebCore/rendering/RenderFlowThread.cpp
index f3e47df47..059ff4818 100644
--- a/Source/WebCore/rendering/RenderFlowThread.cpp
+++ b/Source/WebCore/rendering/RenderFlowThread.cpp
@@ -52,6 +52,9 @@ RenderFlowThread::RenderFlowThread(Node* node)
, m_regionsHaveUniformLogicalWidth(true)
, m_regionsHaveUniformLogicalHeight(true)
, m_overset(true)
+ , m_hasRegionsWithStyling(false)
+ , m_dispatchRegionLayoutUpdateEvent(false)
+ , m_pageLogicalHeightChanged(false)
{
ASSERT(node->document()->cssRegionsEnabled());
setIsAnonymous(false);
@@ -130,7 +133,7 @@ private:
void RenderFlowThread::layout()
{
- bool regionsChanged = m_regionsInvalidated && everHadLayout();
+ m_pageLogicalHeightChanged = m_regionsInvalidated && everHadLayout();
if (m_regionsInvalidated) {
m_regionsInvalidated = false;
m_hasValidRegions = false;
@@ -148,8 +151,8 @@ void RenderFlowThread::layout()
region->deleteAllRenderBoxRegionInfo();
- LayoutUnit regionLogicalWidth = region->logicalWidthForFlowThreadContent();
- LayoutUnit regionLogicalHeight = region->logicalHeightForFlowThreadContent();
+ LayoutUnit regionLogicalWidth = region->pageLogicalWidth();
+ LayoutUnit regionLogicalHeight = region->pageLogicalHeight();
if (!m_hasValidRegions)
m_hasValidRegions = true;
@@ -171,21 +174,24 @@ void RenderFlowThread::layout()
if (!region->isValid())
continue;
- LayoutUnit regionLogicalWidth = region->logicalWidthForFlowThreadContent();
- LayoutUnit regionLogicalHeight = region->logicalHeightForFlowThreadContent();
+ LayoutUnit regionLogicalWidth = region->pageLogicalWidth();
+ LayoutUnit regionLogicalHeight = region->logicalHeightOfAllFlowThreadContent();
LayoutRect regionRect(style()->direction() == LTR ? ZERO_LAYOUT_UNIT : logicalWidth() - regionLogicalWidth, logicalHeight, regionLogicalWidth, regionLogicalHeight);
- region->setRegionRect(isHorizontalWritingMode() ? regionRect : regionRect.transposedRect());
+ region->setFlowThreadPortionRect(isHorizontalWritingMode() ? regionRect : regionRect.transposedRect());
logicalHeight += regionLogicalHeight;
}
}
}
CurrentRenderFlowThreadMaintainer currentFlowThreadSetter(this);
- LayoutStateMaintainer statePusher(view(), this, regionsChanged);
RenderBlock::layout();
- statePusher.pop();
-
+
+ m_pageLogicalHeightChanged = false;
+
+ if (lastRegion())
+ lastRegion()->expandToEncompassFlowThreadContentsIfNeeded();
+
if (shouldDispatchRegionLayoutUpdateEvent())
dispatchRegionLayoutUpdateEvent();
}
@@ -198,7 +204,7 @@ void RenderFlowThread::computeLogicalWidth()
if (!region->isValid())
continue;
ASSERT(!region->needsLayout());
- logicalWidth = max(region->logicalWidthForFlowThreadContent(), logicalWidth);
+ logicalWidth = max(region->pageLogicalWidth(), logicalWidth);
}
setLogicalWidth(logicalWidth);
@@ -208,7 +214,7 @@ void RenderFlowThread::computeLogicalWidth()
if (!region->isValid())
continue;
- LayoutUnit regionLogicalWidth = region->logicalWidthForFlowThreadContent();
+ LayoutUnit regionLogicalWidth = region->pageLogicalWidth();
if (regionLogicalWidth != logicalWidth) {
LayoutUnit logicalLeft = style()->direction() == LTR ? ZERO_LAYOUT_UNIT : logicalWidth - regionLogicalWidth;
region->setRenderBoxRegionInfo(this, logicalLeft, regionLogicalWidth, false);
@@ -225,13 +231,13 @@ void RenderFlowThread::computeLogicalHeight()
if (!region->isValid())
continue;
ASSERT(!region->needsLayout());
- logicalHeight += region->logicalHeightForFlowThreadContent();
+ logicalHeight += region->logicalHeightOfAllFlowThreadContent();
}
setLogicalHeight(logicalHeight);
}
-void RenderFlowThread::paintIntoRegion(PaintInfo& paintInfo, RenderRegion* region, const LayoutPoint& paintOffset)
+void RenderFlowThread::paintFlowThreadPortionInRegion(PaintInfo& paintInfo, RenderRegion* region, LayoutRect flowThreadPortionRect, LayoutRect flowThreadPortionOverflowRect, const LayoutPoint& paintOffset) const
{
GraphicsContext* context = paintInfo.context;
if (!context)
@@ -240,9 +246,7 @@ void RenderFlowThread::paintIntoRegion(PaintInfo& paintInfo, RenderRegion* regio
// Adjust the clipping rect for the region.
// paintOffset contains the offset where the painting should occur
// adjusted with the region padding and border.
- LayoutRect regionRect(region->regionRect());
- LayoutRect regionOversetRect(region->regionOversetRect());
- LayoutRect regionClippingRect(paintOffset + (regionOversetRect.location() - regionRect.location()), regionOversetRect.size());
+ LayoutRect regionClippingRect(paintOffset + (flowThreadPortionOverflowRect.location() - flowThreadPortionRect.location()), flowThreadPortionOverflowRect.size());
PaintInfo info(paintInfo);
info.rect.intersect(pixelSnappedIntRect(regionClippingRect));
@@ -254,14 +258,14 @@ void RenderFlowThread::paintIntoRegion(PaintInfo& paintInfo, RenderRegion* regio
// RenderFlowThread should start painting its content in a position that is offset
// from the region rect's current position. The amount of offset is equal to the location of
- // region in flow coordinates.
+ // the flow thread portion in the flow thread's local coordinates.
IntPoint renderFlowThreadOffset;
if (style()->isFlippedBlocksWritingMode()) {
- LayoutRect flippedRegionRect(regionRect);
- flipForWritingMode(flippedRegionRect);
- renderFlowThreadOffset = roundedIntPoint(paintOffset - flippedRegionRect.location());
+ LayoutRect flippedFlowThreadPortionRect(flowThreadPortionRect);
+ flipForWritingMode(flippedFlowThreadPortionRect);
+ renderFlowThreadOffset = roundedIntPoint(paintOffset - flippedFlowThreadPortionRect.location());
} else
- renderFlowThreadOffset = roundedIntPoint(paintOffset - regionRect.location());
+ renderFlowThreadOffset = roundedIntPoint(paintOffset - flowThreadPortionRect.location());
context->translate(renderFlowThreadOffset.x(), renderFlowThreadOffset.y());
info.rect.moveBy(-renderFlowThreadOffset);
@@ -272,29 +276,27 @@ void RenderFlowThread::paintIntoRegion(PaintInfo& paintInfo, RenderRegion* regio
}
}
-bool RenderFlowThread::hitTestRegion(RenderRegion* region, const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
+bool RenderFlowThread::hitTestFlowThreadPortionInRegion(RenderRegion* region, LayoutRect flowThreadPortionRect, LayoutRect flowThreadPortionOverflowRect, const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset) const
{
- LayoutRect regionRect(region->regionRect());
- LayoutRect regionOversetRect = region->regionOversetRect();
- LayoutRect regionClippingRect(accumulatedOffset + (regionOversetRect.location() - regionRect.location()), regionOversetRect.size());
- if (!regionClippingRect.contains(pointInContainer.point()))
+ LayoutRect regionClippingRect(accumulatedOffset + (flowThreadPortionOverflowRect.location() - flowThreadPortionRect.location()), flowThreadPortionOverflowRect.size());
+ if (!regionClippingRect.contains(locationInContainer.point()))
return false;
LayoutSize renderFlowThreadOffset;
if (style()->isFlippedBlocksWritingMode()) {
- LayoutRect flippedRegionRect(regionRect);
- flipForWritingMode(flippedRegionRect);
- renderFlowThreadOffset = accumulatedOffset - flippedRegionRect.location();
+ LayoutRect flippedFlowThreadPortionRect(flowThreadPortionRect);
+ flipForWritingMode(flippedFlowThreadPortionRect);
+ renderFlowThreadOffset = accumulatedOffset - flippedFlowThreadPortionRect.location();
} else
- renderFlowThreadOffset = accumulatedOffset - regionRect.location();
+ renderFlowThreadOffset = accumulatedOffset - flowThreadPortionRect.location();
// Always ignore clipping, since the RenderFlowThread has nothing to do with the bounds of the FrameView.
HitTestRequest newRequest(request.type() | HitTestRequest::IgnoreClipping);
- // Make a new temporary hitTestPoint in the new region.
- HitTestPoint newHitTestPoint(pointInContainer, -renderFlowThreadOffset, region);
+ // Make a new temporary HitTestLocation in the new region.
+ HitTestLocation newHitTestLocation(locationInContainer, -renderFlowThreadOffset, region);
- bool isPointInsideFlowThread = layer()->hitTest(newRequest, newHitTestPoint, result);
+ bool isPointInsideFlowThread = layer()->hitTest(newRequest, newHitTestLocation, result);
// FIXME: Should we set result.m_localPoint back to the RenderRegion's coordinate space or leave it in the RenderFlowThread's coordinate
// space? Right now it's staying in the RenderFlowThread's coordinate space, which may end up being ok. We will know more when we get around to
@@ -315,37 +317,22 @@ void RenderFlowThread::repaintRectangleInRegions(const LayoutRect& repaintRect,
if (!shouldRepaint(repaintRect) || !hasValidRegionInfo())
return;
+ LayoutStateDisabler layoutStateDisabler(view()); // We can't use layout state to repaint, since the regions are somewhere else.
+
+ // We can't use currentFlowThread as it is possible to have interleaved flow threads and the wrong one could be used.
+ // Let each region figure out the proper enclosing flow thread.
+ CurrentRenderFlowThreadDisabler disabler(view());
+
for (RenderRegionList::iterator iter = m_regionList.begin(); iter != m_regionList.end(); ++iter) {
RenderRegion* region = *iter;
if (!region->isValid())
continue;
- // We only have to issue a repaint in this region if the region rect intersects the repaint rect.
- LayoutRect flippedRegionRect(region->regionRect());
- LayoutRect flippedRegionOversetRect(region->regionOversetRect());
- flipForWritingMode(flippedRegionRect); // Put the region rects into physical coordinates.
- flipForWritingMode(flippedRegionOversetRect);
-
- LayoutRect clippedRect(repaintRect);
- clippedRect.intersect(flippedRegionOversetRect);
- if (clippedRect.isEmpty())
- continue;
-
- // Put the region rect into the region's physical coordinate space.
- clippedRect.setLocation(region->contentBoxRect().location() + (clippedRect.location() - flippedRegionRect.location()));
-
- // Now switch to the region's writing mode coordinate space and let it repaint itself.
- region->flipForWritingMode(clippedRect);
- LayoutStateDisabler layoutStateDisabler(view()); // We can't use layout state to repaint, since the region is somewhere else.
-
- // Can't use currentFlowThread as it possible to have imbricated flow threads and the wrong one could be used,
- // so, we let each region figure out the proper enclosing flow thread
- CurrentRenderFlowThreadDisabler disabler(view());
- region->repaintRectangle(clippedRect, immediate);
+ region->repaintFlowThreadContent(repaintRect, immediate);
}
}
-RenderRegion* RenderFlowThread::renderRegionForLine(LayoutUnit position, bool extendLastRegion) const
+RenderRegion* RenderFlowThread::regionAtBlockOffset(LayoutUnit offset, bool extendLastRegion) const
{
ASSERT(!m_regionsInvalidated);
@@ -360,58 +347,52 @@ RenderRegion* RenderFlowThread::renderRegionForLine(LayoutUnit position, bool ex
if (!region->isValid())
continue;
- if (position <= 0)
+ if (offset <= 0)
return region;
- LayoutRect regionRect = region->regionRect();
-
- if ((useHorizontalWritingMode && position < regionRect.maxY()) || (!useHorizontalWritingMode && position < regionRect.maxX()))
+ LayoutRect regionRect = region->flowThreadPortionRect();
+ if ((useHorizontalWritingMode && offset < regionRect.maxY()) || (!useHorizontalWritingMode && offset < regionRect.maxX()))
return region;
- if (extendLastRegion)
+ if (extendLastRegion || region->isRenderRegionSet())
lastValidRegion = region;
}
return lastValidRegion;
}
-LayoutUnit RenderFlowThread::regionLogicalTopForLine(LayoutUnit position) const
+LayoutUnit RenderFlowThread::pageLogicalTopForOffset(LayoutUnit offset) const
{
- RenderRegion* region = renderRegionForLine(position);
- if (!region)
- return 0;
- return isHorizontalWritingMode() ? region->regionRect().y() : region->regionRect().x();
+ RenderRegion* region = regionAtBlockOffset(offset);
+ return region ? region->pageLogicalTopForOffset(offset) : ZERO_LAYOUT_UNIT;
}
-LayoutUnit RenderFlowThread::regionLogicalWidthForLine(LayoutUnit position) const
+LayoutUnit RenderFlowThread::pageLogicalWidthForOffset(LayoutUnit offset) const
{
- RenderRegion* region = renderRegionForLine(position, true);
- if (!region)
- return contentLogicalWidth();
- return isHorizontalWritingMode() ? region->regionRect().width() : region->regionRect().height();
+ RenderRegion* region = regionAtBlockOffset(offset, true);
+ return region ? region->pageLogicalWidth() : contentLogicalWidth();
}
-LayoutUnit RenderFlowThread::regionLogicalHeightForLine(LayoutUnit position) const
+LayoutUnit RenderFlowThread::pageLogicalHeightForOffset(LayoutUnit offset) const
{
- RenderRegion* region = renderRegionForLine(position);
- if (!region)
- return 0;
- return isHorizontalWritingMode() ? region->regionRect().height() : region->regionRect().width();
+ RenderRegion* region = regionAtBlockOffset(offset);
+ return region ? region->pageLogicalHeight() : ZERO_LAYOUT_UNIT;
}
-LayoutUnit RenderFlowThread::regionRemainingLogicalHeightForLine(LayoutUnit position, PageBoundaryRule pageBoundaryRule) const
+LayoutUnit RenderFlowThread::pageRemainingLogicalHeightForOffset(LayoutUnit offset, PageBoundaryRule pageBoundaryRule) const
{
- RenderRegion* region = renderRegionForLine(position);
+ RenderRegion* region = regionAtBlockOffset(offset);
if (!region)
- return 0;
-
- LayoutUnit regionLogicalBottom = isHorizontalWritingMode() ? region->regionRect().maxY() : region->regionRect().maxX();
- LayoutUnit remainingHeight = regionLogicalBottom - position;
+ return ZERO_LAYOUT_UNIT;
+
+ LayoutUnit pageLogicalTop = region->pageLogicalTopForOffset(offset);
+ LayoutUnit pageLogicalHeight = region->pageLogicalHeight();
+ LayoutUnit pageLogicalBottom = pageLogicalTop + pageLogicalHeight;
+ LayoutUnit remainingHeight = pageLogicalBottom - offset;
if (pageBoundaryRule == IncludePageBoundary) {
// If IncludePageBoundary is set, the line exactly on the top edge of a
// region will act as being part of the previous region.
- LayoutUnit regionHeight = isHorizontalWritingMode() ? region->regionRect().height() : region->regionRect().width();
- remainingHeight = intMod(remainingHeight, regionHeight);
+ remainingHeight = intMod(remainingHeight, pageLogicalHeight);
}
return remainingHeight;
}
@@ -429,11 +410,11 @@ RenderRegion* RenderFlowThread::mapFromFlowToRegion(TransformState& transformSta
// Note: Using the center in order to avoid rounding errors.
LayoutPoint center = boxRect.center();
- RenderRegion* renderRegion = renderRegionForLine(isHorizontalWritingMode() ? center.y() : center.x(), true);
+ RenderRegion* renderRegion = regionAtBlockOffset(isHorizontalWritingMode() ? center.y() : center.x(), true);
if (!renderRegion)
return 0;
- LayoutRect flippedRegionRect(renderRegion->regionRect());
+ LayoutRect flippedRegionRect(renderRegion->flowThreadPortionRect());
flipForWritingMode(flippedRegionRect);
transformState.move(renderRegion->contentBoxRect().location() - flippedRegionRect.location());
@@ -541,7 +522,7 @@ LayoutUnit RenderFlowThread::contentLogicalLeftOfFirstRegion() const
RenderRegion* region = *iter;
if (!region->isValid())
continue;
- return isHorizontalWritingMode() ? region->regionRect().x() : region->regionRect().y();
+ return isHorizontalWritingMode() ? region->flowThreadPortionRect().x() : region->flowThreadPortionRect().y();
}
ASSERT_NOT_REACHED();
return 0;
@@ -605,8 +586,8 @@ void RenderFlowThread::setRegionRangeForBox(const RenderBox* box, LayoutUnit off
return;
// FIXME: Not right for differing writing-modes.
- RenderRegion* startRegion = renderRegionForLine(offsetFromLogicalTopOfFirstPage, true);
- RenderRegion* endRegion = renderRegionForLine(offsetFromLogicalTopOfFirstPage + box->logicalHeight(), true);
+ RenderRegion* startRegion = regionAtBlockOffset(offsetFromLogicalTopOfFirstPage, true);
+ RenderRegion* endRegion = regionAtBlockOffset(offsetFromLogicalTopOfFirstPage + box->logicalHeight(), true);
RenderRegionRangeMap::iterator it = m_regionRangeMap.find(box);
if (it == m_regionRangeMap.end()) {
m_regionRangeMap.set(box, RenderRegionRange(startRegion, endRegion));
@@ -669,8 +650,8 @@ void RenderFlowThread::computeOverflowStateForRegions(LayoutUnit oldClientAfterE
region->setRegionState(RenderRegion::RegionUndefined);
continue;
}
- LayoutUnit flowMin = height - (isHorizontalWritingMode() ? region->regionRect().y() : region->regionRect().x());
- LayoutUnit flowMax = height - (isHorizontalWritingMode() ? region->regionRect().maxY() : region->regionRect().maxX());
+ LayoutUnit flowMin = height - (isHorizontalWritingMode() ? region->flowThreadPortionRect().y() : region->flowThreadPortionRect().x());
+ LayoutUnit flowMax = height - (isHorizontalWritingMode() ? region->flowThreadPortionRect().maxY() : region->flowThreadPortionRect().maxX());
RenderRegion::RegionState previousState = region->regionState();
RenderRegion::RegionState state = RenderRegion::RegionFit;
if (flowMin <= 0)
@@ -688,7 +669,7 @@ void RenderFlowThread::computeOverflowStateForRegions(LayoutUnit oldClientAfterE
}
// With the regions overflow state computed we can also set the overset flag for the named flow.
- // If there are no valid regions in the chain, overset is true
+ // If there are no valid regions in the chain, overset is true.
m_overset = lastReg ? lastReg->regionState() == RenderRegion::RegionOverset : true;
}
diff --git a/Source/WebCore/rendering/RenderFlowThread.h b/Source/WebCore/rendering/RenderFlowThread.h
index 34dec69d8..32803adde 100644
--- a/Source/WebCore/rendering/RenderFlowThread.h
+++ b/Source/WebCore/rendering/RenderFlowThread.h
@@ -73,11 +73,11 @@ public:
virtual void removeRegionFromThread(RenderRegion*);
const RenderRegionList& renderRegionList() const { return m_regionList; }
- void computeLogicalWidth();
- void computeLogicalHeight();
+ virtual void computeLogicalWidth() OVERRIDE;
+ virtual void computeLogicalHeight() OVERRIDE;
- void paintIntoRegion(PaintInfo&, RenderRegion*, const LayoutPoint& paintOffset);
- bool hitTestRegion(RenderRegion*, const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset);
+ void paintFlowThreadPortionInRegion(PaintInfo&, RenderRegion*, LayoutRect flowThreadPortionRect, LayoutRect flowThreadPortionOverflowRect, const LayoutPoint&) const;
+ bool hitTestFlowThreadPortionInRegion(RenderRegion*, LayoutRect flowThreadPortionRect, LayoutRect flowThreadPortionOverflowRect, const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset) const;
bool hasRegions() const { return m_regionList.size(); }
bool hasValidRegions() const { ASSERT(!m_regionsInvalidated); return m_hasValidRegions; }
@@ -94,11 +94,11 @@ public:
void repaintRectangleInRegions(const LayoutRect&, bool immediate);
- LayoutUnit regionLogicalTopForLine(LayoutUnit position) const;
- LayoutUnit regionLogicalWidthForLine(LayoutUnit position) const;
- LayoutUnit regionLogicalHeightForLine(LayoutUnit position) const;
- LayoutUnit regionRemainingLogicalHeightForLine(LayoutUnit position, PageBoundaryRule = IncludePageBoundary) const;
- RenderRegion* renderRegionForLine(LayoutUnit position, bool extendLastRegion = false) const;
+ LayoutUnit pageLogicalTopForOffset(LayoutUnit) const;
+ LayoutUnit pageLogicalWidthForOffset(LayoutUnit) const;
+ LayoutUnit pageLogicalHeightForOffset(LayoutUnit) const;
+ LayoutUnit pageRemainingLogicalHeightForOffset(LayoutUnit, PageBoundaryRule = IncludePageBoundary) const;
+ RenderRegion* regionAtBlockOffset(LayoutUnit, bool extendLastRegion = false) const;
bool regionsHaveUniformLogicalWidth() const { return m_regionsHaveUniformLogicalWidth; }
bool regionsHaveUniformLogicalHeight() const { return m_regionsHaveUniformLogicalHeight; }
@@ -129,6 +129,8 @@ public:
// Check if the object is in region and the region is part of this flow thread.
bool objectInFlowRegion(const RenderObject*, const RenderRegion*) const;
+ bool pageLogicalHeightChanged() const { return m_pageLogicalHeightChanged; }
+
protected:
virtual const char* renderName() const = 0;
@@ -180,6 +182,7 @@ protected:
bool m_overset;
bool m_hasRegionsWithStyling;
bool m_dispatchRegionLayoutUpdateEvent;
+ bool m_pageLogicalHeightChanged;
};
inline RenderFlowThread* toRenderFlowThread(RenderObject* object)
diff --git a/Source/WebCore/rendering/RenderFrameBase.cpp b/Source/WebCore/rendering/RenderFrameBase.cpp
index aa82870d4..be92c0fa8 100644
--- a/Source/WebCore/rendering/RenderFrameBase.cpp
+++ b/Source/WebCore/rendering/RenderFrameBase.cpp
@@ -29,6 +29,8 @@
#include "Frame.h"
#include "FrameView.h"
#include "HTMLFrameElementBase.h"
+#include "HitTestResult.h"
+#include "RenderLayer.h"
#include "RenderView.h"
namespace WebCore {
@@ -104,4 +106,33 @@ void RenderFrameBase::layoutWithFlattening(bool hasFixedWidth, bool hasFixedHeig
setNeedsLayout(false);
}
+bool RenderFrameBase::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+{
+ if (request.allowsChildFrameContent()) {
+ FrameView* childFrameView = static_cast<FrameView*>(widget());
+ RenderView* childRoot = childFrameView ? static_cast<RenderView*>(childFrameView->frame()->contentRenderer()) : 0;
+
+ if (childRoot) {
+ LayoutPoint adjustedLocation = accumulatedOffset + location();
+ HitTestLocation newHitTestLocation(locationInContainer, -toLayoutSize(adjustedLocation));
+ HitTestRequest newHitTestRequest(request.type() | HitTestRequest::ChildFrameHitTest);
+
+ bool isInsideChildFrame = childRoot->layer()->hitTest(newHitTestRequest, newHitTestLocation, result);
+ if (isInsideChildFrame)
+ return true;
+
+ if (request.shouldTestChildFrameScrollBars()) {
+ // ScrollView scrollbars are not the same as RenderLayer scrollbars tested by RenderLayer::hitTestOverflowControls,
+ // so we need to test ScrollView scrollbars separately here.
+ // FIXME: Consider if this test could be done unconditionally.
+ Scrollbar* frameScrollbar = childFrameView->scrollbarAtPoint(newHitTestLocation.roundedPoint());
+ if (frameScrollbar)
+ result.setScrollbar(frameScrollbar);
+ }
+ }
+ }
+
+ return RenderPart::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, action);
+}
+
}
diff --git a/Source/WebCore/rendering/RenderFrameBase.h b/Source/WebCore/rendering/RenderFrameBase.h
index 4fad560c5..a7deedab1 100644
--- a/Source/WebCore/rendering/RenderFrameBase.h
+++ b/Source/WebCore/rendering/RenderFrameBase.h
@@ -36,6 +36,7 @@ protected:
explicit RenderFrameBase(Element*);
public:
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
void layoutWithFlattening(bool fixedWidth, bool fixedHeight);
};
diff --git a/Source/WebCore/rendering/RenderFrameSet.cpp b/Source/WebCore/rendering/RenderFrameSet.cpp
index c89547863..e6df40b9a 100644
--- a/Source/WebCore/rendering/RenderFrameSet.cpp
+++ b/Source/WebCore/rendering/RenderFrameSet.cpp
@@ -158,12 +158,12 @@ void RenderFrameSet::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
}
bool RenderFrameSet::nodeAtPoint(const HitTestRequest& request, HitTestResult& result,
- const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+ const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
if (action != HitTestForeground)
return false;
- bool inside = RenderBox::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, action)
+ bool inside = RenderBox::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, action)
|| m_isResizing;
if (inside && frameSet()->noResize()
diff --git a/Source/WebCore/rendering/RenderFrameSet.h b/Source/WebCore/rendering/RenderFrameSet.h
index 7d69770e7..b670575c3 100644
--- a/Source/WebCore/rendering/RenderFrameSet.h
+++ b/Source/WebCore/rendering/RenderFrameSet.h
@@ -96,7 +96,7 @@ private:
virtual bool isFrameSet() const { return true; }
virtual void layout();
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual void paint(PaintInfo&, const LayoutPoint&);
virtual bool isChildAllowed(RenderObject*, RenderStyle*) const;
virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
diff --git a/Source/WebCore/rendering/RenderGeometryMap.h b/Source/WebCore/rendering/RenderGeometryMap.h
index 98f44c633..495d0bf22 100644
--- a/Source/WebCore/rendering/RenderGeometryMap.h
+++ b/Source/WebCore/rendering/RenderGeometryMap.h
@@ -29,13 +29,17 @@
#include "FloatPoint.h"
#include "FloatQuad.h"
#include "IntSize.h"
-#include "RenderObject.h"
+#include "LayoutTypesInlineMethods.h"
#include "TransformationMatrix.h"
#include <wtf/OwnPtr.h>
namespace WebCore {
+class RenderBoxModelObject;
class RenderLayer;
+class RenderObject;
+class RenderView;
+class TransformState;
// Stores data about how to map from one renderer to its container.
struct RenderGeometryMapStep {
diff --git a/Source/WebCore/rendering/RenderImage.cpp b/Source/WebCore/rendering/RenderImage.cpp
index f399abc4d..1953f5331 100644
--- a/Source/WebCore/rendering/RenderImage.cpp
+++ b/Source/WebCore/rendering/RenderImage.cpp
@@ -499,16 +499,16 @@ HTMLMapElement* RenderImage::imageMap() const
return i ? i->treeScope()->getImageMap(i->fastGetAttribute(usemapAttr)) : 0;
}
-bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderImage::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- HitTestResult tempResult(result.hitTestPoint(), result.shadowContentFilterPolicy());
- bool inside = RenderReplaced::nodeAtPoint(request, tempResult, pointInContainer, accumulatedOffset, hitTestAction);
+ HitTestResult tempResult(result.hitTestLocation());
+ bool inside = RenderReplaced::nodeAtPoint(request, tempResult, locationInContainer, accumulatedOffset, hitTestAction);
if (tempResult.innerNode() && node()) {
if (HTMLMapElement* map = imageMap()) {
LayoutRect contentBox = contentBoxRect();
float scaleFactor = 1 / style()->effectiveZoom();
- LayoutPoint mapLocation = pointInContainer.point() - toLayoutSize(accumulatedOffset) - locationOffset() - toLayoutSize(contentBox.location());
+ LayoutPoint mapLocation = locationInContainer.point() - toLayoutSize(accumulatedOffset) - locationOffset() - toLayoutSize(contentBox.location());
mapLocation.scale(scaleFactor, scaleFactor);
if (map->mapMouseEvent(mapLocation, contentBox.size(), tempResult))
diff --git a/Source/WebCore/rendering/RenderImage.h b/Source/WebCore/rendering/RenderImage.h
index 6bddb0a58..2358fb2db 100644
--- a/Source/WebCore/rendering/RenderImage.h
+++ b/Source/WebCore/rendering/RenderImage.h
@@ -92,7 +92,7 @@ private:
virtual int minimumReplacedHeight() const;
virtual void notifyFinished(CachedResource*);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual bool boxShadowShouldBeAppliedToBackground(BackgroundBleedAvoidance, InlineFlowBox*) const OVERRIDE;
diff --git a/Source/WebCore/rendering/RenderInline.cpp b/Source/WebCore/rendering/RenderInline.cpp
index b139bcb44..941375509 100644
--- a/Source/WebCore/rendering/RenderInline.cpp
+++ b/Source/WebCore/rendering/RenderInline.cpp
@@ -750,6 +750,8 @@ const char* RenderInline::renderName() const
{
if (isRelPositioned())
return "RenderInline (relative positioned)";
+ if (isStickyPositioned())
+ return "RenderInline (sticky positioned)";
if (isAnonymous())
return "RenderInline (generated)";
if (isRunIn())
@@ -758,14 +760,14 @@ const char* RenderInline::renderName() const
}
bool RenderInline::nodeAtPoint(const HitTestRequest& request, HitTestResult& result,
- const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+ const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- return m_lineBoxes.hitTest(this, request, result, pointInContainer, accumulatedOffset, hitTestAction);
+ return m_lineBoxes.hitTest(this, request, result, locationInContainer, accumulatedOffset, hitTestAction);
}
VisiblePosition RenderInline::positionForPoint(const LayoutPoint& point)
{
- // FIXME: Does not deal with relative positioned inlines (should it?)
+ // FIXME: Does not deal with relative or sticky positioned inlines (should it?)
RenderBlock* cb = containingBlock();
if (firstLineBox()) {
// This inline actually has a line box. We must have clicked in the border/padding of one of these boxes. We
@@ -1064,7 +1066,7 @@ void RenderInline::computeRectForRepaint(RenderBoxModelObject* repaintContainer,
if (style()->hasInFlowPosition() && layer()) {
// Apply the in-flow position offset when invalidating a rectangle. The layer
// is translated, but the render box isn't, so we need to do this to get the
- // right dirty rect. Since this is called from RenderObject::setStyle, the relative position
+ // right dirty rect. Since this is called from RenderObject::setStyle, the relative or sticky position
// flag on the RenderObject has been cleared, so use the one on the style().
topLeft += layer()->offsetForInFlowPosition();
}
diff --git a/Source/WebCore/rendering/RenderInline.h b/Source/WebCore/rendering/RenderInline.h
index 9adec42b0..4a5bb09dc 100644
--- a/Source/WebCore/rendering/RenderInline.h
+++ b/Source/WebCore/rendering/RenderInline.h
@@ -89,7 +89,7 @@ public:
protected:
virtual void willBeDestroyed();
- virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+ virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle) OVERRIDE;
private:
virtual RenderObjectChildList* virtualChildren() { return children(); }
@@ -122,9 +122,9 @@ private:
virtual void paint(PaintInfo&, const LayoutPoint&);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
- virtual bool requiresLayer() const { return isInFlowPositioned() || isTransparent() || hasMask() || hasFilter(); }
+ virtual bool requiresLayer() const { return isInFlowPositioned() || createsGroup() || hasClipPath(); }
virtual LayoutUnit offsetLeft() const;
virtual LayoutUnit offsetTop() const;
@@ -140,6 +140,8 @@ private:
virtual VisiblePosition positionForPoint(const LayoutPoint&);
+ virtual LayoutRect frameRectForStickyPositioning() const OVERRIDE { return linesBoundingBox(); }
+
virtual IntRect borderBoundingBox() const
{
IntRect boundingBox = linesBoundingBox();
diff --git a/Source/WebCore/rendering/RenderInputSpeech.h b/Source/WebCore/rendering/RenderInputSpeech.h
index f37b836f4..6735961fb 100644
--- a/Source/WebCore/rendering/RenderInputSpeech.h
+++ b/Source/WebCore/rendering/RenderInputSpeech.h
@@ -31,12 +31,18 @@
#ifndef RenderInputSpeech_h
#define RenderInputSpeech_h
-#include "RenderObject.h"
-
#if ENABLE(INPUT_SPEECH)
namespace WebCore {
+struct PaintInfo;
+
+class Element;
+class IntRect;
+class RenderObject;
+class RenderStyle;
+class StyleResolver;
+
class RenderInputSpeech {
public:
static void adjustInputFieldSpeechButtonStyle(StyleResolver*, RenderStyle*, Element*);
diff --git a/Source/WebCore/rendering/RenderLayer.cpp b/Source/WebCore/rendering/RenderLayer.cpp
index edb3cf58d..271999385 100644
--- a/Source/WebCore/rendering/RenderLayer.cpp
+++ b/Source/WebCore/rendering/RenderLayer.cpp
@@ -126,9 +126,9 @@ using namespace HTMLNames;
const int MinimumWidthWhileResizing = 100;
const int MinimumHeightWhileResizing = 40;
-bool ClipRect::intersects(const HitTestPoint& hitTestPoint)
+bool ClipRect::intersects(const HitTestLocation& hitTestLocation)
{
- return hitTestPoint.intersects(m_rect);
+ return hitTestLocation.intersects(m_rect);
}
RenderLayer::RenderLayer(RenderBoxModelObject* renderer)
@@ -161,6 +161,9 @@ RenderLayer::RenderLayer(RenderBoxModelObject* renderer)
#if ENABLE(CSS_FILTERS)
, m_hasFilterInfo(false)
#endif
+#if ENABLE(CSS_COMPOSITING)
+ , m_blendMode(BlendModeNormal)
+#endif
, m_renderer(renderer)
, m_parent(0)
, m_previous(0)
@@ -519,10 +522,10 @@ void RenderLayer::updateLayerPositionsAfterScroll(UpdateLayerPositionsAfterScrol
updateLayerPosition();
- if ((flags & HasSeenFixedPositionedAncestor) || renderer()->style()->position() == FixedPosition) {
+ if ((flags & HasSeenViewportConstrainedAncestor) || renderer()->style()->hasViewportConstrainedPosition()) {
// FIXME: Is it worth passing the offsetFromRoot around like in updateLayerPositions?
computeRepaintRects();
- flags |= HasSeenFixedPositionedAncestor;
+ flags |= HasSeenViewportConstrainedAncestor;
} else if ((flags & HasSeenAncestorWithOverflowClip) && !m_canSkipRepaintRectsUpdateOnScroll) {
// If we have seen an overflow clip, we should update our repaint rects as clippedOverflowRectForRepaint
// intersects it with our ancestor overflow clip that may have moved.
@@ -543,6 +546,18 @@ void RenderLayer::updateLayerPositionsAfterScroll(UpdateLayerPositionsAfterScrol
m_marquee->updateMarqueePosition();
}
+#if ENABLE(CSS_COMPOSITING)
+void RenderLayer::updateBlendMode()
+{
+ BlendMode newBlendMode = renderer()->style()->blendMode();
+ if (newBlendMode != m_blendMode) {
+ m_blendMode = newBlendMode;
+ if (backing())
+ backing()->setBlendMode(newBlendMode);
+ }
+}
+#endif
+
void RenderLayer::updateTransform()
{
// hasTransform() on the renderer is also true when there is transform-style: preserve-3d or perspective set,
@@ -933,7 +948,7 @@ RenderLayer* RenderLayer::stackingContext() const
static inline bool isPositionedContainer(RenderLayer* layer)
{
RenderBoxModelObject* layerRenderer = layer->renderer();
- return layer->isRootLayer() || layerRenderer->isOutOfFlowPositioned() || layerRenderer->isInFlowPositioned() || layer->hasTransform();
+ return layer->isRootLayer() || layerRenderer->isPositioned() || layer->hasTransform();
}
static inline bool isFixedPositionedContainer(RenderLayer* layer)
@@ -1552,6 +1567,20 @@ void RenderLayer::convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutR
rect.move(-delta.x(), -delta.y());
}
+#if USE(ACCELERATED_COMPOSITING)
+bool RenderLayer::usesCompositedScrolling() const
+{
+ if (!scrollsOverflow() || !allowsScrolling())
+ return false;
+
+#if ENABLE(OVERFLOW_SCROLLING)
+ return renderer()->style()->useTouchOverflowScrolling();
+#else
+ return false;
+#endif
+}
+#endif
+
static inline int adjustedScrollDelta(int beginningDelta) {
// This implemention matches Firefox's.
// http://mxr.mozilla.org/firefox/source/toolkit/content/widgets/browser.xml#856.
@@ -1636,8 +1665,8 @@ IntSize RenderLayer::clampScrollOffset(const IntSize& scrollOffset) const
int maxX = scrollWidth() - box->pixelSnappedClientWidth();
int maxY = scrollHeight() - box->pixelSnappedClientHeight();
- int x = min(max(scrollOffset.width(), 0), maxX);
- int y = min(max(scrollOffset.height(), 0), maxY);
+ int x = max(min(scrollOffset.width(), maxX), 0);
+ int y = max(min(scrollOffset.height(), maxY), 0);
return IntSize(x, y);
}
@@ -1703,7 +1732,7 @@ void RenderLayer::scrollTo(int x, int y)
}
// Just schedule a full repaint of our object.
- if (view)
+ if (view && !usesCompositedScrolling())
renderer()->repaintUsingContainer(repaintContainer, m_repaintRect);
// Schedule the scroll DOM event.
@@ -2401,7 +2430,7 @@ bool RenderLayer::hasOverflowControls() const
return m_hBar || m_vBar || m_scrollCorner || renderer()->style()->resize() != RESIZE_NONE;
}
-void RenderLayer::positionOverflowControls(const IntSize& offsetFromLayer)
+void RenderLayer::positionOverflowControls(const IntSize& offsetFromRoot)
{
if (!m_hBar && !m_vBar && (!renderer()->hasOverflowClip() || renderer()->style()->resize() == RESIZE_NONE))
return;
@@ -2412,7 +2441,7 @@ void RenderLayer::positionOverflowControls(const IntSize& offsetFromLayer)
const IntRect borderBox = box->pixelSnappedBorderBoxRect();
const IntRect& scrollCorner = scrollCornerRect();
- IntRect absBounds(borderBox.location() + offsetFromLayer, borderBox.size());
+ IntRect absBounds(borderBox.location() + offsetFromRoot, borderBox.size());
if (m_vBar)
m_vBar->setFrameRect(IntRect(verticalScrollbarStart(absBounds.x(), absBounds.maxX()),
absBounds.y() + box->borderTop(),
@@ -2425,34 +2454,15 @@ void RenderLayer::positionOverflowControls(const IntSize& offsetFromLayer)
absBounds.width() - (box->borderLeft() + box->borderRight()) - scrollCorner.width(),
m_hBar->height()));
-#if USE(ACCELERATED_COMPOSITING)
- if (GraphicsLayer* layer = layerForHorizontalScrollbar()) {
- if (m_hBar) {
- layer->setPosition(m_hBar->frameRect().location() - offsetFromLayer);
- layer->setSize(m_hBar->frameRect().size());
- }
- layer->setDrawsContent(m_hBar);
- }
- if (GraphicsLayer* layer = layerForVerticalScrollbar()) {
- if (m_vBar) {
- layer->setPosition(m_vBar->frameRect().location() - offsetFromLayer);
- layer->setSize(m_vBar->frameRect().size());
- }
- layer->setDrawsContent(m_vBar);
- }
-
- if (GraphicsLayer* layer = layerForScrollCorner()) {
- const LayoutRect& scrollCornerAndResizer = scrollCornerAndResizerRect();
- layer->setPosition(scrollCornerAndResizer.location());
- layer->setSize(scrollCornerAndResizer.size());
- layer->setDrawsContent(!scrollCornerAndResizer.isEmpty());
- }
-#endif
-
if (m_scrollCorner)
m_scrollCorner->setFrameRect(scrollCorner);
if (m_resizer)
m_resizer->setFrameRect(resizerCornerRect(this, borderBox));
+
+#if USE(ACCELERATED_COMPOSITING)
+ if (isComposited())
+ backing()->positionOverflowControlsLayers(offsetFromRoot);
+#endif
}
int RenderLayer::scrollWidth() const
@@ -2626,6 +2636,12 @@ void RenderLayer::updateScrollInfoAfterLayout()
if (originalScrollOffset != scrollOffset())
scrollToOffsetWithoutAnimation(toPoint(scrollOffset()));
+
+#if USE(ACCELERATED_COMPOSITING)
+ // Composited scrolling may need to be enabled or disabled if the amount of overflow changed.
+ if (renderer()->view() && compositor()->updateLayerCompositingState(this))
+ compositor()->setCompositingLayersNeedRebuild();
+#endif
}
void RenderLayer::paintOverflowControls(GraphicsContext* context, const IntPoint& paintOffset, const IntRect& damageRect, bool paintingOverlayControls)
@@ -3009,7 +3025,8 @@ void RenderLayer::paintLayer(RenderLayer* rootLayer, GraphicsContext* context,
// Make sure the parent's clip rects have been calculated.
ClipRect clipRect = paintDirtyRect;
if (parent()) {
- clipRect = backgroundClipRect(rootLayer, region, (paintFlags & PaintLayerTemporaryClipRects) ? TemporaryClipRects : PaintingClipRects);
+ clipRect = backgroundClipRect(rootLayer, region, (paintFlags & PaintLayerTemporaryClipRects) ? TemporaryClipRects : PaintingClipRects,
+ IgnoreOverlayScrollbarSize, (paintFlags & PaintLayerPaintingOverflowContents) ? IgnoreOverflowClip : RespectOverflowClip);
clipRect.intersect(paintDirtyRect);
// Push the parent coordinate space's clip.
@@ -3093,6 +3110,18 @@ void RenderLayer::paintLayerContents(RenderLayer* rootLayer, GraphicsContext* co
// Ensure our lists are up-to-date.
updateLayerListsIfNeeded();
+ // Apply clip-path to context.
+ RenderStyle* style = renderer()->style();
+ if (renderer()->hasClipPath() && !context->paintingDisabled() && style) {
+ if (BasicShape* clipShape = style->clipPath()) {
+ // FIXME: Investigate if it is better to store and update a Path object in RenderStyle.
+ // https://bugs.webkit.org/show_bug.cgi?id=95619
+ Path clipPath;
+ clipShape->path(clipPath, calculateLayerBounds(this, rootLayer, 0));
+ transparencyLayerContext->clipPath(clipPath, clipShape->windRule());
+ }
+ }
+
#if ENABLE(CSS_FILTERS)
FilterEffectRendererHelper filterPainter(filterRenderer() && paintsWithFilters());
if (filterPainter.haveFilterEffect() && !context->paintingDisabled()) {
@@ -3125,7 +3154,8 @@ void RenderLayer::paintLayerContents(RenderLayer* rootLayer, GraphicsContext* co
#endif
if (shouldPaintContent || shouldPaintOutline || isPaintingOverlayScrollbars) {
- calculateRects(rootLayer, region, (localPaintFlags & PaintLayerTemporaryClipRects) ? TemporaryClipRects : PaintingClipRects, paintDirtyRect, layerBounds, damageRect, clipRectToApply, outlineRect);
+ calculateRects(rootLayer, region, (localPaintFlags & PaintLayerTemporaryClipRects) ? TemporaryClipRects : PaintingClipRects, paintDirtyRect, layerBounds, damageRect, clipRectToApply, outlineRect,
+ IgnoreOverlayScrollbarSize, localPaintFlags & PaintLayerPaintingOverflowContents ? IgnoreOverflowClip : RespectOverflowClip);
paintOffset = toPoint(layerBounds.location() - renderBoxLocation() + subPixelAccumulation);
}
@@ -3144,7 +3174,8 @@ void RenderLayer::paintLayerContents(RenderLayer* rootLayer, GraphicsContext* co
performOverlapTests(*overlapTestRequests, rootLayer, this);
// We want to paint our layer, but only if we intersect the damage rect.
- shouldPaintContent &= intersectsDamageRect(layerBounds, damageRect.rect(), rootLayer);
+ if (this != rootLayer || !(localPaintFlags & PaintLayerPaintingOverflowContents))
+ shouldPaintContent &= intersectsDamageRect(layerBounds, damageRect.rect(), rootLayer);
if (localPaintFlags & PaintLayerPaintingCompositingBackgroundPhase) {
if (shouldPaintContent && !selectionOnly) {
@@ -3411,10 +3442,10 @@ static inline LayoutRect frameVisibleRect(RenderObject* renderer)
bool RenderLayer::hitTest(const HitTestRequest& request, HitTestResult& result)
{
- return hitTest(request, result.hitTestPoint(), result);
+ return hitTest(request, result.hitTestLocation(), result);
}
-bool RenderLayer::hitTest(const HitTestRequest& request, const HitTestPoint& hitTestPoint, HitTestResult& result)
+bool RenderLayer::hitTest(const HitTestRequest& request, const HitTestLocation& hitTestLocation, HitTestResult& result)
{
renderer()->document()->updateLayout();
@@ -3422,12 +3453,12 @@ bool RenderLayer::hitTest(const HitTestRequest& request, const HitTestPoint& hit
if (!request.ignoreClipping())
hitTestArea.intersect(frameVisibleRect(renderer()));
- RenderLayer* insideLayer = hitTestLayer(this, 0, request, result, hitTestArea, hitTestPoint, false);
+ RenderLayer* insideLayer = hitTestLayer(this, 0, request, result, hitTestArea, hitTestLocation, false);
if (!insideLayer) {
// We didn't hit any layer. If we are the root layer and the mouse is -- or just was -- down,
// return ourselves. We do this so mouse events continue getting delivered after a drag has
// exited the WebView, and so hit testing over a scrollbar hits the content document.
- if ((request.active() || request.release()) && isRootLayer()) {
+ if (!request.isChildFrameHitTest() && (request.active() || request.release()) && isRootLayer()) {
renderer()->updateHitTestResult(result, toRenderView(renderer())->flipForWritingMode(result.point()));
insideLayer = this;
}
@@ -3474,7 +3505,7 @@ static double computeZOffset(const HitTestingTransformState& transformState)
}
PassRefPtr<HitTestingTransformState> RenderLayer::createLocalTransformState(RenderLayer* rootLayer, RenderLayer* containerLayer,
- const LayoutRect& hitTestRect, const HitTestPoint& hitTestPoint,
+ const LayoutRect& hitTestRect, const HitTestLocation& hitTestLocation,
const HitTestingTransformState* containerTransformState) const
{
RefPtr<HitTestingTransformState> transformState;
@@ -3484,9 +3515,9 @@ PassRefPtr<HitTestingTransformState> RenderLayer::createLocalTransformState(Rend
transformState = HitTestingTransformState::create(*containerTransformState);
convertToLayerCoords(containerLayer, offset);
} else {
- // If this is the first time we need to make transform state, then base it off of hitTestPoint,
+ // If this is the first time we need to make transform state, then base it off of hitTestLocation,
// which is relative to rootLayer.
- transformState = HitTestingTransformState::create(hitTestPoint.transformedPoint(), hitTestPoint.transformedRect(), FloatQuad(hitTestRect));
+ transformState = HitTestingTransformState::create(hitTestLocation.transformedPoint(), hitTestLocation.transformedRect(), FloatQuad(hitTestRect));
convertToLayerCoords(rootLayer, offset);
}
@@ -3527,16 +3558,16 @@ static bool isHitCandidate(const RenderLayer* hitLayer, bool canDepthSort, doubl
return true;
}
-// hitTestPoint and hitTestRect are relative to rootLayer.
+// hitTestLocation and hitTestRect are relative to rootLayer.
// A 'flattening' layer is one preserves3D() == false.
// transformState.m_accumulatedTransform holds the transform from the containing flattening layer.
-// transformState.m_lastPlanarPoint is the hitTestPoint in the plane of the containing flattening layer.
+// transformState.m_lastPlanarPoint is the hitTestLocation in the plane of the containing flattening layer.
// transformState.m_lastPlanarQuad is the hitTestRect as a quad in the plane of the containing flattening layer.
//
// If zOffset is non-null (which indicates that the caller wants z offset information),
// *zOffset on return is the z offset of the hit point relative to the containing flattening layer.
RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* containerLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint& hitTestPoint, bool appliedTransform,
+ const LayoutRect& hitTestRect, const HitTestLocation& hitTestLocation, bool appliedTransform,
const HitTestingTransformState* transformState, double* zOffset)
{
// The natural thing would be to keep HitTestingTransformState on the stack, but it's big, so we heap-allocate.
@@ -3547,14 +3578,14 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
if (transform() && !appliedTransform) {
// Make sure the parent's clip rects have been calculated.
if (parent()) {
- ClipRect clipRect = backgroundClipRect(rootLayer, hitTestPoint.region(), useTemporaryClipRects ? TemporaryClipRects : RootRelativeClipRects, IncludeOverlayScrollbarSize);
+ ClipRect clipRect = backgroundClipRect(rootLayer, hitTestLocation.region(), useTemporaryClipRects ? TemporaryClipRects : RootRelativeClipRects, IncludeOverlayScrollbarSize);
// Go ahead and test the enclosing clip now.
- if (!clipRect.intersects(hitTestPoint))
+ if (!clipRect.intersects(hitTestLocation))
return 0;
}
// Create a transform state to accumulate this transform.
- RefPtr<HitTestingTransformState> newTransformState = createLocalTransformState(rootLayer, containerLayer, hitTestRect, hitTestPoint, transformState);
+ RefPtr<HitTestingTransformState> newTransformState = createLocalTransformState(rootLayer, containerLayer, hitTestRect, hitTestLocation, transformState);
// If the transform can't be inverted, then don't hit test this layer at all.
if (!newTransformState->m_accumulatedTransform.isInvertible())
@@ -3564,19 +3595,19 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
// from the transformState, which store the point and quad in the coords of the last flattened
// layer, and the accumulated transform which lets up map through preserve-3d layers.
//
- // We can't just map hitTestPoint and hitTestRect because they may have been flattened (losing z)
+ // We can't just map hitTestLocation and hitTestRect because they may have been flattened (losing z)
// by our container.
FloatPoint localPoint = newTransformState->mappedPoint();
FloatQuad localPointQuad = newTransformState->mappedQuad();
LayoutRect localHitTestRect = newTransformState->boundsOfMappedArea();
- HitTestPoint newHitTestPoint;
- if (hitTestPoint.isRectBasedTest())
- newHitTestPoint = HitTestPoint(localPoint, localPointQuad);
+ HitTestLocation newHitTestLocation;
+ if (hitTestLocation.isRectBasedTest())
+ newHitTestLocation = HitTestLocation(localPoint, localPointQuad);
else
- newHitTestPoint = HitTestPoint(localPoint);
+ newHitTestLocation = HitTestLocation(localPoint);
// Now do a hit test with the root layer shifted to be us.
- return hitTestLayer(this, containerLayer, request, result, localHitTestRect, newHitTestPoint, true, newTransformState.get(), zOffset);
+ return hitTestLayer(this, containerLayer, request, result, localHitTestRect, newHitTestLocation, true, newTransformState.get(), zOffset);
}
// Ensure our lists and 3d status are up-to-date.
@@ -3590,7 +3621,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
localTransformState = const_cast<HitTestingTransformState*>(transformState);
} else if (transformState || m_has3DTransformedDescendant || preserves3D()) {
// We need transform state for the first time, or to offset the container state, so create it here.
- localTransformState = createLocalTransformState(rootLayer, containerLayer, hitTestRect, hitTestPoint, transformState);
+ localTransformState = createLocalTransformState(rootLayer, containerLayer, hitTestRect, hitTestLocation, transformState);
}
// Check for hit test on backface if backface-visibility is 'hidden'
@@ -3614,7 +3645,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
ClipRect bgRect;
ClipRect fgRect;
ClipRect outlineRect;
- calculateRects(rootLayer, hitTestPoint.region(), useTemporaryClipRects ? TemporaryClipRects : RootRelativeClipRects, hitTestRect, layerBounds, bgRect, fgRect, outlineRect, IncludeOverlayScrollbarSize);
+ calculateRects(rootLayer, hitTestLocation.region(), useTemporaryClipRects ? TemporaryClipRects : RootRelativeClipRects, hitTestRect, layerBounds, bgRect, fgRect, outlineRect, IncludeOverlayScrollbarSize);
// The following are used for keeping track of the z-depth of the hit point of 3d-transformed
// descendants.
@@ -3643,7 +3674,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
RenderLayer* candidateLayer = 0;
// Begin by walking our list of positive layers from highest z-index down to the lowest z-index.
- RenderLayer* hitLayer = hitTestList(posZOrderList(), rootLayer, request, result, hitTestRect, hitTestPoint,
+ RenderLayer* hitLayer = hitTestList(posZOrderList(), rootLayer, request, result, hitTestRect, hitTestLocation,
localTransformState.get(), zOffsetForDescendantsPtr, zOffset, unflattenedTransformState.get(), depthSortDescendants);
if (hitLayer) {
if (!depthSortDescendants)
@@ -3652,7 +3683,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
}
// Now check our overflow objects.
- hitLayer = hitTestList(m_normalFlowList, rootLayer, request, result, hitTestRect, hitTestPoint,
+ hitLayer = hitTestList(m_normalFlowList, rootLayer, request, result, hitTestRect, hitTestLocation,
localTransformState.get(), zOffsetForDescendantsPtr, zOffset, unflattenedTransformState.get(), depthSortDescendants);
if (hitLayer) {
if (!depthSortDescendants)
@@ -3661,11 +3692,11 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
}
// Next we want to see if the mouse pos is inside the child RenderObjects of the layer.
- if (fgRect.intersects(hitTestPoint) && isSelfPaintingLayer()) {
+ if (fgRect.intersects(hitTestLocation) && isSelfPaintingLayer()) {
// Hit test with a temporary HitTestResult, because we only want to commit to 'result' if we know we're frontmost.
- HitTestResult tempResult(result.hitTestPoint(), result.shadowContentFilterPolicy());
- if (hitTestContents(request, tempResult, layerBounds, hitTestPoint, HitTestDescendants) &&
- isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) {
+ HitTestResult tempResult(result.hitTestLocation());
+ if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, HitTestDescendants)
+ && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) {
if (result.isRectBasedTest())
result.append(tempResult);
else
@@ -3679,7 +3710,7 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
}
// Now check our negative z-index children.
- hitLayer = hitTestList(negZOrderList(), rootLayer, request, result, hitTestRect, hitTestPoint,
+ hitLayer = hitTestList(negZOrderList(), rootLayer, request, result, hitTestRect, hitTestLocation,
localTransformState.get(), zOffsetForDescendantsPtr, zOffset, unflattenedTransformState.get(), depthSortDescendants);
if (hitLayer) {
if (!depthSortDescendants)
@@ -3691,25 +3722,26 @@ RenderLayer* RenderLayer::hitTestLayer(RenderLayer* rootLayer, RenderLayer* cont
if (candidateLayer)
return candidateLayer;
- if (bgRect.intersects(hitTestPoint) && isSelfPaintingLayer()) {
- HitTestResult tempResult(result.hitTestPoint(), result.shadowContentFilterPolicy());
- if (hitTestContents(request, tempResult, layerBounds, hitTestPoint, HitTestSelf) &&
- isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) {
+ if (bgRect.intersects(hitTestLocation) && isSelfPaintingLayer()) {
+ HitTestResult tempResult(result.hitTestLocation());
+ if (hitTestContents(request, tempResult, layerBounds, hitTestLocation, HitTestSelf)
+ && isHitCandidate(this, false, zOffsetForContentsPtr, unflattenedTransformState.get())) {
if (result.isRectBasedTest())
result.append(tempResult);
else
result = tempResult;
return this;
- } else if (result.isRectBasedTest())
+ }
+ if (result.isRectBasedTest())
result.append(tempResult);
}
return 0;
}
-bool RenderLayer::hitTestContents(const HitTestRequest& request, HitTestResult& result, const LayoutRect& layerBounds, const HitTestPoint& hitTestPoint, HitTestFilter hitTestFilter) const
+bool RenderLayer::hitTestContents(const HitTestRequest& request, HitTestResult& result, const LayoutRect& layerBounds, const HitTestLocation& hitTestLocation, HitTestFilter hitTestFilter) const
{
- if (!renderer()->hitTest(request, result, hitTestPoint,
+ if (!renderer()->hitTest(request, result, hitTestLocation,
toLayoutPoint(layerBounds.location() - renderBoxLocation()),
hitTestFilter)) {
// It's wrong to set innerNode, but then claim that you didn't hit anything, unless it is
@@ -3735,7 +3767,7 @@ bool RenderLayer::hitTestContents(const HitTestRequest& request, HitTestResult&
RenderLayer* RenderLayer::hitTestList(Vector<RenderLayer*>* list, RenderLayer* rootLayer,
const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint& hitTestPoint,
+ const LayoutRect& hitTestRect, const HitTestLocation& hitTestLocation,
const HitTestingTransformState* transformState,
double* zOffsetForDescendants, double* zOffset,
const HitTestingTransformState* unflattenedTransformState,
@@ -3748,11 +3780,11 @@ RenderLayer* RenderLayer::hitTestList(Vector<RenderLayer*>* list, RenderLayer* r
for (int i = list->size() - 1; i >= 0; --i) {
RenderLayer* childLayer = list->at(i);
RenderLayer* hitLayer = 0;
- HitTestResult tempResult(result.hitTestPoint(), result.shadowContentFilterPolicy());
+ HitTestResult tempResult(result.hitTestLocation());
if (childLayer->isPaginated())
- hitLayer = hitTestPaginatedChildLayer(childLayer, rootLayer, request, tempResult, hitTestRect, hitTestPoint, transformState, zOffsetForDescendants);
+ hitLayer = hitTestPaginatedChildLayer(childLayer, rootLayer, request, tempResult, hitTestRect, hitTestLocation, transformState, zOffsetForDescendants);
else
- hitLayer = childLayer->hitTestLayer(rootLayer, this, request, tempResult, hitTestRect, hitTestPoint, false, transformState, zOffsetForDescendants);
+ hitLayer = childLayer->hitTestLayer(rootLayer, this, request, tempResult, hitTestRect, hitTestLocation, false, transformState, zOffsetForDescendants);
// If it a rect-based test, we can safely append the temporary result since it might had hit
// nodes but not necesserily had hitLayer set.
@@ -3772,7 +3804,7 @@ RenderLayer* RenderLayer::hitTestList(Vector<RenderLayer*>* list, RenderLayer* r
}
RenderLayer* RenderLayer::hitTestPaginatedChildLayer(RenderLayer* childLayer, RenderLayer* rootLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint& hitTestPoint, const HitTestingTransformState* transformState, double* zOffset)
+ const LayoutRect& hitTestRect, const HitTestLocation& hitTestLocation, const HitTestingTransformState* transformState, double* zOffset)
{
Vector<RenderLayer*> columnLayers;
RenderLayer* ancestorLayer = isNormalFlowOnly() ? parent() : stackingContext();
@@ -3784,12 +3816,12 @@ RenderLayer* RenderLayer::hitTestPaginatedChildLayer(RenderLayer* childLayer, Re
}
ASSERT(columnLayers.size());
- return hitTestChildLayerColumns(childLayer, rootLayer, request, result, hitTestRect, hitTestPoint, transformState, zOffset,
+ return hitTestChildLayerColumns(childLayer, rootLayer, request, result, hitTestRect, hitTestLocation, transformState, zOffset,
columnLayers, columnLayers.size() - 1);
}
RenderLayer* RenderLayer::hitTestChildLayerColumns(RenderLayer* childLayer, RenderLayer* rootLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint& hitTestPoint, const HitTestingTransformState* transformState, double* zOffset,
+ const LayoutRect& hitTestRect, const HitTestLocation& hitTestLocation, const HitTestingTransformState* transformState, double* zOffset,
const Vector<RenderLayer*>& columnLayers, size_t columnIndex)
{
RenderBlock* columnBlock = toRenderBlock(columnLayers[columnIndex]->renderer());
@@ -3846,7 +3878,7 @@ RenderLayer* RenderLayer::hitTestChildLayerColumns(RenderLayer* childLayer, Rend
LayoutRect localClipRect(hitTestRect);
localClipRect.intersect(colRect);
- if (!localClipRect.isEmpty() && hitTestPoint.intersects(localClipRect)) {
+ if (!localClipRect.isEmpty() && hitTestLocation.intersects(localClipRect)) {
RenderLayer* hitLayer = 0;
if (!columnIndex) {
// Apply a translation transform to change where the layer paints.
@@ -3858,7 +3890,7 @@ RenderLayer* RenderLayer::hitTestChildLayerColumns(RenderLayer* childLayer, Rend
newTransform.translateRight(offset.width(), offset.height());
childLayer->m_transform = adoptPtr(new TransformationMatrix(newTransform));
- hitLayer = childLayer->hitTestLayer(rootLayer, columnLayers[0], request, result, localClipRect, hitTestPoint, false, transformState, zOffset);
+ hitLayer = childLayer->hitTestLayer(rootLayer, columnLayers[0], request, result, localClipRect, hitTestLocation, false, transformState, zOffset);
if (oldHasTransform)
childLayer->m_transform = adoptPtr(new TransformationMatrix(oldTransform));
else
@@ -3867,19 +3899,19 @@ RenderLayer* RenderLayer::hitTestChildLayerColumns(RenderLayer* childLayer, Rend
// Adjust the transform such that the renderer's upper left corner will be at (0,0) in user space.
// This involves subtracting out the position of the layer in our current coordinate space.
RenderLayer* nextLayer = columnLayers[columnIndex - 1];
- RefPtr<HitTestingTransformState> newTransformState = nextLayer->createLocalTransformState(rootLayer, nextLayer, localClipRect, hitTestPoint, transformState);
+ RefPtr<HitTestingTransformState> newTransformState = nextLayer->createLocalTransformState(rootLayer, nextLayer, localClipRect, hitTestLocation, transformState);
newTransformState->translate(offset.width(), offset.height(), HitTestingTransformState::AccumulateTransform);
FloatPoint localPoint = newTransformState->mappedPoint();
FloatQuad localPointQuad = newTransformState->mappedQuad();
LayoutRect localHitTestRect = newTransformState->mappedArea().enclosingBoundingBox();
- HitTestPoint newHitTestPoint;
- if (hitTestPoint.isRectBasedTest())
- newHitTestPoint = HitTestPoint(localPoint, localPointQuad);
+ HitTestLocation newHitTestLocation;
+ if (hitTestLocation.isRectBasedTest())
+ newHitTestLocation = HitTestLocation(localPoint, localPointQuad);
else
- newHitTestPoint = HitTestPoint(localPoint);
+ newHitTestLocation = HitTestLocation(localPoint);
newTransformState->flatten();
- hitLayer = hitTestChildLayerColumns(childLayer, columnLayers[columnIndex - 1], request, result, localHitTestRect, newHitTestPoint,
+ hitLayer = hitTestChildLayerColumns(childLayer, columnLayers[columnIndex - 1], request, result, localHitTestRect, newHitTestLocation,
newTransformState.get(), zOffset, columnLayers, columnIndex - 1);
}
@@ -3891,11 +3923,12 @@ RenderLayer* RenderLayer::hitTestChildLayerColumns(RenderLayer* childLayer, Rend
return 0;
}
-void RenderLayer::updateClipRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, OverlayScrollbarSizeRelevancy relevancy)
+void RenderLayer::updateClipRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, OverlayScrollbarSizeRelevancy relevancy, ShouldRespectOverflowClip respectOverflowClip)
{
ASSERT(clipRectsType < NumCachedClipRectsTypes);
if (m_clipRectsCache && m_clipRectsCache->m_clipRects[clipRectsType]) {
ASSERT(rootLayer == m_clipRectsCache->m_clipRectsRoot[clipRectsType]);
+ ASSERT(m_clipRectsCache->m_respectingOverflowClip[clipRectsType] == (respectOverflowClip == RespectOverflowClip));
return; // We have the correct cached value.
}
@@ -3903,10 +3936,10 @@ void RenderLayer::updateClipRects(const RenderLayer* rootLayer, RenderRegion* re
// examine the parent. We want to cache clip rects with us as the root.
RenderLayer* parentLayer = rootLayer != this ? parent() : 0;
if (parentLayer)
- parentLayer->updateClipRects(rootLayer, region, clipRectsType, relevancy);
+ parentLayer->updateClipRects(rootLayer, region, clipRectsType, relevancy, respectOverflowClip);
ClipRects clipRects;
- calculateClipRects(rootLayer, region, clipRectsType, clipRects, relevancy);
+ calculateClipRects(rootLayer, region, clipRectsType, clipRects, relevancy, respectOverflowClip);
if (!m_clipRectsCache)
m_clipRectsCache = adoptPtr(new ClipRectsCache);
@@ -3918,10 +3951,11 @@ void RenderLayer::updateClipRects(const RenderLayer* rootLayer, RenderRegion* re
#ifndef NDEBUG
m_clipRectsCache->m_clipRectsRoot[clipRectsType] = rootLayer;
+ m_clipRectsCache->m_respectingOverflowClip[clipRectsType] = respectOverflowClip == RespectOverflowClip;
#endif
}
-void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, ClipRects& clipRects, OverlayScrollbarSizeRelevancy relevancy) const
+void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, ClipRects& clipRects, OverlayScrollbarSizeRelevancy relevancy, ShouldRespectOverflowClip respectOverflowClip) const
{
if (!parent()) {
// The root layer's clip rect is always infinite.
@@ -3940,7 +3974,7 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion*
if (useCached && parentLayer->clipRects(clipRectsType))
clipRects = *parentLayer->clipRects(clipRectsType);
else
- parentLayer->calculateClipRects(rootLayer, region, clipRectsType, clipRects);
+ parentLayer->calculateClipRects(rootLayer, region, clipRectsType, clipRects, IgnoreOverlayScrollbarSize, respectOverflowClip);
} else
clipRects.reset(PaintInfo::infiniteRect());
@@ -3956,7 +3990,7 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion*
clipRects.setOverflowClipRect(clipRects.posClipRect());
// Update the clip rects that will be passed to child layers.
- if (renderer()->hasClipOrOverflowClip()) {
+ if ((renderer()->hasOverflowClip() && (respectOverflowClip == RespectOverflowClip || this != rootLayer)) || renderer()->hasClip()) {
// This layer establishes a clip of some kind.
// This offset cannot use convertToLayerCoords, because sometimes our rootLayer may be across
@@ -3975,7 +4009,7 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion*
if (renderer()->style()->hasBorderRadius())
newOverflowClip.setHasRadius(true);
clipRects.setOverflowClipRect(intersection(newOverflowClip, clipRects.overflowClipRect()));
- if (renderer()->isOutOfFlowPositioned() || renderer()->isInFlowPositioned())
+ if (renderer()->isPositioned())
clipRects.setPosClipRect(intersection(newOverflowClip, clipRects.posClipRect()));
}
if (renderer()->hasClip()) {
@@ -3987,15 +4021,15 @@ void RenderLayer::calculateClipRects(const RenderLayer* rootLayer, RenderRegion*
}
}
-void RenderLayer::parentClipRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, ClipRects& clipRects, OverlayScrollbarSizeRelevancy relevancy) const
+void RenderLayer::parentClipRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, ClipRects& clipRects, OverlayScrollbarSizeRelevancy relevancy, ShouldRespectOverflowClip respectOverflowClip) const
{
ASSERT(parent());
if (clipRectsType == TemporaryClipRects) {
- parent()->calculateClipRects(rootLayer, region, clipRectsType, clipRects, relevancy);
+ parent()->calculateClipRects(rootLayer, region, clipRectsType, clipRects, relevancy, respectOverflowClip);
return;
}
- parent()->updateClipRects(rootLayer, region, clipRectsType, relevancy);
+ parent()->updateClipRects(rootLayer, region, clipRectsType, relevancy, respectOverflowClip);
clipRects = *parent()->clipRects(clipRectsType);
}
@@ -4010,11 +4044,11 @@ static inline ClipRect backgroundClipRectForPosition(const ClipRects& parentRect
return parentRects.overflowClipRect();
}
-ClipRect RenderLayer::backgroundClipRect(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, OverlayScrollbarSizeRelevancy relevancy) const
+ClipRect RenderLayer::backgroundClipRect(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, OverlayScrollbarSizeRelevancy relevancy, ShouldRespectOverflowClip respectOverflowClip) const
{
ASSERT(parent());
ClipRects parentRects;
- parentClipRects(rootLayer, region, clipRectsType, parentRects, relevancy);
+ parentClipRects(rootLayer, region, clipRectsType, parentRects, relevancy, respectOverflowClip);
ClipRect backgroundClipRect = backgroundClipRectForPosition(parentRects, renderer()->style()->position());
RenderView* view = renderer()->view();
ASSERT(view);
@@ -4027,10 +4061,10 @@ ClipRect RenderLayer::backgroundClipRect(const RenderLayer* rootLayer, RenderReg
}
void RenderLayer::calculateRects(const RenderLayer* rootLayer, RenderRegion* region, ClipRectsType clipRectsType, const LayoutRect& paintDirtyRect, LayoutRect& layerBounds,
- ClipRect& backgroundRect, ClipRect& foregroundRect, ClipRect& outlineRect, OverlayScrollbarSizeRelevancy relevancy) const
+ ClipRect& backgroundRect, ClipRect& foregroundRect, ClipRect& outlineRect, OverlayScrollbarSizeRelevancy relevancy, ShouldRespectOverflowClip respectOverflowClip) const
{
if (rootLayer != this && parent()) {
- backgroundRect = backgroundClipRect(rootLayer, region, clipRectsType, relevancy);
+ backgroundRect = backgroundClipRect(rootLayer, region, clipRectsType, relevancy, respectOverflowClip);
backgroundRect.intersect(paintDirtyRect);
} else
backgroundRect = paintDirtyRect;
@@ -4045,7 +4079,7 @@ void RenderLayer::calculateRects(const RenderLayer* rootLayer, RenderRegion* reg
// Update the clip rects that will be passed to child layers.
if (renderer()->hasClipOrOverflowClip()) {
// This layer establishes a clip of some kind.
- if (renderer()->hasOverflowClip()) {
+ if (renderer()->hasOverflowClip() && (this != rootLayer || respectOverflowClip == RespectOverflowClip)) {
foregroundRect.intersect(toRenderBox(renderer())->overflowClipRect(offset, region, relevancy));
if (renderer()->style()->hasBorderRadius())
foregroundRect.setHasRadius(true);
@@ -4068,12 +4102,14 @@ void RenderLayer::calculateRects(const RenderLayer* rootLayer, RenderRegion* reg
LayoutRect layerBoundsWithVisualOverflow = renderBox()->visualOverflowRect();
renderBox()->flipForWritingMode(layerBoundsWithVisualOverflow); // Layers are in physical coordinates, so the overflow has to be flipped.
layerBoundsWithVisualOverflow.moveBy(offset);
- backgroundRect.intersect(layerBoundsWithVisualOverflow);
+ if (this != rootLayer || respectOverflowClip == RespectOverflowClip)
+ backgroundRect.intersect(layerBoundsWithVisualOverflow);
} else {
// Shift the bounds to be for our region only.
LayoutRect bounds = renderBox()->borderBoxRectInRegion(region);
bounds.moveBy(offset);
- backgroundRect.intersect(bounds);
+ if (this != rootLayer || respectOverflowClip == RespectOverflowClip)
+ backgroundRect.intersect(bounds);
}
}
}
@@ -4086,7 +4122,8 @@ LayoutRect RenderLayer::childrenClipRect() const
RenderLayer* clippingRootLayer = clippingRootForPainting();
LayoutRect layerBounds;
ClipRect backgroundRect, foregroundRect, outlineRect;
- calculateRects(clippingRootLayer, 0, PaintingClipRects, renderView->unscaledDocumentRect(), layerBounds, backgroundRect, foregroundRect, outlineRect);
+ // Need to use temporary clip rects, because the value of 'dontClipToOverflow' may be different from the painting path (<rdar://problem/11844909>).
+ calculateRects(clippingRootLayer, 0, TemporaryClipRects, renderView->unscaledDocumentRect(), layerBounds, backgroundRect, foregroundRect, outlineRect);
return clippingRootLayer->renderer()->localToAbsoluteQuad(FloatQuad(foregroundRect.rect())).enclosingBoundingBox();
}
@@ -4396,6 +4433,9 @@ RenderLayerBacking* RenderLayer::ensureBacking()
#if ENABLE(CSS_FILTERS)
updateOrRemoveFilterEffect();
#endif
+#if ENABLE(CSS_COMPOSITING)
+ backing()->setBlendMode(m_blendMode);
+#endif
}
return m_backing.get();
}
@@ -4777,19 +4817,24 @@ bool RenderLayer::shouldBeNormalFlowOnly() const
|| renderer()->isEmbeddedObject()
|| renderer()->isRenderIFrame()
|| (renderer()->style()->specifiesColumns() && !isRootLayer()))
- && !renderer()->isOutOfFlowPositioned()
- && !renderer()->isInFlowPositioned()
+ && !renderer()->isPositioned()
&& !renderer()->hasTransform()
+ && !renderer()->hasClipPath()
#if ENABLE(CSS_FILTERS)
&& !renderer()->hasFilter()
#endif
- && !isTransparent();
+#if ENABLE(CSS_COMPOSITING)
+ && !renderer()->hasBlendMode()
+#endif
+ && !isTransparent()
+ && !usesCompositedScrolling();
}
bool RenderLayer::shouldBeSelfPaintingLayer() const
{
return !isNormalFlowOnly()
|| hasOverlayScrollbars()
+ || usesCompositedScrolling()
|| renderer()->hasReflection()
|| renderer()->hasMask()
|| renderer()->isTableRow()
@@ -4935,6 +4980,9 @@ void RenderLayer::styleChanged(StyleDifference, const RenderStyle* oldStyle)
updateDescendantDependentFlags();
updateTransform();
+#if ENABLE(CSS_COMPOSITING)
+ updateBlendMode();
+#endif
#if USE(ACCELERATED_COMPOSITING)
if (compositor()->updateLayerCompositingState(this))
diff --git a/Source/WebCore/rendering/RenderLayer.h b/Source/WebCore/rendering/RenderLayer.h
index e4f790e05..32d41e3ba 100644
--- a/Source/WebCore/rendering/RenderLayer.h
+++ b/Source/WebCore/rendering/RenderLayer.h
@@ -115,7 +115,7 @@ public:
bool isEmpty() const { return m_rect.isEmpty(); }
bool intersects(const LayoutRect& rect) { return m_rect.intersects(rect); }
- bool intersects(const HitTestPoint&);
+ bool intersects(const HitTestLocation&);
private:
LayoutRect m_rect;
@@ -230,14 +230,17 @@ struct ClipRectsCache {
ClipRectsCache()
{
#ifndef NDEBUG
- for (int i = 0; i < NumCachedClipRectsTypes; ++i)
+ for (int i = 0; i < NumCachedClipRectsTypes; ++i) {
m_clipRectsRoot[i] = 0;
+ m_respectingOverflowClip[i] = false;
+ }
#endif
}
RefPtr<ClipRects> m_clipRects[NumCachedClipRectsTypes];
#ifndef NDEBUG
const RenderLayer* m_clipRectsRoot[NumCachedClipRectsTypes];
+ bool m_respectingOverflowClip[NumCachedClipRectsTypes];
#endif
};
@@ -504,6 +507,7 @@ public:
PaintLayerPaintingCompositingBackgroundPhase = 1 << 5,
PaintLayerPaintingCompositingForegroundPhase = 1 << 6,
PaintLayerPaintingCompositingMaskPhase = 1 << 7,
+ PaintLayerPaintingOverflowContents = 1 << 8,
PaintLayerPaintingCompositingAllPhases = (PaintLayerPaintingCompositingBackgroundPhase | PaintLayerPaintingCompositingForegroundPhase | PaintLayerPaintingCompositingMaskPhase)
};
@@ -516,21 +520,23 @@ public:
void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = PaintBehaviorNormal, RenderObject* paintingRoot = 0,
RenderRegion* = 0, PaintLayerFlags = 0);
bool hitTest(const HitTestRequest&, HitTestResult&);
- bool hitTest(const HitTestRequest&, const HitTestPoint&, HitTestResult&);
+ bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&);
void paintOverlayScrollbars(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior, RenderObject* paintingRoot);
+ enum ShouldRespectOverflowClip { IgnoreOverflowClip, RespectOverflowClip };
+
// This method figures out our layerBounds in coordinates relative to
// |rootLayer}. It also computes our background and foreground clip rects
// for painting/event handling.
void calculateRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, const LayoutRect& paintDirtyRect, LayoutRect& layerBounds,
ClipRect& backgroundRect, ClipRect& foregroundRect, ClipRect& outlineRect,
- OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
+ OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflowClip) const;
// Compute and cache clip rects computed with the given layer as the root
- void updateClipRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize);
+ void updateClipRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflowClip);
// Compute and return the clip rects. If useCached is true, will used previously computed clip rects on ancestors
// (rather than computing them all from scratch up the parent chain).
- void calculateClipRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, ClipRects&, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
+ void calculateClipRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, ClipRects&, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflowClip) const;
ClipRects* clipRects(ClipRectsType type) const { ASSERT(type < NumCachedClipRectsTypes); return m_clipRectsCache ? m_clipRectsCache->m_clipRects[type].get() : 0; }
@@ -568,7 +574,7 @@ public:
enum UpdateLayerPositionsAfterScrollFlag {
NoFlag = 0,
- HasSeenFixedPositionedAncestor = 1 << 0,
+ HasSeenViewportConstrainedAncestor = 1 << 0,
HasSeenAncestorWithOverflowClip = 1 << 1
};
@@ -606,6 +612,12 @@ public:
bool hasFilter() const { return false; }
#endif
+#if ENABLE(CSS_COMPOSITING)
+ bool hasBlendMode() const { return renderer()->hasBlendMode(); }
+#else
+ bool hasBlendMode() const { return false; }
+#endif
+
// Overloaded new operator. Derived classes must override operator new
// in order to allocate out of the RenderArena.
void* operator new(size_t, RenderArena*);
@@ -622,9 +634,11 @@ public:
virtual GraphicsLayer* layerForHorizontalScrollbar() const;
virtual GraphicsLayer* layerForVerticalScrollbar() const;
virtual GraphicsLayer* layerForScrollCorner() const;
+ virtual bool usesCompositedScrolling() const OVERRIDE;
#else
bool isComposited() const { return false; }
bool hasCompositedMask() const { return false; }
+ bool usesCompositedScrolling() const { return false; }
#endif
bool paintsWithTransparency(PaintBehavior paintBehavior) const
@@ -663,6 +677,8 @@ public:
void setLayerListMutationAllowed(bool flag) { m_layerListMutationAllowed = flag; }
#endif
+ Node* enclosingElement() const;
+
private:
void updateZOrderLists();
void rebuildZOrderLists();
@@ -737,25 +753,25 @@ private:
PaintLayerFlags, const Vector<RenderLayer*>& columnLayers, size_t columnIndex);
RenderLayer* hitTestLayer(RenderLayer* rootLayer, RenderLayer* containerLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint&, bool appliedTransform,
+ const LayoutRect& hitTestRect, const HitTestLocation&, bool appliedTransform,
const HitTestingTransformState* transformState = 0, double* zOffset = 0);
RenderLayer* hitTestList(Vector<RenderLayer*>*, RenderLayer* rootLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint&,
+ const LayoutRect& hitTestRect, const HitTestLocation&,
const HitTestingTransformState* transformState, double* zOffsetForDescendants, double* zOffset,
const HitTestingTransformState* unflattenedTransformState, bool depthSortDescendants);
RenderLayer* hitTestPaginatedChildLayer(RenderLayer* childLayer, RenderLayer* rootLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint&,
+ const LayoutRect& hitTestRect, const HitTestLocation&,
const HitTestingTransformState* transformState, double* zOffset);
RenderLayer* hitTestChildLayerColumns(RenderLayer* childLayer, RenderLayer* rootLayer, const HitTestRequest& request, HitTestResult& result,
- const LayoutRect& hitTestRect, const HitTestPoint&,
+ const LayoutRect& hitTestRect, const HitTestLocation&,
const HitTestingTransformState* transformState, double* zOffset,
const Vector<RenderLayer*>& columnLayers, size_t columnIndex);
PassRefPtr<HitTestingTransformState> createLocalTransformState(RenderLayer* rootLayer, RenderLayer* containerLayer,
- const LayoutRect& hitTestRect, const HitTestPoint&,
+ const LayoutRect& hitTestRect, const HitTestLocation&,
const HitTestingTransformState* containerTransformState) const;
- bool hitTestContents(const HitTestRequest&, HitTestResult&, const LayoutRect& layerBounds, const HitTestPoint&, HitTestFilter) const;
+ bool hitTestContents(const HitTestRequest&, HitTestResult&, const LayoutRect& layerBounds, const HitTestLocation&, HitTestFilter) const;
void computeScrollDimensions();
bool hasHorizontalOverflow() const;
@@ -816,8 +832,6 @@ private:
// Both updates the status, and returns true if descendants of this have 3d.
bool update3DTransformedDescendantStatus();
- Node* enclosingElement() const;
-
void createReflection();
void removeReflection();
@@ -829,8 +843,8 @@ private:
void updateOrRemoveFilterEffect();
#endif
- void parentClipRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, ClipRects&, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
- ClipRect backgroundClipRect(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const;
+ void parentClipRects(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, ClipRects&, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflowClip) const;
+ ClipRect backgroundClipRect(const RenderLayer* rootLayer, RenderRegion*, ClipRectsType, OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip = RespectOverflowClip) const;
LayoutRect paintingExtent(const RenderLayer* rootLayer, const LayoutRect& paintDirtyRect, PaintBehavior);
RenderLayer* enclosingTransformedAncestor() const;
diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp
index 6641bbc56..26cd50f50 100644
--- a/Source/WebCore/rendering/RenderLayerBacking.cpp
+++ b/Source/WebCore/rendering/RenderLayerBacking.cpp
@@ -55,8 +55,8 @@
#include "Settings.h"
#include "StyleResolver.h"
#include "TiledBacking.h"
-
#include <wtf/CurrentTime.h>
+#include <wtf/text/StringBuilder.h>
#if ENABLE(CSS_FILTERS)
#include "FilterEffectRenderer.h"
@@ -138,6 +138,7 @@ RenderLayerBacking::~RenderLayerBacking()
updateOverflowControlsLayers(false, false, false);
updateForegroundLayer(false);
updateMaskLayer(false);
+ updateScrollingLayers(false);
destroyGraphicsLayers();
}
@@ -218,6 +219,9 @@ void RenderLayerBacking::destroyGraphicsLayers()
m_foregroundLayer = nullptr;
m_containmentLayer = nullptr;
m_maskLayer = nullptr;
+
+ m_scrollingLayer = nullptr;
+ m_scrollingContentsLayer = nullptr;
}
void RenderLayerBacking::updateLayerOpacity(const RenderStyle* style)
@@ -258,10 +262,10 @@ static bool hasNonZeroTransformOrigin(const RenderObject* renderer)
|| (style->transformOriginY().type() == Fixed && style->transformOriginY().value());
}
-static bool layerOrAncestorIsTransformed(RenderLayer* layer)
+static bool layerOrAncestorIsTransformedOrUsingCompositedScrolling(RenderLayer* layer)
{
for (RenderLayer* curr = layer; curr; curr = curr->parent()) {
- if (curr->hasTransform())
+ if (curr->hasTransform() || curr->usesCompositedScrolling())
return true;
}
@@ -280,7 +284,7 @@ bool RenderLayerBacking::shouldClipCompositedBounds() const
if (!compositor()->compositingConsultsOverlap())
return false;
- if (layerOrAncestorIsTransformed(m_owningLayer))
+ if (layerOrAncestorIsTransformedOrUsingCompositedScrolling(m_owningLayer))
return false;
return true;
@@ -366,12 +370,21 @@ bool RenderLayerBacking::updateGraphicsLayerConfiguration()
if (updateForegroundLayer(compositor->needsContentsCompositingLayer(m_owningLayer)))
layerConfigChanged = true;
- if (updateClippingLayers(compositor->clippedByAncestor(m_owningLayer), compositor->clipsCompositingDescendants(m_owningLayer)))
+ bool needsDescendentsClippingLayer = compositor->clipsCompositingDescendants(m_owningLayer);
+
+ // Our scrolling layer will clip.
+ if (m_owningLayer->usesCompositedScrolling())
+ needsDescendentsClippingLayer = false;
+
+ if (updateClippingLayers(compositor->clippedByAncestor(m_owningLayer), needsDescendentsClippingLayer))
layerConfigChanged = true;
if (updateOverflowControlsLayers(requiresHorizontalScrollbarLayer(), requiresVerticalScrollbarLayer(), requiresScrollCornerLayer()))
layerConfigChanged = true;
+ if (updateScrollingLayers(m_owningLayer->usesCompositedScrolling()))
+ layerConfigChanged = true;
+
if (layerConfigChanged)
updateInternalHierarchy();
@@ -520,12 +533,19 @@ void RenderLayerBacking::updateGraphicsLayerGeometry()
graphicsLayerParentLocation = ancestorCompositingBounds.location();
else
graphicsLayerParentLocation = renderer()->view()->documentRect().location();
+
+ if (compAncestor && compAncestor->usesCompositedScrolling()) {
+ RenderBox* renderBox = toRenderBox(compAncestor->renderer());
+ IntSize scrollOffset = compAncestor->scrolledContentOffset();
+ IntPoint scrollOrigin(renderBox->borderLeft(), renderBox->borderTop());
+ graphicsLayerParentLocation = scrollOrigin - scrollOffset;
+ }
if (compAncestor && m_ancestorClippingLayer) {
// Call calculateRects to get the backgroundRect which is what is used to clip the contents of this
// layer. Note that we call it with temporaryClipRects = true because normally when computing clip rects
// for a compositing layer, rootLayer is the layer itself.
- IntRect parentClipRect = pixelSnappedIntRect(m_owningLayer->backgroundClipRect(compAncestor, 0, TemporaryClipRects).rect()); // FIXME: Incorrect for CSS regions.
+ IntRect parentClipRect = pixelSnappedIntRect(m_owningLayer->backgroundClipRect(compAncestor, 0, TemporaryClipRects, IgnoreOverlayScrollbarSize, RenderLayer::IgnoreOverflowClip).rect()); // FIXME: Incorrect for CSS regions.
ASSERT(parentClipRect != PaintInfo::infiniteRect());
m_ancestorClippingLayer->setPosition(FloatPoint() + (parentClipRect.location() - graphicsLayerParentLocation));
m_ancestorClippingLayer->setSize(parentClipRect.size());
@@ -633,6 +653,36 @@ void RenderLayerBacking::updateGraphicsLayerGeometry()
reflectionBacking->graphicsLayer()->setReplicatedLayerPosition(FloatPoint() + (layerBounds.location() - reflectionLayerBounds.location()));
}
+ if (m_scrollingLayer) {
+ ASSERT(m_scrollingContentsLayer);
+ RenderBox* renderBox = toRenderBox(renderer());
+ IntRect paddingBox(renderBox->borderLeft(), renderBox->borderTop(), renderBox->width() - renderBox->borderLeft() - renderBox->borderRight(), renderBox->height() - renderBox->borderTop() - renderBox->borderBottom());
+ IntSize scrollOffset = m_owningLayer->scrolledContentOffset();
+
+ m_scrollingLayer->setPosition(FloatPoint() + (paddingBox.location() - localCompositingBounds.location()));
+
+ m_scrollingLayer->setSize(paddingBox.size());
+ m_scrollingContentsLayer->setPosition(FloatPoint(-scrollOffset.width(), -scrollOffset.height()));
+
+ IntSize oldScrollingLayerOffset = m_scrollingLayer->offsetFromRenderer();
+ m_scrollingLayer->setOffsetFromRenderer(IntPoint() - paddingBox.location());
+
+ bool paddingBoxOffsetChanged = oldScrollingLayerOffset != m_scrollingLayer->offsetFromRenderer();
+
+ IntSize scrollSize(m_owningLayer->scrollWidth(), m_owningLayer->scrollHeight());
+ if (scrollSize != m_scrollingContentsLayer->size() || paddingBoxOffsetChanged)
+ m_scrollingContentsLayer->setNeedsDisplay();
+
+ IntSize scrollingContentsOffset = paddingBox.location() - IntPoint() - scrollOffset;
+ if (scrollingContentsOffset != m_scrollingContentsLayer->offsetFromRenderer() || scrollSize != m_scrollingContentsLayer->size())
+ compositor()->scrollingLayerDidChange(m_owningLayer);
+
+ m_scrollingContentsLayer->setSize(scrollSize);
+ // FIXME: Scrolling the content layer does not need to trigger a repaint. The offset will be compensated away during painting.
+ // FIXME: The paint offset and the scroll offset should really be separate concepts.
+ m_scrollingContentsLayer->setOffsetFromRenderer(scrollingContentsOffset);
+ }
+
m_graphicsLayer->setContentsRect(contentsBox());
// If this layer was created just for clipping or to apply perspective, it doesn't need its own backing store.
@@ -657,6 +707,12 @@ void RenderLayerBacking::updateInternalHierarchy()
m_graphicsLayer->addChild(m_containmentLayer.get());
}
+ if (m_scrollingLayer) {
+ GraphicsLayer* superlayer = m_containmentLayer ? m_containmentLayer.get() : m_graphicsLayer.get();
+ m_scrollingLayer->removeFromParent();
+ superlayer->addChild(m_scrollingLayer.get());
+ }
+
// The clip for child layers does not include space for overflow controls, so they exist as
// siblings of the clipping layer if we have one. Normal children of this layer are set as
// children of the clipping layer.
@@ -676,6 +732,19 @@ void RenderLayerBacking::updateInternalHierarchy()
void RenderLayerBacking::updateDrawsContent()
{
+ if (m_scrollingLayer) {
+ // We don't have to consider overflow controls, because we know that the scrollbars are drawn elsewhere.
+ // m_graphicsLayer only needs backing store if the non-scrolling parts (background, outlines, borders, shadows etc) need to paint.
+ // m_scrollingLayer never has backing store.
+ // m_scrollingContentsLayer only needs backing store if the scrolled contents need to paint.
+ bool hasNonScrollingPaintedContent = m_owningLayer->hasVisibleContent() && hasBoxDecorationsOrBackground(renderer());
+ m_graphicsLayer->setDrawsContent(hasNonScrollingPaintedContent);
+
+ bool hasScrollingPaintedContent = m_owningLayer->hasVisibleContent() && (renderer()->hasBackground() || paintsChildren());
+ m_scrollingContentsLayer->setDrawsContent(hasScrollingPaintedContent);
+ return;
+ }
+
bool hasPaintedContent = containsPaintedContent();
// FIXME: we could refine this to only allocate backing for one of these layers if possible.
@@ -779,6 +848,35 @@ bool RenderLayerBacking::updateOverflowControlsLayers(bool needsHorizontalScroll
return layersChanged;
}
+void RenderLayerBacking::positionOverflowControlsLayers(const IntSize& offsetFromRoot)
+{
+ IntSize offsetFromRenderer = m_graphicsLayer->offsetFromRenderer();
+ if (GraphicsLayer* layer = layerForHorizontalScrollbar()) {
+ Scrollbar* hBar = m_owningLayer->horizontalScrollbar();
+ if (hBar) {
+ layer->setPosition(hBar->frameRect().location() - offsetFromRoot - offsetFromRenderer);
+ layer->setSize(hBar->frameRect().size());
+ }
+ layer->setDrawsContent(hBar);
+ }
+
+ if (GraphicsLayer* layer = layerForVerticalScrollbar()) {
+ Scrollbar* vBar = m_owningLayer->verticalScrollbar();
+ if (vBar) {
+ layer->setPosition(vBar->frameRect().location() - offsetFromRoot - offsetFromRenderer);
+ layer->setSize(vBar->frameRect().size());
+ }
+ layer->setDrawsContent(vBar);
+ }
+
+ if (GraphicsLayer* layer = layerForScrollCorner()) {
+ const LayoutRect& scrollCornerAndResizer = m_owningLayer->scrollCornerAndResizerRect();
+ layer->setPosition(scrollCornerAndResizer.location() - offsetFromRenderer);
+ layer->setSize(scrollCornerAndResizer.size());
+ layer->setDrawsContent(!scrollCornerAndResizer.isEmpty());
+ }
+}
+
bool RenderLayerBacking::updateForegroundLayer(bool needsForegroundLayer)
{
bool layerChanged = false;
@@ -826,6 +924,41 @@ bool RenderLayerBacking::updateMaskLayer(bool needsMaskLayer)
return layerChanged;
}
+bool RenderLayerBacking::updateScrollingLayers(bool needsScrollingLayers)
+{
+ bool layerChanged = false;
+ if (needsScrollingLayers) {
+ if (!m_scrollingLayer) {
+ // Outer layer which corresponds with the scroll view.
+ m_scrollingLayer = createGraphicsLayer("Scrolling container");
+ m_scrollingLayer->setDrawsContent(false);
+ m_scrollingLayer->setMasksToBounds(true);
+
+ // Inner layer which renders the content that scrolls.
+ m_scrollingContentsLayer = createGraphicsLayer("Scrolled Contents");
+ m_scrollingContentsLayer->setDrawsContent(true);
+ m_scrollingContentsLayer->setPaintingPhase(GraphicsLayerPaintForeground | GraphicsLayerPaintOverflowContents);
+ m_scrollingLayer->addChild(m_scrollingContentsLayer.get());
+
+ layerChanged = true;
+ }
+ } else if (m_scrollingLayer) {
+ m_scrollingLayer = nullptr;
+ m_scrollingContentsLayer = nullptr;
+ layerChanged = true;
+ }
+
+ if (layerChanged) {
+ updateInternalHierarchy();
+ m_graphicsLayer->setPaintingPhase(paintingPhaseForPrimaryLayer());
+ m_graphicsLayer->setNeedsDisplay();
+ if (renderer()->view())
+ compositor()->scrollingLayerDidChange(m_owningLayer);
+ }
+
+ return layerChanged;
+}
+
GraphicsLayerPaintingPhase RenderLayerBacking::paintingPhaseForPrimaryLayer() const
{
unsigned phase = GraphicsLayerPaintBackground;
@@ -834,6 +967,9 @@ GraphicsLayerPaintingPhase RenderLayerBacking::paintingPhaseForPrimaryLayer() co
if (!m_maskLayer)
phase |= GraphicsLayerPaintMask;
+ if (m_scrollingContentsLayer)
+ phase &= ~GraphicsLayerPaintForeground;
+
return static_cast<GraphicsLayerPaintingPhase>(phase);
}
@@ -1166,6 +1302,14 @@ IntRect RenderLayerBacking::contentsBox() const
return contentsRect;
}
+GraphicsLayer* RenderLayerBacking::parentForSublayers() const
+{
+ if (m_scrollingContentsLayer)
+ return m_scrollingContentsLayer.get();
+
+ return m_containmentLayer ? m_containmentLayer.get() : m_graphicsLayer.get();
+}
+
bool RenderLayerBacking::paintsIntoWindow() const
{
if (m_usingTiledCacheLayer)
@@ -1214,6 +1358,9 @@ void RenderLayerBacking::setContentsNeedDisplay()
if (m_maskLayer && m_maskLayer->drawsContent())
m_maskLayer->setNeedsDisplay();
+
+ if (m_scrollingContentsLayer && m_scrollingContentsLayer->drawsContent())
+ m_scrollingContentsLayer->setNeedsDisplay();
}
// r is in the coordinate space of the layer's render object
@@ -1238,6 +1385,12 @@ void RenderLayerBacking::setContentsNeedDisplayInRect(const IntRect& r)
layerDirtyRect.move(-m_maskLayer->offsetFromRenderer());
m_maskLayer->setNeedsDisplayInRect(layerDirtyRect);
}
+
+ if (m_scrollingContentsLayer && m_scrollingContentsLayer->drawsContent()) {
+ IntRect layerDirtyRect = r;
+ layerDirtyRect.move(-m_scrollingContentsLayer->offsetFromRenderer());
+ m_scrollingContentsLayer->setNeedsDisplayInRect(layerDirtyRect);
+ }
}
void RenderLayerBacking::paintIntoLayer(RenderLayer* rootLayer, GraphicsContext* context,
@@ -1259,7 +1412,9 @@ void RenderLayerBacking::paintIntoLayer(RenderLayer* rootLayer, GraphicsContext*
paintFlags |= RenderLayer::PaintLayerPaintingCompositingForegroundPhase;
if (paintingPhase & GraphicsLayerPaintMask)
paintFlags |= RenderLayer::PaintLayerPaintingCompositingMaskPhase;
-
+ if (paintingPhase & GraphicsLayerPaintOverflowContents)
+ paintFlags |= RenderLayer::PaintLayerPaintingOverflowContents;
+
// FIXME: GraphicsLayers need a way to split for RenderRegions.
m_owningLayer->paintLayerContents(rootLayer, context, paintDirtyRect, LayoutSize(), paintBehavior, paintingRoot, 0, 0, paintFlags);
@@ -1290,12 +1445,14 @@ void RenderLayerBacking::paintContents(const GraphicsLayer* graphicsLayer, Graph
if (Page* page = renderer()->frame()->page())
page->setIsPainting(true);
#endif
- if (graphicsLayer == m_graphicsLayer.get() || graphicsLayer == m_foregroundLayer.get() || graphicsLayer == m_maskLayer.get()) {
+
+ if (graphicsLayer == m_graphicsLayer.get() || graphicsLayer == m_foregroundLayer.get() || graphicsLayer == m_maskLayer.get() || graphicsLayer == m_scrollingContentsLayer.get()) {
InspectorInstrumentationCookie cookie = InspectorInstrumentation::willPaint(m_owningLayer->renderer()->frame(), &context, clip);
// The dirtyRect is in the coords of the painting root.
- IntRect dirtyRect = compositedBounds();
- dirtyRect.intersect(clip);
+ IntRect dirtyRect = clip;
+ if (!(paintingPhase & GraphicsLayerPaintOverflowContents))
+ dirtyRect.intersect(compositedBounds());
// We have to use the same root as for hit testing, because both methods can compute and cache clipRects.
paintIntoLayer(m_owningLayer, &context, dirtyRect, PaintBehaviorNormal, paintingPhase, renderer());
@@ -1590,29 +1747,35 @@ AnimatedPropertyID RenderLayerBacking::cssToGraphicsLayerProperty(CSSPropertyID
String RenderLayerBacking::nameForLayer() const
{
- String name = renderer()->renderName();
+ StringBuilder name;
+ name.append(renderer()->renderName());
if (Node* node = renderer()->node()) {
- if (node->isElementNode())
- name += " " + static_cast<Element*>(node)->tagName();
- if (node->hasID())
- name += " id=\'" + static_cast<Element*>(node)->getIdAttribute() + "\'";
+ if (node->isElementNode()) {
+ name.append(' ');
+ name.append(static_cast<Element*>(node)->tagName());
+ }
+ if (node->hasID()) {
+ name.appendLiteral(" id=\'");
+ name.append(static_cast<Element*>(node)->getIdAttribute());
+ name.append('\'');
+ }
if (node->hasClass()) {
+ name.appendLiteral(" class=\'");
StyledElement* styledElement = static_cast<StyledElement*>(node);
- String classes;
for (size_t i = 0; i < styledElement->classNames().size(); ++i) {
if (i > 0)
- classes += " ";
- classes += styledElement->classNames()[i];
+ name.append(' ');
+ name.append(styledElement->classNames()[i]);
}
- name += " class=\'" + classes + "\'";
+ name.append('\'');
}
}
if (m_owningLayer->isReflection())
- name += " (reflection)";
+ name.appendLiteral(" (reflection)");
- return name;
+ return name.toString();
}
CompositingLayerType RenderLayerBacking::compositingLayerType() const
@@ -1637,6 +1800,9 @@ double RenderLayerBacking::backingStoreMemoryEstimate() const
if (m_maskLayer)
backingMemory += m_maskLayer->backingStoreMemoryEstimate();
+ if (m_scrollingContentsLayer)
+ backingMemory += m_scrollingContentsLayer->backingStoreMemoryEstimate();
+
if (m_layerForHorizontalScrollbar)
backingMemory += m_layerForHorizontalScrollbar->backingStoreMemoryEstimate();
diff --git a/Source/WebCore/rendering/RenderLayerBacking.h b/Source/WebCore/rendering/RenderLayerBacking.h
index f107dc279..0508b52bb 100644
--- a/Source/WebCore/rendering/RenderLayerBacking.h
+++ b/Source/WebCore/rendering/RenderLayerBacking.h
@@ -83,10 +83,14 @@ public:
bool hasContentsLayer() const { return m_foregroundLayer != 0; }
GraphicsLayer* foregroundLayer() const { return m_foregroundLayer.get(); }
+
+ bool hasScrollingLayer() const { return m_scrollingLayer; }
+ GraphicsLayer* scrollingLayer() const { return m_scrollingLayer.get(); }
+ GraphicsLayer* scrollingContentsLayer() const { return m_scrollingContentsLayer.get(); }
bool hasMaskLayer() const { return m_maskLayer != 0; }
- GraphicsLayer* parentForSublayers() const { return m_containmentLayer ? m_containmentLayer.get() : m_graphicsLayer.get(); }
+ GraphicsLayer* parentForSublayers() const;
GraphicsLayer* childForSuperlayers() const { return m_ancestorClippingLayer ? m_ancestorClippingLayer.get() : m_graphicsLayer.get(); }
// RenderLayers with backing normally short-circuit paintLayer() because
@@ -127,6 +131,7 @@ public:
void updateCompositedBounds();
void updateAfterWidgetResize();
+ void positionOverflowControlsLayers(const IntSize& offsetFromRoot);
// GraphicsLayerClient interface
virtual bool shouldUseTileCache(const GraphicsLayer*) const;
@@ -186,6 +191,7 @@ private:
bool requiresHorizontalScrollbarLayer() const;
bool requiresVerticalScrollbarLayer() const;
bool requiresScrollCornerLayer() const;
+ bool updateScrollingLayers(bool scrollingLayers);
GraphicsLayerPaintingPhase paintingPhaseForPrimaryLayer() const;
@@ -247,6 +253,9 @@ private:
OwnPtr<GraphicsLayer> m_layerForVerticalScrollbar;
OwnPtr<GraphicsLayer> m_layerForScrollCorner;
+ OwnPtr<GraphicsLayer> m_scrollingLayer; // only used if the layer is using composited scrolling.
+ OwnPtr<GraphicsLayer> m_scrollingContentsLayer; // only used if the layer is using composited scrolling.
+
IntRect m_compositedBounds;
bool m_artificiallyInflatedBounds; // bounds had to be made non-zero to make transform-origin work
diff --git a/Source/WebCore/rendering/RenderLayerCompositor.cpp b/Source/WebCore/rendering/RenderLayerCompositor.cpp
index 72ba4c2f8..f967233ef 100644
--- a/Source/WebCore/rendering/RenderLayerCompositor.cpp
+++ b/Source/WebCore/rendering/RenderLayerCompositor.cpp
@@ -1025,7 +1025,7 @@ void RenderLayerCompositor::rebuildCompositingLayerTree(RenderLayer* layer, Vect
// If the layer has a clipping layer the overflow controls layers will be siblings of the clipping layer.
// Otherwise, the overflow control layers are normal children.
- if (!layerBacking->hasClippingLayer()) {
+ if (!layerBacking->hasClippingLayer() && !layerBacking->hasScrollingLayer()) {
if (GraphicsLayer* overflowControlLayer = layerBacking->layerForHorizontalScrollbar()) {
overflowControlLayer->removeFromParent();
layerBacking->parentForSublayers()->addChild(overflowControlLayer);
@@ -1092,6 +1092,13 @@ void RenderLayerCompositor::frameViewDidScroll()
m_scrollLayer->setPosition(FloatPoint(-scrollPosition.x(), -scrollPosition.y()));
}
+void RenderLayerCompositor::scrollingLayerDidChange(RenderLayer* layer)
+{
+ RenderLayerBacking* backing = layer->backing();
+ if (ScrollingCoordinator* scrollingCoordinator = this->scrollingCoordinator())
+ scrollingCoordinator->scrollableAreaScrollLayerDidChange(layer, backing ? backing->scrollingContentsLayer() : 0);
+}
+
String RenderLayerCompositor::layerTreeAsText(bool showDebugInfo)
{
updateCompositingLayers(CompositingUpdateAfterLayout);
@@ -1444,7 +1451,9 @@ bool RenderLayerCompositor::requiresCompositingLayer(const RenderLayer* layer) c
|| clipsCompositingDescendants(layer)
|| requiresCompositingForAnimation(renderer)
|| requiresCompositingForFilters(renderer)
- || requiresCompositingForPosition(renderer, layer);
+ || requiresCompositingForPosition(renderer, layer)
+ || requiresCompositingForOverflowScrolling(layer)
+ || requiresCompositingForBlending(renderer);
}
bool RenderLayerCompositor::canBeComposited(const RenderLayer* layer) const
@@ -1472,7 +1481,9 @@ bool RenderLayerCompositor::requiresOwnBackingStore(const RenderLayer* layer, co
|| (canRender3DTransforms() && renderer->style()->backfaceVisibility() == BackfaceVisibilityHidden)
|| requiresCompositingForAnimation(renderer)
|| requiresCompositingForFilters(renderer)
+ || requiresCompositingForBlending(renderer)
|| requiresCompositingForPosition(renderer, layer)
+ || requiresCompositingForOverflowScrolling(layer)
|| renderer->isTransparent()
|| renderer->hasMask()
|| renderer->hasReflection()
@@ -1530,6 +1541,9 @@ const char* RenderLayerCompositor::reasonForCompositing(const RenderLayer* layer
if (requiresCompositingForPosition(renderer, layer))
return "position: fixed";
+ if (requiresCompositingForOverflowScrolling(layer))
+ return "-webkit-overflow-scrolling: touch";
+
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForStacking)
return "stacking";
@@ -1554,6 +1568,9 @@ const char* RenderLayerCompositor::reasonForCompositing(const RenderLayer* layer
if (renderer->hasFilter())
return "filter with composited descendants";
+
+ if (renderer->hasBlendMode())
+ return "blending with composited descendants";
}
if (layer->indirectCompositingReason() == RenderLayer::IndirectCompositingForPerspective)
@@ -1766,7 +1783,7 @@ bool RenderLayerCompositor::requiresCompositingForIndirectReason(RenderObject* r
// When a layer has composited descendants, some effects, like 2d transforms, filters, masks etc must be implemented
// via compositing so that they also apply to those composited descdendants.
- if (hasCompositedDescendants && (layer->transform() || renderer->isTransparent() || renderer->hasMask() || renderer->hasReflection() || renderer->hasFilter())) {
+ if (hasCompositedDescendants && (layer->transform() || renderer->createsGroup() || renderer->hasReflection())) {
reason = RenderLayer::IndirectCompositingForGraphicalEffect;
return true;
}
@@ -1802,6 +1819,16 @@ bool RenderLayerCompositor::requiresCompositingForFilters(RenderObject* renderer
#endif
}
+bool RenderLayerCompositor::requiresCompositingForBlending(RenderObject* renderer) const
+{
+#if ENABLE(CSS_COMPOSITING)
+ return renderer->hasBlendMode();
+#else
+ UNUSED_PARAM(renderer);
+ return false;
+#endif
+}
+
bool RenderLayerCompositor::requiresCompositingForPosition(RenderObject* renderer, const RenderLayer* layer) const
{
// position:fixed elements that create their own stacking context (e.g. have an explicit z-index,
@@ -1834,6 +1861,11 @@ bool RenderLayerCompositor::requiresCompositingForPosition(RenderObject* rendere
return true;
}
+bool RenderLayerCompositor::requiresCompositingForOverflowScrolling(const RenderLayer* layer) const
+{
+ return layer->usesCompositedScrolling();
+}
+
bool RenderLayerCompositor::isRunningAcceleratedTransformAnimation(RenderObject* renderer) const
{
if (!(m_compositingTriggers & ChromeClient::AnimationTrigger))
diff --git a/Source/WebCore/rendering/RenderLayerCompositor.h b/Source/WebCore/rendering/RenderLayerCompositor.h
index 5b87e53c4..46a97a57f 100644
--- a/Source/WebCore/rendering/RenderLayerCompositor.h
+++ b/Source/WebCore/rendering/RenderLayerCompositor.h
@@ -192,6 +192,8 @@ public:
void frameViewDidChangeSize();
void frameViewDidScroll();
+ void scrollingLayerDidChange(RenderLayer*);
+
String layerTreeAsText(bool showDebugInfo = false);
// These are named to avoid conflicts with the functions in GraphicsLayerClient
@@ -290,8 +292,10 @@ private:
bool requiresCompositingForPlugin(RenderObject*) const;
bool requiresCompositingForFrame(RenderObject*) const;
bool requiresCompositingForFilters(RenderObject*) const;
+ bool requiresCompositingForBlending(RenderObject* renderer) const;
bool requiresCompositingForScrollableFrame() const;
bool requiresCompositingForPosition(RenderObject*, const RenderLayer*) const;
+ bool requiresCompositingForOverflowScrolling(const RenderLayer*) const;
bool requiresCompositingForIndirectReason(RenderObject*, bool hasCompositedDescendants, bool has3DTransformedDescendants, RenderLayer::IndirectCompositingReason&) const;
bool requiresScrollLayer(RootLayerAttachment) const;
diff --git a/Source/WebCore/rendering/RenderLayerFilterInfo.h b/Source/WebCore/rendering/RenderLayerFilterInfo.h
index ab45a9fca..cf2be232e 100644
--- a/Source/WebCore/rendering/RenderLayerFilterInfo.h
+++ b/Source/WebCore/rendering/RenderLayerFilterInfo.h
@@ -36,6 +36,7 @@
#include "CachedSVGDocument.h"
#endif
#include "FilterOperation.h"
+#include "FractionalLayoutRect.h"
#include "LayoutTypes.h"
#include <wtf/HashMap.h>
#include <wtf/PassRefPtr.h>
diff --git a/Source/WebCore/rendering/RenderLineBoxList.cpp b/Source/WebCore/rendering/RenderLineBoxList.cpp
index 2739d4124..ea50d52e8 100644
--- a/Source/WebCore/rendering/RenderLineBoxList.cpp
+++ b/Source/WebCore/rendering/RenderLineBoxList.cpp
@@ -273,7 +273,7 @@ void RenderLineBoxList::paint(RenderBoxModelObject* renderer, PaintInfo& paintIn
}
}
-bool RenderLineBoxList::hitTest(RenderBoxModelObject* renderer, const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) const
+bool RenderLineBoxList::hitTest(RenderBoxModelObject* renderer, const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction) const
{
if (hitTestAction != HitTestForeground)
return false;
@@ -284,10 +284,10 @@ bool RenderLineBoxList::hitTest(RenderBoxModelObject* renderer, const HitTestReq
if (!firstLineBox())
return false;
- LayoutPoint point = pointInContainer.point();
+ LayoutPoint point = locationInContainer.point();
LayoutRect rect = firstLineBox()->isHorizontal() ?
- IntRect(point.x(), point.y() - pointInContainer.topPadding(), 1, pointInContainer.topPadding() + pointInContainer.bottomPadding() + 1) :
- IntRect(point.x() - pointInContainer.leftPadding(), point.y(), pointInContainer.rightPadding() + pointInContainer.leftPadding() + 1, 1);
+ IntRect(point.x(), point.y() - locationInContainer.topPadding(), 1, locationInContainer.topPadding() + locationInContainer.bottomPadding() + 1) :
+ IntRect(point.x() - locationInContainer.leftPadding(), point.y(), locationInContainer.rightPadding() + locationInContainer.leftPadding() + 1, 1);
if (!anyLineIntersectsRect(renderer, rect, accumulatedOffset))
return false;
@@ -298,9 +298,9 @@ bool RenderLineBoxList::hitTest(RenderBoxModelObject* renderer, const HitTestReq
for (InlineFlowBox* curr = lastLineBox(); curr; curr = curr->prevLineBox()) {
RootInlineBox* root = curr->root();
if (rangeIntersectsRect(renderer, curr->logicalTopVisualOverflow(root->lineTop()), curr->logicalBottomVisualOverflow(root->lineBottom()), rect, accumulatedOffset)) {
- bool inside = curr->nodeAtPoint(request, result, pointInContainer, accumulatedOffset, root->lineTop(), root->lineBottom());
+ bool inside = curr->nodeAtPoint(request, result, locationInContainer, accumulatedOffset, root->lineTop(), root->lineBottom());
if (inside) {
- renderer->updateHitTestResult(result, pointInContainer.point() - toLayoutSize(accumulatedOffset));
+ renderer->updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset));
return true;
}
}
diff --git a/Source/WebCore/rendering/RenderLineBoxList.h b/Source/WebCore/rendering/RenderLineBoxList.h
index 2c2038295..e5b085edf 100644
--- a/Source/WebCore/rendering/RenderLineBoxList.h
+++ b/Source/WebCore/rendering/RenderLineBoxList.h
@@ -30,7 +30,7 @@
#ifndef RenderLineBoxList_h
#define RenderLineBoxList_h
-#include "RenderBox.h"
+#include "RenderObject.h"
namespace WebCore {
@@ -64,7 +64,7 @@ public:
void dirtyLinesFromChangedChild(RenderObject* parent, RenderObject* child);
void paint(RenderBoxModelObject*, PaintInfo&, const LayoutPoint&) const;
- bool hitTest(RenderBoxModelObject*, const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) const;
+ bool hitTest(RenderBoxModelObject*, const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) const;
private:
bool anyLineIntersectsRect(RenderBoxModelObject*, const LayoutRect&, const LayoutPoint&, bool usePrintRect = false, LayoutUnit outlineSize = 0) const;
diff --git a/Source/WebCore/rendering/RenderListBox.cpp b/Source/WebCore/rendering/RenderListBox.cpp
index 6376b098b..db70b08a5 100644
--- a/Source/WebCore/rendering/RenderListBox.cpp
+++ b/Source/WebCore/rendering/RenderListBox.cpp
@@ -459,7 +459,7 @@ void RenderListBox::paintItemBackground(PaintInfo& paintInfo, const LayoutPoint&
}
}
-bool RenderListBox::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
+bool RenderListBox::isPointInOverflowControl(HitTestResult& result, const LayoutPoint& locationInContainer, const LayoutPoint& accumulatedOffset)
{
if (!m_vBar || !m_vBar->shouldParticipateInHitTesting())
return false;
@@ -469,7 +469,7 @@ bool RenderListBox::isPointInOverflowControl(HitTestResult& result, const Layout
m_vBar->width(),
height() - borderTop() - borderBottom());
- if (vertRect.contains(pointInContainer)) {
+ if (vertRect.contains(locationInContainer)) {
result.setScrollbar(m_vBar.get());
return true;
}
@@ -689,21 +689,21 @@ void RenderListBox::setScrollTop(int newTop)
scrollToOffsetWithoutAnimation(VerticalScrollbar, index);
}
-bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- if (!RenderBlock::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction))
+ if (!RenderBlock::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction))
return false;
const Vector<HTMLElement*>& listItems = selectElement()->listItems();
int size = numItems();
LayoutPoint adjustedLocation = accumulatedOffset + location();
for (int i = 0; i < size; ++i) {
- if (itemBoundingBoxRect(adjustedLocation, i).contains(pointInContainer.point())) {
+ if (itemBoundingBoxRect(adjustedLocation, i).contains(locationInContainer.point())) {
if (Element* node = listItems[i]) {
result.setInnerNode(node);
if (!result.innerNonSharedNode())
result.setInnerNonSharedNode(node);
- result.setLocalPoint(pointInContainer.point() - toLayoutSize(adjustedLocation));
+ result.setLocalPoint(locationInContainer.point() - toLayoutSize(adjustedLocation));
break;
}
}
diff --git a/Source/WebCore/rendering/RenderListBox.h b/Source/WebCore/rendering/RenderListBox.h
index 496191206..9a0110efc 100644
--- a/Source/WebCore/rendering/RenderListBox.h
+++ b/Source/WebCore/rendering/RenderListBox.h
@@ -70,14 +70,14 @@ private:
virtual void paintObject(PaintInfo&, const LayoutPoint&);
virtual LayoutRect controlClipRect(const LayoutPoint&) const;
- virtual bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset);
+ virtual bool isPointInOverflowControl(HitTestResult&, const LayoutPoint& locationInContainer, const LayoutPoint& accumulatedOffset);
virtual bool scroll(ScrollDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0);
virtual bool logicalScroll(ScrollLogicalDirection, ScrollGranularity, float multiplier = 1, Node** stopNode = 0);
virtual void computePreferredLogicalWidths();
virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const;
- virtual void computeLogicalHeight();
+ virtual void computeLogicalHeight() OVERRIDE;
virtual void layout();
@@ -98,7 +98,7 @@ private:
virtual void setScrollLeft(int);
virtual void setScrollTop(int);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
// ScrollableArea interface.
virtual int scrollSize(ScrollbarOrientation) const OVERRIDE;
diff --git a/Source/WebCore/rendering/RenderMediaControls.h b/Source/WebCore/rendering/RenderMediaControls.h
index f9d3f3d78..8a16c2f78 100644
--- a/Source/WebCore/rendering/RenderMediaControls.h
+++ b/Source/WebCore/rendering/RenderMediaControls.h
@@ -28,12 +28,18 @@
#if ENABLE(VIDEO)
-#include "RenderObject.h"
#include "MediaControlElements.h"
namespace WebCore {
+struct PaintInfo;
+
class HTMLMediaElement;
+class IntRect;
+class IntSize;
+class RenderBox;
+class RenderObject;
+class RenderStyle;
class RenderMediaControls {
public:
diff --git a/Source/WebCore/rendering/RenderMediaControlsChromium.cpp b/Source/WebCore/rendering/RenderMediaControlsChromium.cpp
index d2954dc3a..38a4e5a3e 100644
--- a/Source/WebCore/rendering/RenderMediaControlsChromium.cpp
+++ b/Source/WebCore/rendering/RenderMediaControlsChromium.cpp
@@ -327,6 +327,22 @@ static bool paintMediaFullscreenButton(RenderObject* object, const PaintInfo& pa
return paintMediaButton(paintInfo.context, rect, mediaFullscreenButton);
}
+static bool paintMediaClosedCaptionsButton(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)
+{
+ HTMLMediaElement* mediaElement = toParentMediaElement(object);
+ if (!mediaElement)
+ return false;
+
+ static Image* mediaClosedCaptionButton = platformResource("mediaplayerClosedCaption");
+ static Image* mediaClosedCaptionButtonDisabled = platformResource("mediaplayerClosedCaptionDisabled");
+
+ if (mediaElement->webkitClosedCaptionsVisible())
+ return paintMediaButton(paintInfo.context, rect, mediaClosedCaptionButton);
+
+ return paintMediaButton(paintInfo.context, rect, mediaClosedCaptionButtonDisabled);
+}
+
+
bool RenderMediaControlsChromium::paintMediaControlsPart(MediaControlElementType part, RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)
{
switch (part) {
@@ -336,6 +352,8 @@ bool RenderMediaControlsChromium::paintMediaControlsPart(MediaControlElementType
case MediaPauseButton:
case MediaPlayButton:
return paintMediaPlayButton(object, paintInfo, rect);
+ case MediaShowClosedCaptionsButton:
+ return paintMediaClosedCaptionsButton(object, paintInfo, rect);
case MediaSlider:
return paintMediaSlider(object, paintInfo, rect);
case MediaSliderThumb:
@@ -360,7 +378,6 @@ bool RenderMediaControlsChromium::paintMediaControlsPart(MediaControlElementType
case MediaRewindButton:
case MediaReturnToRealtimeButton:
case MediaStatusDisplay:
- case MediaShowClosedCaptionsButton:
case MediaHideClosedCaptionsButton:
case MediaTextTrackDisplayContainer:
case MediaTextTrackDisplay:
diff --git a/Source/WebCore/rendering/RenderMediaControlsChromium.h b/Source/WebCore/rendering/RenderMediaControlsChromium.h
index c3b801bf0..6015cb1fc 100644
--- a/Source/WebCore/rendering/RenderMediaControlsChromium.h
+++ b/Source/WebCore/rendering/RenderMediaControlsChromium.h
@@ -28,12 +28,16 @@
#ifndef RenderMediaControlsChromium_h
#define RenderMediaControlsChromium_h
-#include "RenderObject.h"
#include "MediaControlElements.h"
namespace WebCore {
+struct PaintInfo;
+
class HTMLMediaElement;
+class IntRect;
+class RenderObject;
+
class RenderMediaControlsChromium {
public:
static bool paintMediaControlsPart(MediaControlElementType, RenderObject*, const PaintInfo&, const IntRect&);
diff --git a/Source/WebCore/rendering/RenderMenuList.cpp b/Source/WebCore/rendering/RenderMenuList.cpp
index 5b79d6c90..06367c726 100644
--- a/Source/WebCore/rendering/RenderMenuList.cpp
+++ b/Source/WebCore/rendering/RenderMenuList.cpp
@@ -212,7 +212,7 @@ void RenderMenuList::setTextFromOption(int optionIndex)
int size = listItems.size();
int i = select->optionToListIndex(optionIndex);
- String text = "";
+ String text = emptyString();
if (i >= 0 && i < size) {
Element* element = listItems[i];
if (element->hasTagName(optionTag)) {
diff --git a/Source/WebCore/rendering/RenderMeter.h b/Source/WebCore/rendering/RenderMeter.h
index 34909eeb0..b73218598 100644
--- a/Source/WebCore/rendering/RenderMeter.h
+++ b/Source/WebCore/rendering/RenderMeter.h
@@ -39,8 +39,8 @@ public:
virtual void updateFromElement();
private:
- virtual void computeLogicalWidth();
- virtual void computeLogicalHeight();
+ virtual void computeLogicalWidth() OVERRIDE;
+ virtual void computeLogicalHeight() OVERRIDE;
virtual const char* renderName() const { return "RenderMeter"; }
virtual bool isMeter() const { return true; }
diff --git a/Source/WebCore/rendering/RenderMultiColumnBlock.cpp b/Source/WebCore/rendering/RenderMultiColumnBlock.cpp
index 9f6bdefb4..64271a329 100644
--- a/Source/WebCore/rendering/RenderMultiColumnBlock.cpp
+++ b/Source/WebCore/rendering/RenderMultiColumnBlock.cpp
@@ -78,23 +78,19 @@ bool RenderMultiColumnBlock::recomputeLogicalWidth()
return relayoutChildren;
}
-void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit& pageLogicalHeight, bool& pageLogicalHeightChanged, bool& hasSpecifiedPageLogicalHeight)
+void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit& /*pageLogicalHeight*/, bool& /*pageLogicalHeightChanged*/, bool& /*hasSpecifiedPageLogicalHeight*/)
{
- // We need to go ahead and set our explicit page height if one exists, so that we can
- // avoid doing multiple layout passes.
+ // We don't actually update any of the variables. We just subclassed to adjust our column height.
computeLogicalHeight();
LayoutUnit newContentLogicalHeight = contentLogicalHeight();
if (newContentLogicalHeight > ZERO_LAYOUT_UNIT) {
- pageLogicalHeight = newContentLogicalHeight;
- hasSpecifiedPageLogicalHeight = true;
+ // The regions will be invalidated when we lay them out and they change size to
+ // the new column height.
+ if (columnHeight() != newContentLogicalHeight)
+ setColumnHeight(newContentLogicalHeight);
}
setLogicalHeight(ZERO_LAYOUT_UNIT);
- if (columnHeight() != pageLogicalHeight && everHadLayout()) {
- setColumnHeight(pageLogicalHeight);
- pageLogicalHeightChanged = true;
- }
-
// Set up our column sets.
ensureColumnSets();
}
diff --git a/Source/WebCore/rendering/RenderMultiColumnFlowThread.h b/Source/WebCore/rendering/RenderMultiColumnFlowThread.h
index 6f236d1f4..c69e65016 100644
--- a/Source/WebCore/rendering/RenderMultiColumnFlowThread.h
+++ b/Source/WebCore/rendering/RenderMultiColumnFlowThread.h
@@ -38,6 +38,8 @@ public:
private:
virtual const char* renderName() const OVERRIDE;
+
+ virtual void computeLogicalHeight() OVERRIDE {}; // We simply remain at our intrinsic height.
};
} // namespace WebCore
diff --git a/Source/WebCore/rendering/RenderMultiColumnSet.cpp b/Source/WebCore/rendering/RenderMultiColumnSet.cpp
index 3ac55cc9e..369011980 100644
--- a/Source/WebCore/rendering/RenderMultiColumnSet.cpp
+++ b/Source/WebCore/rendering/RenderMultiColumnSet.cpp
@@ -24,21 +24,33 @@
*/
#include "config.h"
+#include "RenderMultiColumnSet.h"
+
+#include "HitTestResult.h"
#include "PaintInfo.h"
#include "RenderMultiColumnFlowThread.h"
-#include "RenderMultiColumnSet.h"
#include "RenderMultiColumnBlock.h"
+using std::min;
+using std::max;
+
namespace WebCore {
RenderMultiColumnSet::RenderMultiColumnSet(Node* node, RenderFlowThread* flowThread)
: RenderRegionSet(node, flowThread)
- , m_columnCount(1)
- , m_columnWidth(ZERO_LAYOUT_UNIT)
- , m_columnHeight(ZERO_LAYOUT_UNIT)
+ , m_computedColumnCount(1)
+ , m_computedColumnWidth(ZERO_LAYOUT_UNIT)
+ , m_computedColumnHeight(ZERO_LAYOUT_UNIT)
{
}
+LayoutUnit RenderMultiColumnSet::pageLogicalTopForOffset(LayoutUnit offset) const
+{
+ LayoutUnit portionLogicalTop = (isHorizontalWritingMode() ? flowThreadPortionRect().y() : flowThreadPortionRect().x());
+ unsigned columnIndex = (offset - portionLogicalTop) / computedColumnHeight();
+ return portionLogicalTop + columnIndex * computedColumnHeight();
+}
+
void RenderMultiColumnSet::computeLogicalWidth()
{
// Our logical width starts off matching the column block itself.
@@ -49,17 +61,17 @@ void RenderMultiColumnSet::computeLogicalWidth()
setLogicalWidth(parentBox()->contentLogicalWidth());
RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent());
- setColumnWidthAndCount(parentBlock->columnWidth(), parentBlock->columnCount()); // FIXME: This will eventually vary if we are contained inside regions.
+ setComputedColumnWidthAndCount(parentBlock->columnWidth(), parentBlock->columnCount()); // FIXME: This will eventually vary if we are contained inside regions.
}
void RenderMultiColumnSet::computeLogicalHeight()
{
// Make sure our column height is up to date.
RenderMultiColumnBlock* parentBlock = toRenderMultiColumnBlock(parent());
- setColumnHeight(parentBlock->columnHeight()); // FIXME: Once we make more than one column set, this will become variable.
+ setComputedColumnHeight(parentBlock->columnHeight()); // FIXME: Once we make more than one column set, this will become variable.
// Our logical height is always just the height of our columns.
- setLogicalHeight(columnHeight());
+ setLogicalHeight(computedColumnHeight());
}
LayoutUnit RenderMultiColumnSet::columnGap() const
@@ -69,10 +81,20 @@ LayoutUnit RenderMultiColumnSet::columnGap() const
return static_cast<int>(style()->columnGap());
}
+unsigned RenderMultiColumnSet::columnCount() const
+{
+ if (!computedColumnHeight())
+ return 0;
+
+ // Our region rect determines our column count. We have as many columns as needed to fit all the content.
+ LayoutUnit logicalHeightInColumns = flowThread()->isHorizontalWritingMode() ? flowThreadPortionRect().height() : flowThreadPortionRect().width();
+ return ceil(static_cast<float>(logicalHeightInColumns) / computedColumnHeight());
+}
+
LayoutRect RenderMultiColumnSet::columnRectAt(unsigned index) const
{
- LayoutUnit colLogicalWidth = columnWidth();
- LayoutUnit colLogicalHeight = columnHeight();
+ LayoutUnit colLogicalWidth = computedColumnWidth();
+ LayoutUnit colLogicalHeight = computedColumnHeight();
LayoutUnit colLogicalTop = borderBefore() + paddingBefore();
LayoutUnit colLogicalLeft = borderAndPaddingLogicalLeft();
int colGap = columnGap();
@@ -86,6 +108,81 @@ LayoutRect RenderMultiColumnSet::columnRectAt(unsigned index) const
return LayoutRect(colLogicalTop, colLogicalLeft, colLogicalHeight, colLogicalWidth);
}
+unsigned RenderMultiColumnSet::columnIndexAtOffset(LayoutUnit offset) const
+{
+ LayoutRect portionRect(flowThreadPortionRect());
+ LayoutUnit flowThreadLogicalTop = isHorizontalWritingMode() ? portionRect.y() : portionRect.x();
+ LayoutUnit flowThreadLogicalBottom = isHorizontalWritingMode() ? portionRect.maxY() : portionRect.maxX();
+
+ // Handle the offset being out of range.
+ if (offset < flowThreadLogicalTop)
+ return 0;
+ if (offset >= flowThreadLogicalBottom)
+ return columnCount() - 1;
+
+ // Just divide by the column height to determine the correct column.
+ return static_cast<float>(offset - flowThreadLogicalTop) / computedColumnHeight();
+}
+
+LayoutRect RenderMultiColumnSet::flowThreadPortionRectAt(unsigned index) const
+{
+ LayoutRect portionRect = flowThreadPortionRect();
+ if (isHorizontalWritingMode())
+ portionRect = LayoutRect(portionRect.x(), portionRect.y() + index * computedColumnHeight(), portionRect.width(), computedColumnHeight());
+ else
+ portionRect = LayoutRect(portionRect.x() + index * computedColumnHeight(), portionRect.y(), computedColumnHeight(), portionRect.height());
+ return portionRect;
+}
+
+LayoutRect RenderMultiColumnSet::flowThreadPortionOverflowRect(const LayoutRect& portionRect, unsigned index, unsigned colCount, int colGap) const
+{
+ // This function determines the portion of the flow thread that paints for the column. Along the inline axis, columns are
+ // unclipped at outside edges (i.e., the first and last column in the set), and they clip to half the column
+ // gap along interior edges.
+ //
+ // In the block direction, we will not clip overflow out of the top of the first column, or out of the bottom of
+ // the last column. This applies only to the true first column and last column across all column sets.
+ //
+ // FIXME: Eventually we will know overflow on a per-column basis, but we can't do this until we have a painting
+ // mode that understands not to paint contents from a previous column in the overflow area of a following column.
+ // This problem applies to regions and pages as well and is not unique to columns.
+ bool isFirstColumn = !index;
+ bool isLastColumn = index == colCount - 1;
+ LayoutRect overflowRect(portionRect);
+ if (isHorizontalWritingMode()) {
+ if (isFirstColumn) {
+ // Shift to the logical left overflow of the flow thread to make sure it's all covered.
+ overflowRect.shiftXEdgeTo(min(flowThread()->visualOverflowRect().x(), portionRect.x()));
+ } else {
+ // Expand into half of the logical left column gap.
+ overflowRect.shiftXEdgeTo(portionRect.x() - colGap / 2);
+ }
+ if (isLastColumn) {
+ // Shift to the logical right overflow of the flow thread to ensure content can spill out of the column.
+ overflowRect.shiftMaxXEdgeTo(max(flowThread()->visualOverflowRect().maxX(), portionRect.maxX()));
+ } else {
+ // Expand into half of the logical right column gap.
+ overflowRect.shiftMaxXEdgeTo(portionRect.maxX() + colGap / 2);
+ }
+ } else {
+ if (isFirstColumn) {
+ // Shift to the logical left overflow of the flow thread to make sure it's all covered.
+ overflowRect.shiftYEdgeTo(min(flowThread()->visualOverflowRect().y(), portionRect.y()));
+ } else {
+ // Expand into half of the logical left column gap.
+ overflowRect.shiftYEdgeTo(portionRect.y() - colGap / 2);
+ }
+ if (isLastColumn) {
+ // Shift to the logical right overflow of the flow thread to ensure content can spill out of the column.
+ overflowRect.shiftMaxYEdgeTo(max(flowThread()->visualOverflowRect().maxY(), portionRect.maxY()));
+ } else {
+ // Expand into half of the logical right column gap.
+ overflowRect.shiftMaxYEdgeTo(portionRect.maxY() + colGap / 2);
+ }
+ }
+ return overflowRectForFlowThreadPortion(overflowRect, isFirstRegion() && isFirstColumn, isLastRegion() && isLastColumn);
+}
+
void RenderMultiColumnSet::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
{
// FIXME: RenderRegions are replaced elements right now and so they only paint in the foreground phase.
@@ -116,6 +213,8 @@ void RenderMultiColumnSet::paintColumnRules(PaintInfo& paintInfo, const LayoutPo
return;
unsigned colCount = columnCount();
+ if (colCount <= 1)
+ return;
bool antialias = shouldAntialiasLines(paintInfo.context);
@@ -123,7 +222,7 @@ void RenderMultiColumnSet::paintColumnRules(PaintInfo& paintInfo, const LayoutPo
LayoutUnit currLogicalLeftOffset = leftToRight ? ZERO_LAYOUT_UNIT : contentLogicalWidth();
LayoutUnit ruleAdd = borderAndPaddingLogicalLeft();
LayoutUnit ruleLogicalLeft = leftToRight ? ZERO_LAYOUT_UNIT : contentLogicalWidth();
- LayoutUnit inlineDirectionSize = columnWidth();
+ LayoutUnit inlineDirectionSize = computedColumnWidth();
BoxSide boxSide = isHorizontalWritingMode()
? leftToRight ? BSLeft : BSRight
: leftToRight ? BSTop : BSBottom;
@@ -152,14 +251,112 @@ void RenderMultiColumnSet::paintColumnRules(PaintInfo& paintInfo, const LayoutPo
}
}
-void RenderMultiColumnSet::paintColumnContents(PaintInfo& /* paintInfo */, const LayoutPoint& /* paintOffset */)
+void RenderMultiColumnSet::paintColumnContents(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
{
// For each rectangle, set it as the region rectangle and then let flow thread painting do the rest.
- // We make multiple calls to paintIntoRegion, changing the rectangles each time.
- if (!columnCount())
+ // We make multiple calls to paintFlowThreadPortionInRegion, changing the rectangles each time.
+ unsigned colCount = columnCount();
+ if (!colCount)
return;
+
+ LayoutUnit colGap = columnGap();
+ for (unsigned i = 0; i < colCount; i++) {
+ // First we get the column rect, which is in our local coordinate space, and we make it physical and apply
+ // the paint offset to it. That gives us the physical location that we want to paint the column at.
+ LayoutRect colRect = columnRectAt(i);
+ flipForWritingMode(colRect);
+ colRect.moveBy(paintOffset);
+
+ // Next we get the portion of the flow thread that corresponds to this column.
+ LayoutRect flowThreadPortion = flowThreadPortionRectAt(i);
+
+ // Now get the overflow rect that corresponds to the column.
+ LayoutRect flowThreadOverflowPortion = flowThreadPortionOverflowRect(flowThreadPortion, i, colCount, colGap);
+
+ // Do the paint with the computed rects.
+ flowThread()->paintFlowThreadPortionInRegion(paintInfo, this, flowThreadPortion, flowThreadOverflowPortion, colRect.location());
+ }
+}
+
+bool RenderMultiColumnSet::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+{
+ LayoutPoint adjustedLocation = accumulatedOffset + location();
+
+ // Check our bounds next. For this purpose always assume that we can only be hit in the
+ // foreground phase (which is true for replaced elements like images).
+ // FIXME: Once we support overflow, we need to intersect with that and not with the bounds rect.
+ LayoutRect boundsRect = borderBoxRectInRegion(locationInContainer.region());
+ boundsRect.moveBy(adjustedLocation);
+ if (!visibleToHitTesting() || action != HitTestForeground || !locationInContainer.intersects(boundsRect))
+ return false;
+
+ // The point is in one specific column. Since columns can't overlap, we don't ever have to test
+ // multiple columns. Put the
+
+ // FIXME: It would be nice to jump right to the specific column by just doing math on the point. Since columns
+ // can't overlap, we shouldn't have to walk every column like this. The old column code walked all the columns, though,
+ // so this is no worse. We'd have to watch out for rect-based hit testing, though, which actually could overlap
+ // multiple columns.
+ LayoutUnit colGap = columnGap();
+ unsigned colCount = columnCount();
+ for (unsigned i = 0; i < colCount; i++) {
+ // First we get the column rect, which is in our local coordinate space, and we make it physical and apply
+ // the hit test offset to it. That gives us the physical location that we want to paint the column at.
+ LayoutRect colRect = columnRectAt(i);
+ flipForWritingMode(colRect);
+ colRect.moveBy(adjustedLocation);
+
+ // Next we get the portion of the flow thread that corresponds to this column.
+ LayoutRect flowThreadPortion = flowThreadPortionRectAt(i);
- // FIXME: Implement.
+ // Now get the overflow rect that corresponds to the column.
+ LayoutRect flowThreadOverflowPortion = flowThreadPortionOverflowRect(flowThreadPortion, i, colCount, colGap);
+
+ // Do the hit test with the computed rects.
+ if (flowThread()->hitTestFlowThreadPortionInRegion(this, flowThreadPortion, flowThreadOverflowPortion, request, result, locationInContainer, colRect.location()))
+ return true;
+ }
+
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
+ return !result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect);
+}
+
+void RenderMultiColumnSet::repaintFlowThreadContent(const LayoutRect& repaintRect, bool immediate) const
+{
+ // Figure out the start and end columns and only check within that range so that we don't walk the
+ // entire column set. Put the repaint rect into flow thread coordinates by flipping it first.
+ LayoutRect flowThreadRepaintRect(repaintRect);
+ flowThread()->flipForWritingMode(flowThreadRepaintRect);
+
+ // Now we can compare this rect with the flow thread portions owned by each column. First let's
+ // just see if the repaint rect intersects our flow thread portion at all.
+ LayoutRect clippedRect(flowThreadRepaintRect);
+ clippedRect.intersect(RenderRegion::flowThreadPortionOverflowRect());
+ if (clippedRect.isEmpty())
+ return;
+
+ // Now we know we intersect at least one column. Let's figure out the logical top and logical
+ // bottom of the area we're repainting.
+ LayoutUnit repaintLogicalTop = isHorizontalWritingMode() ? flowThreadRepaintRect.y() : flowThreadRepaintRect.x();
+ LayoutUnit repaintLogicalBottom = (isHorizontalWritingMode() ? flowThreadRepaintRect.maxY() : flowThreadRepaintRect.maxX()) - 1;
+
+ unsigned startColumn = columnIndexAtOffset(repaintLogicalTop);
+ unsigned endColumn = columnIndexAtOffset(repaintLogicalBottom);
+
+ LayoutUnit colGap = columnGap();
+ unsigned colCount = columnCount();
+ for (unsigned i = startColumn; i <= endColumn; i++) {
+ LayoutRect colRect = columnRectAt(i);
+
+ // Get the portion of the flow thread that corresponds to this column.
+ LayoutRect flowThreadPortion = flowThreadPortionRectAt(i);
+
+ // Now get the overflow rect that corresponds to the column.
+ LayoutRect flowThreadOverflowPortion = flowThreadPortionOverflowRect(flowThreadPortion, i, colCount, colGap);
+
+ // Do a repaint for this specific column.
+ repaintFlowThreadContentRectangle(repaintRect, immediate, flowThreadPortion, flowThreadOverflowPortion, colRect.location());
+ }
}
const char* RenderMultiColumnSet::renderName() const
diff --git a/Source/WebCore/rendering/RenderMultiColumnSet.h b/Source/WebCore/rendering/RenderMultiColumnSet.h
index b9a9da054..a0d1c4536 100644
--- a/Source/WebCore/rendering/RenderMultiColumnSet.h
+++ b/Source/WebCore/rendering/RenderMultiColumnSet.h
@@ -47,18 +47,18 @@ public:
virtual bool isRenderMultiColumnSet() const OVERRIDE { return true; }
- unsigned columnCount() const { return m_columnCount; }
- LayoutUnit columnWidth() const { return m_columnWidth; }
- LayoutUnit columnHeight() const { return m_columnHeight; }
+ unsigned computedColumnCount() const { return m_computedColumnCount; }
+ LayoutUnit computedColumnWidth() const { return m_computedColumnWidth; }
+ LayoutUnit computedColumnHeight() const { return m_computedColumnHeight; }
- void setColumnWidthAndCount(LayoutUnit width, unsigned count)
+ void setComputedColumnWidthAndCount(LayoutUnit width, unsigned count)
{
- m_columnWidth = width;
- m_columnCount = count;
+ m_computedColumnWidth = width;
+ m_computedColumnCount = count;
}
- void setColumnHeight(LayoutUnit height)
+ void setComputedColumnHeight(LayoutUnit height)
{
- m_columnHeight = height;
+ m_computedColumnHeight = height;
}
private:
@@ -66,9 +66,17 @@ private:
virtual void computeLogicalHeight() OVERRIDE;
virtual void paintReplaced(PaintInfo&, const LayoutPoint& paintOffset) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
- virtual LayoutUnit logicalWidthForFlowThreadContent() const OVERRIDE { return m_columnWidth; }
- virtual LayoutUnit logicalHeightForFlowThreadContent() const OVERRIDE { return m_columnHeight; } // FIXME: Will be wrong once we have multiple sets.
+ virtual LayoutUnit pageLogicalWidth() const OVERRIDE { return m_computedColumnWidth; }
+ virtual LayoutUnit pageLogicalHeight() const OVERRIDE { return m_computedColumnHeight; }
+
+ virtual LayoutUnit pageLogicalTopForOffset(LayoutUnit offset) const OVERRIDE;
+
+ // FIXME: This will change once we have column sets constrained by enclosing pages, etc.
+ virtual LayoutUnit logicalHeightOfAllFlowThreadContent() const OVERRIDE { return m_computedColumnHeight; }
+
+ virtual void repaintFlowThreadContent(const LayoutRect& repaintRect, bool immediate) const OVERRIDE;
virtual const char* renderName() const;
@@ -76,11 +84,17 @@ private:
void paintColumnContents(PaintInfo&, const LayoutPoint& paintOffset);
LayoutUnit columnGap() const;
- LayoutRect columnRectAt( unsigned index) const;
+ LayoutRect columnRectAt(unsigned index) const;
+ unsigned columnCount() const;
+
+ LayoutRect flowThreadPortionRectAt(unsigned index) const;
+ LayoutRect flowThreadPortionOverflowRect(const LayoutRect& flowThreadPortion, unsigned index, unsigned colCount, int colGap) const;
+
+ unsigned columnIndexAtOffset(LayoutUnit) const;
- unsigned m_columnCount;
- LayoutUnit m_columnWidth;
- LayoutUnit m_columnHeight;
+ unsigned m_computedColumnCount;
+ LayoutUnit m_computedColumnWidth;
+ LayoutUnit m_computedColumnHeight;
};
} // namespace WebCore
diff --git a/Source/WebCore/rendering/RenderNamedFlowThread.cpp b/Source/WebCore/rendering/RenderNamedFlowThread.cpp
index 5b02453e4..4e83cca9e 100644
--- a/Source/WebCore/rendering/RenderNamedFlowThread.cpp
+++ b/Source/WebCore/rendering/RenderNamedFlowThread.cpp
@@ -38,18 +38,37 @@ RenderNamedFlowThread::RenderNamedFlowThread(Node* node, PassRefPtr<WebKitNamedF
, m_namedFlow(namedFlow)
, m_regionLayoutUpdateEventTimer(this, &RenderNamedFlowThread::regionLayoutUpdateEventTimerFired)
{
- m_namedFlow->setRenderer(this);
}
RenderNamedFlowThread::~RenderNamedFlowThread()
{
- m_namedFlow->setRenderer(0);
+ // The flow thread can be destroyed without unregistering the content nodes if the document is destroyed.
+ // This can lead to problems because the nodes are still marked as belonging to a flow thread.
+ clearContentNodes();
+
+ // Also leave the NamedFlow object in a consistent state by calling mark for destruction.
+ setMarkForDestruction();
}
const char* RenderNamedFlowThread::renderName() const
{
return "RenderNamedFlowThread";
}
+
+void RenderNamedFlowThread::clearContentNodes()
+{
+ for (NamedFlowContentNodes::iterator it = m_contentNodes.begin(); it != m_contentNodes.end(); ++it) {
+ Node* contentNode = *it;
+
+ ASSERT(contentNode && contentNode->isElementNode());
+ ASSERT(contentNode->inNamedFlow());
+ ASSERT(contentNode->document() == document());
+
+ contentNode->clearInNamedFlow();
+ }
+
+ m_contentNodes.clear();
+}
RenderObject* RenderNamedFlowThread::nextRendererForNode(Node* node) const
{
@@ -135,12 +154,45 @@ static bool compareRenderRegions(const RenderRegion* firstRegion, const RenderRe
ASSERT(firstRegion);
ASSERT(secondRegion);
- // If the regions have the same region-index, compare their position in dom.
- ASSERT(firstRegion->node());
- ASSERT(secondRegion->node());
+ ASSERT(firstRegion->generatingNode());
+ ASSERT(secondRegion->generatingNode());
+
+ // If the regions belong to different nodes, compare their position in the DOM.
+ if (firstRegion->generatingNode() != secondRegion->generatingNode()) {
+ unsigned short position = firstRegion->generatingNode()->compareDocumentPosition(secondRegion->generatingNode());
- unsigned short position = firstRegion->node()->compareDocumentPosition(secondRegion->node());
- return (position & Node::DOCUMENT_POSITION_FOLLOWING);
+ // If the second region is contained in the first one, the first region is "less" if it's :before.
+ if (position & Node::DOCUMENT_POSITION_CONTAINED_BY) {
+ ASSERT(secondRegion->style()->styleType() == NOPSEUDO);
+ return firstRegion->style()->styleType() == BEFORE;
+ }
+
+ // If the second region contains the first region, the first region is "less" if the second is :after.
+ if (position & Node::DOCUMENT_POSITION_CONTAINS) {
+ ASSERT(firstRegion->style()->styleType() == NOPSEUDO);
+ return secondRegion->style()->styleType() == AFTER;
+ }
+
+ return (position & Node::DOCUMENT_POSITION_FOLLOWING);
+ }
+
+ // FIXME: Currently it's not possible for an element to be both a region and have pseudo-children. The case is covered anyway.
+ switch (firstRegion->style()->styleType()) {
+ case BEFORE:
+ // The second region can be the node or the after pseudo-element (before is smaller than any of those).
+ return true;
+ case AFTER:
+ // The second region can be the node or the before pseudo-element (after is greater than any of those).
+ return false;
+ case NOPSEUDO:
+ // The second region can either be the before or the after pseudo-element (the node is only smaller than the after pseudo-element).
+ return firstRegion->style()->styleType() == AFTER;
+ default:
+ break;
+ }
+
+ ASSERT_NOT_REACHED();
+ return true;
}
void RenderNamedFlowThread::addRegionToThread(RenderRegion* renderRegion)
@@ -156,6 +208,8 @@ void RenderNamedFlowThread::addRegionToThread(RenderRegion* renderRegion)
m_regionList.insertBefore(it, renderRegion);
}
+ resetMarkForDestruction();
+
ASSERT(!renderRegion->isValid());
if (renderRegion->parentNamedFlowThread()) {
if (renderRegion->parentNamedFlowThread()->dependsOn(this)) {
@@ -188,10 +242,8 @@ void RenderNamedFlowThread::removeRegionFromThread(RenderRegion* renderRegion)
removeDependencyOnFlowThread(renderRegion->parentNamedFlowThread());
}
- if (canBeDestroyed()) {
- destroy();
- return;
- }
+ if (canBeDestroyed())
+ setMarkForDestruction();
// After removing all the regions in the flow the following layout needs to dispatch the regionLayoutUpdate event
if (m_regionList.isEmpty())
@@ -265,9 +317,12 @@ void RenderNamedFlowThread::pushDependencies(RenderNamedFlowThreadList& list)
void RenderNamedFlowThread::registerNamedFlowContentNode(Node* contentNode)
{
ASSERT(contentNode && contentNode->isElementNode());
+ ASSERT(contentNode->document() == document());
contentNode->setInNamedFlow();
+ resetMarkForDestruction();
+
// Find the first content node following the new content node.
for (NamedFlowContentNodes::iterator it = m_contentNodes.begin(); it != m_contentNodes.end(); ++it) {
Node* node = *it;
@@ -285,12 +340,13 @@ void RenderNamedFlowThread::unregisterNamedFlowContentNode(Node* contentNode)
ASSERT(contentNode && contentNode->isElementNode());
ASSERT(m_contentNodes.contains(contentNode));
ASSERT(contentNode->inNamedFlow());
+ ASSERT(contentNode->document() == document());
contentNode->clearInNamedFlow();
m_contentNodes.remove(contentNode);
if (canBeDestroyed())
- destroy();
+ setMarkForDestruction();
}
const AtomicString& RenderNamedFlowThread::flowThreadName() const
@@ -298,14 +354,6 @@ const AtomicString& RenderNamedFlowThread::flowThreadName() const
return m_namedFlow->name();
}
-void RenderNamedFlowThread::willBeDestroyed()
-{
- if (!documentBeingDestroyed())
- view()->flowThreadController()->removeFlowThread(this);
-
- RenderFlowThread::willBeDestroyed();
-}
-
void RenderNamedFlowThread::dispatchRegionLayoutUpdateEvent()
{
RenderFlowThread::dispatchRegionLayoutUpdateEvent();
@@ -321,4 +369,28 @@ void RenderNamedFlowThread::regionLayoutUpdateEventTimerFired(Timer<RenderNamedF
m_namedFlow->dispatchRegionLayoutUpdateEvent();
}
+void RenderNamedFlowThread::setMarkForDestruction()
+{
+ if (m_namedFlow->flowState() == WebKitNamedFlow::FlowStateNull)
+ return;
+
+ m_namedFlow->setRenderer(0);
+ // After this call ends, the renderer can be safely destroyed.
+ // The NamedFlow object may outlive its renderer if it's referenced from a script and may be reatached to one if the named flow is recreated in the stylesheet.
+}
+
+void RenderNamedFlowThread::resetMarkForDestruction()
+{
+ if (m_namedFlow->flowState() == WebKitNamedFlow::FlowStateCreated)
+ return;
+
+ m_namedFlow->setRenderer(this);
+}
+
+bool RenderNamedFlowThread::isMarkedForDestruction() const
+{
+ // Flow threads in the "NULL" state can be destroyed.
+ return m_namedFlow->flowState() == WebKitNamedFlow::FlowStateNull;
+}
+
}
diff --git a/Source/WebCore/rendering/RenderNamedFlowThread.h b/Source/WebCore/rendering/RenderNamedFlowThread.h
index 4101b771e..a8b8b5131 100644
--- a/Source/WebCore/rendering/RenderNamedFlowThread.h
+++ b/Source/WebCore/rendering/RenderNamedFlowThread.h
@@ -69,9 +69,11 @@ public:
void unregisterNamedFlowContentNode(Node*);
const NamedFlowContentNodes& contentNodes() const { return m_contentNodes; }
bool hasContentNode(Node* contentNode) const { ASSERT(contentNode); return m_contentNodes.contains(contentNode); }
+ bool isMarkedForDestruction() const;
protected:
- virtual void willBeDestroyed() OVERRIDE;
+ void setMarkForDestruction();
+ void resetMarkForDestruction();
private:
virtual const char* renderName() const OVERRIDE;
@@ -85,6 +87,7 @@ private:
void checkInvalidRegions();
bool canBeDestroyed() const { return m_regionList.isEmpty() && m_contentNodes.isEmpty(); }
void regionLayoutUpdateEventTimerFired(Timer<RenderNamedFlowThread>*);
+ void clearContentNodes();
private:
// Observer flow threads have invalid regions that depend on the state of this thread
diff --git a/Source/WebCore/rendering/RenderObject.cpp b/Source/WebCore/rendering/RenderObject.cpp
index 933a559c4..8bfd9f74d 100755
--- a/Source/WebCore/rendering/RenderObject.cpp
+++ b/Source/WebCore/rendering/RenderObject.cpp
@@ -185,11 +185,9 @@ RenderObject* RenderObject::createObject(Node* node, RenderStyle* style)
case BOX:
case INLINE_BOX:
return new (arena) RenderDeprecatedFlexibleBox(node);
-#if ENABLE(CSS3_FLEXBOX)
case FLEX:
case INLINE_FLEX:
return new (arena) RenderFlexibleBox(node);
-#endif
case GRID:
case INLINE_GRID:
return new (arena) RenderGrid(node);
@@ -640,9 +638,9 @@ void RenderObject::markContainingBlocksForLayout(bool scheduleRelayout, RenderOb
if (!container && !object->isRenderView())
return;
if (!last->isText() && last->style()->hasOutOfFlowPosition()) {
- bool willSkipRelativelyPositionedInlines = !object->isRenderBlock() || object->isAnonymousBlock() || object->isRenderFlowThreadContainer();
- // Skip relatively positioned inlines and anonymous blocks (and the flow threads container) to get to the enclosing RenderBlock.
- while (object && (!object->isRenderBlock() || object->isAnonymousBlock() || object->isRenderFlowThreadContainer()))
+ bool willSkipRelativelyPositionedInlines = !object->isRenderBlock() || object->isAnonymousBlock();
+ // Skip relatively positioned inlines and anonymous blocks to get to the enclosing RenderBlock.
+ while (object && (!object->isRenderBlock() || object->isAnonymousBlock()))
object = object->container();
if (!object || object->posChildNeedsLayout())
return;
@@ -1279,7 +1277,7 @@ RenderBoxModelObject* RenderObject::containerForRepaint() const
return repaintContainer;
}
-void RenderObject::repaintUsingContainer(RenderBoxModelObject* repaintContainer, const LayoutRect& r, bool immediate)
+void RenderObject::repaintUsingContainer(RenderBoxModelObject* repaintContainer, const LayoutRect& r, bool immediate) const
{
if (!repaintContainer) {
view()->repaintViewRectangle(r, immediate);
@@ -1322,7 +1320,7 @@ void RenderObject::repaintUsingContainer(RenderBoxModelObject* repaintContainer,
#endif
}
-void RenderObject::repaint(bool immediate)
+void RenderObject::repaint(bool immediate) const
{
// Don't repaint if we're unrooted (note that view() still returns the view when unrooted)
RenderView* view;
@@ -1336,7 +1334,7 @@ void RenderObject::repaint(bool immediate)
repaintUsingContainer(repaintContainer ? repaintContainer : view, clippedOverflowRectForRepaint(repaintContainer), immediate);
}
-void RenderObject::repaintRectangle(const LayoutRect& r, bool immediate)
+void RenderObject::repaintRectangle(const LayoutRect& r, bool immediate) const
{
// Don't repaint if we're unrooted (note that view() still returns the view when unrooted)
RenderView* view;
@@ -1853,7 +1851,7 @@ void RenderObject::styleWillChange(StyleDifference diff, const RenderStyle* newS
toRenderBox(this)->removeFloatingOrPositionedChildFromBlockLists();
s_affectsParentBlock = isFloatingOrOutOfFlowPositioned()
- && (!newStyle->isFloating() && newStyle->position() != AbsolutePosition && newStyle->position() != FixedPosition)
+ && (!newStyle->isFloating() && !newStyle->hasOutOfFlowPosition())
&& parent() && (parent()->isBlockFlow() || parent()->isRenderInline());
// reset style flags
@@ -1861,6 +1859,7 @@ void RenderObject::styleWillChange(StyleDifference diff, const RenderStyle* newS
setFloating(false);
setPositioned(false);
setRelPositioned(false);
+ setStickyPositioned(false);
}
setHorizontalWritingMode(true);
setPaintBackground(false);
@@ -1966,9 +1965,9 @@ void RenderObject::propagateStyleToAnonymousChildren(bool blockChildrenOnly)
newStyle->setColumnSpan(ColumnSpanAll);
}
- // Preserve the position style of anonymous block continuations as they can have relative position when
- // they contain block descendants of relative positioned inlines.
- if (child->isRelPositioned() && toRenderBlock(child)->isAnonymousBlockContinuation())
+ // Preserve the position style of anonymous block continuations as they can have relative or sticky position when
+ // they contain block descendants of relative or sticky positioned inlines.
+ if (child->isInFlowPositioned() && toRenderBlock(child)->isAnonymousBlockContinuation())
newStyle->setPosition(child->style()->position());
child->setStyle(newStyle.release());
@@ -2200,9 +2199,9 @@ LayoutRect RenderObject::localCaretRect(InlineBox*, int, LayoutUnit* extraWidthT
return LayoutRect();
}
-bool RenderObject::isRooted(RenderView** view)
+bool RenderObject::isRooted(RenderView** view) const
{
- RenderObject* o = this;
+ const RenderObject* o = this;
while (o->parent())
o = o->parent();
@@ -2210,7 +2209,7 @@ bool RenderObject::isRooted(RenderView** view)
return false;
if (view)
- *view = toRenderView(o);
+ *view = const_cast<RenderView*>(toRenderView(o));
return true;
}
@@ -2534,25 +2533,25 @@ bool RenderObject::isComposited() const
return hasLayer() && toRenderBoxModelObject(this)->layer()->isComposited();
}
-bool RenderObject::hitTest(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter hitTestFilter)
+bool RenderObject::hitTest(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter hitTestFilter)
{
bool inside = false;
if (hitTestFilter != HitTestSelf) {
// First test the foreground layer (lines and inlines).
- inside = nodeAtPoint(request, result, pointInContainer, accumulatedOffset, HitTestForeground);
+ inside = nodeAtPoint(request, result, locationInContainer, accumulatedOffset, HitTestForeground);
// Test floats next.
if (!inside)
- inside = nodeAtPoint(request, result, pointInContainer, accumulatedOffset, HitTestFloat);
+ inside = nodeAtPoint(request, result, locationInContainer, accumulatedOffset, HitTestFloat);
// Finally test to see if the mouse is in the background (within a child block's background).
if (!inside)
- inside = nodeAtPoint(request, result, pointInContainer, accumulatedOffset, HitTestChildBlockBackgrounds);
+ inside = nodeAtPoint(request, result, locationInContainer, accumulatedOffset, HitTestChildBlockBackgrounds);
}
// See if the mouse is inside us but not any of our descendants
if (hitTestFilter != HitTestDescendants && !inside)
- inside = nodeAtPoint(request, result, pointInContainer, accumulatedOffset, HitTestBlockBackground);
+ inside = nodeAtPoint(request, result, locationInContainer, accumulatedOffset, HitTestBlockBackground);
return inside;
}
@@ -2571,7 +2570,7 @@ void RenderObject::updateHitTestResult(HitTestResult& result, const LayoutPoint&
}
}
-bool RenderObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& /*pointInContainer*/, const LayoutPoint& /*accumulatedOffset*/, HitTestAction)
+bool RenderObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& /*locationInContainer*/, const LayoutPoint& /*accumulatedOffset*/, HitTestAction)
{
return false;
}
@@ -2898,10 +2897,10 @@ RenderBoxModelObject* RenderObject::offsetParent() const
// is one of the following HTML elements: td, th, or table.
// * Our own extension: if there is a difference in the effective zoom
- bool skipTables = isOutOfFlowPositioned() || isRelPositioned();
+ bool skipTables = isPositioned();
float currZoom = style()->effectiveZoom();
RenderObject* curr = parent();
- while (curr && (!curr->node() || (!curr->isOutOfFlowPositioned() && !curr->isRelPositioned() && !curr->isBody()))) {
+ while (curr && (!curr->node() || (!curr->isPositioned() && !curr->isBody()))) {
Node* element = curr->node();
if (!skipTables && element && (element->hasTagName(tableTag) || element->hasTagName(tdTag) || element->hasTagName(thTag)))
break;
diff --git a/Source/WebCore/rendering/RenderObject.h b/Source/WebCore/rendering/RenderObject.h
index 05ccea48d..b6aa16e19 100644
--- a/Source/WebCore/rendering/RenderObject.h
+++ b/Source/WebCore/rendering/RenderObject.h
@@ -46,7 +46,7 @@ class AffineTransform;
class AnimationController;
class Cursor;
class Document;
-class HitTestPoint;
+class HitTestLocation;
class HitTestResult;
class InlineBox;
class InlineFlowBox;
@@ -311,6 +311,9 @@ public:
virtual bool isBlockFlow() const { return false; }
virtual bool isBoxModelObject() const { return false; }
virtual bool isCounter() const { return false; }
+#if ENABLE(DIALOG_ELEMENT)
+ virtual bool isDialog() const { return false; }
+#endif
virtual bool isQuote() const { return false; }
#if ENABLE(DETAILS_ELEMENT)
@@ -369,7 +372,6 @@ public:
#endif
virtual bool isRenderFlowThread() const { return false; }
- virtual bool isRenderFlowThreadContainer() const { return false; }
virtual bool isRenderNamedFlowThread() const { return false; }
virtual bool isRenderMultiColumnBlock() const { return false; }
@@ -513,8 +515,10 @@ public:
bool isFloating() const { return m_bitfields.floating(); }
bool isOutOfFlowPositioned() const { return m_bitfields.positioned(); } // absolute or fixed positioning
- bool isInFlowPositioned() const { return m_bitfields.relPositioned(); } // relative positioning
+ bool isInFlowPositioned() const { return m_bitfields.relPositioned() || m_bitfields.stickyPositioned(); } // relative or sticky positioning
bool isRelPositioned() const { return m_bitfields.relPositioned(); } // relative positioning
+ bool isStickyPositioned() const { return m_bitfields.stickyPositioned(); }
+ bool isPositioned() const { return m_bitfields.positioned() || m_bitfields.relPositioned() || m_bitfields.stickyPositioned(); }
bool isText() const { return m_bitfields.isText(); }
bool isBox() const { return m_bitfields.isBox(); }
@@ -558,6 +562,7 @@ public:
bool hasTransform() const { return m_bitfields.hasTransform(); }
bool hasMask() const { return style() && style()->hasMask(); }
+ bool hasClipPath() const { return style() && style()->clipPath(); }
bool hasHiddenBackface() const { return style() && style()->backfaceVisibility() == BackfaceVisibilityHidden; }
#if ENABLE(CSS_FILTERS)
@@ -566,6 +571,12 @@ public:
bool hasFilter() const { return false; }
#endif
+#if ENABLE(CSS_COMPOSITING)
+ bool hasBlendMode() const { return style() && style()->hasBlendMode(); }
+#else
+ bool hasBlendMode() const { return false; }
+#endif
+
inline bool preservesNewline() const;
// The pseudo element style can be cached or uncached. Use the cached method if the pseudo element doesn't respect
@@ -579,7 +590,7 @@ public:
RenderView* view() const;
// Returns true if this renderer is rooted, and optionally returns the hosting view (the root of the hierarchy).
- bool isRooted(RenderView** = 0);
+ bool isRooted(RenderView** = 0) const;
Node* node() const { return isAnonymous() ? 0 : m_node; }
@@ -621,6 +632,7 @@ public:
void setPositioned(bool b = true) { m_bitfields.setPositioned(b); }
void setRelPositioned(bool b = true) { m_bitfields.setRelPositioned(b); }
+ void setStickyPositioned(bool b = true) { m_bitfields.setStickyPositioned(b); }
void setFloating(bool b = true) { m_bitfields.setFloating(b); }
void setInline(bool b = true) { m_bitfields.setIsInline(b); }
void setHasBoxDecorations(bool b = true) { m_bitfields.setPaintBackground(b); }
@@ -657,9 +669,9 @@ public:
bool isComposited() const;
- bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTestAll);
+ bool hitTest(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter = HitTestAll);
virtual void updateHitTestResult(HitTestResult&, const LayoutPoint&);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction);
virtual VisiblePosition positionForPoint(const LayoutPoint&);
VisiblePosition createVisiblePosition(int offset, EAffinity);
@@ -744,14 +756,14 @@ public:
RenderBoxModelObject* containerForRepaint() const;
// Actually do the repaint of rect r for this object which has been computed in the coordinate space
// of repaintContainer. If repaintContainer is 0, repaint via the view.
- void repaintUsingContainer(RenderBoxModelObject* repaintContainer, const LayoutRect&, bool immediate = false);
+ void repaintUsingContainer(RenderBoxModelObject* repaintContainer, const LayoutRect&, bool immediate = false) const;
// Repaint the entire object. Called when, e.g., the color of a border changes, or when a border
// style changes.
- void repaint(bool immediate = false);
+ void repaint(bool immediate = false) const;
// Repaint a specific subrectangle within a given object. The rect |r| is in the object's coordinate space.
- void repaintRectangle(const LayoutRect&, bool immediate = false);
+ void repaintRectangle(const LayoutRect&, bool immediate = false) const;
// Repaint only if our old bounds and new bounds are different. The caller may pass in newBounds and newOutlineBox if they are known.
bool repaintAfterLayoutIfNeeded(RenderBoxModelObject* repaintContainer, const LayoutRect& oldBounds, const LayoutRect& oldOutlineBox, const LayoutRect* newBoundsPtr = 0, const LayoutRect* newOutlineBoxPtr = 0);
@@ -903,6 +915,9 @@ public:
bool shouldUseTransformFromContainer(const RenderObject* container) const;
void getTransformFromContainer(const RenderObject* container, const LayoutSize& offsetInContainer, TransformationMatrix&) const;
+ // return true if this object requires a new stacking context
+ bool createsGroup() const { return isTransparent() || hasMask() || hasFilter() || hasBlendMode(); }
+
virtual void addFocusRingRects(Vector<IntRect>&, const LayoutPoint&) { };
LayoutRect absoluteOutlineBounds() const
@@ -930,7 +945,7 @@ protected:
void paintFocusRing(GraphicsContext*, const LayoutPoint&, RenderStyle*);
void paintOutline(GraphicsContext*, const LayoutRect&);
void addPDFURLRect(GraphicsContext*, const LayoutRect&);
-
+
virtual LayoutRect viewRect() const;
void adjustRectForOutlineAndShadow(LayoutRect&) const;
@@ -990,6 +1005,7 @@ private:
, m_floating(false)
, m_positioned(false)
, m_relPositioned(false)
+ , m_stickyPositioned(false)
, m_paintBackground(false)
, m_isAnonymous(node == node->document())
, m_isText(false)
@@ -1024,6 +1040,7 @@ private:
ADD_BOOLEAN_BITFIELD(positioned, Positioned);
ADD_BOOLEAN_BITFIELD(relPositioned, RelPositioned);
+ ADD_BOOLEAN_BITFIELD(stickyPositioned, StickyPositioned);
ADD_BOOLEAN_BITFIELD(paintBackground, PaintBackground); // if the box has something to paint in the
// background painting phase (background, border, etc)
diff --git a/Source/WebCore/rendering/RenderObjectChildList.cpp b/Source/WebCore/rendering/RenderObjectChildList.cpp
index 98a287627..247f7dda4 100644
--- a/Source/WebCore/rendering/RenderObjectChildList.cpp
+++ b/Source/WebCore/rendering/RenderObjectChildList.cpp
@@ -85,9 +85,6 @@ RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, Render
if (oldChild->isBox())
toRenderBox(oldChild)->deleteLineBoxWrapper();
- if (!owner->documentBeingDestroyed() && notifyRenderer)
- oldChild->willBeRemovedFromTree();
-
// If oldChild is the start or end of the selection, then clear the selection to
// avoid problems of invalid pointers.
// FIXME: The FrameSelection should be responsible for this when it
@@ -95,7 +92,13 @@ RenderObject* RenderObjectChildList::removeChildNode(RenderObject* owner, Render
if (!owner->documentBeingDestroyed() && oldChild->isSelectionBorder())
owner->view()->clearSelection();
- // remove the child
+ if (!owner->documentBeingDestroyed() && notifyRenderer)
+ oldChild->willBeRemovedFromTree();
+
+ // WARNING: There should be no code running between willBeRemovedFromTree and the actual removal below.
+ // This is needed to avoid race conditions where willBeRemovedFromTree would dirty the tree's structure
+ // and the code running here would force an untimely rebuilding, leaving |oldChild| dangling.
+
if (oldChild->previousSibling())
oldChild->previousSibling()->setNextSibling(oldChild->nextSibling());
if (oldChild->nextSibling())
@@ -337,6 +340,32 @@ static RenderObject* createRendererForBeforeAfterContent(RenderObject* owner, co
return renderer;
}
+static RenderObject* ensureBeforeAfterContainer(RenderObject* owner, PseudoId type, RenderStyle* pseudoElementStyle, Node* generatingNode, RenderObject* insertBefore)
+{
+ // Make a generated box that might be any display type now that we are able to drill down into children
+ // to find the original content properly.
+ RenderObject* generatedContentContainer = RenderObject::createObject(owner->document(), pseudoElementStyle);
+ ASSERT(generatingNode); // The styled object cannot be anonymous or else it could not have ':before' or ':after' pseudo elements.
+ generatedContentContainer->setNode(generatingNode); // This allows access to the generatingNode.
+ generatedContentContainer->setStyle(pseudoElementStyle);
+ if (!owner->isChildAllowed(generatedContentContainer, pseudoElementStyle)) {
+ // The generated content container is not allowed here -> abort.
+ generatedContentContainer->destroy();
+ return 0;
+ }
+
+ // When we don't have a first child and are part of a continuation chain,
+ // insertBefore is incorrectly set to zero above, which causes the :before
+ // child to end up at the end of continuation chain.
+ // See https://bugs.webkit.org/show_bug.cgi?id=78380.
+ if (!insertBefore && type == BEFORE && owner->virtualContinuation())
+ owner->addChildIgnoringContinuation(generatedContentContainer, 0);
+ else
+ owner->addChild(generatedContentContainer, insertBefore);
+
+ return generatedContentContainer;
+}
+
void RenderObjectChildList::updateBeforeAfterContent(RenderObject* owner, PseudoId type, const RenderObject* styledObject)
{
// Double check that the document did in fact use generated content rules. Otherwise we should not have been called.
@@ -426,41 +455,30 @@ void RenderObjectChildList::updateBeforeAfterContent(RenderObject* owner, Pseudo
insertBefore = insertBefore->nextSibling();
// Generated content consists of a single container that houses multiple children (specified
- // by the content property). This generated content container gets the pseudo-element style set on it.
+ // by the content property). This generated content container gets the pseudo-element style set on it.
+ // For pseudo-elements that are regions, the container is the RenderRegion.
RenderObject* generatedContentContainer = 0;
- // Walk our list of generated content and create render objects for each.
- for (const ContentData* content = pseudoElementStyle->contentData(); content; content = content->next()) {
- RenderObject* renderer = createRendererForBeforeAfterContent(owner, content, pseudoElementStyle);
-
- if (renderer) {
- if (!generatedContentContainer) {
- // Make a generated box that might be any display type now that we are able to drill down into children
- // to find the original content properly.
- generatedContentContainer = RenderObject::createObject(owner->document(), pseudoElementStyle);
- ASSERT(styledObject->node()); // The styled object cannot be anonymous or else it could not have ':before' or ':after' pseudo elements.
- generatedContentContainer->setNode(styledObject->node()); // This allows access to the generatingNode.
- generatedContentContainer->setStyle(pseudoElementStyle);
- if (!owner->isChildAllowed(generatedContentContainer, pseudoElementStyle)) {
- // The generated content container is not allowed here -> abort.
- generatedContentContainer->destroy();
- renderer->destroy();
- return;
+ if (!pseudoElementStyle->regionThread().isEmpty())
+ generatedContentContainer = ensureBeforeAfterContainer(owner, type, pseudoElementStyle, styledObject->node(), insertBefore);
+ else {
+ // Walk our list of generated content and create render objects for each.
+ for (const ContentData* content = pseudoElementStyle->contentData(); content; content = content->next()) {
+ RenderObject* renderer = createRendererForBeforeAfterContent(owner, content, pseudoElementStyle);
+
+ if (renderer) {
+ if (!generatedContentContainer) {
+ generatedContentContainer = ensureBeforeAfterContainer(owner, type, pseudoElementStyle, styledObject->node(), insertBefore);
+ if (!generatedContentContainer) {
+ renderer->destroy();
+ return;
+ }
}
-
- // When we don't have a first child and are part of a continuation chain,
- // insertBefore is incorrectly set to zero above, which causes the :before
- // child to end up at the end of continuation chain.
- // See https://bugs.webkit.org/show_bug.cgi?id=78380.
- if (!insertBefore && type == BEFORE && owner->virtualContinuation())
- owner->addChildIgnoringContinuation(generatedContentContainer, 0);
+ if (generatedContentContainer->isChildAllowed(renderer, pseudoElementStyle))
+ generatedContentContainer->addChild(renderer);
else
- owner->addChild(generatedContentContainer, insertBefore);
+ renderer->destroy();
}
- if (generatedContentContainer->isChildAllowed(renderer, pseudoElementStyle))
- generatedContentContainer->addChild(renderer);
- else
- renderer->destroy();
}
}
diff --git a/Source/WebCore/rendering/RenderQuote.cpp b/Source/WebCore/rendering/RenderQuote.cpp
index 679e55ba4..da16df5aa 100644
--- a/Source/WebCore/rendering/RenderQuote.cpp
+++ b/Source/WebCore/rendering/RenderQuote.cpp
@@ -22,6 +22,7 @@
#include "config.h"
#include "RenderQuote.h"
+#include "RenderView.h"
#include <wtf/text/AtomicString.h>
#define U(x) ((const UChar*)L##x)
@@ -242,6 +243,11 @@ PassRefPtr<StringImpl> RenderQuote::originalText() const
return StringImpl::empty();
}
+void RenderQuote::updateText()
+{
+ computePreferredLogicalWidths(0);
+}
+
void RenderQuote::computePreferredLogicalWidths(float lead)
{
if (!m_attached)
diff --git a/Source/WebCore/rendering/RenderQuote.h b/Source/WebCore/rendering/RenderQuote.h
index 7917fc12b..947f3a6f5 100644
--- a/Source/WebCore/rendering/RenderQuote.h
+++ b/Source/WebCore/rendering/RenderQuote.h
@@ -22,7 +22,6 @@
#ifndef RenderQuote_h
#define RenderQuote_h
-#include "Document.h"
#include "QuotesData.h"
#include "RenderStyle.h"
#include "RenderStyleConstants.h"
@@ -30,6 +29,8 @@
namespace WebCore {
+class Document;
+
class RenderQuote : public RenderText {
public:
RenderQuote(Document*, const QuoteType);
@@ -42,6 +43,8 @@ private:
virtual const char* renderName() const OVERRIDE { return "RenderQuote"; };
virtual bool isQuote() const OVERRIDE { return true; };
virtual PassRefPtr<StringImpl> originalText() const OVERRIDE;
+
+ virtual void updateText() OVERRIDE;
virtual void computePreferredLogicalWidths(float leadWidth) OVERRIDE;
// We don't override insertedIntoTree to call attachQuote() as it would be attached
diff --git a/Source/WebCore/rendering/RenderRegion.cpp b/Source/WebCore/rendering/RenderRegion.cpp
index dbdbe83f7..80c848bf4 100644
--- a/Source/WebCore/rendering/RenderRegion.cpp
+++ b/Source/WebCore/rendering/RenderRegion.cpp
@@ -52,25 +52,35 @@ RenderRegion::RenderRegion(Node* node, RenderFlowThread* flowThread)
{
}
-LayoutUnit RenderRegion::logicalWidthForFlowThreadContent() const
+LayoutUnit RenderRegion::pageLogicalWidth() const
{
return m_flowThread->isHorizontalWritingMode() ? contentWidth() : contentHeight();
}
-LayoutUnit RenderRegion::logicalHeightForFlowThreadContent() const
+LayoutUnit RenderRegion::pageLogicalHeight() const
{
return m_flowThread->isHorizontalWritingMode() ? contentHeight() : contentWidth();
}
-LayoutRect RenderRegion::regionOversetRect() const
+LayoutUnit RenderRegion::logicalHeightOfAllFlowThreadContent() const
+{
+ return m_flowThread->isHorizontalWritingMode() ? contentHeight() : contentWidth();
+}
+
+LayoutRect RenderRegion::flowThreadPortionOverflowRect() const
+{
+ return overflowRectForFlowThreadPortion(flowThreadPortionRect(), isFirstRegion(), isLastRegion());
+}
+
+LayoutRect RenderRegion::overflowRectForFlowThreadPortion(LayoutRect flowThreadPortionRect, bool isFirstPortion, bool isLastPortion) const
{
// FIXME: Would like to just use hasOverflowClip() but we aren't a block yet. When RenderRegion is eliminated and
// folded into RenderBlock, switch to hasOverflowClip().
bool clipX = style()->overflowX() != OVISIBLE;
bool clipY = style()->overflowY() != OVISIBLE;
- bool isLastRegionWithRegionOverflowBreak = (isLastRegion() && (style()->regionOverflow() == BreakRegionOverflow));
+ bool isLastRegionWithRegionOverflowBreak = (isLastPortion && (style()->regionOverflow() == BreakRegionOverflow));
if ((clipX && clipY) || !isValid() || !m_flowThread || isLastRegionWithRegionOverflowBreak)
- return regionRect();
+ return flowThreadPortionRect;
LayoutRect flowThreadOverflow = m_flowThread->visualOverflowRect();
@@ -78,22 +88,27 @@ LayoutRect RenderRegion::regionOversetRect() const
LayoutUnit outlineSize = maximalOutlineSize(PaintPhaseOutline);
LayoutRect clipRect;
if (m_flowThread->isHorizontalWritingMode()) {
- LayoutUnit minY = isFirstRegion() ? (flowThreadOverflow.y() - outlineSize) : regionRect().y();
- LayoutUnit maxY = isLastRegion() ? max(regionRect().maxY(), flowThreadOverflow.maxY()) + outlineSize : regionRect().maxY();
- LayoutUnit minX = clipX ? regionRect().x() : (flowThreadOverflow.x() - outlineSize);
- LayoutUnit maxX = clipX ? regionRect().maxX() : (flowThreadOverflow.maxX() + outlineSize);
+ LayoutUnit minY = isFirstPortion ? (flowThreadOverflow.y() - outlineSize) : flowThreadPortionRect.y();
+ LayoutUnit maxY = isLastPortion ? max(flowThreadPortionRect.maxY(), flowThreadOverflow.maxY()) + outlineSize : flowThreadPortionRect.maxY();
+ LayoutUnit minX = clipX ? flowThreadPortionRect.x() : (flowThreadOverflow.x() - outlineSize);
+ LayoutUnit maxX = clipX ? flowThreadPortionRect.maxX() : (flowThreadOverflow.maxX() + outlineSize);
clipRect = LayoutRect(minX, minY, maxX - minX, maxY - minY);
} else {
- LayoutUnit minX = isFirstRegion() ? (flowThreadOverflow.x() - outlineSize) : regionRect().x();
- LayoutUnit maxX = isLastRegion() ? max(regionRect().maxX(), flowThreadOverflow.maxX()) + outlineSize : regionRect().maxX();
- LayoutUnit minY = clipY ? regionRect().y() : (flowThreadOverflow.y() - outlineSize);
- LayoutUnit maxY = clipY ? regionRect().maxY() : (flowThreadOverflow.maxY() + outlineSize);
+ LayoutUnit minX = isFirstPortion ? (flowThreadOverflow.x() - outlineSize) : flowThreadPortionRect.x();
+ LayoutUnit maxX = isLastPortion ? max(flowThreadPortionRect.maxX(), flowThreadOverflow.maxX()) + outlineSize : flowThreadPortionRect.maxX();
+ LayoutUnit minY = clipY ? flowThreadPortionRect.y() : (flowThreadOverflow.y() - outlineSize);
+ LayoutUnit maxY = clipY ? flowThreadPortionRect.maxY() : (flowThreadOverflow.maxY() + outlineSize);
clipRect = LayoutRect(minX, minY, maxX - minX, maxY - minY);
}
return clipRect;
}
+LayoutUnit RenderRegion::pageLogicalTopForOffset(LayoutUnit /* offset */) const
+{
+ return flowThread()->isHorizontalWritingMode() ? flowThreadPortionRect().y() : flowThreadPortionRect().x();
+}
+
bool RenderRegion::isFirstRegion() const
{
ASSERT(isValid() && m_flowThread);
@@ -113,12 +128,12 @@ void RenderRegion::paintReplaced(PaintInfo& paintInfo, const LayoutPoint& paintO
return;
setRegionObjectsRegionStyle();
- m_flowThread->paintIntoRegion(paintInfo, this, LayoutPoint(paintOffset.x() + borderLeft() + paddingLeft(), paintOffset.y() + borderTop() + paddingTop()));
+ m_flowThread->paintFlowThreadPortionInRegion(paintInfo, this, flowThreadPortionRect(), flowThreadPortionOverflowRect(), LayoutPoint(paintOffset.x() + borderLeft() + paddingLeft(), paintOffset.y() + borderTop() + paddingTop()));
restoreRegionObjectsOriginalStyle();
}
// Hit Testing
-bool RenderRegion::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+bool RenderRegion::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
if (!isValid())
return false;
@@ -127,14 +142,15 @@ bool RenderRegion::nodeAtPoint(const HitTestRequest& request, HitTestResult& res
// Check our bounds next. For this purpose always assume that we can only be hit in the
// foreground phase (which is true for replaced elements like images).
- LayoutRect boundsRect = borderBoxRectInRegion(pointInContainer.region());
+ // FIXME: Once we support overflow, we need to intersect with that and not with the bounds rect.
+ LayoutRect boundsRect = borderBoxRectInRegion(locationInContainer.region());
boundsRect.moveBy(adjustedLocation);
- if (visibleToHitTesting() && action == HitTestForeground && pointInContainer.intersects(boundsRect)) {
+ if (visibleToHitTesting() && action == HitTestForeground && locationInContainer.intersects(boundsRect)) {
// Check the contents of the RenderFlowThread.
- if (m_flowThread && m_flowThread->hitTestRegion(this, request, result, pointInContainer, LayoutPoint(adjustedLocation.x() + borderLeft() + paddingLeft(), adjustedLocation.y() + borderTop() + paddingTop())))
+ if (m_flowThread && m_flowThread->hitTestFlowThreadPortionInRegion(this, flowThreadPortionRect(), flowThreadPortionOverflowRect(), request, result, locationInContainer, LayoutPoint(adjustedLocation.x() + borderLeft() + paddingLeft(), adjustedLocation.y() + borderTop() + paddingTop())))
return true;
- updateHitTestResult(result, pointInContainer.point() - toLayoutSize(adjustedLocation));
- if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect))
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(adjustedLocation));
+ if (!result.addNodeToRectBasedTestResult(generatingNode(), request, locationInContainer, boundsRect))
return true;
}
@@ -145,6 +161,8 @@ void RenderRegion::checkRegionStyle()
{
ASSERT(m_flowThread);
bool customRegionStyle = false;
+
+ // FIXME: Region styling doesn't work for pseudo elements.
if (node()) {
Element* regionElement = static_cast<Element*>(node());
customRegionStyle = view()->document()->styleResolver()->checkRegionStyle(regionElement);
@@ -172,10 +190,10 @@ void RenderRegion::layout()
{
RenderReplaced::layout();
if (m_flowThread && isValid()) {
- LayoutRect oldRegionRect(regionRect());
+ LayoutRect oldRegionRect(flowThreadPortionRect());
if (!isHorizontalWritingMode())
oldRegionRect = oldRegionRect.transposedRect();
- if (oldRegionRect.width() != logicalWidthForFlowThreadContent() || oldRegionRect.height() != logicalHeightForFlowThreadContent())
+ if (oldRegionRect.width() != pageLogicalWidth() || oldRegionRect.height() != pageLogicalHeight())
m_flowThread->invalidateRegions();
}
@@ -191,6 +209,34 @@ void RenderRegion::layout()
// We'll need to expand RenderBoxRegionInfo to also hold left and right overflow values.
}
+void RenderRegion::repaintFlowThreadContent(const LayoutRect& repaintRect, bool immediate) const
+{
+ repaintFlowThreadContentRectangle(repaintRect, immediate, flowThreadPortionRect(), flowThreadPortionOverflowRect(), contentBoxRect().location());
+}
+
+void RenderRegion::repaintFlowThreadContentRectangle(const LayoutRect& repaintRect, bool immediate, const LayoutRect& flowThreadPortionRect, const LayoutRect& flowThreadPortionOverflowRect, const LayoutPoint& regionLocation) const
+{
+ // We only have to issue a repaint in this region if the region rect intersects the repaint rect.
+ LayoutRect flippedFlowThreadPortionRect(flowThreadPortionRect);
+ LayoutRect flippedFlowThreadPortionOverflowRect(flowThreadPortionOverflowRect);
+ flowThread()->flipForWritingMode(flippedFlowThreadPortionRect); // Put the region rects into physical coordinates.
+ flowThread()->flipForWritingMode(flippedFlowThreadPortionOverflowRect);
+
+ LayoutRect clippedRect(repaintRect);
+ clippedRect.intersect(flippedFlowThreadPortionOverflowRect);
+ if (clippedRect.isEmpty())
+ return;
+
+ // Put the region rect into the region's physical coordinate space.
+ clippedRect.setLocation(regionLocation + (clippedRect.location() - flippedFlowThreadPortionRect.location()));
+
+ // Now switch to the region's writing mode coordinate space and let it repaint itself.
+ flipForWritingMode(clippedRect);
+
+ // Issue the repaint.
+ repaintRectangle(clippedRect, immediate);
+}
+
void RenderRegion::installFlowThread()
{
ASSERT(view());
@@ -287,8 +333,8 @@ LayoutUnit RenderRegion::offsetFromLogicalTopOfFirstPage() const
if (!m_isValid || !m_flowThread)
return 0;
if (m_flowThread->isHorizontalWritingMode())
- return regionRect().y();
- return regionRect().x();
+ return flowThreadPortionRect().y();
+ return flowThreadPortionRect().x();
}
void RenderRegion::setRegionObjectsRegionStyle()
@@ -383,6 +429,7 @@ PassRefPtr<RenderStyle> RenderRegion::computeStyleInRegion(const RenderObject* o
ASSERT(!object->isAnonymous());
ASSERT(object->node() && object->node()->isElementNode());
+ // FIXME: Region styling fails for pseudo-elements because the renderers don't have a node.
Element* element = toElement(object->node());
RefPtr<RenderStyle> renderObjectRegionStyle = object->view()->document()->styleResolver()->styleForElement(element, 0, DisallowStyleSharing, MatchAllRules, this);
diff --git a/Source/WebCore/rendering/RenderRegion.h b/Source/WebCore/rendering/RenderRegion.h
index 5f22a75a7..7c9b87fc0 100644
--- a/Source/WebCore/rendering/RenderRegion.h
+++ b/Source/WebCore/rendering/RenderRegion.h
@@ -47,13 +47,13 @@ public:
virtual bool isRenderRegion() const { return true; }
virtual void paintReplaced(PaintInfo&, const LayoutPoint&);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
- void setRegionRect(const LayoutRect& rect) { m_regionRect = rect; }
- LayoutRect regionRect() const { return m_regionRect; }
- LayoutRect regionOversetRect() const;
+ void setFlowThreadPortionRect(const LayoutRect& rect) { m_flowThreadPortionRect = rect; }
+ LayoutRect flowThreadPortionRect() const { return m_flowThreadPortionRect; }
+ LayoutRect flowThreadPortionOverflowRect() const;
void attachRegion();
void detachRegion();
@@ -95,13 +95,37 @@ public:
RegionState regionState() const { return isValid() ? m_regionState : RegionUndefined; }
void setRegionState(RegionState regionState) { m_regionState = regionState; }
- virtual LayoutUnit logicalWidthForFlowThreadContent() const;
- virtual LayoutUnit logicalHeightForFlowThreadContent() const;
+ // These methods represent the width and height of a "page" and for a RenderRegion they are just the
+ // content width and content height of a region. For RenderRegionSets, however, they will be the width and
+ // height of a single column or page in the set.
+ virtual LayoutUnit pageLogicalWidth() const;
+ virtual LayoutUnit pageLogicalHeight() const;
+
+ // This method represents the logical height of the entire flow thread portion used by the region or set.
+ // For RenderRegions it matches logicalPaginationHeight(), but for sets it is the height of all the pages
+ // or columns added together.
+ virtual LayoutUnit logicalHeightOfAllFlowThreadContent() const;
+
+ // The top of the nearest page inside the region. For RenderRegions, this is just the logical top of the
+ // flow thread portion we contain. For sets, we have to figure out the top of the nearest column or
+ // page.
+ virtual LayoutUnit pageLogicalTopForOffset(LayoutUnit offset) const;
+
+ virtual void expandToEncompassFlowThreadContentsIfNeeded() {};
+
+ // Whether or not this region is a set.
+ virtual bool isRenderRegionSet() const { return false; }
+
+ virtual void repaintFlowThreadContent(const LayoutRect& repaintRect, bool immediate) const;
protected:
void setRegionObjectsRegionStyle();
void restoreRegionObjectsOriginalStyle();
-
+
+ LayoutRect overflowRectForFlowThreadPortion(LayoutRect flowThreadPortionRect, bool isFirstPortion, bool isLastPortion) const;
+ void repaintFlowThreadContentRectangle(const LayoutRect& repaintRect, bool immediate, const LayoutRect& flowThreadPortionRect,
+ const LayoutRect& flowThreadPortionOverflowRect, const LayoutPoint& regionLocation) const;
+
private:
virtual const char* renderName() const { return "RenderRegion"; }
@@ -125,7 +149,7 @@ private:
// we need to create a dependency tree, so that layout of the
// regions is always done before the regions themselves.
RenderNamedFlowThread* m_parentNamedFlowThread;
- LayoutRect m_regionRect;
+ LayoutRect m_flowThreadPortionRect;
// This map holds unique information about a block that is split across regions.
// A RenderBoxRegionInfo* tells us about any layout information for a RenderBox that
diff --git a/Source/WebCore/rendering/RenderRegionSet.cpp b/Source/WebCore/rendering/RenderRegionSet.cpp
index e9dca62a3..25b5cfa9c 100644
--- a/Source/WebCore/rendering/RenderRegionSet.cpp
+++ b/Source/WebCore/rendering/RenderRegionSet.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "RenderRegionSet.h"
+#include "RenderFlowThread.h"
+
namespace WebCore {
RenderRegionSet::RenderRegionSet(Node* node, RenderFlowThread* flowThread)
@@ -39,4 +41,23 @@ void RenderRegionSet::installFlowThread()
// in the constructor.
}
+void RenderRegionSet::expandToEncompassFlowThreadContentsIfNeeded()
+{
+ // Whenever the last region is a set, it always expands its region rect to consume all
+ // of the flow thread content. This is because it is always capable of generating an
+ // infinite number of boxes in order to hold all of the remaining content.
+ LayoutRect rect(flowThreadPortionRect());
+
+ // Get the offset within the flow thread in its block progression direction. Then get the
+ // flow thread's remaining logical height including its overflow and expand our rect
+ // to encompass that remaining height and overflow. The idea is that we will generate
+ // additional columns and pages to hold that overflow, since people do write bad
+ // content like <body style="height:0px"> in multi-column layouts.
+ bool isHorizontal = flowThread()->isHorizontalWritingMode();
+ LayoutUnit logicalTopOffset = isHorizontal ? rect.y() : rect.x();
+ LayoutRect layoutRect = flowThread()->layoutOverflowRect();
+ LayoutUnit logicalHeightWithOverflow = (isHorizontal ? layoutRect.maxY() : layoutRect.maxX()) - logicalTopOffset;
+ setFlowThreadPortionRect(LayoutRect(rect.x(), rect.y(), isHorizontal ? rect.width() : logicalHeightWithOverflow, isHorizontal ? logicalHeightWithOverflow : rect.height()));
+}
+
}
diff --git a/Source/WebCore/rendering/RenderRegionSet.h b/Source/WebCore/rendering/RenderRegionSet.h
index 3771f004e..e91eceecc 100644
--- a/Source/WebCore/rendering/RenderRegionSet.h
+++ b/Source/WebCore/rendering/RenderRegionSet.h
@@ -52,7 +52,11 @@ public:
private:
virtual void installFlowThread() OVERRIDE;
+ virtual void expandToEncompassFlowThreadContentsIfNeeded() OVERRIDE;
+
virtual const char* renderName() const = 0;
+
+ virtual bool isRenderRegionSet() const OVERRIDE { return true; }
};
} // namespace WebCore
diff --git a/Source/WebCore/rendering/RenderScrollbar.h b/Source/WebCore/rendering/RenderScrollbar.h
index 61d980347..918eee0a9 100644
--- a/Source/WebCore/rendering/RenderScrollbar.h
+++ b/Source/WebCore/rendering/RenderScrollbar.h
@@ -26,7 +26,6 @@
#ifndef RenderScrollbar_h
#define RenderScrollbar_h
-#include "Node.h"
#include "RenderStyleConstants.h"
#include "Scrollbar.h"
#include <wtf/HashMap.h>
@@ -34,6 +33,7 @@
namespace WebCore {
class Frame;
+class Node;
class RenderBox;
class RenderScrollbarPart;
class RenderStyle;
diff --git a/Source/WebCore/rendering/RenderScrollbarPart.cpp b/Source/WebCore/rendering/RenderScrollbarPart.cpp
index 3d93fe828..f2ca8c640 100644
--- a/Source/WebCore/rendering/RenderScrollbarPart.cpp
+++ b/Source/WebCore/rendering/RenderScrollbarPart.cpp
@@ -91,7 +91,9 @@ void RenderScrollbarPart::computeScrollbarWidth()
if (!m_scrollbar->owningRenderer())
return;
RenderView* renderView = view();
- int visibleSize = m_scrollbar->owningRenderer()->width() - m_scrollbar->owningRenderer()->borderLeft() - m_scrollbar->owningRenderer()->borderRight();
+ // FIXME: We are querying layout information but nothing guarantees that it's up-to-date, especially since we are called at style change.
+ // FIXME: Querying the style's border information doesn't work on table cells with collapsing borders.
+ int visibleSize = m_scrollbar->owningRenderer()->width() - m_scrollbar->owningRenderer()->style()->borderLeftWidth() - m_scrollbar->owningRenderer()->style()->borderRightWidth();
int w = calcScrollbarThicknessUsing(MainOrPreferredSize, style()->width(), visibleSize, renderView);
int minWidth = calcScrollbarThicknessUsing(MinSize, style()->minWidth(), visibleSize, renderView);
int maxWidth = style()->maxWidth().isUndefined() ? w : calcScrollbarThicknessUsing(MaxSize, style()->maxWidth(), visibleSize, renderView);
@@ -107,7 +109,9 @@ void RenderScrollbarPart::computeScrollbarHeight()
if (!m_scrollbar->owningRenderer())
return;
RenderView* renderView = view();
- int visibleSize = m_scrollbar->owningRenderer()->height() - m_scrollbar->owningRenderer()->borderTop() - m_scrollbar->owningRenderer()->borderBottom();
+ // FIXME: We are querying layout information but nothing guarantees that it's up-to-date, especially since we are called at style change.
+ // FIXME: Querying the style's border information doesn't work on table cells with collapsing borders.
+ int visibleSize = m_scrollbar->owningRenderer()->height() - m_scrollbar->owningRenderer()->style()->borderTopWidth() - m_scrollbar->owningRenderer()->style()->borderBottomWidth();
int h = calcScrollbarThicknessUsing(MainOrPreferredSize, style()->height(), visibleSize, renderView);
int minHeight = calcScrollbarThicknessUsing(MinSize, style()->minHeight(), visibleSize, renderView);
int maxHeight = style()->maxHeight().isUndefined() ? h : calcScrollbarThicknessUsing(MaxSize, style()->maxHeight(), visibleSize, renderView);
diff --git a/Source/WebCore/rendering/RenderTable.cpp b/Source/WebCore/rendering/RenderTable.cpp
index b5c308373..4f25944a6 100644
--- a/Source/WebCore/rendering/RenderTable.cpp
+++ b/Source/WebCore/rendering/RenderTable.cpp
@@ -117,10 +117,9 @@ void RenderTable::addChild(RenderObject* child, RenderObject* beforeChild)
bool wrapInAnonymousSection = !child->isOutOfFlowPositioned();
- if (child->isTableCaption()) {
- m_captions.append(toRenderTableCaption(child));
+ if (child->isTableCaption())
wrapInAnonymousSection = false;
- } else if (child->isRenderTableCol()) {
+ else if (child->isRenderTableCol()) {
m_hasColElements = true;
wrapInAnonymousSection = false;
} else if (child->isTableSection()) {
@@ -197,26 +196,34 @@ void RenderTable::addChild(RenderObject* child, RenderObject* beforeChild)
section->addChild(child);
}
+void RenderTable::addCaption(const RenderTableCaption* caption)
+{
+ ASSERT(m_captions.find(caption) == notFound);
+ m_captions.append(const_cast<RenderTableCaption*>(caption));
+}
+
void RenderTable::removeCaption(const RenderTableCaption* oldCaption)
{
size_t index = m_captions.find(oldCaption);
ASSERT(index != notFound);
- m_captions.remove(index);
-
- // FIXME: The rest of this function is probably not needed since we have
- // implemented proper multiple captions support (see bug 58249).
- if (node())
- node()->setNeedsStyleRecalc();
+ if (index == notFound)
+ return;
- setNeedsSectionRecalc();
+ m_captions.remove(index);
}
void RenderTable::computeLogicalWidth()
{
recalcSectionsIfNeeded();
- if (isOutOfFlowPositioned())
- computePositionedLogicalWidth();
+ if (isOutOfFlowPositioned()) {
+ LogicalExtentComputedValues computedValues;
+ computePositionedLogicalWidth(computedValues);
+ setLogicalWidth(computedValues.m_extent);
+ setLogicalLeft(computedValues.m_position);
+ setMarginStart(computedValues.m_margins.m_start);
+ setMarginEnd(computedValues.m_margins.m_end);
+ }
RenderBlock* cb = containingBlock();
RenderView* renderView = view();
@@ -260,7 +267,13 @@ void RenderTable::computeLogicalWidth()
LayoutUnit containerLogicalWidthForAutoMargins = availableLogicalWidth;
if (avoidsFloats() && cb->containsFloats())
containerLogicalWidthForAutoMargins = containingBlockAvailableLineWidthInRegion(0, 0); // FIXME: Work with regions someday.
- computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth());
+ ComputedMarginValues marginValues;
+ bool hasInvertedDirection = cb->style()->isLeftToRightDirection() == style()->isLeftToRightDirection();
+ computeInlineDirectionMargins(cb, containerLogicalWidthForAutoMargins, logicalWidth(),
+ hasInvertedDirection ? marginValues.m_start : marginValues.m_end,
+ hasInvertedDirection ? marginValues.m_end : marginValues.m_start);
+ setMarginStart(marginValues.m_start);
+ setMarginEnd(marginValues.m_end);
} else {
setMarginStart(minimumValueForLength(style()->marginStart(), availableLogicalWidth, renderView));
setMarginEnd(minimumValueForLength(style()->marginEnd(), availableLogicalWidth, renderView));
@@ -776,17 +789,12 @@ void RenderTable::recalcSections() const
m_foot = 0;
m_firstBody = 0;
m_hasColElements = false;
- m_captions.clear();
// We need to get valid pointers to caption, head, foot and first body again
RenderObject* nextSibling;
for (RenderObject* child = firstChild(); child; child = nextSibling) {
nextSibling = child->nextSibling();
switch (child->style()->display()) {
- case TABLE_CAPTION:
- if (child->isTableCaption())
- m_captions.append(toRenderTableCaption(child));
- break;
case TABLE_COLUMN:
case TABLE_COLUMN_GROUP:
m_hasColElements = true;
@@ -1269,17 +1277,17 @@ LayoutRect RenderTable::overflowClipRect(const LayoutPoint& location, RenderRegi
return rect;
}
-bool RenderTable::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+bool RenderTable::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
LayoutPoint adjustedLocation = accumulatedOffset + location();
// Check kids first.
- if (!hasOverflowClip() || pointInContainer.intersects(overflowClipRect(adjustedLocation, pointInContainer.region()))) {
+ if (!hasOverflowClip() || locationInContainer.intersects(overflowClipRect(adjustedLocation, locationInContainer.region()))) {
for (RenderObject* child = lastChild(); child; child = child->previousSibling()) {
if (child->isBox() && !toRenderBox(child)->hasSelfPaintingLayer() && (child->isTableSection() || child->isTableCaption())) {
LayoutPoint childPoint = flipForWritingModeForChild(toRenderBox(child), adjustedLocation);
- if (child->nodeAtPoint(request, result, pointInContainer, childPoint, action)) {
- updateHitTestResult(result, toLayoutPoint(pointInContainer.point() - childPoint));
+ if (child->nodeAtPoint(request, result, locationInContainer, childPoint, action)) {
+ updateHitTestResult(result, toLayoutPoint(locationInContainer.point() - childPoint));
return true;
}
}
@@ -1288,9 +1296,9 @@ bool RenderTable::nodeAtPoint(const HitTestRequest& request, HitTestResult& resu
// Check our bounds next.
LayoutRect boundsRect(adjustedLocation, size());
- if (visibleToHitTesting() && (action == HitTestBlockBackground || action == HitTestChildBlockBackground) && pointInContainer.intersects(boundsRect)) {
- updateHitTestResult(result, flipForWritingMode(pointInContainer.point() - toLayoutSize(adjustedLocation)));
- if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect))
+ if (visibleToHitTesting() && (action == HitTestBlockBackground || action == HitTestChildBlockBackground) && locationInContainer.intersects(boundsRect)) {
+ updateHitTestResult(result, flipForWritingMode(locationInContainer.point() - toLayoutSize(adjustedLocation)));
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
diff --git a/Source/WebCore/rendering/RenderTable.h b/Source/WebCore/rendering/RenderTable.h
index bbafdb716..46073c539 100644
--- a/Source/WebCore/rendering/RenderTable.h
+++ b/Source/WebCore/rendering/RenderTable.h
@@ -231,6 +231,7 @@ public:
const BorderValue& tableStartBorderAdjoiningCell(const RenderTableCell*) const;
const BorderValue& tableEndBorderAdjoiningCell(const RenderTableCell*) const;
+ void addCaption(const RenderTableCaption*);
void removeCaption(const RenderTableCaption*);
protected:
@@ -249,7 +250,7 @@ private:
virtual void paintMask(PaintInfo&, const LayoutPoint&);
virtual void layout();
virtual void computePreferredLogicalWidths();
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual LayoutUnit baselinePosition(FontBaseline, bool firstLine, LineDirectionMode, LinePositionMode = PositionOnContainingLine) const OVERRIDE;
virtual LayoutUnit firstLineBoxBaseline() const OVERRIDE;
@@ -260,7 +261,7 @@ private:
virtual void setCellLogicalWidths();
- virtual void computeLogicalWidth();
+ virtual void computeLogicalWidth() OVERRIDE;
LayoutUnit convertStyleLogicalWidthToComputedWidth(const Length& styleLogicalWidth, LayoutUnit availableWidth);
diff --git a/Source/WebCore/rendering/RenderTableCaption.cpp b/Source/WebCore/rendering/RenderTableCaption.cpp
index 9785f372d..df5194c97 100644
--- a/Source/WebCore/rendering/RenderTableCaption.cpp
+++ b/Source/WebCore/rendering/RenderTableCaption.cpp
@@ -39,6 +39,13 @@ LayoutUnit RenderTableCaption::containingBlockLogicalWidthForContent() const
return cb->logicalWidth();
}
+void RenderTableCaption::insertedIntoTree()
+{
+ RenderBlock::insertedIntoTree();
+
+ table()->addCaption(this);
+}
+
void RenderTableCaption::willBeRemovedFromTree()
{
RenderBlock::willBeRemovedFromTree();
diff --git a/Source/WebCore/rendering/RenderTableCaption.h b/Source/WebCore/rendering/RenderTableCaption.h
index b505ebe10..91edb9f6e 100644
--- a/Source/WebCore/rendering/RenderTableCaption.h
+++ b/Source/WebCore/rendering/RenderTableCaption.h
@@ -35,6 +35,7 @@ public:
private:
virtual bool isTableCaption() const OVERRIDE { return true; }
+ virtual void insertedIntoTree() OVERRIDE;
virtual void willBeRemovedFromTree() OVERRIDE;
RenderTable* table() const;
diff --git a/Source/WebCore/rendering/RenderTableCell.cpp b/Source/WebCore/rendering/RenderTableCell.cpp
index 0cefc75a8..05d0ad19a 100644
--- a/Source/WebCore/rendering/RenderTableCell.cpp
+++ b/Source/WebCore/rendering/RenderTableCell.cpp
@@ -52,16 +52,12 @@ RenderTableCell::RenderTableCell(Node* node)
{
}
-void RenderTableCell::willBeDestroyed()
+void RenderTableCell::willBeRemovedFromTree()
{
- RenderTableSection* recalcSection = parent() ? section() : 0;
+ RenderBlock::willBeRemovedFromTree();
- RenderBlock::willBeDestroyed();
-
- if (recalcSection) {
- recalcSection->setNeedsCellRecalc();
- recalcSection->removeCachedCollapsedBorders(this);
- }
+ section()->setNeedsCellRecalc();
+ section()->removeCachedCollapsedBorders(this);
}
unsigned RenderTableCell::colSpan() const
diff --git a/Source/WebCore/rendering/RenderTableCell.h b/Source/WebCore/rendering/RenderTableCell.h
index 5d5b2764b..31ea56f59 100644
--- a/Source/WebCore/rendering/RenderTableCell.h
+++ b/Source/WebCore/rendering/RenderTableCell.h
@@ -173,9 +173,9 @@ private:
virtual bool isTableCell() const { return true; }
- virtual void willBeDestroyed();
+ virtual void willBeRemovedFromTree() OVERRIDE;
- virtual void computeLogicalWidth();
+ virtual void computeLogicalWidth() OVERRIDE;
virtual void paintBoxDecorations(PaintInfo&, const LayoutPoint&);
virtual void paintMask(PaintInfo&, const LayoutPoint&);
diff --git a/Source/WebCore/rendering/RenderTableRow.cpp b/Source/WebCore/rendering/RenderTableRow.cpp
index 7dc05fa56..2b83faa5a 100644
--- a/Source/WebCore/rendering/RenderTableRow.cpp
+++ b/Source/WebCore/rendering/RenderTableRow.cpp
@@ -46,14 +46,11 @@ RenderTableRow::RenderTableRow(Node* node)
setInline(false); // our object is not Inline
}
-void RenderTableRow::willBeDestroyed()
+void RenderTableRow::willBeRemovedFromTree()
{
- RenderTableSection* recalcSection = section();
-
- RenderBox::willBeDestroyed();
-
- if (recalcSection)
- recalcSection->setNeedsCellRecalc();
+ RenderBox::willBeRemovedFromTree();
+
+ section()->setNeedsCellRecalc();
}
void RenderTableRow::updateBeforeAndAfterContent()
@@ -154,7 +151,7 @@ void RenderTableRow::layout()
cell->setChildNeedsLayout(true, MarkOnlyThis);
if (child->needsLayout()) {
- cell->computeBlockDirectionMargins(table());
+ cell->computeAndSetBlockDirectionMargins(table());
cell->layout();
}
}
@@ -195,7 +192,7 @@ LayoutRect RenderTableRow::clippedOverflowRectForRepaint(RenderBoxModelObject* r
}
// Hit Testing
-bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
// Table rows cannot ever be hit tested. Effectively they do not exist.
// Just forward to our children always.
@@ -206,8 +203,8 @@ bool RenderTableRow::nodeAtPoint(const HitTestRequest& request, HitTestResult& r
// then we can remove this check.
if (child->isTableCell() && !toRenderBox(child)->hasSelfPaintingLayer()) {
LayoutPoint cellPoint = flipForWritingModeForChild(toRenderTableCell(child), accumulatedOffset);
- if (child->nodeAtPoint(request, result, pointInContainer, cellPoint, action)) {
- updateHitTestResult(result, pointInContainer.point() - toLayoutSize(cellPoint));
+ if (child->nodeAtPoint(request, result, locationInContainer, cellPoint, action)) {
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(cellPoint));
return true;
}
}
diff --git a/Source/WebCore/rendering/RenderTableRow.h b/Source/WebCore/rendering/RenderTableRow.h
index afa838c12..0136c58a2 100644
--- a/Source/WebCore/rendering/RenderTableRow.h
+++ b/Source/WebCore/rendering/RenderTableRow.h
@@ -90,14 +90,14 @@ private:
virtual bool isTableRow() const { return true; }
- virtual void willBeDestroyed();
+ virtual void willBeRemovedFromTree() OVERRIDE;
virtual void addChild(RenderObject* child, RenderObject* beforeChild = 0);
virtual void layout();
virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
- virtual bool requiresLayer() const OVERRIDE { return isTransparent() || hasOverflowClip() || hasTransform() || hasHiddenBackface() || hasMask() || hasFilter(); }
+ virtual bool requiresLayer() const OVERRIDE { return hasOverflowClip() || hasTransform() || hasHiddenBackface() || hasClipPath() || createsGroup(); }
virtual void paint(PaintInfo&, const LayoutPoint&);
diff --git a/Source/WebCore/rendering/RenderTableSection.cpp b/Source/WebCore/rendering/RenderTableSection.cpp
index a906a2ef8..62379085d 100644
--- a/Source/WebCore/rendering/RenderTableSection.cpp
+++ b/Source/WebCore/rendering/RenderTableSection.cpp
@@ -189,12 +189,6 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild
toRenderTableRow(child)->updateBeforeAndAfterContent();
}
-void RenderTableSection::removeChild(RenderObject* oldChild)
-{
- setNeedsCellRecalc();
- RenderBox::removeChild(oldChild);
-}
-
void RenderTableSection::ensureRows(unsigned numRows)
{
if (numRows <= m_grid.size())
@@ -585,9 +579,9 @@ void RenderTableSection::layoutRows()
}
}
- if (ListHashSet<RenderBox*>* percentHeightDescendants = cell->percentHeightDescendants()) {
- ListHashSet<RenderBox*>::iterator end = percentHeightDescendants->end();
- for (ListHashSet<RenderBox*>::iterator it = percentHeightDescendants->begin(); it != end; ++it) {
+ if (TrackedRendererListHashSet* percentHeightDescendants = cell->percentHeightDescendants()) {
+ TrackedRendererListHashSet::iterator end = percentHeightDescendants->end();
+ for (TrackedRendererListHashSet::iterator it = percentHeightDescendants->begin(); it != end; ++it) {
RenderBox* box = *it;
if (!box->isReplaced() && !box->scrollsOverflow() && !flexAllChildren)
continue;
@@ -1369,7 +1363,7 @@ void RenderTableSection::splitColumn(unsigned pos, unsigned first)
}
// Hit Testing
-bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
// If we have no children then we have nothing to do.
if (!firstChild())
@@ -1379,7 +1373,7 @@ bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResul
// Just forward to our children always.
LayoutPoint adjustedLocation = accumulatedOffset + location();
- if (hasOverflowClip() && !pointInContainer.intersects(overflowClipRect(adjustedLocation, pointInContainer.region())))
+ if (hasOverflowClip() && !locationInContainer.intersects(overflowClipRect(adjustedLocation, locationInContainer.region())))
return false;
if (hasOverflowingCell()) {
@@ -1390,8 +1384,8 @@ bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResul
// then we can remove this check.
if (child->isBox() && !toRenderBox(child)->hasSelfPaintingLayer()) {
LayoutPoint childPoint = flipForWritingModeForChild(toRenderBox(child), adjustedLocation);
- if (child->nodeAtPoint(request, result, pointInContainer, childPoint, action)) {
- updateHitTestResult(result, toLayoutPoint(pointInContainer.point() - childPoint));
+ if (child->nodeAtPoint(request, result, locationInContainer, childPoint, action)) {
+ updateHitTestResult(result, toLayoutPoint(locationInContainer.point() - childPoint));
return true;
}
}
@@ -1401,7 +1395,7 @@ bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResul
recalcCellsIfNeeded();
- LayoutRect hitTestRect = pointInContainer.boundingBox();
+ LayoutRect hitTestRect = locationInContainer.boundingBox();
hitTestRect.moveBy(-adjustedLocation);
LayoutRect tableAlignedRect = logicalRectForWritingModeAndDirection(hitTestRect);
@@ -1421,8 +1415,8 @@ bool RenderTableSection::nodeAtPoint(const HitTestRequest& request, HitTestResul
--i;
RenderTableCell* cell = current.cells[i];
LayoutPoint cellPoint = flipForWritingModeForChild(cell, adjustedLocation);
- if (static_cast<RenderObject*>(cell)->nodeAtPoint(request, result, pointInContainer, cellPoint, action)) {
- updateHitTestResult(result, pointInContainer.point() - toLayoutSize(cellPoint));
+ if (static_cast<RenderObject*>(cell)->nodeAtPoint(request, result, locationInContainer, cellPoint, action)) {
+ updateHitTestResult(result, locationInContainer.point() - toLayoutSize(cellPoint));
return true;
}
}
diff --git a/Source/WebCore/rendering/RenderTableSection.h b/Source/WebCore/rendering/RenderTableSection.h
index 89bff39a0..7054938e9 100644
--- a/Source/WebCore/rendering/RenderTableSection.h
+++ b/Source/WebCore/rendering/RenderTableSection.h
@@ -210,14 +210,12 @@ private:
virtual void layout();
- virtual void removeChild(RenderObject* oldChild);
-
virtual void paintCell(RenderTableCell*, PaintInfo&, const LayoutPoint&);
virtual void paintObject(PaintInfo&, const LayoutPoint&);
virtual void imageChanged(WrappedImagePtr, const IntRect* = 0);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
void ensureRows(unsigned);
diff --git a/Source/WebCore/rendering/RenderText.cpp b/Source/WebCore/rendering/RenderText.cpp
index 73e57754a..82b956993 100644
--- a/Source/WebCore/rendering/RenderText.cpp
+++ b/Source/WebCore/rendering/RenderText.cpp
@@ -1879,7 +1879,7 @@ int RenderText::nextOffset(int current) const
bool RenderText::computeCanUseSimpleFontCodePath() const
{
- if (isAllASCII())
+ if (isAllASCII() || m_text.is8Bit())
return true;
return Font::characterRangeCodePath(characters(), length()) == Font::Simple;
}
diff --git a/Source/WebCore/rendering/RenderText.h b/Source/WebCore/rendering/RenderText.h
index b96eca73f..6fc4c67a7 100644
--- a/Source/WebCore/rendering/RenderText.h
+++ b/Source/WebCore/rendering/RenderText.h
@@ -45,6 +45,12 @@ public:
virtual PassRefPtr<StringImpl> originalText() const;
+ void updateTextIfNeeded()
+ {
+ if (preferredLogicalWidthsDirty())
+ updateText();
+ }
+
void extractTextBox(InlineTextBox*);
void attachTextBox(InlineTextBox*);
void removeTextBox(InlineTextBox*);
@@ -139,6 +145,7 @@ protected:
virtual void styleWillChange(StyleDifference, const RenderStyle*) { }
virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
+ virtual void updateText() { }
virtual void setTextInternal(PassRefPtr<StringImpl>);
virtual UChar previousCharacter() const;
@@ -156,7 +163,7 @@ private:
virtual void paint(PaintInfo&, const LayoutPoint&) { ASSERT_NOT_REACHED(); }
virtual void layout() { ASSERT_NOT_REACHED(); }
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint&, const LayoutPoint&, HitTestAction) OVERRIDE { ASSERT_NOT_REACHED(); return false; }
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction) OVERRIDE { ASSERT_NOT_REACHED(); return false; }
void deleteTextBoxes();
bool containsOnlyWhitespace(unsigned from, unsigned len) const;
diff --git a/Source/WebCore/rendering/RenderTextControl.cpp b/Source/WebCore/rendering/RenderTextControl.cpp
index 3bc25b897..cb7637db3 100644
--- a/Source/WebCore/rendering/RenderTextControl.cpp
+++ b/Source/WebCore/rendering/RenderTextControl.cpp
@@ -110,13 +110,18 @@ int RenderTextControl::textBlockWidth() const
{
Element* innerText = innerTextElement();
ASSERT(innerText);
- return width() - borderAndPaddingWidth() - innerText->renderBox()->paddingLeft() - innerText->renderBox()->paddingRight();
+
+ LayoutUnit unitWidth = width() - borderAndPaddingWidth();
+ if (innerText->renderer())
+ unitWidth -= innerText->renderBox()->paddingLeft() + innerText->renderBox()->paddingRight();
+
+ return unitWidth;
}
void RenderTextControl::updateFromElement()
{
Element* innerText = innerTextElement();
- if (innerText)
+ if (innerText && innerText->renderer())
updateUserModifyProperty(node(), innerText->renderer()->style());
}
@@ -143,13 +148,14 @@ void RenderTextControl::computeLogicalHeight()
{
HTMLElement* innerText = innerTextElement();
ASSERT(innerText);
- RenderBox* innerTextBox = innerText->renderBox();
- LayoutUnit nonContentHeight = innerTextBox->borderAndPaddingHeight() + innerTextBox->marginHeight();
- setHeight(computeControlHeight(innerTextBox->lineHeight(true, HorizontalLine, PositionOfInteriorLineBoxes), nonContentHeight) + borderAndPaddingHeight());
+ if (RenderBox* innerTextBox = innerText->renderBox()) {
+ LayoutUnit nonContentHeight = innerTextBox->borderAndPaddingHeight() + innerTextBox->marginHeight();
+ setHeight(computeControlHeight(innerTextBox->lineHeight(true, HorizontalLine, PositionOfInteriorLineBoxes), nonContentHeight) + borderAndPaddingHeight());
- // We are able to have a horizontal scrollbar if the overflow style is scroll, or if its auto and there's no word wrap.
- if (style()->overflowX() == OSCROLL || (style()->overflowX() == OAUTO && innerText->renderer()->style()->wordWrap() == NormalWordWrap))
- setHeight(height() + scrollbarThickness());
+ // We are able to have a horizontal scrollbar if the overflow style is scroll, or if its auto and there's no word wrap.
+ if (style()->overflowX() == OSCROLL || (style()->overflowX() == OAUTO && innerText->renderer()->style()->overflowWrap() == NormalOverflowWrap))
+ setHeight(height() + scrollbarThickness());
+ }
RenderBlock::computeLogicalHeight();
}
@@ -157,6 +163,9 @@ void RenderTextControl::computeLogicalHeight()
void RenderTextControl::hitInnerTextElement(HitTestResult& result, const LayoutPoint& pointInContainer, const LayoutPoint& accumulatedOffset)
{
HTMLElement* innerText = innerTextElement();
+ if (!innerText->renderer())
+ return;
+
LayoutPoint adjustedLocation = accumulatedOffset + location();
LayoutPoint localPoint = pointInContainer - toLayoutSize(adjustedLocation + innerText->renderBox()->location());
if (hasOverflowClip())
@@ -257,8 +266,9 @@ void RenderTextControl::computePreferredLogicalWidths()
else {
// Use average character width. Matches IE.
AtomicString family = style()->font().family().family();
- RenderBox* innerTextRenderBox = innerTextElement()->renderBox();
- m_maxPreferredLogicalWidth = preferredContentWidth(getAvgCharWidth(family)) + innerTextRenderBox->paddingLeft() + innerTextRenderBox->paddingRight();
+ m_maxPreferredLogicalWidth = preferredContentWidth(getAvgCharWidth(family));
+ if (RenderBox* innerTextRenderBox = innerTextElement()->renderBox())
+ m_maxPreferredLogicalWidth += innerTextRenderBox->paddingLeft() + innerTextRenderBox->paddingRight();
}
if (style()->minWidth().isFixed() && style()->minWidth().value() > 0) {
diff --git a/Source/WebCore/rendering/RenderTextControl.h b/Source/WebCore/rendering/RenderTextControl.h
index b8f1f3025..6d0e43af1 100644
--- a/Source/WebCore/rendering/RenderTextControl.h
+++ b/Source/WebCore/rendering/RenderTextControl.h
@@ -62,7 +62,7 @@ protected:
virtual RenderStyle* textBaseStyle() const = 0;
virtual void updateFromElement();
- virtual void computeLogicalHeight();
+ virtual void computeLogicalHeight() OVERRIDE;
virtual RenderObject* layoutSpecialExcludedChild(bool relayoutChildren);
private:
diff --git a/Source/WebCore/rendering/RenderTextControlMultiLine.cpp b/Source/WebCore/rendering/RenderTextControlMultiLine.cpp
index 96997d0ed..be91de927 100644
--- a/Source/WebCore/rendering/RenderTextControlMultiLine.cpp
+++ b/Source/WebCore/rendering/RenderTextControlMultiLine.cpp
@@ -43,13 +43,13 @@ RenderTextControlMultiLine::~RenderTextControlMultiLine()
static_cast<HTMLTextAreaElement*>(node())->rendererWillBeDestroyed();
}
-bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderTextControlMultiLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- if (!RenderTextControl::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction))
+ if (!RenderTextControl::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction))
return false;
if (result.innerNode() == node() || result.innerNode() == innerTextElement())
- hitInnerTextElement(result, pointInContainer.point(), accumulatedOffset);
+ hitInnerTextElement(result, locationInContainer.point(), accumulatedOffset);
return true;
}
diff --git a/Source/WebCore/rendering/RenderTextControlMultiLine.h b/Source/WebCore/rendering/RenderTextControlMultiLine.h
index 5c84a5910..a4539959a 100644
--- a/Source/WebCore/rendering/RenderTextControlMultiLine.h
+++ b/Source/WebCore/rendering/RenderTextControlMultiLine.h
@@ -34,7 +34,7 @@ public:
private:
virtual bool isTextArea() const { return true; }
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual float getAvgCharWidth(AtomicString family);
virtual LayoutUnit preferredContentWidth(float charWidth) const;
diff --git a/Source/WebCore/rendering/RenderTextControlSingleLine.cpp b/Source/WebCore/rendering/RenderTextControlSingleLine.cpp
index 665af32be..1484a2786 100644
--- a/Source/WebCore/rendering/RenderTextControlSingleLine.cpp
+++ b/Source/WebCore/rendering/RenderTextControlSingleLine.cpp
@@ -192,9 +192,9 @@ void RenderTextControlSingleLine::layout()
}
}
-bool RenderTextControlSingleLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderTextControlSingleLine::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- if (!RenderTextControl::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, hitTestAction))
+ if (!RenderTextControl::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, hitTestAction))
return false;
// Say that we hit the inner text element if
@@ -203,7 +203,7 @@ bool RenderTextControlSingleLine::nodeAtPoint(const HitTestRequest& request, Hit
// - we hit regions not in any decoration buttons.
HTMLElement* container = containerElement();
if (result.innerNode()->isDescendantOf(innerTextElement()) || result.innerNode() == node() || (container && container == result.innerNode())) {
- LayoutPoint pointInParent = pointInContainer.point();
+ LayoutPoint pointInParent = locationInContainer.point();
if (container && innerBlockElement()) {
if (innerBlockElement()->renderBox())
pointInParent -= toLayoutSize(innerBlockElement()->renderBox()->location());
@@ -342,7 +342,7 @@ PassRefPtr<RenderStyle> RenderTextControlSingleLine::createInnerTextStyle(const
adjustInnerTextStyle(startStyle, textBlockStyle.get());
textBlockStyle->setWhiteSpace(PRE);
- textBlockStyle->setWordWrap(NormalWordWrap);
+ textBlockStyle->setOverflowWrap(NormalOverflowWrap);
textBlockStyle->setOverflowX(OHIDDEN);
textBlockStyle->setOverflowY(OHIDDEN);
textBlockStyle->setTextOverflow(textShouldBeTruncated() ? TextOverflowEllipsis : TextOverflowClip);
diff --git a/Source/WebCore/rendering/RenderTextControlSingleLine.h b/Source/WebCore/rendering/RenderTextControlSingleLine.h
index c79f3dfec..af27bf758 100644
--- a/Source/WebCore/rendering/RenderTextControlSingleLine.h
+++ b/Source/WebCore/rendering/RenderTextControlSingleLine.h
@@ -56,7 +56,7 @@ private:
virtual void paint(PaintInfo&, const LayoutPoint&);
virtual void layout();
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual void autoscroll();
diff --git a/Source/WebCore/rendering/RenderTheme.cpp b/Source/WebCore/rendering/RenderTheme.cpp
index 934c4b2cf..66c37ec35 100644
--- a/Source/WebCore/rendering/RenderTheme.cpp
+++ b/Source/WebCore/rendering/RenderTheme.cpp
@@ -1004,21 +1004,34 @@ void RenderTheme::paintSliderTicks(RenderObject* o, const PaintInfo& paintInfo,
IntSize tickSize = sliderTickSize();
float zoomFactor = o->style()->effectiveZoom();
FloatRect tickRect;
- int tickRegionMargin = (thumbSize.width() - tickSize.width()) / 2.0;
int tickRegionSideMargin = 0;
int tickRegionWidth = 0;
+ IntRect trackBounds;
+ RenderObject* trackRenderer = input->sliderTrackElement()->renderer();
+ // We can ignoring transforms because transform is handled by the graphics context.
+ if (trackRenderer)
+ trackBounds = trackRenderer->absoluteBoundingBoxRectIgnoringTransforms();
+ IntRect sliderBounds = o->absoluteBoundingBoxRectIgnoringTransforms();
+
+ // Make position relative to the transformed ancestor element.
+ trackBounds.setX(trackBounds.x() - sliderBounds.x() + rect.x());
+ trackBounds.setY(trackBounds.y() - sliderBounds.y() + rect.y());
+
if (isHorizontal) {
tickRect.setWidth(floor(tickSize.width() * zoomFactor));
tickRect.setHeight(floor(tickSize.height() * zoomFactor));
tickRect.setY(floor(rect.y() + rect.height() / 2.0 + sliderTickOffsetFromTrackCenter() * zoomFactor));
- tickRegionSideMargin = rect.x() + tickRegionMargin;
- tickRegionWidth = rect.width() - tickRegionMargin * 2 - tickSize.width() * zoomFactor;
+ if (o->style()->isLeftToRightDirection())
+ tickRegionSideMargin = trackBounds.x() + (thumbSize.width() - tickSize.width() * zoomFactor) / 2.0;
+ else
+ tickRegionSideMargin = trackBounds.x() - thumbSize.width() / 2.0;
+ tickRegionWidth = trackBounds.width();
} else {
tickRect.setWidth(floor(tickSize.height() * zoomFactor));
tickRect.setHeight(floor(tickSize.width() * zoomFactor));
tickRect.setX(floor(rect.x() + rect.width() / 2.0 + sliderTickOffsetFromTrackCenter() * zoomFactor));
- tickRegionSideMargin = rect.y() + tickRegionMargin;
- tickRegionWidth = rect.height() - tickRegionMargin * 2 - tickSize.width() * zoomFactor;
+ tickRegionSideMargin = trackBounds.y() + (thumbSize.width() - tickSize.width() * zoomFactor) / 2.0;
+ tickRegionWidth = trackBounds.height();
}
RefPtr<HTMLCollection> options = dataList->options();
GraphicsContextStateSaver stateSaver(*paintInfo.context);
diff --git a/Source/WebCore/rendering/RenderThemeChromiumMac.h b/Source/WebCore/rendering/RenderThemeChromiumMac.h
index 5853a0661..cfd13df60 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumMac.h
+++ b/Source/WebCore/rendering/RenderThemeChromiumMac.h
@@ -58,6 +58,7 @@ protected:
virtual String formatMediaControlsCurrentTime(float currentTime, float duration) const;
virtual String formatMediaControlsRemainingTime(float currentTime, float duration) const;
virtual bool paintMediaFullscreenButton(RenderObject*, const PaintInfo&, const IntRect&);
+ virtual bool paintMediaToggleClosedCaptionsButton(RenderObject*, const PaintInfo&, const IntRect&);
#endif
virtual bool usesTestModeFocusRingColor() const;
diff --git a/Source/WebCore/rendering/RenderThemeChromiumMac.mm b/Source/WebCore/rendering/RenderThemeChromiumMac.mm
index 9af2dbc4c..efb6174ec 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumMac.mm
+++ b/Source/WebCore/rendering/RenderThemeChromiumMac.mm
@@ -233,6 +233,11 @@ bool RenderThemeChromiumMac::paintMediaFullscreenButton(RenderObject* object, co
{
return RenderMediaControlsChromium::paintMediaControlsPart(MediaEnterFullscreenButton, object, paintInfo, rect);
}
+
+bool RenderThemeChromiumMac::paintMediaToggleClosedCaptionsButton(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)
+{
+ return RenderMediaControlsChromium::paintMediaControlsPart(MediaShowClosedCaptionsButton, object, paintInfo, rect);
+}
#endif
} // namespace WebCore
diff --git a/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp b/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
index 0a58af605..a38cf1be9 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
+++ b/Source/WebCore/rendering/RenderThemeChromiumSkia.cpp
@@ -81,7 +81,7 @@ static const float defaultSearchFieldResultsButtonWidth = 18;
// sizes (e.g. 15px). So, for now we just use Arial.
const String& RenderThemeChromiumSkia::defaultGUIFont()
{
- DEFINE_STATIC_LOCAL(String, fontFace, ("Arial"));
+ DEFINE_STATIC_LOCAL(String, fontFace, (ASCIILiteral("Arial")));
return fontFace;
}
@@ -131,6 +131,13 @@ bool RenderThemeChromiumSkia::supportsDataListUI(const AtomicString& type) const
return RenderThemeChromiumCommon::supportsDataListUI(type);
}
+#if ENABLE(VIDEO_TRACK)
+bool RenderThemeChromiumSkia::supportsClosedCaptioning() const
+{
+ return true;
+}
+#endif
+
Color RenderThemeChromiumSkia::platformActiveSelectionBackgroundColor() const
{
return Color(0x1e, 0x90, 0xff);
@@ -427,6 +434,18 @@ bool RenderThemeChromiumSkia::paintMediaSliderThumb(RenderObject* object, const
#endif
}
+bool RenderThemeChromiumSkia::paintMediaToggleClosedCaptionsButton(RenderObject* o, const PaintInfo& paintInfo, const IntRect& r)
+{
+#if ENABLE(VIDEO_TRACK)
+ return RenderMediaControlsChromium::paintMediaControlsPart(MediaShowClosedCaptionsButton, o, paintInfo, r);
+#else
+ UNUSED_PARAM(object);
+ UNUSED_PARAM(paintInfo);
+ UNUSED_PARAM(rect);
+ return false;
+#endif
+}
+
bool RenderThemeChromiumSkia::paintMediaVolumeSliderThumb(RenderObject* object, const PaintInfo& paintInfo, const IntRect& rect)
{
#if ENABLE(VIDEO)
diff --git a/Source/WebCore/rendering/RenderThemeChromiumSkia.h b/Source/WebCore/rendering/RenderThemeChromiumSkia.h
index ee9b11c37..10dc70b41 100644
--- a/Source/WebCore/rendering/RenderThemeChromiumSkia.h
+++ b/Source/WebCore/rendering/RenderThemeChromiumSkia.h
@@ -54,6 +54,9 @@ class RenderThemeChromiumSkia : public RenderTheme {
virtual bool supportsDataListUI(const AtomicString& type) const OVERRIDE;
+#if ENABLE(VIDEO_TRACK)
+ virtual bool supportsClosedCaptioning() const OVERRIDE;
+#endif
// The platform selection color.
virtual Color platformActiveSelectionBackgroundColor() const;
virtual Color platformInactiveSelectionBackgroundColor() const;
@@ -95,6 +98,7 @@ class RenderThemeChromiumSkia : public RenderTheme {
virtual bool paintMediaVolumeSliderTrack(RenderObject*, const PaintInfo&, const IntRect&);
virtual void adjustSliderThumbSize(RenderStyle*, Element*) const;
virtual bool paintMediaSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
+ virtual bool paintMediaToggleClosedCaptionsButton(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaVolumeSliderThumb(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaPlayButton(RenderObject*, const PaintInfo&, const IntRect&);
virtual bool paintMediaMuteButton(RenderObject*, const PaintInfo&, const IntRect&);
diff --git a/Source/WebCore/rendering/RenderThemeWin.cpp b/Source/WebCore/rendering/RenderThemeWin.cpp
index 403dd98b1..810a1fca4 100644
--- a/Source/WebCore/rendering/RenderThemeWin.cpp
+++ b/Source/WebCore/rendering/RenderThemeWin.cpp
@@ -24,6 +24,7 @@
#include "CSSValueKeywords.h"
#include "Element.h"
+#include "FontMetrics.h"
#include "Frame.h"
#include "GraphicsContext.h"
#include "LocalWindowsContext.h"
diff --git a/Source/WebCore/rendering/RenderTreeAsText.cpp b/Source/WebCore/rendering/RenderTreeAsText.cpp
index 8af6a2765..276366c0b 100644
--- a/Source/WebCore/rendering/RenderTreeAsText.cpp
+++ b/Source/WebCore/rendering/RenderTreeAsText.cpp
@@ -315,19 +315,16 @@ void RenderTreeAsText::writeRenderObject(TextStream& ts, const RenderObject& o,
if (box.borderTop() || box.borderRight() || box.borderBottom() || box.borderLeft()) {
ts << " [border:";
- BorderValue prevBorder;
- if (o.style()->borderTop() != prevBorder) {
- prevBorder = o.style()->borderTop();
- if (!box.borderTop())
- ts << " none";
- else {
- ts << " (" << box.borderTop() << "px ";
- printBorderStyle(ts, o.style()->borderTopStyle());
- Color col = o.style()->borderTopColor();
- if (!col.isValid())
- col = o.style()->color();
- ts << col.nameForRenderTreeAsText() << ")";
- }
+ BorderValue prevBorder = o.style()->borderTop();
+ if (!box.borderTop())
+ ts << " none";
+ else {
+ ts << " (" << box.borderTop() << "px ";
+ printBorderStyle(ts, o.style()->borderTopStyle());
+ Color col = o.style()->borderTopColor();
+ if (!col.isValid())
+ col = o.style()->color();
+ ts << col.nameForRenderTreeAsText() << ")";
}
if (o.style()->borderRight() != prevBorder) {
@@ -448,14 +445,14 @@ void RenderTreeAsText::writeRenderObject(TextStream& ts, const RenderObject& o,
ts << " id=\"" + static_cast<Element*>(node)->getIdAttribute() + "\"";
if (node->hasClass()) {
+ ts << " class=\"";
StyledElement* styledElement = static_cast<StyledElement*>(node);
- String classes;
for (size_t i = 0; i < styledElement->classNames().size(); ++i) {
if (i > 0)
- classes += " ";
- classes += styledElement->classNames()[i];
+ ts << " ";
+ ts << styledElement->classNames()[i];
}
- ts << " class=\"" + classes + "\"";
+ ts << "\"";
}
}
}
@@ -702,12 +699,12 @@ static void writeRenderNamedFlowThreads(TextStream& ts, RenderView* renderView,
RenderRegion* renderRegion = *itRR;
writeIndent(ts, indent + 2);
ts << "RenderRegion";
- if (renderRegion->node()) {
- String tagName = getTagName(renderRegion->node());
+ if (renderRegion->generatingNode()) {
+ String tagName = getTagName(renderRegion->generatingNode());
if (!tagName.isEmpty())
ts << " {" << tagName << "}";
- if (renderRegion->node()->isElementNode() && renderRegion->node()->hasID()) {
- Element* element = static_cast<Element*>(renderRegion->node());
+ if (renderRegion->generatingNode()->isElementNode() && renderRegion->generatingNode()->hasID()) {
+ Element* element = static_cast<Element*>(renderRegion->generatingNode());
ts << " #" << element->idForStyleResolution();
}
if (renderRegion->hasCustomRegionStyle())
@@ -792,29 +789,36 @@ static void writeLayers(TextStream& ts, const RenderLayer* rootLayer, RenderLaye
static String nodePosition(Node* node)
{
- String result;
+ StringBuilder result;
Element* body = node->document()->body();
Node* parent;
for (Node* n = node; n; n = parent) {
parent = n->parentOrHostNode();
if (n != node)
- result += " of ";
+ result.appendLiteral(" of ");
if (parent) {
if (body && n == body) {
// We don't care what offset body may be in the document.
- result += "body";
+ result.appendLiteral("body");
break;
}
- if (n->isShadowRoot())
- result += "{" + getTagName(n) + "}";
- else
- result += "child " + String::number(n->nodeIndex()) + " {" + getTagName(n) + "}";
+ if (n->isShadowRoot()) {
+ result.append('{');
+ result.append(getTagName(n));
+ result.append('}');
+ } else {
+ result.appendLiteral("child ");
+ result.appendNumber(n->nodeIndex());
+ result.appendLiteral(" {");
+ result.append(getTagName(n));
+ result.append('}');
+ }
} else
- result += "document";
+ result.appendLiteral("document");
}
- return result;
+ return result.toString();
}
static void writeSelection(TextStream& ts, const RenderObject* o)
diff --git a/Source/WebCore/rendering/RenderView.cpp b/Source/WebCore/rendering/RenderView.cpp
index 8cc34a330..c79c66426 100644
--- a/Source/WebCore/rendering/RenderView.cpp
+++ b/Source/WebCore/rendering/RenderView.cpp
@@ -248,6 +248,11 @@ void RenderView::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset)
ASSERT(!needsLayout());
// RenderViews should never be called to paint with an offset not on device pixels.
ASSERT(LayoutPoint(IntPoint(paintOffset.x(), paintOffset.y())) == paintOffset);
+
+ // This avoids painting garbage between columns if there is a column gap.
+ if (m_frameView && m_frameView->pagination().mode != Pagination::Unpaginated)
+ paintInfo.context->fillRect(paintInfo.rect, m_frameView->baseBackgroundColor(), ColorSpaceDeviceRGB);
+
paintObject(paintInfo, paintOffset);
}
@@ -811,11 +816,6 @@ void RenderView::pushLayoutState(RenderObject* root)
m_layoutState = new (renderArena()) LayoutState(root);
}
-void RenderView::pushLayoutState(RenderFlowThread* flowThread, bool regionsChanged)
-{
- m_layoutState = new (renderArena()) LayoutState(m_layoutState, flowThread, regionsChanged);
-}
-
bool RenderView::shouldDisableLayoutStateForSubtree(RenderObject* renderer) const
{
RenderObject* o = renderer;
@@ -937,19 +937,4 @@ RenderBlock::IntervalArena* RenderView::intervalArena()
return m_intervalArena.get();
}
-void RenderView::setFixedPositionedObjectsNeedLayout()
-{
- ASSERT(m_frameView);
-
- ListHashSet<RenderBox*>* positionedObjects = this->positionedObjects();
- if (!positionedObjects)
- return;
-
- ListHashSet<RenderBox*>::const_iterator end = positionedObjects->end();
- for (ListHashSet<RenderBox*>::const_iterator it = positionedObjects->begin(); it != end; ++it) {
- RenderBox* currBox = *it;
- currBox->setNeedsLayout(true);
- }
-}
-
} // namespace WebCore
diff --git a/Source/WebCore/rendering/RenderView.h b/Source/WebCore/rendering/RenderView.h
index 296c629ec..4848ca9bb 100644
--- a/Source/WebCore/rendering/RenderView.h
+++ b/Source/WebCore/rendering/RenderView.h
@@ -193,8 +193,6 @@ public:
IntSize viewportSize() const { return document()->viewportSize(); }
- void setFixedPositionedObjectsNeedLayout();
-
void setRenderQuoteHead(RenderQuote* head) { m_renderQuoteHead = head; }
RenderQuote* renderQuoteHead() const { return m_renderQuoteHead; }
@@ -351,17 +349,7 @@ public:
, m_didCreateLayoutState(false)
{
}
-
- LayoutStateMaintainer(RenderView* view, RenderFlowThread* flowThread, bool regionsChanged)
- : m_view(view)
- , m_disabled(false)
- , m_didStart(false)
- , m_didEnd(false)
- , m_didCreateLayoutState(false)
- {
- push(flowThread, regionsChanged);
- }
-
+
~LayoutStateMaintainer()
{
ASSERT(m_didStart == m_didEnd); // if this fires, it means that someone did a push(), but forgot to pop().
@@ -376,14 +364,6 @@ public:
m_view->disableLayoutState();
m_didStart = true;
}
-
- void push(RenderFlowThread* flowThread, bool regionsChanged)
- {
- ASSERT(!m_didStart);
- m_view->pushLayoutState(flowThread, regionsChanged);
- m_didCreateLayoutState = true;
- m_didStart = true;
- }
void pop()
{
diff --git a/Source/WebCore/rendering/RenderWidget.cpp b/Source/WebCore/rendering/RenderWidget.cpp
index fc4f2f35a..9537edf5d 100644
--- a/Source/WebCore/rendering/RenderWidget.cpp
+++ b/Source/WebCore/rendering/RenderWidget.cpp
@@ -385,10 +385,10 @@ RenderWidget* RenderWidget::find(const Widget* widget)
return widgetRendererMap().get(widget);
}
-bool RenderWidget::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
+bool RenderWidget::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction action)
{
bool hadResult = result.innerNode();
- bool inside = RenderReplaced::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, action);
+ bool inside = RenderReplaced::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, action);
// Check to see if we are really over the widget itself (and not just in the border/padding area).
if ((inside || result.isRectBasedTest()) && !hadResult && result.innerNode() == node())
diff --git a/Source/WebCore/rendering/RenderWidget.h b/Source/WebCore/rendering/RenderWidget.h
index b93ae7b5a..b7db3b809 100644
--- a/Source/WebCore/rendering/RenderWidget.h
+++ b/Source/WebCore/rendering/RenderWidget.h
@@ -60,7 +60,7 @@ protected:
virtual void layout();
virtual void paint(PaintInfo&, const LayoutPoint&);
virtual CursorDirective getCursor(const LayoutPoint&, Cursor&) const;
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
private:
virtual bool isWidget() const { return true; }
diff --git a/Source/WebCore/rendering/RenderingAllInOne.cpp b/Source/WebCore/rendering/RenderingAllInOne.cpp
index 1f0a4a38e..03bdd3f8b 100644
--- a/Source/WebCore/rendering/RenderingAllInOne.cpp
+++ b/Source/WebCore/rendering/RenderingAllInOne.cpp
@@ -51,6 +51,7 @@
#include "RenderCounter.cpp"
#include "RenderDeprecatedFlexibleBox.cpp"
#include "RenderDetailsMarker.cpp"
+#include "RenderDialog.cpp"
#include "RenderEmbeddedObject.cpp"
#include "RenderFieldset.cpp"
#include "RenderFileUploadControl.cpp"
diff --git a/Source/WebCore/rendering/RootInlineBox.cpp b/Source/WebCore/rendering/RootInlineBox.cpp
index 4313fa735..928fe667e 100644
--- a/Source/WebCore/rendering/RootInlineBox.cpp
+++ b/Source/WebCore/rendering/RootInlineBox.cpp
@@ -217,15 +217,15 @@ void RootInlineBox::paint(PaintInfo& paintInfo, const LayoutPoint& paintOffset,
#endif
}
-bool RootInlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom)
+bool RootInlineBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom)
{
if (hasEllipsisBox() && visibleToHitTesting()) {
- if (ellipsisBox()->nodeAtPoint(request, result, pointInContainer, accumulatedOffset, lineTop, lineBottom)) {
- renderer()->updateHitTestResult(result, pointInContainer.point() - toLayoutSize(accumulatedOffset));
+ if (ellipsisBox()->nodeAtPoint(request, result, locationInContainer, accumulatedOffset, lineTop, lineBottom)) {
+ renderer()->updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset));
return true;
}
}
- return InlineFlowBox::nodeAtPoint(request, result, pointInContainer, accumulatedOffset, lineTop, lineBottom);
+ return InlineFlowBox::nodeAtPoint(request, result, locationInContainer, accumulatedOffset, lineTop, lineBottom);
}
void RootInlineBox::adjustPosition(float dx, float dy)
diff --git a/Source/WebCore/rendering/RootInlineBox.h b/Source/WebCore/rendering/RootInlineBox.h
index 27c1afcea..525b29503 100644
--- a/Source/WebCore/rendering/RootInlineBox.h
+++ b/Source/WebCore/rendering/RootInlineBox.h
@@ -118,7 +118,7 @@ public:
#endif
virtual void paint(PaintInfo&, const LayoutPoint&, LayoutUnit lineTop, LayoutUnit lineBottom);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
using InlineBox::hasSelectedChildren;
using InlineBox::setHasSelectedChildren;
diff --git a/Source/WebCore/rendering/TextAutosizer.h b/Source/WebCore/rendering/TextAutosizer.h
index c8ade00f7..ae9fd8363 100644
--- a/Source/WebCore/rendering/TextAutosizer.h
+++ b/Source/WebCore/rendering/TextAutosizer.h
@@ -28,7 +28,7 @@
#if ENABLE(TEXT_AUTOSIZING)
-#include "LayoutTypes.h"
+#include "IntSize.h"
#include <wtf/Noncopyable.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
diff --git a/Source/WebCore/rendering/WrapShapeInfo.cpp b/Source/WebCore/rendering/WrapShapeInfo.cpp
new file mode 100644
index 000000000..8ef73c7fc
--- /dev/null
+++ b/Source/WebCore/rendering/WrapShapeInfo.cpp
@@ -0,0 +1,144 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER “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 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 "WrapShapeInfo.h"
+
+#if ENABLE(CSS_EXCLUSIONS)
+
+#include "NotImplemented.h"
+#include "RenderBlock.h"
+#include <wtf/HashMap.h>
+#include <wtf/OwnPtr.h>
+
+namespace WebCore {
+
+typedef HashMap<const RenderBlock*, OwnPtr<WrapShapeInfo> > WrapShapeInfoMap;
+
+static WrapShapeInfoMap& wrapShapeInfoMap()
+{
+ DEFINE_STATIC_LOCAL(WrapShapeInfoMap, staticWrapShapeInfoMap, ());
+ return staticWrapShapeInfoMap;
+}
+
+WrapShapeInfo::WrapShapeInfo(RenderBlock* block)
+ : m_block(block)
+ , m_wrapShapeSizeDirty(true)
+{
+}
+
+WrapShapeInfo::~WrapShapeInfo()
+{
+}
+
+WrapShapeInfo* WrapShapeInfo::ensureWrapShapeInfoForRenderBlock(RenderBlock* block)
+{
+ WrapShapeInfoMap::AddResult result = wrapShapeInfoMap().add(block, create(block));
+ return result.iterator->second.get();
+}
+
+WrapShapeInfo* WrapShapeInfo::wrapShapeInfoForRenderBlock(const RenderBlock* block)
+{
+ ASSERT(block->style()->wrapShapeInside());
+ return wrapShapeInfoMap().get(block);
+}
+
+bool WrapShapeInfo::isWrapShapeInfoEnabledForRenderBlock(const RenderBlock* block)
+{
+ // FIXME: Bug 89705: Enable shape inside for vertical writing modes
+ if (!block->isHorizontalWritingMode())
+ return false;
+
+ // FIXME: Bug 89707: Enable shape inside for non-rectangular shapes
+ BasicShape* shape = block->style()->wrapShapeInside();
+ return (shape && shape->type() == BasicShape::BASIC_SHAPE_RECTANGLE);
+}
+
+void WrapShapeInfo::removeWrapShapeInfoForRenderBlock(const RenderBlock* block)
+{
+ if (!block->style() || !block->style()->wrapShapeInside())
+ return;
+ wrapShapeInfoMap().remove(block);
+}
+
+bool WrapShapeInfo::hasSegments() const
+{
+ // All line positions within a shape should have at least one segment
+ ASSERT(lineState() != LINE_INSIDE_SHAPE || m_segments.size());
+ return m_segments.size();
+}
+
+void WrapShapeInfo::computeShapeSize(LayoutUnit logicalWidth, LayoutUnit logicalHeight)
+{
+ if (!m_wrapShapeSizeDirty && logicalWidth == m_logicalWidth && logicalHeight == m_logicalHeight)
+ return;
+
+ m_wrapShapeSizeDirty = false;
+ m_logicalWidth = logicalWidth;
+ m_logicalHeight = logicalHeight;
+
+ // FIXME: Bug 89993: The wrap shape may come from the parent object
+ BasicShape* shape = m_block->style()->wrapShapeInside();
+
+ ASSERT(shape);
+
+ switch (shape->type()) {
+ case BasicShape::BASIC_SHAPE_RECTANGLE: {
+ BasicShapeRectangle* rect = static_cast<BasicShapeRectangle *>(shape);
+ m_shapeLeft = valueForLength(rect->x(), m_logicalWidth);
+ m_shapeWidth = valueForLength(rect->width(), m_logicalWidth);
+ m_shapeTop = valueForLength(rect->y(), m_logicalHeight);
+ m_shapeHeight = valueForLength(rect->height(), m_logicalHeight);
+ break;
+ }
+ // FIXME: Bug 89707: Enable shape inside for non-rectangular shapes
+ case BasicShape::BASIC_SHAPE_CIRCLE:
+ case BasicShape::BASIC_SHAPE_ELLIPSE:
+ case BasicShape::BASIC_SHAPE_POLYGON: {
+ notImplemented();
+ break;
+ }
+ }
+}
+
+bool WrapShapeInfo::computeSegmentsForLine(LayoutUnit lineTop)
+{
+ m_lineTop = lineTop;
+ m_segments.clear();
+ if (lineState() == LINE_INSIDE_SHAPE) {
+ LineSegment segment;
+ segment.logicalLeft = m_shapeLeft;
+ segment.logicalRight = m_shapeLeft + m_shapeWidth;
+ m_segments.append(segment);
+ }
+ return m_segments.size();
+}
+
+}
+#endif
diff --git a/Source/WebCore/rendering/WrapShapeInfo.h b/Source/WebCore/rendering/WrapShapeInfo.h
new file mode 100644
index 000000000..a8036d0bb
--- /dev/null
+++ b/Source/WebCore/rendering/WrapShapeInfo.h
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER “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 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 WrapShapeInfo_h
+#define WrapShapeInfo_h
+
+#if ENABLE(CSS_EXCLUSIONS)
+
+#include "LayoutTypesInlineMethods.h"
+#include <wtf/PassOwnPtr.h>
+#include <wtf/Vector.h>
+
+namespace WebCore {
+
+class RenderBlock;
+class WrapShapeInfo;
+
+struct LineSegment {
+ LayoutUnit logicalLeft;
+ LayoutUnit logicalRight;
+};
+
+typedef Vector<LineSegment> SegmentList;
+
+class WrapShapeInfo {
+public:
+ enum LineState {
+ LINE_BEFORE_SHAPE,
+ LINE_INSIDE_SHAPE,
+ LINE_AFTER_SHAPE
+ };
+
+ ~WrapShapeInfo();
+
+ static PassOwnPtr<WrapShapeInfo> create(RenderBlock* block) { return adoptPtr(new WrapShapeInfo(block)); }
+ static WrapShapeInfo* wrapShapeInfoForRenderBlock(const RenderBlock*);
+ static WrapShapeInfo* ensureWrapShapeInfoForRenderBlock(RenderBlock*);
+ static void removeWrapShapeInfoForRenderBlock(const RenderBlock*);
+ static bool isWrapShapeInfoEnabledForRenderBlock(const RenderBlock*);
+
+ LayoutUnit shapeTop() const { return m_shapeTop; }
+ bool hasSegments() const;
+ const SegmentList& segments() const
+ {
+ ASSERT(hasSegments());
+ return m_segments;
+ }
+ bool computeSegmentsForLine(LayoutUnit);
+ LineState lineState() const;
+ void computeShapeSize(LayoutUnit logicalWidth, LayoutUnit logicalHeight);
+ void dirtyWrapShapeSize() { m_wrapShapeSizeDirty = true; }
+
+private:
+ WrapShapeInfo(RenderBlock*);
+
+ RenderBlock* m_block;
+ LayoutUnit m_shapeLeft;
+ LayoutUnit m_shapeTop;
+ LayoutUnit m_shapeWidth;
+ LayoutUnit m_shapeHeight;
+
+ LayoutUnit m_lineTop;
+ LayoutUnit m_logicalWidth;
+ LayoutUnit m_logicalHeight;
+
+ SegmentList m_segments;
+ bool m_wrapShapeSizeDirty;
+};
+
+inline WrapShapeInfo::LineState WrapShapeInfo::lineState() const
+{
+ if (m_lineTop < m_shapeTop)
+ return LINE_BEFORE_SHAPE;
+ if (m_lineTop < m_shapeTop + m_shapeHeight)
+ return LINE_INSIDE_SHAPE;
+ return LINE_AFTER_SHAPE;
+}
+
+}
+#endif
+#endif
diff --git a/Source/WebCore/rendering/break_lines.cpp b/Source/WebCore/rendering/break_lines.cpp
index 4bba3ce7e..f1b5ca18f 100644
--- a/Source/WebCore/rendering/break_lines.cpp
+++ b/Source/WebCore/rendering/break_lines.cpp
@@ -38,7 +38,8 @@
namespace WebCore {
-static inline bool isBreakableSpace(UChar ch, bool treatNoBreakSpaceAsBreak)
+template<bool treatNoBreakSpaceAsBreak>
+static inline bool isBreakableSpace(UChar ch)
{
switch (ch) {
case ' ':
@@ -138,12 +139,16 @@ static inline bool shouldBreakAfter(UChar lastCh, UChar ch, UChar nextCh)
return false;
}
-static inline bool needsLineBreakIterator(UChar ch)
+template<bool treatNoBreakSpaceAsBreak>
+inline bool needsLineBreakIterator(UChar ch)
{
+ if (treatNoBreakSpaceAsBreak)
+ return ch > asciiLineBreakTableLastChar;
return ch > asciiLineBreakTableLastChar && ch != noBreakSpace;
}
-int nextBreakablePosition(LazyLineBreakIterator& lazyBreakIterator, int pos, bool treatNoBreakSpaceAsBreak)
+template<bool treatNoBreakSpaceAsBreak>
+static inline int nextBreakablePosition(LazyLineBreakIterator& lazyBreakIterator, int pos)
{
const UChar* str = lazyBreakIterator.string();
int len = lazyBreakIterator.length();
@@ -154,16 +159,16 @@ int nextBreakablePosition(LazyLineBreakIterator& lazyBreakIterator, int pos, boo
for (int i = pos; i < len; i++) {
UChar ch = str[i];
- if (isBreakableSpace(ch, treatNoBreakSpaceAsBreak) || shouldBreakAfter(lastLastCh, lastCh, ch))
+ if (isBreakableSpace<treatNoBreakSpaceAsBreak>(ch) || shouldBreakAfter(lastLastCh, lastCh, ch))
return i;
- if (needsLineBreakIterator(ch) || needsLineBreakIterator(lastCh)) {
+ if (needsLineBreakIterator<treatNoBreakSpaceAsBreak>(ch) || needsLineBreakIterator<treatNoBreakSpaceAsBreak>(lastCh)) {
if (nextBreak < i && i) {
TextBreakIterator* breakIterator = lazyBreakIterator.get();
if (breakIterator)
nextBreak = textBreakFollowing(breakIterator, i - 1);
}
- if (i == nextBreak && !isBreakableSpace(lastCh, treatNoBreakSpaceAsBreak))
+ if (i == nextBreak && !isBreakableSpace<treatNoBreakSpaceAsBreak>(lastCh))
return i;
}
@@ -174,4 +179,14 @@ int nextBreakablePosition(LazyLineBreakIterator& lazyBreakIterator, int pos, boo
return len;
}
+int nextBreakablePositionIgnoringNBSP(LazyLineBreakIterator& lazyBreakIterator, int pos)
+{
+ return nextBreakablePosition<false>(lazyBreakIterator, pos);
+}
+
+int nextBreakablePosition(LazyLineBreakIterator& lazyBreakIterator, int pos)
+{
+ return nextBreakablePosition<true>(lazyBreakIterator, pos);
+}
+
} // namespace WebCore
diff --git a/Source/WebCore/rendering/break_lines.h b/Source/WebCore/rendering/break_lines.h
index 6600e524b..692363009 100644
--- a/Source/WebCore/rendering/break_lines.h
+++ b/Source/WebCore/rendering/break_lines.h
@@ -27,12 +27,17 @@ namespace WebCore {
class LazyLineBreakIterator;
-int nextBreakablePosition(LazyLineBreakIterator&, int pos, bool breakNBSP = false);
+int nextBreakablePositionIgnoringNBSP(LazyLineBreakIterator&, int pos);
+int nextBreakablePosition(LazyLineBreakIterator&, int pos);
-inline bool isBreakable(LazyLineBreakIterator& lazyBreakIterator, int pos, int& nextBreakable, bool breakNBSP = false)
+inline bool isBreakable(LazyLineBreakIterator& lazyBreakIterator, int pos, int& nextBreakable, bool breakNBSP)
{
- if (pos > nextBreakable)
- nextBreakable = nextBreakablePosition(lazyBreakIterator, pos, breakNBSP);
+ if (pos > nextBreakable) {
+ if (breakNBSP)
+ nextBreakable = nextBreakablePosition(lazyBreakIterator, pos);
+ else
+ nextBreakable = nextBreakablePositionIgnoringNBSP(lazyBreakIterator, pos);
+ }
return pos == nextBreakable;
}
diff --git a/Source/WebCore/rendering/style/BasicShapes.cpp b/Source/WebCore/rendering/style/BasicShapes.cpp
new file mode 100644
index 000000000..9b1245f66
--- /dev/null
+++ b/Source/WebCore/rendering/style/BasicShapes.cpp
@@ -0,0 +1,93 @@
+/*
+ * Copyright (C) 2012 Adobe Systems Incorporated. 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 HOLDER "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 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 "BasicShapes.h"
+#include "FloatRect.h"
+#include "LengthFunctions.h"
+#include "Path.h"
+
+namespace WebCore {
+
+void BasicShapeRectangle::path(Path& path, const FloatRect& boundingBox)
+{
+ ASSERT(path.isEmpty());
+ path.addRoundedRect(FloatRect(floatValueForLength(m_x, boundingBox.width()) + boundingBox.x(),
+ floatValueForLength(m_y, boundingBox.height()) + boundingBox.y(),
+ floatValueForLength(m_width, boundingBox.width()),
+ floatValueForLength(m_height, boundingBox.height())),
+ FloatSize(m_cornerRadiusX.isUndefined() ? 0 : floatValueForLength(m_cornerRadiusX, boundingBox.width()),
+ m_cornerRadiusY.isUndefined() ? 0 : floatValueForLength(m_cornerRadiusY, boundingBox.height())));
+}
+
+void BasicShapeCircle::path(Path& path, const FloatRect& boundingBox)
+{
+ ASSERT(path.isEmpty());
+ float diagonal = sqrtf((boundingBox.width() * boundingBox.width() + boundingBox.height() * boundingBox.height()) / 2);
+ float centerX = floatValueForLength(m_centerX, boundingBox.width());
+ float centerY = floatValueForLength(m_centerY, boundingBox.height());
+ float radius = floatValueForLength(m_radius, diagonal);
+ path.addEllipse(FloatRect(centerX - radius + boundingBox.x(),
+ centerY - radius + boundingBox.y(),
+ radius * 2,
+ radius * 2));
+}
+
+void BasicShapeEllipse::path(Path& path, const FloatRect& boundingBox)
+{
+ ASSERT(path.isEmpty());
+ float centerX = floatValueForLength(m_centerX, boundingBox.width());
+ float centerY = floatValueForLength(m_centerY, boundingBox.height());
+ float radiusX = floatValueForLength(m_radiusX, boundingBox.width());
+ float radiusY = floatValueForLength(m_radiusY, boundingBox.height());
+ path.addEllipse(FloatRect(centerX - radiusX + boundingBox.x(),
+ centerY - radiusY + boundingBox.y(),
+ radiusX * 2,
+ radiusY * 2));
+}
+
+void BasicShapePolygon::path(Path& path, const FloatRect& boundingBox)
+{
+ ASSERT(path.isEmpty());
+ ASSERT(!(m_values.size() % 2));
+ size_t length = m_values.size();
+
+ if (!length)
+ return;
+
+ path.moveTo(FloatPoint(floatValueForLength(m_values.at(0), boundingBox.width()) + boundingBox.x(),
+ floatValueForLength(m_values.at(1), boundingBox.width()) + boundingBox.y()));
+ for (size_t i = 2; i < length; i = i + 2) {
+ path.addLineTo(FloatPoint(floatValueForLength(m_values.at(i), boundingBox.width()) + boundingBox.x(),
+ floatValueForLength(m_values.at(i + 1), boundingBox.width()) + boundingBox.y()));
+ }
+ path.closeSubpath();
+}
+}
diff --git a/Source/WebCore/rendering/style/WrapShapes.h b/Source/WebCore/rendering/style/BasicShapes.h
index 86928b68c..ad1182676 100644
--- a/Source/WebCore/rendering/style/WrapShapes.h
+++ b/Source/WebCore/rendering/style/BasicShapes.h
@@ -27,46 +27,42 @@
* SUCH DAMAGE.
*/
-#ifndef WrapShapes_h
-#define WrapShapes_h
+#ifndef BasicShapes_h
+#define BasicShapes_h
#include "Length.h"
#include "WindRule.h"
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/Vector.h>
namespace WebCore {
-class WrapShape : public WTF::RefCountedBase {
+class FloatRect;
+class Path;
+
+class BasicShape : public RefCounted<BasicShape> {
public:
+ virtual ~BasicShape() { }
+
enum Type {
- WRAP_SHAPE_RECTANGLE = 1,
- WRAP_SHAPE_CIRCLE = 2,
- WRAP_SHAPE_ELLIPSE = 3,
- WRAP_SHAPE_POLYGON = 4
+ BASIC_SHAPE_RECTANGLE = 1,
+ BASIC_SHAPE_CIRCLE = 2,
+ BASIC_SHAPE_ELLIPSE = 3,
+ BASIC_SHAPE_POLYGON = 4
};
-
- void deref()
- {
- if (derefBase())
- destroy();
- }
- Type type() const { return m_type; }
+ virtual void path(Path&, const FloatRect&) = 0;
+ virtual WindRule windRule() const { return RULE_NONZERO; }
+ virtual Type type() const = 0;
protected:
- WrapShape(Type type)
- : m_type(type)
- { }
-
-private:
- void destroy();
- Type m_type;
+ BasicShape() { }
};
-class WrapShapeRectangle : public WrapShape {
+class BasicShapeRectangle : public BasicShape {
public:
- static PassRefPtr<WrapShapeRectangle> create() { return adoptRef(new WrapShapeRectangle); }
+ static PassRefPtr<BasicShapeRectangle> create() { return adoptRef(new BasicShapeRectangle); }
Length x() const { return m_x; }
Length y() const { return m_y; }
@@ -81,11 +77,13 @@ public:
void setHeight(Length height) { m_height = height; }
void setCornerRadiusX(Length radiusX) { m_cornerRadiusX = radiusX; }
void setCornerRadiusY(Length radiusY) { m_cornerRadiusY = radiusY; }
-
+
+ virtual void path(Path&, const FloatRect&);
+
+ virtual Type type() const { return BASIC_SHAPE_RECTANGLE; }
private:
- WrapShapeRectangle()
- : WrapShape(WRAP_SHAPE_RECTANGLE)
- , m_cornerRadiusX(Undefined)
+ BasicShapeRectangle()
+ : m_cornerRadiusX(Undefined)
, m_cornerRadiusY(Undefined)
{ }
@@ -97,9 +95,9 @@ private:
Length m_cornerRadiusY;
};
-class WrapShapeCircle : public WrapShape {
+class BasicShapeCircle : public BasicShape {
public:
- static PassRefPtr<WrapShapeCircle> create() { return adoptRef(new WrapShapeCircle); }
+ static PassRefPtr<BasicShapeCircle> create() { return adoptRef(new BasicShapeCircle); }
Length centerX() const { return m_centerX; }
Length centerY() const { return m_centerY; }
@@ -109,19 +107,20 @@ public:
void setCenterY(Length centerY) { m_centerY = centerY; }
void setRadius(Length radius) { m_radius = radius; }
+ virtual void path(Path&, const FloatRect&);
+
+ virtual Type type() const { return BASIC_SHAPE_CIRCLE; }
private:
- WrapShapeCircle()
- : WrapShape(WRAP_SHAPE_CIRCLE)
- { }
+ BasicShapeCircle() { }
Length m_centerX;
Length m_centerY;
Length m_radius;
};
-class WrapShapeEllipse : public WrapShape {
+class BasicShapeEllipse : public BasicShape {
public:
- static PassRefPtr<WrapShapeEllipse> create() { return adoptRef(new WrapShapeEllipse); }
+ static PassRefPtr<BasicShapeEllipse> create() { return adoptRef(new BasicShapeEllipse); }
Length centerX() const { return m_centerX; }
Length centerY() const { return m_centerY; }
@@ -133,10 +132,11 @@ public:
void setRadiusX(Length radiusX) { m_radiusX = radiusX; }
void setRadiusY(Length radiusY) { m_radiusY = radiusY; }
+ virtual void path(Path&, const FloatRect&);
+
+ virtual Type type() const { return BASIC_SHAPE_ELLIPSE; }
private:
- WrapShapeEllipse()
- : WrapShape(WRAP_SHAPE_ELLIPSE)
- { }
+ BasicShapeEllipse() { }
Length m_centerX;
Length m_centerY;
@@ -144,11 +144,10 @@ private:
Length m_radiusY;
};
-class WrapShapePolygon : public WrapShape {
+class BasicShapePolygon : public BasicShape {
public:
- static PassRefPtr<WrapShapePolygon> create() { return adoptRef(new WrapShapePolygon); }
+ static PassRefPtr<BasicShapePolygon> create() { return adoptRef(new BasicShapePolygon); }
- WindRule windRule() const { return m_windRule; }
const Vector<Length>& values() const { return m_values; }
Length getXAt(unsigned i) const { return m_values.at(2 * i); }
Length getYAt(unsigned i) const { return m_values.at(2 * i + 1); }
@@ -156,10 +155,13 @@ public:
void setWindRule(WindRule windRule) { m_windRule = windRule; }
void appendPoint(Length x, Length y) { m_values.append(x); m_values.append(y); }
+ virtual void path(Path&, const FloatRect&);
+ virtual WindRule windRule() const { return m_windRule; }
+
+ virtual Type type() const { return BASIC_SHAPE_POLYGON; }
private:
- WrapShapePolygon()
- : WrapShape(WRAP_SHAPE_POLYGON)
- , m_windRule(RULE_NONZERO)
+ BasicShapePolygon()
+ : m_windRule(RULE_NONZERO)
{ }
WindRule m_windRule;
diff --git a/Source/WebCore/rendering/style/CounterDirectives.cpp b/Source/WebCore/rendering/style/CounterDirectives.cpp
index 34becba98..06d44ddf6 100644
--- a/Source/WebCore/rendering/style/CounterDirectives.cpp
+++ b/Source/WebCore/rendering/style/CounterDirectives.cpp
@@ -27,13 +27,10 @@ namespace WebCore {
bool operator==(const CounterDirectives& a, const CounterDirectives& b)
{
- if (a.m_reset != b.m_reset || a.m_increment != b.m_increment)
- return false;
- if (a.m_reset && a.m_resetValue != b.m_resetValue)
- return false;
- if (a.m_increment && a.m_incrementValue != b.m_incrementValue)
- return false;
- return true;
+ return a.isIncrement() == b.isIncrement()
+ && a.incrementValue() == b.incrementValue()
+ && a.isReset() == b.isReset()
+ && a.resetValue() == b.resetValue();
}
PassOwnPtr<CounterDirectiveMap> clone(const CounterDirectiveMap& counterDirectives)
diff --git a/Source/WebCore/rendering/style/CounterDirectives.h b/Source/WebCore/rendering/style/CounterDirectives.h
index 1bdcb9061..cf793bb8f 100644
--- a/Source/WebCore/rendering/style/CounterDirectives.h
+++ b/Source/WebCore/rendering/style/CounterDirectives.h
@@ -26,20 +26,75 @@
#define CounterDirectives_h
#include <wtf/HashMap.h>
+#include <wtf/MathExtras.h>
#include <wtf/RefPtr.h>
-#include <wtf/text/AtomicStringImpl.h>
+#include <wtf/text/AtomicString.h>
+#include <wtf/text/AtomicStringHash.h>
namespace WebCore {
-struct CounterDirectives {
+class CounterDirectives {
+public:
CounterDirectives()
- : m_reset(false)
- , m_increment(false)
+ : m_isResetSet(false)
+ , m_isIncrementSet(false)
+ , m_resetValue(0)
+ , m_incrementValue(0)
{
}
- bool m_reset;
- bool m_increment;
+ // FIXME: The code duplication here could possibly be replaced by using two
+ // maps, or by using a container that held two generic Directive objects.
+
+ bool isReset() const { return m_isResetSet; }
+ int resetValue() const { return m_resetValue; }
+ void setResetValue(int value)
+ {
+ m_resetValue = value;
+ m_isResetSet = true;
+ }
+ void clearReset()
+ {
+ m_resetValue = 0;
+ m_isResetSet = false;
+ }
+ void inheritReset(CounterDirectives& parent)
+ {
+ m_resetValue = parent.m_resetValue;
+ m_isResetSet = parent.m_isResetSet;
+ }
+
+ bool isIncrement() const { return m_isIncrementSet; }
+ int incrementValue() const { return m_incrementValue; }
+ void addIncrementValue(int value)
+ {
+ m_incrementValue = clampToInteger((double)m_incrementValue + value);
+ m_isIncrementSet = true;
+ }
+ void clearIncrement()
+ {
+ m_incrementValue = 0;
+ m_isIncrementSet = false;
+ }
+ void inheritIncrement(CounterDirectives& parent)
+ {
+ m_incrementValue = parent.m_incrementValue;
+ m_isIncrementSet = parent.m_isIncrementSet;
+ }
+
+ bool isDefined() const { return isReset() || isIncrement(); }
+
+ int combinedValue() const
+ {
+ ASSERT(m_isResetSet || !m_resetValue);
+ ASSERT(m_isIncrementSet || !m_incrementValue);
+ // FIXME: Shouldn't allow overflow here.
+ return m_resetValue + m_incrementValue;
+ }
+
+private:
+ bool m_isResetSet;
+ bool m_isIncrementSet;
int m_resetValue;
int m_incrementValue;
};
@@ -47,7 +102,7 @@ struct CounterDirectives {
bool operator==(const CounterDirectives&, const CounterDirectives&);
inline bool operator!=(const CounterDirectives& a, const CounterDirectives& b) { return !(a == b); }
-typedef HashMap<RefPtr<AtomicStringImpl>, CounterDirectives> CounterDirectiveMap;
+typedef HashMap<AtomicString, CounterDirectives> CounterDirectiveMap;
PassOwnPtr<CounterDirectiveMap> clone(const CounterDirectiveMap&);
diff --git a/Source/WebCore/rendering/style/DataRef.h b/Source/WebCore/rendering/style/DataRef.h
index c8d8072cb..91a78451d 100644
--- a/Source/WebCore/rendering/style/DataRef.h
+++ b/Source/WebCore/rendering/style/DataRef.h
@@ -62,6 +62,14 @@ public:
return m_data != o.m_data && *m_data != *o.m_data;
}
+ // Template helps us to write the implementation without MemoryInstrumentation.h include.
+ template<typename MemoryObjectInfo>
+ void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+ {
+ typename MemoryObjectInfo::ClassInfo info(memoryObjectInfo, this);
+ info.addInstrumentedMember(m_data);
+ }
+
private:
RefPtr<T> m_data;
};
diff --git a/Source/WebCore/rendering/style/RenderStyle.cpp b/Source/WebCore/rendering/style/RenderStyle.cpp
index b1b5faab0..f160d9ecc 100644
--- a/Source/WebCore/rendering/style/RenderStyle.cpp
+++ b/Source/WebCore/rendering/style/RenderStyle.cpp
@@ -28,7 +28,6 @@
#include "CSSPropertyNames.h"
#include "Font.h"
#include "FontSelector.h"
-#include "MemoryInstrumentation.h"
#include "QuotesData.h"
#include "RenderArena.h"
#include "RenderObject.h"
@@ -40,6 +39,7 @@
#if ENABLE(TOUCH_EVENTS)
#include "RenderTheme.h"
#endif
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/StdLibExtras.h>
#include <algorithm>
@@ -455,6 +455,11 @@ StyleDifference RenderStyle::diff(const RenderStyle* other, unsigned& changedCon
if (rareNonInheritedData->m_dashboardRegions != other->rareNonInheritedData->m_dashboardRegions)
return StyleDifferenceLayout;
#endif
+
+#if ENABLE(CSS_EXCLUSIONS)
+ if (rareNonInheritedData->m_wrapShapeInside != other->rareNonInheritedData->m_wrapShapeInside)
+ return StyleDifferenceLayout;
+#endif
}
if (rareInheritedData.get() != other->rareInheritedData.get()) {
@@ -463,7 +468,7 @@ StyleDifference RenderStyle::diff(const RenderStyle* other, unsigned& changedCon
|| rareInheritedData->m_effectiveZoom != other->rareInheritedData->m_effectiveZoom
|| rareInheritedData->textSizeAdjust != other->rareInheritedData->textSizeAdjust
|| rareInheritedData->wordBreak != other->rareInheritedData->wordBreak
- || rareInheritedData->wordWrap != other->rareInheritedData->wordWrap
+ || rareInheritedData->overflowWrap != other->rareInheritedData->overflowWrap
|| rareInheritedData->nbspMode != other->rareInheritedData->nbspMode
|| rareInheritedData->khtmlLineBreak != other->rareInheritedData->khtmlLineBreak
|| rareInheritedData->textSecurity != other->rareInheritedData->textSecurity
@@ -673,10 +678,13 @@ StyleDifference RenderStyle::diff(const RenderStyle* other, unsigned& changedCon
// the parent container. For sure, I will have to revisit this code, but for now I've added this in order
// to avoid having diff() == StyleDifferenceEqual where wrap-shapes actually differ.
// Tracking bug: https://bugs.webkit.org/show_bug.cgi?id=62991
- if (rareNonInheritedData->m_wrapShapeInside != other->rareNonInheritedData->m_wrapShapeInside
- || rareNonInheritedData->m_wrapShapeOutside != other->rareNonInheritedData->m_wrapShapeOutside)
+ if (rareNonInheritedData->m_wrapShapeOutside != other->rareNonInheritedData->m_wrapShapeOutside)
+ return StyleDifferenceRepaint;
+
+ if (rareNonInheritedData->m_clipPath != other->rareNonInheritedData->m_clipPath)
return StyleDifferenceRepaint;
+
#if USE(ACCELERATED_COMPOSITING)
if (rareNonInheritedData.get() != other->rareNonInheritedData.get()) {
if (rareNonInheritedData->m_transformStyle3D != other->rareNonInheritedData->m_transformStyle3D
@@ -774,9 +782,7 @@ void RenderStyle::setContent(const String& string, bool add)
// We attempt to merge with the last ContentData if possible.
if (lastContent->isText()) {
TextContentData* textContent = static_cast<TextContentData*>(lastContent);
- String text = textContent->text();
- text += string;
- textContent->setText(text);
+ textContent->setText(textContent->text() + string);
} else
lastContent->setNext(ContentData::create(string));
@@ -1030,6 +1036,13 @@ CounterDirectiveMap& RenderStyle::accessCounterDirectives()
return *map;
}
+const CounterDirectives RenderStyle::getCounterDirectives(const AtomicString& identifier) const
+{
+ if (const CounterDirectiveMap* directives = counterDirectives())
+ return directives->get(identifier);
+ return CounterDirectives();
+}
+
const AtomicString& RenderStyle::hyphenString() const
{
ASSERT(hyphens() != HyphensNone);
@@ -1329,40 +1342,40 @@ Color RenderStyle::colorIncludingFallback(int colorProperty, bool visitedLink) c
EBorderStyle borderStyle = BNONE;
switch (colorProperty) {
case CSSPropertyBackgroundColor:
- return visitedLink ? rareNonInheritedData->m_visitedLinkBackgroundColor : backgroundColor(); // Background color doesn't fall back.
+ return visitedLink ? visitedLinkBackgroundColor() : backgroundColor(); // Background color doesn't fall back.
case CSSPropertyBorderLeftColor:
- result = visitedLink ? rareNonInheritedData->m_visitedLinkBorderLeftColor : borderLeftColor();
+ result = visitedLink ? visitedLinkBorderLeftColor() : borderLeftColor();
borderStyle = borderLeftStyle();
break;
case CSSPropertyBorderRightColor:
- result = visitedLink ? rareNonInheritedData->m_visitedLinkBorderRightColor : borderRightColor();
+ result = visitedLink ? visitedLinkBorderRightColor() : borderRightColor();
borderStyle = borderRightStyle();
break;
case CSSPropertyBorderTopColor:
- result = visitedLink ? rareNonInheritedData->m_visitedLinkBorderTopColor : borderTopColor();
+ result = visitedLink ? visitedLinkBorderTopColor() : borderTopColor();
borderStyle = borderTopStyle();
break;
case CSSPropertyBorderBottomColor:
- result = visitedLink ? rareNonInheritedData->m_visitedLinkBorderBottomColor : borderBottomColor();
+ result = visitedLink ? visitedLinkBorderBottomColor() : borderBottomColor();
borderStyle = borderBottomStyle();
break;
case CSSPropertyColor:
- result = visitedLink ? inherited->visitedLinkColor : color();
+ result = visitedLink ? visitedLinkColor() : color();
break;
case CSSPropertyOutlineColor:
- result = visitedLink ? rareNonInheritedData->m_visitedLinkOutlineColor : outlineColor();
+ result = visitedLink ? visitedLinkOutlineColor() : outlineColor();
break;
case CSSPropertyWebkitColumnRuleColor:
- result = visitedLink ? rareNonInheritedData->m_multiCol->m_visitedLinkColumnRuleColor : columnRuleColor();
+ result = visitedLink ? visitedLinkColumnRuleColor() : columnRuleColor();
break;
case CSSPropertyWebkitTextEmphasisColor:
- result = visitedLink ? rareInheritedData->visitedLinkTextEmphasisColor : textEmphasisColor();
+ result = visitedLink ? visitedLinkTextEmphasisColor() : textEmphasisColor();
break;
case CSSPropertyWebkitTextFillColor:
- result = visitedLink ? rareInheritedData->visitedLinkTextFillColor : textFillColor();
+ result = visitedLink ? visitedLinkTextFillColor() : textFillColor();
break;
case CSSPropertyWebkitTextStrokeColor:
- result = visitedLink ? rareInheritedData->visitedLinkTextStrokeColor : textStrokeColor();
+ result = visitedLink ? visitedLinkTextStrokeColor() : textStrokeColor();
break;
default:
ASSERT_NOT_REACHED();
@@ -1373,7 +1386,7 @@ Color RenderStyle::colorIncludingFallback(int colorProperty, bool visitedLink) c
if (!visitedLink && (borderStyle == INSET || borderStyle == OUTSET || borderStyle == RIDGE || borderStyle == GROOVE))
result.setRGB(238, 238, 238);
else
- result = visitedLink ? inherited->visitedLinkColor : color();
+ result = visitedLink ? visitedLinkColor() : color();
}
return result;
}
@@ -1591,7 +1604,7 @@ LayoutBoxExtent RenderStyle::imageOutsets(const NinePieceImage& image) const
void RenderStyle::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addMember(m_box);
info.addMember(visual);
// FIXME: m_background contains RefPtr<StyleImage> that might need to be instrumented.
diff --git a/Source/WebCore/rendering/style/RenderStyle.h b/Source/WebCore/rendering/style/RenderStyle.h
index 2378c7a72..c50785295 100644
--- a/Source/WebCore/rendering/style/RenderStyle.h
+++ b/Source/WebCore/rendering/style/RenderStyle.h
@@ -34,10 +34,10 @@
#include "ColorSpace.h"
#include "CounterDirectives.h"
#include "DataRef.h"
-#include "FillLayer.h"
#include "FontBaseline.h"
#include "FontDescription.h"
#include "GraphicsTypes.h"
+#include "LayoutTypesInlineMethods.h"
#include "Length.h"
#include "LengthBox.h"
#include "LengthFunctions.h"
@@ -74,7 +74,6 @@
#include <wtf/Vector.h>
#if ENABLE(CSS_FILTERS)
-#include "FilterOperations.h"
#include "StyleFilterData.h"
#endif
@@ -101,6 +100,10 @@ namespace WebCore {
using std::max;
+#if ENABLE(CSS_FILTERS)
+class FilterOperations;
+#endif
+
class BorderData;
class CounterContent;
class CursorList;
@@ -511,6 +514,7 @@ public:
EPosition position() const { return static_cast<EPosition>(noninherited_flags._position); }
bool hasOutOfFlowPosition() const { return position() == AbsolutePosition || position() == FixedPosition; }
bool hasInFlowPosition() const { return position() == RelativePosition || position() == StickyPosition; }
+ bool hasViewportConstrainedPosition() const { return position() == FixedPosition || position() == StickyPosition; }
EFloat floating() const { return static_cast<EFloat>(noninherited_flags._floating); }
Length width() const { return m_box->width(); }
@@ -683,7 +687,7 @@ public:
bool breakWords() const
{
- return wordBreak() == BreakWordBreak || wordWrap() == BreakWordWrap;
+ return wordBreak() == BreakWordBreak || overflowWrap() == BreakOverflowWrap;
}
EFillRepeat backgroundRepeatX() const { return static_cast<EFillRepeat>(m_background->background().repeatX()); }
@@ -838,7 +842,7 @@ public:
EMarginCollapse marginBeforeCollapse() const { return static_cast<EMarginCollapse>(rareNonInheritedData->marginBeforeCollapse); }
EMarginCollapse marginAfterCollapse() const { return static_cast<EMarginCollapse>(rareNonInheritedData->marginAfterCollapse); }
EWordBreak wordBreak() const { return static_cast<EWordBreak>(rareInheritedData->wordBreak); }
- EWordWrap wordWrap() const { return static_cast<EWordWrap>(rareInheritedData->wordWrap); }
+ EOverflowWrap overflowWrap() const { return static_cast<EOverflowWrap>(rareInheritedData->overflowWrap); }
ENBSPMode nbspMode() const { return static_cast<ENBSPMode>(rareInheritedData->nbspMode); }
EKHTMLLineBreak khtmlLineBreak() const { return static_cast<EKHTMLLineBreak>(rareInheritedData->khtmlLineBreak); }
const AtomicString& highlight() const { return rareInheritedData->highlight; }
@@ -988,7 +992,7 @@ public:
#if ENABLE(CSS_COMPOSITING)
BlendMode blendMode() const { return static_cast<BlendMode>(rareNonInheritedData->m_effectiveBlendMode); }
void setBlendMode(BlendMode v) { rareNonInheritedData.access()->m_effectiveBlendMode = v; }
- bool hasBlendMode() const { return static_cast<BlendMode>(rareNonInheritedData->m_effectiveBlendMode) == BlendModeNormal; }
+ bool hasBlendMode() const { return static_cast<BlendMode>(rareNonInheritedData->m_effectiveBlendMode) != BlendModeNormal; }
#else
bool hasBlendMode() const { return false; }
#endif
@@ -1301,7 +1305,7 @@ public:
void setMarginBeforeCollapse(EMarginCollapse c) { SET_VAR(rareNonInheritedData, marginBeforeCollapse, c); }
void setMarginAfterCollapse(EMarginCollapse c) { SET_VAR(rareNonInheritedData, marginAfterCollapse, c); }
void setWordBreak(EWordBreak b) { SET_VAR(rareInheritedData, wordBreak, b); }
- void setWordWrap(EWordWrap b) { SET_VAR(rareInheritedData, wordWrap, b); }
+ void setOverflowWrap(EOverflowWrap b) { SET_VAR(rareInheritedData, overflowWrap, b); }
void setNBSPMode(ENBSPMode b) { SET_VAR(rareInheritedData, nbspMode, b); }
void setKHTMLLineBreak(EKHTMLLineBreak b) { SET_VAR(rareInheritedData, khtmlLineBreak, b); }
void setHighlight(const AtomicString& h) { SET_VAR(rareInheritedData, highlight, h); }
@@ -1445,22 +1449,31 @@ public:
void setKerning(SVGLength k) { accessSVGStyle()->setKerning(k); }
#endif
- void setWrapShapeInside(PassRefPtr<WrapShape> shape)
+ void setWrapShapeInside(PassRefPtr<BasicShape> shape)
{
if (rareNonInheritedData->m_wrapShapeInside != shape)
rareNonInheritedData.access()->m_wrapShapeInside = shape;
}
- WrapShape* wrapShapeInside() const { return rareNonInheritedData->m_wrapShapeInside.get(); }
+ BasicShape* wrapShapeInside() const { return rareNonInheritedData->m_wrapShapeInside.get(); }
- void setWrapShapeOutside(PassRefPtr<WrapShape> shape)
+ void setWrapShapeOutside(PassRefPtr<BasicShape> shape)
{
if (rareNonInheritedData->m_wrapShapeOutside != shape)
rareNonInheritedData.access()->m_wrapShapeOutside = shape;
}
- WrapShape* wrapShapeOutside() const { return rareNonInheritedData->m_wrapShapeOutside.get(); }
+ BasicShape* wrapShapeOutside() const { return rareNonInheritedData->m_wrapShapeOutside.get(); }
+
+ static BasicShape* initialWrapShapeInside() { return 0; }
+ static BasicShape* initialWrapShapeOutside() { return 0; }
+
+ void setClipPath(PassRefPtr<BasicShape> shape)
+ {
+ if (rareNonInheritedData->m_clipPath != shape)
+ rareNonInheritedData.access()->m_clipPath = shape;
+ }
+ BasicShape* clipPath() const { return rareNonInheritedData->m_clipPath.get(); }
- static WrapShape* initialWrapShapeInside() { return 0; }
- static WrapShape* initialWrapShapeOutside() { return 0; }
+ static BasicShape* initialClipPath() { return 0; }
Length wrapPadding() const { return rareNonInheritedData->m_wrapPadding; }
void setWrapPadding(Length wrapPadding) { SET_VAR(rareNonInheritedData, m_wrapPadding, wrapPadding); }
@@ -1481,6 +1494,7 @@ public:
const CounterDirectiveMap* counterDirectives() const;
CounterDirectiveMap& accessCounterDirectives();
+ const CounterDirectives getCounterDirectives(const AtomicString& identifier) const;
QuotesData* quotes() const { return rareInheritedData->quotes.get(); }
void setQuotes(PassRefPtr<QuotesData>);
@@ -1630,7 +1644,7 @@ public:
static EMarginCollapse initialMarginBeforeCollapse() { return MCOLLAPSE; }
static EMarginCollapse initialMarginAfterCollapse() { return MCOLLAPSE; }
static EWordBreak initialWordBreak() { return NormalWordBreak; }
- static EWordWrap initialWordWrap() { return NormalWordWrap; }
+ static EOverflowWrap initialOverflowWrap() { return NormalOverflowWrap; }
static ENBSPMode initialNBSPMode() { return NBNORMAL; }
static EKHTMLLineBreak initialKHTMLLineBreak() { return LBNORMAL; }
static const AtomicString& initialHighlight() { return nullAtom; }
@@ -1754,10 +1768,7 @@ private:
bool isDisplayReplacedType(EDisplay display) const
{
- return display == INLINE_BLOCK || display == INLINE_BOX
-#if ENABLE(CSS3_FLEXBOX)
- || display == INLINE_FLEX
-#endif
+ return display == INLINE_BLOCK || display == INLINE_BOX || display == INLINE_FLEX
|| display == INLINE_TABLE || display == INLINE_GRID;
}
diff --git a/Source/WebCore/rendering/style/RenderStyleConstants.h b/Source/WebCore/rendering/style/RenderStyleConstants.h
index 6d967cba3..3cdfd59d0 100644
--- a/Source/WebCore/rendering/style/RenderStyleConstants.h
+++ b/Source/WebCore/rendering/style/RenderStyleConstants.h
@@ -202,8 +202,8 @@ enum EWordBreak {
NormalWordBreak, BreakAllWordBreak, BreakWordBreak
};
-enum EWordWrap {
- NormalWordWrap, BreakWordWrap
+enum EOverflowWrap {
+ NormalOverflowWrap, BreakOverflowWrap
};
enum ENBSPMode {
@@ -415,9 +415,7 @@ enum EDisplay {
TABLE_HEADER_GROUP, TABLE_FOOTER_GROUP, TABLE_ROW,
TABLE_COLUMN_GROUP, TABLE_COLUMN, TABLE_CELL,
TABLE_CAPTION, BOX, INLINE_BOX,
-#if ENABLE(CSS3_FLEXBOX)
FLEX, INLINE_FLEX,
-#endif
GRID, INLINE_GRID,
NONE
};
diff --git a/Source/WebCore/rendering/style/ShadowData.cpp b/Source/WebCore/rendering/style/ShadowData.cpp
index f30d87f2b..d2a1cd270 100644
--- a/Source/WebCore/rendering/style/ShadowData.cpp
+++ b/Source/WebCore/rendering/style/ShadowData.cpp
@@ -22,6 +22,8 @@
#include "config.h"
#include "ShadowData.h"
+#include "LayoutTypesInlineMethods.h"
+
using namespace std;
namespace WebCore {
diff --git a/Source/WebCore/rendering/style/ShadowData.h b/Source/WebCore/rendering/style/ShadowData.h
index b8df95d88..1518edd93 100644
--- a/Source/WebCore/rendering/style/ShadowData.h
+++ b/Source/WebCore/rendering/style/ShadowData.h
@@ -26,6 +26,7 @@
#define ShadowData_h
#include "Color.h"
+#include "FloatRect.h"
#include "LayoutTypes.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
diff --git a/Source/WebCore/rendering/style/StyleDashboardRegion.h b/Source/WebCore/rendering/style/StyleDashboardRegion.h
index 552fdeb82..e591154e6 100644
--- a/Source/WebCore/rendering/style/StyleDashboardRegion.h
+++ b/Source/WebCore/rendering/style/StyleDashboardRegion.h
@@ -27,7 +27,7 @@
#if ENABLE(DASHBOARD_SUPPORT) || ENABLE(WIDGET_REGION)
#include "LengthBox.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/rendering/style/StyleRareInheritedData.cpp b/Source/WebCore/rendering/style/StyleRareInheritedData.cpp
index 62fe5b89f..ea666d589 100644
--- a/Source/WebCore/rendering/style/StyleRareInheritedData.cpp
+++ b/Source/WebCore/rendering/style/StyleRareInheritedData.cpp
@@ -23,11 +23,11 @@
#include "StyleRareInheritedData.h"
#include "CursorList.h"
-#include "MemoryInstrumentation.h"
#include "QuotesData.h"
#include "RenderStyle.h"
#include "RenderStyleConstants.h"
#include "ShadowData.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -69,7 +69,7 @@ StyleRareInheritedData::StyleRareInheritedData()
, textSecurity(RenderStyle::initialTextSecurity())
, userModify(READ_ONLY)
, wordBreak(RenderStyle::initialWordBreak())
- , wordWrap(RenderStyle::initialWordWrap())
+ , overflowWrap(RenderStyle::initialOverflowWrap())
, nbspMode(NBNORMAL)
, khtmlLineBreak(LBNORMAL)
, textSizeAdjust(RenderStyle::initialTextSizeAdjust())
@@ -131,7 +131,7 @@ StyleRareInheritedData::StyleRareInheritedData(const StyleRareInheritedData& o)
, textSecurity(o.textSecurity)
, userModify(o.userModify)
, wordBreak(o.wordBreak)
- , wordWrap(o.wordWrap)
+ , overflowWrap(o.overflowWrap)
, nbspMode(o.nbspMode)
, khtmlLineBreak(o.khtmlLineBreak)
, textSizeAdjust(o.textSizeAdjust)
@@ -212,7 +212,7 @@ bool StyleRareInheritedData::operator==(const StyleRareInheritedData& o) const
&& textSecurity == o.textSecurity
&& userModify == o.userModify
&& wordBreak == o.wordBreak
- && wordWrap == o.wordWrap
+ && overflowWrap == o.overflowWrap
&& nbspMode == o.nbspMode
&& khtmlLineBreak == o.khtmlLineBreak
#if ENABLE(OVERFLOW_SCROLLING)
@@ -264,7 +264,7 @@ bool StyleRareInheritedData::shadowDataEquivalent(const StyleRareInheritedData&
void StyleRareInheritedData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addMember(textShadow);
info.addInstrumentedMember(highlight);
info.addMember(cursorData);
diff --git a/Source/WebCore/rendering/style/StyleRareInheritedData.h b/Source/WebCore/rendering/style/StyleRareInheritedData.h
index 39e096ea4..60b4ff6d9 100644
--- a/Source/WebCore/rendering/style/StyleRareInheritedData.h
+++ b/Source/WebCore/rendering/style/StyleRareInheritedData.h
@@ -84,7 +84,7 @@ public:
unsigned textSecurity : 2; // ETextSecurity
unsigned userModify : 2; // EUserModify (editing)
unsigned wordBreak : 2; // EWordBreak
- unsigned wordWrap : 1; // EWordWrap
+ unsigned overflowWrap : 1; // EOverflowWrap
unsigned nbspMode : 1; // ENBSPMode
unsigned khtmlLineBreak : 1; // EKHTMLLineBreak
unsigned textSizeAdjust : 1; // An Apple extension.
diff --git a/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp b/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
index 5b800d0ac..811bfa1fe 100644
--- a/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
+++ b/Source/WebCore/rendering/style/StyleRareNonInheritedData.cpp
@@ -23,7 +23,6 @@
#include "StyleRareNonInheritedData.h"
#include "ContentData.h"
-#include "MemoryInstrumentation.h"
#include "RenderCounter.h"
#include "RenderStyle.h"
#include "ShadowData.h"
@@ -31,6 +30,7 @@
#include "StyleTransformData.h"
#include "StyleImage.h"
#include "StyleResolver.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -48,6 +48,7 @@ StyleRareNonInheritedData::StyleRareNonInheritedData()
, m_wrapShapeOutside(RenderStyle::initialWrapShapeOutside())
, m_wrapMargin(RenderStyle::initialWrapMargin())
, m_wrapPadding(RenderStyle::initialWrapPadding())
+ , m_clipPath(RenderStyle::initialClipPath())
, m_visitedLinkBackgroundColor(RenderStyle::initialBackgroundColor())
, m_order(RenderStyle::initialOrder())
, m_flowThread(RenderStyle::initialFlowThread())
@@ -118,6 +119,7 @@ StyleRareNonInheritedData::StyleRareNonInheritedData(const StyleRareNonInherited
, m_wrapShapeOutside(o.m_wrapShapeOutside)
, m_wrapMargin(o.m_wrapMargin)
, m_wrapPadding(o.m_wrapPadding)
+ , m_clipPath(o.m_clipPath)
, m_visitedLinkBackgroundColor(o.m_visitedLinkBackgroundColor)
, m_visitedLinkOutlineColor(o.m_visitedLinkOutlineColor)
, m_visitedLinkBorderLeftColor(o.m_visitedLinkBorderLeftColor)
@@ -199,6 +201,7 @@ bool StyleRareNonInheritedData::operator==(const StyleRareNonInheritedData& o) c
&& m_wrapShapeOutside == o.m_wrapShapeOutside
&& m_wrapMargin == o.m_wrapMargin
&& m_wrapPadding == o.m_wrapPadding
+ && m_clipPath == o.m_clipPath
&& m_visitedLinkBackgroundColor == o.m_visitedLinkBackgroundColor
&& m_visitedLinkOutlineColor == o.m_visitedLinkOutlineColor
&& m_visitedLinkBorderLeftColor == o.m_visitedLinkBorderLeftColor
@@ -301,7 +304,7 @@ bool StyleRareNonInheritedData::transitionDataEquivalent(const StyleRareNonInher
void StyleRareNonInheritedData::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
#if ENABLE(DASHBOARD_SUPPORT)
info.addVector(m_dashboardRegions);
#endif
@@ -323,6 +326,7 @@ void StyleRareNonInheritedData::reportMemoryUsage(MemoryObjectInfo* memoryObject
info.addMember(m_transitions);
info.addMember(m_wrapShapeInside);
info.addMember(m_wrapShapeOutside);
+ info.addMember(m_clipPath);
info.addInstrumentedMember(m_flowThread);
info.addInstrumentedMember(m_regionThread);
}
diff --git a/Source/WebCore/rendering/style/StyleRareNonInheritedData.h b/Source/WebCore/rendering/style/StyleRareNonInheritedData.h
index e6f4a18be..251ffa319 100644
--- a/Source/WebCore/rendering/style/StyleRareNonInheritedData.h
+++ b/Source/WebCore/rendering/style/StyleRareNonInheritedData.h
@@ -25,13 +25,13 @@
#ifndef StyleRareNonInheritedData_h
#define StyleRareNonInheritedData_h
+#include "BasicShapes.h"
#include "CounterDirectives.h"
#include "CursorData.h"
#include "DataRef.h"
#include "FillLayer.h"
#include "LineClampValue.h"
#include "NinePieceImage.h"
-#include "WrapShapes.h"
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/Vector.h>
@@ -134,11 +134,13 @@ public:
LengthSize m_pageSize;
- RefPtr<WrapShape> m_wrapShapeInside;
- RefPtr<WrapShape> m_wrapShapeOutside;
+ RefPtr<BasicShape> m_wrapShapeInside;
+ RefPtr<BasicShape> m_wrapShapeOutside;
Length m_wrapMargin;
Length m_wrapPadding;
-
+
+ RefPtr<BasicShape> m_clipPath;
+
Color m_visitedLinkBackgroundColor;
Color m_visitedLinkOutlineColor;
Color m_visitedLinkBorderLeftColor;
diff --git a/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp b/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
index 8f842ee21..acc0c6d36 100644
--- a/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGForeignObject.cpp
@@ -178,13 +178,13 @@ bool RenderSVGForeignObject::nodeAtFloatPoint(const HitTestRequest& request, Hit
return false;
// FOs establish a stacking context, so we need to hit-test all layers.
- HitTestPoint hitTestPoint(roundedLayoutPoint(localPoint));
- return RenderBlock::nodeAtPoint(request, result, hitTestPoint, LayoutPoint(), HitTestForeground)
- || RenderBlock::nodeAtPoint(request, result, hitTestPoint, LayoutPoint(), HitTestFloat)
- || RenderBlock::nodeAtPoint(request, result, hitTestPoint, LayoutPoint(), HitTestChildBlockBackgrounds);
+ HitTestLocation hitTestLocation(roundedLayoutPoint(localPoint));
+ return RenderBlock::nodeAtPoint(request, result, hitTestLocation, LayoutPoint(), HitTestForeground)
+ || RenderBlock::nodeAtPoint(request, result, hitTestLocation, LayoutPoint(), HitTestFloat)
+ || RenderBlock::nodeAtPoint(request, result, hitTestLocation, LayoutPoint(), HitTestChildBlockBackgrounds);
}
-bool RenderSVGForeignObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint&, const LayoutPoint&, HitTestAction)
+bool RenderSVGForeignObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction)
{
ASSERT_NOT_REACHED();
return false;
diff --git a/Source/WebCore/rendering/svg/RenderSVGForeignObject.h b/Source/WebCore/rendering/svg/RenderSVGForeignObject.h
index 7e52e00c2..0d65d5741 100644
--- a/Source/WebCore/rendering/svg/RenderSVGForeignObject.h
+++ b/Source/WebCore/rendering/svg/RenderSVGForeignObject.h
@@ -51,7 +51,7 @@ public:
virtual FloatRect repaintRectInLocalCoordinates() const { return FloatRect(FloatPoint(), m_viewport.size()); }
virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual bool isSVGForeignObject() const { return true; }
virtual void mapLocalToContainer(RenderBoxModelObject* repaintContainer, TransformState&, MapLocalToContainerFlags mode = ApplyContainerFlip | SnapOffsetForTransforms, bool* wasFixed = 0) const OVERRIDE;
@@ -59,8 +59,8 @@ public:
virtual void setNeedsTransformUpdate() { m_needsTransformUpdate = true; }
private:
- virtual void computeLogicalWidth();
- virtual void computeLogicalHeight();
+ virtual void computeLogicalWidth() OVERRIDE;
+ virtual void computeLogicalHeight() OVERRIDE;
virtual const AffineTransform& localToParentTransform() const;
virtual AffineTransform localTransform() const { return m_localTransform; }
diff --git a/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp b/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
index 082bf487e..d44a93da4 100644
--- a/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp
@@ -111,7 +111,7 @@ void RenderSVGModelObject::styleDidChange(StyleDifference diff, const RenderStyl
SVGResourcesCache::clientStyleChanged(this, diff, style());
}
-bool RenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint&, const LayoutPoint&, HitTestAction)
+bool RenderSVGModelObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction)
{
ASSERT_NOT_REACHED();
return false;
diff --git a/Source/WebCore/rendering/svg/RenderSVGModelObject.h b/Source/WebCore/rendering/svg/RenderSVGModelObject.h
index a28376625..a99dd9da7 100644
--- a/Source/WebCore/rendering/svg/RenderSVGModelObject.h
+++ b/Source/WebCore/rendering/svg/RenderSVGModelObject.h
@@ -71,7 +71,7 @@ protected:
private:
// This method should never be called, SVG uses a different nodeAtPoint method
- bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
};
}
diff --git a/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h b/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
index faa225892..26fbc6f93 100644
--- a/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
+++ b/Source/WebCore/rendering/svg/RenderSVGResourceMarker.h
@@ -22,7 +22,6 @@
#if ENABLE(SVG)
#include "FloatRect.h"
-#include "RenderObject.h"
#include "RenderSVGResourceContainer.h"
#include "SVGMarkerElement.h"
#include "SVGStyledElement.h"
@@ -32,6 +31,7 @@
namespace WebCore {
class AffineTransform;
+class RenderObject;
class RenderSVGResourceMarker : public RenderSVGResourceContainer {
public:
diff --git a/Source/WebCore/rendering/svg/RenderSVGRoot.cpp b/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
index 5d56b5ce7..f7115d926 100644
--- a/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGRoot.cpp
@@ -415,9 +415,9 @@ void RenderSVGRoot::updateCachedBoundaries()
m_repaintBoundingBox.inflate(borderAndPaddingWidth());
}
-bool RenderSVGRoot::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
+bool RenderSVGRoot::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction hitTestAction)
{
- LayoutPoint pointInParent = pointInContainer.point() - toLayoutSize(accumulatedOffset);
+ LayoutPoint pointInParent = locationInContainer.point() - toLayoutSize(accumulatedOffset);
LayoutPoint pointInBorderBox = pointInParent - toLayoutSize(location());
// Only test SVG content if the point is in our content box.
@@ -429,7 +429,7 @@ bool RenderSVGRoot::nodeAtPoint(const HitTestRequest& request, HitTestResult& re
// FIXME: nodeAtFloatPoint() doesn't handle rect-based hit tests yet.
if (child->nodeAtFloatPoint(request, result, localPoint, hitTestAction)) {
updateHitTestResult(result, pointInBorderBox);
- if (!result.addNodeToRectBasedTestResult(child->node(), pointInContainer))
+ if (!result.addNodeToRectBasedTestResult(child->node(), request, locationInContainer))
return true;
}
}
@@ -442,9 +442,9 @@ bool RenderSVGRoot::nodeAtPoint(const HitTestRequest& request, HitTestResult& re
// to be able to detect hits on the background of a <div> element. If we'd return true here in the 'Foreground' phase, we are not able
// to detect these hits anymore.
LayoutRect boundsRect(accumulatedOffset + location(), size());
- if (pointInContainer.intersects(boundsRect)) {
+ if (locationInContainer.intersects(boundsRect)) {
updateHitTestResult(result, pointInBorderBox);
- if (!result.addNodeToRectBasedTestResult(node(), pointInContainer, boundsRect))
+ if (!result.addNodeToRectBasedTestResult(node(), request, locationInContainer, boundsRect))
return true;
}
}
diff --git a/Source/WebCore/rendering/svg/RenderSVGRoot.h b/Source/WebCore/rendering/svg/RenderSVGRoot.h
index a0566b134..cddd311fd 100644
--- a/Source/WebCore/rendering/svg/RenderSVGRoot.h
+++ b/Source/WebCore/rendering/svg/RenderSVGRoot.h
@@ -90,7 +90,7 @@ private:
virtual FloatRect strokeBoundingBox() const { return m_strokeBoundingBox; }
virtual FloatRect repaintRectInLocalCoordinates() const { return m_repaintBoundingBox; }
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual LayoutRect clippedOverflowRectForRepaint(RenderBoxModelObject* repaintContainer) const;
virtual void computeFloatRectForRepaint(RenderBoxModelObject* repaintContainer, FloatRect& repaintRect, bool fixed) const;
diff --git a/Source/WebCore/rendering/svg/RenderSVGText.cpp b/Source/WebCore/rendering/svg/RenderSVGText.cpp
index de2f0165c..2945fe48b 100644
--- a/Source/WebCore/rendering/svg/RenderSVGText.cpp
+++ b/Source/WebCore/rendering/svg/RenderSVGText.cpp
@@ -451,15 +451,15 @@ bool RenderSVGText::nodeAtFloatPoint(const HitTestRequest& request, HitTestResul
if (!SVGRenderSupport::pointInClippingArea(this, localPoint))
return false;
- HitTestPoint hitTestPoint(LayoutPoint(flooredIntPoint(localPoint)));
- return RenderBlock::nodeAtPoint(request, result, hitTestPoint, LayoutPoint(), hitTestAction);
+ HitTestLocation hitTestLocation(LayoutPoint(flooredIntPoint(localPoint)));
+ return RenderBlock::nodeAtPoint(request, result, hitTestLocation, LayoutPoint(), hitTestAction);
}
}
return false;
}
-bool RenderSVGText::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint&, const LayoutPoint&, HitTestAction)
+bool RenderSVGText::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation&, const LayoutPoint&, HitTestAction)
{
ASSERT_NOT_REACHED();
return false;
diff --git a/Source/WebCore/rendering/svg/RenderSVGText.h b/Source/WebCore/rendering/svg/RenderSVGText.h
index 0a0c2856b..cd2e38f79 100644
--- a/Source/WebCore/rendering/svg/RenderSVGText.h
+++ b/Source/WebCore/rendering/svg/RenderSVGText.h
@@ -62,7 +62,7 @@ private:
virtual bool isSVGText() const { return true; }
virtual void paint(PaintInfo&, const LayoutPoint&);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAction) OVERRIDE;
virtual bool nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const FloatPoint& pointInParent, HitTestAction);
virtual VisiblePosition positionForPoint(const LayoutPoint&);
diff --git a/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp b/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
index 47bb63de2..7864d4ee8 100644
--- a/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
+++ b/Source/WebCore/rendering/svg/SVGInlineTextBox.cpp
@@ -701,7 +701,7 @@ FloatRect SVGInlineTextBox::calculateBoundaries() const
return textRect;
}
-bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit, LayoutUnit)
+bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit, LayoutUnit)
{
// FIXME: integrate with InlineTextBox::nodeAtPoint better.
ASSERT(!isLineBreak());
@@ -714,9 +714,9 @@ bool SVGInlineTextBox::nodeAtPoint(const HitTestRequest& request, HitTestResult&
FloatPoint boxOrigin(x(), y());
boxOrigin.moveBy(accumulatedOffset);
FloatRect rect(boxOrigin, size());
- if (pointInContainer.intersects(rect)) {
- renderer()->updateHitTestResult(result, pointInContainer.point() - toLayoutSize(accumulatedOffset));
- if (!result.addNodeToRectBasedTestResult(renderer()->node(), pointInContainer, rect))
+ if (locationInContainer.intersects(rect)) {
+ renderer()->updateHitTestResult(result, locationInContainer.point() - toLayoutSize(accumulatedOffset));
+ if (!result.addNodeToRectBasedTestResult(renderer()->node(), request, locationInContainer, rect))
return true;
}
}
diff --git a/Source/WebCore/rendering/svg/SVGInlineTextBox.h b/Source/WebCore/rendering/svg/SVGInlineTextBox.h
index a4e03d828..ef399c724 100644
--- a/Source/WebCore/rendering/svg/SVGInlineTextBox.h
+++ b/Source/WebCore/rendering/svg/SVGInlineTextBox.h
@@ -79,7 +79,7 @@ private:
void paintTextWithShadows(GraphicsContext*, RenderStyle*, TextRun&, const SVGTextFragment&, int startPosition, int endPosition);
void paintText(GraphicsContext*, RenderStyle*, RenderStyle* selectionStyle, const SVGTextFragment&, bool hasSelection, bool paintSelectedTextOnly);
- virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestPoint& pointInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
+ virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, LayoutUnit lineBottom) OVERRIDE;
private:
float m_logicalHeight;
diff --git a/Source/WebCore/rendering/svg/SVGRenderingContext.cpp b/Source/WebCore/rendering/svg/SVGRenderingContext.cpp
index e2adb3063..6e3cd2dcb 100644
--- a/Source/WebCore/rendering/svg/SVGRenderingContext.cpp
+++ b/Source/WebCore/rendering/svg/SVGRenderingContext.cpp
@@ -27,6 +27,7 @@
#if ENABLE(SVG)
#include "SVGRenderingContext.h"
+#include "BasicShapes.h"
#include "Frame.h"
#include "FrameView.h"
#include "RenderSVGResource.h"
@@ -122,6 +123,15 @@ void SVGRenderingContext::prepareToRenderSVGContent(RenderObject* object, PaintI
}
}
+ BasicShape* clipShape = style->clipPath();
+ if (clipShape) {
+ // FIXME: Investigate if it is better to store and update a Path object in RenderStyle.
+ // https://bugs.webkit.org/show_bug.cgi?id=95619
+ Path clipPath;
+ clipShape->path(clipPath, object->objectBoundingBox());
+ m_paintInfo->context->clipPath(clipPath, clipShape->windRule());
+ }
+
SVGResources* resources = SVGResourcesCache::cachedResourcesForRenderObject(m_object);
if (!resources) {
#if ENABLE(FILTERS)
@@ -139,7 +149,8 @@ void SVGRenderingContext::prepareToRenderSVGContent(RenderObject* object, PaintI
}
}
- if (RenderSVGResourceClipper* clipper = resources->clipper()) {
+ RenderSVGResourceClipper* clipper = resources->clipper();
+ if (!clipShape && clipper) {
if (!clipper->applyResource(m_object, style, m_paintInfo->context, ApplyToDefaultMode))
return;
}
@@ -205,14 +216,10 @@ bool SVGRenderingContext::createImageBuffer(const FloatRect& targetRect, const A
GraphicsContext* imageContext = image->context();
ASSERT(imageContext);
- // This is done in absolute coordinates.
- imageContext->translate(-paintRect.x(), -paintRect.y());
-
- imageContext->concatCTM(absoluteTransform);
-
- // This happens in local coordinates.
imageContext->scale(FloatSize(static_cast<float>(clampedSize.width()) / paintRect.width(),
static_cast<float>(clampedSize.height()) / paintRect.height()));
+ imageContext->translate(-paintRect.x(), -paintRect.y());
+ imageContext->concatCTM(absoluteTransform);
imageBuffer = image.release();
return true;
diff --git a/Source/WebCore/rendering/svg/SVGRenderingContext.h b/Source/WebCore/rendering/svg/SVGRenderingContext.h
index 5d38ce495..c88168968 100644
--- a/Source/WebCore/rendering/svg/SVGRenderingContext.h
+++ b/Source/WebCore/rendering/svg/SVGRenderingContext.h
@@ -27,7 +27,6 @@
#if ENABLE(SVG)
#include "ImageBuffer.h"
-#include "LayoutTypes.h"
#include "PaintInfo.h"
namespace WebCore {
diff --git a/Source/WebCore/rendering/svg/SVGTextMetrics.cpp b/Source/WebCore/rendering/svg/SVGTextMetrics.cpp
index d6cbe4c50..99bfbd4d3 100644
--- a/Source/WebCore/rendering/svg/SVGTextMetrics.cpp
+++ b/Source/WebCore/rendering/svg/SVGTextMetrics.cpp
@@ -56,7 +56,7 @@ SVGTextMetrics::SVGTextMetrics(RenderSVGInlineText* textRenderer, const TextRun&
m_width = scaledFont.width(run, length, m_glyph.name) / scalingFactor;
m_height = scaledFont.fontMetrics().floatHeight() / scalingFactor;
- m_glyph.unicodeString = String(run.characters(), length);
+ m_glyph.unicodeString = run.is8Bit() ? String(run.characters8(), length) : String(run.characters16(), length);
m_glyph.isValid = true;
ASSERT(length >= 0);
diff --git a/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp b/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp
index 5ac85cbbe..ff9ca3073 100644
--- a/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp
+++ b/Source/WebCore/rendering/svg/SVGTextMetricsBuilder.cpp
@@ -30,7 +30,7 @@ namespace WebCore {
SVGTextMetricsBuilder::SVGTextMetricsBuilder()
: m_text(0)
- , m_run(0, 0)
+ , m_run(static_cast<const UChar*>(0), 0)
, m_textPosition(0)
, m_isComplexText(false)
, m_totalWidth(0)
@@ -148,7 +148,7 @@ void SVGTextMetricsBuilder::measureTextRenderer(RenderSVGInlineText* text, Measu
int surrogatePairCharacters = 0;
while (advance()) {
- const UChar* currentCharacter = m_run.data(m_textPosition);
+ const UChar* currentCharacter = m_run.data16(m_textPosition);
if (*currentCharacter == ' ' && !preserveWhiteSpace && (!data->lastCharacter || *data->lastCharacter == ' ')) {
if (data->processRenderer)
textMetricsValues->append(SVGTextMetrics(SVGTextMetrics::SkippedSpaceMetrics));
diff --git a/Source/WebCore/storage/Storage.cpp b/Source/WebCore/storage/Storage.cpp
index 583ef3830..44d0b2764 100644
--- a/Source/WebCore/storage/Storage.cpp
+++ b/Source/WebCore/storage/Storage.cpp
@@ -30,8 +30,8 @@
#include "Page.h"
#include "Settings.h"
#include "StorageArea.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageArea.h b/Source/WebCore/storage/StorageArea.h
index 2ea911725..f69d7b53a 100644
--- a/Source/WebCore/storage/StorageArea.h
+++ b/Source/WebCore/storage/StorageArea.h
@@ -26,10 +26,10 @@
#ifndef StorageArea_h
#define StorageArea_h
-#include "PlatformString.h"
-
+#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageEvent.h b/Source/WebCore/storage/StorageEvent.h
index de993c2b3..29f4cdc48 100644
--- a/Source/WebCore/storage/StorageEvent.h
+++ b/Source/WebCore/storage/StorageEvent.h
@@ -27,7 +27,7 @@
#define StorageEvent_h
#include "Event.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageEventDispatcher.h b/Source/WebCore/storage/StorageEventDispatcher.h
index d3549d486..2a06e3072 100644
--- a/Source/WebCore/storage/StorageEventDispatcher.h
+++ b/Source/WebCore/storage/StorageEventDispatcher.h
@@ -30,8 +30,8 @@
#ifndef StorageEventDispatcher_h
#define StorageEventDispatcher_h
-#include "PlatformString.h"
#include "StorageArea.h"
+#include <wtf/Forward.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageMap.h b/Source/WebCore/storage/StorageMap.h
index 147df6402..24f329790 100644
--- a/Source/WebCore/storage/StorageMap.h
+++ b/Source/WebCore/storage/StorageMap.h
@@ -26,11 +26,11 @@
#ifndef StorageMap_h
#define StorageMap_h
-#include "PlatformString.h"
#include <wtf/HashMap.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageNamespace.h b/Source/WebCore/storage/StorageNamespace.h
index 6017645dd..5ceddc3e2 100644
--- a/Source/WebCore/storage/StorageNamespace.h
+++ b/Source/WebCore/storage/StorageNamespace.h
@@ -26,8 +26,7 @@
#ifndef StorageNamespace_h
#define StorageNamespace_h
-#include "PlatformString.h"
-
+#include <wtf/Forward.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
diff --git a/Source/WebCore/storage/StorageNamespaceImpl.h b/Source/WebCore/storage/StorageNamespaceImpl.h
index 05fec6789..4f40dba58 100644
--- a/Source/WebCore/storage/StorageNamespaceImpl.h
+++ b/Source/WebCore/storage/StorageNamespaceImpl.h
@@ -26,13 +26,12 @@
#ifndef StorageNamespaceImpl_h
#define StorageNamespaceImpl_h
-#include "PlatformString.h"
#include "SecurityOriginHash.h"
#include "StorageArea.h"
#include "StorageNamespace.h"
-
#include <wtf/HashMap.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageSyncManager.h b/Source/WebCore/storage/StorageSyncManager.h
index fa5c16dcc..061fd1577 100644
--- a/Source/WebCore/storage/StorageSyncManager.h
+++ b/Source/WebCore/storage/StorageSyncManager.h
@@ -26,11 +26,10 @@
#ifndef StorageSyncManager_h
#define StorageSyncManager_h
-#include "PlatformString.h"
-
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageTask.h b/Source/WebCore/storage/StorageTask.h
index b14e9fe5f..2a622fcc8 100644
--- a/Source/WebCore/storage/StorageTask.h
+++ b/Source/WebCore/storage/StorageTask.h
@@ -26,9 +26,9 @@
#ifndef StorageTask_h
#define StorageTask_h
-#include "PlatformString.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/storage/StorageTracker.cpp b/Source/WebCore/storage/StorageTracker.cpp
index 0bb34b0c8..42a536f69 100644
--- a/Source/WebCore/storage/StorageTracker.cpp
+++ b/Source/WebCore/storage/StorageTracker.cpp
@@ -242,8 +242,8 @@ void StorageTracker::syncFileSystemAndTrackerDatabase()
ASSERT(m_isActive);
m_databaseGuard.lock();
- DEFINE_STATIC_LOCAL(const String, fileMatchPattern, ("*.localstorage"));
- DEFINE_STATIC_LOCAL(const String, fileExt, (".localstorage"));
+ DEFINE_STATIC_LOCAL(const String, fileMatchPattern, (ASCIILiteral("*.localstorage")));
+ DEFINE_STATIC_LOCAL(const String, fileExt, (ASCIILiteral(".localstorage")));
static const unsigned fileExtLength = fileExt.length();
m_databaseGuard.unlock();
diff --git a/Source/WebCore/storage/StorageTracker.h b/Source/WebCore/storage/StorageTracker.h
index ea3a38fde..80ef212c1 100644
--- a/Source/WebCore/storage/StorageTracker.h
+++ b/Source/WebCore/storage/StorageTracker.h
@@ -26,12 +26,12 @@
#ifndef StorageTracker_h
#define StorageTracker_h
-#include "PlatformString.h"
#include "SQLiteDatabase.h"
#include <wtf/HashSet.h>
#include <wtf/OwnPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGAngle.cpp b/Source/WebCore/svg/SVGAngle.cpp
index e272162d3..97874d876 100644
--- a/Source/WebCore/svg/SVGAngle.cpp
+++ b/Source/WebCore/svg/SVGAngle.cpp
@@ -114,15 +114,15 @@ String SVGAngle::valueAsString() const
{
switch (m_unitType) {
case SVG_ANGLETYPE_DEG: {
- DEFINE_STATIC_LOCAL(String, degString, ("deg"));
+ DEFINE_STATIC_LOCAL(String, degString, (ASCIILiteral("deg")));
return String::number(m_valueInSpecifiedUnits) + degString;
}
case SVG_ANGLETYPE_RAD: {
- DEFINE_STATIC_LOCAL(String, radString, ("rad"));
+ DEFINE_STATIC_LOCAL(String, radString, (ASCIILiteral("rad")));
return String::number(m_valueInSpecifiedUnits) + radString;
}
case SVG_ANGLETYPE_GRAD: {
- DEFINE_STATIC_LOCAL(String, gradString, ("grad"));
+ DEFINE_STATIC_LOCAL(String, gradString, (ASCIILiteral("grad")));
return String::number(m_valueInSpecifiedUnits) + gradString;
}
case SVG_ANGLETYPE_UNSPECIFIED:
diff --git a/Source/WebCore/svg/SVGAnimatedBoolean.cpp b/Source/WebCore/svg/SVGAnimatedBoolean.cpp
index f9858be5b..73f72e6a2 100644
--- a/Source/WebCore/svg/SVGAnimatedBoolean.cpp
+++ b/Source/WebCore/svg/SVGAnimatedBoolean.cpp
@@ -31,16 +31,10 @@ SVGAnimatedBooleanAnimator::SVGAnimatedBooleanAnimator(SVGAnimationElement* anim
{
}
-static inline bool isTrueString(const String& string)
-{
- DEFINE_STATIC_LOCAL(const String, trueString, ("true"));
- return string == trueString;
-}
-
PassOwnPtr<SVGAnimatedType> SVGAnimatedBooleanAnimator::constructFromString(const String& string)
{
OwnPtr<SVGAnimatedType> animtedType = SVGAnimatedType::createBoolean(new bool);
- animtedType->boolean() = isTrueString(string);
+ animtedType->boolean() = (string == "true"); // wat?
return animtedType.release();
}
diff --git a/Source/WebCore/svg/SVGAnimatedType.h b/Source/WebCore/svg/SVGAnimatedType.h
index cb19e7c79..5376b8f24 100644
--- a/Source/WebCore/svg/SVGAnimatedType.h
+++ b/Source/WebCore/svg/SVGAnimatedType.h
@@ -24,12 +24,12 @@
#include "FloatRect.h"
#include "SVGAngle.h"
#include "SVGColor.h"
-#include "SVGElement.h"
#include "SVGLength.h"
#include "SVGLengthList.h"
#include "SVGNumberList.h"
#include "SVGPointList.h"
#include "SVGPreserveAspectRatio.h"
+#include "SVGPropertyInfo.h"
#include "SVGTransformList.h"
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGColor.cpp b/Source/WebCore/svg/SVGColor.cpp
index 25192e170..a34ad1804 100644
--- a/Source/WebCore/svg/SVGColor.cpp
+++ b/Source/WebCore/svg/SVGColor.cpp
@@ -25,9 +25,9 @@
#include "SVGColor.h"
#include "CSSParser.h"
-#include "MemoryInstrumentation.h"
#include "RGBColor.h"
#include "SVGException.h"
+#include "WebCoreMemoryInstrumentation.h"
namespace WebCore {
@@ -107,7 +107,7 @@ PassRefPtr<SVGColor> SVGColor::cloneForCSSOM() const
void SVGColor::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
}
}
diff --git a/Source/WebCore/svg/SVGElement.cpp b/Source/WebCore/svg/SVGElement.cpp
index 1c09c619b..86ea815ee 100644
--- a/Source/WebCore/svg/SVGElement.cpp
+++ b/Source/WebCore/svg/SVGElement.cpp
@@ -248,7 +248,7 @@ const HashSet<SVGElementInstance*>& SVGElement::instancesForElement() const
return svgRareData()->elementInstances();
}
-bool SVGElement::boundingBox(FloatRect& rect, SVGLocatable::StyleUpdateStrategy styleUpdateStrategy)
+bool SVGElement::getBoundingBox(FloatRect& rect, SVGLocatable::StyleUpdateStrategy styleUpdateStrategy)
{
if (isStyledLocatable()) {
rect = static_cast<SVGStyledLocatableElement*>(this)->getBBox(styleUpdateStrategy);
diff --git a/Source/WebCore/svg/SVGElement.h b/Source/WebCore/svg/SVGElement.h
index 900b61454..f331a9626 100644
--- a/Source/WebCore/svg/SVGElement.h
+++ b/Source/WebCore/svg/SVGElement.h
@@ -83,7 +83,7 @@ public:
const HashSet<SVGElementInstance*>& instancesForElement() const;
- bool boundingBox(FloatRect&, SVGLocatable::StyleUpdateStrategy = SVGLocatable::AllowStyleUpdate);
+ bool getBoundingBox(FloatRect&, SVGLocatable::StyleUpdateStrategy = SVGLocatable::AllowStyleUpdate);
void setCursorElement(SVGCursorElement*);
void cursorElementRemoved();
@@ -136,6 +136,10 @@ protected:
void reportAttributeParsingError(SVGParsingError, const Attribute&);
+ // FIXME: Author shadows should be allowed
+ // https://bugs.webkit.org/show_bug.cgi?id=77938
+ virtual bool areAuthorShadowsAllowed() const OVERRIDE { return false; }
+
private:
friend class SVGElementInstance;
diff --git a/Source/WebCore/svg/SVGExternalResourcesRequired.cpp b/Source/WebCore/svg/SVGExternalResourcesRequired.cpp
index e186c5335..09d7102b0 100644
--- a/Source/WebCore/svg/SVGExternalResourcesRequired.cpp
+++ b/Source/WebCore/svg/SVGExternalResourcesRequired.cpp
@@ -24,6 +24,7 @@
#include "SVGExternalResourcesRequired.h"
#include "Attr.h"
+#include "SVGElement.h"
#include "SVGNames.h"
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGExternalResourcesRequired.h b/Source/WebCore/svg/SVGExternalResourcesRequired.h
index 5b0bf8f31..2b792253a 100644
--- a/Source/WebCore/svg/SVGExternalResourcesRequired.h
+++ b/Source/WebCore/svg/SVGExternalResourcesRequired.h
@@ -23,12 +23,12 @@
#if ENABLE(SVG)
#include "QualifiedName.h"
-#include "SVGElement.h"
#include <wtf/HashSet.h>
namespace WebCore {
class Attribute;
+class SVGElement;
// Notes on a SVG 1.1 spec discrepancy:
// The SVG DOM defines the attribute externalResourcesRequired as being of type SVGAnimatedBoolean, whereas the
diff --git a/Source/WebCore/svg/SVGFontData.cpp b/Source/WebCore/svg/SVGFontData.cpp
index a317e2b4f..666d4b6f7 100644
--- a/Source/WebCore/svg/SVGFontData.cpp
+++ b/Source/WebCore/svg/SVGFontData.cpp
@@ -134,7 +134,7 @@ bool SVGFontData::applySVGGlyphSelection(WidthIterator& iterator, GlyphData& gly
ASSERT(int(run.charactersLength()) >= currentCharacter);
// Associate text with arabic forms, if needed.
- String remainingTextInRun(run.data(currentCharacter), run.charactersLength() - currentCharacter);
+ String remainingTextInRun(run.data16(currentCharacter), run.charactersLength() - currentCharacter);
remainingTextInRun = Font::normalizeSpaces(remainingTextInRun.characters(), remainingTextInRun.length());
if (mirror)
remainingTextInRun = createStringWithMirroredCharacters(remainingTextInRun.characters(), remainingTextInRun.length());
diff --git a/Source/WebCore/svg/SVGPaint.cpp b/Source/WebCore/svg/SVGPaint.cpp
index ba7443583..241266ba3 100644
--- a/Source/WebCore/svg/SVGPaint.cpp
+++ b/Source/WebCore/svg/SVGPaint.cpp
@@ -24,9 +24,9 @@
#if ENABLE(SVG)
#include "SVGPaint.h"
-#include "MemoryInstrumentation.h"
#include "SVGException.h"
#include "SVGURIReference.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -114,7 +114,7 @@ PassRefPtr<SVGPaint> SVGPaint::cloneForCSSOM() const
void SVGPaint::reportDescendantMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
info.addInstrumentedMember(m_uri);
}
diff --git a/Source/WebCore/svg/SVGParserUtilities.cpp b/Source/WebCore/svg/SVGParserUtilities.cpp
index 71e2a39e2..7d89ad012 100644
--- a/Source/WebCore/svg/SVGParserUtilities.cpp
+++ b/Source/WebCore/svg/SVGParserUtilities.cpp
@@ -43,11 +43,11 @@ template <typename FloatType> static inline bool isValidRange(const FloatType& x
// We use this generic parseNumber function to allow the Path parsing code to work
// at a higher precision internally, without any unnecessary runtime cost or code
// complexity.
-template <typename FloatType> static bool genericParseNumber(const UChar*& ptr, const UChar* end, FloatType& number, bool skip)
+template <typename CharacterType, typename FloatType> static bool genericParseNumber(const CharacterType*& ptr, const CharacterType* end, FloatType& number, bool skip)
{
FloatType integer, decimal, frac, exponent;
int sign, expsign;
- const UChar* start = ptr;
+ const CharacterType* start = ptr;
exponent = 0;
integer = 0;
@@ -69,12 +69,12 @@ template <typename FloatType> static bool genericParseNumber(const UChar*& ptr,
return false;
// read the integer part, build right-to-left
- const UChar* ptrStartIntPart = ptr;
+ const CharacterType* ptrStartIntPart = ptr;
while (ptr < end && *ptr >= '0' && *ptr <= '9')
++ptr; // Advance to first non-digit.
if (ptr != ptrStartIntPart) {
- const UChar* ptrScanIntPart = ptr - 1;
+ const CharacterType* ptrScanIntPart = ptr - 1;
FloatType multiplier = 1;
while (ptrScanIntPart >= ptrStartIntPart) {
integer += multiplier * static_cast<FloatType>(*(ptrScanIntPart--) - '0');
@@ -142,13 +142,18 @@ template <typename FloatType> static bool genericParseNumber(const UChar*& ptr,
return true;
}
-bool parseSVGNumber(UChar*& begin, size_t length, double& number)
+template <typename CharacterType>
+bool parseSVGNumber(CharacterType* begin, size_t length, double& number)
{
- const UChar* ptr = begin;
- const UChar* end = ptr + length;
+ const CharacterType* ptr = begin;
+ const CharacterType* end = ptr + length;
return genericParseNumber(ptr, end, number, false);
}
+// Explicitly instantiate the two flavors of parseSVGNumber() to satisfy external callers
+template bool parseSVGNumber(LChar* begin, size_t length, double&);
+template bool parseSVGNumber(UChar* begin, size_t length, double&);
+
bool parseNumber(const UChar*& ptr, const UChar* end, float& number, bool skip)
{
return genericParseNumber(ptr, end, number, skip);
diff --git a/Source/WebCore/svg/SVGParserUtilities.h b/Source/WebCore/svg/SVGParserUtilities.h
index e1ba0c8c9..c73dcbdec 100644
--- a/Source/WebCore/svg/SVGParserUtilities.h
+++ b/Source/WebCore/svg/SVGParserUtilities.h
@@ -33,7 +33,8 @@ namespace WebCore {
class FloatRect;
class SVGPointList;
-bool parseSVGNumber(UChar*& ptr, size_t length, double& number);
+template <typename CharacterType>
+bool parseSVGNumber(CharacterType* ptr, size_t length, double& number);
bool parseNumber(const UChar*& ptr, const UChar* end, float& number, bool skip = true);
bool parseNumberFromString(const String&, float& number, bool skip = true);
bool parseNumberOptionalNumber(const String& s, float& h, float& v);
@@ -42,19 +43,22 @@ bool parseRect(const String&, FloatRect&);
// SVG allows several different whitespace characters:
// http://www.w3.org/TR/SVG/paths.html#PathDataBNF
-inline bool isSVGSpace(UChar c)
+template <typename CharacterType>
+inline bool isSVGSpace(CharacterType c)
{
return c == ' ' || c == '\t' || c == '\n' || c == '\r';
}
-inline bool skipOptionalSVGSpaces(const UChar*& ptr, const UChar* end)
+template <typename CharacterType>
+inline bool skipOptionalSVGSpaces(const CharacterType*& ptr, const CharacterType* end)
{
while (ptr < end && isSVGSpace(*ptr))
ptr++;
return ptr < end;
}
-inline bool skipOptionalSVGSpacesOrDelimiter(const UChar*& ptr, const UChar* end, UChar delimiter = ',')
+template <typename CharacterType>
+inline bool skipOptionalSVGSpacesOrDelimiter(const CharacterType*& ptr, const CharacterType* end, char delimiter = ',')
{
if (ptr < end && !isSVGSpace(*ptr) && *ptr != delimiter)
return false;
diff --git a/Source/WebCore/svg/SVGPathByteStreamBuilder.h b/Source/WebCore/svg/SVGPathByteStreamBuilder.h
index 55803aa60..37c7906a8 100644
--- a/Source/WebCore/svg/SVGPathByteStreamBuilder.h
+++ b/Source/WebCore/svg/SVGPathByteStreamBuilder.h
@@ -22,10 +22,10 @@
#if ENABLE(SVG)
#include "FloatPoint.h"
-#include "PlatformString.h"
#include "SVGPathByteStream.h"
#include "SVGPathConsumer.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGPathElement.cpp b/Source/WebCore/svg/SVGPathElement.cpp
index 0eb63b6da..986f5fe5f 100644
--- a/Source/WebCore/svg/SVGPathElement.cpp
+++ b/Source/WebCore/svg/SVGPathElement.cpp
@@ -356,6 +356,20 @@ void SVGPathElement::pathSegListChanged(SVGPathSegRole role)
RenderSVGResource::markForLayoutAndParentResourceInvalidation(renderer);
}
+FloatRect SVGPathElement::getBBox(StyleUpdateStrategy styleUpdateStrategy)
+{
+ if (styleUpdateStrategy == AllowStyleUpdate)
+ this->document()->updateLayoutIgnorePendingStylesheets();
+
+ RenderSVGPath* renderer = static_cast<RenderSVGPath*>(this->renderer());
+
+ // FIXME: Eventually we should support getBBox for detached elements.
+ if (!renderer)
+ return FloatRect();
+
+ return renderer->path().boundingRect();
+}
+
RenderObject* SVGPathElement::createRenderer(RenderArena* arena, RenderStyle*)
{
// By default, any subclass is expected to do path-based drawing
diff --git a/Source/WebCore/svg/SVGPathElement.h b/Source/WebCore/svg/SVGPathElement.h
index 2735c8514..265c77930 100644
--- a/Source/WebCore/svg/SVGPathElement.h
+++ b/Source/WebCore/svg/SVGPathElement.h
@@ -95,6 +95,8 @@ public:
void pathSegListChanged(SVGPathSegRole);
+ virtual FloatRect getBBox(StyleUpdateStrategy = AllowStyleUpdate);
+
static const SVGPropertyInfo* dPropertyInfo();
bool isAnimValObserved() const { return m_isAnimValObserved; }
diff --git a/Source/WebCore/svg/SVGPathParser.h b/Source/WebCore/svg/SVGPathParser.h
index 096131c9f..52e14c8c6 100644
--- a/Source/WebCore/svg/SVGPathParser.h
+++ b/Source/WebCore/svg/SVGPathParser.h
@@ -25,11 +25,11 @@
#define SVGPathParser_h
#if ENABLE(SVG)
-#include "PlatformString.h"
#include "SVGPathConsumer.h"
#include "SVGPathSeg.h"
#include "SVGPathSource.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGPathStringSource.h b/Source/WebCore/svg/SVGPathStringSource.h
index a3c8a95a9..33100a56d 100644
--- a/Source/WebCore/svg/SVGPathStringSource.h
+++ b/Source/WebCore/svg/SVGPathStringSource.h
@@ -22,9 +22,9 @@
#if ENABLE(SVG)
#include "FloatPoint.h"
-#include "PlatformString.h"
#include "SVGPathSource.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGSVGElement.cpp b/Source/WebCore/svg/SVGSVGElement.cpp
index cde9aa664..ef8e29c7c 100644
--- a/Source/WebCore/svg/SVGSVGElement.cpp
+++ b/Source/WebCore/svg/SVGSVGElement.cpp
@@ -480,7 +480,7 @@ Node::InsertionNotificationRequest SVGSVGElement::insertedInto(ContainerNode* ro
// Animations are started at the end of document parsing and after firing the load event,
// but if we miss that train (deferred programmatic element insertion for example) we need
// to initialize the time container here.
- if (!document()->parsing() && !document()->processingLoadEvent() && document()->loadEventFinished())
+ if (!document()->parsing() && !document()->processingLoadEvent() && document()->loadEventFinished() && !timeContainer()->isStarted())
timeContainer()->begin();
}
return SVGStyledLocatableElement::insertedInto(rootParent);
diff --git a/Source/WebCore/svg/SVGStyledElement.cpp b/Source/WebCore/svg/SVGStyledElement.cpp
index fb57a6605..34fbdfddf 100644
--- a/Source/WebCore/svg/SVGStyledElement.cpp
+++ b/Source/WebCore/svg/SVGStyledElement.cpp
@@ -28,7 +28,6 @@
#include "Document.h"
#include "EventNames.h"
#include "HTMLNames.h"
-#include "PlatformString.h"
#include "RenderObject.h"
#include "RenderSVGResource.h"
#include "RenderSVGResourceClipper.h"
@@ -46,6 +45,7 @@
#include <wtf/Assertions.h>
#include <wtf/HashMap.h>
#include <wtf/StdLibExtras.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/svg/SVGTests.cpp b/Source/WebCore/svg/SVGTests.cpp
index 63235a492..f29c40d66 100644
--- a/Source/WebCore/svg/SVGTests.cpp
+++ b/Source/WebCore/svg/SVGTests.cpp
@@ -155,11 +155,14 @@ bool SVGTests::handleAttributeChange(SVGElement* targetElement, const QualifiedN
return false;
if (!targetElement->inDocument())
return true;
+
bool valid = targetElement->isValid();
- if (valid && !targetElement->attached())
+ bool attached = targetElement->attached();
+ if (valid && !attached && targetElement->parentNode()->attached())
targetElement->attach();
- if (!valid && targetElement->attached())
+ else if (!valid && attached)
targetElement->detach();
+
return true;
}
diff --git a/Source/WebCore/svg/SVGTransform.cpp b/Source/WebCore/svg/SVGTransform.cpp
index 739e48c91..e136366e8 100644
--- a/Source/WebCore/svg/SVGTransform.cpp
+++ b/Source/WebCore/svg/SVGTransform.cpp
@@ -137,27 +137,27 @@ const String& SVGTransform::transformTypePrefixForParsing(SVGTransformType type)
case SVG_TRANSFORM_UNKNOWN:
return emptyString();
case SVG_TRANSFORM_MATRIX: {
- DEFINE_STATIC_LOCAL(String, matrixString, ("matrix("));
+ DEFINE_STATIC_LOCAL(String, matrixString, (ASCIILiteral("matrix(")));
return matrixString;
}
case SVG_TRANSFORM_TRANSLATE: {
- DEFINE_STATIC_LOCAL(String, translateString, ("translate("));
+ DEFINE_STATIC_LOCAL(String, translateString, (ASCIILiteral("translate(")));
return translateString;
}
case SVG_TRANSFORM_SCALE: {
- DEFINE_STATIC_LOCAL(String, scaleString, ("scale("));
+ DEFINE_STATIC_LOCAL(String, scaleString, (ASCIILiteral("scale(")));
return scaleString;
}
case SVG_TRANSFORM_ROTATE: {
- DEFINE_STATIC_LOCAL(String, rotateString, ("rotate("));
+ DEFINE_STATIC_LOCAL(String, rotateString, (ASCIILiteral("rotate(")));
return rotateString;
}
case SVG_TRANSFORM_SKEWX: {
- DEFINE_STATIC_LOCAL(String, skewXString, ("skewX("));
+ DEFINE_STATIC_LOCAL(String, skewXString, (ASCIILiteral("skewX(")));
return skewXString;
}
case SVG_TRANSFORM_SKEWY: {
- DEFINE_STATIC_LOCAL(String, skewYString, ("skewY("));
+ DEFINE_STATIC_LOCAL(String, skewYString, (ASCIILiteral("skewY(")));
return skewYString;
}
}
diff --git a/Source/WebCore/svg/SVGURIReference.h b/Source/WebCore/svg/SVGURIReference.h
index a6dcb449a..c87a1742a 100755
--- a/Source/WebCore/svg/SVGURIReference.h
+++ b/Source/WebCore/svg/SVGURIReference.h
@@ -22,13 +22,12 @@
#define SVGURIReference_h
#if ENABLE(SVG)
-#include "SVGElement.h"
+#include "Document.h"
#include "XLinkNames.h"
namespace WebCore {
class Attribute;
-class Document;
class Element;
class SVGURIReference {
diff --git a/Source/WebCore/svg/animation/SMILTimeContainer.cpp b/Source/WebCore/svg/animation/SMILTimeContainer.cpp
index b032f3158..bdf004f2c 100644
--- a/Source/WebCore/svg/animation/SMILTimeContainer.cpp
+++ b/Source/WebCore/svg/animation/SMILTimeContainer.cpp
@@ -84,6 +84,11 @@ bool SMILTimeContainer::isPaused() const
return m_pauseTime;
}
+bool SMILTimeContainer::isStarted() const
+{
+ return m_beginTime;
+}
+
void SMILTimeContainer::begin()
{
ASSERT(!m_beginTime);
diff --git a/Source/WebCore/svg/animation/SMILTimeContainer.h b/Source/WebCore/svg/animation/SMILTimeContainer.h
index 41202a0f8..328d5f41d 100644
--- a/Source/WebCore/svg/animation/SMILTimeContainer.h
+++ b/Source/WebCore/svg/animation/SMILTimeContainer.h
@@ -29,7 +29,6 @@
#if ENABLE(SVG)
#include "QualifiedName.h"
-#include "PlatformString.h"
#include "SMILTime.h"
#include "Timer.h"
#include <wtf/HashMap.h>
@@ -37,6 +36,7 @@
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -55,6 +55,7 @@ public:
bool isActive() const;
bool isPaused() const;
+ bool isStarted() const;
void begin();
void pause();
diff --git a/Source/WebCore/svg/animation/SVGSMILElement.cpp b/Source/WebCore/svg/animation/SVGSMILElement.cpp
index 43e84b1b3..a5132a05f 100644
--- a/Source/WebCore/svg/animation/SVGSMILElement.cpp
+++ b/Source/WebCore/svg/animation/SVGSMILElement.cpp
@@ -212,10 +212,10 @@ Node::InsertionNotificationRequest SVGSMILElement::insertedInto(ContainerNode* r
if (!fastHasAttribute(SVGNames::beginAttr))
m_beginTimes.append(SMILTimeWithOrigin());
- if (m_isWaitingForFirstInterval) {
+ if (m_isWaitingForFirstInterval)
resolveFirstInterval();
- reschedule();
- }
+
+ reschedule();
return InsertionDone;
}
diff --git a/Source/WebCore/svg/graphics/SVGImage.cpp b/Source/WebCore/svg/graphics/SVGImage.cpp
index 3527913c6..07f67257f 100644
--- a/Source/WebCore/svg/graphics/SVGImage.cpp
+++ b/Source/WebCore/svg/graphics/SVGImage.cpp
@@ -355,6 +355,15 @@ String SVGImage::filenameExtension() const
return "svg";
}
+void SVGImage::reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
+{
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CachedResourceImage);
+ Image::reportMemoryUsage(memoryObjectInfo);
+ info.addMember(m_chromeClient);
+ info.addMember(m_page);
+ info.addInstrumentedMember(m_frameCache);
+}
+
}
#endif // ENABLE(SVG)
diff --git a/Source/WebCore/svg/graphics/SVGImage.h b/Source/WebCore/svg/graphics/SVGImage.h
index e63d641a6..36b32baa1 100644
--- a/Source/WebCore/svg/graphics/SVGImage.h
+++ b/Source/WebCore/svg/graphics/SVGImage.h
@@ -30,7 +30,6 @@
#if ENABLE(SVG)
#include "Image.h"
-#include "LayoutTypes.h"
namespace WebCore {
@@ -62,6 +61,8 @@ public:
virtual bool hasRelativeWidth() const;
virtual bool hasRelativeHeight() const;
+ virtual void reportMemoryUsage(MemoryObjectInfo*) const OVERRIDE;
+
private:
friend class SVGImageChromeClient;
virtual ~SVGImage();
diff --git a/Source/WebCore/svg/graphics/SVGImageCache.cpp b/Source/WebCore/svg/graphics/SVGImageCache.cpp
index 693ee2a8f..a51250bfa 100644
--- a/Source/WebCore/svg/graphics/SVGImageCache.cpp
+++ b/Source/WebCore/svg/graphics/SVGImageCache.cpp
@@ -76,7 +76,8 @@ void SVGImageCache::setRequestedSizeAndScales(const CachedImageClient* client, c
SVGImageCache::SizeAndScales SVGImageCache::requestedSizeAndScales(const CachedImageClient* client) const
{
- ASSERT(client);
+ if (!client)
+ return SizeAndScales();
SizeAndScalesMap::const_iterator it = m_sizeAndScalesMap.find(client);
if (it == m_sizeAndScalesMap.end())
return SizeAndScales();
@@ -131,7 +132,9 @@ void SVGImageCache::redrawTimerFired(Timer<SVGImageCache>*)
Image* SVGImageCache::lookupOrCreateBitmapImageForRenderer(const RenderObject* renderer)
{
- ASSERT(renderer);
+ if (!renderer)
+ return Image::nullImage();
+
const CachedImageClient* client = renderer;
// The cache needs to know the size of the renderer before querying an image for it.
diff --git a/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp b/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp
index 8ad1ec7d8..6db498d2e 100644
--- a/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp
+++ b/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp
@@ -23,11 +23,10 @@
#include "SVGFilterBuilder.h"
#include "FilterEffect.h"
-#include "PlatformString.h"
#include "SourceAlpha.h"
#include "SourceGraphic.h"
-
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h b/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
index 44d3227b8..217fd1e38 100644
--- a/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
+++ b/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h
@@ -23,16 +23,17 @@
#if ENABLE(SVG) && ENABLE(FILTERS)
#include "FilterEffect.h"
-#include "PlatformString.h"
-#include "RenderObject.h"
#include <wtf/HashMap.h>
#include <wtf/HashSet.h>
#include <wtf/PassRefPtr.h>
#include <wtf/text/AtomicStringHash.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
+class RenderObject;
+
class SVGFilterBuilder : public RefCounted<SVGFilterBuilder> {
public:
typedef HashSet<FilterEffect*> FilterEffectSet;
diff --git a/Source/WebCore/testing/InternalSettings.cpp b/Source/WebCore/testing/InternalSettings.cpp
index cd673982c..4022f875f 100755
--- a/Source/WebCore/testing/InternalSettings.cpp
+++ b/Source/WebCore/testing/InternalSettings.cpp
@@ -628,10 +628,18 @@ void InternalSettings::setMemoryInfoEnabled(bool enabled, ExceptionCode& ec)
settings()->setMemoryInfoEnabled(enabled);
}
-void InternalSettings::setThirdPartyStorageBlockingEnabled(bool enabled, ExceptionCode& ec)
+void InternalSettings::setStorageBlockingPolicy(const String& mode, ExceptionCode& ec)
{
InternalSettingsGuardForSettings();
- settings()->setThirdPartyStorageBlockingEnabled(enabled);
+
+ if (mode == "AllowAll")
+ settings()->setStorageBlockingPolicy(SecurityOrigin::AllowAllStorage);
+ else if (mode == "BlockThirdParty")
+ settings()->setStorageBlockingPolicy(SecurityOrigin::BlockThirdPartyStorage);
+ else if (mode == "BlockAll")
+ settings()->setStorageBlockingPolicy(SecurityOrigin::BlockAllStorage);
+ else
+ ec = SYNTAX_ERR;
}
}
diff --git a/Source/WebCore/testing/InternalSettings.h b/Source/WebCore/testing/InternalSettings.h
index cfae94fbb..83ab9b2d4 100755
--- a/Source/WebCore/testing/InternalSettings.h
+++ b/Source/WebCore/testing/InternalSettings.h
@@ -141,7 +141,7 @@ public:
void setEnableMockPagePopup(bool, ExceptionCode&);
String configurationForViewport(float devicePixelRatio, int deviceWidth, int deviceHeight, int availableWidth, int availableHeight, ExceptionCode&);
void setMemoryInfoEnabled(bool, ExceptionCode&);
- void setThirdPartyStorageBlockingEnabled(bool, ExceptionCode&);
+ void setStorageBlockingPolicy(const String&, ExceptionCode&);
private:
explicit InternalSettings(Page*);
virtual void hostDestroyed() OVERRIDE { m_page = 0; }
diff --git a/Source/WebCore/testing/InternalSettings.idl b/Source/WebCore/testing/InternalSettings.idl
index b9c8f3ebf..517baa633 100755
--- a/Source/WebCore/testing/InternalSettings.idl
+++ b/Source/WebCore/testing/InternalSettings.idl
@@ -79,7 +79,7 @@ module window {
boolean shouldDisplayTrackKind(in DOMString trackKind) raises (DOMException);
#endif
void setMemoryInfoEnabled(in boolean enabled) raises(DOMException);
- void setThirdPartyStorageBlockingEnabled(in boolean enabled) raises(DOMException);
+ void setStorageBlockingPolicy(in DOMString policy) raises(DOMException);
};
}
diff --git a/Source/WebCore/testing/Internals.cpp b/Source/WebCore/testing/Internals.cpp
index c014adc74..04cfecd0d 100644
--- a/Source/WebCore/testing/Internals.cpp
+++ b/Source/WebCore/testing/Internals.cpp
@@ -966,14 +966,21 @@ unsigned Internals::touchEventHandlerCount(Document* document, ExceptionCode& ec
}
PassRefPtr<NodeList> Internals::nodesFromRect(Document* document, int x, int y, unsigned topPadding, unsigned rightPadding,
- unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, ExceptionCode& ec) const
+ unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent, ExceptionCode& ec) const
{
if (!document || !document->frame() || !document->frame()->view()) {
ec = INVALID_ACCESS_ERR;
return 0;
}
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active;
+ if (ignoreClipping)
+ hitType |= HitTestRequest::IgnoreClipping;
+ if (allowShadowContent)
+ hitType |= HitTestRequest::AllowShadowContent;
+ if (allowChildFrameContent)
+ hitType |= HitTestRequest::AllowChildFrameContent;
- return document->nodesFromRect(x, y, topPadding, rightPadding, bottomPadding, leftPadding, ignoreClipping, allowShadowContent);
+ return document->nodesFromRect(x, y, topPadding, rightPadding, bottomPadding, leftPadding, hitType);
}
void Internals::emitInspectorDidBeginFrame()
@@ -1170,6 +1177,34 @@ PassRefPtr<DOMStringList> Internals::iconURLs(Document* document) const
return stringList.release();
}
+int Internals::numberOfPages(float pageWidth, float pageHeight)
+{
+ if (!frame())
+ return -1;
+
+ return PrintContext::numberOfPages(frame(), FloatSize(pageWidth, pageHeight));
+}
+
+String Internals::pageProperty(String propertyName, int pageNumber, ExceptionCode& ec) const
+{
+ if (!frame()) {
+ ec = INVALID_ACCESS_ERR;
+ return String();
+ }
+
+ return PrintContext::pageProperty(frame(), propertyName.utf8().data(), pageNumber);
+}
+
+String Internals::pageSizeAndMarginsInPixels(int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft, ExceptionCode& ec) const
+{
+ if (!frame()) {
+ ec = INVALID_ACCESS_ERR;
+ return String();
+ }
+
+ return PrintContext::pageSizeAndMarginsInPixels(frame(), pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
+}
+
#if ENABLE(FULLSCREEN_API)
void Internals::webkitWillEnterFullScreenForElement(Document* document, Element* element)
{
diff --git a/Source/WebCore/testing/Internals.h b/Source/WebCore/testing/Internals.h
index b73b7a803..b0f1604b9 100644
--- a/Source/WebCore/testing/Internals.h
+++ b/Source/WebCore/testing/Internals.h
@@ -27,8 +27,8 @@
#define Internals_h
#include "ContextDestructionObserver.h"
+#include "ExceptionCodePlaceholder.h"
#include "NodeList.h"
-#include "PlatformString.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
#include <wtf/text/WTFString.h>
@@ -160,7 +160,7 @@ public:
unsigned touchEventHandlerCount(Document*, ExceptionCode&);
PassRefPtr<NodeList> nodesFromRect(Document*, int x, int y, unsigned topPadding, unsigned rightPadding,
- unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, ExceptionCode&) const;
+ unsigned bottomPadding, unsigned leftPadding, bool ignoreClipping, bool allowShadowContent, bool allowChildFrameContent, ExceptionCode&) const;
void emitInspectorDidBeginFrame();
void emitInspectorDidCancelFrame();
@@ -199,6 +199,10 @@ public:
int pageNumber(Element*, float pageWidth = 800, float pageHeight = 600);
PassRefPtr<DOMStringList> iconURLs(Document*) const;
+ int numberOfPages(float pageWidthInPixels = 800, float pageHeightInPixels = 600);
+ String pageProperty(String, int, ExceptionCode& = ASSERT_NO_EXCEPTION) const;
+ String pageSizeAndMarginsInPixels(int, int, int, int, int, int, int, ExceptionCode& = ASSERT_NO_EXCEPTION) const;
+
#if ENABLE(FULLSCREEN_API)
void webkitWillEnterFullScreenForElement(Document*, Element*);
void webkitDidEnterFullScreenForElement(Document*, Element*);
diff --git a/Source/WebCore/testing/Internals.idl b/Source/WebCore/testing/Internals.idl
index afdc4a24b..f62ceac85 100644
--- a/Source/WebCore/testing/Internals.idl
+++ b/Source/WebCore/testing/Internals.idl
@@ -138,7 +138,7 @@ module window {
NodeList nodesFromRect(in Document document, in long x, in long y,
in unsigned long topPadding, in unsigned long rightPadding, in unsigned long bottomPadding, in unsigned long leftPadding,
- in boolean ignoreClipping, in boolean allowShadowContent) raises (DOMException);
+ in boolean ignoreClipping, in boolean allowShadowContent, in boolean allowChildFrameContent) raises (DOMException);
void emitInspectorDidBeginFrame();
void emitInspectorDidCancelFrame();
@@ -175,6 +175,10 @@ module window {
DOMString counterValue(in Element element);
long pageNumber(in Element element, in [Optional] float pageWidth, in [Optional] float pageHeight);
DOMString[] iconURLs(in Document document);
+ long numberOfPages(in [Optional] double pageWidthInPixels, in [Optional] double pageHeightInPixels);
+ DOMString pageProperty(in DOMString propertyName, in long pageNumber) raises (DOMException);
+ DOMString pageSizeAndMarginsInPixels(in long pageIndex, in long width, in long height, in long marginTop, in long marginRight, in long marginBottom, in long marginLeft) raises (DOMException);
+
#if defined(ENABLE_FULLSCREEN_API) && ENABLE_FULLSCREEN_API
void webkitWillEnterFullScreenForElement(in Document document, in Element element);
diff --git a/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp b/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp
index 1fa8a00ca..cff0d5fb1 100644
--- a/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp
+++ b/Source/WebCore/workers/DefaultSharedWorkerRepository.cpp
@@ -43,7 +43,6 @@
#include "MessagePort.h"
#include "NotImplemented.h"
#include "PageGroup.h"
-#include "PlatformString.h"
#include "ScriptCallStack.h"
#include "SecurityOrigin.h"
#include "SecurityOriginHash.h"
@@ -57,6 +56,7 @@
#include "WorkerScriptLoaderClient.h"
#include <wtf/HashSet.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/workers/SharedWorker.cpp b/Source/WebCore/workers/SharedWorker.cpp
index 571827d66..925cf3b2d 100644
--- a/Source/WebCore/workers/SharedWorker.cpp
+++ b/Source/WebCore/workers/SharedWorker.cpp
@@ -40,6 +40,7 @@
#include "MessageChannel.h"
#include "MessagePort.h"
#include "ScriptExecutionContext.h"
+#include "SecurityOrigin.h"
#include "SharedWorkerRepository.h"
namespace WebCore {
@@ -64,6 +65,14 @@ PassRefPtr<SharedWorker> SharedWorker::create(ScriptExecutionContext* context, c
if (scriptURL.isEmpty())
return 0;
+ // We don't currently support nested workers, so workers can only be created from documents.
+ ASSERT(context->isDocument());
+ Document* document = static_cast<Document*>(context);
+ if (!document->securityOrigin()->canAccessSharedWorkers(document->topDocument()->securityOrigin())) {
+ ec = SECURITY_ERR;
+ return 0;
+ }
+
SharedWorkerRepository::connect(worker.get(), remotePort.release(), scriptURL, name, ec);
return worker.release();
diff --git a/Source/WebCore/workers/WorkerLocation.cpp b/Source/WebCore/workers/WorkerLocation.cpp
index eb76a8b78..2acdc8644 100644
--- a/Source/WebCore/workers/WorkerLocation.cpp
+++ b/Source/WebCore/workers/WorkerLocation.cpp
@@ -30,7 +30,7 @@
#include "WorkerLocation.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/workers/WorkerScriptLoader.cpp b/Source/WebCore/workers/WorkerScriptLoader.cpp
index a932be966..5cb2a601c 100644
--- a/Source/WebCore/workers/WorkerScriptLoader.cpp
+++ b/Source/WebCore/workers/WorkerScriptLoader.cpp
@@ -48,7 +48,6 @@ namespace WebCore {
WorkerScriptLoader::WorkerScriptLoader()
: m_client(0)
- , m_script("")
, m_failed(false)
, m_identifier(0)
, m_finishing(false)
@@ -146,7 +145,7 @@ void WorkerScriptLoader::didReceiveData(const char* data, int len)
if (len == -1)
len = strlen(data);
- m_script += m_decoder->decode(data, len);
+ m_script.append(m_decoder->decode(data, len));
}
void WorkerScriptLoader::didFinishLoading(unsigned long identifier, double)
@@ -157,7 +156,7 @@ void WorkerScriptLoader::didFinishLoading(unsigned long identifier, double)
}
if (m_decoder)
- m_script += m_decoder->flush();
+ m_script.append(m_decoder->flush());
m_identifier = identifier;
notifyFinished();
@@ -178,7 +177,12 @@ void WorkerScriptLoader::notifyError()
m_failed = true;
notifyFinished();
}
-
+
+String WorkerScriptLoader::script()
+{
+ return m_script.toString();
+}
+
void WorkerScriptLoader::notifyFinished()
{
if (!m_client || m_finishing)
diff --git a/Source/WebCore/workers/WorkerScriptLoader.h b/Source/WebCore/workers/WorkerScriptLoader.h
index 4ebb76362..1fe56892e 100644
--- a/Source/WebCore/workers/WorkerScriptLoader.h
+++ b/Source/WebCore/workers/WorkerScriptLoader.h
@@ -38,6 +38,7 @@
#include <wtf/FastAllocBase.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/StringBuilder.h>
namespace WebCore {
@@ -60,7 +61,7 @@ namespace WebCore {
void notifyError();
- const String& script() const { return m_script; }
+ String script();
const KURL& url() const { return m_url; }
const KURL& responseURL() const;
bool failed() const { return m_failed; }
@@ -89,7 +90,7 @@ namespace WebCore {
RefPtr<ThreadableLoader> m_threadableLoader;
String m_responseEncoding;
RefPtr<TextResourceDecoder> m_decoder;
- String m_script;
+ StringBuilder m_script;
KURL m_url;
KURL m_responseURL;
bool m_failed;
diff --git a/Source/WebCore/workers/WorkerThread.cpp b/Source/WebCore/workers/WorkerThread.cpp
index d18c90dca..8b08bda7a 100644
--- a/Source/WebCore/workers/WorkerThread.cpp
+++ b/Source/WebCore/workers/WorkerThread.cpp
@@ -34,13 +34,13 @@
#include "DedicatedWorkerContext.h"
#include "InspectorInstrumentation.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "ScriptSourceCode.h"
#include "ScriptValue.h"
#include "ThreadGlobalData.h"
#include <utility>
#include <wtf/Noncopyable.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SQL_DATABASE)
#include "DatabaseTask.h"
diff --git a/Source/WebCore/xml/DOMParser.cpp b/Source/WebCore/xml/DOMParser.cpp
index c0d146c28..49677ea79 100644
--- a/Source/WebCore/xml/DOMParser.cpp
+++ b/Source/WebCore/xml/DOMParser.cpp
@@ -21,7 +21,7 @@
#include "DOMImplementation.h"
#include "Document.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/xml/NativeXPathNSResolver.cpp b/Source/WebCore/xml/NativeXPathNSResolver.cpp
index a980ea0cb..54b0d4c46 100644
--- a/Source/WebCore/xml/NativeXPathNSResolver.cpp
+++ b/Source/WebCore/xml/NativeXPathNSResolver.cpp
@@ -27,8 +27,8 @@
#include "NativeXPathNSResolver.h"
#include "Node.h"
-#include "PlatformString.h"
#include "XMLNames.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/xml/NativeXPathNSResolver.h b/Source/WebCore/xml/NativeXPathNSResolver.h
index 559624fc7..f71ad9364 100644
--- a/Source/WebCore/xml/NativeXPathNSResolver.h
+++ b/Source/WebCore/xml/NativeXPathNSResolver.h
@@ -27,22 +27,23 @@
#define NativeXPathNSResolver_h
#include "XPathNSResolver.h"
-#include "Node.h"
#include <wtf/RefPtr.h>
namespace WebCore {
- class NativeXPathNSResolver : public XPathNSResolver {
- public:
- static PassRefPtr<NativeXPathNSResolver> create(PassRefPtr<Node> node) { return adoptRef(new NativeXPathNSResolver(node)); }
- virtual ~NativeXPathNSResolver();
+class Node;
- virtual String lookupNamespaceURI(const String& prefix);
+class NativeXPathNSResolver : public XPathNSResolver {
+public:
+ static PassRefPtr<NativeXPathNSResolver> create(PassRefPtr<Node> node) { return adoptRef(new NativeXPathNSResolver(node)); }
+ virtual ~NativeXPathNSResolver();
- private:
- NativeXPathNSResolver(PassRefPtr<Node>);
- RefPtr<Node> m_node;
- };
+ virtual String lookupNamespaceURI(const String& prefix);
+
+private:
+ explicit NativeXPathNSResolver(PassRefPtr<Node>);
+ RefPtr<Node> m_node;
+};
} // namespace WebCore
diff --git a/Source/WebCore/xml/XMLErrors.cpp b/Source/WebCore/xml/XMLErrors.cpp
index ef08ae0d5..807fc6ca6 100644
--- a/Source/WebCore/xml/XMLErrors.cpp
+++ b/Source/WebCore/xml/XMLErrors.cpp
@@ -79,11 +79,11 @@ void XMLErrors::appendErrorMessage(const String& typeString, TextPosition positi
{
// <typeString> on line <lineNumber> at column <columnNumber>: <message>
m_errorMessages.append(typeString);
- m_errorMessages.append(" on line ");
- m_errorMessages.append(String::number(position.m_line.oneBasedInt()));
- m_errorMessages.append(" at column ");
- m_errorMessages.append(String::number(position.m_column.oneBasedInt()));
- m_errorMessages.append(": ");
+ m_errorMessages.appendLiteral(" on line ");
+ m_errorMessages.appendNumber(position.m_line.oneBasedInt());
+ m_errorMessages.appendLiteral(" at column ");
+ m_errorMessages.appendNumber(position.m_column.oneBasedInt());
+ m_errorMessages.appendLiteral(": ");
m_errorMessages.append(message);
}
diff --git a/Source/WebCore/xml/XMLHttpRequest.cpp b/Source/WebCore/xml/XMLHttpRequest.cpp
index 111a649a1..8fb7ce0f5 100644
--- a/Source/WebCore/xml/XMLHttpRequest.cpp
+++ b/Source/WebCore/xml/XMLHttpRequest.cpp
@@ -644,8 +644,7 @@ void XMLHttpRequest::send(DOMFormData* body, ExceptionCode& ec)
String contentType = getRequestHeader("Content-Type");
if (contentType.isEmpty()) {
- contentType = "multipart/form-data; boundary=";
- contentType += m_requestEntityBody->boundary().data();
+ contentType = makeString("multipart/form-data; boundary=", m_requestEntityBody->boundary().data());
setRequestHeaderInternal("Content-Type", contentType);
}
}
@@ -920,7 +919,7 @@ void XMLHttpRequest::setRequestHeaderInternal(const AtomicString& name, const St
{
HTTPHeaderMap::AddResult result = m_requestHeaders.add(name, value);
if (!result.isNewEntry)
- result.iterator->second += ", " + value;
+ result.iterator->second.append(", " + value);
}
String XMLHttpRequest::getRequestHeader(const AtomicString& name) const
diff --git a/Source/WebCore/xml/XMLHttpRequestException.h b/Source/WebCore/xml/XMLHttpRequestException.h
index 54d927ab8..7c437ef2f 100644
--- a/Source/WebCore/xml/XMLHttpRequestException.h
+++ b/Source/WebCore/xml/XMLHttpRequestException.h
@@ -51,7 +51,7 @@ public:
static bool initializeDescription(ExceptionCode, ExceptionCodeDescription*);
private:
- XMLHttpRequestException(const ExceptionCodeDescription& description)
+ explicit XMLHttpRequestException(const ExceptionCodeDescription& description)
: ExceptionBase(description)
{
}
diff --git a/Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h b/Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h
index 538fd0bd9..d967985a0 100644
--- a/Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h
+++ b/Source/WebCore/xml/XMLHttpRequestProgressEventThrottle.h
@@ -45,7 +45,7 @@ enum ProgressEventAction {
// about every 50ms or for every byte received, whichever is least frequent".
class XMLHttpRequestProgressEventThrottle : public TimerBase {
public:
- XMLHttpRequestProgressEventThrottle(EventTarget*);
+ explicit XMLHttpRequestProgressEventThrottle(EventTarget*);
virtual ~XMLHttpRequestProgressEventThrottle();
void dispatchProgressEvent(bool lengthComputable, unsigned long long loaded, unsigned long long total);
diff --git a/Source/WebCore/xml/XMLHttpRequestUpload.h b/Source/WebCore/xml/XMLHttpRequestUpload.h
index a62a17545..386745f1b 100644
--- a/Source/WebCore/xml/XMLHttpRequestUpload.h
+++ b/Source/WebCore/xml/XMLHttpRequestUpload.h
@@ -67,7 +67,7 @@ namespace WebCore {
void dispatchEventAndLoadEnd(PassRefPtr<Event>);
private:
- XMLHttpRequestUpload(XMLHttpRequest*);
+ explicit XMLHttpRequestUpload(XMLHttpRequest*);
virtual void refEventTarget() { ref(); }
virtual void derefEventTarget() { deref(); }
diff --git a/Source/WebCore/xml/XMLSerializer.cpp b/Source/WebCore/xml/XMLSerializer.cpp
index 7b498974c..8dde67ebb 100644
--- a/Source/WebCore/xml/XMLSerializer.cpp
+++ b/Source/WebCore/xml/XMLSerializer.cpp
@@ -23,6 +23,7 @@
#include "Document.h"
#include "ExceptionCode.h"
#include "markup.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/xml/XMLSerializer.h b/Source/WebCore/xml/XMLSerializer.h
index 33e94b7e4..4d255b0e5 100644
--- a/Source/WebCore/xml/XMLSerializer.h
+++ b/Source/WebCore/xml/XMLSerializer.h
@@ -20,8 +20,9 @@
#ifndef XMLSerializer_h
#define XMLSerializer_h
+#include <wtf/Forward.h>
+#include <wtf/PassRefPtr.h>
#include <wtf/RefCounted.h>
-#include "PlatformString.h"
namespace WebCore {
diff --git a/Source/WebCore/xml/XPathException.h b/Source/WebCore/xml/XPathException.h
index d392a8e77..e0c42e9b1 100644
--- a/Source/WebCore/xml/XPathException.h
+++ b/Source/WebCore/xml/XPathException.h
@@ -51,7 +51,7 @@ public:
static bool initializeDescription(ExceptionCode, ExceptionCodeDescription*);
private:
- XPathException(const ExceptionCodeDescription& description)
+ explicit XPathException(const ExceptionCodeDescription& description)
: ExceptionBase(description)
{
}
diff --git a/Source/WebCore/xml/XPathExpression.cpp b/Source/WebCore/xml/XPathExpression.cpp
index 5f362531b..c5b3ff8f9 100644
--- a/Source/WebCore/xml/XPathExpression.cpp
+++ b/Source/WebCore/xml/XPathExpression.cpp
@@ -29,13 +29,13 @@
#include "Document.h"
#include "ExceptionCode.h"
-#include "PlatformString.h"
#include "XPathException.h"
#include "XPathExpressionNode.h"
#include "XPathNSResolver.h"
#include "XPathParser.h"
#include "XPathResult.h"
#include "XPathUtil.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebCore/xml/XPathFunctions.cpp b/Source/WebCore/xml/XPathFunctions.cpp
index 3c90e3b51..3934eba8e 100644
--- a/Source/WebCore/xml/XPathFunctions.cpp
+++ b/Source/WebCore/xml/XPathFunctions.cpp
@@ -550,22 +550,19 @@ Value FunTranslate::evaluate() const
String s1 = arg(0)->evaluate().toString();
String s2 = arg(1)->evaluate().toString();
String s3 = arg(2)->evaluate().toString();
- String newString;
+ StringBuilder result;
- // FIXME: Building a String a character at a time is quite slow.
for (unsigned i1 = 0; i1 < s1.length(); ++i1) {
UChar ch = s1[i1];
size_t i2 = s2.find(ch);
if (i2 == notFound)
- newString += String(&ch, 1);
- else if (i2 < s3.length()) {
- UChar c2 = s3[i2];
- newString += String(&c2, 1);
- }
+ result.append(ch);
+ else if (i2 < s3.length())
+ result.append(s3[i2]);
}
- return newString;
+ return result.toString();
}
Value FunBoolean::evaluate() const
diff --git a/Source/WebCore/xml/XPathPath.cpp b/Source/WebCore/xml/XPathPath.cpp
index db88c98d0..bc8a63a40 100644
--- a/Source/WebCore/xml/XPathPath.cpp
+++ b/Source/WebCore/xml/XPathPath.cpp
@@ -93,9 +93,14 @@ Value LocationPath::evaluate() const
{
EvaluationContext& evaluationContext = Expression::evaluationContext();
EvaluationContext backupContext = evaluationContext;
- // For absolute location paths, the context node is ignored. The
- // document's root node is used for attached nodes, otherwise the root
- // node of the detached subtree is used.
+ // http://www.w3.org/TR/xpath/
+ // Section 2, Location Paths:
+ // "/ selects the document root (which is always the parent of the document element)"
+ // "A / by itself selects the root node of the document containing the context node."
+ // In the case of a tree that is detached from the document, we violate
+ // the spec and treat / as the root node of the detached tree.
+ // This is for compatibility with Firefox, and also seems like a more
+ // logical treatment of where you would expect the "root" to be.
Node* context = evaluationContext.node.get();
if (m_absolute && context->nodeType() != Node::DOCUMENT_NODE) {
if (context->inDocument())
diff --git a/Source/WebCore/xml/XPathPredicate.h b/Source/WebCore/xml/XPathPredicate.h
index c639cec80..013ccda23 100644
--- a/Source/WebCore/xml/XPathPredicate.h
+++ b/Source/WebCore/xml/XPathPredicate.h
@@ -36,7 +36,7 @@ namespace WebCore {
class Number : public Expression {
public:
- Number(double);
+ explicit Number(double);
private:
virtual Value evaluate() const;
virtual Value::Type resultType() const { return Value::NumberValue; }
@@ -46,7 +46,7 @@ namespace WebCore {
class StringExpression : public Expression {
public:
- StringExpression(const String&);
+ explicit StringExpression(const String&);
private:
virtual Value evaluate() const;
virtual Value::Type resultType() const { return Value::StringValue; }
@@ -106,7 +106,7 @@ namespace WebCore {
class Predicate {
WTF_MAKE_NONCOPYABLE(Predicate); WTF_MAKE_FAST_ALLOCATED;
public:
- Predicate(Expression*);
+ explicit Predicate(Expression*);
~Predicate();
bool evaluate() const;
diff --git a/Source/WebCore/xml/XPathStep.h b/Source/WebCore/xml/XPathStep.h
index 136fd12c3..f678f9228 100644
--- a/Source/WebCore/xml/XPathStep.h
+++ b/Source/WebCore/xml/XPathStep.h
@@ -27,79 +27,82 @@
#ifndef XPathStep_h
#define XPathStep_h
-#include "Node.h"
#include "XPathExpressionNode.h"
#include "XPathNodeSet.h"
namespace WebCore {
- namespace XPath {
+class Node;
- class Predicate;
+namespace XPath {
+
+class Predicate;
- class Step : public ParseNode {
- WTF_MAKE_NONCOPYABLE(Step); WTF_MAKE_FAST_ALLOCATED;
- public:
- enum Axis {
- AncestorAxis, AncestorOrSelfAxis, AttributeAxis,
- ChildAxis, DescendantAxis, DescendantOrSelfAxis,
- FollowingAxis, FollowingSiblingAxis, NamespaceAxis,
- ParentAxis, PrecedingAxis, PrecedingSiblingAxis,
- SelfAxis
- };
-
- class NodeTest {
- WTF_MAKE_FAST_ALLOCATED;
- public:
- enum Kind {
- TextNodeTest, CommentNodeTest, ProcessingInstructionNodeTest, AnyNodeTest, NameTest
- };
-
- NodeTest(Kind kind) : m_kind(kind) {}
- NodeTest(Kind kind, const String& data) : m_kind(kind), m_data(data) {}
- NodeTest(Kind kind, const String& data, const String& namespaceURI) : m_kind(kind), m_data(data), m_namespaceURI(namespaceURI) {}
+class Step : public ParseNode {
+ WTF_MAKE_NONCOPYABLE(Step);
+ WTF_MAKE_FAST_ALLOCATED;
+public:
+ enum Axis {
+ AncestorAxis, AncestorOrSelfAxis, AttributeAxis,
+ ChildAxis, DescendantAxis, DescendantOrSelfAxis,
+ FollowingAxis, FollowingSiblingAxis, NamespaceAxis,
+ ParentAxis, PrecedingAxis, PrecedingSiblingAxis,
+ SelfAxis
+ };
+
+ class NodeTest {
+ WTF_MAKE_FAST_ALLOCATED;
+ public:
+ enum Kind {
+ TextNodeTest, CommentNodeTest, ProcessingInstructionNodeTest, AnyNodeTest, NameTest
+ };
+
+ NodeTest(Kind kind) : m_kind(kind) { }
+ NodeTest(Kind kind, const String& data) : m_kind(kind), m_data(data) { }
+ NodeTest(Kind kind, const String& data, const String& namespaceURI) : m_kind(kind), m_data(data), m_namespaceURI(namespaceURI) { }
- Kind kind() const { return m_kind; }
- const AtomicString& data() const { return m_data; }
- const AtomicString& namespaceURI() const { return m_namespaceURI; }
- Vector<Predicate*>& mergedPredicates() { return m_mergedPredicates; }
- const Vector<Predicate*>& mergedPredicates() const { return m_mergedPredicates; }
+ Kind kind() const { return m_kind; }
+ const AtomicString& data() const { return m_data; }
+ const AtomicString& namespaceURI() const { return m_namespaceURI; }
+ Vector<Predicate*>& mergedPredicates() { return m_mergedPredicates; }
+ const Vector<Predicate*>& mergedPredicates() const { return m_mergedPredicates; }
- private:
- Kind m_kind;
- AtomicString m_data;
- AtomicString m_namespaceURI;
+ private:
+ Kind m_kind;
+ AtomicString m_data;
+ AtomicString m_namespaceURI;
- // When possible, we merge some or all predicates with node test for better performance.
- Vector<Predicate*> m_mergedPredicates;
- };
+ // When possible, we merge some or all predicates with node test for better performance.
+ Vector<Predicate*> m_mergedPredicates;
+ };
- Step(Axis, const NodeTest& nodeTest, const Vector<Predicate*>& predicates = Vector<Predicate*>());
- ~Step();
+ Step(Axis, const NodeTest&, const Vector<Predicate*>& predicates = Vector<Predicate*>());
+ ~Step();
- void optimize();
+ void optimize();
- void evaluate(Node* context, NodeSet&) const;
+ void evaluate(Node* context, NodeSet&) const;
- Axis axis() const { return m_axis; }
- const NodeTest& nodeTest() const { return m_nodeTest; }
+ Axis axis() const { return m_axis; }
+ const NodeTest& nodeTest() const { return m_nodeTest; }
- private:
- friend void optimizeStepPair(Step*, Step*, bool&);
- bool predicatesAreContextListInsensitive() const;
+private:
+ friend void optimizeStepPair(Step*, Step*, bool&);
+ bool predicatesAreContextListInsensitive() const;
- void parseNodeTest(const String&);
- void nodesInAxis(Node* context, NodeSet&) const;
- String namespaceFromNodetest(const String& nodeTest) const;
+ void parseNodeTest(const String&);
+ void nodesInAxis(Node* context, NodeSet&) const;
+ String namespaceFromNodetest(const String& nodeTest) const;
- Axis m_axis;
- NodeTest m_nodeTest;
- Vector<Predicate*> m_predicates;
- };
+ Axis m_axis;
+ NodeTest m_nodeTest;
+ Vector<Predicate*> m_predicates;
+};
+
+void optimizeStepPair(Step*, Step*, bool& dropSecondStep);
- void optimizeStepPair(Step*, Step*, bool& dropSecondStep);
- }
+} // namespace XPath
-}
+} // namespace WebCore
#endif // XPathStep_h
diff --git a/Source/WebCore/xml/XPathValue.h b/Source/WebCore/xml/XPathValue.h
index ab657160b..490bb2d7b 100644
--- a/Source/WebCore/xml/XPathValue.h
+++ b/Source/WebCore/xml/XPathValue.h
@@ -27,8 +27,8 @@
#ifndef XPathValue_h
#define XPathValue_h
-#include "PlatformString.h"
#include "XPathNodeSet.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -45,8 +45,8 @@ namespace WebCore {
private:
ValueData() { }
- ValueData(const NodeSet& nodeSet) : m_nodeSet(nodeSet) { }
- ValueData(const String& string) : m_string(string) { }
+ explicit ValueData(const NodeSet& nodeSet) : m_nodeSet(nodeSet) { }
+ explicit ValueData(const String& string) : m_string(string) { }
};
// Copying Value objects makes their data partially shared, so care has to be taken when dealing with copies.
diff --git a/Source/WebCore/xml/XPathVariableReference.h b/Source/WebCore/xml/XPathVariableReference.h
index 563681240..042a18897 100644
--- a/Source/WebCore/xml/XPathVariableReference.h
+++ b/Source/WebCore/xml/XPathVariableReference.h
@@ -35,7 +35,7 @@ namespace WebCore {
// Variable references are not used with XPathEvaluator.
class VariableReference : public Expression {
public:
- VariableReference(const String& name);
+ explicit VariableReference(const String& name);
private:
virtual Value evaluate() const;
virtual Value::Type resultType() const { ASSERT_NOT_REACHED(); return Value::NumberValue; }
diff --git a/Source/WebCore/xml/XSLTProcessor.cpp b/Source/WebCore/xml/XSLTProcessor.cpp
index 0e232351b..6cf79379d 100644
--- a/Source/WebCore/xml/XSLTProcessor.cpp
+++ b/Source/WebCore/xml/XSLTProcessor.cpp
@@ -110,6 +110,9 @@ PassRefPtr<Document> XSLTProcessor::createDocumentFromSource(const String& sourc
PassRefPtr<Document> XSLTProcessor::transformToDocument(Node* sourceNode)
{
+ if (!sourceNode)
+ return 0;
+
String resultMIMEType;
String resultString;
String resultEncoding;
@@ -120,6 +123,9 @@ PassRefPtr<Document> XSLTProcessor::transformToDocument(Node* sourceNode)
PassRefPtr<DocumentFragment> XSLTProcessor::transformToFragment(Node* sourceNode, Document* outputDoc)
{
+ if (!sourceNode || !outputDoc)
+ return 0;
+
String resultMIMEType;
String resultString;
String resultEncoding;
diff --git a/Source/WebCore/xml/XSLTProcessor.h b/Source/WebCore/xml/XSLTProcessor.h
index 451e12cc1..81f4a6a26 100644
--- a/Source/WebCore/xml/XSLTProcessor.h
+++ b/Source/WebCore/xml/XSLTProcessor.h
@@ -51,7 +51,11 @@ public:
PassRefPtr<Document> createDocumentFromSource(const String& source, const String& sourceEncoding, const String& sourceMIMEType, Node* sourceNode, Frame* frame);
// DOM methods
- void importStylesheet(PassRefPtr<Node> style) { m_stylesheetRootNode = style; }
+ void importStylesheet(PassRefPtr<Node> style)
+ {
+ if (style)
+ m_stylesheetRootNode = style;
+ }
PassRefPtr<DocumentFragment> transformToFragment(Node* source, Document* ouputDoc);
PassRefPtr<Document> transformToDocument(Node* source);
diff --git a/Source/WebCore/xml/XSLTProcessor.idl b/Source/WebCore/xml/XSLTProcessor.idl
index 48ec6c20e..c739b0157 100644
--- a/Source/WebCore/xml/XSLTProcessor.idl
+++ b/Source/WebCore/xml/XSLTProcessor.idl
@@ -37,9 +37,9 @@ module xml {
Constructor
] XSLTProcessor {
- [Custom] void importStylesheet(in Node stylesheet);
- [Custom] DocumentFragment transformToFragment(in Node source, in Document docVal);
- [Custom] Document transformToDocument(in Node source);
+ void importStylesheet(in [Optional=DefaultIsUndefined] Node stylesheet);
+ DocumentFragment transformToFragment(in [Optional=DefaultIsUndefined] Node source, in [Optional=DefaultIsUndefined] Document docVal);
+ Document transformToDocument(in [Optional=DefaultIsUndefined] Node source);
[Custom] void setParameter(in DOMString namespaceURI, in DOMString localName, in DOMString value);
[Custom, TreatReturnedNullStringAs=Undefined] DOMString getParameter(in DOMString namespaceURI, in DOMString localName);
diff --git a/Source/WebCore/xml/XSLTUnicodeSort.cpp b/Source/WebCore/xml/XSLTUnicodeSort.cpp
index b0b9c7289..66b8a6d5e 100644
--- a/Source/WebCore/xml/XSLTUnicodeSort.cpp
+++ b/Source/WebCore/xml/XSLTUnicodeSort.cpp
@@ -31,9 +31,9 @@
#if ENABLE(XSLT)
-#include "PlatformString.h"
#include <libxslt/templates.h>
#include <libxslt/xsltutils.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/Collator.h>
#if PLATFORM(MAC)
diff --git a/Source/WebCore/xml/parser/NewXMLDocumentParser.cpp b/Source/WebCore/xml/parser/NewXMLDocumentParser.cpp
index be72c5dbf..63c33d6b7 100644
--- a/Source/WebCore/xml/parser/NewXMLDocumentParser.cpp
+++ b/Source/WebCore/xml/parser/NewXMLDocumentParser.cpp
@@ -27,6 +27,7 @@
#include "NewXMLDocumentParser.h"
#include "DocumentFragment.h"
+#include "Element.h"
#include "ScriptElement.h"
#include "ScriptSourceCode.h"
#include "SegmentedString.h"
diff --git a/Source/WebCore/xml/parser/NewXMLDocumentParser.h b/Source/WebCore/xml/parser/NewXMLDocumentParser.h
index d48f352b3..975d67b96 100644
--- a/Source/WebCore/xml/parser/NewXMLDocumentParser.h
+++ b/Source/WebCore/xml/parser/NewXMLDocumentParser.h
@@ -29,6 +29,7 @@
#include "CachedResourceClient.h"
#include "CachedResourceHandle.h"
#include "CachedScript.h"
+#include "FragmentScriptingPermission.h"
#include "ScriptableDocumentParser.h"
#include "XMLToken.h"
#include "XMLTokenizer.h"
@@ -39,6 +40,7 @@ namespace WebCore {
class ContainerNode;
class Document;
+class DocumentFragment;
class ScriptElement;
class XMLTreeBuilder;
diff --git a/Source/WebCore/xml/parser/XMLDocumentParser.cpp b/Source/WebCore/xml/parser/XMLDocumentParser.cpp
index 5241f0715..69ef6a52c 100644
--- a/Source/WebCore/xml/parser/XMLDocumentParser.cpp
+++ b/Source/WebCore/xml/parser/XMLDocumentParser.cpp
@@ -112,22 +112,20 @@ void XMLDocumentParser::insert(const SegmentedString&)
ASSERT_NOT_REACHED();
}
-void XMLDocumentParser::append(const SegmentedString& s)
+void XMLDocumentParser::append(const SegmentedString& source)
{
- String parseString = s.toString();
-
if (m_sawXSLTransform || !m_sawFirstElement)
- m_originalSourceForTransform += parseString;
+ m_originalSourceForTransform.append(source);
if (isStopped() || m_sawXSLTransform)
return;
if (m_parserPaused) {
- m_pendingSrc.append(s);
+ m_pendingSrc.append(source);
return;
}
- doWrite(parseString);
+ doWrite(source.toString());
// After parsing, go ahead and dispatch image beforeload events.
ImageLoader::dispatchPendingBeforeLoadEvents();
diff --git a/Source/WebCore/xml/parser/XMLDocumentParser.h b/Source/WebCore/xml/parser/XMLDocumentParser.h
index 2a7245e61..e8d144bec 100644
--- a/Source/WebCore/xml/parser/XMLDocumentParser.h
+++ b/Source/WebCore/xml/parser/XMLDocumentParser.h
@@ -177,7 +177,7 @@ public:
FrameView* m_view;
- String m_originalSourceForTransform;
+ SegmentedString m_originalSourceForTransform;
#if USE(QXMLSTREAM)
QXmlStreamReader m_stream;
diff --git a/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp b/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
index 49a316e08..208336ed2 100644
--- a/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
+++ b/Source/WebCore/xml/parser/XMLDocumentParserLibxml2.cpp
@@ -1332,7 +1332,7 @@ void XMLDocumentParser::doEnd()
xmlTreeViewer.transformDocumentToTreeView();
if (m_sawXSLTransform) {
- void* doc = xmlDocPtrForString(document()->cachedResourceLoader(), m_originalSourceForTransform, document()->url().string());
+ void* doc = xmlDocPtrForString(document()->cachedResourceLoader(), m_originalSourceForTransform.toString(), document()->url().string());
document()->setTransformSource(adoptPtr(new TransformSource(doc)));
document()->setParsing(false); // Make the document think it's done, so it will apply XSL stylesheets.
diff --git a/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp b/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp
index 6430accc9..c0ba9ced6 100644
--- a/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp
+++ b/Source/WebCore/xml/parser/XMLDocumentParserQt.cpp
@@ -201,7 +201,7 @@ void XMLDocumentParser::doEnd()
{
#if ENABLE(XSLT)
if (m_sawXSLTransform) {
- document()->setTransformSource(adoptPtr(new TransformSource(m_originalSourceForTransform)));
+ document()->setTransformSource(adoptPtr(new TransformSource(m_originalSourceForTransform.toString())));
document()->setParsing(false); // Make the doc think it's done, so it will apply xsl sheets.
document()->styleResolverChanged(RecalcStyleImmediately);
document()->setParsing(true);
diff --git a/Source/WebCore/xml/parser/XMLToken.h b/Source/WebCore/xml/parser/XMLToken.h
index 73b9b0111..2a223317c 100644
--- a/Source/WebCore/xml/parser/XMLToken.h
+++ b/Source/WebCore/xml/parser/XMLToken.h
@@ -27,7 +27,6 @@
#ifndef XMLToken_h
#define XMLToken_h
-#include "Element.h"
#include "MarkupTokenBase.h"
namespace WebCore {
diff --git a/Source/WebCore/xml/parser/XMLTokenizer.cpp b/Source/WebCore/xml/parser/XMLTokenizer.cpp
index 9e62e743c..bb3e68cd8 100644
--- a/Source/WebCore/xml/parser/XMLTokenizer.cpp
+++ b/Source/WebCore/xml/parser/XMLTokenizer.cpp
@@ -482,7 +482,7 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
END_STATE()
XML_BEGIN_STATE(ProcessingInstructionTargetStartState) {
- DEFINE_STATIC_LOCAL(String, xmlString, ("xml"));
+ DEFINE_STATIC_LOCAL(String, xmlString, (ASCIILiteral("xml")));
// FIXME: this probably shouldn't be case-insensitive, but I don't know if people try capitalizing it ever.
if (cc == 'x' || cc == 'X') {
SegmentedString::LookAheadResult result = source.lookAheadIgnoringCase(xmlString);
@@ -523,7 +523,7 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
END_STATE()
XML_BEGIN_STATE(XMLDeclBeforeVersionNameState) {
- DEFINE_STATIC_LOCAL(String, versionString, ("version"));
+ DEFINE_STATIC_LOCAL(String, versionString, (ASCIILiteral("version")));
if (isTokenizerWhitespace(cc))
XML_ADVANCE_TO(XMLDeclBeforeVersionNameState);
else {
@@ -542,7 +542,7 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
EQ_BEFORE_VALUE_STATES(XMLDeclAfterVersionNameState, XMLDeclBeforeVersionValueState, XMLDeclBeforeVersionOnePointState)
XML_BEGIN_STATE(XMLDeclBeforeVersionOnePointState) {
- DEFINE_STATIC_LOCAL(String, onePointString, ("1."));
+ DEFINE_STATIC_LOCAL(String, onePointString, (ASCIILiteral("1.")));
SegmentedString::LookAheadResult result = source.lookAhead(onePointString);
if (result == SegmentedString::DidMatch) {
source.advanceAndASSERT('1');
@@ -583,8 +583,8 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
END_STATE()
XML_BEGIN_STATE(XMLDeclBeforeEncodingNameState) {
- DEFINE_STATIC_LOCAL(String, encodingString, ("encoding"));
- DEFINE_STATIC_LOCAL(String, standaloneString, ("standalone"));
+ DEFINE_STATIC_LOCAL(String, encodingString, (ASCIILiteral("encoding")));
+ DEFINE_STATIC_LOCAL(String, standaloneString, (ASCIILiteral("standalone")));
if (isTokenizerWhitespace(cc))
XML_ADVANCE_TO(XMLDeclBeforeEncodingNameState);
else if (cc == 'e') {
@@ -646,7 +646,7 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
END_STATE()
XML_BEGIN_STATE(XMLDeclBeforeStandaloneNameState) {
- DEFINE_STATIC_LOCAL(String, standaloneString, ("standalone"));
+ DEFINE_STATIC_LOCAL(String, standaloneString, (ASCIILiteral("standalone")));
if (isTokenizerWhitespace(cc))
XML_ADVANCE_TO(XMLDeclBeforeStandaloneNameState);
else if (cc == 's') {
@@ -666,8 +666,8 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
EQ_BEFORE_VALUE_STATES(XMLDeclAfterStandaloneNameState, XMLDeclBeforeStandaloneValueState, XMLDeclStandaloneValueQuotedState)
XML_BEGIN_STATE(XMLDeclStandaloneValueQuotedState) {
- DEFINE_STATIC_LOCAL(String, yesString, ("yes\""));
- DEFINE_STATIC_LOCAL(String, noString, ("no\""));
+ DEFINE_STATIC_LOCAL(String, yesString, (ASCIILiteral("yes\"")));
+ DEFINE_STATIC_LOCAL(String, noString, (ASCIILiteral("no\"")));
if (cc == 'y') {
SegmentedString::LookAheadResult result = source.lookAhead(yesString);
if (result == SegmentedString::DidMatch) {
@@ -765,9 +765,9 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
END_STATE()
XML_BEGIN_STATE(MarkupDeclarationOpenState) {
- DEFINE_STATIC_LOCAL(String, dashDashString, ("--"));
- DEFINE_STATIC_LOCAL(String, doctypeString, ("doctype"));
- DEFINE_STATIC_LOCAL(String, cdataString, ("[CDATA["));
+ DEFINE_STATIC_LOCAL(String, dashDashString, (ASCIILiteral("--")));
+ DEFINE_STATIC_LOCAL(String, doctypeString, (ASCIILiteral("doctype")));
+ DEFINE_STATIC_LOCAL(String, cdataString, (ASCIILiteral("[CDATA[")));
if (cc == '-') {
SegmentedString::LookAheadResult result = source.lookAhead(dashDashString);
if (result == SegmentedString::DidMatch) {
@@ -874,8 +874,8 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
parseError();
return emitEndOfFile(source);
}
- DEFINE_STATIC_LOCAL(String, publicString, ("public"));
- DEFINE_STATIC_LOCAL(String, systemString, ("system"));
+ DEFINE_STATIC_LOCAL(String, publicString, (ASCIILiteral("public")));
+ DEFINE_STATIC_LOCAL(String, systemString, (ASCIILiteral("system")));
if (cc == 'P' || cc == 'p') {
SegmentedString::LookAheadResult result = source.lookAheadIgnoringCase(publicString);
if (result == SegmentedString::DidMatch) {
@@ -1021,7 +1021,7 @@ bool XMLTokenizer::nextToken(SegmentedString& source, XMLToken& token)
END_STATE()
XML_BEGIN_STATE(CDATASectionState) {
- DEFINE_STATIC_LOCAL(String, closeString, ("]]>"));
+ DEFINE_STATIC_LOCAL(String, closeString, (ASCIILiteral("]]>")));
if (cc == ']') {
SegmentedString::LookAheadResult result = source.lookAhead(closeString);
if (result == SegmentedString::DidMatch) {
diff --git a/Source/WebCore/xml/parser/XMLTreeBuilder.cpp b/Source/WebCore/xml/parser/XMLTreeBuilder.cpp
index 4cd3ac970..cc0d722d5 100644
--- a/Source/WebCore/xml/parser/XMLTreeBuilder.cpp
+++ b/Source/WebCore/xml/parser/XMLTreeBuilder.cpp
@@ -32,6 +32,7 @@
#include "Document.h"
#include "DocumentFragment.h"
#include "DocumentType.h"
+#include "Element.h"
#include "Frame.h"
// FIXME: Why are we including HTML entity information in the XML parser?
#include "HTMLEntitySearch.h"
@@ -334,11 +335,11 @@ void XMLTreeBuilder::processXMLEntity(const AtomicXMLToken& token)
DEFINE_STATIC_LOCAL(AtomicString, gt, ("gt"));
DEFINE_STATIC_LOCAL(AtomicString, lt, ("lt"));
DEFINE_STATIC_LOCAL(AtomicString, quot, ("quot"));
- DEFINE_STATIC_LOCAL(String, ampS, ("&"));
- DEFINE_STATIC_LOCAL(String, aposS, ("'"));
- DEFINE_STATIC_LOCAL(String, gtS, (">"));
- DEFINE_STATIC_LOCAL(String, ltS, ("<"));
- DEFINE_STATIC_LOCAL(String, quotS, ("\""));
+ DEFINE_STATIC_LOCAL(String, ampS, (ASCIILiteral("&")));
+ DEFINE_STATIC_LOCAL(String, aposS, (ASCIILiteral("'")));
+ DEFINE_STATIC_LOCAL(String, gtS, (ASCIILiteral(">")));
+ DEFINE_STATIC_LOCAL(String, ltS, (ASCIILiteral("<")));
+ DEFINE_STATIC_LOCAL(String, quotS, (ASCIILiteral("\"")));
if (token.name() == amp)
appendToText(ampS.characters(), 1);
diff --git a/Source/WebCore/xml/parser/XMLTreeBuilder.h b/Source/WebCore/xml/parser/XMLTreeBuilder.h
index 39ee59be0..9c9186e8a 100644
--- a/Source/WebCore/xml/parser/XMLTreeBuilder.h
+++ b/Source/WebCore/xml/parser/XMLTreeBuilder.h
@@ -36,6 +36,7 @@ namespace WebCore {
class ContainerNode;
class Document;
+class DocumentFragment;
class NewXMLDocumentParser;
class XMLTreeBuilder {
diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog
index 4bf98debd..9e13907e8 100644
--- a/Source/WebKit/ChangeLog
+++ b/Source/WebKit/ChangeLog
@@ -1,3 +1,69 @@
+2012-09-06 Crystal Zhang <haizhang@rim.com>
+
+ [BlackBerry] Implement a color picker
+ https://bugs.webkit.org/show_bug.cgi?id=96001
+
+ Reviewed by Rob Buis.
+
+ Add color picker files into building system.
+
+ * PlatformBlackBerry.cmake:
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+ https://bugs.webkit.org/show_bug.cgi?id=95965
+
+ Reviewed by Tor Arne Vestbø.
+
+ Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
+ headers (GraphicsContext3D.h in particular).
+
+ * WebKit1.pro:
+
+2012-09-04 Michał Pakuła vel Rutka <m.pakula@samsung.com>
+
+ [EFL] Context menu restore.
+ https://bugs.webkit.org/show_bug.cgi?id=74179
+
+ Reviewed by Gyuyoung Kim.
+
+ Adds context menu support for EFL port using non-CROSS_PLATFORM_CONTEXT_MENUS
+ approach, the same as used in WebKit2.
+
+ * PlatformEfl.cmake: Added ContextMenuClientEfl.cpp file to sources list.
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Move several files to remove webkit1 dependency from WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=95264
+
+ Reviewed by Gyuyoung Kim.
+
+ * PlatformEfl.cmake: Added files which is moved.
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Rename knob images to thumb on the default theme
+ https://bugs.webkit.org/show_bug.cgi?id=95186
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Updated buildsystem after renaming theme images.
+
+ * PlatformEfl.cmake:
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Modified PlatformEfl.cmake so that it includes the renamed files.
+
+ * PlatformEfl.cmake:
+
2012-08-20 Dominik Röttsches <dominik.rottsches@intel.com>
[EFL] Get rid of pango backend support once harfbuzz-ng is working
diff --git a/Source/WebKit/PlatformBlackBerry.cmake b/Source/WebKit/PlatformBlackBerry.cmake
index 5d5a255be..365cdbd6f 100644
--- a/Source/WebKit/PlatformBlackBerry.cmake
+++ b/Source/WebKit/PlatformBlackBerry.cmake
@@ -92,6 +92,7 @@ LIST(APPEND WebKit_SOURCES
blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
blackberry/WebCoreSupport/SelectPopupClient.cpp
blackberry/WebCoreSupport/DatePickerClient.cpp
+ blackberry/WebCoreSupport/ColorPickerClient.cpp
blackberry/WebKitSupport/AboutData.cpp
blackberry/WebKitSupport/BackingStoreCompositingSurface.cpp
blackberry/WebKitSupport/BackingStoreTile.cpp
diff --git a/Source/WebKit/PlatformEfl.cmake b/Source/WebKit/PlatformEfl.cmake
index cea3e5eaf..84f0240a3 100644
--- a/Source/WebKit/PlatformEfl.cmake
+++ b/Source/WebKit/PlatformEfl.cmake
@@ -78,9 +78,9 @@ IF (ENABLE_BATTERY_STATUS)
)
ENDIF ()
-IF (ENABLE_REGISTER_PROTOCOL_HANDLER)
+IF (ENABLE_NAVIGATOR_CONTENT_UTILS)
LIST(APPEND WebKit_INCLUDE_DIRECTORIES
- "${WEBCORE_DIR}/Modules/protocolhandler"
+ "${WEBCORE_DIR}/Modules/navigatorcontentutils"
)
ENDIF ()
@@ -88,6 +88,8 @@ LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/AssertMatchingEnums.cpp
efl/WebCoreSupport/BatteryClientEfl.cpp
efl/WebCoreSupport/ChromeClientEfl.cpp
+ efl/WebCoreSupport/ColorChooserEfl.cpp
+ efl/WebCoreSupport/ContextMenuClientEfl.cpp
efl/WebCoreSupport/DeviceOrientationClientEfl.cpp
efl/WebCoreSupport/DeviceMotionClientEfl.cpp
efl/WebCoreSupport/DragClientEfl.cpp
@@ -98,11 +100,13 @@ LIST(APPEND WebKit_SOURCES
efl/WebCoreSupport/FullscreenVideoControllerEfl.cpp
efl/WebCoreSupport/IconDatabaseClientEfl.cpp
efl/WebCoreSupport/InspectorClientEfl.cpp
+ efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
efl/WebCoreSupport/NetworkInfoClientEfl.cpp
efl/WebCoreSupport/NotificationPresenterClientEfl.cpp
efl/WebCoreSupport/PageClientEfl.cpp
efl/WebCoreSupport/PlatformStrategiesEfl.cpp
- efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp
+ efl/WebCoreSupport/PopupMenuEfl.cpp
+ efl/WebCoreSupport/SearchPopupMenuEfl.cpp
efl/WebCoreSupport/StorageTrackerClientEfl.cpp
efl/WebCoreSupport/VibrationClientEfl.cpp
@@ -166,15 +170,15 @@ ADD_CUSTOM_COMMAND(
COMMAND ${EDJE_CC_EXECUTABLE} -v -id ${WEBKIT_DIR}/efl/DefaultTheme ${WebKit_THEME_DEFINITION} ${WEBKIT_DIR}/efl/DefaultTheme/default.edc ${WebKit_THEME}
DEPENDS
${WEBKIT_DIR}/efl/DefaultTheme/default.edc
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_v.png
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_press_v.png
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_v.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider.edc
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_press_h.png
- ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_knob_h.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_fill_v.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_fill_h.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_h.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_h.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_thumb_v.png
+ ${WEBKIT_DIR}/efl/DefaultTheme/widget/slider/slider_v.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_focus_button.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/combo_press.png
${WEBKIT_DIR}/efl/DefaultTheme/widget/combo/icon.png
diff --git a/Source/WebKit/WebKit1.pro b/Source/WebKit/WebKit1.pro
index 82cd0cd0c..b29b7bd27 100644
--- a/Source/WebKit/WebKit1.pro
+++ b/Source/WebKit/WebKit1.pro
@@ -152,4 +152,5 @@ contains(DEFINES, ENABLE_GEOLOCATION=1) {
$$PWD/qt/WebCoreSupport/GeolocationClientQt.cpp
}
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += angle
diff --git a/Source/WebKit/blackberry/Api/BackingStore.cpp b/Source/WebKit/blackberry/Api/BackingStore.cpp
index b86cc5d11..d626fec30 100644
--- a/Source/WebKit/blackberry/Api/BackingStore.cpp
+++ b/Source/WebKit/blackberry/Api/BackingStore.cpp
@@ -37,7 +37,6 @@
#include "WebPage_p.h"
#include "WebSettings.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformExecutableMessage.h>
#include <BlackBerryPlatformGraphics.h>
#include <BlackBerryPlatformIntRectRegion.h>
@@ -209,7 +208,6 @@ BackingStorePrivate::BackingStorePrivate()
, m_currentWindowBackBuffer(0)
, m_preferredTileMatrixDimension(Vertical)
#if USE(ACCELERATED_COMPOSITING)
- , m_needsDrawLayersOnCommit(false)
, m_isDirectRenderingAnimationMessageScheduled(false)
#endif
{
@@ -391,7 +389,7 @@ void BackingStorePrivate::repaint(const Platform::IntRect& windowRect,
if (immediate) {
if (render(rect)) {
- if (!shouldDirectRenderingToWindow())
+ if (!shouldDirectRenderingToWindow() && !m_webPage->d->commitRootLayerIfNeeded())
blitVisibleContents();
m_webPage->d->m_client->notifyContentRendered(rect);
}
@@ -414,7 +412,7 @@ void BackingStorePrivate::slowScroll(const Platform::IntSize& delta, const Platf
Platform::IntRect rect = m_webPage->d->mapToTransformed(m_client->mapFromViewportToContents(windowRect));
if (immediate) {
- if (render(rect) && !isSuspended() && !shouldDirectRenderingToWindow())
+ if (render(rect) && !isSuspended() && !shouldDirectRenderingToWindow() && !m_webPage->d->commitRootLayerIfNeeded())
blitVisibleContents();
} else {
m_renderQueue->addToQueue(RenderQueue::VisibleScroll, rect);
@@ -514,7 +512,8 @@ void BackingStorePrivate::dispatchRenderJob()
void BackingStorePrivate::renderJob()
{
- ASSERT(shouldPerformRenderJobs());
+ if (!shouldPerformRenderJobs())
+ return;
#if DEBUG_BACKINGSTORE
BlackBerry::Platform::logAlways(BlackBerry::Platform::LogLevelCritical, "BackingStorePrivate::renderJob");
@@ -523,7 +522,7 @@ void BackingStorePrivate::renderJob()
m_renderQueue->render(!m_suspendRegularRenderJobs);
#if USE(ACCELERATED_COMPOSITING)
- drawLayersOnCommitIfNeeded();
+ m_webPage->d->commitRootLayerIfNeeded();
#endif
if (shouldPerformRenderJobs())
@@ -910,8 +909,6 @@ bool BackingStorePrivate::isCurrentVisibleJob(const TileIndex& index, BackingSto
return true;
// Second check if the individual parts of the non-rendered region are in the regular queue.
- bool isCurrent = true; // It is true until it isn't :)
-
IntRectList tileNotRenderedRegionRects = tile->frontBuffer()->notRenderedRegion().rects();
for (size_t i = 0; i < tileNotRenderedRegionRects.size(); ++i) {
Platform::IntRect tileNotRenderedRegionRect = tileNotRenderedRegionRects.at(i);
@@ -920,10 +917,11 @@ bool BackingStorePrivate::isCurrentVisibleJob(const TileIndex& index, BackingSto
// Map to transformed contents coordinates.
tileNotRenderedRegionRect.move(origin.x(), origin.y());
- isCurrent = m_renderQueue->isCurrentRegularRenderJob(tileNotRenderedRegionRect) ? isCurrent : false;
+ if (!m_renderQueue->isCurrentRegularRenderJob(tileNotRenderedRegionRect))
+ return false;
}
- return isCurrent;
+ return true;
}
void BackingStorePrivate::scrollBackingStore(int deltaX, int deltaY)
@@ -1147,11 +1145,6 @@ void BackingStorePrivate::blitVisibleContents(bool force)
}
if (!BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
-#if USE(ACCELERATED_COMPOSITING)
- // The blit will draw accelerated compositing layers if necessary
- m_needsDrawLayersOnCommit = false;
-#endif
-
BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(
BlackBerry::Platform::createMethodCallMessage(
&BackingStorePrivate::blitVisibleContents, this, force));
@@ -1247,11 +1240,6 @@ void BackingStorePrivate::blitContents(const Platform::IntRect& dstRect,
}
if (!BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
-#if USE(ACCELERATED_COMPOSITING)
- // The blit will draw accelerated compositing layers if necessary
- m_needsDrawLayersOnCommit = false;
-#endif
-
BlackBerry::Platform::userInterfaceThreadMessageClient()->dispatchMessage(
BlackBerry::Platform::createMethodCallMessage(
&BackingStorePrivate::blitContents, this, dstRect, srcRect, force));
@@ -2288,18 +2276,6 @@ void BackingStorePrivate::renderContents(BlackBerry::Platform::Graphics::Buffer*
if (contentsSize.isEmpty())
return;
-#if USE(ACCELERATED_COMPOSITING)
- // When committing the pending accelerated compositing layer changes, it's
- // necessary to draw the new layer appearance. This is normally done as
- // part of a blit, but if no blit happens because of this rendering, for
- // example because we're rendering an offscreen rectangle, someone needs to
- // catch this flag and make sure those layers get drawn.
- // This is just a complicated way to do
- // "if (commitRootLayerIfNeeded()) drawLayersOnCommit();"
- if (m_webPage->d->commitRootLayerIfNeeded())
- m_needsDrawLayersOnCommit = true;
-#endif
-
BlackBerry::Platform::Graphics::Drawable* bufferDrawable =
BlackBerry::Platform::Graphics::lockBufferDrawable(targetBuffer);
@@ -2601,18 +2577,6 @@ BackingStoreWindowBufferState* BackingStorePrivate::windowBackBufferState() cons
}
#if USE(ACCELERATED_COMPOSITING)
-bool BackingStorePrivate::drawLayersOnCommitIfNeeded()
-{
- // Check if rendering caused a commit and we need to redraw the layers
- if (!m_needsDrawLayersOnCommit)
- return false;
-
- m_needsDrawLayersOnCommit = false;
- m_webPage->d->drawLayersOnCommit();
-
- return true;
-}
-
void BackingStorePrivate::drawAndBlendLayersForDirectRendering(const Platform::IntRect& dirtyRect)
{
ASSERT(BlackBerry::Platform::userInterfaceThreadMessageClient()->isCurrentThread());
@@ -2628,7 +2592,6 @@ void BackingStorePrivate::drawAndBlendLayersForDirectRendering(const Platform::I
WebCore::IntRect(WebCore::IntPoint(0, 0), m_webPage->d->transformedViewportSize()));
// Check if rendering caused a commit and we need to redraw the layers.
- m_needsDrawLayersOnCommit = false;
if (WebPageCompositorPrivate* compositor = m_webPage->d->compositor())
compositor->drawLayers(dstRect, untransformedContentsRect);
@@ -2648,6 +2611,20 @@ bool BackingStorePrivate::isActive() const
return BackingStorePrivate::s_currentBackingStoreOwner == m_webPage && SurfacePool::globalSurfacePool()->isActive();
}
+void BackingStorePrivate::didRenderContent(const Platform::IntRect& renderedRect)
+{
+ if (isScrollingOrZooming())
+ return;
+
+ if (!shouldDirectRenderingToWindow()) {
+ if (!m_webPage->d->needsOneShotDrawingSynchronization())
+ blitVisibleContents();
+ } else
+ invalidateWindow();
+
+ m_webPage->client()->notifyContentRendered(renderedRect);
+}
+
BackingStore::BackingStore(WebPage* webPage, BackingStoreClient* client)
: d(new BackingStorePrivate)
{
@@ -2728,12 +2705,14 @@ bool BackingStore::isDirectRenderingToWindow() const
void BackingStore::createBackingStoreMemory()
{
- SurfacePool::globalSurfacePool()->createBuffers();
+ if (BackingStorePrivate::s_currentBackingStoreOwner == d->m_webPage)
+ SurfacePool::globalSurfacePool()->createBuffers();
}
void BackingStore::releaseBackingStoreMemory()
{
- SurfacePool::globalSurfacePool()->releaseBuffers();
+ if (BackingStorePrivate::s_currentBackingStoreOwner == d->m_webPage)
+ SurfacePool::globalSurfacePool()->releaseBuffers();
}
bool BackingStore::defersBlit() const
diff --git a/Source/WebKit/blackberry/Api/BackingStore_p.h b/Source/WebKit/blackberry/Api/BackingStore_p.h
index 77eeab951..71738951c 100644
--- a/Source/WebKit/blackberry/Api/BackingStore_p.h
+++ b/Source/WebKit/blackberry/Api/BackingStore_p.h
@@ -334,6 +334,8 @@ public:
BlackBerry::Platform::IntSize surfaceSize() const;
BlackBerry::Platform::Graphics::Buffer* buffer() const;
+ void didRenderContent(const Platform::IntRect& renderedRect);
+
static WebPage* s_currentBackingStoreOwner;
unsigned m_suspendScreenUpdates;
diff --git a/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp b/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
index d6ec87fe2..fc9cd5aae 100644
--- a/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
+++ b/Source/WebKit/blackberry/Api/BlackBerryGlobal.cpp
@@ -29,7 +29,6 @@
#include "JSDOMWindow.h"
#include "JSGlobalData.h"
#include "Logging.h"
-#include "MainThread.h"
#include "MemoryCache.h"
#include "NetworkStateNotifier.h"
#include "PageCache.h"
@@ -41,6 +40,7 @@
#include <BlackBerryPlatformExecutableMessage.h>
#include <BlackBerryPlatformMessageClient.h>
#include <BlackBerryPlatformSettings.h>
+#include <wtf/MainThread.h>
using namespace WebCore;
diff --git a/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h b/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
index ce6dd2743..c9a66390d 100644
--- a/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
+++ b/Source/WebKit/blackberry/Api/DumpRenderTreeClient.h
@@ -21,8 +21,8 @@
#include "BlackBerryGlobal.h"
-#include "PlatformString.h"
#include <JavaScriptCore/JSObjectRef.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Credential;
@@ -42,6 +42,7 @@ class WebPage;
class BLACKBERRY_EXPORT DumpRenderTreeClient {
public:
+ virtual ~DumpRenderTreeClient() { }
virtual void runTests() = 0;
// FrameLoaderClient delegates
@@ -53,19 +54,19 @@ public:
virtual void didFinishLoadForFrame(WebCore::Frame*) = 0;
virtual void didFinishDocumentLoadForFrame(WebCore::Frame*) = 0;
virtual void didClearWindowObjectInWorld(WebCore::DOMWrapperWorld*, JSGlobalContextRef, JSObjectRef windowObject) = 0;
- virtual void didReceiveTitleForFrame(const WTF::String& title, WebCore::Frame*) = 0;
+ virtual void didReceiveTitleForFrame(const String& title, WebCore::Frame*) = 0;
virtual void didDecidePolicyForNavigationAction(const WebCore::NavigationAction&, const WebCore::ResourceRequest&) = 0;
virtual void didDispatchWillPerformClientRedirect() = 0;
virtual void didHandleOnloadEventsForFrame(WebCore::Frame*) = 0;
// ChromeClient delegates
- virtual void addMessageToConsole(const WTF::String& message, unsigned int lineNumber, const WTF::String& sourceID) = 0;
- virtual void runJavaScriptAlert(const WTF::String& message) = 0;
- virtual bool runJavaScriptConfirm(const WTF::String& message) = 0;
- virtual WTF::String runJavaScriptPrompt(const WTF::String& message, const WTF::String& defaultValue) = 0;
- virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message) = 0;
- virtual void setStatusText(const WTF::String&) = 0;
- virtual void exceededDatabaseQuota(WebCore::SecurityOrigin*, const WTF::String& name) = 0;
+ virtual void addMessageToConsole(const String& message, unsigned int lineNumber, const String& sourceID) = 0;
+ virtual void runJavaScriptAlert(const String& message) = 0;
+ virtual bool runJavaScriptConfirm(const String& message) = 0;
+ virtual String runJavaScriptPrompt(const String& message, const String& defaultValue) = 0;
+ virtual bool runBeforeUnloadConfirmPanel(const String& message) = 0;
+ virtual void setStatusText(const String&) = 0;
+ virtual void exceededDatabaseQuota(WebCore::SecurityOrigin*, const String& name) = 0;
virtual bool allowsOpeningWindow() = 0;
virtual void windowCreated(WebPage*) = 0;
@@ -80,7 +81,7 @@ public:
virtual bool shouldDeleteDOMRange(WebCore::Range*) = 0;
virtual bool shouldChangeSelectedDOMRangeToDOMRangeAffinityStillSelecting(WebCore::Range* fromRange, WebCore::Range* toRange, int affinity, bool stillSelecting) = 0;
virtual bool shouldInsertNode(WebCore::Node*, WebCore::Range*, int insertAction) = 0;
- virtual bool shouldInsertText(const WTF::String&, WebCore::Range*, int insertAction) = 0;
+ virtual bool shouldInsertText(const String&, WebCore::Range*, int insertAction) = 0;
virtual bool isSelectTrailingWhitespaceEnabled() const = 0;
virtual bool didReceiveAuthenticationChallenge(WebCore::Credential&) = 0;
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller.cpp b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
index aaf40168c..6b367b10f 100644
--- a/Source/WebKit/blackberry/Api/InRegionScroller.cpp
+++ b/Source/WebKit/blackberry/Api/InRegionScroller.cpp
@@ -44,7 +44,6 @@ namespace WebKit {
static bool canScrollInnerFrame(Frame*);
static bool canScrollRenderBox(RenderBox*);
static RenderLayer* parentLayer(RenderLayer*);
-static Node* enclosingLayerNode(RenderLayer*);
static bool isNonRenderViewFixedPositionedContainer(RenderLayer*);
InRegionScroller::InRegionScroller(WebPagePrivate* webPagePrivate)
@@ -76,36 +75,35 @@ bool InRegionScroller::setScrollPositionWebKitThread(unsigned camouflagedLayer,
InRegionScrollerPrivate::InRegionScrollerPrivate(WebPagePrivate* webPagePrivate)
: m_webPage(webPagePrivate)
+ , m_needsActiveScrollableAreaCalculation(false)
{
}
-void InRegionScrollerPrivate::setNode(WebCore::Node* node)
-{
- m_inRegionScrollStartingNode = node;
-}
-
-WebCore::Node* InRegionScrollerPrivate::node() const
-{
- return m_inRegionScrollStartingNode.get();
-}
-
void InRegionScrollerPrivate::reset()
{
- setNode(0);
-
+ m_needsActiveScrollableAreaCalculation = false;
for (size_t i = 0; i < m_activeInRegionScrollableAreas.size(); ++i)
delete m_activeInRegionScrollableAreas[i];
m_activeInRegionScrollableAreas.clear();
}
-bool InRegionScrollerPrivate::hasNode() const
+bool InRegionScrollerPrivate::isActive() const
{
- return !!m_inRegionScrollStartingNode;
+ return m_activeInRegionScrollableAreas.size() > 0;
}
-bool InRegionScrollerPrivate::canScroll() const
+void InRegionScrollerPrivate::clearDocumentData(const Document* documentGoingAway)
{
- return hasNode();
+ if (m_needsActiveScrollableAreaCalculation) {
+ reset();
+ return;
+ }
+
+ InRegionScrollableArea* scrollableArea = static_cast<InRegionScrollableArea*>(m_activeInRegionScrollableAreas[0]);
+ ASSERT(scrollableArea);
+ Node* node = scrollableArea->layer()->enclosingElement();
+ if (node && node->document() == documentGoingAway)
+ reset();
}
bool InRegionScrollerPrivate::setScrollPositionCompositingThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition)
@@ -113,7 +111,23 @@ bool InRegionScrollerPrivate::setScrollPositionCompositingThread(unsigned camouf
LayerCompositingThread* scrollLayer = reinterpret_cast<LayerWebKitThread*>(camouflagedLayer)->layerCompositingThread();
// FIXME: Clamp maximum and minimum scroll positions as a last attempt to fix round errors.
- scrollLayer->override()->setBoundsOrigin(scrollPosition);
+ FloatPoint anchor;
+ if (scrollLayer->override()->isAnchorPointSet())
+ anchor = scrollLayer->override()->anchorPoint();
+ else
+ anchor = scrollLayer->anchorPoint();
+
+ FloatSize bounds;
+ if (scrollLayer->override()->isBoundsSet())
+ bounds = scrollLayer->override()->bounds();
+ else
+ bounds = scrollLayer->bounds();
+
+ // Position is offset on the layer by the layer anchor point.
+ FloatPoint layerPosition(-scrollPosition.x() + anchor.x() * bounds.width(),
+ -scrollPosition.y() + anchor.y() * bounds.height());
+
+ scrollLayer->override()->setPosition(FloatPoint(layerPosition.x(), layerPosition.y()));
// The client is going to blitVisibleContens, which allow us benefit from "defer blits" technique.
return true;
@@ -143,13 +157,42 @@ bool InRegionScrollerPrivate::setScrollPositionWebKitThread(unsigned camouflaged
if (!layer)
return false;
+ calculateActiveAndShrinkCachedScrollableAreas(layer);
+
// FIXME: Clamp maximum and minimum scroll positions as a last attempt to fix round errors.
return setLayerScrollPosition(layer, scrollPosition);
}
+void InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas(RenderLayer* layer)
+{
+ if (!m_needsActiveScrollableAreaCalculation)
+ return;
+
+ ASSERT(layer);
+ std::vector<Platform::ScrollViewBase*>::iterator end = m_activeInRegionScrollableAreas.end();
+ std::vector<Platform::ScrollViewBase*>::iterator it = m_activeInRegionScrollableAreas.begin();
+ while (it != end) {
+ InRegionScrollableArea* curr = static_cast<InRegionScrollableArea*>(*it);
+
+ if (layer == curr->layer()) {
+ ++it;
+ continue;
+ }
+
+ delete *it;
+ it = m_activeInRegionScrollableAreas.erase(it);
+ // ::erase invalidates the iterators.
+ end = m_activeInRegionScrollableAreas.end();
+ }
+
+ ASSERT(m_activeInRegionScrollableAreas.size() == 1);
+ m_needsActiveScrollableAreaCalculation = false;
+}
+
void InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint(const WebCore::IntPoint& point)
{
ASSERT(m_activeInRegionScrollableAreas.empty());
+ m_needsActiveScrollableAreaCalculation = false;
HitTestResult result = m_webPage->m_mainFrame->eventHandler()->hitTestResultAtPoint(m_webPage->mapFromViewportToContents(point), false /*allowShadowContent*/);
Node* node = result.innerNonSharedNode();
@@ -190,6 +233,8 @@ void InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint(const Web
if (m_activeInRegionScrollableAreas.empty())
return;
+ m_needsActiveScrollableAreaCalculation = true;
+
// Post-calculate the visible window rects in reverse hit test order so
// we account for all and any clipping rects.
WebCore::IntRect recursiveClippingRect(WebCore::IntPoint::zero(), m_webPage->transformedViewportSize());
@@ -260,13 +305,11 @@ bool InRegionScrollerPrivate::setLayerScrollPosition(RenderLayer* layer, const I
backingStoreClient->setIsScrollNotificationSuppressed(false);
}
- return true;
- }
+ } else {
- // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
- layer->scrollToOffset(scrollPosition.x(), scrollPosition.y());
- // FIXME_agomes: Please recheck if it is needed still!
- layer->renderer()->repaint(true);
+ // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
+ layer->scrollToOffset(toSize(scrollPosition));
+ }
m_webPage->m_selectionHandler->selectionPositionChanged();
// FIXME: We have code in place to handle scrolling and clipping tap highlight
@@ -343,17 +386,6 @@ static RenderLayer* parentLayer(RenderLayer* layer)
return 0;
}
-// FIXME: Make RenderLayer::enclosingElement public so this one can be removed.
-static Node* enclosingLayerNode(RenderLayer* layer)
-{
- for (RenderObject* r = layer->renderer(); r; r = r->parent()) {
- if (Node* e = r->node())
- return e;
- }
- ASSERT_NOT_REACHED();
- return 0;
-}
-
static bool isNonRenderViewFixedPositionedContainer(RenderLayer* layer)
{
RenderObject* o = layer->renderer();
@@ -369,10 +401,6 @@ void InRegionScrollerPrivate::pushBackInRegionScrollable(InRegionScrollableArea*
scrollableArea->setCanPropagateScrollingToEnclosingScrollable(!isNonRenderViewFixedPositionedContainer(scrollableArea->layer()));
m_activeInRegionScrollableAreas.push_back(scrollableArea);
- if (m_activeInRegionScrollableAreas.size() == 1) {
- // FIXME: Use RenderLayer::renderBox()->node() instead?
- setNode(enclosingLayerNode(scrollableArea->layer()));
- }
}
}
diff --git a/Source/WebKit/blackberry/Api/InRegionScroller_p.h b/Source/WebKit/blackberry/Api/InRegionScroller_p.h
index d9e0ebab1..03140c7bf 100644
--- a/Source/WebKit/blackberry/Api/InRegionScroller_p.h
+++ b/Source/WebKit/blackberry/Api/InRegionScroller_p.h
@@ -42,12 +42,8 @@ class InRegionScrollerPrivate {
public:
InRegionScrollerPrivate(WebPagePrivate*);
- void setNode(WebCore::Node*);
- WebCore::Node* node() const;
void reset();
-
- bool canScroll() const;
- bool hasNode() const;
+ bool isActive() const;
bool setScrollPositionCompositingThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition);
bool setScrollPositionWebKitThread(unsigned camouflagedLayer, const WebCore::IntPoint& scrollPosition, bool supportsAcceleratedScrolling);
@@ -55,16 +51,20 @@ public:
void calculateInRegionScrollableAreasForPoint(const WebCore::IntPoint&);
const std::vector<Platform::ScrollViewBase*>& activeInRegionScrollableAreas() const;
+ void clearDocumentData(const WebCore::Document*);
+
WebPagePrivate* m_webPage;
+ bool m_needsActiveScrollableAreaCalculation;
private:
bool setLayerScrollPosition(WebCore::RenderLayer*, const WebCore::IntPoint& scrollPosition);
+ void calculateActiveAndShrinkCachedScrollableAreas(WebCore::RenderLayer*);
+
void pushBackInRegionScrollable(InRegionScrollableArea*);
void adjustScrollDelta(const WebCore::IntPoint& maxOffset, const WebCore::IntPoint& currentOffset, WebCore::IntSize& delta) const;
- RefPtr<WebCore::Node> m_inRegionScrollStartingNode;
std::vector<Platform::ScrollViewBase*> m_activeInRegionScrollableAreas;
};
diff --git a/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp b/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
index 1967ae09b..5c433879b 100644
--- a/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
+++ b/Source/WebKit/blackberry/Api/JavaScriptVariant.cpp
@@ -147,6 +147,9 @@ JavaScriptVariant::~JavaScriptVariant()
JavaScriptVariant& JavaScriptVariant::operator=(const JavaScriptVariant& v)
{
+ if (&v == this)
+ return *this;
+
switch (v.type()) {
case Boolean:
setBoolean(v.booleanValue());
diff --git a/Source/WebKit/blackberry/Api/WebAnimation.cpp b/Source/WebKit/blackberry/Api/WebAnimation.cpp
index 11b0ddd56..e916ca5b8 100644
--- a/Source/WebKit/blackberry/Api/WebAnimation.cpp
+++ b/Source/WebKit/blackberry/Api/WebAnimation.cpp
@@ -70,7 +70,8 @@ WebAnimation::~WebAnimation()
WebAnimation& WebAnimation::operator=(const WebAnimation& o)
{
- *d = *o.d;
+ if (&o != this)
+ *d = *o.d;
return *this;
}
diff --git a/Source/WebKit/blackberry/Api/WebPage.cpp b/Source/WebKit/blackberry/Api/WebPage.cpp
index 2e34c366c..2052b0e82 100644
--- a/Source/WebKit/blackberry/Api/WebPage.cpp
+++ b/Source/WebKit/blackberry/Api/WebPage.cpp
@@ -20,6 +20,7 @@
#include "WebPage.h"
#include "ApplicationCacheStorage.h"
+#include "AuthenticationChallengeManager.h"
#include "AutofillManager.h"
#include "BackForwardController.h"
#include "BackForwardListImpl.h"
@@ -29,7 +30,6 @@
#if ENABLE(BATTERY_STATUS)
#include "BatteryClientBlackBerry.h"
#endif
-#include "CString.h"
#include "CachedImage.h"
#include "Chrome.h"
#include "ChromeClientBlackBerry.h"
@@ -76,6 +76,7 @@
#include "InspectorBackendDispatcher.h"
#include "InspectorClientBlackBerry.h"
#include "InspectorController.h"
+#include "InspectorInstrumentation.h"
#include "InspectorOverlay.h"
#include "JavaScriptDebuggerBlackBerry.h"
#include "JavaScriptVariant_p.h"
@@ -153,7 +154,6 @@
#include <BlackBerryPlatformDeviceInfo.h>
#include <BlackBerryPlatformExecutableMessage.h>
-#include <BlackBerryPlatformITPolicy.h>
#include <BlackBerryPlatformKeyboardEvent.h>
#include <BlackBerryPlatformMessageClient.h>
#include <BlackBerryPlatformMouseEvent.h>
@@ -166,6 +166,8 @@
#include <sys/keycodes.h>
#include <unicode/ustring.h> // platform ICU
+#include <wtf/text/CString.h>
+
#ifndef USER_PROCESSES
#include <memalloc.h>
#endif
@@ -567,8 +569,7 @@ void WebPagePrivate::init(const WebString& pageGroupName)
m_inRegionScroller = adoptPtr(new InRegionScroller(this));
#if ENABLE(WEBGL)
- Platform::Settings* settings = Platform::Settings::instance();
- m_page->settings()->setWebGLEnabled(settings && settings->isWebGLSupported());
+ m_page->settings()->setWebGLEnabled(true);
#endif
#if ENABLE(ACCELERATED_2D_CANVAS)
m_page->settings()->setCanvasUsesAcceleratedDrawing(true);
@@ -742,6 +743,7 @@ bool WebPagePrivate::executeJavaScript(const char* scriptUTF8, JavaScriptDataTyp
JSC::ExecState* exec = m_mainFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
JSGlobalContextRef context = toGlobalRef(exec);
+ JSC::JSLockHolder lock(exec);
JSType type = JSValueGetType(context, toRef(exec, value));
switch (type) {
@@ -1482,8 +1484,8 @@ void WebPage::scrollBy(const Platform::IntSize& delta)
void WebPagePrivate::notifyInRegionScrollStopped()
{
- if (m_inRegionScroller->d->hasNode()) {
- enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling(m_inRegionScroller->d->node());
+ if (m_inRegionScroller->d->isActive()) {
+ enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling();
m_inRegionScroller->d->reset();
}
}
@@ -1493,9 +1495,16 @@ void WebPage::notifyInRegionScrollStopped()
d->notifyInRegionScrollStopped();
}
-void WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling(Node* scrolledNode)
+void WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling()
{
- ASSERT(scrolledNode);
+ // If no scrolling was even performed, bail out.
+ if (m_inRegionScroller->d->m_needsActiveScrollableAreaCalculation)
+ return;
+
+ InRegionScrollableArea* scrollableArea = static_cast<InRegionScrollableArea*>(m_inRegionScroller->d->activeInRegionScrollableAreas()[0]);
+ ASSERT(scrollableArea);
+ Node* scrolledNode = scrollableArea->layer()->enclosingElement();
+
if (scrolledNode->isDocumentNode()) {
Frame* frame = static_cast<const Document*>(scrolledNode)->frame();
ASSERT(frame);
@@ -1560,10 +1569,11 @@ void WebPagePrivate::updateViewportSize(bool setFixedReportedSize, bool sendResi
if (!m_backingStore)
return;
ASSERT(m_mainFrame->view());
+ IntSize visibleSize = actualVisibleSize();
if (setFixedReportedSize)
- m_mainFrame->view()->setFixedReportedSize(actualVisibleSize());
+ m_mainFrame->view()->setFixedReportedSize(visibleSize);
- IntRect frameRect = IntRect(scrollPosition(), viewportSize());
+ IntRect frameRect = IntRect(scrollPosition(), visibleSize);
if (frameRect != m_mainFrame->view()->frameRect()) {
m_mainFrame->view()->setFrameRect(frameRect);
m_mainFrame->view()->adjustViewSize();
@@ -2258,14 +2268,20 @@ bool WebPagePrivate::isActive() const
return m_client->isActive();
}
-bool WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, Credential& inputCredential)
+void WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSpace& protectionSpace, const Credential& inputCredential, AuthenticationChallengeClient* client)
{
WebString username;
WebString password;
#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- if (m_dumpRenderTree)
- return m_dumpRenderTree->didReceiveAuthenticationChallenge(inputCredential);
+ if (m_dumpRenderTree) {
+ Credential credential(inputCredential, inputCredential.persistence());
+ if (m_dumpRenderTree->didReceiveAuthenticationChallenge(credential))
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+ else
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
+ return;
+ }
#endif
#if ENABLE(BLACKBERRY_CREDENTIAL_PERSIST)
@@ -2282,8 +2298,11 @@ bool WebPagePrivate::authenticationChallenge(const KURL& url, const ProtectionSp
#else
Credential credential(username, password, CredentialPersistenceNone);
#endif
- inputCredential = credential;
- return isConfirmed;
+
+ if (isConfirmed)
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeSuccess, credential);
+ else
+ client->notifyChallengeResult(url, protectionSpace, AuthenticationChallengeCancelled, inputCredential);
}
PageClientBlackBerry::SaveCredentialType WebPagePrivate::notifyShouldSaveCredential(bool isNew)
@@ -2408,6 +2427,13 @@ Platform::WebContext WebPagePrivate::webContext(TargetDetectionStrategy strategy
if (node->isElementNode()) {
Element* element = static_cast<Element*>(node->shadowAncestorNode());
+
+ String webWorksContext(DOMSupport::webWorksContext(element));
+ if (!webWorksContext.stripWhiteSpace().isEmpty()) {
+ context.setFlag(Platform::WebContext::IsWebWorksContext);
+ context.setWebWorksContext(webWorksContext.utf8().data());
+ }
+
if (DOMSupport::isTextBasedContentEditableElement(element)) {
if (!canStartSelection) {
// Input fields host node is by spec non-editable unless the field itself has content editable enabled.
@@ -2549,8 +2575,8 @@ void WebPagePrivate::clearDocumentData(const Document* documentGoingAway)
if (m_currentBlockZoomAdjustedNode && m_currentBlockZoomAdjustedNode->document() == documentGoingAway)
m_currentBlockZoomAdjustedNode = 0;
- if (m_inRegionScroller->d->hasNode() && m_inRegionScroller->d->node()->document() == documentGoingAway)
- m_inRegionScroller->d->reset();
+ if (m_inRegionScroller->d->isActive())
+ m_inRegionScroller->d->clearDocumentData(documentGoingAway);
if (documentGoingAway->frame())
m_inputHandler->frameUnloaded(documentGoingAway->frame());
@@ -2737,7 +2763,7 @@ PassRefPtr<Node> WebPagePrivate::contextNode(TargetDetectionStrategy strategy)
return result.node(FatFingersResult::ShadowContentNotAllowed);
}
- HitTestResult result = eventHandler->hitTestResultAtPoint(contentPos, false /*allowShadowContent*/);
+ HitTestResult result = eventHandler->hitTestResultAtPoint(contentPos);
return result.innerNode();
}
@@ -2809,7 +2835,7 @@ Node* WebPagePrivate::nodeForZoomUnderPoint(const IntPoint& point)
if (!m_mainFrame)
return 0;
- HitTestResult result = m_mainFrame->eventHandler()->hitTestResultAtPoint(mapFromTransformed(point), false);
+ HitTestResult result = m_mainFrame->eventHandler()->hitTestResultAtPoint(mapFromTransformed(point));
Node* node = result.innerNonSharedNode();
@@ -3122,6 +3148,11 @@ void WebPage::blockZoomAnimationFinished()
d->zoomBlock();
}
+void WebPage::resetBlockZoom()
+{
+ d->resetBlockZoom();
+}
+
void WebPagePrivate::resetBlockZoom()
{
m_currentBlockZoomNode = 0;
@@ -3676,28 +3707,12 @@ void WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize
if (!m_visible || !m_backingStore->d->isActive())
setShouldResetTilesWhenShown(true);
- bool needsLayout = false;
bool hasPendingOrientation = m_pendingOrientation != -1;
if (m_hasPendingSurfaceSizeChange) {
resizeSurfaceIfNeeded();
m_hasPendingSurfaceSizeChange = false;
}
- if (!hasPendingOrientation) {
- // If we are not rotating and we've started a viewport resize with
- // the Render tree in dirty state (i.e. it needs layout), lets
- // reset the needsLayout flag for now but set our own 'needsLayout'.
- //
- // Reason: calls like ScrollView::setFixedLayoutSize can trigger a layout
- // if the render tree needs it. We want to avoid it till the viewport resize
- // is actually done (i.e. ScrollView::setViewportSize gets called
- // further down the method).
- if (m_mainFrame->view()->needsLayout()) {
- m_mainFrame->view()->unscheduleRelayout();
- m_mainFrame->contentRenderer()->setNeedsLayout(false);
- needsLayout = true;
- }
- }
// The window buffers might have been recreated, cleared, moved, etc., so:
m_backingStore->d->windowFrontBufferState()->clearBlittedRegion();
@@ -3722,6 +3737,7 @@ void WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize
setDefaultLayoutSize(transformedActualVisibleSize);
// Recompute our virtual viewport.
+ bool needsLayout = false;
static ViewportArguments defaultViewportArguments;
if (m_viewportArguments != defaultViewportArguments) {
// We may need to infer the width and height for the viewport with respect to the rotation.
@@ -3805,16 +3821,17 @@ void WebPagePrivate::setViewportSize(const IntSize& transformedActualVisibleSize
// We might need to layout here to get a correct contentsSize so that zoomToFit
// is calculated correctly.
- while (needsLayout) {
+ bool stillNeedsLayout = needsLayout;
+ while (stillNeedsLayout) {
setNeedsLayout();
requestLayoutIfNeeded();
- needsLayout = false;
+ stillNeedsLayout = false;
// Emulate the zoomToFitWidthOnLoad algorithm if we're rotating.
++m_nestedLayoutFinishedCount;
if (needsLayoutToFindContentSize) {
if (setViewMode(viewMode()))
- needsLayout = true;
+ stillNeedsLayout = true;
}
}
m_nestedLayoutFinishedCount = 0;
@@ -4028,7 +4045,7 @@ bool WebPagePrivate::handleMouseEvent(PlatformMouseEvent& mouseEvent)
}
if (!node) {
- HitTestResult result = eventHandler->hitTestResultAtPoint(mapFromViewportToContents(mouseEvent.position()), false /*allowShadowContent*/);
+ HitTestResult result = eventHandler->hitTestResultAtPoint(mapFromViewportToContents(mouseEvent.position()));
node = result.innerNode();
}
@@ -4082,6 +4099,10 @@ bool WebPage::touchEvent(const Platform::TouchEvent& event)
if (d->m_page->defersLoading())
return false;
+ // FIXME: this checks if node search on inspector is enabled, though it might not be optimized.
+ if (InspectorInstrumentation::handleMousePress(d->m_mainFrame->page()))
+ return false;
+
PluginView* pluginView = d->m_fullScreenPluginView.get();
if (pluginView)
return d->dispatchTouchEventToFullScreenPlugin(pluginView, event);
@@ -4092,7 +4113,6 @@ bool WebPage::touchEvent(const Platform::TouchEvent& event)
tEvent.m_points[i].m_screenPos = d->mapFromTransformed(tEvent.m_points[i].m_screenPos);
}
- Platform::Gesture tapGesture;
if (event.hasGesture(Platform::Gesture::SingleTap))
d->m_pluginMayOpenNewTab = true;
else if (tEvent.m_type == Platform::TouchEvent::TouchStart || tEvent.m_type == Platform::TouchEvent::TouchCancel)
@@ -5188,7 +5208,7 @@ WebDOMDocument WebPage::document() const
WebDOMNode WebPage::nodeAtPoint(int x, int y)
{
- HitTestResult result = d->m_mainFrame->eventHandler()->hitTestResultAtPoint(d->mapFromTransformed(IntPoint(x, y)), false);
+ HitTestResult result = d->m_mainFrame->eventHandler()->hitTestResultAtPoint(d->mapFromTransformed(IntPoint(x, y)));
Node* node = result.innerNonSharedNode();
return WebDOMNode(node);
}
@@ -5473,31 +5493,6 @@ void WebPagePrivate::setCompositorDrawsRootLayer(bool compositorDrawsRootLayer)
}
#if USE(ACCELERATED_COMPOSITING)
-void WebPagePrivate::drawLayersOnCommit()
-{
- if (!Platform::userInterfaceThreadMessageClient()->isCurrentThread()) {
- // This method will only be called when the layer appearance changed due to
- // animations. And only if we don't need a one shot drawing sync.
- ASSERT(!needsOneShotDrawingSynchronization());
-
- if (!m_webPage->isVisible())
- return;
-
- m_backingStore->d->willDrawLayersOnCommit();
-
- Platform::userInterfaceThreadMessageClient()->dispatchMessage(
- Platform::createMethodCallMessage(&WebPagePrivate::drawLayersOnCommit, this));
- return;
- }
-
-#if DEBUG_AC_COMMIT
- Platform::log(Platform::LogLevelCritical, "%s", WTF_PRETTY_FUNCTION);
-#endif
-
- if (!m_backingStore->d->shouldDirectRenderingToWindow())
- m_backingStore->d->blitVisibleContents();
-}
-
void WebPagePrivate::scheduleRootLayerCommit()
{
if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer)
@@ -5626,6 +5621,8 @@ void WebPagePrivate::commitRootLayer(const IntRect& layoutRectForCompositing,
if (overlayLayer)
overlayLayer->commitOnCompositingThread();
+
+ scheduleCompositingRun();
}
bool WebPagePrivate::commitRootLayerIfNeeded()
@@ -5646,7 +5643,9 @@ bool WebPagePrivate::commitRootLayerIfNeeded()
if (!m_needsCommit)
return false;
- if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer)
+ // Don't bail if the layers were removed and we now need a one shot drawing sync as a consequence.
+ if (!(m_frameLayers && m_frameLayers->hasLayer()) && !m_overlayLayer
+ && !m_needsOneShotDrawingSynchronization)
return false;
FrameView* view = m_mainFrame->view();
@@ -5744,10 +5743,7 @@ void WebPagePrivate::rootLayerCommitTimerFired(Timer<WebPagePrivate>*)
}
}
- // If the web page needs layout, the commit will fail.
- // No need to draw the layers if nothing changed.
- if (commitRootLayerIfNeeded())
- drawLayersOnCommit();
+ commitRootLayerIfNeeded();
}
void WebPagePrivate::resetCompositingSurface()
@@ -5888,9 +5884,6 @@ void WebPagePrivate::resumeRootLayerCommit()
m_suspendRootLayerCommit = false;
m_needsCommit = true;
-
- // Recreate layer resources if needed.
- commitRootLayerIfNeeded();
}
bool WebPagePrivate::needsOneShotDrawingSynchronization()
@@ -6032,7 +6025,7 @@ void WebPagePrivate::exitFullScreenForElement(Element* element)
{
#if ENABLE(VIDEO)
// TODO: We should not check video tag when we decide to support all elements.
- if (!element || !element->hasTagName(HTMLNames::videoTag))
+ if (!element || (!element->hasTagName(HTMLNames::videoTag) && !containsVideoTags(element)))
return;
if (m_webSettings->fullScreenVideoCapable()) {
// The Browser chrome has its own fullscreen video widget.
@@ -6219,10 +6212,6 @@ void WebPagePrivate::scheduleCompositingRun()
void WebPage::setWebGLEnabled(bool enabled)
{
- if (!Platform::ITPolicy::isWebGLEnabled()) {
- d->m_page->settings()->setWebGLEnabled(false);
- return;
- }
d->m_page->settings()->setWebGLEnabled(enabled);
}
diff --git a/Source/WebKit/blackberry/Api/WebPage.h b/Source/WebKit/blackberry/Api/WebPage.h
index 14d57a65f..f3a5760fa 100644
--- a/Source/WebKit/blackberry/Api/WebPage.h
+++ b/Source/WebKit/blackberry/Api/WebPage.h
@@ -188,6 +188,7 @@ public:
void zoomToInitialScale();
bool blockZoom(int x, int y);
void blockZoomAnimationFinished();
+ void resetBlockZoom();
bool isAtInitialZoom() const;
bool isMaxZoomed() const;
bool isMinZoomed() const;
diff --git a/Source/WebKit/blackberry/Api/WebPageClient.h b/Source/WebKit/blackberry/Api/WebPageClient.h
index be574a65b..137c81e87 100644
--- a/Source/WebKit/blackberry/Api/WebPageClient.h
+++ b/Source/WebKit/blackberry/Api/WebPageClient.h
@@ -43,6 +43,7 @@ class GeoTrackerListener;
class IntRectRegion;
class NetworkRequest;
class NetworkStreamFactory;
+class WebUserMediaRequest;
namespace Graphics {
class Window;
@@ -103,7 +104,7 @@ public:
virtual void notifyInRegionScrollingStartingPointChanged(const std::vector<Platform::ScrollViewBase*>&) = 0;
virtual void notifyNoMouseMoveOrTouchMoveHandlers() = 0;
- virtual void notifyDocumentOnLoad() = 0;
+ virtual void notifyDocumentOnLoad(bool) = 0;
virtual void notifyWindowObjectCleared() = 0;
virtual WebString invokeClientJavaScriptCallback(const char* const* args, unsigned numArgs) = 0;
@@ -165,9 +166,6 @@ public:
virtual void resetBackForwardList(unsigned listSize, unsigned currentIndex) = 0;
virtual void openPopupList(bool multiple, int size, const ScopeArray<WebString>& labels, const bool* enableds, const int* itemType, const bool* selecteds) = 0;
- virtual void openDateTimePopup(int type, const WebString& value, const WebString& min, const WebString& max, double step) = 0;
- virtual void openColorPopup(const WebString& value) = 0;
-
virtual bool chooseFilenames(bool allowMultiple, const SharedArray<WebString>& acceptTypes, const SharedArray<WebString>& initialFiles, const WebString& capture, SharedArray<WebString>& chosenFiles) = 0;
virtual void loadPluginForMimetype(int, int width, int height, const SharedArray<WebString>& paramNames, const SharedArray<WebString>& paramValues, const char* url) = 0;
@@ -269,6 +267,10 @@ public:
virtual void registerProtocolHandler(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/, const WebString& /*title*/) = 0;
virtual ProtocolHandlersState isProtocolHandlerRegistered(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/) = 0;
virtual void unregisterProtocolHandler(const WebString& /*scheme*/, const WebString& /*baseURL*/, const WebString& /*url*/) = 0;
+
+ virtual void requestUserMedia(const Platform::WebUserMediaRequest&) = 0;
+ virtual void cancelUserMediaRequest(const Platform::WebUserMediaRequest&) = 0;
+ virtual void updateFindStringResult(int numMatches, int currentIndex) = 0;
};
} // namespace WebKit
} // namespace BlackBerry
diff --git a/Source/WebKit/blackberry/Api/WebPage_p.h b/Source/WebKit/blackberry/Api/WebPage_p.h
index 1e5af0bce..6308971c5 100644
--- a/Source/WebKit/blackberry/Api/WebPage_p.h
+++ b/Source/WebKit/blackberry/Api/WebPage_p.h
@@ -45,6 +45,7 @@
#define DEFAULT_MAX_LAYOUT_HEIGHT 768
namespace WebCore {
+class AuthenticationChallengeClient;
class AutofillManager;
class DOMWrapperWorld;
class Document;
@@ -152,7 +153,7 @@ public:
void setScrollPosition(const WebCore::IntPoint&);
void scrollBy(int deltaX, int deltaY);
- void enqueueRenderingOfClippedContentOfScrollableNodeAfterInRegionScrolling(WebCore::Node*);
+ void enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling();
void notifyInRegionScrollStopped();
void setScrollOriginPoint(const Platform::IntPoint&);
void setHasInRegionScrollableAreas(bool);
@@ -201,7 +202,7 @@ public:
virtual int showAlertDialog(WebPageClient::AlertType atype);
virtual bool isActive() const;
virtual bool isVisible() const { return m_visible; }
- virtual bool authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, WebCore::Credential&);
+ virtual void authenticationChallenge(const WebCore::KURL&, const WebCore::ProtectionSpace&, const WebCore::Credential&, WebCore::AuthenticationChallengeClient*);
virtual SaveCredentialType notifyShouldSaveCredential(bool);
virtual void syncProxyCredential(const WebCore::Credential&);
@@ -409,7 +410,6 @@ public:
// Thread safe.
void resetCompositingSurface();
- void drawLayersOnCommit(); // Including backing store blit.
// Compositing thread.
void setRootLayerCompositingThread(WebCore::LayerCompositingThread*);
diff --git a/Source/WebKit/blackberry/Api/WebSettings.cpp b/Source/WebKit/blackberry/Api/WebSettings.cpp
index de6f505d7..18bfbc53a 100644
--- a/Source/WebKit/blackberry/Api/WebSettings.cpp
+++ b/Source/WebKit/blackberry/Api/WebSettings.cpp
@@ -37,67 +37,67 @@
namespace BlackBerry {
namespace WebKit {
-DEFINE_STATIC_LOCAL(String, BlackBerryAllowCrossSiteRequests, ("BlackBerryAllowCrossSiteRequests"));
-DEFINE_STATIC_LOCAL(String, BlackBerryAsynchronousSpellChecking, ("BlackBerryAsynchronousSpellChecking"));
-DEFINE_STATIC_LOCAL(String, BlackBerryBackgroundColor, ("BlackBerryBackgroundColor"));
-DEFINE_STATIC_LOCAL(String, BlackBerryCookiesEnabled, ("BlackBerryCookiesEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryDirectRenderingToWindowEnabled, ("BlackBerryDirectRenderingToWindowEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryDrawBorderWhileLoadingImages, ("BlackBerryDrawBorderWhileLoadingImages"));
-DEFINE_STATIC_LOCAL(String, BlackBerryEmailModeEnabled, ("BlackBerryEmailModeEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryGetFocusNodeContextEnabled, ("BlackBerryGetFocusNodeContextEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryHandlePatternURLs, ("BlackBerryHandlePatternURLs"));
-DEFINE_STATIC_LOCAL(String, BlackBerryInitialScale, ("BlackBerryInitialScale"));
-DEFINE_STATIC_LOCAL(String, BlackBerryLinksHandledExternallyEnabled, ("BlackBerryLinksHandledExternallyEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryMaxPluginInstances, ("BlackBerryMaxPluginInstances"));
-DEFINE_STATIC_LOCAL(String, BlackBerryOverScrollColor, ("BlackBerryOverScrollColor"));
-DEFINE_STATIC_LOCAL(String, BlackBerryEnableDefaultOverScrollBackground, ("BlackBerryEnableDefaultOverScrollBackground"));
-DEFINE_STATIC_LOCAL(String, BlackBerryRenderAnimationsOnScrollOrZoomEnabled, ("BlackBerryRenderAnimationsOnScrollOrZoomEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryScrollbarsEnabled, ("BlackBerryScrollbarsEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryTextReflowMode, ("BlackBerryTextReflowMode"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUseRTLWritingDirection, ("BlackBerryUseRTLWritingDirection"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUseWebKitCache, ("BlackBerryUseWebKitCache"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUserAgentString, ("BlackBerryUserAgentString"));
-DEFINE_STATIC_LOCAL(String, BlackBerryUserScalableEnabled, ("BlackBerryUserScalableEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryViewportWidth, ("BlackBerryViewportWidth"));
-DEFINE_STATIC_LOCAL(String, BlackBerryZoomToFitOnLoadEnabled, ("BlackBerryZoomToFitOnLoadEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryFullScreenVideoCapable, ("BlackBerryFullScreenVideoCapable"));
-DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, ("BlackBerryCredentialAutofillEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, ("BlackBerryFormAutofillEnabled"));
-DEFINE_STATIC_LOCAL(String, BlackBerryDevicePixelRatio, ("BlackBerryDevicePixelRatio"));
-DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, ("SpatialNavigationEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, ("WebKitDatabasePath"));
-DEFINE_STATIC_LOCAL(String, WebKitDatabasesEnabled, ("WebKitDatabasesEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultFixedFontSize, ("WebKitDefaultFixedFontSize"));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultFontSize, ("WebKitDefaultFontSize"));
-DEFINE_STATIC_LOCAL(String, WebKitDefaultTextEncodingName, ("WebKitDefaultTextEncodingName"));
-DEFINE_STATIC_LOCAL(String, WebKitDownloadableBinaryFontsEnabled, ("WebKitDownloadableBinaryFontsEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitFirstScheduledLayoutDelay, ("WebKitFirstScheduledLayoutDelay"));
-DEFINE_STATIC_LOCAL(String, WebKitFixedFontFamily, ("WebKitFixedFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitFrameFlatteningEnabled, ("WebKitFrameFlatteningEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitGeolocationEnabled, ("WebKitGeolocationEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitIndexedDataBasePath, ("WebKitIndexedDataBasePath"));
-DEFINE_STATIC_LOCAL(String, WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled, ("WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitJavaScriptEnabled, ("WebKitJavaScriptEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitLoadsImagesAutomatically, ("WebKitLoadsImagesAutomatically"));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStorageEnabled, ("WebKitLocalStorageEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStoragePath, ("WebKitLocalStoragePath"));
-DEFINE_STATIC_LOCAL(String, WebKitLocalStorageQuota, ("WebKitLocalStorageQuota"));
-DEFINE_STATIC_LOCAL(String, WebKitSessionStorageQuota, ("WebKitSessionStorageQuota"));
-DEFINE_STATIC_LOCAL(String, WebKitMaximumPagesInCache, ("WebKitMaximumPagesInCache"));
-DEFINE_STATIC_LOCAL(String, WebKitMinimumFontSize, ("WebKitMinimumFontSize"));
-DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCacheEnabled, ("WebKitOfflineWebApplicationCacheEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCachePath, ("WebKitOfflineWebApplicationCachePath"));
-DEFINE_STATIC_LOCAL(String, WebKitPageGroupName, ("WebKitPageGroupName"));
-DEFINE_STATIC_LOCAL(String, WebKitPluginsEnabled, ("WebKitPluginsEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitPrivateBrowsingEnabled, ("WebKitPrivateBrowsingEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitDeviceSupportsMouse, ("WebKitDeviceSupportsMouse"));
-DEFINE_STATIC_LOCAL(String, WebKitSansSeriffFontFamily, ("WebKitSansSeriffFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitSeriffFontFamily, ("WebKitSeriffFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitStandardFontFamily, ("WebKitStandardFontFamily"));
-DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheet, ("WebKitUserStyleSheet"));
-DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheetLocation, ("WebKitUserStyleSheetLocation"));
-DEFINE_STATIC_LOCAL(String, WebKitWebSocketsEnabled, ("WebKitWebSocketsEnabled"));
-DEFINE_STATIC_LOCAL(String, WebKitXSSAuditorEnabled, ("WebKitXSSAuditorEnabled"));
+DEFINE_STATIC_LOCAL(String, BlackBerryAllowCrossSiteRequests, (ASCIILiteral("BlackBerryAllowCrossSiteRequests")));
+DEFINE_STATIC_LOCAL(String, BlackBerryAsynchronousSpellChecking, (ASCIILiteral("BlackBerryAsynchronousSpellChecking")));
+DEFINE_STATIC_LOCAL(String, BlackBerryBackgroundColor, (ASCIILiteral("BlackBerryBackgroundColor")));
+DEFINE_STATIC_LOCAL(String, BlackBerryCookiesEnabled, (ASCIILiteral("BlackBerryCookiesEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryDirectRenderingToWindowEnabled, (ASCIILiteral("BlackBerryDirectRenderingToWindowEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryDrawBorderWhileLoadingImages, (ASCIILiteral("BlackBerryDrawBorderWhileLoadingImages")));
+DEFINE_STATIC_LOCAL(String, BlackBerryEmailModeEnabled, (ASCIIliteral("BlackBerryEmailModeEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryGetFocusNodeContextEnabled, (ASCIILiteral("BlackBerryGetFocusNodeContextEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryHandlePatternURLs, (ASCIILiteral("BlackBerryHandlePatternURLs")));
+DEFINE_STATIC_LOCAL(String, BlackBerryInitialScale, (ASCIILiteral("BlackBerryInitialScale")));
+DEFINE_STATIC_LOCAL(String, BlackBerryLinksHandledExternallyEnabled, (ASCIILiteral("BlackBerryLinksHandledExternallyEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryMaxPluginInstances, (ASCIILiteral("BlackBerryMaxPluginInstances")));
+DEFINE_STATIC_LOCAL(String, BlackBerryOverScrollColor, (ASCIILiteral("BlackBerryOverScrollColor")));
+DEFINE_STATIC_LOCAL(String, BlackBerryEnableDefaultOverScrollBackground, (ASCIILiteral("BlackBerryEnableDefaultOverScrollBackground")));
+DEFINE_STATIC_LOCAL(String, BlackBerryRenderAnimationsOnScrollOrZoomEnabled, (ASCIILiteral("BlackBerryRenderAnimationsOnScrollOrZoomEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryScrollbarsEnabled, (ASCIILiteral("BlackBerryScrollbarsEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryTextReflowMode, (ASCIILiteral("BlackBerryTextReflowMode")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUseRTLWritingDirection, (ASCIILiteral("BlackBerryUseRTLWritingDirection")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUseWebKitCache, (ASCIILiteral("BlackBerryUseWebKitCache")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUserAgentString, (ASCIILiteral("BlackBerryUserAgentString")));
+DEFINE_STATIC_LOCAL(String, BlackBerryUserScalableEnabled, (ASCIILiteral("BlackBerryUserScalableEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryViewportWidth, (ASCIILiteral("BlackBerryViewportWidth")));
+DEFINE_STATIC_LOCAL(String, BlackBerryZoomToFitOnLoadEnabled, (ASCIILiteral("BlackBerryZoomToFitOnLoadEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryFullScreenVideoCapable, (ASCIILiteral("BlackBerryFullScreenVideoCapable")));
+DEFINE_STATIC_LOCAL(String, BlackBerryCredentialAutofillEnabled, (ASCIILiteral("BlackBerryCredentialAutofillEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryFormAutofillEnabled, (ASCIILiteral("BlackBerryFormAutofillEnabled")));
+DEFINE_STATIC_LOCAL(String, BlackBerryDevicePixelRatio, (ASCCIILiteral("BlackBerryDevicePixelRatio")));
+DEFINE_STATIC_LOCAL(String, SpatialNavigationEnabled, (ASCIILiteral("SpatialNavigationEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitDatabasePath, (ASCIILiteral("WebKitDatabasePath")));
+DEFINE_STATIC_LOCAL(String, WebKitDatabasesEnabled, (ASCIILiteral("WebKitDatabasesEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitDefaultFixedFontSize, (ASCIILiteral("WebKitDefaultFixedFontSize")));
+DEFINE_STATIC_LOCAL(String, WebKitDefaultFontSize, (ASCIILiteral("WebKitDefaultFontSize")));
+DEFINE_STATIC_LOCAL(String, WebKitDefaultTextEncodingName, (ASCIILiteral("WebKitDefaultTextEncodingName")));
+DEFINE_STATIC_LOCAL(String, WebKitDownloadableBinaryFontsEnabled, (ASCIILiteral("WebKitDownloadableBinaryFontsEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitFirstScheduledLayoutDelay, (ASCIILiteral("WebKitFirstScheduledLayoutDelay")));
+DEFINE_STATIC_LOCAL(String, WebKitFixedFontFamily, (ASCIILiteral("WebKitFixedFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitFrameFlatteningEnabled, (ASCIILiteral("WebKitFrameFlatteningEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitGeolocationEnabled, (ASCIILiteral("WebKitGeolocationEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitIndexedDataBasePath, (ASCIILiteral("WebKitIndexedDataBasePath")));
+DEFINE_STATIC_LOCAL(String, WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled, (ASCIILiteral("WebKitJavaScriptCanOpenWindowsAutomaticallyEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitJavaScriptEnabled, (ASCIILiteral("WebKitJavaScriptEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitLoadsImagesAutomatically, (ASCIILiteral("WebKitLoadsImagesAutomatically")));
+DEFINE_STATIC_LOCAL(String, WebKitLocalStorageEnabled, (ASCIILiteral("WebKitLocalStorageEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitLocalStoragePath, (ASCIILiteral("WebKitLocalStoragePath")));
+DEFINE_STATIC_LOCAL(String, WebKitLocalStorageQuota, (ASCIILiteral("WebKitLocalStorageQuota")));
+DEFINE_STATIC_LOCAL(String, WebKitSessionStorageQuota, (ASCIILiteral("WebKitSessionStorageQuota")));
+DEFINE_STATIC_LOCAL(String, WebKitMaximumPagesInCache, (ASCIILiteral("WebKitMaximumPagesInCache")));
+DEFINE_STATIC_LOCAL(String, WebKitMinimumFontSize, (ASCIILiteral("WebKitMinimumFontSize")));
+DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCacheEnabled, (ASCIILiteral("WebKitOfflineWebApplicationCacheEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitOfflineWebApplicationCachePath, (ASCIILiteral("WebKitOfflineWebApplicationCachePath")));
+DEFINE_STATIC_LOCAL(String, WebKitPageGroupName, (ASCIILiteral("WebKitPageGroupName")));
+DEFINE_STATIC_LOCAL(String, WebKitPluginsEnabled, (ASCIILiteral("WebKitPluginsEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitPrivateBrowsingEnabled, (ASCIILiteral("WebKitPrivateBrowsingEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitDeviceSupportsMouse, (ASCIILiteral("WebKitDeviceSupportsMouse")));
+DEFINE_STATIC_LOCAL(String, WebKitSansSeriffFontFamily, (ASCIILiteral("WebKitSansSeriffFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitSeriffFontFamily, (ASCIILiteral("WebKitSeriffFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitStandardFontFamily, (ASCIILiteral("WebKitStandardFontFamily")));
+DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheet, (ASCIILiteral("WebKitUserStyleSheet")));
+DEFINE_STATIC_LOCAL(String, WebKitUserStyleSheetLocation, (ASCIILiteral("WebKitUserStyleSheetLocation")));
+DEFINE_STATIC_LOCAL(String, WebKitWebSocketsEnabled, (ASCIILiteral("WebKitWebSocketsEnabled")));
+DEFINE_STATIC_LOCAL(String, WebKitXSSAuditorEnabled, (ASCIILiteral("WebKitXSSAuditorEnabled")));
static HashSet<String>* s_supportedObjectMIMETypes;
diff --git a/Source/WebKit/blackberry/Api/WebString.cpp b/Source/WebKit/blackberry/Api/WebString.cpp
index 7fc9a1a77..640b673c9 100644
--- a/Source/WebKit/blackberry/Api/WebString.cpp
+++ b/Source/WebKit/blackberry/Api/WebString.cpp
@@ -67,6 +67,8 @@ WebString WebString::fromUtf8(const char* utf8)
WebString& WebString::operator=(const WebString& str)
{
+ if (&str == this)
+ return *this;
if (str.m_impl)
str.m_impl->ref();
if (m_impl)
diff --git a/Source/WebKit/blackberry/ChangeLog b/Source/WebKit/blackberry/ChangeLog
index a7715af0a..823f9b8b0 100644
--- a/Source/WebKit/blackberry/ChangeLog
+++ b/Source/WebKit/blackberry/ChangeLog
@@ -1,3 +1,1178 @@
+2012-09-09 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Fix flicker due to introduction of the fence extension.
+ https://bugs.webkit.org/show_bug.cgi?id=96207
+
+ Reviewed by George Staikos.
+
+ Don't immediately add fence to garbage list, so it is destroyed
+ after only one swap, for a set of tiles just because one tile in
+ the set gets a new fence, the old fence may still not be signalled
+ and before rendering the other tiles in the set we have to wait for it.
+
+ * WebKitSupport/BackingStoreTile.cpp:
+ (BlackBerry::WebKit::Fence::~Fence):
+ (WebKit):
+ * WebKitSupport/BackingStoreTile.h:
+ (WebKit):
+ (Fence):
+ * WebKitSupport/SurfacePool.cpp:
+ (BlackBerry::WebKit::SurfacePool::initialize):
+ (BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
+ (WebKit):
+ (BlackBerry::WebKit::SurfacePool::destroyPlatformSync):
+ * WebKitSupport/SurfacePool.h:
+ (SurfacePool):
+
+2012-09-08 Max Feil <mfeil@rim.com>
+
+ [BlackBerry] Exiting fullscreen mode can leave user stuck without Browser menus
+ https://bugs.webkit.org/show_bug.cgi?id=96027
+
+ Reviewed by Antonio Gomes.
+
+ The changes for bug 87337 (landed as trunk svn revision 119119)
+ introduced a bug. The same conditions are not checked on enter
+ fullscreen vs. exit. Web sites such as http://videojs.com
+ and youtube's mobile HTML5 player make the div container
+ of the video element go fullscreen. This is allowed in
+ WebPagePrivate::enterFullScreenForElement() but disallowed in
+ WebPagePrivate::exitFullScreenForElement(). I am fixing this by
+ allowing containers of video elements to exit fullscreen.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):
+
+2012-09-07 Ming Xie <mxie@rim.com>
+
+
+ [BlackBerry] Remove browser from the build info page
+ https://bugs.webkit.org/show_bug.cgi?id=96162
+
+ Reviewed by George Staikos.
+ Internal reviewed by Jeff Rogers.
+
+ WebKit build should not have the build info for browser which is
+ built on top of webkit.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::buildPage):
+
+2012-09-07 Yongxin Dai <yodai@rim.com>
+
+ [BlackBerry] Initialize caret rectangle with invalid location
+ https://bugs.webkit.org/show_bug.cgi?id=96011
+
+ Reviewed by Rob Buis.
+
+ In SelectionHandler::selectionPositionChanged() method, startCaret and
+ endCaret are used to notify clients about new caret positions. This patch
+ initializes startCaret and endCaret with location(-1. -1), and keeps them
+ empty before they are assigned to valid values. This would help for other
+ classes to check validity of the caret correctly.
+
+ Internal reviewed by Mike Fenton.
+
+ * WebKitSupport/SelectionHandler.cpp:
+ (BlackBerry::WebKit::adjustCaretRects):
+ (BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
+
+2012-09-07 Lianghui Chen <liachen@rim.com>
+
+ [BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus.
+ https://bugs.webkit.org/show_bug.cgi?id=95488
+ PR: 186597.
+
+ Internally reviewed by Joe Mason.
+ Reviewed by Yong Li.
+
+ Use new AuthenticationChallengeClient interface to make authentication
+ challenge asynchronous to NetworkJob, MediaPlayerPrivateBlackBerry, and
+ other module that will use HTTP authentication. WebPage itself still use
+ synchronous authentication though. Switching to asynchronous authentication
+ in WebPage will require bigger platform layer change and not very necessary
+ at the moment for this bug.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge):
+ * Api/WebPage_p.h:
+ (WebCore):
+ (WebPagePrivate):
+
+2012-09-07 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Remove feature about:cache/disable and about:cache/enable
+ https://bugs.webkit.org/show_bug.cgi?id=95820
+
+ Reviewed by Yong Li.
+
+ Fix warning that was caused by r127680.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::cachePage):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::contextNode):
+ (BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):
+ (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
+ (BlackBerry::WebKit::WebPage::nodeAtPoint):
+ * WebKitSupport/FatFingers.cpp:
+ (BlackBerry::WebKit::FatFingers::getNodesFromRect):
+ (BlackBerry::WebKit::FatFingers::getRelevantInfoFromPoint):
+ * WebKitSupport/SelectionHandler.cpp:
+ (BlackBerry::WebKit::visiblePositionForPointIgnoringClipping):
+
+2012-09-07 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Rendering issue after rotation
+ https://bugs.webkit.org/show_bug.cgi?id=96094
+ PR #201930
+
+ Reviewed by George Staikos.
+
+ The cause of the rendering issue is that the BackingStore tiles
+ are not reset after layout. This is a regression of r125680, which
+ overwrites a local variable that are used later in the function.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
+
+2012-09-06 Crystal Zhang <haizhang@rim.com>
+
+ [BlackBerry] Implement a color picker
+ https://bugs.webkit.org/show_bug.cgi?id=96001
+
+ Reviewed by Rob Buis.
+
+ Add files for color picker, replace old hook to AIR color picker.
+
+ * WebCoreSupport/ColorPickerClient.cpp: Added.
+ (WebCore):
+ (WebCore::ColorPickerClient::ColorPickerClient):
+ (WebCore::ColorPickerClient::~ColorPickerClient):
+ (WebCore::ColorPickerClient::generateHTML):
+ (WebCore::ColorPickerClient::closePopup):
+ (WebCore::ColorPickerClient::contentSize):
+ (WebCore::ColorPickerClient::htmlSource):
+ (WebCore::ColorPickerClient::setValueAndClosePopup):
+ (WebCore::ColorPickerClient::didClosePopup):
+ (WebCore::ColorPickerClient::writeDocument):
+ * WebCoreSupport/ColorPickerClient.h: Added.
+ (WebKit):
+ (WebCore):
+ (ColorPickerClient):
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::openColorPopup):
+
+2012-09-06 Genevieve Mak <gmak@rim.com>
+
+ Add data-blackberry-webworks-context attribute and set the custom context when
+ getting context.
+ https://bugs.webkit.org/show_bug.cgi?id=95993
+
+ Reviewed by Antonio Gomes.
+
+ PR #193726
+ Reviewed Internally by Mike Fenton.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::webContext):
+ - Check for custom WebWorks context and add it if there.
+ * WebKitSupport/DOMSupport.cpp:
+ (BlackBerry::WebKit::DOMSupport::webWorksContext):
+ (DOMSupport):
+ * WebKitSupport/DOMSupport.h:
+ - Add a method that checks a given element for the data-webworks-context
+ attribute and returns its value if present.
+
+2012-09-06 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Allow overscroll to composited scroll layers
+ https://bugs.webkit.org/show_bug.cgi?id=95998
+ PR #195305
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Gen Mak.
+
+ No need to reset the overscroll limit factor at creation to 0.
+ It is already 0 by default, and later on the client sets the
+ appropriated value.
+
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * Api/DumpRenderTreeClient.h:
+ * WebCoreSupport/ChromeClientBlackBerry.cpp:
+ * WebCoreSupport/InspectorClientBlackBerry.h:
+ * WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp:
+ * WebKitSupport/AboutData.h:
+
+2012-09-05 Jason Liu <jason.liu@torchmobile.com.cn>
+
+ [BlackBerry] Remove feature about:cache/disable and about:cache/enable
+ https://bugs.webkit.org/show_bug.cgi?id=95820
+
+ Reviewed by Rob Buis.
+
+ Remove this feature since we need to add a button in settings.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::cachePage):
+
+2012-09-05 Mike Fenton <mifenton@rim.com>
+
+ [BlackBerry] Remove deprecated dialog connections.
+ https://bugs.webkit.org/show_bug.cgi?id=95868
+
+ Reviewed by Rob Buis.
+
+ PR 187481.
+ Remove deprecated logic for unsupported
+ Dialog types.
+
+ * Api/WebPageClient.h:
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::openDatePopup):
+ (BlackBerry::WebKit::InputHandler::openColorPopup):
+
+2012-09-05 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Assignment operators missing self-check
+ https://bugs.webkit.org/show_bug.cgi?id=95774
+
+ Reviewed by Rob Buis.
+
+ Add a test for self-assignment.
+
+ * Api/WebAnimation.cpp:
+ (BlackBerry::WebKit::WebAnimation::operator=):
+ * Api/WebString.cpp:
+ (BlackBerry::WebKit::WebString::operator=):
+
+2012-09-05 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Optimize BackingStorePrivate::isCurrentVisibleJob
+ https://bugs.webkit.org/show_bug.cgi?id=95897
+
+ Reviewed by Antonio Gomes.
+
+ Bail out the loop early if one of the not-rendered rectangle is
+ not current regular render job.
+
+ No behavior change, just code optimization.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::isCurrentVisibleJob):
+
+2012-09-05 Benjamin C Meyer <bmeyer@rim.com>
+
+ [BlackBerry] JavaScriptVariant can crash when operator= is called with itself
+ https://bugs.webkit.org/show_bug.cgi?id=95859
+
+ Reviewed by George Staikos.
+
+ * Api/JavaScriptVariant.cpp:
+ (BlackBerry::WebKit::JavaScriptVariant::operator=):
+ When JavaScriptVariant contains a string and operator= is
+ called with itself the memory will be free'd in 'this' and
+ then a copy will be attempted from 'that' resulting in a crash.
+
+2012-09-05 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Rotation and then reload causes less sized webpage (PR 190469)
+ https://bugs.webkit.org/show_bug.cgi?id=95870
+
+ Reviewed by George Staikos.
+ Reviewed internally by Jacky Jiang.
+
+ Use the new zoom to fit scale if the page was zoomed to fit initial scale
+ When a page is reloaded the layout size may be changed. So the contents
+ size on which the initial scale depends may be changed. Use the new initial
+ scale in this case to make sure the page will be zoomed to correct scale.
+
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::restoreViewState):
+
+2012-09-05 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Do not release shared backingstore memory prematurely
+ https://bugs.webkit.org/show_bug.cgi?id=95841
+ PR #202517
+
+ Reviewed by George Staikos.
+
+ The BackingStore memory is shared by all web pages. We should check if
+ the current backingStore is active before create/release this shared memory.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
+ (BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):
+
+2012-09-05 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] Implement number of matches and current active match index for find-on-page
+ https://bugs.webkit.org/show_bug.cgi?id=95801
+
+ Reviewed by Antonio Gomes.
+
+ - Calculate current match index for find-on-page
+ - Notify client when number of matches and current match index update.
+ PR 162090 162091.
+ Internally reviewed by Mike Fenton and Joe Mason
+
+ * Api/WebPageClient.h:
+ * WebKitSupport/InPageSearchManager.cpp:
+ (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::DeferredScopeStringMatches):
+ (BlackBerry::WebKit::InPageSearchManager::DeferredScopeStringMatches::doTimeout):
+ (InPageSearchManager::DeferredScopeStringMatches):
+ (BlackBerry::WebKit::InPageSearchManager::findNextString):
+ (BlackBerry::WebKit::InPageSearchManager::findAndMarkText):
+ (BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):
+ (BlackBerry::WebKit::InPageSearchManager::scopeStringMatchesSoon):
+ (BlackBerry::WebKit::InPageSearchManager::callScopeStringMatches):
+ * WebKitSupport/InPageSearchManager.h:
+ (InPageSearchManager):
+
+2012-09-04 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] FatFingers::cachingStrategy uses incorrect enum value
+ https://bugs.webkit.org/show_bug.cgi?id=95783
+
+ Reviewed by Antonio Gomes.
+
+ Use the correct enum values.
+
+ * WebKitSupport/FatFingers.cpp:
+ (BlackBerry::WebKit::FatFingers::cachingStrategy):
+
+2012-09-04 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Use child/ScrollableContent layer's position instead of parent/ScrollLayer's boundsOrigin
+ https://bugs.webkit.org/show_bug.cgi?id=95778
+ PR #202252
+
+ Reviewed by Rob Buis.
+ Internally reviewed by Arvid Nilsson.
+
+ Upstream has switch away from using the parent scroll layer's bounds origin
+ in order to translate contents of all its child layers. Instead now, it directly
+ sets the scroll position of the child scrollable contents layer.
+
+ Source/WebKit/blackberry:
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionCompositingThread):
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+ No new tests, since it is a catch-up with upstreaming code.
+
+2012-09-04 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] Fix memory leak in InputHandler
+ https://bugs.webkit.org/show_bug.cgi?id=95771
+
+ Reviewed by Rob Buis.
+
+ Simply delete the arrays at function exit.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::openSelectPopup):
+
+2012-09-04 George Staikos <staikos@webkit.org>
+
+ [BlackBerry] pass isMainFrame() through to notifyDocumentOnLoad()
+ https://bugs.webkit.org/show_bug.cgi?id=95766
+
+ Reviewed by Rob Buis.
+
+ Passing the frame status through will allow the client to make better
+ decisions about how to act on the onload.
+
+ * Api/WebPageClient.h:
+ * WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
+ (WebCore::FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents):
+
+2012-09-04 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Provide virtual dtor for DumpRenderTreeClient
+ https://bugs.webkit.org/show_bug.cgi?id=95769
+
+ Reviewed by Yong Li.
+
+ Also remove WTF prefixes.
+
+ * Api/DumpRenderTreeClient.h:
+
+2012-09-04 Mary Wu <mary.wu@torchmobile.com.cn>
+
+ [BlackBerry] Add webplatform and browser to build info
+ https://bugs.webkit.org/show_bug.cgi?id=95715
+
+ Reviewed by George Staikos.
+
+ PR# 202102
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::buildPage):
+
+2012-08-31 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] ASSERT failure in RenderBlock::checkPositionedObjectsNeedLayout
+ https://bugs.webkit.org/show_bug.cgi?id=95611
+
+ Reviewed by Antonio Gomes.
+
+ PR:200127
+ Remove r118405 now as we already have a new fix webkit/43f8394b for
+ that issue and it is not reproducible anymore after the removal.
+ In this way, we can get rid of this ASSERT failure as well.
+ Thanks Antonio for the suggestion.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::setViewportSize):
+
+2012-08-31 Joshua Netterfield <jnetterfield@rim.com>
+
+ [BlackBerry] Eliminate WebGL IT policy
+ https://bugs.webkit.org/show_bug.cgi?id=95604
+ Internal RIM PR #198764
+
+ Reviewed by Rob Buis.
+
+ This is no longer a requirement for the BlackBerry port.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::init):
+ (BlackBerry::WebKit::WebPage::setWebGLEnabled):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::configPage):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * WebCoreSupport/ClientExtension.cpp:
+ * WebCoreSupport/PagePopupBlackBerry.cpp:
+ (WebCore::PagePopupBlackBerry::installDomFunction):
+
+2012-08-30 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] ASSERT failure in JSC::MarkedAllocator::allocateSlowCase
+ https://bugs.webkit.org/show_bug.cgi?id=95492
+
+ Reviewed by Yong Li.
+
+ PR: 200724
+ Hold the JSLock for the current thread before we call toRef to avoid
+ the ASSERT failure.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::executeJavaScript):
+
+2012-08-30 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Remove unneeded force-immediate-repaint from InRegionScroller::setLayerScrollPosition
+ https://bugs.webkit.org/show_bug.cgi?id=95476
+ PR #200704
+
+ Reviewed by Yong Li.
+
+ This code is not needed at this point for neither the fast nor slow in-region
+ scroll codepaths, and it is a huge performance beast as it forces all
+ containers to get full-repainted per scroll call (in webkit thread).
+
+ Patch also take this opportunity to remove an early-return we
+ have in the {i}frame slow scrolling code path so that we can
+ adjust the selection handles in this case as well.
+
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::setLayerScrollPosition):
+
+2012-08-30 Hanna Ma <Hanma@rim.com>
+
+ [BlackBerry] node search does not work with elements on touch start listener
+ https://bugs.webkit.org/show_bug.cgi?id=95252
+
+ Reviewed by Antonio Gomes.
+
+ Fix the node search function of web insepctor on elements with touch start listener.
+ Add methods from webPage to check if the node search functionality is enabled before handling touch events.
+ PR194107
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPage::touchEvent):
+
+2012-08-30 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] One shot drawing sync flag never cleared when there's no layers
+ https://bugs.webkit.org/show_bug.cgi?id=95447
+
+ Reviewed by Antonio Gomes.
+
+ PR 199866
+ When we remove the layers, WebKit could tell us we need a one shot
+ drawing sync to repaint the BackingStore with the content that was
+ previously drawn by layers. We also sometimes set the one shot drawing
+ sync flag manually.
+
+ We would bail from commit if there were no layers and not actually
+ perform the osds, so it left the osds flag set forever and the
+ situation prevails, because nobody will ever clear the osds flag.
+
+ The BackingStore surrenders the responsibility of blitting to the AC
+ commit mechanism when a one shot drawing sync is pending, because we
+ want the operations render, commit and blit to happen in the correct
+ order with no intermediate blits.
+
+ So, no commit means no blit, and the result of regular rendering did
+ not show up on screen.
+
+ Fixed by not bailing from commit if there's no layers, instead clearing
+ the "needs commit" and osds flags and performing a blit.
+
+ Reviewed internally by Andrew Lo.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::commitRootLayerIfNeeded):
+
+2012-08-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Use ASCIILiteral for DEFINE_STATIC_LOCAL string
+ https://bugs.webkit.org/show_bug.cgi?id=95420
+
+ Reviewed by Benjamin Poulain.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings,
+ WebKit needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
+
+ * Api/WebSettings.cpp:
+ (WebKit):
+
+2012-08-29 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Do not use the shadow tree when retrieving the underlying element for FatFinger.
+ https://bugs.webkit.org/show_bug.cgi?id=95372
+
+ By using the shadow tree we were getting a mismatch between elements of the
+ current element under focus and the one return to us from FatFingers.
+ Passing ShadowContentNotAllowed to get the right handle.
+
+ Reviewed by Antonio Gomes.
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):
+
+2012-08-29 Robin Cao <robin.cao@torchmobile.com.cn>
+
+ [BlackBerry] Move the handling of UserMedia requests to the client
+ https://bugs.webkit.org/show_bug.cgi?id=95317
+ PR #197283
+
+ Reviewed by George Staikos.
+
+ Internally reviewed by George Staikos.
+
+ Move the logic for user media requests handling to the client, as it requires
+ inputs from users. Also adds a origin field to WebUserMediaRequest.
+
+ * Api/WebPageClient.h:
+ (Platform):
+ * WebCoreSupport/UserMediaClientImpl.cpp:
+ (WebCore::UserMediaClientImpl::UserMediaClientImpl):
+ (WebCore::UserMediaClientImpl::~UserMediaClientImpl):
+ (WebCore::UserMediaClientImpl::requestUserMedia):
+ (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+ * WebCoreSupport/UserMediaClientImpl.h:
+ (UserMediaClientImpl):
+
+2012-08-29 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Replace blackberry specific HitTestRequest::FingerUp by TouchEvent + Release
+ https://bugs.webkit.org/show_bug.cgi?id=95383
+
+ Reviewed by Rob Buis.
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
+
+2012-08-29 Rob Buis <rbuis@rim.com>
+
+ [BlackBerry] Adjust wtf include header style
+ https://bugs.webkit.org/show_bug.cgi?id=95368
+
+ Reviewed by Yong Li.
+
+ Switch to #include <wtf/...> like the other ports.
+
+ * Api/BlackBerryGlobal.cpp:
+ * Api/WebPage.cpp:
+ * WebCoreSupport/ChromeClientBlackBerry.cpp:
+ * WebCoreSupport/GeolocationControllerClientBlackBerry.h:
+ * WebCoreSupport/SelectPopupClient.h:
+ * WebKitSupport/AboutData.cpp:
+ * WebKitSupport/DOMSupport.cpp:
+ * WebKitSupport/GLES2Context.cpp:
+ * WebKitSupport/InPageSearchManager.h:
+ * WebKitSupport/InputHandler.cpp:
+
+2012-08-29 Jacky Jiang <zhajiang@rim.com>
+
+ [BlackBerry] Remove unused tapGesture in WebPage.cpp
+ https://bugs.webkit.org/show_bug.cgi?id=95357
+
+ Reviewed by Rob Buis.
+
+ Remove unused variable tapGesture in WebPage.cpp.
+ Internally reviewed by Gen Mak.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPage::touchEvent):
+
+2012-08-28 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] crash while trying to scroll any inner frame
+ https://bugs.webkit.org/show_bug.cgi?id=95287
+ PR #198510
+
+ Reviewed by George Staikos.
+
+ Set the starting point of scrolling (slow path only still)
+ for inner frames. It was left over as set to 0 by r126474.
+
+ In practice, patch fixes a crash on gmail.com desktop edition.
+
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebCoreSupport/UserMediaClientImpl.cpp:
+ (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+
+2012-08-28 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Spellcheck should be enabled if undefined in content.
+ https://bugs.webkit.org/show_bug.cgi?id=95139
+
+ Currently we only enable spellcheck if it is defined as such in
+ the web content explicitly.
+ Making this change to enable by default, and only turn off if it is
+ explicitly set, or if we expect the field to be a username, email or
+ url.
+
+ Internally reviewed by Mike Fenton.
+
+ Reviewed by Rob Buis.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::requestCheckingOfString):
+ (BlackBerry::WebKit::InputHandler::setElementFocused):
+ (BlackBerry::WebKit::InputHandler::unlockSequenceMap):
+ (WebKit):
+ (BlackBerry::WebKit::InputHandler::shouldSpellCheckElement):
+ * WebKitSupport/InputHandler.h:
+ (InputHandler):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+ * WebCoreSupport/UserMediaClientImpl.cpp:
+ (WebCore::UserMediaClientImpl::cancelUserMediaRequest):
+
+2012-08-28 Nima Ghanavatian <nghanavatian@rim.com>
+
+ [BlackBerry] Range boundaries should use endOfBlock instead of endOfLine.
+ https://bugs.webkit.org/show_bug.cgi?id=95135
+
+ The original implementation used nextLinePosition to iterate
+ through the field from the start of each line, and was bounded in
+ comparison to the endOfLine. This works fine as long as there aren't any
+ empty lines between paragraphs of text, since these will have
+ startOfLine == endOfLine and break out.
+
+ Also, protect map access with a mutex in case we get a response
+ before updating the map. Further, we should check the Range pointer
+ before using it, since its not guaranteed to be valid.
+
+ Internally reviewed by Mike Fenton.
+
+ Reviewed by Antonio Gomes.
+
+ * WebKitSupport/InputHandler.cpp:
+ (BlackBerry::WebKit::InputHandler::spellCheckBlock):
+
+2012-08-28 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] One shot drawing synchronization broken
+ https://bugs.webkit.org/show_bug.cgi?id=95179
+
+ Reviewed by Antonio Gomes.
+ Internally reviewed by Arvid Nilsson.
+
+ Make sure no backing store blits happen during one shot drawing
+ synchronization.
+ Since we always blit during commit now, make sure we don't blit if
+ we commit after a render.
+ We no longer need a deferred blit since we don't commit during renderContents
+ now. Instead, we only commit & blit once after a full render job.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
+ (BlackBerry::WebKit::BackingStorePrivate::repaint):
+ (BlackBerry::WebKit::BackingStorePrivate::slowScroll):
+ (BlackBerry::WebKit::BackingStorePrivate::renderJob):
+ (BlackBerry::WebKit::BackingStorePrivate::blitVisibleContents):
+ (BlackBerry::WebKit::BackingStorePrivate::blitContents):
+ (BlackBerry::WebKit::BackingStorePrivate::renderContents):
+ (WebKit):
+ (BlackBerry::WebKit::BackingStorePrivate::drawAndBlendLayersForDirectRendering):
+ (BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
+ * Api/BackingStore_p.h:
+ (BackingStorePrivate):
+ * Api/WebPage.cpp:
+ (WebKit):
+ (BlackBerry::WebKit::WebPagePrivate::rootLayerCommitTimerFired):
+ * Api/WebPage_p.h:
+ (WebPagePrivate):
+ * WebKitSupport/RenderQueue.cpp:
+ (BlackBerry::WebKit::RenderQueue::renderAllCurrentRegularRenderJobs):
+ (BlackBerry::WebKit::RenderQueue::renderRegularRenderJob):
+ (BlackBerry::WebKit::RenderQueue::visibleScrollJobsCompleted):
+
+2012-08-28 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Removing unnecessary include of Class BlackBerryPlatformClient
+ https://bugs.webkit.org/show_bug.cgi?id=95113
+
+ Reviewed by Kentaro Hara.
+
+ Refactoring has lead to relocation of many or all methods from Class
+ BlackBerryPlatformClient to other classes. Some files include
+ BlackBerryPlatformClient but does not use its instance thus these
+ includes has to be removed.
+
+ * Api/BackingStore.cpp:
+
+2012-08-28 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] UpdateViewport uses wrong size for frameView
+ https://bugs.webkit.org/show_bug.cgi?id=95138
+
+ Reviewed by Antonio Gomes.
+ Internally reviewed by Jakob Petsovits.
+
+ Use actual visible size instead of screen size when updating viewport size,
+ otherwise, frameView size would be too big.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::updateViewportSize):
+
+2012-08-28 Andy Chen <andchen@rim.com>
+
+ [BlackBerry] Pseudo class "active" is broken
+ https://bugs.webkit.org/show_bug.cgi?id=95142
+
+ Reviewed by Antonio Gomes.
+
+ Check if an element is affected by active rule before cancelling
+ the touch event.
+ PR 198544.
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
+ (BlackBerry::WebKit::BackingStorePrivate::visibleTilesRect):
+ (BlackBerry::WebKit::BackingStorePrivate::resetTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTiles):
+ (BlackBerry::WebKit::BackingStorePrivate::updateTilesForScrollOrNotRenderedRegion):
+ (BlackBerry::WebKit::BackingStorePrivate::mapFromTransformedContentsToTiles):
+ * WebCoreSupport/NotificationPresenterImpl.cpp:
+ (WebCore::NotificationPresenterImpl::cancel):
+ (WebCore::NotificationPresenterImpl::onPermission):
+ (WebCore::NotificationPresenterImpl::notificationClicked):
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::dumpJSCTypeCountSetToTableHTML):
+ * WebKitSupport/FrameLayers.cpp:
+ (BlackBerry::WebKit::FrameLayers::removeLayerByFrame):
+ (BlackBerry::WebKit::FrameLayers::commitOnWebKitThread):
+ (BlackBerry::WebKit::FrameLayers::calculateRootLayer):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126772.
+ http://trac.webkit.org/changeset/126772
+ https://bugs.webkit.org/show_bug.cgi?id=95137
+
+ "This change breaks news.qq.com" (Requested by leoyang on
+ #webkit).
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
+
+2012-08-27 Leo Yang <leoyang@rim.com>
+
+ [BlackBerry] Not using absoluteVisibleOverSize when rotating
+ https://bugs.webkit.org/show_bug.cgi?id=95092
+ PR #190469
+
+ Reviewed by Antonio Gomes.
+ Reviewed internally by Arvid Nilsson.
+
+ When we are rotating don't count absolute overflow visible size
+ into fixed layout size because we are in a transient state. The
+ absolute overflow visible size remains old size during rotation.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
+
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Remove the 'in region scrollable starting node' concept from InRegionScroller
+ https://bugs.webkit.org/show_bug.cgi?id=95020
+
+ Reviewed by Rob Buis.
+
+ 'In-region start scrolling node' is an obsolete concept, and we can remove it
+ in favor of using the information from the cached layers.
+
+ * Api/InRegionScroller.cpp:
+ (WebKit):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::reset): Adjusted as it used to clear
+ the cached 'node'.
+ (BlackBerry::WebKit::InRegionScrollerPrivate::isActive): Added method to be
+ checked directly instead of only null-checking the previously cached 'node'.
+ (BlackBerry::WebKit::InRegionScrollerPrivate::clearDocumentData): New method to
+ clear the cached resources if its document is done.
+ (BlackBerry::WebKit::InRegionScrollerPrivate::pushBackInRegionScrollable): Adjusted
+ to not care about the cached 'node' anymore.
+ * Api/InRegionScroller_p.h:
+ (InRegionScrollerPrivate):
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::notifyInRegionScrollStopped): Check ::isActive instead
+ of ::hasNode, since the later is gone.
+ (BlackBerry::WebKit::WebPagePrivate::enqueueRenderingOfClippedContentOfScrollableAreaAfterInRegionScrolling):
+ Changed the method signature, given that we do have a cached 'node' to pass in as parameter anymore.
+ (BlackBerry::WebKit::WebPagePrivate::clearDocumentData): Delegate all the related work to InRegionScroller.
+ * Api/WebPage_p.h:
+ (WebPagePrivate):
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::drawTapHighlight):
+.
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ BlackBerry] Shrink the in-region nested scrollable list as soon as we can
+ https://bugs.webkit.org/show_bug.cgi?id=95019
+
+ Reviewed by Rob Buis.
+
+ We cache all possible nested scrollable in-region layers given a point.
+ It is up to the client to pick a view, based on the scroll position and limits
+ of each layer, and on the direction user swipes its finger.
+ From the point we pick a view on, we stick with it, and any other
+ possibly cached layer can be uncached, as it won't be needed.
+ Patch provides a simple solution to that.
+
+ * Api/InRegionScroller.cpp:
+ (BlackBerry::WebKit::InRegionScrollerPrivate::InRegionScrollerPrivate):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::reset):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::setScrollPositionWebKitThread):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::calculateActiveAndShrinkCachedScrollableAreas):
+ (WebKit):
+ (BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
+ * Api/InRegionScroller_p.h:
+ (InRegionScrollerPrivate):
+
+2012-08-25 Antonio Gomes <agomes@rim.com>
+
+ For convenience, make RenderLayer::enclosingElement a public method.
+ https://bugs.webkit.org/show_bug.cgi?id=95018
+
+ Reviewed by George Staikos.
+
+ Make use of the new public RenderLayer::enclosingElement method and
+ remove duplicated code.
+
+ * WebKitSupport/InRegionScrollableArea.cpp:
+ (BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+
+ * WebCoreSupport/AboutDataEnableFeatures.in:
+ * WebCoreSupport/ChromeClientBlackBerry.cpp:
+ (WebCore):
+ (WebCore::ChromeClientBlackBerry::registerProtocolHandler):
+ * WebCoreSupport/ChromeClientBlackBerry.h:
+ (ChromeClientBlackBerry):
+
+2012-08-26 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] ASSERT failed in WebPagePrivate::commitRootLayerIfNeeded()
+ https://bugs.webkit.org/show_bug.cgi?id=94921
+
+ PR 104676
+ As visibility changed due to WebPage::setVisible(true),
+ resumeRootLayerCommit() would call commitRootLayerIfNeeded(), without
+ layouting or rendering. If a one shot drawing sync was pending at this
+ time, it would cause the condition
+ ASSERT(!needsOneShotDrawingSynchronization()) to fail.
+
+ The comment immediately before the assert states that "In case of one
+ shot drawing synchronization, you should first layoutIfNeeded, render,
+ then commit and draw the layers". However, resumeRootLayerCommit() did
+ no such thing.
+
+ Fixed by removing the call to commitRootLayerIfNeeded() from
+ resumeRootLayerCommit(), because the latter is only called in a code
+ path where we're going to layout, render and then commit anyway. These
+ operations will be performed from resumeBackingStore() which is called
+ at the end of setVisible().
+
+ Reviewed by George Staikos.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::resumeRootLayerCommit):
+
+2012-08-24 Adam Treat <atreat@rim.com>
+
+ [BlackBerry] Web pages are zoomed out to much on initial load
+ https://bugs.webkit.org/show_bug.cgi?id=94830
+
+ The previous patch caused a slight regression to the calculation we do
+ for the default splitting factor in the render queue. The default value
+ we use to represent the max area should be the tile size. This was true
+ with the old calculation of default max layout width since it was the
+ screen size. The fix is to be explicit and use the tile size directly.
+
+ Reviewed by George Staikos.
+
+ * WebKitSupport/RenderQueue.cpp:
+ (BlackBerry::WebKit::RenderQueue::splittingFactor):
+
+2012-08-24 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Changes resulting from moving network related methods
+ from platform client to platform settings.
+ https://bugs.webkit.org/show_bug.cgi?id=94963
+
+ Reviewed by Yong Li.
+
+ Changes in response to Network methods moved from
+ class BlackBerryPlatformClient to class BlackBerryPlatformSettings
+ in platform repository.
+
+ * WebKitSupport/AboutData.cpp:
+ (BlackBerry::WebKit::cachePage):
+
+2012-08-24 Liam Quinn <lquinn@rim.com>
+
+ [BlackBerry] Debug assertion fires in BackingStorePrivate::renderJob()
+ https://bugs.webkit.org/show_bug.cgi?id=94960
+
+ Reviewed by Adam Treat.
+
+ Change the assertion into an early return as recommended by Adam Treat.
+
+ * Api/BackingStore.cpp:
+ (BlackBerry::WebKit::BackingStorePrivate::renderJob):
+
+2012-08-24 Andrew Lo <anlo@rim.com>
+
+ [BlackBerry] Animation & UI lag when rendering
+ https://bugs.webkit.org/show_bug.cgi?id=94943
+
+ Reviewed by Rob Buis.
+
+ Schedule a backing store blit & composite when commiting root layer.
+ This results in compositing not having to wait until after a long render
+ operation, increasing responsiveness & fixing animations which skip to
+ the last frame due to lag.
+
+ This can cause a blit during a "one shot drawing synchronization", which is
+ a render & commit on the AC layers, which may result in flashing.
+ However, this can happen in other situations as well, and we feel that
+ the responsiveness, reduced lag, and smoothness of animations is
+ more important.
+
+ Internal PR194209
+ Internally reviewed by: George Staikos.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPagePrivate::commitRootLayer):
+
+2012-08-24 Parth Patel <parpatel@rim.com>
+
+ [BlackBerry] Changes resulting from moving application directory methods from platform client to platform settings.
+ https://bugs.webkit.org/show_bug.cgi?id=94249
+
+ Reviewed by Rob Buis.
+
+ PR# 170160
+ Changes in response to Application Directory methods moved from
+ Class BlackBerryPlatformClient to BlackBerryPlatformSettings in
+ platform respository since these methods are more appropriate in
+ class BlackBerryPlatformSettings.
+
+ * WebCoreSupport/IconDatabaseClientBlackBerry.cpp:
+ (WebCore::IconDatabaseClientBlackBerry::initIconDatabase):
+
+2012-08-24 Antonio Gomes <agomes@rim.com>
+
+ [BlackBerry] Touch cancel can cause huge and needless invalidations
+ https://bugs.webkit.org/show_bug.cgi?id=94938
+ PR #198051
+
+ Reviewed by George Staikos.
+ Internally reviewed by Gen Mak.
+
+ In order to remove the possible hover effect on touch_cancel, we always
+ invalidate the node under the fat finger, being the fat finger valid or not.
+
+ Point is: having a valid fat finger node does not mean the original touch
+ position was actually adjust for clicking or that the fat finger is actually
+ valid. We set the fat finger node to be the result of the point-based hit-test
+ regardless if it is a click target or not (in order to make our mouse-move
+ machinery to work).
+
+ We should can less aggressively invalidate the fat finger node, since it can
+ be rather an expensive call (longer than 1s in the worst scenario).
+
+ * WebKitSupport/TouchEventHandler.cpp:
+ (BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
+
+2012-08-24 Arvid Nilsson <anilsson@rim.com>
+
+ [BlackBerry] Add WebPage API to reset block zoom
+ https://bugs.webkit.org/show_bug.cgi?id=94863
+
+ PR 187478
+ This is an alternative to WebPage::blockZoomAnimationFinished() when
+ it's desirable to avoid rerendering of the whole web page at the end
+ of block zoom. This is the case when the planned "incremental zoom
+ factor" is used instead of zoomAboutPoint and it's relatives.
+
+ Ideally, the block zoom algorithm would be clever enough not to need
+ a reset or any form of callback when the animation finishes, but that
+ requires the implementation of said incremental zoom factor, which is
+ not done yet.
+
+ Reviewed by Antonio Gomes.
+
+ * Api/WebPage.cpp:
+ (BlackBerry::WebKit::WebPage::resetBlockZoom):
+ (WebKit):
+ * Api/WebPage.h:
+
2012-08-23 Antonio Gomes <agomes@rim.com>
[BlackBerry] Obsolete the in-region scroll codepath prior to BB10's
diff --git a/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in b/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
index 15e40e66b..42fc389f8 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
+++ b/Source/WebKit/blackberry/WebCoreSupport/AboutDataEnableFeatures.in
@@ -122,6 +122,7 @@ MHTML
MICRODATA
MUTATION_OBSERVERS
MYSTERIOUS_FEATURE
+NAVIGATOR_CONTENT_UTILS
NETSCAPE_PLUGIN_METADATA_CACHE
NETWORK_INFO
NEW_XML
@@ -150,7 +151,6 @@ PROGRESS_TAG
PURGEABLE_MEMORY
QUOTA
REGEXP_TRACING
-REGISTER_PROTOCOL_HANDLER
REPAINT_THROTTLING
REQUEST_ANIMATION_FRAME
RUBBER_BANDING
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
index 9a6325fcd..8fbf9a56a 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.cpp
@@ -23,7 +23,6 @@
#include "BackingStore.h"
#include "BackingStoreClient.h"
#include "BackingStore_p.h"
-#include "CString.h"
#include "ColorChooser.h"
#include "DatabaseTracker.h"
#include "Document.h"
@@ -50,7 +49,6 @@
#include "PageGroupLoadDeferrer.h"
#include "PagePopupBlackBerry.h"
#include "PagePopupClient.h"
-#include "PlatformString.h"
#include "PopupMenuBlackBerry.h"
#include "RenderView.h"
#include "SVGZoomAndPan.h"
@@ -70,6 +68,9 @@
#include <BlackBerryPlatformSettings.h>
#include <BlackBerryPlatformWindow.h>
+#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
+
#define DEBUG_OVERFLOW_DETECTION 0
using namespace BlackBerry::WebKit;
@@ -825,6 +826,12 @@ PassOwnPtr<ColorChooser> ChromeClientBlackBerry::createColorChooser(ColorChooser
return nullptr;
}
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+void ChromeClientBlackBerry::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+{
+ m_webPagePrivate->m_client->registerProtocolHandler(scheme, baseURL, url, title);
+}
+
#if ENABLE(CUSTOM_SCHEME_HANDLER)
ChromeClient::CustomHandlersState ChromeClientBlackBerry::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
{
@@ -836,12 +843,6 @@ void ChromeClientBlackBerry::unregisterProtocolHandler(const String& scheme, con
m_webPagePrivate->m_client->unregisterProtocolHandler(scheme, baseURL, url);
}
#endif
-
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-void ChromeClientBlackBerry::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
-{
- m_webPagePrivate->m_client->registerProtocolHandler(scheme, baseURL, url, title);
-}
#endif
} // namespace WebCore
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
index d4d02f8bd..5602ff1da 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/ChromeClientBlackBerry.h
@@ -154,14 +154,14 @@ public:
virtual bool allowsAcceleratedCompositing() const;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
virtual void registerProtocolHandler(const String& /*scheme*/, const String& /*baseURL*/, const String& /*url*/, const String& /*title*/);
-#endif
#if ENABLE(CUSTOM_SCHEME_HANDLER)
virtual CustomHandlersState isProtocolHandlerRegistered(const String& /*scheme*/, const String& /*baseURL*/, const String& /*url*/);
virtual void unregisterProtocolHandler(const String& /*scheme*/, const String& /*baseURL*/, const String& /*url*/);
#endif
+#endif
BlackBerry::WebKit::WebPagePrivate* webPagePrivate() const { return m_webPagePrivate; }
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp b/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp
index 392097189..54c456a71 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/ClientExtension.cpp
@@ -103,7 +103,7 @@ void attachExtensionObjectToFrame(Frame* frame, WebPageClient* client)
JSObjectRef clientClassObject = JSObjectMake(scriptCtx, clientClass, 0);
JSObjectSetPrivate(clientClassObject, reinterpret_cast<void*>(client));
- JSC::UString name("qnx");
+ String name("qnx");
JSC::PutPropertySlot slot;
window->put(window, exec, JSC::Identifier(exec, name), toJS(clientClassObject), slot);
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp
new file mode 100644
index 000000000..7ffc8fef6
--- /dev/null
+++ b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
+ *
+ * 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 "ColorPickerClient.h"
+
+#include "Chrome.h"
+#include "ChromeClient.h"
+#include "Document.h"
+#include "DocumentWriter.h"
+#include "HTMLInputElement.h"
+#include "Page.h"
+#include "PagePopup.h"
+#include "PopupPicker.h"
+#include "RenderObject.h"
+#include "WebPage_p.h"
+#include "WebString.h"
+
+#include <wtf/text/StringBuilder.h>
+
+namespace WebCore {
+
+ColorPickerClient::ColorPickerClient(const BlackBerry::WebKit::WebString& value, BlackBerry::WebKit::WebPagePrivate* webPage, HTMLInputElement* element)
+ : m_webPage(webPage)
+ , m_element(element)
+{
+ generateHTML(value);
+}
+
+void ColorPickerClient::generateHTML(const BlackBerry::WebKit::WebString& value)
+{
+ StringBuilder source;
+ source.append("<style>\n");
+ // Include CSS file.
+ source.append(popupControlBlackBerryCss,
+ sizeof(popupControlBlackBerryCss));
+ source.append("</style>\n<style>");
+ source.append(colorControlBlackBerryCss,
+ sizeof(colorControlBlackBerryCss));
+ source.append("</style></head><body>\n");
+ source.append("<script>\n");
+ source.append("window.addEventListener('load', function () {");
+ source.append("window.popupcontrol.show(");
+ if (!value.isEmpty())
+ source.append("\"" + String(value.impl()) + "\"); \n }); \n");
+ else
+ source.append("); \n }); \n");
+ source.append(colorControlBlackBerryJs, sizeof(colorControlBlackBerryJs));
+ source.append("</script>\n");
+ source.append("</body> </html>\n");
+ m_source = source.toString();
+}
+
+void ColorPickerClient::closePopup()
+{
+ ASSERT(m_webPage);
+ m_webPage->m_page->chrome()->client()->closePagePopup(0);
+}
+
+IntSize ColorPickerClient::contentSize()
+{
+ // FIXME: will generate content size dynamically
+ return IntSize(320, 256);
+}
+
+String ColorPickerClient::htmlSource() const
+{
+ return m_source;
+}
+
+void ColorPickerClient::setValueAndClosePopup(int, const String& value)
+{
+ ASSERT(m_element);
+
+ static const char* cancelValue = "-1";
+ if (value != cancelValue)
+ m_element->setValue(value);
+ closePopup();
+}
+
+void ColorPickerClient::didClosePopup()
+{
+ m_webPage = 0;
+ m_element = 0;
+}
+
+void ColorPickerClient::writeDocument(DocumentWriter& writer)
+{
+ CString sourceString = m_source.utf8();
+ writer.addData(sourceString.data(), sourceString.length());
+}
+}
diff --git a/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h
new file mode 100644
index 000000000..8a75ea454
--- /dev/null
+++ b/Source/WebKit/blackberry/WebCoreSupport/ColorPickerClient.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2012 Research In Motion Limited. All rights reserved.
+ *
+ * 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 ColorPickerClient_h
+#define ColorPickerClient_h
+
+#include "PagePopupClient.h"
+#include <BlackBerryPlatformInputEvents.h>
+
+namespace BlackBerry {
+namespace WebKit {
+class WebPagePrivate;
+class WebString;
+}
+}
+
+namespace WebCore {
+class DocumentWriter;
+class HTMLInputElement;
+
+class ColorPickerClient : public PagePopupClient {
+public:
+ ColorPickerClient(const BlackBerry::WebKit::WebString& value, BlackBerry::WebKit::WebPagePrivate*, HTMLInputElement*);
+
+ void generateHTML(const BlackBerry::WebKit::WebString& value);
+ void writeDocument(DocumentWriter&);
+ IntSize contentSize();
+ String htmlSource() const;
+ void setValueAndClosePopup(int, const String&);
+ void didClosePopup();
+
+private:
+ void closePopup();
+
+ String m_source;
+ BlackBerry::WebKit::WebPagePrivate* m_webPage;
+ HTMLInputElement* m_element;
+};
+} // namespace WebCore
+#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
index bbaf2cecb..58cb66821 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp
@@ -572,7 +572,7 @@ void FrameLoaderClientBlackBerry::dispatchDidCommitLoad()
void FrameLoaderClientBlackBerry::dispatchDidHandleOnloadEvents()
{
- m_webPagePrivate->m_client->notifyDocumentOnLoad();
+ m_webPagePrivate->m_client->notifyDocumentOnLoad(isMainFrame());
if (m_webPagePrivate->m_dumpRenderTree)
m_webPagePrivate->m_dumpRenderTree->didHandleOnloadEventsForFrame(m_frame);
}
@@ -1076,8 +1076,16 @@ void FrameLoaderClientBlackBerry::restoreViewState()
m_webPagePrivate->m_minimumScale = viewState.minimumScale;
m_webPagePrivate->m_maximumScale = viewState.maximumScale;
m_webPagePrivate->m_userScalable = viewState.isUserScalable;
+
// Also, try to keep the users zoom if any.
double scale = viewState.scale;
+
+ // If it was zoomToFitScale use the new zoomToFitScale because
+ // the new one may be different to the old one due to contents
+ // size change (e.g. after reloaded).
+ if (viewState.isZoomToFitScale)
+ scale = m_webPagePrivate->zoomToFitScale();
+
bool shouldReflowBlock = viewState.shouldReflowBlock;
if (m_webPagePrivate->m_userPerformedManualZoom) {
scale = m_webPagePrivate->currentScale();
diff --git a/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h
index c32449aee..ab56d62d3 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/GeolocationControllerClientBlackBerry.h
@@ -22,7 +22,7 @@
#include <BlackBerryPlatformGeoTracker.h>
#include <BlackBerryPlatformGeoTrackerListener.h>
#include <GeolocationClient.h>
-#include <RefPtr.h>
+#include <wtf/RefPtr.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
index 5f6442fdf..4728146fd 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/IconDatabaseClientBlackBerry.cpp
@@ -19,7 +19,7 @@
#include "config.h"
#include "IconDatabaseClientBlackBerry.h"
-#include "BlackBerryPlatformClient.h"
+#include "BlackBerryPlatformSettings.h"
#include "IconDatabase.h"
#include "WebSettings.h"
#include "WebString.h"
@@ -51,7 +51,7 @@ bool IconDatabaseClientBlackBerry::initIconDatabase(const BlackBerry::WebKit::We
iconDatabase().setClient(this);
- m_initState = iconDatabase().open(BlackBerry::Platform::Client::get()->getApplicationDataDirectory().c_str(),
+ m_initState = iconDatabase().open(BlackBerry::Platform::Settings::instance()->applicationDataDirectory().c_str(),
IconDatabase::defaultDatabaseFilename()) ? InitializeSucceeded : InitializeFailed;
return m_initState == InitializeSucceeded;
diff --git a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h b/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
index 2af37526a..274bc8cce 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/InspectorClientBlackBerry.h
@@ -23,8 +23,8 @@
#include "InspectorClient.h"
#include "InspectorFrontendChannel.h"
#include "InspectorOverlay.h"
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp
index ffe7e9383..ea4c4266f 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/JavaScriptDebuggerBlackBerry.cpp
@@ -24,10 +24,10 @@
#include "JavaScriptCallFrame.h"
#include "PageScriptDebugServer.h"
-#include "PlatformString.h"
#include "ScriptBreakpoint.h"
#include "SourceCode.h"
#include "WebPage_p.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp b/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
index 402b52333..e2ed3490b 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/PagePopupBlackBerry.cpp
@@ -166,7 +166,7 @@ void PagePopupBlackBerry::installDomFunction(Frame* frame)
JSObjectRef clientClassObject = JSObjectMake(context, clientClass, 0);
JSObjectSetPrivate(clientClassObject, reinterpret_cast<void*>(m_client.get()));
- JSC::UString name("popUp");
+ String name("popUp");
JSC::PutPropertySlot slot;
window->put(window, exec, JSC::Identifier(exec, name),
diff --git a/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h b/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h
index 17cc776dc..24141a7e7 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/SelectPopupClient.h
@@ -23,8 +23,8 @@
#include "PagePopupClient.h"
#include "ScopePointer.h"
#include "Timer.h"
-#include "WTFString.h"
#include "WebString.h"
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
index a4e45c2e5..6b09f2a64 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
+++ b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.cpp
@@ -21,14 +21,18 @@
#if ENABLE(MEDIA_STREAM)
#include "MediaStreamDescriptor.h"
+#include "ScriptExecutionContext.h"
+#include "SecurityOrigin.h"
#include "WebPage.h"
+#include "WebPageClient.h"
#include <BlackBerryPlatformWebMediaStreamDescriptor.h>
-#include <BlackBerryPlatformWebUserMedia.h>
+#include <BlackBerryPlatformWebUserMediaRequest.h>
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/CString.h>
using namespace BlackBerry::Platform;
@@ -95,14 +99,13 @@ private:
RefPtr<UserMediaRequest> m_request;
};
-UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage*)
- : m_webUserMedia(0)
+UserMediaClientImpl::UserMediaClientImpl(BlackBerry::WebKit::WebPage* page)
+ : m_page(page)
{
}
UserMediaClientImpl::~UserMediaClientImpl()
{
- BlackBerry::Platform::deleteGuardedObject(m_webUserMedia);
}
void UserMediaClientImpl::pageDestroyed()
@@ -114,7 +117,8 @@ void UserMediaClientImpl::requestUserMedia(PassRefPtr<UserMediaRequest> prpReque
UserMediaRequest* request = prpRequest.get();
OwnPtr<WebUserMediaRequestClientImpl> requestClient = adoptPtr(new WebUserMediaRequestClientImpl(prpRequest));
- webUserMedia()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), requestClient.get()));
+ SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
+ m_page->client()->requestUserMedia(WebUserMediaRequest(request->audio(), request->video(), origin->toString().utf8().data(), requestClient.get()));
userMediaRequestsMap().add(request, requestClient.release());
}
@@ -124,16 +128,10 @@ void UserMediaClientImpl::cancelUserMediaRequest(UserMediaRequest* request)
if (it == userMediaRequestsMap().end())
return;
- webUserMedia()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), it->second.get()));
+ SecurityOrigin* origin = request->scriptExecutionContext()->securityOrigin();
+ m_page->client()->cancelUserMediaRequest(WebUserMediaRequest(request->audio(), request->video(), origin->toString().utf8().data(), it->second.get()));
userMediaRequestsMap().remove(it);
}
-BlackBerry::Platform::WebUserMedia* UserMediaClientImpl::webUserMedia()
-{
- if (!m_webUserMedia)
- m_webUserMedia = new WebUserMedia;
- return m_webUserMedia;
-}
-
}
#endif
diff --git a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
index a31233b86..f76cb3d56 100644
--- a/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
+++ b/Source/WebKit/blackberry/WebCoreSupport/UserMediaClientImpl.h
@@ -30,10 +30,6 @@ namespace BlackBerry {
namespace WebKit {
class WebPage;
}
-
-namespace Platform {
-class WebUserMedia;
-}
}
namespace WebCore {
@@ -51,9 +47,8 @@ public:
private:
UserMediaClientImpl();
- BlackBerry::Platform::WebUserMedia* webUserMedia();
- BlackBerry::Platform::WebUserMedia* m_webUserMedia;
+ BlackBerry::WebKit::WebPage* m_page;
};
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp b/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
index a6772ccb5..24260b039 100644
--- a/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/AboutData.cpp
@@ -20,7 +20,7 @@
#include "AboutData.h"
#include "AboutTemplate.html.cpp"
-#include "CString.h"
+#include "CacheHelper.h"
#include "CookieManager.h"
#include "JSDOMWindow.h"
#include "MemoryCache.h"
@@ -28,7 +28,6 @@
#include "SurfacePool.h"
#include "WebKitVersion.h"
-#include <BlackBerryPlatformClient.h>
#include <BlackBerryPlatformLog.h>
#include <BlackBerryPlatformMemory.h>
#include <BlackBerryPlatformSettings.h>
@@ -39,6 +38,7 @@
#include <runtime/JSGlobalData.h>
#include <sys/stat.h>
#include <sys/utsname.h>
+#include <wtf/text/CString.h>
using namespace WebCore;
@@ -142,7 +142,6 @@ static String configPage()
page += numberToHTMLTr("allowCenterScrollAdjustmentForInputFields", settings->allowCenterScrollAdjustmentForInputFields());
page += numberToHTMLTr("unrestrictedResizeEvents", settings->unrestrictedResizeEvents());
page += numberToHTMLTr("isBridgeBrowser", settings->isBridgeBrowser());
- page += numberToHTMLTr("isWebGLSupported", settings->isWebGLSupported());
page += numberToHTMLTr("showImageLocationOptionsInGCM", settings->showImageLocationOptionsInGCM());
page += numberToHTMLTr("forceGLES2WindowUsage", settings->forceGLES2WindowUsage());
page += numberToHTMLTr("maxClickableSpeed", settings->maxClickableSpeed());
@@ -458,27 +457,14 @@ static String cachePage(String cacheCommand)
result.append(String("<html><head><title>BlackBerry Browser Disk Cache</title></head><body>"));
- BlackBerry::Platform::Client* client = BlackBerry::Platform::Client::get();
- ASSERT(client);
-
if (cacheCommand.isEmpty())
- result.append(String(client->generateHtmlFragmentForCacheKeys().data()));
+ result.append(String(BlackBerry::Platform::generateHtmlFragmentForCacheKeys().data()));
else if (cacheCommand.startsWith("?query=", false)) {
std::string key(cacheCommand.substring(7).utf8().data()); // 7 is length of "query=".
result.append(String(key.data()));
result.append(String("<hr>"));
- result.append(String(client->generateHtmlFragmentForCacheHeaders(key).data()));
- }
-#if !defined(PUBLIC_BUILD) || !PUBLIC_BUILD
- else if (equalIgnoringCase(cacheCommand, "/disable")) {
- client->setDiskCacheEnabled(false);
- result.append("Http disk cache is disabled.");
- } else if (equalIgnoringCase(cacheCommand, "/enable")) {
- client->setDiskCacheEnabled(true);
- result.append("Http disk cache is enabled.");
- }
-#endif
- else {
+ result.append(String(BlackBerry::Platform::generateHtmlFragmentForCacheHeaders(key).data()));
+ } else {
// Unknown cache command.
return String();
}
@@ -506,6 +492,7 @@ static String buildPage()
result.append(String(BlackBerry::Platform::BUILDINFO_WEBKIT));
result.append(String(BlackBerry::Platform::BUILDINFO_PLATFORM));
result.append(String(BlackBerry::Platform::BUILDINFO_LIBWEBVIEW));
+ result.append(String(BlackBerry::Platform::BUILDINFO_WEBPLATFORM));
result.append(String("</body></html>"));
return result;
diff --git a/Source/WebKit/blackberry/WebKitSupport/AboutData.h b/Source/WebKit/blackberry/WebKitSupport/AboutData.h
index 0e11a60c8..da040c670 100644
--- a/Source/WebKit/blackberry/WebKitSupport/AboutData.h
+++ b/Source/WebKit/blackberry/WebKitSupport/AboutData.h
@@ -19,7 +19,7 @@
#ifndef AboutData_h
#define AboutData_h
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace BlackBerry {
namespace WebKit {
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
index 2c8242cbb..262fbeff2 100644
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.cpp
@@ -27,6 +27,12 @@
namespace BlackBerry {
namespace WebKit {
+Fence::~Fence()
+{
+ if (m_platformSync)
+ SurfacePool::globalSurfacePool()->destroyPlatformSync(m_platformSync);
+}
+
TileBuffer::TileBuffer(const Platform::IntSize& size)
: m_size(size)
, m_fence(Fence::create())
diff --git a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
index 69bf40aa2..036808f32 100644
--- a/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
+++ b/Source/WebKit/blackberry/WebKitSupport/BackingStoreTile.h
@@ -32,6 +32,8 @@ struct Buffer;
}
}
+namespace WebKit {
+
// Represents a fence that has been inserted into the command stream. You can wait on the corresponding platform sync
// object to make sure that previous commands have been completed.
// There is no reason to wait twice on the same platform sync object, so the only mechanism provided to access the sync
@@ -54,6 +56,8 @@ public:
return tmp;
}
+ ~Fence();
+
private:
Fence(void* platformSync)
: m_platformSync(platformSync)
@@ -63,7 +67,6 @@ private:
void* m_platformSync;
};
-namespace WebKit {
class TileBuffer {
public:
TileBuffer(const Platform::IntSize&);
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
index 4b0ffbc52..433b8cdc9 100644
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.cpp
@@ -33,13 +33,14 @@
#include "RenderTextControl.h"
#include "TextIterator.h"
#include "VisibleSelection.h"
-#include "WTFString.h"
#include "htmlediting.h"
#include "visible_units.h"
#include <limits>
+#include <wtf/text/WTFString.h>
+
using WTF::Vector;
using namespace WebCore;
@@ -115,6 +116,18 @@ WTF::String inputElementText(Element* element)
return elementText;
}
+WTF::String webWorksContext(const WebCore::Element* element)
+{
+ if (!element)
+ return WTF::String();
+
+ DEFINE_STATIC_LOCAL(QualifiedName, webworksContextAttr, (nullAtom, "data-blackberry-webworks-context", nullAtom));
+ if (element->fastHasAttribute(webworksContextAttr))
+ return element->fastGetAttribute(webworksContextAttr);
+
+ return WTF::String();
+}
+
bool isElementTypePlugin(const Element* element)
{
if (!element)
diff --git a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
index 5de7f731f..cdfe0fcfa 100644
--- a/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
+++ b/Source/WebKit/blackberry/WebKitSupport/DOMSupport.h
@@ -63,6 +63,7 @@ AttributeState elementSupportsAutocomplete(const WebCore::Element*);
AttributeState elementSupportsSpellCheck(const WebCore::Element*);
WTF::String inputElementText(WebCore::Element*);
+WTF::String webWorksContext(const WebCore::Element*);
WebCore::HTMLTextFormControlElement* toTextControlElement(WebCore::Node*);
diff --git a/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp b/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
index 381e7a1ec..f42f5edbf 100644
--- a/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/FatFingers.cpp
@@ -465,7 +465,7 @@ void FatFingers::getPaddings(unsigned& top, unsigned& right, unsigned& bottom, u
FatFingers::CachedResultsStrategy FatFingers::cachingStrategy() const
{
switch (m_matchingApproach) {
- case ClickableElement:
+ case ClickableByDefault:
return GetFromRenderTree;
case MadeClickableByTheWebpage:
return GetFromCache;
@@ -491,11 +491,12 @@ void FatFingers::getNodesFromRect(Document* document, const IntPoint& contentPos
unsigned topPadding, rightPadding, bottomPadding, leftPadding;
getPaddings(topPadding, rightPadding, bottomPadding, leftPadding);
- HitTestRequest request(HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
// The user functions checkForText() and findIntersectingRegions() uses the Node.wholeText() to checkFingerIntersection()
// not the text in its shadow tree.
- ShadowContentFilterPolicy allowShadow = m_targetType == Text ? DoNotAllowShadowContent : AllowShadowContent;
- HitTestResult result(contentPos, topPadding, rightPadding, bottomPadding, leftPadding, allowShadow);
+ HitTestRequest request = HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping;
+ if (m_targetType != Text)
+ request |= HitTestRequest::AllowShadowContent;
+ HitTestResult result(contentPos, topPadding, rightPadding, bottomPadding, leftPadding);
document->renderView()->layer()->hitTest(request, result);
intersectedNodes = result.rectBasedTestResult();
@@ -510,7 +511,7 @@ void FatFingers::getRelevantInfoFromPoint(Document* document, const IntPoint& co
if (!document || !document->renderer() || !document->frame())
return;
- HitTestResult result = document->frame()->eventHandler()->hitTestResultAtPoint(contentPos, true /*allowShadowContent*/);
+ HitTestResult result = document->frame()->eventHandler()->hitTestResultAtPoint(contentPos, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
Node* node = result.innerNode();
while (node && !node->isElementNode())
node = node->parentNode();
diff --git a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp b/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
index 7812da8df..c50c8804e 100644
--- a/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/GLES2Context.cpp
@@ -32,7 +32,6 @@
#include "config.h"
#include "GLES2Context.h"
-#include "Assertions.h"
#include "BackingStoreCompositingSurface.h"
#include "Chrome.h"
#include "ChromeClient.h"
@@ -42,6 +41,8 @@
#include <GLES2/gl2.h>
+#include <wtf/Assertions.h>
+
using BlackBerry::Platform::Graphics::Window;
namespace BlackBerry {
diff --git a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
index 4adb9b4aa..c57de91b0 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.cpp
@@ -40,12 +40,13 @@ namespace WebKit {
class InPageSearchManager::DeferredScopeStringMatches {
public:
- DeferredScopeStringMatches(InPageSearchManager* ipsm, Frame* scopingFrame, const String& text, bool reset)
+ DeferredScopeStringMatches(InPageSearchManager* ipsm, Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
: m_searchManager(ipsm)
, m_scopingFrame(scopingFrame)
, m_timer(this, &DeferredScopeStringMatches::doTimeout)
, m_searchText(text)
, m_reset(reset)
+ , m_locateActiveMatchOnly(locateActiveMatchOnly)
{
m_timer.startOneShot(0.0);
}
@@ -53,13 +54,14 @@ public:
private:
void doTimeout(Timer<DeferredScopeStringMatches>*)
{
- m_searchManager->callScopeStringMatches(this, m_scopingFrame, m_searchText, m_reset);
+ m_searchManager->callScopeStringMatches(this, m_scopingFrame, m_searchText, m_reset, m_locateActiveMatchOnly);
}
InPageSearchManager* m_searchManager;
Frame* m_scopingFrame;
Timer<DeferredScopeStringMatches> m_timer;
String m_searchText;
bool m_reset;
+ bool m_locateActiveMatchOnly;
};
InPageSearchManager::InPageSearchManager(WebPagePrivate* page)
@@ -88,11 +90,13 @@ bool InPageSearchManager::findNextString(const String& text, FindOptions findOpt
clearTextMatches();
cancelPendingScopingEffort();
m_activeSearchString = String();
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
if (!shouldSearchForText(text)) {
m_activeSearchString = text;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
@@ -120,15 +124,17 @@ bool InPageSearchManager::findNextString(const String& text, FindOptions findOpt
}
// If there is any active selection, new search should start from the beginning of it.
+ bool startFromSelection = false;
VisibleSelection selection = m_webPage->focusedOrMainFrame()->selection()->selection();
if (!selection.isNone()) {
searchStartingPoint = selection.firstRange().get();
m_webPage->focusedOrMainFrame()->selection()->clear();
+ startFromSelection = true;
}
Frame* currentActiveMatchFrame = selection.isNone() && m_activeMatch ? m_activeMatch->ownerDocument()->frame() : m_webPage->focusedOrMainFrame();
- if (findAndMarkText(text, searchStartingPoint.get(), currentActiveMatchFrame, findOptions, newSearch))
+ if (findAndMarkText(text, searchStartingPoint.get(), currentActiveMatchFrame, findOptions, newSearch, startFromSelection))
return true;
Frame* startFrame = currentActiveMatchFrame;
@@ -139,16 +145,17 @@ bool InPageSearchManager::findNextString(const String& text, FindOptions findOpt
// We should only ever have a null frame if we haven't found any
// matches and we're not wrapping. We have searched every frame.
ASSERT(!wrap);
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
- if (findAndMarkText(text, 0, currentActiveMatchFrame, findOptions, newSearch))
+ if (findAndMarkText(text, 0, currentActiveMatchFrame, findOptions, newSearch, startFromSelection))
return true;
} while (startFrame != currentActiveMatchFrame);
clearTextMatches();
- // FIXME: We need to notify client here.
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
return false;
}
@@ -168,25 +175,45 @@ bool InPageSearchManager::shouldSearchForText(const String& text)
return true;
}
-bool InPageSearchManager::findAndMarkText(const String& text, Range* range, Frame* frame, const FindOptions& options, bool isNewSearch)
+bool InPageSearchManager::findAndMarkText(const String& text, Range* range, Frame* frame, const FindOptions& options, bool isNewSearch, bool startFromSelection)
{
if (RefPtr<Range> match = frame->editor()->findStringAndScrollToVisible(text, range, options)) {
// Move the highlight to the new match.
setActiveMatchAndMarker(match);
-
- if (m_highlightAllMatches) {
- // FIXME: If it is a not new search, we need to calculate activeMatchIndex and notify client.
- if (isNewSearch)
- scopeStringMatches(text, true /* reset */);
+ if (isNewSearch) {
+ scopeStringMatches(text, true /* reset */, false /* locateActiveMatchOnly */);
+ return true;
+ }
+ if (startFromSelection || m_locatingActiveMatch) {
+ // We are finding next, but
+ // - starting from a new node, or
+ // - last locating active match effort is not done yet
+ if (!m_scopingComplete) {
+ // Last scoping is not done yet, let's restart it.
+ scopeStringMatches(text, true /* reset */, false /* locateActiveMatchOnly */);
+ } else {
+ // Last scoping is done, but we are jumping to somewhere instead of
+ // searching one by one, or there is another locating active match effort,
+ // let's start a scoping effort to locate active match only.
+ scopeStringMatches(text, true /* reset */, true /* locateActiveMatchOnly */);
+ }
} else {
- // When only showing single matches, cancel any scoping effort and ensure
- // only the single active match is marked.
- cancelPendingScopingEffort();
+ // We are finding next one by one, let's calculate active match index
+ // There is at least one match, because otherwise we won't get into this block,
+ // so m_activeMatchIndex is at least one.
+ ASSERT(m_activeMatchCount);
+ if (!(options & WebCore::Backwards))
+ m_activeMatchIndex = m_activeMatchIndex + 1 > m_activeMatchCount ? 1 : m_activeMatchIndex + 1;
+ else
+ m_activeMatchIndex = m_activeMatchIndex - 1 < 1 ? m_activeMatchCount : m_activeMatchIndex - 1;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
+ }
+ if (!m_highlightAllMatches) {
+ // When only showing single matches, the scoping effort won't highlight
+ // all matches but count them.
m_webPage->m_page->unmarkAllTextMatches();
m_activeMatch->ownerDocument()->markers()->addTextMatchMarker(m_activeMatch.get(), true);
frame->editor()->setMarkedTextMatchesAreHighlighted(true /* highlight */);
- m_activeMatchCount = 1;
- m_activeMatchIndex = 1;
}
return true;
@@ -239,15 +266,18 @@ void InPageSearchManager::frameUnloaded(const Frame* frame)
}
}
-void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Frame* scopingFrame)
+void InPageSearchManager::scopeStringMatches(const String& text, bool reset, bool locateActiveMatchOnly, Frame* scopingFrame)
{
if (reset) {
- m_activeMatchCount = 0;
+ if (!locateActiveMatchOnly) {
+ m_activeMatchCount = 0;
+ m_scopingComplete = false;
+ }
m_resumeScopingFromRange = 0;
- m_scopingComplete = false;
m_locatingActiveMatch = true;
+ m_activeMatchIndex = 0;
// New search should always start from mainFrame.
- scopeStringMatchesSoon(m_webPage->mainFrame(), text, false /* reset */);
+ scopeStringMatchesSoon(m_webPage->mainFrame(), text, false /* reset */, locateActiveMatchOnly);
return;
}
@@ -284,10 +314,15 @@ void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Fra
if (m_locatingActiveMatch && areRangesEqual(resultRange.get(), m_activeMatch.get())) {
foundActiveMatch = true;
m_locatingActiveMatch = false;
+ if (locateActiveMatchOnly) {
+ m_activeMatchIndex += matchCount;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
+ return;
+ }
m_activeMatchIndex = m_activeMatchCount + matchCount;
- // FIXME: We need to notify client with m_activeMatchIndex.
}
- resultRange->ownerDocument()->markers()->addTextMatchMarker(resultRange.get(), foundActiveMatch);
+ if (!locateActiveMatchOnly && m_highlightAllMatches)
+ resultRange->ownerDocument()->markers()->addTextMatchMarker(resultRange.get(), foundActiveMatch);
searchRange->setStart(resultRange->endContainer(ec), resultRange->endOffset(ec), ec);
Node* shadowTreeRoot = searchRange->shadowTreeRootNode();
@@ -298,12 +333,20 @@ void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Fra
} while (!timeout);
if (matchCount > 0) {
- scopingFrame->editor()->setMarkedTextMatchesAreHighlighted(true /* highlight */);
- m_activeMatchCount += matchCount;
+ if (locateActiveMatchOnly) {
+ // We have not found it yet.
+ // m_activeMatchIndex now temporarily remember where we left over in this time slot.
+ m_activeMatchIndex += matchCount;
+ } else {
+ if (m_highlightAllMatches)
+ scopingFrame->editor()->setMarkedTextMatchesAreHighlighted(true /* highlight */);
+ m_activeMatchCount += matchCount;
+ m_webPage->m_client->updateFindStringResult(m_activeMatchCount, m_activeMatchIndex);
+ }
}
if (timeout)
- scopeStringMatchesSoon(scopingFrame, text, false /* reset */);
+ scopeStringMatchesSoon(scopingFrame, text, false /* reset */, locateActiveMatchOnly);
else {
// Scoping is done for this frame.
Frame* nextFrame = DOMSupport::incrementFrame(scopingFrame, true /* forward */, false /* wrapFlag */);
@@ -311,19 +354,19 @@ void InPageSearchManager::scopeStringMatches(const String& text, bool reset, Fra
m_scopingComplete = true;
return; // Scoping is done for all frames;
}
- scopeStringMatchesSoon(nextFrame, text, false /* reset */);
+ scopeStringMatchesSoon(nextFrame, text, false /* reset */, locateActiveMatchOnly);
}
}
-void InPageSearchManager::scopeStringMatchesSoon(Frame* scopingFrame, const String& text, bool reset)
+void InPageSearchManager::scopeStringMatchesSoon(Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
{
- m_deferredScopingWork.append(new DeferredScopeStringMatches(this, scopingFrame, text, reset));
+ m_deferredScopingWork.append(new DeferredScopeStringMatches(this, scopingFrame, text, reset, locateActiveMatchOnly));
}
-void InPageSearchManager::callScopeStringMatches(DeferredScopeStringMatches* caller, Frame* scopingFrame, const String& text, bool reset)
+void InPageSearchManager::callScopeStringMatches(DeferredScopeStringMatches* caller, Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly)
{
m_deferredScopingWork.remove(m_deferredScopingWork.find(caller));
- scopeStringMatches(text, reset, scopingFrame);
+ scopeStringMatches(text, reset, locateActiveMatchOnly, scopingFrame);
delete caller;
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
index f48bb8e29..421dd2c2a 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
+++ b/Source/WebKit/blackberry/WebKitSupport/InPageSearchManager.h
@@ -20,7 +20,7 @@
#define InPageSearchManager_h
#include "FindOptions.h"
-#include "WTFString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Frame;
@@ -48,11 +48,11 @@ private:
void clearTextMatches();
void setActiveMatchAndMarker(PassRefPtr<WebCore::Range>);
- bool findAndMarkText(const String&, WebCore::Range*, WebCore::Frame*, const WebCore::FindOptions&, bool);
+ bool findAndMarkText(const String&, WebCore::Range*, WebCore::Frame*, const WebCore::FindOptions&, bool /* isNewSearch */, bool /* startFromSelection */);
bool shouldSearchForText(const String&);
- void scopeStringMatches(const String& text, bool reset, WebCore::Frame* scopingFrame = 0);
- void scopeStringMatchesSoon(WebCore::Frame* scopingFrame, const String& text, bool reset);
- void callScopeStringMatches(DeferredScopeStringMatches* caller, WebCore::Frame* scopingFrame, const String& text, bool reset);
+ void scopeStringMatches(const String& text, bool reset, bool locateActiveMatchOnly, WebCore::Frame* scopingFrame = 0);
+ void scopeStringMatchesSoon(WebCore::Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly);
+ void callScopeStringMatches(DeferredScopeStringMatches* caller, WebCore::Frame* scopingFrame, const String& text, bool reset, bool locateActiveMatchOnly);
void cancelPendingScopingEffort();
Vector<DeferredScopeStringMatches*> m_deferredScopingWork;
diff --git a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp b/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
index f1141c336..0e6c95432 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InRegionScrollableArea.cpp
@@ -46,17 +46,6 @@ InRegionScrollableArea::~InRegionScrollableArea()
m_cachedCompositedScrollableLayer->clearOverride();
}
-// FIXME: Make RenderLayer::enclosingElement public so this one can be removed.
-static Node* enclosingLayerNode(RenderLayer* layer)
-{
- for (RenderObject* r = layer->renderer(); r; r = r->parent()) {
- if (Node* e = r->node())
- return e;
- }
- ASSERT_NOT_REACHED();
- return 0;
-}
-
InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLayer* layer)
: m_webPage(webPage)
, m_layer(layer)
@@ -86,8 +75,8 @@ InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLa
m_scrollsHorizontally = view->contentsWidth() > view->visibleWidth();
m_scrollsVertically = view->contentsHeight() > view->visibleHeight();
- m_overscrollLimitFactor = 0.0; // FIXME eventually support overscroll
- m_cachedCompositedScrollableLayer = 0; // FIXME: Needs composited layer for inner frames.
+ m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->enclosingElement()); // FIXME: Needs composited layer for inner frames.
+ m_cachedNonCompositedScrollableNode = m_layer->enclosingElement();
} else { // RenderBox-based elements case (scrollable boxes (div's, p's, textarea's, etc)).
@@ -107,16 +96,14 @@ InRegionScrollableArea::InRegionScrollableArea(WebPagePrivate* webPage, RenderLa
if (m_layer->usesCompositedScrolling()) {
m_supportsCompositedScrolling = true;
ASSERT(m_layer->backing()->hasScrollingLayer());
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->backing()->scrollingLayer()->platformLayer());
- m_cachedCompositedScrollableLayer = m_layer->backing()->scrollingLayer()->platformLayer();
+ m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->backing()->scrollingContentsLayer()->platformLayer());
+ m_cachedCompositedScrollableLayer = m_layer->backing()->scrollingContentsLayer()->platformLayer();
ASSERT(!m_cachedNonCompositedScrollableNode);
} else {
- m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(enclosingLayerNode(m_layer));
- m_cachedNonCompositedScrollableNode = enclosingLayerNode(m_layer);
+ m_camouflagedCompositedScrollableLayer = reinterpret_cast<unsigned>(m_layer->enclosingElement());
+ m_cachedNonCompositedScrollableNode = m_layer->enclosingElement();
ASSERT(!m_cachedCompositedScrollableLayer);
}
-
- m_overscrollLimitFactor = 0.0;
}
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
index 77f8ada84..7e5d46262 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.cpp
@@ -22,8 +22,8 @@
#include "BackingStore.h"
#include "BackingStoreClient.h"
#include "CSSStyleDeclaration.h"
-#include "CString.h"
#include "Chrome.h"
+#include "ColorPickerClient.h"
#include "DOMSupport.h"
#include "DatePickerClient.h"
#include "Document.h"
@@ -68,6 +68,7 @@
#include <BlackBerryPlatformMisc.h>
#include <BlackBerryPlatformSettings.h>
#include <sys/keycodes.h>
+#include <wtf/text/CString.h>
#define ENABLE_INPUT_LOG 0
#define ENABLE_FOCUS_LOG 0
@@ -135,6 +136,7 @@ InputHandler::InputHandler(WebPagePrivate* page)
, m_pendingKeyboardVisibilityChange(NoChange)
, m_delayKeyboardVisibilityChange(false)
{
+ pthread_mutex_init(&m_sequenceMapMutex, 0);
}
InputHandler::~InputHandler()
@@ -540,8 +542,8 @@ void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingReque
return;
}
- // Check if field explicitly asked for spellchecking.
- if (DOMSupport::elementSupportsSpellCheck(m_currentFocusElement.get()) != DOMSupport::On) {
+ // Check if the field should be spellchecked.
+ if (!shouldSpellCheckElement(m_currentFocusElement.get())) {
spellCheckingRequestCancelled(sequenceId, true /* isSequenceId */);
return;
}
@@ -581,6 +583,7 @@ void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingReque
return;
}
+ BlackBerry::Platform::MutexLocker lock(&m_sequenceMapMutex);
int32_t transactionId = m_webPage->m_client->checkSpellingOfStringAsync(checkingString, paragraphLength);
free(checkingString);
@@ -598,6 +601,7 @@ void InputHandler::requestCheckingOfString(PassRefPtr<WebCore::TextCheckingReque
int32_t InputHandler::convertTransactionIdToSequenceId(int32_t transactionId)
{
+ BlackBerry::Platform::MutexLocker lock(&m_sequenceMapMutex);
std::map<int32_t, int32_t>::iterator it = m_sequenceMap.find(transactionId);
if (it == m_sequenceMap.end())
@@ -660,6 +664,7 @@ void InputHandler::spellCheckingRequestProcessed(int32_t transactionId, spannabl
void InputHandler::cancelAllSpellCheckingRequests()
{
+ BlackBerry::Platform::MutexLocker lock(&m_sequenceMapMutex);
for (std::map<int32_t, int32_t>::iterator it = m_sequenceMap.begin(); it != m_sequenceMap.end(); ++it)
spellCheckingRequestCancelled(it->second, true /* isSequenceId */);
m_sequenceMap.clear();
@@ -672,7 +677,7 @@ void InputHandler::spellCheckingRequestCancelled(int32_t id, bool isSequenceId)
int32_t sequenceId = isSequenceId ? id : convertTransactionIdToSequenceId(id);
SpellChecker* spellChecker = getSpellChecker();
- if (!spellChecker) {
+ if (!spellChecker || !sequenceId) {
SpellingLog(LogLevelWarn, "InputHandler::spellCheckingRequestCancelled failed to cancel the request with sequenceId %d", sequenceId);
return;
}
@@ -838,8 +843,8 @@ void InputHandler::setElementFocused(Element* element)
SpellingLog(LogLevelInfo, "InputHandler::setElementFocused Focusing the field took %f seconds.", timer.elapsed());
#endif
- // Check if the field explicitly asks for spellchecking.
- if (DOMSupport::elementSupportsSpellCheck(element) != DOMSupport::On)
+ // Check if the field should be spellchecked.
+ if (!shouldSpellCheckElement(element))
return;
// Spellcheck the field in its entirety.
@@ -851,19 +856,36 @@ void InputHandler::setElementFocused(Element* element)
#endif
}
+bool InputHandler::shouldSpellCheckElement(const Element* element) const
+{
+ DOMSupport::AttributeState spellCheckAttr = DOMSupport::elementSupportsSpellCheck(element);
+
+ // Explicitly set to off.
+ if (spellCheckAttr == DOMSupport::Off)
+ return false;
+
+ // Undefined and part of a set of cases which we do not wish to check. This includes user names and email addresses, so we are piggybacking on NoAutocomplete cases.
+ if (spellCheckAttr == DOMSupport::Default && (m_currentFocusElementTextEditMask & NO_AUTO_TEXT))
+ return false;
+
+ return true;
+}
+
void InputHandler::spellCheckBlock(VisibleSelection& visibleSelection, TextCheckingProcessType textCheckingProcessType)
{
if (!isActiveTextEdit())
return;
+ RefPtr<Range> rangeForSpellChecking = visibleSelection.toNormalizedRange();
+ if (!rangeForSpellChecking || !rangeForSpellChecking->text() || !rangeForSpellChecking->text().length())
+ return;
+
SpellChecker* spellChecker = getSpellChecker();
if (!spellChecker) {
SpellingLog(LogLevelInfo, "InputHandler::spellCheckBlock Failed to spellcheck the current focused element.");
return;
}
- RefPtr<Range> rangeForSpellChecking = visibleSelection.toNormalizedRange();
-
// If we have a batch request, try to send off the entire block.
if (textCheckingProcessType == TextCheckingProcessBatch) {
// If total block text is under the limited amount, send the entire chunk.
@@ -876,13 +898,16 @@ void InputHandler::spellCheckBlock(VisibleSelection& visibleSelection, TextCheck
// Since we couldn't check the entire block at once, set up starting and ending markers to fire incrementally.
VisiblePosition startPos = visibleSelection.visibleStart();
VisiblePosition startOfCurrentLine = startOfLine(startPos);
- VisiblePosition endOfCurrentLine = endOfLine(startPos);
+ VisiblePosition endOfCurrentLine = endOfLine(startOfCurrentLine);
- while (startOfCurrentLine != endOfCurrentLine) {
+ while (!isEndOfBlock(startOfCurrentLine)) {
// Create a selection with the start and end points of the line, and convert to Range to create a SpellCheckRequest.
rangeForSpellChecking = VisibleSelection(startOfCurrentLine, endOfCurrentLine).toNormalizedRange();
- if (rangeForSpellChecking->text().length() >= MaxSpellCheckingStringLength) {
+ if (rangeForSpellChecking->text().length() < MaxSpellCheckingStringLength) {
+ startOfCurrentLine = nextLinePosition(startOfCurrentLine, startOfCurrentLine.lineDirectionPointForBlockDirectionNavigation());
+ endOfCurrentLine = endOfLine(startOfCurrentLine);
+ } else {
// Iterate through words from the start of the line to the end.
rangeForSpellChecking = getRangeForSpellCheckWithFineGranularity(startOfCurrentLine, endOfCurrentLine);
if (!rangeForSpellChecking) {
@@ -890,12 +915,6 @@ void InputHandler::spellCheckBlock(VisibleSelection& visibleSelection, TextCheck
return;
}
startOfCurrentLine = VisiblePosition(rangeForSpellChecking->endPosition());
- } else {
- startOfCurrentLine = nextLinePosition(startOfCurrentLine, startOfCurrentLine.lineDirectionPointForBlockDirectionNavigation());
- endOfCurrentLine = endOfLine(startOfCurrentLine);
- // If we are at the last line, nextLinePosition will return the position at the end of the line. If we're not at the end, wrap with a call to startOfLine to be safe.
- if (startOfCurrentLine != endOfCurrentLine)
- startOfCurrentLine = startOfLine(startOfCurrentLine);
}
SpellingLog(LogLevelInfo, "InputHandler::spellCheckBlock Substring text is '%s', of size %d", rangeForSpellChecking->text().latin1().data(), rangeForSpellChecking->text().length());
@@ -941,11 +960,7 @@ bool InputHandler::openDatePopup(HTMLInputElement* element, BlackBerryInputType
double step = element->getAttribute(HTMLNames::stepAttr).toDouble();
DatePickerClient* client = new DatePickerClient(type, value, min, max, step, m_webPage, element);
- // Fail to create HTML popup, use the old path
- if (!m_webPage->m_page->chrome()->client()->openPagePopup(client, WebCore::IntRect()))
- m_webPage->m_client->openDateTimePopup(type, value, min, max, step);
-
- return true;
+ return m_webPage->m_page->chrome()->client()->openPagePopup(client, WebCore::IntRect());
}
default: // Other types not supported
return false;
@@ -963,7 +978,10 @@ bool InputHandler::openColorPopup(HTMLInputElement* element)
m_currentFocusElement = element;
m_currentFocusElementType = TextPopup;
- m_webPage->m_client->openColorPopup(element->value());
+ // Check if popup already exists, close it if does.
+ m_webPage->m_page->chrome()->client()->closePagePopup(0);
+ ColorPickerClient* client = new ColorPickerClient(element->value(), m_webPage, element);
+ m_webPage->m_page->chrome()->client()->openPagePopup(client, WebCore::IntRect());
return true;
}
@@ -1642,6 +1660,9 @@ bool InputHandler::openSelectPopup(HTMLSelectElement* select)
// Fail to create HTML popup, use the old path
if (!m_webPage->m_page->chrome()->client()->openPagePopup(selectClient, elementRectInRootView))
m_webPage->m_client->openPopupList(multiple, size, labels, enableds, itemTypes, selecteds);
+ delete[] enableds;
+ delete[] itemTypes;
+ delete[] selecteds;
return true;
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
index 869cfc273..f0ecb7dfe 100644
--- a/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
+++ b/Source/WebKit/blackberry/WebKitSupport/InputHandler.h
@@ -26,6 +26,7 @@
#include <imf/events.h>
#include <imf/input_data.h>
#include <map>
+#include <pthread.h>
#include <wtf/RefPtr.h>
namespace WTF {
@@ -198,6 +199,7 @@ private:
PassRefPtr<WebCore::Range> getRangeForSpellCheckWithFineGranularity(WebCore::VisiblePosition startPosition, WebCore::VisiblePosition endPosition);
void cancelAllSpellCheckingRequests();
WebCore::SpellChecker* getSpellChecker();
+ bool shouldSpellCheckElement(const WebCore::Element*) const;
WebPagePrivate* m_webPage;
@@ -217,6 +219,7 @@ private:
bool m_delayKeyboardVisibilityChange;
std::map<int32_t, int32_t> m_sequenceMap;
+ pthread_mutex_t m_sequenceMapMutex;
};
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp b/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
index 3460bd8f0..110be1aa1 100644
--- a/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/RenderQueue.cpp
@@ -243,7 +243,7 @@ int RenderQueue::splittingFactor(const Platform::IntRect& rect) const
// rendered in any one pass should stay fixed with regard to the zoom level.
Platform::IntRect untransformedRect = m_parent->m_webPage->d->mapFromTransformed(rect);
double rectArea = untransformedRect.width() * untransformedRect.height();
- double maxArea = DEFAULT_MAX_LAYOUT_WIDTH * DEFAULT_MAX_LAYOUT_HEIGHT; // Defined in WebPage_p.h.
+ double maxArea = m_parent->tileWidth() * m_parent->tileHeight();
const unsigned splitFactor = 1 << 0;
double renderRectArea = maxArea / splitFactor;
@@ -655,14 +655,8 @@ void RenderQueue::renderAllCurrentRegularRenderJobs()
m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
m_currentRegularRenderJobsBatchUnderPressure = false;
- // Update the screen only if we're not scrolling or zooming.
- if (rendered && !m_parent->isScrollingOrZooming()) {
- if (!m_parent->shouldDirectRenderingToWindow())
- m_parent->blitVisibleContents();
- else
- m_parent->invalidateWindow();
- m_parent->m_webPage->client()->notifyContentRendered(renderedRect);
- }
+ if (rendered)
+ m_parent->didRenderContent(renderedRect);
if (m_parent->shouldSuppressNonVisibleRegularRenderJobs() && !regionNotRendered.isEmpty())
m_parent->updateTilesForScrollOrNotRenderedRegion(false /*checkLoading*/);
@@ -810,14 +804,7 @@ void RenderQueue::renderRegularRenderJob()
// Clear the region and the and blit since this batch is now complete.
m_currentRegularRenderJobsBatchRegion = Platform::IntRectRegion();
m_currentRegularRenderJobsBatchUnderPressure = false;
- // Update the screen only if we're not scrolling or zooming.
- if (!m_parent->isScrollingOrZooming()) {
- if (!m_parent->shouldDirectRenderingToWindow())
- m_parent->blitVisibleContents();
- else
- m_parent->invalidateWindow();
- m_parent->m_webPage->client()->notifyContentRendered(renderedRect);
- }
+ m_parent->didRenderContent(renderedRect);
}
// Make sure we didn't alter state of the queues that should have been empty
@@ -880,13 +867,8 @@ void RenderQueue::visibleScrollJobsCompleted(bool shouldBlit)
// Now blit to the screen if we are done and get rid of the completed list!
ASSERT(m_visibleScrollJobs.empty());
m_visibleScrollJobsCompleted.clear();
- if (shouldBlit && !m_parent->isScrollingOrZooming()) {
- if (!m_parent->shouldDirectRenderingToWindow())
- m_parent->blitVisibleContents();
- else
- m_parent->invalidateWindow();
- m_parent->m_webPage->client()->notifyContentRendered(m_parent->visibleContentsRect());
- }
+ if (shouldBlit)
+ m_parent->didRenderContent(m_parent->visibleContentsRect());
}
void RenderQueue::nonVisibleScrollJobsCompleted()
diff --git a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
index 3b04247be..1e150c33e 100644
--- a/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/SelectionHandler.cpp
@@ -159,7 +159,7 @@ static VisiblePosition visiblePositionForPointIgnoringClipping(const Frame& fram
// outside the visible rect. To work around the bug, this is a copy of
// visiblePositionAtPoint which which passes ignoreClipping=true.
// See RIM Bug #4315.
- HitTestResult result = frame.eventHandler()->hitTestResultAtPoint(framePoint, true /* allowShadowContent */, true /* ignoreClipping */);
+ HitTestResult result = frame.eventHandler()->hitTestResultAtPoint(framePoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent | HitTestRequest::IgnoreClipping);
Node* node = result.innerNode();
if (!node || node->document() != frame.document())
@@ -738,6 +738,8 @@ static void adjustCaretRects(WebCore::IntRect& startCaret, bool isStartCaretClip
else {
startCaret = rectList[0];
startCaret.setLocation(caretLocationForRect(startCaret, true, isRTL));
+ // Reset width to 1 as we are strictly interested in caret location.
+ startCaret.setWidth(1);
}
if (isEndCaretClippedOut)
@@ -745,15 +747,13 @@ static void adjustCaretRects(WebCore::IntRect& startCaret, bool isStartCaretClip
else {
endCaret = rectList[0];
endCaret.setLocation(caretLocationForRect(endCaret, false, isRTL));
+ // Reset width to 1 as we are strictly interested in caret location.
+ endCaret.setWidth(1);
}
if (isStartCaretClippedOut && isEndCaretClippedOut)
return;
- // Reset width to 1 as we are strictly interested in caret location.
- startCaret.setWidth(1);
- endCaret.setWidth(1);
-
for (unsigned i = 1; i < rectList.size(); i++) {
WebCore::IntRect currentRect(rectList[i]);
@@ -874,8 +874,8 @@ void SelectionHandler::selectionPositionChanged(bool forceUpdateWithoutChange)
SelectionTimingLog(LogLevelInfo, "SelectionHandler::selectionPositionChanged starting at %f", m_timer.elapsed());
- WebCore::IntRect startCaret;
- WebCore::IntRect endCaret;
+ WebCore::IntRect startCaret(DOMSupport::InvalidPoint, WebCore::IntSize());
+ WebCore::IntRect endCaret(DOMSupport::InvalidPoint, WebCore::IntSize());
// Get the text rects from the selections range.
Vector<FloatQuad> quads;
diff --git a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
index 3a09b8c42..694cc16b2 100644
--- a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.cpp
@@ -123,7 +123,13 @@ void SurfacePool::initialize(const BlackBerry::Platform::IntSize& tileSize)
}
#endif
- pthread_mutex_init(&m_mutex, 0);
+ // m_mutex must be recursive because destroyPlatformSync may be called indirectly
+ // from notifyBuffersComposited
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init(&attr);
+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
+ pthread_mutex_init(&m_mutex, &attr);
+ pthread_mutexattr_destroy(&attr);
}
PlatformGraphicsContext* SurfacePool::createPlatformGraphicsContext(BlackBerry::Platform::Graphics::Drawable* drawable) const
@@ -280,12 +286,16 @@ void SurfacePool::notifyBuffersComposited(const Vector<TileBuffer*>& tileBuffers
// fence that may be active among these tiles and add its sync object to the garbage set
// for later destruction to make sure it doesn't leak.
RefPtr<Fence> fence = Fence::create(eglCreateSyncKHR(display, EGL_SYNC_FENCE_KHR, 0));
- for (unsigned int i = 0; i < tileBuffers.size(); ++i) {
- if (EGLSyncKHR platformSync = tileBuffers[i]->fence()->takePlatformSync())
- m_garbage.insert(platformSync);
-
+ for (unsigned int i = 0; i < tileBuffers.size(); ++i)
tileBuffers[i]->setFence(fence);
- }
+#endif
+}
+
+void SurfacePool::destroyPlatformSync(void* platformSync)
+{
+#if BLACKBERRY_PLATFORM_GRAPHICS_EGL && USE(SKIA)
+ Platform::MutexLocker locker(&m_mutex);
+ m_garbage.insert(platformSync);
#endif
}
diff --git a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
index 40788fab6..8e0d8b138 100644
--- a/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
+++ b/Source/WebKit/blackberry/WebKitSupport/SurfacePool.h
@@ -83,6 +83,8 @@ public:
// Compositing thread must notify the SurfacePool when EGLImages are composited
void notifyBuffersComposited(const Vector<TileBuffer*>& buffers);
+ void destroyPlatformSync(void* platformSync);
+
private:
// This is necessary so BackingStoreTile can atomically swap buffers with m_backBuffer.
friend class BackingStoreTile;
diff --git a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
index ee3a75f32..e64a4c5cc 100644
--- a/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
+++ b/Source/WebKit/blackberry/WebKitSupport/TouchEventHandler.cpp
@@ -135,10 +135,16 @@ void TouchEventHandler::touchEventCancel()
// If we cancel a single touch event, we need to also clean up any hover
// state we get into by synthetically moving the mouse to the m_fingerPoint.
- Element* elementUnderFatFinger = m_lastFatFingersResult.nodeAsElementIfApplicable();
- if (elementUnderFatFinger && elementUnderFatFinger->renderer()) {
+ Element* elementUnderFatFinger = m_lastFatFingersResult.positionWasAdjusted() ? m_lastFatFingersResult.nodeAsElementIfApplicable() : 0;
+ do {
+ if (!elementUnderFatFinger || !elementUnderFatFinger->renderer())
+ break;
+
+ if (!elementUnderFatFinger->renderer()->style()->affectedByHoverRules()
+ && !elementUnderFatFinger->renderer()->style()->affectedByActiveRules())
+ break;
- HitTestRequest request(HitTestRequest::FingerUp);
+ HitTestRequest request(HitTestRequest::TouchEvent | HitTestRequest::Release);
// The HitTestResult point is not actually needed.
HitTestResult result(IntPoint::zero());
result.setInnerNode(elementUnderFatFinger);
@@ -147,11 +153,14 @@ void TouchEventHandler::touchEventCancel()
ASSERT(document);
document->renderView()->layer()->updateHoverActiveState(request, result);
document->updateStyleIfNeeded();
+
// Updating the document style may destroy the renderer.
- if (elementUnderFatFinger->renderer())
- elementUnderFatFinger->renderer()->repaint();
+ if (!elementUnderFatFinger->renderer())
+ break;
+
+ elementUnderFatFinger->renderer()->repaint();
ASSERT(!elementUnderFatFinger->hovered());
- }
+ } while (0);
m_lastFatFingersResult.reset();
}
@@ -220,7 +229,9 @@ bool TouchEventHandler::handleTouchPoint(Platform::TouchPoint& point, bool useFa
bool shouldRequestSpellCheckOptions = false;
if (m_lastFatFingersResult.isTextInput())
- shouldRequestSpellCheckOptions = m_webPage->m_inputHandler->shouldRequestSpellCheckingOptionsForPoint(point.m_pos, m_lastFatFingersResult.nodeAsElementIfApplicable(), spellCheckOptionRequest);
+ shouldRequestSpellCheckOptions = m_webPage->m_inputHandler->shouldRequestSpellCheckingOptionsForPoint(point.m_pos
+ , m_lastFatFingersResult.nodeAsElementIfApplicable(FatFingersResult::ShadowContentNotAllowed)
+ , spellCheckOptionRequest);
// Apply any suppressed changes. This does not eliminate the need
// for the show after the handling of fat finger pressed as it may
@@ -343,7 +354,7 @@ void TouchEventHandler::drawTapHighlight()
// On the client side, this info is being used to hide the tap highlight window on scroll.
RenderLayer* layer = m_webPage->enclosingFixedPositionedAncestorOrSelfIfFixedPositioned(renderer->enclosingLayer());
bool shouldHideTapHighlightRightAfterScrolling = !layer->renderer()->isRenderView();
- shouldHideTapHighlightRightAfterScrolling |= !!m_webPage->m_inRegionScroller->d->node();
+ shouldHideTapHighlightRightAfterScrolling |= !!m_webPage->m_inRegionScroller->d->isActive();
IntPoint framePos(m_webPage->frameOffset(elementFrame));
diff --git a/Source/WebKit/cf/ChangeLog b/Source/WebKit/cf/ChangeLog
index ee69fa6a7..5863e92f4 100644
--- a/Source/WebKit/cf/ChangeLog
+++ b/Source/WebKit/cf/ChangeLog
@@ -1,3 +1,15 @@
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebCoreSupport/WebInspectorClientCF.cpp:
+ (WebInspectorClient::createFrontendSettings):
+
2012-06-19 Sergio Villar Senin <svillar@igalia.com>
Calling nativeImageForCurrentFrame() causes assertion failure: m_verifier.isSafeToUse()
diff --git a/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp b/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
index 16c5b6b4e..83747f223 100644
--- a/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
+++ b/Source/WebKit/cf/WebCoreSupport/WebInspectorClientCF.cpp
@@ -53,11 +53,11 @@
#include <WebCore/Frame.h>
#include <WebCore/InspectorFrontendClientLocal.h>
#include <WebCore/Page.h>
-#include <WebCore/PlatformString.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/RetainPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -115,7 +115,7 @@ void WebInspectorClient::setInspectorStartsAttached(bool attached)
storeSetting(inspectorStartsAttachedSetting, attached ? "true" : "false");
}
-WTF::PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> WebInspectorClient::createFrontendSettings()
+PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> WebInspectorClient::createFrontendSettings()
{
class InspectorFrontendSettingsCF : public WebCore::InspectorFrontendClientLocal::Settings {
public:
diff --git a/Source/WebKit/chromium/.gitignore b/Source/WebKit/chromium/.gitignore
deleted file mode 100644
index 4def72c92..000000000
--- a/Source/WebKit/chromium/.gitignore
+++ /dev/null
@@ -1,40 +0,0 @@
-# Ignore Chromium dependencies
-
-*.Makefile
-*.mk
-*.sln
-*.vcproj*
-*.vcxproj*
-All.ncb
-All.sdf
-All.xcodeproj
-WebKit.ncb
-WebKit.xcodeproj
-WebKitUnitTests.xcodeproj
-
-.gclient
-.gclient_entries
-base/
-cc/
-chromium_deps/
-crypto/
-depot_tools/
-dbus/
-gfx/
-googleurl/
-gpu/
-ipc/
-media/
-net/
-ppapi/
-printing/
-sdch/
-skia/
-sql/
-testing/
-third_party/
-tools/
-ui/
-v8/
-webkit/
-xcodebuild/
diff --git a/Source/WebKit/chromium/All.gyp b/Source/WebKit/chromium/All.gyp
index 739a0c8ec..882120207 100644
--- a/Source/WebKit/chromium/All.gyp
+++ b/Source/WebKit/chromium/All.gyp
@@ -47,8 +47,15 @@
'conditions': [
['OS=="android"', {
'dependencies': [
- 'WebKitUnitTests.gyp:webkit_unit_tests_apk',
'../../../Tools/DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:DumpRenderTree_apk',
+ ],
+ }],
+ # Special target to wrap a gtest_target_type==shared_library
+ # webkit_unit_tests and TestWebKitAPI into an android apk for
+ # execution. See base.gyp for TODO(jrg)s about this strategy.
+ ['OS=="android" and gtest_target_type == "shared_library"', {
+ 'dependencies': [
+ 'WebKitUnitTests.gyp:webkit_unit_tests_apk',
'../../../Tools/TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:TestWebKitAPI_apk',
],
}],
diff --git a/Source/WebKit/chromium/ChangeLog b/Source/WebKit/chromium/ChangeLog
index 2e08a17ed..2a621451b 100644
--- a/Source/WebKit/chromium/ChangeLog
+++ b/Source/WebKit/chromium/ChangeLog
@@ -1,3 +1,2495 @@
+2012-09-10 Rick Byers <rbyers@chromium.org>
+
+ [chromium] Don't use WebGestureEvent.boundingBox for touch adjustment
+ https://bugs.webkit.org/show_bug.cgi?id=95996
+
+ Reviewed by Adam Barth.
+
+ Switch from WebGestureEvent.boundingBox to new gesture-type specific
+ data fields.
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+
+2012-09-09 Keishi Hattori <keishi@webkit.org>
+
+ REGRESSION(r127558): Fix a crash in DateTimeChooserImpl::didClosePopup
+ https://bugs.webkit.org/show_bug.cgi?id=96222
+
+ Reviewed by Kent Tamura.
+
+ DateTimeChooserClient will delete DateTimeChooserImpl inside didEndChooser()
+ so we shouldn't be changing the members after that.
+
+ Testing covered by fast/forms/date/calendar-picker-appearance-pre-100.html.
+
+ * src/DateTimeChooserImpl.cpp:
+ (WebKit::DateTimeChooserImpl::didClosePopup):
+
+2012-09-09 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Unreviewed gardening after r127907
+
+ Fix CCRenderPassTest::copyShouldBeIdenticalExceptIdAndQuads
+
+ * tests/CCRenderPassTest.cpp:
+ (CCRenderPassSize): Changed type of m_id
+
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update WebViewImpl to call boundingBox/pixelSnappedBoundingBox.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::computeBlockBounds):
+ (WebKit::WebViewImpl::applyAutofillSuggestions):
+ (WebKit::WebViewImpl::refreshAutofillPopup):
+
+2012-09-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] webkit_platform should only be linked into the webkit target
+ https://bugs.webkit.org/show_bug.cgi?id=96213
+
+ Reviewed by Adrienne Walker.
+
+ The Platform.gyp:webkit_platform target provides the implementation of several WEBKIT_EXPORTed symbols. It only
+ makes sense as a target of WebKit.gyp:webkit, other targets shouldn't directly depend on it.
+
+ * WebKit.gyp:
+
+2012-09-09 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use WebCompositorSupport creation functions in GraphicsLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=96212
+
+ Reviewed by Adrienne Walker.
+
+ The static ::create()s the test references currently are going away soon.
+
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+ (WebKit::TEST_F):
+
+2012-09-07 Benjamin Poulain <benjamin@webkit.org>
+
+ Unreviewed prospective build fix.
+
+ * tests/WebCompositorInputHandlerImplTest.cpp: Looks like someone is missing an #include.
+ Remove the using directive from r127959.
+
+2012-09-07 Simon Hausmann <simon.hausmann@nokia.com>
+
+ Unreviewed prospective build fix.
+
+ Use WTF namespace like in other files in the same directory to resolve unqualified
+ adoptPtr correctly.
+
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove transitional WebCompositorSupport fallback code
+ https://bugs.webkit.org/show_bug.cgi?id=96155
+
+ Reviewed by Adrienne Walker.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::LinkHighlight):
+ (WebKit::LinkHighlight::startHighlightAnimation):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Implement WebCompositorInputHandlerImpl on top of exposed API instead of CC internals
+ https://bugs.webkit.org/show_bug.cgi?id=96151
+
+ Reviewed by Adrienne Walker.
+
+ Moves input handler setup code up to the WebKit layer instead of reaching in to CC internals.
+ WebLayerTreeViewImpl implements createInputHandler() by asking its embedder for a WebInputHandler. If one is
+ provided, it wraps the WebInputHandler in a CCInputHandler implementation to pass down to CC.
+
+ WebViewImpl implements WebLayerTreeView::createInputHandler() by constructing a WebCompositorInputHandlerImpl
+ and storing its identifier for the didActivateCompositor call. From this point on the setup is the same as
+ before.
+
+ WCIHI changes covered by unit tests, overall scrolling behavior manually tested.
+
+ * WebKit.gypi:
+ * src/WebCompositorInputHandlerImpl.cpp:
+ (WebKit::WebCompositorInputHandlerImpl::fromIdentifier):
+ (WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
+ (WebKit::WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl):
+ (WebKit::WebCompositorInputHandlerImpl::setClient):
+ (WebKit::WebCompositorInputHandlerImpl::handleInputEvent):
+ (WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+ (WebKit::WebCompositorInputHandlerImpl::bindToClient):
+ * src/WebCompositorInputHandlerImpl.h:
+ (WebCompositorInputHandlerImpl):
+ (WebKit::WebCompositorInputHandlerImpl::identifier):
+ * src/WebLayerTreeViewImpl.cpp:
+ (WebKit::WebLayerTreeViewImpl::createInputHandler):
+ (WebKit):
+ * src/WebLayerTreeViewImpl.h:
+ (WebLayerTreeViewImpl):
+ * src/WebToCCInputHandlerAdapter.cpp: Added.
+ (WebKit):
+ (WebKit::WebToCCInputHandlerAdapter::create):
+ (WebKit::WebToCCInputHandlerAdapter::WebToCCInputHandlerAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::~WebToCCInputHandlerAdapter):
+ (WebToCCInputHandlerAdapter::ClientAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::ClientAdapter::ClientAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::ClientAdapter::~ClientAdapter):
+ (WebKit::WebToCCInputHandlerAdapter::bindToClient):
+ (WebKit::WebToCCInputHandlerAdapter::animate):
+ * src/WebToCCInputHandlerAdapter.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCLayerTreeHostClient.h.
+ (WebKit):
+ (WebToCCInputHandlerAdapter):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+ (WebKit::WebViewImpl::createInputHandler):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+ * tests/CCThreadedTest.cpp:
+ * tests/FakeCCLayerTreeHostClient.h:
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+ (MockWebInputHandlerClient):
+ (WebKit::MockWebInputHandlerClient::MockWebInputHandlerClient):
+ (WebKit::MockWebInputHandlerClient::~MockWebInputHandlerClient):
+ (WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
+ (WebCompositorInputHandlerImplTest):
+ (WebKit::TEST_F):
+
+2012-09-07 David Reveman <reveman@chromium.org>
+
+ [Chromium] Multiple commits without invalidation allowed per redraw.
+ https://bugs.webkit.org/show_bug.cgi?id=95661
+
+ Reviewed by James Robinson.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (CCLayerTreeHostTestContinuousCommit):
+ (WebKitTests::CCLayerTreeHostTestContinuousCommit::CCLayerTreeHostTestContinuousCommit):
+ (WebKitTests):
+ (WebKitTests::TEST_F):
+ (CCLayerTreeHostTestContinuousInvalidate):
+ (WebKitTests::CCLayerTreeHostTestContinuousInvalidate::CCLayerTreeHostTestContinuousInvalidate):
+ (CCLayerTreeHostTestContinuousAnimate):
+ (WebKitTests::CCLayerTreeHostTestContinuousAnimate::CCLayerTreeHostTestContinuousAnimate):
+ * tests/CCSchedulerStateMachineTest.cpp:
+ (WebCore::TEST):
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: WebCore accessibility roles should be cross-platform
+ https://bugs.webkit.org/show_bug.cgi?id=94870
+
+ Reviewed by Chris Fleizach.
+
+ Add a new accessibility role.
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Chromium needs access to canvasHasFallbackContent
+ https://bugs.webkit.org/show_bug.cgi?id=96124
+
+ Reviewed by Chris Fleizach.
+
+ Expose canvasHasFallbackContent on Chromium.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::canvasHasFallbackContent):
+ (WebKit):
+
+2012-09-07 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] Add touchscreen specific fling curve parametrization
+ https://bugs.webkit.org/show_bug.cgi?id=95997
+
+ Reviewed by James Robinson.
+
+ Added a new set of fling curve parameters with a good feel for touchscreen
+ initiated flings. Renamed TouchpadFlingPlatformGestureCurve to
+ TouchFlingPlatformGestureCurve to better reflect that the class
+ can serve for both touchscreen and touchpad flings when appropriately
+ parametrized. Updated build files as necessary for the rename.
+
+ No new tests - existing tests apply.
+
+
+ * tests/PlatformGestureCurveTest.cpp: To use the renamed curve constructor.
+
+2012-09-07 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make RenderPass ids hold both generating layer id and an index
+ https://bugs.webkit.org/show_bug.cgi?id=95500
+
+ Reviewed by Adrienne Walker.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCRendererGLTest.cpp:
+ (FakeCCRendererClient::FakeCCRendererClient):
+
+2012-09-07 Joshua Bell <jsbell@chromium.org>
+
+ [Chromium] IndexedDB: public WebKit API changes for consolidating two-phase connect
+ https://bugs.webkit.org/show_bug.cgi?id=96122
+
+ Reviewed by Adam Barth.
+
+ Prep work for landing Chromium side of http://webkit.org/b/90411 - the IDBFactory
+ open() method now takes the "database callbacks", rather than being sent through
+ in a later call.
+
+ Also, delete an obsolete method.
+
+ * public/WebIDBFactory.h:
+ (WebKit):
+ (WebIDBFactory): Delete pre-version overload of open().
+ (WebKit::WebIDBFactory::open): Add overload that takes WebIDBDatabaseCallbacks.
+
+2012-09-07 Sami Kyostila <skyostil@google.com>
+
+ [Chromium] GraphicsLayerChromiumTest::applyScrollToScrollableArea() is failing
+ https://bugs.webkit.org/show_bug.cgi?id=95932
+
+ Reviewed by James Robinson.
+
+ Give the FakeScrollableArea valid geometry to allow ScrollAnimatorMac to
+ properly scroll it.
+
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::TEST_F): Re-enable the test.
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Move some CC unit tests into correct gyp variable
+ https://bugs.webkit.org/show_bug.cgi?id=96048
+
+ Reviewed by Adrienne Walker.
+
+ These tests are testing compositor internals, so they belong in the webkit_compositor_unittest_files variable.
+
+ * WebKit.gypi:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Remove dead CCActiveGestureAnimation code and related classes
+ https://bugs.webkit.org/show_bug.cgi?id=96075
+
+ Reviewed by Adrienne Walker.
+
+ Cuts out unnecessary boilerplate in PlatformGestureCurve evaluation for handling flings. WCIHI can easily
+ evaluate the curve itself without intermediate classes.
+
+ * src/WebCompositorInputHandlerImpl.cpp:
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+ (WebKit::WebCompositorInputHandlerImpl::animate):
+ (WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
+ * src/WebCompositorInputHandlerImpl.h:
+ (WebCore):
+ (WebCompositorInputHandlerImpl):
+ * tests/PlatformGestureCurveTest.cpp:
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+
+2012-09-07 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies in ScrollbarLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=96052
+
+ Reviewed by Adrienne Walker.
+
+ Fixes two minor but annoying dependencies in ScrollbarLayerChromiumTest:
+ *) WebScrollbarImpl.h is #included, but not use
+ *) The two-arg constructor of WebThemeScrollbarPainter is used, but this is guarded by #if
+ WEBKIT_IMPLEMENTATION. The no-arg c'tor does the right thing for this test.
+
+ * tests/ScrollbarLayerChromiumTest.cpp:
+ (WebCore::TEST):
+
+2012-09-07 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: ARIA spin button should support range value attributes
+ https://bugs.webkit.org/show_bug.cgi?id=96076
+
+ Reviewed by Chris Fleizach.
+
+ Expose supportsRangeValue to simplify Chromium logic for when to
+ extract a value from a range.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::supportsRangeValue):
+ (WebKit):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * src/ContextMenuClientImpl.cpp:
+ (WebKit::selectMisspelledWord):
+ * src/FrameLoaderClientImpl.cpp:
+ (WebKit::FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::characterIndexForPoint):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::isRectTopmost):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleMouseUp):
+ (WebKit::WebViewImpl::computeBlockBounds):
+
+2012-09-07 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: move WebCore specific code to separate header
+ https://bugs.webkit.org/show_bug.cgi?id=96101
+
+ Reviewed by Yury Semikhatsky.
+
+ I extracted WebCore related code from MemoryInstrumentation.h to WebCoreMemoryInstrumentation.h
+
+ * tests/MemoryInstrumentationTest.cpp:
+
+2012-09-07 Ian Vollick <vollick@chromium.org>
+
+ [chromium] We should accelerate all transformations, except when we must blend matrices that cannot be decomposed.
+ https://bugs.webkit.org/show_bug.cgi?id=95855
+
+ Reviewed by James Robinson.
+
+ Added the following unit tests:
+ AnimationTranslationUtilTest.createTransformAnimationWithNonDecomposableMatrix
+ AnimationTranslationUtilTest.createTransformAnimationWithNonInvertibleTransform
+
+ * tests/AnimationTranslationUtilTest.cpp:
+ (WebKit::TEST):
+ (WebKit):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ X11 Global Selection
+ https://bugs.webkit.org/show_bug.cgi?id=88238
+
+ Reviewed by Tony Chang.
+
+ Use new editor command for pasting global selection.
+
+ * src/EditorClientImpl.cpp:
+ (WebKit::EditorClientImpl::supportsGlobalSelection):
+ * src/EditorClientImpl.h:
+ (EditorClientImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleMouseUp):
+
+2012-09-07 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have a localized string of empty for date time field
+ https://bugs.webkit.org/show_bug.cgi?id=96081
+
+ Reviewed by Kent Tamura.
+
+ This patch add a function for getting localized string of empty field
+ value of date time fields for accessibility inside
+ ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ These functions will be used by derived classes of DateTimeFieldElement.
+
+ Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
+ to support "date", "datetime", "month" and "week" multiple fields input
+ UI.
+
+ * src/LocalizedStrings.cpp:
+ (WebCore::AXDateTimeFieldEmptyValueText): Added.
+
+2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127822.
+ http://trac.webkit.org/changeset/127822
+ https://bugs.webkit.org/show_bug.cgi?id=96073
+
+ It broke compilation on chromium debug bots (Requested by
+ loislo on #webkit).
+
+ * tests/CCDrawQuadTest.cpp:
+ (WebCore::TEST):
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCRenderPassTest.cpp:
+ (WebCore::TEST):
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCRendererGLTest.cpp:
+ (FakeCCRendererClient::FakeCCRendererClient):
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Make RenderPass ids hold both generating layer id and an index
+ https://bugs.webkit.org/show_bug.cgi?id=95500
+
+ Reviewed by Adrienne Walker.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCRendererGLTest.cpp:
+ (FakeCCRendererClient::FakeCCRendererClient):
+
+2012-09-06 Yoshifumi Inoue <yosin@chromium.org>
+
+ We should have localized strings of date time fields for accessibility
+ https://bugs.webkit.org/show_bug.cgi?id=96050
+
+ Reviewed by Kent Tamura.
+
+ This patch adds functions for getting localized strings of date time
+ fields for accessibility inside ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS.
+
+ These functions will be used by derived classes of DateTimeFieldElement.
+
+ Note: We'll rename ENABLE_INPUT_TYPE_MULTIPLE_FIELDS to generic name
+ to support "date", "datetime", "month" and "week" multiple fields input
+ UI.
+
+ * src/LocalizedStrings.cpp:
+ (WebCore::AXAMPMFieldText): Added.
+ (WebCore::AXDayOfMonthFieldText): Added.
+ (WebCore::AXHourFieldText): Added.
+ (WebCore::AXMillisecondFieldText): Added.
+ (WebCore::AXMinuteFieldText): Added.
+ (WebCore::AXMonthFieldText): Added.
+ (WebCore::AXSecondFieldText): Added.
+ (WebCore::AXWeekOfYearFieldText): Added.
+ (WebCore::AXYearFieldText): Added.
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Don't link cc in to WebKit.dll when use_libcc_for_compositor=1
+ https://bugs.webkit.org/show_bug.cgi?id=96024
+
+ Reviewed by Adam Barth.
+
+ When use_libcc_for_compositor=1, the implementation of the compositor guts are provided through PlatformSupport.
+ We don't need to link anything in to WebKit.dll.
+
+ * WebKit.gyp:
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Use WebCompositorSupport functions instead of WebCompositor statics
+ https://bugs.webkit.org/show_bug.cgi?id=96007
+
+ Reviewed by Adrienne Walker.
+
+ Updates many tests to initialize / shutdown compositing with WebCompositorSupport. Adds a
+ WebCompositorInitializer RAII class to simplify this somewhat tedious process.
+
+ * WebKit.gypi:
+ * public/WebCompositorInputHandlerClient.h:
+ (WebCompositorInputHandlerClient):
+ * src/WebCompositorInputHandlerImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::composite):
+ (WebKit::WebViewImpl::scheduleAnimation):
+ (WebKit::WebViewImpl::scheduleComposite):
+ * tests/CCPrioritizedTextureTest.cpp:
+ (WTF::CCPrioritizedTextureTest::CCPrioritizedTextureTest):
+ (WTF::CCPrioritizedTextureTest::~CCPrioritizedTextureTest):
+ (CCPrioritizedTextureTest):
+ * tests/CCRendererGLTest.cpp:
+ (CCRendererGLTest::CCRendererGLTest):
+ (CCRendererGLTest::SetUp):
+ (CCRendererGLTest):
+ * tests/CCTextureUpdateControllerTest.cpp:
+ * tests/CCThreadedTest.cpp:
+ (WebKitTests::CCThreadedTest::runTest):
+ * tests/Canvas2DLayerBridgeTest.cpp:
+ (Canvas2DLayerBridgeTest::fullLifecycleTest):
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+ (WebKit::GraphicsLayerChromiumTest::~GraphicsLayerChromiumTest):
+ * tests/LayerChromiumTest.cpp:
+ * tests/LinkHighlightTest.cpp:
+ (WebCore::TEST):
+ * tests/TextureLayerChromiumTest.cpp:
+ * tests/TiledLayerChromiumTest.cpp:
+ * tests/WebCompositorInitializer.h: Added.
+ (WebKit):
+ (WebKitTests):
+ (WebCompositorInitializer):
+ (WebKitTests::WebCompositorInitializer::WebCompositorInitializer):
+ (WebKitTests::WebCompositorInitializer::~WebCompositorInitializer):
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+ (WebKit::TEST):
+ (WebKit::WebCompositorInputHandlerImplTest::WebCompositorInputHandlerImplTest):
+ (WebCompositorInputHandlerImplTest):
+ * tests/WebLayerTest.cpp:
+ * tests/WebLayerTreeViewTest.cpp:
+
+2012-09-06 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-06 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: make IDBKeyPath's string and array constructors explicit
+ https://bugs.webkit.org/show_bug.cgi?id=96004
+
+ Reviewed by Tony Chang.
+
+ Fix test to use explicit constructor for IDBKeyPath.
+
+ * tests/IDBDatabaseBackendTest.cpp:
+
+2012-09-06 Adrienne Walker <enne@google.com>
+
+ [chromium] Remove GraphicsContext references from ContentLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=96002
+
+ Reviewed by James Robinson.
+
+ This is a compositor unit test, so it shouldn't reference things
+ outside of the compositor like GraphicsContext. The
+ OpaqueRectTrackingContentLayerDelegateTest already tests opaque
+ tracking right at the time of paint. This test is about verifying that
+ transformed canvases work properly, so can just fake the opaque rect
+ coming back from the paint.
+
+ * tests/ContentLayerChromiumTest.cpp:
+ (WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
+ (WebKit::TEST):
+
+2012-09-06 Jeff Timanus <twiz@chromium.org>
+
+ [Chromium] Remove contentsScale and related logic from GraphicsLayerChromium.
+ https://bugs.webkit.org/show_bug.cgi?id=95094
+
+ Reviewed by Adrienne Walker.
+
+ In the short term, the page-scale logic is to be unified in the CCLayerTreeHost class. This is a first pass to
+ try to remove the page-scale logic from GraphicsLayerChromium. This change should be a no-op in terms of
+ contentsScale behaviour.
+ This change exports the disregardsPageScale() set of functions from WebContentLayer to LayerChromium.
+
+ * src/NonCompositedContentHost.cpp:
+ (WebKit::NonCompositedContentHost::NonCompositedContentHost):
+ Inform the layer associated with the NCCH that it is to disregard the page scale factor.
+ Also remove now unused m_deviceScaleFactor and associated routines.
+ (WebKit::NonCompositedContentHost::setViewport):
+ * src/NonCompositedContentHost.h:
+ (NonCompositedContentHost):
+ * src/WebContentLayerImpl.cpp:
+ (WebKit::WebContentLayerImpl::setBoundsContainPageScale):
+ (WebKit):
+ (WebKit::WebContentLayerImpl::boundsContainPageScale):
+ * src/WebContentLayerImpl.h:
+ (WebContentLayerImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::updateLayerTreeViewport):
+ * tests/CCLayerTreeHostTest.cpp:
+ (NoScaleContentLayerChromium):
+ (WebKitTests::NoScaleContentLayerChromium::create):
+ (WebKitTests::NoScaleContentLayerChromium::NoScaleContentLayerChromium):
+ (WebKitTests):
+ (WebKitTests::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
+ Rebaselined to correspond to the new behaviour. Because the layers are now assigned a contentsScale, the
+ scale on the draw transforms remain identity.
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit): Remove now obsolete unit-test.
+
+2012-09-06 Adrienne Walker <enne@google.com>
+
+ [chromium] Remove Scrollbar/Settings dependencies from ScrollbarLayerChromiumTest
+ https://bugs.webkit.org/show_bug.cgi?id=95994
+
+ Reviewed by James Robinson.
+
+ This compositor test shouldn't depend on code outside the compositor.
+
+ * tests/ScrollbarLayerChromiumTest.cpp:
+ (WebCore::FakeWebScrollbar::create):
+ (FakeWebScrollbar):
+ (WebCore::TEST):
+
+2012-09-06 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put chromium implementations of WTF symbols in separate static library
+ https://bugs.webkit.org/show_bug.cgi?id=95933
+
+ Reviewed by Adam Barth.
+
+ A few symbols from WTF are implemented in chromium on top of the chromium WebKit Platform API. These
+ implementation files are in WebKit/chromium/src and currently link into the webkit target, which in the
+ component build is a DLL. This moves these files into a static library that webkit depends on so targets can
+ statically link in wtf and these support files without depending directly on webkit.
+
+ * WebKit.gyp:
+
+2012-09-06 Iain Merrick <husky@chromium.org>
+
+ [chromium] Add WebFrame::moveSelectionStart, moveSelectionEnd, moveCaret
+ https://bugs.webkit.org/show_bug.cgi?id=93998
+
+ Reviewed by Adam Barth.
+
+ These provide the same functionality selectRange(WebPoint, WebPoint),
+ with finer-grained control needed on the Android platform. By passing
+ allowCollapsedSelection=false, we can ensure the selection stays at
+ least one character wide.
+
+ I have reimplemented WebFrameImpl::selectRange(WebPoint, WebPoint) by
+ calling the new methods. The existing test passes, and I've added new
+ tests for the new methods.
+
+ * public/WebFrame.h:
+ (WebFrame):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::selectRange):
+ (WebKit):
+ (WebKit::WebFrameImpl::moveSelectionStart):
+ (WebKit::WebFrameImpl::moveSelectionEnd):
+ (WebKit::WebFrameImpl::moveCaret):
+ * src/WebFrameImpl.h:
+ (WebFrameImpl):
+ * tests/WebFrameTest.cpp:
+ * tests/data/text_selection.html: Added.
+
+2012-09-06 Robert Kroeger <rjkroege@chromium.org>
+
+ [chromium] Enable different fling behaviour for touchscreen and touchpad
+ https://bugs.webkit.org/show_bug.cgi?id=95756
+
+ Reviewed by James Robinson.
+
+ Add support for a flag on WebGestureEvents that differentiates GestureFlingStart
+ events by their originating device and pass this flag to a factory that produces
+ different device specific fling curves based on the value of the flag.
+
+ * public/WebActiveWheelFlingParameters.h:
+ (WebActiveWheelFlingParameters): Store source device for transfer to mainthread.
+ (WebKit::WebActiveWheelFlingParameters::WebActiveWheelFlingParameters):
+ * public/WebInputEvent.h: Added source device flag to WebGestureEvent.
+ * src/WebCompositorInputHandlerImpl.cpp:
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling): Use factory to
+ obtain device-appropriate fling curve.
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent): Use factory to obtain device-appropriate
+ fling curve.
+ (WebKit::WebViewImpl::transferActiveWheelFlingAnimation):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * src/ContextMenuClientImpl.cpp:
+ * src/EditorClientImpl.cpp:
+ * src/InspectorFrontendClientImpl.cpp:
+ * src/LocalFileSystemChromium.cpp:
+ * src/SpeechInputClientImpl.cpp:
+ * src/SpeechRecognitionClientProxy.h:
+ * src/WebDevToolsAgentImpl.cpp:
+ * src/WebDevToolsFrontendImpl.cpp:
+ * src/WebDevToolsFrontendImpl.h:
+ * src/WebEntities.h:
+ * src/WebFrameImpl.h:
+ * src/WorkerFileSystemCallbacksBridge.h:
+ * tests/UniscribeHelperTest.cpp:
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a customized copy() method to CCRenderPassDrawQuad
+ https://bugs.webkit.org/show_bug.cgi?id=95871
+
+ Reviewed by Adrienne Walker.
+
+ * tests/CCDrawQuadTest.cpp:
+ (WebCore):
+ (WebCore::TEST):
+
+2012-09-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed Web Inspector: test fix.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (StringOwnerInstrumented):
+ (WebCore::StringOwnerInstrumented::StringOwnerInstrumented):
+ (WebCore::StringOwnerInstrumented::reportMemoryUsage):
+ (WebCore):
+ (WebCore::TEST):
+
+2012-09-06 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: switch to hierarchical identifiers of MemoryBlockTypes and use these identifiers in protocol.
+ https://bugs.webkit.org/show_bug.cgi?id=95957
+
+ Reviewed by Yury Semikhatsky.
+
+ Now when we use string identifiers as MemoryObjectType we can use them as the identifiers for the protocol
+ instead of MemoryBlockNames hardcoded in InspectorMemoryAgent..
+ At a later stage, when each memory type is counted in MemoryInstrumentation
+ we will build the blocks hierarchy for the front-end automatically.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (WebCore::InstrumentedUndefined::InstrumentedUndefined):
+ (WebCore::InstrumentedUndefined::reportMemoryUsage):
+ (WebCore::InstrumentedDOM::InstrumentedDOM):
+ (WebCore::InstrumentedDOM::reportMemoryUsage):
+ (InstrumentedDOM):
+ (WebCore::TEST):
+
+2012-09-06 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Win build fix attempt after r127715
+
+ * tests/CCRenderPassTest.cpp:
+ (WebCore::TEST):
+
+2012-09-06 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-06 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a copy() method to CCRenderPass
+ https://bugs.webkit.org/show_bug.cgi?id=95485
+
+ Reviewed by Adrienne Walker.
+
+ * WebKit.gypi:
+ * tests/CCRenderPassTest.cpp: Added.
+ (CCTestRenderPass):
+ (CCTestRenderPass::quadList):
+ (CCTestRenderPass::sharedQuadStateList):
+ (CCRenderPassSize):
+ (TEST):
+
+2012-09-06 Peter Beverloo <peter@chromium.org>
+
+ [Chromium] Chromium Mac build fix after revision r127711
+ https://bugs.webkit.org/show_bug.cgi?id=95958
+
+ Unreviewed build fix.
+
+ This is a clear typo in the source file, so changing the function to
+ call locationModifiersFromWindowsKeyCode instead.
+
+ * src/mac/WebInputEventFactory.mm:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+
+2012-09-06 Raymes Khoury <raymes@chromium.org>
+
+ Added modifiers to distinguish between left/right Shift/Ctrl/Alt in WebInputEvents
+ https://bugs.webkit.org/show_bug.cgi?id=94142
+
+ Reviewed by Tony Chang.
+
+ Previously we distinguished between left/right Shift/Ctrl/Alt in
+ WebInputEvents by using the location-specific virtual keycodes (e.g.
+ VK_LSHIFT instead of VK_SHIFT. However, the Windows API for key events
+ always returns the non-locational version (e.g. VK_SHIFT).
+ Furthermore, KeyboardEvent also returns
+ non-locational keycodes and separates the location information which
+ matches the behavior described in the DOM3
+ spec http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents. We
+ should be consistent with this in our representation of key events.
+ This patch changes WebInputEvents so they always store the
+ non-locational keycode and location information is stored in
+ modifiers. Since this only changes internal representation, no new
+ tests are added.
+
+ This patch also ensures that when KeyboardEvents are converted back to
+ WebInputEvents location information is preserved (which was not
+ happening before). This is important so that key location information
+ is passed on to plugins. A unittest is added for this.
+
+ * WebKit.gypi:
+ * public/WebInputEvent.h:
+ (WebKeyboardEvent):
+ * src/WebInputEvent.cpp:
+ (WebKit):
+ (WebKit::WebKeyboardEvent::windowsKeyCodeWithoutLocation):
+ (WebKit::WebKeyboardEvent::locationModifiersFromWindowsKeyCode):
+ * src/WebInputEventConversion.cpp:
+ (WebKit::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
+ (WebKit::WebKeyboardEventBuilder::WebKeyboardEventBuilder):
+ * src/android/WebInputEventFactory.cpp:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * src/gtk/WebInputEventFactory.cpp:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * src/mac/WebInputEventFactory.mm:
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * src/win/WebInputEventFactory.cpp:
+ (WebKit::getLocationModifier):
+ (WebKit::WebInputEventFactory::keyboardEvent):
+ * tests/WebInputEventConversionTest.cpp: Added.
+
+2012-09-06 Adam Barth <abarth@webkit.org>
+
+ Chromium should call restrictScaleFactorToInitialScaleIfNotUserScalable unless/until userScalable is supported directly.
+ https://bugs.webkit.org/show_bug.cgi?id=91110
+
+ Reviewed by Tony Chang.
+
+ Prior to this patch, we were ignoring the user-scalable property of
+ viewport meta tags. This patch enforces the user-scalable property by
+ claming the minimum-scale and maximum-scale values, effectively
+ preventing user scaling. This approach isn't perfect, as discussed in
+ https://bugs.webkit.org/show_bug.cgi?id=70609, but it is an improvement
+ over the status quo.
+
+ This approach is also used by EFL, GTK, and Qt.
+
+ * src/ChromeClientImpl.cpp:
+ (WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):
+
+2012-09-05 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Add a copy() method to CCDrawQuad and CCSharedQuadState
+ https://bugs.webkit.org/show_bug.cgi?id=95374
+
+ Reviewed by Adrienne Walker.
+
+ * WebKit.gypi:
+ * tests/CCDrawQuadTest.cpp: Added.
+ (TEST):
+ (createSharedQuadState):
+ (compareDrawQuad):
+
+2012-09-05 Kenichi Ishibashi <bashi@chromium.org>
+
+ [Chromium] Unreviewed gardening
+
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::TEST_F): Disabled applyScrollToScrollableArea()
+
+2012-09-05 Tony Chang <tony@chromium.org>
+
+ [chromium] Remove dependency on webkit_user_agent
+ https://bugs.webkit.org/show_bug.cgi?id=95886
+
+ Reviewed by Adam Barth.
+
+ The code isn't used by webkit_unit_tests.
+
+ * WebKitUnitTests.gyp:
+
+2012-09-05 Nate Chapin <japhet@chromium.org>
+
+ Test for https://bugs.webkit.org/show_bug.cgi?id=91685
+
+ Reviewed by Adam Barth.
+
+ * tests/WebFrameTest.cpp:
+
+2012-09-05 Rick Byers <rbyers@chromium.org>
+
+ Use new type-specific WebGestureEvent fields
+ https://bugs.webkit.org/show_bug.cgi?id=95573
+
+ Reviewed by James Robinson.
+
+ Chromium has been updated to store gesture-type specific details in the
+ new WebGestureEvent fields (crrev.com/152508, crrev.com/154815 and
+ crrev.com/154959), so we can now rely on them.
+
+ * src/WebCompositorInputHandlerImpl.cpp:
+ Update the compositor scroll, pinch and fling handling to use these new fields.
+ (WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
+ (WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
+ * src/WebInputEventConversion.cpp:
+ Update PlatformGestureEvent/WebGestureEvent conversion to use the new
+ fields, storing into the existing overloaded PlatformGestureEvent
+ fields (which will be cleaned up in my next CL).
+ (WebKit::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
+ (WebKit::WebGestureEventBuilder::WebGestureEventBuilder):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ Update fling scrolling implementation for correct location of velocity.
+ * tests/WebCompositorInputHandlerImplTest.cpp:
+ (WebKit::TEST_F):
+ Update tests to use the new fields.
+
+
+2012-09-05 James Robinson <jamesr@chromium.org>
+
+ [chromium] Test WebSolidColorLayer in WebLayerTest.Client unit test
+ https://bugs.webkit.org/show_bug.cgi?id=95819
+
+ Reviewed by Adam Barth.
+
+ This unit test doesn't do all that much, but it does verify that WebSolidColorLayer doesn't completely explode
+ upon use and also makes sure that the WebSolidColorLayer::create() symbol is referenced and not dropped from
+ webkit.dll in the component build.
+
+ * tests/WebLayerTest.cpp:
+
+2012-09-05 Victoria Kirst <vrk@chromium.org>
+
+ Add the duration attribute to MediaSource
+ https://bugs.webkit.org/show_bug.cgi?id=95149
+
+ Reviewed by Eric Carlson.
+
+ Add support for the duration attribute recently added to the MediaSource spec.
+ http://dev.w3.org/html5/spec/media-elements.html#dom-media-duration
+
+ * public/WebMediaPlayer.h:
+ (WebKit::WebMediaPlayer::sourceSetDuration): Add empty definition.
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::sourceSetDuration): Forward call to m_webMediaPlayer.
+ (WebKit):
+ * src/WebMediaPlayerClientImpl.h:
+ (WebMediaPlayerClientImpl):
+
+2012-09-05 Mihai Parparita <mihaip@chromium.org>
+
+ [Chromium] history.{push,replace}State should no longer be V8EnabledAtRuntime
+ https://bugs.webkit.org/show_bug.cgi?id=95865
+
+ Reviewed by Darin Fisher.
+
+ Make WebRuntimeFeatures::{enablePushState,isPushStateEnabled} into
+ no-ops.
+
+ * public/WebRuntimeFeatures.h:
+ (WebRuntimeFeatures):
+ * src/WebRuntimeFeatures.cpp:
+ (WebKit::WebRuntimeFeatures::enablePushState):
+ (WebKit::WebRuntimeFeatures::isPushStateEnabled):
+
+2012-09-05 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove getRenderStyleForStrike from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95363
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * public/linux/WebFontInfo.h:
+ * public/linux/WebFontRenderStyle.h:
+ * src/PlatformSupport.cpp:
+ (WebCore):
+
+2012-09-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Unreviewed: WebInspector: remove accidentally committed speed test.
+
+ * tests/MemoryInstrumentationTest.cpp:
+
+2012-09-05 Sami Kyostila <skyostil@chromium.org>
+
+ [chromium] Wire up scrollable sublayers in ScrollingCoordinatorChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95679
+
+ Reviewed by James Robinson.
+
+ Introduce WebLayerScrollClient for getting notified about scroll events targeting a WebLayer.
+
+ * src/WebLayerImpl.cpp:
+ (WebKit::WebLayerImpl::setMaxScrollPosition):
+ (WebKit):
+ (WebKit::WebLayerImpl::setScrollClient):
+ (WebKit::WebLayerImpl::scrollBy):
+ * src/WebLayerImpl.h:
+ (WebLayerImpl):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (MockScrollableArea):
+ (WebKit):
+ (WebKit::TEST_F):
+ * tests/WebLayerTest.cpp:
+
+2012-09-05 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: extract MemoryObjectType constants from MemoryInstrumentation.
+ https://bugs.webkit.org/show_bug.cgi?id=95850
+
+ Reviewed by Yury Semikhatsky.
+
+ I'd like to extract MemoryObjectTypes into separate classes.
+ After that we will be able to move core NMI instrumentation code to WTF.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (WebCore::Instrumented::reportMemoryUsage):
+ (WebCore::InstrumentedRefPtr::reportMemoryUsage):
+ (WebCore::InstrumentedWithOwnPtr::reportMemoryUsage):
+ (WebCore::InstrumentedOther::reportMemoryUsage):
+ (WebCore::InstrumentedDOM::reportMemoryUsage):
+ (WebCore::TEST):
+ (WebCore::NonVirtualInstrumented::reportMemoryUsage):
+
+2012-09-05 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed, rolling out r127590.
+ http://trac.webkit.org/changeset/127590
+
+ Broke the Chromium bots because of a compile error in the compositor.
+
+ * DEPS:
+
+2012-09-05 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-04 Ilya Tikhonovsky <loislo@chromium.org>
+
+ Web Inspector: NMI: replace ObjectType enum with static const char* string identifiers.
+ https://bugs.webkit.org/show_bug.cgi?id=95739
+
+ Reviewed by Yury Semikhatsky.
+
+ When we go deeper into different parts of browser like skia, chromium itself etc.
+ we can't use a single enum for all reported object types.
+ The current idea is to use plain simple strings as ObjectType identifiers.
+ In the future patches we will extract these identifiers into separate class or namespace
+ and and split it between components.
+
+ * tests/MemoryInstrumentationTest.cpp:
+ (WebCore::TEST):
+ (WebCore):
+
+2012-09-04 Keishi Hattori <keishi@webkit.org>
+
+ Move PagePopupClient implementation for input[type=date] to Chromium WebKit layer
+ https://bugs.webkit.org/show_bug.cgi?id=95681
+
+ Reviewed by Kent Tamura.
+
+ * WebKit.gyp:
+ * src/ChromeClientImpl.cpp:
+ (WebKit):
+ (WebKit::ChromeClientImpl::openDateTimeChooser):
+ * src/ChromeClientImpl.h:
+ (WebCore):
+ (ChromeClientImpl):
+ * src/DateTimeChooserImpl.cpp: Added.
+ (WebKit):
+ (WebKit::DateTimeChooserImpl::DateTimeChooserImpl):
+ (WebKit::DateTimeChooserImpl::~DateTimeChooserImpl):
+ (WebKit::DateTimeChooserImpl::endChooser):
+ (WebKit::DateTimeChooserImpl::contentSize):
+ (WebKit::DateTimeChooserImpl::writeDocument):
+ (WebKit::DateTimeChooserImpl::setValueAndClosePopup):
+ (WebKit::DateTimeChooserImpl::didClosePopup):
+ * src/DateTimeChooserImpl.h:
+ (WebCore):
+ (WebKit):
+ (DateTimeChooserImpl):
+
+2012-09-04 Adam Barth <abarth@chromium.org>
+
+ Make chromium-linux build without WTF_DEPRECATED_STRING_OPERATORS
+ https://bugs.webkit.org/show_bug.cgi?id=95798
+
+ Reviewed by Eric Seidel.
+
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::keyboardShortcut):
+ - Remove use of WTF::String::operator+=
+ * src/WebPageSerializerImpl.cpp:
+ - Whitelist use of WTF::String::operator+=. Remove this use will take
+ some more careful thought.
+
+2012-09-04 Alec Flett <alecflett@chromium.org>
+
+ IndexedDB: remove final createIndex backend glue
+ https://bugs.webkit.org/show_bug.cgi?id=95385
+
+ Reviewed by Adam Barth.
+
+ Remove chromium glue for old key-generation code.
+
+ * public/WebIDBKey.h:
+ (WebIDBKey):
+ * src/WebIDBKey.cpp:
+
+2012-09-04 Tien-Ren Chen <trchen@chromium.org>
+
+ [chromium] Rename WebViewClient::handleDisambiguationPopup
+ https://bugs.webkit.org/show_bug.cgi?id=95529
+
+ Reviewed by Adam Barth.
+
+ Rename it to something more descriptive (WebViewClient::didTapMultipleTargets) before people start using it.
+
+ * public/WebViewClient.h:
+ (WebKit::WebViewClient::didTapMultipleTargets):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ * tests/WebFrameTest.cpp:
+
+2012-09-03 Tao Bai <michaelbai@chromium.org>
+
+ Added ANDROID_GDBSERVER definition for Ant
+ https://bugs.webkit.org/show_bug.cgi?id=95265
+
+ Reviewed by Adam Barth.
+
+ ANDROID_GDBSERVER will replace ANDROID_TOOLCHAIN, because the ANDROID_TOOLCHAIN
+ is only used for finding the gdbserver.
+
+ * WebKitUnitTests.gyp:
+
+2012-09-03 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-09-03 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add Ice-related functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95565
+
+ Reviewed by Adam Barth.
+
+ * src/AssertMatchingEnums.cpp:
+
+2012-09-01 James Robinson <jamesr@chromium.org>
+
+ Unreviewed chromium buildfix when use_libcc_for_compositor=1
+
+ This gyp target was renamed downstream.
+
+ * WebKit.gyp:
+
+2012-09-01 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add MediaStream management to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=95543
+
+ Reviewed by Adam Barth.
+
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-31 Koji Ishii <kojiishi@gmail.com>
+
+ Glyphs in vertical text tests are rotated 90 degrees clockwise on Chromium Windows
+ https://bugs.webkit.org/show_bug.cgi?id=51450
+
+ Reviewed by Tony Chang.
+
+ When writing-mode is vertical-*, Chromium Win does not render glyphs correctly.
+ http://dev.w3.org/csswg/css3-writing-modes/#writing-mode
+ Glyphs are now drawn in the correct orientation, regardless of the leading '@' in the font name,
+ and vertical alternate glyphs (OpenType 'vert' feature) is not enabled.
+ CJK characters drawn at wrong baseline position is also fixed.
+ In addition, fontMetrics().unitsPerEm() and SimpleFontData::platformBoundsForGlyph() were empty
+ in Chromium Win but they were implemented because they were needed to draw vertical flow correctly.
+
+ Note that this patch does not address issues in vertical flow for complex code path.
+ The issue is under discussion with Google people and it will not be fixed in short term.
+
+ Existing tests in fast/writing-mode/* are enabled in LayoutTests/platform/chromium/TestExpectations.
+
+ * features.gypi: ENABLE_OPENTYPE_VERTICAL=1.
+
+2012-08-31 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Make link highlighter use same node selection criteria as Chromium for Android.
+ https://bugs.webkit.org/show_bug.cgi?id=95371
+
+ Reviewed by James Robinson.
+
+ This CL brings the selection criteria for link highlight targets into alignment with Chromium for Android.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::highlightConditions):
+ (WebKit::WebViewImpl::bestTouchLinkNode):
+ * tests/data/test_touch_link_highlight.html:
+
+2012-08-31 James Robinson <jamesr@chromium.org>
+
+ [chromium] Consolidate geometry unit testing functions for cc
+ https://bugs.webkit.org/show_bug.cgi?id=95526
+
+ Reviewed by Julien Chaffraix.
+
+ This consolidates geometry equality (rects, matrices) in CCGeometryUtils and removes a few duplicate macros for
+ testing rect equality.
+
+ * WebKit.gypi:
+ * tests/CCDamageTrackerTest.cpp:
+ (WebKitTests::TEST_F):
+ * tests/CCGeometryTestUtils.cpp: Added.
+ (WebKitTests):
+ (WebKitTests::ExpectTransformationMatrixEq):
+ * tests/CCGeometryTestUtils.h: Renamed from Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h.
+ (WebKit):
+ (WebKitTests):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCMathUtilTest.cpp:
+ (WebKit::TEST):
+ * tests/TiledLayerChromiumTest.cpp:
+
+2012-08-31 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up Web*Layer initialization paths
+ https://bugs.webkit.org/show_bug.cgi?id=95523
+
+ Reviewed by Darin Fisher.
+
+ Constructing a Web*LayerImpl (or other compositor type) wrapper shouldn't require knowledge of the underyling
+ implementation. Also normalizes naming conventions in these files.
+
+ * src/WebAnimationImpl.cpp:
+ (WebKit::WebAnimation::create):
+ (WebKit::WebAnimationImpl::WebAnimationImpl):
+ * src/WebAnimationImpl.h:
+ (WebAnimationImpl):
+ * src/WebContentLayerImpl.cpp:
+ (WebKit::WebContentLayerImpl::WebContentLayerImpl):
+ (WebKit::WebContentLayerImpl::~WebContentLayerImpl):
+ (WebKit::WebContentLayerImpl::layer):
+ (WebKit::WebContentLayerImpl::setDoubleSided):
+ (WebKit::WebContentLayerImpl::setContentsScale):
+ (WebKit::WebContentLayerImpl::setUseLCDText):
+ (WebKit::WebContentLayerImpl::setDrawCheckerboardForMissingTiles):
+ * src/WebContentLayerImpl.h:
+ (WebContentLayerImpl):
+ * src/WebFloatAnimationCurveImpl.cpp:
+ (WebKit::WebFloatAnimationCurve::create):
+ (WebKit::WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl):
+ * src/WebFloatAnimationCurveImpl.h:
+ (WebFloatAnimationCurveImpl):
+ * src/WebIOSurfaceLayerImpl.cpp:
+ (WebKit::WebIOSurfaceLayer::create):
+ (WebKit::WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl):
+ * src/WebIOSurfaceLayerImpl.h:
+ (WebIOSurfaceLayerImpl):
+ * src/WebImageLayerImpl.cpp:
+ (WebKit::WebImageLayer::create):
+ (WebKit::WebImageLayerImpl::WebImageLayerImpl):
+ * src/WebImageLayerImpl.h:
+ (WebImageLayerImpl):
+ * src/WebLayerImpl.cpp:
+ (WebKit::WebLayer::create):
+ (WebKit):
+ (WebKit::WebLayerImpl::WebLayerImpl):
+ * src/WebLayerImpl.h:
+ (WebLayerImpl):
+ * src/WebScrollbarLayerImpl.cpp:
+ (WebKit::WebScrollbarLayer::create):
+ (WebKit::WebScrollbarLayerImpl::WebScrollbarLayerImpl):
+ * src/WebScrollbarLayerImpl.h:
+ (WebScrollbarLayerImpl):
+ * src/WebSolidColorLayerImpl.cpp:
+ (WebKit::WebSolidColorLayer::create):
+ (WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
+ * src/WebSolidColorLayerImpl.h:
+ (WebSolidColorLayerImpl):
+ * src/WebTransformAnimationCurveImpl.cpp:
+ (WebKit::WebTransformAnimationCurve::create):
+ (WebKit::WebTransformAnimationCurveImpl::WebTransformAnimationCurveImpl):
+ * src/WebTransformAnimationCurveImpl.h:
+ (WebTransformAnimationCurveImpl):
+ * src/WebVideoLayerImpl.cpp:
+ (WebKit::WebVideoLayer::create):
+ (WebKit::WebVideoLayerImpl::WebVideoLayerImpl):
+ * src/WebVideoLayerImpl.h:
+ (WebVideoLayerImpl):
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ * features.gypi:
+
+2012-08-31 Christopher Cameron <ccameron@chromium.org>
+
+ [chromium] Add main versus impl thread asserts
+ https://bugs.webkit.org/show_bug.cgi?id=95596
+
+ Reviewed by James Robinson.
+
+ Add asserts to prioritized texture manager that specify that a
+ function be called on the main or impl thread.
+
+ Add debug signs that the main thread is blocked to the threaded
+ proxy.
+
+ Add a mechanism to simultaneously set the thread to the impl thread
+ and indicate that the main thread is blocked.
+
+ Update tests that hit asserts in the prioritized texture manager to
+ set their impl thread and main thread blocked state correctly.
+
+ * tests/CCPrioritizedTextureTest.cpp:
+ (WTF::CCPrioritizedTextureTest::CCPrioritizedTextureTest):
+ (WTF::CCPrioritizedTextureTest::~CCPrioritizedTextureTest):
+ (WTF::CCPrioritizedTextureTest::validateTexture):
+ (WTF::TEST_F):
+ * tests/TiledLayerChromiumTest.cpp:
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Put compositor client interfaces in separate headers, normalize naming
+ https://bugs.webkit.org/show_bug.cgi?id=95522
+
+ Reviewed by Adam Barth.
+
+ * src/WebContentLayerImpl.cpp:
+ (WebKit::WebContentLayerImpl::~WebContentLayerImpl):
+ * src/WebContentLayerImpl.h:
+ (WebContentLayerImpl):
+ * src/WebExternalTextureLayerImpl.h:
+ * src/WebLayerTreeViewImpl.h:
+ (WebCore):
+ * tests/CCLayerTreeHostCommonTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ (WebKitTests::ContentLayerChromiumWithUpdateTracking::create):
+ (WebKitTests::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
+ (WebKitTests::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers::CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers):
+ (WebKitTests::CCLayerTreeHostTestAtomicCommit::CCLayerTreeHostTestAtomicCommit):
+ (WebKitTests::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::CCLayerTreeHostTestAtomicCommitWithPartialUpdate):
+ (WebKitTests::CCLayerTreeHostTestLostContextWhileUpdatingResources::CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ * tests/ContentLayerChromiumTest.cpp:
+ (WebKit::MockContentLayerChromiumClient::MockContentLayerChromiumClient):
+ (WebKit::TEST):
+
+2012-08-31 Gavin Peters <gavinp@chromium.org>
+
+ [chromium] DEPS roll with a test skip.
+ https://bugs.webkit.org/show_bug.cgi?id=95601
+
+ Unreviewed gardening & DEPS roll.
+
+
+ fast/frames/cached-frame-counter.html was never the most stable test, and now it's failing on more platforms. Marking it flaky, along with a DEPS roll (earlier attempts at the DEPS roll failed on this)
+
+ * DEPS:
+
+2012-08-31 Gavin Peters <gavinp@chromium.org>
+
+ [chromium] Disable WebViewTest.AutoResizeMinimumSize
+ https://bugs.webkit.org/show_bug.cgi?id=95571
+
+ Unreviewed gardening.
+
+ Disabling this test since it started failing in build 17225, see http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win/builds/17247 for instance. Will shortly file bug to re-enable this.
+
+ * tests/WebViewTest.cpp:
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Revert WebCompositorSupport to raw ptrs, make dtor protected
+ https://bugs.webkit.org/show_bug.cgi?id=95520
+
+ Reviewed by Darin Fisher.
+
+ Adopt the return value of WebCompositorSupport explicitly.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::LinkHighlight):
+ (WebKit::LinkHighlight::startHighlightAnimation):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Make webkit_compositor specific unit test compilation conditional on gyp var
+ https://bugs.webkit.org/show_bug.cgi?id=95401
+
+ Reviewed by Dirk Pranke.
+
+ If use_libcc_for_compositor is set, these tests are being compiled and run elsewhere.
+
+ * WebKit.gyp:
+ * WebKit.gypi:
+ * WebKitUnitTests.gyp:
+
+2012-08-27 James Robinson <jamesr@chromium.org>
+
+ [chromium] Add CompositorSupport interface for constructing compositor classes
+ https://bugs.webkit.org/show_bug.cgi?id=95040
+
+ Reviewed by Darin Fisher.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::LinkHighlight):
+ (WebKit::LinkHighlight::startHighlightAnimation):
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebMediaPlayerClientImpl.h:
+ (WebKit):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+ * src/WebPluginContainerImpl.h:
+ (WebKit):
+
+2012-08-30 Gavin Peters <gavinp@chromium.org>
+
+ [chromium] Disable CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
+ https://bugs.webkit.org/show_bug.cgi?id=95472
+
+ Unreviewed gardening.
+
+ When landing r127079, this test was re-enabled, and has not passed since. I'm disabling it, and created bug 95473 to track fixing this issue.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (WebKitTests::TEST_F):
+
+2012-08-30 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up some webkit compositor unit tests
+ https://bugs.webkit.org/show_bug.cgi?id=95410
+
+ Reviewed by Adrienne Walker.
+
+ This adds includes that were implicitly being picked up, removes ones that weren't being used, removes
+ dead code, adds OVERRIDE on functions that OVERRIDE, and deinlines virtuals that the chromium clang style
+ plugin is unhappy about.
+
+ * tests/CCAnimationTestCommon.cpp:
+ (WebKitTests::FakeFloatAnimationCurve::duration):
+ (WebKitTests):
+ (WebKitTests::FakeFloatAnimationCurve::getValue):
+ (WebKitTests::FakeTransformTransition::duration):
+ (WebKitTests::FakeFloatTransition::duration):
+ (WebKitTests::FakeLayerAnimationControllerClient::id):
+ (WebKitTests::FakeLayerAnimationControllerClient::setOpacityFromAnimation):
+ (WebKitTests::FakeLayerAnimationControllerClient::opacity):
+ (WebKitTests::FakeLayerAnimationControllerClient::setTransformFromAnimation):
+ (WebKitTests::FakeLayerAnimationControllerClient::transform):
+ * tests/CCAnimationTestCommon.h:
+ (FakeFloatAnimationCurve):
+ (FakeTransformTransition):
+ (FakeFloatTransition):
+ (FakeLayerAnimationControllerClient):
+ * tests/CCTiledLayerTestCommon.cpp:
+ (WebKitTests::FakeLayerTextureUpdater::sampledTexelFormat):
+ (WebKitTests):
+ (WebKitTests::FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds):
+ (WebKitTests::FakeTiledLayerChromium::textureManager):
+ (WebKitTests::FakeTiledLayerChromium::textureUpdater):
+ (WebKitTests::FakeTiledLayerWithScaledBounds::contentBounds):
+ (WebKitTests::FakeTextureUploader::isBusy):
+ (WebKitTests::FakeTextureUploader::uploadTexture):
+ * tests/CCTiledLayerTestCommon.h:
+ (FakeLayerTextureUpdater):
+ (FakeTiledLayerChromium):
+ (FakeTiledLayerWithScaledBounds):
+ (FakeTextureUploader):
+ * tests/FakeWebCompositorOutputSurface.h:
+ * tests/TextureCopierTest.cpp:
+ (MockContext):
+ (TEST):
+ * tests/ThrottledTextureUploaderTest.cpp:
+ (WebKit::TEST):
+ * tests/WebLayerTreeViewTest.cpp:
+
+2012-08-29 Hironori Bono <hbono@chromium.org>
+
+ Fix Chromium builds (Win and Mac)
+ https://bugs.webkit.org/show_bug.cgi?id=95421
+
+ Reviewed by James Robinson.
+
+ This change replaces 'class WebRect' with 'struct WebRect' to fix build breaks
+ on the "Chromium Mac Release" and the "Chromium Win Release" bot caused by
+ r127095.
+
+ * public/WebViewClient.h:
+ (WebKit):
+
+2012-08-29 Nat Duca <nduca@chromium.org>
+
+ [chromium] setNeedsAnimate should not cause commitRequested to become true
+ https://bugs.webkit.org/show_bug.cgi?id=95393
+
+ Reviewed by James Robinson.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested):
+ (CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested::CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested):
+
+2012-08-29 Tien-Ren Chen <trchen@chromium.org>
+
+ [chromium] Implement disambiguation popup (a.k.a. Link Preview)
+ https://bugs.webkit.org/show_bug.cgi?id=94182
+
+ Reviewed by Adam Barth.
+
+ In this new implementation, we add a new WebViewClient::handleDisambiguationPopup delegate.
+ The disambiguation sequence will be initiated by the gesture event handler
+ in WebViewImpl if an ambiguous tap is detected, then
+ m_client->handleDisambiguationPopup will be called, so the embedder can
+ decide whether to swallow the touch event and show a popup.
+
+ New test: WebFrameTest.DisambiguationPopupTest
+
+ * WebKit.gyp:
+ * features.gypi:
+ * public/WebInputEvent.h:
+ (WebGestureEvent):
+ (WebKit::WebGestureEvent::WebGestureEvent):
+ * public/WebTouchCandidatesInfo.h: Removed.
+ * public/WebView.h:
+ (WebKit):
+ * public/WebViewClient.h:
+ (WebKit):
+ (WebViewClient):
+ (WebKit::WebViewClient::triggersLinkPreview):
+ * src/WebInputEvent.cpp:
+ (SameSizeAsWebGestureEvent):
+ * src/WebViewImpl.cpp:
+ (WebKit):
+ (WebKit::WebViewImpl::handleGestureEventWithLinkPreview):
+ (WebKit::WebViewImpl::handleGestureEvent):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Add support for canvas accessibility role.
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-29 Alex Sakhartchouk <alexst@chromium.org>
+
+ [chromium] CCLayerTreeHost::finishCommitOnImplThread wrong setter order
+ https://bugs.webkit.org/show_bug.cgi?id=94828
+
+ Reviewed by Adrienne Walker.
+
+ Testing that setDeviceScaleFactor properly changes maxScrollPosition
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ Unreviewed, rolling out r126956.
+ http://trac.webkit.org/changeset/126956
+ https://bugs.webkit.org/show_bug.cgi?id=94721
+
+ Breaks several unit tests
+
+ * tests/CCSchedulerTest.cpp:
+ (WebKitTests::FakeCCSchedulerClient::reset):
+ (WebKitTests::FakeCCSchedulerClient::setHasMoreResourceUpdates):
+ (WebKitTests::TEST):
+ * tests/CCTextureUpdateControllerTest.cpp:
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] Register/unregister contents layers with GraphicsLayerChromium
+ https://bugs.webkit.org/show_bug.cgi?id=95379
+
+ Reviewed by Adrienne Walker.
+
+ * src/WebMediaPlayerClientImpl.cpp:
+ (WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
+ (WebKit::WebMediaPlayerClientImpl::readyStateChanged):
+ * src/WebPluginContainerImpl.cpp:
+ (WebKit::WebPluginContainerImpl::setBackingTextureId):
+ (WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
+ (WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):
+
+2012-08-29 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Add WebSettings support for flag to enable/disable gesture tap highlights.
+ https://bugs.webkit.org/show_bug.cgi?id=95119
+
+ Reviewed by Adam Barth.
+
+ Add support to WebSettings for flag to enable/disable gesture tap highlights. Relies on existing tests.
+
+ * public/WebSettings.h:
+ * src/WebSettingsImpl.cpp:
+ (WebKit::WebSettingsImpl::WebSettingsImpl):
+ (WebKit::WebSettingsImpl::setGestureTapHighlightEnabled):
+ (WebKit):
+ * src/WebSettingsImpl.h:
+ (WebSettingsImpl):
+ (WebKit::WebSettingsImpl::gestureTapHighlightEnabled):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+
+2012-08-29 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Remove HUD layer when rootLayer is set to null
+ https://bugs.webkit.org/show_bug.cgi?id=95257
+
+ Reviewed by James Robinson.
+
+ * WebKit.gypi:
+ * tests/CCHeadsUpDisplayTest.cpp: Added.
+ (CCHeadsUpDisplayTest):
+ (DrawsContentLayerChromium):
+ (DrawsContentLayerChromium::create):
+ (DrawsContentLayerChromium::DrawsContentLayerChromium):
+ (CCHudWithRootLayerChange):
+ (CCHudWithRootLayerChange::CCHudWithRootLayerChange):
+ (TEST_F):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCThreadedTest.cpp:
+ (WebKitTests::CCThreadedTest::runTest):
+ * tests/CCThreadedTest.h:
+ (WebKitTests::CCThreadedTest::initializeSettings):
+ (CCThreadedTest):
+
+2012-08-29 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Add more unit test coverage for semantics of drawableContentRect and visibleContentRect
+ https://bugs.webkit.org/show_bug.cgi?id=94542
+
+ Reviewed by Adrienne Walker.
+
+ To make upcoming refactors safer, it was appropriate to (finally)
+ add unit tests that check the behavior of drawableContentRect and
+ visibleContentRect computations in calculateDrawTransforms.
+
+ * tests/CCLayerTreeHostCommonTest.cpp:
+
+2012-08-29 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Link highlight should clear on page navigation.
+ https://bugs.webkit.org/show_bug.cgi?id=95129
+
+ Reviewed by James Robinson.
+
+ Modified WebViewImpl to clear link highlight when navigating to new url.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::didCommitLoad):
+
+2012-08-29 James Robinson <jamesr@chromium.org>
+
+ [chromium] CCThreadImpl / WebCompositorImpl shouldn't compile from webkit when use_libcc_for_compositor=1
+ https://bugs.webkit.org/show_bug.cgi?id=94995
+
+ Reviewed by Adam Barth.
+
+ * WebKit.gyp:
+
+2012-08-28 Shawn Singh <shawnsingh@chromium.org>
+
+ [chromium] Do not clip root layer's subtree to viewport
+ https://bugs.webkit.org/show_bug.cgi?id=95235
+
+ Reviewed by Adrienne Walker.
+
+ Existing tests updated, and otherwise this change is already
+ covered by layout and unit tests.
+
+ * tests/CCLayerTreeHostCommonTest.cpp:
+ * tests/CCOcclusionTrackerTest.cpp:
+ (WebKitTests::CCOcclusionTrackerTestChildInRotatedChild::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestVisitTargetTwoTimes::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestSurfaceWithTwoOpaqueChildren::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblings::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestOverlappingSurfaceSiblingsWithTwoTransforms::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestFilters::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestReplicaWithClipping::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestSurfaceOcclusionTranslatesWithClipping::runMyTest):
+ (WebKitTests::CCOcclusionTrackerTestSurfaceChildOfClippingSurface::runMyTest):
+
+2012-08-29 Julien Chaffraix <jchaffraix@webkit.org>
+
+ [Chromium] CCLayerTreeHostTestScrollChildLayer makes the wrong assumptions
+ https://bugs.webkit.org/show_bug.cgi?id=95358
+
+ Unreviewed gardening.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ Disabled the test until it is fixed.
+
+2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126972.
+ http://trac.webkit.org/changeset/126972
+ https://bugs.webkit.org/show_bug.cgi?id=95349
+
+ accessibility/canvas-description-and-role.html has been
+ failing consistently on several bots and Dominic needs some
+ time to investigate why (Requested by jchaffraix on #webkit).
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-29 Peter Beverloo <peter@chromium.org>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Add support for canvas accessibility role.
+
+ * public/WebAccessibilityRole.h:
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-28 David Reveman <reveman@chromium.org>
+
+ [Chromium] Scheduler will never process a commit until it receives a vsync tick.
+ https://bugs.webkit.org/show_bug.cgi?id=94721
+
+ Reviewed by James Robinson.
+
+ * tests/CCSchedulerTest.cpp:
+ (WebKitTests::FakeCCSchedulerClient::reset):
+ (WebKitTests::TEST):
+ * tests/CCTextureUpdateControllerTest.cpp:
+
+2012-08-28 Adam Barth <abarth@webkit.org>
+
+ Fix ASSERT in fast/events/touch/gesture/context-menu-on-two-finger-tap.html
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::detectContentOnTouch):
+
+2012-08-28 Leandro Gracia Gil <leandrogracia@chromium.org>
+
+ Content detection should not disrupt the page behaviour
+ https://bugs.webkit.org/show_bug.cgi?id=94727
+
+ Reviewed by Adam Barth.
+
+ Triggers content detection in the embedder on tap gestures and
+ add checks for the appropriate event listeners in order to prevent
+ triggering content detection when it would disrupt the page's behaviour.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::handleGestureEvent):
+ (WebKit::WebViewImpl::detectContentOnTouch):
+ * tests/WebViewTest.cpp:
+ * tests/data/content_listeners.html: Added.
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126933.
+ http://trac.webkit.org/changeset/126933
+ https://bugs.webkit.org/show_bug.cgi?id=95261
+
+ Turns out we do need this! (Requested by abarth on #webkit).
+
+ * public/WebWidget.h:
+ (WebKit::WebWidget::paint):
+ * src/WebPagePopupImpl.cpp:
+ (WebKit::WebPagePopupImpl::paint):
+ * src/WebPagePopupImpl.h:
+ (WebPagePopupImpl):
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::paint):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::paint):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-28 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove decodeAudioFileData from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95250
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * src/PlatformSupport.cpp:
+ (WebCore):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126344.
+ http://trac.webkit.org/changeset/126344
+ https://bugs.webkit.org/show_bug.cgi?id=95253
+
+ This change is no longer needed (Requested by abarth on
+ #webkit).
+
+ * public/WebWidget.h:
+ (WebKit::WebWidget::paint):
+ * src/WebPagePopupImpl.cpp:
+ (WebKit::WebPagePopupImpl::paint):
+ * src/WebPagePopupImpl.h:
+ (WebPagePopupImpl):
+ * src/WebPopupMenuImpl.cpp:
+ (WebKit::WebPopupMenuImpl::paint):
+ * src/WebPopupMenuImpl.h:
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::paint):
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-28 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Crash due to object getting deleted inside updateBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=94619
+
+ Reviewed by Chris Fleizach.
+
+ Chromium now calls updateBackingStoreAndCheckValidity explicitly,
+ so we can now get rid of calls to updateBackingStore in the
+ method implementations, and just make sure we're checking isDetached.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::axID):
+ (WebKit::WebAccessibilityObject::accessibilityDescription):
+ (WebKit::WebAccessibilityObject::actionVerb):
+ (WebKit::WebAccessibilityObject::canSetFocusAttribute):
+ (WebKit::WebAccessibilityObject::canSetValueAttribute):
+ (WebKit::WebAccessibilityObject::childCount):
+ (WebKit::WebAccessibilityObject::childAt):
+ (WebKit::WebAccessibilityObject::firstChild):
+ (WebKit::WebAccessibilityObject::focusedChild):
+ (WebKit::WebAccessibilityObject::lastChild):
+ (WebKit::WebAccessibilityObject::nextSibling):
+ (WebKit::WebAccessibilityObject::parentObject):
+ (WebKit::WebAccessibilityObject::previousSibling):
+ (WebKit::WebAccessibilityObject::canSetSelectedAttribute):
+ (WebKit::WebAccessibilityObject::isAnchor):
+ (WebKit::WebAccessibilityObject::isAriaReadOnly):
+ (WebKit::WebAccessibilityObject::isButtonStateMixed):
+ (WebKit::WebAccessibilityObject::isChecked):
+ (WebKit::WebAccessibilityObject::isCollapsed):
+ (WebKit::WebAccessibilityObject::isControl):
+ (WebKit::WebAccessibilityObject::isEnabled):
+ (WebKit::WebAccessibilityObject::isFocused):
+ (WebKit::WebAccessibilityObject::isHovered):
+ (WebKit::WebAccessibilityObject::isIndeterminate):
+ (WebKit::WebAccessibilityObject::isLinked):
+ (WebKit::WebAccessibilityObject::isLoaded):
+ (WebKit::WebAccessibilityObject::isMultiSelectable):
+ (WebKit::WebAccessibilityObject::isOffScreen):
+ (WebKit::WebAccessibilityObject::isPasswordField):
+ (WebKit::WebAccessibilityObject::isPressed):
+ (WebKit::WebAccessibilityObject::isReadOnly):
+ (WebKit::WebAccessibilityObject::isRequired):
+ (WebKit::WebAccessibilityObject::isSelected):
+ (WebKit::WebAccessibilityObject::isSelectedOptionActive):
+ (WebKit::WebAccessibilityObject::isVertical):
+ (WebKit::WebAccessibilityObject::isVisible):
+ (WebKit::WebAccessibilityObject::isVisited):
+ (WebKit::WebAccessibilityObject::accessKey):
+ (WebKit::WebAccessibilityObject::ariaHasPopup):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionAtomic):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionBusy):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionRelevant):
+ (WebKit::WebAccessibilityObject::ariaLiveRegionStatus):
+ (WebKit::WebAccessibilityObject::boundingBoxRect):
+ (WebKit::WebAccessibilityObject::estimatedLoadingProgress):
+ (WebKit::WebAccessibilityObject::helpText):
+ (WebKit::WebAccessibilityObject::headingLevel):
+ (WebKit::WebAccessibilityObject::hierarchicalLevel):
+ (WebKit::WebAccessibilityObject::hitTest):
+ (WebKit::WebAccessibilityObject::keyboardShortcut):
+ (WebKit::WebAccessibilityObject::performDefaultAction):
+ (WebKit::WebAccessibilityObject::roleValue):
+ (WebKit::WebAccessibilityObject::selectionEnd):
+ (WebKit::WebAccessibilityObject::selectionStart):
+ (WebKit::WebAccessibilityObject::stringValue):
+ (WebKit::WebAccessibilityObject::title):
+ (WebKit::WebAccessibilityObject::titleUIElement):
+ (WebKit::WebAccessibilityObject::url):
+ (WebKit::WebAccessibilityObject::valueDescription):
+ (WebKit::WebAccessibilityObject::valueForRange):
+ (WebKit::WebAccessibilityObject::maxValueForRange):
+ (WebKit::WebAccessibilityObject::minValueForRange):
+ (WebKit::WebAccessibilityObject::node):
+ (WebKit::WebAccessibilityObject::document):
+ (WebKit::WebAccessibilityObject::accessibilityIsIgnored):
+ (WebKit::WebAccessibilityObject::lineBreaks):
+ (WebKit::WebAccessibilityObject::columnCount):
+ (WebKit::WebAccessibilityObject::rowCount):
+ (WebKit::WebAccessibilityObject::cellForColumnAndRow):
+ (WebKit::WebAccessibilityObject::cellColumnIndex):
+ (WebKit::WebAccessibilityObject::cellColumnSpan):
+ (WebKit::WebAccessibilityObject::cellRowIndex):
+ (WebKit::WebAccessibilityObject::cellRowSpan):
+ (WebKit::WebAccessibilityObject::scrollToMakeVisible):
+ (WebKit::WebAccessibilityObject::scrollToMakeVisibleWithSubFocus):
+ (WebKit::WebAccessibilityObject::scrollToGlobalPoint):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-28 W. James MacLean <wjmaclean@chromium.org>
+
+ [unreviewed] Compile fix: windows compiler expects float but find double.
+
+ Need to specify a float literal when initialising the highlight animation duration.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::startHighlightAnimation):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-28 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] Drastically shorten the link highlight duration.
+ https://bugs.webkit.org/show_bug.cgi?id=95216
+
+ Reviewed by James Robinson.
+
+ Parameter change; covered by existing layout tests.
+
+ * src/LinkHighlight.cpp:
+ (WebKit::LinkHighlight::startHighlightAnimation):
+
+2012-08-27 Tien-Ren Chen <trchen@chromium.org>
+
+ [Chromium] Remove stub for WebView::getTouchHighlightQuads()
+ https://bugs.webkit.org/show_bug.cgi?id=95164
+
+ Reviewed by Adam Barth.
+
+ Reverts https://bugs.webkit.org/show_bug.cgi?id=92997
+ We're uploading a new implementation that no longer uses this API.
+ See https://bugs.webkit.org/show_bug.cgi?id=94182
+
+ * WebKit.gyp:
+ * public/WebTouchCandidatesInfo.h: Removed.
+ * public/WebView.h:
+ (WebKit):
+ * src/WebViewImpl.cpp:
+ * src/WebViewImpl.h:
+ (WebViewImpl):
+
+2012-08-27 Ian Vollick <vollick@chromium.org>
+
+ [chromium] Should accelerate rotations of >= 180 degrees
+ https://bugs.webkit.org/show_bug.cgi?id=94860
+
+ Reviewed by James Robinson.
+
+ Added new unit tests:
+ WebTransformOperationTest.transformTypesAreUnique
+ WebTransformOperationTest.matchTypesSameLength
+ WebTransformOperationTest.identityAlwaysMatches
+ WebTransformOperationTest.largeRotationsWithSameAxis
+ WebTransformOperationTest.largeRotationsWithSameAxisInDifferentDirection
+ WebTransformOperationTest.largeRotationsWithDifferentAxes
+ WebTransformOperationTest.blendRotationFromIdentity
+ WebTransformOperationTest.blendTranslationFromIdentity
+ WebTransformOperationTest.blendScaleFromIdentity
+ WebTransformOperationTest.blendSkewFromIdentity
+ WebTransformOperationTest.blendPerspectiveFromIdentity
+ WebTransformOperationTest.blendRotationToIdentity
+ WebTransformOperationTest.blendTranslationToIdentity
+ WebTransformOperationTest.blendScaleToIdentity
+ WebTransformOperationTest.blendSkewToIdentity
+ WebTransformOperationTest.blendPerspectiveToIdentity
+ AnimationTranslationUtilTest.createTransformAnimationWithBigRotation
+ AnimationTranslationUtilTest.createTransformAnimationWithBigRotationAndEmptyTransformOperationList
+
+ * tests/AnimationTranslationUtilTest.cpp:
+ (WebKit::TEST):
+ * tests/WebTransformOperationsTest.cpp:
+ (TEST):
+ (getIdentityOperations):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * src/WebGeolocationPermissionRequestManager.cpp:
+ (WebGeolocationPermissionRequestManager::remove):
+ * src/WebIDBMetadata.cpp:
+ (WebKit::WebIDBMetadata::WebIDBMetadata):
+ * src/WebIntent.cpp:
+ (WebKit::WebIntent::extrasValue):
+ * tests/WebSocketExtensionDispatcherTest.cpp:
+ (WebCore::TEST_F):
+
+2012-08-27 David Reveman <reveman@chromium.org>
+
+ [Chromium] Stop texture updates when context is lost.
+ https://bugs.webkit.org/show_bug.cgi?id=94983
+
+ Reviewed by James Robinson.
+
+ * tests/CCLayerTreeHostTest.cpp:
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::create):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::setContextLostCallback):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::isContextLost):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::beginQueryEXT):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::endQueryEXT):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::getQueryObjectuivEXT):
+ (CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::CCLayerTreeHostTestLostContextWhileUpdatingResources):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::createOutputSurface):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::beginTest):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::commitCompleteOnCCThread):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::layout):
+ (CCLayerTreeHostTestLostContextWhileUpdatingResources::afterTest):
+ (TEST_F):
+
+2012-08-27 Dana Jansens <danakj@chromium.org>
+
+ [chromium] A general mechanism for passing data into and out of appendQuads and quadCuller via CCAppendQuadsData
+ https://bugs.webkit.org/show_bug.cgi?id=95109
+
+ Reviewed by Adrienne Walker.
+
+ Update tests to use the new data structure.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCQuadCullerTest.cpp:
+ * tests/CCRenderSurfaceTest.cpp:
+ * tests/CCSolidColorLayerImplTest.cpp:
+ (CCLayerTestCommon::TEST):
+ * tests/CCTiledLayerImplTest.cpp:
+ (CCLayerTestCommon::TEST):
+ (CCLayerTestCommon::getQuads):
+ * tests/MockCCQuadCuller.h:
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up dependencies of WebScrollbar and WebScrollbarLayer
+ https://bugs.webkit.org/show_bug.cgi?id=94996
+
+ Reviewed by Adrienne Walker.
+
+ Fix up tests for API changes.
+
+ * WebKit.gyp:
+ * src/WebScrollbarLayerImpl.cpp:
+ (WebKit::WebScrollbarLayer::create):
+ * tests/ScrollbarLayerChromiumTest.cpp:
+ (WebCore::TEST):
+
+2012-08-27 Adrienne Walker <enne@google.com>
+
+ [chromium] Prevent scrollbar thumb size from changing during compositor zoom
+ https://bugs.webkit.org/show_bug.cgi?id=94859
+
+ Reviewed by James Robinson.
+
+ Update test.
+
+ * tests/CCLayerTreeHostImplTest.cpp:
+
+2012-08-27 Dana Jansens <danakj@chromium.org>
+
+ [chromium] Have RenderSurface create and add its own generated RenderPass
+ https://bugs.webkit.org/show_bug.cgi?id=94957
+
+ Reviewed by Adrienne Walker.
+
+ Test that a RenderSurface generates the RenderPass that we expect.
+
+ * tests/CCRenderSurfaceTest.cpp:
+
+2012-08-27 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Fixing infinite recursion in Canvas2DLayerManager
+ https://bugs.webkit.org/show_bug.cgi?id=95110
+
+ Reviewed by Stephen White.
+
+ Breaking recursion cycle by not reporting a change in memory allocation
+ when no memory is freed in FakeCanvas2DLayer::freeMemoryIfPossible.
+
+ * tests/Canvas2DLayerManagerTest.cpp:
+
+2012-08-27 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
+ https://bugs.webkit.org/show_bug.cgi?id=94386
+
+ Reviewed by Stephen White.
+
+ Adding unit tests for WebCore::Canvas2DLayerManager
+
+ * WebKit.gypi:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ RegisterProtocolHandlerClientImpl is renamed to NavigatorContentUtilsClientImpl.
+
+ * features.gypi:
+ * src/ChromeClientImpl.cpp:
+ (WebKit):
+ (WebKit::NavigatorContentUtilsClientImpl::create):
+ (WebKit::NavigatorContentUtilsClientImpl::NavigatorContentUtilsClientImpl):
+ (WebKit::NavigatorContentUtilsClientImpl::registerProtocolHandler):
+ * src/ChromeClientImpl.h:
+ (NavigatorContentUtilsClientImpl):
+ (WebKit::NavigatorContentUtilsClientImpl::~NavigatorContentUtilsClientImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::WebViewImpl):
+ * src/WebViewImpl.h:
+
+2012-08-27 Johnny Ding <jnd@chromium.org>
+
+ [Chromium-Android]Move webkit_unit_tests_apk and TestWebKitAPI_apk into a
+ condition block:['OS=="android" and gtest_target_type == "shared_library"'].
+ https://bugs.webkit.org/show_bug.cgi?id=95049
+
+ Reviewed by Adam Barth.
+
+ Move webkit_unit_tests_apk and TestWebKitAPI_apk into block of gtest_target_type == "shared_library"
+
+ * All.gyp:
+
+2012-08-24 Dominic Mazzoni <dmazzoni@google.com>
+
+ Chromium: WebAccessibilityObject should expose updateBackingStore
+ https://bugs.webkit.org/show_bug.cgi?id=94611
+
+ Reviewed by Chris Fleizach.
+
+ This change just exposes a method, with no new tests. Next, Chromium
+ will be modified to call this new method, and this will be followed
+ by a change that gets rid of calls to updateBackingStore under the
+ hood. That last change may add a test or update an existing test.
+
+ * public/WebAccessibilityObject.h:
+ (WebAccessibilityObject):
+ * src/WebAccessibilityObject.cpp:
+ (WebKit::WebAccessibilityObject::updateBackingStoreAndCheckValidity):
+ (WebKit):
+
+2012-08-24 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] WebViewImpl::enableTouchHighlight() should always clear any existing highlight when invoked.
+ https://bugs.webkit.org/show_bug.cgi?id=94978
+
+ Reviewed by James Robinson.
+
+ Modified WebViewImpl::enableTouchHighlight() so it always clears any existing highlight, even if no new
+ highlight target is found.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::enableTouchHighlight):
+
+2012-08-23 James Robinson <jamesr@chromium.org>
+
+ [chromium] Convert WebLayerTreeView interface into pure virtual
+ https://bugs.webkit.org/show_bug.cgi?id=94866
+
+ Reviewed by Adrienne Walker.
+
+ Updates WebLayerTreeView implementation and callers to new interface. The createGraphicsContext3D() wrapper
+ stuff can just go away now since downstream has updated to createOutputSurface().
+
+ * WebKit.gypi:
+ * src/WebLayerTreeView.cpp: Removed.
+ * src/WebLayerTreeViewImpl.cpp:
+ (WebKit::WebLayerTreeView::create):
+ (WebKit::WebLayerTreeViewImpl::WebLayerTreeViewImpl):
+ (WebKit::WebLayerTreeViewImpl::initialize):
+ (WebKit):
+ (WebKit::WebLayerTreeViewImpl::setSurfaceReady):
+ (WebKit::WebLayerTreeViewImpl::setRootLayer):
+ (WebKit::WebLayerTreeViewImpl::clearRootLayer):
+ (WebKit::WebLayerTreeViewImpl::compositorIdentifier):
+ (WebKit::WebLayerTreeViewImpl::setViewportSize):
+ (WebKit::WebLayerTreeViewImpl::layoutViewportSize):
+ (WebKit::WebLayerTreeViewImpl::deviceViewportSize):
+ (WebKit::WebLayerTreeViewImpl::setDeviceScaleFactor):
+ (WebKit::WebLayerTreeViewImpl::deviceScaleFactor):
+ (WebKit::WebLayerTreeViewImpl::setBackgroundColor):
+ (WebKit::WebLayerTreeViewImpl::setHasTransparentBackground):
+ (WebKit::WebLayerTreeViewImpl::setVisible):
+ (WebKit::WebLayerTreeViewImpl::setPageScaleFactorAndLimits):
+ (WebKit::WebLayerTreeViewImpl::startPageScaleAnimation):
+ (WebKit::WebLayerTreeViewImpl::setNeedsAnimate):
+ (WebKit::WebLayerTreeViewImpl::setNeedsRedraw):
+ (WebKit::WebLayerTreeViewImpl::commitRequested):
+ (WebKit::WebLayerTreeViewImpl::composite):
+ (WebKit::WebLayerTreeViewImpl::updateAnimations):
+ (WebKit::WebLayerTreeViewImpl::compositeAndReadback):
+ (WebKit::WebLayerTreeViewImpl::finishAllRendering):
+ (WebKit::WebLayerTreeViewImpl::renderingStats):
+ (WebKit::WebLayerTreeViewImpl::setFontAtlas):
+ (WebKit::WebLayerTreeViewImpl::loseCompositorContext):
+ (WebKit::WebLayerTreeViewImpl::willBeginFrame):
+ (WebKit::WebLayerTreeViewImpl::didBeginFrame):
+ (WebKit::WebLayerTreeViewImpl::animate):
+ (WebKit::WebLayerTreeViewImpl::layout):
+ (WebKit::WebLayerTreeViewImpl::applyScrollAndScale):
+ (WebKit::WebLayerTreeViewImpl::createOutputSurface):
+ (WebKit::WebLayerTreeViewImpl::didRecreateOutputSurface):
+ (WebKit::WebLayerTreeViewImpl::willCommit):
+ (WebKit::WebLayerTreeViewImpl::didCommit):
+ (WebKit::WebLayerTreeViewImpl::didCommitAndDrawFrame):
+ (WebKit::WebLayerTreeViewImpl::didCompleteSwapBuffers):
+ (WebKit::WebLayerTreeViewImpl::scheduleComposite):
+ * src/WebLayerTreeViewImpl.h:
+ (WebLayerTreeViewImpl):
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::renderingStats):
+ (WebKit::WebViewImpl::startPageScaleAnimation):
+ (WebKit::WebViewImpl::setCompositorSurfaceReady):
+ (WebKit::WebViewImpl::animate):
+ (WebKit::WebViewImpl::doPixelReadbackToCanvas):
+ (WebKit::WebViewImpl::paint):
+ (WebKit::WebViewImpl::composite):
+ (WebKit::WebViewImpl::setNeedsRedraw):
+ (WebKit::WebViewImpl::isInputThrottled):
+ (WebKit::WebViewImpl::loseCompositorContext):
+ (WebKit::WebViewImpl::setDeviceScaleFactor):
+ (WebKit::WebViewImpl::computePageScaleFactorLimits):
+ (WebKit::WebViewImpl::setIsTransparent):
+ (WebKit::WebViewImpl::setRootGraphicsLayer):
+ (WebKit::WebViewImpl::scheduleCompositingLayerSync):
+ (WebKit::WebViewImpl::invalidateRootLayerRect):
+ (WebKit::WebViewImpl::setBackgroundColor):
+ (WebKit::WebViewImpl::scheduleAnimation):
+ (WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
+ (WebKit):
+ (WebKit::WebViewImpl::updateLayerTreeViewport):
+ (WebKit::WebViewImpl::setVisibilityState):
+ * src/WebViewImpl.h:
+ (WebKit):
+ * tests/CCLayerTreeHostTest.cpp:
+ * tests/CCThreadedTest.cpp:
+ * tests/CCThreadedTest.h:
+ (WebKitTests::TestHooks::animate):
+ * tests/FakeCCLayerTreeHostClient.h:
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):
+ (WebKit::GraphicsLayerChromiumTest::~GraphicsLayerChromiumTest):
+ (GraphicsLayerChromiumTest):
+ * tests/WebLayerTest.cpp:
+ * tests/WebLayerTreeViewTest.cpp:
+ * tests/WebLayerTreeViewTestCommon.h:
+ (MockWebLayerTreeViewClient):
+
+2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed. Rolled DEPS.
+
+ * DEPS:
+
+2012-08-24 James Robinson <jamesr@chromium.org>
+
+ [chromium] Clean up WebAnimation animationId/groupId generation
+ https://bugs.webkit.org/show_bug.cgi?id=94973
+
+ Reviewed by Adrienne Walker.
+
+ * src/WebAnimationImpl.cpp:
+ (WebKit::WebAnimation::create):
+ (WebKit::WebAnimationImpl::WebAnimationImpl):
+ (WebKit::WebAnimationImpl::id):
+ (WebKit):
+ * src/WebAnimationImpl.h:
+ (WebAnimationImpl):
+ * tests/AnimationTranslationUtilTest.cpp:
+ (WebKit::animationCanBeTranslated):
+ * tests/GraphicsLayerChromiumTest.cpp:
+ (WebKit::TEST_F):
+
+2012-08-24 Mark Pilgrim <pilgrim@chromium.org>
+
+ [Chromium] Remove visitedLinkHash from PlatformSupport
+ https://bugs.webkit.org/show_bug.cgi?id=94965
+
+ Reviewed by Adam Barth.
+
+ Part of a refactoring series. See tracking bug 82948.
+
+ * src/PlatformSupport.cpp:
+ (WebCore):
+
+2012-08-24 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126620.
+ http://trac.webkit.org/changeset/126620
+ https://bugs.webkit.org/show_bug.cgi?id=94976
+
+ ASSERT((intptr_t)m_bytesAllocated + deltaBytes > 0) is
+ triggering on the bots (Requested by jchaffraix on #webkit).
+
+ * WebKit.gypi:
+ * tests/Canvas2DLayerManagerTest.cpp: Removed.
+
+2012-08-24 Justin Novosad <junov@chromium.org>
+
+ [Chromium] Implementing a global limit on memory consumed by deferred 2D canvases
+ https://bugs.webkit.org/show_bug.cgi?id=94386
+
+ Reviewed by Stephen White.
+
+ Adding unit tests for WebCore::Canvas2DLayerManager
+
+ * WebKit.gypi:
+ * tests/Canvas2DLayerManagerTest.cpp: Added.
+ (FakeCanvas2DLayerBridge):
+ (FakeCanvas2DLayerBridge::FakeCanvas2DLayerBridge):
+ (FakeCanvas2DLayerBridge::fakeFreeableBytes):
+ (Canvas2DLayerManagerTest):
+ (Canvas2DLayerManagerTest::storageAllocationTrackingTest):
+ (Canvas2DLayerManagerTest::evictionTest):
+ (Canvas2DLayerManagerTest::flushEvictionTest):
+
+2012-08-24 Cris Neckar <cdn@chromium.org>
+
+ Plumb consumeUserGesture() to the chromium platform layer.
+ https://bugs.webkit.org/show_bug.cgi?id=9475294867
+
+ Reviewed by Adam Barth.
+
+ * public/WebFrame.h:
+ (WebFrame):
+ * src/WebFrameImpl.cpp:
+ (WebKit::WebFrameImpl::consumeUserGesture):
+ (WebKit):
+ * src/WebFrameImpl.h:
+ (WebFrameImpl):
+
+2012-08-24 W. James MacLean <wjmaclean@chromium.org>
+
+ [chromium] gestureTapDown should not select a RenderView node as target.
+ https://bugs.webkit.org/show_bug.cgi?id=94956
+
+ Reviewed by James Robinson.
+
+ Add check to prevent selecting a RenderView node as a highlight target.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebViewImpl::bestTouchLinkNode):
+
+2012-08-24 Tommy Widenflycht <tommyw@google.com>
+
+ MediaStream API: Add readyState functionality to RTCPeerConnection
+ https://bugs.webkit.org/show_bug.cgi?id=94813
+
+ Reviewed by Adam Barth.
+
+ * src/AssertMatchingEnums.cpp:
+
+2012-08-24 Dan Carney <dcarney@google.com>
+
+ [V8] Refactor away IsolatedWorld
+ https://bugs.webkit.org/show_bug.cgi?id=93971
+
+ Reviewed by Kentaro Hara.
+
+ Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
+
+ * src/WebViewImpl.cpp:
+ (WebKit::WebView::addUserScript):
+ (WebKit::WebView::addUserStyleSheet):
+
2012-08-23 Antoine Labour <piman@chromium.org>
[chromium] Fix lost context when textures are evicted
@@ -14482,7 +16974,7 @@
(WebKit::WebAccessibilityObject::ariaLiveRegionBusy):
(WebKit::WebAccessibilityObject::ariaLiveRegionRelevant):
(WebKit::WebAccessibilityObject::ariaLiveRegionStatus):
- (WebKit::WebAccessibilityObject::boundingBoxRect):
+ (WebKit::WebAccessibilityObject::boundingBox):
(WebKit::WebAccessibilityObject::estimatedLoadingProgress):
(WebKit::WebAccessibilityObject::helpText):
(WebKit::WebAccessibilityObject::headingLevel):
diff --git a/Source/WebKit/chromium/DEPS b/Source/WebKit/chromium/DEPS
index 479de4270..d16efe14c 100644
--- a/Source/WebKit/chromium/DEPS
+++ b/Source/WebKit/chromium/DEPS
@@ -32,7 +32,7 @@
vars = {
'chromium_svn': 'http://src.chromium.org/svn/trunk/src',
- 'chromium_rev': '153032'
+ 'chromium_rev': '155215'
}
deps = {
diff --git a/Source/WebKit/chromium/WebKit.gyp b/Source/WebKit/chromium/WebKit.gyp
index 1fd2164bc..179ad50ef 100644
--- a/Source/WebKit/chromium/WebKit.gyp
+++ b/Source/WebKit/chromium/WebKit.gyp
@@ -54,7 +54,7 @@
# stored as is. Otherwise, a concatenated file is stored.
'debug_devtools%': 0,
- # If set to 1, links against the compositor bindings from the chromium repository
+ # If set to 1, uses the compositor bindings provided by PlatformSupport
# instead of the compositor-implementation binding files in WebKit/chromium/src.
'use_libcc_for_compositor%': 0,
@@ -71,13 +71,14 @@
'type': 'static_library',
'variables': { 'enable_wexit_time_destructors': 1, },
'dependencies': [
- '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
'../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
+ '../../WebCore/WebCore.gyp/WebCore.gyp:webcore',
'<(chromium_src_dir)/skia/skia.gyp:skia',
+ '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
'<(chromium_src_dir)/third_party/icu/icu.gyp:icuuc',
'<(chromium_src_dir)/third_party/npapi/npapi.gyp:npapi',
- '<(chromium_src_dir)/third_party/angle/src/build_angle.gyp:translator_glsl',
'<(chromium_src_dir)/v8/tools/gyp/v8.gyp:v8',
+ 'webkit_wtf_support',
],
'export_dependent_settings': [
'../../Platform/Platform.gyp/Platform.gyp:webkit_platform',
@@ -277,7 +278,6 @@
'public/WebTextInputType.h',
'public/WebTextRun.h',
'public/WebTimeRange.h',
- 'public/WebTouchCandidatesInfo.h',
'public/WebURLLoaderOptions.h',
'public/WebUserMediaClient.h',
'public/WebUserMediaRequest.h',
@@ -359,11 +359,10 @@
'src/BatteryClientImpl.h',
'src/BlobRegistryProxy.cpp',
'src/BlobRegistryProxy.h',
+ 'src/DateTimeChooserImpl.cpp',
+ 'src/DateTimeChooserImpl.h',
'src/ChromeClientImpl.cpp',
'src/ChromeClientImpl.h',
- 'src/ChromiumCurrentTime.cpp',
- 'src/ChromiumOSRandomSource.cpp',
- 'src/ChromiumThreading.cpp',
'src/ColorChooserUIController.cpp',
'src/ColorChooserUIController.h',
'src/CompositionUnderlineBuilder.h',
@@ -486,6 +485,8 @@
'src/WebCache.cpp',
'src/WebColorName.cpp',
'src/WebCommon.cpp',
+ 'src/WebCompositorInputHandlerImpl.cpp',
+ 'src/WebCompositorInputHandlerImpl.h',
'src/WebCrossOriginPreflightResultCache.cpp',
'src/WebCursorInfo.cpp',
'src/WebDOMEvent.cpp',
@@ -605,8 +606,6 @@
'src/WebScopedMicrotaskSuppression.cpp',
'src/WebScopedUserGesture.cpp',
'src/WebScriptController.cpp',
- 'src/WebScrollbarImpl.cpp',
- 'src/WebScrollbarImpl.h',
'src/WebScrollbarThemeClientImpl.cpp',
'src/WebScrollbarThemeClientImpl.h',
'src/WebScrollbarThemePainter.cpp',
@@ -741,6 +740,11 @@
'WARNING_CFLAGS!': ['-Wglobal-constructors'],
},
}],
+ ['use_libcc_for_compositor==0', {
+ 'sources': [
+ '<@(webkit_compositor_unittest_files)',
+ ],
+ }],
],
'msvs_settings': {
'VCLinkerTool': {
@@ -836,8 +840,11 @@
},
}],
['use_libcc_for_compositor==1', {
- 'dependencies': [
- '<(chromium_src_dir)/webkit/compositor/compositor.gyp:webkit_compositor',
+ 'sources!': [
+ '../../WebCore/platform/chromium/support/CCThreadImpl.cpp',
+ '../../WebCore/platform/chromium/support/CCThreadImpl.h',
+ '../../WebCore/platform/chromium/support/WebCompositorImpl.cpp',
+ '../../WebCore/platform/chromium/support/WebCompositorImpl.h',
],
}, { # else: use_libcc_for_compositor==0
'sources': [
@@ -855,6 +862,31 @@
],
},
{
+ 'target_name': 'webkit_wtf_support',
+ 'type': 'static_library',
+ 'dependencies': [
+ '../../WTF/WTF.gyp/WTF.gyp:wtf',
+ ],
+ 'defines': [
+ 'WEBKIT_IMPLEMENTATION=1',
+ ],
+ 'include_dirs': [
+ '../../Platform/chromium',
+ ],
+ 'sources': [
+ 'src/ChromiumCurrentTime.cpp',
+ 'src/ChromiumOSRandomSource.cpp',
+ 'src/ChromiumThreading.cpp',
+ ],
+ 'conditions': [
+ ['component=="shared_library"', {
+ 'defines': [
+ 'WEBKIT_DLL',
+ ],
+ }],
+ ],
+ },
+ {
'target_name': 'inspector_resources',
'type': 'none',
'dependencies': [
diff --git a/Source/WebKit/chromium/WebKit.gypi b/Source/WebKit/chromium/WebKit.gypi
index 890b3f675..5d3f850d5 100644
--- a/Source/WebKit/chromium/WebKit.gypi
+++ b/Source/WebKit/chromium/WebKit.gypi
@@ -56,12 +56,72 @@
'tests/ArenaTestHelpers.h',
'tests/AssociatedURLLoaderTest.cpp',
'tests/Canvas2DLayerBridgeTest.cpp',
+ 'tests/Canvas2DLayerManagerTest.cpp',
+ 'tests/ClipboardChromiumTest.cpp',
+ 'tests/DateTimeFormatTest.cpp',
+ 'tests/DecimalTest.cpp',
+ 'tests/DragImageTest.cpp',
+ 'tests/EventListenerTest.cpp',
+ 'tests/FrameLoaderClientImplTest.cpp',
+ 'tests/FrameTestHelpers.cpp',
+ 'tests/FrameTestHelpers.h',
+ 'tests/GraphicsLayerChromiumTest.cpp',
+ 'tests/IDBAbortOnCorruptTest.cpp',
+ 'tests/IDBBindingUtilitiesTest.cpp',
+ 'tests/IDBDatabaseBackendTest.cpp',
+ 'tests/IDBFakeBackingStore.h',
+ 'tests/IDBKeyPathTest.cpp',
+ 'tests/IDBLevelDBCodingTest.cpp',
+ 'tests/IDBRequestTest.cpp',
+ 'tests/ImageLayerChromiumTest.cpp',
+ 'tests/KeyboardTest.cpp',
+ 'tests/KURLTest.cpp',
+ 'tests/LevelDBTest.cpp',
+ 'tests/LinkHighlightTest.cpp',
+ 'tests/ListenerLeakTest.cpp',
+ 'tests/MemoryInfo.cpp',
+ 'tests/MemoryInstrumentationTest.cpp',
+ 'tests/OpaqueRectTrackingContentLayerDelegateTest.cpp',
+ 'tests/OpenTypeVerticalDataTest.cpp',
+ 'tests/PaintAggregatorTest.cpp',
+ 'tests/PlatformGestureCurveTest.cpp',
+ 'tests/PlatformContextSkiaTest.cpp',
+ 'tests/PODArenaTest.cpp',
+ 'tests/PODIntervalTreeTest.cpp',
+ 'tests/PODRedBlackTreeTest.cpp',
+ 'tests/PopupContainerTest.cpp',
+ 'tests/RegionTest.cpp',
+ 'tests/RenderTableCellTest.cpp',
+ 'tests/RenderTableRowTest.cpp',
+ 'tests/TilingDataTest.cpp',
+ 'tests/TreeTestHelpers.cpp',
+ 'tests/TreeTestHelpers.h',
+ 'tests/URLTestHelpers.cpp',
+ 'tests/URLTestHelpers.h',
+ 'tests/WebCompositorInitializer.h',
+ 'tests/WebCompositorInputHandlerImplTest.cpp',
+ 'tests/WebFrameTest.cpp',
+ 'tests/WebMediaPlayerClientImplTest.cpp',
+ 'tests/WebPageNewSerializerTest.cpp',
+ 'tests/WebPageSerializerTest.cpp',
+ 'tests/WebSocketDeflaterTest.cpp',
+ 'tests/WebSocketExtensionDispatcherTest.cpp',
+ 'tests/WebURLRequestTest.cpp',
+ 'tests/WebURLResponseTest.cpp',
+ 'tests/WebViewTest.cpp',
+ ],
+
+ 'webkit_compositor_unittest_files': [
'tests/CCActiveAnimationTest.cpp',
'tests/CCAnimationTestCommon.cpp',
'tests/CCAnimationTestCommon.h',
'tests/CCDamageTrackerTest.cpp',
'tests/CCDelayBasedTimeSourceTest.cpp',
+ 'tests/CCDrawQuadTest.cpp',
'tests/CCFrameRateControllerTest.cpp',
+ 'tests/CCGeometryTestUtils.cpp',
+ 'tests/CCGeometryTestUtils.h',
+ 'tests/CCHeadsUpDisplayTest.cpp',
'tests/CCKeyframedAnimationCurveTest.cpp',
'tests/CCLayerAnimationControllerTest.cpp',
'tests/CCLayerImplTest.cpp',
@@ -73,36 +133,33 @@
'tests/CCLayerTreeHostCommonTest.cpp',
'tests/CCLayerTreeHostImplTest.cpp',
'tests/CCLayerTreeHostTest.cpp',
- 'tests/CCLayerTreeTestCommon.h',
'tests/CCMathUtilTest.cpp',
'tests/CCOcclusionTrackerTest.cpp',
'tests/CCOcclusionTrackerTestCommon.h',
+ 'tests/CCPrioritizedTextureTest.cpp',
'tests/CCQuadCullerTest.cpp',
+ 'tests/CCRenderPassTest.cpp',
'tests/CCRenderSurfaceFiltersTest.cpp',
'tests/CCRenderSurfaceTest.cpp',
+ 'tests/CCRendererGLTest.cpp',
'tests/CCResourceProviderTest.cpp',
'tests/CCSchedulerStateMachineTest.cpp',
- 'tests/CCSchedulerTestCommon.h',
'tests/CCSchedulerTest.cpp',
+ 'tests/CCSchedulerTestCommon.h',
'tests/CCScopedTextureTest.cpp',
'tests/CCScrollbarAnimationControllerLinearFadeTest.cpp',
'tests/CCSolidColorLayerImplTest.cpp',
'tests/CCTestCommon.h',
'tests/CCTextureUpdateControllerTest.cpp',
- 'tests/CCTiledLayerImplTest.cpp',
- 'tests/CCTiledLayerTestCommon.h',
- 'tests/CCTiledLayerTestCommon.cpp',
'tests/CCThreadTaskTest.cpp',
'tests/CCThreadedTest.cpp',
'tests/CCThreadedTest.h',
+ 'tests/CCTiledLayerImplTest.cpp',
+ 'tests/CCTiledLayerTestCommon.cpp',
+ 'tests/CCTiledLayerTestCommon.h',
'tests/CCTimerTest.cpp',
- 'tests/ClipboardChromiumTest.cpp',
'tests/CompositorFakeWebGraphicsContext3D.h',
'tests/ContentLayerChromiumTest.cpp',
- 'tests/DateTimeFormatTest.cpp',
- 'tests/DecimalTest.cpp',
- 'tests/DragImageTest.cpp',
- 'tests/EventListenerTest.cpp',
'tests/FakeCCLayerTreeHostClient.h',
'tests/FakeGraphicsContext3DTest.cpp',
'tests/FakeWebCompositorOutputSurface.h',
@@ -110,70 +167,23 @@
'tests/FakeWebScrollbarThemeGeometry.h',
'tests/FilterOperationsTest.cpp',
'tests/FloatQuadTest.cpp',
- 'tests/FrameLoaderClientImplTest.cpp',
- 'tests/FrameTestHelpers.cpp',
- 'tests/FrameTestHelpers.h',
- 'tests/GraphicsLayerChromiumTest.cpp',
- 'tests/IDBAbortOnCorruptTest.cpp',
- 'tests/IDBBindingUtilitiesTest.cpp',
- 'tests/IDBDatabaseBackendTest.cpp',
- 'tests/IDBFakeBackingStore.h',
- 'tests/IDBKeyPathTest.cpp',
- 'tests/IDBLevelDBCodingTest.cpp',
- 'tests/IDBRequestTest.cpp',
- 'tests/ImageLayerChromiumTest.cpp',
- 'tests/KeyboardTest.cpp',
- 'tests/KURLTest.cpp',
'tests/LayerChromiumTest.cpp',
- 'tests/CCRendererGLTest.cpp',
- 'tests/LevelDBTest.cpp',
- 'tests/LinkHighlightTest.cpp',
- 'tests/ListenerLeakTest.cpp',
- 'tests/MemoryInfo.cpp',
- 'tests/MemoryInstrumentationTest.cpp',
'tests/MockCCQuadCuller.h',
- 'tests/OpaqueRectTrackingContentLayerDelegateTest.cpp',
- 'tests/OpenTypeVerticalDataTest.cpp',
- 'tests/PaintAggregatorTest.cpp',
- 'tests/PlatformGestureCurveTest.cpp',
- 'tests/PlatformContextSkiaTest.cpp',
- 'tests/PODArenaTest.cpp',
- 'tests/PODIntervalTreeTest.cpp',
- 'tests/PODRedBlackTreeTest.cpp',
- 'tests/PopupContainerTest.cpp',
- 'tests/CCPrioritizedTextureTest.cpp',
- 'tests/RegionTest.cpp',
- 'tests/RenderTableCellTest.cpp',
- 'tests/RenderTableRowTest.cpp',
'tests/ScrollbarLayerChromiumTest.cpp',
'tests/TextureCopierTest.cpp',
'tests/TextureLayerChromiumTest.cpp',
'tests/ThrottledTextureUploaderTest.cpp',
'tests/TiledLayerChromiumTest.cpp',
- 'tests/TilingDataTest.cpp',
'tests/TreeSynchronizerTest.cpp',
- 'tests/TreeTestHelpers.cpp',
- 'tests/TreeTestHelpers.h',
- 'tests/URLTestHelpers.cpp',
- 'tests/URLTestHelpers.h',
'tests/WebAnimationTest.cpp',
- 'tests/WebCompositorInputHandlerImplTest.cpp',
'tests/WebFloatAnimationCurveTest.cpp',
- 'tests/WebFrameTest.cpp',
+ 'tests/WebInputEventConversionTest.cpp',
'tests/WebLayerTest.cpp',
'tests/WebLayerTreeViewTest.cpp',
'tests/WebLayerTreeViewTestCommon.h',
- 'tests/WebMediaPlayerClientImplTest.cpp',
- 'tests/WebPageNewSerializerTest.cpp',
- 'tests/WebPageSerializerTest.cpp',
- 'tests/WebSocketDeflaterTest.cpp',
- 'tests/WebSocketExtensionDispatcherTest.cpp',
'tests/WebTransformAnimationCurveTest.cpp',
- 'tests/WebTransformationMatrixTest.cpp',
'tests/WebTransformOperationsTest.cpp',
- 'tests/WebURLRequestTest.cpp',
- 'tests/WebURLResponseTest.cpp',
- 'tests/WebViewTest.cpp',
+ 'tests/WebTransformationMatrixTest.cpp',
],
'webkit_compositor_bindings_files': [
@@ -181,8 +191,6 @@
'src/WebAnimationCurveCommon.h',
'src/WebAnimationImpl.cpp',
'src/WebAnimationImpl.h',
- 'src/WebCompositorInputHandlerImpl.cpp',
- 'src/WebCompositorInputHandlerImpl.h',
'src/WebContentLayerImpl.cpp',
'src/WebContentLayerImpl.h',
'src/WebExternalTextureLayerImpl.cpp',
@@ -195,7 +203,8 @@
'src/WebImageLayerImpl.h',
'src/WebLayerImpl.cpp',
'src/WebLayerImpl.h',
- 'src/WebLayerTreeView.cpp',
+ 'src/WebToCCInputHandlerAdapter.cpp',
+ 'src/WebToCCInputHandlerAdapter.h',
'src/WebLayerTreeViewImpl.cpp',
'src/WebLayerTreeViewImpl.h',
'src/WebScrollbarLayerImpl.cpp',
diff --git a/Source/WebKit/chromium/WebKitUnitTests.gyp b/Source/WebKit/chromium/WebKitUnitTests.gyp
index a77392ef4..b0f155a74 100644
--- a/Source/WebKit/chromium/WebKitUnitTests.gyp
+++ b/Source/WebKit/chromium/WebKitUnitTests.gyp
@@ -46,6 +46,8 @@
'chromium_src_dir': '../../../../..',
}],
],
+
+ 'use_libcc_for_compositor%': 0,
},
'targets': [
{
@@ -64,7 +66,6 @@
'<(chromium_src_dir)/base/base.gyp:test_support_base',
'<(chromium_src_dir)/third_party/zlib/zlib.gyp:zlib',
'<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_support',
- '<(chromium_src_dir)/webkit/support/webkit_support.gyp:webkit_user_agent',
],
'sources': [
'tests/RunAllTests.cpp',
@@ -103,6 +104,11 @@
'chromium_code': 1,
},
}],
+ ['use_libcc_for_compositor==0', {
+ 'sources': [
+ '<@(webkit_compositor_unittest_files)',
+ ],
+ }],
],
}],
['inside_chromium_build==1 and OS=="win" and component!="shared_library"', {
@@ -190,6 +196,8 @@
'--ant-args',
'-DANDROID_TOOLCHAIN=<(android_toolchain)',
'--ant-args',
+ '-DANDROID_GDBSERVER=<(android_gdbserver)',
+ '--ant-args',
'-DPRODUCT_DIR=<(ant_build_out)',
'--ant-args',
'-DCHROMIUM_SRC=<(ant_build_to_chromium_src)',
diff --git a/Source/WebKit/chromium/features.gypi b/Source/WebKit/chromium/features.gypi
index 6b165fd8e..4664b04a4 100644
--- a/Source/WebKit/chromium/features.gypi
+++ b/Source/WebKit/chromium/features.gypi
@@ -38,7 +38,6 @@
'ENABLE_BLOB_SLICE=1',
'ENABLE_CHANNEL_MESSAGING=1',
'ENABLE_CSP_NEXT=1',
- 'ENABLE_CSS3_FLEXBOX=1',
'ENABLE_CSS3_TEXT_DECORATION=0',
'ENABLE_CSS_BOX_DECORATION_BREAK=1',
'ENABLE_CSS_COMPOSITING=0',
@@ -87,11 +86,11 @@
'ENABLE_MHTML=1',
'ENABLE_MICRODATA=0',
'ENABLE_MUTATION_OBSERVERS=<(enable_mutation_observers)',
+ 'ENABLE_NAVIGATOR_CONTENT_UTILS=1',
'ENABLE_PAGE_VISIBILITY_API=1',
'ENABLE_POINTER_LOCK=1',
'ENABLE_PROGRESS_ELEMENT=1',
'ENABLE_QUOTA=1',
- 'ENABLE_REGISTER_PROTOCOL_HANDLER=1',
'ENABLE_REQUEST_ANIMATION_FRAME=1',
'ENABLE_RUBY=1',
'ENABLE_SANDBOX=1',
@@ -201,6 +200,11 @@
'WTF_USE_WEBAUDIO_FFMPEG=1',
],
}],
+ ['OS=="win"', {
+ 'feature_defines': [
+ 'ENABLE_OPENTYPE_VERTICAL=1',
+ ],
+ }],
['enable_web_intents==1', {
'feature_defines': [
'ENABLE_WEB_INTENTS=1',
diff --git a/Source/WebKit/chromium/public/WebAccessibilityObject.h b/Source/WebKit/chromium/public/WebAccessibilityObject.h
index 029f43872..3a32a95ee 100644
--- a/Source/WebKit/chromium/public/WebAccessibilityObject.h
+++ b/Source/WebKit/chromium/public/WebAccessibilityObject.h
@@ -69,6 +69,7 @@ public:
WEBKIT_EXPORT bool equals(const WebAccessibilityObject&) const;
bool isNull() const { return m_private.isNull(); }
+ // isDetached also checks for null, so it's safe to just call isDetached.
WEBKIT_EXPORT bool isDetached() const;
// Static methods for enabling accessibility.
@@ -77,11 +78,17 @@ public:
WEBKIT_EXPORT int axID() const;
+ // Update the underlying tree, and return true if this object is
+ // still valid (not detached). Note that calling this method
+ // can cause other WebAccessibilityObjects to become invalid, too,
+ // so always call isDetached if updateBackingStoreAndCheckValidity
+ // has been called on any object, or if any other WebCore code has run.
+ WEBKIT_EXPORT bool updateBackingStoreAndCheckValidity();
+
WEBKIT_EXPORT WebString accessibilityDescription() const;
WEBKIT_EXPORT WebString actionVerb() const;
WEBKIT_EXPORT bool canSetFocusAttribute() const;
WEBKIT_EXPORT bool canSetValueAttribute() const;
- WEBKIT_EXPORT bool isValid() const;
WEBKIT_EXPORT unsigned childCount() const;
@@ -126,6 +133,7 @@ public:
WEBKIT_EXPORT WebString ariaLiveRegionRelevant() const;
WEBKIT_EXPORT WebString ariaLiveRegionStatus() const;
WEBKIT_EXPORT WebRect boundingBoxRect() const;
+ WEBKIT_EXPORT bool canvasHasFallbackContent() const;
WEBKIT_EXPORT double estimatedLoadingProgress() const;
WEBKIT_EXPORT WebString helpText() const;
WEBKIT_EXPORT int headingLevel() const;
@@ -142,6 +150,7 @@ public:
WEBKIT_EXPORT WebAccessibilityObject titleUIElement() const;
WEBKIT_EXPORT WebURL url() const;
+ WEBKIT_EXPORT bool supportsRangeValue() const;
WEBKIT_EXPORT WebString valueDescription() const;
WEBKIT_EXPORT float valueForRange() const;
WEBKIT_EXPORT float maxValueForRange() const;
diff --git a/Source/WebKit/chromium/public/WebAccessibilityRole.h b/Source/WebKit/chromium/public/WebAccessibilityRole.h
index f40c1d99b..db8fbcbd4 100644
--- a/Source/WebKit/chromium/public/WebAccessibilityRole.h
+++ b/Source/WebKit/chromium/public/WebAccessibilityRole.h
@@ -49,6 +49,7 @@ enum WebAccessibilityRole {
WebAccessibilityRoleBrowser,
WebAccessibilityRoleBusyIndicator,
WebAccessibilityRoleButton,
+ WebAccessibilityRoleCanvas,
WebAccessibilityRoleCell,
WebAccessibilityRoleCheckBox,
WebAccessibilityRoleColorWell,
@@ -74,6 +75,7 @@ enum WebAccessibilityRole {
WebAccessibilityRoleGrowArea,
WebAccessibilityRoleHeading,
WebAccessibilityRoleHelpTag,
+ WebAccessibilityRoleHorizontalRule,
WebAccessibilityRoleIgnored,
WebAccessibilityRoleImage,
WebAccessibilityRoleImageMap,
diff --git a/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h b/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h
index ef277d5fd..2133e8508 100644
--- a/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h
+++ b/Source/WebKit/chromium/public/WebActiveWheelFlingParameters.h
@@ -26,6 +26,7 @@
#ifndef WebActiveWheelFlingParameters_h
#define WebActiveWheelFlingParameters_h
+#include "WebInputEvent.h"
#include "platform/WebCommon.h"
#include "platform/WebFloatPoint.h"
@@ -39,11 +40,13 @@ struct WebActiveWheelFlingParameters {
WebPoint point;
WebPoint globalPoint;
int modifiers;
+ WebGestureEvent::SourceDevice sourceDevice;
WebSize cumulativeScroll;
double startTime;
WebActiveWheelFlingParameters()
: modifiers(0)
+ , sourceDevice(WebGestureEvent::Touchpad)
, startTime(0)
{
}
diff --git a/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h b/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h
index 7c911d8f8..a4c4f62c3 100644
--- a/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h
+++ b/Source/WebKit/chromium/public/WebCompositorInputHandlerClient.h
@@ -35,12 +35,12 @@ public:
// Callbacks invoked from the compositor thread.
virtual void willShutdown() = 0;
- // Exactly one of the following two callbacks will be invoked after every call to WebCompositor::handleInputEvent():
+ // Exactly one of the following two callbacks will be invoked after every call to WebCompositorInputHandler::handleInputEvent():
- // Called when the WebCompositor handled the input event and no further processing is required.
+ // Called when the WebCompositorInputHandler handled the input event and no further processing is required.
virtual void didHandleInputEvent() = 0;
- // Called when the WebCompositor did not handle the input event. If sendToWidget is true, the input event
+ // Called when the WebCompositorInputHandler did not handle the input event. If sendToWidget is true, the input event
// should be forwarded to the WebWidget associated with this compositor for further processing.
virtual void didNotHandleInputEvent(bool sendToWidget) = 0;
diff --git a/Source/WebKit/chromium/public/WebFrame.h b/Source/WebKit/chromium/public/WebFrame.h
index 06531df8f..56cbe1ea4 100644
--- a/Source/WebKit/chromium/public/WebFrame.h
+++ b/Source/WebKit/chromium/public/WebFrame.h
@@ -415,6 +415,9 @@ public:
// Returns true if a user gesture is currently being processed.
virtual bool isProcessingUserGesture() const = 0;
+ // Returns true if a consumable gesture exists and has been successfully consumed.
+ virtual bool consumeUserGesture() const = 0;
+
// Returns true if this frame is in the process of opening a new frame
// with a suppressed opener.
virtual bool willSuppressOpenerInNewFrame() const = 0;
@@ -469,10 +472,29 @@ public:
// there is ranged selection.
virtual bool selectWordAroundCaret() = 0;
+ // DEPRECATED: Use moveSelectionStart / moveSelectionEnd / moveCaret
+ // This method is intended for touch-based UIs, but it's missing some
+ // functionality needed on Android, like preventing collapsed selections.
virtual void selectRange(const WebPoint& start, const WebPoint& end) = 0;
virtual void selectRange(const WebRange&) = 0;
+ // The methods below are for adjusting the start and/or end of the current
+ // selection by direct manipulation on a touch-based UI. To enter selection
+ // mode in the first place, call selectRange() or send a fake mouse event.
+
+ // Moves the start of the current selection, keeping the end fixed.
+ // Returns true on success, false if there is no selection to modify.
+ virtual bool moveSelectionStart(const WebPoint&, bool allowCollapsedSelection) = 0;
+
+ // Moves the end of the current selection, keeping the start fixed.
+ // Returns true on success, false if there is no selection to modify.
+ virtual bool moveSelectionEnd(const WebPoint&, bool allowCollapsedSelection) = 0;
+
+ // Move both endpoints of the current selection to the given position.
+ // The caret will remain pinned inside the current editable region.
+ // Returns true on success, false if there is no selection or if we're not editing.
+ virtual bool moveCaret(const WebPoint&) = 0;
// Printing ------------------------------------------------------------
diff --git a/Source/WebKit/chromium/public/WebIDBFactory.h b/Source/WebKit/chromium/public/WebIDBFactory.h
index f10a8eb9a..70c8c840c 100644
--- a/Source/WebKit/chromium/public/WebIDBFactory.h
+++ b/Source/WebKit/chromium/public/WebIDBFactory.h
@@ -41,6 +41,7 @@ namespace WebKit {
class WebFrame;
class WebIDBDatabase;
+class WebIDBDatabaseCallbacks;
class WebSecurityOrigin;
// The entry point into the IndexedDatabase API. These classes match their Foo and
@@ -54,16 +55,13 @@ public:
virtual void getDatabaseNames(WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
- // FIXME: Delete this method when derived classes in chromium have
- // implemented the other open method.
- virtual void open(const WebString& name, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir)
- {
- open(name, WebIDBMetadata::NoIntVersion, callbacks, origin, frame, dataDir);
- }
-
+ // FIXME: This overload should be removed when WK90411 lands.
// The WebKit implementation of open ignores the WebFrame* parameter.
virtual void open(const WebString& name, long long version, WebIDBCallbacks* callbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
+ // The WebKit implementation of open ignores the WebFrame* parameter.
+ virtual void open(const WebString& name, long long version, WebIDBCallbacks* callbacks, WebIDBDatabaseCallbacks* databaseCallbacks, const WebSecurityOrigin& origin, WebFrame* frame, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
+
virtual void deleteDatabase(const WebString& name, WebIDBCallbacks*, const WebSecurityOrigin&, WebFrame*, const WebString& dataDir) { WEBKIT_ASSERT_NOT_REACHED(); }
};
diff --git a/Source/WebKit/chromium/public/WebIDBKey.h b/Source/WebKit/chromium/public/WebIDBKey.h
index 0b704cac2..3819de875 100644
--- a/Source/WebKit/chromium/public/WebIDBKey.h
+++ b/Source/WebKit/chromium/public/WebIDBKey.h
@@ -35,9 +35,6 @@ namespace WebCore { class IDBKey; }
namespace WebKit {
-class WebIDBKeyPath;
-class WebSerializedScriptValue;
-
class WebIDBKey {
public:
// Please use one of the factory methods. This is public only to allow WebVector.
@@ -50,8 +47,6 @@ public:
WEBKIT_EXPORT static WebIDBKey createNumber(double);
WEBKIT_EXPORT static WebIDBKey createInvalid();
WEBKIT_EXPORT static WebIDBKey createNull();
- WEBKIT_EXPORT static WebIDBKey createFromValueAndKeyPath(const WebSerializedScriptValue&, const WebIDBKeyPath&);
- WEBKIT_EXPORT static WebSerializedScriptValue injectIDBKeyIntoSerializedValue(const WebIDBKey&, const WebSerializedScriptValue&, const WebIDBKeyPath&);
WebIDBKey(const WebIDBKey& e) { assign(e); }
WebIDBKey& operator=(const WebIDBKey& e)
diff --git a/Source/WebKit/chromium/public/WebInputEvent.h b/Source/WebKit/chromium/public/WebInputEvent.h
index d1f5173e9..63ce7131c 100644
--- a/Source/WebKit/chromium/public/WebInputEvent.h
+++ b/Source/WebKit/chromium/public/WebInputEvent.h
@@ -151,6 +151,10 @@ public:
// event and back will not preserve these flags.
CapsLockOn = 1 << 9,
NumLockOn = 1 << 10,
+
+ // Left/right modifiers for keyboard events.
+ IsLeft = 1 << 11,
+ IsRight = 1 << 12,
};
static const int InputModifiers = ShiftKey | ControlKey | AltKey | MetaKey;
@@ -237,7 +241,11 @@ public:
// |windowsKeyCode| is the Windows key code associated with this key
// event. Sometimes it's direct from the event (i.e. on Windows),
// sometimes it's via a mapping function. If you want a list, see
- // WebCore/platform/chromium/KeyboardCodes* .
+ // WebCore/platform/chromium/KeyboardCodes* . Note that this should
+ // ALWAYS store the non-locational version of a keycode as this is
+ // what is returned by the Windows API. For example, it should
+ // store VK_SHIFT instead of VK_RSHIFT. The location information
+ // should be stored in |modifiers|.
int windowsKeyCode;
// The actual key code genenerated by the platform. The DOM spec runs
@@ -279,6 +287,9 @@ public:
// Sets keyIdentifier based on the value of windowsKeyCode. This is
// handy for generating synthetic keyboard events.
WEBKIT_EXPORT void setKeyIdentifierFromWindowsKeyCode();
+
+ static int windowsKeyCodeWithoutLocation(int keycode);
+ static int locationModifiersFromWindowsKeyCode(int keycode);
};
// WebMouseEvent --------------------------------------------------------------
@@ -365,6 +376,11 @@ public:
class WebGestureEvent : public WebInputEvent {
public:
+ enum SourceDevice {
+ Touchpad,
+ Touchscreen,
+ };
+
int x;
int y;
int globalX;
@@ -398,6 +414,7 @@ public:
struct {
float velocityX;
float velocityY;
+ SourceDevice sourceDevice;
} flingStart;
struct {
diff --git a/Source/WebKit/chromium/public/WebMediaPlayer.h b/Source/WebKit/chromium/public/WebMediaPlayer.h
index ed62754d3..e0395ccd3 100644
--- a/Source/WebKit/chromium/public/WebMediaPlayer.h
+++ b/Source/WebKit/chromium/public/WebMediaPlayer.h
@@ -186,6 +186,7 @@ public:
virtual WebTimeRanges sourceBuffered(const WebString& id) { return WebTimeRanges(); };
virtual bool sourceAppend(const WebString& id, const unsigned char* data, unsigned length) { return false; }
virtual bool sourceAbort(const WebString& id) { return false; }
+ virtual void sourceSetDuration(double) { }
virtual void sourceEndOfStream(EndOfStreamStatus) { }
virtual bool sourceSetTimestampOffset(const WebString& id, double offset) { return false; }
diff --git a/Source/WebKit/chromium/public/WebRuntimeFeatures.h b/Source/WebKit/chromium/public/WebRuntimeFeatures.h
index 7152249e5..012efe82d 100644
--- a/Source/WebKit/chromium/public/WebRuntimeFeatures.h
+++ b/Source/WebKit/chromium/public/WebRuntimeFeatures.h
@@ -63,7 +63,7 @@ public:
WEBKIT_EXPORT static void enableApplicationCache(bool);
WEBKIT_EXPORT static bool isApplicationCacheEnabled();
-
+
WEBKIT_EXPORT static void enableDataTransferItems(bool);
WEBKIT_EXPORT static bool isDataTransferItemsEnabled();
@@ -76,6 +76,7 @@ public:
WEBKIT_EXPORT static void enableWebAudio(bool);
WEBKIT_EXPORT static bool isWebAudioEnabled();
+ // TODO: Remove these (since they're no-ops) once Chromium code stops calling them.
WEBKIT_EXPORT static void enablePushState(bool);
WEBKIT_EXPORT static bool isPushStateEnabled(bool);
@@ -99,7 +100,7 @@ public:
WEBKIT_EXPORT static void enableFileSystem(bool);
WEBKIT_EXPORT static bool isFileSystemEnabled();
-
+
WEBKIT_EXPORT static void enableJavaScriptI18NAPI(bool);
WEBKIT_EXPORT static bool isJavaScriptI18NAPIEnabled();
diff --git a/Source/WebKit/chromium/public/WebSettings.h b/Source/WebKit/chromium/public/WebSettings.h
index e1e74a9b9..f47ff9f7c 100644
--- a/Source/WebKit/chromium/public/WebSettings.h
+++ b/Source/WebKit/chromium/public/WebSettings.h
@@ -103,6 +103,7 @@ public:
virtual void setForceCompositingMode(bool) = 0;
virtual void setFrameFlatteningEnabled(bool) = 0;
virtual void setFullScreenEnabled(bool) = 0;
+ virtual void setGestureTapHighlightEnabled(bool) = 0;
virtual void setHyperlinkAuditingEnabled(bool) = 0;
virtual void setImagesEnabled(bool) = 0;
virtual void setInteractiveFormValidationEnabled(bool) = 0;
diff --git a/Source/WebKit/chromium/public/WebView.h b/Source/WebKit/chromium/public/WebView.h
index e95ec6b53..5bb5712fa 100644
--- a/Source/WebKit/chromium/public/WebView.h
+++ b/Source/WebKit/chromium/public/WebView.h
@@ -60,11 +60,9 @@ class WebString;
class WebTextFieldDecoratorClient;
class WebViewClient;
struct WebActiveWheelFlingParameters;
-struct WebFloatQuad;
struct WebMediaPlayerAction;
struct WebPluginAction;
struct WebPoint;
-struct WebTouchCandidatesInfo;
class WebView : public WebWidget {
public:
@@ -469,20 +467,6 @@ public:
virtual WebViewBenchmarkSupport* benchmarkSupport() { return 0; }
-
- // Touch ----------------------------------------------------------------
-
- // Returns a list of layout bounding boxes of the event target node touched by
- // the input point with the padding. If no target node is found, an empty
- // list is returned. If the node is of an inline type, each line box is returned
- // separately. Otherwise, one bounding box is returned. Also returns information
- // about the found candidates and their dimension, and the highlight color to use.
- virtual WebVector<WebFloatQuad> getTouchHighlightQuads(const WebPoint&,
- int padding,
- WebTouchCandidatesInfo& outTouchInfo,
- WebColor& outTapHighlightColor) = 0;
-
-
// Visibility -----------------------------------------------------------
// Sets the visibility of the WebView.
diff --git a/Source/WebKit/chromium/public/WebViewClient.h b/Source/WebKit/chromium/public/WebViewClient.h
index 904d4a2d2..839ed0d17 100644
--- a/Source/WebKit/chromium/public/WebViewClient.h
+++ b/Source/WebKit/chromium/public/WebViewClient.h
@@ -62,6 +62,7 @@ class WebFileChooserCompletion;
class WebFrame;
class WebGeolocationClient;
class WebGeolocationService;
+class WebGestureEvent;
class WebHelperPlugin;
class WebHitTestResult;
class WebIconLoadingCompletion;
@@ -84,6 +85,7 @@ struct WebConsoleMessage;
struct WebContextMenuData;
struct WebPoint;
struct WebPopupMenuInfo;
+struct WebRect;
struct WebSize;
struct WebWindowFeatures;
@@ -285,6 +287,9 @@ public:
// unless the view did not need a layout.
virtual void didUpdateLayout() { }
+ // Return true to swallow the input event if the embedder will start a disambiguation popup
+ virtual bool didTapMultipleTargets(const WebGestureEvent&, const WebVector<WebRect>& targetRects) { return false; }
+
// Session history -----------------------------------------------------
// Tells the embedder to navigate back or forward in session history by
diff --git a/Source/WebKit/chromium/public/linux/WebFontInfo.h b/Source/WebKit/chromium/public/linux/WebFontInfo.h
index ed88b9306..a5758f1d4 100644
--- a/Source/WebKit/chromium/public/linux/WebFontInfo.h
+++ b/Source/WebKit/chromium/public/linux/WebFontInfo.h
@@ -28,51 +28,4 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFontInfo_h
-#define WebFontInfo_h
-
-#include "../linux/WebFontRenderStyle.h"
-#include "../platform/WebCString.h"
-#include "../platform/linux/WebFontFamily.h"
-
-#include <string.h>
-#include <unistd.h>
-
-namespace WebKit {
-
-class WebFontInfo {
-public:
- // Set a global preference describing whether renderStyleForStrike() should
- // enable subpixel positioning or not. FontConfig doesn't currently provide
- // a parameter for controlling this.
- WEBKIT_EXPORT static void setSubpixelPositioning(bool);
-
- // Return a font family which provides glyphs for the Unicode code points
- // specified by |utf16|
- // characters: a native-endian UTF16 string
- // numCharacters: the number of 16-bit words in |utf16|
- // preferredLocale: preferred locale identifier for the |characters|
- // (e.g. "en", "ja", "zh-CN")
- //
- // Returns: the font family or an empty string if the request could not be
- // satisfied.
- // Returns: the font family instance. The instance has an empty font name if the request could not be satisfied.
- WEBKIT_EXPORT static void familyForChars(const WebUChar* characters, size_t numCharacters, const char* preferredLocale, WebFontFamily*);
-
- // Fill out the given WebFontRenderStyle with the user's preferences for
- // rendering the given font at the given size (in pixels).
- // family: i.e. "Times New Roman"
- // sizeAndStyle:
- // 3322222222221111111111
- // 10987654321098765432109876543210
- // +--------------------------------+
- // |..............Size............IB|
- // +--------------------------------+
- // I: italic flag
- // B: bold flag
- WEBKIT_EXPORT static void renderStyleForStrike(const char* family, int sizeAndStyle, WebFontRenderStyle* result);
-};
-
-} // namespace WebKit
-
-#endif
+#include "../../../../Platform/chromium/public/linux/WebFontInfo.h"
diff --git a/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h b/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h
index f4858f3ec..26f61aa4b 100644
--- a/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h
+++ b/Source/WebKit/chromium/public/linux/WebFontRenderStyle.h
@@ -28,36 +28,4 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFontRenderStyle_h
-#define WebFontRenderStyle_h
-
-#include "../platform/WebCommon.h"
-
-namespace WebCore { struct FontRenderStyle; }
-
-namespace WebKit {
-
-struct WEBKIT_EXPORT WebFontRenderStyle {
- // Each of the use* members below can take one of three values:
- // 0: off
- // 1: on
- // 2: no preference expressed
- char useBitmaps; // use embedded bitmap strike if possible
- char useAutoHint; // use 'auto' hinting (FreeType specific)
- char useHinting; // hint glyphs to the pixel grid
- char hintStyle; // level of hinting, 0..3
- char useAntiAlias; // antialias glyph shapes
- char useSubpixelRendering; // use subpixel rendering (partially-filled pixels)
- char useSubpixelPositioning; // use subpixel positioning (fractional X positions for glyphs)
-
-#if WEBKIT_IMPLEMENTATION
- // Translates the members of this struct to a FontRenderStyle
- void toFontRenderStyle(WebCore::FontRenderStyle*);
-#endif
-
- void setDefaults();
-};
-
-} // namespace WebKit
-
-#endif // WebFontRenderStyle_h
+#include "../../../../Platform/chromium/public/linux/WebFontRenderStyle.h"
diff --git a/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h b/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
index 70ad85228..a4e2397cd 100644
--- a/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
+++ b/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h
@@ -49,8 +49,6 @@ namespace WebKit {
class WebApplicationCacheHost; // FIXME: Does this belong in platform?
class WebApplicationCacheHostClient; // FIXME: Does this belong in platform?
class WebIDBFactory; // FIXME: Does this belong in platform?
-class WebIDBKey; // FIXME: Does this belong in platform?
-class WebIDBKeyPath; // FIXME: Does this belong in platform?
class WebPluginListBuilder; // FIXME: Does this belong in platform?
class WebSharedWorkerRepository; // FIXME: Does this belong in platform?
@@ -60,8 +58,6 @@ public:
// Indexed Database ----------------------------------------------------
virtual WebIDBFactory* idbFactory() { return 0; }
- virtual void createIDBKeysFromSerializedValuesAndKeyPath(const WebVector<WebSerializedScriptValue>& values, const WebIDBKeyPath& keyPath, WebVector<WebIDBKey>& keys) { }
- virtual WebSerializedScriptValue injectIDBKeyIntoSerializedValue(const WebIDBKey& key, const WebSerializedScriptValue& value, const WebIDBKeyPath& keyPath) { return WebSerializedScriptValue(); }
// Plugins -------------------------------------------------------------
diff --git a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
index 27239d769..cfaa26bab 100644
--- a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
+++ b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp
@@ -64,6 +64,7 @@
#include "PageVisibilityState.h"
#include "PeerConnection00.h"
#include "PlatformCursor.h"
+#include "RTCPeerConnectionHandlerClient.h"
#include "ReferrerPolicy.h"
#include "ResourceResponse.h"
#include "Settings.h"
@@ -108,13 +109,15 @@
#include "WebTextCheckingResult.h"
#include "WebTextCheckingType.h"
#include "WebView.h"
-#include "platform/WebICEOptions.h"
-#include "platform/WebMediaStreamSource.h"
-#include "platform/WebPeerConnection00Handler.h"
-#include "platform/WebPeerConnection00HandlerClient.h"
#include <public/WebClipboard.h>
#include <public/WebFileSystem.h>
#include <public/WebFilterOperation.h>
+#include <public/WebICEOptions.h>
+#include <public/WebMediaStreamSource.h>
+#include <public/WebPeerConnection00Handler.h>
+#include <public/WebPeerConnection00HandlerClient.h>
+#include <public/WebRTCPeerConnectionHandler.h>
+#include <public/WebRTCPeerConnectionHandlerClient.h>
#include <public/WebReferrerPolicy.h>
#include <public/WebScrollbar.h>
#include <public/WebURLResponse.h>
@@ -258,6 +261,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleDocumentNote, DocumentNoteRole)
COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleDocumentRegion, DocumentRegionRole);
COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleUserInterfaceTooltip, UserInterfaceTooltipRole);
COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleToggleButton, ToggleButtonRole);
+COMPILE_ASSERT_MATCHING_ENUM(WebAccessibilityRoleCanvas, CanvasRole);
COMPILE_ASSERT_MATCHING_ENUM(WebApplicationCacheHost::Uncached, ApplicationCacheHost::UNCACHED);
COMPILE_ASSERT_MATCHING_ENUM(WebApplicationCacheHost::Idle, ApplicationCacheHost::IDLE);
@@ -592,6 +596,21 @@ COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateConnected
COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateCompleted, PeerConnection00::ICE_COMPLETED);
COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateFailed, PeerConnection00::ICE_FAILED);
COMPILE_ASSERT_MATCHING_ENUM(WebPeerConnection00HandlerClient::ICEStateClosed, PeerConnection00::ICE_CLOSED);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateNew, RTCPeerConnectionHandlerClient::ReadyStateNew);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateOpening, RTCPeerConnectionHandlerClient::ReadyStateOpening);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateActive, RTCPeerConnectionHandlerClient::ReadyStateActive);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosing, RTCPeerConnectionHandlerClient::ReadyStateClosing);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ReadyStateClosed, RTCPeerConnectionHandlerClient::ReadyStateClosed);
+
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateNew, RTCPeerConnectionHandlerClient::IceStateNew);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateGathering, RTCPeerConnectionHandlerClient::IceStateGathering);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateWaiting, RTCPeerConnectionHandlerClient::IceStateWaiting);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateChecking, RTCPeerConnectionHandlerClient::IceStateChecking);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateConnected, RTCPeerConnectionHandlerClient::IceStateConnected);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateCompleted, RTCPeerConnectionHandlerClient::IceStateCompleted);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateFailed, RTCPeerConnectionHandlerClient::IceStateFailed);
+COMPILE_ASSERT_MATCHING_ENUM(WebRTCPeerConnectionHandlerClient::ICEStateClosed, RTCPeerConnectionHandlerClient::IceStateClosed);
#endif
#if ENABLE(SCRIPTED_SPEECH)
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.cpp b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
index d73654578..985757783 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.cpp
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.cpp
@@ -42,6 +42,7 @@
#include "Console.h"
#include "Cursor.h"
#include "DatabaseTracker.h"
+#include "DateTimeChooserImpl.h"
#include "Document.h"
#include "DocumentLoader.h"
#include "ExternalPopupMenu.h"
@@ -652,6 +653,8 @@ void ChromeClientImpl::dispatchViewportPropertiesDidChange(const ViewportArgumen
args, settings->layoutFallbackWidth(), deviceRect.width, deviceRect.height,
dpi / ViewportArguments::deprecatedTargetDPI, IntSize(deviceRect.width, deviceRect.height));
+ restrictScaleFactorToInitialScaleIfNotUserScalable(computed);
+
if (m_webView->ignoreViewportTagMaximumScale()) {
computed.maximumScale = max(computed.maximumScale, m_webView->maxPageScaleFactor);
computed.userScalable = true;
@@ -704,6 +707,13 @@ PassOwnPtr<WebColorChooser> ChromeClientImpl::createWebColorChooser(WebColorChoo
}
#endif
+#if ENABLE(CALENDAR_PICKER)
+PassOwnPtr<WebCore::DateTimeChooser> ChromeClientImpl::openDateTimeChooser(WebCore::DateTimeChooserClient* pickerClient, const WebCore::DateTimeChooserParameters& parameters)
+{
+ return adoptPtr(new DateTimeChooserImpl(this, pickerClient, parameters));
+}
+#endif
+
void ChromeClientImpl::runOpenPanel(Frame* frame, PassRefPtr<FileChooser> fileChooser)
{
WebViewClient* client = m_webView->client();
@@ -1119,18 +1129,18 @@ void ChromeClientImpl::dashboardRegionsChanged()
}
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-PassOwnPtr<RegisterProtocolHandlerClientImpl> RegisterProtocolHandlerClientImpl::create(WebViewImpl* webView)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+PassOwnPtr<NavigatorContentUtilsClientImpl> NavigatorContentUtilsClientImpl::create(WebViewImpl* webView)
{
- return adoptPtr(new RegisterProtocolHandlerClientImpl(webView));
+ return adoptPtr(new NavigatorContentUtilsClientImpl(webView));
}
-RegisterProtocolHandlerClientImpl::RegisterProtocolHandlerClientImpl(WebViewImpl* webView)
+NavigatorContentUtilsClientImpl::NavigatorContentUtilsClientImpl(WebViewImpl* webView)
: m_webView(webView)
{
}
-void RegisterProtocolHandlerClientImpl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClientImpl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
{
m_webView->client()->registerProtocolHandler(scheme, baseURL, url, title);
}
diff --git a/Source/WebKit/chromium/src/ChromeClientImpl.h b/Source/WebKit/chromium/src/ChromeClientImpl.h
index a786dc5eb..7d456fbf5 100644
--- a/Source/WebKit/chromium/src/ChromeClientImpl.h
+++ b/Source/WebKit/chromium/src/ChromeClientImpl.h
@@ -33,8 +33,8 @@
#define ChromeClientImpl_h
#include "ChromeClientChromium.h"
+#include "NavigatorContentUtilsClient.h"
#include "PopupMenu.h"
-#include "RegisterProtocolHandlerClient.h"
#include "SearchPopupMenu.h"
#include "WebNavigationPolicy.h"
#include <public/WebColor.h>
@@ -50,6 +50,8 @@ class PopupContainer;
class PopupMenuClient;
class RenderBox;
class SecurityOrigin;
+class DateTimeChooser;
+class DateTimeChooserClient;
struct WindowFeatures;
}
@@ -144,6 +146,9 @@ public:
virtual PassOwnPtr<WebCore::ColorChooser> createColorChooser(WebCore::ColorChooserClient*, const WebCore::Color&) OVERRIDE;
PassOwnPtr<WebColorChooser> createWebColorChooser(WebColorChooserClient*, const WebColor&);
#endif
+#if ENABLE(CALENDAR_PICKER)
+ virtual PassOwnPtr<WebCore::DateTimeChooser> openDateTimeChooser(WebCore::DateTimeChooserClient*, const WebCore::DateTimeChooserParameters&) OVERRIDE;
+#endif
virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
virtual void loadIconForFiles(const Vector<WTF::String>&, WebCore::FileIconLoader*);
#if ENABLE(DIRECTORY_UPLOAD)
@@ -237,15 +242,15 @@ private:
#endif
};
-class RegisterProtocolHandlerClientImpl : public WebCore::RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClientImpl : public WebCore::NavigatorContentUtilsClient {
public:
- static PassOwnPtr<RegisterProtocolHandlerClientImpl> create(WebViewImpl*);
- ~RegisterProtocolHandlerClientImpl() { }
+ static PassOwnPtr<NavigatorContentUtilsClientImpl> create(WebViewImpl*);
+ ~NavigatorContentUtilsClientImpl() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) OVERRIDE;
private:
- explicit RegisterProtocolHandlerClientImpl(WebViewImpl*);
+ explicit NavigatorContentUtilsClientImpl(WebViewImpl*);
WebViewImpl* m_webView;
};
diff --git a/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp b/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
index adaa41392..2fd6431c1 100644
--- a/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
+++ b/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp
@@ -53,7 +53,6 @@
#include "KURL.h"
#include "MediaError.h"
#include "Page.h"
-#include "PlatformString.h"
#include "RenderWidget.h"
#include "Settings.h"
#include "TextBreakIterator.h"
@@ -75,6 +74,7 @@
#include "platform/WebVector.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -122,7 +122,7 @@ static String selectMisspelledWord(const ContextMenu* defaultMenu, Frame* select
// Selection is empty, so change the selection to the word under the cursor.
HitTestResult hitTestResult = selectedFrame->eventHandler()->
- hitTestResultAtPoint(selectedFrame->page()->contextMenuController()->hitTestResult().point(), true);
+ hitTestResultAtPoint(selectedFrame->page()->contextMenuController()->hitTestResult().point(), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
Node* innerNode = hitTestResult.innerNode();
VisiblePosition pos(innerNode->renderer()->positionForPoint(
hitTestResult.localPoint()));
diff --git a/Source/WebKit/chromium/src/DateTimeChooserImpl.cpp b/Source/WebKit/chromium/src/DateTimeChooserImpl.cpp
new file mode 100644
index 000000000..69718dcb6
--- /dev/null
+++ b/Source/WebKit/chromium/src/DateTimeChooserImpl.cpp
@@ -0,0 +1,132 @@
+/*
+ * Copyright (C) 2012 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 "DateTimeChooserImpl.h"
+
+#if ENABLE(CALENDAR_PICKER)
+
+#include "CalendarPicker.h"
+#include "ChromeClientImpl.h"
+#include "DateComponents.h"
+#include "DateTimeChooserClient.h"
+#include "Language.h"
+#include "LocalizedDate.h"
+#include "NotImplemented.h"
+#include "PickerCommon.h"
+#include "RenderTheme.h"
+#include "platform/WebKitPlatformSupport.h"
+#include <public/WebLocalizedString.h>
+
+using namespace WTF::Unicode;
+
+namespace WebKit {
+
+DateTimeChooserImpl::DateTimeChooserImpl(ChromeClientImpl* chromeClient, WebCore::DateTimeChooserClient* client, const WebCore::DateTimeChooserParameters& parameters)
+ : m_chromeClient(chromeClient)
+ , m_client(client)
+ , m_popup(0)
+ , m_parameters(parameters)
+{
+ ASSERT(m_chromeClient);
+ ASSERT(m_client);
+ m_popup = m_chromeClient->openPagePopup(this, m_parameters.anchorRectInRootView);
+}
+
+DateTimeChooserImpl::~DateTimeChooserImpl()
+{
+}
+
+void DateTimeChooserImpl::endChooser()
+{
+ if (!m_popup)
+ return;
+ m_chromeClient->closePagePopup(m_popup);
+}
+
+WebCore::IntSize DateTimeChooserImpl::contentSize()
+{
+ return WebCore::IntSize(0, 0);
+}
+
+void DateTimeChooserImpl::writeDocument(WebCore::DocumentWriter& writer)
+{
+ WebCore::DateComponents date;
+ date.setMillisecondsSinceEpochForDate(m_parameters.minimum);
+ String minString = date.toString();
+ date.setMillisecondsSinceEpochForDate(m_parameters.maximum);
+ String maxString = date.toString();
+ String stepString = String::number(m_parameters.step);
+
+ addString("<!DOCTYPE html><head><meta charset='UTF-8'><style>\n", writer);
+ writer.addData(WebCore::pickerCommonCss, sizeof(WebCore::pickerCommonCss));
+ writer.addData(WebCore::calendarPickerCss, sizeof(WebCore::calendarPickerCss));
+ CString extraStyle = WebCore::RenderTheme::defaultTheme()->extraCalendarPickerStyleSheet();
+ if (extraStyle.length())
+ writer.addData(extraStyle.data(), extraStyle.length());
+ addString("</style></head><body><div id=main>Loading...</div><script>\n"
+ "window.dialogArguments = {\n", writer);
+ addProperty("min", minString, writer);
+ addProperty("max", maxString, writer);
+ addProperty("step", stepString, writer);
+ addProperty("required", m_parameters.required, writer);
+ addProperty("currentValue", m_parameters.currentValue, writer);
+ addProperty("locale", WebCore::defaultLanguage(), writer);
+ addProperty("todayLabel", Platform::current()->queryLocalizedString(WebLocalizedString::CalendarToday), writer);
+ addProperty("clearLabel", Platform::current()->queryLocalizedString(WebLocalizedString::CalendarClear), writer);
+ addProperty("weekStartDay", WebCore::firstDayOfWeek(), writer);
+ addProperty("monthLabels", WebCore::monthLabels(), writer);
+ addProperty("dayLabels", WebCore::weekDayShortLabels(), writer);
+ Direction dir = direction(WebCore::monthLabels()[0][0]);
+ addProperty("isRTL", dir == RightToLeft || dir == RightToLeftArabic, writer);
+ addString("}\n", writer);
+
+ writer.addData(WebCore::pickerCommonJs, sizeof(WebCore::pickerCommonJs));
+ writer.addData(WebCore::calendarPickerJs, sizeof(WebCore::calendarPickerJs));
+ addString("</script></body>\n", writer);
+}
+
+void DateTimeChooserImpl::setValueAndClosePopup(int numValue, const String& stringValue)
+{
+ if (numValue >= 0)
+ m_client->didChooseValue(stringValue);
+ endChooser();
+}
+
+void DateTimeChooserImpl::didClosePopup()
+{
+ ASSERT(m_client);
+ m_popup = 0;
+ m_client->didEndChooser();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(CALENDAR_PICKER)
diff --git a/Source/WebKit/chromium/src/DateTimeChooserImpl.h b/Source/WebKit/chromium/src/DateTimeChooserImpl.h
new file mode 100644
index 000000000..e504592bc
--- /dev/null
+++ b/Source/WebKit/chromium/src/DateTimeChooserImpl.h
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2012 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 DateTimeChooserImpl_h
+#define DateTimeChooserImpl_h
+
+#include "DateTimeChooser.h"
+#include "PagePopupClient.h"
+
+#if ENABLE(CALENDAR_PICKER)
+
+namespace WebCore {
+class PagePopup;
+class DateTimeChooserClient;
+}
+
+namespace WebKit {
+
+class ChromeClientImpl;
+
+class DateTimeChooserImpl : public WebCore::DateTimeChooser, public WebCore::PagePopupClient {
+public:
+ DateTimeChooserImpl(ChromeClientImpl*, WebCore::DateTimeChooserClient*, const WebCore::DateTimeChooserParameters&);
+ virtual ~DateTimeChooserImpl();
+
+ // DateTimeChooser functions:
+ virtual void endChooser() OVERRIDE;
+
+private:
+ // PagePopupClient functions:
+ virtual WebCore::IntSize contentSize() OVERRIDE;
+ virtual void writeDocument(WebCore::DocumentWriter&) OVERRIDE;
+ virtual void setValueAndClosePopup(int, const String&) OVERRIDE;
+ virtual void didClosePopup() OVERRIDE;
+
+ ChromeClientImpl* m_chromeClient;
+ WebCore::DateTimeChooserClient* m_client;
+ WebCore::PagePopup* m_popup;
+ WebCore::DateTimeChooserParameters m_parameters;
+};
+
+}
+
+#endif // ENABLE(CALENDAR_PICKER)
+
+#endif // DateTimeChooserImpl_h
diff --git a/Source/WebKit/chromium/src/EditorClientImpl.cpp b/Source/WebKit/chromium/src/EditorClientImpl.cpp
index b5eaf595f..3046db32e 100644
--- a/Source/WebKit/chromium/src/EditorClientImpl.cpp
+++ b/Source/WebKit/chromium/src/EditorClientImpl.cpp
@@ -37,7 +37,6 @@
#include "KeyboardCodes.h"
#include "KeyboardEvent.h"
#include "PlatformKeyboardEvent.h"
-#include "PlatformString.h"
#include "RenderObject.h"
#include "Settings.h"
#include "SpellChecker.h"
@@ -61,6 +60,7 @@
#include "WebTextCheckingResult.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
@@ -849,6 +849,15 @@ void EditorClientImpl::getGuessesForWord(const String& word,
notImplemented();
}
+bool EditorClientImpl::supportsGlobalSelection()
+{
+#if OS(UNIX) && !OS(DARWIN)
+ return true;
+#else
+ return false;
+#endif
+}
+
void EditorClientImpl::willSetInputMethodState()
{
if (m_webView->client())
diff --git a/Source/WebKit/chromium/src/EditorClientImpl.h b/Source/WebKit/chromium/src/EditorClientImpl.h
index 3ee9ebaaa..a79bb9b1f 100644
--- a/Source/WebKit/chromium/src/EditorClientImpl.h
+++ b/Source/WebKit/chromium/src/EditorClientImpl.h
@@ -113,6 +113,7 @@ public:
virtual void willSetInputMethodState();
virtual void setInputMethodState(bool enabled);
virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>);
+ virtual bool supportsGlobalSelection() OVERRIDE;
virtual WebCore::TextCheckerClient* textChecker() { return this; }
diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 5dd02b563..c99bd7c57 100644
--- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -997,8 +997,7 @@ void FrameLoaderClientImpl::dispatchDecidePolicyForNavigationAction(
if (event->isMouseEvent()) {
const MouseEvent* mouseEvent =
static_cast<const MouseEvent*>(event);
- node = m_webFrame->frame()->eventHandler()->hitTestResultAtPoint(
- mouseEvent->absoluteLocation(), false).innerNonSharedNode();
+ node = m_webFrame->frame()->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation()).innerNonSharedNode();
break;
}
}
diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
index 4f257c77c..f2657a7bd 100644
--- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
+++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp
@@ -35,13 +35,13 @@
#include "Frame.h"
#include "InspectorFrontendHost.h"
#include "Page.h"
-#include "PlatformString.h"
#include "ScriptController.h"
#include "V8InspectorFrontendHost.h"
#include "WebDevToolsFrontendClient.h"
#include "WebDevToolsFrontendImpl.h"
#include "platform/WebFloatPoint.h"
#include "platform/WebString.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/chromium/src/LinkHighlight.cpp b/Source/WebKit/chromium/src/LinkHighlight.cpp
index 2c804a8cd..1e72900c4 100644
--- a/Source/WebKit/chromium/src/LinkHighlight.cpp
+++ b/Source/WebKit/chromium/src/LinkHighlight.cpp
@@ -41,7 +41,9 @@
#include "WebFrameImpl.h"
#include "WebKit.h"
#include "WebViewImpl.h"
+#include <public/Platform.h>
#include <public/WebAnimationCurve.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFloatAnimationCurve.h>
#include <public/WebFloatPoint.h>
#include <public/WebRect.h>
@@ -59,16 +61,16 @@ PassOwnPtr<LinkHighlight> LinkHighlight::create(Node* node, WebViewImpl* owningW
}
LinkHighlight::LinkHighlight(Node* node, WebViewImpl* owningWebViewImpl)
- : m_contentLayer(adoptPtr(WebContentLayer::create(this)))
- , m_clipLayer(adoptPtr(WebLayer::create()))
- , m_node(node)
+ : m_node(node)
, m_owningWebViewImpl(owningWebViewImpl)
, m_currentGraphicsLayer(0)
, m_geometryNeedsUpdate(false)
{
ASSERT(m_node);
ASSERT(owningWebViewImpl);
-
+ WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport();
+ m_contentLayer = adoptPtr(compositorSupport->createContentLayer(this));
+ m_clipLayer = adoptPtr(compositorSupport->createLayer());
m_clipLayer->setAnchorPoint(WebFloatPoint());
m_clipLayer->addChild(m_contentLayer->layer());
m_contentLayer->layer()->setDrawsContent(false);
@@ -147,7 +149,7 @@ bool LinkHighlight::computeHighlightLayerPathAndPosition(RenderLayer* compositin
return false;
bool pathHasChanged = false;
- FloatRect boundingRect = m_node->getPixelSnappedRect();
+ FloatRect boundingRect = m_node->pixelSnappedBoundingBox();
// FIXME: If we ever use a more sophisticated highlight path, we'll need
// to devise a way of detecting when it changes.
@@ -196,17 +198,21 @@ void LinkHighlight::startHighlightAnimation()
{
const float startOpacity = 1;
// FIXME: Should duration be configurable?
- const float duration = 2;
+ const float duration = 0.1f;
m_contentLayer->layer()->setOpacity(startOpacity);
- OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(WebFloatAnimationCurve::create());
+ WebCompositorSupport* compositorSupport = Platform::current()->compositorSupport();
+
+ OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(compositorSupport->createFloatAnimationCurve());
+
curve->add(WebFloatKeyframe(0, startOpacity));
curve->add(WebFloatKeyframe(duration / 2, startOpacity));
// For layout tests we don't fade out.
curve->add(WebFloatKeyframe(duration, WebKit::layoutTestMode() ? startOpacity : 0));
- m_animation = adoptPtr(WebAnimation::create(*curve, WebAnimation::TargetPropertyOpacity));
+ m_animation = adoptPtr(compositorSupport->createAnimation(*curve, WebAnimation::TargetPropertyOpacity));
+
m_contentLayer->layer()->setDrawsContent(true);
m_contentLayer->layer()->addAnimation(m_animation.get());
diff --git a/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp b/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp
index d22412ac8..5fa07ddad 100644
--- a/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp
+++ b/Source/WebKit/chromium/src/LocalFileSystemChromium.cpp
@@ -39,7 +39,6 @@
#include "FileSystemCallback.h"
#include "FileSystemCallbacks.h"
#include "FileSystemType.h"
-#include "PlatformString.h"
#include "WebFileError.h"
#include "WebFileSystemCallbacksImpl.h"
#include "WebFrameClient.h"
@@ -52,6 +51,7 @@
#include "WorkerThread.h"
#include <public/WebFileSystem.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
using namespace WebKit;
diff --git a/Source/WebKit/chromium/src/LocalizedStrings.cpp b/Source/WebKit/chromium/src/LocalizedStrings.cpp
index 2a4432d8a..40a009369 100644
--- a/Source/WebKit/chromium/src/LocalizedStrings.cpp
+++ b/Source/WebKit/chromium/src/LocalizedStrings.cpp
@@ -202,6 +202,58 @@ String AXMenuListActionVerb()
return String();
}
+#if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS)
+String AXAMPMFieldText()
+{
+ return query(WebLocalizedString::AXAMPMFieldText);
+}
+
+String AXDayOfMonthFieldText()
+{
+ return query(WebLocalizedString::AXDayOfMonthFieldText);
+}
+
+String AXDateTimeFieldEmptyValueText()
+{
+ return query(WebLocalizedString::AXDateTimeFieldEmptyValueText);
+}
+
+String AXHourFieldText()
+{
+ return query(WebLocalizedString::AXHourFieldText);
+}
+
+String AXMillisecondFieldText()
+{
+ return query(WebLocalizedString::AXMillisecondFieldText);
+}
+
+String AXMinuteFieldText()
+{
+ return query(WebLocalizedString::AXMinuteFieldText);
+}
+
+String AXMonthFieldText()
+{
+ return query(WebLocalizedString::AXMonthFieldText);
+}
+
+String AXSecondFieldText()
+{
+ return query(WebLocalizedString::AXSecondFieldText);
+}
+
+String AXWeekOfYearFieldText()
+{
+ return query(WebLocalizedString::AXWeekOfYearFieldText);
+}
+
+String AXYearFieldText()
+{
+ return query(WebLocalizedString::AXYearFieldText);
+}
+#endif
+
String missingPluginText()
{
return query(WebLocalizedString::MissingPluginText);
diff --git a/Source/WebKit/chromium/src/NonCompositedContentHost.cpp b/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
index 4df4204b3..ae99ba889 100644
--- a/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
+++ b/Source/WebKit/chromium/src/NonCompositedContentHost.cpp
@@ -42,13 +42,13 @@ NonCompositedContentHost::NonCompositedContentHost(WebViewImpl* webView)
: m_webView(webView)
, m_opaque(true)
, m_showDebugBorders(false)
- , m_deviceScaleFactor(1.0)
{
m_graphicsLayer = WebCore::GraphicsLayer::create(this);
#ifndef NDEBUG
m_graphicsLayer->setName("non-composited content");
#endif
m_graphicsLayer->setDrawsContent(true);
+ m_graphicsLayer->setAppliesPageScale(true);
WebContentLayer* layer = static_cast<WebCore::GraphicsLayerChromium*>(m_graphicsLayer.get())->contentLayer();
layer->setUseLCDText(true);
layer->layer()->setOpaque(true);
@@ -88,7 +88,7 @@ void NonCompositedContentHost::setScrollLayer(WebCore::GraphicsLayer* layer)
ASSERT(haveScrollLayer());
}
-void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, float deviceScale)
+void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin)
{
if (!haveScrollLayer())
return;
@@ -102,8 +102,6 @@ void NonCompositedContentHost::setViewport(const WebCore::IntSize& viewportSize,
// Due to the possibility of pinch zoom, the noncomposited layer is always
// assumed to be scrollable.
layer->setScrollable(true);
- m_deviceScaleFactor = deviceScale;
- m_graphicsLayer->deviceOrPageScaleFactorChanged();
m_graphicsLayer->setSize(contentsSize);
// In RTL-style pages, the origin of the initial containing block for the
diff --git a/Source/WebKit/chromium/src/NonCompositedContentHost.h b/Source/WebKit/chromium/src/NonCompositedContentHost.h
index 08b5f6a41..69776d90f 100644
--- a/Source/WebKit/chromium/src/NonCompositedContentHost.h
+++ b/Source/WebKit/chromium/src/NonCompositedContentHost.h
@@ -58,7 +58,7 @@ public:
void setBackgroundColor(const WebCore::Color&);
void setOpaque(bool);
void setScrollLayer(WebCore::GraphicsLayer*);
- void setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin, float deviceScale);
+ void setViewport(const WebCore::IntSize& viewportSize, const WebCore::IntSize& contentsSize, const WebCore::IntPoint& scrollPosition, const WebCore::IntPoint& scrollOrigin);
WebCore::GraphicsLayer* topLevelRootLayer() const { return m_graphicsLayer.get(); }
void setShowDebugBorders(bool);
@@ -73,11 +73,6 @@ private:
virtual void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect& clipRect);
virtual bool showDebugBorders(const WebCore::GraphicsLayer*) const;
virtual bool showRepaintCounter(const WebCore::GraphicsLayer*) const;
- // The deviceScaleFactor given to the GraphicsLayer can be non-1 when the
- // contents are scaled in the compositor instead of by the pageScaleFactor.
- // However, the pageScaleFactor is always baked into the GraphicsLayer's
- // size, so it is always 1 for the GraphicsLayer.
- virtual float deviceScaleFactor() const OVERRIDE { return m_deviceScaleFactor; }
bool haveScrollLayer();
WebLayer* scrollLayer();
@@ -89,7 +84,6 @@ private:
bool m_opaque;
bool m_showDebugBorders;
- float m_deviceScaleFactor;
};
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/PlatformSupport.cpp b/Source/WebKit/chromium/src/PlatformSupport.cpp
index aca97d0a3..762055497 100644
--- a/Source/WebKit/chromium/src/PlatformSupport.cpp
+++ b/Source/WebKit/chromium/src/PlatformSupport.cpp
@@ -31,8 +31,6 @@
#include "config.h"
#include "PlatformSupport.h"
-#include <googleurl/src/url_util.h>
-
#include "Chrome.h"
#include "ChromeClientImpl.h"
#include "FileMetadata.h"
@@ -41,8 +39,6 @@
#include "WebFileUtilities.h"
#include "WebFrameClient.h"
#include "WebFrameImpl.h"
-#include "WebIDBKey.h"
-#include "WebIDBKeyPath.h"
#include "WebKit.h"
#include "WebPluginContainerImpl.h"
#include "WebPluginListBuilderImpl.h"
@@ -257,23 +253,6 @@ void PlatformSupport::getFontFamilyForCharacters(const UChar* characters, size_t
#endif
}
-void PlatformSupport::getRenderStyleForStrike(const char* font, int sizeAndStyle, FontRenderStyle* result)
-{
- WebFontRenderStyle style;
-
-#if OS(ANDROID)
- style.setDefaults();
-#else
- if (!font || !*font)
- style.setDefaults(); // It's probably a webfont. Take the system defaults.
- else if (WebKit::Platform::current()->sandboxSupport())
- WebKit::Platform::current()->sandboxSupport()->getRenderStyleForStrike(font, sizeAndStyle, &style);
- else
- WebFontInfo::renderStyleForStrike(font, sizeAndStyle, &style);
-#endif
-
- style.toFontRenderStyle(result);
-}
#endif
// Indexed Database -----------------------------------------------------------
@@ -285,23 +264,6 @@ PassRefPtr<IDBFactoryBackendInterface> PlatformSupport::idbFactory()
return IDBFactoryBackendProxy::create();
}
-void PlatformSupport::createIDBKeysFromSerializedValuesAndKeyPath(const Vector<RefPtr<SerializedScriptValue> >& values, const IDBKeyPath& keyPath, Vector<RefPtr<IDBKey> >& keys)
-{
- WebVector<WebSerializedScriptValue> webValues = values;
- WebVector<WebIDBKey> webKeys;
- webKitPlatformSupport()->createIDBKeysFromSerializedValuesAndKeyPath(webValues, keyPath, webKeys);
-
- size_t webKeysSize = webKeys.size();
- keys.reserveCapacity(webKeysSize);
- for (size_t i = 0; i < webKeysSize; ++i)
- keys.append(PassRefPtr<IDBKey>(webKeys[i]));
-}
-
-PassRefPtr<SerializedScriptValue> PlatformSupport::injectIDBKeyIntoSerializedValue(PassRefPtr<IDBKey> key, PassRefPtr<SerializedScriptValue> value, const IDBKeyPath& keyPath)
-{
- return webKitPlatformSupport()->injectIDBKeyIntoSerializedValue(key, value, keyPath);
-}
-
// Plugin ---------------------------------------------------------------------
bool PlatformSupport::plugins(bool refresh, Vector<PluginInfo>* results)
@@ -319,20 +281,6 @@ NPObject* PlatformSupport::pluginScriptableObject(Widget* widget)
return static_cast<WebPluginContainerImpl*>(widget)->scriptableObject();
}
-// Resources ------------------------------------------------------------------
-
-#if ENABLE(WEB_AUDIO)
-
-PassOwnPtr<AudioBus> PlatformSupport::decodeAudioFileData(const char* data, size_t size, double sampleRate)
-{
- WebAudioBus webAudioBus;
- if (webKitPlatformSupport()->loadAudioResource(&webAudioBus, data, size, sampleRate))
- return webAudioBus.release();
- return nullptr;
-}
-
-#endif // ENABLE(WEB_AUDIO)
-
// Theming --------------------------------------------------------------------
#if OS(WINDOWS)
@@ -547,51 +495,6 @@ void PlatformSupport::paintThemePart(
#endif
-// Visited Links --------------------------------------------------------------
-
-LinkHash PlatformSupport::visitedLinkHash(const UChar* url, unsigned length)
-{
- url_canon::RawCanonOutput<2048> buffer;
- url_parse::Parsed parsed;
- if (!url_util::Canonicalize(url, length, 0, &buffer, &parsed))
- return 0; // Invalid URLs are unvisited.
- return webKitPlatformSupport()->visitedLinkHash(buffer.data(), buffer.length());
-}
-
-LinkHash PlatformSupport::visitedLinkHash(const KURL& base,
- const AtomicString& attributeURL)
-{
- // Resolve the relative URL using googleurl and pass the absolute URL up to
- // the embedder. We could create a GURL object from the base and resolve
- // the relative URL that way, but calling the lower-level functions
- // directly saves us the string allocation in most cases.
- url_canon::RawCanonOutput<2048> buffer;
- url_parse::Parsed parsed;
-
-#if USE(GOOGLEURL)
- const CString& cstr = base.utf8String();
- const char* data = cstr.data();
- int length = cstr.length();
- const url_parse::Parsed& srcParsed = base.parsed();
-#else
- // When we're not using GoogleURL, first canonicalize it so we can resolve it
- // below.
- url_canon::RawCanonOutput<2048> srcCanon;
- url_parse::Parsed srcParsed;
- String str = base.string();
- if (!url_util::Canonicalize(str.characters(), str.length(), 0, &srcCanon, &srcParsed))
- return 0;
- const char* data = srcCanon.data();
- int length = srcCanon.length();
-#endif
-
- if (!url_util::ResolveRelative(data, length, srcParsed, attributeURL.characters(),
- attributeURL.length(), 0, &buffer, &parsed))
- return 0; // Invalid resolved URL.
-
- return webKitPlatformSupport()->visitedLinkHash(buffer.data(), buffer.length());
-}
-
// These are temporary methods that the WebKit layer can use to call to the
// Glue layer. Once the Glue layer moves entirely into the WebKit layer, these
// methods will be deleted.
diff --git a/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp b/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp
index 147f40e13..09176ee98 100644
--- a/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp
+++ b/Source/WebKit/chromium/src/SpeechInputClientImpl.cpp
@@ -31,7 +31,6 @@
#include "config.h"
#include "SpeechInputClientImpl.h"
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include "SpeechInputListener.h"
#include "WebSecurityOrigin.h"
@@ -39,6 +38,7 @@
#include "platform/WebString.h"
#include "WebViewClient.h"
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(INPUT_SPEECH)
diff --git a/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h b/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h
index 750cbae5c..312e88b13 100644
--- a/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h
+++ b/Source/WebKit/chromium/src/SpeechRecognitionClientProxy.h
@@ -26,11 +26,11 @@
#ifndef SpeechRecognitionClientProxy_h
#define SpeechRecognitionClientProxy_h
-#include "PlatformString.h"
#include "SpeechRecognitionClient.h"
#include "WebSpeechRecognizerClient.h"
#include <wtf/Compiler.h>
#include <wtf/PassOwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
index 1eb69d28f..f559715d9 100644
--- a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
+++ b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp
@@ -50,6 +50,7 @@
#include "platform/WebRect.h"
#include "platform/WebString.h"
#include "platform/WebURL.h"
+#include <wtf/text/StringBuilder.h>
using namespace WebCore;
@@ -95,16 +96,21 @@ int WebAccessibilityObject::axID() const
if (isDetached())
return -1;
- m_private->updateBackingStore();
return m_private->axObjectID();
}
+bool WebAccessibilityObject::updateBackingStoreAndCheckValidity()
+{
+ if (!isDetached())
+ m_private->updateBackingStore();
+ return !isDetached();
+}
+
WebString WebAccessibilityObject::accessibilityDescription() const
{
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->accessibilityDescription();
}
@@ -113,7 +119,6 @@ WebString WebAccessibilityObject::actionVerb() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->actionVerb();
}
@@ -122,7 +127,6 @@ bool WebAccessibilityObject::canSetFocusAttribute() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->canSetFocusAttribute();
}
@@ -131,25 +135,14 @@ bool WebAccessibilityObject::canSetValueAttribute() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->canSetValueAttribute();
}
-bool WebAccessibilityObject::isValid() const
-{
- if (isDetached())
- return false;
-
- m_private->updateBackingStore();
- return m_private->axObjectID();
-}
-
unsigned WebAccessibilityObject::childCount() const
{
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->children().size();
}
@@ -158,7 +151,6 @@ WebAccessibilityObject WebAccessibilityObject::childAt(unsigned index) const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
if (m_private->children().size() <= index)
return WebAccessibilityObject();
@@ -170,7 +162,6 @@ WebAccessibilityObject WebAccessibilityObject::firstChild() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->firstChild());
}
@@ -179,7 +170,6 @@ WebAccessibilityObject WebAccessibilityObject::focusedChild() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
RefPtr<AccessibilityObject> focused = m_private->focusedUIElement();
if (m_private.get() == focused.get() || m_private.get() == focused->parentObject())
return WebAccessibilityObject(focused);
@@ -192,7 +182,6 @@ WebAccessibilityObject WebAccessibilityObject::lastChild() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->lastChild());
}
@@ -202,7 +191,6 @@ WebAccessibilityObject WebAccessibilityObject::nextSibling() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->nextSibling());
}
@@ -211,7 +199,6 @@ WebAccessibilityObject WebAccessibilityObject::parentObject() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->parentObject());
}
@@ -221,7 +208,6 @@ WebAccessibilityObject WebAccessibilityObject::previousSibling() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->previousSibling());
}
@@ -230,7 +216,6 @@ bool WebAccessibilityObject::canSetSelectedAttribute() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->canSetSelectedAttribute();
}
@@ -239,7 +224,6 @@ bool WebAccessibilityObject::isAnchor() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isAnchor();
}
@@ -248,7 +232,6 @@ bool WebAccessibilityObject::isAriaReadOnly() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return equalIgnoringCase(m_private->getAttribute(HTMLNames::aria_readonlyAttr), "true");
}
@@ -257,7 +240,6 @@ bool WebAccessibilityObject::isButtonStateMixed() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->checkboxOrRadioValue() == ButtonStateMixed;
}
@@ -266,7 +248,6 @@ bool WebAccessibilityObject::isChecked() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isChecked();
}
@@ -275,7 +256,6 @@ bool WebAccessibilityObject::isCollapsed() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isCollapsed();
}
@@ -284,7 +264,6 @@ bool WebAccessibilityObject::isControl() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isControl();
}
@@ -293,7 +272,6 @@ bool WebAccessibilityObject::isEnabled() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isEnabled();
}
@@ -302,7 +280,6 @@ bool WebAccessibilityObject::isFocused() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isFocused();
}
@@ -311,7 +288,6 @@ bool WebAccessibilityObject::isHovered() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isHovered();
}
@@ -320,7 +296,6 @@ bool WebAccessibilityObject::isIndeterminate() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isIndeterminate();
}
@@ -329,7 +304,6 @@ bool WebAccessibilityObject::isLinked() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isLinked();
}
@@ -338,7 +312,6 @@ bool WebAccessibilityObject::isLoaded() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isLoaded();
}
@@ -347,7 +320,6 @@ bool WebAccessibilityObject::isMultiSelectable() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isMultiSelectable();
}
@@ -356,7 +328,6 @@ bool WebAccessibilityObject::isOffScreen() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isOffScreen();
}
@@ -365,7 +336,6 @@ bool WebAccessibilityObject::isPasswordField() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isPasswordField();
}
@@ -374,7 +344,6 @@ bool WebAccessibilityObject::isPressed() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isPressed();
}
@@ -383,7 +352,6 @@ bool WebAccessibilityObject::isReadOnly() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isReadOnly();
}
@@ -392,7 +360,6 @@ bool WebAccessibilityObject::isRequired() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isRequired();
}
@@ -401,7 +368,6 @@ bool WebAccessibilityObject::isSelected() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isSelected();
}
@@ -410,7 +376,6 @@ bool WebAccessibilityObject::isSelectedOptionActive() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->isSelectedOptionActive();
}
@@ -419,7 +384,6 @@ bool WebAccessibilityObject::isVertical() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->orientation() == AccessibilityOrientationVertical;
}
@@ -428,7 +392,6 @@ bool WebAccessibilityObject::isVisible() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isVisible();
}
@@ -437,7 +400,6 @@ bool WebAccessibilityObject::isVisited() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->isVisited();
}
@@ -446,7 +408,6 @@ WebString WebAccessibilityObject::accessKey() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return WebString(m_private->accessKey());
}
@@ -455,7 +416,6 @@ bool WebAccessibilityObject::ariaHasPopup() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->ariaHasPopup();
}
@@ -464,7 +424,6 @@ bool WebAccessibilityObject::ariaLiveRegionAtomic() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->ariaLiveRegionAtomic();
}
@@ -473,7 +432,6 @@ bool WebAccessibilityObject::ariaLiveRegionBusy() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->ariaLiveRegionBusy();
}
@@ -482,7 +440,6 @@ WebString WebAccessibilityObject::ariaLiveRegionRelevant() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->ariaLiveRegionRelevant();
}
@@ -491,7 +448,6 @@ WebString WebAccessibilityObject::ariaLiveRegionStatus() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->ariaLiveRegionStatus();
}
@@ -500,16 +456,22 @@ WebRect WebAccessibilityObject::boundingBoxRect() const
if (isDetached())
return WebRect();
- m_private->updateBackingStore();
return m_private->pixelSnappedBoundingBoxRect();
}
+bool WebAccessibilityObject::canvasHasFallbackContent() const
+{
+ if (isDetached())
+ return false;
+
+ return m_private->canvasHasFallbackContent();
+}
+
double WebAccessibilityObject::estimatedLoadingProgress() const
{
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->estimatedLoadingProgress();
}
@@ -518,7 +480,6 @@ WebString WebAccessibilityObject::helpText() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->helpText();
}
@@ -527,7 +488,6 @@ int WebAccessibilityObject::headingLevel() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->headingLevel();
}
@@ -536,7 +496,6 @@ int WebAccessibilityObject::hierarchicalLevel() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->hierarchicalLevel();
}
@@ -545,7 +504,6 @@ WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) co
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
IntPoint contentsPoint = m_private->documentFrameView()->windowToContents(point);
RefPtr<AccessibilityObject> hit = m_private->accessibilityHitTest(contentsPoint);
@@ -563,7 +521,6 @@ WebString WebAccessibilityObject::keyboardShortcut() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
String accessKey = m_private->accessKey();
if (accessKey.isNull())
return WebString();
@@ -574,14 +531,16 @@ WebString WebAccessibilityObject::keyboardShortcut() const
// Follow the same order as Mozilla MSAA implementation:
// Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings
// should not be localized and defines the separator as "+".
+ StringBuilder modifierStringBuilder;
if (modifiers & PlatformEvent::CtrlKey)
- modifierString += "Ctrl+";
+ modifierStringBuilder.appendLiteral("Ctrl+");
if (modifiers & PlatformEvent::AltKey)
- modifierString += "Alt+";
+ modifierStringBuilder.appendLiteral("Alt+");
if (modifiers & PlatformEvent::ShiftKey)
- modifierString += "Shift+";
+ modifierStringBuilder.appendLiteral("Shift+");
if (modifiers & PlatformEvent::MetaKey)
- modifierString += "Win+";
+ modifierStringBuilder.appendLiteral("Win+");
+ modifierString = modifierStringBuilder.toString();
}
return String(modifierString + accessKey);
@@ -594,7 +553,6 @@ bool WebAccessibilityObject::performDefaultAction() const
UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture);
- m_private->updateBackingStore();
return m_private->performDefaultAction();
}
@@ -603,7 +561,6 @@ WebAccessibilityRole WebAccessibilityObject::roleValue() const
if (isDetached())
return WebKit::WebAccessibilityRoleUnknown;
- m_private->updateBackingStore();
return static_cast<WebAccessibilityRole>(m_private->roleValue());
}
@@ -612,7 +569,6 @@ unsigned WebAccessibilityObject::selectionEnd() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->selectedTextRange().start + m_private->selectedTextRange().length;
}
@@ -621,7 +577,6 @@ unsigned WebAccessibilityObject::selectionStart() const
if (isDetached())
return 0;
- m_private->updateBackingStore();
return m_private->selectedTextRange().start;
}
@@ -636,7 +591,6 @@ WebString WebAccessibilityObject::stringValue() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->stringValue();
}
@@ -645,7 +599,6 @@ WebString WebAccessibilityObject::title() const
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->title();
}
@@ -654,7 +607,6 @@ WebAccessibilityObject WebAccessibilityObject::titleUIElement() const
if (isDetached())
return WebAccessibilityObject();
- m_private->updateBackingStore();
return WebAccessibilityObject(m_private->titleUIElement());
}
@@ -663,16 +615,22 @@ WebURL WebAccessibilityObject::url() const
if (isDetached())
return WebURL();
- m_private->updateBackingStore();
return m_private->url();
}
+bool WebAccessibilityObject::supportsRangeValue() const
+{
+ if (isDetached())
+ return false;
+
+ return m_private->supportsRangeValue();
+}
+
WebString WebAccessibilityObject::valueDescription() const
{
if (isDetached())
return WebString();
- m_private->updateBackingStore();
return m_private->valueDescription();
}
@@ -681,7 +639,6 @@ float WebAccessibilityObject::valueForRange() const
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->valueForRange();
}
@@ -690,7 +647,6 @@ float WebAccessibilityObject::maxValueForRange() const
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->maxValueForRange();
}
@@ -699,7 +655,6 @@ float WebAccessibilityObject::minValueForRange() const
if (isDetached())
return 0.0;
- m_private->updateBackingStore();
return m_private->minValueForRange();
}
@@ -708,8 +663,6 @@ WebNode WebAccessibilityObject::node() const
if (isDetached())
return WebNode();
- m_private->updateBackingStore();
-
Node* node = m_private->node();
if (!node)
return WebNode();
@@ -722,8 +675,6 @@ WebDocument WebAccessibilityObject::document() const
if (isDetached())
return WebDocument();
- m_private->updateBackingStore();
-
Document* document = m_private->document();
if (!document)
return WebDocument();
@@ -772,7 +723,6 @@ bool WebAccessibilityObject::accessibilityIsIgnored() const
if (isDetached())
return false;
- m_private->updateBackingStore();
return m_private->accessibilityIsIgnored();
}
@@ -781,7 +731,6 @@ bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const
if (isDetached())
return false;
- m_private->updateBackingStore();
int textLength = m_private->textLength();
if (!textLength)
return false;
@@ -805,7 +754,6 @@ unsigned WebAccessibilityObject::columnCount() const
if (isDetached())
return false;
- m_private->updateBackingStore();
if (!m_private->isAccessibilityTable())
return 0;
@@ -817,7 +765,6 @@ unsigned WebAccessibilityObject::rowCount() const
if (isDetached())
return false;
- m_private->updateBackingStore();
if (!m_private->isAccessibilityTable())
return 0;
@@ -826,7 +773,9 @@ unsigned WebAccessibilityObject::rowCount() const
WebAccessibilityObject WebAccessibilityObject::cellForColumnAndRow(unsigned column, unsigned row) const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return WebAccessibilityObject();
+
if (!m_private->isAccessibilityTable())
return WebAccessibilityObject();
@@ -836,7 +785,9 @@ WebAccessibilityObject WebAccessibilityObject::cellForColumnAndRow(unsigned colu
unsigned WebAccessibilityObject::cellColumnIndex() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -847,7 +798,9 @@ unsigned WebAccessibilityObject::cellColumnIndex() const
unsigned WebAccessibilityObject::cellColumnSpan() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -858,7 +811,9 @@ unsigned WebAccessibilityObject::cellColumnSpan() const
unsigned WebAccessibilityObject::cellRowIndex() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -869,7 +824,9 @@ unsigned WebAccessibilityObject::cellRowIndex() const
unsigned WebAccessibilityObject::cellRowSpan() const
{
- m_private->updateBackingStore();
+ if (isDetached())
+ return 0;
+
if (!m_private->isTableCell())
return 0;
@@ -880,20 +837,20 @@ unsigned WebAccessibilityObject::cellRowSpan() const
void WebAccessibilityObject::scrollToMakeVisible() const
{
- m_private->updateBackingStore();
- m_private->scrollToMakeVisible();
+ if (!isDetached())
+ m_private->scrollToMakeVisible();
}
void WebAccessibilityObject::scrollToMakeVisibleWithSubFocus(const WebRect& subfocus) const
{
- m_private->updateBackingStore();
- m_private->scrollToMakeVisibleWithSubFocus(subfocus);
+ if (!isDetached())
+ m_private->scrollToMakeVisibleWithSubFocus(subfocus);
}
void WebAccessibilityObject::scrollToGlobalPoint(const WebPoint& point) const
{
- m_private->updateBackingStore();
- m_private->scrollToGlobalPoint(point);
+ if (!isDetached())
+ m_private->scrollToGlobalPoint(point);
}
WebAccessibilityObject::WebAccessibilityObject(const WTF::PassRefPtr<WebCore::AccessibilityObject>& object)
diff --git a/Source/WebKit/chromium/src/WebAnimationImpl.cpp b/Source/WebKit/chromium/src/WebAnimationImpl.cpp
index e5d9ef2a3..b5a94d714 100644
--- a/Source/WebKit/chromium/src/WebAnimationImpl.cpp
+++ b/Source/WebKit/chromium/src/WebAnimationImpl.cpp
@@ -26,7 +26,6 @@
#include "WebAnimationImpl.h"
-#include "AnimationIdVendor.h"
#include "CCActiveAnimation.h"
#include "CCAnimationCurve.h"
#include "WebFloatAnimationCurveImpl.h"
@@ -36,23 +35,24 @@
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
-using WebCore::AnimationIdVendor;
using WebCore::CCActiveAnimation;
namespace WebKit {
-WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetProperty targetProperty)
+WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, TargetProperty targetProperty, int animationId)
{
- return WebAnimation::create(curve, AnimationIdVendor::getNextAnimationId(), AnimationIdVendor::getNextGroupId(), targetProperty);
+ return new WebAnimationImpl(curve, targetProperty, animationId, 0);
}
-WebAnimation* WebAnimation::create(const WebAnimationCurve& curve, int animationId, int groupId, TargetProperty targetProperty)
+WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, TargetProperty targetProperty, int animationId, int groupId)
{
- return new WebAnimationImpl(curve, animationId, groupId, targetProperty);
-}
+ static int nextAnimationId = 1;
+ static int nextGroupId = 1;
+ if (!animationId)
+ animationId = nextAnimationId++;
+ if (!groupId)
+ groupId = nextGroupId++;
-WebAnimationImpl::WebAnimationImpl(const WebAnimationCurve& webCurve, int animationId, int groupId, TargetProperty targetProperty)
-{
WebAnimationCurve::AnimationCurveType curveType = webCurve.type();
OwnPtr<WebCore::CCAnimationCurve> curve;
switch (curveType) {
@@ -74,6 +74,11 @@ WebAnimationImpl::~WebAnimationImpl()
{
}
+int WebAnimationImpl::id()
+{
+ return m_animation->id();
+}
+
WebAnimation::TargetProperty WebAnimationImpl::targetProperty() const
{
return static_cast<WebAnimationImpl::TargetProperty>(m_animation->targetProperty());
diff --git a/Source/WebKit/chromium/src/WebAnimationImpl.h b/Source/WebKit/chromium/src/WebAnimationImpl.h
index d7ceba51f..ccf451786 100644
--- a/Source/WebKit/chromium/src/WebAnimationImpl.h
+++ b/Source/WebKit/chromium/src/WebAnimationImpl.h
@@ -37,10 +37,11 @@ namespace WebKit {
class WebAnimationImpl : public WebAnimation {
public:
- WebAnimationImpl(const WebAnimationCurve&, int animationId, int groupId, TargetProperty);
+ WebAnimationImpl(const WebAnimationCurve&, TargetProperty, int animationId, int groupId = 0);
virtual ~WebAnimationImpl();
// WebAnimation implementation
+ virtual int id() OVERRIDE;
virtual TargetProperty targetProperty() const OVERRIDE;
virtual int iterations() const OVERRIDE;
virtual void setIterations(int) OVERRIDE;
diff --git a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
index 8084d715c..16222ac4f 100644
--- a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.cpp
@@ -27,63 +27,16 @@
#include "WebCompositorInputHandlerImpl.h"
-#include "CCActiveGestureAnimation.h"
-#include "CCProxy.h"
+#include "PlatformGestureCurveFactory.h"
#include "PlatformGestureCurveTarget.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
#include "TraceEvent.h"
-#include "WebCompositorImpl.h"
#include "WebCompositorInputHandlerClient.h"
#include "WebInputEvent.h"
+#include <public/WebInputHandlerClient.h>
#include <wtf/ThreadingPrimitives.h>
using namespace WebCore;
-namespace WebCore {
-
-PassOwnPtr<CCInputHandler> CCInputHandler::create(CCInputHandlerClient* inputHandlerClient)
-{
- return WebKit::WebCompositorInputHandlerImpl::create(inputHandlerClient);
-}
-
-class PlatformGestureToCCGestureAdapter : public CCGestureCurve, public PlatformGestureCurveTarget {
-public:
- static PassOwnPtr<CCGestureCurve> create(PassOwnPtr<PlatformGestureCurve> platformCurve)
- {
- return adoptPtr(new PlatformGestureToCCGestureAdapter(platformCurve));
- }
-
- virtual const char* debugName() const
- {
- return m_curve->debugName();
- }
-
- virtual bool apply(double time, CCGestureCurveTarget* target)
- {
- ASSERT(target);
- m_target = target;
- return m_curve->apply(time, this);
- }
-
- virtual void scrollBy(const IntPoint& scrollDelta)
- {
- ASSERT(m_target);
- m_target->scrollBy(scrollDelta);
- }
-
-private:
- PlatformGestureToCCGestureAdapter(PassOwnPtr<PlatformGestureCurve> curve)
- : m_curve(curve)
- , m_target(0)
- {
- }
-
- OwnPtr<PlatformGestureCurve> m_curve;
- CCGestureCurveTarget* m_target;
-};
-
-}
-
namespace WebKit {
// These statics may only be accessed from the compositor thread.
@@ -95,15 +48,8 @@ WebCompositorInputHandler* WebCompositorInputHandler::fromIdentifier(int identif
return WebCompositorInputHandlerImpl::fromIdentifier(identifier);
}
-PassOwnPtr<WebCompositorInputHandlerImpl> WebCompositorInputHandlerImpl::create(WebCore::CCInputHandlerClient* inputHandlerClient)
-{
- return adoptPtr(new WebCompositorInputHandlerImpl(inputHandlerClient));
-}
-
WebCompositorInputHandler* WebCompositorInputHandlerImpl::fromIdentifier(int identifier)
{
- ASSERT(WebCompositorImpl::initialized());
- ASSERT(CCProxy::isImplThread());
if (!s_compositors)
return 0;
@@ -115,26 +61,20 @@ WebCompositorInputHandler* WebCompositorInputHandlerImpl::fromIdentifier(int ide
return 0;
}
-WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl(CCInputHandlerClient* inputHandlerClient)
+WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl()
: m_client(0)
, m_identifier(s_nextAvailableIdentifier++)
- , m_inputHandlerClient(inputHandlerClient)
+ , m_inputHandlerClient(0)
#ifndef NDEBUG
, m_expectScrollUpdateEnd(false)
, m_expectPinchUpdateEnd(false)
#endif
, m_gestureScrollStarted(false)
{
- ASSERT(CCProxy::isImplThread());
-
- if (!s_compositors)
- s_compositors = new HashSet<WebCompositorInputHandlerImpl*>;
- s_compositors->add(this);
}
WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl()
{
- ASSERT(CCProxy::isImplThread());
if (m_client)
m_client->willShutdown();
@@ -148,7 +88,6 @@ WebCompositorInputHandlerImpl::~WebCompositorInputHandlerImpl()
void WebCompositorInputHandlerImpl::setClient(WebCompositorInputHandlerClient* client)
{
- ASSERT(CCProxy::isImplThread());
// It's valid to set a new client if we've never had one or to clear the client, but it's not valid to change from having one client to a different one.
ASSERT(!m_client || !client);
m_client = client;
@@ -156,7 +95,6 @@ void WebCompositorInputHandlerImpl::setClient(WebCompositorInputHandlerClient* c
void WebCompositorInputHandlerImpl::handleInputEvent(const WebInputEvent& event)
{
- ASSERT(CCProxy::isImplThread());
ASSERT(m_client);
WebCompositorInputHandlerImpl::EventDisposition disposition = handleInputEventInternal(event);
@@ -177,19 +115,19 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
{
if (event.type == WebInputEvent::MouseWheel) {
const WebMouseWheelEvent& wheelEvent = *static_cast<const WebMouseWheelEvent*>(&event);
- CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(wheelEvent.x, wheelEvent.y), CCInputHandlerClient::Wheel);
+ WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(wheelEvent.x, wheelEvent.y), WebInputHandlerClient::ScrollInputTypeWheel);
switch (scrollStatus) {
- case CCInputHandlerClient::ScrollStarted: {
+ case WebInputHandlerClient::ScrollStatusStarted: {
TRACE_EVENT_INSTANT2("cc", "WebCompositorInputHandlerImpl::handleInput wheel scroll", "deltaX", -wheelEvent.deltaX, "deltaY", -wheelEvent.deltaY);
- m_inputHandlerClient->scrollBy(IntPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY));
+ m_inputHandlerClient->scrollBy(WebPoint(wheelEvent.x, wheelEvent.y), IntSize(-wheelEvent.deltaX, -wheelEvent.deltaY));
m_inputHandlerClient->scrollEnd();
return DidHandle;
}
- case CCInputHandlerClient::ScrollIgnored:
+ case WebInputHandlerClient::ScrollStatusIgnored:
// FIXME: This should be DropEvent, but in cases where we fail to properly sync scrollability it's safer to send the
// event to the main thread. Change back to DropEvent once we have synchronization bugs sorted out.
return DidNotHandle;
- case CCInputHandlerClient::ScrollOnMainThread:
+ case WebInputHandlerClient::ScrollStatusOnMainThread:
return DidNotHandle;
}
} else if (event.type == WebInputEvent::GestureScrollBegin) {
@@ -199,14 +137,14 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
m_expectScrollUpdateEnd = true;
#endif
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
- CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(gestureEvent.x, gestureEvent.y), CCInputHandlerClient::Gesture);
+ WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(gestureEvent.x, gestureEvent.y), WebInputHandlerClient::ScrollInputTypeGesture);
switch (scrollStatus) {
- case CCInputHandlerClient::ScrollStarted:
+ case WebInputHandlerClient::ScrollStatusStarted:
m_gestureScrollStarted = true;
return DidHandle;
- case CCInputHandlerClient::ScrollOnMainThread:
+ case WebInputHandlerClient::ScrollStatusOnMainThread:
return DidNotHandle;
- case CCInputHandlerClient::ScrollIgnored:
+ case WebInputHandlerClient::ScrollStatusIgnored:
return DropEvent;
}
} else if (event.type == WebInputEvent::GestureScrollUpdate) {
@@ -216,7 +154,8 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
return DidNotHandle;
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
- m_inputHandlerClient->scrollBy(IntPoint(gestureEvent.x, gestureEvent.y), IntSize(-gestureEvent.deltaX, -gestureEvent.deltaY));
+ m_inputHandlerClient->scrollBy(WebPoint(gestureEvent.x, gestureEvent.y),
+ IntSize(-gestureEvent.data.scrollUpdate.deltaX, -gestureEvent.data.scrollUpdate.deltaY));
return DidHandle;
} else if (event.type == WebInputEvent::GestureScrollEnd) {
ASSERT(m_expectScrollUpdateEnd);
@@ -246,7 +185,7 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
} else if (event.type == WebInputEvent::GesturePinchUpdate) {
ASSERT(m_expectPinchUpdateEnd);
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
- m_inputHandlerClient->pinchGestureUpdate(gestureEvent.deltaX, IntPoint(gestureEvent.x, gestureEvent.y));
+ m_inputHandlerClient->pinchGestureUpdate(gestureEvent.data.pinchUpdate.scale, WebPoint(gestureEvent.x, gestureEvent.y));
return DidHandle;
} else if (event.type == WebInputEvent::GestureFlingStart) {
const WebGestureEvent& gestureEvent = *static_cast<const WebGestureEvent*>(&event);
@@ -263,24 +202,24 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::handleGestureFling(const WebGestureEvent& gestureEvent)
{
- CCInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(IntPoint(gestureEvent.x, gestureEvent.y), CCInputHandlerClient::Gesture);
+ WebInputHandlerClient::ScrollStatus scrollStatus = m_inputHandlerClient->scrollBegin(WebPoint(gestureEvent.x, gestureEvent.y), WebInputHandlerClient::ScrollInputTypeGesture);
switch (scrollStatus) {
- case CCInputHandlerClient::ScrollStarted: {
- TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started");
- OwnPtr<PlatformGestureCurve> flingCurve = TouchpadFlingPlatformGestureCurve::create(FloatPoint(gestureEvent.deltaX, gestureEvent.deltaY));
- m_wheelFlingAnimation = CCActiveGestureAnimation::create(PlatformGestureToCCGestureAdapter::create(flingCurve.release()), this);
- m_wheelFlingParameters.delta = WebFloatPoint(gestureEvent.deltaX, gestureEvent.deltaY);
+ case WebInputHandlerClient::ScrollStatusStarted: {
+ m_wheelFlingCurve = PlatformGestureCurveFactory::get()->createCurve(gestureEvent.data.flingStart.sourceDevice, FloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY));
+ TRACE_EVENT_ASYNC_BEGIN1("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started", this, "curve", m_wheelFlingCurve->debugName());
+ m_wheelFlingParameters.delta = WebFloatPoint(gestureEvent.data.flingStart.velocityX, gestureEvent.data.flingStart.velocityY);
m_wheelFlingParameters.point = WebPoint(gestureEvent.x, gestureEvent.y);
m_wheelFlingParameters.globalPoint = WebPoint(gestureEvent.globalX, gestureEvent.globalY);
m_wheelFlingParameters.modifiers = gestureEvent.modifiers;
+ m_wheelFlingParameters.sourceDevice = gestureEvent.data.flingStart.sourceDevice;
m_inputHandlerClient->scheduleAnimation();
return DidHandle;
}
- case CCInputHandlerClient::ScrollOnMainThread: {
+ case WebInputHandlerClient::ScrollStatusOnMainThread: {
TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::scrollOnMainThread");
return DidNotHandle;
}
- case CCInputHandlerClient::ScrollIgnored: {
+ case WebInputHandlerClient::ScrollStatusIgnored: {
TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::ignored");
// We still pass the curve to the main thread if there's nothing scrollable, in case something
// registers a handler before the curve is over.
@@ -290,21 +229,30 @@ WebCompositorInputHandlerImpl::EventDisposition WebCompositorInputHandlerImpl::h
return DidNotHandle;
}
-int WebCompositorInputHandlerImpl::identifier() const
+void WebCompositorInputHandlerImpl::bindToClient(WebInputHandlerClient* client)
{
- ASSERT(CCProxy::isImplThread());
- return m_identifier;
+ ASSERT(!m_inputHandlerClient);
+
+ TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::bindToClient");
+ if (!s_compositors)
+ s_compositors = new HashSet<WebCompositorInputHandlerImpl*>;
+ s_compositors->add(this);
+
+ m_inputHandlerClient = client;
}
void WebCompositorInputHandlerImpl::animate(double monotonicTime)
{
- if (!m_wheelFlingAnimation)
+ if (!m_wheelFlingCurve)
return;
- if (!m_wheelFlingParameters.startTime)
+ if (!m_wheelFlingParameters.startTime) {
m_wheelFlingParameters.startTime = monotonicTime;
+ m_inputHandlerClient->scheduleAnimation();
+ return;
+ }
- if (m_wheelFlingAnimation->animate(monotonicTime))
+ if (m_wheelFlingCurve->apply(monotonicTime - m_wheelFlingParameters.startTime, this))
m_inputHandlerClient->scheduleAnimation();
else {
TRACE_EVENT_INSTANT0("cc", "WebCompositorInputHandlerImpl::animate::flingOver");
@@ -314,9 +262,12 @@ void WebCompositorInputHandlerImpl::animate(double monotonicTime)
bool WebCompositorInputHandlerImpl::cancelCurrentFling()
{
- bool hadFlingAnimation = m_wheelFlingAnimation;
+ bool hadFlingAnimation = m_wheelFlingCurve;
+ if (hadFlingAnimation)
+ TRACE_EVENT_ASYNC_END0("cc", "WebCompositorInputHandlerImpl::handleGestureFling::started", this);
+
TRACE_EVENT_INSTANT1("cc", "WebCompositorInputHandlerImpl::cancelCurrentFling", "hadFlingAnimation", hadFlingAnimation);
- m_wheelFlingAnimation.clear();
+ m_wheelFlingCurve.clear();
m_wheelFlingParameters = WebActiveWheelFlingParameters();
return hadFlingAnimation;
}
diff --git a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
index 9474b2193..fa81de945 100644
--- a/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
+++ b/Source/WebKit/chromium/src/WebCompositorInputHandlerImpl.h
@@ -26,12 +26,11 @@
#ifndef WebCompositorInputHandlerImpl_h
#define WebCompositorInputHandlerImpl_h
-#include "CCGestureCurve.h"
-#include "CCInputHandler.h"
+#include "PlatformGestureCurveTarget.h"
#include "WebActiveWheelFlingParameters.h"
#include "WebCompositorInputHandler.h"
#include "WebInputEvent.h"
-#include <public/WebCompositor.h>
+#include <public/WebInputHandler.h>
#include <wtf/HashSet.h>
#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
@@ -42,36 +41,35 @@ class Mutex;
namespace WebCore {
class IntPoint;
-class CCGestureCurveTarget;
-class CCInputHandlerClient;
-class CCThread;
+class PlatformGestureCurve;
}
namespace WebKit {
class WebCompositorInputHandlerClient;
-class WebCompositorInputHandlerImpl : public WebCompositorInputHandler, public WebCore::CCInputHandler, public WebCore::CCGestureCurveTarget {
+class WebCompositorInputHandlerImpl : public WebCompositorInputHandler, public WebInputHandler, public WebCore::PlatformGestureCurveTarget {
WTF_MAKE_NONCOPYABLE(WebCompositorInputHandlerImpl);
public:
- static PassOwnPtr<WebCompositorInputHandlerImpl> create(WebCore::CCInputHandlerClient*);
static WebCompositorInputHandler* fromIdentifier(int identifier);
+ WebCompositorInputHandlerImpl();
virtual ~WebCompositorInputHandlerImpl();
// WebCompositorInputHandler implementation.
virtual void setClient(WebCompositorInputHandlerClient*);
virtual void handleInputEvent(const WebInputEvent&);
- // WebCore::CCInputHandler implementation.
- virtual int identifier() const;
+ // WebInputHandler implementation.
+ virtual void bindToClient(WebInputHandlerClient*);
virtual void animate(double monotonicTime);
- // WebCore::CCGestureCurveTarget implementation.
+ // WebCore::PlatformGestureCurveTarget implementation.
virtual void scrollBy(const WebCore::IntPoint&);
+ int identifier() const { return m_identifier; }
+
private:
- explicit WebCompositorInputHandlerImpl(WebCore::CCInputHandlerClient*);
enum EventDisposition { DidHandle, DidNotHandle, DropEvent };
// This function processes the input event and determines the disposition, but does not make
@@ -83,13 +81,13 @@ private:
// Returns true if we actually had an active fling to cancel.
bool cancelCurrentFling();
- OwnPtr<WebCore::CCActiveGestureAnimation> m_wheelFlingAnimation;
+ OwnPtr<WebCore::PlatformGestureCurve> m_wheelFlingCurve;
// Parameters for the active fling animation, stored in case we need to transfer it out later.
WebActiveWheelFlingParameters m_wheelFlingParameters;
WebCompositorInputHandlerClient* m_client;
int m_identifier;
- WebCore::CCInputHandlerClient* m_inputHandlerClient;
+ WebInputHandlerClient* m_inputHandlerClient;
#ifndef NDEBUG
bool m_expectScrollUpdateEnd;
diff --git a/Source/WebKit/chromium/src/WebContentLayerImpl.cpp b/Source/WebKit/chromium/src/WebContentLayerImpl.cpp
index fa21e8974..862b19be6 100644
--- a/Source/WebKit/chromium/src/WebContentLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebContentLayerImpl.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "WebContentLayerImpl.h"
+#include "ContentLayerChromium.h"
#include "SkMatrix44.h"
#include <public/WebContentLayerClient.h>
#include <public/WebFloatPoint.h>
@@ -43,40 +44,45 @@ WebContentLayer* WebContentLayer::create(WebContentLayerClient* client)
}
WebContentLayerImpl::WebContentLayerImpl(WebContentLayerClient* client)
- : m_webLayerImpl(adoptPtr(new WebLayerImpl(ContentLayerChromium::create(this))))
+ : m_layer(adoptPtr(new WebLayerImpl(ContentLayerChromium::create(this))))
, m_client(client)
{
- m_webLayerImpl->layer()->setIsDrawable(true);
+ m_layer->layer()->setIsDrawable(true);
}
WebContentLayerImpl::~WebContentLayerImpl()
{
- static_cast<ContentLayerChromium*>(m_webLayerImpl->layer())->clearDelegate();
+ static_cast<ContentLayerChromium*>(m_layer->layer())->clearClient();
}
WebLayer* WebContentLayerImpl::layer()
{
- return m_webLayerImpl.get();
+ return m_layer.get();
}
void WebContentLayerImpl::setDoubleSided(bool doubleSided)
{
- m_webLayerImpl->layer()->setDoubleSided(doubleSided);
+ m_layer->layer()->setDoubleSided(doubleSided);
}
-void WebContentLayerImpl::setContentsScale(float scale)
+void WebContentLayerImpl::setBoundsContainPageScale(bool boundsContainPageScale)
{
- m_webLayerImpl->layer()->setContentsScale(scale);
+ return m_layer->layer()->setBoundsContainPageScale(boundsContainPageScale);
+}
+
+bool WebContentLayerImpl::boundsContainPageScale() const
+{
+ return m_layer->layer()->boundsContainPageScale();
}
void WebContentLayerImpl::setUseLCDText(bool enable)
{
- m_webLayerImpl->layer()->setUseLCDText(enable);
+ m_layer->layer()->setUseLCDText(enable);
}
void WebContentLayerImpl::setDrawCheckerboardForMissingTiles(bool enable)
{
- m_webLayerImpl->layer()->setDrawCheckerboardForMissingTiles(enable);
+ m_layer->layer()->setDrawCheckerboardForMissingTiles(enable);
}
diff --git a/Source/WebKit/chromium/src/WebContentLayerImpl.h b/Source/WebKit/chromium/src/WebContentLayerImpl.h
index 511f8e0ba..45fa79b0e 100644
--- a/Source/WebKit/chromium/src/WebContentLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebContentLayerImpl.h
@@ -26,33 +26,34 @@
#ifndef WebContentLayerImpl_h
#define WebContentLayerImpl_h
-#include "ContentLayerChromium.h"
+#include "ContentLayerChromiumClient.h"
#include "WebLayerImpl.h"
#include <public/WebContentLayer.h>
-#include <wtf/PassRefPtr.h>
+#include <wtf/OwnPtr.h>
namespace WebKit {
class WebContentLayerClient;
class WebContentLayerImpl : public WebContentLayer,
- public WebCore::ContentLayerDelegate {
+ public WebCore::ContentLayerChromiumClient {
public:
explicit WebContentLayerImpl(WebContentLayerClient*);
// WebContentLayer implementation.
virtual WebLayer* layer() OVERRIDE;
virtual void setDoubleSided(bool) OVERRIDE;
- virtual void setContentsScale(float) OVERRIDE;
+ virtual void setBoundsContainPageScale(bool) OVERRIDE;
+ virtual bool boundsContainPageScale() const OVERRIDE;
virtual void setUseLCDText(bool) OVERRIDE;
virtual void setDrawCheckerboardForMissingTiles(bool) OVERRIDE;
protected:
virtual ~WebContentLayerImpl();
- // ContentLayerDelegate implementation.
+ // ContentLayerChromiumClient implementation.
virtual void paintContents(SkCanvas*, const WebCore::IntRect& clip, WebCore::FloatRect& opaque) OVERRIDE;
- OwnPtr<WebLayerImpl> m_webLayerImpl;
+ OwnPtr<WebLayerImpl> m_layer;
WebContentLayerClient* m_client;
bool m_drawsContent;
};
diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
index c639f674d..a0a75b48c 100644
--- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
+++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp
@@ -45,7 +45,6 @@
#include "PageGroup.h"
#include "PageScriptDebugServer.h"
#include "painting/GraphicsContextBuilder.h"
-#include "PlatformString.h"
#include "RenderView.h"
#include "ResourceError.h"
#include "ResourceRequest.h"
@@ -67,6 +66,7 @@
#include <wtf/MathExtras.h>
#include <wtf/Noncopyable.h>
#include <wtf/OwnPtr.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
using namespace std;
diff --git a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
index 800568a61..f723390b5 100644
--- a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
+++ b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.cpp
@@ -43,7 +43,6 @@
#include "Node.h"
#include "Page.h"
#include "Pasteboard.h"
-#include "PlatformString.h"
#include "ScriptController.h"
#include "SecurityOrigin.h"
#include "Settings.h"
@@ -59,6 +58,7 @@
#include "WebViewImpl.h"
#include <wtf/OwnPtr.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
index a5dca3074..4030da7b3 100644
--- a/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
+++ b/Source/WebKit/chromium/src/WebDevToolsFrontendImpl.h
@@ -31,11 +31,11 @@
#ifndef WebDevToolsFrontendImpl_h
#define WebDevToolsFrontendImpl_h
-#include "PlatformString.h"
#include "WebDevToolsFrontend.h"
#include <wtf/Forward.h>
#include <wtf/Noncopyable.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebEntities.h b/Source/WebKit/chromium/src/WebEntities.h
index f21056664..68a434367 100644
--- a/Source/WebKit/chromium/src/WebEntities.h
+++ b/Source/WebKit/chromium/src/WebEntities.h
@@ -31,8 +31,8 @@
#ifndef WebEntities_h
#define WebEntities_h
-#include "PlatformString.h"
#include <wtf/HashMap.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h b/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h
index 5348895bf..6c03c2342 100644
--- a/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.h
@@ -26,7 +26,7 @@
#ifndef WebExternalTextureLayerImpl_h
#define WebExternalTextureLayerImpl_h
-#include "TextureLayerChromium.h"
+#include "TextureLayerChromiumClient.h"
#include <public/WebExternalTextureLayer.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp
index 9f5665cb8..4349f84e2 100644
--- a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.cpp
@@ -37,11 +37,11 @@ namespace WebKit {
WebFloatAnimationCurve* WebFloatAnimationCurve::create()
{
- return new WebFloatAnimationCurveImpl(WebCore::CCKeyframedFloatAnimationCurve::create());
+ return new WebFloatAnimationCurveImpl();
}
-WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedFloatAnimationCurve> curve)
- : m_curve(curve)
+WebFloatAnimationCurveImpl::WebFloatAnimationCurveImpl()
+ : m_curve(WebCore::CCKeyframedFloatAnimationCurve::create())
{
}
diff --git a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h
index e8f1620d6..12ca3c66e 100644
--- a/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h
+++ b/Source/WebKit/chromium/src/WebFloatAnimationCurveImpl.h
@@ -38,7 +38,7 @@ namespace WebKit {
class WebFloatAnimationCurveImpl : public WebFloatAnimationCurve {
public:
- explicit WebFloatAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedFloatAnimationCurve>);
+ WebFloatAnimationCurveImpl();
virtual ~WebFloatAnimationCurveImpl();
// WebAnimationCurve implementation.
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp
index 4279febe0..4395c6d70 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.cpp
+++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp
@@ -170,6 +170,7 @@
#include "WebSecurityOrigin.h"
#include "WebViewImpl.h"
#include "XPathResult.h"
+#include "htmlediting.h"
#include "markup.h"
#include "painting/GraphicsContextBuilder.h"
#include "platform/WebFloatPoint.h"
@@ -1190,6 +1191,11 @@ bool WebFrameImpl::isProcessingUserGesture() const
return ScriptController::processingUserGesture();
}
+bool WebFrameImpl::consumeUserGesture() const
+{
+ return UserGestureIndicator::consumeUserGesture();
+}
+
bool WebFrameImpl::willSuppressOpenerInNewFrame() const
{
return frame()->loader()->suppressOpenerInNewFrame();
@@ -1257,7 +1263,7 @@ size_t WebFrameImpl::characterIndexForPoint(const WebPoint& webPoint) const
return notFound;
IntPoint point = frame()->view()->windowToContents(webPoint);
- HitTestResult result = frame()->eventHandler()->hitTestResultAtPoint(point, false);
+ HitTestResult result = frame()->eventHandler()->hitTestResultAtPoint(point);
RefPtr<Range> range = frame()->rangeForPoint(result.roundedPoint());
if (!range)
return notFound;
@@ -1460,24 +1466,69 @@ bool WebFrameImpl::selectWordAroundCaret()
void WebFrameImpl::selectRange(const WebPoint& start, const WebPoint& end)
{
- VisiblePosition startPosition = visiblePositionForWindowPoint(start);
- VisiblePosition endPosition = visiblePositionForWindowPoint(end);
+ if (start == end && moveCaret(start))
+ return;
- // To correctly handle editable boundaries, we adjust the selection by setting its extent
- // while keeping its base fixed. For a touch-based UI, this means that moving the selection
- // handles behaves like a drag-select with the mouse, which is what we want here. If both
- // endpoints changed, we need to set the extent twice.
- // FIXME: the WebFrame::SelectRange API should explicitly state which endpoint is moving.
- VisibleSelection newSelection = frame()->selection()->selection();
- if (startPosition != newSelection.visibleStart())
- newSelection = VisibleSelection(newSelection.visibleEnd(), startPosition);
- if (endPosition != newSelection.visibleEnd())
- newSelection = VisibleSelection(newSelection.visibleStart(), endPosition);
+ if (moveSelectionStart(start, true) && moveSelectionEnd(end, true))
+ return;
+ // Failed to move endpoints, probably because there's no current selection.
+ // Just set the selection explicitly (but this won't handle editable boundaries correctly).
+ VisibleSelection newSelection(visiblePositionForWindowPoint(start), visiblePositionForWindowPoint(end));
if (frame()->selection()->shouldChangeSelection(newSelection))
frame()->selection()->setSelection(newSelection, CharacterGranularity);
}
+bool WebFrameImpl::moveSelectionStart(const WebPoint& point, bool allowCollapsedSelection)
+{
+ const VisibleSelection& selection = frame()->selection()->selection();
+ if (selection.isNone())
+ return false;
+
+ VisiblePosition start = visiblePositionForWindowPoint(point);
+ if (!allowCollapsedSelection) {
+ VisiblePosition maxStart = selection.visibleEnd().previous();
+ if (comparePositions(start, maxStart) > 0)
+ start = maxStart;
+ }
+
+ // start is moving, so base=end, extent=start
+ VisibleSelection newSelection = VisibleSelection(selection.visibleEnd(), start);
+ frame()->selection()->setNonDirectionalSelectionIfNeeded(newSelection, CharacterGranularity);
+ return true;
+}
+
+bool WebFrameImpl::moveSelectionEnd(const WebPoint& point, bool allowCollapsedSelection)
+{
+ const VisibleSelection& selection = frame()->selection()->selection();
+ if (selection.isNone())
+ return false;
+
+ VisiblePosition end = visiblePositionForWindowPoint(point);
+ if (!allowCollapsedSelection) {
+ VisiblePosition minEnd = selection.visibleStart().next();
+ if (comparePositions(end, minEnd) < 0)
+ end = minEnd;
+ }
+
+ // end is moving, so base=start, extent=end
+ VisibleSelection newSelection = VisibleSelection(selection.visibleStart(), end);
+ frame()->selection()->setNonDirectionalSelectionIfNeeded(newSelection, CharacterGranularity);
+ return true;
+}
+
+bool WebFrameImpl::moveCaret(const WebPoint& point)
+{
+ FrameSelection* frameSelection = frame()->selection();
+ if (frameSelection->isNone() || !frameSelection->isContentEditable())
+ return false;
+
+ VisiblePosition pos = visiblePositionForWindowPoint(point);
+ frameSelection->setExtent(pos, UserTriggered);
+ frameSelection->setBase(frameSelection->extent(), UserTriggered);
+ return true;
+}
+
void WebFrameImpl::selectRange(const WebRange& webRange)
{
RefPtr<Range> range = static_cast<PassRefPtr<Range> >(webRange);
diff --git a/Source/WebKit/chromium/src/WebFrameImpl.h b/Source/WebKit/chromium/src/WebFrameImpl.h
index 20c5fe9d3..e59c932c5 100644
--- a/Source/WebKit/chromium/src/WebFrameImpl.h
+++ b/Source/WebKit/chromium/src/WebFrameImpl.h
@@ -36,10 +36,10 @@
#include "Frame.h"
#include "FrameLoaderClientImpl.h"
-#include "PlatformString.h"
#include <wtf/Compiler.h>
#include <wtf/OwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class GraphicsContext;
@@ -162,6 +162,7 @@ public:
virtual void commitDocumentData(const char* data, size_t length);
virtual unsigned unloadListenerCount() const;
virtual bool isProcessingUserGesture() const;
+ virtual bool consumeUserGesture() const;
virtual bool willSuppressOpenerInNewFrame() const;
virtual void replaceSelection(const WebString&);
virtual void insertText(const WebString&);
@@ -185,6 +186,9 @@ public:
virtual bool selectWordAroundCaret();
virtual void selectRange(const WebPoint& start, const WebPoint& end);
virtual void selectRange(const WebRange&);
+ virtual bool moveSelectionStart(const WebPoint&, bool allowCollapsedSelection);
+ virtual bool moveSelectionEnd(const WebPoint&, bool allowCollapsedSelection);
+ virtual bool moveCaret(const WebPoint&);
virtual int printBegin(const WebPrintParams&,
const WebNode& constrainToNode,
bool* useBrowserOverlays);
diff --git a/Source/WebKit/chromium/src/WebIDBKey.cpp b/Source/WebKit/chromium/src/WebIDBKey.cpp
index cfadafbac..d60b5f5c1 100644
--- a/Source/WebKit/chromium/src/WebIDBKey.cpp
+++ b/Source/WebKit/chromium/src/WebIDBKey.cpp
@@ -32,10 +32,6 @@
#include "IDBBindingUtilities.h"
#include "IDBKey.h"
-#include "IDBKeyPath.h"
-#include "SerializedScriptValue.h"
-#include "WebIDBKeyPath.h"
-#include "platform/WebSerializedScriptValue.h"
using namespace WebCore;
@@ -83,19 +79,6 @@ WebIDBKey WebIDBKey::createNull()
return key;
}
-WebIDBKey WebIDBKey::createFromValueAndKeyPath(const WebSerializedScriptValue& serializedScriptValue, const WebIDBKeyPath& idbKeyPath)
-{
- // FIXME: If key path is empty string, this should return invalid key instead
- if (serializedScriptValue.isNull())
- return WebIDBKey::createNull();
- return createIDBKeyFromSerializedValueAndKeyPath(serializedScriptValue, idbKeyPath);
-}
-
-WebSerializedScriptValue WebIDBKey::injectIDBKeyIntoSerializedValue(const WebIDBKey& key, const WebSerializedScriptValue& value, const WebIDBKeyPath& path)
-{
- return WebCore::injectIDBKeyIntoSerializedValue(key, value, path);
-}
-
void WebIDBKey::assign(const WebIDBKey& value)
{
m_private = value.m_private;
diff --git a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp
index bab70c61d..d2df09045 100644
--- a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.cpp
@@ -35,14 +35,13 @@ namespace WebKit {
WebIOSurfaceLayer* WebIOSurfaceLayer::create()
{
- RefPtr<IOSurfaceLayerChromium> layer = IOSurfaceLayerChromium::create();
- layer->setIsDrawable(true);
- return new WebIOSurfaceLayerImpl(layer.release());
+ return new WebIOSurfaceLayerImpl();
}
-WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl(PassRefPtr<IOSurfaceLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl()
+ : m_layer(adoptPtr(new WebLayerImpl(IOSurfaceLayerChromium::create())))
{
+ m_layer->layer()->setIsDrawable(true);
}
WebIOSurfaceLayerImpl::~WebIOSurfaceLayerImpl()
diff --git a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h
index 3dbb02759..7aaeb02c1 100644
--- a/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebIOSurfaceLayerImpl.h
@@ -29,15 +29,11 @@
#include <public/WebIOSurfaceLayer.h>
#include <wtf/OwnPtr.h>
-namespace WebCore {
-class IOSurfaceLayerChromium;
-}
-
namespace WebKit {
class WebIOSurfaceLayerImpl : public WebIOSurfaceLayer {
public:
- explicit WebIOSurfaceLayerImpl(PassRefPtr<WebCore::IOSurfaceLayerChromium>);
+ WebIOSurfaceLayerImpl();
virtual ~WebIOSurfaceLayerImpl();
// WebIOSurfaceLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebImageLayerImpl.cpp b/Source/WebKit/chromium/src/WebImageLayerImpl.cpp
index d93af8045..7038e3550 100644
--- a/Source/WebKit/chromium/src/WebImageLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebImageLayerImpl.cpp
@@ -35,11 +35,11 @@ namespace WebKit {
WebImageLayer* WebImageLayer::create()
{
- return new WebImageLayerImpl(WebCore::ImageLayerChromium::create());
+ return new WebImageLayerImpl();
}
-WebImageLayerImpl::WebImageLayerImpl(PassRefPtr<WebCore::ImageLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebImageLayerImpl::WebImageLayerImpl()
+ : m_layer(adoptPtr(new WebLayerImpl(ImageLayerChromium::create())))
{
}
diff --git a/Source/WebKit/chromium/src/WebImageLayerImpl.h b/Source/WebKit/chromium/src/WebImageLayerImpl.h
index 9a4b8b3eb..feea60b9c 100644
--- a/Source/WebKit/chromium/src/WebImageLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebImageLayerImpl.h
@@ -38,7 +38,7 @@ class WebLayerImpl;
class WebImageLayerImpl : public WebImageLayer {
public:
- explicit WebImageLayerImpl(PassRefPtr<WebCore::ImageLayerChromium>);
+ WebImageLayerImpl();
virtual ~WebImageLayerImpl();
// WebImageLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebInputEvent.cpp b/Source/WebKit/chromium/src/WebInputEvent.cpp
index d61eb2d31..96123c62e 100644
--- a/Source/WebKit/chromium/src/WebInputEvent.cpp
+++ b/Source/WebKit/chromium/src/WebInputEvent.cpp
@@ -202,4 +202,41 @@ void WebKeyboardEvent::setKeyIdentifierFromWindowsKeyCode()
snprintf(keyIdentifier, sizeof(keyIdentifier), "U+%04X", toupper(windowsKeyCode));
}
+// static
+int WebKeyboardEvent::windowsKeyCodeWithoutLocation(int keycode)
+{
+ switch (keycode) {
+ case VK_LCONTROL:
+ case VK_RCONTROL:
+ return VK_CONTROL;
+ case VK_LSHIFT:
+ case VK_RSHIFT:
+ return VK_SHIFT;
+ case VK_LMENU:
+ case VK_RMENU:
+ return VK_MENU;
+ default:
+ return keycode;
+ }
+}
+
+// static
+int WebKeyboardEvent::locationModifiersFromWindowsKeyCode(int keycode)
+{
+ switch (keycode) {
+ case VK_LCONTROL:
+ case VK_LSHIFT:
+ case VK_LMENU:
+ case VK_LWIN:
+ return IsLeft;
+ case VK_RCONTROL:
+ case VK_RSHIFT:
+ case VK_RMENU:
+ case VK_RWIN:
+ return IsRight;
+ default:
+ return 0;
+ }
+}
+
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebInputEventConversion.cpp b/Source/WebKit/chromium/src/WebInputEventConversion.cpp
index 0391c285b..2afc7dcfe 100644
--- a/Source/WebKit/chromium/src/WebInputEventConversion.cpp
+++ b/Source/WebKit/chromium/src/WebInputEventConversion.cpp
@@ -149,10 +149,14 @@ PlatformGestureEventBuilder::PlatformGestureEventBuilder(Widget* widget, const W
break;
case WebInputEvent::GestureScrollUpdate:
m_type = PlatformEvent::GestureScrollUpdate;
+ m_deltaX = e.data.scrollUpdate.deltaX;
+ m_deltaY = e.data.scrollUpdate.deltaY;
break;
case WebInputEvent::GestureTap:
m_type = PlatformEvent::GestureTap;
- m_area = IntSize(e.boundingBox.width, e.boundingBox.height);
+ m_area = IntSize(e.data.tap.width, e.data.tap.height);
+ // FIXME: PlatformGestureEvent deltaX is overloaded - wkb.ug/93123
+ m_deltaX = static_cast<int>(e.data.tap.tapCount);
break;
case WebInputEvent::GestureTapDown:
m_type = PlatformEvent::GestureTapDown;
@@ -165,7 +169,7 @@ PlatformGestureEventBuilder::PlatformGestureEventBuilder(Widget* widget, const W
break;
case WebInputEvent::GestureLongPress:
m_type = PlatformEvent::GestureLongPress;
- m_area = IntSize(e.boundingBox.width, e.boundingBox.height);
+ m_area = IntSize(e.data.longPress.width, e.data.longPress.height);
break;
case WebInputEvent::GesturePinchBegin:
m_type = PlatformEvent::GesturePinchBegin;
@@ -175,14 +179,14 @@ PlatformGestureEventBuilder::PlatformGestureEventBuilder(Widget* widget, const W
break;
case WebInputEvent::GesturePinchUpdate:
m_type = PlatformEvent::GesturePinchUpdate;
+ // FIXME: PlatformGestureEvent deltaX is overloaded - wkb.ug/93123
+ m_deltaX = e.data.pinchUpdate.scale;
break;
default:
ASSERT_NOT_REACHED();
}
m_position = widget->convertFromContainingWindow(IntPoint(e.x, e.y));
m_globalPosition = IntPoint(e.globalX, e.globalY);
- m_deltaX = e.deltaX;
- m_deltaY = e.deltaY;
m_timestamp = e.timeStampSeconds;
m_modifiers = 0;
@@ -223,7 +227,6 @@ PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder(const WebKeyboardEven
m_unmodifiedText = String(e.unmodifiedText);
m_keyIdentifier = String(e.keyIdentifier);
m_autoRepeat = (e.modifiers & WebInputEvent::IsAutoRepeat);
- m_windowsVirtualKeyCode = e.windowsKeyCode;
m_nativeVirtualKeyCode = e.nativeKeyCode;
m_isKeypad = (e.modifiers & WebInputEvent::IsKeyPad);
m_isSystemKey = e.isSystemKey;
@@ -237,6 +240,28 @@ PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder(const WebKeyboardEven
m_modifiers |= PlatformEvent::AltKey;
if (e.modifiers & WebInputEvent::MetaKey)
m_modifiers |= PlatformEvent::MetaKey;
+
+ // FIXME: PlatformKeyboardEvents expect a locational version of the keycode (e.g. VK_LSHIFT
+ // instead of VK_SHIFT). This should be changed so the location/keycode are stored separately,
+ // as in other places in the code.
+ m_windowsVirtualKeyCode = e.windowsKeyCode;
+ if (e.windowsKeyCode == VK_SHIFT) {
+ if (e.modifiers & WebInputEvent::IsLeft)
+ m_windowsVirtualKeyCode = VK_LSHIFT;
+ else if (e.modifiers & WebInputEvent::IsRight)
+ m_windowsVirtualKeyCode = VK_RSHIFT;
+ } else if (e.windowsKeyCode == VK_CONTROL) {
+ if (e.modifiers & WebInputEvent::IsLeft)
+ m_windowsVirtualKeyCode = VK_LCONTROL;
+ else if (e.modifiers & WebInputEvent::IsRight)
+ m_windowsVirtualKeyCode = VK_RCONTROL;
+ } else if (e.windowsKeyCode == VK_MENU) {
+ if (e.modifiers & WebInputEvent::IsLeft)
+ m_windowsVirtualKeyCode = VK_LMENU;
+ else if (e.modifiers & WebInputEvent::IsRight)
+ m_windowsVirtualKeyCode = VK_RMENU;
+ }
+
}
void PlatformKeyboardEventBuilder::setKeyType(Type type)
@@ -448,8 +473,12 @@ WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event)
return; // Skip all other keyboard events.
modifiers = getWebInputModifiers(event);
- if (event.keyLocation() & KeyboardEvent::DOM_KEY_LOCATION_NUMPAD)
+ if (event.keyLocation() == KeyboardEvent::DOM_KEY_LOCATION_NUMPAD)
modifiers |= WebInputEvent::IsKeyPad;
+ else if (event.keyLocation() == KeyboardEvent::DOM_KEY_LOCATION_LEFT)
+ modifiers |= WebInputEvent::IsLeft;
+ else if (event.keyLocation() == KeyboardEvent::DOM_KEY_LOCATION_RIGHT)
+ modifiers |= WebInputEvent::IsRight;
timeStampSeconds = event.timeStamp() / millisPerSecond;
windowsKeyCode = event.keyCode();
@@ -526,8 +555,11 @@ WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const Gestu
type = GestureScrollBegin;
else if (event.type() == eventNames().gesturescrollendEvent)
type = GestureScrollEnd;
- else if (event.type() == eventNames().gesturescrollupdateEvent)
+ else if (event.type() == eventNames().gesturescrollupdateEvent) {
type = GestureScrollUpdate;
+ data.scrollUpdate.deltaX = event.deltaX();
+ data.scrollUpdate.deltaY = event.deltaY();
+ }
timeStampSeconds = event.timeStamp() / millisPerSecond;
modifiers = getWebInputModifiers(event);
@@ -536,9 +568,6 @@ WebGestureEventBuilder::WebGestureEventBuilder(const Widget* widget, const Gestu
globalY = event.screenY();
x = event.absoluteLocation().x() - widget->location().x();
y = event.absoluteLocation().y() - widget->location().y();
-
- deltaX = event.deltaX();
- deltaY = event.deltaY();
}
#endif // ENABLE(GESTURE_EVENTS)
diff --git a/Source/WebKit/chromium/src/WebLayerImpl.cpp b/Source/WebKit/chromium/src/WebLayerImpl.cpp
index bf64a8f2a..85f9b4db4 100644
--- a/Source/WebKit/chromium/src/WebLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebLayerImpl.cpp
@@ -79,7 +79,12 @@ SkMatrix44 skMatrix44FromTransformationMatrix(const WebTransformationMatrix& mat
WebLayer* WebLayer::create()
{
- return new WebLayerImpl(LayerChromium::create());
+ return new WebLayerImpl();
+}
+
+WebLayerImpl::WebLayerImpl()
+ : m_layer(LayerChromium::create())
+{
}
WebLayerImpl::WebLayerImpl(PassRefPtr<LayerChromium> layer)
@@ -87,6 +92,7 @@ WebLayerImpl::WebLayerImpl(PassRefPtr<LayerChromium> layer)
{
}
+
WebLayerImpl::~WebLayerImpl()
{
m_layer->clearRenderSurface();
@@ -349,6 +355,16 @@ void WebLayerImpl::setScrollPosition(WebPoint position)
m_layer->setScrollPosition(position);
}
+WebPoint WebLayerImpl::scrollPosition() const
+{
+ return m_layer->scrollPosition();
+}
+
+void WebLayerImpl::setMaxScrollPosition(WebSize maxScrollPosition)
+{
+ m_layer->setMaxScrollPosition(maxScrollPosition);
+}
+
void WebLayerImpl::setScrollable(bool scrollable)
{
m_layer->setScrollable(scrollable);
@@ -385,6 +401,11 @@ void WebLayerImpl::setFixedToContainerLayer(bool enable)
m_layer->setFixedToContainerLayer(enable);
}
+void WebLayerImpl::setScrollClient(WebLayerScrollClient* scrollClient)
+{
+ m_layer->setLayerScrollClient(scrollClient);
+}
+
LayerChromium* WebLayerImpl::layer() const
{
return m_layer.get();
diff --git a/Source/WebKit/chromium/src/WebLayerImpl.h b/Source/WebKit/chromium/src/WebLayerImpl.h
index 0a61826a5..6739fd5ed 100644
--- a/Source/WebKit/chromium/src/WebLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebLayerImpl.h
@@ -27,6 +27,7 @@
#define WebLayerImpl_h
#include <public/WebLayer.h>
+#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
namespace WebCore {
@@ -37,6 +38,7 @@ namespace WebKit {
class WebLayerImpl : public WebLayer {
public:
+ WebLayerImpl();
explicit WebLayerImpl(PassRefPtr<WebCore::LayerChromium>);
virtual ~WebLayerImpl();
@@ -92,12 +94,15 @@ public:
virtual void transferAnimationsTo(WebLayer*) OVERRIDE;
virtual void setForceRenderSurface(bool) OVERRIDE;
virtual void setScrollPosition(WebPoint) OVERRIDE;
+ virtual WebPoint scrollPosition() const OVERRIDE;
+ virtual void setMaxScrollPosition(WebSize) OVERRIDE;
virtual void setScrollable(bool) OVERRIDE;
virtual void setHaveWheelEventHandlers(bool) OVERRIDE;
virtual void setShouldScrollOnMainThread(bool) OVERRIDE;
virtual void setNonFastScrollableRegion(const WebVector<WebRect>&) OVERRIDE;
virtual void setIsContainerForFixedPositionLayers(bool) OVERRIDE;
virtual void setFixedToContainerLayer(bool) OVERRIDE;
+ virtual void setScrollClient(WebLayerScrollClient*) OVERRIDE;
WebCore::LayerChromium* layer() const;
diff --git a/Source/WebKit/chromium/src/WebLayerTreeView.cpp b/Source/WebKit/chromium/src/WebLayerTreeView.cpp
deleted file mode 100644
index 7dfbcd129..000000000
--- a/Source/WebKit/chromium/src/WebLayerTreeView.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (C) 2011 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 <public/WebLayerTreeView.h>
-
-#include "CCFontAtlas.h"
-#include "CCGraphicsContext.h"
-#include "CCLayerTreeHost.h"
-#include "CCRenderingStats.h"
-#include "LayerChromium.h"
-#include "WebLayerImpl.h"
-#include "WebLayerTreeViewImpl.h"
-#include <public/WebLayer.h>
-#include <public/WebPoint.h>
-#include <public/WebRect.h>
-#include <public/WebRenderingStats.h>
-#include <public/WebSize.h>
-
-using namespace WebCore;
-
-namespace WebKit {
-
-WebLayerTreeView::Settings::operator CCLayerTreeSettings() const
-{
- CCLayerTreeSettings settings;
- settings.showFPSCounter = showFPSCounter;
- settings.showPlatformLayerTree = showPlatformLayerTree;
- settings.showPaintRects = showPaintRects;
- settings.renderVSyncEnabled = renderVSyncEnabled;
- settings.refreshRate = refreshRate;
- settings.defaultTileSize = defaultTileSize;
- settings.maxUntiledLayerSize = maxUntiledLayerSize;
- settings.acceleratePainting = acceleratePainting;
-
- // FIXME: showFPSCounter / showPlatformLayerTree / maxPartialTextureUpdates aren't supported currently.
- return settings;
-}
-
-void WebLayerTreeView::reset()
-{
- m_private.reset(0);
-}
-
-bool WebLayerTreeView::isNull() const
-{
- return !m_private.get();
-}
-
-bool WebLayerTreeView::initialize(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
-{
- // We have to leak the pointer here into a WebPrivateOwnPtr. We free this object in reset().
- m_private.reset(WebLayerTreeViewImpl::create(client, root, settings).leakPtr());
- return !isNull();
-}
-
-void WebLayerTreeView::setSurfaceReady()
-{
- m_private->layerTreeHost()->setSurfaceReady();
-}
-
-void WebLayerTreeView::setRootLayer(WebLayer *root)
-{
- if (root)
- m_private->layerTreeHost()->setRootLayer(static_cast<WebLayerImpl*>(root)->layer());
- else
- m_private->layerTreeHost()->setRootLayer(PassRefPtr<LayerChromium>());
-}
-
-int WebLayerTreeView::compositorIdentifier()
-{
- return m_private->layerTreeHost()->compositorIdentifier();
-}
-
-void WebLayerTreeView::setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize)
-{
- if (!deviceViewportSize.isEmpty())
- m_private->layerTreeHost()->setViewportSize(layoutViewportSize, deviceViewportSize);
- else
- m_private->layerTreeHost()->setViewportSize(layoutViewportSize, layoutViewportSize);
-}
-
-WebSize WebLayerTreeView::layoutViewportSize() const
-{
- return WebSize(m_private->layerTreeHost()->layoutViewportSize());
-}
-
-WebSize WebLayerTreeView::deviceViewportSize() const
-{
- return WebSize(m_private->layerTreeHost()->deviceViewportSize());
-}
-
-void WebLayerTreeView::setDeviceScaleFactor(const float deviceScaleFactor)
-{
- m_private->layerTreeHost()->setDeviceScaleFactor(deviceScaleFactor);
-}
-
-float WebLayerTreeView::deviceScaleFactor() const
-{
- return m_private->layerTreeHost()->deviceScaleFactor();
-}
-
-void WebLayerTreeView::setBackgroundColor(WebColor color)
-{
- m_private->layerTreeHost()->setBackgroundColor(color);
-}
-
-void WebLayerTreeView::setHasTransparentBackground(bool transparent)
-{
- m_private->layerTreeHost()->setHasTransparentBackground(transparent);
-}
-
-void WebLayerTreeView::setVisible(bool visible)
-{
- m_private->layerTreeHost()->setVisible(visible);
-}
-
-void WebLayerTreeView::setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum)
-{
- m_private->layerTreeHost()->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maximum);
-}
-
-void WebLayerTreeView::startPageScaleAnimation(const WebPoint& scroll, bool useAnchor, float newPageScale, double durationSec)
-{
- m_private->layerTreeHost()->startPageScaleAnimation(IntSize(scroll.x, scroll.y), useAnchor, newPageScale, durationSec);
-}
-
-void WebLayerTreeView::setNeedsAnimate()
-{
- m_private->layerTreeHost()->setNeedsAnimate();
-}
-
-void WebLayerTreeView::setNeedsRedraw()
-{
- m_private->layerTreeHost()->setNeedsRedraw();
-}
-
-bool WebLayerTreeView::commitRequested() const
-{
- return m_private->layerTreeHost()->commitRequested();
-}
-
-void WebLayerTreeView::composite()
-{
- if (CCProxy::hasImplThread())
- m_private->layerTreeHost()->setNeedsCommit();
- else
- m_private->layerTreeHost()->composite();
-}
-
-void WebLayerTreeView::updateAnimations(double frameBeginTime)
-{
- m_private->layerTreeHost()->updateAnimations(frameBeginTime);
-}
-
-bool WebLayerTreeView::compositeAndReadback(void *pixels, const WebRect& rect)
-{
- return m_private->layerTreeHost()->compositeAndReadback(pixels, rect);
-}
-
-void WebLayerTreeView::finishAllRendering()
-{
- m_private->layerTreeHost()->finishAllRendering();
-}
-
-void WebLayerTreeView::renderingStats(WebRenderingStats& stats) const
-{
- CCRenderingStats ccStats;
- m_private->layerTreeHost()->renderingStats(ccStats);
-
- stats.numAnimationFrames = ccStats.numAnimationFrames;
- stats.numFramesSentToScreen = ccStats.numFramesSentToScreen;
- stats.droppedFrameCount = ccStats.droppedFrameCount;
- stats.totalPaintTimeInSeconds = ccStats.totalPaintTimeInSeconds;
- stats.totalRasterizeTimeInSeconds = ccStats.totalRasterizeTimeInSeconds;
-}
-
-void WebLayerTreeView::setFontAtlas(SkBitmap bitmap, WebRect asciiToWebRectTable[128], int fontHeight)
-{
- IntRect asciiToRectTable[128];
- for (int i = 0; i < 128; ++i)
- asciiToRectTable[i] = asciiToWebRectTable[i];
- OwnPtr<CCFontAtlas> fontAtlas = CCFontAtlas::create(bitmap, asciiToRectTable, fontHeight);
- m_private->layerTreeHost()->setFontAtlas(fontAtlas.release());
-}
-
-void WebLayerTreeView::loseCompositorContext(int numTimes)
-{
- m_private->layerTreeHost()->loseContext(numTimes);
-}
-
-} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
index 1fd823976..bb898c966 100644
--- a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.cpp
@@ -26,130 +26,35 @@
#include "config.h"
#include "WebLayerTreeViewImpl.h"
+#include "CCFontAtlas.h"
+#include "CCInputHandler.h"
#include "CCLayerTreeHost.h"
-#include "CCThreadProxy.h"
#include "LayerChromium.h"
#include "WebLayerImpl.h"
+#include "WebToCCInputHandlerAdapter.h"
#include <public/WebGraphicsContext3D.h>
+#include <public/WebInputHandler.h>
#include <public/WebLayer.h>
#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
+#include <public/WebRenderingStats.h>
#include <public/WebSize.h>
-#include <public/WebThread.h>
using namespace WebCore;
-namespace {
-
-// Adapts a pure WebGraphicsContext3D into a WebCompositorOutputSurface until
-// downstream code can be updated to produce output surfaces directly.
-class WebGraphicsContextToOutputSurfaceAdapter : public WebKit::WebCompositorOutputSurface {
-public:
- explicit WebGraphicsContextToOutputSurfaceAdapter(PassOwnPtr<WebKit::WebGraphicsContext3D> context)
- : m_context3D(context)
- , m_client(0)
- {
- }
-
- virtual bool bindToClient(WebKit::WebCompositorOutputSurfaceClient* client) OVERRIDE
- {
- ASSERT(client);
- if (!m_context3D->makeContextCurrent())
- return false;
- m_client = client;
- return true;
- }
-
- virtual const Capabilities& capabilities() const OVERRIDE
- {
- return m_capabilities;
- }
-
- virtual WebKit::WebGraphicsContext3D* context3D() const OVERRIDE
- {
- return m_context3D.get();
- }
-
- virtual void sendFrameToParentCompositor(const WebKit::WebCompositorFrame&) OVERRIDE
- {
- }
-
-private:
- OwnPtr<WebKit::WebGraphicsContext3D> m_context3D;
- Capabilities m_capabilities;
- WebKit::WebCompositorOutputSurfaceClient* m_client;
-};
+namespace WebKit {
+WebLayerTreeView* WebLayerTreeView::create(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
+{
+ OwnPtr<WebLayerTreeViewImpl> layerTreeViewImpl = adoptPtr(new WebLayerTreeViewImpl(client));
+ if (!layerTreeViewImpl->initialize(settings))
+ return 0;
+ layerTreeViewImpl->setRootLayer(root);
+ return layerTreeViewImpl.leakPtr();
}
-namespace WebKit {
-
-// Converts messages from CCLayerTreeHostClient to WebLayerTreeViewClient.
-class WebLayerTreeViewClientAdapter : public WebCore::CCLayerTreeHostClient {
-public:
- WebLayerTreeViewClientAdapter(WebLayerTreeViewClient* client)
- : m_client(client)
- , m_usingRealOutputSurface(false)
- {
- }
- virtual ~WebLayerTreeViewClientAdapter() { }
-
- // CCLayerTreeHostClient implementation
- virtual void willBeginFrame() OVERRIDE { m_client->willBeginFrame(); }
- virtual void didBeginFrame() OVERRIDE { m_client->didBeginFrame(); }
- virtual void updateAnimations(double monotonicFrameBeginTime) OVERRIDE { m_client->updateAnimations(monotonicFrameBeginTime); }
- virtual void layout() OVERRIDE { m_client->layout(); }
- virtual void applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale) OVERRIDE { m_client->applyScrollAndScale(scrollDelta, pageScale); }
- virtual PassOwnPtr<WebCompositorOutputSurface> createOutputSurface() OVERRIDE
- {
- WebCompositorOutputSurface* outputSurface = m_client->createOutputSurface();
- if (outputSurface) {
- m_usingRealOutputSurface = true;
- return adoptPtr(outputSurface);
- }
-
- // Temporarily, if the output surface can't be created, create a WebGraphicsContext3D
- // directly. This allows bootstrapping the output surface system while downstream
- // users of the API still use the old approach.
- WebGraphicsContext3D* context = m_client->createContext3D();
- if (!context)
- return nullptr;
-
- m_usingRealOutputSurface = false;
- return adoptPtr(new WebGraphicsContextToOutputSurfaceAdapter(adoptPtr(context)));
- }
-
- virtual void didRecreateOutputSurface(bool success) OVERRIDE
- {
- if (m_usingRealOutputSurface) {
- m_client->didRecreateOutputSurface(success);
- return;
- }
- m_client->didRebindGraphicsContext(success);
- }
- virtual void willCommit() OVERRIDE { m_client->willCommit(); }
- virtual void didCommit() OVERRIDE { m_client->didCommit(); }
- virtual void didCommitAndDrawFrame() OVERRIDE { m_client->didCommitAndDrawFrame(); }
- virtual void didCompleteSwapBuffers() OVERRIDE { m_client->didCompleteSwapBuffers(); }
- virtual void scheduleComposite() OVERRIDE { m_client->scheduleComposite(); }
-
-private:
- WebLayerTreeViewClient* m_client;
- bool m_usingRealOutputSurface;
-};
-
-PassOwnPtr<WebLayerTreeViewImpl> WebLayerTreeViewImpl::create(WebLayerTreeViewClient* client, const WebLayer& root, const WebLayerTreeView::Settings& settings)
-{
- OwnPtr<WebLayerTreeViewImpl> impl = adoptPtr(new WebLayerTreeViewImpl(client, settings));
- if (!impl->layerTreeHost())
- return nullptr;
- impl->layerTreeHost()->setRootLayer(static_cast<const WebLayerImpl*>(&root)->layer());
- return impl.release();
-}
-
-WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client, const WebLayerTreeView::Settings& settings)
- : m_clientAdapter(adoptPtr(new WebLayerTreeViewClientAdapter(client)))
- , m_layerTreeHost(CCLayerTreeHost::create(m_clientAdapter.get(), settings))
+WebLayerTreeViewImpl::WebLayerTreeViewImpl(WebLayerTreeViewClient* client)
+ : m_client(client)
{
}
@@ -157,4 +62,221 @@ WebLayerTreeViewImpl::~WebLayerTreeViewImpl()
{
}
+bool WebLayerTreeViewImpl::initialize(const WebLayerTreeView::Settings& webSettings)
+{
+ CCLayerTreeSettings settings;
+ settings.acceleratePainting = webSettings.acceleratePainting;
+ settings.showFPSCounter = webSettings.showFPSCounter;
+ settings.showPlatformLayerTree = webSettings.showPlatformLayerTree;
+ settings.showPaintRects = webSettings.showPaintRects;
+ settings.renderVSyncEnabled = webSettings.renderVSyncEnabled;
+ settings.refreshRate = webSettings.refreshRate;
+ settings.defaultTileSize = webSettings.defaultTileSize;
+ settings.maxUntiledLayerSize = webSettings.maxUntiledLayerSize;
+ m_layerTreeHost = CCLayerTreeHost::create(this, settings);
+ if (!m_layerTreeHost)
+ return false;
+ return true;
+}
+
+void WebLayerTreeViewImpl::setSurfaceReady()
+{
+ m_layerTreeHost->setSurfaceReady();
+}
+
+void WebLayerTreeViewImpl::setRootLayer(const WebLayer& root)
+{
+ m_layerTreeHost->setRootLayer(static_cast<const WebLayerImpl*>(&root)->layer());
+}
+
+void WebLayerTreeViewImpl::clearRootLayer()
+{
+ m_layerTreeHost->setRootLayer(PassRefPtr<LayerChromium>());
+}
+
+void WebLayerTreeViewImpl::setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize)
+{
+ if (!deviceViewportSize.isEmpty())
+ m_layerTreeHost->setViewportSize(layoutViewportSize, deviceViewportSize);
+ else
+ m_layerTreeHost->setViewportSize(layoutViewportSize, layoutViewportSize);
+}
+
+WebSize WebLayerTreeViewImpl::layoutViewportSize() const
+{
+ return WebSize(m_layerTreeHost->layoutViewportSize());
+}
+
+WebSize WebLayerTreeViewImpl::deviceViewportSize() const
+{
+ return WebSize(m_layerTreeHost->deviceViewportSize());
+}
+
+void WebLayerTreeViewImpl::setDeviceScaleFactor(const float deviceScaleFactor)
+{
+ m_layerTreeHost->setDeviceScaleFactor(deviceScaleFactor);
+}
+
+float WebLayerTreeViewImpl::deviceScaleFactor() const
+{
+ return m_layerTreeHost->deviceScaleFactor();
+}
+
+void WebLayerTreeViewImpl::setBackgroundColor(WebColor color)
+{
+ m_layerTreeHost->setBackgroundColor(color);
+}
+
+void WebLayerTreeViewImpl::setHasTransparentBackground(bool transparent)
+{
+ m_layerTreeHost->setHasTransparentBackground(transparent);
+}
+
+void WebLayerTreeViewImpl::setVisible(bool visible)
+{
+ m_layerTreeHost->setVisible(visible);
+}
+
+void WebLayerTreeViewImpl::setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum)
+{
+ m_layerTreeHost->setPageScaleFactorAndLimits(pageScaleFactor, minimum, maximum);
+}
+
+void WebLayerTreeViewImpl::startPageScaleAnimation(const WebPoint& scroll, bool useAnchor, float newPageScale, double durationSec)
+{
+ m_layerTreeHost->startPageScaleAnimation(IntSize(scroll.x, scroll.y), useAnchor, newPageScale, durationSec);
+}
+
+void WebLayerTreeViewImpl::setNeedsAnimate()
+{
+ m_layerTreeHost->setNeedsAnimate();
+}
+
+void WebLayerTreeViewImpl::setNeedsRedraw()
+{
+ m_layerTreeHost->setNeedsRedraw();
+}
+
+bool WebLayerTreeViewImpl::commitRequested() const
+{
+ return m_layerTreeHost->commitRequested();
+}
+
+void WebLayerTreeViewImpl::composite()
+{
+ if (CCProxy::hasImplThread())
+ m_layerTreeHost->setNeedsCommit();
+ else
+ m_layerTreeHost->composite();
+}
+
+void WebLayerTreeViewImpl::updateAnimations(double frameBeginTime)
+{
+ m_layerTreeHost->updateAnimations(frameBeginTime);
+}
+
+bool WebLayerTreeViewImpl::compositeAndReadback(void *pixels, const WebRect& rect)
+{
+ return m_layerTreeHost->compositeAndReadback(pixels, rect);
+}
+
+void WebLayerTreeViewImpl::finishAllRendering()
+{
+ m_layerTreeHost->finishAllRendering();
+}
+
+void WebLayerTreeViewImpl::renderingStats(WebRenderingStats& stats) const
+{
+ CCRenderingStats ccStats;
+ m_layerTreeHost->renderingStats(ccStats);
+
+ stats.numAnimationFrames = ccStats.numAnimationFrames;
+ stats.numFramesSentToScreen = ccStats.numFramesSentToScreen;
+ stats.droppedFrameCount = ccStats.droppedFrameCount;
+ stats.totalPaintTimeInSeconds = ccStats.totalPaintTimeInSeconds;
+ stats.totalRasterizeTimeInSeconds = ccStats.totalRasterizeTimeInSeconds;
+}
+
+void WebLayerTreeViewImpl::setFontAtlas(SkBitmap bitmap, WebRect asciiToWebRectTable[128], int fontHeight)
+{
+ IntRect asciiToRectTable[128];
+ for (int i = 0; i < 128; ++i)
+ asciiToRectTable[i] = asciiToWebRectTable[i];
+ OwnPtr<CCFontAtlas> fontAtlas = CCFontAtlas::create(bitmap, asciiToRectTable, fontHeight);
+ m_layerTreeHost->setFontAtlas(fontAtlas.release());
+}
+
+void WebLayerTreeViewImpl::loseCompositorContext(int numTimes)
+{
+ m_layerTreeHost->loseContext(numTimes);
+}
+
+void WebLayerTreeViewImpl::willBeginFrame()
+{
+ m_client->willBeginFrame();
+}
+
+void WebLayerTreeViewImpl::didBeginFrame()
+{
+ m_client->didBeginFrame();
+}
+
+void WebLayerTreeViewImpl::animate(double monotonicFrameBeginTime)
+{
+ m_client->updateAnimations(monotonicFrameBeginTime);
+}
+
+void WebLayerTreeViewImpl::layout()
+{
+ m_client->layout();
+}
+
+void WebLayerTreeViewImpl::applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale)
+{
+ m_client->applyScrollAndScale(scrollDelta, pageScale);
+}
+
+PassOwnPtr<WebCompositorOutputSurface> WebLayerTreeViewImpl::createOutputSurface()
+{
+ return adoptPtr(m_client->createOutputSurface());
+}
+
+void WebLayerTreeViewImpl::didRecreateOutputSurface(bool success)
+{
+ m_client->didRecreateOutputSurface(success);
+}
+
+PassOwnPtr<CCInputHandler> WebLayerTreeViewImpl::createInputHandler()
+{
+ OwnPtr<WebInputHandler> handler = adoptPtr(m_client->createInputHandler());
+ if (handler)
+ return WebToCCInputHandlerAdapter::create(handler.release());
+ return nullptr;
+}
+
+void WebLayerTreeViewImpl::willCommit()
+{
+ m_client->willCommit();
+}
+
+void WebLayerTreeViewImpl::didCommit()
+{
+ m_client->didCommit();
+}
+
+void WebLayerTreeViewImpl::didCommitAndDrawFrame()
+{
+ m_client->didCommitAndDrawFrame();
+}
+
+void WebLayerTreeViewImpl::didCompleteSwapBuffers()
+{
+ m_client->didCompleteSwapBuffers();
+}
+
+void WebLayerTreeViewImpl::scheduleComposite()
+{
+ m_client->scheduleComposite();
+}
+
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
index 3bc43410d..a1dbd7404 100644
--- a/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
+++ b/Source/WebKit/chromium/src/WebLayerTreeViewImpl.h
@@ -26,6 +26,7 @@
#ifndef WebLayerTreeViewImpl_h
#define WebLayerTreeViewImpl_h
+#include "CCLayerTreeHostClient.h"
#include <public/WebLayerTreeView.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -39,17 +40,55 @@ class WebLayer;
class WebLayerTreeViewClient;
class WebLayerTreeViewClientAdapter;
-class WebLayerTreeViewImpl {
+class WebLayerTreeViewImpl : public WebLayerTreeView, public WebCore::CCLayerTreeHostClient {
public:
- static PassOwnPtr<WebLayerTreeViewImpl> create(WebLayerTreeViewClient*, const WebLayer& root, const WebLayerTreeView::Settings&);
+ explicit WebLayerTreeViewImpl(WebLayerTreeViewClient*);
virtual ~WebLayerTreeViewImpl();
- WebCore::CCLayerTreeHost* layerTreeHost() { return m_layerTreeHost.get(); }
+ bool initialize(const Settings&);
-private:
- WebLayerTreeViewImpl(WebLayerTreeViewClient*, const WebLayerTreeView::Settings&);
+ // WebLayerTreeView implementation.
+ virtual void setSurfaceReady() OVERRIDE;
+ virtual void setRootLayer(const WebLayer&) OVERRIDE;
+ virtual void clearRootLayer() OVERRIDE;
+ virtual void setViewportSize(const WebSize& layoutViewportSize, const WebSize& deviceViewportSize = WebSize()) OVERRIDE;
+ virtual WebSize layoutViewportSize() const OVERRIDE;
+ virtual WebSize deviceViewportSize() const OVERRIDE;
+ virtual void setDeviceScaleFactor(float) OVERRIDE;
+ virtual float deviceScaleFactor() const OVERRIDE;
+ virtual void setBackgroundColor(WebColor) OVERRIDE;
+ virtual void setHasTransparentBackground(bool) OVERRIDE;
+ virtual void setVisible(bool) OVERRIDE;
+ virtual void setPageScaleFactorAndLimits(float pageScaleFactor, float minimum, float maximum) OVERRIDE;
+ virtual void startPageScaleAnimation(const WebPoint& destination, bool useAnchor, float newPageScale, double durationSec) OVERRIDE;
+ virtual void setNeedsAnimate() OVERRIDE;
+ virtual void setNeedsRedraw() OVERRIDE;
+ virtual bool commitRequested() const OVERRIDE;
+ virtual void composite() OVERRIDE;
+ virtual void updateAnimations(double frameBeginTime) OVERRIDE;
+ virtual bool compositeAndReadback(void *pixels, const WebRect&) OVERRIDE;
+ virtual void finishAllRendering() OVERRIDE;
+ virtual void renderingStats(WebRenderingStats&) const OVERRIDE;
+ virtual void setFontAtlas(SkBitmap, WebRect asciiToRectTable[128], int fontHeight) OVERRIDE;
+ virtual void loseCompositorContext(int numTimes) OVERRIDE;
+
+ // WebCore::CCLayerTreeHostClient implementation.
+ virtual void willBeginFrame() OVERRIDE;
+ virtual void didBeginFrame() OVERRIDE;
+ virtual void animate(double monotonicFrameBeginTime) OVERRIDE;
+ virtual void layout() OVERRIDE;
+ virtual void applyScrollAndScale(const WebCore::IntSize& scrollDelta, float pageScale) OVERRIDE;
+ virtual PassOwnPtr<WebCompositorOutputSurface> createOutputSurface() OVERRIDE;
+ virtual void didRecreateOutputSurface(bool success) OVERRIDE;
+ virtual PassOwnPtr<WebCore::CCInputHandler> createInputHandler() OVERRIDE;
+ virtual void willCommit() OVERRIDE;
+ virtual void didCommit() OVERRIDE;
+ virtual void didCommitAndDrawFrame() OVERRIDE;
+ virtual void didCompleteSwapBuffers() OVERRIDE;
+ virtual void scheduleComposite() OVERRIDE;
- OwnPtr<WebLayerTreeViewClientAdapter> m_clientAdapter;
+private:
+ WebLayerTreeViewClient* m_client;
OwnPtr<WebCore::CCLayerTreeHost> m_layerTreeHost;
};
diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
index 72e871637..e570dca5a 100644
--- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
+++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp
@@ -12,6 +12,7 @@
#include "AudioSourceProviderClient.h"
#include "Frame.h"
#include "GraphicsContext.h"
+#include "GraphicsLayerChromium.h"
#include "HTMLMediaElement.h"
#include "IntSize.h"
#include "KURL.h"
@@ -29,11 +30,13 @@
#include <public/Platform.h>
#include <public/WebCString.h>
#include <public/WebCanvas.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebMimeRegistry.h>
#include <public/WebRect.h>
#include <public/WebSize.h>
#include <public/WebString.h>
#include <public/WebURL.h>
+#include <public/WebVideoLayer.h>
#if USE(ACCELERATED_COMPOSITING)
#include "RenderLayerCompositor.h"
@@ -97,6 +100,10 @@ WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl()
#endif
if (m_helperPlugin)
closeHelperPlugin();
+#if USE(ACCELERATED_COMPOSITING)
+ if (m_videoLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_videoLayer->layer());
+#endif
}
void WebMediaPlayerClientImpl::networkStateChanged()
@@ -111,8 +118,10 @@ void WebMediaPlayerClientImpl::readyStateChanged()
m_mediaPlayer->readyStateChanged();
#if USE(ACCELERATED_COMPOSITING)
if (hasVideo() && supportsAcceleratedRendering() && !m_videoLayer) {
- m_videoLayer = adoptPtr(WebVideoLayer::create(this));
+ m_videoLayer = adoptPtr(Platform::current()->compositorSupport()->createVideoLayer(this));
+
m_videoLayer->layer()->setOpaque(m_opaque);
+ GraphicsLayerChromium::registerContentsLayer(m_videoLayer->layer());
}
#endif
}
@@ -431,6 +440,12 @@ bool WebMediaPlayerClientImpl::sourceAbort(const String& id)
return m_webMediaPlayer->sourceAbort(id);
}
+void WebMediaPlayerClientImpl::sourceSetDuration(double duration)
+{
+ if (m_webMediaPlayer)
+ m_webMediaPlayer->sourceSetDuration(duration);
+}
+
void WebMediaPlayerClientImpl::sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus status)
{
if (m_webMediaPlayer)
diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
index 329fd9ec0..dd170e57c 100644
--- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
+++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h
@@ -39,7 +39,6 @@
#include "WebMediaPlayerClient.h"
#include "WebStreamTextureClient.h"
#include <public/WebVideoFrameProvider.h>
-#include <public/WebVideoLayer.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -50,6 +49,7 @@ namespace WebKit {
class WebHelperPluginImpl;
class WebAudioSourceProvider;
class WebMediaPlayer;
+class WebVideoLayer;
// This class serves as a bridge between WebCore::MediaPlayer and
// WebKit::WebMediaPlayer.
@@ -163,6 +163,7 @@ public:
virtual WTF::PassRefPtr<WebCore::TimeRanges> sourceBuffered(const String&);
virtual bool sourceAppend(const String&, const unsigned char* data, unsigned length);
virtual bool sourceAbort(const String&);
+ virtual void sourceSetDuration(double);
virtual void sourceEndOfStream(WebCore::MediaPlayer::EndOfStreamStatus);
virtual bool sourceSetTimestampOffset(const String&, double offset);
#endif
diff --git a/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp b/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp
index dd4b15ebd..793ca8b83 100644
--- a/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebPageSerializerImpl.cpp
@@ -75,6 +75,8 @@
// override the incorrect base URL and make sure we alway load correct local
// saved resource files.
+#define WTF_DEPRECATED_STRING_OPERATORS
+
#include "config.h"
#include "WebPageSerializerImpl.h"
diff --git a/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp b/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
index 75a97e0f6..524ba80f8 100644
--- a/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp
@@ -51,6 +51,7 @@
#include "FrameView.h"
#include "GestureEvent.h"
#include "GraphicsContext.h"
+#include "GraphicsLayerChromium.h"
#include "HitTestResult.h"
#include "HostWindow.h"
#include "HTMLFormElement.h"
@@ -71,6 +72,8 @@
#include "WheelEvent.h"
#include <public/Platform.h>
#include <public/WebClipboard.h>
+#include <public/WebCompositorSupport.h>
+#include <public/WebExternalTextureLayer.h>
#include <public/WebRect.h>
#include <public/WebString.h>
#include <public/WebURL.h>
@@ -368,8 +371,10 @@ void WebPluginContainerImpl::setBackingTextureId(unsigned textureId)
ASSERT(!m_ioSurfaceLayer);
- if (!m_textureLayer)
- m_textureLayer = adoptPtr(WebExternalTextureLayer::create());
+ if (!m_textureLayer) {
+ m_textureLayer = adoptPtr(Platform::current()->compositorSupport()->createExternalTextureLayer());
+ GraphicsLayerChromium::registerContentsLayer(m_textureLayer->layer());
+ }
m_textureLayer->setTextureId(textureId);
// If anyone of the IDs is zero we need to switch between hardware
@@ -392,8 +397,10 @@ void WebPluginContainerImpl::setBackingIOSurfaceId(int width,
ASSERT(!m_textureLayer);
- if (!m_ioSurfaceLayer)
- m_ioSurfaceLayer = adoptPtr(WebIOSurfaceLayer::create());
+ if (!m_ioSurfaceLayer) {
+ m_ioSurfaceLayer = adoptPtr(Platform::current()->compositorSupport()->createIOSurfaceLayer());
+ GraphicsLayerChromium::registerContentsLayer(m_ioSurfaceLayer->layer());
+ }
m_ioSurfaceLayer->setIOSurfaceProperties(ioSurfaceId, WebSize(width, height));
// If anyone of the IDs is zero we need to switch between hardware
@@ -500,7 +507,7 @@ bool WebPluginContainerImpl::isRectTopmost(const WebRect& rect)
LayoutPoint center = documentRect.center();
// Make the rect we're checking (the point surrounded by padding rects) contained inside the requested rect. (Note that -1/2 is 0.)
LayoutSize padding((documentRect.width() - 1) / 2, (documentRect.height() - 1) / 2);
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(center, false, false, DontHitTestScrollbars, HitTestRequest::ReadOnly | HitTestRequest::Active, padding);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(center, HitTestRequest::ReadOnly | HitTestRequest::Active, padding);
const HitTestResult::NodeSet& nodes = result.rectBasedTestResult();
if (nodes.size() != 1)
return false;
@@ -627,6 +634,13 @@ WebPluginContainerImpl::WebPluginContainerImpl(WebCore::HTMLPlugInElement* eleme
WebPluginContainerImpl::~WebPluginContainerImpl()
{
+#if USE(ACCELERATED_COMPOSITING)
+ if (m_textureLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_textureLayer->layer());
+ if (m_ioSurfaceLayer)
+ GraphicsLayerChromium::unregisterContentsLayer(m_ioSurfaceLayer->layer());
+#endif
+
if (m_isAcceptingTouchEvents)
m_element->document()->didRemoveTouchEventHandler();
diff --git a/Source/WebKit/chromium/src/WebPluginContainerImpl.h b/Source/WebKit/chromium/src/WebPluginContainerImpl.h
index 998be6e41..e203a7370 100644
--- a/Source/WebKit/chromium/src/WebPluginContainerImpl.h
+++ b/Source/WebKit/chromium/src/WebPluginContainerImpl.h
@@ -35,7 +35,6 @@
#include "WebPluginContainer.h"
#include "Widget.h"
-#include <public/WebExternalTextureLayer.h>
#include <public/WebIOSurfaceLayer.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassRefPtr.h>
@@ -67,6 +66,7 @@ struct WebPrintParams;
class ScrollbarGroup;
class WebPlugin;
class WebPluginLoadObserver;
+class WebExternalTextureLayer;
class WebPluginContainerImpl : public WebCore::PluginViewBase, public WebPluginContainer {
public:
diff --git a/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp b/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
index 8bc880c75..bbd71bc82 100644
--- a/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
+++ b/Source/WebKit/chromium/src/WebRuntimeFeatures.cpp
@@ -204,14 +204,13 @@ bool WebRuntimeFeatures::isWebAudioEnabled()
#endif
}
-void WebRuntimeFeatures::enablePushState(bool enable)
+void WebRuntimeFeatures::enablePushState(bool)
{
- RuntimeEnabledFeatures::setPushStateEnabled(enable);
}
bool WebRuntimeFeatures::isPushStateEnabled(bool enable)
{
- return RuntimeEnabledFeatures::pushStateEnabled();
+ return true;
}
void WebRuntimeFeatures::enableTouch(bool enable)
diff --git a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp
index ec6e9895d..44f6ea3c5 100644
--- a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.cpp
@@ -29,19 +29,18 @@
#include "ScrollbarLayerChromium.h"
#include "WebLayerImpl.h"
-using WebCore::Scrollbar;
using WebCore::ScrollbarLayerChromium;
namespace WebKit {
-WebScrollbarLayer* WebScrollbarLayer::create(WebCore::Scrollbar* scrollbar, WebScrollbarThemePainter painter, PassOwnPtr<WebScrollbarThemeGeometry> geometry)
+WebScrollbarLayer* WebScrollbarLayer::create(WebScrollbar* scrollbar, WebScrollbarThemePainter painter, WebScrollbarThemeGeometry* geometry)
{
- return new WebScrollbarLayerImpl(ScrollbarLayerChromium::create(WebScrollbar::create(scrollbar), painter, geometry, 0));
+ return new WebScrollbarLayerImpl(scrollbar, painter, geometry);
}
-WebScrollbarLayerImpl::WebScrollbarLayerImpl(PassRefPtr<WebCore::ScrollbarLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebScrollbarLayerImpl::WebScrollbarLayerImpl(WebScrollbar* scrollbar, WebScrollbarThemePainter painter, WebScrollbarThemeGeometry* geometry)
+ : m_layer(adoptPtr(new WebLayerImpl(ScrollbarLayerChromium::create(adoptPtr(scrollbar), painter, adoptPtr(geometry), 0))))
{
}
diff --git a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h
index 720f79c55..a85b28e67 100644
--- a/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebScrollbarLayerImpl.h
@@ -28,18 +28,13 @@
#include <public/WebScrollbarLayer.h>
#include <wtf/OwnPtr.h>
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-class ScrollbarLayerChromium;
-}
namespace WebKit {
class WebLayerImpl;
class WebScrollbarLayerImpl : public WebScrollbarLayer {
public:
- explicit WebScrollbarLayerImpl(PassRefPtr<WebCore::ScrollbarLayerChromium>);
+ WebScrollbarLayerImpl(WebScrollbar*, WebScrollbarThemePainter, WebScrollbarThemeGeometry*);
virtual ~WebScrollbarLayerImpl();
// WebScrollbarLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.cpp b/Source/WebKit/chromium/src/WebSettingsImpl.cpp
index eb4b7bb76..5026ee94b 100644
--- a/Source/WebKit/chromium/src/WebSettingsImpl.cpp
+++ b/Source/WebKit/chromium/src/WebSettingsImpl.cpp
@@ -53,6 +53,7 @@ WebSettingsImpl::WebSettingsImpl(Settings* settings)
, m_renderVSyncEnabled(true)
, m_viewportEnabled(false)
, m_applyDefaultDeviceScaleFactorInCompositor(false)
+ , m_gestureTapHighlightEnabled(true)
, m_defaultTileSize(WebSize(256, 256))
, m_maxUntiledLayerSize(WebSize(512, 512))
{
@@ -636,4 +637,9 @@ void WebSettingsImpl::setCookieEnabled(bool enabled)
m_settings->setCookieEnabled(enabled);
}
+void WebSettingsImpl::setGestureTapHighlightEnabled(bool enableHighlight)
+{
+ m_gestureTapHighlightEnabled = enableHighlight;
+}
+
} // namespace WebKit
diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.h b/Source/WebKit/chromium/src/WebSettingsImpl.h
index 7bc8a649a..6cee2af23 100644
--- a/Source/WebKit/chromium/src/WebSettingsImpl.h
+++ b/Source/WebKit/chromium/src/WebSettingsImpl.h
@@ -95,6 +95,7 @@ public:
virtual void setForceCompositingMode(bool);
virtual void setFrameFlatteningEnabled(bool);
virtual void setFullScreenEnabled(bool);
+ virtual void setGestureTapHighlightEnabled(bool);
virtual void setHyperlinkAuditingEnabled(bool);
virtual void setImagesEnabled(bool);
virtual void setInteractiveFormValidationEnabled(bool);
@@ -157,6 +158,7 @@ public:
bool showPaintRects() const { return m_showPaintRects; }
bool renderVSyncEnabled() const { return m_renderVSyncEnabled; }
bool applyDefaultDeviceScaleFactorInCompositor() const { return m_applyDefaultDeviceScaleFactorInCompositor; }
+ bool gestureTapHighlightEnabled() { return m_gestureTapHighlightEnabled; }
WebSize defaultTileSize() const { return m_defaultTileSize; }
WebSize maxUntiledLayerSize() const { return m_maxUntiledLayerSize; }
@@ -168,6 +170,7 @@ private:
bool m_renderVSyncEnabled;
bool m_viewportEnabled;
bool m_applyDefaultDeviceScaleFactorInCompositor;
+ bool m_gestureTapHighlightEnabled;
WebSize m_defaultTileSize;
WebSize m_maxUntiledLayerSize;
};
diff --git a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp
index 94404262c..5a5231fce 100644
--- a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.cpp
@@ -35,11 +35,11 @@ namespace WebKit {
WebSolidColorLayer* WebSolidColorLayer::create()
{
- return new WebSolidColorLayerImpl(SolidColorLayerChromium::create());
+ return new WebSolidColorLayerImpl();
}
-WebSolidColorLayerImpl::WebSolidColorLayerImpl(PassRefPtr<SolidColorLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebSolidColorLayerImpl::WebSolidColorLayerImpl()
+ : m_layer(adoptPtr(new WebLayerImpl(SolidColorLayerChromium::create())))
{
m_layer->layer()->setIsDrawable(true);
}
diff --git a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h
index 7742ba492..f6e46e3ec 100644
--- a/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebSolidColorLayerImpl.h
@@ -28,18 +28,13 @@
#include <public/WebSolidColorLayer.h>
#include <wtf/OwnPtr.h>
-#include <wtf/PassRefPtr.h>
-
-namespace WebCore {
-class SolidColorLayerChromium;
-}
namespace WebKit {
class WebLayerImpl;
class WebSolidColorLayerImpl : public WebSolidColorLayer {
public:
- explicit WebSolidColorLayerImpl(PassRefPtr<WebCore::SolidColorLayerChromium>);
+ WebSolidColorLayerImpl();
virtual ~WebSolidColorLayerImpl();
// WebSolidColorLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp
new file mode 100644
index 000000000..79049c97a
--- /dev/null
+++ b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.cpp
@@ -0,0 +1,128 @@
+/*
+ * Copyright (C) 2012 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. 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 "WebToCCInputHandlerAdapter.h"
+
+#include <public/WebInputHandlerClient.h>
+
+#define COMPILE_ASSERT_MATCHING_ENUM(webkit_name, webcore_name) \
+ COMPILE_ASSERT(int(WebKit::webkit_name) == int(WebCore::webcore_name), mismatching_enums)
+
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollStatusOnMainThread, CCInputHandlerClient::ScrollOnMainThread);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollStatusStarted, CCInputHandlerClient::ScrollStarted);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollStatusIgnored, CCInputHandlerClient::ScrollIgnored);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollInputTypeGesture, CCInputHandlerClient::Gesture);
+COMPILE_ASSERT_MATCHING_ENUM(WebInputHandlerClient::ScrollInputTypeWheel, CCInputHandlerClient::Wheel);
+
+namespace WebKit {
+
+PassOwnPtr<WebToCCInputHandlerAdapter> WebToCCInputHandlerAdapter::create(PassOwnPtr<WebInputHandler> handler)
+{
+ return adoptPtr(new WebToCCInputHandlerAdapter(handler));
+}
+
+WebToCCInputHandlerAdapter::WebToCCInputHandlerAdapter(PassOwnPtr<WebInputHandler> handler)
+ : m_handler(handler)
+{
+}
+
+WebToCCInputHandlerAdapter::~WebToCCInputHandlerAdapter()
+{
+}
+
+class WebToCCInputHandlerAdapter::ClientAdapter : public WebInputHandlerClient {
+public:
+ ClientAdapter(WebCore::CCInputHandlerClient* client)
+ : m_client(client)
+ {
+ }
+
+ virtual ~ClientAdapter()
+ {
+ }
+
+ virtual ScrollStatus scrollBegin(WebPoint point, ScrollInputType type) OVERRIDE
+ {
+ return static_cast<WebInputHandlerClient::ScrollStatus>(m_client->scrollBegin(point, static_cast<WebCore::CCInputHandlerClient::ScrollInputType>(type)));
+ }
+
+ virtual void scrollBy(WebPoint point, WebSize offset) OVERRIDE
+ {
+ m_client->scrollBy(point, offset);
+ }
+
+ virtual void scrollEnd() OVERRIDE
+ {
+ m_client->scrollEnd();
+ }
+
+ virtual void pinchGestureBegin() OVERRIDE
+ {
+ m_client->pinchGestureBegin();
+ }
+
+ virtual void pinchGestureUpdate(float magnifyDelta, WebPoint anchor) OVERRIDE
+ {
+ m_client->pinchGestureUpdate(magnifyDelta, anchor);
+ }
+
+ virtual void pinchGestureEnd() OVERRIDE
+ {
+ m_client->pinchGestureEnd();
+ }
+
+ virtual void startPageScaleAnimation(WebSize targetPosition,
+ bool anchorPoint,
+ float pageScale,
+ double startTime,
+ double duration) OVERRIDE
+ {
+ m_client->startPageScaleAnimation(targetPosition, anchorPoint, pageScale, startTime, duration);
+ }
+
+ virtual void scheduleAnimation() OVERRIDE
+ {
+ m_client->scheduleAnimation();
+ }
+
+private:
+ WebCore::CCInputHandlerClient* m_client;
+};
+
+
+void WebToCCInputHandlerAdapter::bindToClient(WebCore::CCInputHandlerClient* client)
+{
+ m_clientAdapter = adoptPtr(new ClientAdapter(client));
+ m_handler->bindToClient(m_clientAdapter.get());
+}
+
+void WebToCCInputHandlerAdapter::animate(double monotonicTime)
+{
+ m_handler->animate(monotonicTime);
+}
+
+}
+
diff --git a/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h
new file mode 100644
index 000000000..889553559
--- /dev/null
+++ b/Source/WebKit/chromium/src/WebToCCInputHandlerAdapter.h
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2012 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. 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 WebToCCInputHandlerAdapter_h
+#define WebToCCInputHandlerAdapter_h
+
+#include "CCInputHandler.h"
+#include <public/WebInputHandler.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
+
+namespace WebKit {
+
+class WebToCCInputHandlerAdapter : public WebCore::CCInputHandler {
+public:
+ static PassOwnPtr<WebToCCInputHandlerAdapter> create(PassOwnPtr<WebInputHandler>);
+ virtual ~WebToCCInputHandlerAdapter();
+
+ // WebCore::CCInputHandler implementation.
+ virtual void bindToClient(WebCore::CCInputHandlerClient*) OVERRIDE;
+ virtual void animate(double monotonicTime) OVERRIDE;
+
+private:
+ explicit WebToCCInputHandlerAdapter(PassOwnPtr<WebInputHandler>);
+
+ class ClientAdapter;
+ OwnPtr<ClientAdapter> m_clientAdapter;
+ OwnPtr<WebInputHandler> m_handler;
+};
+
+}
+
+#endif // WebToCCInputHandlerAdapter_h
diff --git a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp
index 201042e95..69a12e8a9 100644
--- a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp
+++ b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.cpp
@@ -36,11 +36,11 @@ namespace WebKit {
WebTransformAnimationCurve* WebTransformAnimationCurve::create()
{
- return new WebTransformAnimationCurveImpl(WebCore::CCKeyframedTransformAnimationCurve::create());
+ return new WebTransformAnimationCurveImpl();
}
-WebTransformAnimationCurveImpl::WebTransformAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedTransformAnimationCurve> curve)
- : m_curve(curve)
+WebTransformAnimationCurveImpl::WebTransformAnimationCurveImpl()
+ : m_curve(WebCore::CCKeyframedTransformAnimationCurve::create())
{
}
diff --git a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h
index 45a03ef06..bc9a9345a 100644
--- a/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h
+++ b/Source/WebKit/chromium/src/WebTransformAnimationCurveImpl.h
@@ -38,7 +38,7 @@ namespace WebKit {
class WebTransformAnimationCurveImpl : public WebTransformAnimationCurve {
public:
- explicit WebTransformAnimationCurveImpl(PassOwnPtr<WebCore::CCKeyframedTransformAnimationCurve>);
+ WebTransformAnimationCurveImpl();
virtual ~WebTransformAnimationCurveImpl();
// WebAnimationCurve implementation.
diff --git a/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp b/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp
index 5bfed6742..a8fdb4b4f 100644
--- a/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp
+++ b/Source/WebKit/chromium/src/WebVideoLayerImpl.cpp
@@ -33,11 +33,11 @@ namespace WebKit {
WebVideoLayer* WebVideoLayer::create(WebVideoFrameProvider* provider)
{
- return new WebVideoLayerImpl(WebCore::VideoLayerChromium::create(provider));
+ return new WebVideoLayerImpl(provider);
}
-WebVideoLayerImpl::WebVideoLayerImpl(PassRefPtr<WebCore::VideoLayerChromium> layer)
- : m_layer(adoptPtr(new WebLayerImpl(layer)))
+WebVideoLayerImpl::WebVideoLayerImpl(WebVideoFrameProvider* provider)
+ : m_layer(adoptPtr(new WebLayerImpl(WebCore::VideoLayerChromium::create(provider))))
{
}
diff --git a/Source/WebKit/chromium/src/WebVideoLayerImpl.h b/Source/WebKit/chromium/src/WebVideoLayerImpl.h
index 287e4b5e2..664935baf 100644
--- a/Source/WebKit/chromium/src/WebVideoLayerImpl.h
+++ b/Source/WebKit/chromium/src/WebVideoLayerImpl.h
@@ -28,16 +28,12 @@
#include <public/WebVideoLayer.h>
-namespace WebCore {
-class VideoLayerChromium;
-}
-
namespace WebKit {
class WebLayerImpl;
class WebVideoLayerImpl : public WebVideoLayer {
public:
- explicit WebVideoLayerImpl(PassRefPtr<WebCore::VideoLayerChromium>);
+ explicit WebVideoLayerImpl(WebVideoFrameProvider*);
virtual ~WebVideoLayerImpl();
// WebVideoLayer implementation.
diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp
index c6f9f7e09..be474d8fa 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.cpp
+++ b/Source/WebKit/chromium/src/WebViewImpl.cpp
@@ -119,13 +119,12 @@
#include "TextFieldDecoratorImpl.h"
#include "TextIterator.h"
#include "Timer.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
#include "TraceEvent.h"
#include "UserGestureIndicator.h"
#include "WebAccessibilityObject.h"
#include "WebActiveWheelFlingParameters.h"
#include "WebAutofillClient.h"
-#include "WebCompositorImpl.h"
+#include "WebCompositorInputHandlerImpl.h"
#include "WebDevToolsAgentImpl.h"
#include "WebDevToolsAgentPrivate.h"
#include "WebFrameImpl.h"
@@ -145,13 +144,12 @@
#include "WebRuntimeFeatures.h"
#include "WebSettingsImpl.h"
#include "WebTextInputInfo.h"
-#include "WebTouchCandidatesInfo.h"
#include "WebViewClient.h"
#include "WheelEvent.h"
#include "painting/GraphicsContextBuilder.h"
#include <public/Platform.h>
-#include <public/WebCompositor.h>
#include <public/WebCompositorOutputSurface.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebDragData.h>
#include <public/WebFloatPoint.h>
#include <public/WebGraphicsContext3D.h>
@@ -169,7 +167,9 @@
#include <wtf/Uint8ClampedArray.h>
#if ENABLE(GESTURE_EVENTS)
+#include "PlatformGestureCurveFactory.h"
#include "PlatformGestureEvent.h"
+#include "TouchDisambiguation.h"
#endif
#if OS(WINDOWS)
@@ -416,6 +416,7 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
, m_recreatingGraphicsContext(false)
, m_compositorSurfaceReady(false)
, m_deviceScaleInCompositor(1)
+ , m_inputHandlerIdentifier(-1)
#endif
#if ENABLE(INPUT_SPEECH)
, m_speechInputClient(SpeechInputClientImpl::create(client))
@@ -432,8 +433,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
#if ENABLE(MEDIA_STREAM)
, m_userMediaClientImpl(this)
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- , m_registerProtocolHandlerClient(RegisterProtocolHandlerClientImpl::create(this))
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ , m_navigatorContentUtilsClient(NavigatorContentUtilsClientImpl::create(this))
#endif
, m_flingModifier(0)
{
@@ -464,8 +465,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
provideNotification(m_page.get(), notificationPresenterImpl());
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- provideRegisterProtocolHandlerTo(m_page.get(), m_registerProtocolHandlerClient.get());
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ provideNavigatorContentUtilsTo(m_page.get(), m_navigatorContentUtilsClient.get());
#endif
provideContextFeaturesTo(m_page.get(), m_featureSwitchClient.get());
@@ -638,17 +639,13 @@ void WebViewImpl::handleMouseUp(Frame& mainFrame, const WebMouseEvent& event)
FrameView* view = m_page->mainFrame()->view();
IntPoint clickPoint(m_lastMouseDownPoint.x, m_lastMouseDownPoint.y);
IntPoint contentPoint = view->windowToContents(clickPoint);
- HitTestResult hitTestResult = focused->eventHandler()->hitTestResultAtPoint(contentPoint, false, false, ShouldHitTestScrollbars);
+ HitTestResult hitTestResult = focused->eventHandler()->hitTestResultAtPoint(contentPoint, HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::TestChildFrameScrollBars);
// We don't want to send a paste when middle clicking a scroll bar or a
// link (which will navigate later in the code). The main scrollbars
// have to be handled separately.
if (!hitTestResult.scrollbar() && !hitTestResult.isLiveLink() && focused && !view->scrollbarAtPoint(clickPoint)) {
Editor* editor = focused->editor();
- Pasteboard* pasteboard = Pasteboard::generalPasteboard();
- bool oldSelectionMode = pasteboard->isSelectionMode();
- pasteboard->setSelectionMode(true);
- editor->command(AtomicString("Paste")).execute();
- pasteboard->setSelectionMode(oldSelectionMode);
+ editor->command(AtomicString("PasteGlobalSelection")).execute();
}
}
#endif
@@ -688,11 +685,13 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
{
switch (event.type) {
case WebInputEvent::GestureFlingStart: {
+ m_client->cancelScheduledContentIntents();
m_lastWheelPosition = WebPoint(event.x, event.y);
m_lastWheelGlobalPosition = WebPoint(event.globalX, event.globalY);
m_flingModifier = event.modifiers;
// FIXME: Make the curve parametrizable from the browser.
- m_gestureAnimation = ActivePlatformGestureAnimation::create(TouchpadFlingPlatformGestureCurve::create(FloatPoint(event.deltaX, event.deltaY)), this);
+ OwnPtr<PlatformGestureCurve> flingCurve = PlatformGestureCurveFactory::get()->createCurve(event.data.flingStart.sourceDevice, FloatPoint(event.data.flingStart.velocityX, event.data.flingStart.velocityY));
+ m_gestureAnimation = ActivePlatformGestureAnimation::create(flingCurve.release(), this);
scheduleAnimation();
return true;
}
@@ -703,12 +702,28 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
}
return false;
case WebInputEvent::GestureTap: {
- PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
+ m_client->cancelScheduledContentIntents();
+ if (detectContentOnTouch(WebPoint(event.x, event.y), event.type))
+ return true;
+
RefPtr<WebCore::PopupContainer> selectPopup;
selectPopup = m_selectPopup;
hideSelectPopup();
ASSERT(!m_selectPopup);
+
+ if (event.data.tap.width > 0) {
+ IntRect boundingBox(event.x - event.data.tap.width / 2, event.y - event.data.tap.height / 2, event.data.tap.width, event.data.tap.height);
+ Vector<IntRect> goodTargets;
+ findGoodTouchTargets(boundingBox, mainFrameImpl()->frame(), pageScaleFactor(), goodTargets);
+ // FIXME: replace touch adjustment code when numberOfGoodTargets == 1?
+ // Single candidate case is currently handled by: https://bugs.webkit.org/show_bug.cgi?id=85101
+ if (goodTargets.size() >= 2 && m_client && m_client->didTapMultipleTargets(event, goodTargets))
+ return true;
+ }
+
+ PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
bool gestureHandled = mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
+
if (m_selectPopup && m_selectPopup == selectPopup) {
// That tap triggered a select popup which is the same as the one that
// was showing before the tap. It means the user tapped the select
@@ -716,6 +731,7 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
// immediately reopened the select popup. It needs to be closed.
hideSelectPopup();
}
+
return gestureHandled;
}
case WebInputEvent::GestureTwoFingerTap:
@@ -723,6 +739,10 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
if (!mainFrameImpl() || !mainFrameImpl()->frameView())
return false;
+ m_client->cancelScheduledContentIntents();
+ if (detectContentOnTouch(WebPoint(event.x, event.y), event.type))
+ return true;
+
m_page->contextMenuController()->clearContextMenu();
m_contextMenuAllowed = true;
PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
@@ -731,18 +751,21 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event)
return handled;
}
case WebInputEvent::GestureTapDown: {
+ m_client->cancelScheduledContentIntents();
// Queue a highlight animation, then hand off to regular handler.
#if OS(LINUX)
- enableTouchHighlight(IntPoint(event.x, event.y));
+ if (settingsImpl()->gestureTapHighlightEnabled())
+ enableTouchHighlight(IntPoint(event.x, event.y));
#endif
PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
return mainFrameImpl()->frame()->eventHandler()->handleGestureEvent(platformEvent);
}
+ case WebInputEvent::GestureDoubleTap:
case WebInputEvent::GestureScrollBegin:
+ case WebInputEvent::GesturePinchBegin:
+ m_client->cancelScheduledContentIntents();
case WebInputEvent::GestureScrollEnd:
case WebInputEvent::GestureScrollUpdate:
- case WebInputEvent::GestureDoubleTap:
- case WebInputEvent::GesturePinchBegin:
case WebInputEvent::GesturePinchEnd:
case WebInputEvent::GesturePinchUpdate: {
PlatformGestureEventBuilder platformEvent(mainFrameImpl()->frameView(), event);
@@ -761,20 +784,20 @@ void WebViewImpl::transferActiveWheelFlingAnimation(const WebActiveWheelFlingPar
m_lastWheelPosition = parameters.point;
m_lastWheelGlobalPosition = parameters.globalPoint;
m_flingModifier = parameters.modifiers;
- OwnPtr<PlatformGestureCurve> curve = TouchpadFlingPlatformGestureCurve::create(parameters.delta, IntPoint(parameters.cumulativeScroll));
+ OwnPtr<PlatformGestureCurve> curve = PlatformGestureCurveFactory::get()->createCurve(parameters.sourceDevice, parameters.delta, IntPoint(parameters.cumulativeScroll));
m_gestureAnimation = ActivePlatformGestureAnimation::create(curve.release(), this, parameters.startTime);
scheduleAnimation();
}
void WebViewImpl::renderingStats(WebRenderingStats& stats) const
{
- if (!m_layerTreeView.isNull())
- m_layerTreeView.renderingStats(stats);
+ if (m_layerTreeView)
+ m_layerTreeView->renderingStats(stats);
}
void WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool useAnchor, float newScale, double durationInSeconds)
{
- if (m_layerTreeView.isNull())
+ if (!m_layerTreeView)
return;
IntPoint clampedPoint = targetPosition;
@@ -786,7 +809,7 @@ void WebViewImpl::startPageScaleAnimation(const IntPoint& targetPosition, bool u
return;
}
- m_layerTreeView.startPageScaleAnimation(targetPosition, useAnchor, newScale, durationInSeconds);
+ m_layerTreeView->startPageScaleAnimation(targetPosition, useAnchor, newScale, durationInSeconds);
}
#endif
@@ -795,17 +818,6 @@ WebViewBenchmarkSupport* WebViewImpl::benchmarkSupport()
return &m_benchmarkSupport;
}
-WebVector<WebFloatQuad> WebViewImpl::getTouchHighlightQuads(const WebPoint& point,
- int padding,
- WebTouchCandidatesInfo& outTouchInfo,
- WebColor& outTapHighlightColor)
-{
- // FIXME: Upstream this function from the chromium-android branch.
- notImplemented();
-
- return WebVector<WebFloatQuad>();
-}
-
bool WebViewImpl::handleKeyEvent(const WebKeyboardEvent& event)
{
ASSERT((event.type == WebInputEvent::RawKeyDown)
@@ -992,9 +1004,8 @@ WebRect WebViewImpl::computeBlockBounds(const WebRect& rect, AutoZoomType zoomTy
// Use the rect-based hit test to find the node.
IntPoint point = mainFrameImpl()->frameView()->windowToContents(IntPoint(rect.x, rect.y));
- HitTestResult result = mainFrameImpl()->frame()->eventHandler()->hitTestResultAtPoint(point,
- false, zoomType == FindInPage, DontHitTestScrollbars, HitTestRequest::Active | HitTestRequest::ReadOnly,
- IntSize(rect.width, rect.height));
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active | ((zoomType == FindInPage) ? HitTestRequest::IgnoreClipping : 0);
+ HitTestResult result = mainFrameImpl()->frame()->eventHandler()->hitTestResultAtPoint(point, hitType, IntSize(rect.width, rect.height));
Node* node = result.innerNonSharedNode();
if (!node)
@@ -1006,7 +1017,7 @@ WebRect WebViewImpl::computeBlockBounds(const WebRect& rect, AutoZoomType zoomTy
// Return the bounding box in the window coordinate system.
if (node) {
- IntRect rect = node->Node::getPixelSnappedRect();
+ IntRect rect = node->Node::pixelSnappedBoundingBox();
Frame* frame = node->document()->frame();
return frame->view()->contentsToWindow(rect);
}
@@ -1128,8 +1139,7 @@ void WebViewImpl::computeScaleAndScrollForHitRect(const WebRect& hitRect, AutoZo
static bool highlightConditions(Node* node)
{
- return node->isLink()
- || node->supportsFocus()
+ return node->supportsFocus()
|| node->hasEventListeners(eventNames().clickEvent)
|| node->hasEventListeners(eventNames().mousedownEvent)
|| node->hasEventListeners(eventNames().mouseupEvent);
@@ -1150,11 +1160,20 @@ Node* WebViewImpl::bestTouchLinkNode(IntPoint touchEventLocation)
while (bestTouchNode && !highlightConditions(bestTouchNode))
bestTouchNode = bestTouchNode->parentNode();
+ // If the document has click handlers installed, we don't want to default to applying the highlight to the entire RenderView, or the
+ // entire body. Also, if the node has non-auto Z-index, we cannot be sure of it's ordering with respect to other possible target nodes.
+ RenderObject* touchNodeRenderer = bestTouchNode ? bestTouchNode->renderer() : 0;
+ if (bestTouchNode && (!touchNodeRenderer || touchNodeRenderer->isRenderView() || touchNodeRenderer->isBody() || !touchNodeRenderer->style()->hasAutoZIndex()))
+ return 0;
+
return bestTouchNode;
}
void WebViewImpl::enableTouchHighlight(IntPoint touchEventLocation)
{
+ // Always clear any existing highlight when this is invoked, even if we don't get a new target to highlight.
+ m_linkHighlight.clear();
+
Node* touchNode = bestTouchLinkNode(touchEventLocation);
if (!touchNode || !touchNode->renderer() || !touchNode->renderer()->enclosingLayer())
@@ -1167,7 +1186,6 @@ void WebViewImpl::enableTouchHighlight(IntPoint touchEventLocation)
if (!highlightColor.alpha())
return;
- // This will clear any highlight currently being displayed.
m_linkHighlight = LinkHighlight::create(touchNode, this);
m_linkHighlight->startHighlightAnimation();
}
@@ -1650,8 +1668,8 @@ void WebViewImpl::updateBatteryStatus(const WebBatteryStatus& status)
void WebViewImpl::setCompositorSurfaceReady()
{
m_compositorSurfaceReady = true;
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setSurfaceReady();
+ if (m_layerTreeView)
+ m_layerTreeView->setSurfaceReady();
}
void WebViewImpl::animate(double)
@@ -1663,7 +1681,7 @@ void WebViewImpl::animate(double)
// In composited mode, we always go through the compositor so it can apply
// appropriate flow-control mechanisms.
if (isAcceleratedCompositingActive())
- m_layerTreeView.updateAnimations(monotonicFrameBeginTime);
+ m_layerTreeView->updateAnimations(monotonicFrameBeginTime);
else
#endif
updateAnimations(monotonicFrameBeginTime);
@@ -1717,7 +1735,7 @@ void WebViewImpl::layout()
#if USE(ACCELERATED_COMPOSITING)
void WebViewImpl::doPixelReadbackToCanvas(WebCanvas* canvas, const IntRect& rect)
{
- ASSERT(!m_layerTreeView.isNull());
+ ASSERT(m_layerTreeView);
PlatformContextSkia context(canvas);
@@ -1731,7 +1749,7 @@ void WebViewImpl::doPixelReadbackToCanvas(WebCanvas* canvas, const IntRect& rect
OwnPtr<ImageBuffer> imageBuffer(ImageBuffer::create(rect.size()));
RefPtr<Uint8ClampedArray> pixelArray(Uint8ClampedArray::createUninitialized(rect.width() * rect.height() * 4));
if (imageBuffer && pixelArray) {
- m_layerTreeView.compositeAndReadback(pixelArray->data(), invertRect);
+ m_layerTreeView->compositeAndReadback(pixelArray->data(), invertRect);
imageBuffer->putByteArray(Premultiplied, pixelArray.get(), rect.size(), IntRect(IntPoint(), rect.size()), IntPoint());
gc.save();
gc.translate(IntSize(0, bitmapHeight));
@@ -1759,7 +1777,7 @@ void WebViewImpl::paint(WebCanvas* canvas, const WebRect& rect, PaintOptions opt
if (canvas) {
// Clip rect to the confines of the rootLayerTexture.
IntRect resizeRect(rect);
- resizeRect.intersect(IntRect(IntPoint(0, 0), m_layerTreeView.deviceViewportSize()));
+ resizeRect.intersect(IntRect(IntPoint(0, 0), m_layerTreeView->deviceViewportSize()));
doPixelReadbackToCanvas(canvas, resizeRect);
}
#endif
@@ -1798,8 +1816,8 @@ void WebViewImpl::themeChanged()
void WebViewImpl::composite(bool)
{
#if USE(ACCELERATED_COMPOSITING)
- if (WebCompositor::threadingEnabled())
- m_layerTreeView.setNeedsRedraw();
+ if (Platform::current()->compositorSupport()->isThreadingEnabled())
+ m_layerTreeView->setNeedsRedraw();
else {
ASSERT(isAcceleratedCompositingActive());
if (!page())
@@ -1808,7 +1826,7 @@ void WebViewImpl::composite(bool)
if (m_pageOverlays)
m_pageOverlays->update();
- m_layerTreeView.composite();
+ m_layerTreeView->composite();
}
#endif
}
@@ -1816,16 +1834,16 @@ void WebViewImpl::composite(bool)
void WebViewImpl::setNeedsRedraw()
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull() && isAcceleratedCompositingActive())
- m_layerTreeView.setNeedsRedraw();
+ if (m_layerTreeView && isAcceleratedCompositingActive())
+ m_layerTreeView->setNeedsRedraw();
#endif
}
bool WebViewImpl::isInputThrottled() const
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull() && isAcceleratedCompositingActive())
- return m_layerTreeView.commitRequested();
+ if (m_layerTreeView && isAcceleratedCompositingActive())
+ return m_layerTreeView->commitRequested();
#endif
return false;
}
@@ -1833,8 +1851,8 @@ bool WebViewImpl::isInputThrottled() const
void WebViewImpl::loseCompositorContext(int numTimes)
{
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull())
- m_layerTreeView.loseCompositorContext(numTimes);
+ if (m_layerTreeView)
+ m_layerTreeView->loseCompositorContext(numTimes);
#endif
}
@@ -2761,9 +2779,9 @@ void WebViewImpl::setDeviceScaleFactor(float scaleFactor)
page()->setDeviceScaleFactor(scaleFactor);
- if (!m_layerTreeView.isNull() && m_webSettings->applyDefaultDeviceScaleFactorInCompositor()) {
+ if (m_layerTreeView && m_webSettings->applyDefaultDeviceScaleFactorInCompositor()) {
m_deviceScaleInCompositor = page()->deviceScaleFactor();
- m_layerTreeView.setDeviceScaleFactor(m_deviceScaleInCompositor);
+ m_layerTreeView->setDeviceScaleFactor(m_deviceScaleInCompositor);
}
if (m_deviceScaleInCompositor != 1) {
// Don't allow page scaling when compositor scaling is being used,
@@ -2858,8 +2876,8 @@ bool WebViewImpl::computePageScaleFactorLimits()
float clampedScale = clampPageScaleFactorToLimits(pageScaleFactor());
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setPageScaleFactorAndLimits(clampedScale, m_minimumPageScaleFactor, m_maximumPageScaleFactor);
+ if (m_layerTreeView)
+ m_layerTreeView->setPageScaleFactorAndLimits(clampedScale, m_minimumPageScaleFactor, m_maximumPageScaleFactor);
#endif
if (clampedScale != pageScaleFactor()) {
setPageScaleFactorPreservingScrollOffset(clampedScale);
@@ -3290,7 +3308,7 @@ void WebViewImpl::applyAutofillSuggestions(
refreshAutofillPopup();
} else {
m_autofillPopupShowing = true;
- m_autofillPopup->showInRect(focusedNode->getPixelSnappedRect(), focusedNode->ownerDocument()->view(), 0);
+ m_autofillPopup->showInRect(focusedNode->pixelSnappedBoundingBox(), focusedNode->ownerDocument()->view(), 0);
}
}
@@ -3334,8 +3352,8 @@ void WebViewImpl::setIsTransparent(bool isTransparent)
if (m_nonCompositedContentHost)
m_nonCompositedContentHost->setOpaque(!isTransparent);
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setHasTransparentBackground(isTransparent);
+ if (m_layerTreeView)
+ m_layerTreeView->setHasTransparentBackground(isTransparent);
}
bool WebViewImpl::isTransparent() const
@@ -3390,7 +3408,7 @@ void WebView::addUserScript(const WebString& sourceCode,
patterns->append(patternsIn[i]);
PageGroup* pageGroup = PageGroup::pageGroup(pageGroupName);
- RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::create());
+ RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::createUninitializedWorld());
pageGroup->addUserScriptToWorld(world.get(), sourceCode, WebURL(), patterns.release(), nullptr,
static_cast<UserScriptInjectionTime>(injectAt),
static_cast<UserContentInjectedFrames>(injectIn));
@@ -3406,7 +3424,7 @@ void WebView::addUserStyleSheet(const WebString& sourceCode,
patterns->append(patternsIn[i]);
PageGroup* pageGroup = PageGroup::pageGroup(pageGroupName);
- RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::create());
+ RefPtr<DOMWrapperWorld> world(DOMWrapperWorld::createUninitializedWorld());
// FIXME: Current callers always want the level to be "author". It probably makes sense to let
// callers specify this though, since in other cases the caller will probably want "user" level.
@@ -3438,6 +3456,8 @@ void WebViewImpl::didCommitLoad(bool* isNewNavigation, bool isNavigationWithinPa
if (*isNewNavigation && !isNavigationWithinPage)
m_pageScaleFactorIsSet = false;
+ // Make sure link highlight from previous page is cleared.
+ m_linkHighlight.clear();
m_gestureAnimation.clear();
resetSavedScrollAndScaleState();
}
@@ -3596,7 +3616,7 @@ void WebViewImpl::refreshAutofillPopup()
return;
}
- WebRect newWidgetRect = m_autofillPopup->refresh(focusedWebCoreNode()->getPixelSnappedRect());
+ WebRect newWidgetRect = m_autofillPopup->refresh(focusedWebCoreNode()->pixelSnappedBoundingBox());
// Let's resize the backing window if necessary.
WebPopupMenuImpl* popupMenu = static_cast<WebPopupMenuImpl*>(m_autofillPopup->client());
if (popupMenu && popupMenu->client()->windowRect() != newWidgetRect)
@@ -3655,8 +3675,12 @@ void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer)
m_nonCompositedContentHost->setScrollLayer(scrollLayer);
}
- if (!m_layerTreeView.isNull())
- m_layerTreeView.setRootLayer(m_rootLayer);
+ if (m_layerTreeView) {
+ if (m_rootLayer)
+ m_layerTreeView->setRootLayer(*m_rootLayer);
+ else
+ m_layerTreeView->clearRootLayer();
+ }
IntRect damagedRect(0, 0, m_size.width, m_size.height);
if (!m_isAcceleratedCompositingActive)
@@ -3665,7 +3689,7 @@ void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer)
void WebViewImpl::scheduleCompositingLayerSync()
{
- m_layerTreeView.setNeedsRedraw();
+ m_layerTreeView->setNeedsRedraw();
}
void WebViewImpl::scrollRootLayerRect(const IntSize&, const IntRect&)
@@ -3675,7 +3699,7 @@ void WebViewImpl::scrollRootLayerRect(const IntSize&, const IntRect&)
void WebViewImpl::invalidateRootLayerRect(const IntRect& rect)
{
- ASSERT(!m_layerTreeView.isNull());
+ ASSERT(m_layerTreeView);
if (!page())
return;
@@ -3696,7 +3720,7 @@ void WebViewImpl::setBackgroundColor(const WebCore::Color& color)
WebCore::Color documentBackgroundColor = color.isValid() ? color : WebCore::Color::white;
WebColor webDocumentBackgroundColor = documentBackgroundColor.rgb();
m_nonCompositedContentHost->setBackgroundColor(documentBackgroundColor);
- m_layerTreeView.setBackgroundColor(webDocumentBackgroundColor);
+ m_layerTreeView->setBackgroundColor(webDocumentBackgroundColor);
}
WebCore::GraphicsLayer* WebViewImpl::rootGraphicsLayer()
@@ -3708,9 +3732,9 @@ WebCore::GraphicsLayer* WebViewImpl::rootGraphicsLayer()
void WebViewImpl::scheduleAnimation()
{
if (isAcceleratedCompositingActive()) {
- if (WebCompositor::threadingEnabled()) {
- ASSERT(!m_layerTreeView.isNull());
- m_layerTreeView.setNeedsAnimate();
+ if (Platform::current()->compositorSupport()->isThreadingEnabled()) {
+ ASSERT(m_layerTreeView);
+ m_layerTreeView->setNeedsAnimate();
} else
m_client->scheduleAnimation();
} else
@@ -3744,14 +3768,14 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
m_isAcceleratedCompositingActive = false;
// We need to finish all GL rendering before sending didDeactivateCompositor() to prevent
// flickering when compositing turns off.
- if (!m_layerTreeView.isNull())
- m_layerTreeView.finishAllRendering();
+ if (m_layerTreeView)
+ m_layerTreeView->finishAllRendering();
m_client->didDeactivateCompositor();
- } else if (!m_layerTreeView.isNull()) {
+ } else if (m_layerTreeView) {
m_isAcceleratedCompositingActive = true;
updateLayerTreeViewport();
- m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier());
+ m_client->didActivateCompositor(m_inputHandlerIdentifier);
} else {
TRACE_EVENT0("webkit", "WebViewImpl::setIsAcceleratedCompositingActive(true)");
@@ -3769,8 +3793,8 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
m_nonCompositedContentHost->setShowDebugBorders(page()->settings()->showDebugBorders());
m_nonCompositedContentHost->setOpaque(!isTransparent());
- m_layerTreeView.initialize(this, *m_rootLayer, layerTreeViewSettings);
- if (!m_layerTreeView.isNull()) {
+ m_layerTreeView = adoptPtr(Platform::current()->compositorSupport()->createLayerTreeView(this, *m_rootLayer, layerTreeViewSettings));
+ if (m_layerTreeView) {
if (m_webSettings->applyDefaultDeviceScaleFactorInCompositor() && page()->deviceScaleFactor() != 1) {
ASSERT(page()->deviceScaleFactor());
@@ -3779,13 +3803,13 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
}
bool visible = page()->visibilityState() == PageVisibilityStateVisible;
- m_layerTreeView.setVisible(visible);
- m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
+ m_layerTreeView->setVisible(visible);
+ m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
if (m_compositorSurfaceReady)
- m_layerTreeView.setSurfaceReady();
- m_layerTreeView.setHasTransparentBackground(isTransparent());
+ m_layerTreeView->setSurfaceReady();
+ m_layerTreeView->setHasTransparentBackground(isTransparent());
updateLayerTreeViewport();
- m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier());
+ m_client->didActivateCompositor(m_inputHandlerIdentifier);
m_isAcceleratedCompositingActive = true;
m_compositorCreationFailed = false;
if (m_pageOverlays)
@@ -3797,7 +3821,7 @@ void WebViewImpl::setIsAcceleratedCompositingActive(bool active)
WebRect asciiToRectTable[128];
int fontHeight;
SkBitmap bitmap = WebCore::CompositorHUDFontAtlas::generateFontAtlas(asciiToRectTable, fontHeight);
- m_layerTreeView.setFontAtlas(bitmap, asciiToRectTable, fontHeight);
+ m_layerTreeView->setFontAtlas(bitmap, asciiToRectTable, fontHeight);
}
} else {
m_nonCompositedContentHost.clear();
@@ -3871,6 +3895,13 @@ WebCompositorOutputSurface* WebViewImpl::createOutputSurface()
return m_client->createOutputSurface();
}
+WebInputHandler* WebViewImpl::createInputHandler()
+{
+ WebCompositorInputHandlerImpl* handler = new WebCompositorInputHandlerImpl();
+ m_inputHandlerIdentifier = handler->identifier();
+ return handler;
+}
+
void WebViewImpl::applyScrollAndScale(const WebSize& scrollDelta, float pageScaleDelta)
{
if (!mainFrameImpl() || !mainFrameImpl()->frameView())
@@ -3941,29 +3972,29 @@ void WebViewImpl::didRecreateOutputSurface(bool success)
void WebViewImpl::scheduleComposite()
{
- ASSERT(!WebCompositor::threadingEnabled());
+ ASSERT(!Platform::current()->compositorSupport()->isThreadingEnabled());
m_client->scheduleComposite();
}
void WebViewImpl::updateLayerTreeViewport()
{
- if (!page() || !m_nonCompositedContentHost || m_layerTreeView.isNull())
+ if (!page() || !m_nonCompositedContentHost || !m_layerTreeView)
return;
FrameView* view = page()->mainFrame()->view();
IntRect visibleRect = view->visibleContentRect(true /* include scrollbars */);
IntPoint scroll(view->scrollX(), view->scrollY());
- // This part of the deviceScale will be used to scale the contents of
- // the NCCH's GraphicsLayer.
- float deviceScale = m_deviceScaleInCompositor;
- m_nonCompositedContentHost->setViewport(visibleRect.size(), view->contentsSize(), scroll, view->scrollOrigin(), deviceScale);
+ m_nonCompositedContentHost->setViewport(visibleRect.size(), view->contentsSize(), scroll, view->scrollOrigin());
IntSize layoutViewportSize = size();
IntSize deviceViewportSize = size();
- deviceViewportSize.scale(deviceScale);
- m_layerTreeView.setViewportSize(layoutViewportSize, deviceViewportSize);
- m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
+
+ // This part of the deviceScale will be used to scale the contents of
+ // the NCCH's GraphicsLayer.
+ deviceViewportSize.scale(m_deviceScaleInCompositor);
+ m_layerTreeView->setViewportSize(layoutViewportSize, deviceViewportSize);
+ m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), m_minimumPageScaleFactor, m_maximumPageScaleFactor);
}
WebGraphicsContext3D* WebViewImpl::sharedGraphicsContext3D()
@@ -3982,7 +4013,10 @@ void WebViewImpl::selectAutofillSuggestionAtIndex(unsigned listIndex)
bool WebViewImpl::detectContentOnTouch(const WebPoint& position, WebInputEvent::Type touchType)
{
- ASSERT(touchType == WebInputEvent::GestureTap || touchType == WebInputEvent::GestureLongPress);
+ ASSERT(touchType == WebInputEvent::GestureTap
+ || touchType == WebInputEvent::GestureTwoFingerTap
+ || touchType == WebInputEvent::GestureLongPress);
+
HitTestResult touchHit = hitTestResultForWindowPos(position);
if (touchHit.isContentEditable())
@@ -3992,13 +4026,20 @@ bool WebViewImpl::detectContentOnTouch(const WebPoint& position, WebInputEvent::
if (!node || !node->isTextNode())
return false;
- // FIXME: Should we not detect content intents in nodes that have event listeners?
+ // Ignore when tapping on links or nodes listening to click events, unless the click event is on the
+ // body element, in which case it's unlikely that the original node itself was intended to be clickable.
+ for (; node && !node->hasTagName(HTMLNames::bodyTag); node = node->parentNode()) {
+ if (node->isLink() || (touchType == WebInputEvent::GestureTap
+ && (node->willRespondToTouchEvents() || node->willRespondToMouseClickEvents()))) {
+ return false;
+ }
+ }
WebContentDetectionResult content = m_client->detectContentAround(touchHit);
if (!content.isValid())
return false;
- if (touchType == WebInputEvent::GestureLongPress) {
+ if (touchType != WebInputEvent::GestureTap) {
// Select the detected content as a block.
focusedFrame()->selectRange(content.range());
return true;
@@ -4022,9 +4063,9 @@ void WebViewImpl::setVisibilityState(WebPageVisibilityState visibilityState,
#endif
#if USE(ACCELERATED_COMPOSITING)
- if (!m_layerTreeView.isNull()) {
+ if (m_layerTreeView) {
bool visible = visibilityState == WebPageVisibilityStateVisible;
- m_layerTreeView.setVisible(visible);
+ m_layerTreeView->setVisible(visible);
}
#endif
}
diff --git a/Source/WebKit/chromium/src/WebViewImpl.h b/Source/WebKit/chromium/src/WebViewImpl.h
index 206cf4572..ce5657a2b 100644
--- a/Source/WebKit/chromium/src/WebViewImpl.h
+++ b/Source/WebKit/chromium/src/WebViewImpl.h
@@ -52,7 +52,6 @@
#include "WebViewBenchmarkSupportImpl.h"
#include <public/WebFloatQuad.h>
#include <public/WebLayer.h>
-#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebPoint.h>
#include <public/WebRect.h>
@@ -95,7 +94,6 @@ class DeviceOrientationClientProxy;
class DragScrollTimer;
class GeolocationClientProxy;
class LinkHighlight;
-class WebHelperPluginImpl;
class NonCompositedContentHost;
class PrerendererClientImpl;
class SpeechInputClientImpl;
@@ -107,15 +105,17 @@ class WebDevToolsAgentClient;
class WebDevToolsAgentPrivate;
class WebFrameImpl;
class WebGestureEvent;
-class WebPagePopupImpl;
-class WebPrerendererClient;
-class WebViewBenchmarkSupport;
+class WebHelperPluginImpl;
class WebImage;
class WebKeyboardEvent;
+class WebLayerTreeView;
class WebMouseEvent;
class WebMouseWheelEvent;
+class WebPagePopupImpl;
+class WebPrerendererClient;
class WebSettingsImpl;
class WebTouchEvent;
+class WebViewBenchmarkSupport;
class WebViewImpl : public WebView
, public WebLayerTreeViewClient
@@ -305,11 +305,6 @@ public:
virtual void transferActiveWheelFlingAnimation(const WebActiveWheelFlingParameters&);
virtual WebViewBenchmarkSupport* benchmarkSupport();
- virtual WebVector<WebFloatQuad> getTouchHighlightQuads(const WebPoint&,
- int padding,
- WebTouchCandidatesInfo& outTouchInfo,
- WebColor& outTapHighlightColor);
-
// WebLayerTreeViewClient
virtual void willBeginFrame();
virtual void didBeginFrame();
@@ -319,6 +314,7 @@ public:
virtual void didRebindGraphicsContext(bool success) OVERRIDE;
virtual WebCompositorOutputSurface* createOutputSurface() OVERRIDE;
virtual void didRecreateOutputSurface(bool success) OVERRIDE;
+ virtual WebInputHandler* createInputHandler() OVERRIDE;
virtual void willCommit();
virtual void didCommit();
virtual void didCommitAndDrawFrame();
@@ -824,7 +820,7 @@ private:
#if USE(ACCELERATED_COMPOSITING)
WebCore::IntRect m_rootLayerScrollDamage;
OwnPtr<NonCompositedContentHost> m_nonCompositedContentHost;
- WebLayerTreeView m_layerTreeView;
+ OwnPtr<WebLayerTreeView> m_layerTreeView;
WebLayer* m_rootLayer;
WebCore::GraphicsLayer* m_rootGraphicsLayer;
bool m_isAcceleratedCompositingActive;
@@ -833,6 +829,7 @@ private:
bool m_recreatingGraphicsContext;
bool m_compositorSurfaceReady;
float m_deviceScaleInCompositor;
+ int m_inputHandlerIdentifier;
#endif
static const WebInputEvent* m_currentInputEvent;
@@ -854,8 +851,8 @@ private:
#if ENABLE(MEDIA_STREAM)
UserMediaClientImpl m_userMediaClientImpl;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- OwnPtr<RegisterProtocolHandlerClientImpl> m_registerProtocolHandlerClient;
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ OwnPtr<NavigatorContentUtilsClientImpl> m_navigatorContentUtilsClient;
#endif
OwnPtr<WebCore::ActivePlatformGestureAnimation> m_gestureAnimation;
WebPoint m_lastWheelPosition;
diff --git a/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h b/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h
index fa70dd261..5c0a59084 100644
--- a/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h
+++ b/Source/WebKit/chromium/src/WorkerFileSystemCallbacksBridge.h
@@ -33,7 +33,6 @@
#if ENABLE(FILE_SYSTEM) && ENABLE(WORKERS)
-#include "PlatformString.h"
#include "ScriptExecutionContext.h"
#include "WebFileError.h"
#include "platform/WebVector.h"
@@ -41,6 +40,7 @@
#include <wtf/PassOwnPtr.h>
#include <wtf/PassRefPtr.h>
#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class WorkerLoaderProxy;
diff --git a/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp
index fb723223b..9bc70faca 100644
--- a/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/android/WebInputEventFactory.cpp
@@ -50,7 +50,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(WebInputEvent::Type type,
result.type = type;
result.modifiers = modifiers;
result.timeStampSeconds = timeStampSeconds;
- result.windowsKeyCode = WebCore::windowsKeyCodeForKeyEvent(keycode);
+ int windowsKeyCode = WebCore::windowsKeyCodeForKeyEvent(keycode);
+ result.windowsKeyCode = WebKeyboardEvent::windowsKeyCodeWithoutLocation(windowsKeyCode);
+ result.modifiers |= WebKeyboardEvent::locationModifiersFromWindowsKeyCode(windowsKeyCode);
result.nativeKeyCode = keycode;
result.unmodifiedText[0] = unicodeCharacter;
if (result.windowsKeyCode == WebCore::VKEY_RETURN) {
diff --git a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
index 43c238a69..207d34f01 100644
--- a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp
@@ -383,7 +383,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(const GdkEventKey* event)
// The key code tells us which physical key was pressed (for example, the
// A key went down or up). It does not determine whether A should be lower
// or upper case. This is what text does, which should be the keyval.
- result.windowsKeyCode = gdkEventToWindowsKeyCode(event);
+ int windowsKeyCode = gdkEventToWindowsKeyCode(event);
+ result.windowsKeyCode = WebKeyboardEvent::windowsKeyCodeWithoutLocation(windowsKeyCode);
+ result.modifiers |= WebKeyboardEvent::locationModifiersFromWindowsKeyCode(windowsKeyCode);
result.nativeKeyCode = event->hardware_keycode;
if (result.windowsKeyCode == WebCore::VKEY_RETURN)
diff --git a/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm b/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm
index babb1f6cc..b3a22fee1 100644
--- a/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm
+++ b/Source/WebKit/chromium/src/mac/WebInputEventFactory.mm
@@ -606,7 +606,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(NSEvent* event)
if (([event type] != NSFlagsChanged) && [event isARepeat])
result.modifiers |= WebInputEvent::IsAutoRepeat;
- result.windowsKeyCode = windowsKeyCodeForKeyEvent(event);
+ int windowsKeyCode = windowsKeyCodeForKeyEvent(event);
+ result.windowsKeyCode = WebKeyboardEvent::windowsKeyCodeWithoutLocation(windowsKeyCode);
+ result.modifiers |= WebKeyboardEvent::locationModifiersFromWindowsKeyCode(windowsKeyCode);
result.nativeKeyCode = [event keyCode];
NSString* textStr = textFromEvent(event);
diff --git a/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp
index 9da4b4a27..a177ea244 100644
--- a/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp
+++ b/Source/WebKit/chromium/src/win/WebInputEventFactory.cpp
@@ -42,12 +42,18 @@ static const unsigned long defaultScrollCharsPerWheelDelta = 1;
// WebKeyboardEvent -----------------------------------------------------------
-static bool isKeyPad(WPARAM wparam, LPARAM lparam)
+static bool isKeyDown(WPARAM wparam)
{
- bool keypad = false;
+ return GetKeyState(wparam) & 0x8000;
+}
+
+static int getLocationModifier(WPARAM wparam, LPARAM lparam)
+{
+ int modifier = 0;
switch (wparam) {
case VK_RETURN:
- keypad = (lparam >> 16) & KF_EXTENDED;
+ if ((lparam >> 16) & KF_EXTENDED)
+ modifier = WebInputEvent::IsKeyPad;
break;
case VK_INSERT:
case VK_DELETE:
@@ -59,7 +65,8 @@ static bool isKeyPad(WPARAM wparam, LPARAM lparam)
case VK_DOWN:
case VK_LEFT:
case VK_RIGHT:
- keypad = !((lparam >> 16) & KF_EXTENDED);
+ if (!((lparam >> 16) & KF_EXTENDED))
+ modifier = WebInputEvent::IsKeyPad;
break;
case VK_NUMLOCK:
case VK_NUMPAD0:
@@ -78,12 +85,39 @@ static bool isKeyPad(WPARAM wparam, LPARAM lparam)
case VK_ADD:
case VK_DECIMAL:
case VK_CLEAR:
- keypad = true;
+ modifier = WebInputEvent::IsKeyPad;
+ break;
+ case VK_SHIFT:
+ if (isKeyDown(VK_LSHIFT))
+ modifier = WebInputEvent::IsLeft;
+ else if (isKeyDown(VK_RSHIFT))
+ modifier = WebInputEvent::IsRight;
+ break;
+ case VK_CONTROL:
+ if (isKeyDown(VK_LCONTROL))
+ modifier = WebInputEvent::IsLeft;
+ else if (isKeyDown(VK_RCONTROL))
+ modifier = WebInputEvent::IsRight;
+ break;
+ case VK_MENU:
+ if (isKeyDown(VK_LMENU))
+ modifier = WebInputEvent::IsLeft;
+ else if (isKeyDown(VK_RMENU))
+ modifier = WebInputEvent::IsRight;
+ break;
+ case VK_LWIN:
+ modifier = WebInputEvent::IsLeft;
+ break;
+ case VK_RWIN:
+ modifier = WebInputEvent::IsRight;
break;
- default:
- keypad = false;
}
- return keypad;
+
+ ASSERT(!modifier
+ || modifier == WebInputEvent::IsKeyPad
+ || modifier == WebInputEvent::IsLeft
+ || modifier == WebInputEvent::IsRight);
+ return modifier;
}
// Loads the state for toggle keys into the event.
@@ -153,8 +187,8 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(HWND hwnd, UINT message,
if (LOWORD(lparam) > 1)
result.modifiers |= WebInputEvent::IsAutoRepeat;
- if (isKeyPad(wparam, lparam))
- result.modifiers |= WebInputEvent::IsKeyPad;
+
+ result.modifiers |= getLocationModifier(wparam, lparam);
SetToggleKeyState(&result);
return result;
diff --git a/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp b/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
index 70da65ef6..7b184fa34 100644
--- a/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
+++ b/Source/WebKit/chromium/tests/AnimationTranslationUtilTest.cpp
@@ -31,6 +31,7 @@
#include "IntSize.h"
#include "Matrix3DTransformOperation.h"
#include "RotateTransformOperation.h"
+#include "ScaleTransformOperation.h"
#include "TransformOperations.h"
#include "TranslateTransformOperation.h"
#include <gtest/gtest.h>
@@ -45,7 +46,7 @@ namespace {
bool animationCanBeTranslated(const KeyframeValueList& values, Animation* animation)
{
IntSize boxSize;
- return createWebAnimation(values, animation, 0, 0, 0, boxSize);
+ return createWebAnimation(values, animation, 0, 0, boxSize);
}
TEST(AnimationTranslationUtilTest, createOpacityAnimation)
@@ -96,7 +97,7 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithBigRotation)
RefPtr<Animation> animation = Animation::create();
animation->setDuration(duration);
- EXPECT_FALSE(animationCanBeTranslated(values, animation.get()));
+ EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
}
TEST(AnimationTranslationUtilTest, createTransformAnimationWithBigRotationAndEmptyTransformOperationList)
@@ -114,7 +115,7 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithBigRotationAndEmp
RefPtr<Animation> animation = Animation::create();
animation->setDuration(duration);
- EXPECT_FALSE(animationCanBeTranslated(values, animation.get()));
+ EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
}
TEST(AnimationTranslationUtilTest, createTransformAnimationWithRotationInvolvingNegativeAngles)
@@ -155,7 +156,7 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithSmallRotationInvo
EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
}
-TEST(AnimationTranslationUtilTest, createTransformAnimationWithSingularMatrix)
+TEST(AnimationTranslationUtilTest, createTransformAnimationWithNonDecomposableMatrix)
{
const double duration = 1;
WebCore::KeyframeValueList values(AnimatedPropertyWebkitTransform);
@@ -177,6 +178,25 @@ TEST(AnimationTranslationUtilTest, createTransformAnimationWithSingularMatrix)
EXPECT_FALSE(animationCanBeTranslated(values, animation.get()));
}
+TEST(AnimationTranslationUtilTest, createTransformAnimationWithNonInvertibleTransform)
+{
+ const double duration = 1;
+ WebCore::KeyframeValueList values(AnimatedPropertyWebkitTransform);
+
+ TransformOperations operations1;
+ operations1.operations().append(ScaleTransformOperation::create(1, 1, 1, TransformOperation::SCALE_3D));
+ values.insert(new TransformAnimationValue(0, &operations1));
+
+ TransformOperations operations2;
+ operations2.operations().append(ScaleTransformOperation::create(1, 0, 1, TransformOperation::SCALE_3D));
+ values.insert(new TransformAnimationValue(duration, &operations2));
+
+ RefPtr<Animation> animation = Animation::create();
+ animation->setDuration(duration);
+
+ EXPECT_TRUE(animationCanBeTranslated(values, animation.get()));
+}
+
TEST(AnimationTranslationUtilTest, createReversedAnimation)
{
const double duration = 1;
diff --git a/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp b/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
index 76d1c0a3e..bb2141197 100644
--- a/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
+++ b/Source/WebKit/chromium/tests/CCAnimationTestCommon.cpp
@@ -85,6 +85,16 @@ FakeFloatAnimationCurve::~FakeFloatAnimationCurve()
{
}
+double FakeFloatAnimationCurve::duration() const
+{
+ return 1;
+}
+
+float FakeFloatAnimationCurve::getValue(double now) const
+{
+ return 0;
+}
+
PassOwnPtr<WebCore::CCAnimationCurve> FakeFloatAnimationCurve::clone() const
{
return adoptPtr(new FakeFloatAnimationCurve);
@@ -99,6 +109,11 @@ FakeTransformTransition::~FakeTransformTransition()
{
}
+double FakeTransformTransition::duration() const
+{
+ return m_duration;
+}
+
WebKit::WebTransformationMatrix FakeTransformTransition::getValue(double time) const
{
return WebKit::WebTransformationMatrix();
@@ -121,6 +136,11 @@ FakeFloatTransition::~FakeFloatTransition()
{
}
+double FakeFloatTransition::duration() const
+{
+ return m_duration;
+}
+
float FakeFloatTransition::getValue(double time) const
{
time /= m_duration;
@@ -138,6 +158,31 @@ FakeLayerAnimationControllerClient::~FakeLayerAnimationControllerClient()
{
}
+int FakeLayerAnimationControllerClient::id() const
+{
+ return 0;
+}
+
+void FakeLayerAnimationControllerClient::setOpacityFromAnimation(float opacity)
+{
+ m_opacity = opacity;
+}
+
+float FakeLayerAnimationControllerClient::opacity() const
+{
+ return m_opacity;
+}
+
+void FakeLayerAnimationControllerClient::setTransformFromAnimation(const WebKit::WebTransformationMatrix& transform)
+{
+ m_transform = transform;
+}
+
+const WebKit::WebTransformationMatrix& FakeLayerAnimationControllerClient::transform() const
+{
+ return m_transform;
+}
+
PassOwnPtr<WebCore::CCAnimationCurve> FakeFloatTransition::clone() const
{
return adoptPtr(new FakeFloatTransition(*this));
diff --git a/Source/WebKit/chromium/tests/CCAnimationTestCommon.h b/Source/WebKit/chromium/tests/CCAnimationTestCommon.h
index 71b0add26..900a4e9a1 100644
--- a/Source/WebKit/chromium/tests/CCAnimationTestCommon.h
+++ b/Source/WebKit/chromium/tests/CCAnimationTestCommon.h
@@ -44,8 +44,8 @@ public:
FakeFloatAnimationCurve();
virtual ~FakeFloatAnimationCurve();
- virtual double duration() const OVERRIDE { return 1; }
- virtual float getValue(double now) const OVERRIDE { return 0; }
+ virtual double duration() const OVERRIDE;
+ virtual float getValue(double now) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
};
@@ -54,7 +54,7 @@ public:
FakeTransformTransition(double duration);
virtual ~FakeTransformTransition();
- virtual double duration() const OVERRIDE { return m_duration; }
+ virtual double duration() const OVERRIDE;
virtual WebKit::WebTransformationMatrix getValue(double time) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
@@ -68,7 +68,7 @@ public:
FakeFloatTransition(double duration, float from, float to);
virtual ~FakeFloatTransition();
- virtual double duration() const OVERRIDE { return m_duration; }
+ virtual double duration() const OVERRIDE;
virtual float getValue(double time) const OVERRIDE;
virtual PassOwnPtr<WebCore::CCAnimationCurve> clone() const OVERRIDE;
@@ -85,11 +85,11 @@ public:
virtual ~FakeLayerAnimationControllerClient();
// CCLayerAnimationControllerClient implementation
- virtual int id() const OVERRIDE { return 0; }
- virtual void setOpacityFromAnimation(float opacity) OVERRIDE { m_opacity = opacity; }
- virtual float opacity() const OVERRIDE { return m_opacity; }
- virtual void setTransformFromAnimation(const WebKit::WebTransformationMatrix& transform) OVERRIDE { m_transform = transform; }
- virtual const WebKit::WebTransformationMatrix& transform() const OVERRIDE { return m_transform; }
+ virtual int id() const OVERRIDE;
+ virtual void setOpacityFromAnimation(float) OVERRIDE;
+ virtual float opacity() const OVERRIDE;
+ virtual void setTransformFromAnimation(const WebKit::WebTransformationMatrix&) OVERRIDE;
+ virtual const WebKit::WebTransformationMatrix& transform() const OVERRIDE;
private:
float m_opacity;
diff --git a/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp b/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
index f9eecdb75..e50a1f70a 100644
--- a/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCDamageTrackerTest.cpp
@@ -26,10 +26,10 @@
#include "CCDamageTracker.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerImpl.h"
#include "CCLayerSorter.h"
#include "CCLayerTreeHostCommon.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCMathUtil.h"
#include "CCSingleThreadProxy.h"
#include <gtest/gtest.h>
diff --git a/Source/WebKit/chromium/tests/CCDrawQuadTest.cpp b/Source/WebKit/chromium/tests/CCDrawQuadTest.cpp
new file mode 100644
index 000000000..3c5c384f8
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCDrawQuadTest.cpp
@@ -0,0 +1,332 @@
+/*
+ * Copyright (C) 2012 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. 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 "CCDrawQuad.h"
+
+#include "CCCheckerboardDrawQuad.h"
+#include "CCDebugBorderDrawQuad.h"
+#include "CCGeometryTestUtils.h"
+#include "CCIOSurfaceDrawQuad.h"
+#include "CCRenderPassDrawQuad.h"
+#include "CCSolidColorDrawQuad.h"
+#include "CCStreamVideoDrawQuad.h"
+#include "CCTextureDrawQuad.h"
+#include "CCTileDrawQuad.h"
+#include "CCYUVVideoDrawQuad.h"
+#include <gtest/gtest.h>
+#include <public/WebTransformationMatrix.h>
+
+using WebKit::WebTransformationMatrix;
+
+using namespace WebCore;
+
+namespace {
+
+TEST(CCDrawQuadTest, copySharedQuadState)
+{
+ WebTransformationMatrix quadTransform(1, 0.5, 0, 1, 0.5, 0);
+ IntRect visibleContentRect(10, 12, 14, 16);
+ IntRect clippedRectInTarget(19, 21, 23, 25);
+ float opacity = 0.25;
+ bool opaque = true;
+ int id = 3;
+
+ OwnPtr<CCSharedQuadState> state(CCSharedQuadState::create(quadTransform, visibleContentRect, clippedRectInTarget, opacity, opaque));
+ state->id = id;
+
+ OwnPtr<CCSharedQuadState> copy(state->copy());
+ EXPECT_EQ(id, copy->id);
+ EXPECT_EQ(quadTransform, copy->quadTransform);
+ EXPECT_RECT_EQ(visibleContentRect, copy->visibleContentRect);
+ EXPECT_RECT_EQ(clippedRectInTarget, copy->clippedRectInTarget);
+ EXPECT_EQ(opacity, copy->opacity);
+ EXPECT_EQ(opaque, copy->opaque);
+}
+
+PassOwnPtr<CCSharedQuadState> createSharedQuadState()
+{
+ WebTransformationMatrix quadTransform(1, 0.5, 0, 1, 0.5, 0);
+ IntRect visibleContentRect(10, 12, 14, 16);
+ IntRect clippedRectInTarget(19, 21, 23, 25);
+ float opacity = 1;
+ bool opaque = false;
+ int id = 3;
+
+ OwnPtr<CCSharedQuadState> state(CCSharedQuadState::create(quadTransform, visibleContentRect, clippedRectInTarget, opacity, opaque));
+ state->id = id;
+ return state.release();
+}
+
+void compareDrawQuad(CCDrawQuad* quad, CCDrawQuad* copy, CCSharedQuadState* copySharedState)
+{
+ EXPECT_EQ(quad->size(), copy->size());
+ EXPECT_EQ(quad->material(), copy->material());
+ EXPECT_EQ(quad->isDebugQuad(), copy->isDebugQuad());
+ EXPECT_RECT_EQ(quad->quadRect(), copy->quadRect());
+ EXPECT_RECT_EQ(quad->quadVisibleRect(), copy->quadVisibleRect());
+ EXPECT_EQ(quad->opaqueRect(), copy->opaqueRect());
+ EXPECT_EQ(quad->needsBlending(), copy->needsBlending());
+
+ EXPECT_EQ(copySharedState, copy->sharedQuadState());
+ EXPECT_EQ(copySharedState->id, copy->sharedQuadStateId());
+
+ EXPECT_EQ(quad->sharedQuadStateId(), quad->sharedQuadState()->id);
+ EXPECT_EQ(copy->sharedQuadStateId(), copy->sharedQuadState()->id);
+}
+
+#define CREATE_SHARED_STATE() \
+ OwnPtr<CCSharedQuadState> sharedState(createSharedQuadState()); \
+ OwnPtr<CCSharedQuadState> copySharedState(sharedState->copy()); \
+ copySharedState->id = 5;
+
+#define QUAD_DATA \
+ IntRect quadRect(30, 40, 50, 60); \
+ IntRect quadVisibleRect(40, 50, 30, 20); \
+
+#define SETUP_AND_COPY_QUAD(Type, quad) \
+ quad->setQuadVisibleRect(quadVisibleRect); \
+ OwnPtr<CCDrawQuad> copy(quad->copy(copySharedState.get())); \
+ compareDrawQuad(quad.get(), copy.get(), copySharedState.get()); \
+ const Type* copyQuad = Type::materialCast(copy.get());
+
+#define SETUP_AND_COPY_QUAD_1(Type, quad, a) \
+ quad->setQuadVisibleRect(quadVisibleRect); \
+ OwnPtr<CCDrawQuad> copy(quad->copy(copySharedState.get(), a)); \
+ compareDrawQuad(quad.get(), copy.get(), copySharedState.get()); \
+ const Type* copyQuad = Type::materialCast(copy.get());
+
+#define CREATE_QUAD_0(Type) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect)); \
+ SETUP_AND_COPY_QUAD(Type, quad); \
+ UNUSED_PARAM(copyQuad);
+
+#define CREATE_QUAD_1(Type, a) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_2(Type, a, b) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_3(Type, a, b, c) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_4(Type, a, b, c, d) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_5(Type, a, b, c, d, e) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_6(Type, a, b, c, d, e, f) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_7(Type, a, b, c, d, e, f, g) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_8(Type, a, b, c, d, e, f, g, h) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_8_1(Type, a, b, c, d, e, f, g, h, copyA) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h)); \
+ SETUP_AND_COPY_QUAD_1(Type, quad, copyA);
+
+#define CREATE_QUAD_9(Type, a, b, c, d, e, f, g, h, i) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h, i)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+#define CREATE_QUAD_10(Type, a, b, c, d, e, f, g, h, i, j) \
+ QUAD_DATA \
+ OwnPtr<Type> quad(Type::create(sharedState.get(), quadRect, a, b, c, d, e, f, g, h, i, j)); \
+ SETUP_AND_COPY_QUAD(Type, quad);
+
+TEST(CCDrawQuadTest, copyCheckerboardDrawQuad)
+{
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_0(CCCheckerboardDrawQuad);
+}
+
+TEST(CCDrawQuadTest, copyDebugBorderDrawQuad)
+{
+ SkColor color = 0xfabb0011;
+ int width = 99;
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_2(CCDebugBorderDrawQuad, color, width);
+ EXPECT_EQ(color, copyQuad->color());
+ EXPECT_EQ(width, copyQuad->width());
+}
+
+TEST(CCDrawQuadTest, copyIOSurfaceDrawQuad)
+{
+ IntSize size(58, 95);
+ unsigned textureId = 72;
+ CCIOSurfaceDrawQuad::Orientation orientation = CCIOSurfaceDrawQuad::Unflipped;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_3(CCIOSurfaceDrawQuad, size, textureId, orientation);
+ EXPECT_EQ(size, copyQuad->ioSurfaceSize());
+ EXPECT_EQ(textureId, copyQuad->ioSurfaceTextureId());
+ EXPECT_EQ(orientation, copyQuad->orientation());
+}
+
+TEST(CCDrawQuadTest, copyRenderPassDrawQuad)
+{
+ CCRenderPass::Id renderPassId(22, 64);
+ bool isReplica = true;
+ CCResourceProvider::ResourceId maskResourceId = 78;
+ IntRect contentsChangedSinceLastFrame(42, 11, 74, 24);
+ float maskTexCoordScaleX = 33;
+ float maskTexCoordScaleY = 19;
+ float maskTexCoordOffsetX = -45;
+ float maskTexCoordOffsetY = -21;
+
+ CCRenderPass::Id copiedRenderPassId(235, 11);
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_8_1(CCRenderPassDrawQuad, renderPassId, isReplica, maskResourceId, contentsChangedSinceLastFrame, maskTexCoordScaleX, maskTexCoordScaleY, maskTexCoordOffsetX, maskTexCoordOffsetY, copiedRenderPassId);
+ EXPECT_EQ(copiedRenderPassId, copyQuad->renderPassId());
+ EXPECT_EQ(isReplica, copyQuad->isReplica());
+ EXPECT_EQ(maskResourceId, copyQuad->maskResourceId());
+ EXPECT_RECT_EQ(contentsChangedSinceLastFrame, copyQuad->contentsChangedSinceLastFrame());
+ EXPECT_EQ(maskTexCoordScaleX, copyQuad->maskTexCoordScaleX());
+ EXPECT_EQ(maskTexCoordScaleY, copyQuad->maskTexCoordScaleY());
+ EXPECT_EQ(maskTexCoordOffsetX, copyQuad->maskTexCoordOffsetX());
+ EXPECT_EQ(maskTexCoordOffsetY, copyQuad->maskTexCoordOffsetY());
+}
+
+TEST(CCDrawQuadTest, copySolidColorDrawQuad)
+{
+ SkColor color = 0x49494949;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_1(CCSolidColorDrawQuad, color);
+ EXPECT_EQ(color, copyQuad->color());
+}
+
+TEST(CCDrawQuadTest, copyStreamVideoDrawQuad)
+{
+ unsigned textureId = 64;
+ WebTransformationMatrix matrix(0.5, 1, 0.25, 0.75, 0, 1);
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_2(CCStreamVideoDrawQuad, textureId, matrix);
+ EXPECT_EQ(textureId, copyQuad->textureId());
+ EXPECT_EQ(matrix, copyQuad->matrix());
+}
+
+TEST(CCDrawQuadTest, copyTextureDrawQuad)
+{
+ unsigned resourceId = 82;
+ bool premultipliedAlpha = true;
+ FloatRect uvRect(0.5, 224, -51, 36);
+ bool flipped = true;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_4(CCTextureDrawQuad, resourceId, premultipliedAlpha, uvRect, flipped);
+ EXPECT_EQ(resourceId, copyQuad->resourceId());
+ EXPECT_EQ(premultipliedAlpha, copyQuad->premultipliedAlpha());
+ EXPECT_EQ(uvRect, copyQuad->uvRect());
+ EXPECT_EQ(flipped, copyQuad->flipped());
+}
+
+TEST(CCDrawQuadTest, copyTileDrawQuad)
+{
+ IntRect opaqueRect(33, 44, 22, 33);
+ unsigned resourceId = 104;
+ IntPoint textureOffset(-31, 47);
+ IntSize textureSize(85, 32);
+ GC3Dint textureFilter = 82;
+ bool swizzleContents = true;
+ bool leftEdgeAA = true;
+ bool topEdgeAA = true;
+ bool rightEdgeAA = false;
+ bool bottomEdgeAA = true;
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_10(CCTileDrawQuad, opaqueRect, resourceId, textureOffset, textureSize, textureFilter, swizzleContents, leftEdgeAA, topEdgeAA, rightEdgeAA, bottomEdgeAA);
+ EXPECT_RECT_EQ(opaqueRect, copyQuad->opaqueRect());
+ EXPECT_EQ(resourceId, copyQuad->resourceId());
+ EXPECT_EQ(textureOffset, copyQuad->textureOffset());
+ EXPECT_EQ(textureSize, copyQuad->textureSize());
+ EXPECT_EQ(textureFilter, copyQuad->textureFilter());
+ EXPECT_EQ(swizzleContents, copyQuad->swizzleContents());
+ EXPECT_EQ(leftEdgeAA, copyQuad->leftEdgeAA());
+ EXPECT_EQ(topEdgeAA, copyQuad->topEdgeAA());
+ EXPECT_EQ(rightEdgeAA, copyQuad->rightEdgeAA());
+ EXPECT_EQ(bottomEdgeAA, copyQuad->bottomEdgeAA());
+}
+
+TEST(CCDrawQuadTest, copyYUVVideoDrawQuad)
+{
+ CCVideoLayerImpl::FramePlane yPlane;
+ yPlane.resourceId = 45;
+ yPlane.size = IntSize(34, 23);
+ yPlane.format = 8;
+ yPlane.visibleSize = IntSize(623, 235);
+ CCVideoLayerImpl::FramePlane uPlane;
+ uPlane.resourceId = 532;
+ uPlane.size = IntSize(134, 16);
+ uPlane.format = 2;
+ uPlane.visibleSize = IntSize(126, 27);
+ CCVideoLayerImpl::FramePlane vPlane;
+ vPlane.resourceId = 4;
+ vPlane.size = IntSize(456, 486);
+ vPlane.format = 46;
+ vPlane.visibleSize = IntSize(19, 45);
+
+ CREATE_SHARED_STATE();
+ CREATE_QUAD_3(CCYUVVideoDrawQuad, yPlane, uPlane, vPlane);
+ EXPECT_EQ(yPlane.resourceId, copyQuad->yPlane().resourceId);
+ EXPECT_EQ(yPlane.size, copyQuad->yPlane().size);
+ EXPECT_EQ(yPlane.format, copyQuad->yPlane().format);
+ EXPECT_EQ(yPlane.visibleSize, copyQuad->yPlane().visibleSize);
+ EXPECT_EQ(uPlane.resourceId, copyQuad->uPlane().resourceId);
+ EXPECT_EQ(uPlane.size, copyQuad->uPlane().size);
+ EXPECT_EQ(uPlane.format, copyQuad->uPlane().format);
+ EXPECT_EQ(uPlane.visibleSize, copyQuad->uPlane().visibleSize);
+ EXPECT_EQ(vPlane.resourceId, copyQuad->vPlane().resourceId);
+ EXPECT_EQ(vPlane.size, copyQuad->vPlane().size);
+ EXPECT_EQ(vPlane.format, copyQuad->vPlane().format);
+ EXPECT_EQ(vPlane.visibleSize, copyQuad->vPlane().visibleSize);
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp b/Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp
new file mode 100644
index 000000000..a17fc643f
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCGeometryTestUtils.cpp
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 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. 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 "CCGeometryTestUtils.h"
+
+#include <gtest/gtest.h>
+#include <public/WebTransformationMatrix.h>
+
+namespace WebKitTests {
+
+void ExpectTransformationMatrixEq(const WebKit::WebTransformationMatrix& expected,
+ const WebKit::WebTransformationMatrix& actual)
+{
+ EXPECT_FLOAT_EQ((expected).m11(), (actual).m11());
+ EXPECT_FLOAT_EQ((expected).m12(), (actual).m12());
+ EXPECT_FLOAT_EQ((expected).m13(), (actual).m13());
+ EXPECT_FLOAT_EQ((expected).m14(), (actual).m14());
+ EXPECT_FLOAT_EQ((expected).m21(), (actual).m21());
+ EXPECT_FLOAT_EQ((expected).m22(), (actual).m22());
+ EXPECT_FLOAT_EQ((expected).m23(), (actual).m23());
+ EXPECT_FLOAT_EQ((expected).m24(), (actual).m24());
+ EXPECT_FLOAT_EQ((expected).m31(), (actual).m31());
+ EXPECT_FLOAT_EQ((expected).m32(), (actual).m32());
+ EXPECT_FLOAT_EQ((expected).m33(), (actual).m33());
+ EXPECT_FLOAT_EQ((expected).m34(), (actual).m34());
+ EXPECT_FLOAT_EQ((expected).m41(), (actual).m41());
+ EXPECT_FLOAT_EQ((expected).m42(), (actual).m42());
+ EXPECT_FLOAT_EQ((expected).m43(), (actual).m43());
+ EXPECT_FLOAT_EQ((expected).m44(), (actual).m44());
+}
+
+} // namespace WebKitTests
+
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h b/Source/WebKit/chromium/tests/CCGeometryTestUtils.h
index 7f7e20279..6dea70918 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeTestCommon.h
+++ b/Source/WebKit/chromium/tests/CCGeometryTestUtils.h
@@ -22,10 +22,12 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CCLayerTreeTestCommon_h
-#define CCLayerTreeTestCommon_h
+#ifndef CCGeometryTestUtils_h
+#define CCGeometryTestUtils_h
-#include <public/WebTransformationMatrix.h>
+namespace WebKit {
+class WebTransformationMatrix;
+}
namespace WebKitTests {
@@ -36,7 +38,7 @@ namespace WebKitTests {
EXPECT_FLOAT_EQ((expected).size().width(), (actual).size().width()); \
EXPECT_FLOAT_EQ((expected).size().height(), (actual).size().height())
-#define EXPECT_INT_RECT_EQ(expected, actual) \
+#define EXPECT_RECT_EQ(expected, actual) \
EXPECT_EQ((expected).location().x(), (actual).location().x()); \
EXPECT_EQ((expected).location().y(), (actual).location().y()); \
EXPECT_EQ((expected).size().width(), (actual).size().width()); \
@@ -46,8 +48,8 @@ namespace WebKitTests {
// in bulk, it causes a significant slow-down in compilation time. This problem
// exists with both gcc and clang, and bugs have been filed at
// http://llvm.org/bugs/show_bug.cgi?id=13651 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54337
-void ExpectTransformationMatrixEq(WebKit::WebTransformationMatrix expected,
- WebKit::WebTransformationMatrix actual);
+void ExpectTransformationMatrixEq(const WebKit::WebTransformationMatrix& expected,
+ const WebKit::WebTransformationMatrix& actual);
#define EXPECT_TRANSFORMATION_MATRIX_EQ(expected, actual) \
{ \
@@ -55,6 +57,6 @@ void ExpectTransformationMatrixEq(WebKit::WebTransformationMatrix expected,
WebKitTests::ExpectTransformationMatrixEq(expected, actual); \
}
-} // namespace
+} // namespace WebKitTests
-#endif // CCLayerTreeTestCommon_h
+#endif // CCGeometryTestUtils_h
diff --git a/Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp b/Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp
new file mode 100644
index 000000000..63616b35a
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCHeadsUpDisplayTest.cpp
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2012 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. 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 "CCLayerTreeHost.h"
+#include "CCThreadedTest.h"
+#include "HeadsUpDisplayLayerChromium.h"
+#include "LayerChromium.h"
+
+using namespace WebCore;
+using namespace WebKitTests;
+
+namespace {
+
+class CCHeadsUpDisplayTest : public CCThreadedTest {
+protected:
+ virtual void initializeSettings(CCLayerTreeSettings& settings) OVERRIDE
+ {
+ // Enable the HUD without requiring text.
+ settings.showPropertyChangedRects = true;
+ }
+};
+
+class DrawsContentLayerChromium : public LayerChromium {
+public:
+ static PassRefPtr<DrawsContentLayerChromium> create() { return adoptRef(new DrawsContentLayerChromium()); }
+ virtual bool drawsContent() const OVERRIDE { return true; }
+
+private:
+ DrawsContentLayerChromium() : LayerChromium() { }
+};
+
+class CCHudWithRootLayerChange : public CCHeadsUpDisplayTest {
+public:
+ CCHudWithRootLayerChange()
+ : m_rootLayer1(DrawsContentLayerChromium::create())
+ , m_rootLayer2(DrawsContentLayerChromium::create())
+ , m_numCommits(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_rootLayer1->setBounds(IntSize(30, 30));
+ m_rootLayer2->setBounds(IntSize(30, 30));
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didCommit() OVERRIDE
+ {
+ ++m_numCommits;
+
+ ASSERT_TRUE(m_layerTreeHost->hudLayer());
+
+ switch (m_numCommits) {
+ case 1:
+ // Change directly to a new root layer.
+ m_layerTreeHost->setRootLayer(m_rootLayer1);
+ break;
+ case 2:
+ EXPECT_EQ(m_rootLayer1.get(), m_layerTreeHost->hudLayer()->parent());
+ // Unset the root layer.
+ m_layerTreeHost->setRootLayer(0);
+ break;
+ case 3:
+ EXPECT_EQ(0, m_layerTreeHost->hudLayer()->parent());
+ // Change back to the previous root layer.
+ m_layerTreeHost->setRootLayer(m_rootLayer1);
+ break;
+ case 4:
+ EXPECT_EQ(m_rootLayer1.get(), m_layerTreeHost->hudLayer()->parent());
+ // Unset the root layer.
+ m_layerTreeHost->setRootLayer(0);
+ break;
+ case 5:
+ EXPECT_EQ(0, m_layerTreeHost->hudLayer()->parent());
+ // Change to a new root layer from a null root.
+ m_layerTreeHost->setRootLayer(m_rootLayer2);
+ break;
+ case 6:
+ EXPECT_EQ(m_rootLayer2.get(), m_layerTreeHost->hudLayer()->parent());
+ // Change directly back to the last root layer/
+ m_layerTreeHost->setRootLayer(m_rootLayer1);
+ break;
+ case 7:
+ EXPECT_EQ(m_rootLayer1.get(), m_layerTreeHost->hudLayer()->parent());
+ endTest();
+ break;
+ }
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ }
+
+private:
+ RefPtr<DrawsContentLayerChromium> m_rootLayer1;
+ RefPtr<DrawsContentLayerChromium> m_rootLayer2;
+ int m_numCommits;
+};
+
+TEST_F(CCHudWithRootLayerChange, runMultiThread)
+{
+ runTest(true);
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp b/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
index 0b5aa6be6..3d008ce13 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerTreeHostCommonTest.cpp
@@ -27,15 +27,16 @@
#include "CCLayerTreeHostCommon.h"
#include "CCAnimationTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerAnimationController.h"
#include "CCLayerImpl.h"
#include "CCLayerSorter.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCMathUtil.h"
#include "CCProxy.h"
#include "CCSingleThreadProxy.h"
#include "CCThread.h"
#include "ContentLayerChromium.h"
+#include "ContentLayerChromiumClient.h"
#include "LayerChromium.h"
#include <gmock/gmock.h>
@@ -46,27 +47,6 @@ using namespace WebCore;
using namespace WebKitTests;
using WebKit::WebTransformationMatrix;
-void WebKitTests::ExpectTransformationMatrixEq(WebTransformationMatrix expected,
- WebTransformationMatrix actual)
-{
- EXPECT_FLOAT_EQ((expected).m11(), (actual).m11());
- EXPECT_FLOAT_EQ((expected).m12(), (actual).m12());
- EXPECT_FLOAT_EQ((expected).m13(), (actual).m13());
- EXPECT_FLOAT_EQ((expected).m14(), (actual).m14());
- EXPECT_FLOAT_EQ((expected).m21(), (actual).m21());
- EXPECT_FLOAT_EQ((expected).m22(), (actual).m22());
- EXPECT_FLOAT_EQ((expected).m23(), (actual).m23());
- EXPECT_FLOAT_EQ((expected).m24(), (actual).m24());
- EXPECT_FLOAT_EQ((expected).m31(), (actual).m31());
- EXPECT_FLOAT_EQ((expected).m32(), (actual).m32());
- EXPECT_FLOAT_EQ((expected).m33(), (actual).m33());
- EXPECT_FLOAT_EQ((expected).m34(), (actual).m34());
- EXPECT_FLOAT_EQ((expected).m41(), (actual).m41());
- EXPECT_FLOAT_EQ((expected).m42(), (actual).m42());
- EXPECT_FLOAT_EQ((expected).m43(), (actual).m43());
- EXPECT_FLOAT_EQ((expected).m44(), (actual).m44());
-}
-
namespace {
template<typename LayerType>
@@ -672,6 +652,7 @@ TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceListForRenderSurfaceWithClipp
setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, FloatPoint::zero(), FloatPoint(30, 30), IntSize(10, 10), false);
parent->addChild(renderSurface1);
+ parent->setMasksToBounds(true);
renderSurface1->addChild(child);
renderSurface1->setForceRenderSurface(true);
@@ -1477,9 +1458,9 @@ TEST(CCLayerTreeHostCommonTest, verifyDrawableContentRectForLayers)
CCLayerTreeHostCommon::calculateDrawTransforms(parent.get(), parent->bounds(), 1, dummyMaxTextureSize, renderSurfaceLayerList);
CCLayerTreeHostCommon::calculateVisibleRects(renderSurfaceLayerList);
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(5, 5), IntSize(10, 10)), grandChild1->drawableContentRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(5, 5), IntSize(10, 10)), grandChild1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(15, 15), IntSize(5, 5)), grandChild3->drawableContentRect());
EXPECT_TRUE(grandChild4->drawableContentRect().isEmpty());
}
@@ -1549,9 +1530,9 @@ TEST(CCLayerTreeHostCommonTest, verifyClipRectIsPropagatedCorrectlyToSurfaces)
EXPECT_FALSE(grandChild4->renderSurface()); // Because grandChild4 is entirely clipped, it is expected to not have a renderSurface.
// Surfaces are clipped by their parent, but un-affected by the owning layer's masksToBounds.
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild1->renderSurface()->clipRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild2->renderSurface()->clipRect());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild3->renderSurface()->clipRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild1->renderSurface()->clipRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild2->renderSurface()->clipRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint(0, 0), IntSize(20, 20)), grandChild3->renderSurface()->clipRect());
}
TEST(CCLayerTreeHostCommonTest, verifyAnimationsForRenderSurfaceHierarchy)
@@ -1706,7 +1687,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForIdentityTransform)
IntRect layerContentRect = IntRect(IntPoint(10, 10), IntSize(30, 30));
IntRect expected = IntRect(IntPoint(10, 10), IntSize(30, 30));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Layer is outside the surface rect.
layerContentRect = IntRect(IntPoint(120, 120), IntSize(30, 30));
@@ -1717,7 +1698,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForIdentityTransform)
layerContentRect = IntRect(IntPoint(80, 80), IntSize(30, 30));
expected = IntRect(IntPoint(80, 80), IntSize(20, 20));
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForTranslations)
@@ -1733,7 +1714,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForTranslations)
layerToSurfaceTransform.translate(10, 10);
IntRect expected = IntRect(IntPoint(0, 0), IntSize(30, 30));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Layer is outside the surface rect.
layerToSurfaceTransform.makeIdentity();
@@ -1746,7 +1727,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForTranslations)
layerToSurfaceTransform.translate(80, 80);
expected = IntRect(IntPoint(0, 0), IntSize(20, 20));
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
@@ -1764,7 +1745,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
layerToSurfaceTransform.rotate(45);
IntRect expected = IntRect(IntPoint(0, 0), IntSize(30, 30));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Layer is outside the surface rect.
layerToSurfaceTransform.makeIdentity();
@@ -1782,7 +1763,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
layerToSurfaceTransform.rotate(45);
expected = IntRect(IntPoint(0, 0), IntSize(30, 30));
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 4: The layer is rotated about its top-left corner, and translated upwards. In
// surface space, the layer is oriented diagonally, with only the top corner
@@ -1794,7 +1775,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor2DRotations)
layerToSurfaceTransform.rotate(45);
expected = IntRect(IntPoint(15, 0), IntSize(15, 30)); // right half of layer bounds.
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform)
@@ -1810,7 +1791,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform)
layerToSurfaceTransform.rotate3d(0, 45, 0);
IntRect expected = IntRect(IntPoint(0, 0), IntSize(100, 100));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: Orthographic projection of a layer rotated about y-axis by 45 degrees, but
// shifted to the side so only the right-half the layer would be visible on
@@ -1821,7 +1802,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicTransform)
layerToSurfaceTransform.rotate3d(0, 45, 0); // rotates about the left edge of the layer
expected = IntRect(IntPoint(50, 0), IntSize(50, 100)); // right half of the layer.
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform)
@@ -1848,7 +1829,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform)
IntRect expected = IntRect(IntPoint(-50, -50), IntSize(200, 200));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
// Case 2: same projection as before, except that the layer is also translated to the
// side, so that only the right half of the layer should be visible.
@@ -1861,7 +1842,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveTransform)
layerToSurfaceTransform.translate3d(-200, 0, 0);
expected = IntRect(IntPoint(50, -50), IntSize(100, 200)); // The right half of the layer's bounding rect.
actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicIsNotClippedBehindSurface)
@@ -1884,7 +1865,7 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dOrthographicIsNotClippedBe
IntRect expected = IntRect(IntPoint(0, 0), IntSize(100, 100));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
}
TEST(CCLayerTreeHostCommonTest, verifyVisibleRectFor3dPerspectiveWhenClippedByW)
@@ -1950,7 +1931,313 @@ TEST(CCLayerTreeHostCommonTest, verifyVisibleRectForPerspectiveUnprojection)
// that the entire layer should still be considered visible.
IntRect expected = IntRect(IntPoint(-10, -10), IntSize(20, 20));
IntRect actual = CCLayerTreeHostCommon::calculateVisibleRect(targetSurfaceRect, layerContentRect, layerToSurfaceTransform);
- EXPECT_INT_RECT_EQ(expected, actual);
+ EXPECT_RECT_EQ(expected, actual);
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForSimpleLayers)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(child1);
+ root->addChild(child2);
+ root->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+
+ // layer visibleContentRects are clipped by their targetSurface
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 25, 25), child2->visibleContentRect());
+ EXPECT_TRUE(child3->visibleContentRect().isEmpty());
+
+ // layer drawableContentRects are not clipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersClippedByLayer)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> child = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> grandChild1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> grandChild2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> grandChild3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(child);
+ child->addChild(grandChild1);
+ child->addChild(grandChild2);
+ child->addChild(grandChild3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(child.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(grandChild1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(grandChild2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(grandChild3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ child->setMasksToBounds(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_FALSE(child->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), child->visibleContentRect());
+
+ // All grandchild visibleContentRects should be clipped by child.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), grandChild1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 25, 25), grandChild2->visibleContentRect());
+ EXPECT_TRUE(grandChild3->visibleContentRect().isEmpty());
+
+ // All grandchild drawableContentRects should also be clipped by child.
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), grandChild1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 25, 25), grandChild2->drawableContentRect());
+ EXPECT_TRUE(grandChild3->drawableContentRect().isEmpty());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersInUnclippedRenderSurface)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+ renderSurface1->addChild(child2);
+ renderSurface1->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+
+ // An unclipped surface grows its drawableContentRect to include all drawable regions of the subtree.
+ EXPECT_RECT_EQ(IntRect(5, 5, 170, 170), renderSurface1->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into the unclipped surface are also unclipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child2->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child3->visibleContentRect());
+
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForLayersInClippedRenderSurface)
+{
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+ renderSurface1->addChild(child2);
+ renderSurface1->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ root->setMasksToBounds(true);
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+
+ // A clipped surface grows its drawableContentRect to include all drawable regions of the subtree,
+ // but also gets clamped by the ancestor's clip.
+ EXPECT_RECT_EQ(IntRect(5, 5, 95, 95), renderSurface1->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into the surface have their visibleContentRect clipped by the surface clipRect.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 25, 25), child2->visibleContentRect());
+ EXPECT_TRUE(child3->visibleContentRect().isEmpty());
+
+ // But the drawableContentRects are unclipped.
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsForSurfaceHierarchy)
+{
+ // Check that clipping does not propagate down surfaces.
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface2 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child2 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ RefPtr<LayerChromiumWithForcedDrawsContent> child3 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(renderSurface2);
+ renderSurface2->addChild(child1);
+ renderSurface2->addChild(child2);
+ renderSurface2->addChild(child3);
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(renderSurface2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(7, 13), false);
+ setLayerPropertiesForTesting(child1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(5, 5), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child2.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(75, 75), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(child3.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(125, 125), IntSize(50, 50), false);
+
+ root->setMasksToBounds(true);
+ renderSurface1->setForceRenderSurface(true);
+ renderSurface2->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+ ASSERT_TRUE(renderSurface2->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface2->visibleContentRect());
+
+ // A clipped surface grows its drawableContentRect to include all drawable regions of the subtree,
+ // but also gets clamped by the ancestor's clip.
+ EXPECT_RECT_EQ(IntRect(5, 5, 95, 95), renderSurface1->renderSurface()->drawableContentRect());
+
+ // renderSurface1 lives in the "unclipped universe" of renderSurface1, and is only
+ // implicitly clipped by renderSurface1's contentRect. So, renderSurface2 grows to
+ // enclose all drawable content of its subtree.
+ EXPECT_RECT_EQ(IntRect(5, 5, 170, 170), renderSurface2->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into renderSurface2 think they are unclipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child2->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child3->visibleContentRect());
+
+ // drawableContentRects are also unclipped.
+ EXPECT_RECT_EQ(IntRect(5, 5, 50, 50), child1->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(75, 75, 50, 50), child2->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(125, 125, 50, 50), child3->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsWithTransformOnUnclippedSurface)
+{
+ // Layers that have non-axis aligned bounds (due to transforms) have an expanded,
+ // axis-aligned drawableContentRect and visibleContentRect.
+
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+
+ WebTransformationMatrix identityMatrix;
+ WebTransformationMatrix childRotation;
+ childRotation.rotate(45);
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(100, 100), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), childRotation, identityMatrix, FloatPoint(0.5, 0.5), FloatPoint(25, 25), IntSize(50, 50), false);
+
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->renderSurface()->drawableContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), root->drawableContentRect());
+
+ // Layers that do not draw content should have empty visibleContentRects.
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), root->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), renderSurface1->visibleContentRect());
+
+ // The unclipped surface grows its drawableContentRect to include all drawable regions of the subtree.
+ int diagonalRadius = ceil(sqrt(2.0) * 25);
+ IntRect expectedSurfaceDrawableContent = IntRect(50 - diagonalRadius, 50 - diagonalRadius, diagonalRadius * 2, diagonalRadius * 2);
+ EXPECT_RECT_EQ(expectedSurfaceDrawableContent, renderSurface1->renderSurface()->drawableContentRect());
+
+ // All layers that draw content into the unclipped surface are also unclipped.
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), child1->visibleContentRect());
+ EXPECT_RECT_EQ(expectedSurfaceDrawableContent, child1->drawableContentRect());
+}
+
+TEST(CCLayerTreeHostCommonTest, verifyDrawableAndVisibleContentRectsWithTransformOnClippedSurface)
+{
+ // Layers that have non-axis aligned bounds (due to transforms) have an expanded,
+ // axis-aligned drawableContentRect and visibleContentRect.
+
+ RefPtr<LayerChromium> root = LayerChromium::create();
+ RefPtr<LayerChromium> renderSurface1 = LayerChromium::create();
+ RefPtr<LayerChromiumWithForcedDrawsContent> child1 = adoptRef(new LayerChromiumWithForcedDrawsContent());
+ root->addChild(renderSurface1);
+ renderSurface1->addChild(child1);
+
+ WebTransformationMatrix identityMatrix;
+ WebTransformationMatrix childRotation;
+ childRotation.rotate(45);
+ setLayerPropertiesForTesting(root.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(50, 50), false);
+ setLayerPropertiesForTesting(renderSurface1.get(), identityMatrix, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(3, 4), false);
+ setLayerPropertiesForTesting(child1.get(), childRotation, identityMatrix, FloatPoint(0.5, 0.5), FloatPoint(25, 25), IntSize(50, 50), false);
+
+ root->setMasksToBounds(true);
+ renderSurface1->setForceRenderSurface(true);
+ executeCalculateDrawTransformsAndVisibility(root.get());
+
+ ASSERT_TRUE(renderSurface1->renderSurface());
+
+ // The clipped surface clamps the drawableContentRect that encloses the rotated layer.
+ int diagonalRadius = ceil(sqrt(2.0) * 25);
+ IntRect unclippedSurfaceContent = IntRect(50 - diagonalRadius, 50 - diagonalRadius, diagonalRadius * 2, diagonalRadius * 2);
+ IntRect expectedSurfaceDrawableContent = intersection(unclippedSurfaceContent, IntRect(0, 0, 50, 50));
+ EXPECT_RECT_EQ(expectedSurfaceDrawableContent, renderSurface1->renderSurface()->drawableContentRect());
+
+ // On the clipped surface, only a quarter of the child1 is visible, but when rotating
+ // it back to child1's content space, the actual enclosing rect ends up covering the
+ // full left half of child1.
+ EXPECT_RECT_EQ(IntRect(0, 0, 26, 50), child1->visibleContentRect());
+
+ // The child's drawableContentRect is unclipped.
+ EXPECT_RECT_EQ(unclippedSurfaceContent, child1->drawableContentRect());
}
TEST(CCLayerTreeHostCommonTest, verifyBackFaceCullingWithoutPreserves3d)
@@ -2593,7 +2880,7 @@ TEST(CCLayerTreeHostCommonTest, verifyHitTestingForSingleLayerWithScaledContents
// Sanity check the scenario we just created.
// The visibleContentRect for testLayer is actually 100x100, even though its layout size is 50x50, positioned at 25x25.
CCLayerImpl* testLayer = root->children()[0].get();
- EXPECT_INT_RECT_EQ(IntRect(IntPoint::zero(), IntSize(100, 100)), testLayer->visibleContentRect());
+ EXPECT_RECT_EQ(IntRect(IntPoint::zero(), IntSize(100, 100)), testLayer->visibleContentRect());
ASSERT_EQ(1u, renderSurfaceLayerList.size());
ASSERT_EQ(1u, root->renderSurface()->layerList().size());
@@ -3073,14 +3360,14 @@ TEST(CCLayerTreeHostCommonTest, verifyHitTestingForMultipleLayerLists)
EXPECT_EQ(4, resultLayer->id());
}
-class MockContentLayerDelegate : public ContentLayerDelegate {
+class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
public:
- MockContentLayerDelegate() { }
- virtual ~MockContentLayerDelegate() { }
+ MockContentLayerChromiumClient() { }
+ virtual ~MockContentLayerChromiumClient() { }
virtual void paintContents(SkCanvas*, const IntRect& clip, FloatRect& opaque) OVERRIDE { }
};
-PassRefPtr<ContentLayerChromium> createDrawableContentLayerChromium(ContentLayerDelegate* delegate)
+PassRefPtr<ContentLayerChromium> createDrawableContentLayerChromium(ContentLayerChromiumClient* delegate)
{
RefPtr<ContentLayerChromium> toReturn = ContentLayerChromium::create(delegate);
toReturn->setIsDrawable(true);
@@ -3090,7 +3377,7 @@ PassRefPtr<ContentLayerChromium> createDrawableContentLayerChromium(ContentLayer
TEST(CCLayerTreeHostCommonTest, verifyLayerTransformsInHighDPI)
{
// Verify draw and screen space transforms of layers not in a surface.
- MockContentLayerDelegate delegate;
+ MockContentLayerChromiumClient delegate;
WebTransformationMatrix identityMatrix;
RefPtr<ContentLayerChromium> parent = createDrawableContentLayerChromium(&delegate);
@@ -3162,7 +3449,7 @@ TEST(CCLayerTreeHostCommonTest, verifyLayerTransformsInHighDPI)
TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI)
{
- MockContentLayerDelegate delegate;
+ MockContentLayerChromiumClient delegate;
WebTransformationMatrix identityMatrix;
RefPtr<ContentLayerChromium> parent = createDrawableContentLayerChromium(&delegate);
@@ -3214,7 +3501,7 @@ TEST(CCLayerTreeHostCommonTest, verifyRenderSurfaceTransformsInHighDPI)
WebTransformationMatrix expectedDuplicateChildDrawTransform = child->drawTransform();
EXPECT_TRANSFORMATION_MATRIX_EQ(child->drawTransform(), duplicateChildNonOwner->drawTransform());
EXPECT_TRANSFORMATION_MATRIX_EQ(child->screenSpaceTransform(), duplicateChildNonOwner->screenSpaceTransform());
- EXPECT_INT_RECT_EQ(child->drawableContentRect(), duplicateChildNonOwner->drawableContentRect());
+ EXPECT_RECT_EQ(child->drawableContentRect(), duplicateChildNonOwner->drawableContentRect());
EXPECT_EQ(child->contentBounds(), duplicateChildNonOwner->contentBounds());
WebTransformationMatrix expectedRenderSurfaceDrawTransform;
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp b/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
index a715f5b9a..d7e955783 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerTreeHostImplTest.cpp
@@ -27,15 +27,16 @@
#include "CCLayerTreeHostImpl.h"
#include "CCAnimationTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCHeadsUpDisplayLayerImpl.h"
#include "CCIOSurfaceLayerImpl.h"
#include "CCLayerImpl.h"
#include "CCLayerTestCommon.h"
#include "CCLayerTilingData.h"
-#include "CCLayerTreeTestCommon.h"
-#include "CCQuadCuller.h"
+#include "CCQuadSink.h"
#include "CCRenderPassDrawQuad.h"
#include "CCRendererGL.h"
+#include "CCScrollbarGeometryFixedThumb.h"
#include "CCScrollbarLayerImpl.h"
#include "CCSettings.h"
#include "CCSingleThreadProxy.h"
@@ -69,7 +70,8 @@ namespace {
class CCLayerTreeHostImplTest : public testing::Test, public CCLayerTreeHostImplClient {
public:
CCLayerTreeHostImplTest()
- : m_didRequestCommit(false)
+ : m_onCanDrawStateChangedCalled(false)
+ , m_didRequestCommit(false)
, m_didRequestRedraw(false)
{
CCLayerTreeSettings settings;
@@ -83,6 +85,7 @@ public:
virtual void didLoseContextOnImplThread() OVERRIDE { }
virtual void onSwapBuffersCompleteOnImplThread() OVERRIDE { }
virtual void onVSyncParametersChanged(double, double) OVERRIDE { }
+ virtual void onCanDrawStateChanged(bool canDraw) OVERRIDE { m_onCanDrawStateChangedCalled = true; }
virtual void setNeedsRedrawOnImplThread() OVERRIDE { m_didRequestRedraw = true; }
virtual void setNeedsCommitOnImplThread() OVERRIDE { m_didRequestCommit = true; }
virtual void postAnimationEventsToMainThreadOnImplThread(PassOwnPtr<CCAnimationEventsVector>, double wallClockTime) OVERRIDE { }
@@ -184,6 +187,7 @@ protected:
DebugScopedSetMainThreadBlocked m_alwaysMainThreadBlocked;
OwnPtr<CCLayerTreeHostImpl> m_hostImpl;
+ bool m_onCanDrawStateChangedCalled;
bool m_didRequestCommit;
bool m_didRequestRedraw;
CCScopedSettings m_scopedSettings;
@@ -194,6 +198,53 @@ public:
virtual bool makeContextCurrent() { return false; }
};
+TEST_F(CCLayerTreeHostImplTest, notifyIfCanDrawChanged)
+{
+ // Note: It is not possible to disable the renderer once it has been set,
+ // so we do not need to test that disabling the renderer notifies us
+ // that canDraw changed.
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ m_onCanDrawStateChangedCalled = false;
+
+ setupScrollAndContentsLayers(IntSize(100, 100));
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ // Toggle the root layer to make sure it toggles canDraw
+ m_hostImpl->setRootLayer(adoptPtr<CCLayerImpl>(0));
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ setupScrollAndContentsLayers(IntSize(100, 100));
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ // Toggle the device viewport size to make sure it toggles canDraw.
+ m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(0, 0));
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ m_hostImpl->setViewportSize(IntSize(100, 100), IntSize(100, 100));
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ // Toggle contents textures purged to make sure it toggles canDraw
+ m_hostImpl->releaseContentsTextures();
+ EXPECT_FALSE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+
+ m_hostImpl->resetContentsTexturesPurged();
+ EXPECT_TRUE(m_hostImpl->canDraw());
+ EXPECT_TRUE(m_onCanDrawStateChangedCalled);
+ m_onCanDrawStateChangedCalled = false;
+}
+
TEST_F(CCLayerTreeHostImplTest, scrollDeltaNoLayers)
{
ASSERT_FALSE(m_hostImpl->rootLayer());
@@ -399,6 +450,24 @@ TEST_F(CCLayerTreeHostImplTest, nonFastScrollableRegionWithOffset)
EXPECT_EQ(m_hostImpl->scrollBegin(IntPoint(10, 10), CCInputHandlerClient::Wheel), CCInputHandlerClient::ScrollOnMainThread);
}
+TEST_F(CCLayerTreeHostImplTest, maxScrollPositionChangedByDeviceScaleFactor)
+{
+ setupScrollAndContentsLayers(IntSize(100, 100));
+
+ float deviceScaleFactor = 2;
+ IntSize layoutViewport(25, 25);
+ IntSize deviceViewport(layoutViewport);
+ deviceViewport.scale(deviceScaleFactor);
+ m_hostImpl->setViewportSize(layoutViewport, deviceViewport);
+ m_hostImpl->setDeviceScaleFactor(deviceScaleFactor);
+ EXPECT_EQ(m_hostImpl->rootLayer()->maxScrollPosition(), IntSize(25, 25));
+
+ deviceScaleFactor = 1;
+ m_hostImpl->setViewportSize(layoutViewport, layoutViewport);
+ m_hostImpl->setDeviceScaleFactor(deviceScaleFactor);
+ EXPECT_EQ(m_hostImpl->rootLayer()->maxScrollPosition(), IntSize(75, 75));
+}
+
TEST_F(CCLayerTreeHostImplTest, pinchGesture)
{
setupScrollAndContentsLayers(IntSize(100, 100));
@@ -1345,7 +1414,7 @@ class BlendStateCheckLayer : public CCLayerImpl {
public:
static PassOwnPtr<BlendStateCheckLayer> create(int id, CCResourceProvider* resourceProvider) { return adoptPtr(new BlendStateCheckLayer(id, resourceProvider)); }
- virtual void appendQuads(CCQuadSink& quadSink, bool&) OVERRIDE
+ virtual void appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData) OVERRIDE
{
m_quadsAppended = true;
@@ -1360,7 +1429,7 @@ public:
testBlendingDrawQuad->setQuadVisibleRect(m_quadVisibleRect);
EXPECT_EQ(m_blend, testBlendingDrawQuad->needsBlending());
EXPECT_EQ(m_hasRenderSurface, !!renderSurface());
- quadSink.append(testBlendingDrawQuad.release());
+ quadSink.append(testBlendingDrawQuad.release(), appendQuadsData);
}
void setExpectation(bool blend, bool hasRenderSurface)
@@ -1879,14 +1948,14 @@ class FakeLayerWithQuads : public CCLayerImpl {
public:
static PassOwnPtr<FakeLayerWithQuads> create(int id) { return adoptPtr(new FakeLayerWithQuads(id)); }
- virtual void appendQuads(CCQuadSink& quadSink, bool&) OVERRIDE
+ virtual void appendQuads(CCQuadSink& quadSink, CCAppendQuadsData& appendQuadsData) OVERRIDE
{
CCSharedQuadState* sharedQuadState = quadSink.useSharedQuadState(createSharedQuadState());
SkColor gray = SkColorSetRGB(100, 100, 100);
IntRect quadRect(IntPoint(0, 0), contentBounds());
OwnPtr<CCDrawQuad> myQuad = CCSolidColorDrawQuad::create(sharedQuadState, quadRect, gray);
- quadSink.append(myQuad.release());
+ quadSink.append(myQuad.release(), appendQuadsData);
}
private:
@@ -2416,7 +2485,7 @@ public:
IntSize size(10, 10);
GC3Denum format = GraphicsContext3D::RGBA;
CCResourceProvider::TextureUsageHint hint = CCResourceProvider::TextureUsageAny;
- setScrollbarGeometry(FakeWebScrollbarThemeGeometryNonEmpty::create());
+ setScrollbarGeometry(CCScrollbarGeometryFixedThumb::create(FakeWebScrollbarThemeGeometryNonEmpty::create()));
setBackTrackResourceId(provider->createResource(pool, size, format, hint));
setForeTrackResourceId(provider->createResource(pool, size, format, hint));
@@ -2801,7 +2870,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithClipping)
EXPECT_LT(quadVisibleRect.width(), 100);
// Verify that the render surface texture is *not* clipped.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), frame.renderPasses[0]->outputRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), frame.renderPasses[0]->outputRect());
EXPECT_EQ(CCDrawQuad::RenderPass, frame.renderPasses[1]->quadList()[0]->material());
CCRenderPassDrawQuad* quad = static_cast<CCRenderPassDrawQuad*>(frame.renderPasses[1]->quadList()[0].get());
@@ -3406,13 +3475,14 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
grandChild->setDrawsContent(true);
CCTiledLayerImpl* childPtr = child.get();
+ CCRenderPass::Id childPassId(childPtr->id(), 0);
child->addChild(grandChild.release());
root->addChild(child.release());
myHostImpl->setRootLayer(root.release());
myHostImpl->setViewportSize(rootRect.size(), rootRect.size());
- EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_FALSE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
{
CCLayerTreeHostImpl::FrameData frame;
@@ -3422,7 +3492,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
}
// We should have cached textures for surface 2.
- EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
{
CCLayerTreeHostImpl::FrameData frame;
@@ -3432,7 +3502,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
}
// We should still have cached textures for surface 2 after drawing with no damage.
- EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
// Damage a single tile of surface 2.
childPtr->setUpdateRect(IntRect(10, 10, 10, 10));
@@ -3445,7 +3515,7 @@ TEST_F(CCLayerTreeHostImplTest, textureCachingWithScissor)
}
// We should have a cached texture for surface 2 again even though it was damaged.
- EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPtr->id()));
+ EXPECT_TRUE(myHostImpl->renderer()->haveCachedResourcesForRenderPassId(childPassId));
}
TEST_F(CCLayerTreeHostImplTest, surfaceTextureCaching)
@@ -3807,18 +3877,18 @@ struct RenderPassCacheEntry {
};
struct RenderPassRemovalTestData : public CCLayerTreeHostImpl::FrameData {
- std::map<char, RenderPassCacheEntry> renderPassCache;
+ std::map<CCRenderPass::Id, RenderPassCacheEntry> renderPassCache;
OwnPtr<CCSharedQuadState> sharedQuadState;
};
class CCTestRenderPass: public CCRenderPass {
public:
- static PassOwnPtr<CCRenderPass> create(int id, IntRect outputRect, const WebTransformationMatrix& rootTransform) { return adoptPtr(new CCTestRenderPass(id, outputRect, rootTransform)); }
+ static PassOwnPtr<CCRenderPass> create(CCRenderPass::Id id, IntRect outputRect, const WebTransformationMatrix& rootTransform) { return adoptPtr(new CCTestRenderPass(id, outputRect, rootTransform)); }
void appendQuad(PassOwnPtr<CCDrawQuad> quad) { m_quadList.append(quad); }
protected:
- CCTestRenderPass(int id, IntRect outputRect, const WebTransformationMatrix& rootTransform) : CCRenderPass(id, outputRect, rootTransform) { }
+ CCTestRenderPass(CCRenderPass::Id id, IntRect outputRect, const WebTransformationMatrix& rootTransform) : CCRenderPass(id, outputRect, rootTransform) { }
};
class CCTestRenderer : public CCRendererGL, public CCRendererClient {
@@ -3833,9 +3903,9 @@ public:
}
void clearCachedTextures() { m_textures.clear(); }
- void setHaveCachedResourcesForRenderPassId(int id) { m_textures.add(id); }
+ void setHaveCachedResourcesForRenderPassId(CCRenderPass::Id id) { m_textures.add(id); }
- virtual bool haveCachedResourcesForRenderPassId(int id) const OVERRIDE { return m_textures.contains(id); }
+ virtual bool haveCachedResourcesForRenderPassId(CCRenderPass::Id id) const OVERRIDE { return m_textures.contains(id); }
// CCRendererClient implementation.
virtual const IntSize& deviceViewportSize() const OVERRIDE { return m_viewportSize; }
@@ -3852,7 +3922,7 @@ protected:
private:
CCLayerTreeSettings m_settings;
IntSize m_viewportSize;
- HashSet<int> m_textures;
+ HashSet<CCRenderPass::Id> m_textures;
};
static void configureRenderPassTestData(const char* testScript, RenderPassRemovalTestData& testData, CCTestRenderer* renderer)
@@ -3865,13 +3935,18 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
const char* currentChar = testScript;
// Pre-create root pass
- char rootRenderPassId = testScript[0];
+ CCRenderPass::Id rootRenderPassId = CCRenderPass::Id(testScript[0], testScript[1]);
OwnPtr<CCRenderPass> rootRenderPass = CCTestRenderPass::create(rootRenderPassId, IntRect(), WebTransformationMatrix());
- testData.renderPassCache.insert(std::pair<char, RenderPassCacheEntry>(rootRenderPassId, RenderPassCacheEntry(rootRenderPass.release())));
+ testData.renderPassCache.insert(std::pair<CCRenderPass::Id, RenderPassCacheEntry>(rootRenderPassId, RenderPassCacheEntry(rootRenderPass.release())));
while (*currentChar) {
- char renderPassId = currentChar[0];
+ int layerId = *currentChar;
+ currentChar++;
+ ASSERT_TRUE(currentChar);
+ int index = *currentChar;
currentChar++;
+ CCRenderPass::Id renderPassId = CCRenderPass::Id(layerId, index);
+
OwnPtr<CCRenderPass> renderPass;
bool isReplica = false;
@@ -3890,9 +3965,13 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
currentChar++;
} else if ((*currentChar >= 'A') && (*currentChar <= 'Z')) {
// RenderPass draw quad
- char newRenderPassId = *currentChar;
- ASSERT_NE(rootRenderPassId, newRenderPassId);
+ int layerId = *currentChar;
+ currentChar++;
+ ASSERT_TRUE(currentChar);
+ int index = *currentChar;
currentChar++;
+ CCRenderPass::Id newRenderPassId = CCRenderPass::Id(layerId, index);
+ ASSERT_NE(rootRenderPassId, newRenderPassId);
bool hasTexture = false;
bool contentsChanged = true;
@@ -3918,7 +3997,7 @@ static void configureRenderPassTestData(const char* testScript, RenderPassRemova
renderer->setHaveCachedResourcesForRenderPassId(newRenderPassId);
OwnPtr<CCRenderPass> renderPass = CCTestRenderPass::create(newRenderPassId, IntRect(), WebTransformationMatrix());
- testData.renderPassCache.insert(std::pair<char, RenderPassCacheEntry>(newRenderPassId, RenderPassCacheEntry(renderPass.release())));
+ testData.renderPassCache.insert(std::pair<CCRenderPass::Id, RenderPassCacheEntry>(newRenderPassId, RenderPassCacheEntry(renderPass.release())));
}
IntRect quadRect = IntRect(0, 0, 1, 1);
@@ -3939,7 +4018,9 @@ void dumpRenderPassTestData(const RenderPassRemovalTestData& testData, char* buf
char* pos = buffer;
for (CCRenderPassList::const_reverse_iterator it = testData.renderPasses.rbegin(); it != testData.renderPasses.rend(); ++it) {
const CCRenderPass* currentPass = *it;
- *pos = currentPass->id();
+ *pos = currentPass->id().layerId;
+ pos++;
+ *pos = currentPass->id().index;
pos++;
CCQuadList::const_iterator quadListIterator = currentPass->quadList().begin();
@@ -3951,7 +4032,9 @@ void dumpRenderPassTestData(const RenderPassRemovalTestData& testData, char* buf
pos++;
break;
case CCDrawQuad::RenderPass:
- *pos = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId();
+ *pos = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId().layerId;
+ pos++;
+ *pos = CCRenderPassDrawQuad::materialCast(currentQuad)->renderPassId().index;
pos++;
break;
default:
@@ -3995,115 +4078,115 @@ TestCase removeRenderPassesCases[] =
{
{
"Single root pass",
- "Rssss\n",
- "Rssss\n"
+ "R0ssss\n",
+ "R0ssss\n"
}, {
"Single pass - no quads",
- "R\n",
- "R\n"
+ "R0\n",
+ "R0\n"
}, {
"Two passes, no removal",
- "RssssAsss\n"
- "Assss\n",
- "RssssAsss\n"
- "Assss\n"
+ "R0ssssA0sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
+ "A0ssss\n"
}, {
"Two passes, remove last",
- "RssssA[ct]sss\n"
- "Assss\n",
- "RssssAsss\n"
+ "R0ssssA0[ct]sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
}, {
"Have texture but contents changed - leave pass",
- "RssssA[t]sss\n"
- "Assss\n",
- "RssssAsss\n"
- "Assss\n"
+ "R0ssssA0[t]sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
+ "A0ssss\n"
}, {
"Contents didn't change but no texture - leave pass",
- "RssssA[c]sss\n"
- "Assss\n",
- "RssssAsss\n"
- "Assss\n"
+ "R0ssssA0[c]sss\n"
+ "A0ssss\n",
+ "R0ssssA0sss\n"
+ "A0ssss\n"
}, {
"Replica: two quads reference the same pass; remove",
- "RssssA[ct]A[ct]sss\n"
- "Assss\n",
- "RssssAAsss\n"
+ "R0ssssA0[ct]A0[ct]sss\n"
+ "A0ssss\n",
+ "R0ssssA0A0sss\n"
}, {
"Replica: two quads reference the same pass; leave",
- "RssssA[c]A[c]sss\n"
- "Assss\n",
- "RssssAAsss\n"
- "Assss\n",
+ "R0ssssA0[c]A0[c]sss\n"
+ "A0ssss\n",
+ "R0ssssA0A0sss\n"
+ "A0ssss\n",
}, {
"Many passes, remove all",
- "RssssA[ct]sss\n"
- "AsssB[ct]C[ct]s\n"
- "BsssD[ct]ssE[ct]F[ct]\n"
- "Essssss\n"
- "CG[ct]\n"
- "Dsssssss\n"
- "Fsssssss\n"
- "Gsss\n",
-
- "RssssAsss\n"
+ "R0ssssA0[ct]sss\n"
+ "A0sssB0[ct]C0[ct]s\n"
+ "B0sssD0[ct]ssE0[ct]F0[ct]\n"
+ "E0ssssss\n"
+ "C0G0[ct]\n"
+ "D0sssssss\n"
+ "F0sssssss\n"
+ "G0sss\n",
+
+ "R0ssssA0sss\n"
}, {
"Deep recursion, remove all",
- "RsssssA[ct]ssss\n"
- "AssssBsss\n"
- "BC\n"
- "CD\n"
- "DE\n"
- "EF\n"
- "FG\n"
- "GH\n"
- "HsssIsss\n"
- "IJ\n"
- "Jssss\n",
+ "R0sssssA0[ct]ssss\n"
+ "A0ssssB0sss\n"
+ "B0C0\n"
+ "C0D0\n"
+ "D0E0\n"
+ "E0F0\n"
+ "F0G0\n"
+ "G0H0\n"
+ "H0sssI0sss\n"
+ "I0J0\n"
+ "J0ssss\n",
- "RsssssAssss\n"
+ "R0sssssA0ssss\n"
}, {
"Wide recursion, remove all",
- "RA[ct]B[ct]C[ct]D[ct]E[ct]F[ct]G[ct]H[ct]I[ct]J[ct]\n"
- "As\n"
- "Bs\n"
- "Cssss\n"
- "Dssss\n"
- "Es\n"
- "F\n"
- "Gs\n"
- "Hs\n"
- "Is\n"
- "Jssss\n",
+ "R0A0[ct]B0[ct]C0[ct]D0[ct]E0[ct]F0[ct]G0[ct]H0[ct]I0[ct]J0[ct]\n"
+ "A0s\n"
+ "B0s\n"
+ "C0ssss\n"
+ "D0ssss\n"
+ "E0s\n"
+ "F0\n"
+ "G0s\n"
+ "H0s\n"
+ "I0s\n"
+ "J0ssss\n",
- "RABCDEFGHIJ\n"
+ "R0A0B0C0D0E0F0G0H0I0J0\n"
}, {
"Remove passes regardless of cache state",
- "RssssA[ct]sss\n"
- "AsssBCs\n"
- "BsssD[c]ssE[t]F\n"
- "Essssss\n"
- "CG\n"
- "Dsssssss\n"
- "Fsssssss\n"
- "Gsss\n",
-
- "RssssAsss\n"
+ "R0ssssA0[ct]sss\n"
+ "A0sssB0C0s\n"
+ "B0sssD0[c]ssE0[t]F0\n"
+ "E0ssssss\n"
+ "C0G0\n"
+ "D0sssssss\n"
+ "F0sssssss\n"
+ "G0sss\n",
+
+ "R0ssssA0sss\n"
}, {
"Leave some passes, remove others",
- "RssssA[c]sss\n"
- "AsssB[t]C[ct]s\n"
- "BsssD[c]ss\n"
- "CG\n"
- "Dsssssss\n"
- "Gsss\n",
-
- "RssssAsss\n"
- "AsssBCs\n"
- "BsssDss\n"
- "Dsssssss\n"
+ "R0ssssA0[c]sss\n"
+ "A0sssB0[t]C0[ct]s\n"
+ "B0sssD0[c]ss\n"
+ "C0G0\n"
+ "D0sssssss\n"
+ "G0sss\n",
+
+ "R0ssssA0sss\n"
+ "A0sssB0C0s\n"
+ "B0sssD0ss\n"
+ "D0sssssss\n"
}, {
0, 0, 0
}
diff --git a/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp b/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
index c026bd4f5..9ce449504 100644
--- a/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
+++ b/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp
@@ -26,6 +26,7 @@
#include "CCLayerTreeHost.h"
+#include "CCGeometryTestUtils.h"
#include "CCGraphicsContext.h"
#include "CCLayerTreeHostImpl.h"
#include "CCOcclusionTrackerTestCommon.h"
@@ -35,23 +36,19 @@
#include "CCThreadedTest.h"
#include "CCTimingFunction.h"
#include "ContentLayerChromium.h"
+#include "ContentLayerChromiumClient.h"
+#include "Extensions3DChromium.h"
+#include "FakeWebCompositorOutputSurface.h"
#include <gmock/gmock.h>
-#include <gtest/gtest.h>
#include <public/Platform.h>
-#include <public/WebThread.h>
+#include <public/WebLayerScrollClient.h>
+#include <public/WebSize.h>
#include <wtf/MainThread.h>
#include <wtf/OwnArrayPtr.h>
using namespace WebCore;
using namespace WebKit;
using namespace WebKitTests;
-using namespace WTF;
-
-#define EXPECT_EQ_RECT(a, b) \
- EXPECT_EQ(a.x(), b.x()); \
- EXPECT_EQ(a.y(), b.y()); \
- EXPECT_EQ(a.width(), b.width()); \
- EXPECT_EQ(a.height(), b.height());
namespace {
@@ -518,6 +515,63 @@ TEST_F(CCLayerTreeHostTestAbortFrameWhenInvisible, runMultiThread)
runTest(true);
}
+// Makes sure that setNedsAnimate does not cause the commitRequested() state to be set.
+class CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested()
+ : m_numCommits(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ // The tests start up with a commit pending because we give them a root layer.
+ // We need to wait for the commit to happen before doing anything.
+ EXPECT_TRUE(m_layerTreeHost->commitRequested());
+ }
+
+ virtual void animate(double monotonicTime) OVERRIDE
+ {
+ // We skip the first commit becasue its the commit that populates the
+ // impl thread with a tree.
+ if (!m_numCommits)
+ return;
+
+ m_layerTreeHost->setNeedsAnimate();
+ // Right now, commitRequested is going to be true, because during
+ // beginFrame, we force commitRequested to true to prevent requests from
+ // hitting the impl thread. But, when the next didCommit happens, we should
+ // verify that commitRequested has gone back to false.
+ }
+ virtual void didCommit() OVERRIDE
+ {
+ if (!m_numCommits) {
+ EXPECT_FALSE(m_layerTreeHost->commitRequested());
+ m_layerTreeHost->setNeedsAnimate();
+ EXPECT_FALSE(m_layerTreeHost->commitRequested());
+ m_numCommits++;
+ }
+
+ // Verifies that the setNeedsAnimate we made in ::animate did not
+ // trigger commitRequested.
+ EXPECT_FALSE(m_layerTreeHost->commitRequested());
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ }
+
+private:
+ int m_numCommits;
+};
+
+TEST_F(CCLayerTreeHostTestSetNeedsAnimateShouldNotSetCommitRequested, runMultiThread)
+{
+ runTest(true);
+}
+
+
// Trigger a frame with setNeedsCommit. Then, inside the resulting animate
// callback, requet another frame using setNeedsAnimate. End the test when
@@ -536,7 +590,7 @@ public:
postSetNeedsAnimateToMainThread();
}
- virtual void updateAnimations(double) OVERRIDE
+ virtual void animate(double) OVERRIDE
{
if (!m_numAnimates) {
m_layerTreeHost->setNeedsAnimate();
@@ -912,7 +966,7 @@ private:
int m_scrolls;
};
-TEST_F(CCLayerTreeHostTestScrollSimple, DISABLED_runMultiThread)
+TEST_F(CCLayerTreeHostTestScrollSimple, runMultiThread)
{
runTest(true);
}
@@ -1133,7 +1187,7 @@ TEST_F(CCLayerTreeHostTestSetVisible, runMultiThread)
runTest(true);
}
-class TestOpacityChangeLayerDelegate : public ContentLayerDelegate {
+class TestOpacityChangeLayerDelegate : public ContentLayerChromiumClient {
public:
TestOpacityChangeLayerDelegate(CCLayerTreeHostTest* test)
: m_test(test)
@@ -1152,7 +1206,7 @@ private:
class ContentLayerChromiumWithUpdateTracking : public ContentLayerChromium {
public:
- static PassRefPtr<ContentLayerChromiumWithUpdateTracking> create(ContentLayerDelegate *delegate) { return adoptRef(new ContentLayerChromiumWithUpdateTracking(delegate)); }
+ static PassRefPtr<ContentLayerChromiumWithUpdateTracking> create(ContentLayerChromiumClient* client) { return adoptRef(new ContentLayerChromiumWithUpdateTracking(client)); }
int paintContentsCount() { return m_paintContentsCount; }
void resetPaintContentsCount() { m_paintContentsCount = 0; }
@@ -1164,8 +1218,8 @@ public:
}
private:
- explicit ContentLayerChromiumWithUpdateTracking(ContentLayerDelegate* delegate)
- : ContentLayerChromium(delegate)
+ explicit ContentLayerChromiumWithUpdateTracking(ContentLayerChromiumClient* client)
+ : ContentLayerChromium(client)
, m_paintContentsCount(0)
{
setAnchorPoint(FloatPoint(0, 0));
@@ -1217,7 +1271,7 @@ TEST_F(CCLayerTreeHostTestOpacityChange, runMultiThread)
runTest(true);
}
-class MockContentLayerDelegate : public ContentLayerDelegate {
+class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
public:
bool drawsContent() const { return true; }
MOCK_CONST_METHOD0(preserves3D, bool());
@@ -1225,12 +1279,23 @@ public:
void notifySyncRequired() { }
};
+class NoScaleContentLayerChromium : public ContentLayerChromium {
+public:
+ static PassRefPtr<NoScaleContentLayerChromium> create(ContentLayerChromiumClient* client) { return adoptRef(new NoScaleContentLayerChromium(client)); }
+
+ virtual bool needsContentsScale() const OVERRIDE { return false; }
+
+private:
+ explicit NoScaleContentLayerChromium(ContentLayerChromiumClient* client)
+ : ContentLayerChromium(client) { }
+};
+
class CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers : public CCLayerTreeHostTest {
public:
CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers()
- : m_rootLayer(ContentLayerChromium::create(&m_delegate))
- , m_childLayer(ContentLayerChromium::create(&m_delegate))
+ : m_rootLayer(NoScaleContentLayerChromium::create(&m_client))
+ , m_childLayer(ContentLayerChromium::create(&m_client))
{
}
@@ -1289,7 +1354,12 @@ public:
ASSERT_EQ(2u, root->renderSurface()->layerList().size());
// The root render surface is the size of the viewport.
- EXPECT_EQ_RECT(IntRect(0, 0, 60, 60), root->renderSurface()->contentRect());
+ EXPECT_RECT_EQ(IntRect(0, 0, 60, 60), root->renderSurface()->contentRect());
+
+ // The content bounds of the child should be scaled.
+ IntSize childBoundsScaled = child->bounds();
+ childBoundsScaled.scale(1.5);
+ EXPECT_EQ(childBoundsScaled, child->contentBounds());
WebTransformationMatrix scaleTransform;
scaleTransform.scale(impl->deviceScaleFactor());
@@ -1301,11 +1371,10 @@ public:
EXPECT_EQ(rootDrawTransform, root->drawTransform());
EXPECT_EQ(rootScreenSpaceTransform, root->screenSpaceTransform());
- // The child is at position 2,2, so translate by 2,2 before applying the scale by 2x.
- WebTransformationMatrix childScreenSpaceTransform = scaleTransform;
- childScreenSpaceTransform.translate(2, 2);
- WebTransformationMatrix childDrawTransform = scaleTransform;
- childDrawTransform.translate(2, 2);
+ // The child is at position 2,2, which is transformed to 3,3 after the scale
+ WebTransformationMatrix childScreenSpaceTransform;
+ childScreenSpaceTransform.translate(3, 3);
+ WebTransformationMatrix childDrawTransform = childScreenSpaceTransform;
EXPECT_EQ(childDrawTransform, child->drawTransform());
EXPECT_EQ(childScreenSpaceTransform, child->screenSpaceTransform());
@@ -1320,8 +1389,8 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
- RefPtr<ContentLayerChromium> m_rootLayer;
+ MockContentLayerChromiumClient m_client;
+ RefPtr<NoScaleContentLayerChromium> m_rootLayer;
RefPtr<ContentLayerChromium> m_childLayer;
};
@@ -1334,7 +1403,7 @@ TEST_F(CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers, runMultiThre
class CCLayerTreeHostTestAtomicCommit : public CCLayerTreeHostTest {
public:
CCLayerTreeHostTestAtomicCommit()
- : m_layer(ContentLayerChromiumWithUpdateTracking::create(&m_delegate))
+ : m_layer(ContentLayerChromiumWithUpdateTracking::create(&m_client))
{
// Make sure partial texture updates are turned off.
m_settings.maxPartialTextureUpdates = 0;
@@ -1408,7 +1477,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_layer;
};
@@ -1432,8 +1501,8 @@ static void setLayerPropertiesForTesting(LayerChromium* layer, LayerChromium* pa
class CCLayerTreeHostTestAtomicCommitWithPartialUpdate : public CCLayerTreeHostTest {
public:
CCLayerTreeHostTestAtomicCommitWithPartialUpdate()
- : m_parent(ContentLayerChromiumWithUpdateTracking::create(&m_delegate))
- , m_child(ContentLayerChromiumWithUpdateTracking::create(&m_delegate))
+ : m_parent(ContentLayerChromiumWithUpdateTracking::create(&m_client))
+ , m_child(ContentLayerChromiumWithUpdateTracking::create(&m_client))
, m_numCommits(0)
{
// Allow one partial texture update.
@@ -1555,7 +1624,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_parent;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_child;
int m_numCommits;
@@ -1629,11 +1698,11 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer is opaque, then it adds to the occlusion seen by the rootLayer.
@@ -1646,11 +1715,11 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 30, 170, 170), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 170, 170), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// Add a second child to the root layer and the regions should merge
@@ -1664,13 +1733,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 20, 170, 180), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 20, 170, 180), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(2u, rootLayer->occludedScreenSpace().rects().size());
// Move the second child to be sure.
@@ -1684,13 +1753,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 170, 170), child2->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 30, 190, 170), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 30, 190, 170), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(2u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer has a mask on it, then it shouldn't contribute to occlusion on stuff below it
@@ -1706,13 +1775,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer with a mask is below child2, then child2 should contribute to occlusion on everything, and child shouldn't contribute to the rootLayer
@@ -1728,13 +1797,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(1u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(2u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer has a non-opaque drawOpacity, then it shouldn't contribute to occlusion on stuff below it
@@ -1751,13 +1820,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer with non-opaque drawOpacity is below child2, then child2 should contribute to occlusion on everything, and child shouldn't contribute to the rootLayer
@@ -1774,13 +1843,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(1u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(2u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// Kill the layerTreeHost immediately.
@@ -1837,13 +1906,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(1u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 40, 190, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(2u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// If the child layer has a filter that moves pixels/changes alpha, and is below child2, then child should not inherit occlusion from outside its subtree,
@@ -1864,13 +1933,13 @@ public:
m_layerTreeHost->updateLayers(queue, std::numeric_limits<size_t>::max());
m_layerTreeHost->commitComplete();
- EXPECT_EQ_RECT(IntRect(), child2->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), child2->occludedScreenSpace().bounds());
EXPECT_EQ(0u, child2->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(), grandChild->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), grandChild->occludedScreenSpace().bounds());
EXPECT_EQ(0u, grandChild->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 170, 160), child->occludedScreenSpace().bounds());
EXPECT_EQ(1u, child->occludedScreenSpace().rects().size());
- EXPECT_EQ_RECT(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 70, 190, 130), rootLayer->occludedScreenSpace().bounds());
EXPECT_EQ(1u, rootLayer->occludedScreenSpace().rects().size());
// Kill the layerTreeHost immediately.
@@ -1929,7 +1998,7 @@ public:
for (int i = 0; i < numSurfaces-1; ++i) {
IntRect expectedOcclusion(i+1, i+1, 200-i-1, 200-i-1);
- EXPECT_EQ_RECT(expectedOcclusion, layers[i]->occludedScreenSpace().bounds());
+ EXPECT_RECT_EQ(expectedOcclusion, layers[i]->occludedScreenSpace().bounds());
EXPECT_EQ(1u, layers[i]->occludedScreenSpace().rects().size());
}
@@ -2160,7 +2229,7 @@ private:
SINGLE_AND_MULTI_THREAD_TEST_F(CCLayerTreeHostTestLayerAddedWithAnimation)
-class CCLayerTreeHostTestScrollChildLayer : public CCLayerTreeHostTest, public LayerChromiumScrollDelegate {
+class CCLayerTreeHostTestScrollChildLayer : public CCLayerTreeHostTest, public WebLayerScrollClient {
public:
CCLayerTreeHostTestScrollChildLayer()
: m_scrollAmount(2, 1)
@@ -2183,7 +2252,7 @@ public:
m_rootScrollLayer->setMaxScrollPosition(IntSize(100, 100));
m_layerTreeHost->rootLayer()->addChild(m_rootScrollLayer);
m_childLayer = ContentLayerChromium::create(&m_mockDelegate);
- m_childLayer->setLayerScrollDelegate(this);
+ m_childLayer->setLayerScrollClient(this);
m_childLayer->setBounds(IntSize(50, 50));
m_childLayer->setIsDrawable(true);
m_childLayer->setScrollable(true);
@@ -2196,9 +2265,9 @@ public:
postSetNeedsCommitToMainThread();
}
- virtual void didScroll(const IntSize& scrollDelta) OVERRIDE
+ virtual void didScroll() OVERRIDE
{
- m_reportedScrollAmount = scrollDelta;
+ m_finalScrollPosition = m_childLayer->scrollPosition();
}
virtual void applyScrollAndScale(const IntSize& scrollDelta, float) OVERRIDE
@@ -2228,13 +2297,13 @@ public:
virtual void afterTest() OVERRIDE
{
- EXPECT_EQ(m_scrollAmount, m_reportedScrollAmount);
+ EXPECT_EQ(IntPoint(m_scrollAmount), m_finalScrollPosition);
}
private:
const IntSize m_scrollAmount;
- IntSize m_reportedScrollAmount;
- MockContentLayerDelegate m_mockDelegate;
+ IntPoint m_finalScrollPosition;
+ MockContentLayerChromiumClient m_mockDelegate;
RefPtr<LayerChromium> m_childLayer;
RefPtr<LayerChromium> m_rootScrollLayer;
};
@@ -2300,8 +2369,8 @@ public:
virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* hostImpl) OVERRIDE
{
CCRenderer* renderer = hostImpl->renderer();
- unsigned surface1RenderPassId = hostImpl->rootLayer()->children()[0]->id();
- unsigned surface2RenderPassId = hostImpl->rootLayer()->children()[0]->children()[0]->id();
+ CCRenderPass::Id surface1RenderPassId = hostImpl->rootLayer()->children()[0]->renderSurface()->renderPassId();
+ CCRenderPass::Id surface2RenderPassId = hostImpl->rootLayer()->children()[0]->children()[0]->renderSurface()->renderPassId();
switch (hostImpl->sourceFrameNumber()) {
case 0:
@@ -2336,7 +2405,7 @@ public:
}
private:
- MockContentLayerDelegate m_mockDelegate;
+ MockContentLayerChromiumClient m_mockDelegate;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_rootLayer;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_surfaceLayer1;
RefPtr<ContentLayerChromiumWithUpdateTracking> m_replicaLayer1;
@@ -2408,11 +2477,13 @@ public:
return adoptPtr(new EvictionTestLayerImpl(id));
}
virtual ~EvictionTestLayerImpl() { }
- virtual void appendQuads(CCQuadSink&, bool& hadMissingTiles) OVERRIDE
+
+ virtual void appendQuads(CCQuadSink& quadSink, CCAppendQuadsData&) OVERRIDE
{
ASSERT_TRUE(m_hasTexture);
ASSERT_NE(0u, layerTreeHostImpl()->resourceProvider()->numResources());
}
+
void setHasTexture(bool hasTexture) { m_hasTexture = hasTexture; }
private:
@@ -2582,7 +2653,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<EvictionTestLayer> m_layer;
CCLayerTreeHostImpl* m_implForEvictTextures;
int m_numCommits;
@@ -2678,7 +2749,7 @@ public:
}
private:
- MockContentLayerDelegate m_delegate;
+ MockContentLayerChromiumClient m_client;
RefPtr<EvictionTestLayer> m_layer;
CCLayerTreeHostImpl* m_implForEvictTextures;
int m_numCommits;
@@ -2686,4 +2757,263 @@ private:
SINGLE_AND_MULTI_THREAD_TEST_F(CCLayerTreeHostTestLostContextAfterEvictTextures)
+class CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext : public WebKit::CompositorFakeWebGraphicsContext3D {
+public:
+ static PassOwnPtr<CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext> create(Attributes attrs)
+ {
+ return adoptPtr(new CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext(attrs));
+ }
+
+ virtual void setContextLostCallback(WebGraphicsContextLostCallback* callback) { m_contextLostCallback = callback; }
+ virtual bool isContextLost() { return m_isContextLost; }
+
+ virtual void beginQueryEXT(GC3Denum, WebGLId) { }
+ virtual void endQueryEXT(GC3Denum)
+ {
+ // Lose context.
+ if (!m_isContextLost) {
+ m_contextLostCallback->onContextLost();
+ m_isContextLost = true;
+ }
+ }
+ virtual void getQueryObjectuivEXT(WebGLId, GC3Denum pname, GC3Duint* params)
+ {
+ // Context is lost. Result will never be available.
+ if (pname == Extensions3DChromium::QUERY_RESULT_AVAILABLE_EXT)
+ *params = 0;
+ }
+
+private:
+ explicit CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext(Attributes attrs)
+ : CompositorFakeWebGraphicsContext3D(attrs)
+ , m_contextLostCallback(0)
+ , m_isContextLost(false) { }
+
+ WebGraphicsContextLostCallback* m_contextLostCallback;
+ bool m_isContextLost;
+};
+
+class CCLayerTreeHostTestLostContextWhileUpdatingResources : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestLostContextWhileUpdatingResources()
+ : m_parent(ContentLayerChromiumWithUpdateTracking::create(&m_client))
+ , m_numChildren(50)
+ {
+ for (int i = 0; i < m_numChildren; i++)
+ m_children.append(ContentLayerChromiumWithUpdateTracking::create(&m_client));
+ }
+
+ virtual PassOwnPtr<WebKit::WebCompositorOutputSurface> createOutputSurface()
+ {
+ return FakeWebCompositorOutputSurface::create(CompositorFakeWebGraphicsContext3DWithEndQueryCausingLostContext::create(WebGraphicsContext3D::Attributes()));
+ }
+
+ virtual void beginTest()
+ {
+ m_layerTreeHost->setRootLayer(m_parent);
+ m_layerTreeHost->setViewportSize(IntSize(m_numChildren, 1), IntSize(m_numChildren, 1));
+
+ WebTransformationMatrix identityMatrix;
+ setLayerPropertiesForTesting(m_parent.get(), 0, identityMatrix, FloatPoint(0, 0), FloatPoint(0, 0), IntSize(m_numChildren, 1), true);
+ for (int i = 0; i < m_numChildren; i++)
+ setLayerPropertiesForTesting(m_children[i].get(), m_parent.get(), identityMatrix, FloatPoint(0, 0), FloatPoint(i, 0), IntSize(1, 1), false);
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl* impl)
+ {
+ endTest();
+ }
+
+ virtual void layout()
+ {
+ m_parent->setNeedsDisplay();
+ for (int i = 0; i < m_numChildren; i++)
+ m_children[i]->setNeedsDisplay();
+ }
+
+ virtual void afterTest()
+ {
+ }
+
+private:
+ MockContentLayerChromiumClient m_client;
+ RefPtr<ContentLayerChromiumWithUpdateTracking> m_parent;
+ int m_numChildren;
+ Vector<RefPtr<ContentLayerChromiumWithUpdateTracking> > m_children;
+};
+
+TEST_F(CCLayerTreeHostTestLostContextWhileUpdatingResources, runMultiThread)
+{
+ runTest(true);
+}
+
+class CCLayerTreeHostTestContinuousCommit : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestContinuousCommit()
+ : m_numCommitComplete(0)
+ , m_numDrawLayers(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_layerTreeHost->setViewportSize(IntSize(10, 10), IntSize(10, 10));
+ m_layerTreeHost->rootLayer()->setBounds(IntSize(10, 10));
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didCommit() OVERRIDE
+ {
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl*) OVERRIDE
+ {
+ if (m_numDrawLayers == 1)
+ m_numCommitComplete++;
+ }
+
+ virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* impl) OVERRIDE
+ {
+ m_numDrawLayers++;
+ if (m_numDrawLayers == 2)
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ // Check that we didn't commit twice between first and second draw.
+ EXPECT_EQ(1, m_numCommitComplete);
+ }
+
+private:
+ int m_numCommitComplete;
+ int m_numDrawLayers;
+};
+
+TEST_F(CCLayerTreeHostTestContinuousCommit, runMultiThread)
+{
+ runTest(true);
+}
+
+class CCLayerTreeHostTestContinuousInvalidate : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestContinuousInvalidate()
+ : m_numCommitComplete(0)
+ , m_numDrawLayers(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_layerTreeHost->setViewportSize(IntSize(10, 10), IntSize(10, 10));
+ m_layerTreeHost->rootLayer()->setBounds(IntSize(10, 10));
+
+ m_contentLayer = ContentLayerChromium::create(&m_mockDelegate);
+ m_contentLayer->setBounds(IntSize(10, 10));
+ m_contentLayer->setPosition(FloatPoint(0, 0));
+ m_contentLayer->setAnchorPoint(FloatPoint(0, 0));
+ m_contentLayer->setIsDrawable(true);
+ m_layerTreeHost->rootLayer()->addChild(m_contentLayer);
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void didCommit() OVERRIDE
+ {
+ m_contentLayer->setNeedsDisplay();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl*) OVERRIDE
+ {
+ if (m_numDrawLayers == 1)
+ m_numCommitComplete++;
+ }
+
+ virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* impl) OVERRIDE
+ {
+ m_numDrawLayers++;
+ if (m_numDrawLayers == 2)
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ // Check that we didn't commit twice between first and second draw.
+ EXPECT_EQ(1, m_numCommitComplete);
+
+ // Clear layer references so CCLayerTreeHost dies.
+ m_contentLayer.clear();
+ }
+
+private:
+ MockContentLayerChromiumClient m_mockDelegate;
+ RefPtr<LayerChromium> m_contentLayer;
+ int m_numCommitComplete;
+ int m_numDrawLayers;
+};
+
+TEST_F(CCLayerTreeHostTestContinuousInvalidate, runMultiThread)
+{
+ runTest(true);
+}
+
+class CCLayerTreeHostTestContinuousAnimate : public CCLayerTreeHostTest {
+public:
+ CCLayerTreeHostTestContinuousAnimate()
+ : m_numCommitComplete(0)
+ , m_numDrawLayers(0)
+ {
+ }
+
+ virtual void beginTest() OVERRIDE
+ {
+ m_layerTreeHost->setViewportSize(IntSize(10, 10), IntSize(10, 10));
+ m_layerTreeHost->rootLayer()->setBounds(IntSize(10, 10));
+
+ postSetNeedsCommitToMainThread();
+ }
+
+ virtual void animate(double) OVERRIDE
+ {
+ m_layerTreeHost->setNeedsAnimate();
+ }
+
+ virtual void layout() OVERRIDE
+ {
+ m_layerTreeHost->rootLayer()->setNeedsDisplay();
+ }
+
+ virtual void commitCompleteOnCCThread(CCLayerTreeHostImpl*) OVERRIDE
+ {
+ if (m_numDrawLayers == 1)
+ m_numCommitComplete++;
+ }
+
+ virtual void drawLayersOnCCThread(CCLayerTreeHostImpl* impl) OVERRIDE
+ {
+ m_numDrawLayers++;
+ if (m_numDrawLayers == 2)
+ endTest();
+ }
+
+ virtual void afterTest() OVERRIDE
+ {
+ // Check that we didn't commit twice between first and second draw.
+ EXPECT_EQ(1, m_numCommitComplete);
+ }
+
+private:
+ int m_numCommitComplete;
+ int m_numDrawLayers;
+};
+
+TEST_F(CCLayerTreeHostTestContinuousAnimate, runMultiThread)
+{
+ runTest(true);
+}
+
} // namespace
diff --git a/Source/WebKit/chromium/tests/CCMathUtilTest.cpp b/Source/WebKit/chromium/tests/CCMathUtilTest.cpp
index 416e1b56d..553f7a647 100644
--- a/Source/WebKit/chromium/tests/CCMathUtilTest.cpp
+++ b/Source/WebKit/chromium/tests/CCMathUtilTest.cpp
@@ -26,7 +26,7 @@
#include "CCMathUtil.h"
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "FloatRect.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
diff --git a/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp b/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp
index 4e5f9dc88..560784ba3 100644
--- a/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCOcclusionTrackerTest.cpp
@@ -27,10 +27,10 @@
#include "CCOcclusionTracker.h"
#include "CCAnimationTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerAnimationController.h"
#include "CCLayerImpl.h"
#include "CCLayerTreeHostCommon.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCMathUtil.h"
#include "CCOcclusionTrackerTestCommon.h"
#include "CCOverdrawMetrics.h"
@@ -446,9 +446,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 30, 70, 70)));
@@ -466,14 +466,14 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
}
};
@@ -499,9 +499,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 30, 70, 70)));
@@ -519,14 +519,14 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 29, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(100, 30, 1, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(31, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(31, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 31, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(29, 31, 70, 70), occlusion.unoccludedContentRect(parent, IntRect(29, 31, 70, 70)));
}
};
@@ -550,9 +550,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(50, 50, 50, 50)));
@@ -570,25 +570,25 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(50, 50, 50, 50)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(51, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(100, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 50, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(51, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 51, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(50, 100, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 51, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(49, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(51, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(100, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 50, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(51, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(51, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(50, 100, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 51, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
occlusion.useDefaultLayerClipRect();
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(50, 50, 50, 50)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(51, 49, 49, 1), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 50, 1, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 50, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 49, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(49, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(50, 49, 50, 1), occlusion.unoccludedContentRect(parent, IntRect(50, 49, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(51, 49, 49, 1), occlusion.unoccludedContentRect(parent, IntRect(51, 49, 50, 50)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(51, 50, 50, 50)).isEmpty());
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(51, 51, 50, 50)).isEmpty());
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(50, 51, 50, 50)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(49, 51, 1, 49), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(49, 51, 1, 49), occlusion.unoccludedContentRect(parent, IntRect(49, 51, 50, 50)));
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
}
};
@@ -606,6 +606,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child = this->createLayer(parent, childTransform, FloatPoint(30, 30), IntSize(500, 500));
child->setMasksToBounds(true);
typename Types::ContentLayerType* layer = this->createDrawingLayer(child, this->identityMatrix, FloatPoint(10, 10), IntSize(500, 500), true);
@@ -617,17 +618,17 @@ protected:
this->visitLayer(layer, occlusion);
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 40, 70, 60)));
@@ -685,6 +686,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child = this->createLayer(parent, childTransform, FloatPoint(30, 30), IntSize(500, 500));
child->setMasksToBounds(true);
typename Types::ContentLayerType* layer = this->createDrawingLayer(child, this->identityMatrix, FloatPoint(10, 10), IntSize(500, 500), true);
@@ -698,36 +700,36 @@ protected:
this->visitLayer(child2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 60, 20), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(layer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// Occlusion in |child2| should get merged with the |child| surface we are leaving now.
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(30, 30, 70, 70)));
- EXPECT_INT_RECT_EQ(IntRect(90, 30, 10, 10), occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(90, 30, 10, 10), occlusion.unoccludedContentRect(parent, IntRect(30, 30, 70, 70)));
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 30, 60, 10)));
EXPECT_FALSE(occlusion.occluded(parent, IntRect(29, 30, 60, 10)));
@@ -740,21 +742,21 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(30, 39, 70, 60)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 30, 60, 10)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 60, 10)));
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 60, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 60, 10)));
- EXPECT_INT_RECT_EQ(IntRect(90, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 60, 10)));
+ EXPECT_RECT_EQ(IntRect(29, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(29, 30, 60, 10)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 60, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 60, 10)));
+ EXPECT_RECT_EQ(IntRect(90, 30, 1, 10), occlusion.unoccludedContentRect(parent, IntRect(31, 30, 60, 10)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 31, 60, 10)).isEmpty());
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 40, 70, 60)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
// This rect is mostly occluded by |child2|.
- EXPECT_INT_RECT_EQ(IntRect(90, 39, 10, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(90, 39, 10, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
// This rect extends past top/right ends of |child2|.
- EXPECT_INT_RECT_EQ(IntRect(30, 29, 70, 11), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
+ EXPECT_RECT_EQ(IntRect(30, 29, 70, 11), occlusion.unoccludedContentRect(parent, IntRect(30, 29, 70, 70)));
// This rect extends past left/right ends of |child2|.
- EXPECT_INT_RECT_EQ(IntRect(20, 39, 80, 60), occlusion.unoccludedContentRect(parent, IntRect(20, 39, 80, 60)));
- EXPECT_INT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(20, 39, 80, 60), occlusion.unoccludedContentRect(parent, IntRect(20, 39, 80, 60)));
+ EXPECT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
/* Justification for the above occlusion from |layer|:
100
@@ -812,9 +814,9 @@ protected:
this->visitLayer(layer, occlusion);
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(0u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(clippedLayerInChild, occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(clippedLayerInChild, occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child, clippedLayerInChild));
@@ -839,13 +841,13 @@ protected:
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(0u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(75, 55, 1, 1)));
- EXPECT_INT_RECT_EQ(IntRect(75, 55, 1, 1), occlusion.unoccludedContentRect(parent, IntRect(75, 55, 1, 1)));
+ EXPECT_RECT_EQ(IntRect(75, 55, 1, 1), occlusion.unoccludedContentRect(parent, IntRect(75, 55, 1, 1)));
}
};
@@ -862,6 +864,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child = this->createLayer(parent, childTransform, FloatPoint(30, 30), IntSize(500, 500));
child->setMasksToBounds(true);
typename Types::ContentLayerType* layer1 = this->createDrawingLayer(child, this->identityMatrix, FloatPoint(10, 10), IntSize(500, 500), true);
@@ -875,9 +878,9 @@ protected:
this->visitLayer(layer1, occlusion);
this->enterContributingSurface(child, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 430, 60, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child, IntRect(10, 430, 60, 70)));
@@ -887,17 +890,17 @@ protected:
EXPECT_FALSE(occlusion.occluded(child, IntRect(10, 431, 60, 70)));
EXPECT_TRUE(occlusion.unoccludedContentRect(child, IntRect(10, 430, 60, 70)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(9, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(9, 430, 60, 70)));
- EXPECT_INT_RECT_EQ(IntRect(10, 429, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 429, 60, 70)));
- EXPECT_INT_RECT_EQ(IntRect(70, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(11, 430, 60, 70)));
- EXPECT_INT_RECT_EQ(IntRect(10, 500, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 431, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(9, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(9, 430, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(10, 429, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 429, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(70, 430, 1, 70), occlusion.unoccludedContentRect(child, IntRect(11, 430, 60, 70)));
+ EXPECT_RECT_EQ(IntRect(10, 500, 60, 1), occlusion.unoccludedContentRect(child, IntRect(10, 431, 60, 70)));
this->leaveContributingSurface(child, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 40, 70, 60), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(30, 40, 70, 60)));
@@ -905,10 +908,10 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(30, 39, 70, 60)));
EXPECT_TRUE(occlusion.unoccludedContentRect(parent, IntRect(30, 40, 70, 60)).isEmpty());
- EXPECT_INT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(30, 39, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
- EXPECT_INT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(29, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(29, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(30, 39, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 39, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(100, 40, 1, 60), occlusion.unoccludedContentRect(parent, IntRect(31, 40, 70, 60)));
+ EXPECT_RECT_EQ(IntRect(30, 100, 70, 1), occlusion.unoccludedContentRect(parent, IntRect(30, 41, 70, 60)));
/* Justification for the above occlusion from |layer1| and |layer2|:
@@ -950,6 +953,7 @@ protected:
childTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child1 = this->createSurface(parent, childTransform, FloatPoint(30, 30), IntSize(10, 10));
typename Types::LayerType* child2 = this->createSurface(parent, childTransform, FloatPoint(20, 40), IntSize(10, 10));
typename Types::ContentLayerType* layer1 = this->createDrawingLayer(child1, this->identityMatrix, FloatPoint(-10, -10), IntSize(510, 510), true);
@@ -962,9 +966,9 @@ protected:
this->visitLayer(layer2, occlusion);
this->enterContributingSurface(child2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child2, IntRect(-10, 420, 70, 80)));
@@ -982,15 +986,15 @@ protected:
occlusion.setLayerClipRect(IntRect(-20, -20, 1000, 1000));
// There is nothing above child2's surface in the z-order.
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
this->leaveContributingSurface(child2, occlusion);
this->visitLayer(layer1, occlusion);
this->enterContributingSurface(child1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(-10, 430, 80, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(-10, 430, 80, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child1, IntRect(-10, 430, 80, 70)));
@@ -1000,14 +1004,14 @@ protected:
EXPECT_FALSE(occlusion.occluded(child1, IntRect(-10, 430, 80, 71)));
// child2's contents will occlude child1 below it.
- EXPECT_INT_RECT_EQ(IntRect(-10, 430, 10, 70), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(-10, 430, 80, 70)));
+ EXPECT_RECT_EQ(IntRect(-10, 430, 10, 70), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(-10, 430, 80, 70)));
this->leaveContributingSurface(child1, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 20, 80, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(20, 20, 80, 80)));
@@ -1064,6 +1068,7 @@ protected:
child2Transform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::LayerType* child1 = this->createSurface(parent, child1Transform, FloatPoint(30, 20), IntSize(10, 10));
typename Types::LayerType* child2 = this->createDrawingSurface(parent, child2Transform, FloatPoint(20, 40), IntSize(10, 10), false);
typename Types::ContentLayerType* layer1 = this->createDrawingLayer(child1, this->identityMatrix, FloatPoint(-10, -20), IntSize(510, 510), true);
@@ -1076,9 +1081,9 @@ protected:
this->visitLayer(layer2, occlusion);
this->enterLayer(child2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(20, 30, 80, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child2, IntRect(-10, 420, 70, 80)));
@@ -1091,15 +1096,15 @@ protected:
this->enterContributingSurface(child2, occlusion);
// There is nothing above child2's surface in the z-order.
- EXPECT_INT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
+ EXPECT_RECT_EQ(IntRect(-10, 420, 70, 80), occlusion.unoccludedContributingSurfaceContentRect(child2, false, IntRect(-10, 420, 70, 80)));
this->leaveContributingSurface(child2, occlusion);
this->visitLayer(layer1, occlusion);
this->enterContributingSurface(child1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(child1, IntRect(420, -20, 80, 90)));
@@ -1109,16 +1114,16 @@ protected:
EXPECT_FALSE(occlusion.occluded(child1, IntRect(421, -20, 80, 90)));
// child2's contents will occlude child1 below it.
- EXPECT_INT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 80, 90)));
- EXPECT_INT_RECT_EQ(IntRect(490, -10, 10, 80), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -10, 80, 90)));
- EXPECT_INT_RECT_EQ(IntRect(420, -20, 70, 10), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 70, 90)));
+ EXPECT_RECT_EQ(IntRect(420, -20, 80, 90), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 80, 90)));
+ EXPECT_RECT_EQ(IntRect(490, -10, 10, 80), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -10, 80, 90)));
+ EXPECT_RECT_EQ(IntRect(420, -20, 70, 10), occlusion.unoccludedContributingSurfaceContentRect(child1, false, IntRect(420, -20, 70, 90)));
this->leaveContributingSurface(child1, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(10, 20, 90, 80), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
EXPECT_TRUE(occlusion.occluded(parent, IntRect(10, 20, 90, 80)));
@@ -1166,6 +1171,7 @@ protected:
layerTransform.translate(-250, -250);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::ContentLayerType* blurLayer = this->createDrawingLayer(parent, layerTransform, FloatPoint(30, 30), IntSize(500, 500), true);
typename Types::ContentLayerType* opaqueLayer = this->createDrawingLayer(parent, layerTransform, FloatPoint(30, 30), IntSize(500, 500), true);
typename Types::ContentLayerType* opacityLayer = this->createDrawingLayer(parent, layerTransform, FloatPoint(30, 30), IntSize(500, 500), true);
@@ -1203,16 +1209,16 @@ protected:
this->visitLayer(opaqueLayer, occlusion);
this->enterContributingSurface(opaqueLayer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 430, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 430, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// And it gets translated to the parent surface.
this->leaveContributingSurface(opaqueLayer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// The blur layer needs to throw away any occlusion from outside its subtree.
@@ -1229,9 +1235,9 @@ protected:
// But the opaque layer's occlusion is preserved on the parent.
this->leaveContributingSurface(blurLayer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(30, 30, 70, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1253,16 +1259,16 @@ protected:
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitContributingSurface(surface, occlusion);
this->enterLayer(parent, occlusion);
// The surface and replica should both be occluding the parent.
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1275,6 +1281,7 @@ protected:
void runMyTest()
{
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 170));
+ parent->setMasksToBounds(true);
typename Types::LayerType* surface = this->createDrawingSurface(parent, this->identityMatrix, FloatPoint(0, 100), IntSize(50, 50), true);
this->createReplicaLayer(surface, this->identityMatrix, FloatPoint(50, 50), IntSize());
this->calcDrawEtc(parent);
@@ -1284,16 +1291,16 @@ protected:
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitContributingSurface(surface, occlusion);
this->enterLayer(parent, occlusion);
// The surface and replica should both be occluding the parent.
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 70), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 70), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1316,16 +1323,16 @@ protected:
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitContributingSurface(surface, occlusion);
this->enterLayer(parent, occlusion);
// The replica should not be occluding the parent, since it has a mask applied to it.
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -1370,7 +1377,7 @@ protected:
EXPECT_TRUE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_TRUE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -1414,7 +1421,7 @@ protected:
EXPECT_TRUE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_TRUE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 100, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -1531,11 +1538,11 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_FALSE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
- EXPECT_INT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
}
};
@@ -1574,11 +1581,11 @@ protected:
EXPECT_FALSE(occlusion.occluded(parent, IntRect(100, 200, 100, 100)));
EXPECT_FALSE(occlusion.occluded(parent, IntRect(200, 200, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
- EXPECT_INT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
- EXPECT_INT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 50, 50, 50), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(0, 100, 300, 100)));
+ EXPECT_RECT_EQ(IntRect(200, 100, 50, 100), occlusion.unoccludedContentRect(parent, IntRect(200, 100, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(100, 200, 100, 50), occlusion.unoccludedContentRect(parent, IntRect(100, 200, 100, 100)));
}
};
@@ -1747,7 +1754,7 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(100, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(0, 100, 100, 100)));
@@ -1763,7 +1770,7 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(120, 120, 180, 180), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(120, 120, 180, 180), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(0, 100, 100, 100)));
@@ -1779,7 +1786,7 @@ protected:
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(250, 250, 50, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(250, 250, 50, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
EXPECT_FALSE(occlusion.occluded(parent, IntRect(0, 100, 100, 100)));
@@ -1808,7 +1815,7 @@ protected:
this->enterLayer(layer, occlusion);
// The layer is rotated in 3d but without preserving 3d, so it only gets resized.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
}
};
@@ -1873,7 +1880,7 @@ protected:
TestCCOcclusionTrackerWithClip<typename Types::LayerType, typename Types::RenderSurfaceType> occlusion(IntRect(0, 0, 1000, 1000));
this->enterLayer(layer, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 200, 200), occlusion.unoccludedContentRect(layer, IntRect(0, 0, 200, 200)));
}
};
@@ -1955,6 +1962,7 @@ protected:
transform.translate(-50, -50);
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100));
+ parent->setMasksToBounds(true);
typename Types::ContentLayerType* layer = this->createDrawingLayer(parent, transform, FloatPoint(0, 0), IntSize(100, 100), true);
parent->setPreserves3D(true);
layer->setPreserves3D(true);
@@ -1966,9 +1974,9 @@ protected:
// Ensure that those pixels don't occlude things outside the clipRect.
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
}
};
@@ -2002,27 +2010,27 @@ protected:
this->visitLayer(topmost, occlusion);
this->enterLayer(parent2, occlusion);
// This occlusion will affect all surfaces.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent2, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent2, IntRect(0, 0, 300, 300)));
this->leaveLayer(parent2, occlusion);
this->visitLayer(surfaceChild2, occlusion);
this->enterLayer(surfaceChild, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
this->leaveLayer(surfaceChild, occlusion);
this->enterLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->leaveLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// Occlusion within the surface is lost when leaving the animating surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
this->leaveContributingSurface(surface, occlusion);
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
// Occlusion is not added for the animating |layer|.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -2054,27 +2062,27 @@ protected:
this->visitLayer(topmost, occlusion);
this->enterLayer(parent2, occlusion);
// This occlusion will affect all surfaces.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
this->leaveLayer(parent2, occlusion);
this->visitLayer(surfaceChild2, occlusion);
this->enterLayer(surfaceChild, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 300, 300)));
this->leaveLayer(surfaceChild, occlusion);
this->enterLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(200, 0, 50, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->leaveLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// Occlusion within the surface is lost when leaving the animating surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
this->leaveContributingSurface(surface, occlusion);
this->visitLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
// Occlusion is not added for the animating |layer|.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -2112,7 +2120,7 @@ protected:
this->visitLayer(surface2, occlusion);
this->enterContributingSurface(surface2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
this->leaveContributingSurface(surface2, occlusion);
@@ -2120,53 +2128,53 @@ protected:
// surfaceChild2 is moving in screen space but not relative to its target, so occlusion should happen in its target space only.
// It also means that things occluding in screen space (e.g. surface2) cannot occlude this layer.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild2, IntRect(0, 0, 100, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.unoccludedContentRect(surfaceChild2, IntRect(0, 0, 100, 300)));
EXPECT_FALSE(occlusion.occluded(surfaceChild, IntRect(0, 0, 50, 300)));
this->leaveLayer(surfaceChild2, occlusion);
this->enterLayer(surfaceChild, occlusion);
EXPECT_FALSE(occlusion.occluded(surfaceChild, IntRect(0, 0, 100, 300)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
// The surfaceChild is occluded by the surfaceChild2, but is moving relative its target and the screen, so it
// can't be occluded.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 200, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 200, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 200, 300), occlusion.unoccludedContentRect(surfaceChild, IntRect(0, 0, 200, 300)));
EXPECT_FALSE(occlusion.occluded(surfaceChild, IntRect(0, 0, 50, 300)));
this->leaveLayer(surfaceChild, occlusion);
this->enterLayer(surface, occlusion);
// The surfaceChild is moving in screen space but not relative to its target, so occlusion should happen in its target space only.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 300), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(100, 0, 200, 300), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->leaveLayer(surface, occlusion);
// The surface's owning layer is moving in screen space but not relative to its target, so occlusion should happen in its target space only.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 300), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContentRect(surface, IntRect(0, 0, 300, 300)));
this->enterContributingSurface(surface, occlusion);
// The contributing |surface| is animating so it can't be occluded.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 300), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 300, 300)));
this->leaveContributingSurface(surface, occlusion);
this->enterLayer(layer, occlusion);
// The |surface| is moving in the screen and in its target, so all occlusion within the surface is lost when leaving it.
- EXPECT_INT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
this->leaveLayer(layer, occlusion);
this->enterLayer(parent, occlusion);
// The |layer| is animating in the screen and in its target, so no occlusion is added.
- EXPECT_INT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
+ EXPECT_RECT_EQ(IntRect(50, 0, 250, 300), occlusion.unoccludedContentRect(parent, IntRect(0, 0, 300, 300)));
}
};
@@ -2194,9 +2202,9 @@ protected:
this->visitLayer(surface2, occlusion);
this->visitContributingSurface(surface2, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(50, 50, 200, 200), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// Clear any stored occlusion.
@@ -2206,9 +2214,9 @@ protected:
this->visitLayer(surface, occlusion);
this->visitContributingSurface(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 400, 400), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -2221,6 +2229,7 @@ protected:
void runMyTest()
{
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(300, 300));
+ parent->setMasksToBounds(true);
typename Types::ContentLayerType* surface = this->createDrawingSurface(parent, this->identityMatrix, FloatPoint(0, 0), IntSize(500, 300), false);
surface->setOpaqueContentsRect(IntRect(0, 0, 400, 200));
this->calcDrawEtc(parent);
@@ -2230,9 +2239,9 @@ protected:
this->visitLayer(surface, occlusion);
this->visitContributingSurface(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 200), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -2256,22 +2265,22 @@ protected:
// |topmost| occludes the replica, but not the surface itself.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 100, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(surface, occlusion);
// Surface is not occluded so it shouldn't think it is.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
}
};
@@ -2294,23 +2303,23 @@ protected:
// |topmost| occludes the surface, but not the entire surface's replica.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 110), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(surface, occlusion);
// Surface is occluded, but only the top 10px of the replica.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 10, 100, 90), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 10, 100, 90), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
}
};
@@ -2335,23 +2344,23 @@ protected:
this->visitLayer(overReplica, occlusion);
this->visitLayer(overSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 200), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->enterContributingSurface(surface, occlusion);
// Surface and replica are occluded different amounts.
- EXPECT_INT_RECT_EQ(IntRect(40, 0, 60, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(50, 0, 50, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(40, 0, 60, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(50, 0, 50, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, true, IntRect(0, 0, 100, 100)));
}
};
@@ -2375,18 +2384,18 @@ protected:
// |topmost| occludes everything partially so we know occlusion is happening at all.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(surfaceChild, occlusion);
// surfaceChild increases the occlusion in the screen by a narrow sliver.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
// In its own surface, surfaceChild is at 0,0 as is its occlusion.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// The root layer always has a clipRect. So the parent of |surface| has a clipRect. However, the owning layer for |surface| does not
@@ -2396,20 +2405,20 @@ protected:
this->enterContributingSurface(surfaceChild, occlusion);
// The surfaceChild's parent does not have a clipRect as it owns a render surface. Make sure the unoccluded rect
// does not get clipped away inappropriately.
- EXPECT_INT_RECT_EQ(IntRect(0, 40, 100, 10), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 40, 100, 10), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 50)));
this->leaveContributingSurface(surfaceChild, occlusion);
// When the surfaceChild's occlusion is transformed up to its parent, make sure it is not clipped away inappropriately also.
this->enterLayer(surface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 60), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 10, 100, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 10, 100, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->leaveLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// The surface's parent does have a clipRect as it is the root layer.
- EXPECT_INT_RECT_EQ(IntRect(0, 50, 100, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 50, 100, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
}
};
@@ -2435,7 +2444,7 @@ protected:
// The root layer always has a clipRect. So the parent of |surface| has a clipRect giving the surface itself a clipRect.
this->enterContributingSurface(surface, occlusion);
// Make sure the parent's clipRect clips the unoccluded region of the child surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 200), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
}
this->resetLayerIterator();
{
@@ -2447,7 +2456,7 @@ protected:
// The root layer always has a clipRect. So the parent of |surface| has a clipRect giving the surface itself a clipRect.
this->enterContributingSurface(surface, occlusion);
// Make sure the viewport rect clips the unoccluded region of the child surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 100), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 300)));
}
}
};
@@ -2462,6 +2471,7 @@ protected:
// This test verifies that the surface cliprect does not end up empty and clip away the entire unoccluded rect.
typename Types::ContentLayerType* parent = this->createRoot(this->identityMatrix, FloatPoint(0, 0), IntSize(80, 200));
+ parent->setMasksToBounds(true);
typename Types::LayerType* surface = this->createDrawingSurface(parent, this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100), true);
typename Types::LayerType* surfaceChild = this->createDrawingSurface(surface, this->identityMatrix, FloatPoint(0, 0), IntSize(100, 100), false);
typename Types::LayerType* topmost = this->createDrawingLayer(parent, this->identityMatrix, FloatPoint(0, 0), IntSize(100, 50), true);
@@ -2473,17 +2483,17 @@ protected:
// |topmost| occludes everything partially so we know occlusion is happening at all.
this->visitLayer(topmost, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
// surfaceChild is not opaque and does not occlude, so we have a non-empty unoccluded area on surface.
this->visitLayer(surfaceChild, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 80, 50), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The root layer always has a clipRect. So the parent of |surface| has a clipRect. However, the owning layer for |surface| does not
@@ -2492,13 +2502,13 @@ protected:
this->enterContributingSurface(surfaceChild, occlusion);
// The surfaceChild's parent does not have a clipRect as it owns a render surface.
- EXPECT_INT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surfaceChild, false, IntRect(0, 0, 100, 100)));
this->leaveContributingSurface(surfaceChild, occlusion);
this->visitLayer(surface, occlusion);
this->enterContributingSurface(surface, occlusion);
// The surface's parent does have a clipRect as it is the root layer.
- EXPECT_INT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 50, 80, 50), occlusion.unoccludedContributingSurfaceContentRect(surface, false, IntRect(0, 0, 100, 100)));
}
};
@@ -2546,28 +2556,28 @@ protected:
this->visitLayer(occludingLayer2, occlusion);
this->visitLayer(occludingLayer1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(5u, occlusion.occlusionInTargetSurface().rects().size());
// Everything outside the surface/replica is occluded but the surface/replica itself is not.
this->enterLayer(filteredSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 100, 100)));
-
- EXPECT_INT_RECT_EQ(IntRect(300 + 1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(300 + 0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, 1, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(300 + 0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 - 1, 0, 100, 100)));
- EXPECT_INT_RECT_EQ(IntRect(300 + 0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, -1, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 100, 100)));
+
+ EXPECT_RECT_EQ(IntRect(300 + 1, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(300 + 0, 1, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, 1, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(300 + 0, 0, 99, 100), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 - 1, 0, 100, 100)));
+ EXPECT_RECT_EQ(IntRect(300 + 0, 0, 100, 99), occlusion.unoccludedContentRect(filteredSurface, IntRect(300 + 0, -1, 100, 100)));
this->leaveLayer(filteredSurface, occlusion);
// The filtered layer/replica does not occlude.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The surface has a background blur, so it needs pixels that are currently considered occluded in order to be drawn. So the pixels
@@ -2575,9 +2585,9 @@ protected:
this->visitContributingSurface(filteredSurface, occlusion);
this->enterLayer(parent, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(5u, occlusion.occlusionInTargetSurface().rects().size());
IntRect outsetRect;
@@ -2586,44 +2596,44 @@ protected:
// Nothing in the blur outsets for the filteredSurface is occluded.
outsetRect = IntRect(50 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
// Stuff outside the blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
// Nothing in the blur outsets for the filteredSurface's replica is occluded.
outsetRect = IntRect(200 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
// Stuff outside the blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
+ EXPECT_RECT_EQ(outsetRect, occlusion.unoccludedContentRect(parent, testRect));
}
};
@@ -2661,9 +2671,9 @@ protected:
occlusion.setLayerClipRect(IntRect(0, 0, 1000, 1000));
this->visitLayer(occludingLayerAbove, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(100 / 2, 100 / 2, 50 / 2, 50 / 2), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(100 / 2, 100 / 2, 50 / 2, 50 / 2), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(100, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(100, 100, 50, 50), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
this->visitLayer(filteredSurface2, occlusion);
@@ -2676,7 +2686,7 @@ protected:
// Test expectations in the target.
IntRect expectedOcclusion = IntRect(100 + outsetRight * 2, 100 + outsetBottom * 2, 50 - (outsetLeft + outsetRight) * 2, 50 - (outsetTop + outsetBottom) * 2);
- EXPECT_INT_RECT_EQ(expectedOcclusion, occlusion.occlusionInTargetSurface().rects()[0]);
+ EXPECT_RECT_EQ(expectedOcclusion, occlusion.occlusionInTargetSurface().rects()[0]);
// Test expectations in the screen. Take the ceiling of half of the outsets.
outsetTop = (outsetTop + 1) / 2;
@@ -2685,7 +2695,7 @@ protected:
outsetLeft = (outsetLeft + 1) / 2;
expectedOcclusion = IntRect(100 / 2 + outsetRight * 2, 100 / 2 + outsetBottom * 2, 50 / 2 - (outsetLeft + outsetRight) * 2, 50 /2 - (outsetTop + outsetBottom) * 2);
- EXPECT_INT_RECT_EQ(expectedOcclusion, occlusion.occlusionInScreenSpace().rects()[0]);
+ EXPECT_RECT_EQ(expectedOcclusion, occlusion.occlusionInScreenSpace().rects()[0]);
}
};
@@ -2732,28 +2742,28 @@ protected:
this->visitLayer(occludingLayer2, occlusion);
this->visitLayer(occludingLayer1, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(5u, occlusion.occlusionInTargetSurface().rects().size());
// Everything outside the surface/replica is occluded but the surface/replica itself is not.
this->enterLayer(filteredSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 50, 50)));
-
- EXPECT_INT_RECT_EQ(IntRect(150 + 1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(150 + 0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, 1, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(150 + 0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 - 1, 0, 50, 50)));
- EXPECT_INT_RECT_EQ(IntRect(150 + 0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, -1, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, 1, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(-1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(0, -1, 50, 50)));
+
+ EXPECT_RECT_EQ(IntRect(150 + 1, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(150 + 0, 1, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, 1, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(150 + 0, 0, 49, 50), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 - 1, 0, 50, 50)));
+ EXPECT_RECT_EQ(IntRect(150 + 0, 0, 50, 49), occlusion.unoccludedContentRect(filteredSurface, IntRect(150 + 0, -1, 50, 50)));
this->leaveLayer(filteredSurface, occlusion);
// The filtered layer/replica does not occlude.
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 0, 0), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The surface has a background blur, so it needs pixels that are currently considered occluded in order to be drawn. So the pixels
@@ -2761,7 +2771,7 @@ protected:
this->visitContributingSurface(filteredSurface, occlusion);
this->enterContributingSurface(clippingSurface, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(0, 0, 300, 150), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(5u, occlusion.occlusionInScreenSpace().rects().size());
IntRect outsetRect;
@@ -2772,45 +2782,45 @@ protected:
outsetRect = IntRect(50 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
clippedOutsetRect = intersection(outsetRect, IntRect(0 - outsetLeft, 0 - outsetTop, 300 + outsetLeft + outsetRight, 70 + outsetTop + outsetBottom));
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
// Stuff outside the (clipped) blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
// Nothing in the (clipped) blur outsets for the filteredSurface's replica is occluded.
outsetRect = IntRect(200 - outsetLeft, 50 - outsetTop, 50 + outsetLeft + outsetRight, 50 + outsetTop + outsetBottom);
clippedOutsetRect = intersection(outsetRect, IntRect(0 - outsetLeft, 0 - outsetTop, 300 + outsetLeft + outsetRight, 70 + outsetTop + outsetBottom));
testRect = outsetRect;
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
// Stuff outside the (clipped) blur outsets is still occluded though.
testRect = outsetRect;
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(-1, 0);
testRect.expand(1, 0);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
testRect = outsetRect;
testRect.move(0, -1);
testRect.expand(0, 1);
- EXPECT_INT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
+ EXPECT_RECT_EQ(clippedOutsetRect, occlusion.unoccludedContentRect(clippingSurface, testRect));
}
};
@@ -2856,9 +2866,9 @@ protected:
IntRect occlusionBehindReplica = IntRect(210, 60, 30, 30);
IntRect expectedOpaqueBounds = unionRect(occlusionBehindSurface, occlusionBehindReplica);
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -2904,9 +2914,9 @@ protected:
IntRect occlusionAboveReplica = IntRect(200, 50, 50, 50);
IntRect expectedOpaqueBounds = unionRect(occlusionAboveSurface, occlusionAboveReplica);
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(2u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(expectedOpaqueBounds, occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(2u, occlusion.occlusionInTargetSurface().rects().size());
}
};
@@ -3005,17 +3015,17 @@ protected:
// The small layer is not tracked because it is too small.
this->visitLayer(small, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(0u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(0u, occlusion.occlusionInTargetSurface().rects().size());
// The large layer is tracked as it is large enough.
this->visitLayer(large, occlusion);
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInScreenSpace().bounds());
+ EXPECT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInScreenSpace().bounds());
EXPECT_EQ(1u, occlusion.occlusionInScreenSpace().rects().size());
- EXPECT_INT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInTargetSurface().bounds());
+ EXPECT_RECT_EQ(IntRect(IntPoint(), trackingSize), occlusion.occlusionInTargetSurface().bounds());
EXPECT_EQ(1u, occlusion.occlusionInTargetSurface().rects().size());
}
};
diff --git a/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp b/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp
index 4bcaccdc3..9076d34d4 100644
--- a/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp
+++ b/Source/WebKit/chromium/tests/CCPrioritizedTextureTest.cpp
@@ -31,6 +31,7 @@
#include "CCTexture.h"
#include "CCTiledLayerTestCommon.h"
#include "FakeCCGraphicsContext.h"
+#include "WebCompositorInitializer.h"
#include <gtest/gtest.h>
using namespace WebCore;
@@ -44,6 +45,7 @@ public:
CCPrioritizedTextureTest()
: m_textureSize(256, 256)
, m_textureFormat(GraphicsContext3D::RGBA)
+ , m_compositorInitializer(0)
, m_context(WebKit::createFakeCCGraphicsContext())
{
DebugScopedSetImplThread implThread;
@@ -68,12 +70,12 @@ public:
bool validateTexture(OwnPtr<CCPrioritizedTexture>& texture, bool requestLate)
{
- DebugScopedSetImplThread implThread;
#if !ASSERT_DISABLED
texture->textureManager()->assertInvariants();
#endif
if (requestLate)
texture->requestLate();
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
bool success = texture->canAcquireBackingTexture();
if (success)
texture->acquireBackingTexture(resourceProvider());
@@ -88,6 +90,7 @@ public:
protected:
const IntSize m_textureSize;
const GC3Denum m_textureFormat;
+ WebCompositorInitializer m_compositorInitializer;
OwnPtr<CCGraphicsContext> m_context;
OwnPtr<CCResourceProvider> m_resourceProvider;
};
@@ -128,7 +131,7 @@ TEST_F(CCPrioritizedTextureTest, requestTextureExceedingMaxLimit)
EXPECT_EQ(texturesMemorySize(maxTextures), textureManager->memoryAboveCutoffBytes());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -149,7 +152,7 @@ TEST_F(CCPrioritizedTextureTest, changeMemoryLimits)
for (size_t i = 0; i < maxTextures; ++i)
validateTexture(textures[i], false);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->reduceMemory(resourceProvider());
}
@@ -162,7 +165,7 @@ TEST_F(CCPrioritizedTextureTest, changeMemoryLimits)
for (size_t i = 0; i < maxTextures; ++i)
EXPECT_EQ(validateTexture(textures[i], false), i < 5);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->reduceMemory(resourceProvider());
}
@@ -175,14 +178,14 @@ TEST_F(CCPrioritizedTextureTest, changeMemoryLimits)
for (size_t i = 0; i < maxTextures; ++i)
EXPECT_EQ(validateTexture(textures[i], false), i < 4);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->reduceMemory(resourceProvider());
}
EXPECT_EQ(texturesMemorySize(4), textureManager->memoryAboveCutoffBytes());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -242,7 +245,7 @@ TEST_F(CCPrioritizedTextureTest, textureManagerPartialUpdateTextures)
EXPECT_FALSE(textures[2]->haveBackingTexture());
EXPECT_FALSE(textures[3]->haveBackingTexture());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -282,7 +285,7 @@ TEST_F(CCPrioritizedTextureTest, textureManagerPrioritiesAreEqual)
EXPECT_EQ(texturesMemorySize(8), textureManager->memoryAboveCutoffBytes());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -302,7 +305,7 @@ TEST_F(CCPrioritizedTextureTest, textureManagerDestroyedFirst)
EXPECT_TRUE(texture->haveBackingTexture());
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
textureManager.clear();
@@ -330,7 +333,7 @@ TEST_F(CCPrioritizedTextureTest, textureMovedToNewManager)
texture->setTextureManager(0);
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManagerOne->clearAllMemory(resourceProvider());
}
textureManagerOne.clear();
@@ -346,7 +349,7 @@ TEST_F(CCPrioritizedTextureTest, textureMovedToNewManager)
EXPECT_TRUE(texture->canAcquireBackingTexture());
EXPECT_TRUE(texture->haveBackingTexture());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManagerTwo->clearAllMemory(resourceProvider());
}
@@ -392,7 +395,7 @@ TEST_F(CCPrioritizedTextureTest, renderSurfacesReduceMemoryAvailableOutsideRootS
EXPECT_EQ(texturesMemorySize(4), textureManager->memoryForSelfManagedTextures());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -429,7 +432,7 @@ TEST_F(CCPrioritizedTextureTest, renderSurfacesReduceMemoryAvailableForRequestLa
EXPECT_EQ(texturesMemorySize(4), textureManager->memoryForSelfManagedTextures());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
@@ -469,7 +472,7 @@ TEST_F(CCPrioritizedTextureTest, whenRenderSurfaceNotAvailableTexturesAlsoNotAva
EXPECT_EQ(texturesMemorySize(2), textureManager->memoryForSelfManagedTextures());
EXPECT_LE(textureManager->memoryUseBytes(), textureManager->memoryAboveCutoffBytes());
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
textureManager->clearAllMemory(resourceProvider());
}
diff --git a/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp b/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
index 2c5e8859c..b8dc30f72 100644
--- a/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCQuadCullerTest.cpp
@@ -26,6 +26,7 @@
#include "CCQuadCuller.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerTilingData.h"
#include "CCMathUtil.h"
#include "CCOcclusionTracker.h"
@@ -100,8 +101,8 @@ static void appendQuads(CCQuadList& quadList, CCSharedQuadStateList& sharedState
{
occlusionTracker.enterLayer(it);
CCQuadCuller quadCuller(quadList, sharedStateList, layer, &occlusionTracker, false, false);
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
occlusionTracker.leaveLayer(it);
++it;
}
diff --git a/Source/WebKit/chromium/tests/CCRenderPassTest.cpp b/Source/WebKit/chromium/tests/CCRenderPassTest.cpp
new file mode 100644
index 000000000..8f63ad326
--- /dev/null
+++ b/Source/WebKit/chromium/tests/CCRenderPassTest.cpp
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2012 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. 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 "CCRenderPass.h"
+
+#include "CCCheckerboardDrawQuad.h"
+#include "CCGeometryTestUtils.h"
+#include <gtest/gtest.h>
+#include <public/WebFilterOperations.h>
+#include <public/WebTransformationMatrix.h>
+
+using WebKit::WebFilterOperation;
+using WebKit::WebFilterOperations;
+using WebKit::WebTransformationMatrix;
+
+using namespace WebCore;
+
+namespace {
+
+class CCTestRenderPass : public CCRenderPass {
+public:
+ CCQuadList& quadList() { return m_quadList; }
+ CCSharedQuadStateList& sharedQuadStateList() { return m_sharedQuadStateList; }
+};
+
+struct CCRenderPassSize {
+ // If you add a new field to this class, make sure to add it to the copy() tests.
+ CCRenderPass::Id m_id;
+ CCQuadList m_quadList;
+ CCSharedQuadStateList m_sharedQuadStateList;
+ WebKit::WebTransformationMatrix m_transformToRootTarget;
+ IntRect m_outputRect;
+ FloatRect m_damageRect;
+ bool m_hasTransparentBackground;
+ bool m_hasOcclusionFromOutsideTargetSurface;
+ WebKit::WebFilterOperations m_filters;
+ WebKit::WebFilterOperations m_backgroundFilters;
+};
+
+TEST(CCRenderPassTest, copyShouldBeIdenticalExceptIdAndQuads)
+{
+ CCRenderPass::Id id(3, 2);
+ IntRect outputRect(45, 22, 120, 13);
+ WebTransformationMatrix transformToRoot(1, 0.5, 0.5, -0.5, -1, 0);
+
+ OwnPtr<CCRenderPass> pass(CCRenderPass::create(id, outputRect, transformToRoot));
+
+ IntRect damageRect(56, 123, 19, 43);
+ bool hasTransparentBackground = true;
+ bool hasOcclusionFromOutsideTargetSurface = true;
+ WebFilterOperations filters;
+ WebFilterOperations backgroundFilters;
+
+ filters.append(WebFilterOperation::createGrayscaleFilter(0.2f));
+ backgroundFilters.append(WebFilterOperation::createInvertFilter(0.2f));
+
+ pass->setDamageRect(damageRect);
+ pass->setHasTransparentBackground(hasTransparentBackground);
+ pass->setHasOcclusionFromOutsideTargetSurface(hasOcclusionFromOutsideTargetSurface);
+ pass->setFilters(filters);
+ pass->setBackgroundFilters(backgroundFilters);
+
+ // Stick a quad in the pass, this should not get copied.
+ CCTestRenderPass* testPass = static_cast<CCTestRenderPass*>(pass.get());
+ testPass->sharedQuadStateList().append(CCSharedQuadState::create(WebTransformationMatrix(), IntRect(), IntRect(), 1, false));
+ testPass->quadList().append(CCCheckerboardDrawQuad::create(testPass->sharedQuadStateList().last().get(), IntRect()));
+
+ CCRenderPass::Id newId(63, 4);
+
+ OwnPtr<CCRenderPass> copy(pass->copy(newId));
+ EXPECT_EQ(newId, copy->id());
+ EXPECT_RECT_EQ(pass->outputRect(), copy->outputRect());
+ EXPECT_EQ(pass->transformToRootTarget(), copy->transformToRootTarget());
+ EXPECT_RECT_EQ(pass->damageRect(), copy->damageRect());
+ EXPECT_EQ(pass->hasTransparentBackground(), copy->hasTransparentBackground());
+ EXPECT_EQ(pass->hasOcclusionFromOutsideTargetSurface(), copy->hasOcclusionFromOutsideTargetSurface());
+ EXPECT_EQ(pass->filters(), copy->filters());
+ EXPECT_EQ(pass->backgroundFilters(), copy->backgroundFilters());
+ EXPECT_EQ(0u, copy->quadList().size());
+
+ EXPECT_EQ(sizeof(CCRenderPassSize), sizeof(CCRenderPass));
+}
+
+} // namespace
diff --git a/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp b/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
index 05d716641..d66b8c951 100644
--- a/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
+++ b/Source/WebKit/chromium/tests/CCRenderSurfaceTest.cpp
@@ -26,7 +26,9 @@
#include "CCRenderSurface.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerImpl.h"
+#include "CCRenderPassSink.h"
#include "CCSharedQuadState.h"
#include "CCSingleThreadProxy.h"
#include "MockCCQuadCuller.h"
@@ -119,9 +121,10 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
CCQuadList quadList;
CCSharedQuadStateList sharedStateList;
MockCCQuadCuller mockQuadCuller(quadList, sharedStateList);
+ CCAppendQuadsData appendQuadsData;
bool forReplica = false;
- renderSurface->appendQuads(mockQuadCuller, forReplica, 1);
+ renderSurface->appendQuads(mockQuadCuller, appendQuadsData, forReplica, CCRenderPass::Id(2, 0));
ASSERT_EQ(1u, sharedStateList.size());
CCSharedQuadState* sharedQuadState = sharedStateList[0].get();
@@ -133,4 +136,49 @@ TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectSharedQuadState)
EXPECT_FALSE(sharedQuadState->opaque);
}
+class TestCCRenderPassSink : public CCRenderPassSink {
+public:
+ virtual void appendRenderPass(PassOwnPtr<CCRenderPass> renderPass) OVERRIDE { m_renderPasses.append(renderPass); }
+
+ const Vector<OwnPtr<CCRenderPass> >& renderPasses() const { return m_renderPasses; }
+
+private:
+ Vector<OwnPtr<CCRenderPass> > m_renderPasses;
+
+};
+
+TEST(CCRenderSurfaceTest, sanityCheckSurfaceCreatesCorrectRenderPass)
+{
+ // This will fake that we are on the correct thread for testing purposes.
+ DebugScopedSetImplThread setImplThread;
+
+ OwnPtr<CCLayerImpl> rootLayer = CCLayerImpl::create(1);
+
+ OwnPtr<CCLayerImpl> owningLayer = CCLayerImpl::create(2);
+ owningLayer->createRenderSurface();
+ ASSERT_TRUE(owningLayer->renderSurface());
+ owningLayer->setRenderTarget(owningLayer.get());
+ CCRenderSurface* renderSurface = owningLayer->renderSurface();
+
+ rootLayer->addChild(owningLayer.release());
+
+ IntRect contentRect = IntRect(IntPoint::zero(), IntSize(50, 50));
+ WebTransformationMatrix origin;
+ origin.translate(30, 40);
+
+ renderSurface->setScreenSpaceTransform(origin);
+ renderSurface->setContentRect(contentRect);
+
+ TestCCRenderPassSink passSink;
+
+ renderSurface->appendRenderPasses(passSink);
+
+ ASSERT_EQ(1u, passSink.renderPasses().size());
+ CCRenderPass* pass = passSink.renderPasses()[0].get();
+
+ EXPECT_EQ(CCRenderPass::Id(2, 0), pass->id());
+ EXPECT_EQ(contentRect, pass->outputRect());
+ EXPECT_EQ(origin, pass->transformToRootTarget());
+}
+
} // namespace
diff --git a/Source/WebKit/chromium/tests/CCRendererGLTest.cpp b/Source/WebKit/chromium/tests/CCRendererGLTest.cpp
index 2f3fd6a08..75e653d6f 100644
--- a/Source/WebKit/chromium/tests/CCRendererGLTest.cpp
+++ b/Source/WebKit/chromium/tests/CCRendererGLTest.cpp
@@ -33,9 +33,9 @@
#include "FakeWebCompositorOutputSurface.h"
#include "FakeWebGraphicsContext3D.h"
#include "GraphicsContext3D.h"
+#include "WebCompositorInitializer.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebTransformationMatrix.h>
using namespace WebCore;
@@ -80,9 +80,11 @@ public:
, m_rootLayer(CCLayerImpl::create(1))
, m_memoryAllocationLimitBytes(CCPrioritizedTextureManager::defaultMemoryAllocationLimit())
{
- OwnPtr<CCRenderPass> rootRenderPass = CCRenderPass::create(m_rootLayer->id(), IntRect(), WebTransformationMatrix());
+ m_rootLayer->createRenderSurface();
+ CCRenderPass::Id renderPassId = m_rootLayer->renderSurface()->renderPassId();
+ OwnPtr<CCRenderPass> rootRenderPass = CCRenderPass::create(renderPassId, IntRect(), WebTransformationMatrix());
m_renderPassesInDrawOrder.append(rootRenderPass.get());
- m_renderPasses.set(m_rootLayer->id(), rootRenderPass.release());
+ m_renderPasses.set(renderPassId, rootRenderPass.release());
}
// CCRendererClient methods.
@@ -128,6 +130,7 @@ protected:
CCRendererGLTest()
: m_suggestHaveBackbufferYes(1, true)
, m_suggestHaveBackbufferNo(1, false)
+ , m_compositorInitializer(0)
, m_context(FakeWebCompositorOutputSurface::create(adoptPtr(new FrameCountingMemoryAllocationSettingContext())))
, m_resourceProvider(CCResourceProvider::create(m_context.get()))
, m_renderer(&m_mockClient, m_resourceProvider.get())
@@ -136,15 +139,9 @@ protected:
virtual void SetUp()
{
- WebKit::WebCompositor::initialize(0);
m_renderer.initialize();
}
- virtual void TearDown()
- {
- WebKit::WebCompositor::shutdown();
- }
-
void swapBuffers()
{
m_renderer.swapBuffers();
@@ -155,6 +152,7 @@ protected:
WebGraphicsMemoryAllocation m_suggestHaveBackbufferYes;
WebGraphicsMemoryAllocation m_suggestHaveBackbufferNo;
+ WebCompositorInitializer m_compositorInitializer;
OwnPtr<CCGraphicsContext> m_context;
FakeCCRendererClient m_mockClient;
OwnPtr<CCResourceProvider> m_resourceProvider;
diff --git a/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp b/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp
index 563c2c04c..7454c9eda 100644
--- a/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp
+++ b/Source/WebKit/chromium/tests/CCSchedulerStateMachineTest.cpp
@@ -136,6 +136,7 @@ TEST(CCSchedulerStateMachineTest, TestNextActionBeginsFrameIfNeeded)
TEST(CCSchedulerStateMachineTest, TestSetForcedRedrawDoesNotSetsNormalRedraw)
{
CCSchedulerStateMachine state;
+ state.setCanDraw(true);
state.setNeedsForcedRedraw();
EXPECT_FALSE(state.redrawPending());
EXPECT_TRUE(state.vsyncCallbackNeeded());
@@ -146,6 +147,7 @@ TEST(CCSchedulerStateMachineTest, TestFailedDrawSetsNeedsCommitAndDoesNotDrawAga
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsRedraw();
EXPECT_TRUE(state.redrawPending());
EXPECT_TRUE(state.vsyncCallbackNeeded());
@@ -171,6 +173,7 @@ TEST(CCSchedulerStateMachineTest, TestSetNeedsRedrawDuringFailedDrawDoesNotRemov
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsRedraw();
EXPECT_TRUE(state.redrawPending());
EXPECT_TRUE(state.vsyncCallbackNeeded());
@@ -199,6 +202,7 @@ TEST(CCSchedulerStateMachineTest, TestCommitAfterFailedDrawAllowsDrawInSameFrame
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start a commit.
state.setNeedsCommit();
@@ -239,6 +243,7 @@ TEST(CCSchedulerStateMachineTest, TestCommitAfterFailedAndSuccessfulDrawDoesNotA
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start a commit.
state.setNeedsCommit();
@@ -290,6 +295,7 @@ TEST(CCSchedulerStateMachineTest, TestFailedDrawsWillEventuallyForceADrawAfterTh
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setMaximumNumberOfFailedDrawsBeforeDrawIsForced(1);
// Start a commit.
@@ -332,6 +338,7 @@ TEST(CCSchedulerStateMachineTest, TestFailedDrawIsRetriedNextVSync)
CCSchedulerStateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start a draw.
state.setNeedsRedraw();
@@ -361,6 +368,7 @@ TEST(CCSchedulerStateMachineTest, TestDoestDrawTwiceInSameFrame)
{
CCSchedulerStateMachine state;
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsRedraw();
EXPECT_TRUE(state.vsyncCallbackNeeded());
state.didEnterVSync();
@@ -413,6 +421,7 @@ TEST(CCSchedulerStateMachineTest, TestNextActionDrawsOnVSync)
for (size_t i = 0; i < numCommitStates; ++i) {
for (unsigned j = 0; j < 2; ++j) {
StateMachine state;
+ state.setCanDraw(true);
state.setCommitState(allCommitStates[i]);
bool forcedDraw = j;
if (!forcedDraw) {
@@ -525,6 +534,28 @@ TEST(CCSchedulerStateMachineTest, TestCanRedrawWithWaitingForFirstDrawMakesProgr
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
}
+TEST(CCSchedulerStateMachineTest, TestVsyncCallbackNeededOnCanDrawAndResourceUpdates)
+{
+ StateMachine state;
+ state.setCommitState(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW);
+ state.setCanBeginFrame(true);
+ state.setNeedsCommit(true);
+ state.setNeedsRedraw(true);
+ state.setUpdateMoreResourcesPending(false);
+ state.setVisible(true);
+ state.setCanDraw(false);
+ EXPECT_FALSE(state.vsyncCallbackNeeded());
+
+ state.setUpdateMoreResourcesPending(true);
+ EXPECT_TRUE(state.vsyncCallbackNeeded());
+
+ state.setUpdateMoreResourcesPending(false);
+ EXPECT_FALSE(state.vsyncCallbackNeeded());
+
+ state.setCanDraw(true);
+ EXPECT_TRUE(state.vsyncCallbackNeeded());
+}
+
TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_OneRoundOfUpdates)
{
StateMachine state;
@@ -532,6 +563,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_OneRoundOfUpdates)
state.setNeedsRedraw(false);
state.setUpdateMoreResourcesPending(false);
state.setVisible(true);
+ state.setCanDraw(true);
// Verify we begin update, both for vsync and not vsync.
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_UPDATE_MORE_RESOURCES, state.nextAction());
@@ -560,6 +592,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_TwoRoundsOfUpdates)
state.setNeedsRedraw(false);
state.setUpdateMoreResourcesPending(false);
state.setVisible(true);
+ state.setCanDraw(true);
// Verify the update begins, both for vsync and not vsync.
state.didEnterVSync();
@@ -599,6 +632,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_NoRedraw_TwoRoundsOfUpdates)
TEST(CCSchedulerStateMachineTest, TestVSyncNeededWhenUpdatesPendingButInvisible)
{
StateMachine state;
+ state.setCanDraw(true);
state.setCommitState(CCSchedulerStateMachine::COMMIT_STATE_UPDATING_RESOURCES);
state.setNeedsRedraw(false);
state.setVisible(false);
@@ -616,6 +650,7 @@ TEST(CCSchedulerStateMachineTest, TestUpdates_WithRedraw_OneRoundOfUpdates)
state.setNeedsRedraw(true);
state.setUpdateMoreResourcesPending(false);
state.setVisible(true);
+ state.setCanDraw(true);
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_UPDATE_MORE_RESOURCES, state.nextAction());
// Begin an update.
@@ -663,6 +698,7 @@ TEST(CCSchedulerStateMachineTest, TestSetNeedsCommitIsNotLost)
state.setCanBeginFrame(true);
state.setNeedsCommit(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Begin the frame.
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
@@ -705,6 +741,7 @@ TEST(CCSchedulerStateMachineTest, TestFullCycle)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start clean and set commit.
state.setNeedsCommit(true);
@@ -729,7 +766,7 @@ TEST(CCSchedulerStateMachineTest, TestFullCycle)
// Commit.
state.updateState(CCSchedulerStateMachine::ACTION_COMMIT);
- EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, state.commitState());
EXPECT_TRUE(state.needsRedraw());
// Expect to do nothing until vsync.
@@ -753,6 +790,7 @@ TEST(CCSchedulerStateMachineTest, TestFullCycleWithCommitRequestInbetween)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start clean and set commit.
state.setNeedsCommit(true);
@@ -812,6 +850,7 @@ TEST(CCSchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Start clean and set commit.
state.setNeedsCommit(true);
@@ -830,6 +869,19 @@ TEST(CCSchedulerStateMachineTest, TestGoesInvisibleBeforeBeginFrameCompletes)
// We should now be back in the idle state as if we didn't start a frame at all.
EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
EXPECT_EQ(CCSchedulerStateMachine::ACTION_NONE, state.nextAction());
+
+ // Become visible again
+ state.setVisible(true);
+
+ // We should be beginning a frame now
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
+ EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
+
+ // Begin the frame
+ state.updateState(state.nextAction());
+
+ // We should be starting the commit now
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_FRAME_IN_PROGRESS, state.commitState());
}
TEST(CCSchedulerStateMachineTest, TestContextLostWhenCompletelyIdle)
@@ -837,6 +889,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhenCompletelyIdle)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.didLoseContext();
@@ -859,6 +912,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhenIdleAndCommitRequestedWhile
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.didLoseContext();
@@ -895,6 +949,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgress)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Get a commit in flight.
state.setNeedsCommit(true);
@@ -924,6 +979,11 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgress)
EXPECT_EQ(CCSchedulerStateMachine::ACTION_COMMIT, state.nextAction());
state.updateState(state.nextAction());
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, state.commitState());
+
+ EXPECT_EQ(CCSchedulerStateMachine::ACTION_DRAW_IF_POSSIBLE, state.nextAction());
+ state.updateState(state.nextAction());
+
// Expect to be told to begin context recreation, independent of vsync state
state.didEnterVSync();
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_CONTEXT_RECREATION, state.nextAction());
@@ -936,6 +996,7 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgressAndAnother
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
// Get a commit in flight.
state.setNeedsCommit(true);
@@ -953,9 +1014,6 @@ TEST(CCSchedulerStateMachineTest, TestContextLostWhileCommitInProgressAndAnother
state.didLoseContext();
// Ask for another draw and also set needs commit. Expect nothing happens.
- // Setting another commit will put us into
- // COMMIT_STATE_WAITING_FOR_FIRST_DRAW after we finish the frame on the main
- // thread.
state.setNeedsRedraw(true);
state.setNeedsCommit(true);
EXPECT_EQ(CCSchedulerStateMachine::ACTION_NONE, state.nextAction());
@@ -986,6 +1044,7 @@ TEST(CCSchedulerStateMachineTest, TestFinishAllRenderingWhileContextLost)
{
StateMachine state;
state.setVisible(true);
+ state.setCanDraw(true);
// Cause a lost context lost.
state.didLoseContext();
@@ -1024,6 +1083,7 @@ TEST(CCSchedulerStateMachineTest, TestBeginFrameWhenCanBeginFrameFalseAndForceCo
{
StateMachine state;
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsCommit(true);
state.setNeedsForcedCommit(true);
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
@@ -1046,7 +1106,7 @@ TEST(CCSchedulerStateMachineTest, TestBeginFrameWhenCommitInProgress)
EXPECT_EQ(CCSchedulerStateMachine::ACTION_COMMIT, state.nextAction());
state.updateState(state.nextAction());
- EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_IDLE, state.commitState());
+ EXPECT_EQ(CCSchedulerStateMachine::COMMIT_STATE_WAITING_FOR_FIRST_DRAW, state.commitState());
EXPECT_EQ(CCSchedulerStateMachine::ACTION_BEGIN_FRAME, state.nextAction());
}
@@ -1056,6 +1116,7 @@ TEST(CCSchedulerStateMachineTest, TestBeginFrameWhenContextLost)
StateMachine state;
state.setCanBeginFrame(true);
state.setVisible(true);
+ state.setCanDraw(true);
state.setNeedsCommit(true);
state.setNeedsForcedCommit(true);
state.didLoseContext();
diff --git a/Source/WebKit/chromium/tests/CCSchedulerTest.cpp b/Source/WebKit/chromium/tests/CCSchedulerTest.cpp
index 93ff66ea2..eb933f92f 100644
--- a/Source/WebKit/chromium/tests/CCSchedulerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCSchedulerTest.cpp
@@ -44,14 +44,12 @@ public:
{
m_actions.clear();
m_hasMoreResourceUpdates = false;
- m_canDraw = true;
m_drawWillHappen = true;
m_swapWillHappenIfDrawHappens = true;
m_numDraws = 0;
}
void setHasMoreResourceUpdates(bool b) { m_hasMoreResourceUpdates = b; }
- void setCanDraw(bool b) { m_canDraw = b; }
int numDraws() const { return m_numDraws; }
int numActions() const { return static_cast<int>(m_actions.size()); }
@@ -65,8 +63,8 @@ public:
return false;
}
- virtual bool canDraw() OVERRIDE { return m_canDraw; }
virtual bool hasMoreResourceUpdates() const OVERRIDE { return m_hasMoreResourceUpdates; }
+
virtual void scheduledActionBeginFrame() OVERRIDE { m_actions.push_back("scheduledActionBeginFrame"); }
virtual CCScheduledActionDrawAndSwapResult scheduledActionDrawAndSwapIfPossible() OVERRIDE
{
@@ -91,7 +89,6 @@ public:
protected:
bool m_hasMoreResourceUpdates;
- bool m_canDraw;
bool m_drawWillHappen;
bool m_swapWillHappenIfDrawHappens;
int m_numDraws;
@@ -105,6 +102,7 @@ TEST(CCSchedulerTest, RequestCommit)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
// SetNeedsCommit should begin the frame.
scheduler->setNeedsCommit();
@@ -139,6 +137,7 @@ TEST(CCSchedulerTest, RequestCommitAfterBeginFrame)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
// SetNedsCommit should begin the frame.
scheduler->setNeedsCommit();
@@ -172,6 +171,7 @@ TEST(CCSchedulerTest, TextureAcquisitionCollision)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsCommit();
scheduler->setMainThreadNeedsLayerTextures();
@@ -210,6 +210,7 @@ TEST(CCSchedulerTest, VisibilitySwitchWithTextureAcquisition)
OwnPtr<CCScheduler> scheduler = CCScheduler::create(&client, adoptPtr(new CCFrameRateController(timeSource)));
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsCommit();
scheduler->beginFrameComplete();
@@ -273,6 +274,7 @@ TEST(CCSchedulerTest, RequestRedrawInsideDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsRedraw();
EXPECT_TRUE(scheduler->redrawPending());
@@ -299,6 +301,7 @@ TEST(CCSchedulerTest, RequestRedrawInsideFailedDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
client.setDrawWillHappen(false);
scheduler->setNeedsRedraw();
@@ -371,6 +374,7 @@ TEST(CCSchedulerTest, RequestCommitInsideDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
scheduler->setNeedsRedraw();
EXPECT_TRUE(scheduler->redrawPending());
@@ -398,6 +402,7 @@ TEST(CCSchedulerTest, RequestCommitInsideFailedDraw)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
client.setDrawWillHappen(false);
scheduler->setNeedsRedraw();
@@ -440,6 +445,7 @@ TEST(CCSchedulerTest, NoBeginFrameWhenDrawFails)
client.setScheduler(scheduler.get());
scheduler->setCanBeginFrame(true);
scheduler->setVisible(true);
+ scheduler->setCanDraw(true);
EXPECT_EQ(0, controllerPtr->numFramesPending());
diff --git a/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp b/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
index 220189b41..b330abcaa 100644
--- a/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCSolidColorLayerImplTest.cpp
@@ -26,6 +26,7 @@
#include "CCSolidColorLayerImpl.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerTestCommon.h"
#include "CCSingleThreadProxy.h"
#include "CCSolidColorDrawQuad.h"
@@ -53,8 +54,8 @@ TEST(CCSolidColorLayerImplTest, verifyTilingCompleteAndNoOverlap)
layer->createRenderSurface();
layer->setRenderTarget(layer.get());
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
verifyQuadsExactlyCoverRect(quadCuller.quadList(), visibleContentRect);
}
@@ -77,8 +78,8 @@ TEST(CCSolidColorLayerImplTest, verifyCorrectBackgroundColorInQuad)
layer->createRenderSurface();
layer->setRenderTarget(layer.get());
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
ASSERT_EQ(quadCuller.quadList().size(), 1U);
EXPECT_EQ(CCSolidColorDrawQuad::materialCast(quadCuller.quadList()[0].get())->color(), testColor);
@@ -102,8 +103,8 @@ TEST(CCSolidColorLayerImplTest, verifyCorrectOpacityInQuad)
layer->createRenderSurface();
layer->setRenderTarget(layer.get());
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
ASSERT_EQ(quadCuller.quadList().size(), 1U);
EXPECT_EQ(opacity, CCSolidColorDrawQuad::materialCast(quadCuller.quadList()[0].get())->opacity());
diff --git a/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp b/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp
index 11659f6f5..baf63c2e7 100644
--- a/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp
+++ b/Source/WebKit/chromium/tests/CCTextureUpdateControllerTest.cpp
@@ -31,8 +31,8 @@
#include "CCTiledLayerTestCommon.h"
#include "FakeWebCompositorOutputSurface.h"
#include "FakeWebGraphicsContext3D.h"
+#include "WebCompositorInitializer.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebThread.h>
#include <wtf/RefPtr.h>
@@ -95,21 +95,23 @@ public:
class CCTextureUpdateControllerTest : public Test {
public:
CCTextureUpdateControllerTest()
- : m_queue(adoptPtr(new CCTextureUpdateQueue))
- , m_uploader(this)
- , m_fullUploadCountExpected(0)
- , m_partialCountExpected(0)
- , m_totalUploadCountExpected(0)
- , m_maxUploadCountPerUpdate(0)
- , m_numBeginUploads(0)
- , m_numEndUploads(0)
- , m_numConsecutiveFlushes(0)
- , m_numDanglingUploads(0)
- , m_numTotalUploads(0)
- , m_numTotalFlushes(0)
- , m_numPreviousUploads(0)
- , m_numPreviousFlushes(0)
- { }
+ : m_queue(adoptPtr(new CCTextureUpdateQueue))
+ , m_uploader(this)
+ , m_compositorInitializer(m_thread.get())
+ , m_fullUploadCountExpected(0)
+ , m_partialCountExpected(0)
+ , m_totalUploadCountExpected(0)
+ , m_maxUploadCountPerUpdate(0)
+ , m_numBeginUploads(0)
+ , m_numEndUploads(0)
+ , m_numConsecutiveFlushes(0)
+ , m_numDanglingUploads(0)
+ , m_numTotalUploads(0)
+ , m_numTotalFlushes(0)
+ , m_numPreviousUploads(0)
+ , m_numPreviousFlushes(0)
+ {
+ }
public:
void onFlush()
@@ -170,19 +172,11 @@ public:
protected:
virtual void SetUp()
{
- OwnPtr<WebThread> thread;
- WebCompositor::initialize(thread.get());
-
m_context = FakeWebCompositorOutputSurface::create(adoptPtr(new WebGraphicsContext3DForUploadTest(this)));
DebugScopedSetImplThread implThread;
m_resourceProvider = CCResourceProvider::create(m_context.get());
}
- virtual void TearDown()
- {
- WebCompositor::shutdown();
- }
-
void appendFullUploadsToUpdateQueue(int count)
{
m_fullUploadCountExpected += count;
@@ -218,6 +212,9 @@ protected:
TextureForUploadTest m_texture;
FakeTextureCopier m_copier;
TextureUploaderForUploadTest m_uploader;
+ OwnPtr<WebThread> m_thread;
+ WebCompositorInitializer m_compositorInitializer;
+
// Properties / expectations of this test
int m_fullUploadCountExpected;
diff --git a/Source/WebKit/chromium/tests/CCThreadedTest.cpp b/Source/WebKit/chromium/tests/CCThreadedTest.cpp
index cde88f8e6..a74e8e03a 100644
--- a/Source/WebKit/chromium/tests/CCThreadedTest.cpp
+++ b/Source/WebKit/chromium/tests/CCThreadedTest.cpp
@@ -28,6 +28,7 @@
#include "CCActiveAnimation.h"
#include "CCAnimationTestCommon.h"
+#include "CCInputHandler.h"
#include "CCLayerAnimationController.h"
#include "CCLayerImpl.h"
#include "CCLayerTreeHostImpl.h"
@@ -44,7 +45,7 @@
#include "LayerChromium.h"
#include <gmock/gmock.h>
#include <public/Platform.h>
-#include <public/WebCompositor.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFilterOperation.h>
#include <public/WebFilterOperations.h>
#include <public/WebThread.h>
@@ -56,7 +57,6 @@
using namespace WebCore;
using namespace WebKit;
-using namespace WTF;
namespace WebKitTests {
@@ -208,9 +208,9 @@ public:
{
}
- virtual void updateAnimations(double monotonicTime) OVERRIDE
+ virtual void animate(double monotonicTime) OVERRIDE
{
- m_testHooks->updateAnimations(monotonicTime);
+ m_testHooks->animate(monotonicTime);
}
virtual void layout() OVERRIDE
@@ -228,6 +228,16 @@ public:
return m_testHooks->createOutputSurface();
}
+ virtual void didRecreateOutputSurface(bool succeeded) OVERRIDE
+ {
+ m_testHooks->didRecreateOutputSurface(succeeded);
+ }
+
+ virtual PassOwnPtr<CCInputHandler> createInputHandler() OVERRIDE
+ {
+ return nullptr;
+ }
+
virtual void willCommit() OVERRIDE
{
}
@@ -246,11 +256,6 @@ public:
{
}
- virtual void didRecreateOutputSurface(bool succeeded) OVERRIDE
- {
- m_testHooks->didRecreateOutputSurface(succeeded);
- }
-
virtual void scheduleComposite() OVERRIDE
{
m_testHooks->scheduleComposite();
@@ -601,17 +606,19 @@ void CCThreadedTest::dispatchDidAddAnimation(void* self)
void CCThreadedTest::runTest(bool threaded)
{
// For these tests, we will enable threaded animations.
- WebCompositor::setAcceleratedAnimationEnabled(true);
+ Platform::current()->compositorSupport()->setAcceleratedAnimationEnabled(true);
if (threaded) {
m_webThread = adoptPtr(WebKit::Platform::current()->createThread("CCThreadedTest"));
- WebCompositor::initialize(m_webThread.get());
+ Platform::current()->compositorSupport()->initialize(m_webThread.get());
} else
- WebCompositor::initialize(0);
+ Platform::current()->compositorSupport()->initialize(0);
ASSERT(CCProxy::isMainThread());
m_mainThreadProxy = CCScopedThreadProxy::create(CCProxy::mainThread());
+ initializeSettings(m_settings);
+
m_beginTask = new BeginTask(this);
WebKit::Platform::current()->currentThread()->postDelayedTask(m_beginTask, 0); // postDelayedTask takes ownership of the task
m_timeoutTask = new TimeoutTask(this);
@@ -632,11 +639,11 @@ void CCThreadedTest::runTest(bool threaded)
m_client.clear();
if (m_timedOut) {
FAIL() << "Test timed out";
- WebCompositor::shutdown();
+ Platform::current()->compositorSupport()->shutdown();
return;
}
afterTest();
- WebCompositor::shutdown();
+ Platform::current()->compositorSupport()->shutdown();
}
} // namespace WebKitTests
diff --git a/Source/WebKit/chromium/tests/CCThreadedTest.h b/Source/WebKit/chromium/tests/CCThreadedTest.h
index 0f87de1f5..305c39293 100644
--- a/Source/WebKit/chromium/tests/CCThreadedTest.h
+++ b/Source/WebKit/chromium/tests/CCThreadedTest.h
@@ -31,6 +31,7 @@
#include "CompositorFakeWebGraphicsContext3D.h"
#include <gtest/gtest.h>
#include <public/WebAnimationDelegate.h>
+#include <public/WebThread.h>
namespace WebCore {
class CCLayerImpl;
@@ -40,10 +41,6 @@ class CCLayerTreeHostImpl;
class GraphicsContext3D;
}
-namespace WebKit {
-class WebThread;
-}
-
namespace WebKitTests {
// Used by test stubs to notify the test when something interesting happens.
@@ -56,7 +53,7 @@ public:
virtual void animateLayers(WebCore::CCLayerTreeHostImpl*, double monotonicTime) { }
virtual void willAnimateLayers(WebCore::CCLayerTreeHostImpl*, double monotonicTime) { }
virtual void applyScrollAndScale(const WebCore::IntSize&, float) { }
- virtual void updateAnimations(double monotonicTime) { }
+ virtual void animate(double monotonicTime) { }
virtual void layout() { }
virtual void didRecreateOutputSurface(bool succeeded) { }
virtual void didAddAnimation() { }
@@ -117,6 +114,8 @@ public:
protected:
CCThreadedTest();
+ virtual void initializeSettings(WebCore::CCLayerTreeSettings&) { }
+
virtual void scheduleComposite();
static void onEndTest(void* self);
diff --git a/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp b/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp
index 8b4bd20e8..c49e12c2e 100644
--- a/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/CCTiledLayerImplTest.cpp
@@ -26,6 +26,7 @@
#include "CCTiledLayerImpl.h"
+#include "CCAppendQuadsData.h"
#include "CCLayerTestCommon.h"
#include "CCLayerTilingData.h"
#include "CCSingleThreadProxy.h"
@@ -76,8 +77,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
{
OwnPtr<CCTiledLayerImpl> layer = createLayer(tileSize, layerSize, CCLayerTilingData::NoBorderTexels);
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
const unsigned numTiles = numTilesX * numTilesY;
EXPECT_EQ(quadCuller.quadList().size(), numTiles);
}
@@ -88,8 +89,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
layer->setVisibleContentRect(IntRect());
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 0u);
}
@@ -101,8 +102,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
layer->setVisibleContentRect(outsideBounds);
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 0u);
}
@@ -112,8 +113,8 @@ TEST(CCTiledLayerImplTest, emptyQuadList)
layer->setSkipsDraw(true);
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 0u);
}
}
@@ -132,10 +133,10 @@ TEST(CCTiledLayerImplTest, checkerboarding)
// No checkerboarding
{
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
EXPECT_EQ(quadCuller.quadList().size(), 4u);
- EXPECT_FALSE(hadMissingTiles);
+ EXPECT_FALSE(data.hadMissingTiles);
for (size_t i = 0; i < quadCuller.quadList().size(); ++i)
EXPECT_EQ(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledContent);
@@ -148,9 +149,9 @@ TEST(CCTiledLayerImplTest, checkerboarding)
// All checkerboarding
{
MockCCQuadCuller quadCuller;
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
- EXPECT_TRUE(hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
+ EXPECT_TRUE(data.hadMissingTiles);
EXPECT_EQ(quadCuller.quadList().size(), 4u);
for (size_t i = 0; i < quadCuller.quadList().size(); ++i)
EXPECT_NE(quadCuller.quadList()[i]->material(), CCDrawQuad::TiledContent);
@@ -164,8 +165,8 @@ static void getQuads(CCQuadList& quads, CCSharedQuadStateList& sharedStates, Int
layer->setBounds(layerSize);
MockCCQuadCuller quadCuller(quads, sharedStates);
- bool hadMissingTiles = false;
- layer->appendQuads(quadCuller, hadMissingTiles);
+ CCAppendQuadsData data;
+ layer->appendQuads(quadCuller, data);
}
// Test with both border texels and without.
diff --git a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp
index dcaae59ce..ed416f238 100644
--- a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp
+++ b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.cpp
@@ -85,6 +85,11 @@ PassOwnPtr<LayerTextureUpdater::Texture> FakeLayerTextureUpdater::createTexture(
return adoptPtr(new Texture(this, CCPrioritizedTexture::create(manager)));
}
+LayerTextureUpdater::SampledTexelFormat FakeLayerTextureUpdater::sampledTexelFormat(GC3Denum)
+{
+ return SampledTexelFormatRGBA;
+}
+
FakeCCTiledLayerImpl::FakeCCTiledLayerImpl(int id)
: CCTiledLayerImpl(id)
{
@@ -105,6 +110,11 @@ FakeTiledLayerChromium::FakeTiledLayerChromium(CCPrioritizedTextureManager* text
setIsDrawable(true); // So that we don't get false positives if any of these tests expect to return false from drawsContent() for other reasons.
}
+FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds(CCPrioritizedTextureManager* textureManager)
+ : FakeTiledLayerChromium(textureManager)
+{
+}
+
FakeTiledLayerChromium::~FakeTiledLayerChromium()
{
}
@@ -132,9 +142,29 @@ void FakeTiledLayerChromium::setTexturePriorities(const CCPriorityCalculator& ca
}
}
-FakeTiledLayerWithScaledBounds::FakeTiledLayerWithScaledBounds(CCPrioritizedTextureManager* textureManager)
- : FakeTiledLayerChromium(textureManager)
+WebCore::CCPrioritizedTextureManager* FakeTiledLayerChromium::textureManager() const
+{
+ return m_textureManager;
+}
+
+WebCore::LayerTextureUpdater* FakeTiledLayerChromium::textureUpdater() const
+{
+ return m_fakeTextureUpdater.get();
+}
+
+WebCore::IntSize FakeTiledLayerWithScaledBounds::contentBounds() const
+{
+ return m_forcedContentBounds;
+}
+
+bool FakeTextureUploader::isBusy()
+{
+ return false;
+}
+
+void FakeTextureUploader::uploadTexture(WebCore::CCResourceProvider* resourceProvider, Parameters upload)
{
+ upload.texture->updateRect(resourceProvider, upload.sourceRect, upload.destOffset);
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h
index 3adb4bf17..486f6c022 100644
--- a/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h
+++ b/Source/WebKit/chromium/tests/CCTiledLayerTestCommon.h
@@ -60,7 +60,7 @@ public:
virtual ~FakeLayerTextureUpdater();
virtual PassOwnPtr<WebCore::LayerTextureUpdater::Texture> createTexture(WebCore::CCPrioritizedTextureManager*) OVERRIDE;
- virtual SampledTexelFormat sampledTexelFormat(GC3Denum) OVERRIDE { return SampledTexelFormatRGBA; }
+ virtual SampledTexelFormat sampledTexelFormat(GC3Denum) OVERRIDE;
virtual void prepareToUpdate(const WebCore::IntRect& contentRect, const WebCore::IntSize&, float, float, WebCore::IntRect& resultingOpaqueRect, WebCore::CCRenderingStats&) OVERRIDE;
// Sets the rect to invalidate during the next call to prepareToUpdate(). After the next
@@ -122,12 +122,12 @@ public:
virtual void setTexturePriorities(const WebCore::CCPriorityCalculator&) OVERRIDE;
- virtual WebCore::CCPrioritizedTextureManager* textureManager() const OVERRIDE { return m_textureManager; }
+ virtual WebCore::CCPrioritizedTextureManager* textureManager() const OVERRIDE;
FakeLayerTextureUpdater* fakeLayerTextureUpdater() { return m_fakeTextureUpdater.get(); }
WebCore::FloatRect updateRect() { return m_updateRect; }
protected:
- virtual WebCore::LayerTextureUpdater* textureUpdater() const OVERRIDE { return m_fakeTextureUpdater.get(); }
+ virtual WebCore::LayerTextureUpdater* textureUpdater() const OVERRIDE;
virtual void createTextureUpdaterIfNeeded() OVERRIDE { }
private:
@@ -141,7 +141,7 @@ public:
explicit FakeTiledLayerWithScaledBounds(WebCore::CCPrioritizedTextureManager*);
void setContentBounds(const WebCore::IntSize& contentBounds) { m_forcedContentBounds = contentBounds; }
- virtual WebCore::IntSize contentBounds() const OVERRIDE { return m_forcedContentBounds; }
+ virtual WebCore::IntSize contentBounds() const OVERRIDE;
protected:
WebCore::IntSize m_forcedContentBounds;
@@ -149,16 +149,16 @@ protected:
class FakeTextureCopier : public WebCore::TextureCopier {
public:
- virtual void copyTexture(Parameters) { }
- virtual void flush() { }
+ virtual void copyTexture(Parameters) OVERRIDE { }
+ virtual void flush() OVERRIDE { }
};
class FakeTextureUploader : public WebCore::TextureUploader {
public:
- virtual bool isBusy() { return false; }
- virtual void beginUploads() { }
- virtual void endUploads() { }
- virtual void uploadTexture(WebCore::CCResourceProvider* resourceProvider, Parameters upload) { upload.texture->updateRect(resourceProvider, upload.sourceRect, upload.destOffset); }
+ virtual bool isBusy() OVERRIDE;
+ virtual void beginUploads() OVERRIDE { }
+ virtual void endUploads() OVERRIDE { }
+ virtual void uploadTexture(WebCore::CCResourceProvider*, Parameters upload) OVERRIDE;
};
}
diff --git a/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp b/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp
index 6972424b0..26bdd4f11 100644
--- a/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp
+++ b/Source/WebKit/chromium/tests/Canvas2DLayerBridgeTest.cpp
@@ -30,8 +30,8 @@
#include "FakeWebGraphicsContext3D.h"
#include "GraphicsContext3DPrivate.h"
#include "ImageBuffer.h"
+#include "WebCompositorInitializer.h"
#include <public/Platform.h>
-#include <public/WebCompositor.h>
#include <public/WebThread.h>
#include <gmock/gmock.h>
@@ -81,7 +81,7 @@ protected:
OwnPtr<WebThread> thread;
if (threadMode == Threaded)
thread = adoptPtr(WebKit::Platform::current()->createThread("Canvas2DLayerBridgeTest"));
- WebCompositor::initialize(thread.get());
+ WebKitTests::WebCompositorInitializer initializer(thread.get());
WebGLId backTextureId = 1;
WebGLId frontTextureId = 1;
@@ -109,8 +109,6 @@ protected:
EXPECT_CALL(mainMock, flush());
}
bridge.clear();
-
- WebCompositor::shutdown();
}
};
diff --git a/Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp b/Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp
new file mode 100644
index 000000000..f9a136c35
--- /dev/null
+++ b/Source/WebKit/chromium/tests/Canvas2DLayerManagerTest.cpp
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2012 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. 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 "Canvas2DLayerManager.h"
+
+#include "FakeWebGraphicsContext3D.h"
+#include "GraphicsContext3DPrivate.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+using namespace WebCore;
+using testing::InSequence;
+using testing::Return;
+using testing::Test;
+
+
+class FakeCanvas2DLayerBridge : public Canvas2DLayerBridge {
+public:
+ FakeCanvas2DLayerBridge()
+ : Canvas2DLayerBridge(GraphicsContext3DPrivate::createGraphicsContextFromWebContext(adoptPtr(new WebKit::FakeWebGraphicsContext3D)), IntSize(1, 1), Deferred, 0)
+ , m_freeableBytes(0)
+ , m_freeMemoryIfPossibleCount(0)
+ , m_flushCount(0)
+ {
+ }
+
+ void fakeFreeableBytes(size_t size)
+ {
+ m_freeableBytes = size;
+ }
+
+ virtual size_t freeMemoryIfPossible(size_t size) OVERRIDE
+ {
+ m_freeMemoryIfPossibleCount++;
+ size_t bytesFreed = size < m_freeableBytes ? size : m_freeableBytes;
+ m_freeableBytes -= bytesFreed;
+ if (bytesFreed)
+ Canvas2DLayerManager::get().layerAllocatedStorageChanged(this, -((intptr_t)bytesFreed));
+ m_bytesAllocated -= bytesFreed;
+ return bytesFreed;
+ }
+
+ virtual void flush() OVERRIDE
+ {
+ m_flushCount++;
+ }
+
+public:
+ size_t m_freeableBytes;
+ int m_freeMemoryIfPossibleCount;
+ int m_flushCount;
+};
+
+class Canvas2DLayerManagerTest : public Test {
+protected:
+ void storageAllocationTrackingTest()
+ {
+ Canvas2DLayerManager& manager = Canvas2DLayerManager::get();
+ manager.init(10, 10);
+ {
+ FakeCanvas2DLayerBridge layer1;
+ EXPECT_EQ((size_t)0, manager.m_bytesAllocated);
+ layer1.storageAllocatedForRecordingChanged(1);
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ // Test allocation increase
+ layer1.storageAllocatedForRecordingChanged(2);
+ EXPECT_EQ((size_t)2, manager.m_bytesAllocated);
+ // Test allocation decrease
+ layer1.storageAllocatedForRecordingChanged(1);
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ {
+ FakeCanvas2DLayerBridge layer2;
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ // verify multi-layer allocation tracking
+ layer2.storageAllocatedForRecordingChanged(2);
+ EXPECT_EQ((size_t)3, manager.m_bytesAllocated);
+ }
+ // Verify tracking after destruction
+ EXPECT_EQ((size_t)1, manager.m_bytesAllocated);
+ }
+ }
+
+ void evictionTest()
+ {
+ Canvas2DLayerManager& manager = Canvas2DLayerManager::get();
+ manager.init(10, 5);
+ FakeCanvas2DLayerBridge layer;
+ layer.fakeFreeableBytes(10);
+ layer.storageAllocatedForRecordingChanged(8); // under the max
+ EXPECT_EQ(0, layer.m_freeMemoryIfPossibleCount);
+ layer.storageAllocatedForRecordingChanged(12); // over the max
+ EXPECT_EQ(1, layer.m_freeMemoryIfPossibleCount);
+ EXPECT_EQ((size_t)3, layer.m_freeableBytes);
+ EXPECT_EQ(0, layer.m_flushCount); // eviction succeeded without triggering a flush
+ EXPECT_EQ((size_t)5, layer.bytesAllocated());
+ }
+
+ void flushEvictionTest()
+ {
+ Canvas2DLayerManager& manager = Canvas2DLayerManager::get();
+ manager.init(10, 5);
+ FakeCanvas2DLayerBridge layer;
+ layer.fakeFreeableBytes(1); // Not enough freeable bytes, will cause aggressive eviction by flushing
+ layer.storageAllocatedForRecordingChanged(8); // under the max
+ EXPECT_EQ(0, layer.m_freeMemoryIfPossibleCount);
+ layer.storageAllocatedForRecordingChanged(12); // over the max
+ EXPECT_EQ(2, layer.m_freeMemoryIfPossibleCount); // Two tries, one before flush, one after flush
+ EXPECT_EQ((size_t)0, layer.m_freeableBytes);
+ EXPECT_EQ(1, layer.m_flushCount); // flush was attempted
+ EXPECT_EQ((size_t)11, layer.bytesAllocated()); // flush drops the layer from manager's tracking list
+ EXPECT_FALSE(manager.isInList(&layer));
+ }
+};
+
+namespace {
+
+TEST_F(Canvas2DLayerManagerTest, testStorageAllocationTracking)
+{
+ storageAllocationTrackingTest();
+}
+
+TEST_F(Canvas2DLayerManagerTest, testEviction)
+{
+ evictionTest();
+}
+
+TEST_F(Canvas2DLayerManagerTest, testFlushEviction)
+{
+ flushEvictionTest();
+}
+
+} // namespace
+
diff --git a/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp
index fd35e2224..483579fe0 100644
--- a/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/ContentLayerChromiumTest.cpp
@@ -27,10 +27,9 @@
#include "ContentLayerChromium.h"
#include "BitmapCanvasLayerTextureUpdater.h"
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCRenderingStats.h"
-#include "GraphicsContext.h"
-#include "OpaqueRectTrackingContentLayerDelegate.h"
+#include "ContentLayerChromiumClient.h"
#include "skia/ext/platform_canvas.h"
#include <gtest/gtest.h>
#include <public/WebFloatRect.h>
@@ -43,49 +42,20 @@ using namespace WebKit;
namespace {
-class OpaqueRectDrawingGraphicsContextPainter : public GraphicsContextPainter {
+class MockContentLayerChromiumClient : public ContentLayerChromiumClient {
public:
- explicit OpaqueRectDrawingGraphicsContextPainter(const IntRect& opaqueRect, const IntRect& contentRect)
- : m_opaqueRect(opaqueRect)
- , m_contentRect(contentRect)
+ explicit MockContentLayerChromiumClient(IntRect opaqueLayerRect)
+ : m_opaqueLayerRect(opaqueLayerRect)
{
}
- virtual ~OpaqueRectDrawingGraphicsContextPainter()
+ virtual void paintContents(SkCanvas*, const IntRect&, FloatRect& opaque) OVERRIDE
{
- }
-
- virtual void paint(GraphicsContext& context, const IntRect& clip) OVERRIDE
- {
- Color alpha(0, 0, 0, 0);
- context.fillRect(m_contentRect, alpha, ColorSpaceDeviceRGB);
-
- Color white(255, 255, 255, 255);
- context.fillRect(m_opaqueRect, white, ColorSpaceDeviceRGB);
- }
-
-private:
- IntRect m_opaqueRect;
- IntRect m_contentRect;
-};
-
-class MockContentLayerDelegate : public ContentLayerDelegate {
-public:
- explicit MockContentLayerDelegate(OpaqueRectTrackingContentLayerDelegate* client)
- : m_client(client)
- {
- }
-
- virtual void paintContents(SkCanvas* canvas, const IntRect& clip, FloatRect& opaque) OVERRIDE
- {
- WebFloatRect resultingOpaqueRect(opaque.x(), opaque.y(), opaque.width(), opaque.height());
- WebRect webClipRect(clip.x(), clip.y(), clip.width(), clip.height());
- m_client->paintContents(canvas, webClipRect, resultingOpaqueRect);
- opaque = FloatRect(resultingOpaqueRect.x, resultingOpaqueRect.y, resultingOpaqueRect.width, resultingOpaqueRect.height);
+ opaque = FloatRect(m_opaqueLayerRect);
}
private:
- OpaqueRectTrackingContentLayerDelegate* m_client;
+ IntRect m_opaqueLayerRect;
};
TEST(ContentLayerChromiumTest, ContentLayerPainterWithDeviceScale)
@@ -96,16 +66,14 @@ TEST(ContentLayerChromiumTest, ContentLayerPainterWithDeviceScale)
IntRect opaqueRectInContentSpace = opaqueRectInLayerSpace;
opaqueRectInContentSpace.scale(contentsScale);
OwnPtr<SkCanvas> canvas = adoptPtr(skia::CreateBitmapCanvas(contentRect.width(), contentRect.height(), false));
- OpaqueRectDrawingGraphicsContextPainter painter(opaqueRectInLayerSpace, contentRect);
- OpaqueRectTrackingContentLayerDelegate opaqueRectTrackingContentLayerDelegate(&painter);
- MockContentLayerDelegate delegate(&opaqueRectTrackingContentLayerDelegate);
- RefPtr<BitmapCanvasLayerTextureUpdater> updater = BitmapCanvasLayerTextureUpdater::create(ContentLayerPainter::create(&delegate));
+ MockContentLayerChromiumClient client(opaqueRectInLayerSpace);
+ RefPtr<BitmapCanvasLayerTextureUpdater> updater = BitmapCanvasLayerTextureUpdater::create(ContentLayerPainter::create(&client));
IntRect resultingOpaqueRect;
CCRenderingStats stats;
updater->prepareToUpdate(contentRect, IntSize(256, 256), contentsScale, contentsScale, resultingOpaqueRect, stats);
- EXPECT_INT_RECT_EQ(opaqueRectInContentSpace, resultingOpaqueRect);
+ EXPECT_RECT_EQ(opaqueRectInContentSpace, resultingOpaqueRect);
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h b/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
index b87305afe..dc5b02763 100755
--- a/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
+++ b/Source/WebKit/chromium/tests/FakeCCLayerTreeHostClient.h
@@ -27,6 +27,7 @@
#include "config.h"
+#include "CCInputHandler.h"
#include "CCLayerTreeHost.h"
#include "CompositorFakeWebGraphicsContext3D.h"
#include "FakeWebCompositorOutputSurface.h"
@@ -37,7 +38,7 @@ class FakeCCLayerTreeHostClient : public CCLayerTreeHostClient {
public:
virtual void willBeginFrame() OVERRIDE { }
virtual void didBeginFrame() OVERRIDE { }
- virtual void updateAnimations(double monotonicFrameBeginTime) OVERRIDE { }
+ virtual void animate(double monotonicFrameBeginTime) OVERRIDE { }
virtual void layout() OVERRIDE { }
virtual void applyScrollAndScale(const IntSize& scrollDelta, float pageScale) OVERRIDE { }
@@ -47,6 +48,7 @@ public:
return WebKit::FakeWebCompositorOutputSurface::create(WebKit::CompositorFakeWebGraphicsContext3D::create(attrs));
}
virtual void didRecreateOutputSurface(bool success) OVERRIDE { }
+ virtual PassOwnPtr<CCInputHandler> createInputHandler() OVERRIDE { return nullptr; }
virtual void willCommit() OVERRIDE { }
virtual void didCommit() OVERRIDE { }
virtual void didCommitAndDrawFrame() OVERRIDE { }
diff --git a/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h b/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h
index c20c9f991..1d93b6b6e 100644
--- a/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h
+++ b/Source/WebKit/chromium/tests/FakeWebCompositorOutputSurface.h
@@ -28,6 +28,8 @@
#include <public/WebCompositorOutputSurface.h>
#include <public/WebGraphicsContext3D.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
namespace WebKit {
diff --git a/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
index c0a9cf2ef..cff826eed 100644
--- a/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/GraphicsLayerChromiumTest.cpp
@@ -33,10 +33,12 @@
#include "GraphicsLayer.h"
#include "Matrix3DTransformOperation.h"
#include "RotateTransformOperation.h"
+#include "ScrollableArea.h"
#include "TranslateTransformOperation.h"
#include "WebLayerTreeViewTestCommon.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebFloatAnimationCurve.h>
#include <public/WebGraphicsContext3D.h>
#include <public/WebLayerTreeView.h>
@@ -62,19 +64,19 @@ public:
GraphicsLayerChromiumTest()
{
// For these tests, we will enable threaded animations.
- WebCompositor::setAcceleratedAnimationEnabled(true);
- WebCompositor::initialize(0);
+ Platform::current()->compositorSupport()->setAcceleratedAnimationEnabled(true);
+ Platform::current()->compositorSupport()->initialize(0);
m_graphicsLayer = static_pointer_cast<GraphicsLayerChromium>(GraphicsLayer::create(&m_client));
m_platformLayer = m_graphicsLayer->platformLayer();
- m_layerTreeView.initialize(&m_layerTreeViewClient, *m_platformLayer, WebLayerTreeView::Settings());
- m_layerTreeView.setViewportSize(WebSize(1, 1), WebSize(1, 1));
+ m_layerTreeView = adoptPtr(Platform::current()->compositorSupport()->createLayerTreeView(&m_layerTreeViewClient, *m_platformLayer, WebLayerTreeView::Settings()));
+ m_layerTreeView->setViewportSize(WebSize(1, 1), WebSize(1, 1));
}
virtual ~GraphicsLayerChromiumTest()
{
m_graphicsLayer.clear();
- m_layerTreeView.reset();
- WebCompositor::shutdown();
+ m_layerTreeView.clear();
+ Platform::current()->compositorSupport()->shutdown();
}
protected:
@@ -88,7 +90,7 @@ protected:
private:
MockWebLayerTreeViewClient m_layerTreeViewClient;
- WebLayerTreeView m_layerTreeView;
+ OwnPtr<WebLayerTreeView> m_layerTreeView;
MockGraphicsLayerClient m_client;
};
@@ -96,9 +98,10 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
{
ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
- OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(WebFloatAnimationCurve::create());
+ OwnPtr<WebFloatAnimationCurve> curve = adoptPtr(Platform::current()->compositorSupport()->createFloatAnimationCurve());
curve->add(WebFloatKeyframe(0.0, 0.0));
- OwnPtr<WebAnimation> floatAnimation(adoptPtr(WebAnimation::create(*curve, 1, 1, WebAnimation::TargetPropertyOpacity)));
+ OwnPtr<WebAnimation> floatAnimation(adoptPtr(Platform::current()->compositorSupport()->createAnimation(*curve, WebAnimation::TargetPropertyOpacity)));
+ int animationId = floatAnimation->id();
ASSERT_TRUE(m_platformLayer->addAnimation(floatAnimation.get()));
ASSERT_TRUE(m_platformLayer->hasActiveAnimation());
@@ -109,7 +112,7 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
ASSERT_TRUE(m_platformLayer);
ASSERT_TRUE(m_platformLayer->hasActiveAnimation());
- m_platformLayer->removeAnimation(1);
+ m_platformLayer->removeAnimation(animationId);
ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
m_graphicsLayer->setPreserves3D(false);
@@ -120,9 +123,38 @@ TEST_F(GraphicsLayerChromiumTest, updateLayerPreserves3DWithAnimations)
ASSERT_FALSE(m_platformLayer->hasActiveAnimation());
}
-TEST_F(GraphicsLayerChromiumTest, shouldStartWithCorrectContentsScale)
+class FakeScrollableArea : public ScrollableArea {
+public:
+ virtual bool isActive() const OVERRIDE { return false; }
+ virtual int scrollSize(ScrollbarOrientation) const OVERRIDE { return 100; }
+ virtual int scrollPosition(Scrollbar*) const OVERRIDE { return 0; }
+ virtual bool isScrollCornerVisible() const OVERRIDE { return false; }
+ virtual IntRect scrollCornerRect() const OVERRIDE { return IntRect(); }
+ virtual int visibleWidth() const OVERRIDE { return 10; }
+ virtual int visibleHeight() const OVERRIDE { return 10; }
+ virtual IntSize contentsSize() const OVERRIDE { return IntSize(100, 100); }
+ virtual bool isOnActivePage() const OVERRIDE { return false; }
+ virtual ScrollableArea* enclosingScrollableArea() const OVERRIDE { return 0; }
+ virtual IntRect scrollableAreaBoundingBox() const OVERRIDE { return IntRect(); }
+ virtual void invalidateScrollbarRect(Scrollbar*, const IntRect&) OVERRIDE { }
+ virtual void invalidateScrollCornerRect(const IntRect&) OVERRIDE { }
+
+ virtual void setScrollOffset(const IntPoint& scrollOffset) OVERRIDE { m_scrollPosition = scrollOffset; }
+ virtual IntPoint scrollPosition() const OVERRIDE { return m_scrollPosition; }
+
+private:
+ IntPoint m_scrollPosition;
+};
+
+TEST_F(GraphicsLayerChromiumTest, applyScrollToScrollableArea)
{
- EXPECT_EQ(2, m_graphicsLayer->contentsScale());
+ FakeScrollableArea scrollableArea;
+ m_graphicsLayer->setScrollableArea(&scrollableArea);
+
+ WebPoint scrollPosition(7, 9);
+ m_platformLayer->setScrollPosition(scrollPosition);
+
+ EXPECT_EQ(scrollPosition, WebPoint(scrollableArea.scrollPosition()));
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp b/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
index ead7f9bb9..1fa2c262d 100644
--- a/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
+++ b/Source/WebKit/chromium/tests/IDBDatabaseBackendTest.cpp
@@ -57,12 +57,12 @@ TEST(IDBDatabaseBackendTest, BackingStoreRetention)
EXPECT_GT(backingStore->refCount(), 1);
const bool autoIncrement = false;
- RefPtr<IDBObjectStoreBackendImpl> store = IDBObjectStoreBackendImpl::create(db.get(), "store", String("keyPath"), autoIncrement);
+ RefPtr<IDBObjectStoreBackendImpl> store = IDBObjectStoreBackendImpl::create(db.get(), "store", IDBKeyPath("keyPath"), autoIncrement);
EXPECT_GT(backingStore->refCount(), 1);
const bool unique = false;
const bool multiEntry = false;
- RefPtr<IDBIndexBackendImpl> index = IDBIndexBackendImpl::create(db.get(), store.get(), "index", String("keyPath"), unique, multiEntry);
+ RefPtr<IDBIndexBackendImpl> index = IDBIndexBackendImpl::create(db.get(), store.get(), "index", IDBKeyPath("keyPath"), unique, multiEntry);
EXPECT_GT(backingStore->refCount(), 1);
db.clear();
diff --git a/Source/WebKit/chromium/tests/LayerChromiumTest.cpp b/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
index 0e6eb0eb4..a17b076f3 100644
--- a/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/LayerChromiumTest.cpp
@@ -26,15 +26,15 @@
#include "LayerChromium.h"
+#include "CCGeometryTestUtils.h"
#include "CCLayerImpl.h"
#include "CCLayerTreeHost.h"
-#include "CCLayerTreeTestCommon.h"
#include "CCSingleThreadProxy.h"
#include "FakeCCLayerTreeHostClient.h"
#include "LayerPainterChromium.h"
+#include "WebCompositorInitializer.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebTransformationMatrix.h>
using namespace WebCore;
@@ -74,11 +74,15 @@ public:
class LayerChromiumTest : public testing::Test {
+public:
+ LayerChromiumTest()
+ : m_compositorInitializer(0)
+ {
+ }
+
protected:
virtual void SetUp()
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
m_layerTreeHost = adoptPtr(new MockCCLayerTreeHost);
}
@@ -96,7 +100,6 @@ protected:
m_layerTreeHost->setRootLayer(0);
m_layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
void verifyTestTreeInitialState() const
@@ -149,6 +152,7 @@ protected:
OwnPtr<MockCCLayerTreeHost> m_layerTreeHost;
RefPtr<LayerChromium> m_parent, m_child1, m_child2, m_child3, m_grandChild1, m_grandChild2, m_grandChild3;
+ WebCompositorInitializer m_compositorInitializer;
};
TEST_F(LayerChromiumTest, basicCreateAndDestroy)
@@ -635,7 +639,7 @@ void assertLayerTreeHostMatchesForSubtree(LayerChromium* layer, CCLayerTreeHost*
TEST(LayerChromiumLayerTreeHostTest, enteringTree)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
RefPtr<LayerChromium> child = LayerChromium::create();
RefPtr<LayerChromium> mask = LayerChromium::create();
@@ -662,12 +666,11 @@ TEST(LayerChromiumLayerTreeHostTest, enteringTree)
assertLayerTreeHostMatchesForSubtree(parent.get(), 0);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, addingLayerSubtree)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
OwnPtr<FakeCCLayerTreeHost> layerTreeHost(FakeCCLayerTreeHost::create());
@@ -693,12 +696,11 @@ TEST(LayerChromiumLayerTreeHostTest, addingLayerSubtree)
layerTreeHost->setRootLayer(0);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, changeHost)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
RefPtr<LayerChromium> child = LayerChromium::create();
RefPtr<LayerChromium> mask = LayerChromium::create();
@@ -726,12 +728,11 @@ TEST(LayerChromiumLayerTreeHostTest, changeHost)
secondLayerTreeHost->setRootLayer(0);
firstLayerTreeHost.clear();
secondLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, changeHostInSubtree)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> firstParent = LayerChromium::create();
RefPtr<LayerChromium> firstChild = LayerChromium::create();
RefPtr<LayerChromium> secondParent = LayerChromium::create();
@@ -763,12 +764,11 @@ TEST(LayerChromiumLayerTreeHostTest, changeHostInSubtree)
secondLayerTreeHost->setRootLayer(0);
firstLayerTreeHost.clear();
secondLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, replaceMaskAndReplicaLayer)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> parent = LayerChromium::create();
RefPtr<LayerChromium> mask = LayerChromium::create();
RefPtr<LayerChromium> replica = LayerChromium::create();
@@ -800,19 +800,17 @@ TEST(LayerChromiumLayerTreeHostTest, replaceMaskAndReplicaLayer)
// Test over, cleanup time.
layerTreeHost->setRootLayer(0);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST(LayerChromiumLayerTreeHostTest, destroyHostWithNonNullRootLayer)
{
- WebKit::WebCompositor::initialize(0);
+ WebCompositorInitializer compositorInitializer(0);
RefPtr<LayerChromium> root = LayerChromium::create();
RefPtr<LayerChromium> child = LayerChromium::create();
root->addChild(child);
OwnPtr<FakeCCLayerTreeHost> layerTreeHost(FakeCCLayerTreeHost::create());
layerTreeHost->setRootLayer(root);
layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
class MockLayerChromium : public LayerChromium {
diff --git a/Source/WebKit/chromium/tests/LinkHighlightTest.cpp b/Source/WebKit/chromium/tests/LinkHighlightTest.cpp
index 64830ef22..eafe2307f 100644
--- a/Source/WebKit/chromium/tests/LinkHighlightTest.cpp
+++ b/Source/WebKit/chromium/tests/LinkHighlightTest.cpp
@@ -30,10 +30,10 @@
#include "IntRect.h"
#include "Node.h"
#include "URLTestHelpers.h"
+#include "WebCompositorInitializer.h"
#include "WebFrame.h"
#include "WebViewImpl.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebContentLayer.h>
#include <public/WebFloatPoint.h>
#include <public/WebSize.h>
@@ -47,7 +47,7 @@ namespace {
#if ENABLE(GESTURE_EVENTS)
TEST(LinkHighlightTest, verifyWebViewImplIntegration)
{
- WebCompositor::initialize(0);
+ WebKitTests::WebCompositorInitializer compositorInitializer(0);
const std::string baseURL("http://www.test.com/");
const std::string fileName("test_touch_link_highlight.html");
@@ -82,7 +82,6 @@ TEST(LinkHighlightTest, verifyWebViewImplIntegration)
ASSERT_TRUE(webViewImpl->linkHighlight());
webViewImpl->close();
- WebCompositor::shutdown();
}
#endif
diff --git a/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp b/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
index b5b50bf7d..51b200ade 100644
--- a/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
+++ b/Source/WebKit/chromium/tests/MemoryInstrumentationTest.cpp
@@ -32,6 +32,7 @@
#include "DataRef.h"
#include "MemoryInstrumentationImpl.h"
+#include "WebCoreMemoryInstrumentation.h"
#include <gtest/gtest.h>
@@ -58,7 +59,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_notInstrumented);
}
NotInstrumented* m_notInstrumented;
@@ -122,7 +123,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addMember(m_notInstrumented);
}
NotInstrumented* m_notInstrumented;
@@ -155,7 +156,7 @@ public:
virtual void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::CSS);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::CSS);
Instrumented::reportMemoryUsage(memoryObjectInfo);
info.addMember(m_notInstrumentedOwnPtr);
}
@@ -172,27 +173,27 @@ TEST(MemoryInstrumentationTest, ownPtrNotInstrumented)
EXPECT_EQ(2, visitedObjects.size());
}
-class InstrumentedOther {
+class InstrumentedUndefined {
public:
- InstrumentedOther() : m_data(0) { }
+ InstrumentedUndefined() : m_data(0) { }
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::Other);
+ MemoryClassInfo info(memoryObjectInfo, this, GenericMemoryTypes::Undefined);
}
int m_data;
};
class InstrumentedDOM {
public:
- InstrumentedDOM() : m_instrumentedOther(adoptPtr(new InstrumentedOther)) { }
+ InstrumentedDOM() : m_instrumentedUndefined(adoptPtr(new InstrumentedUndefined)) { }
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
- info.addInstrumentedMember(m_instrumentedOther);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ info.addInstrumentedMember(m_instrumentedUndefined);
}
- OwnPtr<InstrumentedOther> m_instrumentedOther;
+ OwnPtr<InstrumentedUndefined> m_instrumentedUndefined;
};
TEST(MemoryInstrumentationTest, ownerTypePropagation)
@@ -201,8 +202,8 @@ TEST(MemoryInstrumentationTest, ownerTypePropagation)
MemoryInstrumentationImpl impl(visitedObjects);
OwnPtr<InstrumentedDOM> instrumentedDOM(adoptPtr(new InstrumentedDOM));
impl.addRootObject(instrumentedDOM);
- EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedOther), impl.reportedSizeForAllTypes());
- EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedOther), impl.totalSize(MemoryInstrumentation::DOM));
+ EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedUndefined), impl.reportedSizeForAllTypes());
+ EXPECT_EQ(sizeof(InstrumentedDOM) + sizeof(InstrumentedUndefined), impl.totalSize(WebCoreMemoryTypes::DOM));
EXPECT_EQ(2, visitedObjects.size());
}
@@ -210,7 +211,7 @@ class NonVirtualInstrumented {
public:
void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- MemoryClassInfo info(memoryObjectInfo, this, MemoryInstrumentation::DOM);
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
info.addInstrumentedMember(m_instrumented);
}
@@ -227,32 +228,26 @@ TEST(MemoryInstrumentationTest, visitFirstMemberInNonVirtualClass)
EXPECT_EQ(2, visitedObjects.size());
}
-TEST(MemoryInstrumentationTest, visitStrings)
-{
- {
- VisitedObjects visitedObjects;
- MemoryInstrumentationImpl impl(visitedObjects);
- String string("string");
- impl.addRootObject(string);
- EXPECT_EQ(string.impl()->sizeInBytes(), impl.reportedSizeForAllTypes());
- EXPECT_EQ(2, visitedObjects.size());
- }
- {
- VisitedObjects visitedObjects;
- MemoryInstrumentationImpl impl(visitedObjects);
- String string("string");
- impl.addRootObject(&string);
- EXPECT_EQ(string.impl()->sizeInBytes() + sizeof(String), impl.reportedSizeForAllTypes());
- EXPECT_EQ(2, visitedObjects.size());
- }
+class StringOwnerInstrumented {
+public:
+ StringOwnerInstrumented() : m_name("string") { }
+ void reportMemoryUsage(MemoryObjectInfo* memoryObjectInfo) const
{
- VisitedObjects visitedObjects;
- MemoryInstrumentationImpl impl(visitedObjects);
- AtomicString string("string");
- impl.addRootObject(&string);
- EXPECT_EQ(string.impl()->sizeInBytes() + sizeof(AtomicString), impl.reportedSizeForAllTypes());
- EXPECT_EQ(2, visitedObjects.size());
+ MemoryClassInfo info(memoryObjectInfo, this, WebCoreMemoryTypes::DOM);
+ info.addInstrumentedMember(m_name);
}
+
+ String m_name;
+};
+
+TEST(MemoryInstrumentationTest, visitStrings)
+{
+ VisitedObjects visitedObjects;
+ MemoryInstrumentationImpl impl(visitedObjects);
+ StringOwnerInstrumented stringOwnerInstrumented;
+ impl.addRootObject(stringOwnerInstrumented);
+ EXPECT_EQ(stringOwnerInstrumented.m_name.impl()->sizeInBytes(), impl.reportedSizeForAllTypes());
+ EXPECT_EQ(2, visitedObjects.size());
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/MockCCQuadCuller.h b/Source/WebKit/chromium/tests/MockCCQuadCuller.h
index 59a0073ce..1833f349e 100644
--- a/Source/WebKit/chromium/tests/MockCCQuadCuller.h
+++ b/Source/WebKit/chromium/tests/MockCCQuadCuller.h
@@ -44,7 +44,7 @@ public:
, m_activeSharedQuadStateList(externalSharedQuadStateList)
{ }
- virtual bool append(WTF::PassOwnPtr<CCDrawQuad> newQuad) OVERRIDE
+ virtual bool append(PassOwnPtr<CCDrawQuad> newQuad, CCAppendQuadsData&) OVERRIDE
{
OwnPtr<CCDrawQuad> drawQuad = newQuad;
if (!drawQuad->quadRect().isEmpty()) {
diff --git a/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp b/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp
index 4f0a2276f..9bda21764 100644
--- a/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp
+++ b/Source/WebKit/chromium/tests/PlatformGestureCurveTest.cpp
@@ -28,10 +28,8 @@
#include "PlatformGestureCurve.h"
#include "ActivePlatformGestureAnimation.h"
-#include "CCActiveGestureAnimation.h"
-#include "CCGestureCurve.h"
#include "PlatformGestureCurveTarget.h"
-#include "TouchpadFlingPlatformGestureCurve.h"
+#include "TouchFlingPlatformGestureCurve.h"
#include "WheelFlingPlatformGestureCurve.h"
#include <gtest/gtest.h>
#include <wtf/OwnPtr.h>
@@ -101,7 +99,7 @@ TEST(PlatformGestureCurve, flingCurveTouch)
{
double initialVelocity = 5000;
MockPlatformGestureCurveTarget target;
- OwnPtr<ActivePlatformGestureAnimation> animation = ActivePlatformGestureAnimation::create(TouchpadFlingPlatformGestureCurve::create(FloatPoint(initialVelocity, 0)), &target);
+ OwnPtr<ActivePlatformGestureAnimation> animation = ActivePlatformGestureAnimation::create(TouchFlingPlatformGestureCurve::createForTouchPad(FloatPoint(initialVelocity, 0)), &target);
// Note: the expectations below are dependent on the value of sigma hard-coded in the curve parameters.
// If the parameters change, then the tests values/expectations will need to be updated.
diff --git a/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp
index 6242043b3..c6efbb5bf 100644
--- a/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/ScrollbarLayerChromiumTest.cpp
@@ -30,8 +30,6 @@
#include "CCScrollbarLayerImpl.h"
#include "CCSingleThreadProxy.h"
#include "FakeWebScrollbarThemeGeometry.h"
-#include "Scrollbar.h"
-#include "Settings.h"
#include "TreeSynchronizer.h"
#include <gtest/gtest.h>
#include <public/WebScrollbar.h>
@@ -42,68 +40,37 @@ using namespace WebCore;
namespace {
-class MockScrollbar : public Scrollbar {
+class FakeWebScrollbar : public WebKit::WebScrollbar {
public:
- virtual int x() const { return 0; }
- virtual int y() const { return 0; }
- virtual int width() const { return 0; }
- virtual int height() const { return 0; }
- virtual IntSize size() const { return IntSize(); }
- virtual IntPoint location() const { return IntPoint(); }
-
- virtual ScrollView* parent() const { return 0; }
- virtual ScrollView* root() const { return 0; }
-
- virtual void setFrameRect(const IntRect&) { }
- virtual IntRect frameRect() const { return IntRect(); }
-
- virtual void invalidate() { }
- virtual void invalidateRect(const IntRect&) { }
-
- virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const { return ScrollbarOverlayStyleDefault; }
- virtual void getTickmarks(Vector<IntRect>&) const { }
- virtual bool isScrollableAreaActive() const { return false; }
- virtual bool isScrollViewScrollbar() const { return false; }
-
- virtual IntPoint convertFromContainingWindow(const IntPoint& windowPoint) { return windowPoint; }
-
- virtual bool isCustomScrollbar() const { return false; }
- virtual ScrollbarOrientation orientation() const { return HorizontalScrollbar; }
-
- virtual int value() const { return 0; }
- virtual float currentPos() const { return 0; }
- virtual int visibleSize() const { return 1; }
- virtual int totalSize() const { return 1; }
- virtual int maximum() const { return 0; }
- virtual ScrollbarControlSize controlSize() const { return RegularScrollbar; }
-
- virtual int lineStep() const { return 0; }
- virtual int pageStep() const { return 0; }
-
- virtual ScrollbarPart pressedPart() const { return NoPart; }
- virtual ScrollbarPart hoveredPart() const { return NoPart; }
-
- virtual void styleChanged() { }
-
- virtual bool enabled() const { return false; }
- virtual void setEnabled(bool) { }
-
- virtual bool isOverlayScrollbar() const { return false; }
-
- MockScrollbar() : Scrollbar(0, HorizontalScrollbar, RegularScrollbar) { }
- virtual ~MockScrollbar() { }
+ static PassOwnPtr<FakeWebScrollbar> create() { return adoptPtr(new FakeWebScrollbar()); }
+
+ // WebScrollbar implementation
+ virtual bool isOverlay() const OVERRIDE { return false; }
+ virtual int value() const OVERRIDE { return 0; }
+ virtual WebKit::WebPoint location() const OVERRIDE { return WebKit::WebPoint(); }
+ virtual WebKit::WebSize size() const OVERRIDE { return WebKit::WebSize(); }
+ virtual bool enabled() const OVERRIDE { return true; }
+ virtual int maximum() const OVERRIDE { return 0; }
+ virtual int totalSize() const OVERRIDE { return 0; }
+ virtual bool isScrollViewScrollbar() const OVERRIDE { return false; }
+ virtual bool isScrollableAreaActive() const OVERRIDE { return true; }
+ virtual void getTickmarks(WebKit::WebVector<WebKit::WebRect>&) const OVERRIDE { }
+ virtual ScrollbarControlSize controlSize() const OVERRIDE { return WebScrollbar::RegularScrollbar; }
+ virtual ScrollbarPart pressedPart() const OVERRIDE { return WebScrollbar::NoPart; }
+ virtual ScrollbarPart hoveredPart() const OVERRIDE { return WebScrollbar::NoPart; }
+ virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const OVERRIDE { return WebScrollbar::ScrollbarOverlayStyleDefault; }
+ virtual bool isCustomScrollbar() const OVERRIDE { return false; }
+ virtual Orientation orientation() const OVERRIDE { return WebScrollbar::Horizontal; }
};
TEST(ScrollbarLayerChromiumTest, resolveScrollLayerPointer)
{
DebugScopedSetImplThread impl;
- RefPtr<MockScrollbar> mockScrollbar = adoptRef(new MockScrollbar);
- WebKit::WebScrollbarThemePainter painter(0, mockScrollbar.get());
+ WebKit::WebScrollbarThemePainter painter;
- Settings::setMockScrollbarsEnabled(true);
{
- OwnPtr<WebKit::WebScrollbar> scrollbar = WebKit::WebScrollbar::create(mockScrollbar.get());
+ OwnPtr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::create());
RefPtr<LayerChromium> layerTreeRoot = LayerChromium::create();
RefPtr<LayerChromium> child1 = LayerChromium::create();
RefPtr<LayerChromium> child2 = ScrollbarLayerChromium::create(scrollbar.release(), painter, WebKit::FakeWebScrollbarThemeGeometry::create(), child1->id());
@@ -120,7 +87,7 @@ TEST(ScrollbarLayerChromiumTest, resolveScrollLayerPointer)
}
{ // another traverse order
- OwnPtr<WebKit::WebScrollbar> scrollbar = WebKit::WebScrollbar::create(mockScrollbar.get());
+ OwnPtr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::create());
RefPtr<LayerChromium> layerTreeRoot = LayerChromium::create();
RefPtr<LayerChromium> child2 = LayerChromium::create();
RefPtr<LayerChromium> child1 = ScrollbarLayerChromium::create(scrollbar.release(), painter, WebKit::FakeWebScrollbarThemeGeometry::create(), child2->id());
@@ -141,12 +108,9 @@ TEST(ScrollbarLayerChromiumTest, scrollOffsetSynchronization)
{
DebugScopedSetImplThread impl;
- RefPtr<MockScrollbar> mockScrollbar = adoptRef(new MockScrollbar);
- WebKit::WebScrollbarThemePainter painter(0, mockScrollbar.get());
-
- Settings::setMockScrollbarsEnabled(true);
+ WebKit::WebScrollbarThemePainter painter;
- OwnPtr<WebKit::WebScrollbar> scrollbar = WebKit::WebScrollbar::create(mockScrollbar.get());
+ OwnPtr<WebKit::WebScrollbar> scrollbar(FakeWebScrollbar::create());
RefPtr<LayerChromium> layerTreeRoot = LayerChromium::create();
RefPtr<LayerChromium> contentLayer = LayerChromium::create();
RefPtr<LayerChromium> scrollbarLayer = ScrollbarLayerChromium::create(scrollbar.release(), painter, WebKit::FakeWebScrollbarThemeGeometry::create(), layerTreeRoot->id());
diff --git a/Source/WebKit/chromium/tests/TextureCopierTest.cpp b/Source/WebKit/chromium/tests/TextureCopierTest.cpp
index 432dd7c4a..c4bf63703 100644
--- a/Source/WebKit/chromium/tests/TextureCopierTest.cpp
+++ b/Source/WebKit/chromium/tests/TextureCopierTest.cpp
@@ -27,7 +27,7 @@
#include "TextureCopier.h"
#include "FakeWebGraphicsContext3D.h"
-
+#include "GraphicsContext3D.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include <wtf/RefPtr.h>
@@ -41,14 +41,13 @@ using testing::_;
class MockContext : public FakeWebGraphicsContext3D {
public:
MOCK_METHOD2(bindFramebuffer, void(WGC3Denum, WebGLId));
- MOCK_METHOD3(texParameteri, void(GC3Denum target, GC3Denum pname, GC3Dint param));
+ MOCK_METHOD3(texParameteri, void(WGC3Denum target, WGC3Denum pname, WGC3Dint param));
- MOCK_METHOD3(drawArrays, void(GC3Denum mode, GC3Dint first, GC3Dsizei count));
+ MOCK_METHOD3(drawArrays, void(WGC3Denum mode, WGC3Dint first, WGC3Dsizei count));
};
TEST(TextureCopierTest, testDrawArraysCopy)
{
- GraphicsContext3D::Attributes attrs;
OwnPtr<MockContext> mockContext = adoptPtr(new MockContext);
{
diff --git a/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp
index a4830e53f..72e0206ad 100644
--- a/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/TextureLayerChromiumTest.cpp
@@ -28,9 +28,9 @@
#include "CCLayerTreeHost.h"
#include "FakeCCLayerTreeHostClient.h"
+#include "WebCompositorInitializer.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
using namespace WebCore;
using ::testing::Mock;
@@ -56,11 +56,15 @@ private:
class TextureLayerChromiumTest : public testing::Test {
+public:
+ TextureLayerChromiumTest()
+ : m_compositorInitializer(0)
+ {
+ }
+
protected:
virtual void SetUp()
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
m_layerTreeHost = adoptPtr(new MockCCLayerTreeHost);
}
@@ -71,10 +75,11 @@ protected:
m_layerTreeHost->setRootLayer(0);
m_layerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
OwnPtr<MockCCLayerTreeHost> m_layerTreeHost;
+private:
+ WebKitTests::WebCompositorInitializer m_compositorInitializer;
};
TEST_F(TextureLayerChromiumTest, syncImplWhenChangingTextureId)
diff --git a/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp b/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp
index 3660c9412..8937f14ad 100644
--- a/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp
+++ b/Source/WebKit/chromium/tests/ThrottledTextureUploaderTest.cpp
@@ -28,6 +28,7 @@
#include "Extensions3DChromium.h"
#include "FakeWebGraphicsContext3D.h"
+#include "GraphicsContext3D.h"
#include <gmock/gmock.h>
#include <gtest/gtest.h>
@@ -64,7 +65,6 @@ private:
TEST(ThrottledTextureUploaderTest, IsBusy)
{
- GraphicsContext3D::Attributes attrs;
OwnPtr<FakeWebGraphicsContext3DWithQueryTesting> fakeContext(adoptPtr(new FakeWebGraphicsContext3DWithQueryTesting));
OwnPtr<ThrottledTextureUploader> uploader = ThrottledTextureUploader::create(fakeContext.get(), 2);
diff --git a/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp b/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
index 00ee28a68..85821a8b3 100644
--- a/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
+++ b/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp
@@ -28,7 +28,7 @@
#include "BitmapCanvasLayerTextureUpdater.h"
#include "CCAnimationTestCommon.h"
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include "CCOverdrawMetrics.h"
#include "CCRenderingStats.h"
#include "CCSingleThreadProxy.h" // For DebugScopedSetImplThread
@@ -37,8 +37,8 @@
#include "FakeCCGraphicsContext.h"
#include "FakeCCLayerTreeHostClient.h"
#include "LayerPainterChromium.h"
+#include "WebCompositorInitializer.h"
#include <gtest/gtest.h>
-#include <public/WebCompositor.h>
#include <public/WebTransformationMatrix.h>
using namespace WebCore;
@@ -46,12 +46,6 @@ using namespace WebKitTests;
using namespace WTF;
using WebKit::WebTransformationMatrix;
-#define EXPECT_EQ_RECT(a, b) \
- EXPECT_EQ(a.x(), b.x()); \
- EXPECT_EQ(a.y(), b.y()); \
- EXPECT_EQ(a.width(), b.width()); \
- EXPECT_EQ(a.height(), b.height());
-
namespace {
class TestCCOcclusionTracker : public CCOcclusionTracker {
@@ -76,29 +70,72 @@ private:
class TiledLayerChromiumTest : public testing::Test {
public:
TiledLayerChromiumTest()
- : m_context(WebKit::createFakeCCGraphicsContext())
+ : m_compositorInitializer(0)
+ , m_context(WebKit::createFakeCCGraphicsContext())
, m_textureManager(CCPrioritizedTextureManager::create(60*1024*1024, 1024, CCRenderer::ContentPool))
, m_occlusion(0)
{
- DebugScopedSetImplThread implThread;
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
m_resourceProvider = CCResourceProvider::create(m_context.get());
}
virtual ~TiledLayerChromiumTest()
{
- DebugScopedSetImplThread implThread;
+ textureManagerClearAllMemory(m_textureManager.get(), m_resourceProvider.get());
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
m_resourceProvider.clear();
}
+ // Helper classes and functions that set the current thread to be the impl thread
+ // before doing the action that they wrap.
+ class ScopedFakeCCTiledLayerImpl {
+ public:
+ ScopedFakeCCTiledLayerImpl(int id)
+ {
+ DebugScopedSetImplThread implThread;
+ m_layerImpl = new FakeCCTiledLayerImpl(id);
+ }
+ ~ScopedFakeCCTiledLayerImpl()
+ {
+ DebugScopedSetImplThread implThread;
+ delete m_layerImpl;
+ }
+ FakeCCTiledLayerImpl* get()
+ {
+ return m_layerImpl;
+ }
+ FakeCCTiledLayerImpl* operator->()
+ {
+ return m_layerImpl;
+ }
+ private:
+ FakeCCTiledLayerImpl* m_layerImpl;
+ };
+ void textureManagerClearAllMemory(CCPrioritizedTextureManager* textureManager, CCResourceProvider* resourceProvider)
+ {
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
+ textureManager->clearAllMemory(resourceProvider);
+ }
void updateTextures(int count = 500)
{
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
CCTextureUpdateController::updateTextures(m_resourceProvider.get(), &m_copier, &m_uploader, &m_queue, count);
}
+ void layerPushPropertiesTo(FakeTiledLayerChromium* layer, FakeCCTiledLayerImpl* layerImpl)
+ {
+ DebugScopedSetImplThreadAndMainThreadBlocked implThreadAndMainThreadBlocked;
+ layer->pushPropertiesTo(layerImpl);
+ }
+ void layerUpdate(FakeTiledLayerChromium* layer, TestCCOcclusionTracker* occluded)
+ {
+ DebugScopedSetMainThread mainThread;
+ layer->update(m_queue, occluded, m_stats);
+ }
bool updateAndPush(FakeTiledLayerChromium* layer1,
- CCLayerImpl* layerImpl1,
+ FakeCCTiledLayerImpl* layerImpl1,
FakeTiledLayerChromium* layer2 = 0,
- CCLayerImpl* layerImpl2 = 0)
+ FakeCCTiledLayerImpl* layerImpl2 = 0)
{
// Get textures
m_textureManager->clearPriorities();
@@ -123,14 +160,15 @@ public:
// Update textures and push.
updateTextures();
if (layer1)
- layer1->pushPropertiesTo(layerImpl1);
+ layerPushPropertiesTo(layer1, layerImpl1);
if (layer2)
- layer2->pushPropertiesTo(layerImpl2);
+ layerPushPropertiesTo(layer2, layerImpl2);
return needsUpdate;
}
public:
+ WebKitTests::WebCompositorInitializer m_compositorInitializer;
OwnPtr<CCGraphicsContext> m_context;
OwnPtr<CCResourceProvider> m_resourceProvider;
CCTextureUpdateQueue m_queue;
@@ -145,8 +183,7 @@ public:
TEST_F(TiledLayerChromiumTest, pushDirtyTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
layer->setBounds(IntSize(100, 200));
@@ -172,8 +209,7 @@ TEST_F(TiledLayerChromiumTest, pushDirtyTiles)
TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
TestCCOcclusionTracker occluded;
m_occlusion = &occluded;
@@ -209,8 +245,7 @@ TEST_F(TiledLayerChromiumTest, pushOccludedDirtyTiles)
TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
layer->setBounds(IntSize(100, 200));
@@ -223,11 +258,11 @@ TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
m_textureManager->clearPriorities();
- m_textureManager->clearAllMemory(m_resourceProvider.get());
+ textureManagerClearAllMemory(m_textureManager.get(), m_resourceProvider.get());
m_textureManager->setMaxMemoryLimitBytes(4*1024*1024);
// This should drop the tiles on the impl thread.
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
// We should now have no textures on the impl thread.
EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
@@ -245,8 +280,7 @@ TEST_F(TiledLayerChromiumTest, pushDeletedTiles)
TEST_F(TiledLayerChromiumTest, pushIdlePaintTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100. Setup 5x5 tiles with one visible tile in the center.
// This paints 1 visible of the 25 invalid tiles.
@@ -283,11 +317,10 @@ TEST_F(TiledLayerChromiumTest, pushTilesAfterIdlePaintFailed)
{
// Start with 2mb of memory, but the test is going to try to use just more than 1mb, so we reduce to 1mb later.
m_textureManager->setMaxMemoryLimitBytes(2 * 1024 * 1024);
- DebugScopedSetImplThread implThread;
RefPtr<FakeTiledLayerChromium> layer1 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- OwnPtr<FakeCCTiledLayerImpl> layerImpl1(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl1(1);
RefPtr<FakeTiledLayerChromium> layer2 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- OwnPtr<FakeCCTiledLayerImpl> layerImpl2(adoptPtr(new FakeCCTiledLayerImpl(2)));
+ ScopedFakeCCTiledLayerImpl layerImpl2(2);
// For this test we have two layers. layer1 exhausts most texture memory, leaving room for 2 more tiles from
// layer2, but not all three tiles. First we paint layer1, and one tile from layer2. Then when we idle paint
@@ -337,8 +370,7 @@ TEST_F(TiledLayerChromiumTest, pushTilesAfterIdlePaintFailed)
TEST_F(TiledLayerChromiumTest, pushIdlePaintedOccludedTiles)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
TestCCOcclusionTracker occluded;
m_occlusion = &occluded;
@@ -357,8 +389,7 @@ TEST_F(TiledLayerChromiumTest, pushIdlePaintedOccludedTiles)
TEST_F(TiledLayerChromiumTest, pushTilesMarkedDirtyDuringPaint)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
// However, during the paint, we invalidate one of the tiles. This should
@@ -377,9 +408,8 @@ TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnNextLayer)
{
RefPtr<FakeTiledLayerChromium> layer1 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
RefPtr<FakeTiledLayerChromium> layer2 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layer1Impl(adoptPtr(new FakeCCTiledLayerImpl(1)));
- OwnPtr<FakeCCTiledLayerImpl> layer2Impl(adoptPtr(new FakeCCTiledLayerImpl(2)));
+ ScopedFakeCCTiledLayerImpl layer1Impl(1);
+ ScopedFakeCCTiledLayerImpl layer2Impl(2);
// Invalidate a tile on layer1, during update of layer 2.
layer2->fakeLayerTextureUpdater()->setRectToInvalidate(IntRect(0, 50, 100, 50), layer1.get());
@@ -401,9 +431,8 @@ TEST_F(TiledLayerChromiumTest, pushTilesLayerMarkedDirtyDuringPaintOnPreviousLay
{
RefPtr<FakeTiledLayerChromium> layer1 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
RefPtr<FakeTiledLayerChromium> layer2 = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layer1Impl(adoptPtr(new FakeCCTiledLayerImpl(1)));
- OwnPtr<FakeCCTiledLayerImpl> layer2Impl(adoptPtr(new FakeCCTiledLayerImpl(2)));
+ ScopedFakeCCTiledLayerImpl layer1Impl(1);
+ ScopedFakeCCTiledLayerImpl layer2Impl(2);
layer1->fakeLayerTextureUpdater()->setRectToInvalidate(IntRect(0, 50, 100, 50), layer2.get());
layer1->setBounds(IntSize(100, 200));
@@ -424,7 +453,6 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
{
// Create a CCLayerTreeHost that has the right viewportsize,
// so the layer is considered small enough.
- WebKit::WebCompositor::initialize(0);
FakeCCLayerTreeHostClient fakeCCLayerTreeHostClient;
OwnPtr<CCLayerTreeHost> ccLayerTreeHost = CCLayerTreeHost::create(&fakeCCLayerTreeHostClient, CCLayerTreeSettings());
@@ -442,10 +470,9 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
layerWidth *= 2;
m_textureManager->setMaxMemoryLimitBytes(memoryForLayer);
- DebugScopedSetImplThread implThread;
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// Full size layer with half being visible.
IntSize contentBounds(layerWidth, layerHeight);
@@ -465,7 +492,7 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
m_textureManager->prioritizeTextures();
layer->update(m_queue, 0, m_stats);
updateTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
// We should have all the tiles for the small animated layer.
// We should still have the visible tiles when we didn't
@@ -483,14 +510,12 @@ TEST_F(TiledLayerChromiumTest, paintSmallAnimatedLayersImmediately)
}
}
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST_F(TiledLayerChromiumTest, idlePaintOutOfMemory)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// We have enough memory for only the visible rect, so we will run out of memory in first idle paint.
int memoryLimit = 4 * 100 * 100; // 1 tiles, 4 bytes per pixel.
@@ -513,8 +538,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintOutOfMemory)
TEST_F(TiledLayerChromiumTest, idlePaintZeroSizedLayer)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
bool animating[2] = {false, true};
for (int i = 0; i < 2; i++) {
@@ -541,8 +565,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintZeroSizedLayer)
TEST_F(TiledLayerChromiumTest, idlePaintNonVisibleLayers)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// Alternate between not visible and visible.
IntRect v(0, 0, 100, 100);
@@ -572,8 +595,7 @@ TEST_F(TiledLayerChromiumTest, idlePaintNonVisibleLayers)
TEST_F(TiledLayerChromiumTest, invalidateFromPrepare)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// The tile size is 100x100, so this invalidates and then paints two tiles.
layer->setBounds(IntSize(100, 200));
@@ -608,7 +630,6 @@ TEST_F(TiledLayerChromiumTest, verifyUpdateRectWhenContentBoundsAreScaled)
// The updateRect (that indicates what was actually painted) should be in
// layer space, not the content space.
RefPtr<FakeTiledLayerWithScaledBounds> layer = adoptRef(new FakeTiledLayerWithScaledBounds(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
IntRect layerBounds(0, 0, 300, 200);
IntRect contentBounds(0, 0, 200, 250);
@@ -647,8 +668,7 @@ TEST_F(TiledLayerChromiumTest, verifyUpdateRectWhenContentBoundsAreScaled)
TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
// Create a layer with one tile.
layer->setBounds(IntSize(100, 100));
@@ -663,7 +683,7 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
m_textureManager->prioritizeTextures();
layer->update(m_queue, 0, m_stats);
updateTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
EXPECT_FALSE(layerImpl->hasTileAt(1, 0));
@@ -680,7 +700,7 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
m_textureManager->prioritizeTextures();
layer->update(m_queue, 0, m_stats);
updateTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
EXPECT_TRUE(layerImpl->hasTileAt(0, 0));
EXPECT_TRUE(layerImpl->hasTileAt(0, 1));
EXPECT_TRUE(layerImpl->hasTileAt(1, 0));
@@ -692,7 +712,7 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
layer->setTexturePriorities(m_priorityCalculator);
m_textureManager->prioritizeTextures();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
EXPECT_FALSE(layerImpl->hasTileAt(0, 0));
EXPECT_FALSE(layerImpl->hasTileAt(0, 1));
EXPECT_FALSE(layerImpl->hasTileAt(1, 0));
@@ -701,8 +721,6 @@ TEST_F(TiledLayerChromiumTest, verifyInvalidationWhenContentsScaleChanges)
TEST_F(TiledLayerChromiumTest, skipsDrawGetsReset)
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
FakeCCLayerTreeHostClient fakeCCLayerTreeHostClient;
OwnPtr<CCLayerTreeHost> ccLayerTreeHost = CCLayerTreeHost::create(&fakeCCLayerTreeHostClient, CCLayerTreeSettings());
ASSERT_TRUE(ccLayerTreeHost->initializeRendererIfNeeded());
@@ -744,10 +762,9 @@ TEST_F(TiledLayerChromiumTest, skipsDrawGetsReset)
ccLayerTreeHost->updateLayers(m_queue, memoryLimit);
EXPECT_FALSE(rootLayer->skipsDraw());
- ccLayerTreeHost->contentsTextureManager()->clearAllMemory(m_resourceProvider.get());
+ textureManagerClearAllMemory(ccLayerTreeHost->contentsTextureManager(), m_resourceProvider.get());
ccLayerTreeHost->setRootLayer(0);
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST_F(TiledLayerChromiumTest, resizeToSmaller)
@@ -783,9 +800,6 @@ TEST_F(TiledLayerChromiumTest, hugeLayerUpdateCrash)
TEST_F(TiledLayerChromiumTest, partialUpdates)
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
-
CCLayerTreeSettings settings;
settings.maxPartialTextureUpdates = 4;
@@ -809,8 +823,7 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
// Full update of all 6 tiles.
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
updateTextures(4);
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_TRUE(m_queue.hasMoreUpdates());
@@ -819,7 +832,7 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
@@ -827,8 +840,7 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
layer->invalidateContentRect(IntRect(0, 0, 300, 150));
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
updateTextures(4);
EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_TRUE(m_queue.hasMoreUpdates());
@@ -837,15 +849,14 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(3, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Partial update of 6 tiles.
layer->invalidateContentRect(IntRect(50, 50, 200, 100));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
updateTextures(4);
EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
@@ -855,24 +866,22 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Checkerboard all tiles.
layer->invalidateContentRect(IntRect(0, 0, 300, 200));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
- layer->pushPropertiesTo(layerImpl.get());
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Partial update of 6 checkerboard tiles.
layer->invalidateContentRect(IntRect(50, 50, 200, 100));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
updateTextures(4);
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
@@ -882,31 +891,26 @@ TEST_F(TiledLayerChromiumTest, partialUpdates)
EXPECT_EQ(2, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
// Partial update of 4 tiles.
layer->invalidateContentRect(IntRect(50, 50, 100, 100));
{
- DebugScopedSetImplThread implThread;
- OwnPtr<FakeCCTiledLayerImpl> layerImpl(adoptPtr(new FakeCCTiledLayerImpl(1)));
+ ScopedFakeCCTiledLayerImpl layerImpl(1);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
updateTextures(4);
EXPECT_EQ(4, layer->fakeLayerTextureUpdater()->updateCount());
EXPECT_FALSE(m_queue.hasMoreUpdates());
layer->fakeLayerTextureUpdater()->clearUpdateCount();
- layer->pushPropertiesTo(layerImpl.get());
+ layerPushPropertiesTo(layer.get(), layerImpl.get());
}
ccLayerTreeHost->commitComplete();
- {
- DebugScopedSetImplThread implThread;
- ccLayerTreeHost->contentsTextureManager()->clearAllMemory(m_resourceProvider.get());
- }
+ textureManagerClearAllMemory(ccLayerTreeHost->contentsTextureManager(), m_resourceProvider.get());
ccLayerTreeHost->setRootLayer(0);
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
TEST_F(TiledLayerChromiumTest, tilesPaintedWithoutOcclusion)
@@ -1051,7 +1055,6 @@ TEST_F(TiledLayerChromiumTest, tilesNotPaintedWithoutInvalidation)
layer->update(m_queue, &occluded, m_stats);
EXPECT_EQ(36-3, layer->fakeLayerTextureUpdater()->prepareRectCount());
{
- DebugScopedSetImplThread implThread;
updateTextures();
}
@@ -1178,7 +1181,6 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
TestCCOcclusionTracker occluded;
- DebugScopedSetImplThread implThread;
// The tile size is 100x100, so this invalidates and then paints two tiles in various ways.
@@ -1215,7 +1217,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2, 1);
@@ -1228,7 +1230,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2, 1);
@@ -1243,7 +1245,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(opaquePaintRect, visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2 + 1, 1);
@@ -1258,7 +1260,7 @@ TEST_F(TiledLayerChromiumTest, visibleContentOpaqueRegion)
layer->update(m_queue, &occluded, m_stats);
updateTextures();
opaqueContents = layer->visibleContentOpaqueRegion();
- EXPECT_EQ_RECT(intersection(IntRect(10, 100, 90, 100), visibleBounds), opaqueContents.bounds());
+ EXPECT_RECT_EQ(intersection(IntRect(10, 100, 90, 100), visibleBounds), opaqueContents.bounds());
EXPECT_EQ(1u, opaqueContents.rects().size());
EXPECT_NEAR(occluded.overdrawMetrics().pixelsPainted(), 20000 * 2 + 1 + 1, 1);
@@ -1271,7 +1273,6 @@ TEST_F(TiledLayerChromiumTest, pixelsPaintedMetrics)
{
RefPtr<FakeTiledLayerChromium> layer = adoptRef(new FakeTiledLayerChromium(m_textureManager.get()));
TestCCOcclusionTracker occluded;
- DebugScopedSetImplThread implThread;
// The tile size is 100x100, so this invalidates and then paints two tiles in various ways.
@@ -1322,9 +1323,6 @@ TEST_F(TiledLayerChromiumTest, pixelsPaintedMetrics)
TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAllocated)
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
-
// Tile size is 100x100.
IntRect rootRect(0, 0, 300, 200);
IntRect childRect(0, 0, 300, 100);
@@ -1373,7 +1371,6 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child2->invalidateContentRect(child2Rect);
ccLayerTreeHost->updateLayers(m_queue, std::numeric_limits<size_t>::max());
{
- DebugScopedSetImplThread implThread;
updateTextures(1000);
EXPECT_EQ(6, root->fakeLayerTextureUpdater()->updateCount());
EXPECT_EQ(3, child->fakeLayerTextureUpdater()->updateCount());
@@ -1384,12 +1381,12 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child->fakeLayerTextureUpdater()->clearUpdateCount();
child2->fakeLayerTextureUpdater()->clearUpdateCount();
- OwnPtr<FakeCCTiledLayerImpl> rootImpl(adoptPtr(new FakeCCTiledLayerImpl(root->id())));
- OwnPtr<FakeCCTiledLayerImpl> childImpl(adoptPtr(new FakeCCTiledLayerImpl(child->id())));
- OwnPtr<FakeCCTiledLayerImpl> child2Impl(adoptPtr(new FakeCCTiledLayerImpl(child2->id())));
- root->pushPropertiesTo(rootImpl.get());
- child->pushPropertiesTo(childImpl.get());
- child2->pushPropertiesTo(child2Impl.get());
+ ScopedFakeCCTiledLayerImpl rootImpl(root->id());
+ ScopedFakeCCTiledLayerImpl childImpl(child->id());
+ ScopedFakeCCTiledLayerImpl child2Impl(child2->id());
+ layerPushPropertiesTo(root.get(), rootImpl.get());
+ layerPushPropertiesTo(child.get(), childImpl.get());
+ layerPushPropertiesTo(child2.get(), child2Impl.get());
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
@@ -1408,7 +1405,6 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child2->invalidateContentRect(child2Rect);
ccLayerTreeHost->updateLayers(m_queue, (3 * 2 + 3 * 1) * (100 * 100) * 4);
{
- DebugScopedSetImplThread implThread;
updateTextures(1000);
EXPECT_EQ(6, root->fakeLayerTextureUpdater()->updateCount());
EXPECT_EQ(0, child->fakeLayerTextureUpdater()->updateCount());
@@ -1419,12 +1415,12 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child->fakeLayerTextureUpdater()->clearUpdateCount();
child2->fakeLayerTextureUpdater()->clearUpdateCount();
- OwnPtr<FakeCCTiledLayerImpl> rootImpl(adoptPtr(new FakeCCTiledLayerImpl(root->id())));
- OwnPtr<FakeCCTiledLayerImpl> childImpl(adoptPtr(new FakeCCTiledLayerImpl(child->id())));
- OwnPtr<FakeCCTiledLayerImpl> child2Impl(adoptPtr(new FakeCCTiledLayerImpl(child2->id())));
- root->pushPropertiesTo(rootImpl.get());
- child->pushPropertiesTo(childImpl.get());
- child2->pushPropertiesTo(child2Impl.get());
+ ScopedFakeCCTiledLayerImpl rootImpl(root->id());
+ ScopedFakeCCTiledLayerImpl childImpl(child->id());
+ ScopedFakeCCTiledLayerImpl child2Impl(child2->id());
+ layerPushPropertiesTo(root.get(), rootImpl.get());
+ layerPushPropertiesTo(child.get(), childImpl.get());
+ layerPushPropertiesTo(child2.get(), child2Impl.get());
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
@@ -1444,7 +1440,6 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child2->invalidateContentRect(child2Rect);
ccLayerTreeHost->updateLayers(m_queue, (3 * 1) * (100 * 100) * 4);
{
- DebugScopedSetImplThread implThread;
updateTextures(1000);
EXPECT_EQ(0, root->fakeLayerTextureUpdater()->updateCount());
EXPECT_EQ(0, child->fakeLayerTextureUpdater()->updateCount());
@@ -1455,12 +1450,12 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
child->fakeLayerTextureUpdater()->clearUpdateCount();
child2->fakeLayerTextureUpdater()->clearUpdateCount();
- OwnPtr<FakeCCTiledLayerImpl> rootImpl(adoptPtr(new FakeCCTiledLayerImpl(root->id())));
- OwnPtr<FakeCCTiledLayerImpl> childImpl(adoptPtr(new FakeCCTiledLayerImpl(child->id())));
- OwnPtr<FakeCCTiledLayerImpl> child2Impl(adoptPtr(new FakeCCTiledLayerImpl(child2->id())));
- root->pushPropertiesTo(rootImpl.get());
- child->pushPropertiesTo(childImpl.get());
- child2->pushPropertiesTo(child2Impl.get());
+ ScopedFakeCCTiledLayerImpl rootImpl(root->id());
+ ScopedFakeCCTiledLayerImpl childImpl(child->id());
+ ScopedFakeCCTiledLayerImpl child2Impl(child2->id());
+ layerPushPropertiesTo(root.get(), rootImpl.get());
+ layerPushPropertiesTo(child.get(), childImpl.get());
+ layerPushPropertiesTo(child2.get(), child2Impl.get());
for (unsigned i = 0; i < 3; ++i) {
for (unsigned j = 0; j < 2; ++j)
@@ -1471,13 +1466,9 @@ TEST_F(TiledLayerChromiumTest, dontAllocateContentsWhenTargetSurfaceCantBeAlloca
}
ccLayerTreeHost->commitComplete();
- {
- DebugScopedSetImplThread implThread;
- ccLayerTreeHost->contentsTextureManager()->clearAllMemory(m_resourceProvider.get());
- }
+ textureManagerClearAllMemory(ccLayerTreeHost->contentsTextureManager(), m_resourceProvider.get());
ccLayerTreeHost->setRootLayer(0);
ccLayerTreeHost.clear();
- WebKit::WebCompositor::shutdown();
}
class TrackingLayerPainter : public LayerPainterChromium {
@@ -1540,18 +1531,14 @@ TEST_F(TiledLayerChromiumTest, nonIntegerContentsScaleIsNotDistortedDuringPaint)
layer->update(m_queue, 0, m_stats);
layer->trackingLayerPainter()->resetPaintedRect();
- EXPECT_INT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
-
- {
- DebugScopedSetImplThread implThread;
- updateTextures();
- }
+ EXPECT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
+ updateTextures();
// Invalidate the entire layer in content space. When painting, the rect given to webkit should match the layer's bounds.
layer->invalidateContentRect(contentRect);
layer->update(m_queue, 0, m_stats);
- EXPECT_INT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
+ EXPECT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
}
TEST_F(TiledLayerChromiumTest, nonIntegerContentsScaleIsNotDistortedDuringInvalidation)
@@ -1574,18 +1561,14 @@ TEST_F(TiledLayerChromiumTest, nonIntegerContentsScaleIsNotDistortedDuringInvali
layer->update(m_queue, 0, m_stats);
layer->trackingLayerPainter()->resetPaintedRect();
- EXPECT_INT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
-
- {
- DebugScopedSetImplThread implThread;
- updateTextures();
- }
+ EXPECT_RECT_EQ(IntRect(), layer->trackingLayerPainter()->paintedRect());
+ updateTextures();
// Invalidate the entire layer in layer space. When painting, the rect given to webkit should match the layer's bounds.
layer->setNeedsDisplayRect(layerRect);
layer->update(m_queue, 0, m_stats);
- EXPECT_INT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
+ EXPECT_RECT_EQ(layerRect, layer->trackingLayerPainter()->paintedRect());
}
} // namespace
diff --git a/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp b/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp
index ec88f4332..fa965e936 100644
--- a/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp
+++ b/Source/WebKit/chromium/tests/UniscribeHelperTest.cpp
@@ -32,8 +32,8 @@
#include <gtest/gtest.h>
-#include "PlatformString.h"
#include "UniscribeHelper.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebCore/platform/graphics/chromium/cc/CCActiveGestureAnimation.h b/Source/WebKit/chromium/tests/WebCompositorInitializer.h
index 000ed424b..d0893aecd 100644
--- a/Source/WebCore/platform/graphics/chromium/cc/CCActiveGestureAnimation.h
+++ b/Source/WebKit/chromium/tests/WebCompositorInitializer.h
@@ -22,35 +22,33 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef CCActiveGestureAnimation_h
-#define CCActiveGestureAnimation_h
+#ifndef WebCompositorInitializer_h
+#define WebCompositorInitializer_h
+#include <public/Platform.h>
+#include <public/WebCompositorSupport.h>
#include <wtf/Noncopyable.h>
-#include <wtf/OwnPtr.h>
-#include <wtf/PassOwnPtr.h>
-namespace WebCore {
+namespace WebKit {
+class WebThread;
+}
-class CCGestureCurve;
-class CCGestureCurveTarget;
+namespace WebKitTests {
-class CCActiveGestureAnimation {
- WTF_MAKE_NONCOPYABLE(CCActiveGestureAnimation);
+class WebCompositorInitializer {
+ WTF_MAKE_NONCOPYABLE(WebCompositorInitializer);
public:
- static PassOwnPtr<CCActiveGestureAnimation> create(PassOwnPtr<CCGestureCurve>, CCGestureCurveTarget*);
- ~CCActiveGestureAnimation();
-
- bool animate(double monotonicTime);
-
-private:
- CCActiveGestureAnimation(PassOwnPtr<CCGestureCurve>, CCGestureCurveTarget*);
-
- double m_startTime;
- double m_waitingForFirstTick;
- OwnPtr<CCGestureCurve> m_gestureCurve;
- CCGestureCurveTarget* m_gestureCurveTarget;
+ explicit WebCompositorInitializer(WebKit::WebThread* thread)
+ {
+ WebKit::Platform::current()->compositorSupport()->initialize(thread);
+ }
+
+ ~WebCompositorInitializer()
+ {
+ WebKit::Platform::current()->compositorSupport()->shutdown();
+ }
};
-} // namespace WebCore
+}
-#endif
+#endif // WebCompositorInitializer_h
diff --git a/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp b/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
index 8313b0f5b..88927a988 100644
--- a/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
+++ b/Source/WebKit/chromium/tests/WebCompositorInputHandlerImplTest.cpp
@@ -27,51 +27,48 @@
#include "WebCompositorInputHandlerImpl.h"
-#include "CCActiveGestureAnimation.h"
-#include "CCInputHandler.h"
-#include "CCSingleThreadProxy.h"
+#include "WebCompositorInitializer.h"
#include "WebCompositorInputHandlerClient.h"
#include "WebInputEvent.h"
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
#include <public/WebCompositor.h>
#include <public/WebFloatPoint.h>
+#include <public/WebInputHandler.h>
+#include <public/WebInputHandlerClient.h>
#include <public/WebPoint.h>
-
-#include <gmock/gmock.h>
-#include <gtest/gtest.h>
#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
using namespace WebKit;
namespace {
-class MockCCInputHandlerClient : public WebCore::CCInputHandlerClient {
- WTF_MAKE_NONCOPYABLE(MockCCInputHandlerClient);
+class MockWebInputHandlerClient : public WebInputHandlerClient {
+ WTF_MAKE_NONCOPYABLE(MockWebInputHandlerClient);
public:
- MockCCInputHandlerClient()
+ MockWebInputHandlerClient()
{
}
- virtual ~MockCCInputHandlerClient() { }
+ virtual ~MockWebInputHandlerClient() { }
MOCK_METHOD0(pinchGestureBegin, void());
- MOCK_METHOD2(pinchGestureUpdate, void(float magnifyDelta, const WebCore::IntPoint& anchor));
+ MOCK_METHOD2(pinchGestureUpdate, void(float magnifyDelta, WebPoint anchor));
MOCK_METHOD0(pinchGestureEnd, void());
MOCK_METHOD0(scheduleAnimation, void());
- MOCK_METHOD2(scrollBegin, ScrollStatus(const WebCore::IntPoint&, WebCore::CCInputHandlerClient::ScrollInputType));
- MOCK_METHOD2(scrollBy, void(const WebCore::IntPoint&, const WebCore::IntSize&));
+ MOCK_METHOD2(scrollBegin, ScrollStatus(WebPoint, WebInputHandlerClient::ScrollInputType));
+ MOCK_METHOD2(scrollBy, void(WebPoint, WebSize));
MOCK_METHOD0(scrollEnd, void());
private:
- virtual void startPageScaleAnimation(const WebCore::IntSize& targetPosition,
+ virtual void startPageScaleAnimation(WebSize targetPosition,
bool anchorPoint,
float pageScale,
double startTimeMs,
double durationMs) OVERRIDE { }
-
- virtual WebCore::CCActiveGestureAnimation* activeGestureAnimation() OVERRIDE { return 0; }
- virtual void setActiveGestureAnimation(PassOwnPtr<WebCore::CCActiveGestureAnimation>) OVERRIDE { }
};
class MockWebCompositorInputHandlerClient : public WebCompositorInputHandlerClient {
@@ -91,51 +88,14 @@ public:
};
-TEST(WebCompositorInputHandlerImpl, fromIdentifier)
-{
- WebCompositor::initialize(0);
- WebCore::DebugScopedSetImplThread alwaysImplThread;
-
- // Before creating any WebCompositorInputHandlers, lookups for any value should fail and not crash.
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(2));
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(0));
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(-1));
-
- int compositorIdentifier = -1;
- {
- OwnPtr<WebCompositorInputHandlerImpl> inputHandler = WebCompositorInputHandlerImpl::create(0);
- compositorIdentifier = inputHandler->identifier();
- // The compositor we just created should be locatable.
- EXPECT_EQ(inputHandler.get(), WebCompositorInputHandler::fromIdentifier(compositorIdentifier));
-
- // But nothing else.
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(inputHandler->identifier() + 10));
- }
-
- // After the compositor is destroyed, its entry should be removed from the map.
- EXPECT_EQ(0, WebCompositorInputHandler::fromIdentifier(compositorIdentifier));
- WebCompositor::shutdown();
-}
-
-class WebCompositorInitializer {
-public:
- WebCompositorInitializer()
- {
- WebCompositor::initialize(0);
- }
-
- ~WebCompositorInitializer()
- {
- WebCompositor::shutdown();
- }
-};
-
class WebCompositorInputHandlerImplTest : public testing::Test {
public:
WebCompositorInputHandlerImplTest()
- : m_expectedDisposition(DidHandle)
+ : m_initializer(0)
+ , m_expectedDisposition(DidHandle)
{
- m_inputHandler = WebCompositorInputHandlerImpl::create(&m_mockCCInputHandlerClient);
+ m_inputHandler = adoptPtr(new WebCompositorInputHandlerImpl);
+ m_inputHandler->bindToClient(&m_mockInputHandlerClient);
m_inputHandler->setClient(&m_mockClient);
}
@@ -149,7 +109,7 @@ public:
// out of gmock is the line number that set the expectation.
#define VERIFY_AND_RESET_MOCKS() do \
{ \
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient); \
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient); \
testing::Mock::VerifyAndClearExpectations(&m_mockClient); \
switch (m_expectedDisposition) { \
case DidHandle: \
@@ -173,12 +133,11 @@ public:
} while (0)
protected:
- MockCCInputHandlerClient m_mockCCInputHandlerClient;
+ MockWebInputHandlerClient m_mockInputHandlerClient;
OwnPtr<WebCompositorInputHandlerImpl> m_inputHandler;
MockWebCompositorInputHandlerClient m_mockClient;
WebGestureEvent gesture;
- WebCore::DebugScopedSetImplThread alwaysImplThread;
- WebCompositorInitializer initializer;
+ WebKitTests::WebCompositorInitializer m_initializer;
enum ExpectedDisposition { DidHandle, DidNotHandle, DropEvent };
ExpectedDisposition m_expectedDisposition;
@@ -191,8 +150,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollStarted)
m_expectedDisposition = DidHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
gesture.type = WebInputEvent::GestureScrollBegin;
m_inputHandler->handleInputEvent(gesture);
@@ -200,15 +159,15 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollStarted)
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollUpdate;
- gesture.deltaY = -40; // -Y means scroll down - i.e. in the +Y direction.
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::height, testing::Gt(0))));
+ gesture.data.scrollUpdate.deltaY = -40; // -Y means scroll down - i.e. in the +Y direction.
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::height, testing::Gt(0))));
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollEnd;
- gesture.deltaY = 0;
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ gesture.data.scrollUpdate.deltaY = 0;
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->handleInputEvent(gesture);
}
@@ -218,8 +177,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollOnMainThread)
m_expectedDisposition = DidNotHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(::testing::_, ::testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(::testing::_, ::testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
gesture.type = WebInputEvent::GestureScrollBegin;
m_inputHandler->handleInputEvent(gesture);
@@ -227,13 +186,13 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollOnMainThread)
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollUpdate;
- gesture.deltaY = 40;
+ gesture.data.scrollUpdate.deltaY = 40;
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GestureScrollEnd;
- gesture.deltaY = 0;
+ gesture.data.scrollUpdate.deltaY = 0;
m_inputHandler->handleInputEvent(gesture);
}
@@ -246,8 +205,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureScrollIgnored)
m_expectedDisposition = DropEvent;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollIgnored));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusIgnored));
gesture.type = WebInputEvent::GestureScrollBegin;
m_inputHandler->handleInputEvent(gesture);
@@ -260,31 +219,31 @@ TEST_F(WebCompositorInputHandlerImplTest, gesturePinch)
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchBegin;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureBegin());
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureBegin());
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchUpdate;
- gesture.deltaX = 1.5;
+ gesture.data.pinchUpdate.scale = 1.5;
gesture.x = 7;
gesture.y = 13;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureUpdate(1.5, WebCore::IntPoint(7, 13)));
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureUpdate(1.5, WebPoint(7, 13)));
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchUpdate;
- gesture.deltaX = 0.5;
+ gesture.data.pinchUpdate.scale = 0.5;
gesture.x = 9;
gesture.y = 6;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureUpdate(.5, WebCore::IntPoint(9, 6)));
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureUpdate(.5, WebPoint(9, 6)));
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
gesture.type = WebInputEvent::GesturePinchEnd;
- EXPECT_CALL(m_mockCCInputHandlerClient, pinchGestureEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, pinchGestureEnd());
m_inputHandler->handleInputEvent(gesture);
}
@@ -294,12 +253,12 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingStarted)
m_expectedDisposition = DidHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
gesture.type = WebInputEvent::GestureFlingStart;
- gesture.deltaX = 10;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
+ gesture.data.flingStart.velocityX = 10;
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
m_inputHandler->handleInputEvent(gesture);
VERIFY_AND_RESET_MOCKS();
@@ -315,8 +274,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingFailed)
m_expectedDisposition = DidNotHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
gesture.type = WebInputEvent::GestureFlingStart;
m_inputHandler->handleInputEvent(gesture);
@@ -333,8 +292,8 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingIgnored)
m_expectedDisposition = DidNotHandle;
VERIFY_AND_RESET_MOCKS();
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollIgnored));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusIgnored));
gesture.type = WebInputEvent::GestureFlingStart;
m_inputHandler->handleInputEvent(gesture);
@@ -359,47 +318,47 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingAnimates)
WebPoint flingPoint = WebPoint(7, 13);
WebPoint flingGlobalPoint = WebPoint(17, 23);
int modifiers = 7;
- gesture.deltaX = flingDelta.x;
- gesture.deltaY = flingDelta.y;
+ gesture.data.flingStart.velocityX = flingDelta.x;
+ gesture.data.flingStart.velocityY = flingDelta.y;
gesture.x = flingPoint.x;
gesture.y = flingPoint.y;
gesture.globalX = flingGlobalPoint.x;
gesture.globalY = flingGlobalPoint.y;
gesture.modifiers = modifiers;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
m_inputHandler->handleInputEvent(gesture);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// The first animate call should let us pick up an animation start time, but we
// shouldn't actually move anywhere just yet. The first frame after the fling start
// will typically include the last scroll from the gesture that lead to the scroll
// (either wheel or gesture scroll), so there should be no visible hitch.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// The second call should start scrolling in the -X direction.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::width, testing::Lt(0))));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::width, testing::Lt(0))));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->animate(10.1);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Let's say on the third call we hit a non-scrollable region. We should abort the fling and not scroll.
// We also should pass the current fling parameters out to the client so the rest of the fling can be
// transferred to the main thread.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd()).Times(0);
// Expected wheel fling animation parameters:
// *) flingDelta and flingPoint should match the original GestureFlingStart event
@@ -415,13 +374,13 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingAnimates)
testing::Field(&WebSize::width, testing::Gt(0))))));
m_inputHandler->animate(10.2);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
testing::Mock::VerifyAndClearExpectations(&m_mockClient);
// Since we've aborted the fling, the next animation should be a no-op and should not result in another
// frame being requested.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation()).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10.3);
// Since we've transferred the fling to the main thread, we need to pass the next GestureFlingCancel to the main
@@ -443,45 +402,45 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
WebPoint flingPoint = WebPoint(7, 13);
WebPoint flingGlobalPoint = WebPoint(17, 23);
int modifiers = 1;
- gesture.deltaX = flingDelta.x;
- gesture.deltaY = flingDelta.y;
+ gesture.data.flingStart.velocityX = flingDelta.x;
+ gesture.data.flingStart.velocityY = flingDelta.y;
gesture.x = flingPoint.x;
gesture.y = flingPoint.y;
gesture.globalX = flingGlobalPoint.x;
gesture.globalY = flingGlobalPoint.y;
gesture.modifiers = modifiers;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
m_inputHandler->handleInputEvent(gesture);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Start the fling animation at time 10. This shouldn't actually scroll, just establish a start time.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// The second call should start scrolling in the -X direction.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::width, testing::Lt(0))));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::width, testing::Lt(0))));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->animate(10.1);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Let's say on the third call we hit a non-scrollable region. We should abort the fling and not scroll.
// We also should pass the current fling parameters out to the client so the rest of the fling can be
// transferred to the main thread.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd()).Times(0);
// Expected wheel fling animation parameters:
// *) flingDelta and flingPoint should match the original GestureFlingStart event
@@ -497,16 +456,16 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
testing::Field(&WebSize::width, testing::Gt(0))))));
m_inputHandler->animate(10.2);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
testing::Mock::VerifyAndClearExpectations(&m_mockClient);
// Since we've aborted the fling, the next animation should be a no-op and should not result in another
// frame being requested.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation()).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(10.3);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Since we've transferred the fling to the main thread, we need to pass the next GestureFlingCancel to the main
// thread as well.
@@ -522,43 +481,43 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
flingPoint = WebPoint(95, 87);
flingGlobalPoint = WebPoint(32, 71);
modifiers = 2;
- gesture.deltaX = flingDelta.x;
- gesture.deltaY = flingDelta.y;
+ gesture.data.flingStart.velocityX = flingDelta.x;
+ gesture.data.flingStart.velocityY = flingDelta.y;
gesture.x = flingPoint.x;
gesture.y = flingPoint.y;
gesture.globalX = flingGlobalPoint.x;
gesture.globalY = flingGlobalPoint.y;
gesture.modifiers = modifiers;
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
m_inputHandler->handleInputEvent(gesture);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Start the second fling animation at time 30.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_)).Times(0);
m_inputHandler->animate(30);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Tick the second fling once normally.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollStarted));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::Property(&WebCore::IntSize::height, testing::Gt(0))));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd());
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusStarted));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::Field(&WebSize::height, testing::Gt(0))));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd());
m_inputHandler->animate(30.1);
- testing::Mock::VerifyAndClearExpectations(&m_mockCCInputHandlerClient);
+ testing::Mock::VerifyAndClearExpectations(&m_mockInputHandlerClient);
// Then abort the second fling.
- EXPECT_CALL(m_mockCCInputHandlerClient, scheduleAnimation());
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBegin(testing::_, testing::_))
- .WillOnce(testing::Return(WebCore::CCInputHandlerClient::ScrollOnMainThread));
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
- EXPECT_CALL(m_mockCCInputHandlerClient, scrollEnd()).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scheduleAnimation());
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBegin(testing::_, testing::_))
+ .WillOnce(testing::Return(WebInputHandlerClient::ScrollStatusOnMainThread));
+ EXPECT_CALL(m_mockInputHandlerClient, scrollBy(testing::_, testing::_)).Times(0);
+ EXPECT_CALL(m_mockInputHandlerClient, scrollEnd()).Times(0);
// We should get parameters from the second fling, nothing from the first fling should "leak".
EXPECT_CALL(m_mockClient, transferActiveWheelFlingAnimation(testing::AllOf(
@@ -573,3 +532,4 @@ TEST_F(WebCompositorInputHandlerImplTest, gestureFlingTransferResets)
}
}
+
diff --git a/Source/WebKit/chromium/tests/WebFrameTest.cpp b/Source/WebKit/chromium/tests/WebFrameTest.cpp
index 03c201e16..4328a0e4a 100644
--- a/Source/WebKit/chromium/tests/WebFrameTest.cpp
+++ b/Source/WebKit/chromium/tests/WebFrameTest.cpp
@@ -45,6 +45,7 @@
#include "WebFormElement.h"
#include "WebFrameClient.h"
#include "WebFrameImpl.h"
+#include "WebHistoryItem.h"
#include "WebRange.h"
#include "WebScriptSource.h"
#include "WebSearchableFormData.h"
@@ -54,6 +55,7 @@
#include "WebViewClient.h"
#include "WebViewImpl.h"
#include "platform/WebFloatRect.h"
+#include "platform/WebURLResponse.h"
#include "v8.h"
#include <gtest/gtest.h>
#include <webkit/support/webkit_support.h>
@@ -988,10 +990,11 @@ TEST_F(WebFrameTest, FindInPageMatchRects)
webView->close();
}
-static WebView* selectRangeTestCreateWebView(const std::string& url)
+static WebView* createWebViewForTextSelection(const std::string& url)
{
WebView* webView = FrameTestHelpers::createWebViewAndLoad(url, true);
webView->settings()->setDefaultFontSize(12);
+ webView->enableFixedLayoutMode(false);
webView->resize(WebSize(640, 480));
return webView;
}
@@ -1010,6 +1013,11 @@ static WebPoint bottomRightMinusOne(const WebRect& rect)
return WebPoint(rect.x + rect.width - 1, rect.y + rect.height - 1);
}
+static WebRect elementBounds(WebFrame* frame, const WebString& id)
+{
+ return frame->document().getElementById(id).boundsInViewportSpace();
+}
+
static std::string selectionAsString(WebFrame* frame)
{
return std::string(frame->selectionAsText().utf8().data());
@@ -1027,7 +1035,7 @@ TEST_F(WebFrameTest, SelectRange)
registerMockedHttpURLLoad("select_range_iframe.html");
registerMockedHttpURLLoad("select_range_editable.html");
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_basic.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_basic.html");
frame = webView->mainFrame();
EXPECT_EQ("Some test text for testing.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1037,7 +1045,7 @@ TEST_F(WebFrameTest, SelectRange)
EXPECT_EQ("Some test text for testing.", selectionAsString(frame));
webView->close();
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_scroll.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_scroll.html");
frame = webView->mainFrame();
EXPECT_EQ("Some offscreen test text for testing.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1047,7 +1055,7 @@ TEST_F(WebFrameTest, SelectRange)
EXPECT_EQ("Some offscreen test text for testing.", selectionAsString(frame));
webView->close();
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_iframe.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_iframe.html");
frame = webView->mainFrame();
WebFrame* subframe = frame->findChildByExpression(WebString::fromUTF8("/html/body/iframe"));
EXPECT_EQ("Some test text for testing.", selectionAsString(subframe));
@@ -1060,7 +1068,7 @@ TEST_F(WebFrameTest, SelectRange)
// Select the middle of an editable element, then try to extend the selection to the top of the document.
// The selection range should be clipped to the bounds of the editable element.
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_editable.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_editable.html");
frame = webView->mainFrame();
EXPECT_EQ("This text is initially selected.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1069,7 +1077,7 @@ TEST_F(WebFrameTest, SelectRange)
webView->close();
// As above, but extending the selection to the bottom of the document.
- webView = selectRangeTestCreateWebView(m_baseURL + "select_range_editable.html");
+ webView = createWebViewForTextSelection(m_baseURL + "select_range_editable.html");
frame = webView->mainFrame();
EXPECT_EQ("This text is initially selected.", selectionAsString(frame));
webView->selectionBounds(startWebRect, endWebRect);
@@ -1078,4 +1086,302 @@ TEST_F(WebFrameTest, SelectRange)
webView->close();
}
+TEST_F(WebFrameTest, MoveSelectionStart)
+{
+ registerMockedHttpURLLoad("text_selection.html");
+ WebView* webView = createWebViewForTextSelection(m_baseURL + "text_selection.html");
+ WebFrame* frame = webView->mainFrame();
+
+ // moveSelectionStart() always returns false if there's no selection.
+ EXPECT_FALSE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), false));
+ EXPECT_FALSE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), true));
+
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "header_2")), false));
+ EXPECT_EQ("Header 1. Header 2.", selectionAsString(frame));
+
+ // Select second span. We can move the start to include the first span.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), false));
+ EXPECT_EQ("Header 1. Header 2.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=false we can't move the selection start beyond the current end.
+ // We end up with a single character selected.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(bottomRightMinusOne(elementBounds(frame, "header_1")), false));
+ EXPECT_EQ(".", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the start and end together.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(bottomRightMinusOne(elementBounds(frame, "header_1")), true));
+ EXPECT_EQ("", selectionAsString(frame));
+ // Selection is a caret, not empty.
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_1")), true));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the start across the end.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(bottomRightMinusOne(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ(" Header 2.", selectionAsString(frame));
+
+ // Can't extend the selection part-way into an editable element.
+ frame->executeScript(WebScriptSource("selectElement('footer_2');"));
+ EXPECT_EQ("Footer 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "editable_2")), true));
+ EXPECT_EQ(" [ Footer 1. Footer 2.", selectionAsString(frame));
+
+ // Can extend the selection completely across editable elements.
+ frame->executeScript(WebScriptSource("selectElement('footer_2');"));
+ EXPECT_EQ("Footer 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("Header 2. ] [ Editable 1. Editable 2. ] [ Footer 1. Footer 2.", selectionAsString(frame));
+
+ // If the selection is editable text, we can't extend it into non-editable text.
+ frame->executeScript(WebScriptSource("selectElement('editable_2');"));
+ EXPECT_EQ("Editable 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("[ Editable 1. Editable 2.", selectionAsString(frame));
+
+ webView->close();
+}
+
+TEST_F(WebFrameTest, MoveSelectionEnd)
+{
+ registerMockedHttpURLLoad("text_selection.html");
+ WebView* webView = createWebViewForTextSelection(m_baseURL + "text_selection.html");
+ WebFrame* frame = webView->mainFrame();
+
+ // moveSelectionEnd() always returns false if there's no selection.
+ EXPECT_FALSE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_1")), false));
+ EXPECT_FALSE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_1")), true));
+
+ // Select first span. We can move the end to include the second span.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "header_2")), false));
+ EXPECT_EQ("Header 1. Header 2.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=false we can't move the selection end beyond the current start.
+ // We end up with a single character selected.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_2")), false));
+ EXPECT_EQ("H", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the start and end together.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("", selectionAsString(frame));
+ // Selection is a caret, not empty.
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "header_2")), true));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+
+ // If allowCollapsedSelection=true we can move the end across the start.
+ frame->executeScript(WebScriptSource("selectElement('header_2');"));
+ EXPECT_EQ("Header 2.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(topLeft(elementBounds(frame, "header_1")), true));
+ EXPECT_EQ("Header 1. ", selectionAsString(frame));
+
+ // Can't extend the selection part-way into an editable element.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "editable_1")), true));
+ EXPECT_EQ("Header 1. Header 2. ] ", selectionAsString(frame));
+
+ // Can extend the selection completely across editable elements.
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "footer_1")), true));
+ EXPECT_EQ("Header 1. Header 2. ] [ Editable 1. Editable 2. ] [ Footer 1.", selectionAsString(frame));
+
+ // If the selection is editable text, we can't extend it into non-editable text.
+ frame->executeScript(WebScriptSource("selectElement('editable_1');"));
+ EXPECT_EQ("Editable 1.", selectionAsString(frame));
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "footer_1")), true));
+ EXPECT_EQ("Editable 1. Editable 2. ]", selectionAsString(frame));
+
+ webView->close();
+}
+
+TEST_F(WebFrameTest, MoveCaret)
+{
+ registerMockedHttpURLLoad("text_selection.html");
+ WebView* webView = createWebViewForTextSelection(m_baseURL + "text_selection.html");
+ WebFrame* frame = webView->mainFrame();
+
+ // moveCaret() returns false if there's no selection, or if it isn't editable.
+ EXPECT_FALSE(frame->moveCaret(topLeft(elementBounds(frame, "editable"))));
+ frame->executeScript(WebScriptSource("selectElement('header_1');"));
+ EXPECT_EQ("Header 1.", selectionAsString(frame));
+ EXPECT_FALSE(frame->moveCaret(topLeft(elementBounds(frame, "editable"))));
+
+ // Select the editable text span. Now moveCaret() works.
+ frame->executeScript(WebScriptSource("selectElement('editable_1');"));
+ EXPECT_EQ("Editable 1.", selectionAsString(frame));
+
+ EXPECT_TRUE(frame->moveCaret(topLeft(elementBounds(frame, "editable_1"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "editable_1")), false));
+ EXPECT_EQ("Editable 1.", selectionAsString(frame));
+
+ EXPECT_TRUE(frame->moveCaret(bottomRightMinusOne(elementBounds(frame, "editable_2"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "editable_2")), false));
+ EXPECT_EQ("Editable 2.", selectionAsString(frame));
+
+ // Caret is pinned at the start of the editable region.
+ EXPECT_TRUE(frame->moveCaret(topLeft(elementBounds(frame, "header_1"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionEnd(bottomRightMinusOne(elementBounds(frame, "editable_1")), false));
+ EXPECT_EQ("[ Editable 1.", selectionAsString(frame));
+
+ // Caret is pinned at the end of the editable region.
+ EXPECT_TRUE(frame->moveCaret(bottomRightMinusOne(elementBounds(frame, "footer_2"))));
+ EXPECT_EQ("", selectionAsString(frame));
+ EXPECT_FALSE(frame->selectionRange().isNull());
+ EXPECT_TRUE(frame->moveSelectionStart(topLeft(elementBounds(frame, "editable_2")), false));
+ EXPECT_EQ("Editable 2. ]", selectionAsString(frame));
+
+ webView->close();
+}
+
+class DisambiguationPopupTestWebViewClient : public WebViewClient {
+public:
+ virtual bool didTapMultipleTargets(const WebGestureEvent&, const WebVector<WebRect>& targetRects) OVERRIDE
+ {
+ EXPECT_GE(targetRects.size(), 2u);
+ m_triggered = true;
+ return true;
+ }
+
+ bool triggered() const { return m_triggered; }
+ void resetTriggered() { m_triggered = false; }
+ bool m_triggered;
+};
+
+static WebGestureEvent fatTap(int x, int y)
+{
+ WebGestureEvent event;
+ event.type = WebInputEvent::GestureTap;
+ event.x = x;
+ event.y = y;
+ event.data.tap.width = 50;
+ event.data.tap.height = 50;
+ return event;
+}
+
+TEST_F(WebFrameTest, DisambiguationPopupTest)
+{
+ registerMockedHttpURLLoad("disambiguation_popup.html");
+
+ DisambiguationPopupTestWebViewClient client;
+
+ // Make sure we initialize to minimum scale, even if the window size
+ // only becomes available after the load begins.
+ WebViewImpl* webViewImpl = static_cast<WebViewImpl*>(FrameTestHelpers::createWebViewAndLoad(m_baseURL + "disambiguation_popup.html", true, 0, &client));
+ webViewImpl->resize(WebSize(1000, 1000));
+ webViewImpl->layout();
+
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(0, 0));
+ EXPECT_FALSE(client.triggered());
+
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(200, 115));
+ EXPECT_FALSE(client.triggered());
+
+ for (int i = 0; i <= 46; i++) {
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(120, 230 + i * 5));
+
+ int j = i % 10;
+ if (j >= 7 && j <= 9)
+ EXPECT_TRUE(client.triggered());
+ else
+ EXPECT_FALSE(client.triggered());
+ }
+
+ for (int i = 0; i <= 46; i++) {
+ client.resetTriggered();
+ webViewImpl->handleInputEvent(fatTap(10 + i * 5, 590));
+
+ int j = i % 10;
+ if (j >= 7 && j <= 9)
+ EXPECT_TRUE(client.triggered());
+ else
+ EXPECT_FALSE(client.triggered());
+ }
+
+}
+
+class TestSubstituteDataWebFrameClient : public WebFrameClient {
+public:
+ TestSubstituteDataWebFrameClient()
+ : m_commitCalled(false)
+ {
+ }
+
+ virtual void didFailProvisionalLoad(WebFrame* frame, const WebURLError& error)
+ {
+ frame->loadHTMLString("This should appear", toKURL("data:text/html,chromewebdata"), error.unreachableURL, true);
+ webkit_support::RunAllPendingMessages();
+ }
+
+ virtual void didCommitProvisionalLoad(WebFrame* frame, bool)
+ {
+ if (frame->dataSource()->response().url() != WebURL(URLTestHelpers::toKURL("about:blank")))
+ m_commitCalled = true;
+ }
+
+ bool commitCalled() const { return m_commitCalled; }
+
+private:
+ bool m_commitCalled;
+};
+
+TEST_F(WebFrameTest, ReplaceNavigationAfterHistoryNavigation)
+{
+ TestSubstituteDataWebFrameClient webFrameClient;
+
+ WebView* webView = FrameTestHelpers::createWebViewAndLoad("about:blank", true, &webFrameClient);
+ webkit_support::RunAllPendingMessages();
+ WebFrame* frame = webView->mainFrame();
+
+ // Load a url as a history navigation that will return an error. TestSubstituteDataWebFrameClient
+ // will start a SubstituteData load in response to the load failure, which should get fully committed.
+ // Due to https://bugs.webkit.org/show_bug.cgi?id=91685, FrameLoader::didReceiveData() wasn't getting
+ // called in this case, which resulted in the SubstituteData document not getting displayed.
+ WebURLError error;
+ error.reason = 1337;
+ error.domain = "WebFrameTest";
+ std::string errorURL = "http://0.0.0.0";
+ WebURLResponse response;
+ response.initialize();
+ response.setURL(URLTestHelpers::toKURL(errorURL));
+ response.setMIMEType("text/html");
+ response.setHTTPStatusCode(500);
+ WebHistoryItem errorHistoryItem;
+ errorHistoryItem.initialize();
+ errorHistoryItem.setURLString(WebString::fromUTF8(errorURL.c_str(), errorURL.length()));
+ errorHistoryItem.setOriginalURLString(WebString::fromUTF8(errorURL.c_str(), errorURL.length()));
+ webkit_support::RegisterMockedErrorURL(URLTestHelpers::toKURL(errorURL), response, error);
+ frame->loadHistoryItem(errorHistoryItem);
+ webkit_support::ServeAsynchronousMockedRequests();
+
+ WebString text = frame->contentAsText(std::numeric_limits<size_t>::max());
+ EXPECT_EQ("This should appear", std::string(text.utf8().data()));
+ EXPECT_TRUE(webFrameClient.commitCalled());
+}
+
} // namespace
diff --git a/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp b/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp
new file mode 100644
index 000000000..1df76dc7c
--- /dev/null
+++ b/Source/WebKit/chromium/tests/WebInputEventConversionTest.cpp
@@ -0,0 +1,75 @@
+/*
+ * Copyright (C) 2012 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 "WebInputEventConversion.h"
+
+#include "KeyboardEvent.h"
+#include <gtest/gtest.h>
+
+using WebKit::WebInputEvent;
+using WebKit::WebKeyboardEvent;
+using WebKit::WebKeyboardEventBuilder;
+
+namespace {
+
+PassRefPtr<WebCore::KeyboardEvent> createKeyboardEventWithLocation(WebCore::KeyboardEvent::KeyLocationCode location)
+{
+ return WebCore::KeyboardEvent::create("keydown", true, true, 0, "", location, false, false, false, false, false);
+}
+
+int getModifiersForKeyLocationCode(WebCore::KeyboardEvent::KeyLocationCode location)
+{
+ RefPtr<WebCore::KeyboardEvent> event = createKeyboardEventWithLocation(location);
+ WebKit::WebKeyboardEventBuilder convertedEvent(*event);
+ return convertedEvent.modifiers;
+}
+
+TEST(WebInputEventConversionTest, WebKeyboardEventBuilder)
+{
+ // Test key location conversion.
+ int modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_STANDARD);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight);
+
+ modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_LEFT);
+ EXPECT_TRUE(modifiers & WebInputEvent::IsLeft);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsRight);
+
+ modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_RIGHT);
+ EXPECT_TRUE(modifiers & WebInputEvent::IsRight);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsKeyPad || modifiers & WebInputEvent::IsLeft);
+
+ modifiers = getModifiersForKeyLocationCode(WebCore::KeyboardEvent::DOM_KEY_LOCATION_NUMPAD);
+ EXPECT_TRUE(modifiers & WebInputEvent::IsKeyPad);
+ EXPECT_FALSE(modifiers & WebInputEvent::IsLeft || modifiers & WebInputEvent::IsRight);
+}
+
+} // anonymous namespace
diff --git a/Source/WebKit/chromium/tests/WebLayerTest.cpp b/Source/WebKit/chromium/tests/WebLayerTest.cpp
index 9b8e58ca1..eb544b29f 100644
--- a/Source/WebKit/chromium/tests/WebLayerTest.cpp
+++ b/Source/WebKit/chromium/tests/WebLayerTest.cpp
@@ -26,17 +26,20 @@
#include <public/WebLayer.h>
#include "CompositorFakeWebGraphicsContext3D.h"
+#include "WebCompositorInitializer.h"
#include "WebLayerImpl.h"
-#include <public/WebCompositor.h>
+#include "WebLayerTreeViewTestCommon.h"
#include <public/WebContentLayer.h>
#include <public/WebContentLayerClient.h>
#include <public/WebExternalTextureLayer.h>
#include <public/WebFloatPoint.h>
#include <public/WebFloatRect.h>
+#include <public/WebLayerScrollClient.h>
#include <public/WebLayerTreeView.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebRect.h>
#include <public/WebSize.h>
+#include <public/WebSolidColorLayer.h>
#include <gmock/gmock.h>
@@ -49,23 +52,6 @@ using testing::_;
namespace {
-class MockWebLayerTreeViewClient : public WebLayerTreeViewClient {
-public:
- MOCK_METHOD0(scheduleComposite, void());
-
- virtual void updateAnimations(double frameBeginTime) { }
- virtual void didBeginFrame() { }
- virtual void layout() { }
- virtual void applyScrollAndScale(const WebSize& scrollDelta, float scaleFactor) { }
- virtual WebGraphicsContext3D* createContext3D() { return CompositorFakeWebGraphicsContext3D::create(WebGraphicsContext3D::Attributes()).leakPtr(); }
- virtual void didRebindGraphicsContext(bool success) { }
- virtual WebCompositorOutputSurface* createOutputSurface() { return 0; }
- virtual void didRecreateOutputSurface(bool success) { }
- virtual void willCommit() { }
- virtual void didCommitAndDrawFrame() { }
- virtual void didCompleteSwapBuffers() { }
-};
-
class MockWebContentLayerClient : public WebContentLayerClient {
public:
MOCK_METHOD3(paintContents, void(WebCanvas*, const WebRect& clip, WebFloatRect& opaque));
@@ -73,13 +59,16 @@ public:
class WebLayerTest : public Test {
public:
+ WebLayerTest()
+ : m_compositorInitializer(0)
+ {
+ }
+
virtual void SetUp()
{
- // Initialize without threading support.
- WebKit::WebCompositor::initialize(0);
m_rootLayer = adoptPtr(WebLayer::create());
EXPECT_CALL(m_client, scheduleComposite()).Times(AnyNumber());
- EXPECT_TRUE(m_view.initialize(&m_client, *m_rootLayer, WebLayerTreeView::Settings()));
+ EXPECT_TRUE(m_view = adoptPtr(WebLayerTreeView::create(&m_client, *m_rootLayer, WebLayerTreeView::Settings())));
Mock::VerifyAndClearExpectations(&m_client);
}
@@ -87,16 +76,15 @@ public:
{
// We may get any number of scheduleComposite calls during shutdown.
EXPECT_CALL(m_client, scheduleComposite()).Times(AnyNumber());
- m_view.setRootLayer(0);
m_rootLayer.clear();
- m_view.reset();
- WebKit::WebCompositor::shutdown();
+ m_view.clear();
}
protected:
+ WebKitTests::WebCompositorInitializer m_compositorInitializer;
MockWebLayerTreeViewClient m_client;
OwnPtr<WebLayer> m_rootLayer;
- WebLayerTreeView m_view;
+ OwnPtr<WebLayerTreeView> m_view;
};
// Tests that the client gets called to ask for a composite if we change the
@@ -156,7 +144,7 @@ TEST_F(WebLayerTest, Client)
EXPECT_EQ(point, layer->position());
// Texture layer.
- EXPECT_CALL(m_client, scheduleComposite()).Times(AnyNumber());
+ EXPECT_CALL(m_client, scheduleComposite()).Times(AtLeast(1));
OwnPtr<WebExternalTextureLayer> textureLayer = adoptPtr(WebExternalTextureLayer::create());
m_rootLayer->addChild(textureLayer->layer());
Mock::VerifyAndClearExpectations(&m_client);
@@ -187,6 +175,37 @@ TEST_F(WebLayerTest, Client)
contentLayer->layer()->setDrawsContent(false);
Mock::VerifyAndClearExpectations(&m_client);
EXPECT_FALSE(contentLayer->layer()->drawsContent());
+
+ // Solid color layer.
+ EXPECT_CALL(m_client, scheduleComposite()).Times(AtLeast(1));
+ OwnPtr<WebSolidColorLayer> solidColorLayer = adoptPtr(WebSolidColorLayer::create());
+ m_rootLayer->addChild(solidColorLayer->layer());
+ Mock::VerifyAndClearExpectations(&m_client);
+
+}
+
+class MockScrollClient : public WebLayerScrollClient {
+public:
+ MOCK_METHOD0(didScroll, void());
+};
+
+TEST_F(WebLayerTest, notifyScrollClient)
+{
+ MockScrollClient scrollClient;
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(0);
+ m_rootLayer->setScrollClient(&scrollClient);
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(1);
+ m_rootLayer->setScrollPosition(WebPoint(14, 19));
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ EXPECT_CALL(scrollClient, didScroll()).Times(0);
+ m_rootLayer->setScrollPosition(WebPoint(14, 19));
+ Mock::VerifyAndClearExpectations(&scrollClient);
+
+ m_rootLayer->setScrollClient(0);
}
}
diff --git a/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp b/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp
index 1c1602c23..c136e01be 100644
--- a/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp
+++ b/Source/WebKit/chromium/tests/WebLayerTreeViewTest.cpp
@@ -31,10 +31,12 @@
#include "WebLayerTreeViewTestCommon.h"
#include <gmock/gmock.h>
#include <public/Platform.h>
-#include <public/WebCompositor.h>
+#include <public/WebCompositorSupport.h>
#include <public/WebLayer.h>
#include <public/WebLayerTreeViewClient.h>
#include <public/WebThread.h>
+#include <wtf/RefCounted.h>
+#include <wtf/RefPtr.h>
using namespace WebKit;
using testing::Mock;
@@ -61,35 +63,34 @@ public:
{
initializeCompositor();
m_rootLayer = adoptPtr(WebLayer::create());
- EXPECT_TRUE(m_view.initialize(client(), *m_rootLayer, WebLayerTreeView::Settings()));
- m_view.setSurfaceReady();
+ ASSERT_TRUE(m_view = adoptPtr(WebLayerTreeView::create(client(), *m_rootLayer, WebLayerTreeView::Settings())));
+ m_view->setSurfaceReady();
}
virtual void TearDown()
{
Mock::VerifyAndClearExpectations(client());
- m_view.setRootLayer(0);
m_rootLayer.clear();
- m_view.reset();
- WebKit::WebCompositor::shutdown();
+ m_view.clear();
+ WebKit::Platform::current()->compositorSupport()->shutdown();
}
protected:
OwnPtr<WebLayer> m_rootLayer;
- WebLayerTreeView m_view;
+ OwnPtr<WebLayerTreeView> m_view;
};
class WebLayerTreeViewSingleThreadTest : public WebLayerTreeViewTestBase {
protected:
void composite()
{
- m_view.composite();
+ m_view->composite();
}
virtual void initializeCompositor() OVERRIDE
{
- WebKit::WebCompositor::initialize(0);
+ WebKit::Platform::current()->compositorSupport()->initialize(0);
}
virtual WebLayerTreeViewClient* client() OVERRIDE
@@ -157,18 +158,18 @@ protected:
void composite()
{
- m_view.setNeedsRedraw();
+ m_view->setNeedsRedraw();
RefPtr<CancelableTaskWrapper> timeoutTask = adoptRef(new CancelableTaskWrapper(adoptPtr(new TimeoutTask())));
WebKit::Platform::current()->currentThread()->postDelayedTask(timeoutTask->createTask(), 5000);
WebKit::Platform::current()->currentThread()->enterRunLoop();
timeoutTask->cancel();
- m_view.finishAllRendering();
+ m_view->finishAllRendering();
}
virtual void initializeCompositor() OVERRIDE
{
m_webThread = adoptPtr(WebKit::Platform::current()->createThread("WebLayerTreeViewTest"));
- WebCompositor::initialize(m_webThread.get());
+ WebKit::Platform::current()->compositorSupport()->initialize(m_webThread.get());
}
virtual WebLayerTreeViewClient* client() OVERRIDE
diff --git a/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h b/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h
index e2a62b6a3..48071f951 100644
--- a/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h
+++ b/Source/WebKit/chromium/tests/WebLayerTreeViewTestCommon.h
@@ -34,7 +34,7 @@ namespace WebKit {
class MockWebLayerTreeViewClient : public WebLayerTreeViewClient {
public:
- virtual void scheduleComposite() OVERRIDE { }
+ MOCK_METHOD0(scheduleComposite, void());
virtual void updateAnimations(double frameBeginTime) OVERRIDE { }
MOCK_METHOD0(willBeginFrame, void());
MOCK_METHOD0(didBeginFrame, void());
diff --git a/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp b/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp
index deaf7ad74..d54db214d 100644
--- a/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp
+++ b/Source/WebKit/chromium/tests/WebTransformOperationsTest.cpp
@@ -26,15 +26,14 @@
#include <public/WebTransformOperations.h>
-#include <public/WebTransformationMatrix.h>
-
-#include "CCLayerTreeTestCommon.h"
-
+#include "CCGeometryTestUtils.h"
#include <gtest/gtest.h>
+#include <public/WebTransformationMatrix.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
+using namespace std;
using namespace WebKit;
TEST(WebTransformOperationTest, transformTypesAreUnique)
@@ -42,19 +41,19 @@ TEST(WebTransformOperationTest, transformTypesAreUnique)
Vector<OwnPtr<WebTransformOperations> > transforms;
WebTransformOperations* toAdd = new WebTransformOperations();
- toAdd->appendTranslate(0, 0, 0);
+ toAdd->appendTranslate(1, 0, 0);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
- toAdd->appendRotate(0, 0, 1, 0);
+ toAdd->appendRotate(0, 0, 1, 2);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
- toAdd->appendScale(1, 1, 1);
+ toAdd->appendScale(2, 2, 2);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
- toAdd->appendSkew(0, 0);
+ toAdd->appendSkew(1, 0);
transforms.append(adoptPtr(toAdd));
toAdd = new WebTransformOperations();
@@ -72,19 +71,19 @@ TEST(WebTransformOperationTest, transformTypesAreUnique)
TEST(WebTransformOperationTest, matchTypesSameLength)
{
WebTransformOperations translates;
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
WebTransformOperations skews;
- skews.appendSkew(0, 0);
- skews.appendSkew(0, 0);
- skews.appendSkew(0, 0);
+ skews.appendSkew(0, 2);
+ skews.appendSkew(0, 2);
+ skews.appendSkew(0, 2);
WebTransformOperations translates2;
- translates2.appendTranslate(0, 0, 0);
- translates2.appendTranslate(0, 0, 0);
- translates2.appendTranslate(0, 0, 0);
+ translates2.appendTranslate(0, 2, 0);
+ translates2.appendTranslate(0, 2, 0);
+ translates2.appendTranslate(0, 2, 0);
WebTransformOperations translates3 = translates2;
@@ -96,22 +95,84 @@ TEST(WebTransformOperationTest, matchTypesSameLength)
TEST(WebTransformOperationTest, matchTypesDifferentLength)
{
WebTransformOperations translates;
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
- translates.appendTranslate(0, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
+ translates.appendTranslate(1, 0, 0);
WebTransformOperations skews;
- skews.appendSkew(0, 0);
- skews.appendSkew(0, 0);
+ skews.appendSkew(2, 0);
+ skews.appendSkew(2, 0);
WebTransformOperations translates2;
- translates2.appendTranslate(0, 0, 0);
- translates2.appendTranslate(0, 0, 0);
+ translates2.appendTranslate(0, 2, 0);
+ translates2.appendTranslate(0, 2, 0);
EXPECT_FALSE(translates.matchesTypes(skews));
EXPECT_FALSE(translates.matchesTypes(translates2));
}
+void getIdentityOperations(Vector<OwnPtr<WebTransformOperations> >* operations)
+{
+ WebTransformOperations* toAdd = new WebTransformOperations();
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendTranslate(0, 0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendTranslate(0, 0, 0);
+ toAdd->appendTranslate(0, 0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendScale(1, 1, 1);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendScale(1, 1, 1);
+ toAdd->appendScale(1, 1, 1);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendSkew(0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendSkew(0, 0);
+ toAdd->appendSkew(0, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendRotate(0, 0, 1, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendRotate(0, 0, 1, 0);
+ toAdd->appendRotate(0, 0, 1, 0);
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendMatrix(WebTransformationMatrix());
+ operations->append(adoptPtr(toAdd));
+
+ toAdd = new WebTransformOperations();
+ toAdd->appendMatrix(WebTransformationMatrix());
+ toAdd->appendMatrix(WebTransformationMatrix());
+ operations->append(adoptPtr(toAdd));
+}
+
+TEST(WebTransformOperationTest, identityAlwaysMatches)
+{
+ Vector<OwnPtr<WebTransformOperations> > operations;
+ getIdentityOperations(&operations);
+
+ for (size_t i = 0; i < operations.size(); ++i) {
+ for (size_t j = 0; j < operations.size(); ++j)
+ EXPECT_TRUE(operations[i]->matchesTypes(*operations[j]));
+ }
+}
+
TEST(WebTransformOperationTest, applyTranslate)
{
double x = 1;
@@ -339,3 +400,238 @@ TEST(WebTransformOperationTest, blendWhenTypesDoNotMatch)
EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
}
+
+TEST(WebTransformOperationTest, largeRotationsWithSameAxis)
+{
+ WebTransformOperations operationsFrom;
+ operationsFrom.appendRotate(0, 0, 1, 0);
+
+ WebTransformOperations operationsTo;
+ operationsTo.appendRotate(0, 0, 2, 360);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.rotate3d(0, 0, 1, 180);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
+}
+
+TEST(WebTransformOperationTest, largeRotationsWithSameAxisInDifferentDirection)
+{
+ WebTransformOperations operationsFrom;
+ operationsFrom.appendRotate(0, 0, 1, 180);
+
+ WebTransformOperations operationsTo;
+ operationsTo.appendRotate(0, 0, -1, 180);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
+}
+
+TEST(WebTransformOperationTest, largeRotationsWithDifferentAxes)
+{
+ WebTransformOperations operationsFrom;
+ operationsFrom.appendRotate(0, 0, 1, 180);
+
+ WebTransformOperations operationsTo;
+ operationsTo.appendRotate(0, 1, 0, 180);
+
+ double progress = 0.5;
+ WebTransformationMatrix matrixFrom;
+ matrixFrom.rotate3d(0, 0, 1, 180);
+
+ WebTransformationMatrix matrixTo;
+ matrixTo.rotate3d(0, 1, 0, 180);
+
+ WebTransformationMatrix expected = matrixTo;
+ expected.blend(matrixFrom, progress);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operationsTo.blend(operationsFrom, progress));
+}
+
+TEST(WebTransformOperationTest, blendRotationFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendRotate(0, 0, 1, 360);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.rotate3d(0, 0, 1, 180);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendTranslationFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendTranslate(2, 2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.translate3d(1, 1, 1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendScaleFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendScale(3, 3, 3);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.scale3d(2, 2, 2);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendSkewFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendSkew(2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.skewX(1);
+ expected.skewY(1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendPerspectiveFromIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendPerspective(1000);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.applyPerspective(500 + 0.5 * numeric_limits<double>::max());
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, operations.blend(*identityOperations[i], progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendRotationToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendRotate(0, 0, 1, 360);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.rotate3d(0, 0, 1, 180);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendTranslationToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendTranslate(2, 2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.translate3d(1, 1, 1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendScaleToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendScale(3, 3, 3);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.scale3d(2, 2, 2);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendSkewToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendSkew(2, 2);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.skewX(1);
+ expected.skewY(1);
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
+TEST(WebTransformOperationTest, blendPerspectiveToIdentity)
+{
+ Vector<OwnPtr<WebTransformOperations> > identityOperations;
+ getIdentityOperations(&identityOperations);
+
+ for (size_t i = 0; i < identityOperations.size(); ++i) {
+ WebTransformOperations operations;
+ operations.appendPerspective(1000);
+
+ double progress = 0.5;
+
+ WebTransformationMatrix expected;
+ expected.applyPerspective(500 + 0.5 * numeric_limits<double>::max());
+
+ EXPECT_TRANSFORMATION_MATRIX_EQ(expected, identityOperations[i]->blend(operations, progress));
+ }
+}
+
diff --git a/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp b/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp
index eb442f4e3..a587e4a37 100644
--- a/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp
+++ b/Source/WebKit/chromium/tests/WebTransformationMatrixTest.cpp
@@ -26,7 +26,7 @@
#include <public/WebTransformationMatrix.h>
-#include "CCLayerTreeTestCommon.h"
+#include "CCGeometryTestUtils.h"
#include <gtest/gtest.h>
#include <wtf/MathExtras.h>
diff --git a/Source/WebKit/chromium/tests/WebViewTest.cpp b/Source/WebKit/chromium/tests/WebViewTest.cpp
index 46c96310d..4e2553a36 100644
--- a/Source/WebKit/chromium/tests/WebViewTest.cpp
+++ b/Source/WebKit/chromium/tests/WebViewTest.cpp
@@ -32,14 +32,18 @@
#include "WebView.h"
#include "Document.h"
+#include "Element.h"
#include "FrameTestHelpers.h"
#include "FrameView.h"
#include "HTMLDocument.h"
#include "URLTestHelpers.h"
+#include "WebContentDetectionResult.h"
#include "WebDocument.h"
+#include "WebElement.h"
#include "WebFrame.h"
#include "WebFrameClient.h"
#include "WebFrameImpl.h"
+#include "WebInputEvent.h"
#include "platform/WebSize.h"
#include "WebViewClient.h"
#include "WebViewImpl.h"
@@ -218,7 +222,7 @@ void WebViewTest::testAutoResize(const WebSize& minAutoResize, const WebSize& ma
webView->close();
}
-TEST_F(WebViewTest, AutoResizeMinimumSize)
+TEST_F(WebViewTest, DISABLED_AutoResizeMinimumSize)
{
WebSize minAutoResize(91, 56);
WebSize maxAutoResize(403, 302);
@@ -418,4 +422,132 @@ TEST_F(WebViewTest, SetCompositionFromExistingText)
webView->close();
}
+class ContentDetectorClient : public WebViewClient {
+public:
+ ContentDetectorClient() { reset(); }
+
+ virtual WebContentDetectionResult detectContentAround(const WebHitTestResult& hitTest) OVERRIDE
+ {
+ m_contentDetectionRequested = true;
+ return m_contentDetectionResult;
+ }
+
+ virtual void scheduleContentIntent(const WebURL& url) OVERRIDE
+ {
+ m_scheduledIntentURL = url;
+ }
+
+ virtual void cancelScheduledContentIntents() OVERRIDE
+ {
+ m_pendingIntentsCancelled = true;
+ }
+
+ void reset()
+ {
+ m_contentDetectionRequested = false;
+ m_pendingIntentsCancelled = false;
+ m_scheduledIntentURL = WebURL();
+ m_contentDetectionResult = WebContentDetectionResult();
+ }
+
+ bool contentDetectionRequested() const { return m_contentDetectionRequested; }
+ bool pendingIntentsCancelled() const { return m_pendingIntentsCancelled; }
+ const WebURL& scheduledIntentURL() const { return m_scheduledIntentURL; }
+ void setContentDetectionResult(const WebContentDetectionResult& result) { m_contentDetectionResult = result; }
+
+private:
+ bool m_contentDetectionRequested;
+ bool m_pendingIntentsCancelled;
+ WebURL m_scheduledIntentURL;
+ WebContentDetectionResult m_contentDetectionResult;
+};
+
+static bool tapElementById(WebView* webView, WebInputEvent::Type type, const WebString& id)
+{
+ ASSERT(webView);
+ RefPtr<WebCore::Element> element = static_cast<PassRefPtr<WebCore::Element> >(webView->mainFrame()->document().getElementById(id));
+ if (!element)
+ return false;
+
+ element->scrollIntoViewIfNeeded();
+ WebCore::IntPoint center = element->screenRect().center();
+
+ WebGestureEvent event;
+ event.type = type;
+ event.x = center.x();
+ event.y = center.y();
+
+ webView->handleInputEvent(event);
+ webkit_support::RunAllPendingMessages();
+ return true;
+}
+
+TEST_F(WebViewTest, DetectContentAroundPosition)
+{
+ URLTestHelpers::registerMockedURLFromBaseURL(WebString::fromUTF8(m_baseURL.c_str()), WebString::fromUTF8("content_listeners.html"));
+
+ ContentDetectorClient client;
+ WebView* webView = FrameTestHelpers::createWebViewAndLoad(m_baseURL + "content_listeners.html", true, 0, &client);
+ webView->resize(WebSize(500, 300));
+ webView->layout();
+ webkit_support::RunAllPendingMessages();
+
+ WebString clickListener = WebString::fromUTF8("clickListener");
+ WebString touchstartListener = WebString::fromUTF8("touchstartListener");
+ WebString mousedownListener = WebString::fromUTF8("mousedownListener");
+ WebString noListener = WebString::fromUTF8("noListener");
+ WebString link = WebString::fromUTF8("link");
+
+ // Ensure content detection is not requested for nodes listening to click,
+ // mouse or touch events when we do simple taps.
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, clickListener));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, touchstartListener));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, mousedownListener));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ // Content detection should still work on click, mouse and touch event listeners for long taps
+ // as long as we're not tapping on links.
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, clickListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, touchstartListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, mousedownListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ client.reset();
+
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureLongPress, link));
+ EXPECT_FALSE(client.contentDetectionRequested());
+ client.reset();
+
+ // Content detection should work normally without these event listeners.
+ // The click listener in the body should be ignored as a special case.
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, noListener));
+ EXPECT_TRUE(client.contentDetectionRequested());
+ EXPECT_FALSE(client.scheduledIntentURL().isValid());
+
+ WebURL intentURL = toKURL(m_baseURL);
+ client.setContentDetectionResult(WebContentDetectionResult(WebRange(), WebString(), intentURL));
+ EXPECT_TRUE(tapElementById(webView, WebInputEvent::GestureTap, noListener));
+ EXPECT_TRUE(client.scheduledIntentURL() == intentURL);
+
+ // Tapping elsewhere should cancel the scheduled intent.
+ WebGestureEvent event;
+ event.type = WebInputEvent::GestureTap;
+ webView->handleInputEvent(event);
+ webkit_support::RunAllPendingMessages();
+ EXPECT_TRUE(client.pendingIntentsCancelled());
+ webView->close();
+}
+
}
diff --git a/Source/WebKit/chromium/tests/data/content_listeners.html b/Source/WebKit/chromium/tests/data/content_listeners.html
new file mode 100644
index 000000000..ff924c883
--- /dev/null
+++ b/Source/WebKit/chromium/tests/data/content_listeners.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+span {
+ font-size: 300%;
+}
+</style>
+<script>
+function listener() {
+}
+</script>
+</head>
+<body onclick="listener()">
+<span id="clickListener" onclick="listener()">
+This has a click listener.
+</span></br>
+<span id="touchstartListener" ontouchstart="listener()">
+This has a touchstart listener.
+</span></br>
+<span id="mousedownListener" onmousedown="listener()">
+This has a mousedown listener.
+</span></br>
+<span id="noListener">
+This has no specific listener (the body listener should be ignored).
+</span></br>
+<a href="http://www.test.com/" id="link">
+This has no specific listener, but it's a link.
+</a></br>
+</body>
+</html>
diff --git a/Source/WebKit/chromium/tests/data/disambiguation_popup.html b/Source/WebKit/chromium/tests/data/disambiguation_popup.html
new file mode 100644
index 000000000..b1af285ce
--- /dev/null
+++ b/Source/WebKit/chromium/tests/data/disambiguation_popup.html
@@ -0,0 +1,30 @@
+<html>
+<head>
+<title>Disambiguation Popup Test</title>
+<style type="text/css">
+.horizontal-link {
+ display:block;
+ width:200px;
+ height:30px;
+ margin:20px;
+ background-color:#ccccff;
+}
+.vertical-link {
+ display:inline-block;
+ width:30px;
+ height:200px;
+ margin:10px;
+ background-color:#ccccff;
+}
+</style>
+</head>
+<body style="margin:0px;">
+<a href="#" class="horizontal-link" style="margin:100px">Link</a>
+<a href="#" class="horizontal-link">Link 1</a>
+<a href="#" class="horizontal-link">Link 2</a>
+<a href="#" class="horizontal-link">Link 3</a>
+<a href="#" class="horizontal-link">Link 4</a>
+<a href="#" class="horizontal-link">Link 5</a>
+<a href="#" class="vertical-link">Link 1</a><a href="#" class="vertical-link">Link 2</a><a href="#" class="vertical-link">Link 3</a><a href="#" class="vertical-link">Link 4</a><a href="#" class="vertical-link">Link 5</a>
+</body>
+</html>
diff --git a/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html b/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html
index 89bd15fb0..2394b2624 100644
--- a/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html
+++ b/Source/WebKit/chromium/tests/data/test_touch_link_highlight.html
@@ -1,7 +1,7 @@
<!DOCTYPE html>
<body>
- <a href="http://www.test.com" style="position: absolute; left: 20px; top: 20px; width: 200px; -webkit-transform:translateZ(0)">A link to highlight</a>
- <div style="background-color: white; position: absolute; left: 20px; top: 40px; width: 200px; height: 30px">
+ <a href="http://www.test.com" style="position: absolute; left: 20px; top: 20px; width: 200px;">A link to highlight</a>
+ <div style="background-color: white; position: absolute; left: 20px; top: 40px; width: 200px; height: 30px; -webkit-transform:translateZ(0);">
<p id="innerDiv">Not a link to click.</p>
</div>
<div style="background-color: white; position: absolute; left: 20px; top: 100px; width: 200px; height: 100px; overflow-y: scroll; overflow-x : scroll;">
diff --git a/Source/WebKit/chromium/tests/data/text_selection.html b/Source/WebKit/chromium/tests/data/text_selection.html
new file mode 100644
index 000000000..f605e9a54
--- /dev/null
+++ b/Source/WebKit/chromium/tests/data/text_selection.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+<body>
+
+<span id="header">[
+<span id="header_1">Header 1.</span>
+<span id="header_2">Header 2.</span>
+]</span>
+
+<span id="editable" contenteditable="true">[
+<span id="editable_1">Editable 1.</span>
+<span id="editable_2">Editable 2.</span>
+]</span>
+
+<span id="footer">[
+<span id="footer_1">Footer 1.</span>
+<span id="footer_2">Footer 2.</span>
+]</span>
+
+<script>
+function selectElement(id) {
+ var element = document.getElementById(id);
+ var range = document.createRange();
+ range.selectNode(document.getElementById(id));
+ window.getSelection().removeAllRanges();
+ window.getSelection().addRange(range);
+}
+</script>
+</body>
+</html>
+
diff --git a/Source/WebKit/efl/ChangeLog b/Source/WebKit/efl/ChangeLog
index cc655735b..cfac6ce12 100644
--- a/Source/WebKit/efl/ChangeLog
+++ b/Source/WebKit/efl/ChangeLog
@@ -1,3 +1,580 @@
+2012-09-10 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Create a toggle button for closed captions
+ https://bugs.webkit.org/show_bug.cgi?id=96259
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add closed caption toggling button to default WebKitEFL
+ theme.
+
+ * DefaultTheme/default.edc:
+ * DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png: Added.
+ * DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png: Added.
+ * DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc: Added.
+
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update ewk_frame to call pixelSnappedBoundingBox.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_focused_element_geometry_get):
+
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::sendWebIntentResponse):
+ (DumpRenderTreeSupportEfl::deliverWebIntent):
+ Aslo update the code from the UString->String conversion through StringImpl.
+
+2012-09-07 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Use same default minimum logical font size in DRT and WTR
+ https://bugs.webkit.org/show_bug.cgi?id=96116
+
+ Reviewed by Martin Robinson.
+
+ Add DRT helper function to set the minimum logical
+ font size setting.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::setMinimumLogicalFontSize):
+ * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_hit_test_new):
+
+2012-09-07 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Unreviewed, rolling out r127839.
+ http://trac.webkit.org/changeset/127839
+ https://bugs.webkit.org/show_bug.cgi?id=90603
+
+ This patch was landed with wrong implementation and policy.
+
+ * WebCoreSupport/NotificationPresenterClientEfl.cpp:
+ (WebCore::NotificationPresenterClientEfl::NotificationPresenterClientEfl):
+ (WebCore::NotificationPresenterClientEfl::requestPermission):
+ (WebCore::NotificationPresenterClientEfl::checkPermission):
+ (WebCore::NotificationPresenterClientEfl::cancelRequestsForPermission):
+ * WebCoreSupport/NotificationPresenterClientEfl.h:
+ (NotificationPresenterClientEfl):
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+ * ewk/ewk_view.h:
+ * ewk/ewk_view_private.h:
+
+2012-09-07 Kihong Kwon <kihong.kwon@samsung.com>
+
+ [EFL] Support the permission function of the Web Notification.
+ https://bugs.webkit.org/show_bug.cgi?id=90603
+
+ Reviewed by Gyuyoung Kim.
+
+ Implement permission related functions of Web Notifications.
+ checkPermission for Notification.permissionLevel().
+ requestPermission for Notification.requestPermission().
+ In addition, if the application(like a browser) has permitted domains already,
+ it can be cached using ewk_view_notification_permissions_store.
+
+ * WebCoreSupport/NotificationPresenterClientEfl.cpp:
+ (WebCore::NotificationPresenterClientEfl::NotificationPresenterClientEfl):
+ (WebCore::NotificationPresenterClientEfl::requestPermission):
+ (WebCore::NotificationPresenterClientEfl::checkPermission):
+ (WebCore::NotificationPresenterClientEfl::addToPermissionCache):
+ (WebCore):
+ (WebCore::NotificationPresenterClientEfl::setPermission):
+ * WebCoreSupport/NotificationPresenterClientEfl.h:
+ (WebCore):
+ (NotificationPresenterClientEfl):
+ (WebCore::NotificationPresenterClientEfl::requestPermission):
+ (WebCore::NotificationPresenterClientEfl::cancelRequestsForPermission):
+ * ewk/ewk_view.cpp:
+ (_ewk_view_priv_new):
+ (ewk_view_notification_permission_store):
+ (ewk_view_notification_permissions_set):
+ (ewk_view_notification_permission_request):
+ * ewk/ewk_view.h:
+ * ewk/ewk_view_private.h:
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebCoreSupport/ChromeClientEfl.cpp:
+ * WebCoreSupport/InspectorClientEfl.cpp:
+
+2012-09-06 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Remove unnecessary logic in ewk_frame_source_get.
+ https://bugs.webkit.org/show_bug.cgi?id=95828
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Removed unnecessary logic that checks if <html> tag exists in document.
+ WebKit automatically fill out <html></html> tags if they are not existed.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_source_get):
+
+2012-09-05 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Remove '+=' usage in String
+ https://bugs.webkit.org/show_bug.cgi?id=95808
+
+ Reviewed by Benjamin Poulain.
+
+ Replaced use of String operator '+=' with StringBuilder.append*() in order to adopt efficient String concatenation.
+
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_source_get): Removed unnecessary strlen usage.
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportEfl.h:
+
+2012-09-04 Michał Pakuła vel Rutka <m.pakula@samsung.com>
+
+ [EFL] Context menu restore.
+ https://bugs.webkit.org/show_bug.cgi?id=74179
+
+ Reviewed by Gyuyoung Kim.
+
+ Adds context menu support for EFL port using non-CROSS_PLATFORM_CONTEXT_MENUS
+ approach, the same as used in WebKit2.
+
+ * WebCoreSupport/ContextMenuClientEfl.cpp: Added.
+ (WebCore):
+ (WebCore::ContextMenuClientEfl::contextMenuDestroyed):
+ (WebCore::ContextMenuClientEfl::getCustomMenuFromDefaultItems):
+ (WebCore::ContextMenuClientEfl::contextMenuItemSelected):
+ (WebCore::ContextMenuClientEfl::downloadURL):
+ (WebCore::ContextMenuClientEfl::lookUpInDictionary):
+ (WebCore::ContextMenuClientEfl::speak):
+ (WebCore::ContextMenuClientEfl::isSpeaking):
+ (WebCore::ContextMenuClientEfl::stopSpeaking):
+ (WebCore::ContextMenuClientEfl::searchWithGoogle):
+ * WebCoreSupport/ContextMenuClientEfl.h: Added.
+ (WebCore):
+ (ContextMenuClientEfl):
+ * ewk/ewk_contextmenu.cpp: Removed ewk_context_menu_customize implementation.
+ (ewk_context_menu_destroy): Added freeing context menu.
+ (ewk_context_menu_new): Added filling ewk_contextmenu list.
+ (ewk_context_menu_item_append):
+ * ewk/ewk_contextmenu_private.h: Removed ewk_context_menu_customize and changed ewk_context_menu_new definition.
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_priv_new):
+ (_ewk_view_priv_del):
+ (ewk_view_context_menu_forward_event):
+
+2012-09-04 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Drop default theme concept
+ https://bugs.webkit.org/show_bug.cgi?id=94778
+
+ Reviewed by Gyuyoung Kim.
+
+ * ewk/ewk_view.h:
+ Updated doxygen document not to mention default theme.
+
+2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Fix e_dbus_shutdown() error when exiting the Minibrowser
+ https://bugs.webkit.org/show_bug.cgi?id=95636
+
+ Reviewed by Gyuyoung Kim.
+
+ Invoke stopUpdating() in the destructor of BatteryClinetEfl()
+ to call e_ukit_shutdown() and e_dbus_shutdown() if and when
+ stopUpdating() has not been called explicitly.
+
+ * WebCoreSupport/BatteryClientEfl.cpp:
+ (BatteryClientEfl::~BatteryClientEfl):
+ * WebCoreSupport/BatteryClientEfl.h:
+ (BatteryClientEfl):
+
+2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Use WebKitVersion.h to get version information
+ https://bugs.webkit.org/show_bug.cgi?id=95669
+
+ Reviewed by Gyuyoung Kim.
+
+ Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION
+ in the WebKitVersion.h
+
+ Relocate the StorageTracker.h to keep the sorted order.
+
+ * ewk/ewk_settings.cpp:
+ (ewk_settings_default_user_agent_get):
+
+2012-09-01 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Refactoring the DumpRenderTreeSupportEfl
+ https://bugs.webkit.org/show_bug.cgi?id=95544
+
+ Reviewed by Gyuyoung Kim.
+
+ There are lots of repeated codes for getting the WebCore::Frame
+ and WebCore::Page. To reduce these duplications, simple macros
+ are added.
+
+ No new tests, just refactoring.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::activeAnimationsCount):
+ (DumpRenderTreeSupportEfl::callShouldCloseOnWebView):
+ (DumpRenderTreeSupportEfl::clearFrameName):
+ (DumpRenderTreeSupportEfl::clearOpener):
+ (DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId):
+ (DumpRenderTreeSupportEfl::frameChildren):
+ (DumpRenderTreeSupportEfl::frameParent):
+ (DumpRenderTreeSupportEfl::layoutFrame):
+ (DumpRenderTreeSupportEfl::numberOfPages):
+ (DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels):
+ (DumpRenderTreeSupportEfl::pageProperty):
+ (DumpRenderTreeSupportEfl::pauseAnimation):
+ (DumpRenderTreeSupportEfl::pauseTransition):
+ (DumpRenderTreeSupportEfl::pendingUnloadEventCount):
+ (DumpRenderTreeSupportEfl::renderTreeDump):
+ (DumpRenderTreeSupportEfl::responseMimeType):
+ (DumpRenderTreeSupportEfl::selectionRectangle):
+ (DumpRenderTreeSupportEfl::suitableDRTFrameName):
+ (DumpRenderTreeSupportEfl::setDefersLoading):
+ (DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting):
+ (DumpRenderTreeSupportEfl::addUserScript):
+ (DumpRenderTreeSupportEfl::clearUserScripts):
+ (DumpRenderTreeSupportEfl::addUserStyleSheet):
+ (DumpRenderTreeSupportEfl::clearUserStyleSheets):
+ (DumpRenderTreeSupportEfl::executeCoreCommandByName):
+ (DumpRenderTreeSupportEfl::findString):
+ (DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled):
+ (DumpRenderTreeSupportEfl::isCommandEnabled):
+ (DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled):
+ (DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled):
+ (DumpRenderTreeSupportEfl::evaluateInWebInspector):
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ (DumpRenderTreeSupportEfl::globalContextRefForFrame):
+ (DumpRenderTreeSupportEfl::setInteractiveFormValidationEnabled):
+ (DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification):
+ (DumpRenderTreeSupportEfl::setAuthorAndUserStylesEnabled):
+ (DumpRenderTreeSupportEfl::setComposition):
+ (DumpRenderTreeSupportEfl::hasComposition):
+ (DumpRenderTreeSupportEfl::compositionRange):
+ (DumpRenderTreeSupportEfl::confirmComposition):
+ (DumpRenderTreeSupportEfl::firstRectForCharacterRange):
+ (DumpRenderTreeSupportEfl::selectedRange):
+
+2012-08-31 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Add proper support for navigator.onLine and associated events
+ https://bugs.webkit.org/show_bug.cgi?id=95532
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Remove ewk_network_state_notifier_online_set() API since
+ the EFL port no longer relies on the client application to
+ provide it with the online state.
+
+ * ewk/ewk_network.cpp:
+ * ewk/ewk_network.h:
+
+2012-08-31 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Simplify FrameLoaderClinetEfl by adding a private method.
+ https://bugs.webkit.org/show_bug.cgi?id=95444
+
+ Reviewed by Gyuyoung Kim.
+
+ In the FrameLoaderClientEfl, the codes which checks that
+ if current frame is main frame are frequently used.
+ This patch adds a private method and replaces those codes
+ with the method to simplify.
+
+ * WebCoreSupport/FrameLoaderClientEfl.cpp:
+ (WebCore::FrameLoaderClientEfl::dispatchDidChangeLocationWithinPage):
+ (WebCore::FrameLoaderClientEfl::dispatchDidReceiveIcon):
+ (WebCore::FrameLoaderClientEfl::dispatchDidStartProvisionalLoad):
+ (WebCore::FrameLoaderClientEfl::dispatchDidReceiveTitle):
+ (WebCore::FrameLoaderClientEfl::dispatchDidCommitLoad):
+ (WebCore::FrameLoaderClientEfl::dispatchDidFailProvisionalLoad):
+ (WebCore::FrameLoaderClientEfl::transitionToCommittedForNewPage):
+ * WebCoreSupport/FrameLoaderClientEfl.h:
+ (WebCore::FrameLoaderClientEfl::isLoadingMainFrame):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::sendWebIntentResponse):
+ * ewk/ewk_frame.cpp:
+ (ewk_frame_script_execute):
+
+2012-08-29 Kamil Blank <k.blank@samsung.com>
+
+ [EFL] Add setting API for allow universal/file access from file URLs.
+ https://bugs.webkit.org/show_bug.cgi?id=83121
+
+ Reviewed by Eric Seidel.
+
+ Make it possible to enable allow universal/file access from file URLs.
+ Default value for both settings is true.
+
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_priv_new):
+ (ewk_view_setting_allow_universal_access_from_file_urls_set): Function sets if locally loaded documents
+ are allowed to access remote urls.
+ (ewk_view_setting_allow_universal_access_from_file_urls_get):
+ (ewk_view_setting_allow_file_access_from_file_urls_set): Function sets if locally loaded documents
+ are allowed to access other local urls.
+ (ewk_view_setting_allow_file_access_from_file_urls_get):
+ * ewk/ewk_view.h:
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Add *explicit* keyword to constructors in WebCoreSupport
+ https://bugs.webkit.org/show_bug.cgi?id=95307
+
+ Reviewed by Kentaro Hara.
+
+ Added explicit keyword in constructors in order to avoid implicit type conversion.
+
+ * WebCoreSupport/ColorChooserEfl.h:
+ (ColorChooserEfl):
+ * WebCoreSupport/PopupMenuEfl.h:
+ (PopupMenuEfl):
+ * WebCoreSupport/SearchPopupMenuEfl.h:
+ (SearchPopupMenuEfl):
+
+2012-08-29 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Move several files to remove webkit1 dependency from WebCore.
+ https://bugs.webkit.org/show_bug.cgi?id=95264
+
+ Reviewed by Gyuyoung Kim.
+
+ ColorChooserEfl.cpp, PopupMenuEfl.cpp and SearchPopupMenuEfl.cpp are WebKit1/Efl
+ specific files and they can not be shared with WebKit2/Efl.
+
+ In order to remove WebKit dependency from WebCore, this patch moves them
+ to WebKit/efl/WebCoreSupport.
+
+ * WebCoreSupport/ColorChooserEfl.cpp: Renamed from Source/WebCore/platform/efl/ColorChooserEfl.cpp.
+ (WebCore):
+ (WebCore::ColorChooserEfl::ColorChooserEfl):
+ (WebCore::ColorChooserEfl::~ColorChooserEfl):
+ (WebCore::ColorChooserEfl::setSelectedColor):
+ (WebCore::ColorChooserEfl::endChooser):
+ * WebCoreSupport/ColorChooserEfl.h: Renamed from Source/WebCore/platform/efl/ColorChooserEfl.h.
+ (WebCore):
+ (ColorChooserEfl):
+ * WebCoreSupport/PopupMenuEfl.cpp: Renamed from Source/WebCore/platform/efl/PopupMenuEfl.cpp.
+ (WebCore):
+ (WebCore::PopupMenuEfl::PopupMenuEfl):
+ (WebCore::PopupMenuEfl::~PopupMenuEfl):
+ (WebCore::PopupMenuEfl::show):
+ (WebCore::PopupMenuEfl::hide):
+ (WebCore::PopupMenuEfl::updateFromElement):
+ (WebCore::PopupMenuEfl::disconnectClient):
+ * WebCoreSupport/PopupMenuEfl.h: Renamed from Source/WebCore/platform/efl/PopupMenuEfl.h.
+ (WebCore):
+ (PopupMenuEfl):
+ (WebCore::PopupMenuEfl::client):
+ * WebCoreSupport/SearchPopupMenuEfl.cpp: Renamed from Source/WebCore/platform/efl/SearchPopupMenuEfl.cpp.
+ (WebCore):
+ (WebCore::SearchPopupMenuEfl::SearchPopupMenuEfl):
+ (WebCore::SearchPopupMenuEfl::popupMenu):
+ (WebCore::SearchPopupMenuEfl::saveRecentSearches):
+ (WebCore::SearchPopupMenuEfl::loadRecentSearches):
+ (WebCore::SearchPopupMenuEfl::enabled):
+ * WebCoreSupport/SearchPopupMenuEfl.h: Renamed from Source/WebCore/platform/efl/SearchPopupMenuEfl.h.
+ (WebCore):
+ (SearchPopupMenuEfl):
+
+2012-08-28 Seokju Kwon <seokju.kwon@samsung.com>
+
+ [EFL] Add support for localization to the Web Inspector
+ https://bugs.webkit.org/show_bug.cgi?id=92961
+
+ Reviewed by Gyuyoung Kim.
+
+ Implement InspectorFrontendClientEfl::localizedStringsURL()
+ to return the URL of the localizedStrings.js.
+
+ * WebCoreSupport/InspectorClientEfl.cpp:
+ (WebCore::InspectorClientEfl::openInspectorFrontend):
+ (WebCore::InspectorClientEfl::inspectorFilesPath):
+ (WebCore::InspectorFrontendClientEfl::localizedStringsURL):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-28 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] WebKit EFL updates view on HTTP 204 response
+ https://bugs.webkit.org/show_bug.cgi?id=95199
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Ignore HTTP responses which have status code equal
+ to 204 (No Content).
+
+ * WebCoreSupport/FrameLoaderClientEfl.cpp:
+ (WebCore::FrameLoaderClientEfl::dispatchDecidePolicyForResponse):
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Rename knob images to thumb on the default theme
+ https://bugs.webkit.org/show_bug.cgi?id=95186
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WebKit reefers to these handles as thumb instead of knob. Let's make
+ it coherent on EFL.
+
+ * DefaultTheme/widget/slider/slider.edc:
+ * DefaultTheme/widget/slider/slider_thumb_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png.
+ * DefaultTheme/widget/slider/slider_thumb_press_h.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png.
+ * DefaultTheme/widget/slider/slider_thumb_press_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png.
+ * DefaultTheme/widget/slider/slider_thumb_v.png: Renamed from Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png.
+
+2012-08-28 Thiago Marcos P. Santos <thiago.santos@intel.com>
+
+ [EFL] Range input ignores padding
+ https://bugs.webkit.org/show_bug.cgi?id=94595
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Updated default theme to paint the slider thumb in a different step.
+ This was done by splitting the thumb into a separated group.
+
+ * DefaultTheme/widget/slider/slider.edc:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
+ (DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/PlatformStrategiesEfl.cpp:
+ (PlatformStrategiesEfl::getPluginInfo):
+ * ewk/ewk_intent.cpp:
+ (ewk_intent_extra_get):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ RegisterProtocolHandlerClientEfl is renamed to NavigatorContentUtilsClientEfl.
+
+ * WebCoreSupport/NavigatorContentUtilsClientEfl.cpp: Renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp.
+ (WebCore):
+ (WebCore::customHandlerDataCreate):
+ (WebCore::customHandlerDataDelete):
+ (WebCore::NavigatorContentUtilsClientEfl::create):
+ (WebCore::NavigatorContentUtilsClientEfl::NavigatorContentUtilsClientEfl):
+ (WebCore::NavigatorContentUtilsClientEfl::registerProtocolHandler):
+ (WebCore::NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered):
+ (WebCore::NavigatorContentUtilsClientEfl::unregisterProtocolHandler):
+ * WebCoreSupport/NavigatorContentUtilsClientEfl.h: Renamed from Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h.
+ (NavigatorContentUtilsClientEfl):
+ (WebCore::NavigatorContentUtilsClientEfl::~NavigatorContentUtilsClientEfl):
+ * ewk/ewk_custom_handler.cpp:
+ * ewk/ewk_custom_handler_private.h:
+ * ewk/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_priv_new):
+
2012-08-23 Ryuan Choi <ryuan.choi@samsung.com>
[EFL] Remove ewk_tile_matrix_tile_update.
diff --git a/Source/WebKit/efl/DefaultTheme/default.edc b/Source/WebKit/efl/DefaultTheme/default.edc
index 1ecd0442b..e234839d7 100644
--- a/Source/WebKit/efl/DefaultTheme/default.edc
+++ b/Source/WebKit/efl/DefaultTheme/default.edc
@@ -61,5 +61,6 @@ collections {
#include "widget/mediacontrol/mutebutton/mute_button.edc"
#include "widget/mediacontrol/seekforwardbutton/seekforward_button.edc"
#include "widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc"
+#include "widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc"
#include "widget/mediacontrol/fullscreenbutton/fullscreen_button.edc"
}
diff --git a/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png
new file mode 100644
index 000000000..2015749e8
--- /dev/null
+++ b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png
new file mode 100644
index 000000000..a04b29d7e
--- /dev/null
+++ b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc
new file mode 100644
index 000000000..71cf39d12
--- /dev/null
+++ b/Source/WebKit/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc
@@ -0,0 +1,58 @@
+/*
+ Copyright (C) 2012 Intel Corporation
+
+ This file 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 file 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.
+*/
+
+ group {
+ name: "webkit/widget/mediacontrol/toggle_captions_button";
+
+ images {
+ image: "widget/mediacontrol/togglecaptionsbutton/closedcaption.png" COMP;
+ image: "widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png" COMP;
+ }
+
+ parts {
+ part {
+ name: "toggle_captions_button";
+ type: IMAGE;
+ description { state: "default" 0.0;
+ min: 25 25;
+ }
+ description { state: "show_captions" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/mediacontrol/togglecaptionsbutton/closedcaption.png";
+ }
+ description { state: "hide_captions" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/mediacontrol/togglecaptionsbutton/closedcaption_disabled.png";
+ }
+ }
+ }
+
+ programs {
+ program {
+ signal: "show_captions";
+ action: STATE_SET "show_captions" 0.0;
+ target: "toggle_captions_button";
+ }
+ program {
+ signal: "hide_captions";
+ action: STATE_SET "hide_captions" 0.0;
+ target: "toggle_captions_button";
+ }
+ }
+ }
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc b/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc
index 9e339e543..176740bc1 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider.edc
@@ -2,6 +2,7 @@
Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia
Copyright (C) 2009,2010 ProFUSION embedded systems
Copyright (C) 2009,2010 Samsung Electronics
+ Copyright (c) 2012 Intel Corporation. All rights reserved.
This file is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
@@ -20,472 +21,404 @@
*/
group {
- name: "webkit/widget/slider/vertical";
-
- min: 11 0; /* if > 0, this is the minimum size that will be allocated.
- * If wants to draw on top, just overflow usign edje's rel1/rel2
- */
- max: 11 999999;
-
- images {
- image: "widget/slider/slider_v.png" COMP;
- image: "widget/slider/slider_knob_v.png" COMP;
- image: "widget/slider/slider_knob_press_v.png" COMP;
- image: "widget/slider/slider_fill_v.png" COMP;
- }
-
- script {
- public isEnabled;
- public isPressed;
- public isChecked;
- public isFocused;
- public isHovered;
-
- public show() {
-
- if (get_int(isEnabled) == 1) {
- set_state(PART:"img.knob", "default", 0.0);
- if (get_int(isFocused) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- else if (get_int(isHovered) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- }
- else
- set_state(PART:"img.knob", "default", 0.0);
- }
-
- public message(Msg_Type:type, id, ...) {
- if ((id == 0) && (type == MSG_FLOAT_SET)) {
- new Float:vy, Float:sy;
-
- vy = getfarg(2);
- sy = getfarg(3);
-
- if (vy >= 0.0) {
- set_drag_size(PART:"img.knob", 1.0, sy);
- set_drag(PART:"img.knob", 0.0, vy);
- run_program(PROGRAM:"show");
- } else
- run_program(PROGRAM:"hide");
- }
- }
-
- public update_drag_pos() {
- new Float:x, Float:y;
- get_drag(PART:"img.knob", x, y);
- send_message(MSG_FLOAT, 1, y);
- }
- }
-
- parts {
- part {
- name: "rect.base";
- type: RECT;
- description {
- min: 11 29;
- max: 11 999999;
- state: "default" 0.0;
- color: 255 255 255 0;
+ name: "webkit/widget/slider/thumb_vertical";
+
+ min: 11 29;
+ max: 11 29;
+
+ images {
+ image: "widget/slider/slider_thumb_v.png" COMP;
+ image: "widget/slider/slider_thumb_press_v.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"img.thumb", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ } else if (get_int(isHovered) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
}
- }
- part {
- name: "rect.clipper";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- description {
- state: "hidden" 0.0;
- color: 255 255 255 128;
+ } else
+ set_state(PART:"img.thumb", "default", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "img.thumb";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 11 29;
+ image {
+ normal: "widget/slider/slider_thumb_v.png";
+ border: 6 6 0 0;
}
}
-
- part {
- name: "img.slider";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 5 29;
- max: 5 999999;
- rel1.to: "rect.base";
- rel2.to: "rect.base";
- image {
- normal: "widget/slider/slider_v.png";
- border: 0 0 5 5;
- }
- }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/slider/slider_thumb_press_v.png";
}
-
- part {
- name: "img.slider_fill";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 5 29;
- max: 5 999999;
- rel1.to: "img.knob";
- rel2.to: "rect.base";
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_fill_v.png";
- border: 0 0 5 5;
- }
- }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
}
+ }
+ }
+}
- part {
- name: "img.knob";
- type: IMAGE;
- mouse_events: 1;
- clip_to: "rect.clipper";
- dragable {
- x: 0 0 0;
- y: 1 1 1;
- confine: "rect.base";
- }
- description {
- state: "default" 0.0;
- min: 11 29;
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_knob_v.png";
- border: 0 0 6 6;
- }
- }
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "widget/slider/slider_knob_press_v.png";
+group {
+ name: "webkit/widget/slider/vertical";
+
+ min: 11 0; /* if > 0, this is the minimum size that will be allocated.
+ * If wants to draw on top, just overflow usign edje's rel1/rel2
+ */
+ max: 11 999999;
+
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((id == 0) && (type == MSG_FLOAT_SET)) {
+ new Float:y, Float:sy;
+ y = getfarg(2);
+ sy = getfarg(3);
+
+ if (sy >= 0.0) {
+ set_drag(PART:"img.slider_fill", 1.0, y);
+ set_drag_size(PART:"img.slider_fill", 1.0, sy);
}
}
- }
- programs {
- program {
- name: "load";
- signal: "load";
- action: STATE_SET "hidden" 0.0;
- target: "rect.clipper";
- }
- program {
- name: "hide";
- action: STATE_SET "hidden" 0.0;
- transition: ACCELERATE 0.5;
- target: "rect.clipper";
- }
-
- program {
- name: "show";
- action: STATE_SET "default" 0.0;
- target: "rect.clipper";
- }
-
- program {
- name: "dragged";
- signal: "drag";
- source: "img.knob";
- script {
- update_drag_pos();
- }
- }
-
- program {
- name: "enabled";
- signal: "enabled";
- script {
- set_int(isEnabled, 1);
- show();
- }
- }
- program {
- name: "pressed";
- signal: "pressed";
- script {
- set_int(isPressed, 1);
- show();
- }
- }
- program {
- name: "checked";
- signal: "checked";
- script {
- set_int(isChecked, 1);
- show();
- }
- }
- program {
- name: "focused";
- signal: "focused";
- script {
- set_int(isFocused, 1);
- show();
- }
- }
- program {
- name: "hovered";
- signal: "hovered";
- script {
- set_int(isHovered, 1);
- show();
- }
- }
- program {
- name: "reset";
- signal: "reset";
- script {
- set_int(isEnabled, 0);
- set_int(isPressed, 0);
- set_int(isChecked, 0);
- set_int(isFocused, 0);
- set_int(isHovered, 0);
- show();
+ }
+ }
+
+ images {
+ image: "widget/slider/slider_v.png" COMP;
+ image: "widget/slider/slider_fill_v.png" COMP;
+ }
+
+ parts {
+ part {
+ name: "rect.base";
+ type: RECT;
+ description {
+ min: 11 29;
+ max: 11 999999;
+ state: "default" 0.0;
+ color: 255 255 255 0;
+ }
+ }
+
+ part {
+ name: "rect.clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+
+ part {
+ name: "img.slider";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ description {
+ state: "default" 0.0;
+ min: 5 29;
+ max: 5 999999;
+ rel1.to: "rect.base";
+ rel2.to: "rect.base";
+ image {
+ normal: "widget/slider/slider_v.png";
+ border: 0 0 5 5;
}
}
- }
+ }
+
+ part {
+ name: "img.slider_fill";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ dragable {
+ x: 0 0 0;
+ y: 1 1 0;
+ confine: "rect.base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 5 0;
+ max: 5 999999;
+ align: 0.5 0.5;
+ image {
+ normal: "widget/slider/slider_fill_v.png";
+ border: 0 0 5 5;
+ }
+ }
+ }
+ }
}
group {
- name: "webkit/widget/slider/horizontal";
-
- min: 0 11; /* if > 0, this is the minimum size that will be allocated.
- * If wants to draw on top, just overflow usign edje's rel1/rel2
- */
- max: 999999 11;
-
- images {
- image: "widget/slider/slider_h.png" COMP;
- image: "widget/slider/slider_knob_h.png" COMP;
- image: "widget/slider/slider_knob_press_h.png" COMP;
- image: "widget/slider/slider_fill_h.png" COMP;
- }
-
- script {
- public isEnabled;
- public isPressed;
- public isChecked;
- public isFocused;
- public isHovered;
-
- public show() {
-
- if (get_int(isEnabled) == 1) {
- set_state(PART:"img.knob", "default", 0.0);
- if (get_int(isFocused) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- else if (get_int(isHovered) == 1) {
- set_state(PART:"img.knob", "pressed", 0.0);
- if (get_int(isPressed) == 1)
- set_state(PART:"img.knob", "pressed", 0.0);
- }
- }
- else
- set_state(PART:"img.knob", "default", 0.0);
- }
-
- public message(Msg_Type:type, id, ...) {
- if ((id == 0) && (type == MSG_FLOAT_SET)) {
- new Float:vx, Float:sx;
-
- vx = getfarg(2);
- sx = getfarg(3);
-
- if (vx >= 0.0) {
- set_drag_size(PART:"img.knob", sx, 1.0);
- set_drag(PART:"img.knob", vx, 0.0);
- run_program(PROGRAM:"show");
- } else
- run_program(PROGRAM:"hide");
- }
- }
-
- public update_drag_pos() {
- new Float:x, Float:y;
- get_drag(PART:"img.knob", x, y);
- send_message(MSG_FLOAT, 1, x);
- }
- }
-
- parts {
- part {
- name: "rect.base";
- type: RECT;
- description {
- state: "default" 0.0;
- min: 29 11;
- max: 999999 11;
- color: 255 255 255 0;
+ name: "webkit/widget/slider/thumb_horizontal";
+
+ min: 29 11;
+ max: 29 11;
+
+ images {
+ image: "widget/slider/slider_thumb_h.png" COMP;
+ image: "widget/slider/slider_thumb_press_h.png" COMP;
+ }
+
+ script {
+ public isEnabled;
+ public isPressed;
+ public isFocused;
+ public isHovered;
+
+ public show() {
+ if (get_int(isEnabled) == 1) {
+ set_state(PART:"img.thumb", "default", 0.0);
+ if (get_int(isFocused) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ } else if (get_int(isHovered) == 1) {
+ set_state(PART:"img.thumb", "pressed", 0.0);
+ if (get_int(isPressed) == 1)
+ set_state(PART:"img.thumb", "pressed", 0.0);
}
- }
- part {
- name: "rect.clipper";
- type: RECT;
- description {
- state: "default" 0.0;
- color: 255 255 255 255;
- }
- description {
- state: "hidden" 0.0;
- color: 255 255 255 128;
+ } else
+ set_state(PART:"img.thumb", "default", 0.0);
+ }
+ }
+
+ parts {
+ part {
+ name: "img.thumb";
+ type: IMAGE;
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ min: 29 11;
+ image {
+ normal: "widget/slider/slider_thumb_h.png";
+ border: 6 6 0 0;
}
}
-
- part {
- name: "img.slider";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 29 5;
- max: 999999 5;
- rel1.to: "rect.base";
- rel2.to: "rect.base";
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_h.png";
- border: 5 5 0 0;
- }
- }
+ description {
+ state: "pressed" 0.0;
+ inherit: "default" 0.0;
+ image.normal: "widget/slider/slider_thumb_press_h.png";
}
-
- part {
- name: "img.slider_fill";
- type: IMAGE;
- mouse_events: 0;
- clip_to: "rect.clipper";
- description {
- state: "default" 0.0;
- min: 29 5;
- max: 999999 5;
- rel1.to: "rect.base";
- rel2.to: "img.knob";
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_fill_h.png";
- border: 5 5 0 0;
- }
- }
+ }
+ }
+
+ programs {
+ program {
+ name: "enabled";
+ signal: "enabled";
+ script {
+ set_int(isEnabled, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "pressed";
+ signal: "pressed";
+ script {
+ set_int(isPressed, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "focused";
+ signal: "focused";
+ script {
+ set_int(isFocused, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "hovered";
+ signal: "hovered";
+ script {
+ set_int(isHovered, 1);
+ show();
+ }
+ }
+
+ program {
+ name: "reset";
+ signal: "reset";
+ script {
+ set_int(isEnabled, 0);
+ set_int(isPressed, 0);
+ set_int(isFocused, 0);
+ set_int(isHovered, 0);
+ show();
}
+ }
+ }
+}
- part {
- name: "img.knob";
- type: IMAGE;
- mouse_events: 1;
- clip_to: "rect.clipper";
- dragable {
- x: 1 1 0;
- y: 0 0 0;
- confine: "rect.base";
- }
- description {
- state: "default" 0.0;
- min: 29 11;
- align: 0.5 0.5;
- image {
- normal: "widget/slider/slider_knob_h.png";
- border: 6 6 0 0;
- }
+group {
+ name: "webkit/widget/slider/horizontal";
+
+ min: 0 11; /* if > 0, this is the minimum size that will be allocated.
+ * If wants to draw on top, just overflow usign edje's rel1/rel2
+ */
+ max: 999999 11;
+
+ images {
+ image: "widget/slider/slider_h.png" COMP;
+ image: "widget/slider/slider_fill_h.png" COMP;
+ }
+
+ script {
+ public message(Msg_Type:type, id, ...) {
+ if ((id == 0) && (type == MSG_FLOAT_SET)) {
+ new Float:x, Float:sx;
+ x = getfarg(2);
+ sx = getfarg(3);
+
+ if (sx >= 0.0) {
+ set_drag(PART:"img.slider_fill", x, 0.0);
+ set_drag_size(PART:"img.slider_fill", sx, 1.0);
}
- description {
- state: "pressed" 0.0;
- inherit: "default" 0.0;
- image.normal: "widget/slider/slider_knob_press_h.png";
+ }
+ }
+ }
+
+ parts {
+ part {
+ name: "rect.base";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ min: 29 11;
+ max: 999999 11;
+ color: 255 255 255 0;
+ }
+ }
+
+ part {
+ name: "rect.clipper";
+ type: RECT;
+ description {
+ state: "default" 0.0;
+ color: 255 255 255 255;
+ }
+ description {
+ state: "hidden" 0.0;
+ color: 255 255 255 128;
+ }
+ }
+
+ part {
+ name: "img.slider";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ description {
+ state: "default" 0.0;
+ min: 29 5;
+ max: 999999 5;
+ rel1.to: "rect.base";
+ rel2.to: "rect.base";
+ align: 0.5 0.5;
+ image {
+ normal: "widget/slider/slider_h.png";
+ border: 5 5 0 0;
}
}
- }
- programs {
- program {
- name: "load";
- signal: "load";
- action: STATE_SET "hidden" 0.0;
- target: "rect.clipper";
- }
- program {
- name: "hide";
- action: STATE_SET "hidden" 0.0;
- transition: ACCELERATE 0.5;
- target: "rect.clipper";
- }
-
- program {
- name: "show";
- action: STATE_SET "default" 0.0;
- target: "rect.clipper";
- }
-
- program {
- name: "dragged";
- signal: "drag";
- source: "img.knob";
- script {
- update_drag_pos();
- }
- }
-
- program {
- name: "enabled";
- signal: "enabled";
- script {
- set_int(isEnabled, 1);
- show();
- }
- }
- program {
- name: "pressed";
- signal: "pressed";
- script {
- set_int(isPressed, 1);
- show();
- }
- }
- program {
- name: "checked";
- signal: "checked";
- script {
- set_int(isChecked, 1);
- show();
- }
- }
- program {
- name: "focused";
- signal: "focused";
- script {
- set_int(isFocused, 1);
- show();
- }
- }
- program {
- name: "hovered";
- signal: "hovered";
- script {
- set_int(isHovered, 1);
- show();
- }
- }
- program {
- name: "reset";
- signal: "reset";
- script {
- set_int(isEnabled, 0);
- set_int(isPressed, 0);
- set_int(isChecked, 0);
- set_int(isFocused, 0);
- set_int(isHovered, 0);
- show();
+ }
+
+ part {
+ name: "img.slider_fill";
+ type: IMAGE;
+ mouse_events: 0;
+ clip_to: "rect.clipper";
+ dragable {
+ x: 1 1 0;
+ y: 0 0 0;
+ confine: "rect.base";
+ }
+ description {
+ state: "default" 0.0;
+ min: 0 5;
+ max: 999999 5;
+ align: 0.5 0.5;
+ image {
+ normal: "widget/slider/slider_fill_h.png";
+ border: 5 5 0 0;
}
- }
- }
+ }
+ }
+ }
}
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png
index 22454af72..22454af72 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_h.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_h.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png
index 1421cd837..1421cd837 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_h.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_h.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png
index 293813cea..293813cea 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_press_v.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_press_v.png
Binary files differ
diff --git a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png
index 051f3c33c..051f3c33c 100644
--- a/Source/WebKit/efl/DefaultTheme/widget/slider/slider_knob_v.png
+++ b/Source/WebKit/efl/DefaultTheme/widget/slider/slider_thumb_v.png
Binary files differ
diff --git a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
index 9de607af5..ca2025e76 100644
--- a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.cpp
@@ -32,6 +32,11 @@ BatteryClientEfl::BatteryClientEfl(Evas_Object* view)
{
}
+BatteryClientEfl::~BatteryClientEfl()
+{
+ m_provider.stopUpdating();
+}
+
void BatteryClientEfl::startUpdating()
{
m_provider.startUpdating();
diff --git a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
index f633aadf1..d11acc9ca 100644
--- a/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/BatteryClientEfl.h
@@ -36,7 +36,7 @@ class BatteryController;
class BatteryClientEfl : public WebCore::BatteryClient, public WebCore::BatteryProviderEflClient {
public:
explicit BatteryClientEfl(Evas_Object* view);
- virtual ~BatteryClientEfl() { }
+ virtual ~BatteryClientEfl();
// BatteryClient interface.
virtual void startUpdating();
diff --git a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
index 3b327ed78..9d5cde5a3 100644
--- a/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/ChromeClientEfl.cpp
@@ -46,7 +46,6 @@
#include "KURL.h"
#include "NavigationAction.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "PopupMenuEfl.h"
#include "SearchPopupMenuEfl.h"
#include "SecurityOrigin.h"
@@ -61,6 +60,7 @@
#include <Ecore_Evas.h>
#include <Evas.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
#include "NotificationPresenterClientEfl.h"
diff --git a/Source/WebCore/platform/efl/ColorChooserEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp
index 8003be1e5..8003be1e5 100644
--- a/Source/WebCore/platform/efl/ColorChooserEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.cpp
diff --git a/Source/WebCore/platform/efl/ColorChooserEfl.h b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h
index c1c8d062d..57ee37d5b 100644
--- a/Source/WebCore/platform/efl/ColorChooserEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/ColorChooserEfl.h
@@ -40,7 +40,7 @@ class ChromeClientEfl;
class ColorChooserEfl : public ColorChooser {
public:
- ColorChooserEfl(ChromeClientEfl*);
+ explicit ColorChooserEfl(ChromeClientEfl*);
~ColorChooserEfl();
// ColorChooser implementation.
diff --git a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
new file mode 100644
index 000000000..5f56e318a
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.cpp
@@ -0,0 +1,87 @@
+/*
+ * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2009 Igalia S.L.
+ * Copyright (C) 2010 ProFUSION embedded systems
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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 "ContextMenuClientEfl.h"
+
+#include "ContextMenu.h"
+#include "HitTestResult.h"
+#include "KURL.h"
+#include "NotImplemented.h"
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+void ContextMenuClientEfl::contextMenuDestroyed()
+{
+ delete this;
+}
+
+PlatformMenuDescription ContextMenuClientEfl::getCustomMenuFromDefaultItems(ContextMenu* menu)
+{
+ // warning: this transfers the ownership to the caller
+ return menu->releasePlatformDescription();
+}
+
+void ContextMenuClientEfl::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::downloadURL(const KURL&)
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::lookUpInDictionary(Frame*)
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::speak(const String&)
+{
+ notImplemented();
+}
+
+bool ContextMenuClientEfl::isSpeaking()
+{
+ notImplemented();
+ return false;
+}
+
+void ContextMenuClientEfl::stopSpeaking()
+{
+ notImplemented();
+}
+
+void ContextMenuClientEfl::searchWithGoogle(const Frame*)
+{
+ notImplemented();
+}
+
+}
diff --git a/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
new file mode 100644
index 000000000..39a881d60
--- /dev/null
+++ b/Source/WebKit/efl/WebCoreSupport/ContextMenuClientEfl.h
@@ -0,0 +1,55 @@
+/*
+ * Copyright (C) 2008 Apple Computer, Inc. All rights reserved.
+ * Copyright (C) 2009 Igalia S.L.
+ * Copyright (C) 2010 ProFUSION embedded systems
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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.
+ */
+
+#ifndef ContextMenuClientEfl_h
+#define ContextMenuClientEfl_h
+
+#include "ContextMenuClient.h"
+
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+class ContextMenu;
+
+class ContextMenuClientEfl : public ContextMenuClient {
+public:
+ virtual void contextMenuDestroyed();
+
+ virtual PlatformMenuDescription getCustomMenuFromDefaultItems(ContextMenu*);
+ virtual void contextMenuItemSelected(ContextMenuItem*, const ContextMenu*);
+
+ virtual void downloadURL(const KURL&);
+ virtual void lookUpInDictionary(Frame*);
+ virtual void speak(const String&);
+ virtual bool isSpeaking();
+ virtual void stopSpeaking();
+ virtual void searchWithGoogle(const Frame*);
+};
+}
+
+#endif
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
index 96a5791ee..020502327 100644
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.cpp
@@ -61,12 +61,19 @@
#include <workers/WorkerThread.h>
#include <wtf/HashMap.h>
+#define DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, ...) \
+ WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame); \
+ if (!frame) \
+ return __VA_ARGS__;
+
+#define DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, ...) \
+ WebCore::Page* page = EWKPrivate::corePage(ewkView); \
+ if (!page) \
+ return __VA_ARGS__;
+
unsigned DumpRenderTreeSupportEfl::activeAnimationsCount(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
WebCore::AnimationController* animationController = frame->animation();
@@ -78,32 +85,28 @@ unsigned DumpRenderTreeSupportEfl::activeAnimationsCount(const Evas_Object* ewkF
bool DumpRenderTreeSupportEfl::callShouldCloseOnWebView(Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
return frame->loader()->shouldClose();
}
void DumpRenderTreeSupportEfl::clearFrameName(Evas_Object* ewkFrame)
{
- if (WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame))
- frame->tree()->clearName();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
+
+ frame->tree()->clearName();
}
void DumpRenderTreeSupportEfl::clearOpener(Evas_Object* ewkFrame)
{
- if (WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame))
- frame->loader()->setOpener(0);
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
+
+ frame->loader()->setOpener(0);
}
bool DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId(const Evas_Object* ewkFrame, const String& elementId)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
WebCore::Document* document = frame->document();
ASSERT(document);
@@ -118,10 +121,7 @@ bool DumpRenderTreeSupportEfl::elementDoesAutoCompleteForElementWithId(const Eva
Eina_List* DumpRenderTreeSupportEfl::frameChildren(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
Eina_List* childFrames = 0;
@@ -140,64 +140,24 @@ Eina_List* DumpRenderTreeSupportEfl::frameChildren(const Evas_Object* ewkFrame)
WebCore::Frame* DumpRenderTreeSupportEfl::frameParent(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
return frame->tree()->parent();
}
void DumpRenderTreeSupportEfl::layoutFrame(Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return;
-
- WebCore::FrameView* frameView = frame->view();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
- if (!frameView)
+ if (!frame->view())
return;
- frameView->layout();
-}
-
-int DumpRenderTreeSupportEfl::numberOfPages(const Evas_Object* ewkFrame, float pageWidth, float pageHeight)
-{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return 0;
-
- return WebCore::PrintContext::numberOfPages(frame, WebCore::FloatSize(pageWidth, pageHeight));
-}
-
-String DumpRenderTreeSupportEfl::pageSizeAndMarginsInPixels(const Evas_Object* ewkFrame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
-{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
-
- return WebCore::PrintContext::pageSizeAndMarginsInPixels(frame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft);
-}
-
-String DumpRenderTreeSupportEfl::pageProperty(const Evas_Object* ewkFrame, const char* propertyName, int pageNumber)
-{
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
- if (!coreFrame)
- return String();
-
- return WebCore::PrintContext::pageProperty(coreFrame, propertyName, pageNumber);
+ frame->view()->layout();
}
bool DumpRenderTreeSupportEfl::pauseAnimation(Evas_Object* ewkFrame, const char* name, const char* elementId, double time)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
WebCore::Element* element = frame->document()->getElementById(elementId);
@@ -209,10 +169,7 @@ bool DumpRenderTreeSupportEfl::pauseAnimation(Evas_Object* ewkFrame, const char*
bool DumpRenderTreeSupportEfl::pauseTransition(Evas_Object* ewkFrame, const char* name, const char* elementId, double time)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return false;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, false);
WebCore::Element* element = frame->document()->getElementById(elementId);
@@ -224,18 +181,14 @@ bool DumpRenderTreeSupportEfl::pauseTransition(Evas_Object* ewkFrame, const char
unsigned DumpRenderTreeSupportEfl::pendingUnloadEventCount(const Evas_Object* ewkFrame)
{
- if (WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame))
- return frame->document()->domWindow()->pendingUnloadEventListeners();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
- return 0;
+ return frame->document()->domWindow()->pendingUnloadEventListeners();
}
String DumpRenderTreeSupportEfl::renderTreeDump(Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
WebCore::FrameView *frameView = frame->view();
@@ -247,10 +200,7 @@ String DumpRenderTreeSupportEfl::renderTreeDump(Evas_Object* ewkFrame)
String DumpRenderTreeSupportEfl::responseMimeType(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
WebCore::DocumentLoader *documentLoader = frame->loader()->documentLoader();
@@ -262,10 +212,7 @@ String DumpRenderTreeSupportEfl::responseMimeType(const Evas_Object* ewkFrame)
WebCore::IntRect DumpRenderTreeSupportEfl::selectionRectangle(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return WebCore::IntRect();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, WebCore::IntRect());
return enclosingIntRect(frame->selection()->bounds());
}
@@ -273,10 +220,7 @@ WebCore::IntRect DumpRenderTreeSupportEfl::selectionRectangle(const Evas_Object*
// Compare with "WebKit/Tools/DumpRenderTree/mac/FrameLoadDelegate.mm
String DumpRenderTreeSupportEfl::suitableDRTFrameName(const Evas_Object* ewkFrame)
{
- WebCore::Frame* frame = EWKPrivate::coreFrame(ewkFrame);
-
- if (!frame)
- return String();
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, String());
const String frameName(ewk_frame_name_get(ewkFrame));
@@ -321,28 +265,28 @@ void DumpRenderTreeSupportEfl::setAutofilled(JSContextRef context, JSValueRef no
void DumpRenderTreeSupportEfl::setDefersLoading(Evas_Object* ewkView, bool defers)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
-
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->setDefersLoading(defers);
}
void DumpRenderTreeSupportEfl::setLoadsSiteIconsIgnoringImageLoadingSetting(Evas_Object* ewkView, bool loadsSiteIconsIgnoringImageLoadingPreferences)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->settings()->setLoadsSiteIconsIgnoringImageLoadingSetting(loadsSiteIconsIgnoringImageLoadingPreferences);
}
+void DumpRenderTreeSupportEfl::setMinimumLogicalFontSize(Evas_Object* ewkView, int size)
+{
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setMinimumLogicalFontSize(size);
+}
+
void DumpRenderTreeSupportEfl::addUserScript(const Evas_Object* ewkView, const String& sourceCode, bool runAtStart, bool allFrames)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().addUserScriptToWorld(WebCore::mainThreadNormalWorld(), sourceCode, WebCore::KURL(),
nullptr, nullptr, runAtStart ? WebCore::InjectAtDocumentStart : WebCore::InjectAtDocumentEnd,
@@ -351,71 +295,56 @@ void DumpRenderTreeSupportEfl::addUserScript(const Evas_Object* ewkView, const S
void DumpRenderTreeSupportEfl::clearUserScripts(const Evas_Object* ewkView)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().removeUserScriptsFromWorld(WebCore::mainThreadNormalWorld());
}
void DumpRenderTreeSupportEfl::addUserStyleSheet(const Evas_Object* ewkView, const String& sourceCode, bool allFrames)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().addUserStyleSheetToWorld(WebCore::mainThreadNormalWorld(), sourceCode, WebCore::KURL(), nullptr, nullptr, allFrames ? WebCore::InjectInAllFrames : WebCore::InjectInTopFrameOnly);
}
void DumpRenderTreeSupportEfl::clearUserStyleSheets(const Evas_Object* ewkView)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->group().removeUserStyleSheetsFromWorld(WebCore::mainThreadNormalWorld());
}
void DumpRenderTreeSupportEfl::executeCoreCommandByName(const Evas_Object* ewkView, const char* name, const char* value)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
page->focusController()->focusedOrMainFrame()->editor()->command(name).execute(value);
}
bool DumpRenderTreeSupportEfl::findString(const Evas_Object* ewkView, const String& text, WebCore::FindOptions options)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
-
- if (!page)
- return false;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
return page->findString(text, options);
}
void DumpRenderTreeSupportEfl::setCSSGridLayoutEnabled(const Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (corePage)
- corePage->settings()->setCSSGridLayoutEnabled(enabled);
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setCSSGridLayoutEnabled(enabled);
}
bool DumpRenderTreeSupportEfl::isCommandEnabled(const Evas_Object* ewkView, const char* name)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return false;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
return page->focusController()->focusedOrMainFrame()->editor()->command(name).isEnabled();
}
void DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
WebCore::EditorClientEfl* editorClient = static_cast<WebCore::EditorClientEfl*>(page->editorClient());
if (!editorClient)
@@ -426,9 +355,7 @@ void DumpRenderTreeSupportEfl::setSmartInsertDeleteEnabled(Evas_Object* ewkView,
void DumpRenderTreeSupportEfl::setSelectTrailingWhitespaceEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
WebCore::EditorClientEfl* editorClient = static_cast<WebCore::EditorClientEfl*>(page->editorClient());
if (!editorClient)
@@ -508,9 +435,7 @@ bool DumpRenderTreeSupportEfl::isTargetItem(const Ewk_History_Item* ewkHistoryIt
void DumpRenderTreeSupportEfl::evaluateInWebInspector(const Evas_Object* ewkView, long callId, const String& script)
{
#if ENABLE(INSPECTOR)
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
if (page->inspectorController())
page->inspectorController()->evaluateForTestInFrontend(callId, script);
@@ -519,12 +444,10 @@ void DumpRenderTreeSupportEfl::evaluateInWebInspector(const Evas_Object* ewkView
void DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld(const Evas_Object* ewkFrame, int worldID, JSObjectRef globalObject, const String& script)
{
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
- if (!coreFrame)
- return;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame);
// Comment from mac: Start off with some guess at a frame and a global object, we'll try to do better...!
- WebCore::JSDOMWindow* anyWorldGlobalObject = coreFrame->script()->globalObject(WebCore::mainThreadNormalWorld());
+ WebCore::JSDOMWindow* anyWorldGlobalObject = frame->script()->globalObject(WebCore::mainThreadNormalWorld());
// Comment from mac: The global object is probably a shell object? - if so, we know how to use this!
JSC::JSObject* globalObjectObj = toJS(globalObject);
@@ -562,11 +485,9 @@ void DumpRenderTreeSupportEfl::evaluateScriptInIsolatedWorld(const Evas_Object*
JSGlobalContextRef DumpRenderTreeSupportEfl::globalContextRefForFrame(const Evas_Object* ewkFrame)
{
- WebCore::Frame* coreFrame = EWKPrivate::coreFrame(ewkFrame);
- if (!coreFrame)
- return 0;
+ DRT_SUPPORT_FRAME_GET_OR_RETURN(ewkFrame, frame, 0);
- return toGlobalRef(coreFrame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec());
+ return toGlobalRef(frame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec());
}
void DumpRenderTreeSupportEfl::setMockScrollbarsEnabled(bool enable)
@@ -593,16 +514,16 @@ String DumpRenderTreeSupportEfl::markerTextForListItem(JSContextRef context, JSV
void DumpRenderTreeSupportEfl::setInteractiveFormValidationEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (corePage)
- corePage->settings()->setInteractiveFormValidationEnabled(enabled);
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setInteractiveFormValidationEnabled(enabled);
}
void DumpRenderTreeSupportEfl::setValidationMessageTimerMagnification(Evas_Object* ewkView, int value)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (corePage)
- corePage->settings()->setValidationMessageTimerMagnification(value);
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ page->settings()->setValidationMessageTimerMagnification(value);
}
JSValueRef DumpRenderTreeSupportEfl::computedStyleIncludingVisitedInfo(JSContextRef context, JSValueRef value)
@@ -623,11 +544,9 @@ JSValueRef DumpRenderTreeSupportEfl::computedStyleIncludingVisitedInfo(JSContext
void DumpRenderTreeSupportEfl::setAuthorAndUserStylesEnabled(Evas_Object* ewkView, bool enabled)
{
- WebCore::Page* corePage = EWKPrivate::corePage(ewkView);
- if (!corePage)
- return;
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
- corePage->settings()->setAuthorAndUserStylesEnabled(enabled);
+ page->settings()->setAuthorAndUserStylesEnabled(enabled);
}
void DumpRenderTreeSupportEfl::setSerializeHTTPLoads(bool enabled)
@@ -638,7 +557,7 @@ void DumpRenderTreeSupportEfl::setSerializeHTTPLoads(bool enabled)
void DumpRenderTreeSupportEfl::sendWebIntentResponse(Ewk_Intent_Request* request, JSStringRef response)
{
#if ENABLE(WEB_INTENTS)
- JSC::UString responseString = response->ustring();
+ String responseString = response->string();
if (responseString.isNull())
ewk_intent_request_failure_post(request, WebCore::SerializedScriptValue::create(String::fromUTF8("ERROR")));
else
@@ -659,10 +578,10 @@ WebCore::MessagePortChannelArray* DumpRenderTreeSupportEfl::intentMessagePorts(c
void DumpRenderTreeSupportEfl::deliverWebIntent(Evas_Object* ewkFrame, JSStringRef action, JSStringRef type, JSStringRef data)
{
#if ENABLE(WEB_INTENTS)
- RefPtr<WebCore::SerializedScriptValue> serializedData = WebCore::SerializedScriptValue::create(String(data->ustring().impl()));
+ RefPtr<WebCore::SerializedScriptValue> serializedData = WebCore::SerializedScriptValue::create(data->string());
WebCore::ExceptionCode ec = 0;
WebCore::MessagePortArray ports;
- RefPtr<WebCore::Intent> coreIntent = WebCore::Intent::create(String(action->ustring().impl()), String(type->ustring().impl()), serializedData.get(), ports, ec);
+ RefPtr<WebCore::Intent> coreIntent = WebCore::Intent::create(action->string(), type->string(), serializedData.get(), ports, ec);
if (ec)
return;
Ewk_Intent* ewkIntent = ewk_intent_new(coreIntent.get());
@@ -673,8 +592,9 @@ void DumpRenderTreeSupportEfl::deliverWebIntent(Evas_Object* ewkFrame, JSStringR
void DumpRenderTreeSupportEfl::setComposition(Evas_Object* ewkView, const char* text, int start, int length)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return;
WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -689,8 +609,9 @@ void DumpRenderTreeSupportEfl::setComposition(Evas_Object* ewkView, const char*
bool DumpRenderTreeSupportEfl::hasComposition(const Evas_Object* ewkView)
{
- const WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return false;
const WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -704,8 +625,9 @@ bool DumpRenderTreeSupportEfl::compositionRange(Evas_Object* ewkView, int* start
{
*start = *length = 0;
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return false;
WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -719,8 +641,9 @@ bool DumpRenderTreeSupportEfl::compositionRange(Evas_Object* ewkView, int* start
void DumpRenderTreeSupportEfl::confirmComposition(Evas_Object* ewkView, const char* text)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return;
WebCore::Editor* editor = page->focusController()->focusedOrMainFrame()->editor();
@@ -741,8 +664,9 @@ void DumpRenderTreeSupportEfl::confirmComposition(Evas_Object* ewkView, const ch
WebCore::IntRect DumpRenderTreeSupportEfl::firstRectForCharacterRange(Evas_Object* ewkView, int location, int length)
{
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame() || !page->focusController()->focusedOrMainFrame()->editor())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, WebCore::IntRect());
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame() || !page->focusController()->focusedOrMainFrame()->editor())
return WebCore::IntRect();
if ((location + length < location) && (location + length))
@@ -763,8 +687,9 @@ bool DumpRenderTreeSupportEfl::selectedRange(Evas_Object* ewkView, int* start, i
if (!(start && length))
return false;
- WebCore::Page* page = EWKPrivate::corePage(ewkView);
- if (!page || !page->focusController() || !page->focusController()->focusedOrMainFrame())
+ DRT_SUPPRT_PAGE_GET_OR_RETURN(ewkView, page, false);
+
+ if (!page->focusController() || !page->focusController()->focusedOrMainFrame())
return false;
WebCore::Frame* frame = page->focusController()->focusedOrMainFrame();
diff --git a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
index eaf11d328..6be5fb41d 100644
--- a/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/DumpRenderTreeSupportEfl.h
@@ -57,10 +57,6 @@ public:
static Eina_List* frameChildren(const Evas_Object* ewkFrame);
static WebCore::Frame* frameParent(const Evas_Object* ewkFrame);
static void layoutFrame(Evas_Object* ewkFrame);
- static int numberOfPages(const Evas_Object* ewkFrame, float pageWidth, float pageHeight);
- static int numberOfPagesForElementId(const Evas_Object* ewkFrame, const char* elementId, float pageWidth, float pageHeight);
- static String pageProperty(const Evas_Object* ewkFrame, const char* propertyName, int pageNumber);
- static String pageSizeAndMarginsInPixels(const Evas_Object* ewkFrame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
static bool pauseAnimation(Evas_Object* ewkFrame, const char* name, const char* elementId, double time);
static bool pauseTransition(Evas_Object* ewkFrame, const char* name, const char* elementId, double time);
static unsigned pendingUnloadEventCount(const Evas_Object* ewkFrame);
@@ -72,6 +68,7 @@ public:
static void setAutofilled(JSContextRef, JSValueRef nodeObject, bool autofilled);
static void setDefersLoading(Evas_Object* ewkView, bool defers);
static void setLoadsSiteIconsIgnoringImageLoadingSetting(Evas_Object* ewkView, bool loadsSiteIconsIgnoringImageLoadingPreferences);
+ static void setMinimumLogicalFontSize(Evas_Object* ewkView, int size);
static void addUserScript(const Evas_Object* ewkView, const String& sourceCode, bool runAtStart, bool allFrames);
static void clearUserScripts(const Evas_Object* ewkView);
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
index c78520127..92aef626f 100644
--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.cpp
@@ -45,6 +45,7 @@
#include "FrameTree.h"
#include "FrameView.h"
#include "HTMLFormElement.h"
+#include "HTTPStatusCodes.h"
#include "IntentRequest.h"
#include "MIMETypeRegistry.h"
#include "NotImplemented.h"
@@ -297,6 +298,12 @@ void FrameLoaderClientEfl::dispatchDecidePolicyForResponse(FramePolicyFunction f
return;
}
+ // Ignore responses with an HTTP status code of 204 (No Content)
+ if (response.httpStatusCode() == HTTPNoContent) {
+ callPolicyFunction(function, PolicyIgnore);
+ return;
+ }
+
if (canShowMIMEType(response.mimeType()))
callPolicyFunction(function, PolicyUse);
else
@@ -611,7 +618,7 @@ void FrameLoaderClientEfl::dispatchDidChangeLocationWithinPage()
{
ewk_frame_uri_changed(m_frame);
- if (ewk_view_frame_main_get(m_view) != m_frame)
+ if (!isLoadingMainFrame())
return;
ewk_view_uri_changed(m_view);
}
@@ -624,7 +631,7 @@ void FrameLoaderClientEfl::dispatchWillClose()
void FrameLoaderClientEfl::dispatchDidReceiveIcon()
{
// IconController loads icons only for the main frame.
- ASSERT(ewk_view_frame_main_get(m_view) == m_frame);
+ ASSERT(isLoadingMainFrame());
ewk_view_frame_main_icon_received(m_view);
}
@@ -632,7 +639,7 @@ void FrameLoaderClientEfl::dispatchDidReceiveIcon()
void FrameLoaderClientEfl::dispatchDidStartProvisionalLoad()
{
ewk_frame_load_provisional(m_frame);
- if (ewk_view_frame_main_get(m_view) == m_frame)
+ if (isLoadingMainFrame())
ewk_view_load_provisional(m_view);
}
@@ -644,7 +651,7 @@ void FrameLoaderClientEfl::dispatchDidReceiveTitle(const StringWithDirection& ti
ewkTitle.direction = (title.direction() == LTR) ? EWK_TEXT_DIRECTION_LEFT_TO_RIGHT : EWK_TEXT_DIRECTION_RIGHT_TO_LEFT;
ewk_frame_title_set(m_frame, &ewkTitle);
- if (ewk_view_frame_main_get(m_view) != m_frame)
+ if (!isLoadingMainFrame())
return;
ewk_view_title_set(m_view, &ewkTitle);
}
@@ -660,7 +667,7 @@ void FrameLoaderClientEfl::dispatchDidCommitLoad()
{
ewk_frame_uri_changed(m_frame);
ewk_frame_load_committed(m_frame);
- if (ewk_view_frame_main_get(m_view) != m_frame)
+ if (!isLoadingMainFrame())
return;
ewk_view_title_set(m_view, 0);
ewk_view_uri_changed(m_view);
@@ -834,7 +841,7 @@ void FrameLoaderClientEfl::dispatchDidFailProvisionalLoad(const ResourceError& e
error.frame = m_frame;
ewk_frame_load_provisional_failed(m_frame, &error);
- if (ewk_view_frame_main_get(m_view) == m_frame)
+ if (isLoadingMainFrame())
ewk_view_load_provisional_failed(m_view, &error);
dispatchDidFailLoad(err);
@@ -1000,7 +1007,7 @@ void FrameLoaderClientEfl::transitionToCommittedForNewPage()
ewk_frame_view_create_for_view(m_frame, m_view);
- if (m_frame == ewk_view_frame_main_get(m_view)) {
+ if (isLoadingMainFrame()) {
ewk_view_frame_view_creation_notify(m_view);
ewk_view_frame_main_cleared(m_view);
}
diff --git a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
index 63d8a4452..8c0966a72 100644
--- a/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/FrameLoaderClientEfl.h
@@ -211,6 +211,8 @@ class FrameLoaderClientEfl : public FrameLoaderClient {
virtual PassRefPtr<WebCore::FrameNetworkingContext> createNetworkingContext();
private:
+ bool isLoadingMainFrame() const { return m_frame == ewk_view_frame_main_get(m_view); }
+
Evas_Object *m_view;
Evas_Object *m_frame;
diff --git a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
index b82039756..12afacb19 100644
--- a/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/InspectorClientEfl.cpp
@@ -24,9 +24,9 @@
#if ENABLE(INSPECTOR)
#include "InspectorController.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "ewk_view_private.h"
#include <unistd.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
@@ -93,7 +93,7 @@ InspectorFrontendChannel* InspectorClientEfl::openInspectorFrontend(InspectorCon
m_inspectorView = inspectorView;
- String inspectorUri = inspectorFilesPath();
+ String inspectorUri = inspectorFilesPath() + "/inspector.html";
ewk_view_uri_set(m_inspectorView, inspectorUri.utf8().data());
OwnPtr<InspectorFrontendClientEfl> frontendClient = adoptPtr(new InspectorFrontendClientEfl(m_inspectedView, m_inspectorView, this));
@@ -140,9 +140,9 @@ void InspectorClientEfl::releaseFrontendPage()
String InspectorClientEfl::inspectorFilesPath()
{
- String inspectorFilesPath = makeString("file://", WEB_INSPECTOR_INSTALL_DIR, "/inspector.html");
- if (access(inspectorFilesPath.utf8().data(), R_OK)) // On success, zero is returned
- inspectorFilesPath = makeString("file://", WEB_INSPECTOR_DIR, "/inspector.html");
+ String inspectorFilesPath = "file://" + String(WEB_INSPECTOR_INSTALL_DIR);
+ if (access(inspectorFilesPath.utf8().data(), R_OK))
+ inspectorFilesPath = "file://" + String(WEB_INSPECTOR_DIR);
return inspectorFilesPath;
}
@@ -168,8 +168,7 @@ InspectorFrontendClientEfl::~InspectorFrontendClientEfl()
String InspectorFrontendClientEfl::localizedStringsURL()
{
- notImplemented();
- return String();
+ return m_inspectorClient->inspectorFilesPath() + "/localizedStrings.js";
}
String InspectorFrontendClientEfl::hiddenPanels()
diff --git a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
index 5601241a5..a5b612fc0 100644
--- a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.cpp
@@ -26,9 +26,9 @@
*/
#include "config.h"
-#include "RegisterProtocolHandlerClientEfl.h"
+#include "NavigatorContentUtilsClientEfl.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
#include "ewk_custom_handler_private.h"
#include <wtf/text/CString.h>
@@ -53,17 +53,17 @@ static void customHandlerDataDelete(Ewk_Custom_Handler_Data* data)
delete data;
}
-PassOwnPtr<RegisterProtocolHandlerClientEfl> RegisterProtocolHandlerClientEfl::create(Evas_Object* view)
+PassOwnPtr<NavigatorContentUtilsClientEfl> NavigatorContentUtilsClientEfl::create(Evas_Object* view)
{
- return adoptPtr(new RegisterProtocolHandlerClientEfl(view));
+ return adoptPtr(new NavigatorContentUtilsClientEfl(view));
}
-RegisterProtocolHandlerClientEfl::RegisterProtocolHandlerClientEfl(Evas_Object* view)
+NavigatorContentUtilsClientEfl::NavigatorContentUtilsClientEfl(Evas_Object* view)
: m_view(view)
{
}
-void RegisterProtocolHandlerClientEfl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClientEfl::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
{
Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
data->title = eina_stringshare_add(title.utf8().data());
@@ -73,16 +73,16 @@ void RegisterProtocolHandlerClientEfl::registerProtocolHandler(const String& sch
}
#if ENABLE(CUSTOM_SCHEME_HANDLER)
-RegisterProtocolHandlerClient::CustomHandlersState RegisterProtocolHandlerClientEfl::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
+NavigatorContentUtilsClient::CustomHandlersState NavigatorContentUtilsClientEfl::isProtocolHandlerRegistered(const String& scheme, const String& baseURL, const String& url)
{
Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
- RegisterProtocolHandlerClient::CustomHandlersState result = static_cast<CustomHandlersState>(ewk_custom_handler_register_protocol_handler(data));
+ NavigatorContentUtilsClient::CustomHandlersState result = static_cast<CustomHandlersState>(ewk_custom_handler_register_protocol_handler(data));
customHandlerDataDelete(data);
return result;
}
-void RegisterProtocolHandlerClientEfl::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
+void NavigatorContentUtilsClientEfl::unregisterProtocolHandler(const String& scheme, const String& baseURL, const String& url)
{
Ewk_Custom_Handler_Data* data = customHandlerDataCreate(m_view, scheme.utf8().data(), baseURL.utf8().data(), url.utf8().data());
ewk_custom_handler_register_protocol_handler(data);
@@ -92,4 +92,4 @@ void RegisterProtocolHandlerClientEfl::unregisterProtocolHandler(const String& s
}
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
index dca3c6cfa..2fe488f47 100644
--- a/Source/WebKit/efl/WebCoreSupport/RegisterProtocolHandlerClientEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/NavigatorContentUtilsClientEfl.h
@@ -25,20 +25,20 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef RegisterProtocolHandlerClientEfl_h
-#define RegisterProtocolHandlerClientEfl_h
+#ifndef NavigatorContentUtilsClientEfl_h
+#define NavigatorContentUtilsClientEfl_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClient.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClient.h"
#include <wtf/PassOwnPtr.h>
namespace WebCore {
-class RegisterProtocolHandlerClientEfl : public WebCore::RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClientEfl : public WebCore::NavigatorContentUtilsClient {
public:
- static PassOwnPtr<RegisterProtocolHandlerClientEfl> create(Evas_Object* view);
+ static PassOwnPtr<NavigatorContentUtilsClientEfl> create(Evas_Object* view);
- ~RegisterProtocolHandlerClientEfl() { }
+ ~NavigatorContentUtilsClientEfl() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
#if ENABLE(CUSTOM_SCHEME_HANDLER)
@@ -49,9 +49,9 @@ public:
private:
Evas_Object* m_view;
- RegisterProtocolHandlerClientEfl(Evas_Object* view);
+ NavigatorContentUtilsClientEfl(Evas_Object* view);
};
}
#endif
-#endif // RegisterProtocolHandlerClientEfl_h
+#endif // NavigatorContentUtilsClientEfl_h
diff --git a/Source/WebCore/platform/efl/PopupMenuEfl.cpp b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp
index 8195ccc5f..8195ccc5f 100644
--- a/Source/WebCore/platform/efl/PopupMenuEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.cpp
diff --git a/Source/WebCore/platform/efl/PopupMenuEfl.h b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h
index 4a2dbfc84..aab9d5636 100644
--- a/Source/WebCore/platform/efl/PopupMenuEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/PopupMenuEfl.h
@@ -33,7 +33,7 @@ class PopupMenuClient;
class PopupMenuEfl : public PopupMenu {
public:
- PopupMenuEfl(PopupMenuClient*);
+ explicit PopupMenuEfl(PopupMenuClient*);
~PopupMenuEfl();
virtual void show(const IntRect&, FrameView*, int index);
diff --git a/Source/WebCore/platform/efl/SearchPopupMenuEfl.cpp b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp
index 20ecb092d..20ecb092d 100644
--- a/Source/WebCore/platform/efl/SearchPopupMenuEfl.cpp
+++ b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.cpp
diff --git a/Source/WebCore/platform/efl/SearchPopupMenuEfl.h b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h
index 4ffb62e41..7eec84ed2 100644
--- a/Source/WebCore/platform/efl/SearchPopupMenuEfl.h
+++ b/Source/WebKit/efl/WebCoreSupport/SearchPopupMenuEfl.h
@@ -28,7 +28,7 @@ namespace WebCore {
class SearchPopupMenuEfl : public SearchPopupMenu {
public:
- SearchPopupMenuEfl(PopupMenuClient*);
+ explicit SearchPopupMenuEfl(PopupMenuClient*);
virtual PopupMenu* popupMenu();
virtual void saveRecentSearches(const AtomicString& name, const Vector<String>& searchItems);
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu.cpp b/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
index 6dfe909d9..e792c6d03 100644
--- a/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
+++ b/Source/WebKit/efl/ewk/ewk_contextmenu.cpp
@@ -24,7 +24,7 @@
#include "ContextMenu.h"
#include "ContextMenuController.h"
#include "ContextMenuItem.h"
-#include "ewk_private.h"
+#include "ewk_contextmenu_private.h"
#include <Eina.h>
#include <eina_safety_checks.h>
#include <wtf/text/CString.h>
@@ -84,6 +84,7 @@ Eina_Bool ewk_context_menu_destroy(Ewk_Context_Menu* menu)
EINA_SAFETY_ON_NULL_RETURN_VAL(menu, false);
EINA_SAFETY_ON_NULL_RETURN_VAL(menu->controller, false);
menu->controller->clearContextMenu();
+ ewk_context_menu_free(menu);
return true;
#else
return false;
@@ -217,7 +218,7 @@ Eina_Bool ewk_context_menu_item_enabled_set(Ewk_Context_Menu_Item* item, Eina_Bo
*
* @note emits a signal "contextmenu,new"
*/
-Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller)
+Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller, WebCore::ContextMenu* coreMenu)
{
Ewk_Context_Menu* menu;
EINA_SAFETY_ON_NULL_RETURN_VAL(view, 0);
@@ -231,6 +232,10 @@ Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuCo
menu->items = 0;
evas_object_smart_callback_call(menu->view, "contextmenu,new", menu);
+ const Vector<WebCore::ContextMenuItem>* itemsList = coreMenu->platformDescription();
+ for (Vector<WebCore::ContextMenuItem>::const_iterator iter = itemsList->begin(); iter != itemsList->end(); ++iter)
+ ewk_context_menu_item_append(menu, *iter);
+
return menu;
}
@@ -266,7 +271,7 @@ bool ewk_context_menu_free(Ewk_Context_Menu* menu)
*
* @see ewk_context_menu_item_new
*/
-void ewk_context_menu_item_append(Ewk_Context_Menu* menu, WebCore::ContextMenuItem& core)
+void ewk_context_menu_item_append(Ewk_Context_Menu* menu, const 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());
@@ -283,26 +288,6 @@ void ewk_context_menu_item_append(Ewk_Context_Menu* menu, WebCore::ContextMenuIt
/**
* @internal
*
- * Emits a signal with the items of the context menu.
- *
- * @param menu the context menu object
- * @return the same context menu object that was given through parameter
- *
- * @note emits a signal "contextmenu,customize"
- *
- * @see ewk_context_menu_item_list_get
- */
-Ewk_Context_Menu* ewk_context_menu_customize(Ewk_Context_Menu* menu)
-{
- EINA_SAFETY_ON_NULL_RETURN_VAL(menu, 0);
-
- evas_object_smart_callback_call(menu->view, "contextmenu,customize", menu->items);
- return menu;
-}
-
-/**
- * @internal
- *
* Emits a signal "contextmenu,show"
*
* @param menu the context menu object
diff --git a/Source/WebKit/efl/ewk/ewk_contextmenu_private.h b/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
index ce1f3a895..95dcdaa37 100644
--- a/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
+++ b/Source/WebKit/efl/ewk/ewk_contextmenu_private.h
@@ -21,6 +21,8 @@
#ifndef ewk_contextmenu_private_h
#define ewk_contextmenu_private_h
+#include "ewk_contextmenu.h"
+
// forward declarations
namespace WebCore {
struct ContextMenu;
@@ -28,11 +30,10 @@ struct ContextMenuItem;
}
#if ENABLE(CONTEXT_MENUS)
-Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller);
+Ewk_Context_Menu* ewk_context_menu_new(Evas_Object* view, WebCore::ContextMenuController* controller, WebCore::ContextMenu* coreMenu);
bool ewk_context_menu_free(Ewk_Context_Menu* menu);
-void ewk_context_menu_item_append(Ewk_Context_Menu* menu, WebCore::ContextMenuItem& core);
-Ewk_Context_Menu* ewk_context_menu_customize(Ewk_Context_Menu* menu);
+void ewk_context_menu_item_append(Ewk_Context_Menu* menu, const WebCore::ContextMenuItem& core);
void ewk_context_menu_show(Ewk_Context_Menu* menu);
#endif
-#endif // ewk_context_manu_private_h
+#endif // ewk_context_menu_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_custom_handler.cpp b/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
index 3574a1d8a..3c40716bb 100644
--- a/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
+++ b/Source/WebKit/efl/ewk/ewk_custom_handler.cpp
@@ -20,7 +20,7 @@
#include "config.h"
#include "ewk_custom_handler_private.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
/**
* @internal
* Register a scheme handler.
@@ -69,4 +69,4 @@ bool ewk_custom_handler_unregister_protocol_handler(Ewk_Custom_Handler_Data* dat
}
#endif // ENABLE(CUSTOM_SCHEME_HANDLER)
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/efl/ewk/ewk_custom_handler_private.h b/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
index bc0e21d54..73f97e0f6 100644
--- a/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
+++ b/Source/WebKit/efl/ewk/ewk_custom_handler_private.h
@@ -22,7 +22,7 @@
#include "ewk_view.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
bool ewk_custom_handler_register_protocol_handler(Ewk_Custom_Handler_Data* data);
#if ENABLE(CUSTOM_SCHEME_HANDLER)
@@ -30,5 +30,5 @@ Ewk_Custom_Handlers_State ewk_custom_handler_is_protocol_handler_registered(Ewk_
bool ewk_custom_handler_unregister_protocol_handler(Ewk_Custom_Handler_Data* data);
#endif // ENABLE(CUSTOM_SCHEME_HANDLER)
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
#endif // ewk_custom_handler_private_h
diff --git a/Source/WebKit/efl/ewk/ewk_frame.cpp b/Source/WebKit/efl/ewk/ewk_frame.cpp
index 7231b549d..45259b0a2 100644
--- a/Source/WebKit/efl/ewk/ewk_frame.cpp
+++ b/Source/WebKit/efl/ewk/ewk_frame.cpp
@@ -38,6 +38,7 @@
#include "HTMLNames.h"
#include "HTMLPlugInElement.h"
#include "HistoryItem.h"
+#include "HitTestRequest.h"
#include "HitTestResult.h"
#include "IntSize.h"
#include "KURL.h"
@@ -458,7 +459,7 @@ const char* ewk_frame_script_execute(Evas_Object* ewkFrame, const char* script)
JSC::ExecState* exec = smartData->frame->script()->globalObject(WebCore::mainThreadNormalWorld())->globalExec();
JSC::JSLockHolder lock(exec);
- resultString = WebCore::ustringToString(result.toString(exec)->value(exec));
+ resultString = result.toString(exec)->value(exec);
return eina_stringshare_add(resultString.utf8().data());
#else
notImplemented();
@@ -693,8 +694,8 @@ Ewk_Hit_Test* ewk_frame_hit_test_new(const Evas_Object* ewkFrame, int x, int y)
EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->contentRenderer(), 0);
WebCore::HitTestResult result = smartData->frame->eventHandler()->hitTestResultAtPoint
- (view->windowToContents(WebCore::IntPoint(x, y)),
- /*allowShadowContent*/ false, /*ignoreClipping*/ true);
+ (view->windowToContents(WebCore::IntPoint(x, y)),
+ WebCore::HitTestRequest::ReadOnly | WebCore::HitTestRequest::Active | WebCore::HitTestRequest::IgnoreClipping);
if (result.scrollbar())
return 0;
@@ -897,7 +898,7 @@ Eina_Bool ewk_frame_focused_element_geometry_get(const Evas_Object *ewkFrame, in
WebCore::Node* focusedNode = document->focusedNode();
if (!focusedNode)
return false;
- WebCore::IntRect nodeRect = focusedNode->getPixelSnappedRect();
+ WebCore::IntRect nodeRect = focusedNode->pixelSnappedBoundingBox();
if (x)
*x = nodeRect.x();
if (y)
@@ -1638,7 +1639,7 @@ ssize_t ewk_frame_source_get(const Evas_Object* ewkFrame, char** frameSource)
EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->frame->document(), -1);
EINA_SAFETY_ON_NULL_RETURN_VAL(frameSource, -1);
- WTF::String source;
+ StringBuilder builder;
*frameSource = 0; // Saves 0 to pointer until it's not allocated.
if (!smartData->frame->document()->isHTMLDocument()) {
@@ -1654,28 +1655,20 @@ ssize_t ewk_frame_source_get(const Evas_Object* ewkFrame, char** frameSource)
if (node->hasTagName(WebCore::HTMLNames::htmlTag)) {
WebCore::HTMLElement* element = static_cast<WebCore::HTMLElement*>(node);
if (element)
- source = element->outerHTML();
+ builder.append(element->outerHTML());
break;
}
}
- // Try to get <head> and <body> tags if <html> tag was not found.
- if (source.isEmpty()) {
- if (smartData->frame->document()->head())
- source = smartData->frame->document()->head()->outerHTML();
-
- if (smartData->frame->document()->body())
- source += smartData->frame->document()->body()->outerHTML();
- }
-
- size_t sourceLength = strlen(source.utf8().data());
+ CString utf8String = builder.toString().utf8();
+ size_t sourceLength = utf8String.length();
*frameSource = static_cast<char*>(malloc(sourceLength + 1));
if (!*frameSource) {
CRITICAL("Could not allocate memory.");
return -1;
}
- strncpy(*frameSource, source.utf8().data(), sourceLength);
+ strncpy(*frameSource, utf8String.data(), sourceLength);
(*frameSource)[sourceLength] = '\0';
return sourceLength;
diff --git a/Source/WebKit/efl/ewk/ewk_network.cpp b/Source/WebKit/efl/ewk/ewk_network.cpp
index 781e945ab..6863aa7eb 100644
--- a/Source/WebKit/efl/ewk/ewk_network.cpp
+++ b/Source/WebKit/efl/ewk/ewk_network.cpp
@@ -62,11 +62,6 @@ const char* ewk_network_proxy_uri_get(void)
return eina_stringshare_add(proxy.utf8().data());
}
-void ewk_network_state_notifier_online_set(Eina_Bool online)
-{
- WebCore::networkStateNotifier().setOnLine(online);
-}
-
Eina_Bool ewk_network_tls_certificate_check_get()
{
bool checkCertificates = false;
diff --git a/Source/WebKit/efl/ewk/ewk_network.h b/Source/WebKit/efl/ewk/ewk_network.h
index d226f23fd..3f1ea39a8 100644
--- a/Source/WebKit/efl/ewk/ewk_network.h
+++ b/Source/WebKit/efl/ewk/ewk_network.h
@@ -59,13 +59,6 @@ EAPI void ewk_network_proxy_uri_set(const char *proxy);
EAPI const char *ewk_network_proxy_uri_get(void);
/**
- * Sets if network backend is online or not.
- *
- * @param online @c EINA_FALSE if network is disconnected
- */
-EAPI void ewk_network_state_notifier_online_set(Eina_Bool online);
-
-/**
* Returns whether HTTPS connections should check the received certificate and error out if it is invalid.
*
* By default, HTTPS connections are performed regardless of the validity of the certificate provided.
diff --git a/Source/WebKit/efl/ewk/ewk_settings.cpp b/Source/WebKit/efl/ewk/ewk_settings.cpp
index e0dcd11ab..f10523dc8 100644
--- a/Source/WebKit/efl/ewk/ewk_settings.cpp
+++ b/Source/WebKit/efl/ewk/ewk_settings.cpp
@@ -25,7 +25,6 @@
#include "ApplicationCacheStorage.h"
#include "CrossOriginPreflightResultCache.h"
#include "DatabaseTracker.h"
-#include "StorageTracker.h"
#include "FontCache.h"
#include "FrameView.h"
#include "IconDatabase.h"
@@ -36,6 +35,8 @@
#include "PageCache.h"
#include "RuntimeEnabledFeatures.h"
#include "Settings.h"
+#include "StorageTracker.h"
+#include "WebKitVersion.h"
#include "ewk_private.h"
#include "ewk_util_private.h"
#include <Eina.h>
@@ -316,8 +317,8 @@ void ewk_settings_repaint_throttling_set(double deferredRepaintDelay, double ini
*/
const char* ewk_settings_default_user_agent_get()
{
- WTF::String uaVersion = makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.', String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+');
- WTF::String staticUa = makeString("Mozilla/5.0 (", _ewk_settings_webkit_platform_get(), "; ", _ewk_settings_webkit_os_version_get(), ") AppleWebKit/", uaVersion) + makeString(" (KHTML, like Gecko) Version/5.0 Safari/", uaVersion);
+ WTF::String uaVersion = String::number(WEBKIT_MAJOR_VERSION) + '.' + String::number(WEBKIT_MINOR_VERSION) + '+';
+ WTF::String staticUa = "Mozilla/5.0 (" + _ewk_settings_webkit_platform_get() + "; " + _ewk_settings_webkit_os_version_get() + ") AppleWebKit/" + uaVersion + " (KHTML, like Gecko) Version/5.0 Safari/" + uaVersion;
return eina_stringshare_add(staticUa.utf8().data());
}
diff --git a/Source/WebKit/efl/ewk/ewk_view.cpp b/Source/WebKit/efl/ewk/ewk_view.cpp
index 40fbfad6a..4949aac4e 100644
--- a/Source/WebKit/efl/ewk/ewk_view.cpp
+++ b/Source/WebKit/efl/ewk/ewk_view.cpp
@@ -27,6 +27,7 @@
#include "Bridge.h"
#include "Chrome.h"
#include "ChromeClientEfl.h"
+#include "ContextMenuClientEfl.h"
#include "ContextMenuController.h"
#include "DocumentLoader.h"
#include "DragClientEfl.h"
@@ -57,6 +58,7 @@
#include "ResourceHandle.h"
#include "Settings.h"
#include "c_instance.h"
+#include "ewk_contextmenu_private.h"
#include "ewk_frame.h"
#include "ewk_frame_private.h"
#include "ewk_history_private.h"
@@ -103,8 +105,8 @@
#include "ColorChooserClient.h"
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClientEfl.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClientEfl.h"
#endif
static const float zoomMinimum = 0.05;
@@ -254,8 +256,8 @@ struct _Ewk_View_Private_Data {
#if ENABLE(INPUT_TYPE_COLOR)
WebCore::ColorChooserClient* colorChooserClient;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER) || ENABLE(CUSTOM_SCHEME_HANDLER)
- OwnPtr<WebCore::RegisterProtocolHandlerClientEfl> registerProtocolHandlerClient;
+#if ENABLE(NAVIGATOR_CONTENT_UTILS) || ENABLE(CUSTOM_SCHEME_HANDLER)
+ OwnPtr<WebCore::NavigatorContentUtilsClientEfl> navigatorContentUtilsClient;
#endif
struct {
Ewk_Menu menu;
@@ -332,6 +334,8 @@ struct _Ewk_View_Private_Data {
} zoomRange;
float devicePixelRatio;
double domTimerInterval;
+ bool allowUniversalAccessFromFileURLs : 1;
+ bool allowFileAccessFromFileURLs : 1;
} settings;
struct {
struct {
@@ -358,6 +362,7 @@ struct _Ewk_View_Private_Data {
#ifdef HAVE_ECORE_X
bool isUsingEcoreX;
#endif
+ Ewk_Context_Menu* contextMenu;
};
#ifndef EWK_TYPE_CHECK
@@ -739,6 +744,7 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
WebCore::Page::PageClients pageClients;
pageClients.chromeClient = new WebCore::ChromeClientEfl(smartData->self);
+ pageClients.contextMenuClient = new WebCore::ContextMenuClientEfl;
pageClients.editorClient = new WebCore::EditorClientEfl(smartData->self);
pageClients.dragClient = new WebCore::DragClientEfl;
#if ENABLE(INSPECTOR)
@@ -764,9 +770,9 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
WebCore::provideBatteryTo(priv->page.get(), new BatteryClientEfl(smartData->self));
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- priv->registerProtocolHandlerClient = WebCore::RegisterProtocolHandlerClientEfl::create(smartData->self);
- WebCore::provideRegisterProtocolHandlerTo(priv->page.get(), priv->registerProtocolHandlerClient.get());
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ priv->navigatorContentUtilsClient = WebCore::NavigatorContentUtilsClientEfl::create(smartData->self);
+ WebCore::provideNavigatorContentUtilsTo(priv->page.get(), priv->navigatorContentUtilsClient.get());
#endif
priv->pageSettings = priv->page->settings();
@@ -874,6 +880,9 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
priv->settings.domTimerInterval = priv->pageSettings->defaultMinDOMTimerInterval();
+ priv->settings.allowUniversalAccessFromFileURLs = priv->pageSettings->allowUniversalAccessFromFileURLs();
+ priv->settings.allowFileAccessFromFileURLs = priv->pageSettings->allowFileAccessFromFileURLs();
+
priv->mainFrame = _ewk_view_core_frame_new(smartData, priv, 0).get();
priv->history = ewk_history_new(static_cast<WebCore::BackForwardListImpl*>(priv->page->backForwardList()));
@@ -886,6 +895,8 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* smartData)
priv->isUsingEcoreX = WebCore::isUsingEcoreX(smartData->base.evas);
#endif
+ priv->contextMenu = 0;
+
return priv;
}
@@ -919,6 +930,9 @@ static void _ewk_view_priv_del(Ewk_View_Private_Data* priv)
if (priv->cursorObject)
evas_object_del(priv->cursorObject);
+ if (priv->contextMenu)
+ ewk_context_menu_free(priv->contextMenu);
+
delete priv;
}
@@ -1619,6 +1633,9 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_E
Eina_Bool mouse_press_handled = false;
priv->page->contextMenuController()->clearContextMenu();
+ if (priv->contextMenu)
+ ewk_context_menu_free(priv->contextMenu);
+
WebCore::Frame* mainFrame = priv->page->mainFrame();
Evas_Coord x, y;
evas_object_geometry_get(smartData->self, &x, &y, 0, 0);
@@ -1630,7 +1647,7 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_E
mainFrame->eventHandler()->handleMousePressEvent(event);
}
- if (mainFrame->eventHandler()->sendContextMenuEvent(event))
+ if (!mainFrame->eventHandler()->sendContextMenuEvent(event))
return false;
WebCore::ContextMenu* coreMenu =
@@ -1641,6 +1658,12 @@ Eina_Bool ewk_view_context_menu_forward_event(Evas_Object* ewkView, const Evas_E
return mouse_press_handled;
}
+ priv->contextMenu = ewk_context_menu_new(ewkView, priv->page->contextMenuController(), coreMenu);
+ if (!priv->contextMenu)
+ return false;
+
+ ewk_context_menu_show(priv->contextMenu);
+
return true;
#else
return false;
@@ -2677,6 +2700,44 @@ Eina_Bool ewk_view_setting_enable_hyperlink_auditing_set(Evas_Object* ewkView, E
return true;
}
+Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_set(Evas_Object* ewkView, Eina_Bool enable)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ enable = !!enable;
+ if (priv->settings.allowUniversalAccessFromFileURLs != enable) {
+ priv->pageSettings->setAllowUniversalAccessFromFileURLs(enable);
+ priv->settings.allowUniversalAccessFromFileURLs = enable;
+ }
+ return true;
+}
+
+Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_get(const Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ return priv->settings.allowUniversalAccessFromFileURLs;
+}
+
+Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_set(Evas_Object* ewkView, Eina_Bool enable)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ enable = !!enable;
+ if (priv->settings.allowFileAccessFromFileURLs != enable) {
+ priv->pageSettings->setAllowFileAccessFromFileURLs(enable);
+ priv->settings.allowFileAccessFromFileURLs = enable;
+ }
+ return true;
+}
+
+Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_get(const Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ return priv->settings.allowFileAccessFromFileURLs;
+}
+
Ewk_View_Smart_Data* ewk_view_smart_data_get(const Evas_Object* ewkView)
{
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
diff --git a/Source/WebKit/efl/ewk/ewk_view.h b/Source/WebKit/efl/ewk/ewk_view.h
index a570d655e..2a260f1de 100644
--- a/Source/WebKit/efl/ewk/ewk_view.h
+++ b/Source/WebKit/efl/ewk/ewk_view.h
@@ -735,7 +735,7 @@ EAPI void ewk_view_fixed_layout_size_get(const Evas_Object *o, Evas_Coor
* use this one.
*
* @param o view object to change theme
- * @param path theme path, may be @c NULL to reset to the default theme
+ * @param path theme path
*/
EAPI void ewk_view_theme_set(Evas_Object *o, const char *path);
@@ -2227,6 +2227,58 @@ EAPI Eina_Bool ewk_view_setting_enable_hyperlink_auditing_get(const Evas_Object
EAPI Eina_Bool ewk_view_setting_enable_hyperlink_auditing_set(Evas_Object *o, Eina_Bool enable);
/**
+ * Enables/disables allowing universal access from file URLs.
+ *
+ * This setting specifies whether locally loaded documents are allowed to access remote urls.
+ * By default this setting is enabled.
+ *
+ * @param o view object to set allowing universal access from file URLs
+ * @param enable @c EINA_TRUE to enable universal access from file URLs,
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_set(Evas_Object *o, Eina_Bool flag);
+
+/**
+ * Gets if allowing universal access from file URLs is enabled.
+ *
+ * @param o view object to query if allowing universal access from file URLs is enabled.
+ *
+ * @return @c EINA_TRUE if allowing universal access from file URLs is enabled, @c EINA_FALSE
+ * otherwise
+ *
+ * @see ewk_view_setting_allow_universal_access_from_file_urls_set()
+ */
+EAPI Eina_Bool ewk_view_setting_allow_universal_access_from_file_urls_get(const Evas_Object *o);
+
+/**
+ * Enables/disables allowing file access from file URLs.
+ *
+ * This setting specifies whether locally loaded documents are allowed to access other local urls.
+ * By default this setting is enabled.
+ *
+ * @param o view object to set allowing file access from file URLs
+ * @param enable @c EINA_TRUE to enable file access from file URLs,
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_set(Evas_Object *o, Eina_Bool flag);
+
+/**
+ * Gets if allowing file access from file URLs is enabled.
+ *
+ * @param o view object to query if allowing file access from file URLs is enabled.
+ *
+ * @return @c EINA_TRUE if allowing file access from file URLs is enabled, @c EINA_FALSE
+ * otherwise
+ *
+ * @see ewk_view_setting_allow_file_access_from_file_urls_set()
+ */
+EAPI Eina_Bool ewk_view_setting_allow_file_access_from_file_urls_get(const Evas_Object *o);
+
+/**
* Gets the internal data of @a o.
*
* This is similar to evas_object_smart_data_get(), but additionally does type checking.
diff --git a/Source/WebKit/gtk/ChangeLog b/Source/WebKit/gtk/ChangeLog
index 40d71220a..778dabcf3 100644
--- a/Source/WebKit/gtk/ChangeLog
+++ b/Source/WebKit/gtk/ChangeLog
@@ -1,3 +1,281 @@
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update ChromeClientGtk and webkitwebview to call pixelSnappedBoundingBox.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::mouseDidMoveOverElement):
+ * webkit/webkitwebview.cpp:
+ (getLocationForKeyboardGeneratedContextMenu):
+ (webkit_web_view_query_tooltip):
+
+2012-09-07 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Move user agent helpers to WebCore
+ https://bugs.webkit.org/show_bug.cgi?id=95745
+
+ Reviewed by Carlos Garcia Campos.
+
+ Move the code for determining the user agent to WebCore and have WebKit1
+ use the new shared code.
+
+ * webkit/webkitwebsettings.cpp: Use the WebCore code to determine the user
+ agent in WebKit1.
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/InspectorClientGtk.cpp:
+ * gdom/ConvertToGCharPrivate.h:
+ * webkit/webkitsecurityorigin.cpp:
+ * webkit/webkitwebdatasource.cpp:
+ * webkit/webkitwebhistoryitem.cpp:
+ * webkit/webkitwebresource.cpp:
+
+2012-09-06 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] Add API to get/set the security policy of a given URI scheme
+ https://bugs.webkit.org/show_bug.cgi?id=95549
+
+ Reviewed by Martin Robinson.
+
+ Add WebKitSecurityPolicy enum with flags that represent the
+ security policy of a URI scheme. Add methods to get and set the
+ security policy flags for a given URI scheme.
+
+ * docs/webkitgtk-sections.txt: Add new symbols.
+ * tests/testglobals.c:
+ (test_globals_security_policy):
+ (main):
+ * webkit/webkitglobals.cpp:
+ (webkit_set_security_policy_for_uri_scheme):
+ (webkit_get_security_policy_for_uri_scheme):
+ * webkit/webkitglobals.h:
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ (DumpRenderTreeSupportGtk):
+
+2012-09-04 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [GTK] Crash in AccessibilityObject::accessibilityPlatformIncludesObject()
+ https://bugs.webkit.org/show_bug.cgi?id=95740
+
+ Reviewed by Martin Robinson.
+
+ Updated unit test.
+
+ * tests/testatk.c:
+ (testWebkitAtkComboBox): Added checks that the menu popup in a combo box
+ has 0 links and, more importantly, that checking doesn't result in a crash.
+
+2012-09-01 Joanmarie Diggs <jdiggs@igalia.com>
+
+ [Gtk] Incorrect/unexpected characters in the text of certain accessibles
+ https://bugs.webkit.org/show_bug.cgi?id=95180
+
+ Reviewed by Chris Fleizach.
+
+ Corrected a unit test in which the expected accessible text was wrong as
+ a result of this bug. In particular, the AtkText inserted into an empty
+ text field is expected to be the same text atk_text_get_text() returns.
+ That was not happening -- and presumably not noticed as a result of the
+ hard to read textual representation of the multibyte password field
+ bullets.
+
+ * tests/testatk.c:
+ (testWebkitAtkTextChangedNotifications): Corrected the test and added a
+ comment so that one knows what the multibyte character is.
+
+2012-08-31 José Dapena Paz <jdapena@igalia.com>
+
+ [GTK] Assert on ChromeClientGtk::scroll with delta (0, -1).
+ https://bugs.webkit.org/show_bug.cgi?id=95590
+
+ Change the assert to avoid hitting when the delta does not have any
+ value > 0.
+
+ Reviewed by Martin Robinson.
+
+ * WebCoreSupport/ChromeClientGtk.cpp:
+ (WebKit::ChromeClient::scroll):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * gdom/ConvertToGCharPrivate.h:
+ (copyAsGchar):
+
+2012-08-30 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ Use ASCIILiteral for DEFINE_STATIC_LOCAL string
+ https://bugs.webkit.org/show_bug.cgi?id=95420
+
+ Reviewed by Benjamin Poulain.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings,
+ WebKit needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
+
+ * webkit/webkitwebsettings.cpp:
+ (webkitPlatform):
+ (webkitOSVersion):
+
+2012-08-29 José Dapena Paz <jdapena@igalia.com>
+
+ [Gtk] Process Gtk 3.4 smooth scroll events properly.
+ https://bugs.webkit.org/show_bug.cgi?id=88070
+
+ Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
+ provides detailed delta information.
+
+ Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
+ code to process properly the new direction GDK_SCROLL_SMOOTH and
+ its deltas.
+
+ Reviewed by Martin Robinson.
+
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_realize):
+
+2012-08-28 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Enable the edge distance anti-aliasing for accelerated compositing layers
+ https://bugs.webkit.org/show_bug.cgi?id=95272
+
+ Reviewed by No'am Rosenthal.
+
+ Turn on edge-distance anti-aliasing for GTK+ WebKit1. This
+ improves the quality of layer rendering.
+
+ * WebCoreSupport/AcceleratedCompositingContextGL.cpp:
+ (WebKit::AcceleratedCompositingContext::initialize):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-27 Zan Dobersek <zandobersek@gmail.com>
+
+ [GTK] Memory cache should be cleared in between test runs
+ https://bugs.webkit.org/show_bug.cgi?id=95105
+
+ Reviewed by Martin Robinson.
+
+ Add a DumpRenderTreeSupportGtk helper method that clears the
+ memory cache when called.
+
+ * WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
+ (DumpRenderTreeSupportGtk::clearMemoryCache):
+ * WebCoreSupport/DumpRenderTreeSupportGtk.h:
+ (DumpRenderTreeSupportGtk):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesGtk.cpp:
+ (PlatformStrategiesGtk::getPluginInfo):
+ * webkit/webkitfavicondatabase.cpp:
+ (webkitFaviconDatabaseImportFinished):
+ * webkit/webkitwebplugin.cpp:
+ (webkit_web_plugin_get_mimetypes):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+ RegisterProtocolHandlerClientGtk is renamed to NavigatorContentUtilsClientGtk.
+
+ * GNUmakefile.am:
+ * WebCoreSupport/NavigatorContentUtilsClientGtk.cpp: Renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp.
+ (WebKit):
+ (WebKit::NavigatorContentUtilsClient::create):
+ (WebKit::NavigatorContentUtilsClient::NavigatorContentUtilsClient):
+ (WebKit::NavigatorContentUtilsClient::registerProtocolHandler):
+ * WebCoreSupport/NavigatorContentUtilsClientGtk.h: Renamed from Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h.
+ (WebKit):
+ (NavigatorContentUtilsClient):
+ (WebKit::NavigatorContentUtilsClient::~NavigatorContentUtilsClient):
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_init):
+ * webkit/webkitwebviewprivate.h:
+
2012-08-23 Carlos Garcia Campos <cgarcia@igalia.com>
REGRESSION(r126306): it broke the plugin process
diff --git a/Source/WebKit/gtk/GNUmakefile.am b/Source/WebKit/gtk/GNUmakefile.am
index 00473f9d5..db6c9b0bc 100644
--- a/Source/WebKit/gtk/GNUmakefile.am
+++ b/Source/WebKit/gtk/GNUmakefile.am
@@ -211,11 +211,11 @@ webkitgtk_sources += \
Source/WebKit/gtk/WebCoreSupport/GtkAdjustmentWatcher.h \
Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.h \
+ Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h \
+ Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/PasteboardHelperGtk.h \
Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.h \
Source/WebKit/gtk/WebCoreSupport/PlatformStrategiesGtk.cpp \
- Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h \
- Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.cpp \
Source/WebKit/gtk/WebCoreSupport/UserMediaClientGtk.h \
Source/WebKit/gtk/WebCoreSupport/WebViewInputMethodFilter.cpp \
diff --git a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp b/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
index 9a2cae0ad..95da644e3 100644
--- a/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/AcceleratedCompositingContextGL.cpp
@@ -97,8 +97,9 @@ void AcceleratedCompositingContext::initialize()
// The creation of the TextureMapper needs an active OpenGL context.
GLContext* context = m_redirectedWindow->context();
context->makeContextCurrent();
- m_textureMapper = TextureMapperGL::create();
+ m_textureMapper = TextureMapperGL::create();
+ static_cast<TextureMapperGL*>(m_textureMapper.get())->setEnableEdgeDistanceAntialiasing(true);
toTextureMapperLayer(m_rootLayer.get())->setTextureMapper(m_textureMapper.get());
scheduleLayerFlush();
diff --git a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
index 740e3bbca..3523fa78d 100644
--- a/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/ChromeClientGtk.cpp
@@ -46,7 +46,6 @@
#include "KURL.h"
#include "NavigationAction.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "PopupMenuClient.h"
#include "PopupMenuGtk.h"
#include "RefPtrCairo.h"
@@ -72,6 +71,7 @@
#include <gtk/gtk.h>
#include <wtf/MathExtras.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SQL_DATABASE)
#include "DatabaseTracker.h"
@@ -651,7 +651,7 @@ void ChromeClient::scroll(const IntSize& delta, const IntRect& rectToScroll, con
AcceleratedCompositingContext* compositingContext = m_webView->priv->acceleratedCompositingContext.get();
if (compositingContext->enabled()) {
ASSERT(!rectToScroll.isEmpty());
- ASSERT(!delta.isEmpty());
+ ASSERT(delta.width() || delta.height());
compositingContext->scrollNonCompositedContents(rectToScroll, delta);
return;
@@ -786,7 +786,7 @@ void ChromeClient::mouseDidMoveOverElement(const HitTestResult& hit, unsigned mo
if (Node* node = hit.innerNonSharedNode()) {
Frame* frame = node->document()->frame();
FrameView* view = frame ? frame->view() : 0;
- m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->getPixelSnappedRect()) : IntRect();
+ m_webView->priv->tooltipArea = view ? view->contentsToWindow(node->pixelSnappedBoundingBox()) : IntRect();
} else
m_webView->priv->tooltipArea = IntRect();
}
diff --git a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
index c76dce9f6..39b9ddc30 100644
--- a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.cpp
@@ -50,10 +50,10 @@
#include "JSLock.h"
#include "JSNodeList.h"
#include "JSValue.h"
+#include "MemoryCache.h"
#include "MutationObserver.h"
#include "NodeList.h"
#include "PageGroup.h"
-#include "PlatformString.h"
#include "PrintContext.h"
#include "RenderListItem.h"
#include "RenderTreeAsText.h"
@@ -72,6 +72,7 @@
#include "webkitwebview.h"
#include "webkitwebviewprivate.h"
#include <JavaScriptCore/APICast.h>
+#include <wtf/text/WTFString.h>
using namespace JSC;
using namespace WebCore;
@@ -189,68 +190,6 @@ CString DumpRenderTreeSupportGtk::dumpRenderTree(WebKitWebFrame* frame)
}
/**
- * numberOfPagesForFrame
- * @frame: a #WebKitWebFrame
- * @pageWidth: width of a page
- * @pageHeight: height of a page
- *
- * Return value: The number of pages to be printed.
- */
-int DumpRenderTreeSupportGtk::numberOfPagesForFrame(WebKitWebFrame* frame, float pageWidth, float pageHeight)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), 0);
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return -1;
-
- return PrintContext::numberOfPages(coreFrame, FloatSize(pageWidth, pageHeight));
-}
-
-/**
- * pageProperty
- * @frame: a #WebKitWebFrame
- * @propertyName: name of a property
- * @pageNumber: number of a page
- *
- * Return value: The value of the given property name.
- */
-CString DumpRenderTreeSupportGtk::pageProperty(WebKitWebFrame* frame, const char* propertyName, int pageNumber)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString());
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return CString();
-
- return PrintContext::pageProperty(coreFrame, propertyName, pageNumber).utf8();
-}
-
-/**
- * pageSizeAndMarginsInPixels
- * @frame: a #WebKitWebFrame
- * @pageNumber: number of a page
- * @width: width of a page
- * @height: height of a page
- * @marginTop: top margin of a page
- * @marginRight: right margin of a page
- * @marginBottom: bottom margin of a page
- * @marginLeft: left margin of a page
- *
- * Return value: The value of page size and margin.
- */
-CString DumpRenderTreeSupportGtk::pageSizeAndMarginsInPixels(WebKitWebFrame* frame, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
-{
- g_return_val_if_fail(WEBKIT_IS_WEB_FRAME(frame), CString());
-
- Frame* coreFrame = core(frame);
- if (!coreFrame)
- return CString();
-
- return PrintContext::pageSizeAndMarginsInPixels(coreFrame, pageNumber, width, height, marginTop, marginRight, marginBottom, marginLeft).utf8();
-}
-
-/**
* addUserStyleSheet
* @frame: a #WebKitWebFrame
* @sourceCode: code of a user stylesheet
@@ -867,3 +806,8 @@ void DumpRenderTreeSupportGtk::resetTrackedRepaints(WebKitWebFrame* frame)
if (coreFrame && coreFrame->view())
coreFrame->view()->resetTrackedRepaints();
}
+
+void DumpRenderTreeSupportGtk::clearMemoryCache()
+{
+ memoryCache()->evictResources();
+}
diff --git a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
index ea608d2f5..7e6e1fa9b 100644
--- a/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
+++ b/Source/WebKit/gtk/WebCoreSupport/DumpRenderTreeSupportGtk.h
@@ -59,9 +59,6 @@ public:
static GSList* getFrameChildren(WebKitWebFrame*);
static WTF::CString getInnerText(WebKitWebFrame*);
static WTF::CString dumpRenderTree(WebKitWebFrame*);
- static int numberOfPagesForFrame(WebKitWebFrame*, float pageWidth, float pageHeight);
- static WTF::CString pageProperty(WebKitWebFrame*, const char* propertyName, int pageNumber);
- static WTF::CString pageSizeAndMarginsInPixels(WebKitWebFrame*, int pageNumber, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
static void addUserStyleSheet(WebKitWebFrame*, const char* sourceCode, bool allFrames);
static guint getPendingUnloadEventCount(WebKitWebFrame*);
static bool pauseAnimation(WebKitWebFrame*, const char* name, double time, const char* element);
@@ -130,6 +127,8 @@ public:
static GSList* trackedRepaintRects(WebKitWebFrame*);
static void resetTrackedRepaints(WebKitWebFrame*);
+ static void clearMemoryCache();
+
private:
static bool s_drtRun;
static bool s_linksIncludedInTabChain;
diff --git a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
index ed776b026..b129c6fb4 100644
--- a/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/InspectorClientGtk.cpp
@@ -25,13 +25,13 @@
#include "InspectorController.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
#include "webkitversion.h"
#include "webkitwebinspector.h"
#include "webkitwebinspectorprivate.h"
#include "webkitwebview.h"
#include "webkitwebviewprivate.h"
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
index 9e38851e5..905769c35 100644
--- a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.cpp
+++ b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.cpp
@@ -17,28 +17,28 @@
*/
#include "config.h"
-#include "RegisterProtocolHandlerClientGtk.h"
+#include "NavigatorContentUtilsClientGtk.h"
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
#include "NotImplemented.h"
#include <wtf/text/CString.h>
namespace WebKit {
-PassOwnPtr<RegisterProtocolHandlerClient> RegisterProtocolHandlerClient::create()
+PassOwnPtr<NavigatorContentUtilsClient> NavigatorContentUtilsClient::create()
{
- return adoptPtr(new RegisterProtocolHandlerClient);
+ return adoptPtr(new NavigatorContentUtilsClient);
}
-RegisterProtocolHandlerClient::RegisterProtocolHandlerClient()
+NavigatorContentUtilsClient::NavigatorContentUtilsClient()
{
}
-void RegisterProtocolHandlerClient::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
+void NavigatorContentUtilsClient::registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title)
{
notImplemented();
}
}
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
diff --git a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
index f4889f38f..a6f3e2361 100644
--- a/Source/WebKit/gtk/WebCoreSupport/RegisterProtocolHandlerClientGtk.h
+++ b/Source/WebKit/gtk/WebCoreSupport/NavigatorContentUtilsClientGtk.h
@@ -16,29 +16,29 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef RegisterProtocolHandlerClientGtk_h
-#define RegisterProtocolHandlerClientGtk_h
+#ifndef NavigatorContentUtilsClientGtk_h
+#define NavigatorContentUtilsClientGtk_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClient.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClient.h"
#include <wtf/PassOwnPtr.h>
namespace WebKit {
-class RegisterProtocolHandlerClient : public WebCore::RegisterProtocolHandlerClient {
+class NavigatorContentUtilsClient : public WebCore::NavigatorContentUtilsClient {
public:
- static PassOwnPtr<RegisterProtocolHandlerClient> create();
+ static PassOwnPtr<NavigatorContentUtilsClient> create();
- ~RegisterProtocolHandlerClient() { }
+ ~NavigatorContentUtilsClient() { }
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title);
private:
- RegisterProtocolHandlerClient();
+ NavigatorContentUtilsClient();
};
}
#endif
-#endif // RegisterProtocolHandlerClientGtk_h
+#endif // NavigatorContentUtilsClientGtk_h
diff --git a/Source/WebKit/gtk/docs/webkitgtk-sections.txt b/Source/WebKit/gtk/docs/webkitgtk-sections.txt
index 59970b59c..b707bf83d 100644
--- a/Source/WebKit/gtk/docs/webkitgtk-sections.txt
+++ b/Source/WebKit/gtk/docs/webkitgtk-sections.txt
@@ -536,6 +536,10 @@ webkit_set_cache_model
<SUBSECTION ContextMenuItem>
WebKitContextMenuAction
webkit_context_menu_item_get_action
+<SUBSECTION SecurityPolicy>
+WebKitSecurityPolicy
+webkit_set_security_policy_for_uri_scheme
+webkit_get_security_policy_for_uri_scheme
<SUBSECTION Private>
WEBKITGTK_API_VERSION
</SECTION>
diff --git a/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h b/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
index afbed4961..2c32f2c9a 100644
--- a/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
+++ b/Source/WebKit/gtk/gdom/ConvertToGCharPrivate.h
@@ -21,9 +21,9 @@
#define ConvertToGCharPrivate_h
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/text/CString.h>
#include <wtf/text/AtomicString.h>
+#include <wtf/text/WTFString.h>
inline gchar* copyAsGchar(WTF::String const& s)
{
@@ -35,7 +35,7 @@ inline gchar* copyAsGchar(WebCore::KURL const& s)
return copyAsGchar(s.string());
}
-inline gchar* copyAsGchar(const JSC::UString& s)
+inline gchar* copyAsGchar(const String& s)
{
return g_strdup(s.UTF8String().c_str());
}
diff --git a/Source/WebKit/gtk/tests/testatk.c b/Source/WebKit/gtk/tests/testatk.c
index 759da1771..cc90d9472 100644
--- a/Source/WebKit/gtk/tests/testatk.c
+++ b/Source/WebKit/gtk/tests/testatk.c
@@ -562,6 +562,10 @@ static void testWebkitAtkComboBox()
g_assert(selectedItem == item1);
g_object_unref(selectedItem);
+ /* Check that the menu popup has 0 links and doesn't crash from checking. */
+ gint nLinks = atk_hypertext_get_n_links(ATK_HYPERTEXT(menuPopup));
+ g_assert_cmpint(nLinks, ==, 0);
+
/* Check the implementations of the AtkAction interface. */
g_assert(ATK_IS_ACTION(comboBox));
AtkAction* atkAction = ATK_ACTION(comboBox);
@@ -1867,17 +1871,18 @@ static void testWebkitAtkTextChangedNotifications()
GINT_TO_POINTER(TEXT_CHANGE_REMOVE));
pos = 0;
+ /* A single bullet character is '\342\200\242' */
atk_editable_text_insert_text(ATK_EDITABLE_TEXT(passwordEntry), "foobar", 6, &pos);
g_assert_cmpstr(textChangedResult, ==, "|1|0|6|'\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242'|");
text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\303\242\302\200\302\242\303\242\302\200\302\242");
+ g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242");
g_free(text);
atk_editable_text_delete_text(ATK_EDITABLE_TEXT(passwordEntry), 2, 4);
g_assert_cmpstr(textChangedResult, ==, "|2|2|2|'\342\200\242\342\200\242'|");
text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\303\242\302\200\302\242\303\242");
+ g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242");
g_free(text);
pos = 3;
@@ -1885,7 +1890,7 @@ static void testWebkitAtkTextChangedNotifications()
g_assert_cmpstr(textChangedResult, ==, "|1|3|3|'\342\200\242\342\200\242\342\200\242'|");
text = atk_text_get_text(ATK_TEXT(passwordEntry), 0, -1);
- g_assert_cmpstr(text, ==, "\303\242\302\200\302\242\303\242\302\200\302\242\303\242");
+ g_assert_cmpstr(text, ==, "\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242\342\200\242");
g_free(text);
g_free(textChangedResult);
diff --git a/Source/WebKit/gtk/tests/testglobals.c b/Source/WebKit/gtk/tests/testglobals.c
index 509c3bf76..f32605025 100644
--- a/Source/WebKit/gtk/tests/testglobals.c
+++ b/Source/WebKit/gtk/tests/testglobals.c
@@ -45,6 +45,58 @@ static void test_globals_default_session()
g_assert(soup_session_get_feature(session, WEBKIT_TYPE_SOUP_AUTH_DIALOG) == NULL);
}
+static void test_globals_security_policy()
+{
+ // Check default policy for well known schemes.
+ WebKitSecurityPolicy policy = webkit_get_security_policy_for_uri_scheme("http");
+ guint mask = WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("https");
+ mask = WEBKIT_SECURITY_POLICY_SECURE | WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("file");
+ mask = WEBKIT_SECURITY_POLICY_LOCAL;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("data");
+ mask = WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME | WEBKIT_SECURITY_POLICY_SECURE;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ policy = webkit_get_security_policy_for_uri_scheme("about");
+ mask = WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME | WEBKIT_SECURITY_POLICY_SECURE | WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
+ g_assert_cmpuint(policy & mask, ==, mask);
+
+ // Custom scheme.
+ policy = webkit_get_security_policy_for_uri_scheme("foo");
+ g_assert(!policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_LOCAL;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_SECURE;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+
+ policy |= WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
+ webkit_set_security_policy_for_uri_scheme("foo", policy);
+ g_assert_cmpuint(webkit_get_security_policy_for_uri_scheme("foo"), ==, policy);
+}
+
int main(int argc, char** argv)
{
gtk_test_init(&argc, &argv, NULL);
@@ -52,6 +104,8 @@ int main(int argc, char** argv)
g_test_bug_base("https://bugs.webkit.org/");
g_test_add_func("/webkit/globals/default_session",
test_globals_default_session);
+ g_test_add_func("/webkit/globals/security-policy",
+ test_globals_security_policy);
return g_test_run();
}
diff --git a/Source/WebKit/gtk/webkit/webkitglobals.cpp b/Source/WebKit/gtk/webkit/webkitglobals.cpp
index 40356b86b..d2715a6a1 100644
--- a/Source/WebKit/gtk/webkit/webkitglobals.cpp
+++ b/Source/WebKit/gtk/webkit/webkitglobals.cpp
@@ -40,6 +40,7 @@
#include "ResourceHandleClient.h"
#include "ResourceHandleInternal.h"
#include "ResourceResponse.h"
+#include "SchemeRegistry.h"
#include "webkitapplicationcache.h"
#include "webkitfavicondatabase.h"
#include "webkitglobalsprivate.h"
@@ -491,6 +492,71 @@ WebKitContextMenuAction webkit_context_menu_item_get_action(GtkMenuItem* item)
#endif
}
+/**
+ * webkit_set_security_policy_for_uri_scheme:
+ * @scheme: a URI scheme
+ * @policy: a #WebKitSecurityPolicy
+ *
+ * Set the security policy for the given URI scheme.
+ *
+ * Since: 2.0
+ */
+void webkit_set_security_policy_for_uri_scheme(const char *scheme, WebKitSecurityPolicy policy)
+{
+ g_return_if_fail(scheme);
+
+ if (!policy)
+ return;
+
+ String urlScheme = String::fromUTF8(scheme);
+
+ if (policy & WEBKIT_SECURITY_POLICY_LOCAL)
+ SchemeRegistry::registerURLSchemeAsLocal(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME)
+ SchemeRegistry::registerURLSchemeAsNoAccess(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED)
+ SchemeRegistry::registerURLSchemeAsDisplayIsolated(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_SECURE)
+ SchemeRegistry::registerURLSchemeAsSecure(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_CORS_ENABLED)
+ SchemeRegistry::registerURLSchemeAsCORSEnabled(urlScheme);
+ if (policy & WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT)
+ SchemeRegistry::registerURLSchemeAsEmptyDocument(urlScheme);
+}
+
+/**
+ * webkit_get_security_policy_for_uri_scheme:
+ * @scheme: a URI scheme
+ *
+ * Get the security policy for the given URI scheme.
+ *
+ * Returns: a #WebKitSecurityPolicy
+ *
+ * Since: 2.0
+ */
+WebKitSecurityPolicy webkit_get_security_policy_for_uri_scheme(const char *scheme)
+{
+ g_return_val_if_fail(scheme, static_cast<WebKitSecurityPolicy>(0));
+
+ guint policy = 0;
+ String urlScheme = String::fromUTF8(scheme);
+
+ if (SchemeRegistry::shouldTreatURLSchemeAsLocal(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_LOCAL;
+ if (SchemeRegistry::shouldTreatURLSchemeAsNoAccess(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME;
+ if (SchemeRegistry::shouldTreatURLSchemeAsDisplayIsolated(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED;
+ if (SchemeRegistry::shouldTreatURLSchemeAsSecure(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_SECURE;
+ if (SchemeRegistry::shouldTreatURLSchemeAsCORSEnabled(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_CORS_ENABLED;
+ if (SchemeRegistry::shouldLoadURLSchemeAsEmptyDocument(urlScheme))
+ policy |= WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT;
+
+ return static_cast<WebKitSecurityPolicy>(policy);
+}
+
void webkitInit()
{
static bool isInitialized = false;
diff --git a/Source/WebKit/gtk/webkit/webkitglobals.h b/Source/WebKit/gtk/webkit/webkitglobals.h
index 0bfc083c5..f002d6db8 100644
--- a/Source/WebKit/gtk/webkit/webkitglobals.h
+++ b/Source/WebKit/gtk/webkit/webkitglobals.h
@@ -142,6 +142,35 @@ typedef enum {
WEBKIT_CONTEXT_MENU_ACTION_MEDIA_MUTE
} WebKitContextMenuAction;
+/**
+ * WebKitSecurityPolicy:
+ * @WEBKIT_SECURITY_POLICY_LOCAL: Local URI scheme, other non-local pages
+ * cannot link to or access URIs of this scheme.
+ * @WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME: Pages loaded with this URI scheme
+ * cannot access pages loaded with any other URI scheme.
+ * @WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED: Pages cannot display these URIs
+ * unless they are from the same scheme.
+ * @WEBKIT_SECURITY_POLICY_SECURE: Secure URI scheme, doesn't generate mixed
+ * content warnings when included by an HTTPS page.
+ * @WEBKIT_SECURITY_POLICY_CORS_ENABLED: URI scheme that can be sent
+ * CORS (Cross-origin resource sharing) requests. See W3C CORS specification
+ * http://www.w3.org/TR/cors/.
+ * @WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT: Strictly empty documents allowed
+ * to commit synchronously.
+ *
+ * Flags used to represent the security policy of a URI scheme.
+ *
+ * Since: 2.0
+ */
+typedef enum {
+ WEBKIT_SECURITY_POLICY_LOCAL = 1 << 1,
+ WEBKIT_SECURITY_POLICY_NO_ACCESS_TO_OTHER_SCHEME = 1 << 2,
+ WEBKIT_SECURITY_POLICY_DISPLAY_ISOLATED = 1 << 3,
+ WEBKIT_SECURITY_POLICY_SECURE = 1 << 4,
+ WEBKIT_SECURITY_POLICY_CORS_ENABLED = 1 << 5,
+ WEBKIT_SECURITY_POLICY_EMPTY_DOCUMENT = 1 << 6
+} WebKitSecurityPolicy;
+
WEBKIT_API SoupSession*
webkit_get_default_session (void);
@@ -171,6 +200,13 @@ webkit_set_text_checker (GObject* checker);
WEBKIT_API WebKitContextMenuAction
webkit_context_menu_item_get_action (GtkMenuItem* item);
+WEBKIT_API void
+webkit_set_security_policy_for_uri_scheme (const gchar *scheme,
+ WebKitSecurityPolicy policy);
+
+WEBKIT_API WebKitSecurityPolicy
+webkit_get_security_policy_for_uri_scheme (const gchar *scheme);
+
G_END_DECLS
#endif
diff --git a/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp b/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
index e4a4f64e8..d6782f0f5 100644
--- a/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
+++ b/Source/WebKit/gtk/webkit/webkitsecurityorigin.cpp
@@ -21,11 +21,11 @@
#include "webkitsecurityorigin.h"
#include "DatabaseTracker.h"
-#include "PlatformString.h"
#include "webkitglobalsprivate.h"
#include "webkitsecurityoriginprivate.h"
#include <glib/gi18n-lib.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitsecurityorigin
diff --git a/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp b/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
index 22c35ca0b..f973752ac 100644
--- a/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebdatasource.cpp
@@ -25,7 +25,6 @@
#include "FrameLoader.h"
#include "FrameLoaderClientGtk.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "ResourceRequest.h"
#include "SharedBuffer.h"
#include "SubstituteData.h"
@@ -36,8 +35,9 @@
#include "webkitwebframeprivate.h"
#include "webkitwebresource.h"
#include "webkitwebviewprivate.h"
-#include "wtf/Assertions.h"
#include <glib.h>
+#include <wtf/Assertions.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitwebdatasource
diff --git a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp b/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
index 62d30dc9b..5b7db2223 100644
--- a/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebhistoryitem.cpp
@@ -23,12 +23,12 @@
#include "HistoryItem.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "webkitglobalsprivate.h"
#include "webkitwebhistoryitemprivate.h"
#include <glib.h>
#include <glib/gi18n-lib.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitwebhistoryitem
diff --git a/Source/WebKit/gtk/webkit/webkitwebresource.cpp b/Source/WebKit/gtk/webkit/webkitwebresource.cpp
index 68d0ffb6e..7c32358f7 100644
--- a/Source/WebKit/gtk/webkit/webkitwebresource.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebresource.cpp
@@ -22,7 +22,6 @@
#include "ArchiveResource.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "SharedBuffer.h"
#include "webkitenumtypes.h"
#include "webkitglobalsprivate.h"
@@ -33,6 +32,7 @@
#include <glib/gi18n-lib.h>
#include <wtf/Assertions.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
/**
* SECTION:webkitwebresource
diff --git a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
index ce877e4f0..b93361105 100644
--- a/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebsettings.cpp
@@ -30,6 +30,7 @@
#include "FileSystem.h"
#include "KURL.h"
#include "PluginDatabase.h"
+#include "UserAgentGtk.h"
#include "webkitenumtypes.h"
#include "webkitglobalsprivate.h"
#include "webkitversion.h"
@@ -39,12 +40,6 @@
#include <wtf/text/StringConcatenate.h>
#include <glib/gi18n-lib.h>
-#if OS(UNIX)
-#include <sys/utsname.h>
-#elif OS(WINDOWS)
-#include "SystemInfo.h"
-#endif
-
/**
* SECTION:webkitwebsettings
* @short_description: Control the behaviour of a #WebKitWebView
@@ -126,71 +121,6 @@ enum {
PROP_MEDIA_PLAYBACK_ALLOWS_INLINE
};
-// Create a default user agent string
-// This is a liberal interpretation of http://www.mozilla.org/build/revised-user-agent-strings.html
-// See also http://developer.apple.com/internet/safari/faq.html#anchor2
-static String webkitPlatform()
-{
-#if PLATFORM(X11)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("X11; ")));
-#elif OS(WINDOWS)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("")));
-#elif PLATFORM(MAC)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("Macintosh; ")));
-#elif defined(GDK_WINDOWING_DIRECTFB)
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("DirectFB; ")));
-#else
- DEFINE_STATIC_LOCAL(const String, uaPlatform, (String("Unknown; ")));
-#endif
-
- return uaPlatform;
-}
-
-static String webkitOSVersion()
-{
- // FIXME: platform/version detection can be shared.
-#if OS(DARWIN)
-
-#if CPU(X86)
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("Intel Mac OS X")));
-#else
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("PPC Mac OS X")));
-#endif
-
-#elif OS(UNIX)
- DEFINE_STATIC_LOCAL(String, uaOSVersion, (String()));
-
- if (!uaOSVersion.isEmpty())
- return uaOSVersion;
-
- struct utsname name;
- if (uname(&name) != -1)
- uaOSVersion = makeString(name.sysname, ' ', name.machine);
- else
- uaOSVersion = String("Unknown");
-#elif OS(WINDOWS)
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (windowsVersionForUAString()));
-#else
- DEFINE_STATIC_LOCAL(const String, uaOSVersion, (String("Unknown")));
-#endif
-
- return uaOSVersion;
-}
-
-static String chromeUserAgent()
-{
- // We mention Safari since many broken sites check for it (OmniWeb does this too)
- // We re-use the WebKit version, though it doesn't seem to matter much in practice
- // We claim to be Chrome as well, which prevents sites that look for Safari and assume
- // that since we are not OS X, that we are the mobile version of Safari.
-
- DEFINE_STATIC_LOCAL(const String, uaVersion, (makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.', String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+')));
- DEFINE_STATIC_LOCAL(const String, staticUA, (makeString("Mozilla/5.0 (", webkitPlatform(), webkitOSVersion(), ") AppleWebKit/", uaVersion) +
- makeString(" (KHTML, like Gecko) Chromium/17.0.963.56 Chrome/17.0.963.56 Safari/", uaVersion)));
-
- return staticUA;
-}
-
static void webkit_web_settings_finalize(GObject* object);
static void webkit_web_settings_set_property(GObject* object, guint prop_id, const GValue* value, GParamSpec* pspec);
@@ -1125,7 +1055,7 @@ static void webkit_web_settings_set_property(GObject* object, guint prop_id, con
break;
case PROP_USER_AGENT:
if (!g_value_get_string(value) || !strlen(g_value_get_string(value)))
- priv->userAgent = chromeUserAgent().utf8();
+ priv->userAgent = standardUserAgent().utf8();
else
priv->userAgent = g_value_get_string(value);
break;
@@ -1559,7 +1489,7 @@ static String userAgentForURL(const KURL& url)
// For Google domains, drop the browser's custom User Agent string, and use the
// standard Chrome one, so they don't give us a broken experience.
if (isGoogleDomain(url.host()))
- return chromeUserAgent();
+ return standardUserAgent();
return String();
}
diff --git a/Source/WebKit/gtk/webkit/webkitwebview.cpp b/Source/WebKit/gtk/webkit/webkitwebview.cpp
index a5368944d..8b992119d 100644
--- a/Source/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/Source/WebKit/gtk/webkit/webkitwebview.cpp
@@ -427,7 +427,7 @@ static IntPoint getLocationForKeyboardGeneratedContextMenu(Frame* frame)
if (!selection->selection().isNonOrphanedCaretOrRange()
|| (selection->selection().isCaret() && !selection->selection().isContentEditable())) {
if (Node* focusedNode = getFocusedNode(frame))
- return focusedNode->getPixelSnappedRect().location();
+ return focusedNode->pixelSnappedBoundingBox().location();
// There was no selection and no focused node, so just put the context
// menu into the corner of the view, offset slightly.
@@ -992,6 +992,9 @@ static void webkit_web_view_realize(GtkWidget* widget)
| GDK_BUTTON_PRESS_MASK
| GDK_BUTTON_RELEASE_MASK
| GDK_SCROLL_MASK
+#if GTK_CHECK_VERSION(3, 3, 18)
+ | GDK_SMOOTH_SCROLL_MASK
+#endif
| GDK_POINTER_MOTION_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK
@@ -1605,7 +1608,7 @@ static gboolean webkit_web_view_query_tooltip(GtkWidget *widget, gint x, gint y,
String title = static_cast<Element*>(titleNode)->title();
if (!title.isEmpty()) {
if (FrameView* view = coreFrame->view()) {
- GdkRectangle area = view->contentsToWindow(node->getPixelSnappedRect());
+ GdkRectangle area = view->contentsToWindow(node->pixelSnappedBoundingBox());
gtk_tooltip_set_tip_area(tooltip, &area);
}
gtk_tooltip_set_text(tooltip, title.utf8().data());
@@ -3629,9 +3632,9 @@ static void webkit_web_view_init(WebKitWebView* webView)
WebCore::provideUserMediaTo(priv->corePage, priv->userMediaClient.get());
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- priv->registerProtocolHandlerClient = WebKit::RegisterProtocolHandlerClient::create();
- WebCore::provideRegisterProtocolHandlerTo(priv->corePage, priv->registerProtocolHandlerClient.get());
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ priv->navigatorContentUtilsClient = WebKit::NavigatorContentUtilsClient::create();
+ WebCore::provideNavigatorContentUtilsTo(priv->corePage, priv->navigatorContentUtilsClient.get());
#endif
if (DumpRenderTreeSupportGtk::dumpRenderTreeModeEnabled()) {
diff --git a/Source/WebKit/gtk/webkit/webkitwebviewprivate.h b/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
index c302696d2..96954c24c 100644
--- a/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
+++ b/Source/WebKit/gtk/webkit/webkitwebviewprivate.h
@@ -39,8 +39,8 @@
#include "UserMediaClientGtk.h"
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
-#include "RegisterProtocolHandlerClientGtk.h"
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+#include "NavigatorContentUtilsClientGtk.h"
#endif
namespace WebKit {
@@ -122,8 +122,8 @@ struct _WebKitWebViewPrivate {
OwnPtr<WebCore::GeolocationClientMock> geolocationClientMock;
#endif
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
- OwnPtr<WebKit::RegisterProtocolHandlerClient> registerProtocolHandlerClient;
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
+ OwnPtr<WebKit::NavigatorContentUtilsClient> navigatorContentUtilsClient;
#endif
};
diff --git a/Source/WebKit/mac/ChangeLog b/Source/WebKit/mac/ChangeLog
index e156f61d2..ab6273273 100644
--- a/Source/WebKit/mac/ChangeLog
+++ b/Source/WebKit/mac/ChangeLog
@@ -1,3 +1,490 @@
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::enumerate):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::actionDictionary):
+ * WebView/WebHTMLView.mm:
+ (-[WebHTMLView elementAtPoint:allowShadowContent:]):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * History/WebHistoryItem.mm:
+ * Misc/WebStringTruncator.mm:
+ * Plugins/Hosted/NetscapePluginHostManager.h:
+ (NetscapePluginHostManager):
+ * Plugins/WebPluginController.mm:
+ * Storage/WebStorageTrackerClient.mm:
+ * WebCoreSupport/WebChromeClient.mm:
+ * WebCoreSupport/WebEditorClient.mm:
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ * WebCoreSupport/WebIconDatabaseClient.mm:
+ * WebCoreSupport/WebInspectorClient.h:
+ (WebInspectorClient):
+ (WebInspectorFrontendClient):
+ * WebView/WebRenderLayer.mm:
+ * WebView/WebViewData.h:
+
+2012-09-05 Benjamin Poulain <bpoulain@apple.com>
+
+ More fixes for String::operator+=() on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=95880
+
+ Reviewed by Adam Barth.
+
+ * WebView/WebRenderLayer.mm:
+ (+[WebRenderLayer nameForLayer:]): Use StringBuilder to concatenate the class names
+ efficiently.
+ * WebView/WebView.mm:
+ (+[WebView _decodeData:]): This is a legitimate use of String::append(), there
+ is no other concatenation done on that string.
+
+2012-09-01 Mark Lam <mark.lam@apple.com>
+
+ Added #include <JavaScriptCore/Identifier.h>.
+ https://bugs.webkit.org/show_bug.cgi?id=95641.
+
+ Reviewed by Dan Bernstein.
+
+ The code references JSC::Indentifier but was previously depending on
+ someone else to #include it. This results in build problems when
+ building for the llint C loop configuration.
+
+ * Plugins/Hosted/NetscapePluginInstanceProxy.h:
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-31 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Fix for older compilers. Pass id as the return type to the template
+ instead of relying on default type.
+
+ * WebView/WebDelegateImplementationCaching.mm:
+ (CallDelegate):
+ (CallFormDelegate):
+ * WebView/WebHTMLView.mm:
+ (setCursor):
+ (setNeedsDisplayInRect):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ Mechanical change to update for JSC interface change.
+
+2012-08-30 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r127171.
+ http://trac.webkit.org/changeset/127171
+ https://bugs.webkit.org/show_bug.cgi?id=95505
+
+ testRunner does not need dumpWebNotificationCallbacks().
+ (Requested by jonlee on #webkit).
+
+ * WebKit.exp:
+
+2012-08-30 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
+ to a function pointer with right types when calling objc_msgSend and an
+ IMP method directly.
+
+ * WebCoreSupport/WebCachedFramePlatformData.h:
+ (WebCachedFramePlatformData::clear):
+ * WebCoreSupport/WebDeviceOrientationClient.mm:
+ (WebDeviceOrientationClient::getProvider):
+ * WebView/WebDelegateImplementationCaching.mm:
+ (CallDelegate):
+ (CallDelegateReturningBoolean):
+ (CallResourceLoadDelegateReturningBoolean):
+ (CallFormDelegate):
+ (CallFormDelegateReturningBoolean):
+ * WebView/WebHTMLView.mm:
+ (setCursor):
+ (setNeedsDisplayInRect):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Get rid of UString, replace it by String, and simplify the code when possible.
+
+ On x86_64, this reduces the binary size by 7kb.
+
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (identifierFromIdentifierRep):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::addValueToArray):
+ (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyRuntimeMethod::create):
+ (WebKit::ProxyRuntimeMethod::finishCreation):
+ (WebKit::ProxyInstance::getPropertyNames):
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * WebView/WebFrame.mm:
+ (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
+ (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
+ * WebView/WebScriptDebugDelegate.mm:
+ (-[WebScriptCallFrame functionName]):
+ (-[WebScriptCallFrame evaluateWebScript:]):
+ * WebView/WebScriptDebugger.h:
+ (WTF):
+ (JSC):
+ (WebScriptDebugger):
+ * WebView/WebScriptDebugger.mm:
+ (toNSURL):
+ (WebScriptDebugger::sourceParsed):
+ * WebView/WebView.mm:
+ (aeDescFromJSValue):
+
+2012-08-30 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add testRunner.dumpWebNotificationCallbacks() to DRT
+ https://bugs.webkit.org/show_bug.cgi?id=95232
+ <rdar://problem/12190776>
+
+ Reviewed by Alexey Proskuryakov.
+
+ * WebKit.exp: Export WebNotification class.
+
+2012-08-30 Jon Lee <jonlee@apple.com>
+
+ [Mac] Registering web views for notifications is unbalanced
+ https://bugs.webkit.org/show_bug.cgi?id=95465
+ <rdar://problem/12206765>
+
+ Reviewed by Darin Adler.
+
+ Setting the notification provider for a WK1 WebView registers that web view to the
+ provider. When the WebView is closed, WebCore is essentially responsible for
+ unregistering the web view. This leads to an imbalance on Lion since notifications are
+ not supported, and the NotificationController responsible for making the unregistration
+ call doesn't exist.
+
+ Instead, the unregisterWebView method should be called when the web view is closed.
+
+ * WebView/WebViewPrivate.h: Remove _notificationControllerDestroyed, since it is
+ unneeded.
+
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::notificationControllerDestroyed):
+ * WebView/WebView.mm:
+ (-[WebView _close]): Unregister the web view from the assigned provider here.
+ (-[WebView _setNotificationProvider:]): Only allow setting the provider once, to avoid
+ registering the web view to multiple providers.
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add iconURL to WebNotification
+ https://bugs.webkit.org/show_bug.cgi?id=95249
+ <rdar://problem/12192060>
+
+ Reviewed by Jessie Berlin.
+
+ * WebView/WebNotification.h: Expose iconURL.
+ * WebView/WebNotification.mm: Remove unnecessary ASSERTs.
+ (-[WebNotification title]):
+ (-[WebNotification body]):
+ (-[WebNotification tag]):
+ (-[WebNotification iconURL]): Added.
+ (-[WebNotification origin]):
+ (-[WebNotification notificationID]):
+ (-[WebNotification dispatchShowEvent]):
+ (-[WebNotification dispatchCloseEvent]):
+ (-[WebNotification dispatchClickEvent]):
+ (-[WebNotification dispatchErrorEvent]):
+
+2012-08-28 Geoffrey Garen <ggaren@apple.com>
+
+ Added JSScope::objectInScope(), and refactored callers to use it
+ https://bugs.webkit.org/show_bug.cgi?id=95281
+
+ Reviewed by Gavin Barraclough.
+
+ * WebView/WebScriptDebugDelegate.mm:
+ (-[WebScriptCallFrame scopeChain]):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ Second build fix to r126909.
+
+ Added needed #else clause.
+
+ * WebView/WebView.mm:
+ (-[WebView _notificationIDForTesting:]):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ Build fix to r126909.
+
+ Needed ENABLE(NOTIFICATIONS) guards.
+
+ * WebView/WebView.mm:
+ (-[WebView _notificationIDForTesting:]):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ [Mac] Add SPI to WK1 to retrieve internal IDs for web notifications
+ https://bugs.webkit.org/show_bug.cgi?id=95099
+ <rdar://problem/12180186>
+
+ Reviewed by Jessie Berlin.
+
+ This is work toward providing Mac support for web notifications in DRT and WTR (77969).
+
+ Add function to retrieve the internal ID for a notification. This is needed by layout tests to support simulating
+ a user click on a notification.
+
+ * WebCoreSupport/WebNotificationClient.h:
+ (WebNotificationClient):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::notificationIDForTesting): Converts the JS notification to a WebCore notification, and passes
+ that to [WebView _notificationIDForTesting:].
+ * WebView/WebView.mm:
+ (-[WebView _notificationIDForTesting:]): Retrieves the notification ID based on the WebCore notification instance.
+ * WebView/WebViewPrivate.h:
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * History/WebHistory.mm:
+ (-[WebHistoryPrivate removeItemFromDateCaches:]):
+ (-[WebHistoryPrivate orderedLastVisitedDays]):
+ (WebHistoryWriter::WebHistoryWriter):
+ * Misc/WebCoreStatistics.mm:
+ (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
+ (+[WebCoreStatistics javaScriptObjectTypeCounts]):
+ * Plugins/Hosted/NetscapePluginHostManager.mm:
+ (WebKit::NetscapePluginHostManager::hostForPlugin):
+ (WebKit::NetscapePluginHostManager::pluginHostDied):
+ (WebKit::NetscapePluginHostManager::didCreateWindow):
+ * Plugins/Hosted/NetscapePluginHostProxy.mm:
+ (WebKit::NetscapePluginHostProxy::pluginHostDied):
+ * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::idForObject):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::retain):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::release):
+ (WebKit::NetscapePluginInstanceProxy::LocalObjectMap::forget):
+ (WebKit::NetscapePluginInstanceProxy::destroy):
+ (WebKit::NetscapePluginInstanceProxy::webFrameDidFinishLoadWithReason):
+ (WebKit::NetscapePluginInstanceProxy::cancelCheckIfAllowedToLoadURL):
+ * Plugins/Hosted/ProxyInstance.mm:
+ (WebKit::ProxyInstance::methodsNamed):
+ (WebKit::ProxyInstance::fieldNamed):
+ * Plugins/WebNetscapePluginView.mm:
+ (-[WebNetscapePluginView stopTimers]):
+ (-[WebNetscapePluginView startTimers]):
+ * WebCoreSupport/WebNotificationClient.mm:
+ (WebNotificationClient::show):
+ (WebNotificationClient::clearNotifications):
+ (WebNotificationClient::notificationObjectDestroyed):
+ * WebView/WebHTMLView.mm:
+ (commandNameForSelector):
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ ENABLE_REGISTER_PROTOCOL_HANDLER is renamed to ENABLE_NAVIGATOR_CONTENT_UTILS.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-24 Pratik Solanki <psolanki@apple.com>
+
+ Don't create a new ResourceRequest if delegate returns the same NSURLRequest we passed it
+ https://bugs.webkit.org/show_bug.cgi?id=94962
+
+ Reviewed by Geoffrey Garen.
+
+ If the NSURLRequest returned from the delegate callback is the same as the one we passed to
+ it, then avoid creating a new ResourceRequest object. This reduces the number of calls to
+ ResourceRequest::doUpdateResourceRequest().
+
+ * WebCoreSupport/WebFrameLoaderClient.mm:
+ (WebFrameLoaderClient::dispatchWillSendRequest):
+
2012-08-23 Mark Hahnenberg <mhahnenberg@apple.com>
Change behavior of MasqueradesAsUndefined to better accommodate DFG changes
diff --git a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
index cedd95d76..6a674085e 100644
--- a/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebKit/mac/Configurations/FeatureDefines.xcconfig
@@ -48,7 +48,6 @@ ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
ENABLE_CSS_COMPOSITING = ;
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_FLEXBOX = ENABLE_CSS3_FLEXBOX;
ENABLE_CSS3_TEXT_DECORATION = ;
ENABLE_CUSTOM_SCHEME_HANDLER = ;
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
@@ -106,6 +105,7 @@ ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
ENABLE_MHTML = ;
ENABLE_MICRODATA = ;
ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS;
+ENABLE_NAVIGATOR_CONTENT_UTILS = ;
ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
ENABLE_NOTIFICATIONS_macosx_1070 = ;
@@ -114,7 +114,6 @@ ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
ENABLE_PAGE_VISIBILITY_API = ;
ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
ENABLE_QUOTA = ;
-ENABLE_REGISTER_PROTOCOL_HANDLER = ;
ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
ENABLE_SCRIPTED_SPEECH = ;
ENABLE_SHADOW_DOM = ;
@@ -141,4 +140,4 @@ ENABLE_WIDGET_REGION_macosx = ENABLE_WIDGET_REGION;
ENABLE_WORKERS = ENABLE_WORKERS;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
diff --git a/Source/WebKit/mac/Configurations/Version.xcconfig b/Source/WebKit/mac/Configurations/Version.xcconfig
index ac1a2c149..d1bed77b3 100644
--- a/Source/WebKit/mac/Configurations/Version.xcconfig
+++ b/Source/WebKit/mac/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 537;
-MINOR_VERSION = 8;
+MINOR_VERSION = 10;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/Source/WebKit/mac/History/WebHistoryItem.mm b/Source/WebKit/mac/History/WebHistoryItem.mm
index de708c95c..f2374bd3d 100644
--- a/Source/WebKit/mac/History/WebHistoryItem.mm
+++ b/Source/WebKit/mac/History/WebHistoryItem.mm
@@ -47,7 +47,6 @@
#import <WebCore/Image.h>
#import <WebCore/KURL.h>
#import <WebCore/PageCache.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/RunLoop.h>
#import <WebCore/ThreadCheck.h>
#import <WebCore/WebCoreObjCExtras.h>
@@ -55,6 +54,7 @@
#import <wtf/Assertions.h>
#import <wtf/MainThread.h>
#import <wtf/StdLibExtras.h>
+#import <wtf/text/WTFString.h>
// Private keys used in the WebHistoryItem's dictionary representation.
// see 3245793 for explanation of "lastVisitedDate"
diff --git a/Source/WebKit/mac/Misc/WebStringTruncator.mm b/Source/WebKit/mac/Misc/WebStringTruncator.mm
index 768da2a53..345a2df71 100644
--- a/Source/WebKit/mac/Misc/WebStringTruncator.mm
+++ b/Source/WebKit/mac/Misc/WebStringTruncator.mm
@@ -32,9 +32,9 @@
#import <WebCore/Font.h>
#import <WebCore/FontCache.h>
#import <WebCore/FontPlatformData.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/StringTruncator.h>
#import <wtf/StdLibExtras.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
index 64e37e162..a97712f72 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostManager.h
@@ -28,10 +28,10 @@
#ifndef NetscapePluginHostManager_h
#define NetscapePluginHostManager_h
-#import <WebCore/PlatformString.h>
#import <wtf/HashMap.h>
#import <wtf/PassRefPtr.h>
#import <wtf/text/StringHash.h>
+#import <wtf/text/WTFString.h>
@class WebHostedNetscapePluginView;
@@ -44,7 +44,7 @@ class NetscapePluginHostManager {
public:
static NetscapePluginHostManager& shared();
- PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, const WTF::String& bundleIdentifier, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
+ PassRefPtr<NetscapePluginInstanceProxy> instantiatePlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier, WebHostedNetscapePluginView *, NSString *mimeType, NSArray *attributeKeys, NSArray *attributeValues, NSString *userAgent, NSURL *sourceURL, bool fullFrame, bool isPrivateBrowsingEnabled, bool isAcceleratedCompositingEnabled);
void pluginHostDied(NetscapePluginHostProxy*);
@@ -53,19 +53,19 @@ public:
void didCreateWindow();
private:
- NetscapePluginHostProxy* hostForPlugin(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, const WTF::String& bundleIdentifier);
+ NetscapePluginHostProxy* hostForPlugin(const String& pluginPath, cpu_type_t pluginArchitecture, const String& bundleIdentifier);
NetscapePluginHostManager();
~NetscapePluginHostManager();
- bool spawnPluginHost(const WTF::String& pluginPath, cpu_type_t pluginArchitecture, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN);
+ bool spawnPluginHost(const String& pluginPath, cpu_type_t pluginArchitecture, mach_port_t clientPort, mach_port_t& pluginHostPort, ProcessSerialNumber& pluginHostPSN);
bool initializeVendorPort();
mach_port_t m_pluginVendorPort;
// FIXME: This should really be a HashMap of RetainPtrs, but that doesn't work right now.
- typedef HashMap<WTF::String, NetscapePluginHostProxy*> PluginHostMap;
+ typedef HashMap<String, NetscapePluginHostProxy*> PluginHostMap;
PluginHostMap m_pluginHosts;
};
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
index af6f2be99..0f9f07ddb 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginHostProxy.mm
@@ -607,7 +607,7 @@ static Identifier identifierFromIdentifierRep(IdentifierRep* identifier)
ASSERT(identifier->isString());
const char* str = identifier->string();
- return Identifier(JSDOMWindow::commonJSGlobalData(), stringToUString(String::fromUTF8WithLatin1Fallback(str, strlen(str))));
+ return Identifier(JSDOMWindow::commonJSGlobalData(), String::fromUTF8WithLatin1Fallback(str, strlen(str)));
}
kern_return_t WKPCInvoke(mach_port_t clientPort, uint32_t pluginID, uint32_t requestID, uint32_t objectID, uint64_t serverIdentifier,
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
index bf36fbd5f..79242c6f8 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.h
@@ -28,6 +28,7 @@
#ifndef NetscapePluginInstanceProxy_h
#define NetscapePluginInstanceProxy_h
+#include <JavaScriptCore/Identifier.h>
#include <JavaScriptCore/JSGlobalData.h>
#include <JavaScriptCore/Strong.h>
#include <WebCore/Timer.h>
diff --git a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
index 91044305f..43ad2984d 100644
--- a/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
+++ b/Source/WebKit/mac/Plugins/Hosted/NetscapePluginInstanceProxy.mm
@@ -875,7 +875,7 @@ bool NetscapePluginInstanceProxy::evaluate(uint32_t objectID, const String& scri
UserGestureIndicator gestureIndicator(allowPopups ? DefinitelyProcessingUserGesture : PossiblyProcessingUserGesture);
- JSValue result = JSC::evaluate(exec, globalObject->globalScopeChain(), makeSource(script));
+ JSValue result = JSC::evaluate(exec, makeSource(script));
globalObject->globalData().timeoutChecker.stop();
@@ -1224,7 +1224,7 @@ bool NetscapePluginInstanceProxy::enumerate(uint32_t objectID, data_t& resultDat
RetainPtr<NSMutableArray*> array(AdoptNS, [[NSMutableArray alloc] init]);
for (unsigned i = 0; i < propertyNames.size(); i++) {
- uint64_t methodName = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(propertyNames[i].ustring().utf8().data()));
+ uint64_t methodName = reinterpret_cast<uint64_t>(_NPN_GetStringIdentifier(propertyNames[i].string().utf8().data()));
[array.get() addObject:[NSNumber numberWithLongLong:methodName]];
}
@@ -1265,7 +1265,7 @@ void NetscapePluginInstanceProxy::addValueToArray(NSMutableArray *array, ExecSta
if (value.isString()) {
[array addObject:[NSNumber numberWithInt:StringValueType]];
- [array addObject:ustringToString(value.toString(exec)->value(exec))];
+ [array addObject:value.toWTFString(exec)];
} else if (value.isNumber()) {
[array addObject:[NSNumber numberWithInt:DoubleValueType]];
[array addObject:[NSNumber numberWithDouble:value.toNumber(exec)]];
@@ -1672,7 +1672,7 @@ void NetscapePluginInstanceProxy::moveGlobalExceptionToExecState(ExecState* exec
{
JSLockHolder lock(exec);
- throwError(exec, createError(exec, stringToUString(globalExceptionString())));
+ throwError(exec, createError(exec, globalExceptionString()));
}
globalExceptionString() = String();
diff --git a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm b/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
index 898c5e214..49e98fe6e 100644
--- a/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
+++ b/Source/WebKit/mac/Plugins/Hosted/ProxyInstance.mm
@@ -181,7 +181,7 @@ class ProxyRuntimeMethod : public RuntimeMethod {
public:
typedef RuntimeMethod Base;
- static ProxyRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const UString& name, Bindings::MethodList& list)
+ static ProxyRuntimeMethod* create(ExecState* exec, JSGlobalObject* globalObject, const String& name, Bindings::MethodList& list)
{
// FIXME: deprecatedGetDOMStructure uses the prototype off of the wrong global object
// exec-globalData() is also likely wrong.
@@ -204,7 +204,7 @@ private:
{
}
- void finishCreation(JSGlobalData& globalData, const UString& name)
+ void finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
@@ -340,7 +340,7 @@ void ProxyInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArr
if (identifier->isString()) {
const char* str = identifier->string();
- nameArray.add(Identifier(JSDOMWindow::commonJSGlobalData(), stringToUString(String::fromUTF8WithLatin1Fallback(str, strlen(str)))));
+ nameArray.add(Identifier(JSDOMWindow::commonJSGlobalData(), String::fromUTF8WithLatin1Fallback(str, strlen(str))));
} else
nameArray.add(Identifier::from(exec, identifier->number()));
}
@@ -348,7 +348,7 @@ void ProxyInstance::getPropertyNames(ExecState* exec, PropertyNameArray& nameArr
MethodList ProxyInstance::methodsNamed(PropertyName propertyName)
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return MethodList();
@@ -392,7 +392,7 @@ MethodList ProxyInstance::methodsNamed(PropertyName propertyName)
Field* ProxyInstance::fieldNamed(PropertyName propertyName)
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return 0;
diff --git a/Source/WebKit/mac/Plugins/WebPluginController.mm b/Source/WebKit/mac/Plugins/WebPluginController.mm
index dd599d6d1..3ff109086 100644
--- a/Source/WebKit/mac/Plugins/WebPluginController.mm
+++ b/Source/WebKit/mac/Plugins/WebPluginController.mm
@@ -54,12 +54,12 @@
#import <WebCore/HTMLMediaElement.h>
#import <WebCore/HTMLNames.h>
#import <WebCore/MediaPlayerProxy.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/ResourceRequest.h>
#import <WebCore/ScriptController.h>
#import <WebCore/WebCoreURLResponse.h>
#import <objc/objc-runtime.h>
#import <runtime/JSLock.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
using namespace HTMLNames;
diff --git a/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm b/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
index 2257b5585..3bc9f107b 100644
--- a/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
+++ b/Source/WebKit/mac/Storage/WebStorageTrackerClient.mm
@@ -27,10 +27,10 @@
#import "WebSecurityOriginInternal.h"
#import "WebStorageManagerPrivate.h"
-#import <WebCore/PlatformString.h>
#import <WebCore/SecurityOrigin.h>
#import <wtf/MainThread.h>
#import <wtf/RetainPtr.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h b/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
index 6c3f16603..9bdb51560 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebCachedFramePlatformData.h
@@ -28,13 +28,14 @@
#import <objc/objc-runtime.h>
#import <WebCore/CachedFramePlatformData.h>
+#import <wtf/ObjcRuntimeExtras.h>
#import <wtf/RetainPtr.h>
class WebCachedFramePlatformData : public WebCore::CachedFramePlatformData {
public:
WebCachedFramePlatformData(id webDocumentView) : m_webDocumentView(webDocumentView) { }
- virtual void clear() { objc_msgSend(m_webDocumentView.get(), @selector(closeIfNotCurrentView)); }
+ virtual void clear() { wtfObjcMsgSend<void>(m_webDocumentView.get(), @selector(closeIfNotCurrentView)); }
id webDocumentView() { return m_webDocumentView.get(); }
private:
diff --git a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
index ed6fa573b..c7dcefa97 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebChromeClient.mm
@@ -52,9 +52,9 @@
#import <Foundation/Foundation.h>
#import <WebCore/BlockExceptions.h>
#import <WebCore/Console.h>
-#import <WebCore/Cursor.h>
#import <WebCore/ContextMenu.h>
#import <WebCore/ContextMenuController.h>
+#import <WebCore/Cursor.h>
#import <WebCore/Element.h>
#import <WebCore/FileChooser.h>
#import <WebCore/FileIconLoader.h>
@@ -71,7 +71,6 @@
#import <WebCore/NotImplemented.h>
#import <WebCore/Page.h>
#import <WebCore/PlatformScreen.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/PopupMenuMac.h>
#import <WebCore/ResourceRequest.h>
#import <WebCore/SearchPopupMenuMac.h>
@@ -79,6 +78,7 @@
#import <WebCore/WindowFeatures.h>
#import <wtf/PassRefPtr.h>
#import <wtf/Vector.h>
+#import <wtf/text/WTFString.h>
#if USE(ACCELERATED_COMPOSITING)
#import <WebCore/GraphicsLayer.h>
diff --git a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
index aaa031a4b..669c0c288 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebDeviceOrientationClient.mm
@@ -29,6 +29,7 @@
#import "WebDeviceOrientationProvider.h"
#import "WebViewInternal.h"
#import <objc/objc-runtime.h>
+#import <wtf/ObjcRuntimeExtras.h>
using namespace WebCore;
@@ -70,7 +71,7 @@ id<WebDeviceOrientationProvider> WebDeviceOrientationClient::getProvider() const
if (!m_provider) {
m_provider = [m_webView _deviceOrientationProvider];
if ([m_provider respondsToSelector:@selector(setController:)])
- objc_msgSend(m_provider, @selector(setController:), m_controller);
+ wtfObjcMsgSend<void>(m_provider, @selector(setController:), m_controller);
}
return m_provider;
}
diff --git a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm b/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
index 6497c95ee..615eb51a9 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebEditorClient.mm
@@ -60,7 +60,6 @@
#import <WebCore/KeyboardEvent.h>
#import <WebCore/LegacyWebArchive.h>
#import <WebCore/PlatformKeyboardEvent.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/RunLoop.h>
#import <WebCore/SpellChecker.h>
#import <WebCore/UndoStep.h>
@@ -69,6 +68,7 @@
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
#import <wtf/PassRefPtr.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm b/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
index fd14bc00a..5b68a1f5f 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebFrameLoaderClient.mm
@@ -106,7 +106,6 @@
#import <WebCore/MIMETypeRegistry.h>
#import <WebCore/MouseEvent.h>
#import <WebCore/Page.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/PluginViewBase.h>
#import <WebCore/ResourceError.h>
#import <WebCore/ResourceHandle.h>
@@ -123,6 +122,7 @@
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
#import <wtf/PassRefPtr.h>
+#import <wtf/text/WTFString.h>
#if ENABLE(PLUGIN_PROXY_FOR_VIDEO)
#import <WebCore/HTMLMediaElement.h>
@@ -346,8 +346,13 @@ void WebFrameLoaderClient::dispatchWillSendRequest(DocumentLoader* loader, unsig
if (redirectResponse.isNull())
static_cast<WebDocumentLoaderMac*>(loader)->increaseLoadCount(identifier);
+ NSURLRequest *currentURLRequest = request.nsURLRequest();
+ NSURLRequest *newURLRequest = currentURLRequest;
if (implementations->willSendRequestFunc)
- request = (NSURLRequest *)CallResourceLoadDelegate(implementations->willSendRequestFunc, webView, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], request.nsURLRequest(), redirectResponse.nsURLResponse(), dataSource(loader));
+ newURLRequest = (NSURLRequest *)CallResourceLoadDelegate(implementations->willSendRequestFunc, webView, @selector(webView:resource:willSendRequest:redirectResponse:fromDataSource:), [webView _objectForIdentifier:identifier], currentURLRequest, redirectResponse.nsURLResponse(), dataSource(loader));
+
+ if (newURLRequest != currentURLRequest)
+ request = newURLRequest;
}
bool WebFrameLoaderClient::shouldUseCredentialStorage(DocumentLoader* loader, unsigned long identifier)
@@ -1327,7 +1332,7 @@ NSDictionary *WebFrameLoaderClient::actionDictionary(const NavigationAction& act
if (const MouseEvent* mouseEvent = findMouseEvent(event)) {
WebElementDictionary *element = [[WebElementDictionary alloc]
- initWithHitTestResult:core(m_webFrame.get())->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation(), false)];
+ initWithHitTestResult:core(m_webFrame.get())->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation())];
[result setObject:element forKey:WebActionElementKey];
[element release];
diff --git a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm b/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
index 8214d0298..db0c77ee1 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm
@@ -29,7 +29,7 @@
#import "WebIconDatabaseClient.h"
#import "WebIconDatabaseInternal.h"
-#import <WebCore/PlatformString.h>
+#import <wtf/text/WTFString.h>
#if ENABLE(ICONDATABASE)
diff --git a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h b/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
index 9495958e9..80693343d 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h
@@ -29,12 +29,12 @@
#import <WebCore/InspectorClient.h>
#import <WebCore/InspectorFrontendChannel.h>
#import <WebCore/InspectorFrontendClientLocal.h>
-#import <WebCore/PlatformString.h>
#import <wtf/Forward.h>
#import <wtf/HashMap.h>
#import <wtf/RetainPtr.h>
#import <wtf/text/StringHash.h>
+#import <wtf/text/WTFString.h>
#ifdef __OBJC__
@class WebInspectorWindowController;
@@ -69,7 +69,7 @@ public:
virtual void highlight() OVERRIDE;
virtual void hideHighlight() OVERRIDE;
- virtual bool sendMessageToFrontend(const WTF::String&) OVERRIDE;
+ virtual bool sendMessageToFrontend(const String&) OVERRIDE;
bool inspectorStartsAttached();
void setInspectorStartsAttached(bool);
@@ -77,7 +77,7 @@ public:
void releaseFrontend();
private:
- WTF::PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> createFrontendSettings();
+ PassOwnPtr<WebCore::InspectorFrontendClientLocal::Settings> createFrontendSettings();
WebView *m_webView;
RetainPtr<WebNodeHighlighter> m_highlighter;
@@ -88,12 +88,12 @@ private:
class WebInspectorFrontendClient : public WebCore::InspectorFrontendClientLocal {
public:
- WebInspectorFrontendClient(WebView*, WebInspectorWindowController*, WebCore::InspectorController*, WebCore::Page*, WTF::PassOwnPtr<Settings>);
+ WebInspectorFrontendClient(WebView*, WebInspectorWindowController*, WebCore::InspectorController*, WebCore::Page*, PassOwnPtr<Settings>);
virtual void frontendLoaded();
- virtual WTF::String localizedStringsURL();
- virtual WTF::String hiddenPanels();
+ virtual String localizedStringsURL();
+ virtual String hiddenPanels();
virtual void bringToFront();
virtual void closeWindow();
@@ -103,12 +103,12 @@ public:
virtual void detachWindow();
virtual void setAttachedWindowHeight(unsigned height);
- virtual void inspectedURLChanged(const WTF::String& newURL);
+ virtual void inspectedURLChanged(const String& newURL);
private:
void updateWindowTitle() const;
WebView* m_inspectedWebView;
RetainPtr<WebInspectorWindowController> m_windowController;
- WTF::String m_inspectedURL;
+ String m_inspectedURL;
};
diff --git a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
index 94535d361..d6949ea2d 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
+++ b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.h
@@ -48,6 +48,11 @@ public:
WebNotificationClient(WebView *);
WebView *webView() { return m_webView; }
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ // For testing purposes.
+ uint64_t notificationIDForTesting(WebCore::Notification*);
+#endif
+
private:
virtual bool show(WebCore::Notification*) OVERRIDE;
virtual void cancel(WebCore::Notification*) OVERRIDE;
diff --git a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
index e2a05c6a8..84a9d6acf 100644
--- a/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
+++ b/Source/WebKit/mac/WebCoreSupport/WebNotificationClient.mm
@@ -160,9 +160,6 @@ void WebNotificationClient::notificationObjectDestroyed(Notification* notificati
void WebNotificationClient::notificationControllerDestroyed()
{
-#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- [m_webView _notificationControllerDestroyed];
-#endif
delete this;
}
@@ -230,6 +227,11 @@ NotificationClient::Permission WebNotificationClient::checkPermission(ScriptExec
}
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+uint64_t WebNotificationClient::notificationIDForTesting(WebCore::Notification* notification)
+{
+ return [m_notificationMap.get(notification).get() notificationID];
+}
+
@implementation WebNotificationPolicyListener
#if ENABLE(NOTIFICATIONS)
diff --git a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
index 15f6dffa2..8470f5f2b 100644
--- a/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
+++ b/Source/WebKit/mac/WebView/WebDelegateImplementationCaching.mm
@@ -33,6 +33,7 @@
#import "WebView.h"
#import "WebViewData.h"
#import <objc/objc-runtime.h>
+#import <wtf/ObjcRuntimeExtras.h>
@implementation WebView (WebDelegateImplementationCaching)
@@ -84,7 +85,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector)
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self);
+ return wtfObjcMsgSend<id>(delegate, selector, self);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -96,7 +97,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -108,7 +109,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, NSRect r
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return reinterpret_cast<id (*)(id, SEL, WebView *, NSRect)>(objc_msgSend)(delegate, selector, self, rect);
+ return wtfObjcMsgSend<id>(delegate, selector, self, rect);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -120,7 +121,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object1, object2);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -132,7 +133,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object, boolean);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object, boolean);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -144,7 +145,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object1, object2, object3);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object1, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -156,7 +157,7 @@ static inline id CallDelegate(WebView *self, id delegate, SEL selector, id objec
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, self, object, integer);
+ return wtfObjcMsgSend<id>(delegate, selector, self, object, integer);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -180,7 +181,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *)>(objc_msgSend)(delegate, selector, self);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -192,7 +193,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id)>(objc_msgSend)(delegate, selector, self, object);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -204,7 +205,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, BOOL)>(objc_msgSend)(delegate, selector, self, object, boolean);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object, boolean);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -216,7 +217,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, BOOL, id)>(objc_msgSend)(delegate, selector, self, object, boolean, object2);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object, boolean, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -228,7 +229,7 @@ static inline BOOL CallDelegateReturningBoolean(BOOL result, WebView *self, id d
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, id)>(objc_msgSend)(delegate, selector, self, object1, object2);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -240,7 +241,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self);
+ return wtfCallIMP<id>(implementation, delegate, selector, self);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -252,7 +253,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -264,7 +265,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -276,7 +277,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -288,7 +289,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2, object3, object4);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, object3, object4);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -300,7 +301,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -312,7 +313,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer1, integer2, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer1, integer2, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -324,7 +325,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, boolean, integer1, integer2, object2);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, boolean, integer1, integer2, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -336,7 +337,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, object2, integer, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, object2, integer, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -348,7 +349,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer1, object2, integer2, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer1, object2, integer2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -360,7 +361,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, integer, object2, object3, object4);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, integer, object2, object3, object4);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -372,7 +373,7 @@ static inline id CallDelegate(IMP implementation, WebView *self, id delegate, SE
if (!delegate)
return nil;
@try {
- return implementation(delegate, selector, self, object1, interval, object2, object3);
+ return wtfCallIMP<id>(implementation, delegate, selector, self, object1, interval, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -502,7 +503,7 @@ id CallResourceLoadDelegate(IMP implementation, WebView *self, SEL selector, id
BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1)
{
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id)>(objc_msgSend)(self->_private->resourceProgressDelegate, selector, self, object1);
+ return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -512,7 +513,7 @@ BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, W
BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1, id object2)
{
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, id)>(objc_msgSend)(self->_private->resourceProgressDelegate, selector, self, object1, object2);
+ return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -522,7 +523,7 @@ BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, W
BOOL CallResourceLoadDelegateReturningBoolean(BOOL result, IMP implementation, WebView *self, SEL selector, id object1, id object2, id object3)
{
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, WebView *, id, id, id)>(objc_msgSend)(self->_private->resourceProgressDelegate, selector, self, object1, object2, object3);
+ return wtfObjcMsgSend<BOOL>(self->_private->resourceProgressDelegate, selector, self, object1, object2, object3);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -577,7 +578,7 @@ id CallFormDelegate(WebView *self, SEL selector, id object1, id object2)
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, object1, object2);
+ return wtfObjcMsgSend<id>(delegate, selector, object1, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -590,7 +591,7 @@ id CallFormDelegate(WebView *self, SEL selector, id object1, id object2, id obje
if (!delegate || ![delegate respondsToSelector:selector])
return nil;
@try {
- return objc_msgSend(delegate, selector, object1, object2, object3, object4, object5);
+ return wtfObjcMsgSend<id>(delegate, selector, object1, object2, object3, object4, object5);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
@@ -603,7 +604,7 @@ BOOL CallFormDelegateReturningBoolean(BOOL result, WebView *self, SEL selector,
if (!delegate || ![delegate respondsToSelector:selector])
return result;
@try {
- return reinterpret_cast<BOOL (*)(id, SEL, id, SEL, id)>(objc_msgSend)(delegate, selector, object1, selectorArg, object2);
+ return wtfObjcMsgSend<BOOL>(delegate, selector, object1, selectorArg, object2);
} @catch(id exception) {
ReportDiscardedDelegateException(selector, exception);
}
diff --git a/Source/WebKit/mac/WebView/WebFrame.mm b/Source/WebKit/mac/WebView/WebFrame.mm
index 92f9e0bb6..f91ffd8e5 100644
--- a/Source/WebKit/mac/WebView/WebFrame.mm
+++ b/Source/WebKit/mac/WebView/WebFrame.mm
@@ -598,7 +598,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
JSC::ExecState* exec = _private->coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
JSC::JSLockHolder lock(exec);
- return ustringToString(result.toString(exec)->value(exec));
+ return result.toWTFString(exec);
}
- (NSRect)_caretRectAtPosition:(const Position&)pos affinity:(NSSelectionAffinity)affinity
@@ -1124,7 +1124,7 @@ static inline WebDataSource *dataSource(DocumentLoader* loader)
JSC::ExecState* exec = anyWorldGlobalObject->globalExec();
JSC::JSLockHolder lock(exec);
- return ustringToString(result.toString(exec)->value(exec));
+ return result.toWTFString(exec);
}
- (JSGlobalContextRef)_globalContextForScriptWorld:(WebScriptWorld *)world
diff --git a/Source/WebKit/mac/WebView/WebHTMLView.mm b/Source/WebKit/mac/WebView/WebHTMLView.mm
index 505db5302..964995f9c 100644
--- a/Source/WebKit/mac/WebView/WebHTMLView.mm
+++ b/Source/WebKit/mac/WebView/WebHTMLView.mm
@@ -124,8 +124,10 @@
#import <WebKitSystemInterface.h>
#import <dlfcn.h>
#import <limits>
+#import <objc/objc-runtime.h>
#import <runtime/InitializeThreading.h>
#import <wtf/MainThread.h>
+#import <wtf/ObjcRuntimeExtras.h>
#if USE(ACCELERATED_COMPOSITING)
#import <QuartzCore/QuartzCore.h>
@@ -262,7 +264,7 @@ static IMP oldSetCursorForMouseLocationIMP;
static void setCursor(NSWindow *self, SEL cmd, NSPoint point)
{
if (needsCursorRectsSupportAtPoint(self, point))
- oldSetCursorForMouseLocationIMP(self, cmd, point);
+ wtfCallIMP<id>(oldSetCursorForMouseLocationIMP, self, cmd, point);
}
@@ -296,7 +298,7 @@ static IMP oldSetNeedsDisplayInRectIMP;
static void setNeedsDisplayInRect(NSView *self, SEL cmd, NSRect invalidRect)
{
if (![self _drawnByAncestor]) {
- oldSetNeedsDisplayInRectIMP(self, cmd, invalidRect);
+ wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
return;
}
@@ -306,14 +308,14 @@ static void setNeedsDisplayInRect(NSView *self, SEL cmd, NSRect invalidRect)
enclosingWebFrameView = (WebFrameView *)[enclosingWebFrameView superview];
if (!enclosingWebFrameView) {
- oldSetNeedsDisplayInRectIMP(self, cmd, invalidRect);
+ wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
return;
}
Frame* coreFrame = core([enclosingWebFrameView webFrame]);
FrameView* frameView = coreFrame ? coreFrame->view() : 0;
if (!frameView || !frameView->isEnclosedInCompositingLayer()) {
- oldSetNeedsDisplayInRectIMP(self, cmd, invalidRect);
+ wtfCallIMP<id>(oldSetNeedsDisplayInRectIMP, self, cmd, invalidRect);
return;
}
@@ -6204,7 +6206,8 @@ static void extractUnderlines(NSAttributedString *string, Vector<CompositionUnde
Frame* coreFrame = core([self _frame]);
if (!coreFrame)
return nil;
- return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), allow)] autorelease];
+ HitTestRequest::HitTestRequestType hitType = HitTestRequest::ReadOnly | HitTestRequest::Active | (allow ? HitTestRequest::AllowShadowContent : 0);
+ return [[[WebElementDictionary alloc] initWithHitTestResult:coreFrame->eventHandler()->hitTestResultAtPoint(IntPoint(point), hitType)] autorelease];
}
- (NSUInteger)countMatchesForText:(NSString *)string inDOMRange:(DOMRange *)range options:(WebFindOptions)options limit:(NSUInteger)limit markMatches:(BOOL)markMatches
diff --git a/Source/WebKit/mac/WebView/WebNotification.h b/Source/WebKit/mac/WebView/WebNotification.h
index fb9c50e5d..49255690b 100644
--- a/Source/WebKit/mac/WebView/WebNotification.h
+++ b/Source/WebKit/mac/WebView/WebNotification.h
@@ -37,6 +37,7 @@
- (NSString *)title;
- (NSString *)body;
- (NSString *)tag;
+- (NSString *)iconURL;
- (WebSecurityOrigin *)origin;
- (uint64_t)notificationID;
diff --git a/Source/WebKit/mac/WebView/WebNotification.mm b/Source/WebKit/mac/WebView/WebNotification.mm
index 6a123f6ee..2b60bfe69 100644
--- a/Source/WebKit/mac/WebView/WebNotification.mm
+++ b/Source/WebKit/mac/WebView/WebNotification.mm
@@ -84,7 +84,6 @@ Notification* core(WebNotification *notification)
- (NSString *)title
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return core(self)->title();
#else
return nil;
@@ -94,7 +93,6 @@ Notification* core(WebNotification *notification)
- (NSString *)body
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return core(self)->body();
#else
return nil;
@@ -104,17 +102,24 @@ Notification* core(WebNotification *notification)
- (NSString *)tag
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return core(self)->tag();
#else
return nil;
#endif
}
+- (NSString *)iconURL
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ return core(self)->iconURL();
+#else
+ return nil;
+#endif
+}
+
- (WebSecurityOrigin *)origin
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return [[[WebSecurityOrigin alloc] _initWithWebCoreSecurityOrigin:core(self)->scriptExecutionContext()->securityOrigin()] autorelease];
#else
return nil;
@@ -124,7 +129,6 @@ Notification* core(WebNotification *notification)
- (uint64_t)notificationID
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
return _private->_notificationID;
#else
return 0;
@@ -134,7 +138,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchShowEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchShowEvent();
#endif
}
@@ -142,7 +145,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchCloseEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchCloseEvent();
#endif
}
@@ -150,7 +152,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchClickEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchClickEvent();
#endif
}
@@ -158,7 +159,6 @@ Notification* core(WebNotification *notification)
- (void)dispatchErrorEvent
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
- ASSERT(core(self));
core(self)->dispatchErrorEvent();
#endif
}
diff --git a/Source/WebKit/mac/WebView/WebRenderLayer.mm b/Source/WebKit/mac/WebView/WebRenderLayer.mm
index c28264365..646dc1d83 100644
--- a/Source/WebKit/mac/WebView/WebRenderLayer.mm
+++ b/Source/WebKit/mac/WebView/WebRenderLayer.mm
@@ -28,15 +28,14 @@
#import "WebFrameInternal.h"
#import <WebCore/Frame.h>
#import <WebCore/FrameLoaderClient.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/RenderLayer.h>
#import <WebCore/RenderLayerBacking.h>
#import <WebCore/RenderView.h>
#import <WebCore/StyledElement.h>
+#import <wtf/text/WTFString.h>
using namespace WebCore;
-
@interface WebRenderLayer(Private)
- (id)initWithRenderLayer:(RenderLayer *)layer;
@@ -59,13 +58,13 @@ using namespace WebCore;
if (node->hasClass()) {
StyledElement* styledElement = static_cast<StyledElement*>(node);
- String classes;
+ StringBuilder classes;
for (size_t i = 0; i < styledElement->classNames().size(); ++i) {
if (i > 0)
- classes += " ";
- classes += styledElement->classNames()[i];
+ classes.append(' ');
+ classes.append(styledElement->classNames()[i]);
}
- name = [name stringByAppendingFormat:@" class=\"%@\"", (NSString *)classes];
+ name = [name stringByAppendingFormat:@" class=\"%@\"", (NSString *)classes.toString()];
}
}
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
index 50b84be24..6cea5a984 100644
--- a/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
+++ b/Source/WebKit/mac/WebView/WebScriptDebugDelegate.mm
@@ -175,18 +175,18 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
return [NSArray array];
- ScopeChainNode* scopeChain = _private->debuggerCallFrame->scopeChain();
- JSLockHolder lock(scopeChain->globalData);
- if (!scopeChain->next) // global frame
+ JSScope* scope = _private->debuggerCallFrame->scope();
+ JSLockHolder lock(scope->globalData());
+ if (!scope->next()) // global frame
return [NSArray arrayWithObject:_private->globalObject];
NSMutableArray *scopes = [[NSMutableArray alloc] init];
- ScopeChainIterator end = scopeChain->end();
- for (ScopeChainIterator it = scopeChain->begin(); it != end; ++it) {
- JSObject* object = it->get();
+ ScopeChainIterator end = scope->end();
+ for (ScopeChainIterator it = scope->begin(); it != end; ++it) {
+ JSObject* object = it.get();
if (object->isActivationObject())
- object = DebuggerActivation::create(*scopeChain->globalData, object);
+ object = DebuggerActivation::create(*scope->globalData(), object);
[scopes addObject:[self _convertValueToObjcValue:object]];
}
@@ -203,8 +203,8 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
if (!_private->debuggerCallFrame)
return nil;
- const UString* functionName = _private->debuggerCallFrame->functionName();
- return functionName ? toNSString(*functionName) : nil;
+ const String* functionName = _private->debuggerCallFrame->functionName();
+ return functionName ? nsStringNilIfEmpty(*functionName) : nil;
}
// Returns the pending exception for this frame (nil if none).
@@ -242,14 +242,14 @@ NSString * const WebScriptErrorLineNumberKey = @"WebScriptErrorLineNumber";
DynamicGlobalObjectScope globalObjectScope(globalObject->globalData(), globalObject);
JSValue exception;
- JSValue result = evaluateInGlobalCallFrame(stringToUString(script), exception, globalObject);
+ JSValue result = evaluateInGlobalCallFrame(script, exception, globalObject);
if (exception)
return [self _convertValueToObjcValue:exception];
return result ? [self _convertValueToObjcValue:result] : nil;
}
JSValue exception;
- JSValue result = _private->debuggerCallFrame->evaluate(stringToUString(script), exception);
+ JSValue result = _private->debuggerCallFrame->evaluate(script, exception);
if (exception)
return [self _convertValueToObjcValue:exception];
return result ? [self _convertValueToObjcValue:result] : nil;
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.h b/Source/WebKit/mac/WebView/WebScriptDebugger.h
index b551f7dc8..c7da8fe1f 100644
--- a/Source/WebKit/mac/WebView/WebScriptDebugger.h
+++ b/Source/WebKit/mac/WebView/WebScriptDebugger.h
@@ -34,26 +34,27 @@
#include <wtf/RetainPtr.h>
+namespace WTF {
+class String;
+}
+
namespace JSC {
class DebuggerCallFrame;
class ExecState;
class JSGlobalObject;
class JSObject;
class ArgList;
- class UString;
}
@class WebScriptCallFrame;
-NSString *toNSString(const JSC::UString&);
-
class WebScriptDebugger : public JSC::Debugger {
public:
WebScriptDebugger(JSC::JSGlobalObject*);
void initGlobalCallFrame(const JSC::DebuggerCallFrame&);
- virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const JSC::UString& errorMsg);
+ virtual void sourceParsed(JSC::ExecState*, JSC::SourceProvider*, int errorLine, const WTF::String& errorMsg);
virtual void callEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
virtual void atStatement(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
virtual void returnEvent(const JSC::DebuggerCallFrame&, intptr_t sourceID, int lineNumber, int columnNumber);
diff --git a/Source/WebKit/mac/WebView/WebScriptDebugger.mm b/Source/WebKit/mac/WebView/WebScriptDebugger.mm
index 4ffe725b8..13c4f7cec 100644
--- a/Source/WebKit/mac/WebView/WebScriptDebugger.mm
+++ b/Source/WebKit/mac/WebView/WebScriptDebugger.mm
@@ -51,13 +51,6 @@ using namespace WebCore;
- (void)_clearDebuggerCallFrame;
@end
-NSString *toNSString(const UString& s)
-{
- if (s.isEmpty())
- return nil;
- return [NSString stringWithCharacters:reinterpret_cast<const unichar*>(s.characters()) length:s.length()];
-}
-
static NSString *toNSString(SourceProvider* s)
{
if (!s->length())
@@ -65,12 +58,12 @@ static NSString *toNSString(SourceProvider* s)
return [NSString stringWithCharacters:s->data()->characters() length:s->length()];
}
-// convert UString to NSURL
-static NSURL *toNSURL(const UString& s)
+// Convert String to NSURL.
+static NSURL *toNSURL(const String& s)
{
if (s.isEmpty())
return nil;
- return KURL(ParsedURLString, ustringToString(s));
+ return KURL(ParsedURLString, s);
}
static WebFrame *toWebFrame(JSGlobalObject* globalObject)
@@ -105,7 +98,7 @@ void WebScriptDebugger::initGlobalCallFrame(const DebuggerCallFrame& debuggerCal
}
// callbacks - relay to delegate
-void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const UString& errorMsg)
+void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProvider, int errorLine, const String& errorMsg)
{
if (m_callingDelegate)
return;
@@ -128,7 +121,7 @@ void WebScriptDebugger::sourceParsed(ExecState* exec, SourceProvider* sourceProv
CallScriptDebugDelegate(implementations->didParseSourceFunc, webView, @selector(webView:didParseSource:fromURL:sourceId:forWebFrame:), nsSource, [nsURL absoluteString], sourceProvider->asID(), webFrame);
}
} else {
- NSString* nsErrorMessage = toNSString(errorMsg);
+ NSString* nsErrorMessage = nsStringNilIfEmpty(errorMsg);
NSDictionary *info = [[NSDictionary alloc] initWithObjectsAndKeys:nsErrorMessage, WebScriptErrorDescriptionKey, [NSNumber numberWithUnsignedInt:errorLine], WebScriptErrorLineNumberKey, nil];
NSError *error = [[NSError alloc] initWithDomain:WebScriptErrorDomain code:WebScriptGeneralErrorCode userInfo:info];
diff --git a/Source/WebKit/mac/WebView/WebView.mm b/Source/WebKit/mac/WebView/WebView.mm
index 2bfaf2481..7b8412cfe 100644
--- a/Source/WebKit/mac/WebView/WebView.mm
+++ b/Source/WebKit/mac/WebView/WebView.mm
@@ -143,10 +143,13 @@
#import <WebCore/JSDocument.h>
#import <WebCore/JSElement.h>
#import <WebCore/JSNodeList.h>
+#import <WebCore/JSNotification.h>
#import <WebCore/Logging.h>
#import <WebCore/MemoryPressureHandler.h>
#import <WebCore/MIMETypeRegistry.h>
#import <WebCore/NodeList.h>
+#import <WebCore/Notification.h>
+#import <WebCore/NotificationController.h>
#import <WebCore/Page.h>
#import <WebCore/PageCache.h>
#import <WebCore/PageGroup.h>
@@ -1137,6 +1140,8 @@ static bool fastDocumentTeardownEnabled()
[self _clearGlibLoopObserver];
#endif
+ [[self _notificationProvider] unregisterWebView:self];
+
[[NSDistributedNotificationCenter defaultCenter] removeObserver:self];
[[NSNotificationCenter defaultCenter] removeObserver:self];
@@ -1782,7 +1787,7 @@ static inline IMP getMethod(id o, SEL s)
HTMLNames::init(); // this method is used for importing bookmarks at startup, so HTMLNames are likely to be uninitialized yet
RefPtr<TextResourceDecoder> decoder = TextResourceDecoder::create("text/html"); // bookmark files are HTML
String result = decoder->decode(static_cast<const char*>([data bytes]), [data length]);
- result += decoder->flush();
+ result.append(decoder->flush());
return result;
}
@@ -4785,7 +4790,7 @@ static NSAppleEventDescriptor* aeDescFromJSValue(ExecState* exec, JSValue jsValu
if (jsValue.isBoolean())
return [NSAppleEventDescriptor descriptorWithBoolean:jsValue.asBoolean()];
if (jsValue.isString())
- return [NSAppleEventDescriptor descriptorWithString:ustringToString(jsValue.getString(exec))];
+ return [NSAppleEventDescriptor descriptorWithString:jsValue.getString(exec)];
if (jsValue.isNumber()) {
double value = jsValue.asNumber();
int intValue = value;
@@ -6514,17 +6519,12 @@ static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity
@implementation WebView (WebViewNotification)
- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider
{
- if (_private) {
+ if (_private && !_private->_notificationProvider) {
_private->_notificationProvider = notificationProvider;
[_private->_notificationProvider registerWebView:self];
}
}
-- (void)_notificationControllerDestroyed
-{
- [[self _notificationProvider] unregisterWebView:self];
-}
-
- (id<WebNotificationProvider>)_notificationProvider
{
if (_private)
@@ -6546,6 +6546,17 @@ static void glibContextIterationCallback(CFRunLoopObserverRef, CFRunLoopActivity
{
[[self _notificationProvider] webView:self didCloseNotifications:notificationIDs];
}
+
+- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ JSContextRef context = [[self mainFrame] globalContext];
+ WebCore::Notification* notification = toNotification(toJS(toJS(context), jsNotification));
+ return static_cast<WebNotificationClient*>(NotificationController::clientFrom(_private->page))->notificationIDForTesting(notification);
+#else
+ return 0;
+#endif
+}
@end
@implementation WebView (WebViewPrivateStyleInfo)
diff --git a/Source/WebKit/mac/WebView/WebViewData.h b/Source/WebKit/mac/WebView/WebViewData.h
index 04d7e057a..ade30f1cc 100644
--- a/Source/WebKit/mac/WebView/WebViewData.h
+++ b/Source/WebKit/mac/WebView/WebViewData.h
@@ -32,11 +32,11 @@
#import <WebCore/AlternativeTextClient.h>
#import <WebCore/LayerFlushScheduler.h>
#import <WebCore/LayerFlushSchedulerClient.h>
-#import <WebCore/PlatformString.h>
#import <WebCore/WebCoreKeyboardUIMode.h>
#import <wtf/HashMap.h>
#import <wtf/PassOwnPtr.h>
#import <wtf/RetainPtr.h>
+#import <wtf/text/WTFString.h>
namespace WebCore {
class AlternativeTextUIController;
diff --git a/Source/WebKit/mac/WebView/WebViewPrivate.h b/Source/WebKit/mac/WebView/WebViewPrivate.h
index c20daabfb..826474e41 100644
--- a/Source/WebKit/mac/WebView/WebViewPrivate.h
+++ b/Source/WebKit/mac/WebView/WebViewPrivate.h
@@ -734,11 +734,12 @@ Could be worth adding to the API.
@interface WebView (WebViewNotification)
- (void)_setNotificationProvider:(id<WebNotificationProvider>)notificationProvider;
- (id<WebNotificationProvider>)_notificationProvider;
-- (void)_notificationControllerDestroyed;
- (void)_notificationDidShow:(uint64_t)notificationID;
- (void)_notificationDidClick:(uint64_t)notificationID;
- (void)_notificationsDidClose:(NSArray *)notificationIDs;
+
+- (uint64_t)_notificationIDForTesting:(JSValueRef)jsNotification;
@end
@interface WebView (WebViewPrivateStyleInfo)
diff --git a/Source/WebKit/qt/Api/qwebdatabase_p.h b/Source/WebKit/qt/Api/qwebdatabase_p.h
index 298470442..80cb804a6 100644
--- a/Source/WebKit/qt/Api/qwebdatabase_p.h
+++ b/Source/WebKit/qt/Api/qwebdatabase_p.h
@@ -22,9 +22,9 @@
#include <QString>
#include <QtCore/qshareddata.h>
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
class QWebDatabasePrivate : public QSharedData {
diff --git a/Source/WebKit/qt/Api/qwebelement.cpp b/Source/WebKit/qt/Api/qwebelement.cpp
index a208cbc4e..298f6cdc3 100644
--- a/Source/WebKit/qt/Api/qwebelement.cpp
+++ b/Source/WebKit/qt/Api/qwebelement.cpp
@@ -20,6 +20,7 @@
#include "config.h"
#include "qwebelement.h"
+#include "APICast.h"
#include "qwebelement_p.h"
#include "CSSComputedStyleDeclaration.h"
#include "CSSParser.h"
@@ -545,7 +546,7 @@ QRect QWebElement::geometry() const
{
if (!m_element)
return QRect();
- return m_element->getPixelSnappedRect();
+ return m_element->pixelSnappedBoundingBox();
}
/*!
@@ -750,16 +751,16 @@ QVariant QWebElement::evaluateJavaScript(const QString& scriptSource)
if (!setupScriptContext(m_element, thisValue, state, scriptController))
return QVariant();
- JSC::ScopeChainNode* scopeChain = state->dynamicGlobalObject()->globalScopeChain();
- JSC::UString script(reinterpret_cast_ptr<const UChar*>(scriptSource.data()), scriptSource.length());
+ String script(reinterpret_cast_ptr<const UChar*>(scriptSource.data()), scriptSource.length());
JSC::JSValue evaluationException;
- JSC::JSValue evaluationResult = JSC::evaluate(state, scopeChain, JSC::makeSource(script), thisValue, &evaluationException);
+ JSC::JSValue evaluationResult = JSC::evaluate(state, JSC::makeSource(script), thisValue, &evaluationException);
if (evaluationException)
return QVariant();
int distance = 0;
- return JSC::Bindings::convertValueToQVariant(state, evaluationResult, QMetaType::Void, &distance);
+ JSValueRef* ignoredException = 0;
+ return JSC::Bindings::convertValueToQVariant(toRef(state), toRef(state, evaluationResult), QMetaType::Void, &distance, ignoredException);
}
/*!
@@ -1453,7 +1454,7 @@ void QWebElement::render(QPainter* painter, const QRect& clip)
view->updateLayoutAndStyleIfNeededRecursive();
- IntRect rect = e->getPixelSnappedRect();
+ IntRect rect = e->pixelSnappedBoundingBox();
if (rect.size().isEmpty())
return;
@@ -2046,7 +2047,7 @@ Element* QtWebElementRuntime::get(const QWebElement& element)
return element.m_element;
}
-static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *distance, HashSet<JSC::JSObject*>* visitedObjects)
+static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *distance, HashSet<JSObjectRef>* visitedObjects)
{
Element* element = 0;
QVariant ret;
@@ -2055,7 +2056,7 @@ static QVariant convertJSValueToWebElementVariant(JSC::JSObject* object, int *di
*distance = 0;
// Allow other objects to reach this one. This won't cause our algorithm to
// loop since when we find an Element we do not recurse.
- visitedObjects->remove(object);
+ visitedObjects->remove(toRef(object));
} else if (object && object->inherits(&JSDocument::s_info)) {
// To support TestRunnerQt::nodesFromRect(), used in DRT, we do an implicit
// conversion from 'document' to the QWebElement representing the 'document.documentElement'.
diff --git a/Source/WebKit/qt/Api/qwebframe.cpp b/Source/WebKit/qt/Api/qwebframe.cpp
index 22e47c55d..8ac18f8e3 100644
--- a/Source/WebKit/qt/Api/qwebframe.cpp
+++ b/Source/WebKit/qt/Api/qwebframe.cpp
@@ -1406,7 +1406,7 @@ QWebHitTestResult QWebFrame::hitTestContent(const QPoint &pos) const
if (!d->frame->view() || !d->frame->contentRenderer())
return QWebHitTestResult();
- HitTestResult result = d->frame->eventHandler()->hitTestResultAtPoint(d->frame->view()->windowToContents(pos), /*allowShadowContent*/ false, /*ignoreClipping*/ true);
+ HitTestResult result = d->frame->eventHandler()->hitTestResultAtPoint(d->frame->view()->windowToContents(pos), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
if (result.scrollbar())
return QWebHitTestResult();
@@ -1534,8 +1534,9 @@ QVariant QWebFrame::evaluateJavaScript(const QString& scriptSource)
if (proxy) {
int distance = 0;
JSC::JSValue v = d->frame->script()->executeScript(ScriptSourceCode(scriptSource)).jsValue();
-
- rc = JSC::Bindings::convertValueToQVariant(proxy->globalObject(mainThreadNormalWorld())->globalExec(), v, QMetaType::Void, &distance);
+ JSC::ExecState* exec = proxy->globalObject(mainThreadNormalWorld())->globalExec();
+ JSValueRef* ignoredException = 0;
+ rc = JSC::Bindings::convertValueToQVariant(toRef(exec), toRef(exec, v), QMetaType::Void, &distance, ignoredException);
}
return rc;
}
diff --git a/Source/WebKit/qt/Api/qwebframe_p.h b/Source/WebKit/qt/Api/qwebframe_p.h
index 3201aaa57..d6779f2bc 100644
--- a/Source/WebKit/qt/Api/qwebframe_p.h
+++ b/Source/WebKit/qt/Api/qwebframe_p.h
@@ -27,7 +27,6 @@
#include "EventHandler.h"
#include "GraphicsContext.h"
#include "KURL.h"
-#include "PlatformString.h"
#if ENABLE(ORIENTATION_EVENTS)
#include "qorientationsensor.h"
#endif // ENABLE(ORIENTATION_EVENTS).
@@ -35,6 +34,7 @@
#include "wtf/RefPtr.h"
#include "Frame.h"
#include "ViewportArguments.h"
+#include <wtf/text/WTFString.h>
#if USE(ACCELERATED_COMPOSITING)
#include "texmap/TextureMapper.h"
diff --git a/Source/WebKit/qt/Api/qwebhistory.cpp b/Source/WebKit/qt/Api/qwebhistory.cpp
index 712c28f88..4bf63583b 100644
--- a/Source/WebKit/qt/Api/qwebhistory.cpp
+++ b/Source/WebKit/qt/Api/qwebhistory.cpp
@@ -29,7 +29,7 @@
#include "KURL.h"
#include "Page.h"
#include "PageGroup.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
#include <QSharedData>
#include <QDebug>
diff --git a/Source/WebKit/qt/Api/qwebhistoryinterface.cpp b/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
index 40ff5c99b..305ff6781 100644
--- a/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
+++ b/Source/WebKit/qt/Api/qwebhistoryinterface.cpp
@@ -25,7 +25,7 @@
#include <QCoreApplication>
#include "PageGroup.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
static QWebHistoryInterface* default_interface;
diff --git a/Source/WebKit/qt/Api/qwebpage.cpp b/Source/WebKit/qt/Api/qwebpage.cpp
index 08e86183a..e1c06515b 100644
--- a/Source/WebKit/qt/Api/qwebpage.cpp
+++ b/Source/WebKit/qt/Api/qwebpage.cpp
@@ -757,21 +757,13 @@ void QWebPagePrivate::handleClipboard(QEvent* ev, Qt::MouseButton button)
{
#ifndef QT_NO_CLIPBOARD
if (QApplication::clipboard()->supportsSelection()) {
- bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
- Pasteboard::generalPasteboard()->setSelectionMode(true);
WebCore::Frame* focusFrame = page->focusController()->focusedOrMainFrame();
- if (button == Qt::LeftButton) {
- if (focusFrame && (focusFrame->editor()->canCopy() || focusFrame->editor()->canDHTMLCopy())) {
- Pasteboard::generalPasteboard()->writeSelection(focusFrame->editor()->selectedRange().get(), focusFrame->editor()->canSmartCopyOrDelete(), focusFrame);
- ev->setAccepted(true);
- }
- } else if (button == Qt::MidButton) {
- if (focusFrame && (focusFrame->editor()->canPaste() || focusFrame->editor()->canDHTMLPaste())) {
- focusFrame->editor()->paste();
+ if (button == Qt::MidButton) {
+ if (focusFrame) {
+ focusFrame->editor()->command(AtomicString("PasteGlobalSelection")).execute();
ev->setAccepted(true);
}
}
- Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
}
#endif
}
@@ -808,7 +800,7 @@ void QWebPagePrivate::handleSoftwareInputPanel(Qt::MouseButton button, const QPo
QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
client->ownerWidget()->style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
if (!clickCausedFocus || behavior == QStyle::RSIP_OnMouseClick) {
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos), false);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(pos));
if (result.isContentEditable()) {
QEvent event(QEvent::RequestSoftwareInputPanel);
QApplication::sendEvent(client->ownerWidget(), &event);
@@ -1565,7 +1557,7 @@ IntPoint QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch(const IntPoi
int x = touchPoint.x();
int y = touchPoint.y();
- RefPtr<NodeList> intersectedNodes = document->nodesFromRect(x, y, m_topPadding, m_rightPadding, m_bottomPadding, m_leftPadding, false /*ignoreClipping*/, false /*allowShadowContent*/);
+ RefPtr<NodeList> intersectedNodes = document->nodesFromRect(x, y, m_topPadding, m_rightPadding, m_bottomPadding, m_leftPadding);
if (!intersectedNodes)
return IntPoint();
@@ -1585,7 +1577,7 @@ IntPoint QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch(const IntPoi
if (!currentElement || (!isClickableElement(currentElement, 0) && !isValidFrameOwner(currentElement)))
continue;
- IntRect currentElementBoundingRect = currentElement->getPixelSnappedRect();
+ IntRect currentElementBoundingRect = currentElement->pixelSnappedBoundingBox();
currentElementBoundingRect.intersect(touchRect);
if (currentElementBoundingRect.isEmpty())
@@ -3371,7 +3363,7 @@ void QWebPage::updatePositionDependentActions(const QPoint &pos)
d->createMainFrame();
WebCore::Frame* focusedFrame = d->page->focusController()->focusedOrMainFrame();
- HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos), /*allowShadowContent*/ false);
+ HitTestResult result = focusedFrame->eventHandler()->hitTestResultAtPoint(focusedFrame->view()->windowToContents(pos));
if (result.scrollbar())
d->hitTestResult = QWebHitTestResult();
else
diff --git a/Source/WebKit/qt/Api/qwebpage_p.h b/Source/WebKit/qt/Api/qwebpage_p.h
index ca3aa94ad..a8e373bca 100644
--- a/Source/WebKit/qt/Api/qwebpage_p.h
+++ b/Source/WebKit/qt/Api/qwebpage_p.h
@@ -34,10 +34,10 @@
#include "IntPoint.h"
#include "KURL.h"
-#include "PlatformString.h"
#include <wtf/OwnPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
#include "ViewportArguments.h"
diff --git a/Source/WebKit/qt/Api/qwebsettings.cpp b/Source/WebKit/qt/Api/qwebsettings.cpp
index 741457f47..0f504f817 100644
--- a/Source/WebKit/qt/Api/qwebsettings.cpp
+++ b/Source/WebKit/qt/Api/qwebsettings.cpp
@@ -36,7 +36,6 @@
#include "PageCache.h"
#include "Settings.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "IconDatabase.h"
#include "PluginDatabase.h"
#include "Image.h"
@@ -44,6 +43,7 @@
#include "ApplicationCacheStorage.h"
#include "DatabaseTracker.h"
#include "FileSystem.h"
+#include <wtf/text/WTFString.h>
#include <QApplication>
#include <QStandardPaths>
diff --git a/Source/WebKit/qt/ChangeLog b/Source/WebKit/qt/ChangeLog
index 8c13066b1..1ae43c77a 100644
--- a/Source/WebKit/qt/ChangeLog
+++ b/Source/WebKit/qt/ChangeLog
@@ -1,3 +1,229 @@
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update qwebelement and qwebpage to call pixelSnappedBoundingBox.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::geometry):
+ (QWebElement::render):
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * Api/qwebframe.cpp:
+ (QWebFrame::hitTestContent):
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::handleSoftwareInputPanel):
+ (QWebPagePrivate::TouchAdjuster::findCandidatePointForTouch):
+ (QWebPage::updatePositionDependentActions):
+ * WebCoreSupport/FrameLoaderClientQt.cpp:
+ (WebCore::FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ X11 Global Selection
+ https://bugs.webkit.org/show_bug.cgi?id=88238
+
+ Reviewed by Tony Chang.
+
+ Use new editor command for pasting global selection, and update it using
+ the respondToChangedSelection callback.
+
+ * Api/qwebpage.cpp:
+ (QWebPagePrivate::handleClipboard):
+ * WebCoreSupport/EditorClientQt.cpp:
+ (WebCore::EditorClientQt::respondToChangedSelection):
+ (WebCore::EditorClientQt::supportsGlobalSelection):
+ * WebCoreSupport/EditorClientQt.h:
+ (EditorClientQt):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * Api/qwebdatabase_p.h:
+ * Api/qwebframe_p.h:
+ * Api/qwebhistory.cpp:
+ * Api/qwebhistoryinterface.cpp:
+ * Api/qwebpage_p.h:
+ * Api/qwebsettings.cpp:
+ * WebCoreSupport/ChromeClientQt.h:
+ * WebCoreSupport/InspectorClientQt.cpp:
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld):
+ * WebCoreSupport/DumpRenderTreeSupportQt.h:
+
+2012-09-04 Jon Lee <jonlee@apple.com>
+
+ [Qt] REGRESSION(r127321): It made 3 notification test timeout
+ https://bugs.webkit.org/show_bug.cgi?id=95638
+
+ Reviewed by Csaba Osztrogonác.
+
+ Dispatch show event instead of display after r127321.
+
+ * WebCoreSupport/NotificationPresenterClientQt.cpp:
+ (WebCore::NotificationPresenterClientQt::sendDisplayEvent):
+
+2012-08-31 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Port convertValueToQVariant to use the JSC C API
+ https://bugs.webkit.org/show_bug.cgi?id=94695
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Minor adaptations are needed here to accomodate the changed signature of
+ convertValueToQVariant.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::evaluateJavaScript):
+ (convertJSValueToWebElementVariant):
+ * Api/qwebframe.cpp:
+ (QWebFrame::evaluateJavaScript):
+ * WebCoreSupport/DumpRenderTreeSupportQt.cpp:
+ (convertJSValueToNodeVariant):
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ Mechanical change to update for JSC interface change.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::evaluateJavaScript):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * Api/qwebelement.cpp:
+ (QWebElement::evaluateJavaScript):
+
+2012-08-29 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix doc generation with make docs
+ https://bugs.webkit.org/show_bug.cgi?id=95340
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix doc target, similar to what the other Qt 5 modules are using and comment out the indexes
+ line, because cross-referencing doesn't work right now and the use of the QTDIR environment
+ is wrong, too.
+
+ * docs/docs.pri:
+ * docs/qtwebkit.qdocconf:
+
+2012-08-22 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=93897
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fixed some test expectations.
+
+ * tests/qobjectbridge/tst_qobjectbridge.cpp:
+ (tst_QObjectBridge::objectDeleted): Since runtime methods are real function objects again, we
+ can go back to testing Function.prototype.call, as it was done before r125428.
+ (tst_QObjectBridge::introspectQtMethods_data): Removed tests for the length property.
+ (tst_QObjectBridge::introspectQtMethods): Changed test expectation of the properties of
+ run-time methods back to being non-configurable, as before r125428.
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Api/qwebpage.cpp:
+ (extractContentTypeFromPluginVector):
+ * Api/qwebplugindatabase.cpp:
+ (QWebPluginInfo::mimeTypes):
+ * WebCoreSupport/PlatformStrategiesQt.cpp:
+ (PlatformStrategiesQt::getPluginInfo):
+
2012-08-22 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r126287.
diff --git a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
index 79d43b3f7..27368e7f1 100644
--- a/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
@@ -32,10 +32,10 @@
#include "ChromeClient.h"
#include "FloatRect.h"
#include "KURL.h"
-#include "PlatformString.h"
#include "QtPlatformPlugin.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/RefCounted.h>
+#include <wtf/text/WTFString.h>
QT_BEGIN_NAMESPACE
class QEventLoop;
diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
index 714f560f0..ac1654ec0 100644
--- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.cpp
@@ -166,7 +166,7 @@ WebCore::Node* QtDRTNodeRuntime::get(const QDRTNode& node)
return node.m_node;
}
-static QVariant convertJSValueToNodeVariant(JSC::JSObject* object, int *distance, HashSet<JSC::JSObject*>*)
+static QVariant convertJSValueToNodeVariant(JSC::JSObject* object, int *distance, HashSet<JSObjectRef>*)
{
if (!object || !object->inherits(&JSNode::s_info))
return QVariant();
@@ -386,15 +386,6 @@ void DumpRenderTreeSupportQt::garbageCollectorCollectOnAlternateThread(bool wait
gcController().garbageCollectOnAlternateThreadForDebugging(waitUntilDone);
}
-int DumpRenderTreeSupportQt::numberOfPages(QWebFrame* frame, float width, float height)
-{
- Frame* coreFrame = QWebFramePrivate::core(frame);
- if (!coreFrame)
- return -1;
-
- return PrintContext::numberOfPages(coreFrame, FloatSize(width, height));
-}
-
// Suspend active DOM objects in this frame.
void DumpRenderTreeSupportQt::suspendActiveDOMObjects(QWebFrame* frame)
{
@@ -858,19 +849,6 @@ void DumpRenderTreeSupportQt::evaluateScriptInIsolatedWorld(QWebFrame* frame, in
proxy->executeScriptInWorld(scriptWorld->world(), script, true);
}
-QString DumpRenderTreeSupportQt::pageSizeAndMarginsInPixels(QWebFrame* frame, int pageIndex, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft)
-{
- WebCore::Frame* coreFrame = QWebFramePrivate::core(frame);
- return PrintContext::pageSizeAndMarginsInPixels(coreFrame, pageIndex, width, height,
- marginTop, marginRight, marginBottom, marginLeft);
-}
-
-QString DumpRenderTreeSupportQt::pageProperty(QWebFrame* frame, const QString& propertyName, int pageNumber)
-{
- WebCore::Frame* coreFrame = QWebFramePrivate::core(frame);
- return PrintContext::pageProperty(coreFrame, propertyName.toUtf8().constData(), pageNumber);
-}
-
void DumpRenderTreeSupportQt::addUserStyleSheet(QWebPage* page, const QString& sourceCode)
{
page->handle()->page->group().addUserStyleSheetToWorld(mainThreadNormalWorld(), sourceCode, QUrl(), nullptr, nullptr, WebCore::InjectInAllFrames);
diff --git a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
index 5ed249222..92759acd3 100644
--- a/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/DumpRenderTreeSupportQt.h
@@ -127,7 +127,6 @@ public:
static void clearFrameName(QWebFrame* frame);
static void overwritePluginDirectories();
static int numberOfActiveAnimations(QWebFrame*);
- static int numberOfPages(QWebFrame* frame, float width, float height);
static bool hasDocumentElement(QWebFrame* frame);
static bool elementDoesAutoCompleteForElementWithId(QWebFrame* frame, const QString& elementId);
static void setWindowsBehaviorAsEditingBehavior(QWebPage*);
@@ -179,8 +178,6 @@ public:
static void setCustomPolicyDelegate(bool enabled, bool permissive);
- static QString pageSizeAndMarginsInPixels(QWebFrame* frame, int pageIndex, int width, int height, int marginTop, int marginRight, int marginBottom, int marginLeft);
- static QString pageProperty(QWebFrame* frame, const QString& propertyName, int pageNumber);
static void addUserStyleSheet(QWebPage* page, const QString& sourceCode);
static void removeUserStyleSheets(QWebPage*);
static void simulateDesktopNotificationClick(const QString& title);
diff --git a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
index 166e0063f..a5a1d80d9 100644
--- a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.cpp
@@ -42,6 +42,7 @@
#include "KeyboardEvent.h"
#include "NotImplemented.h"
#include "Page.h"
+#include "Pasteboard.h"
#include "PlatformKeyboardEvent.h"
#include "QWebPageClient.h"
#include "Range.h"
@@ -49,9 +50,11 @@
#include "SpatialNavigation.h"
#include "StylePropertySet.h"
#include "WindowsKeyboardCodes.h"
+#include "qguiapplication.h"
#include "qwebpage.h"
#include "qwebpage_p.h"
+#include <QClipboard>
#include <QUndoStack>
#include <stdio.h>
#include <wtf/OwnPtr.h>
@@ -210,6 +213,13 @@ void EditorClientQt::respondToChangedSelection(Frame* frame)
// selection.formatForDebugger(buffer, sizeof(buffer));
// printf("%s\n", buffer);
+ if (supportsGlobalSelection() && frame->selection()->isRange()) {
+ bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
+ Pasteboard::generalPasteboard()->setSelectionMode(true);
+ Pasteboard::generalPasteboard()->writeSelection(frame->selection()->toNormalizedRange().get(), frame->editor()->canSmartCopyOrDelete(), frame);
+ Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
+ }
+
m_page->d->updateEditorActions();
emit m_page->selectionChanged();
if (!frame->editor()->ignoreCompositionSelectionChange())
@@ -632,6 +642,11 @@ void EditorClientQt::setInputMethodState(bool active)
emit m_page->microFocusChanged();
}
+bool EditorClientQt::supportsGlobalSelection()
+{
+ return qApp->clipboard()->supportsSelection();
+}
+
}
// vim: ts=4 sw=4 et
diff --git a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
index a25795ea0..863c67b71 100644
--- a/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
+++ b/Source/WebKit/qt/WebCoreSupport/EditorClientQt.h
@@ -105,6 +105,8 @@ public:
virtual void setInputMethodState(bool enabled);
virtual TextCheckerClient* textChecker() { return &m_textCheckerClient; }
+ virtual bool supportsGlobalSelection() OVERRIDE;
+
bool isEditing() const;
static bool dumpEditingCallbacks;
diff --git a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index bcf072d65..72a5e0049 100644
--- a/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -1272,7 +1272,7 @@ void FrameLoaderClientQt::dispatchDecidePolicyForNavigationAction(FramePolicyFun
if (event->isMouseEvent()) {
const MouseEvent* mouseEvent = static_cast<const MouseEvent*>(event);
node = QWebFramePrivate::core(m_webFrame)->eventHandler()->hitTestResultAtPoint(
- mouseEvent->absoluteLocation(), false).innerNonSharedNode();
+ mouseEvent->absoluteLocation()).innerNonSharedNode();
break;
}
}
diff --git a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
index 5595cc603..daa593d7e 100644
--- a/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/InspectorClientQt.cpp
@@ -38,7 +38,6 @@
#include "InspectorServerQt.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
#include "ScriptDebugServer.h"
#include "qwebinspector.h"
#include "qwebinspector_p.h"
diff --git a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
index d693c4a95..56ed0b4cb 100644
--- a/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
+++ b/Source/WebKit/qt/WebCoreSupport/NotificationPresenterClientQt.cpp
@@ -384,7 +384,7 @@ void NotificationPresenterClientQt::sendDisplayEvent(NotificationWrapper* wrappe
{
Notification* notification = notificationForWrapper(wrapper);
if (notification)
- sendEvent(notification, "display");
+ sendEvent(notification, "show");
}
diff --git a/Source/WebKit/qt/docs/docs.pri b/Source/WebKit/qt/docs/docs.pri
index 2d9a0941e..b95f924f7 100644
--- a/Source/WebKit/qt/docs/docs.pri
+++ b/Source/WebKit/qt/docs/docs.pri
@@ -1,13 +1,12 @@
-unix {
- QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$${ROOT_BUILD_DIR} $$(QTDIR)/bin/qdoc3
-} else {
- QDOC = $$(QTDIR)\\bin\\qdoc3.exe
-}
+QDOC = $$QT.core.bins/qdoc
-unix {
- docs.commands = $$QDOC $$PWD/qtwebkit.qdocconf
+$$unixstyle {
} else {
- docs.commands = \"$$QDOC $$PWD/qtwebkit.qdocconf\"
+ QDOC = $$replace(QDOC, "qdoc", "qdoc3.exe")
}
+QDOC = SRCDIR=$$PWD/../../.. OUTPUT_DIR=$${ROOT_BUILD_DIR} $$QDOC
+
+docs.commands = $$QDOC $$PWD/qtwebkit.qdocconf
+
QMAKE_EXTRA_TARGETS += docs
diff --git a/Source/WebKit/qt/docs/qtwebkit.qdocconf b/Source/WebKit/qt/docs/qtwebkit.qdocconf
index 1f51ea37e..23d277001 100644
--- a/Source/WebKit/qt/docs/qtwebkit.qdocconf
+++ b/Source/WebKit/qt/docs/qtwebkit.qdocconf
@@ -11,7 +11,7 @@ sources.fileextensions = "*.cpp *.doc *.qdoc *.h"
exampledirs = $SRCDIR/WebKit/qt/docs
imagedirs = $SRCDIR/WebKit/qt/docs
-indexes = $QTDIR/doc/html/qt.index
+#indexes = $QTDIR/doc/html/qt.index
# macros.qdocconf
diff --git a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
index 2ce791d89..13d98af93 100644
--- a/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
+++ b/Source/WebKit/qt/tests/qobjectbridge/tst_qobjectbridge.cpp
@@ -1879,7 +1879,7 @@ void tst_QObjectBridge::objectDeleted()
evalJS("bar.intProperty = 123;");
QCOMPARE(qobj->intProperty(), 123);
qobj->resetQtFunctionInvoked();
- evalJS("bar.myInvokable(bar);");
+ evalJS("bar.myInvokable.call(bar);");
QCOMPARE(qobj->qtFunctionInvoked(), 0);
// do this, to ensure that we cache that it implements call
@@ -2148,15 +2148,15 @@ void tst_QObjectBridge::introspectQtMethods_data()
QTest::addColumn<QStringList>("expectedPropertyNames");
QTest::newRow("myObject.mySignal")
- << "myObject" << "mySignal" << (QStringList() << "connect" << "disconnect" << "length" << "name");
+ << "myObject" << "mySignal" << (QStringList() << "connect" << "disconnect" << "name");
QTest::newRow("myObject.mySlot")
- << "myObject" << "mySlot" << (QStringList() << "connect" << "disconnect" << "length" << "name");
+ << "myObject" << "mySlot" << (QStringList() << "connect" << "disconnect" << "name");
QTest::newRow("myObject.myInvokable")
- << "myObject" << "myInvokable" << (QStringList() << "connect" << "disconnect" << "length" << "name");
+ << "myObject" << "myInvokable" << (QStringList() << "connect" << "disconnect" << "name");
QTest::newRow("myObject.mySignal.connect")
- << "myObject.mySignal" << "connect" << (QStringList() << "length" << "name");
+ << "myObject.mySignal" << "connect" << (QStringList() << "name");
QTest::newRow("myObject.mySignal.disconnect")
- << "myObject.mySignal" << "disconnect" << (QStringList() << "length" << "name");
+ << "myObject.mySignal" << "disconnect" << (QStringList() << "name");
}
void tst_QObjectBridge::introspectQtMethods()
@@ -2177,7 +2177,7 @@ void tst_QObjectBridge::introspectQtMethods()
QCOMPARE(evalJS("descriptor.set"), sUndefined);
QCOMPARE(evalJS(QString::fromLatin1("descriptor.value === %0['%1']").arg(methodLookup).arg(name)), sTrue);
QCOMPARE(evalJS(QString::fromLatin1("descriptor.enumerable")), sFalse);
- QCOMPARE(evalJS(QString::fromLatin1("descriptor.configurable")), sTrue);
+ QCOMPARE(evalJS(QString::fromLatin1("descriptor.configurable")), sFalse);
}
QVERIFY(evalJSV("var props=[]; for (var p in myObject.deleteLater) {props.push(p);}; props.sort()").toStringList().isEmpty());
diff --git a/Source/WebKit/qt/tests/qwebview/.gitignore b/Source/WebKit/qt/tests/qwebview/.gitignore
deleted file mode 100644
index 444afe65e..000000000
--- a/Source/WebKit/qt/tests/qwebview/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-qwebview
diff --git a/Source/WebKit/win/AccessibleBase.cpp b/Source/WebKit/win/AccessibleBase.cpp
index e733141f2..bb31adbd5 100644
--- a/Source/WebKit/win/AccessibleBase.cpp
+++ b/Source/WebKit/win/AccessibleBase.cpp
@@ -362,18 +362,20 @@ HRESULT STDMETHODCALLTYPE AccessibleBase::get_accKeyboardShortcut(VARIANT vChild
static String accessKeyModifiers;
if (accessKeyModifiers.isNull()) {
+ StringBuilder accessKeyModifiersBuilder;
unsigned modifiers = EventHandler::accessKeyModifiers();
// Follow the same order as Mozilla MSAA implementation:
// Ctrl+Alt+Shift+Meta+key. MSDN states that keyboard shortcut strings
// should not be localized and defines the separator as "+".
if (modifiers & PlatformEvent::CtrlKey)
- accessKeyModifiers += "Ctrl+";
+ accessKeyModifiersBuilder.appendLiteral("Ctrl+");
if (modifiers & PlatformEvent::AltKey)
- accessKeyModifiers += "Alt+";
+ accessKeyModifiersBuilder.appendLiteral("Alt+");
if (modifiers & PlatformEvent::ShiftKey)
- accessKeyModifiers += "Shift+";
+ accessKeyModifiersBuilder.appendLiteral("Shift+");
if (modifiers & PlatformEvent::MetaKey)
- accessKeyModifiers += "Win+";
+ accessKeyModifiersBuilder.appendLiteral("Win+");
+ accessKeyModifiers = accessKeyModifiersBuilder.toString();
}
*shortcut = BString(String(accessKeyModifiers + accessKey)).release();
return S_OK;
@@ -657,6 +659,7 @@ static long MSAARole(AccessibilityRole role)
case WebCore::LinkRole:
case WebCore::WebCoreLinkRole:
return ROLE_SYSTEM_LINK;
+ case WebCore::CanvasRole:
case WebCore::ImageMapRole:
case WebCore::ImageRole:
return ROLE_SYSTEM_GRAPHIC;
@@ -666,6 +669,36 @@ static long MSAARole(AccessibilityRole role)
return ROLE_SYSTEM_LISTITEM;
case WebCore::PopUpButtonRole:
return ROLE_SYSTEM_COMBOBOX;
+ case WebCore::DivRole:
+ case WebCore::FormRole:
+ case WebCore::LabelRole:
+ case WebCore::ParagraphRole:
+ return ROLE_SYSTEM_GROUPING;
+ case WebCore::HorizontalRuleRole:
+ return ROLE_SYSTEM_SEPARATOR;
+ case WebCore::ApplicationAlertRole:
+ return ROLE_SYSTEM_ALERT;
+ case WebCore::ComboBoxRole:
+ return ROLE_SYSTEM_COMBOBOX;
+ case WebCore::SpinButtonRole:
+ return ROLE_SYSTEM_SPINBUTTON;
+ case WebCore::SpinButtonPartRole:
+ return ROLE_SYSTEM_PUSHBUTTON;
+ case WebCore::ToggleButtonRole:
+ return ROLE_SYSTEM_PUSHBUTTON;
+ case WebCore::ToolbarRole:
+ return ROLE_SYSTEM_TOOLBAR;
+ case WebCore::UserInterfaceTooltipRole:
+ return ROLE_SYSTEM_TOOLTIP;
+ case WebCore::TreeRole:
+ case WebCore::TreeGridRole:
+ return ROLE_SYSTEM_OUTLINE;
+ case WebCore::TreeItemRole:
+ return ROLE_SYSTEM_OUTLINEITEM;
+ case WebCore::TabListRole:
+ return ROLE_SYSTEM_PAGETABLIST;
+ case WebCore::TabPanelRole:
+ return ROLE_SYSTEM_PROPERTYPAGE;
default:
// This is the default role for MSAA.
return ROLE_SYSTEM_CLIENT;
diff --git a/Source/WebKit/win/ChangeLog b/Source/WebKit/win/ChangeLog
index 319a75ceb..c01990047 100644
--- a/Source/WebKit/win/ChangeLog
+++ b/Source/WebKit/win/ChangeLog
@@ -1,3 +1,239 @@
+2012-09-10 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Update Windows port accessible role mappings to fix some tests
+ https://bugs.webkit.org/show_bug.cgi?id=96219
+
+ Reviewed by Chris Fleizach.
+
+ Update a bunch of accessible role mappings to fix tests and improve win
+ accessibility.
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * WebActionPropertyBag.cpp:
+ (WebActionPropertyBag::Read):
+ * WebView.cpp:
+ (WebView::handleContextMenuEvent):
+ (WebView::elementAtPoint):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * DOMCSSClasses.cpp:
+ * DefaultPolicyDelegate.cpp:
+ * MarshallingHelpers.cpp:
+ * WebCoreSupport/WebInspectorClient.h:
+ * WebDownload.h:
+ * WebFrame.h:
+ * WebHistoryItem.h:
+ * WebIconDatabase.cpp:
+ * WebKitDLL.h:
+ * WebKitGraphics.cpp:
+ * WebKitSystemBits.cpp:
+ * WebLocalizableStrings.cpp:
+ * WebNotificationCenter.cpp:
+ * WebResource.h:
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Remove String::operator+=() from windows platform code
+ https://bugs.webkit.org/show_bug.cgi?id=95904
+
+ Reviewed by Benjamin Poulain.
+
+ Use StringBuilder and operator+() to concatenate strings instead of operator+=().
+
+ * AccessibleBase.cpp:
+ (AccessibleBase::get_accKeyboardShortcut):
+ * WebDownload.cpp:
+ (WebDownload::bundlePathForTargetPath):
+ * WebView.cpp:
+ (imeCompositionArgumentNames):
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+ Kept the function defination and declaration to keep binary compatibility for IWebFramePrivate.idl
+
+ * WebFrame.cpp:
+ (WebFrame::numberOfPages):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Replace UString by String.
+
+ * WebFrame.cpp:
+ (WebFrame::stringByEvaluatingJavaScriptInScriptWorld):
+ * WebView.cpp:
+ (WebView::stringByEvaluatingJavaScriptFromString):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Map new CanvasRole to the same as ImageRole.
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-08-29 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126972.
+ http://trac.webkit.org/changeset/126972
+ https://bugs.webkit.org/show_bug.cgi?id=95349
+
+ accessibility/canvas-description-and-role.html has been
+ failing consistently on several bots and Dominic needs some
+ time to investigate why (Requested by jchaffraix on #webkit).
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-08-29 Dominic Mazzoni <dmazzoni@google.com>
+
+ AX: Canvas should have a distinct role
+ https://bugs.webkit.org/show_bug.cgi?id=95248
+
+ Reviewed by Chris Fleizach.
+
+ Map new CanvasRole to the same as ImageRole.
+
+ * AccessibleBase.cpp:
+ (MSAARole):
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * COMPropertyBag.h:
+ (::Read):
+ (::GetPropertyInfo):
+ * WebCoreStatistics.cpp:
+ (WebCoreStatistics::javaScriptProtectedObjectTypeCounts):
+ * WebCoreSupport/WebPlatformStrategies.cpp:
+ (WebPlatformStrategies::getPluginInfo):
+ * WebHistory.cpp:
+ (WebHistory::removeItemFromDateCaches):
+ * WebKitCOMAPI.cpp:
+ (classFactory):
+ * WebKitStatistics.cpp:
+ (WebKitStatistics::comClassNameCounts):
+ * WebNotificationCenter.cpp:
+ (WebNotificationCenter::postNotificationInternal):
+ (WebNotificationCenter::addObserver):
+ (WebNotificationCenter::removeObserver):
+
2012-08-23 Adrienne Walker <enne@google.com>
Convert ScrollableArea ASSERT_NOT_REACHED virtuals
diff --git a/Source/WebKit/win/DOMCSSClasses.cpp b/Source/WebKit/win/DOMCSSClasses.cpp
index 02200319b..2ceb91654 100644
--- a/Source/WebKit/win/DOMCSSClasses.cpp
+++ b/Source/WebKit/win/DOMCSSClasses.cpp
@@ -27,7 +27,7 @@
#include "WebKitDLL.h"
#include "DOMCSSClasses.h"
-#include <WebCore/PlatformString.h>
+#include <wtf/text/WTFString.h>
// DOMCSSStyleDeclaration - DOMCSSStyleDeclaration ----------------------------
diff --git a/Source/WebKit/win/DefaultPolicyDelegate.cpp b/Source/WebKit/win/DefaultPolicyDelegate.cpp
index 02d7bdbc8..e83a8e977 100644
--- a/Source/WebKit/win/DefaultPolicyDelegate.cpp
+++ b/Source/WebKit/win/DefaultPolicyDelegate.cpp
@@ -28,9 +28,7 @@
#include "DefaultPolicyDelegate.h"
#include <WebCore/COMPtr.h>
-#include <WebCore/PlatformString.h>
-
-using namespace WebCore;
+#include <wtf/text/WTFString.h>
// FIXME: move this enum to a separate header file when other code begins to use it.
typedef enum WebExtraNavigationType {
diff --git a/Source/WebKit/win/MarshallingHelpers.cpp b/Source/WebKit/win/MarshallingHelpers.cpp
index c7719fdb2..138e4b425 100644
--- a/Source/WebKit/win/MarshallingHelpers.cpp
+++ b/Source/WebKit/win/MarshallingHelpers.cpp
@@ -29,8 +29,8 @@
#include <WebCore/IntRect.h>
#include <WebCore/KURL.h>
-#include <WebCore/PlatformString.h>
#include <wtf/MathExtras.h>
+#include <wtf/text/WTFString.h>
using namespace WebCore;
diff --git a/Source/WebKit/win/WebActionPropertyBag.cpp b/Source/WebKit/win/WebActionPropertyBag.cpp
index fca83be0d..d2905091f 100644
--- a/Source/WebKit/win/WebActionPropertyBag.cpp
+++ b/Source/WebKit/win/WebActionPropertyBag.cpp
@@ -121,7 +121,7 @@ HRESULT STDMETHODCALLTYPE WebActionPropertyBag::Read(LPCOLESTR pszPropName, VARI
if (isEqual(pszPropName, WebActionElementKey)) {
if (const MouseEvent* mouseEvent = findMouseEvent(m_action.event())) {
V_VT(pVar) = VT_UNKNOWN;
- V_UNKNOWN(pVar) = WebElementPropertyBag::createInstance(m_frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation(), false));
+ V_UNKNOWN(pVar) = WebElementPropertyBag::createInstance(m_frame->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation()));
return S_OK;
}
}
diff --git a/Source/WebKit/win/WebCookieManager.cpp b/Source/WebKit/win/WebCookieManager.cpp
index 499d8570a..49bbad634 100644
--- a/Source/WebKit/win/WebCookieManager.cpp
+++ b/Source/WebKit/win/WebCookieManager.cpp
@@ -27,8 +27,6 @@
#include "WebKitDLL.h"
#include "WebCookieManager.h"
-using namespace WebCore;
-
// WebCookieManager -------------------------------------------------------
WebCookieManager* WebCookieManager::createInstance()
diff --git a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h b/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
index e34333d24..b589af7b9 100644
--- a/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
+++ b/Source/WebKit/win/WebCoreSupport/WebInspectorClient.h
@@ -33,13 +33,13 @@
#include <WebCore/InspectorClient.h>
#include <WebCore/InspectorFrontendChannel.h>
#include <WebCore/InspectorFrontendClientLocal.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/WindowMessageListener.h>
+#include <windows.h>
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
#include <wtf/OwnPtr.h>
#include <wtf/text/StringHash.h>
-#include <windows.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/win/WebDownload.cpp b/Source/WebKit/win/WebDownload.cpp
index cb5e2c3db..b8fabe28b 100644
--- a/Source/WebKit/win/WebDownload.cpp
+++ b/Source/WebKit/win/WebDownload.cpp
@@ -148,7 +148,7 @@ HRESULT STDMETHODCALLTYPE WebDownload::bundlePathForTargetPath(
if (bundle[bundle.length()-1] == '/')
bundle.truncate(1);
- bundle += DownloadBundle::fileExtension();
+ bundle.append(DownloadBundle::fileExtension());
*bundlePath = SysAllocStringLen(bundle.characters(), bundle.length());
if (!*bundlePath)
return E_FAIL;
diff --git a/Source/WebKit/win/WebDownload.h b/Source/WebKit/win/WebDownload.h
index 446be46dd..d9ca277ae 100644
--- a/Source/WebKit/win/WebDownload.h
+++ b/Source/WebKit/win/WebDownload.h
@@ -28,8 +28,8 @@
#include "WebKit.h"
#include <WebCore/COMPtr.h>
-#include <WebCore/PlatformString.h>
#include <wtf/RetainPtr.h>
+#include <wtf/text/WTFString.h>
#if USE(CFNETWORK)
#include <CFNetwork/CFURLDownloadPriv.h>
diff --git a/Source/WebKit/win/WebFrame.cpp b/Source/WebKit/win/WebFrame.cpp
index d1880cf3f..8a0a82cc5 100644
--- a/Source/WebKit/win/WebFrame.cpp
+++ b/Source/WebKit/win/WebFrame.cpp
@@ -894,15 +894,10 @@ HRESULT STDMETHODCALLTYPE WebFrame::numberOfPages(
/* [in] */ float pageHeightInPixels,
/* [retval][out] */ int* result)
{
- if (!result)
- return E_POINTER;
-
- Frame* coreFrame = core(this);
- if (!coreFrame)
- return E_FAIL;
-
- *result = PrintContext::numberOfPages(coreFrame, FloatSize(pageWidthInPixels, pageHeightInPixels));
- return S_OK;
+ // TODO: Please remove this function if not needed as this is LTC specific function
+ // and has been moved to Internals.
+ notImplemented();
+ return E_FAIL;
}
HRESULT STDMETHODCALLTYPE WebFrame::scrollOffset(
@@ -2539,7 +2534,7 @@ HRESULT WebFrame::stringByEvaluatingJavaScriptInScriptWorld(IWebScriptWorld* iWo
JSC::ExecState* exec = anyWorldGlobalObject->globalExec();
JSC::JSLockHolder lock(exec);
- String resultString = ustringToString(result.toString(exec)->value(exec));
+ String resultString = result.toWTFString(exec);
*evaluationResult = BString(resultString).release();
return S_OK;
diff --git a/Source/WebKit/win/WebFrame.h b/Source/WebKit/win/WebFrame.h
index d80193dd2..af6d6ead7 100644
--- a/Source/WebKit/win/WebFrame.h
+++ b/Source/WebKit/win/WebFrame.h
@@ -37,12 +37,12 @@
#include <WebCore/FrameWin.h>
#include <WebCore/GraphicsContext.h>
#include <WebCore/KURL.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/ResourceHandleClient.h>
#include <WTF/RefPtr.h>
#include <WTF/HashMap.h>
#include <WTF/OwnPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class AuthenticationChallenge;
diff --git a/Source/WebKit/win/WebHistoryItem.h b/Source/WebKit/win/WebHistoryItem.h
index 7e420397f..aad0fdafc 100644
--- a/Source/WebKit/win/WebHistoryItem.h
+++ b/Source/WebKit/win/WebHistoryItem.h
@@ -29,9 +29,9 @@
#include "WebKit.h"
#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/PlatformString.h>
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class HistoryItem;
diff --git a/Source/WebKit/win/WebIconDatabase.cpp b/Source/WebKit/win/WebIconDatabase.cpp
index f428bfc76..329817aa2 100644
--- a/Source/WebKit/win/WebIconDatabase.cpp
+++ b/Source/WebKit/win/WebIconDatabase.cpp
@@ -28,19 +28,19 @@
#include "WebIconDatabase.h"
#include "CFDictionaryPropertyBag.h"
-#include "WebPreferences.h"
#include "WebNotificationCenter.h"
-#include <WebCore/BitmapInfo.h>
+#include "WebPreferences.h"
+#include "shlobj.h"
#include <WebCore/BString.h>
+#include <WebCore/BitmapInfo.h>
#include <WebCore/COMPtr.h>
#include <WebCore/FileSystem.h>
#include <WebCore/HWndDC.h>
#include <WebCore/IconDatabase.h>
#include <WebCore/Image.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/SharedBuffer.h>
#include <wtf/MainThread.h>
-#include "shlobj.h"
+#include <wtf/text/WTFString.h>
using namespace WebCore;
using namespace WTF;
diff --git a/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj b/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj
index 39c6eb783..7312ad10a 100644
--- a/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj
+++ b/Source/WebKit/win/WebKit.vcproj/Interfaces.vcproj
@@ -1,4630 +1,4630 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="Interfaces"
- ProjectGUID="{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
- RootNamespace="Interfaces"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\InterfacesDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\Interfaces\AccessibleComparable.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMCore.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMCSS.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMEvents.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMExtensions.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMHTML.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMRange.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\DOMWindow.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IGEN_DOMObject.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebArchive.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebBackForwardList.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebBackForwardListPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCache.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCookieManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebCoreStatistics.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDatabaseManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDataSource.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDesktopNotificationsDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDocument.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebDownload.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebEditingDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebEmbeddedView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebError.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebErrorPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFormDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrame.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate2.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFramePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebFrameView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationPolicyListener.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationPosition.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebGeolocationProvider.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistory.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryItem.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryItemPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHistoryPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHTMLRepresentation.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebHTTPURLResponse.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebIconDatabase.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebInspector.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebInspectorPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebJavaScriptCollector.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebKitStatistics.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebMutableURLRequest.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebMutableURLRequestPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNavigationData.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotification.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotificationCenter.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebNotificationObserver.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPolicyDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPolicyDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPreferences.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebPreferencesPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResource.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResourceLoadDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebResourceLoadDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScriptObject.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScriptWorld.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScrollBarDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebScrollBarPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSecurityOrigin.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSerializedJSValue.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebSerializedJSValuePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebTextRenderer.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUIDelegate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUIDelegatePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUndoManager.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUndoTarget.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLAuthenticationChallenge.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLRequest.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLResponse.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebURLResponsePrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebUserContentURLPattern.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebView.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebViewPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\IWebWorkersPrivate.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\JavaScriptCoreAPITypes.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\WebKit.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCMIDLTool"
- GenerateTypeLibrary="true"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Interfaces\WebScrollbarTypes.idl"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCMIDLTool"
- />
- </FileConfiguration>
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="Interfaces"
+ ProjectGUID="{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+ RootNamespace="Interfaces"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\InterfacesDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="..\Interfaces\AccessibleComparable.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMCore.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMCSS.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMEvents.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMExtensions.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMHTML.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMRange.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\DOMWindow.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IGEN_DOMObject.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebArchive.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebBackForwardList.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebBackForwardListPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebCache.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebCookieManager.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebCoreStatistics.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDatabaseManager.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDataSource.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDesktopNotificationsDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDocument.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebDownload.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebEditingDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebEmbeddedView.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebError.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebErrorPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFormDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrame.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameLoadDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameLoadDelegatePrivate2.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFramePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebFrameView.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebGeolocationPolicyListener.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebGeolocationPosition.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebGeolocationProvider.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistory.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryItem.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryItemPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHistoryPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHTMLRepresentation.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebHTTPURLResponse.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebIconDatabase.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebInspector.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebInspectorPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebJavaScriptCollector.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebKitStatistics.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebMutableURLRequest.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebMutableURLRequestPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNavigationData.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNotification.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNotificationCenter.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebNotificationObserver.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPolicyDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPolicyDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPreferences.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebPreferencesPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebResource.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebResourceLoadDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebResourceLoadDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScriptObject.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScriptWorld.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScrollBarDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebScrollBarPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebSecurityOrigin.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebSerializedJSValue.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebSerializedJSValuePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebTextRenderer.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUIDelegate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUIDelegatePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUndoManager.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUndoTarget.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLAuthenticationChallenge.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLRequest.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLResponse.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebURLResponsePrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebUserContentURLPattern.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebView.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebViewPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\IWebWorkersPrivate.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\JavaScriptCoreAPITypes.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\WebKit.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ GenerateTypeLibrary="true"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Interfaces\WebScrollbarTypes.idl"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
index 73d55b591..ef6f33c1b 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesCommon.vsprops
@@ -1,14 +1,14 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesCommon"
- OutputDirectory="$(ConfigurationBuildDir)\include\WebKit"
- >
- <Tool
- Name="VCMIDLTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\obj\WebKit\DerivedSources&quot;;..\Interfaces;&quot;$(IntDir)\include&quot;"
- TypeLibraryName="$(ConfigurationBuildDir)\lib\WebKit.tlb"
- OutputDirectory="$(ConfigurationBuildDir)\obj\WebKit\$(ProjectName)"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\include\WebKit"
+ >
+ <Tool
+ Name="VCMIDLTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\obj\WebKit\DerivedSources&quot;;..\Interfaces;&quot;$(IntDir)\include&quot;"
+ TypeLibraryName="$(ConfigurationBuildDir)\lib\WebKit.tlb"
+ OutputDirectory="$(ConfigurationBuildDir)\obj\WebKit\$(ProjectName)"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops
index 13b916143..fd7c92b22 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops
index 5d6cc243f..319b418f0 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops
index fb7f65e0b..c8bcefc27 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops
index e9bafc78a..d60623d5d 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops
index 94209fa7e..610e0a53f 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops
index 06b729ace..bbdcaa362 100644
--- a/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/InterfacesReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="InterfacesReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="InterfacesReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\InterfacesCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKit.sln b/Source/WebKit/win/WebKit.vcproj/WebKit.sln
index d9ff7968f..ab47a727f 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.sln
+++ b/Source/WebKit/win/WebKit.vcproj/WebKit.sln
@@ -1,675 +1,675 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
- ProjectSection(ProjectDependencies) = postProject
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
- ProjectSection(ProjectDependencies) = postProject
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\WTF\WTF.vcproj\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
- ProjectSection(ProjectDependencies) = postProject
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
- ProjectSection(ProjectDependencies) = postProject
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
- ProjectSection(ProjectDependencies) = postProject
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
- ProjectSection(ProjectDependencies) = postProject
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
- ProjectSection(ProjectDependencies) = postProject
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
- ProjectSection(ProjectDependencies) = postProject
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
- ProjectSection(ProjectDependencies) = postProject
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
- ProjectSection(ProjectDependencies) = postProject
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
- ProjectSection(ProjectDependencies) = postProject
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
- ProjectSection(ProjectDependencies) = postProject
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\..\Tools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
- ProjectSection(ProjectDependencies) = postProject
- {83414B15-1C0D-490B-990E-03F4D49170E4} = {83414B15-1C0D-490B-990E-03F4D49170E4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\..\Tools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
- ProjectSection(ProjectDependencies) = postProject
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\..\Tools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}"
- ProjectSection(ProjectDependencies) = postProject
- {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\..\Tools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
- ProjectSection(ProjectDependencies) = postProject
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\..\Tools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
- ProjectSection(ProjectDependencies) = postProject
- {2974EA02-840B-4995-8719-8920A61006F1} = {2974EA02-840B-4995-8719-8920A61006F1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
- ProjectSection(ProjectDependencies) = postProject
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\..\Tools\WebKitTestRunner\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}"
- ProjectSection(ProjectDependencies) = postProject
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\..\Tools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}"
- ProjectSection(ProjectDependencies) = postProject
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}"
- ProjectSection(ProjectDependencies) = postProject
- {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\..\Tools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}"
- ProjectSection(ProjectDependencies) = postProject
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {B0101604-B483-4F8C-9C51-90B46A2B1CD3}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPI.vcproj", "{3E48AB23-D249-488F-A1C4-43CDF52FBD28}"
- ProjectSection(ProjectDependencies) = postProject
- {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {45C45411-7F0E-404D-919A-4EE9BB60BE86}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}"
- ProjectSection(ProjectDependencies) = postProject
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIInjectedBundle", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIInjectedBundle.vcproj", "{B0101604-B483-4F8C-9C51-90B46A2B1CD3}"
- ProjectSection(ProjectDependencies) = postProject
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "..\..\..\ThirdParty\gtest\msvc\gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
- ProjectSection(ProjectDependencies) = postProject
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreTestSupport", "..\..\..\WebCore\WebCore.vcproj\WebCoreTestSupport.vcproj", "{83414B15-1C0D-490B-990E-03F4D49170E4}"
- ProjectSection(ProjectDependencies) = postProject
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testRegExp\testRegExp.vcproj", "{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
- ProjectSection(ProjectDependencies) = postProject
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncherLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncherLauncher.vcproj", "{767B10FB-76C1-44D0-8005-85ED7F9AA5E4}"
- ProjectSection(ProjectDependencies) = postProject
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowserLauncher", "..\..\..\..\Tools\MiniBrowser\MiniBrowserLauncher.vcproj", "{7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}"
- ProjectSection(ProjectDependencies) = postProject
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiffLauncher", "..\..\..\..\Tools\DumpRenderTree\win\ImageDiffLauncher.vcproj", "{DD7949B6-F2B4-47C2-9C42-E21E84CB1017}"
- ProjectSection(ProjectDependencies) = postProject
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTreeLauncher", "..\..\..\..\Tools\DumpRenderTree\win\DumpRenderTreeLauncher.vcproj", "{2974EA02-840B-4995-8719-8920A61006F1}"
- ProjectSection(ProjectDependencies) = postProject
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunnerLauncher", "..\..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunnerLauncher.vcproj", "{C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}"
- ProjectSection(ProjectDependencies) = postProject
- {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
- EndProjectSection
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WTF", "WTF", "{A671AE22-FBCE-4C41-A723-82939FCA3E92}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\..\WTF\WTF.vcproj\WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.ActiveCfg = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
- {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.ActiveCfg = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.ActiveCfg = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
- {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.ActiveCfg = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.ActiveCfg = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
- {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Production|Win32.ActiveCfg = Production|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Production|Win32.Build.0 = Production|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.ActiveCfg = Production|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.Build.0 = Production|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.ActiveCfg = Production|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.Build.0 = Production|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.ActiveCfg = Production|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.Build.0 = Production|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.ActiveCfg = Production|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.ActiveCfg = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.ActiveCfg = Production|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.ActiveCfg = Production|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.Build.0 = Production|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.ActiveCfg = Production|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.Build.0 = Production|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
- {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Debug|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Debug|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Production|Win32.ActiveCfg = Production|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Production|Win32.Build.0 = Production|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32
- {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.ActiveCfg = Production|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.Build.0 = Production|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
- {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Debug|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Debug|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Production|Win32.ActiveCfg = Production|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Production|Win32.Build.0 = Production|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32
- {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.ActiveCfg = Production|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.Build.0 = Production|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
- {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.ActiveCfg = Production|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.Build.0 = Production|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32
- {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.ActiveCfg = Production|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.Build.0 = Production|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.ActiveCfg = Production|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.Build.0 = Production|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32
- {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Production|Win32.ActiveCfg = Production|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Production|Win32.Build.0 = Production|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.ActiveCfg = Debug|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.Build.0 = Debug|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Production|Win32.ActiveCfg = Production|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Production|Win32.Build.0 = Production|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.ActiveCfg = Debug|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.Build.0 = Debug|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Production|Win32.ActiveCfg = Production|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Production|Win32.Build.0 = Production|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32
- {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.ActiveCfg = Debug|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.Build.0 = Debug|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.ActiveCfg = Production|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.Build.0 = Production|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.ActiveCfg = Release|Win32
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.Build.0 = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.ActiveCfg = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.Build.0 = Debug|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.ActiveCfg = Production|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.Build.0 = Production|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.ActiveCfg = Release|Win32
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.Build.0 = Release|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.Build.0 = Debug|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.ActiveCfg = Production|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.Build.0 = Production|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.ActiveCfg = Release|Win32
- {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.Build.0 = Release|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.ActiveCfg = Debug|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.Build.0 = Debug|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.ActiveCfg = Production|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.Build.0 = Production|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.ActiveCfg = Release|Win32
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.Build.0 = Release|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.ActiveCfg = Debug|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.Build.0 = Debug|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.ActiveCfg = Production|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.Build.0 = Production|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.ActiveCfg = Release|Win32
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.Build.0 = Release|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.ActiveCfg = Debug|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.Build.0 = Debug|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.ActiveCfg = Production|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.Build.0 = Production|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.ActiveCfg = Release|Win32
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.Build.0 = Release|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.ActiveCfg = Debug|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.Build.0 = Debug|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.ActiveCfg = Production|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.Build.0 = Production|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.ActiveCfg = Release|Win32
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.Build.0 = Release|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.ActiveCfg = Debug|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.Build.0 = Debug|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.ActiveCfg = Production|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.Build.0 = Production|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.ActiveCfg = Release|Win32
- {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.Build.0 = Release|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.ActiveCfg = Debug|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.Build.0 = Debug|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.ActiveCfg = Production|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.Build.0 = Production|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.ActiveCfg = Release|Win32
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.Build.0 = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
- {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {83414B15-1C0D-490B-990E-03F4D49170E4} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
- {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {2974EA02-840B-4995-8719-8920A61006F1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
- {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
- {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCore", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCore.vcproj", "{011D10F1-B656-4A1B-A0C3-3842F02122C5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCore", "..\..\..\WebCore\WebCore.vcproj\WebCore.vcproj", "{1C16337B-ACF3-4D03-AA90-851C5B5EADA6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {E498CA9D-3BD2-4D52-8E37-C8DC76526325}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTF", "..\..\..\WTF\WTF.vcproj\WTF.vcproj", "{AA8A5A85-592B-4357-BC60-E0E91E026AF6}"
+ ProjectSection(ProjectDependencies) = postProject
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "jsc", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\jsc\jsc.vcproj", "{C59E5129-B453-49B7-A52B-1E104715F76E}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "JavaScriptCore Folder", "JavaScriptCore Folder", "{557FA164-0E39-4DEC-B66C-8795C8E52399}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "JavaScriptCoreGenerated", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\JavaScriptCore\JavaScriptCoreGenerated.vcproj", "{4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {AA8A5A85-592B-4357-BC60-E0E91E026AF6}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebCore Folder", "WebCore Folder", "{63FB6F8A-C601-43E3-BD16-A00A465C2CB6}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreGenerated", "..\..\..\WebCore\WebCore.vcproj\WebCoreGenerated.vcproj", "{0A324352-B3B6-496C-9E5B-4C7E923E628B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {011D10F1-B656-4A1B-A0C3-3842F02122C5}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "QTMovieWin", "..\..\..\WebCore\WebCore.vcproj\QTMovieWin.vcproj", "{E498CA9D-3BD2-4D52-8E37-C8DC76526325}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {0A324352-B3B6-496C-9E5B-4C7E923E628B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testapi", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testapi\testapi.vcproj", "{1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {AAE88FEF-509E-4D49-870B-7357922C276F}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "..\..\..\WebKit2\win\WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKit2 Folder", "WebKit2 Folder", "{9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "..\..\..\WebKit2\win\WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {0662A8A9-82A3-4638-97D8-EC425D8D87C9}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "..\..\..\WebKit2\win\WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WebKitCOM Folder", "WebKitCOM Folder", "{1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
+ ProjectSection(ProjectDependencies) = postProject
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tools", "Tools", "{62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTree", "..\..\..\..\Tools\DumpRenderTree\win\DumpRenderTree.vcproj", "{6567DFD4-D6DE-4CD5-825D-17E353D160E1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {83414B15-1C0D-490B-990E-03F4D49170E4} = {83414B15-1C0D-490B-990E-03F4D49170E4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiff", "..\..\..\..\Tools\DumpRenderTree\win\ImageDiff.vcproj", "{59CC0547-70AC-499C-9B19-EC01C6F61137}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {C0737398-3565-439E-A2B8-AB2BE4D5430C}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "record-memory-win", "..\..\..\..\Tools\record-memory-win\record-memory-win.vcproj", "{44B9C152-1870-4035-B94D-7B3285AA0C12}"
+ ProjectSection(ProjectDependencies) = postProject
+ {D09806DB-E58B-4646-8C9B-61101906C1E2} = {D09806DB-E58B-4646-8C9B-61101906C1E2}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestNetscapePlugin", "..\..\..\..\Tools\DumpRenderTree\TestNetscapePlugIn\win\TestNetscapePlugin.vcproj", "{C0737398-3565-439E-A2B8-AB2BE4D5430C}"
+ ProjectSection(ProjectDependencies) = postProject
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLauncherWin", "..\..\..\..\Tools\WebKitLauncherWin\WebKitLauncherWin.vcproj", "{D09806DB-E58B-4646-8C9B-61101906C1E2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2974EA02-840B-4995-8719-8920A61006F1} = {2974EA02-840B-4995-8719-8920A61006F1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncher.vcproj", "{114FCA11-216B-4C8C-957E-30A75AE80443}"
+ ProjectSection(ProjectDependencies) = postProject
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundle", "..\..\..\..\Tools\WebKitTestRunner\win\InjectedBundle.vcproj", "{CBC3391C-F060-4BF5-A66E-81404168816B}"
+ ProjectSection(ProjectDependencies) = postProject
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InjectedBundleGenerated", "..\..\..\..\Tools\WebKitTestRunner\win\InjectedBundleGenerated.vcproj", "{4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {44B9C152-1870-4035-B94D-7B3285AA0C12}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunner", "..\..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunner.vcproj", "{3B99669B-1817-443B-BCBE-835580146668}"
+ ProjectSection(ProjectDependencies) = postProject
+ {CBC3391C-F060-4BF5-A66E-81404168816B} = {CBC3391C-F060-4BF5-A66E-81404168816B}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowser", "..\..\..\..\Tools\MiniBrowser\MiniBrowser.vcproj", "{1480CF5F-4160-47B5-A0E6-96AEC8258FB5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {B0101604-B483-4F8C-9C51-90B46A2B1CD3}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPI", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPI.vcproj", "{3E48AB23-D249-488F-A1C4-43CDF52FBD28}"
+ ProjectSection(ProjectDependencies) = postProject
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {45C45411-7F0E-404D-919A-4EE9BB60BE86}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIGenerated", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIGenerated.vcproj", "{45C45411-7F0E-404D-919A-4EE9BB60BE86}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestWebKitAPIInjectedBundle", "..\..\..\..\Tools\TestWebKitAPI\win\TestWebKitAPIInjectedBundle.vcproj", "{B0101604-B483-4F8C-9C51-90B46A2B1CD3}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {3E48AB23-D249-488F-A1C4-43CDF52FBD28}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest-md", "..\..\..\ThirdParty\gtest\msvc\gtest-md.vcproj", "{C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebCoreTestSupport", "..\..\..\WebCore\WebCore.vcproj\WebCoreTestSupport.vcproj", "{83414B15-1C0D-490B-990E-03F4D49170E4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testRegExp", "..\..\..\JavaScriptCore\JavaScriptCore.vcproj\testRegExp\testRegExp.vcproj", "{14C94979-1ED3-4E1D-9B55-A80FCF4677D0}"
+ ProjectSection(ProjectDependencies) = postProject
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {C59E5129-B453-49B7-A52B-1E104715F76E}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WinLauncherLauncher", "..\..\..\..\Tools\WinLauncher\WinLauncherLauncher.vcproj", "{767B10FB-76C1-44D0-8005-85ED7F9AA5E4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {114FCA11-216B-4C8C-957E-30A75AE80443}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "MiniBrowserLauncher", "..\..\..\..\Tools\MiniBrowser\MiniBrowserLauncher.vcproj", "{7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}"
+ ProjectSection(ProjectDependencies) = postProject
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageDiffLauncher", "..\..\..\..\Tools\DumpRenderTree\win\ImageDiffLauncher.vcproj", "{DD7949B6-F2B4-47C2-9C42-E21E84CB1017}"
+ ProjectSection(ProjectDependencies) = postProject
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {59CC0547-70AC-499C-9B19-EC01C6F61137}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DumpRenderTreeLauncher", "..\..\..\..\Tools\DumpRenderTree\win\DumpRenderTreeLauncher.vcproj", "{2974EA02-840B-4995-8719-8920A61006F1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {6567DFD4-D6DE-4CD5-825D-17E353D160E1}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitTestRunnerLauncher", "..\..\..\..\Tools\WebKitTestRunner\win\WebKitTestRunnerLauncher.vcproj", "{C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}"
+ ProjectSection(ProjectDependencies) = postProject
+ {3B99669B-1817-443B-BCBE-835580146668} = {3B99669B-1817-443B-BCBE-835580146668}
+ EndProjectSection
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WTF", "WTF", "{A671AE22-FBCE-4C41-A723-82939FCA3E92}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WTFGenerated", "..\..\..\WTF\WTF.vcproj\WTFGenerated.vcproj", "{5AE5F5E4-782D-4F63-B4D7-3977B52B9950}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug_Cairo_CFLite|Win32 = Debug_Cairo_CFLite|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release_Cairo_CFLite|Win32 = Release_Cairo_CFLite|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Debug|Win32.Build.0 = Debug|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.ActiveCfg = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Production|Win32.Build.0 = Production|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.ActiveCfg = Release|Win32
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5}.Release|Win32.Build.0 = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Debug|Win32.Build.0 = Debug|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.ActiveCfg = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Production|Win32.Build.0 = Production|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.ActiveCfg = Release|Win32
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6}.Release|Win32.Build.0 = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Debug|Win32.Build.0 = Debug|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.ActiveCfg = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Production|Win32.Build.0 = Production|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.ActiveCfg = Release|Win32
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6}.Release|Win32.Build.0 = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Debug|Win32.Build.0 = Debug|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.ActiveCfg = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Production|Win32.Build.0 = Production|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.ActiveCfg = Release|Win32
+ {C59E5129-B453-49B7-A52B-1E104715F76E}.Release|Win32.Build.0 = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Debug|Win32.Build.0 = Debug|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.ActiveCfg = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Production|Win32.Build.0 = Production|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.ActiveCfg = Release|Win32
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A}.Release|Win32.Build.0 = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Debug|Win32.Build.0 = Debug|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.ActiveCfg = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Production|Win32.Build.0 = Production|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.ActiveCfg = Release|Win32
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B}.Release|Win32.Build.0 = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Debug|Win32.Build.0 = Debug|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.ActiveCfg = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Production|Win32.Build.0 = Production|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.ActiveCfg = Release|Win32
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325}.Release|Win32.Build.0 = Release|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Debug|Win32.Build.0 = Debug|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Production|Win32.ActiveCfg = Production|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Production|Win32.Build.0 = Production|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.ActiveCfg = Release|Win32
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2}.Release|Win32.Build.0 = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.ActiveCfg = Production|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.Build.0 = Production|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.ActiveCfg = Production|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.Build.0 = Production|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.ActiveCfg = Production|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.Build.0 = Production|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.ActiveCfg = Production|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.ActiveCfg = Production|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.ActiveCfg = Production|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Debug|Win32.Build.0 = Debug|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.ActiveCfg = Production|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Production|Win32.Build.0 = Production|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.ActiveCfg = Release|Win32
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1}.Release|Win32.Build.0 = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.ActiveCfg = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Debug|Win32.Build.0 = Debug|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.ActiveCfg = Production|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Production|Win32.Build.0 = Production|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.ActiveCfg = Release|Win32
+ {59CC0547-70AC-499C-9B19-EC01C6F61137}.Release|Win32.Build.0 = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.ActiveCfg = Debug|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Debug|Win32.Build.0 = Debug|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Production|Win32.ActiveCfg = Production|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Production|Win32.Build.0 = Production|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.ActiveCfg = Release|Win32
+ {44B9C152-1870-4035-B94D-7B3285AA0C12}.Release|Win32.Build.0 = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Debug|Win32.Build.0 = Debug|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.ActiveCfg = Production|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Production|Win32.Build.0 = Production|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.ActiveCfg = Release|Win32
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C}.Release|Win32.Build.0 = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Debug|Win32.Build.0 = Debug|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Production|Win32.ActiveCfg = Production|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Production|Win32.Build.0 = Production|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.ActiveCfg = Release|Win32
+ {D09806DB-E58B-4646-8C9B-61101906C1E2}.Release|Win32.Build.0 = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.ActiveCfg = Debug|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Debug|Win32.Build.0 = Debug|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.ActiveCfg = Production|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Production|Win32.Build.0 = Production|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.ActiveCfg = Release|Win32
+ {114FCA11-216B-4C8C-957E-30A75AE80443}.Release|Win32.Build.0 = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Debug|Win32.Build.0 = Debug|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.ActiveCfg = Production|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Production|Win32.Build.0 = Production|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.ActiveCfg = Release|Win32
+ {CBC3391C-F060-4BF5-A66E-81404168816B}.Release|Win32.Build.0 = Release|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Debug|Win32.Build.0 = Debug|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.ActiveCfg = Production|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Production|Win32.Build.0 = Production|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.ActiveCfg = Release|Win32
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD}.Release|Win32.Build.0 = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Debug|Win32.Build.0 = Debug|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.ActiveCfg = Production|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Production|Win32.Build.0 = Production|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.ActiveCfg = Release|Win32
+ {3B99669B-1817-443B-BCBE-835580146668}.Release|Win32.Build.0 = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Debug|Win32.Build.0 = Debug|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Production|Win32.ActiveCfg = Production|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Production|Win32.Build.0 = Production|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.ActiveCfg = Release|Win32
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5}.Release|Win32.Build.0 = Release|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.ActiveCfg = Debug|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Debug|Win32.Build.0 = Debug|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Production|Win32.ActiveCfg = Production|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Production|Win32.Build.0 = Production|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.ActiveCfg = Release|Win32
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28}.Release|Win32.Build.0 = Release|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.ActiveCfg = Debug|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Debug|Win32.Build.0 = Debug|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Production|Win32.ActiveCfg = Production|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Production|Win32.Build.0 = Production|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.ActiveCfg = Release|Win32
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86}.Release|Win32.Build.0 = Release|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Debug|Win32.Build.0 = Debug|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.ActiveCfg = Production|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Production|Win32.Build.0 = Production|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.ActiveCfg = Release|Win32
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3}.Release|Win32.Build.0 = Release|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Debug|Win32.Build.0 = Debug|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.ActiveCfg = Production|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Production|Win32.Build.0 = Production|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.ActiveCfg = Release|Win32
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8}.Release|Win32.Build.0 = Release|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Debug|Win32.Build.0 = Debug|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.ActiveCfg = Production|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Production|Win32.Build.0 = Production|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.ActiveCfg = Release|Win32
+ {83414B15-1C0D-490B-990E-03F4D49170E4}.Release|Win32.Build.0 = Release|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.ActiveCfg = Debug|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Debug|Win32.Build.0 = Debug|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.ActiveCfg = Production|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Production|Win32.Build.0 = Production|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.ActiveCfg = Release|Win32
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0}.Release|Win32.Build.0 = Release|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Debug|Win32.Build.0 = Debug|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.ActiveCfg = Production|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Production|Win32.Build.0 = Production|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.ActiveCfg = Release|Win32
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4}.Release|Win32.Build.0 = Release|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.ActiveCfg = Debug|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Debug|Win32.Build.0 = Debug|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.ActiveCfg = Production|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Production|Win32.Build.0 = Production|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.ActiveCfg = Release|Win32
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D}.Release|Win32.Build.0 = Release|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Debug|Win32.Build.0 = Debug|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.ActiveCfg = Production|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Production|Win32.Build.0 = Production|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.ActiveCfg = Release|Win32
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017}.Release|Win32.Build.0 = Release|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Debug|Win32.Build.0 = Debug|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.ActiveCfg = Production|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Production|Win32.Build.0 = Production|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.ActiveCfg = Release|Win32
+ {2974EA02-840B-4995-8719-8920A61006F1}.Release|Win32.Build.0 = Release|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.ActiveCfg = Debug|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Debug|Win32.Build.0 = Debug|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.ActiveCfg = Production|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Production|Win32.Build.0 = Production|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.ActiveCfg = Release|Win32
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040}.Release|Win32.Build.0 = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.ActiveCfg = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug_Cairo_CFLite|Win32.Build.0 = Debug_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.ActiveCfg = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Debug|Win32.Build.0 = Debug|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.ActiveCfg = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Production|Win32.Build.0 = Production|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.ActiveCfg = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release_Cairo_CFLite|Win32.Build.0 = Release_Cairo_CFLite|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.ActiveCfg = Release|Win32
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {C59E5129-B453-49B7-A52B-1E104715F76E} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {011D10F1-B656-4A1B-A0C3-3842F02122C5} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {4FF5BA11-59EC-4C24-8F52-F235C2E7D43A} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {1AFD081F-1AC7-4A97-8EFA-6DF97761A3A2} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {14C94979-1ED3-4E1D-9B55-A80FCF4677D0} = {557FA164-0E39-4DEC-B66C-8795C8E52399}
+ {1C16337B-ACF3-4D03-AA90-851C5B5EADA6} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {0A324352-B3B6-496C-9E5B-4C7E923E628B} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {E498CA9D-3BD2-4D52-8E37-C8DC76526325} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {83414B15-1C0D-490B-990E-03F4D49170E4} = {63FB6F8A-C601-43E3-BD16-A00A465C2CB6}
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {AAE88FEF-509E-4D49-870B-7357922C276F} = {9AB9C96C-9039-4FA9-8F83-BBFC8F8B2182}
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {B8437A41-67BC-4769-9452-45203827F821} = {1D359ACC-BE10-45D7-938B-BC7E4B7AA6CA}
+ {6567DFD4-D6DE-4CD5-825D-17E353D160E1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {59CC0547-70AC-499C-9B19-EC01C6F61137} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {44B9C152-1870-4035-B94D-7B3285AA0C12} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C0737398-3565-439E-A2B8-AB2BE4D5430C} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {D09806DB-E58B-4646-8C9B-61101906C1E2} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {114FCA11-216B-4C8C-957E-30A75AE80443} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {CBC3391C-F060-4BF5-A66E-81404168816B} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {4343BC0B-A2E0-4B48-8277-F33CFBFA83CD} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {3B99669B-1817-443B-BCBE-835580146668} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {1480CF5F-4160-47B5-A0E6-96AEC8258FB5} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {3E48AB23-D249-488F-A1C4-43CDF52FBD28} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {45C45411-7F0E-404D-919A-4EE9BB60BE86} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {B0101604-B483-4F8C-9C51-90B46A2B1CD3} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C8F6C172-56F2-4E76-B5FA-C3B423B31BE8} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {767B10FB-76C1-44D0-8005-85ED7F9AA5E4} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {7AF4EBFB-CCBC-448F-A36A-8210E08D6A7D} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {DD7949B6-F2B4-47C2-9C42-E21E84CB1017} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {2974EA02-840B-4995-8719-8920A61006F1} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {C13FA6EF-B531-4BAD-9A23-18E2BEB8B040} = {62DCDFE4-EAD2-48E1-A2BD-BD54AD3C7459}
+ {AA8A5A85-592B-4357-BC60-E0E91E026AF6} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
+ {5AE5F5E4-782D-4F63-B4D7-3977B52B9950} = {A671AE22-FBCE-4C41-A723-82939FCA3E92}
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln b/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln
index e873b11d6..8865ae7e9 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln
+++ b/Source/WebKit/win/WebKit.vcproj/WebKit.submit.sln
@@ -1,53 +1,53 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
- ProjectSection(ProjectDependencies) = postProject
- {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.ActiveCfg = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
- {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.ActiveCfg = Production|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
- {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.ActiveCfg = Production|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
- {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitLib", "WebKit.vcproj", "{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ ProjectSection(ProjectDependencies) = postProject
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ {B8437A41-67BC-4769-9452-45203827F821} = {B8437A41-67BC-4769-9452-45203827F821}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKitGUID", "WebKitGUID.vcproj", "{B8437A41-67BC-4769-9452-45203827F821}"
+ ProjectSection(ProjectDependencies) = postProject
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406} = {91762BE2-87EF-4F5A-A480-48B90EB3F406}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Interfaces", "Interfaces.vcproj", "{91762BE2-87EF-4F5A-A480-48B90EB3F406}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.ActiveCfg = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Debug|Win32.Build.0 = Debug|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.ActiveCfg = Production|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Production|Win32.Build.0 = Production|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.ActiveCfg = Release|Win32
+ {0662A8A9-82A3-4638-97D8-EC425D8D87C9}.Release|Win32.Build.0 = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.ActiveCfg = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Debug|Win32.Build.0 = Debug|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.ActiveCfg = Production|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Production|Win32.Build.0 = Production|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.ActiveCfg = Release|Win32
+ {B8437A41-67BC-4769-9452-45203827F821}.Release|Win32.Build.0 = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.ActiveCfg = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Debug|Win32.Build.0 = Debug|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.ActiveCfg = Production|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Production|Win32.Build.0 = Production|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.ActiveCfg = Release|Win32
+ {91762BE2-87EF-4F5A-A480-48B90EB3F406}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj b/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj
index 3287a1678..12b327853 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj
+++ b/Source/WebKit/win/WebKit.vcproj/WebKit.vcproj
@@ -1,1307 +1,1307 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLib"
- ProjectGUID="{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
- RootNamespace="WebKit"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitLibProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath="..\MarshallingHelpers.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitClassFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitDLL.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitSystemBits.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNodeHighlight.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- <File
- RelativePath="..\AccessibleBase.h"
- >
- </File>
- <File
- RelativePath="..\AccessibleDocument.h"
- >
- </File>
- <File
- RelativePath="..\AccessibleImage.h"
- >
- </File>
- <File
- RelativePath=".\autoversion.h"
- >
- </File>
- <File
- RelativePath="..\CFDictionaryPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\CodeAnalysisConfig.h"
- >
- </File>
- <File
- RelativePath="..\COMEnumVariant.h"
- >
- </File>
- <File
- RelativePath="..\COMPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\COMVariantSetter.h"
- >
- </File>
- <File
- RelativePath="..\DefaultDownloadDelegate.h"
- >
- </File>
- <File
- RelativePath="..\DefaultPolicyDelegate.h"
- >
- </File>
- <File
- RelativePath="..\DOMCoreClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMCSSClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMEventsClasses.h"
- >
- </File>
- <File
- RelativePath="..\DOMHTMLClasses.h"
- >
- </File>
- <File
- RelativePath="..\ForEachCoClass.h"
- >
- </File>
- <File
- RelativePath="..\FullscreenVideoController.h"
- >
- </File>
- <File
- RelativePath="..\MarshallingHelpers.h"
- >
- </File>
- <File
- RelativePath="..\MemoryStream.h"
- >
- </File>
- <File
- RelativePath="..\ProgIDMacros.h"
- >
- </File>
- <File
- RelativePath=".\resource.h"
- >
- </File>
- <File
- RelativePath="..\WebActionPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\WebArchive.h"
- >
- </File>
- <File
- RelativePath="..\WebBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\WebCache.h"
- >
- </File>
- <File
- RelativePath="..\WebCachedFramePlatformData.h"
- >
- </File>
- <File
- RelativePath="..\WebCookieManager.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreStatistics.h"
- >
- </File>
- <File
- RelativePath="..\WebDatabaseManager.h"
- >
- </File>
- <File
- RelativePath="..\WebDataSource.h"
- >
- </File>
- <File
- RelativePath="..\WebDocumentLoader.h"
- >
- </File>
- <File
- RelativePath="..\WebDownload.h"
- >
- </File>
- <File
- RelativePath="..\WebDropSource.h"
- >
- </File>
- <File
- RelativePath="..\WebElementPropertyBag.h"
- >
- </File>
- <File
- RelativePath="..\WebError.h"
- >
- </File>
- <File
- RelativePath="..\WebFrame.h"
- >
- </File>
- <File
- RelativePath="..\WebFramePolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPosition.h"
- >
- </File>
- <File
- RelativePath="..\WebHistory.h"
- >
- </File>
- <File
- RelativePath="..\WebHistoryItem.h"
- >
- </File>
- <File
- RelativePath="..\WebHTMLRepresentation.h"
- >
- </File>
- <File
- RelativePath="..\WebIconDatabase.h"
- >
- </File>
- <File
- RelativePath="..\WebInspector.h"
- >
- </File>
- <File
- RelativePath="..\WebJavaScriptCollector.h"
- >
- </File>
- <File
- RelativePath="..\WebKitClassFactory.h"
- >
- </File>
- <File
- RelativePath="..\WebKitDLL.h"
- >
- </File>
- <File
- RelativePath="..\WebKitGraphics.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKitLogging.h"
- >
- </File>
- <File
- RelativePath="..\WebKitStatistics.h"
- >
- </File>
- <File
- RelativePath="..\WebKitStatisticsPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebKitSystemBits.h"
- >
- </File>
- <File
- RelativePath="..\WebLocalizableStrings.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebMutableURLRequest.h"
- >
- </File>
- <File
- RelativePath="..\WebNavigationData.h"
- >
- </File>
- <File
- RelativePath="..\WebNodeHighlight.h"
- >
- </File>
- <File
- RelativePath="..\WebNotification.h"
- >
- </File>
- <File
- RelativePath="..\WebNotificationCenter.h"
- >
- </File>
- <File
- RelativePath="..\WebPreferenceKeysPrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebPreferences.h"
- >
- </File>
- <File
- RelativePath="..\WebResource.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptObject.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebScrollBar.h"
- >
- </File>
- <File
- RelativePath="..\WebSecurityOrigin.h"
- >
- </File>
- <File
- RelativePath="..\WebSerializedJSValue.h"
- >
- </File>
- <File
- RelativePath="..\WebTextRenderer.h"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallenge.h"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSender.h"
- >
- </File>
- <File
- RelativePath="..\WebURLCredential.h"
- >
- </File>
- <File
- RelativePath="..\WebURLProtectionSpace.h"
- >
- </File>
- <File
- RelativePath="..\WebURLResponse.h"
- >
- </File>
- <File
- RelativePath="..\WebUserContentURLPattern.h"
- >
- </File>
- <File
- RelativePath="..\WebView.h"
- >
- </File>
- <File
- RelativePath="..\WebWorkersPrivate.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Classes"
- >
- <File
- RelativePath="..\AccessibleBase.cpp"
- >
- </File>
- <File
- RelativePath="..\AccessibleDocument.cpp"
- >
- </File>
- <File
- RelativePath="..\AccessibleImage.cpp"
- >
- </File>
- <File
- RelativePath="..\CFDictionaryPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\DefaultDownloadDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\DefaultPolicyDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMCoreClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMCSSClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMEventsClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\DOMHTMLClasses.cpp"
- >
- </File>
- <File
- RelativePath="..\ForEachCoClass.cpp"
- >
- </File>
- <File
- RelativePath="..\FullscreenVideoController.cpp"
- >
- </File>
- <File
- RelativePath="..\MemoryStream.cpp"
- >
- </File>
- <File
- RelativePath="..\WebActionPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\WebArchive.cpp"
- >
- </File>
- <File
- RelativePath="..\WebBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCache.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCookieManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCookieManagerCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebCookieManagerCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebCoreStatistics.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDatabaseManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDataSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDocumentLoader.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDownload.cpp"
- >
- </File>
- <File
- RelativePath="..\WebDownloadCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebDownloadCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebDropSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebElementPropertyBag.cpp"
- >
- </File>
- <File
- RelativePath="..\WebError.cpp"
- >
- </File>
- <File
- RelativePath="..\WebFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\WebFramePolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebGeolocationPosition.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHistory.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHistoryItem.cpp"
- >
- </File>
- <File
- RelativePath="..\WebHTMLRepresentation.cpp"
- >
- </File>
- <File
- RelativePath="..\WebIconDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\WebInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebJavaScriptCollector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitLogging.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitStatistics.cpp"
- >
- </File>
- <File
- RelativePath="..\WebMutableURLRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNavigationData.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNotification.cpp"
- >
- </File>
- <File
- RelativePath="..\WebNotificationCenter.cpp"
- >
- </File>
- <File
- RelativePath="..\WebPreferences.cpp"
- >
- </File>
- <File
- RelativePath="..\WebResource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptObject.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebScrollBar.cpp"
- >
- </File>
- <File
- RelativePath="..\WebSecurityOrigin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebSerializedJSValue.cpp"
- >
- </File>
- <File
- RelativePath="..\WebTextRenderer.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallenge.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSender.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSenderCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebURLAuthenticationChallengeSenderCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebURLCredential.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLProtectionSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\WebURLResponse.cpp"
- >
- </File>
- <File
- RelativePath="..\WebUserContentURLPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\WebView.cpp"
- >
- </File>
- <File
- RelativePath="..\WebWorkersPrivate.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="API"
- >
- <File
- RelativePath="..\WebKitCOMAPI.cpp"
- >
- </File>
- <File
- RelativePath="..\WebKitGraphics.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebLocalizableStrings.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="WebCoreSupport"
- >
- <File
- RelativePath="..\WebCoreSupport\EmbeddedWidget.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\EmbeddedWidget.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebChromeClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebChromeClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebContextMenuClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDragClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebDragClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebEditorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebEditorClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameLoaderClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebGeolocationClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebGeolocationClient.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorClient.h"
- >
- </File>
- <File
- RelativePath="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorDelegate.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebInspectorDelegate.h"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPlatformStrategies.cpp"
- >
- </File>
- <File
- RelativePath="..\WebCoreSupport\WebPlatformStrategies.h"
- >
- </File>
- </Filter>
- <File
- RelativePath="..\WebKitPrefix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKitPrefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKitPrefix.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLib"
+ ProjectGUID="{0662A8A9-82A3-4638-97D8-EC425D8D87C9}"
+ RootNamespace="WebKit"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitLibProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath="..\MarshallingHelpers.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitClassFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitDLL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitSystemBits.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNodeHighlight.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ <File
+ RelativePath="..\AccessibleBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleDocument.h"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleImage.h"
+ >
+ </File>
+ <File
+ RelativePath=".\autoversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\CFDictionaryPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\CodeAnalysisConfig.h"
+ >
+ </File>
+ <File
+ RelativePath="..\COMEnumVariant.h"
+ >
+ </File>
+ <File
+ RelativePath="..\COMPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\COMVariantSetter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultDownloadDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultPolicyDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCoreClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCSSClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMEventsClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMHTMLClasses.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ForEachCoClass.h"
+ >
+ </File>
+ <File
+ RelativePath="..\FullscreenVideoController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\MarshallingHelpers.h"
+ >
+ </File>
+ <File
+ RelativePath="..\MemoryStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\ProgIDMacros.h"
+ >
+ </File>
+ <File
+ RelativePath=".\resource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebActionPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebArchive.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebBackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCache.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCachedFramePlatformData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCookieManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreStatistics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDatabaseManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDataSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDocumentLoader.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDownload.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDropSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebElementPropertyBag.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFramePolicyListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPolicyListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistoryItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHTMLRepresentation.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebIconDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebInspector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebJavaScriptCollector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitClassFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitDLL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitGraphics.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebKitLogging.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitStatistics.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitStatisticsPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitSystemBits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebLocalizableStrings.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebMutableURLRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNavigationData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNodeHighlight.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotification.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotificationCenter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebPreferenceKeysPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebPreferences.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebResource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScrollBar.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSecurityOrigin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSerializedJSValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebTextRenderer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallenge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSender.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLCredential.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLProtectionSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLResponse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebUserContentURLPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebWorkersPrivate.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Classes"
+ >
+ <File
+ RelativePath="..\AccessibleBase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleDocument.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\AccessibleImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\CFDictionaryPropertyBag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultDownloadDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DefaultPolicyDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCoreClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMCSSClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMEventsClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\DOMHTMLClasses.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\ForEachCoClass.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\FullscreenVideoController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\MemoryStream.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebActionPropertyBag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebArchive.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebBackForwardList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCache.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCookieManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCookieManagerCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebCookieManagerCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebCoreStatistics.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDatabaseManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDataSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDocumentLoader.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDownload.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebDownloadCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebDownloadCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebDropSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebElementPropertyBag.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebError.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebFramePolicyListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPolicyListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebGeolocationPosition.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHistoryItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebHTMLRepresentation.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebIconDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebInspector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebJavaScriptCollector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitLogging.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitStatistics.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebMutableURLRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNavigationData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotification.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebNotificationCenter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebPreferences.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebResource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScriptWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebScrollBar.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSecurityOrigin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebSerializedJSValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebTextRenderer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallenge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSender.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSenderCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebURLAuthenticationChallengeSenderCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebURLCredential.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLProtectionSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebURLResponse.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebUserContentURLPattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebWorkersPrivate.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="API"
+ >
+ <File
+ RelativePath="..\WebKitCOMAPI.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKitGraphics.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebLocalizableStrings.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="WebCoreSupport"
+ >
+ <File
+ RelativePath="..\WebCoreSupport\EmbeddedWidget.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\EmbeddedWidget.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebChromeClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebChromeClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebContextMenuClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebContextMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDesktopNotificationsDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDragClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebDragClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebEditorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebEditorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameLoaderClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebFrameNetworkingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebGeolocationClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebGeolocationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\..\cf\WebCoreSupport\WebInspectorClientCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorDelegate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebInspectorDelegate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebPlatformStrategies.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebCoreSupport\WebPlatformStrategies.h"
+ >
+ </File>
+ </Filter>
+ <File
+ RelativePath="..\WebKitPrefix.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKitPrefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebKitPrefix.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj b/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
index f087413be..3c0977954 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUID.vcproj
@@ -1,348 +1,348 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUID"
- ProjectGUID="{B8437A41-67BC-4769-9452-45203827F821}"
- RootNamespace="WebKitGUID"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Release"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="4"
- InheritedPropertySheets=".\WebKitGUIDDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- OutputDirectory="Debug"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLibrarianTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\WebKit\Interfaces\WebKit_i.c"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUID"
+ ProjectGUID="{B8437A41-67BC-4769-9452-45203827F821}"
+ RootNamespace="WebKitGUID"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Debug"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Release"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Debug"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Release"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Release"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="4"
+ InheritedPropertySheets=".\WebKitGUIDDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ OutputDirectory="Debug"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLibrarianTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\WebKit\Interfaces\WebKit_i.c"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
index 1621ea6cb..be1978da4 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDCommon.vsprops
@@ -1,19 +1,19 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(ConfigurationBuildDir)\WebKit"
- PreprocessorDefinitions="_USRDLL;WEBKITGUID_EXPORTS"
- />
- <Tool
- Name="VCMIDLTool"
- AdditionalIncludeDirectories="Interfaces"
- HeaderFileName="$(InputName).h"
- />
-
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="$(ConfigurationBuildDir)\WebKit"
+ PreprocessorDefinitions="_USRDLL;WEBKITGUID_EXPORTS"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ AdditionalIncludeDirectories="Interfaces"
+ HeaderFileName="$(InputName).h"
+ />
+
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops
index af39c12cb..2bb7b0bff 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops
index b5b37cec0..16333c88c 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops
index c257899d4..074e68d9f 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops
index 31407c88f..72cce98f7 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops
index fefb330d9..907a46810 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops
index 03c34165d..02ac0ef3e 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitGUIDReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitGUIDReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitGUIDReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKitGUIDCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
index 32c5b2051..bc4d70c7a 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibCommon.vsprops
@@ -1,18 +1,18 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebKit&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..\WebCoreSupport&quot;;&quot;$(IntDir)\include&quot;;&quot;$(ConfigurationBuildDir)\obj\WebKit\DerivedSources&quot;"
- PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="WebKitPrefix.h"
- ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
- DisableSpecificWarnings="4819"
- ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ConfigurationBuildDir)\include\WebKit&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\include\pthreads&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..\WebCoreSupport&quot;;&quot;$(IntDir)\include&quot;;&quot;$(ConfigurationBuildDir)\obj\WebKit\DerivedSources&quot;"
+ PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="WebKitPrefix.h"
+ ProgramDataBaseFileName="$(OutDir)\$(TargetName).vc80.pdb"
+ DisableSpecificWarnings="4819"
+ ForcedIncludeFiles="WebKitPrefix.h;ICUVersion.h"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops
index 0830b8057..3721bb5d2 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops
index dc0a596fc..36ad6da0a 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops
index 8fb5e93b1..42e56bec0 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops
index 67636de41..206dad5a1 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops
index 019c1ee0a..99b5c8a9d 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops b/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops
index 85c4fc55c..abe0317fb 100644
--- a/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops
+++ b/Source/WebKit/win/WebKit.vcproj/WebKitLibReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKitLibReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKitLibReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKitLibCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit/win/WebKitDLL.h b/Source/WebKit/win/WebKitDLL.h
index 8ba5b8e0d..a4494cf19 100644
--- a/Source/WebKit/win/WebKitDLL.h
+++ b/Source/WebKit/win/WebKitDLL.h
@@ -34,7 +34,7 @@
#include <windows.h>
#include <wtf/HashCountedSet.h>
#include <wtf/text/StringHash.h>
-#include <WebCore/PlatformString.h>
+#include <wtf/text/WTFString.h>
#ifdef WEBKIT_EXPORTS
#define WEBKIT_API __declspec(dllexport)
diff --git a/Source/WebKit/win/WebKitGraphics.cpp b/Source/WebKit/win/WebKitGraphics.cpp
index 7423ad362..85eae16da 100644
--- a/Source/WebKit/win/WebKitGraphics.cpp
+++ b/Source/WebKit/win/WebKitGraphics.cpp
@@ -36,9 +36,9 @@
#include <WebCore/FontDescription.h>
#include <WebCore/FontSelector.h>
#include <WebCore/GraphicsContext.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/StringTruncator.h>
#include <WebCore/WebCoreTextRenderer.h>
+#include <wtf/text/WTFString.h>
#include <wtf/unicode/CharacterNames.h>
#include <CoreGraphics/CoreGraphics.h>
diff --git a/Source/WebKit/win/WebKitSystemBits.cpp b/Source/WebKit/win/WebKitSystemBits.cpp
index c77a78ba8..32e505c57 100644
--- a/Source/WebKit/win/WebKitSystemBits.cpp
+++ b/Source/WebKit/win/WebKitSystemBits.cpp
@@ -30,8 +30,8 @@
#include "WebKitSystemBits.h"
#include <CoreFoundation/CoreFoundation.h>
-#include <WebCore/PlatformString.h>
#include <windows.h>
+#include <wtf/text/WTFString.h>
unsigned long long WebMemorySize()
{
diff --git a/Source/WebKit/win/WebLocalizableStrings.cpp b/Source/WebKit/win/WebLocalizableStrings.cpp
index b05c55eb2..fd61a01fb 100644
--- a/Source/WebKit/win/WebLocalizableStrings.cpp
+++ b/Source/WebKit/win/WebLocalizableStrings.cpp
@@ -28,9 +28,9 @@
#include "WebLocalizableStrings.h"
-#include <WebCore/PlatformString.h>
#include <wtf/text/CString.h>
#include <wtf/text/StringHash.h>
+#include <wtf/text/WTFString.h>
#include <wtf/Assertions.h>
#include <wtf/HashMap.h>
@@ -40,8 +40,6 @@
class LocalizedString;
-using namespace WebCore;
-
WebLocalizableStringsBundle WebKitLocalizableStringsBundle = { "com.apple.WebKit", 0 };
typedef HashMap<String, LocalizedString*> LocalizedStringMap;
diff --git a/Source/WebKit/win/WebNotificationCenter.cpp b/Source/WebKit/win/WebNotificationCenter.cpp
index c7192d8d3..23de1c1c9 100644
--- a/Source/WebKit/win/WebNotificationCenter.cpp
+++ b/Source/WebKit/win/WebNotificationCenter.cpp
@@ -29,16 +29,14 @@
#include "WebNotification.h"
#include <WebCore/COMPtr.h>
-#include <WebCore/PlatformString.h>
+#include <utility>
+#include <wchar.h>
#include <wtf/HashMap.h>
#include <wtf/HashTraits.h>
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
#include <wtf/text/StringHash.h>
-#include <utility>
-#include <wchar.h>
-
-using namespace WebCore;
+#include <wtf/text/WTFString.h>
typedef std::pair<COMPtr<IUnknown>, COMPtr<IWebNotificationObserver> > ObjectObserverPair;
typedef Vector<ObjectObserverPair> ObjectObserverList;
diff --git a/Source/WebKit/win/WebResource.h b/Source/WebKit/win/WebResource.h
index d5a01acb9..d8fb433e1 100644
--- a/Source/WebKit/win/WebResource.h
+++ b/Source/WebKit/win/WebResource.h
@@ -29,10 +29,10 @@
#include "WebKit.h"
#include <WebCore/COMPtr.h>
#include <WebCore/KURL.h>
-#include <WebCore/PlatformString.h>
#include <WebCore/ResourceResponse.h>
#include <WebCore/SharedBuffer.h>
#include <wtf/PassRefPtr.h>
+#include <wtf/text/WTFString.h>
class WebResource : public IWebResource {
public:
diff --git a/Source/WebKit/win/WebView.cpp b/Source/WebKit/win/WebView.cpp
index 70d491edb..9ea9332ec 100644
--- a/Source/WebKit/win/WebView.cpp
+++ b/Source/WebKit/win/WebView.cpp
@@ -1322,7 +1322,7 @@ bool WebView::handleContextMenuEvent(WPARAM wParam, LPARAM lParam)
m_page->contextMenuController()->clearContextMenu();
IntPoint documentPoint(m_page->mainFrame()->view()->windowToContents(coords));
- HitTestResult result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(documentPoint, false);
+ HitTestResult result = m_page->mainFrame()->eventHandler()->hitTestResultAtPoint(documentPoint);
Frame* targetFrame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
targetFrame->view()->setCursor(pointerCursor());
@@ -3198,7 +3198,7 @@ HRESULT STDMETHODCALLTYPE WebView::stringByEvaluatingJavaScriptFromString(
else if (scriptExecutionResult.isString()) {
JSC::ExecState* exec = coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec();
JSC::JSLockHolder lock(exec);
- *result = BString(ustringToString(scriptExecutionResult.getString(exec)));
+ *result = BString(scriptExecutionResult.getString(exec));
}
return S_OK;
@@ -3597,7 +3597,7 @@ HRESULT STDMETHODCALLTYPE WebView::elementAtPoint(
IntPoint webCorePoint = IntPoint(point->x, point->y);
HitTestResult result = HitTestResult(webCorePoint);
if (frame->contentRenderer())
- result = frame->eventHandler()->hitTestResultAtPoint(webCorePoint, false);
+ result = frame->eventHandler()->hitTestResultAtPoint(webCorePoint);
*elementDictionary = WebElementPropertyBag::createInstance(result);
return S_OK;
}
@@ -5546,19 +5546,17 @@ static void compositionToUnderlines(const Vector<DWORD>& clauses, const Vector<B
#define APPEND_ARGUMENT_NAME(name) \
if (lparam & name) { \
if (needsComma) \
- result += ", "; \
- result += #name; \
+ result.appendLiteral(", "); \
+ result.appendLiteral(#name); \
needsComma = true; \
}
static String imeCompositionArgumentNames(LPARAM lparam)
{
- String result;
+ StringBuilder result;
bool needsComma = false;
- if (lparam & GCS_COMPATTR) {
- result = "GCS_COMPATTR";
- needsComma = true;
- }
+
+ APPEND_ARGUMENT_NAME(GCS_COMPATTR);
APPEND_ARGUMENT_NAME(GCS_COMPCLAUSE);
APPEND_ARGUMENT_NAME(GCS_COMPREADSTR);
APPEND_ARGUMENT_NAME(GCS_COMPREADATTR);
@@ -5573,7 +5571,7 @@ static String imeCompositionArgumentNames(LPARAM lparam)
APPEND_ARGUMENT_NAME(CS_INSERTCHAR);
APPEND_ARGUMENT_NAME(CS_NOMOVECARET);
- return result;
+ return result.toString();
}
static String imeNotificationName(WPARAM wparam)
diff --git a/Source/WebKit/wince/ChangeLog b/Source/WebKit/wince/ChangeLog
index 31f521746..d66fa5923 100644
--- a/Source/WebKit/wince/ChangeLog
+++ b/Source/WebKit/wince/ChangeLog
@@ -1,3 +1,47 @@
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp:
+ (PlatformStrategiesWinCE::getPluginInfo):
+
2012-08-13 Tom Sepez <tsepez@chromium.org>
[chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
diff --git a/Source/WebKit/wx/ChangeLog b/Source/WebKit/wx/ChangeLog
index 1952bbbf0..4f3bdab15 100644
--- a/Source/WebKit/wx/ChangeLog
+++ b/Source/WebKit/wx/ChangeLog
@@ -1,3 +1,44 @@
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API.
+
+ * WebFrame.cpp:
+ (WebKit::WebFrame::HitTest):
+
+2012-09-05 Sam Weinig <sam@webkit.org>
+
+ Part 2 of removing PlatformString.h, remove PlatformString.h
+ https://bugs.webkit.org/show_bug.cgi?id=95931
+
+ Reviewed by Adam Barth.
+
+ Remove PlatformString.h
+
+ * WebFrame.cpp:
+ * WebKitSupport/ChromeClientWx.cpp:
+ * WebKitSupport/EditorClientWx.cpp:
+ * WebKitSupport/FrameLoaderClientWx.cpp:
+ * WebKitSupport/InspectorClientWx.cpp:
+ * WebSettings.cpp:
+ * WebView.cpp:
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Update the #includes to use the correct types.
+
+ * WebFrame.cpp:
+ * WebView.cpp:
+
2012-08-13 Tom Sepez <tsepez@chromium.org>
[chromium] release FrameLoaderClientImpl::m_pluginWidget refptr upon Plugin Document detach.
diff --git a/Source/WebKit/wx/WebFrame.cpp b/Source/WebKit/wx/WebFrame.cpp
index 942c4beaa..470165db4 100644
--- a/Source/WebKit/wx/WebFrame.cpp
+++ b/Source/WebKit/wx/WebFrame.cpp
@@ -42,7 +42,6 @@
#include "HTMLFrameOwnerElement.h"
#include "markup.h"
#include "Page.h"
-#include "PlatformString.h"
#include "PrintContext.h"
#include "RenderTreeAsText.h"
#include "RenderObject.h"
@@ -54,8 +53,8 @@
#include "JSDOMBinding.h"
#include <runtime/JSValue.h>
-#include <runtime/UString.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#include "EditorClientWx.h"
#include "FrameLoaderClientWx.h"
@@ -690,7 +689,7 @@ WebViewDOMElementInfo WebFrame::HitTest(const wxPoint& pos) const
WebViewDOMElementInfo domInfo;
if (m_impl->frame->view()) {
- WebCore::HitTestResult result = m_impl->frame->eventHandler()->hitTestResultAtPoint(m_impl->frame->view()->windowToContents(pos), false);
+ WebCore::HitTestResult result = m_impl->frame->eventHandler()->hitTestResultAtPoint(m_impl->frame->view()->windowToContents(pos));
if (result.innerNode()) {
domInfo.SetLink(result.absoluteLinkURL().string());
domInfo.SetText(result.textContent());
diff --git a/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp b/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
index 757bb0682..5f1167b54 100644
--- a/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/ChromeClientWx.cpp
@@ -40,7 +40,6 @@
#include "Icon.h"
#include "NavigationAction.h"
#include "NotImplemented.h"
-#include "PlatformString.h"
#include "SecurityOrigin.h"
#include "PopupMenuWx.h"
#include "SearchPopupMenuWx.h"
@@ -58,6 +57,7 @@
#include "WebBrowserShell.h"
#include "WebView.h"
#include "WebViewPrivate.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp b/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
index 7ce6bd5ae..d700a967a 100644
--- a/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/EditorClientWx.cpp
@@ -38,12 +38,12 @@
#include "NotImplemented.h"
#include "Page.h"
#include "PlatformKeyboardEvent.h"
-#include "PlatformString.h"
#include "WebFrame.h"
#include "WebFramePrivate.h"
#include "WebView.h"
#include "WebViewPrivate.h"
#include "WindowsKeyboardCodes.h"
+#include <wtf/text/WTFString.h>
#include <stdio.h>
diff --git a/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp b/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
index 18b6730da..8ac269675 100644
--- a/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/FrameLoaderClientWx.cpp
@@ -43,7 +43,6 @@
#include "HTMLFrameOwnerElement.h"
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
#include "PluginView.h"
#include "ProgressTracker.h"
#include "RenderPart.h"
@@ -56,6 +55,7 @@
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
#include <stdio.h>
#if OS(UNIX)
diff --git a/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp b/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp
index a7a5de7ca..276b13e06 100644
--- a/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp
+++ b/Source/WebKit/wx/WebKitSupport/InspectorClientWx.cpp
@@ -28,7 +28,7 @@
#include "NotImplemented.h"
#include "Page.h"
-#include "PlatformString.h"
+#include <wtf/text/WTFString.h>
namespace WebCore {
diff --git a/Source/WebKit/wx/WebSettings.cpp b/Source/WebKit/wx/WebSettings.cpp
index 4f8a5bcb8..d89db3000 100644
--- a/Source/WebKit/wx/WebSettings.cpp
+++ b/Source/WebKit/wx/WebSettings.cpp
@@ -29,8 +29,8 @@
#include "config.h"
#include "WebSettings.h"
-#include "PlatformString.h"
#include "Settings.h"
+#include <wtf/text/WTFString.h>
namespace WebKit {
diff --git a/Source/WebKit/wx/WebView.cpp b/Source/WebKit/wx/WebView.cpp
index acb60f643..99f7b3939 100644
--- a/Source/WebKit/wx/WebView.cpp
+++ b/Source/WebKit/wx/WebView.cpp
@@ -47,7 +47,6 @@
#include "Page.h"
#include "PlatformKeyboardEvent.h"
#include "PlatformMouseEvent.h"
-#include "PlatformString.h"
#include "PlatformWheelEvent.h"
#include "RenderObject.h"
#include "RenderView.h"
@@ -72,9 +71,9 @@
#include "JSDOMBinding.h"
#include <runtime/InitializeThreading.h>
#include <runtime/JSValue.h>
-#include <runtime/UString.h>
#include <wtf/MainThread.h>
#include <wtf/text/CString.h>
+#include <wtf/text/WTFString.h>
#if ENABLE(SQL_DATABASE)
#include "AbstractDatabase.h"
diff --git a/Source/WebKit2/CMakeLists.txt b/Source/WebKit2/CMakeLists.txt
index c43dd4ac8..f2ba7471b 100644
--- a/Source/WebKit2/CMakeLists.txt
+++ b/Source/WebKit2/CMakeLists.txt
@@ -48,6 +48,7 @@ SET(WebKit2_INCLUDE_DIRECTORIES
"${WEBCORE_DIR}/Modules/battery"
"${WEBCORE_DIR}/Modules/intents"
"${WEBCORE_DIR}/Modules/networkinfo"
+ "${WEBCORE_DIR}/Modules/notifications"
"${WEBCORE_DIR}/Modules/vibration"
"${WEBCORE_DIR}/accessibility"
"${WEBCORE_DIR}/bindings/js"
diff --git a/Source/WebKit2/ChangeLog b/Source/WebKit2/ChangeLog
index c956117b3..83ca1d8d9 100644
--- a/Source/WebKit2/ChangeLog
+++ b/Source/WebKit2/ChangeLog
@@ -1,3 +1,2905 @@
+2012-09-10 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [SOUP] Don't convert to UTF-8 the suggestedFilename passed to Download::decideDestinationWithSuggestedFilename()
+ https://bugs.webkit.org/show_bug.cgi?id=96261
+
+ Reviewed by Martin Robinson.
+
+ * WebProcess/Downloads/soup/DownloadSoup.cpp:
+ (WebKit::DownloadClient::didReceiveResponse):
+
+2012-09-10 Alexander Shalamov <alexander.shalamov@intel.com>
+
+ [EFL][WK2] Add fullscreen enter / exit signals to the ewk_view API
+ https://bugs.webkit.org/show_bug.cgi?id=92362
+
+ Reviewed by Gyuyoung Kim.
+
+ Handle WebFullScreenManagerProxy::enterFullScreen and exitFullScreen
+ methods, so that ewk_view could enter and exit fullscreen mode when requested.
+ Also, two callbacks were added to ewk_view API, so that UI could customise
+ behavior when fullscreen mode is requested, e.g. show security dialog.
+
+ * UIProcess/API/efl/ewk_settings.cpp:
+ (ewk_settings_fullscreen_enabled_set):
+ (ewk_settings_fullscreen_enabled_get):
+ * UIProcess/API/efl/ewk_settings.h:
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_initialize):
+ (ewk_view_full_screen_enter):
+ (ewk_view_full_screen_exit):
+ * UIProcess/API/efl/ewk_view.h:
+ * UIProcess/API/efl/ewk_view_private.h:
+ * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
+ (TEST_F):
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+ (fullScreenCallback):
+ (checkFullScreenProperty):
+ (TEST_F):
+ * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
+ (WebKit::WebFullScreenManagerProxy::enterFullScreen):
+ (WebKit::WebFullScreenManagerProxy::exitFullScreen):
+
+2012-09-10 Kevin Funk <kevin.funk@kdab.com>
+
+ [Qt] Fix deprecation failures if QT_NO_DEPRECATED enabled
+ https://bugs.webkit.org/show_bug.cgi?id=96258
+
+ Reviewed by Simon Hausmann.
+
+ Sync with latest changes in Qt5.
+
+ * WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp:
+ * WebProcess/qt/WebProcessQt.cpp:
+
+2012-09-10 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] Sanitize the suggested filename when building the download destination URI
+ https://bugs.webkit.org/show_bug.cgi?id=96260
+
+ Reviewed by Gustavo Noronha Silva.
+
+ The suggested filename returned by the server can contain
+ directory separators so that the filename would be interpreted as
+ a full path.
+
+ * UIProcess/API/gtk/WebKitDownload.cpp:
+ (webkitDownloadDecideDestination): Convert any directory separator
+ contained in the suggested filename to an underscore.
+
+2012-09-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix generation of forward headers for generated files in WebCore on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96245
+
+ Reviewed by Tor Arne Vestbø.
+
+ We generate the forwarding header files of generated WebCore sources by using
+ mkdir to ensure the target directory exists, followed by
+ echo #include "..." > file.h. On Windows mkdir returns with an error if the
+ target directory exists. For us that is not an error, so work around it with
+ (mkdir path 2>nul || echo>nul)
+
+ * DerivedSources.pri:
+
+2012-09-10 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ [Qt][WK2] REGRESSION(r127861): It made one test fail and one test crash
+ https://bugs.webkit.org/show_bug.cgi?id=96243
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Skip the code if QClipboard is not available, and give WebCore a chance to handle the event first.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleMouseEvent):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::handleMouseReleaseEvent):
+
+2012-09-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] WK2 build fixes for MSVC
+ https://bugs.webkit.org/show_bug.cgi?id=96248
+
+ Reviewed by Tor Arne Vestbø.
+
+ MSVC is picky when it comes to the use of forward declaration and the use of
+ such forward declared types in templates. In these instances inline functions were
+ passed parameters in RefPtrs that were only forward declared, but at compile time
+ MSVC wants to know what type it is in order to completely instantiate RefPtr (which
+ needs to call the type destructor for example). Therefore this patch resolves a couple
+ of forward declarations with direct header file inclusions.
+
+ * UIProcess/API/qt/raw/qrawwebview_p_p.h:
+ * UIProcess/InspectorServer/WebSocketServerClient.h:
+ * UIProcess/qt/QtPageClient.h:
+
+2012-09-10 Andras Becsi <andras.becsi@nokia.com>
+
+ [Qt][WK2] QWebKitTest should retrieve the viewport state from the PageViewportController
+ https://bugs.webkit.org/show_bug.cgi?id=96106
+
+ Reviewed by Simon Hausmann.
+
+ The functions in PageViewportControllerClientQt proxying the
+ viewport state values can be removed if QWebKitTest uses the
+ PageViewportController to retrieve these values.
+
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate::viewportController):
+ * UIProcess/API/qt/qwebkittest.cpp:
+ (QWebKitTest::viewport):
+ (QWebKitTest::devicePixelRatio):
+ (QWebKitTest::contentsScale):
+ * UIProcess/PageViewportController.h:
+ (WebKit::PageViewportController::currentContentsScale):
+ * UIProcess/qt/PageViewportControllerClientQt.cpp:
+ * UIProcess/qt/PageViewportControllerClientQt.h:
+ (PageViewportControllerClientQt):
+
+2012-09-10 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [WK2] Make WK2 C API headers compile in the Qt build on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96246
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ WKBase.h and WKAPICast.h include files that are specific to the Safari/Windows
+ port if WIN32 or _WIN32 is defined. When building WebKit2 on Windows with Qt, we
+ do not want to include these files, as they define an API that is different to ours
+ (the view aspect differs). Therefore guard the inclusion with !defined(BUILDING_QT__)
+
+ * Shared/API/c/WKBase.h:
+ * UIProcess/API/C/WKAPICast.h:
+
+2012-09-10 Kevin Funk <kevin.funk@kdab.com>
+
+ Replace calls to QString::fromAscii which is deprecated in Qt5
+ https://bugs.webkit.org/show_bug.cgi?id=96242
+
+ Reviewed by Simon Hausmann.
+
+ Replace with QString::fromLatin1 which does the same.
+
+ * UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp:
+
+2012-09-10 Christophe Dumez <christophe.dumez@intel.com>
+
+ [WK2] New fast/forms/number/number-interactive-validation-required.html fails
+ https://bugs.webkit.org/show_bug.cgi?id=95936
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add WKPreference private API for manipulate the interactive form
+ validation setting. This is now needed by WebKitTestRunner.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetInteractiveFormValidationEnabled):
+ (WKPreferencesGetInteractiveFormValidationEnabled):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2012-09-09 Sam Weinig <sam@webkit.org>
+
+ Simplify WebKit2 XPC service backend now that I know it doesn't need to soft link WebKit2.framework
+ https://bugs.webkit.org/show_bug.cgi?id=96228
+
+ Reviewed by Dan Bernstein.
+
+ We soft link the non-XPC service WebProcess backend to the WebKit2 framework to
+ ensure that we can close all the necessary file descriptors at launch, without
+ fear that we will be closing one we open while initializing WebKit2 or one of its
+ dependencies. Since we don't need to close file descriptors in the XPC service
+ backend, we don't need to soft link! While here, also do some cleanup and code
+ sharing.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::launchXPCService):
+ We don't need to send the framework executable path anymore (it was used for the
+ soft linking), but we do need the client identifier.
+
+ * WebKit2.xcodeproj/project.pbxproj:
+ Add new files. Link the XPC service to WebKit2.framework.
+
+ * WebKit2Service/MainMacService.mm:
+ Now that we don't have to soft link, just make this a stub that calls immediately
+ into the WebKit2 framework.
+
+ * WebProcess/mac/WebProcessInitialization.h: Added.
+ * WebProcess/mac/WebProcessInitialization.mm: Added.
+ (WebKit::InitializeWebProcess):
+ Move initialization that is common between the XPC and non-XPC backends here.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMain):
+ Remove XPC backend related code. Use new shared InitializeWebProcess function.
+
+ * WebProcess/mac/WebProcessXPCServiceMain.h: Added.
+ * WebProcess/mac/WebProcessXPCServiceMain.mm: Added.
+ (WebKit::WebKit2ServiceEventHandler):
+ (WebProcessXPCServiceMain):
+ Move XPC service backend initialization here.
+
+2012-09-09 Emil A Eklund <eae@chromium.org>
+
+ Rename Node::getRect/getPixelSnappedRect and remove ContainerNode::getRect
+ https://bugs.webkit.org/show_bug.cgi?id=81413
+
+ Reviewed by David Hyatt.
+
+ Update WebPage to call pixelSnappedBoundingBox.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::editorState):
+
+2012-09-08 Sam Weinig <sam@webkit.org>
+
+ Switch to entering the sandbox directly from main(), rather than waiting for the initialization message
+ https://bugs.webkit.org/show_bug.cgi?id=96194
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
+ (WebKit::ProcessLauncher::launchProcess):
+ Pass a client identifier to WebProcess as a command line argument
+ so that it can be used to create private temporary and cache directories.
+
+ * WebProcess/WebProcess.h:
+ (WebProcess):
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::WebProcess::initializeSandbox):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Expose the initializeSandbox() function and stop calling it from platformInitializeWebProcess()
+ since it is now going to be called from WebProcessMain. Also, move changing the current working
+ directory to sandbox initialization function and replace use of creation parameters with just
+ the client identifier.
+
+ * WebProcess/com.apple.WebProcess.sb.in:
+ Add some new exceptions that come from entering the sandbox earlier in the AppKit
+ initialization process. Don't allow access to com.apple.coreservices.appleevents.
+
+ * WebProcess/mac/WebProcessMainMac.mm:
+ (WebKit::WebProcessMainXPC):
+ (WebKit::WebProcessMain):
+ Enter the sandbox explicitly, not waiting until the initialization message. Also,
+ since we now have an extra parameter for the client identifier, make the WebProcess
+ launches the UIProcess code path work by extracting a client identifier from the
+ client executable path.
+
+2012-09-09 Patrick Gansterer <paroga@webkit.org>
+
+ Make the String initialization on the function side of String::number()
+ https://bugs.webkit.org/show_bug.cgi?id=95940
+
+ Reviewed by Benjamin Poulain.
+
+ * win/WebKit2.def:
+ * win/WebKit2CFLite.def:
+
+2012-09-09 Pierre Rossi <pierre.rossi@gmail.com>
+
+ [WK2] expose element rect for color input type
+ https://bugs.webkit.org/show_bug.cgi?id=91664
+
+ Reviewed by Simon Hausmann.
+
+ In the same way we do for select elements already. This allows placing the picker
+ in a sensible location.
+
+ * UIProcess/API/efl/PageClientImpl.cpp: Update the function's signature.
+ (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
+ * UIProcess/API/efl/PageClientImpl.h: Ditto.
+ (PageClientImpl):
+ * UIProcess/API/gtk/PageClientImpl.cpp:
+ (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
+ * UIProcess/API/gtk/PageClientImpl.h: Ditto.
+ (PageClientImpl):
+ * UIProcess/API/mac/PageClientImpl.h: Ditto.
+ (PageClientImpl):
+ * UIProcess/API/mac/PageClientImpl.mm:
+ (WebKit::PageClientImpl::createColorChooserProxy): Ditto.
+ * UIProcess/API/qt/raw/qrawwebview.cpp:
+ (QRawWebViewPrivate::createColorChooserProxy): Ditto.
+ * UIProcess/API/qt/raw/qrawwebview_p_p.h: Ditto.
+ (QRawWebViewPrivate):
+ * UIProcess/PageClient.h: Ditto.
+ (PageClient):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showColorChooser): Compute the rect mapped to the current view's transform.
+ * UIProcess/WebPageProxy.h:
+ (WebPageProxy):
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/qt/QtPageClient.cpp:
+ (WebKit::QtPageClient::createColorChooserProxy):
+ * UIProcess/qt/QtPageClient.h:
+ (QtPageClient):
+ * UIProcess/qt/WebColorChooserProxyQt.cpp:
+ (ColorChooserContextObject):
+ (WebKit::ColorChooserContextObject::ColorChooserContextObject):
+ (WebKit::ColorChooserContextObject::elementRect):
+ (WebKit::ColorChooserContextObject::accept):
+ (WebKit::WebColorChooserProxyQt::WebColorChooserProxyQt):
+ * UIProcess/qt/WebColorChooserProxyQt.h:
+ (WebKit::WebColorChooserProxyQt::create):
+ (WebColorChooserProxyQt):
+ * UIProcess/win/WebView.cpp:
+ (WebKit::WebView::createColorChooserProxy): Update the function's signature.
+ * UIProcess/win/WebView.h:
+ (WebView): Ditto.
+ * WebProcess/WebCoreSupport/WebColorChooser.cpp:
+ (WebKit::WebColorChooser::WebColorChooser):
+
+2012-09-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Add missing files to the WebKit2 build on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96177
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ For the build on Windows we can re-use existing functionality from the Safari/Windows
+ build, such as the IPC implementation.
+
+ * Target.pri:
+
+2012-09-09 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [WK2] Fix PLATFORM(WIN) vs. OS(WINDOWS) in various files
+ https://bugs.webkit.org/show_bug.cgi?id=96178
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ PLATFORM(WIN) is used in various places, where it is safe to use OS(WINDOWS) to allow
+ the re-use of that code path in ports beyond Safari/Windows.
+
+ * Platform/CoreIPC/BinarySemaphore.h:
+ (BinarySemaphore):
+ * Platform/CoreIPC/Connection.h:
+ (Connection):
+ * Platform/SharedMemory.h:
+ (Handle):
+ (SharedMemory):
+ * Platform/WorkQueue.h:
+
+2012-09-08 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL][WK2] Minibrowser crashes on right mouse click
+ https://bugs.webkit.org/show_bug.cgi?id=95955
+
+ Reviewed by Simon Hausmann.
+
+ Make early return if the PageClient does not create a ContextMenuProxy.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::internalShowContextMenu):
+
+2012-09-08 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix CoreIPC setup between ProcessLauncher and WebProcessMain on Windows
+ https://bugs.webkit.org/show_bug.cgi?id=96179
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+ (WebKit::ProcessLauncher::launchProcess): Hide Unixy platform specific code
+ and includes behind appropriate platform #ifdefs and use
+ CoreIPC::Connection::createServerAndClientIdentifiers to set up the IPC pipes.
+ We also need to tell Windows about our intent of using the client handle in
+ the child web process.
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt): After retrieving the IPC identifier we call
+ WebKit::WebProcess::shared().initialize with it. That function actually
+ cares a CIPC::Connection::Identifier as argument, which happens to be an
+ int on Unix, but it's actually a HANDLE on Windows. Change the parameter
+ type according to and a reinterpret_cast from the converted unsigned integer,
+ similar to WebProcessMainWin.cpp.
+
+2012-09-08 Christophe Dumez <christophe.dumez@intel.com>
+
+ [WK2] New fast/events/tab-focus-link-in-canvas fails from r126908
+ https://bugs.webkit.org/show_bug.cgi?id=95329
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add implementation for overriding the WebKitTabToLinksPreferenceKey
+ preference as well as the corresponding WKPreferences API that
+ is needed by WebKitTestRunner.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetTabToLinksEnabled):
+ (WKPreferencesGetTabToLinksEnabled):
+ * UIProcess/API/C/WKPreferencesPrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+ * WebProcess/WebPage/WebPage.h:
+ (WebKit::WebPage::setTabToLinksEnabled):
+ (WebKit::WebPage::tabToLinksEnabled):
+
+2012-09-07 Benjamin Poulain <bpoulain@apple.com>
+
+ Rename the ustring() accessor to string()
+ https://bugs.webkit.org/show_bug.cgi?id=95919
+
+ Reviewed by Geoffrey Garen.
+
+ * WebProcess/Plugins/Netscape/NPJSObject.cpp:
+ (WebKit::NPJSObject::enumerate):
+
+2012-09-06 Jeffrey Pfau <jpfau@apple.com>
+
+ Extend third-party storage blocking API to optionally allow blocking all storage
+ https://bugs.webkit.org/show_bug.cgi?id=95915
+
+ Reviewed by Brady Eidson.
+
+ Update WK2 API to use revised Settings API.
+
+ * Shared/WebPreferencesStore.h:
+ (WebKit):
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toStorageBlockingPolicy):
+ (WebKit):
+ (WebKit::toAPI):
+ * UIProcess/API/C/WKPreferences.cpp:
+ (WKPreferencesSetStorageBlockingPolicy):
+ (WKPreferencesGetStorageBlockingPolicy):
+ * UIProcess/API/C/WKPreferences.h:
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::updatePreferences):
+
+2012-09-07 Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com>
+
+ [EFL] [WK2] Set theme for the inspector view
+ https://bugs.webkit.org/show_bug.cgi?id=96108
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Set the theme for the inspector view when it is created.
+
+ * UIProcess/efl/WebInspectorProxyEfl.cpp:
+ (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+
+2012-09-07 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] Use same default minimum logical font size in DRT and WTR
+ https://bugs.webkit.org/show_bug.cgi?id=96116
+
+ Reviewed by Martin Robinson.
+
+ Add private bundle C API to set the minimum logicial font
+ size setting. This is needed by WebKitTestRunner.
+
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleSetMinimumLogicalFontSize):
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setMinimumLogicalFontSize):
+ (WebKit):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (InjectedBundle):
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Simplify hitTestResultAtPoint and nodesFromRect APIs
+ https://bugs.webkit.org/show_bug.cgi?id=95720
+
+ Reviewed by Antonio Gomes.
+
+ Update calls to new API and update exported symbols.
+
+ * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
+ (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleContextMenuEvent):
+ (WebKit::WebPage::highlightPotentialActivation): Corrects the misplaced arguments while converting them.
+ (WebKit::WebPage::findZoomableAreaForPoint):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::WebPage::characterIndexForPoint):
+ (WebKit::WebPage::performDictionaryLookupAtLocation):
+ (WebKit::WebPage::shouldDelayWindowOrderingEvent):
+ (WebKit::WebPage::acceptsFirstMouse):
+ * win/WebKit2.def:
+ * win/WebKit2CFLite.def:
+
+2012-09-07 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ X11 Global Selection
+ https://bugs.webkit.org/show_bug.cgi?id=88238
+
+ Reviewed by Tony Chang.
+
+ Implements the hooks for supporting global selections in Qt WebKit2.
+
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ (WebKit::WebEditorClient::updateGlobalSelection):
+ (WebKit::WebEditorClient::supportsGlobalSelection):
+ * WebProcess/WebCoreSupport/WebEditorClient.h:
+ * WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
+ (WebKit::WebEditorClient::updateGlobalSelection):
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::handleMouseEvent):
+ * WebProcess/WebPage/WebPage.h:
+ (WebPage):
+ * WebProcess/WebPage/qt/WebPageQt.cpp:
+ (WebKit::WebPage::handleMouseReleaseEvent):
+
+2012-09-07 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ [WK2] APIClientTraits<WKPageLoaderClient> and APIClientTraits<WKBundlePageLoaderClient> are not initialized properly
+ https://bugs.webkit.org/show_bug.cgi?id=96079
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ APIClientTraits<WKPageLoaderClient> was missing offset for version number 2 and
+ APIClientTraits<WKBundlePageLoaderClient> was missing offset for version number 3.
+
+ * Shared/APIClientTraits.cpp:
+ (WebKit):
+
+2012-09-07 Eunmi Lee <eunmi15.lee@samsung.com>
+
+ [EFL][WK2] Add APIs to enable or disable the mouse events of the ewk_view.
+ https://bugs.webkit.org/show_bug.cgi?id=88631
+
+ Reviewed by Gyuyoung Kim.
+
+ We can turn on/off the mouse events of the ewk_view using the mouse
+ events enabling API. This API can be used when we want to turn off the
+ mouse events on the touchscreen device to process the touch events
+ instead of the mouse events.
+
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
+ (_ewk_view_smart_add):
+ (ewk_view_mouse_events_enabled_set):
+ (ewk_view_mouse_events_enabled_get):
+ * UIProcess/API/efl/ewk_view.h:
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+ (TEST_F):
+
+2012-09-07 Tim Horton <timothy_horton@apple.com>
+
+ Add optional debug logging when we fall into/out of threaded scrolling
+ https://bugs.webkit.org/show_bug.cgi?id=93898
+ <rdar://problem/12089098>
+
+ Reviewed by Simon Fraser.
+
+ Update the scrolling tree's scrollingPerformanceLoggingEnabled preference
+ before the early-return if we don't have layer debugging borders on.
+
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+ (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
+
+2012-09-06 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ Deploy StringBuilder in more places in WebKit2
+ https://bugs.webkit.org/show_bug.cgi?id=95924
+
+ Reviewed by Benjamin Poulain.
+
+ Deploy StringBuilder to concatenate strings more efficiently.
+
+ * Shared/WebMemorySampler.cpp:
+ (WebKit):
+ (WebKit::WebMemorySampler::WebMemorySampler):
+ (WebKit::WebMemorySampler::stop):
+ (WebKit::WebMemorySampler::writeHeaders):
+ (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
+ * Shared/WebMemorySampler.h:
+ (WebMemorySampler):
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::capitalizeRFC822HeaderFieldName):
+ * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
+ (WebKit::WebContextMenuClient::searchWithGoogle):
+
+2012-09-06 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL][WK2] Add API unit tests for ewk_view_theme_set.
+ https://bugs.webkit.org/show_bug.cgi?id=94670
+
+ Reviewed by Gyuyoung Kim.
+
+ Added unit tests for ewk_view_theme_set.
+
+ * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:
+ (EWK2UnitTest::EWK2UnitTestEnvironment::pathForResource):
+ Added to get path of resource.
+ * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
+ Ditto.
+ * UIProcess/API/efl/tests/resources/big_button_theme.edj:
+ Added test theme file which has text_confinement of button as
+ rel1 { ... offset : 150 8; } rel2 { ... offset : -150 -11; }.
+ * UIProcess/API/efl/tests/resources/empty_theme.edj:
+ Added test theme file which includes nothing.
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+ Added unit test for ewk_view_theme_set.
+
+2012-09-06 Csaba Osztrogonác <ossy@webkit.org>
+
+ Move RenderView::setFixedPositionedObjectsNeedLayout to FrameView
+ https://bugs.webkit.org/show_bug.cgi?id=96017
+
+ Unreviewed Qt-WK2 buildfix after r127783.
+
+ * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
+ (WebKit::LayerTreeCoordinator::syncFixedLayers):
+
+2012-09-05 Alexey Proskuryakov <ap@apple.com>
+
+ [WK2] Annotate multi-process FIXMEs with bug numbers
+ https://bugs.webkit.org/show_bug.cgi?id=95916
+
+ Reviewed by Eric Carlson.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::setProcessModel): Ensure that plug-in process is enabled.
+ Comments in WebPluginSiteDataManager said that it's required for multi-process.
+ (WebKit::WebContext::createNewWebProcess): Added a bug number.
+ (WebKit::WebContext::disconnectProcess): Ditto.
+ (WebKit::WebContext::createWebPage): Ditto.
+ (WebKit::WebContext::download): Ditto.
+ (WebKit::WebContext::getWebCoreStatistics): Ditto.
+
+ * UIProcess/Plugins/WebPluginSiteDataManager.cpp:
+ (WebKit::WebPluginSiteDataManager::getSitesWithData):
+ (WebKit::WebPluginSiteDataManager::clearSiteData):
+ Removed FIXMEs - some ports haven't switched to plugin process yet, but that
+ doesn't stop others from having a multi-process model. Added an ASSERT to document
+ this requirement (in addition to the check in WebContext).
+
+ * UIProcess/Downloads/DownloadProxy.cpp:
+ (WebKit::DownloadProxy::cancel):
+ (WebKit::DownloadProxy::didReceiveAuthenticationChallenge):
+ (WebKit::DownloadProxy::startTransfer):
+ * UIProcess/WebApplicationCacheManagerProxy.cpp:
+ (WebKit::WebApplicationCacheManagerProxy::getApplicationCacheOrigins):
+ (WebKit::WebApplicationCacheManagerProxy::deleteEntriesForOrigin):
+ (WebKit::WebApplicationCacheManagerProxy::deleteAllEntries):
+ * UIProcess/WebCookieManagerProxy.cpp:
+ (WebKit::WebCookieManagerProxy::getHostnamesWithCookies):
+ (WebKit::WebCookieManagerProxy::getHTTPCookieAcceptPolicy):
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::getDatabasesByOrigin):
+ (WebKit::WebDatabaseManagerProxy::getDatabaseOrigins):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin):
+ (WebKit::WebDatabaseManagerProxy::deleteDatabasesForOrigin):
+ (WebKit::WebDatabaseManagerProxy::deleteAllDatabases):
+ (WebKit::WebDatabaseManagerProxy::setQuotaForOrigin):
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::getLoadDecisionForIconURL):
+ (WebKit::WebIconDatabase::didFinishURLImport):
+ * UIProcess/WebKeyValueStorageManagerProxy.cpp:
+ (WebKit::WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins):
+ (WebKit::WebKeyValueStorageManagerProxy::deleteEntriesForOrigin):
+ (WebKit::WebKeyValueStorageManagerProxy::deleteAllEntries):
+ * UIProcess/WebMediaCacheManagerProxy.cpp:
+ (WebKit::WebMediaCacheManagerProxy::getHostnamesWithMediaCache):
+ * UIProcess/WebResourceCacheManagerProxy.cpp:
+ (WebKit::WebResourceCacheManagerProxy::getCacheOrigins):
+ (WebKit::WebResourceCacheManagerProxy::clearCacheForOrigin):
+ (WebKit::WebResourceCacheManagerProxy::clearCacheForAllOrigins):
+ Added bug numbers.
+
+2012-09-06 Michael Saboff <msaboff@apple.com>
+
+ WebKit2 IPC always sends strings using 16 bit data format
+ https://bugs.webkit.org/show_bug.cgi?id=95811
+
+ Reviewed by Benjamin Poulain.
+
+ Changed string encoding to pass an 8bit flag and then send either 8 or 16 bit
+ character data.
+
+ * Platform/CoreIPC/ArgumentCoders.cpp:
+ (CoreIPC::::encode):
+ (CoreIPC::decodeStringText): New templatized string creation and decoder method.
+ (CoreIPC::::decode):
+
+2012-09-06 Carlos Garcia Campos <cgarcia@igalia.com>
+
+ [GTK] [WK2] Crash when navigating between pages
+ https://bugs.webkit.org/show_bug.cgi?id=95949
+
+ Reviewed by Martin Robinson.
+
+ Do not trust isMainResource parameter in
+ webkitWebViewResourceLoadStarted(), because it's always true for
+ all subresources of pages loaded from the history cache. We can
+ simply assume that the first resource loaded for the main frame
+ is the main web view resource.
+
+ * UIProcess/API/gtk/WebKitResourceLoadClient.cpp:
+ (didInitiateLoadForResource):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkitWebViewResourceLoadStarted):
+ * UIProcess/API/gtk/WebKitWebViewPrivate.h:
+
+2012-09-06 Balazs Kelemen <kbalazs@webkit.org>
+
+ [WK2] Crash in WebPageProxy::showPopupMenu if PageClient does not implement createPopupMenuProxy
+ https://bugs.webkit.org/show_bug.cgi?id=95862
+
+ Reviewed by Simon Hausmann.
+
+ Bail out early if the PageClient does not create a PopupMenuProxy for us.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+
+2012-09-06 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL][WK2] Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
+ https://bugs.webkit.org/show_bug.cgi?id=95943
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Provide implementation for WebPage::performDefaultBehaviorForKeyEvent()
+ in EFL WK2.
+
+ * WebProcess/WebPage/efl/WebPageEfl.cpp:
+ (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
+
+2012-09-06 Patrick Gansterer <paroga@webkit.org>
+
+ Remove String::operator+=() from windows platform code
+ https://bugs.webkit.org/show_bug.cgi?id=95904
+
+ Reviewed by Benjamin Poulain.
+
+ Use StringBuilder and operator+() to concatenate strings instead of operator+=().
+
+ * UIProcess/win/WebView.cpp:
+ (WebKit::imeCompositionArgumentNames):
+
+2012-09-06 Kihong Kwon <kihong.kwon@samsung.com>
+
+ [CMake] Add notifications path to the WebKit2/CMakeLists.txt
+ https://bugs.webkit.org/show_bug.cgi?id=95843
+
+ Reviewed by Laszlo Gombos.
+
+ Add WebCore/Modules/Notifications to the WebKit2_INCLUDE_DIRECTORIES of WebKit2/CMakeLists.txt.
+ There are some build errors when ENABLE_NOTIFICATIONS feature is enabled.
+
+ * CMakeLists.txt:
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Various small Windows / MSVC build fixes
+ https://bugs.webkit.org/show_bug.cgi?id=95934
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ * Shared/LayerTreeContext.h: Include stdint.h due to the use of uint32_t as layer id.
+ * UIProcess/API/qt/qquickwebview_p.h:
+ (WebKit): Fix struct vs. class forward declaration mismatch, causing linking errors.
+ * UIProcess/API/qt/tests/bytearraytestdata.h: Remove export macro from internal test class
+ that is not used anymore. Using the export macro from a DLL when the code in question is not
+ part of the DLL results in the export macro expanding to dllimport, giving incorrect linkage
+ for the unit test.
+ * WebProcess/qt/WebProcessMainQt.cpp:
+ (WebKit::WebProcessMainQt): Removed explicit call to srandom(), which is not available on Windows.
+ The call appears to be unnecessary in the light of the WTF::initializeThreading() call below, which
+ in turn calls WTF::initializeRandomNumberGenerator(), which does the same thing already (and isn't
+ needed on Windows, as per comment in wtf/RandomNumberSeed.h)
+
+2012-09-06 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix build with ANGLE on platforms that provide EGL/GLESv2
+ https://bugs.webkit.org/show_bug.cgi?id=95965
+
+ Reviewed by Tor Arne Vestbø.
+
+ Depend on ANGLE if necessary, due to the use WebCore types that pull in ANGLE
+ headers (GraphicsContext3D.h in particular).
+
+ * Target.pri:
+
+2012-09-06 Andras Becsi <andras.becsi@nokia.com>
+
+ [WK2] Make [Qt]ViewportHandler cross platform
+ https://bugs.webkit.org/show_bug.cgi?id=91257
+
+ Reviewed by Kenneth Rohde Christiansen and Simon Hausmann.
+
+ Since QtViewportHandler includes behaviour that is not platform
+ specific together with hooks to the QtQuick API layer, a platform
+ independent implementation would allow other ports to use the
+ viewport controlling functionality provided.
+
+ This patch removes QtViewportHandler and introduces a platform
+ independent PageViewportController class that is responsible
+ for handling requests from the web process (eg. content size
+ changes, viewport attributes changes and scroll position requests).
+ Requests from the web process are acted on by a platform specific
+ client class which implements the PageViewportControllerClient
+ interface which provides hooks to the platform specific API layer.
+
+ The PageViewportController is also responsible to notify the web
+ process about changes in the viewport state (eg. viewport size,
+ visible rect, content scale and movement trajectory).
+ The client is responsible to delegate these UI changes to the
+ PageViewportController.
+
+ For now only PageViewportControllerClientQt implements the client
+ interface besides providing other QQuick specific functionality
+ (gestures, animations, etc).
+
+ * Target.pri:
+ * UIProcess/API/qt/qquickwebpage_p_p.h:
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::onComponentComplete):
+ (QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate):
+ (QQuickWebViewFlickablePrivate::didChangeViewportProperties):
+ (QQuickWebViewFlickablePrivate::updateViewportSize):
+ (QQuickWebViewFlickablePrivate::pageDidRequestScroll):
+ (QQuickWebViewFlickablePrivate::didChangeContentsSize):
+ * UIProcess/API/qt/qquickwebview_p.h:
+ (WebKit):
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (WebKit):
+ (QQuickWebViewPrivate::pageViewportControllerClient):
+ (QQuickWebViewPrivate):
+ (QQuickWebViewFlickablePrivate):
+ * UIProcess/API/qt/qwebkittest.cpp:
+ (QWebKitTest::viewport):
+ (QWebKitTest::devicePixelRatio):
+ (QWebKitTest::contentsScale):
+ * UIProcess/PageViewportController.cpp: Added.
+ (WebKit):
+ (WebKit::bound):
+ (WebKit::fuzzyCompare):
+ (WebKit::boundPosition):
+ (WebKit::ViewportUpdateDeferrer::ViewportUpdateDeferrer):
+ (WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
+ (WebKit::PageViewportController::PageViewportController):
+ (WebKit::PageViewportController::convertFromViewport):
+ (WebKit::PageViewportController::convertToViewport):
+ (WebKit::PageViewportController::innerBoundedContentsScale):
+ (WebKit::PageViewportController::outerBoundedContentsScale):
+ (WebKit::PageViewportController::didChangeContentsSize):
+ (WebKit::PageViewportController::pageDidRequestScroll):
+ (WebKit::PageViewportController::setViewportSize):
+ (WebKit::PageViewportController::setVisibleContentsRect):
+ (WebKit::PageViewportController::syncVisibleContents):
+ (WebKit::PageViewportController::didChangeViewportAttributes):
+ (WebKit::PageViewportController::suspendContent):
+ (WebKit::PageViewportController::resumeContent):
+ (WebKit::PageViewportController::positionRangeForContentAtScale):
+ * UIProcess/PageViewportController.h: Added.
+ (WebCore):
+ (WebKit):
+ (ViewportUpdateDeferrer):
+ (PageViewportController):
+ (WebKit::PageViewportController::~PageViewportController):
+ (WebKit::PageViewportController::hasSuspendedContent):
+ (WebKit::PageViewportController::hadUserInteraction):
+ (WebKit::PageViewportController::allowsUserScaling):
+ (WebKit::PageViewportController::contentsLayoutSize):
+ (WebKit::PageViewportController::devicePixelRatio):
+ (WebKit::PageViewportController::minimumContentsScale):
+ (WebKit::PageViewportController::maximumContentsScale):
+ (WebKit::PageViewportController::setHadUserInteraction):
+ * UIProcess/PageViewportControllerClient.h: Added.
+ (WebKit):
+ (PageViewportControllerClient):
+ (WebKit::PageViewportControllerClient::PageViewportControllerClient):
+ (WebKit::PageViewportControllerClient::~PageViewportControllerClient):
+ * UIProcess/qt/PageViewportControllerClientQt.cpp: Added.
+ (WebKit):
+ (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
+ (WebKit::PageViewportControllerClientQt::ScaleAnimation::updateCurrentValue):
+ (WebKit::PageViewportControllerClientQt::~PageViewportControllerClientQt):
+ (WebKit::PageViewportControllerClientQt::setContentRectVisiblePositionAtScale):
+ (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
+ (WebKit::PageViewportControllerClientQt::flickMoveStarted):
+ (WebKit::PageViewportControllerClientQt::flickMoveEnded):
+ (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
+ (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
+ (WebKit::PageViewportControllerClientQt::touchBegin):
+ (WebKit::PageViewportControllerClientQt::touchEnd):
+ (WebKit::PageViewportControllerClientQt::focusEditableArea):
+ (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
+ (WebKit::PageViewportControllerClientQt::nearestValidVisibleContentsRect):
+ (WebKit::PageViewportControllerClientQt::setContentsPosition):
+ (WebKit::PageViewportControllerClientQt::setContentsScale):
+ (WebKit::PageViewportControllerClientQt::setContentsRectToNearestValidBounds):
+ (WebKit::PageViewportControllerClientQt::didResumeContent):
+ (WebKit::PageViewportControllerClientQt::allowsUserScaling):
+ (WebKit::PageViewportControllerClientQt::devicePixelRatio):
+ (WebKit::PageViewportControllerClientQt::minimumContentsScale):
+ (WebKit::PageViewportControllerClientQt::maximumContentsScale):
+ (WebKit::PageViewportControllerClientQt::currentContentsScale):
+ (WebKit::PageViewportControllerClientQt::contentsLayoutSize):
+ (WebKit::PageViewportControllerClientQt::scrollAnimationActive):
+ (WebKit::PageViewportControllerClientQt::panGestureActive):
+ (WebKit::PageViewportControllerClientQt::panGestureStarted):
+ (WebKit::PageViewportControllerClientQt::panGestureRequestUpdate):
+ (WebKit::PageViewportControllerClientQt::panGestureEnded):
+ (WebKit::PageViewportControllerClientQt::panGestureCancelled):
+ (WebKit::PageViewportControllerClientQt::scaleAnimationActive):
+ (WebKit::PageViewportControllerClientQt::cancelScrollAnimation):
+ (WebKit::PageViewportControllerClientQt::interruptScaleAnimation):
+ (WebKit::PageViewportControllerClientQt::pinchGestureActive):
+ (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
+ (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
+ (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
+ (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
+ (WebKit::PageViewportControllerClientQt::visibleContentsRect):
+ (WebKit::PageViewportControllerClientQt::didChangeContentsSize):
+ (WebKit::PageViewportControllerClientQt::didChangeVisibleContents):
+ (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
+ (WebKit::PageViewportControllerClientQt::updateViewportController):
+ (WebKit::PageViewportControllerClientQt::scaleContent):
+ (WebKit::PageViewportControllerClientQt::viewportScaleForRect):
+ * UIProcess/qt/PageViewportControllerClientQt.h: Added.
+ (WebKit):
+ (PageViewportControllerClientQt):
+ (WebKit::PageViewportControllerClientQt::setController):
+ (ScaleAnimation):
+ (WebKit::PageViewportControllerClientQt::ScaleAnimation::ScaleAnimation):
+ (WebKit::PageViewportControllerClientQt::ScaleStackItem::ScaleStackItem):
+ (ScaleStackItem):
+ * UIProcess/qt/QtGestureRecognizer.cpp:
+ (WebKit::QtGestureRecognizer::viewportController):
+ * UIProcess/qt/QtGestureRecognizer.h:
+ (WebKit):
+ * UIProcess/qt/QtPanGestureRecognizer.cpp:
+ (WebKit::QtPanGestureRecognizer::update):
+ (WebKit::QtPanGestureRecognizer::finish):
+ (WebKit::QtPanGestureRecognizer::cancel):
+ * UIProcess/qt/QtPinchGestureRecognizer.cpp:
+ (WebKit::QtPinchGestureRecognizer::update):
+ (WebKit::QtPinchGestureRecognizer::finish):
+ (WebKit::QtPinchGestureRecognizer::cancel):
+ * UIProcess/qt/QtViewportHandler.cpp: Removed.
+ * UIProcess/qt/QtWebPageEventHandler.cpp:
+ (WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
+ (WebKit::QtWebPageEventHandler::setViewportController):
+ (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
+ (WebKit::QtWebPageEventHandler::handleInputEvent):
+ (WebKit::QtWebPageEventHandler::doneWithTouchEvent):
+ (WebKit::QtWebPageEventHandler::didFindZoomableArea):
+ * UIProcess/qt/QtWebPageEventHandler.h:
+ (WebKit):
+ (QtWebPageEventHandler):
+ (WebKit::QtWebPageEventHandler::viewportController):
+
+2012-09-06 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL][WK2] WebMemorySampler.cpp is included twice.
+ https://bugs.webkit.org/show_bug.cgi?id=95910
+
+ Reviewed by Kentaro Hara.
+
+ Now WebMemorySampler.cpp is in CMakeLists.txt and PlatformEfl.cmake.
+
+ * PlatformEfl.cmake: Removed WebMemorySampler.cpp from source lists.
+
+2012-09-05 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL][WK2] Implement missing feature to support <select> tag
+ https://bugs.webkit.org/show_bug.cgi?id=95708
+
+ Reviewed by Gyuyoung Kim.
+
+ Added missing APIs for select tag.
+
+ This patch provides all functionality of current WebPopupItem to applications.
+
+ * UIProcess/API/efl/ewk_popup_menu_item.cpp:
+ (_Ewk_Popup_Menu_Item):
+ (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
+ (ewk_popup_menu_item_new):
+ (ewk_popup_menu_item_text_direction_get):
+ (ewk_popup_menu_item_text_direction_override_get):
+ (ewk_popup_menu_item_tooltip_get):
+ (ewk_popup_menu_item_accessibility_text_get):
+ (ewk_popup_menu_item_enabled_get):
+ (ewk_popup_menu_item_is_label_get):
+ (ewk_popup_menu_item_selected_get):
+ * UIProcess/API/efl/ewk_popup_menu_item.h:
+ * UIProcess/API/efl/ewk_popup_menu_item_private.h:
+ * UIProcess/API/efl/ewk_view.cpp:
+ (ewk_view_popup_menu_request):
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+ (checkBasicPopupMenuItem):
+ (showPopupMenu): Updated test case to cover new APIs.
+ (TEST_F):
+
+2012-09-05 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL][WK2] Provide implementation for WebProcess functions
+ https://bugs.webkit.org/show_bug.cgi?id=95857
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Rename WebProcessGtk to WebProcessSoup and reuse it in
+ EFL port since all the code is soup-related. We now
+ have a proper implementation for the WebProcess
+ platform methods.
+
+ * GNUmakefile.list.am:
+ * PlatformEfl.cmake:
+ * WebProcess/efl/WebProcessEfl.cpp: Removed.
+ * WebProcess/efl/WebProcessMainEfl.cpp:
+ (WebKit::WebProcessMainEfl): Enable soup cache for the soup session similarly to GTK port.
+ * WebProcess/soup/WebProcessSoup.cpp: Renamed from Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp.
+ (WebKit):
+ (WebKit::getCacheDiskFreeSize):
+ (WebKit::getMemorySize):
+ (WebKit::WebProcess::platformSetCacheModel):
+ (WebKit::WebProcess::platformClearResourceCaches):
+ (WebKit::buildAcceptLanguages):
+ (WebKit::setSoupSessionAcceptLanguage):
+ (WebKit::languageChanged):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ (WebKit::WebProcess::platformTerminate):
+
+2012-09-05 Benjamin Poulain <bpoulain@apple.com>
+
+ More fixes for String::operator+=() on Mac
+ https://bugs.webkit.org/show_bug.cgi?id=95880
+
+ Reviewed by Adam Barth.
+
+ * UIProcess/WebInspectorProxy.cpp:
+ (WebKit::WebInspectorProxy::createInspectorPage): This is a legitimate use of append(),
+ there is no other concatenation outside that branch.
+ * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
+ (WebKit::parseRFC822HeaderFields): Use string operators instead of +=.
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::userAgent): Another legitimate use of append().
+
+2012-09-05 Alexey Proskuryakov <ap@apple.com>
+
+ [WK2] Make visited link tracking work in multi-process mode
+ https://bugs.webkit.org/show_bug.cgi?id=95869
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/VisitedLinkProvider.h:
+ * UIProcess/VisitedLinkProvider.cpp:
+ (WebKit::VisitedLinkProvider::VisitedLinkProvider): m_webProcessHasVisitedLinkState
+ was making no sense in multi-process world, so it was let go.
+ (WebKit::VisitedLinkProvider::processDidFinishLaunching): Track new processes.
+ (WebKit::VisitedLinkProvider::processDidClose): Clean up pointers that are going
+ to become stale.
+ (WebKit::VisitedLinkProvider::pendingVisitedLinksTimerFired): Added comments. Fixed
+ a bug where we would churn table size in some cases. Added debug logging in failure
+ case. Re-implemented messaging code to work with multiple web processes.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::processDidFinishLaunching): Pass process proxy pointer to
+ m_visitedLinkProvider, as it now needs to track processes.
+ (WebKit::WebContext::disconnectProcess): Ditto. Also re-enabled visited link provider
+ cleanup in multi-process mode.
+
+2012-09-05 Brady Eidson <beidson@apple.com>
+
+ Frequent crashes in PluginView::scriptObject under runtimeObjectCustomGetOwnPropertySlot
+ <rdar://problem/12142226> and https://bugs.webkit.org/show_bug.cgi?id=95026
+
+ Patch partially by Andras Becsi <andras.becsi@nokia.com>
+
+ Reviewed by Andy Estes.
+
+ If a plug-in fails to initialize then the m_plugin pointer is cleared out.
+ When accessing the script object it is appropriate to unconditionally null check m_plugin.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::scriptObject): Null check m_plugin before trying to use it.
+
+2012-09-05 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL][WK2] Provide implementation for WebFrameNetworkingContext
+ https://bugs.webkit.org/show_bug.cgi?id=95826
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Remove EFL-specific and empty implementation for WebFrameNetworkingContext
+ and use the existing soup implementation instead.
+
+ * PlatformEfl.cmake:
+ * WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h: Removed.
+
+2012-09-05 Kaustubh Atrawalkar <kaustubh@motorola.com>
+
+ [DRT] LTC:: Move printing related APIs from LayoutTestController to Internals
+ https://bugs.webkit.org/show_bug.cgi?id=92735
+
+ Reviewed by Hajime Morita.
+
+ Move numberOfPages, pageProperty & pageSizeAndMarginsInPixels in Internals and remove duplicated code from DumprenderTree & WebkitTestRunner.
+ Add symbols for Mac Win builds for corresponding newly added APIs.
+
+ * win/WebKit2.def:
+ * win/WebKit2CFLite.def:
+
+2012-09-05 Balazs Kelemen <kbalazs@webkit.org>
+
+ [Qt] QRawWebViewPrivate does not initialize some members
+ https://bugs.webkit.org/show_bug.cgi?id=95709
+
+ Reviewed by Luiz Agostini.
+
+ Don't miss initializing the bool flags.
+
+ * UIProcess/API/qt/raw/qrawwebview.cpp:
+ (QRawWebViewPrivate::QRawWebViewPrivate):
+
+2012-09-04 Kangil Han <kangil.han@samsung.com>
+
+ [WK2] Use explicit constructor in InjectedBundle.
+ https://bugs.webkit.org/show_bug.cgi?id=95746
+
+ Reviewed by Sam Weinig.
+
+ Added explicit keyword in constructor of InjectedBundle in order to avoid implicit type conversion.
+
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (InjectedBundle):
+
+2012-09-03 Sam Weinig <sam@webkit.org>
+
+ Part 1 of removing PlatformString.h, move remaining functions to new homes
+ https://bugs.webkit.org/show_bug.cgi?id=95702
+
+ Reviewed by Beth Dakin.
+
+ * UIProcess/WebPageProxy.h:
+ Forward declare SharedBuffer.
+
+2012-09-04 Jeffrey Pfau <jpfau@apple.com>
+
+ Make plugins respect third-party storage blocking setting
+ https://bugs.webkit.org/show_bug.cgi?id=94888
+
+ Reviewed by Brady Eidson.
+
+ Plugins that are in a third-party context should be put into private browsing mode so their storage is temporary.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::isPrivateBrowsingEnabled): Put the plugin into private browsing mode if it is in a third-party context.
+ (WebKit::PluginView::privateBrowsingStateChanged): Make sure a plugin doesn't leave private browsing mode if it's in a third-party context.
+
+2012-09-04 Pekka Vuorela <pvuorela@iki.fi>
+
+ [Qt] Remove use of deprecated QInputMethod method
+ https://bugs.webkit.org/show_bug.cgi?id=95741
+
+ Reviewed by Simon Hausmann.
+
+ Adapt from deprecated QInputMethod::visible() to isVisible().
+
+ * UIProcess/qt/QtWebPageEventHandler.cpp:
+ (WebKit::setInputPanelVisible):
+ (WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
+
+2012-09-04 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Allow child-frame content in hit-tests.
+ https://bugs.webkit.org/show_bug.cgi?id=95204
+
+ Reviewed by Antonio Gomes.
+
+ Update symbols for the Windows build-system.
+
+ * win/WebKit2.def:
+ * win/WebKit2CFLite.def:
+
+2012-09-04 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL] Drop default theme concept
+ https://bugs.webkit.org/show_bug.cgi?id=94778
+
+ Reviewed by Gyuyoung Kim.
+
+ * PlatformEfl.cmake: Removed DEFAULT_THEME_PATH definitions.
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_initialize): Removed default theme concept.
+ * UIProcess/API/efl/ewk_view.h:
+ Updated doxygen document not to mention default theme.
+
+2012-09-03 Kangil Han <kangil.han@samsung.com>
+
+ [WK2][WTR] Implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
+ https://bugs.webkit.org/show_bug.cgi?id=95576
+
+ Reviewed by Maciej Stachowiak.
+
+ Added a line of macro to implement WebKitEnableCaretBrowsing attribute in testRunner.overridePreference
+
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
+
+2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ [Qt] Not all activated elements highlighted, but some frames are
+ https://bugs.webkit.org/show_bug.cgi?id=95683
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Use the new function Node::willRespondToMouseClickEvents to better determine if the element
+ can be tap-activated and avoid documents and frames completely.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::highlightPotentialActivation):
+
+2012-09-03 Eunmi Lee <eunmi15.lee@samsung.com>
+
+ [EFL][WK2] Add ewk_settings.
+ https://bugs.webkit.org/show_bug.cgi?id=91206
+
+ Reviewed by Gyuyoung Kim.
+
+ Add the ewk_settings which wraps the WKPreferencesRef.
+ The ewk_settings will be created by the ewk_view and it will be
+ destroyed when the ewk_view is destroyed. I make each view to have
+ its own group to make one ewk_settings sets preferences only for
+ one ewk_view.
+ The application can get the ewk_settings from ewk_view using
+ ewk_view_settings_get() API.
+
+ * UIProcess/API/efl/EWebKit2.h:
+ * UIProcess/API/efl/ewk_settings.cpp: Added.
+ (ewk_settings_enable_scripts_set):
+ (ewk_settings_enable_scripts_get):
+ (ewk_settings_auto_load_images_set):
+ (ewk_settings_auto_load_images_get):
+ * UIProcess/API/efl/ewk_settings.h: Added.
+ * UIProcess/API/efl/ewk_settings_private.h: Added.
+ (_Ewk_Settings):
+ (_Ewk_Settings::_Ewk_Settings):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_initialize):
+ (ewk_view_settings_get):
+ * UIProcess/API/efl/ewk_view.h:
+ * UIProcess/API/efl/tests/test_ewk2_settings.cpp: Added.
+ (TEST_F):
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+ (TEST_F):
+
+2012-09-03 Allan Sandfeld Jensen <allan.jensen@nokia.com>
+
+ Wheel-events fails temporarily after reload
+ https://bugs.webkit.org/show_bug.cgi?id=94934
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Set fixed visible content rect using visibleContentBounds instead of WebPage::size. Otherwise the
+ content rect will be incorrectly set to the entire document size, when resizesToContents is active.
+
+ Test: UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
+
+ * UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml:
+ * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+ (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
+
+2012-09-03 Jinwoo Song <jinwoo7.song@samsung.com>
+
+ [EFL] Use WebKitVersion.h to get version information
+ https://bugs.webkit.org/show_bug.cgi?id=95669
+
+ Reviewed by Gyuyoung Kim.
+
+ Use WEBKIT_MAJOR_VERSION and WEBKIT_MINOR_VERSION
+ in the WebKitVersion.h
+
+ * UIProcess/efl/WebPageProxyEfl.cpp:
+ (WebKit::WebPageProxy::standardUserAgent):
+
+2012-09-03 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL][WK2] Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage API test
+ https://bugs.webkit.org/show_bug.cgi?id=95671
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Skip EWK2UnitTestBase.ewk_cookie_manager_permanent_storage
+ API test since it is flaky on the bots.
+
+ * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
+ (TEST_F):
+
+2012-09-02 Kenichi Ishibashi <bashi@chromium.org>
+
+ WK2: Build failure on SnowLeopard after r127384
+ https://bugs.webkit.org/show_bug.cgi?id=95665
+
+ Reviewed by Dan Bernstein.
+
+ Add SandboxExtension::consumePermanently(const Handle&) for !ENABLE(WEB_PROCESS_SANDBOX) to fix link error.
+
+ * Shared/SandboxExtension.h:
+ (WebKit::SandboxExtension::consumePermanently):
+
+2012-09-02 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL][WK2] Keep activePopupMenu to call valueChangedForPopupMenu() outside showPopupMenu()
+ https://bugs.webkit.org/show_bug.cgi?id=95355
+
+ Reviewed by Gyuyoung Kim.
+
+ Efl does not have a proper way to support nested loop so that applications
+ may change value after showPopupMenu() is finished.
+
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp: Improved test case to cover this bug.
+ (selectItemAfterDelayed):
+ (showPopupMenu):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::showPopupMenu):
+ Guard with !PLATFORM(EFL) to keep the activePopupMenu valid to call valueChangedForPopupMenu
+ outside showPopupMenu().
+
+2012-09-02 Byungwoo Lee <bw80.lee@gmail.com>
+
+ [EFL] Add missing semicolon at the end of some lines.
+ https://bugs.webkit.org/show_bug.cgi?id=95640
+
+ Reviewed by Gyuyoung Kim.
+
+ EWK_VIEW_PRIV_GET_OR_RETURN macro and other related macro can be used
+ without semicolon, because it ends with a semicolon or complete block.
+ This can make a human mistake about missing semicolon.
+
+ Fixed the macros to require semicolon, and added missing semicolons.
+
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_smart_focus_in):
+ (_ewk_view_smart_focus_out):
+ (_ewk_view_smart_mouse_wheel):
+ (_ewk_view_smart_mouse_down):
+ (_ewk_view_smart_mouse_up):
+ (_ewk_view_smart_mouse_move):
+ (_ewk_view_smart_key_down):
+ (_ewk_view_smart_key_up):
+ (_ewk_view_initialize):
+
+2012-09-01 Sam Weinig <sam@webkit.org>
+
+ Remove unused member variable from WebProcess.
+
+ Rubber-stamped by Dan Bernstein.
+
+ * WebProcess/WebProcess.h:
+ (WebProcess):
+ Remove m_applicationCachePathExtension.
+
+2012-09-01 Sam Weinig <sam@webkit.org>
+
+ Use dynamic sandbox extension rather than sandbox parameters for paths provided by the UIProcess
+ https://bugs.webkit.org/show_bug.cgi?id=95651
+
+ Reviewed by Dan Bernstein.
+
+ This is the first step to not relying on the initialization message to initialize
+ the sandbox.
+
+ * Shared/SandboxExtension.h:
+ (SandboxExtension):
+ * Shared/mac/SandboxExtensionMac.mm:
+ (WebKit::SandboxExtension::consumePermanently):
+ Add static version of SandboxExtension::consumePermanently which takes a
+ SandboxExtension::Handle. There is no reason to create a SandboxExtension
+ just to consume it forever.
+
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ (WebProcessCreationParameters):
+ Add SandboxExtension::Handles for paths we need access to, and remove
+ webInspectorBaseDirectory, which is unused.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::createNewWebProcess):
+ * UIProcess/mac/WebContextMac.mm:
+ (WebKit::WebContext::platformInitializeWebProcess):
+ Create SandboxExtension::Handles for paths we need access to, and move
+ getting the presenterApplicationPid to platformInitializeWebProcess, since
+ it is Mac only.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::initializeWebProcess):
+ Move setting the presenterApplicationPid to platformInitializeWebProcess.
+
+ * WebProcess/mac/WebProcessMac.mm:
+ (WebKit::initializeSandbox):
+ (WebKit::WebProcess::platformInitializeWebProcess):
+ Replace the use of sandbox parameters for opening access for necessary paths
+ with permanent consumption of sandbox extensions.
+
+ * WebProcess/com.apple.WebProcess.sb.in:
+ Remove sandbox rules that are now handled via extensions.
+
+2012-08-31 Byungwoo Lee <bw80.lee@samsung.com>
+
+ Build warning : -Wformat on WebMemorySampler.cpp.
+ https://bugs.webkit.org/show_bug.cgi?id=95550
+
+ Reviewed by Darin Adler.
+
+ Fix build warning.
+ Use String::number instead of String::format.
+
+ * Shared/WebMemorySampler.cpp:
+ (WebKit::WebMemorySampler::appendCurrentMemoryUsageToFile):
+
+2012-08-31 Alexey Proskuryakov <ap@apple.com>
+
+ [WK2] Use initial process in multi-process mode, too
+ https://bugs.webkit.org/show_bug.cgi?id=95612
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::WebContext):
+ (WebKit::WebContext::warmInitialProcess):
+ (WebKit::WebContext::disconnectProcess):
+ (WebKit::WebContext::createWebPage):
+ * UIProcess/WebContext.h:
+ Added a boolean telling whether the last (normally, the only) process in m_processes
+ is available for use in a new page.
+
+2012-08-31 Alexey Proskuryakov <ap@apple.com>
+
+ [WK2] WebProcesses should not wait 60 seconds to close in multi-process mode
+ https://bugs.webkit.org/show_bug.cgi?id=95616
+
+ Reviewed by Darin Adler.
+
+ * Shared/ChildProcess.cpp: (WebKit::ChildProcess::ChildProcess):
+ * Shared/ChildProcess.h: (WebKit::ChildProcess::setTerminationTimeout):
+ Expose a setter for timeout instead of taking it at construction time. If a derived
+ class doesn't call the setter, default to 0.
+
+ * PluginProcess/PluginProcess.cpp:
+ (WebKit::PluginProcess::PluginProcess):
+ (WebKit::PluginProcess::initializePluginProcess):
+ Use timeout from initialization message.
+
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::WebProcess):
+ (WebKit::WebProcess::initializeWebProcess):
+ Ditto.
+
+ * Shared/Plugins/PluginProcessCreationParameters.cpp:
+ (WebKit::PluginProcessCreationParameters::encode):
+ (WebKit::PluginProcessCreationParameters::decode):
+ * Shared/Plugins/PluginProcessCreationParameters.h:
+ * Shared/WebProcessCreationParameters.cpp:
+ (WebKit::WebProcessCreationParameters::encode):
+ (WebKit::WebProcessCreationParameters::decode):
+ * Shared/WebProcessCreationParameters.h:
+ Funnel timeout across process boundary.
+
+ * UIProcess/Plugins/PluginProcessProxy.cpp: (WebKit::PluginProcessProxy::didFinishLaunching):
+ Pass timeout as initialization message after launch.
+
+ * UIProcess/WebContext.cpp:
+ (WebKit::WebContext::createNewWebProcess): Pass timeout as initialization message
+ (unlike plugin process proxy, web process proxy doesn't wait, and relies on the message
+ being queued).
+ (WebKit::WebContext::disconnectProcess): Skip invalidating global managers when
+ one process quits. We still need to do something, but running this code would just
+ result in assertion failures any time a page was closed.
+
+2012-08-31 Brady Eidson <beidson@apple.com>
+
+ REGRESSION (r127252): incomplete repaint on Flash element after pinch to zoom
+ <rdar://problem/12217897> and https://bugs.webkit.org/show_bug.cgi?id=95607
+
+ Reviewed by Simon Fraser.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::viewGeometryDidChange): Only give the window coordinate clip rect a chance
+ to override the boundsRect() if the page scale factor is 1.
+
+2012-08-31 Tony Chang <tony@chromium.org>
+
+ Remove ENABLE_CSS3_FLEXBOX compile time flag
+ https://bugs.webkit.org/show_bug.cgi?id=95382
+
+ Reviewed by Ojan Vafai.
+
+ Everyone is already enabling this by default and the spec has stablized.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-31 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Follow on fix for Mac EWS - use objc-runtime.h instead of runtime.h so
+ that it finds the declaration for objc_msgSend.
+
+ * UIProcess/API/mac/PDFViewController.mm:
+
+2012-08-31 Jon Lee <jonlee@apple.com>
+
+ [Tests] Add basic tests to http/tests/notifications
+ https://bugs.webkit.org/show_bug.cgi?id=95493
+ <rdar://problem/12209303>
+
+ Reviewed by Alexey Proskuryakov.
+
+ Simplify the passing of the permission policy to just a boolean instead of converting it
+ back and forth from the NotificationClient::Permission enum.
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Move the declaration to the section
+ of functions that are TestRunner SPI.
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setWebNotificationPermission): Use a boolean.
+ * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
+ (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting):
+ * WebProcess/Notifications/NotificationPermissionRequestManager.h:
+ (NotificationPermissionRequestManager):
+
+ * win/WebKit2.vcproj: Add WKNotificationPermissionRequest.{h,cpp}.
+ * win/WebKit2Generated.make: Export WKNotificationPermissionRequest.h.
+
+2012-08-31 Balazs Kelemen <kbalazs@webkit.org>
+
+ [Qt] ASSERT(m_useFixedLayout) in WebPage when using QRawWebView without setting fixed layout
+ https://bugs.webkit.org/show_bug.cgi?id=95557
+
+ Reviewed by Noam Rosenthal.
+
+ Let QRawWebView work with non-fixed layout size.
+
+ * UIProcess/API/qt/raw/qrawwebview.cpp:
+ (QRawWebView::setSize): Also put the member assigment into
+ the point where the new size is ensured to be committed.
+
+2012-08-31 Balazs Kelemen <kbalazs@webkit.org>
+
+ [Qt] LayerTreeRenderer::callOnMainTread method name is misleading
+ https://bugs.webkit.org/show_bug.cgi?id=95558
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fix the typo in the function name so callers will really call this
+ and not WTF::callOnMainThread. Renamed to dispatchOnMainThread to
+ make it clear that these things are not the same.
+
+ * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
+ (WebKit::LayerTreeRenderer::dispatchOnMainThread):
+ (WebKit::LayerTreeRenderer::flushLayerChanges):
+ (WebKit::LayerTreeRenderer::purgeGLResources):
+ * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
+ (LayerTreeRenderer):
+
+2012-08-31 Brady Eidson <beidson@apple.com>
+
+ REGRESSION (127047): Crash in PluginProxy::windowVisibilityChanged when changing tabs
+ <rdar://problem/12211180> and https://bugs.webkit.org/show_bug.cgi?id=95515
+
+ Reviewed by Dan Bernstein.
+
+ Plug-ins created in background tabs don't get initialized until they first become visible,
+ so telling them they are now invisible leads to messaging on behalf of an uninitialized plug-in.
+
+ Many other methods related to visibility and focus only call through if the plug-in is initialized,
+ so setWindowIsVisible should do the same.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowIsVisible): Only tell initialized plug-ins of window visibility changes.
+
+2012-08-31 Milian Wolff <milian.wolff@kdab.com>
+
+ [Qt] QNX does not support SOCK_SEQPACKET socket type for socketpair in ProcessLauncherQt
+ https://bugs.webkit.org/show_bug.cgi?id=95553
+
+ Reviewed by Simon Hausmann.
+
+ Calling socketpair with SOCK_SEQPACKET socket type fails on QNX with an error 241 (EPROTOTYPE),
+ as can be seen by the following debug output: "Creation of socket failed with errno: 241".
+ A test app shows that SOCK_DGRAM works properly on QNX, thus use it instead of SOCK_SEQPACKET.
+
+ * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
+
+2012-08-30 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ ~JSNPObject should call invalidate() if it hasn't been called already
+ https://bugs.webkit.org/show_bug.cgi?id=95497
+
+ Reviewed by Geoffrey Garen.
+
+ Finalization is no longer eager, just like destruction, so the original intent behind
+ this ASSERT in ~JSNPObject is no longer relevant. Therefore, we can just call invalidate()
+ ourselves in ~JSNPObject.
+
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ (WebKit::JSNPObject::~JSNPObject):
+
+2012-08-30 Sam Weinig <sam@webkit.org>
+
+ Allow dynamic mach-lookup extensions in the WebProcess
+ <rdar://problem/12207996>
+
+ Reviewed by Gavin Barraclough.
+
+ Like we allow file read/write dynamic sandbox extensions, we should allow
+ mach-lookup extensions.
+
+ * WebProcess/com.apple.WebProcess.sb.in:
+
+2012-08-30 Geoffrey Garen <ggaren@apple.com>
+
+ Use one object instead of two for closures, eliminating ScopeChainNode
+ https://bugs.webkit.org/show_bug.cgi?id=95501
+
+ Reviewed by Filip Pizlo.
+
+ Mechanical changes to update for JSC interface change.
+
+2012-08-30 JungJik Lee <jungjik.lee@samsung.com>
+
+ [EFL][WK2] Add WebMemorySampler feature.
+ https://bugs.webkit.org/show_bug.cgi?id=91214
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Add WebMemorySampler feature to EFL port. WebMemorySampler records memory usage of
+ WebProcess and UI Process and also it records application memory status in real time.
+ Included items on the result are JIT, JS heap, fastmalloc bytes and
+ application memory info from /proc/process_id/statm.
+
+ * PlatformEfl.cmake:
+ * Shared/linux/WebMemorySamplerLinux.cpp: Added.
+ (WebKit):
+ (ApplicationMemoryStats):
+ (WebKit::nextToken):
+ (WebKit::appendKeyValuePair):
+ (WebKit::sampleMemoryAllocatedForApplication):
+ (WebKit::WebMemorySampler::processName):
+ (WebKit::WebMemorySampler::sampleWebKit):
+ (WebKit::WebMemorySampler::sendMemoryPressureEvent):
+ * UIProcess/API/efl/ewk_context.cpp:
+ (_Ewk_Context::_Ewk_Context):
+
+2012-08-30 Pratik Solanki <psolanki@apple.com>
+
+ objc_msgSend and IMP should be cast appropriately before using
+ https://bugs.webkit.org/show_bug.cgi?id=95242
+
+ Reviewed by Benjamin Poulain.
+
+ Use wtfObjcMsgSend and wtfCallIMP templates which do appropriate casts
+ to a function pointer with right types when calling objc_msgSend and an
+ IMP method directly.
+
+ * UIProcess/API/mac/PDFViewController.mm:
+ (WebKit::PDFViewScrollView_scrollWheel):
+
+2012-08-30 Benjamin Poulain <bpoulain@apple.com>
+
+ Replace JSC::UString by WTF::String
+ https://bugs.webkit.org/show_bug.cgi?id=95271
+
+ Reviewed by Geoffrey Garen.
+
+ Update to code to switch from UString to String.
+
+ * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
+ (WebKit::JSNPMethod::finishCreation):
+ * WebProcess/Plugins/Netscape/JSNPMethod.h:
+ (WebKit::JSNPMethod::create):
+ (JSNPMethod):
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ (WebKit::npIdentifierFromIdentifier):
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::evaluate):
+ (WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):
+
+2012-08-29 Mark Hahnenberg <mhahnenberg@apple.com>
+
+ JSNPObject doesn't always protect its data when calling into plugin code
+ https://bugs.webkit.org/show_bug.cgi?id=95394
+
+ Reviewed by Brady Eidson.
+
+ We need to use NPRuntimeObjectMap::PluginProtector when calling into plugin code since
+ there's no telling what the plugin will do, including destroying itself.
+
+ * WebProcess/Plugins/Netscape/JSNPObject.cpp:
+ (WebKit::JSNPObject::getOwnPropertySlot):
+ (WebKit::JSNPObject::getOwnPropertyDescriptor):
+
+2012-08-30 Mike Sierra <mike.sierra@nokia.com>
+
+ [QT][WK2] webview API doc
+ https://bugs.webkit.org/show_bug.cgi?id=81701
+
+ Reviewed by Simon Hausmann.
+
+ Various improvements and additions to the documentation of the QML WebView element.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+
+2012-08-29 Kangil Han <kangil.han@samsung.com>
+
+ [EFL][WK2] Replace PageClientImpl with ewk view in constructor of EflViewportHandler.
+ https://bugs.webkit.org/show_bug.cgi?id=95408
+
+ Reviewed by Gyuyoung Kim.
+
+ To keep consistency of implementation, derived classes(from ewk view) should have view reference.
+ From this, derived classes would have less interference from changes that would happen in port specific classes, i.e. PageClientImpl.
+
+ * UIProcess/API/efl/EflViewportHandler.cpp:
+ (WebKit::EflViewportHandler::EflViewportHandler):
+ (WebKit::EflViewportHandler::drawingArea):
+ (WebKit):
+ (WebKit::EflViewportHandler::updateViewportSize):
+ * UIProcess/API/efl/EflViewportHandler.h:
+ (WebKit::EflViewportHandler::create):
+ (EflViewportHandler):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_initialize):
+
+2012-08-29 Gyuyoung Kim <gyuyoung.kim@samsung.com>
+
+ [WK2] Use ASCIILiteral hotness for DEFINE_STATIC_LOCAL string
+ https://bugs.webkit.org/show_bug.cgi?id=95318
+
+ Reviewed by Benjamin Poulain.
+
+ As recommended by http://trac.webkit.org/wiki/EfficientStrings,
+ WebKit2 needs to use ASCIILiteral for the string of DEFINE_STATIC_LOCAL.
+
+ * Shared/WebError.cpp:
+ (WebKit::WebError::webKitErrorDomain):
+ * Shared/WebPreferencesStore.cpp:
+ (WebPreferencesKey):
+ * UIProcess/InspectorServer/WebInspectorServer.cpp:
+ (WebKit::WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest):
+ * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
+ (WebKit::remoteInspectorPagePath):
+ * UIProcess/WebDatabaseManagerProxy.cpp:
+ (WebKit::WebDatabaseManagerProxy::originKey):
+ (WebKit::WebDatabaseManagerProxy::originQuotaKey):
+ (WebKit::WebDatabaseManagerProxy::originUsageKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsNameKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsDisplayNameKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey):
+ (WebKit::WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey):
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::executeEditCommand):
+ * WebProcess/WebCoreSupport/WebEditorClient.cpp:
+ (WebKit::WebEditorClient::didBeginEditing):
+ (WebKit::WebEditorClient::respondToChangedContents):
+ (WebKit::WebEditorClient::respondToChangedSelection):
+ (WebKit::WebEditorClient::didEndEditing):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::getWebCoreMemoryCacheStatistics):
+
+2012-08-29 Luciano Wolf <luciano.wolf@openbossa.org>
+
+ [Qt][WK2] ApplicationCache LayoutTests failed
+ https://bugs.webkit.org/show_bug.cgi?id=69541
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Returns defaultDiskCacheDirectory when no cache directory was provided.
+ It's used by setOfflineWebApplicationCacheEnabled method that won't work
+ with an invalid cache directory.
+
+ * UIProcess/qt/WebContextQt.cpp:
+ (WebKit::WebContext::applicationCacheDirectory):
+
+2012-08-29 José Dapena Paz <jdapena@igalia.com>
+
+ [Gtk] Process Gtk 3.4 smooth scroll events properly.
+ https://bugs.webkit.org/show_bug.cgi?id=88070
+
+ Gtk 3.3.18 added smooth scroll events, adding a new scroll direction that
+ provides detailed delta information.
+
+ Added GDK_SMOOTH_SCROLL_MASK to the events listened, and added
+ code to process properly the new direction GDK_SCROLL_SMOOTH and
+ its deltas.
+
+ Reviewed by Martin Robinson.
+
+ * Shared/gtk/WebEventFactory.cpp:
+ (WebKit::WebEventFactory::createWebWheelEvent):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseRealize):
+
+2012-08-29 Brady Eidson <beidson@apple.com>
+
+ REGRESSION: Not sending NPP_SetWindow is causing Flash to not throttle itself
+ <rdar://problem/12133021> and https://bugs.webkit.org/show_bug.cgi?id=95274
+
+ Reviewed by Sam Weinig.
+
+ * UIProcess/API/mac/WKView.mm:
+ (-[WKView viewDidMoveToWindow]): Previously we'd only update window visibility when the window is hidden.
+ Now we also update window visibility when the window is shown.
+
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::callSetWindowInvisible): Call set window with a manufactured empty clip rect to tell
+ the plug-in that it is complete hidden.
+ (WebKit):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.h:
+ (NetscapePlugin):
+ * WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm:
+ (WebKit::NetscapePlugin::windowVisibilityChanged): Call "callSetWindow" or "callSetWindowInvisible" as appropriate.
+
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::PluginView::setWindowIsVisible): Tell the plugin that its visibility changed.
+ (WebKit::PluginView::viewGeometryDidChange): Grab a clip rect that - although incorrect - at least is correct if
+ the PluginView is completely hidden.
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ Build patch for Qt
+
+ * Target.pri: Missing WKMutableArray.cpp.
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ Build patch for Qt.
+
+ * Target.pri: Export WKArray and WKMutableArray for Qt.
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ Added missing exports for Windows.
+
+ * win/WebKit2Generated.make:
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ Windows build fix.
+
+ * win/WebKit2Generated.make: Export WKNotificationManager.h.
+
+2012-08-29 Jon Lee <jonlee@apple.com>
+
+ [WK2] Add SPI to retrieve internal IDs for web notifications
+ https://bugs.webkit.org/show_bug.cgi?id=95100
+ <rdar://problem/12180208>
+
+ Reviewed by Alexey Proskuryakov.
+
+ This is work toward providing Mac support for web notifications in DRT and WTR (77969).
+
+ Add function to retrieve the internal ID for a notification. This is needed by tests to support simulating
+ a user click on a notification.
+
+ * DerivedSources.pri: Expose JSNotification.h as private header.
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+ (WKBundleGetWebNotificationID): Calls into notification manager to get internal ID.
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Add WKBundleGetWebNotificationID() to be able
+ retrieve notification ID.
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::webNotificationID):
+ (WebKit):
+ * WebProcess/InjectedBundle/InjectedBundle.h:
+ (InjectedBundle):
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ (WebKit::WebNotificationManager::notificationIDForTesting):
+ (WebKit):
+ * WebProcess/Notifications/WebNotificationManager.h:
+ (WebNotificationManager):
+
+2012-08-28 Martin Robinson <mrobinson@igalia.com>
+
+ [GTK] Enable the edge distance anti-aliasing for accelerated compositing layers
+ https://bugs.webkit.org/show_bug.cgi?id=95272
+
+ Reviewed by No'am Rosenthal.
+
+ Turn on edge-distance anti-aliasing for GTK+ WebKit2. This
+ improves the quality of layer rendering.
+
+ * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
+ (WebKit::LayerTreeHostGtk::initialize):
+
+2012-08-28 Kangil Han <kangil.han@samsung.com>
+
+ [WK2] Use explicit constructor in PageClientImpl.
+ https://bugs.webkit.org/show_bug.cgi?id=95170
+
+ Reviewed by Darin Adler.
+
+ Added explicit keyword in constructor of PageClientImpl in order to avoid implicit type conversion.
+
+ * UIProcess/API/gtk/PageClientImpl.h:
+ (PageClientImpl):
+ * UIProcess/API/mac/PageClientImpl.h:
+ (PageClientImpl):
+
+2012-08-28 Rik Cabanier <cabanier@adobe.com>
+
+ Add ENABLE_CSS_COMPOSITING flag to WebKit2 project
+ https://bugs.webkit.org/show_bug.cgi?id=95227
+
+ Reviewed by Dirk Schulze.
+
+ The WebKit2 project was not updated to compile with the CSS_COMPOSITING flag.
+ This caused crashes when the webkit2 code had to use that flag.
+
+ * Configurations/FeatureDefines.xcconfig:
+
+2012-08-28 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126914.
+ http://trac.webkit.org/changeset/126914
+ https://bugs.webkit.org/show_bug.cgi?id=95239
+
+ it breaks everything and fixes nothing (Requested by pizlo on
+ #webkit).
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::registerEventSourceHandler):
+ (WorkQueue::unregisterEventSourceHandler):
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::unregisterMachPortEventHandler):
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::pluginDestroyed):
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::valueForKey):
+ (WebKit::WebPreferencesStore::getBoolValueForKey):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::::decode):
+ * Shared/qt/ArgumentCodersQt.cpp:
+ (CoreIPC::::decode):
+ * Shared/soup/WebCoreArgumentCodersSoup.cpp:
+ (CoreIPC::::decode):
+ * UIProcess/API/efl/ewk_back_forward_list.cpp:
+ (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
+ * UIProcess/API/efl/ewk_context.cpp:
+ (_Ewk_Context::~_Ewk_Context):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_priv_loading_resources_clear):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_get_subresources):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseContainerForall):
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _expectedPreviewCallbackForRect:]):
+ (pageDidDrawToPDF):
+ (-[WKPrintingView _drawPreview:]):
+ * UIProcess/API/mac/WKView.mm:
+ (commandNameForSelector):
+ (-[WKView validateUserInterfaceItem:]):
+ * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
+ (WebKit::CoordinatedBackingStore::updateTile):
+ (WebKit::CoordinatedBackingStore::texture):
+ (WebKit::CoordinatedBackingStore::paintToTextureMapper):
+ (WebKit::CoordinatedBackingStore::commitTileOperations):
+ * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
+ (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
+ * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
+ (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
+ (WebKit::LayerTreeRenderer::syncCanvas):
+ (WebKit::LayerTreeRenderer::setLayerChildren):
+ (WebKit::LayerTreeRenderer::setLayerFilters):
+ (WebKit::LayerTreeRenderer::setLayerState):
+ (WebKit::LayerTreeRenderer::assignImageToLayer):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/InspectorServer/WebInspectorServer.cpp:
+ (WebKit::WebInspectorServer::~WebInspectorServer):
+ (WebKit::WebInspectorServer::registerPage):
+ * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
+ (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
+ * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
+ (WebKit::WebInspectorServer::buildPageList):
+ * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
+ (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ * UIProcess/WebContext.cpp:
+ (WebKit::createDictionaryFromHashMap):
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::didFinishURLImport):
+ * UIProcess/WebIntentData.cpp:
+ (WebKit::WebIntentData::extras):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ (WebKit::WebProcessProxy::frameCountInPage):
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
+ (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+ (WebKit::InjectedBundleRangeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
+ (WebKit::InjectedBundleIntent::extras):
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ (WebKit::WebNotificationManager::policyForOrigin):
+ (WebKit::WebNotificationManager::show):
+ (WebKit::WebNotificationManager::clearNotifications):
+ (WebKit::WebNotificationManager::removeNotificationFromContextMap):
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroyStream):
+ (WebKit::NetscapePlugin::unscheduleTimer):
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::buildHTTPHeaders):
+ (WebKit::PluginView::~PluginView):
+ * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
+ (WebCore::CoordinatedGraphicsLayer::layerByID):
+ * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
+ (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
+ (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::removeItem):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::commandNameForSelectorName):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ (WebKit::WebProcess::focusedWebPage):
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::webPageGroup):
+ (WebKit::fromCountedSetToHashMap):
+ (WebKit::WebProcess::setTextCheckerState):
+
+2012-08-28 Alexey Proskuryakov <ap@apple.com>
+
+ [WK2] Expose process model as API
+ https://bugs.webkit.org/show_bug.cgi?id=95228
+
+ Reviewed by Jon Honeycutt.
+
+ * UIProcess/API/C/WKAPICast.h:
+ (WebKit::toProcessModel):
+ (WebKit::toAPI):
+ Convert ProcessModel values.
+
+ * UIProcess/API/C/WKContext.cpp:
+ (WKContextSetProcessModel):
+ (WKContextGetProcessModel):
+ * UIProcess/API/C/WKContext.h:
+ * UIProcess/WebContext.cpp: (WebKit::WebContext::setProcessModel):
+ * UIProcess/WebContext.h:
+ Added a setter and a getter. Setting process model is only allowed when there are
+ no processes yet - that's checked with a CRASH to guarantee that clients using
+ production builds of WebKit2 don't misstep.
+
+2012-08-28 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::registerEventSourceHandler):
+ (WorkQueue::unregisterEventSourceHandler):
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::unregisterMachPortEventHandler):
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::pluginDestroyed):
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::valueForKey):
+ (WebKit::WebPreferencesStore::getBoolValueForKey):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::::decode):
+ * Shared/qt/ArgumentCodersQt.cpp:
+ (CoreIPC::::decode):
+ * Shared/soup/WebCoreArgumentCodersSoup.cpp:
+ (CoreIPC::::decode):
+ * UIProcess/API/efl/ewk_back_forward_list.cpp:
+ (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
+ * UIProcess/API/efl/ewk_context.cpp:
+ (_Ewk_Context::~_Ewk_Context):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_priv_loading_resources_clear):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_get_subresources):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseContainerForall):
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _expectedPreviewCallbackForRect:]):
+ (pageDidDrawToPDF):
+ (-[WKPrintingView _drawPreview:]):
+ * UIProcess/API/mac/WKView.mm:
+ (commandNameForSelector):
+ (-[WKView validateUserInterfaceItem:]):
+ * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
+ (WebKit::CoordinatedBackingStore::updateTile):
+ (WebKit::CoordinatedBackingStore::texture):
+ (WebKit::CoordinatedBackingStore::paintToTextureMapper):
+ (WebKit::CoordinatedBackingStore::commitTileOperations):
+ * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
+ (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
+ * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
+ (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
+ (WebKit::LayerTreeRenderer::syncCanvas):
+ (WebKit::LayerTreeRenderer::setLayerChildren):
+ (WebKit::LayerTreeRenderer::setLayerFilters):
+ (WebKit::LayerTreeRenderer::setLayerState):
+ (WebKit::LayerTreeRenderer::assignImageToLayer):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/InspectorServer/WebInspectorServer.cpp:
+ (WebKit::WebInspectorServer::~WebInspectorServer):
+ (WebKit::WebInspectorServer::registerPage):
+ * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
+ (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
+ * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
+ (WebKit::WebInspectorServer::buildPageList):
+ * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
+ (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ * UIProcess/WebContext.cpp:
+ (WebKit::createDictionaryFromHashMap):
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::didFinishURLImport):
+ * UIProcess/WebIntentData.cpp:
+ (WebKit::WebIntentData::extras):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ (WebKit::WebProcessProxy::frameCountInPage):
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
+ (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+ (WebKit::InjectedBundleRangeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
+ (WebKit::InjectedBundleIntent::extras):
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ (WebKit::WebNotificationManager::policyForOrigin):
+ (WebKit::WebNotificationManager::show):
+ (WebKit::WebNotificationManager::clearNotifications):
+ (WebKit::WebNotificationManager::removeNotificationFromContextMap):
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroyStream):
+ (WebKit::NetscapePlugin::unscheduleTimer):
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::buildHTTPHeaders):
+ (WebKit::PluginView::~PluginView):
+ * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
+ (WebCore::CoordinatedGraphicsLayer::layerByID):
+ * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
+ (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
+ (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::removeItem):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::commandNameForSelectorName):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ (WebKit::WebProcess::focusedWebPage):
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::webPageGroup):
+ (WebKit::fromCountedSetToHashMap):
+ (WebKit::WebProcess::setTextCheckerState):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ [WK2] Bugs in maintenance of internal state when user decides whether to grant notification permissions
+ https://bugs.webkit.org/show_bug.cgi?id=95220
+ <rdar://problem/12189895>
+
+ Reviewed by Jessie Berlin.
+
+ A couple of the maps maintained by the request manager should have been cleaned up when the user decided on
+ whether to grant a website permission to post notifications.
+
+ Also, the web process' copy of the permissions was not updated appropriately. This meant that in the
+ permission callback, Notification.permission was not the same value as the permission value included as
+ the first parameter of the callback.
+
+ This first surfaced as part of the work to bring Mac support for web notifications. I have a test that
+ will check for regressions in this area, once all of that has been checked in (bug 77969).
+
+ * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
+ (WebKit::NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision):
+
+2012-08-28 Jon Lee <jonlee@apple.com>
+
+ [WK2] Add SPI for injected bundle to manually set permissions
+ https://bugs.webkit.org/show_bug.cgi?id=95127
+ <rdar://problem/12182635>
+
+ Reviewed by Jessie Berlin.
+
+ This is work toward providing Mac support for web notifications in DRT and WTR (77969).
+
+ Add support functions to WebKit2 which maintain the map of permissions to origins for web notifications.
+ For WebKit1 the map is managed by DumpRenderTree.
+
+ * WebProcess/InjectedBundle/InjectedBundle.h: Add TestRunner SPI.
+ * WebProcess/InjectedBundle/InjectedBundle.cpp:
+ (WebKit::InjectedBundle::setWebNotificationPermission):
+ (WebKit::InjectedBundle::removeAllWebNotificationPermissions):
+
+ * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: Expose as WK API. Also, rearrange the ordering of the
+ functions so that it reflects the same order found in InjectedBundle.h.
+ * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
+
+ * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
+ (WebKit::NotificationPermissionRequestManager::setPermissionLevelForTesting): Manually set the permission
+ level for an origin.
+ (WebKit::NotificationPermissionRequestManager::removeAllPermissionsForTesting):
+ * WebProcess/Notifications/NotificationPermissionRequestManager.h:
+ (NotificationPermissionRequestManager):
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ (WebKit::WebNotificationManager::removeAllPermissionsForTesting): Clear the permission map.
+ * WebProcess/Notifications/WebNotificationManager.h: Promote didUpdateNotificationDecision message as public
+ function, so that NotificationPermissionRequestManager can update the permission map.
+
+2012-08-28 Christophe Dumez <christophe.dumez@intel.com>
+
+ [EFL] WebKit EFL updates view on HTTP 204 response
+ https://bugs.webkit.org/show_bug.cgi?id=95199
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Ignore HTTP responses which have status code equal
+ to 204 (No Content).
+
+ * UIProcess/API/efl/ewk_view_policy_client.cpp:
+ (decidePolicyForResponseCallback):
+
+2012-08-28 Zeno Albisser <zeno@webkit.org>
+
+ LayerTreeCoordinatorProxy should use uint64_t for surface key.
+ https://bugs.webkit.org/show_bug.cgi?id=95175
+
+ GraphicsSurface tokens are of type uint64_t.
+ Therefore LayerTreeCoordinatorProxy must use the same type to
+ identify a GraphicsSurface/ShareableSurface.
+
+ Reviewed by Noam Rosenthal.
+
+ * Shared/ShareableSurface.h:
+ (WebKit::ShareableSurface::Handle::graphicsSurfaceToken):
+ * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
+ (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
+ * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
+ (LayerTreeCoordinatorProxy):
+
+2012-08-28 Ryuan Choi <ryuan.choi@samsung.com>
+
+ [EFL][WK2] Implement WebPopupMenuProxyEfl to support <select>
+ https://bugs.webkit.org/show_bug.cgi?id=88616
+
+ Reviewed by Gyuyoung Kim.
+
+ Implemented popup menu proxy and interface for Efl.
+
+ Applications should implement popup menu by overriding
+ smart class function to support select tag.
+
+ * PlatformEfl.cmake:
+ * UIProcess/API/efl/EWebKit2.h: Included ewk_popup_menu_item.h
+ * UIProcess/API/efl/PageClientImpl.cpp:
+ (WebKit::PageClientImpl::createPopupMenuProxy):
+ * UIProcess/API/efl/ewk_popup_menu_item.cpp: Added.
+ (_Ewk_Popup_Menu_Item):
+ (_Ewk_Popup_Menu_Item::_Ewk_Popup_Menu_Item):
+ (ewk_popup_menu_item_new):
+ (ewk_popup_menu_item_free):
+ (ewk_popup_menu_item_type_get): Added API to retrieve type of item.
+ (ewk_popup_menu_item_text_get): Added API to retrieve text of item.
+ * UIProcess/API/efl/ewk_popup_menu_item.h: Added.
+ * UIProcess/API/efl/ewk_popup_menu_item_private.h: Added.
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
+ (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
+ (ewk_view_popup_menu_request): Added to call popup_menu_show, smart class function.
+ (ewk_view_popup_menu_close): Added API to call popup_menu_hide, smart class function.
+ (ewk_view_popup_menu_select): Added API to change selected index.
+ * UIProcess/API/efl/ewk_view.h:
+ Added smart class function for applications to override.
+ * UIProcess/API/efl/ewk_view_private.h:
+ * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
+ (EWK2UnitTest::EWK2UnitTestBase::EWK2UnitTestBase):
+ (EWK2UnitTest::EWK2UnitTestBase::SetUp):
+ (EWK2UnitTest::EWK2UnitTestBase::loadUrlSync):
+ (EWK2UnitTest::EWK2UnitTestBase::waitUntilLoadFinished):
+ Extracted from loadUrlSync for tests using ewk_view_html_string_load to
+ share onLoadFinished.
+ * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
+ (EWK2UnitTest::EWK2UnitTestBase::ewkViewClass):
+ Added ewkViewClass to test smart methods such as popup_menu_show.
+ * UIProcess/API/efl/tests/test_ewk2_view.cpp:
+ (popup_menu_show):
+ (TEST_F): Added a test case for ewk_view_popup_menu_select and related codes.
+ * UIProcess/efl/WebPopupMenuProxyEfl.cpp: Added.
+ (WebKit):
+ (WebKit::WebPopupMenuProxyEfl::WebPopupMenuProxyEfl):
+ (WebKit::WebPopupMenuProxyEfl::showPopupMenu):
+ (WebKit::WebPopupMenuProxyEfl::hidePopupMenu):
+ (WebKit::WebPopupMenuProxyEfl::valueChanged):
+ * UIProcess/efl/WebPopupMenuProxyEfl.h: Added.
+ (WebPopupMenuProxyEfl):
+ (WebKit::WebPopupMenuProxyEfl::create):
+
+2012-08-27 Kangil Han <kangil.han@samsung.com>
+
+ [EFL][WK2] Fix PageClientImpl layer violation
+ https://bugs.webkit.org/show_bug.cgi?id=94906
+
+ Reviewed by Gyuyoung Kim.
+
+ Given WK2 hierarchy, current PageClientImpl has violated API layer by having WebPageProxy.
+ Subsequently, it has been given WebContext, static singleton object, in its argument unnecessarily.
+ Therefore, this patch moved WebPageProxy from PageClientImpl to Ewk_View_Private_Data.
+ Plus, WebContext was removed from PageClientImpl since it is not needed anymore.
+ As a result, EFL has same form of PageClientImpl with other ports, i.e. gtk+ and mac.
+ From API point of view, nothing has been changed because all things done locally.
+
+ * UIProcess/API/efl/PageClientImpl.cpp:
+ (WebKit::PageClientImpl::PageClientImpl):
+ (WebKit::PageClientImpl::createDrawingAreaProxy):
+ * UIProcess/API/efl/PageClientImpl.h:
+ (WebKit::PageClientImpl::create):
+ (PageClientImpl):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_Ewk_View_Private_Data):
+ (_ewk_view_smart_focus_in):
+ (_ewk_view_smart_focus_out):
+ (_ewk_view_smart_mouse_wheel):
+ (_ewk_view_smart_mouse_down):
+ (_ewk_view_smart_mouse_up):
+ (_ewk_view_smart_mouse_move):
+ (_ewk_view_smart_key_down):
+ (_ewk_view_smart_key_up):
+ (_ewk_view_smart_calculate):
+ (_ewk_view_smart_color_set):
+ (_ewk_view_initialize):
+ (ewk_view_uri_update):
+ (ewk_view_uri_set):
+ (ewk_view_reload):
+ (ewk_view_reload_bypass_cache):
+ (ewk_view_stop):
+ (ewk_view_title_get):
+ (ewk_view_load_progress_get):
+ (ewk_view_scale_set):
+ (ewk_view_scale_get):
+ (ewk_view_device_pixel_ratio_set):
+ (ewk_view_device_pixel_ratio_get):
+ (ewk_view_theme_set):
+ (ewk_view_back):
+ (ewk_view_forward):
+ (ewk_view_intent_deliver):
+ (ewk_view_back_possible):
+ (ewk_view_forward_possible):
+ (ewk_view_html_string_load):
+ (ewk_view_page_get):
+ (ewk_view_setting_encoding_custom_get):
+ (ewk_view_setting_encoding_custom_set):
+ (ewk_view_text_find):
+ (ewk_view_text_find_highlight_clear):
+
+2012-08-27 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126836.
+ http://trac.webkit.org/changeset/126836
+ https://bugs.webkit.org/show_bug.cgi?id=95163
+
+ Broke all Apple ports, EFL, and Qt. (Requested by tkent on
+ #webkit).
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::registerEventSourceHandler):
+ (WorkQueue::unregisterEventSourceHandler):
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::unregisterMachPortEventHandler):
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::pluginDestroyed):
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::valueForKey):
+ (WebKit::WebPreferencesStore::getBoolValueForKey):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::::decode):
+ * Shared/qt/ArgumentCodersQt.cpp:
+ (CoreIPC::::decode):
+ * Shared/soup/WebCoreArgumentCodersSoup.cpp:
+ (CoreIPC::::decode):
+ * UIProcess/API/efl/ewk_back_forward_list.cpp:
+ (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
+ * UIProcess/API/efl/ewk_context.cpp:
+ (_Ewk_Context::~_Ewk_Context):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_priv_loading_resources_clear):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_get_subresources):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseContainerForall):
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _expectedPreviewCallbackForRect:]):
+ (pageDidDrawToPDF):
+ (-[WKPrintingView _drawPreview:]):
+ * UIProcess/API/mac/WKView.mm:
+ (commandNameForSelector):
+ (-[WKView validateUserInterfaceItem:]):
+ * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
+ (WebKit::CoordinatedBackingStore::updateTile):
+ (WebKit::CoordinatedBackingStore::texture):
+ (WebKit::CoordinatedBackingStore::paintToTextureMapper):
+ (WebKit::CoordinatedBackingStore::commitTileOperations):
+ * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
+ (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
+ * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
+ (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
+ (WebKit::LayerTreeRenderer::syncCanvas):
+ (WebKit::LayerTreeRenderer::setLayerChildren):
+ (WebKit::LayerTreeRenderer::setLayerFilters):
+ (WebKit::LayerTreeRenderer::setLayerState):
+ (WebKit::LayerTreeRenderer::assignImageToLayer):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/InspectorServer/WebInspectorServer.cpp:
+ (WebKit::WebInspectorServer::~WebInspectorServer):
+ (WebKit::WebInspectorServer::registerPage):
+ * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
+ (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
+ * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
+ (WebKit::WebInspectorServer::buildPageList):
+ * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
+ (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ * UIProcess/WebContext.cpp:
+ (WebKit::createDictionaryFromHashMap):
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::didFinishURLImport):
+ * UIProcess/WebIntentData.cpp:
+ (WebKit::WebIntentData::extras):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ (WebKit::WebProcessProxy::frameCountInPage):
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
+ (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+ (WebKit::InjectedBundleRangeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
+ (WebKit::InjectedBundleIntent::extras):
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ (WebKit::WebNotificationManager::policyForOrigin):
+ (WebKit::WebNotificationManager::show):
+ (WebKit::WebNotificationManager::clearNotifications):
+ (WebKit::WebNotificationManager::removeNotificationFromContextMap):
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroyStream):
+ (WebKit::NetscapePlugin::unscheduleTimer):
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::buildHTTPHeaders):
+ (WebKit::PluginView::~PluginView):
+ * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
+ (WebCore::CoordinatedGraphicsLayer::layerByID):
+ * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
+ (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
+ (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::removeItem):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::commandNameForSelectorName):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ (WebKit::WebProcess::focusedWebPage):
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::webPageGroup):
+ (WebKit::fromCountedSetToHashMap):
+ (WebKit::WebProcess::setTextCheckerState):
+
+2012-08-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Rename first/second to key/value in HashMap iterators
+ https://bugs.webkit.org/show_bug.cgi?id=82784
+
+ Reviewed by Eric Seidel.
+
+ * Platform/CoreIPC/ArgumentCoders.h:
+ * Platform/CoreIPC/Connection.cpp:
+ (CoreIPC::Connection::SyncMessageState::getOrCreate):
+ (CoreIPC::Connection::waitForMessage):
+ (CoreIPC::Connection::processIncomingMessage):
+ * Platform/gtk/WorkQueueGtk.cpp:
+ (WorkQueue::registerEventSourceHandler):
+ (WorkQueue::unregisterEventSourceHandler):
+ * Platform/mac/WorkQueueMac.cpp:
+ (WorkQueue::unregisterMachPortEventHandler):
+ * Shared/Plugins/NPRemoteObjectMap.cpp:
+ (WebKit::NPRemoteObjectMap::pluginDestroyed):
+ * Shared/UserMessageCoders.h:
+ (WebKit::UserMessageEncoder::baseEncode):
+ * Shared/WebPreferencesStore.cpp:
+ (WebKit::valueForKey):
+ (WebKit::WebPreferencesStore::getBoolValueForKey):
+ * Shared/mac/WebCoreArgumentCodersMac.mm:
+ (CoreIPC::::decode):
+ * Shared/qt/ArgumentCodersQt.cpp:
+ (CoreIPC::::decode):
+ * Shared/soup/WebCoreArgumentCodersSoup.cpp:
+ (CoreIPC::::decode):
+ * UIProcess/API/efl/ewk_back_forward_list.cpp:
+ (_Ewk_Back_Forward_List::~_Ewk_Back_Forward_List):
+ * UIProcess/API/efl/ewk_context.cpp:
+ (_Ewk_Context::~_Ewk_Context):
+ * UIProcess/API/efl/ewk_view.cpp:
+ (_ewk_view_priv_loading_resources_clear):
+ * UIProcess/API/gtk/WebKitWebView.cpp:
+ (webkit_web_view_get_subresources):
+ * UIProcess/API/gtk/WebKitWebViewBase.cpp:
+ (webkitWebViewBaseContainerForall):
+ * UIProcess/API/mac/WKPrintingView.mm:
+ (-[WKPrintingView _expectedPreviewCallbackForRect:]):
+ (pageDidDrawToPDF):
+ (-[WKPrintingView _drawPreview:]):
+ * UIProcess/API/mac/WKView.mm:
+ (commandNameForSelector):
+ (-[WKView validateUserInterfaceItem:]):
+ * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
+ (WebKit::CoordinatedBackingStore::updateTile):
+ (WebKit::CoordinatedBackingStore::texture):
+ (WebKit::CoordinatedBackingStore::paintToTextureMapper):
+ (WebKit::CoordinatedBackingStore::commitTileOperations):
+ * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
+ (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
+ * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
+ (WebKit::LayerTreeRenderer::adjustPositionForFixedLayers):
+ (WebKit::LayerTreeRenderer::syncCanvas):
+ (WebKit::LayerTreeRenderer::setLayerChildren):
+ (WebKit::LayerTreeRenderer::setLayerFilters):
+ (WebKit::LayerTreeRenderer::setLayerState):
+ (WebKit::LayerTreeRenderer::assignImageToLayer):
+ * UIProcess/GeolocationPermissionRequestManagerProxy.cpp:
+ (WebKit::GeolocationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/InspectorServer/WebInspectorServer.cpp:
+ (WebKit::WebInspectorServer::~WebInspectorServer):
+ (WebKit::WebInspectorServer::registerPage):
+ * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
+ (WebKit::WebSocketServerConnection::sendHTTPResponseHeader):
+ * UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp:
+ (WebKit::WebInspectorServer::buildPageList):
+ * UIProcess/Notifications/NotificationPermissionRequestManagerProxy.cpp:
+ (WebKit::NotificationPermissionRequestManagerProxy::invalidateRequests):
+ * UIProcess/Plugins/PluginProcessProxy.cpp:
+ (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
+ * UIProcess/WebContext.cpp:
+ (WebKit::createDictionaryFromHashMap):
+ * UIProcess/WebIconDatabase.cpp:
+ (WebKit::WebIconDatabase::didFinishURLImport):
+ * UIProcess/WebIntentData.cpp:
+ (WebKit::WebIntentData::extras):
+ * UIProcess/WebProcessProxy.cpp:
+ (WebKit::WebProcessProxy::checkURLReceivedFromWebProcess):
+ (WebKit::WebProcessProxy::addBackForwardItem):
+ (WebKit::WebProcessProxy::frameCountInPage):
+ * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
+ (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation):
+ (WebKit::GeolocationPermissionRequestManager::didReceiveGeolocationPermissionDecision):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
+ (WebKit::InjectedBundleNodeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
+ (WebKit::InjectedBundleRangeHandle::getOrCreate):
+ * WebProcess/InjectedBundle/InjectedBundleIntent.cpp:
+ (WebKit::InjectedBundleIntent::extras):
+ * WebProcess/Notifications/WebNotificationManager.cpp:
+ (WebKit::WebNotificationManager::policyForOrigin):
+ (WebKit::WebNotificationManager::show):
+ (WebKit::WebNotificationManager::clearNotifications):
+ (WebKit::WebNotificationManager::removeNotificationFromContextMap):
+ * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
+ (WebKit::NPRuntimeObjectMap::invalidate):
+ * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
+ (WebKit::NetscapePlugin::destroyStream):
+ (WebKit::NetscapePlugin::unscheduleTimer):
+ (WebKit::NetscapePlugin::frameDidFinishLoading):
+ (WebKit::NetscapePlugin::frameDidFail):
+ * WebProcess/Plugins/PluginView.cpp:
+ (WebKit::buildHTTPHeaders):
+ (WebKit::PluginView::~PluginView):
+ * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
+ (WebCore::CoordinatedGraphicsLayer::layerByID):
+ * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
+ (WebKit::LayerTreeCoordinator::adoptImageBackingStore):
+ (WebKit::LayerTreeCoordinator::releaseImageBackingStore):
+ * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+ (WebKit::WebBackForwardListProxy::removeItem):
+ * WebProcess/WebPage/mac/WebPageMac.mm:
+ (WebKit::commandNameForSelectorName):
+ * WebProcess/WebProcess.cpp:
+ (WebKit::WebProcess::visitedLinkStateChanged):
+ (WebKit::WebProcess::allVisitedLinkStateChanged):
+ (WebKit::WebProcess::focusedWebPage):
+ (WebKit::WebProcess::createWebPage):
+ (WebKit::WebProcess::webPageGroup):
+ (WebKit::fromCountedSetToHashMap):
+ (WebKit::WebProcess::setTextCheckerState):
+
+2012-08-27 Simon Fraser <simon.fraser@apple.com>
+
+ Make Force Repaint work with tiled backing store
+ https://bugs.webkit.org/show_bug.cgi?id=95102
+
+ Reviewed by Dan Bernstein.
+
+ Have forceRepaint() call down to the tiled backing of each FrameView,
+ so they can repaint.
+
+ * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+ (WebKit::TiledCoreAnimationDrawingArea::forceRepaint):
+
+2012-08-27 Rafael Brandao <rafael.lobo@openbossa.org>
+
+ [Qt] Fix typo in CoordinatedGraphicsLayer::syncAnimatedProperties
+ https://bugs.webkit.org/show_bug.cgi?id=95085
+
+ Reviewed by Noam Rosenthal.
+
+ * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp: The flag should be disabled
+ once we process the sync for animated properties. Previously, it was never disabling it once enabled.
+
+2012-08-27 Philippe Normand <pnormand@igalia.com>
+
+ [GStreamer][Qt] WebAudio support
+ https://bugs.webkit.org/show_bug.cgi?id=94806
+
+ Reviewed by Simon Hausmann.
+
+ New boolean webAudioEnabled WebSetting to be used at runtime to
+ toggle WebAudio support on or off.
+
+ * UIProcess/API/qt/qwebpreferences.cpp:
+ (QWebPreferencesPrivate::testAttribute):
+ (QWebPreferencesPrivate::setAttribute):
+ (QWebPreferences::webAudioEnabled):
+ (QWebPreferences::setWebAudioEnabled):
+ * UIProcess/API/qt/qwebpreferences_p.h:
+ * UIProcess/API/qt/qwebpreferences_p_p.h:
+
+2012-08-27 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt][WK2] REGRESSION(r126067): It made qmltests::DoubleTapToZoom::test_basic() fail
+ https://bugs.webkit.org/show_bug.cgi?id=94949
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Use JSON to serialize the client rect for the async evaluateJavaScript call.
+
+ * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
+
+2012-08-27 Simon Hausmann <simon.hausmann@nokia.com>
+
+ [Qt] Fix failing QML2 auto tests due to conflicting signal declaration
+ https://bugs.webkit.org/show_bug.cgi?id=95059
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Don't define a scaleChanged signal when QQuickItem already declares one to notify about changes
+ in the scale property. As it turns out there is not need for declaring a signal in the test case
+ at all.
+
+ * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
+ * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
+
+2012-08-27 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ Rename RegisterProtocolHandler API to NavigatorContentUtils
+ https://bugs.webkit.org/show_bug.cgi?id=94920
+
+ Reviewed by Adam Barth.
+
+ Renaming whatever RegisterProtocolHandler-prefixed to NavigatorContentUtils-prefixed.
+
+ * Configurations/FeatureDefines.xcconfig:
+ * WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h.
+ (WebKit):
+ (WebNavigatorContentUtilsClient):
+ (WebKit::WebNavigatorContentUtilsClient::~WebNavigatorContentUtilsClient):
+ (WebKit::WebNavigatorContentUtilsClient::isProtocolHandlerRegistered):
+ (WebKit::WebNavigatorContentUtilsClient::unregisterProtocolHandler):
+
+2012-08-25 Vivek Galatage <vivekgalatage@gmail.com>
+
+ WinCairo Build Broken due to missing export definitions
+ https://bugs.webkit.org/show_bug.cgi?id=95007
+
+ Reviewed by Ryosuke Niwa.
+
+ Export symbols were missing from the def file for WinCairo port. Added
+ these missing symbols to avoid build break
+
+ * win/WebKit2CFLite.def:
+
+2012-08-24 Alexey Proskuryakov <ap@apple.com>
+
+ <rdar://problem/12157689> REGRESSION: WebProcessProxy destructor is sometimes called recursively
+ https://bugs.webkit.org/show_bug.cgi?id=94997
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/WebContext.cpp: (WebKit::WebContext::disconnectProcess): Make sure that
+ we don't try to delete WebProcessProxy while the vector still contains it. Previously,
+ we used RefPtr::clear, which zeroes out the value before destructing, but doing that
+ in every RefPtr destructor would be bad for performance.
+
+2012-08-24 Benjamin Poulain <bpoulain@apple.com>
+
+ Unify Number to StringImpl conversion
+ https://bugs.webkit.org/show_bug.cgi?id=94879
+
+ Reviewed by Geoffrey Garen.
+
+ * win/WebKit2.def: Update the exported symbols.
+
+2012-08-24 Andras Becsi <andras.becsi@nokia.com>
+
+ [Qt][WK2] Fix custom device pixel ratio propagation and add QML API tests
+ https://bugs.webkit.org/show_bug.cgi?id=88531
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Defer setting the custom device pixel ratio until the page item has
+ a valid size to make sure that the scale factor reaches the web process.
+
+ QML test based on patch by Alexander Færøy.
+
+ * UIProcess/API/qt/qquickwebview.cpp:
+ (QQuickWebViewPrivate::QQuickWebViewPrivate):
+ (QQuickWebViewPrivate::didRelaunchProcess):
+ (QQuickWebViewPrivate::didChangeContentsSize):
+ (QQuickWebViewFlickablePrivate::didChangeContentsSize):
+ (QQuickWebViewExperimental::devicePixelRatio):
+ (QQuickWebViewExperimental::setDevicePixelRatio):
+ * UIProcess/API/qt/qquickwebview_p.h:
+ * UIProcess/API/qt/qquickwebview_p_p.h:
+ (QQuickWebViewPrivate):
+ * UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml: Added.
+ Test case for the QML device pixel ratio API.
+
+2012-08-24 Kangil Han <kangil.han@samsung.com>
+
+ [EFL] Fix compile warning
+ https://bugs.webkit.org/show_bug.cgi?id=94930
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Fixed compile warning.
+
+ * UIProcess/API/efl/ewk_back_forward_list.cpp:
+ (ewk_back_forward_list_n_back_items_copy): NULL used in arithmetic [-Wpointer-arith]
+ (ewk_back_forward_list_n_forward_items_copy): NULL used in arithmetic [-Wpointer-arith]
+
+2012-08-24 Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com>
+
+ [EFL][WK2] Back-forward list API needs extension
+ https://bugs.webkit.org/show_bug.cgi?id=94582
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Added several new functions wrapping existing WK2 C back-forward list API
+ and returning list of items preceding or following the current one.
+ Corresponding API unit tests are also added.
+
+ * UIProcess/API/efl/ewk_back_forward_list.cpp:
+ (createEinaList):
+ (ewk_back_forward_list_n_back_items_copy):
+ (ewk_back_forward_list_n_forward_items_copy):
+ * UIProcess/API/efl/ewk_back_forward_list.h:
+ * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
+ (freeEinaList):
+ (TEST_F):
+
+2012-08-24 Michael Brüning <michaelbruening@gmail.com>
+
+ [Qt][WK2] Make viewport related experimental.test properties encapsulated.
+ https://bugs.webkit.org/show_bug.cgi?id=88320
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ Introducing a new viewport attribute to QWebKitTest to group the viewport related
+ attributes into one QJsonObject. Also adding a static method to convert a QSizeF to
+ a QJsonObject.
+
+ * UIProcess/API/qt/qwebkittest.cpp:
+ (qSizeFToJsonObject):
+ (QWebKitTest::viewport):
+ (QWebKitTest::devicePixelRatio):
+ (QWebKitTest::contentsScale):
+ * UIProcess/API/qt/qwebkittest_p.h:
+ * UIProcess/qt/QtViewportHandler.cpp:
+ (WebKit::QtViewportHandler::viewportAttributesChanged):
+
+2012-08-23 Frederik Gladhorn <gladhorn@kde.org>
+
+ Make it possible to build WebKit with Python 3 (and 2)
+ https://bugs.webkit.org/show_bug.cgi?id=94814
+
+ Reviewed by Ryosuke Niwa.
+
+ Exceptions need a hack to work with both.
+ string.join was already deprecated in Python 2.
+ Relative imports are no longer supported, use package name instead.
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/parser.py:
+
+2012-08-24 Mark Rowe <mrowe@apple.com>
+
+ <http://webkit.org/b/94910> Copy the entire webkit2 module in to the WebKit2 framework wrapper.
+
+ Reviewed by Dan Bernstein.
+
+ This will allow relative imports within the webkit2 module to be removed in the future without
+ requiring future changes to clients of the module.
+
+ * WebKit2.xcodeproj/project.pbxproj: Remove the webkit2 group from the project, and add it back
+ as a folder reference. This allows the directory and its contents to be copied in to the PrivateHeaders
+ directory. We also need to add a script phase to clean up any .pyc files that may be present in
+ the module.
+
+2012-08-23 Sheriff Bot <webkit.review.bot@gmail.com>
+
+ Unreviewed, rolling out r126542.
+ http://trac.webkit.org/changeset/126542
+ https://bugs.webkit.org/show_bug.cgi?id=94907
+
+ Broke WK2 build on OS X (Requested by tronical_ on #webkit).
+
+ * Scripts/webkit2/messages.py:
+ * Scripts/webkit2/parser.py:
+
2012-08-23 Frederik Gladhorn <gladhorn@kde.org>
Make it possible to build WebKit with Python 3 (and 2)
diff --git a/Source/WebKit2/Configurations/FeatureDefines.xcconfig b/Source/WebKit2/Configurations/FeatureDefines.xcconfig
index 16ce00e8a..8aa9cd33a 100644
--- a/Source/WebKit2/Configurations/FeatureDefines.xcconfig
+++ b/Source/WebKit2/Configurations/FeatureDefines.xcconfig
@@ -38,6 +38,7 @@ ENABLE_BLOB = ENABLE_BLOB;
ENABLE_CHANNEL_MESSAGING = ENABLE_CHANNEL_MESSAGING;
ENABLE_CSP_NEXT = ;
ENABLE_CSS_BOX_DECORATION_BREAK = ENABLE_CSS_BOX_DECORATION_BREAK;
+ENABLE_CSS_COMPOSITING = ;
ENABLE_CSS_EXCLUSIONS = ENABLE_CSS_EXCLUSIONS;
ENABLE_CSS_FILTERS = ENABLE_CSS_FILTERS;
ENABLE_CSS_HIERARCHIES = ;
@@ -47,7 +48,6 @@ ENABLE_CSS_REGIONS = ENABLE_CSS_REGIONS;
ENABLE_CSS_SHADERS = ENABLE_CSS_SHADERS;
ENABLE_CSS_STICKY_POSITION = ENABLE_CSS_STICKY_POSITION;
ENABLE_CSS_VARIABLES = ;
-ENABLE_CSS3_FLEXBOX = ENABLE_CSS3_FLEXBOX;
ENABLE_CSS3_TEXT_DECORATION = ;
ENABLE_CUSTOM_SCHEME_HANDLER = ;
ENABLE_DASHBOARD_SUPPORT = $(ENABLE_DASHBOARD_SUPPORT_$(REAL_PLATFORM_NAME));
@@ -105,6 +105,7 @@ ENABLE_METER_ELEMENT = ENABLE_METER_ELEMENT;
ENABLE_MHTML = ;
ENABLE_MICRODATA = ;
ENABLE_MUTATION_OBSERVERS = ENABLE_MUTATION_OBSERVERS;
+ENABLE_NAVIGATOR_CONTENT_UTILS = ;
ENABLE_NOTIFICATIONS = $(ENABLE_NOTIFICATIONS_$(REAL_PLATFORM_NAME));
ENABLE_NOTIFICATIONS_macosx = $(ENABLE_NOTIFICATIONS_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
ENABLE_NOTIFICATIONS_macosx_1070 = ;
@@ -113,7 +114,6 @@ ENABLE_NOTIFICATIONS_macosx_1090 = ENABLE_NOTIFICATIONS;
ENABLE_PAGE_VISIBILITY_API = ;
ENABLE_PROGRESS_ELEMENT = ENABLE_PROGRESS_ELEMENT;
ENABLE_QUOTA = ;
-ENABLE_REGISTER_PROTOCOL_HANDLER = ;
ENABLE_REQUEST_ANIMATION_FRAME = ENABLE_REQUEST_ANIMATION_FRAME;
ENABLE_SCRIPTED_SPEECH = ;
ENABLE_SHADOW_DOM = ;
@@ -140,4 +140,4 @@ ENABLE_WIDGET_REGION_macosx = ENABLE_WIDGET_REGION;
ENABLE_WORKERS = ENABLE_WORKERS;
ENABLE_XSLT = ENABLE_XSLT;
-FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_FLEXBOX) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REGISTER_PROTOCOL_HANDLER) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
+FEATURE_DEFINES = $(ENABLE_3D_RENDERING) $(ENABLE_ACCELERATED_2D_CANVAS) $(ENABLE_ANIMATION_API) $(ENABLE_BLOB) $(ENABLE_CHANNEL_MESSAGING) $(ENABLE_CSP_NEXT) $(ENABLE_CSS_BOX_DECORATION_BREAK) $(ENABLE_CSS_EXCLUSIONS) $(ENABLE_CSS_COMPOSITING) $(ENABLE_CSS_FILTERS) $(ENABLE_CSS_HIERARCHIES) $(ENABLE_CSS_IMAGE_ORIENTATION) $(ENABLE_CSS_IMAGE_RESOLUTION) $(ENABLE_CSS_REGIONS) $(ENABLE_CSS_SHADERS) $(ENABLE_CSS_STICKY_POSITION) $(ENABLE_CSS_VARIABLES) $(ENABLE_CSS3_TEXT_DECORATION) $(ENABLE_CUSTOM_SCHEME_HANDLER) $(ENABLE_DASHBOARD_SUPPORT) $(ENABLE_DATALIST_ELEMENT) $(ENABLE_DATA_TRANSFER_ITEMS) $(ENABLE_DETAILS_ELEMENT) $(ENABLE_DEVICE_ORIENTATION) $(ENABLE_DIALOG_ELEMENT) $(ENABLE_DIRECTORY_UPLOAD) $(ENABLE_FILE_SYSTEM) $(ENABLE_FILTERS) $(ENABLE_FULLSCREEN_API) $(ENABLE_GAMEPAD) $(ENABLE_GEOLOCATION) $(ENABLE_HIGH_DPI_CANVAS) $(ENABLE_ICONDATABASE) $(ENABLE_IFRAME_SEAMLESS) $(ENABLE_INDEXED_DATABASE) $(ENABLE_INPUT_SPEECH) $(ENABLE_INPUT_TYPE_COLOR) $(ENABLE_INPUT_TYPE_DATE) $(ENABLE_INPUT_TYPE_DATETIME) $(ENABLE_INPUT_TYPE_DATETIMELOCAL) $(ENABLE_INPUT_TYPE_MONTH) $(ENABLE_INPUT_TYPE_TIME) $(ENABLE_INPUT_TYPE_WEEK) $(ENABLE_JAVASCRIPT_DEBUGGER) $(ENABLE_LEGACY_CSS_VENDOR_PREFIXES) $(ENABLE_LEGACY_NOTIFICATIONS) $(ENABLE_LINK_PREFETCH) $(ENABLE_LINK_PRERENDER) $(ENABLE_MATHML) $(ENABLE_MEDIA_SOURCE) $(ENABLE_MEDIA_STATISTICS) $(ENABLE_METER_ELEMENT) $(ENABLE_MHTML) $(ENABLE_MICRODATA) $(ENABLE_MUTATION_OBSERVERS) $(ENABLE_NAVIGATOR_CONTENT_UTILS) $(ENABLE_NOTIFICATIONS) $(ENABLE_PAGE_VISIBILITY_API) $(ENABLE_PROGRESS_ELEMENT) $(ENABLE_QUOTA) $(ENABLE_REQUEST_ANIMATION_FRAME) $(ENABLE_SCRIPTED_SPEECH) $(ENABLE_SHADOW_DOM) $(ENABLE_SHARED_WORKERS) $(ENABLE_SQL_DATABASE) $(ENABLE_STYLE_SCOPED) $(ENABLE_SVG) $(ENABLE_SVG_DOM_OBJC_BINDINGS) $(ENABLE_SVG_FONTS) $(ENABLE_TEXT_AUTOSIZING) $(ENABLE_TEXT_NOTIFICATIONS_ONLY) $(ENABLE_TOUCH_ICON_LOADING) $(ENABLE_UNDO_MANAGER) $(ENABLE_VIDEO) $(ENABLE_VIDEO_TRACK) $(ENABLE_WEBGL) $(ENABLE_WEB_AUDIO) $(ENABLE_WEB_SOCKETS) $(ENABLE_WEB_TIMING) $(ENABLE_WIDGET_REGION) $(ENABLE_WORKERS) $(ENABLE_XSLT);
diff --git a/Source/WebKit2/Configurations/Version.xcconfig b/Source/WebKit2/Configurations/Version.xcconfig
index 0b9cad4e0..b2a1841f0 100644
--- a/Source/WebKit2/Configurations/Version.xcconfig
+++ b/Source/WebKit2/Configurations/Version.xcconfig
@@ -22,7 +22,7 @@
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
MAJOR_VERSION = 537;
-MINOR_VERSION = 8;
+MINOR_VERSION = 10;
TINY_VERSION = 0;
FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION);
diff --git a/Source/WebKit2/DerivedSources.pri b/Source/WebKit2/DerivedSources.pri
index 26cbb2b85..ad0288b18 100644
--- a/Source/WebKit2/DerivedSources.pri
+++ b/Source/WebKit2/DerivedSources.pri
@@ -22,6 +22,7 @@ WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2 += \
$$WEBCORE_GENERATED_SOURCES_DIR/JSElement.h \
$$WEBCORE_GENERATED_SOURCES_DIR/JSHTMLElement.h \
$$WEBCORE_GENERATED_SOURCES_DIR/JSNode.h \
+ $$WEBCORE_GENERATED_SOURCES_DIR/JSNotification.h \
$$WEBCORE_GENERATED_SOURCES_DIR/JSRange.h \
defineReplace(message_header_generator_output) {
@@ -143,7 +144,11 @@ for(header, WEBCORE_GENERATED_HEADERS_FOR_WEBKIT2) {
eval($${header_target}.target = $$dest_dir/$$header_name)
eval($${header_target}.depends = $$header_path)
- eval($${header_target}.commands = $${QMAKE_MKDIR} $$dest_dir && echo $${DOUBLE_ESCAPED_QUOTE}\$${LITERAL_HASH}include \\\"$$header_path\\\"$${DOUBLE_ESCAPED_QUOTE} > $$eval($${header_target}.target))
+
+ win32: eval($${header_target}.commands = ($${QMAKE_MKDIR} $$toSystemPath($$dest_dir) 2>nul || echo>nul))
+ else: eval($${header_target}.commands = $${QMAKE_MKDIR} $$toSystemPath($$dest_dir) )
+
+ eval($${header_target}.commands += && echo $${DOUBLE_ESCAPED_QUOTE}\$${LITERAL_HASH}include \\\"$$header_path\\\"$${DOUBLE_ESCAPED_QUOTE} > $$eval($${header_target}.target))
GENERATORS += $$header_target
}
diff --git a/Source/WebKit2/GNUmakefile.list.am b/Source/WebKit2/GNUmakefile.list.am
index d417b5f45..ed15d030b 100644
--- a/Source/WebKit2/GNUmakefile.list.am
+++ b/Source/WebKit2/GNUmakefile.list.am
@@ -937,7 +937,6 @@ webkit2_sources += \
Source/WebKit2/WebProcess/Geolocation/WebGeolocationManager.h \
Source/WebKit2/WebProcess/gtk/WebAuthDialog.cpp \
Source/WebKit2/WebProcess/gtk/WebAuthDialog.h \
- Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp \
Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.cpp \
Source/WebKit2/WebProcess/gtk/WebProcessMainGtk.h \
Source/WebKit2/WebProcess/IconDatabase/WebIconDatabaseProxy.cpp \
@@ -1068,6 +1067,7 @@ webkit2_sources += \
Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp \
Source/WebKit2/WebProcess/soup/WebSoupRequestManager.cpp \
Source/WebKit2/WebProcess/soup/WebSoupRequestManager.h \
+ Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp \
Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.cpp \
Source/WebKit2/WebProcess/soup/WebKitSoupRequestGeneric.h \
Source/WebKit2/WebProcess/soup/WebKitSoupRequestInputStream.cpp \
diff --git a/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp b/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp
index dec62bf68..232f38bb9 100644
--- a/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp
+++ b/Source/WebKit2/Platform/CoreIPC/ArgumentCoders.cpp
@@ -97,7 +97,30 @@ void ArgumentCoder<String>::encode(ArgumentEncoder* encoder, const String& strin
uint32_t length = string.length();
encoder->encode(length);
- encoder->encodeFixedLengthData(reinterpret_cast<const uint8_t*>(string.characters()), length * sizeof(UChar), __alignof(UChar));
+ bool is8Bit = string.is8Bit();
+ encoder->encodeBool(is8Bit);
+ if (is8Bit)
+ encoder->encodeFixedLengthData(reinterpret_cast<const uint8_t*>(string.characters8()), length * sizeof(LChar), __alignof(LChar));
+ else
+ encoder->encodeFixedLengthData(reinterpret_cast<const uint8_t*>(string.characters16()), length * sizeof(UChar), __alignof(UChar));
+}
+
+template <typename CharacterType>
+static inline bool decodeStringText(ArgumentDecoder* decoder, uint32_t length, String& result)
+{
+ // Before allocating the string, make sure that the decoder buffer is big enough.
+ if (!decoder->bufferIsLargeEnoughToContain<CharacterType>(length)) {
+ decoder->markInvalid();
+ return false;
+ }
+
+ CharacterType* buffer;
+ String string = String::createUninitialized(length, buffer);
+ if (!decoder->decodeFixedLengthData(reinterpret_cast<uint8_t*>(buffer), length * sizeof(CharacterType), __alignof(CharacterType)))
+ return false;
+
+ result = string;
+ return true;
}
bool ArgumentCoder<String>::decode(ArgumentDecoder* decoder, String& result)
@@ -112,19 +135,14 @@ bool ArgumentCoder<String>::decode(ArgumentDecoder* decoder, String& result)
return true;
}
- // Before allocating the string, make sure that the decoder buffer is big enough.
- if (!decoder->bufferIsLargeEnoughToContain<UChar>(length)) {
- decoder->markInvalid();
- return false;
- }
-
- UChar* buffer;
- String string = String::createUninitialized(length, buffer);
- if (!decoder->decodeFixedLengthData(reinterpret_cast<uint8_t*>(buffer), length * sizeof(UChar), __alignof(UChar)))
+ bool is8Bit;
+
+ if (!decoder->decodeBool(is8Bit))
return false;
-
- result = string;
- return true;
+
+ if (is8Bit)
+ return decodeStringText<LChar>(decoder, length, result);
+ return decodeStringText<UChar>(decoder, length, result);
}
} // namespace CoreIPC
diff --git a/Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h b/Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h
index e75ed75a2..290e08600 100644
--- a/Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h
+++ b/Source/WebKit2/Platform/CoreIPC/BinarySemaphore.h
@@ -41,12 +41,12 @@ public:
void signal();
bool wait(double absoluteTime);
-#if PLATFORM(WIN)
+#if OS(WINDOWS)
HANDLE event() const { return m_event; }
#endif
private:
-#if PLATFORM(WIN)
+#if OS(WINDOWS)
HANDLE m_event;
#else
bool m_isSet;
diff --git a/Source/WebKit2/Platform/CoreIPC/Connection.h b/Source/WebKit2/Platform/CoreIPC/Connection.h
index b8410a900..8850de0d3 100644
--- a/Source/WebKit2/Platform/CoreIPC/Connection.h
+++ b/Source/WebKit2/Platform/CoreIPC/Connection.h
@@ -148,7 +148,7 @@ public:
#endif
};
static bool identifierIsNull(Identifier identifier) { return identifier.port == MACH_PORT_NULL; }
-#elif PLATFORM(WIN)
+#elif OS(WINDOWS)
typedef HANDLE Identifier;
static bool createServerAndClientIdentifiers(Identifier& serverIdentifier, Identifier& clientIdentifier);
static bool identifierIsNull(Identifier identifier) { return !identifier; }
@@ -379,7 +379,7 @@ private:
xpc_connection_t m_xpcConnection;
#endif
-#elif PLATFORM(WIN)
+#elif OS(WINDOWS)
// Called on the connection queue.
void readEventHandler();
void writeEventHandler();
diff --git a/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp b/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
index 885e495cb..6374f0323 100644
--- a/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
+++ b/Source/WebKit2/Platform/CoreIPC/unix/ConnectionUnix.cpp
@@ -39,8 +39,8 @@
#include <wtf/OwnArrayPtr.h>
#if PLATFORM(QT)
+#include <QPointer>
#include <QSocketNotifier>
-#include <QWeakPointer>
#elif PLATFORM(GTK)
#include <glib.h>
#endif
@@ -175,7 +175,7 @@ public:
}
private:
- QWeakPointer<QSocketNotifier> const m_socketNotifier;
+ QPointer<QSocketNotifier> const m_socketNotifier;
};
#endif
diff --git a/Source/WebKit2/Platform/SharedMemory.h b/Source/WebKit2/Platform/SharedMemory.h
index a6f832851..0d56bacc6 100644
--- a/Source/WebKit2/Platform/SharedMemory.h
+++ b/Source/WebKit2/Platform/SharedMemory.h
@@ -68,7 +68,7 @@ public:
friend class SharedMemory;
#if OS(DARWIN)
mutable mach_port_t m_port;
-#elif PLATFORM(WIN)
+#elif OS(WINDOWS)
mutable HANDLE m_handle;
#elif USE(UNIX_DOMAIN_SOCKETS)
mutable int m_fileDescriptor;
@@ -82,7 +82,7 @@ public:
// Create a shared memory object from the given handle and the requested protection. Will return 0 on failure.
static PassRefPtr<SharedMemory> create(const Handle&, Protection);
-#if PLATFORM(WIN)
+#if OS(WINDOWS)
static PassRefPtr<SharedMemory> adopt(HANDLE, size_t, Protection);
#endif
@@ -92,7 +92,7 @@ public:
size_t size() const { return m_size; }
void* data() const { return m_data; }
-#if PLATFORM(WIN)
+#if OS(WINDOWS)
HANDLE handle() const { return m_handle; }
#endif
@@ -107,7 +107,7 @@ private:
void* m_data;
#if OS(DARWIN)
mach_port_t m_port;
-#elif PLATFORM(WIN)
+#elif OS(WINDOWS)
HANDLE m_handle;
#elif USE(UNIX_DOMAIN_SOCKETS)
int m_fileDescriptor;
diff --git a/Source/WebKit2/Platform/WorkQueue.h b/Source/WebKit2/Platform/WorkQueue.h
index 5ff7d39cc..d6e929577 100644
--- a/Source/WebKit2/Platform/WorkQueue.h
+++ b/Source/WebKit2/Platform/WorkQueue.h
@@ -86,7 +86,7 @@ public:
// Note that this will adopt the mach port and destroy it when the work queue is invalidated.
void registerMachPortEventHandler(mach_port_t, MachPortEventType, const Function<void()>&);
void unregisterMachPortEventHandler(mach_port_t);
-#elif PLATFORM(WIN)
+#elif OS(WINDOWS)
void registerHandle(HANDLE, const Function<void()>&);
void unregisterAndCloseHandle(HANDLE);
#elif PLATFORM(QT)
@@ -117,7 +117,7 @@ private:
HashMap<mach_port_t, EventSource*> m_eventSources;
dispatch_queue_t m_dispatchQueue;
#endif
-#elif PLATFORM(WIN)
+#elif OS(WINDOWS)
class WorkItemWin : public ThreadSafeRefCounted<WorkItemWin> {
public:
static PassRefPtr<WorkItemWin> create(const Function<void()>&, WorkQueue*);
diff --git a/Source/WebKit2/PlatformEfl.cmake b/Source/WebKit2/PlatformEfl.cmake
index d4b08f8be..b49247fd8 100644
--- a/Source/WebKit2/PlatformEfl.cmake
+++ b/Source/WebKit2/PlatformEfl.cmake
@@ -28,6 +28,8 @@ LIST(APPEND WebKit2_SOURCES
Shared/efl/ProcessExecutablePathEfl.cpp
Shared/efl/WebEventFactory.cpp
+ Shared/linux/WebMemorySamplerLinux.cpp
+
Shared/soup/PlatformCertificateInfo.cpp
Shared/soup/WebCoreArgumentCodersSoup.cpp
@@ -55,6 +57,8 @@ LIST(APPEND WebKit2_SOURCES
UIProcess/API/efl/ewk_intent_service.cpp
UIProcess/API/efl/ewk_main.cpp
UIProcess/API/efl/ewk_navigation_policy_decision.cpp
+ UIProcess/API/efl/ewk_popup_menu_item.cpp
+ UIProcess/API/efl/ewk_settings.cpp
UIProcess/API/efl/ewk_url_request.cpp
UIProcess/API/efl/ewk_url_response.cpp
UIProcess/API/efl/ewk_url_scheme_request.cpp
@@ -75,6 +79,7 @@ LIST(APPEND WebKit2_SOURCES
UIProcess/efl/WebFullScreenManagerProxyEfl.cpp
UIProcess/efl/WebInspectorProxyEfl.cpp
UIProcess/efl/WebPageProxyEfl.cpp
+ UIProcess/efl/WebPopupMenuProxyEfl.cpp
UIProcess/efl/WebPreferencesEfl.cpp
UIProcess/soup/WebCookieManagerProxySoup.cpp
@@ -91,9 +96,6 @@ LIST(APPEND WebKit2_SOURCES
WebProcess/Downloads/efl/DownloadSoupErrorsEfl.cpp
WebProcess/Downloads/soup/DownloadSoup.cpp
- WebProcess/efl/WebProcessEfl.cpp
- WebProcess/efl/WebProcessMainEfl.cpp
-
WebProcess/InjectedBundle/efl/InjectedBundleEfl.cpp
WebProcess/WebCoreSupport/efl/WebContextMenuClientEfl.cpp
@@ -101,9 +103,14 @@ LIST(APPEND WebKit2_SOURCES
WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp
WebProcess/WebCoreSupport/efl/WebPopupMenuEfl.cpp
+ WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp
+
WebProcess/WebPage/efl/WebInspectorEfl.cpp
WebProcess/WebPage/efl/WebPageEfl.cpp
+ WebProcess/efl/WebProcessMainEfl.cpp
+
+ WebProcess/soup/WebProcessSoup.cpp
WebProcess/soup/WebSoupRequestManager.cpp
WebProcess/soup/WebKitSoupRequestGeneric.cpp
WebProcess/soup/WebKitSoupRequestInputStream.cpp
@@ -126,11 +133,13 @@ LIST(APPEND WebKit2_INCLUDE_DIRECTORIES
"${WEBKIT2_DIR}/UIProcess/API/C/soup"
"${WEBKIT2_DIR}/UIProcess/API/cpp/efl"
"${WEBKIT2_DIR}/UIProcess/API/efl"
+ "${WEBKIT2_DIR}/UIProcess/efl"
"${WEBKIT2_DIR}/UIProcess/soup"
"${WEBKIT2_DIR}/WebProcess/Downloads/soup"
"${WEBKIT2_DIR}/WebProcess/efl"
"${WEBKIT2_DIR}/WebProcess/soup"
"${WEBKIT2_DIR}/WebProcess/WebCoreSupport/efl"
+ "${WEBKIT2_DIR}/WebProcess/WebCoreSupport/soup"
"${WTF_DIR}/wtf/gobject"
${CAIRO_INCLUDE_DIRS}
${ECORE_X_INCLUDE_DIRS}
@@ -138,6 +147,7 @@ LIST(APPEND WebKit2_INCLUDE_DIRECTORIES
${EFLDEPS_INCLUDE_DIRS}
${EFREET_INCLUDE_DIRS}
${EVAS_INCLUDE_DIRS}
+ ${LIBSOUP_INCLUDE_DIRS}
${LIBXML2_INCLUDE_DIR}
${LIBXSLT_INCLUDE_DIRS}
${SQLITE_INCLUDE_DIRS}
@@ -181,8 +191,6 @@ LIST (APPEND WebProcess_LIBRARIES
${SQLITE_LIBRARIES}
)
-ADD_DEFINITIONS(-DDEFAULT_THEME_PATH=\"${CMAKE_INSTALL_PREFIX}/${DATA_INSTALL_DIR}/themes\")
-
ADD_CUSTOM_TARGET(forwarding-headerEfl
COMMAND ${PERL_EXECUTABLE} ${WEBKIT2_DIR}/Scripts/generate-forwarding-headers.pl ${WEBKIT2_DIR} ${DERIVED_SOURCES_WEBKIT2_DIR}/include efl
)
@@ -206,6 +214,8 @@ SET (EWebKit2_HEADERS
"${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_intent_service.h"
"${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_main.h"
"${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_navigation_policy_decision.h"
+ "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_popup_menu_item.h"
+ "${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_settings.h"
"${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_request.h"
"${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_response.h"
"${CMAKE_CURRENT_SOURCE_DIR}/UIProcess/API/efl/ewk_url_scheme_request.h"
@@ -271,6 +281,7 @@ SET(EWK2UnitTests_BINARIES
test_ewk2_download_job
test_ewk2_eina_shared_string
test_ewk2_intents
+ test_ewk2_settings
test_ewk2_view
)
diff --git a/Source/WebKit2/PluginProcess/PluginProcess.cpp b/Source/WebKit2/PluginProcess/PluginProcess.cpp
index 759628504..6f868bbf8 100644
--- a/Source/WebKit2/PluginProcess/PluginProcess.cpp
+++ b/Source/WebKit2/PluginProcess/PluginProcess.cpp
@@ -65,8 +65,6 @@ using namespace WebCore;
namespace WebKit {
-static const double shutdownTimeout = 15.0;
-
PluginProcess& PluginProcess::shared()
{
DEFINE_STATIC_LOCAL(PluginProcess, pluginProcess, ());
@@ -74,8 +72,7 @@ PluginProcess& PluginProcess::shared()
}
PluginProcess::PluginProcess()
- : ChildProcess(shutdownTimeout)
- , m_supportsAsynchronousPluginInitialization(false)
+ : m_supportsAsynchronousPluginInitialization(false)
#if PLATFORM(MAC)
, m_compositingRenderServerPort(MACH_PORT_NULL)
#endif
@@ -162,6 +159,7 @@ void PluginProcess::initializePluginProcess(const PluginProcessCreationParameter
m_pluginPath = parameters.pluginPath;
m_supportsAsynchronousPluginInitialization = parameters.supportsAsynchronousPluginInitialization;
+ setTerminationTimeout(parameters.terminationTimeout);
platformInitialize(parameters);
}
diff --git a/Source/WebKit2/Shared/API/c/WKBase.h b/Source/WebKit2/Shared/API/c/WKBase.h
index 06aa286ab..2220e67aa 100644
--- a/Source/WebKit2/Shared/API/c/WKBase.h
+++ b/Source/WebKit2/Shared/API/c/WKBase.h
@@ -29,7 +29,7 @@
#include <stdint.h>
-#if defined(WIN32) || defined(_WIN32)
+#if (defined(WIN32) || defined(_WIN32)) && !defined(BUILDING_QT__)
#include <WebKit2/WKBaseWin.h>
#endif
diff --git a/Source/WebKit2/Shared/APIClientTraits.cpp b/Source/WebKit2/Shared/APIClientTraits.cpp
index ad3d22091..ae10a5f0a 100644
--- a/Source/WebKit2/Shared/APIClientTraits.cpp
+++ b/Source/WebKit2/Shared/APIClientTraits.cpp
@@ -39,6 +39,7 @@ const size_t APIClientTraits<WKBundleClient>::interfaceSizesByVersion[] = {
const size_t APIClientTraits<WKBundlePageLoaderClient>::interfaceSizesByVersion[] = {
offsetof(WKBundlePageLoaderClient, didLayoutForFrame),
offsetof(WKBundlePageLoaderClient, didFinishProgress),
+ offsetof(WKBundlePageLoaderClient, didReceiveIntentForFrame),
sizeof(WKBundlePageLoaderClient)
};
@@ -60,6 +61,7 @@ const size_t APIClientTraits<WKPageContextMenuClient>::interfaceSizesByVersion[]
const size_t APIClientTraits<WKPageLoaderClient>::interfaceSizesByVersion[] = {
offsetof(WKPageLoaderClient, didDetectXSSForFrame),
+ offsetof(WKPageLoaderClient, didReceiveIntentForFrame),
sizeof(WKPageLoaderClient)
};
diff --git a/Source/WebKit2/Shared/ChildProcess.cpp b/Source/WebKit2/Shared/ChildProcess.cpp
index 571fe9586..b65eebe2c 100644
--- a/Source/WebKit2/Shared/ChildProcess.cpp
+++ b/Source/WebKit2/Shared/ChildProcess.cpp
@@ -56,8 +56,8 @@ void ChildProcess::enableTermination()
m_terminationTimer.startOneShot(m_terminationTimeout);
}
-ChildProcess::ChildProcess(double terminationTimeout)
- : m_terminationTimeout(terminationTimeout)
+ChildProcess::ChildProcess()
+ : m_terminationTimeout(0)
, m_terminationCounter(0)
, m_terminationTimer(RunLoop::main(), this, &ChildProcess::terminationTimerFired)
{
diff --git a/Source/WebKit2/Shared/ChildProcess.h b/Source/WebKit2/Shared/ChildProcess.h
index 50eceb594..9ec1a50d9 100644
--- a/Source/WebKit2/Shared/ChildProcess.h
+++ b/Source/WebKit2/Shared/ChildProcess.h
@@ -60,9 +60,11 @@ public:
static void didCloseOnConnectionWorkQueue(WorkQueue&, CoreIPC::Connection*);
protected:
- explicit ChildProcess(double terminationTimeout);
+ explicit ChildProcess();
~ChildProcess();
+ void setTerminationTimeout(double seconds) { m_terminationTimeout = seconds; }
+
private:
void terminationTimerFired();
diff --git a/Source/WebKit2/Shared/LayerTreeContext.h b/Source/WebKit2/Shared/LayerTreeContext.h
index 388514db0..5206a373c 100644
--- a/Source/WebKit2/Shared/LayerTreeContext.h
+++ b/Source/WebKit2/Shared/LayerTreeContext.h
@@ -26,6 +26,8 @@
#ifndef LayerTreeContext_h
#define LayerTreeContext_h
+#include <stdint.h>
+
namespace CoreIPC {
class ArgumentDecoder;
class ArgumentEncoder;
diff --git a/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.cpp b/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.cpp
index 0f036bb46..f325eb6ac 100644
--- a/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.cpp
+++ b/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.cpp
@@ -41,6 +41,7 @@ void PluginProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder)
{
encoder->encode(pluginPath);
encoder->encode(supportsAsynchronousPluginInitialization);
+ encoder->encode(terminationTimeout);
#if PLATFORM(MAC)
encoder->encode(parentProcessName);
@@ -54,7 +55,8 @@ bool PluginProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder,
return false;
if (!decoder->decode(result.supportsAsynchronousPluginInitialization))
return false;
-
+ if (!decoder->decode(result.terminationTimeout))
+ return false;
#if PLATFORM(MAC)
if (!decoder->decode(result.parentProcessName))
return false;
diff --git a/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h b/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h
index cfaedcd32..eaadf1957 100644
--- a/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h
+++ b/Source/WebKit2/Shared/Plugins/PluginProcessCreationParameters.h
@@ -50,6 +50,8 @@ struct PluginProcessCreationParameters {
String pluginPath;
bool supportsAsynchronousPluginInitialization;
+ double terminationTimeout;
+
#if PLATFORM(MAC)
String parentProcessName;
CoreIPC::MachPort acceleratedCompositingPort;
diff --git a/Source/WebKit2/Shared/SandboxExtension.h b/Source/WebKit2/Shared/SandboxExtension.h
index 6f8aa7877..3691aca7f 100644
--- a/Source/WebKit2/Shared/SandboxExtension.h
+++ b/Source/WebKit2/Shared/SandboxExtension.h
@@ -99,6 +99,8 @@ public:
bool consume();
bool consumePermanently();
+ static bool consumePermanently(const Handle&);
+
private:
explicit SandboxExtension(const Handle&);
@@ -128,6 +130,7 @@ inline SandboxExtension::~SandboxExtension() { }
inline bool SandboxExtension::invalidate() { return true; }
inline bool SandboxExtension::consume() { return true; }
inline bool SandboxExtension::consumePermanently() { return true; }
+inline bool SandboxExtension::consumePermanently(const Handle&) { return true; }
#endif
} // namespace WebKit
diff --git a/Source/WebKit2/Shared/ShareableSurface.h b/Source/WebKit2/Shared/ShareableSurface.h
index 6cd7369a1..b685b0777 100644
--- a/Source/WebKit2/Shared/ShareableSurface.h
+++ b/Source/WebKit2/Shared/ShareableSurface.h
@@ -55,7 +55,7 @@ public:
static bool decode(CoreIPC::ArgumentDecoder*, Handle&);
#if USE(GRAPHICS_SURFACE)
- uint32_t graphicsSurfaceToken() const { return m_graphicsSurfaceToken; }
+ uint64_t graphicsSurfaceToken() const { return m_graphicsSurfaceToken; }
#endif
private:
diff --git a/Source/WebKit2/Shared/WebError.cpp b/Source/WebKit2/Shared/WebError.cpp
index 88204ddf3..e25dc02c5 100644
--- a/Source/WebKit2/Shared/WebError.cpp
+++ b/Source/WebKit2/Shared/WebError.cpp
@@ -32,7 +32,7 @@ namespace WebKit {
const String& WebError::webKitErrorDomain()
{
- DEFINE_STATIC_LOCAL(String, webKitErrorDomainString, ("WebKitErrorDomain"));
+ DEFINE_STATIC_LOCAL(String, webKitErrorDomainString, (ASCIILiteral("WebKitErrorDomain")));
return webKitErrorDomainString;
}
diff --git a/Source/WebKit2/Shared/WebMemorySampler.cpp b/Source/WebKit2/Shared/WebMemorySampler.cpp
index bdbab2d2d..6f77843ce 100644
--- a/Source/WebKit2/Shared/WebMemorySampler.cpp
+++ b/Source/WebKit2/Shared/WebMemorySampler.cpp
@@ -30,11 +30,13 @@
#include <stdio.h>
#include <wtf/text/CString.h>
+#include <wtf/text/StringBuilder.h>
using namespace WebCore;
namespace WebKit {
+static const char separator = '\t';
WebMemorySampler* WebMemorySampler::shared()
{
@@ -45,8 +47,7 @@ WebMemorySampler* WebMemorySampler::shared()
}
WebMemorySampler::WebMemorySampler()
- : m_separator(String("\t"))
- , m_sampleTimer(this, &WebMemorySampler::sampleTimerFired)
+ : m_sampleTimer(this, &WebMemorySampler::sampleTimerFired)
, m_stopTimer(this, &WebMemorySampler::stopTimerFired)
, m_isRunning(false)
, m_runningTime(0)
@@ -102,7 +103,7 @@ void WebMemorySampler::stop()
fflush(stdout);
m_isRunning = false;
- if(m_stopTimer.isActive())
+ if (m_stopTimer.isActive())
m_stopTimer.stop();
if (m_sampleLogSandboxExtension) {
@@ -134,21 +135,22 @@ void WebMemorySampler::initializeSandboxedLogFile(const SandboxExtension::Handle
void WebMemorySampler::writeHeaders()
{
- String processDetails = String("Process: ");
- processDetails.append(processName());
- processDetails.append(String("\n"));
- writeToFile(m_sampleLogFile, processDetails.utf8().data(), processDetails.utf8().length());
+ String processDetails = "Process: " + processName() + '\n';
+
+ CString utf8String = processDetails.utf8();
+ writeToFile(m_sampleLogFile, utf8String.data(), utf8String.length());
- String header;
+ StringBuilder header;
WebMemoryStatistics stats = sampleWebKit();
if (!stats.keys.isEmpty()) {
for (size_t i = 0; i < stats.keys.size(); ++i) {
- header.append(m_separator);
- header.append(stats.keys[i].utf8().data());
+ header.append(separator);
+ header.append(stats.keys[i]);
}
}
- header.append(String("\n"));
- writeToFile(m_sampleLogFile, header.utf8().data(), header.utf8().length());
+ header.append('\n');
+ utf8String = header.toString().utf8();
+ writeToFile(m_sampleLogFile, utf8String.data(), utf8String.length());
}
void WebMemorySampler::sampleTimerFired(Timer<WebMemorySampler>*)
@@ -168,18 +170,20 @@ void WebMemorySampler::stopTimerFired(Timer<WebMemorySampler>*)
void WebMemorySampler::appendCurrentMemoryUsageToFile(PlatformFileHandle& file)
{
// Collect statistics from allocators and get RSIZE metric
- String statString;
+ StringBuilder statString;
WebMemoryStatistics memoryStats = sampleWebKit();
if (!memoryStats.values.isEmpty()) {
- statString.append(m_separator);
+ statString.append(separator);
for (size_t i = 0; i < memoryStats.values.size(); ++i) {
- statString.append(m_separator);
- statString.append(String::format("%lu", memoryStats.values[i]));
+ statString.append(separator);
+ statString.append(String::number(memoryStats.values[i]));
}
}
- statString.append(String("\n"));
- writeToFile(m_sampleLogFile, statString.utf8().data(), statString.utf8().length());
+ statString.append('\n');
+
+ CString utf8String = statString.toString().utf8();
+ writeToFile(m_sampleLogFile, utf8String.data(), utf8String.length());
}
}
diff --git a/Source/WebKit2/Shared/WebMemorySampler.h b/Source/WebKit2/Shared/WebMemorySampler.h
index bc88b1986..548e50759 100644
--- a/Source/WebKit2/Shared/WebMemorySampler.h
+++ b/Source/WebKit2/Shared/WebMemorySampler.h
@@ -52,19 +52,18 @@
#if ENABLE(MEMORY_SAMPLER)
#include "SandboxExtension.h"
-#include <WebCore/Timer.h>
#include <WebCore/FileSystem.h>
+#include <WebCore/Timer.h>
#include <wtf/Noncopyable.h>
#include <wtf/RefPtr.h>
-#include <wtf/text/WTFString.h>
#include <wtf/Vector.h>
+#include <wtf/text/WTFString.h>
namespace WebKit {
struct SystemMallocStats;
-struct WebMemoryStatistics
-{
+struct WebMemoryStatistics {
Vector<String> keys;
Vector<size_t> values;
};
@@ -73,8 +72,8 @@ class WebMemorySampler {
WTF_MAKE_NONCOPYABLE(WebMemorySampler);
public:
static WebMemorySampler* shared();
- void start(const double interval=0);
- void start(const SandboxExtension::Handle&, const String&, const double interval=0);
+ void start(const double interval = 0);
+ void start(const SandboxExtension::Handle&, const String&, const double interval = 0);
void stop();
bool isRunning() const;
@@ -98,7 +97,6 @@ private:
WebCore::PlatformFileHandle m_sampleLogFile;
String m_sampleLogFilePath;
- String m_separator;
WebCore::Timer<WebMemorySampler> m_sampleTimer;
WebCore::Timer<WebMemorySampler> m_stopTimer;
bool m_isRunning;
diff --git a/Source/WebKit2/Shared/WebPreferencesStore.cpp b/Source/WebKit2/Shared/WebPreferencesStore.cpp
index 89734bf0e..746df10a4 100644
--- a/Source/WebKit2/Shared/WebPreferencesStore.cpp
+++ b/Source/WebKit2/Shared/WebPreferencesStore.cpp
@@ -37,7 +37,7 @@ namespace WebPreferencesKey {
#define DEFINE_KEY_GETTERS(KeyUpper, KeyLower, TypeName, Type, DefaultValue) \
const String& KeyLower##Key() \
{ \
- DEFINE_STATIC_LOCAL(String, key, (#KeyUpper)); \
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral(#KeyUpper))); \
return key; \
}
diff --git a/Source/WebKit2/Shared/WebPreferencesStore.h b/Source/WebKit2/Shared/WebPreferencesStore.h
index 569c5186d..fc1f6c00a 100644
--- a/Source/WebKit2/Shared/WebPreferencesStore.h
+++ b/Source/WebKit2/Shared/WebPreferencesStore.h
@@ -123,8 +123,10 @@ namespace WebKit {
macro(AsynchronousPluginInitializationEnabled, asynchronousPluginInitializationEnabled, Bool, bool, false) \
macro(AsynchronousPluginInitializationEnabledForAllPlugins, asynchronousPluginInitializationEnabledForAllPlugins, Bool, bool, false) \
macro(ArtificialPluginInitializationDelayEnabled, artificialPluginInitializationDelayEnabled, Bool, bool, false) \
+ macro(TabToLinksEnabled, tabToLinksEnabled, Bool, bool, false) \
+ macro(InteractiveFormValidationEnabled, interactiveFormValidationEnabled, Bool, bool, false) \
macro(ScrollingPerformanceLoggingEnabled, scrollingPerformanceLoggingEnabled, Bool, bool, false) \
- macro(ThirdPartyStorageBlockingEnabled, thirdPartyStorageBlockingEnabled, Bool, bool, false) \
+ macro(StorageBlockingPolicy, storageBlockingPolicy, UInt32, uint32_t, 0) \
macro(ScrollAnimatorEnabled, scrollAnimatorEnabled, Bool, bool, DEFAULT_WEBKIT_SCROLL_ANIMATOR_ENABLED) \
\
diff --git a/Source/WebKit2/Shared/WebProcessCreationParameters.cpp b/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
index b41e64b82..4339d59e2 100644
--- a/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
+++ b/Source/WebKit2/Shared/WebProcessCreationParameters.cpp
@@ -52,8 +52,11 @@ void WebProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) con
encoder->encode(injectedBundlePath);
encoder->encode(injectedBundlePathExtensionHandle);
encoder->encode(applicationCacheDirectory);
+ encoder->encode(applicationCacheDirectoryExtensionHandle);
encoder->encode(databaseDirectory);
+ encoder->encode(databaseDirectoryExtensionHandle);
encoder->encode(localStorageDirectory);
+ encoder->encode(localStorageDirectoryExtensionHandle);
encoder->encode(urlSchemesRegistererdAsEmptyDocument);
encoder->encode(urlSchemesRegisteredAsSecure);
encoder->encode(urlSchemesForWhichDomainRelaxationIsForbidden);
@@ -66,6 +69,7 @@ void WebProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) con
#if ENABLE(PLUGIN_PROCESS)
encoder->encode(disablePluginProcessMessageTimeout);
#endif
+ encoder->encode(terminationTimeout);
encoder->encode(languages);
encoder->encode(textCheckerState);
encoder->encode(fullKeyboardAccessEnabled);
@@ -77,11 +81,12 @@ void WebProcessCreationParameters::encode(CoreIPC::ArgumentEncoder* encoder) con
encoder->encode(parentProcessName);
encoder->encode(presenterApplicationPid);
encoder->encode(nsURLCachePath);
+ encoder->encode(nsURLCachePathExtensionHandle);
encoder->encode(nsURLCacheMemoryCapacity);
encoder->encode(nsURLCacheDiskCapacity);
encoder->encode(acceleratedCompositingPort);
encoder->encode(uiProcessBundleResourcePath);
- encoder->encode(webInspectorBaseDirectory);
+ encoder->encode(uiProcessBundleResourcePathExtensionHandle);
#elif PLATFORM(WIN)
encoder->encode(shouldPaintNativeControls);
encoder->encode(cfURLCachePath);
@@ -113,10 +118,16 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
return false;
if (!decoder->decode(parameters.applicationCacheDirectory))
return false;
+ if (!decoder->decode(parameters.applicationCacheDirectoryExtensionHandle))
+ return false;
if (!decoder->decode(parameters.databaseDirectory))
return false;
+ if (!decoder->decode(parameters.databaseDirectoryExtensionHandle))
+ return false;
if (!decoder->decode(parameters.localStorageDirectory))
return false;
+ if (!decoder->decode(parameters.localStorageDirectoryExtensionHandle))
+ return false;
if (!decoder->decode(parameters.urlSchemesRegistererdAsEmptyDocument))
return false;
if (!decoder->decode(parameters.urlSchemesRegisteredAsSecure))
@@ -139,7 +150,8 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
if (!decoder->decode(parameters.disablePluginProcessMessageTimeout))
return false;
#endif
-
+ if (!decoder->decode(parameters.terminationTimeout))
+ return false;
if (!decoder->decode(parameters.languages))
return false;
if (!decoder->decode(parameters.textCheckerState))
@@ -160,6 +172,8 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
return false;
if (!decoder->decode(parameters.nsURLCachePath))
return false;
+ if (!decoder->decode(parameters.nsURLCachePathExtensionHandle))
+ return false;
if (!decoder->decode(parameters.nsURLCacheMemoryCapacity))
return false;
if (!decoder->decode(parameters.nsURLCacheDiskCapacity))
@@ -168,7 +182,7 @@ bool WebProcessCreationParameters::decode(CoreIPC::ArgumentDecoder* decoder, Web
return false;
if (!decoder->decode(parameters.uiProcessBundleResourcePath))
return false;
- if (!decoder->decode(parameters.webInspectorBaseDirectory))
+ if (!decoder->decode(parameters.uiProcessBundleResourcePathExtensionHandle))
return false;
#elif PLATFORM(WIN)
if (!decoder->decode(parameters.shouldPaintNativeControls))
diff --git a/Source/WebKit2/Shared/WebProcessCreationParameters.h b/Source/WebKit2/Shared/WebProcessCreationParameters.h
index 6abc5ec86..9fae17f54 100644
--- a/Source/WebKit2/Shared/WebProcessCreationParameters.h
+++ b/Source/WebKit2/Shared/WebProcessCreationParameters.h
@@ -55,8 +55,11 @@ struct WebProcessCreationParameters {
SandboxExtension::Handle injectedBundlePathExtensionHandle;
String applicationCacheDirectory;
+ SandboxExtension::Handle applicationCacheDirectoryExtensionHandle;
String databaseDirectory;
+ SandboxExtension::Handle databaseDirectoryExtensionHandle;
String localStorageDirectory;
+ SandboxExtension::Handle localStorageDirectoryExtensionHandle;
Vector<String> urlSchemesRegistererdAsEmptyDocument;
Vector<String> urlSchemesRegisteredAsSecure;
@@ -77,6 +80,8 @@ struct WebProcessCreationParameters {
bool disablePluginProcessMessageTimeout;
#endif
+ double terminationTimeout;
+
Vector<String> languages;
TextCheckerState textCheckerState;
@@ -96,14 +101,15 @@ struct WebProcessCreationParameters {
// FIXME: These should be merged with CFURLCache counterparts below.
String nsURLCachePath;
+ SandboxExtension::Handle nsURLCachePathExtensionHandle;
+
uint64_t nsURLCacheMemoryCapacity;
uint64_t nsURLCacheDiskCapacity;
CoreIPC::MachPort acceleratedCompositingPort;
String uiProcessBundleResourcePath;
-
- String webInspectorBaseDirectory;
+ SandboxExtension::Handle uiProcessBundleResourcePathExtensionHandle;
#elif PLATFORM(WIN)
String cfURLCachePath;
diff --git a/Source/WebKit2/Shared/gtk/WebEventFactory.cpp b/Source/WebKit2/Shared/gtk/WebEventFactory.cpp
index 06c2b8c69..687957db8 100644
--- a/Source/WebKit2/Shared/gtk/WebEventFactory.cpp
+++ b/Source/WebKit2/Shared/gtk/WebEventFactory.cpp
@@ -153,6 +153,14 @@ WebWheelEvent WebEventFactory::createWebWheelEvent(const GdkEvent* event)
case GDK_SCROLL_RIGHT:
wheelTicks = FloatSize(-1, 0);
break;
+#if GTK_CHECK_VERSION(3, 3, 18)
+ case GDK_SCROLL_SMOOTH: {
+ double deltaX, deltaY;
+ gdk_event_get_scroll_deltas(event, &deltaX, &deltaY);
+ wheelTicks = FloatSize(-deltaX, -deltaY);
+ }
+ break;
+#endif
default:
ASSERT_NOT_REACHED();
}
diff --git a/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
new file mode 100644
index 000000000..599e4cead
--- /dev/null
+++ b/Source/WebKit2/Shared/linux/WebMemorySamplerLinux.cpp
@@ -0,0 +1,195 @@
+/*
+ * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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 "WebMemorySampler.h"
+
+#if ENABLE(MEMORY_SAMPLER)
+
+#include "NotImplemented.h"
+#include <JavaScriptCore/MemoryStatistics.h>
+#include <WebCore/JSDOMWindow.h>
+#include <runtime/JSLock.h>
+#include <string.h>
+#include <sys/sysinfo.h>
+#include <wtf/CurrentTime.h>
+#include <wtf/text/WTFString.h>
+
+using namespace WebCore;
+using namespace JSC;
+using namespace WTF;
+
+namespace WebKit {
+
+struct ApplicationMemoryStats {
+ size_t totalProgramSize;
+ size_t residentSetSize;
+ size_t sharedSize;
+ size_t textSize;
+ size_t librarySize;
+ size_t dataStackSize;
+ size_t dirtyPageSize;
+};
+
+static const unsigned int maxBuffer = 128;
+static const unsigned int maxProcessPath = 35;
+
+static inline String nextToken(FILE* file)
+{
+ ASSERT(file);
+ if (!file)
+ return String();
+
+ char buffer[maxBuffer] = {0, };
+ unsigned int index = 0;
+ while (index < maxBuffer) {
+ char ch = fgetc(file);
+ if (ch == EOF || (isASCIISpace(ch) && index)) // Break on non-initial ASCII space.
+ break;
+ if (!isASCIISpace(ch)) {
+ buffer[index] = ch;
+ index++;
+ }
+ }
+
+ return String(buffer);
+}
+
+static inline void appendKeyValuePair(WebMemoryStatistics& stats, const String& key, size_t value)
+{
+ stats.keys.append(key);
+ stats.values.append(value);
+}
+
+static ApplicationMemoryStats sampleMemoryAllocatedForApplication()
+{
+ ApplicationMemoryStats applicationStats;
+ char processPath[maxProcessPath];
+ snprintf(processPath, maxProcessPath, "/proc/self/statm");
+ FILE* statmFileDescriptor = fopen(processPath, "r");
+ if (!statmFileDescriptor)
+ return applicationStats;
+
+ applicationStats.totalProgramSize = nextToken(statmFileDescriptor).toInt();
+ applicationStats.residentSetSize = nextToken(statmFileDescriptor).toInt();
+ applicationStats.sharedSize = nextToken(statmFileDescriptor).toInt();
+ applicationStats.textSize = nextToken(statmFileDescriptor).toInt();
+ applicationStats.librarySize = nextToken(statmFileDescriptor).toInt();
+ applicationStats.dataStackSize = nextToken(statmFileDescriptor).toInt();
+ applicationStats.dirtyPageSize = nextToken(statmFileDescriptor).toInt();
+
+ fclose(statmFileDescriptor);
+
+ return applicationStats;
+}
+
+String WebMemorySampler::processName() const
+{
+ char processPath[maxProcessPath];
+ snprintf(processPath, maxProcessPath, "/proc/self/status");
+ FILE* statusFileDescriptor = fopen(processPath, "r");
+ if (!statusFileDescriptor)
+ return String();
+
+ nextToken(statusFileDescriptor);
+ String processName = nextToken(statusFileDescriptor);
+
+ fclose(statusFileDescriptor);
+
+ return processName;
+}
+
+WebMemoryStatistics WebMemorySampler::sampleWebKit() const
+{
+ WebMemoryStatistics webKitMemoryStats;
+
+ double now = currentTime();
+
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Timestamp"), now);
+
+ ApplicationMemoryStats applicationStats = sampleMemoryAllocatedForApplication();
+
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Total Program Size"), applicationStats.totalProgramSize);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("RSS"), applicationStats.residentSetSize);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Shared"), applicationStats.sharedSize);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Text"), applicationStats.textSize);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Library"), applicationStats.librarySize);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Data/Stack"), applicationStats.dataStackSize);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Dirty"), applicationStats.dirtyPageSize);
+
+ size_t totalBytesInUse = 0;
+ size_t totalBytesCommitted = 0;
+
+#if ENABLE(GLOBAL_FASTMALLOC_NEW)
+ FastMallocStatistics fastMallocStatistics = WTF::fastMallocStatistics();
+ size_t fastMallocBytesInUse = fastMallocStatistics.committedVMBytes - fastMallocStatistics.freeListBytes;
+ size_t fastMallocBytesCommitted = fastMallocStatistics.committedVMBytes;
+ totalBytesInUse += fastMallocBytesInUse;
+ totalBytesCommitted += fastMallocBytesCommitted;
+
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Fast Malloc In Use"), fastMallocBytesInUse);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Fast Malloc Committed Memory"), fastMallocBytesCommitted);
+#endif
+
+#if USE(JSC)
+ size_t jscHeapBytesInUse = JSDOMWindow::commonJSGlobalData()->heap.size();
+ size_t jscHeapBytesCommitted = JSDOMWindow::commonJSGlobalData()->heap.capacity();
+ totalBytesInUse += jscHeapBytesInUse;
+ totalBytesCommitted += jscHeapBytesCommitted;
+
+ GlobalMemoryStatistics globalMemoryStats = globalMemoryStatistics();
+ totalBytesInUse += globalMemoryStats.stackBytes + globalMemoryStats.JITBytes;
+ totalBytesCommitted += globalMemoryStats.stackBytes + globalMemoryStats.JITBytes;
+
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("JavaScript Heap In Use"), jscHeapBytesInUse);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("JavaScript Heap Commited Memory"), jscHeapBytesCommitted);
+
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("JavaScript Stack Bytes"), globalMemoryStats.stackBytes);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("JavaScript JIT Bytes"), globalMemoryStats.JITBytes);
+#endif
+
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Total Memory In Use"), totalBytesInUse);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Total Committed Memory"), totalBytesCommitted);
+
+ struct sysinfo systemInfo;
+ if (!sysinfo(&systemInfo)) {
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("System Total Bytes"), systemInfo.totalram);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Available Bytes"), systemInfo.freeram);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Shared Bytes"), systemInfo.sharedram);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Buffer Bytes"), systemInfo.bufferram);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Total Swap Bytes"), systemInfo.totalswap);
+ appendKeyValuePair(webKitMemoryStats, ASCIILiteral("Available Swap Bytes"), systemInfo.freeswap);
+ }
+
+ return webKitMemoryStats;
+}
+
+void WebMemorySampler::sendMemoryPressureEvent()
+{
+ notImplemented();
+}
+
+}
+#endif
diff --git a/Source/WebKit2/Shared/mac/SandboxExtensionMac.mm b/Source/WebKit2/Shared/mac/SandboxExtensionMac.mm
index a593b6742..b3b9472e6 100644
--- a/Source/WebKit2/Shared/mac/SandboxExtensionMac.mm
+++ b/Source/WebKit2/Shared/mac/SandboxExtensionMac.mm
@@ -290,6 +290,19 @@ bool SandboxExtension::consumePermanently()
return result;
}
+bool SandboxExtension::consumePermanently(const Handle& handle)
+{
+ ASSERT(handle.m_sandboxExtension);
+
+ bool result = WKSandboxExtensionConsume(handle.m_sandboxExtension);
+
+ // Destroy the extension without invalidating it.
+ WKSandboxExtensionDestroy(handle.m_sandboxExtension);
+ handle.m_sandboxExtension = 0;
+
+ return result;
+}
+
} // namespace WebKit
#endif // ENABLE(WEB_PROCESS_SANDBOX)
diff --git a/Source/WebKit2/Target.pri b/Source/WebKit2/Target.pri
index 37336505f..8d703671f 100644
--- a/Source/WebKit2/Target.pri
+++ b/Source/WebKit2/Target.pri
@@ -36,6 +36,7 @@ HEADERS += \
PluginProcess/PluginCreationParameters.h \
PluginProcess/PluginProcess.h \
PluginProcess/WebProcessConnection.h \
+ Shared/API/c/WKArray.h \
Shared/API/c/WKBase.h \
Shared/API/c/WKCertificateInfo.h \
Shared/API/c/WKConnectionRef.h \
@@ -46,6 +47,7 @@ HEADERS += \
Shared/API/c/WKGeometry.h \
Shared/API/c/WKGraphicsContext.h \
Shared/API/c/WKImage.h \
+ Shared/API/c/WKMutableArray.h \
Shared/API/c/WKMutableDictionary.h \
Shared/API/c/WKNumber.h \
Shared/API/c/WKPageLoadTypes.h \
@@ -211,6 +213,8 @@ HEADERS += \
UIProcess/Notifications/WebNotificationManagerProxy.h \
UIProcess/Notifications/WebNotificationProvider.h \
UIProcess/PageClient.h \
+ UIProcess/PageViewportController.h \
+ UIProcess/PageViewportControllerClient.h \
UIProcess/Plugins/PluginInfoStore.h \
UIProcess/Plugins/PluginProcessProxy.h \
UIProcess/Plugins/PluginProcessManager.h \
@@ -373,7 +377,6 @@ SOURCES += \
Platform/CoreIPC/ArgumentDecoder.cpp \
Platform/CoreIPC/ArgumentEncoder.cpp \
Platform/CoreIPC/Attachment.cpp \
- Platform/CoreIPC/BinarySemaphore.cpp \
Platform/CoreIPC/Connection.cpp \
Platform/CoreIPC/DataReference.cpp \
Platform/Logging.cpp \
@@ -397,6 +400,7 @@ SOURCES += \
Shared/API/c/WKGeometry.cpp \
Shared/API/c/WKGraphicsContext.cpp \
Shared/API/c/WKImage.cpp \
+ Shared/API/c/WKMutableArray.cpp \
Shared/API/c/WKMutableDictionary.cpp \
Shared/API/c/WKNumber.cpp \
Shared/API/c/WKRenderLayer.cpp \
@@ -550,6 +554,7 @@ SOURCES += \
UIProcess/Notifications/WebNotification.cpp \
UIProcess/Notifications/WebNotificationManagerProxy.cpp \
UIProcess/Notifications/WebNotificationProvider.cpp \
+ UIProcess/PageViewportController.cpp \
UIProcess/Plugins/PluginInfoStore.cpp \
UIProcess/Plugins/PluginProcessProxy.cpp \
UIProcess/Plugins/PluginProcessManager.cpp \
@@ -762,6 +767,7 @@ contains(DEFINES, HAVE_QTQUICK=1) {
UIProcess/API/qt/qquicknetworkrequest_p.h \
UIProcess/API/qt/qquickurlschemedelegate_p.h \
UIProcess/API/qt/qwebkittest_p.h \
+ UIProcess/qt/PageViewportControllerClientQt.h \
UIProcess/qt/QtWebContext.h \
UIProcess/qt/QtWebPageEventHandler.h \
UIProcess/qt/QtGestureRecognizer.h \
@@ -776,7 +782,6 @@ contains(DEFINES, HAVE_QTQUICK=1) {
UIProcess/qt/QtWebPagePolicyClient.h \
UIProcess/qt/QtWebPageSGNode.h \
UIProcess/qt/QtWebPageUIClient.h \
- UIProcess/qt/QtViewportHandler.h \
UIProcess/qt/QtWebUndoController.h \
UIProcess/qt/QtWebIconDatabaseClient.h \
UIProcess/qt/WebContextMenuProxyQt.h \
@@ -798,6 +803,7 @@ contains(DEFINES, HAVE_QTQUICK=1) {
UIProcess/API/qt/qquickurlschemedelegate.cpp \
UIProcess/API/qt/qwebpreferences.cpp \
UIProcess/API/qt/qwebkittest.cpp \
+ UIProcess/qt/PageViewportControllerClientQt.cpp \
UIProcess/qt/QtWebError.cpp \
UIProcess/qt/QtDialogRunner.cpp \
UIProcess/qt/QtDownloadManager.cpp \
@@ -810,7 +816,6 @@ contains(DEFINES, HAVE_QTQUICK=1) {
UIProcess/qt/QtPanGestureRecognizer.cpp \
UIProcess/qt/QtPinchGestureRecognizer.cpp \
UIProcess/qt/QtTapGestureRecognizer.cpp \
- UIProcess/qt/QtViewportHandler.cpp \
UIProcess/qt/WebContextMenuProxyQt.cpp \
UIProcess/qt/WebGeolocationProviderQt.cpp \
UIProcess/qt/WebPopupMenuProxyQt.cpp \
@@ -849,6 +854,11 @@ mac: {
Platform/mac/WorkQueueMac.cpp \
Platform/mac/SharedMemoryMac.cpp
+} else:win32 {
+ SOURCES += \
+ Platform/CoreIPC/win/ConnectionWin.cpp \
+ Platform/win/WorkQueueWin.cpp \
+ Platform/win/SharedMemoryWin.cpp
} else {
SOURCES += \
Platform/CoreIPC/unix/AttachmentUnix.cpp \
@@ -857,6 +867,15 @@ mac: {
Platform/unix/SharedMemoryUnix.cpp
}
+win32 {
+ SOURCES += \
+ Platform/CoreIPC/win/BinarySemaphoreWin.cpp
+} else {
+ SOURCES += \
+ Platform/CoreIPC/BinarySemaphore.cpp
+}
+
+
contains(DEFINES, ENABLE_INSPECTOR_SERVER=1) {
HEADERS += \
UIProcess/InspectorServer/WebInspectorServer.h \
@@ -883,6 +902,8 @@ contains(DEFINES, ENABLE_TOUCH_EVENTS=1) {
contains(DEFINES, ENABLE_GEOLOCATION=1): QT += location
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += angle
+
plugin_backend_xlib {
DEFINES += XP_UNIX
PKGCONFIG += x11
diff --git a/Source/WebKit2/UIProcess/API/C/WKAPICast.h b/Source/WebKit2/UIProcess/API/C/WKAPICast.h
index bef294e8a..fe55dd8ac 100644
--- a/Source/WebKit2/UIProcess/API/C/WKAPICast.h
+++ b/Source/WebKit2/UIProcess/API/C/WKAPICast.h
@@ -30,12 +30,14 @@
#include "CacheModel.h"
#include "FontSmoothingLevel.h"
#include "HTTPCookieAcceptPolicy.h"
+#include "ProcessModel.h"
#include "ResourceCachesToClear.h"
#include "WebGrammarDetail.h"
#include "WKContext.h"
#include "WKCookieManager.h"
#include "WKCredentialTypes.h"
#include "WKPage.h"
+#include "WKPreferences.h"
#include "WKPreferencesPrivate.h"
#include "WKProtectionSpaceTypes.h"
#include "WKResourceCacheManager.h"
@@ -174,6 +176,31 @@ inline WKCacheModel toAPI(CacheModel cacheModel)
return kWKCacheModelDocumentViewer;
}
+inline ProcessModel toProcessModel(WKProcessModel wkProcessModel)
+{
+ switch (wkProcessModel) {
+ case kWKProcessModelSharedSecondaryProcess:
+ return ProcessModelSharedSecondaryProcess;
+ case kWKProcessModelMultipleSecondaryProcesses:
+ return ProcessModelMultipleSecondaryProcesses;
+ }
+
+ ASSERT_NOT_REACHED();
+ return ProcessModelSharedSecondaryProcess;
+}
+
+inline WKProcessModel toAPI(ProcessModel processModel)
+{
+ switch (processModel) {
+ case ProcessModelSharedSecondaryProcess:
+ return kWKProcessModelSharedSecondaryProcess;
+ case ProcessModelMultipleSecondaryProcesses:
+ return kWKProcessModelMultipleSecondaryProcesses;
+ }
+
+ return kWKProcessModelSharedSecondaryProcess;
+}
+
inline FontSmoothingLevel toFontSmoothingLevel(WKFontSmoothingLevel wkLevel)
{
switch (wkLevel) {
@@ -359,6 +386,36 @@ inline WKHTTPCookieAcceptPolicy toAPI(HTTPCookieAcceptPolicy policy)
return kWKHTTPCookieAcceptPolicyAlways;
}
+inline WebCore::SecurityOrigin::StorageBlockingPolicy toStorageBlockingPolicy(WKStorageBlockingPolicy policy)
+{
+ switch (policy) {
+ case kWKAllowAllStorage:
+ return WebCore::SecurityOrigin::AllowAllStorage;
+ case kWKBlockThirdPartyStorage:
+ return WebCore::SecurityOrigin::BlockThirdPartyStorage;
+ case kWKBlockAllStorage:
+ return WebCore::SecurityOrigin::BlockAllStorage;
+ }
+
+ ASSERT_NOT_REACHED();
+ return WebCore::SecurityOrigin::AllowAllStorage;
+}
+
+inline WKStorageBlockingPolicy toAPI(WebCore::SecurityOrigin::StorageBlockingPolicy policy)
+{
+ switch (policy) {
+ case WebCore::SecurityOrigin::AllowAllStorage:
+ return kWKAllowAllStorage;
+ case WebCore::SecurityOrigin::BlockThirdPartyStorage:
+ return kWKBlockThirdPartyStorage;
+ case WebCore::SecurityOrigin::BlockAllStorage:
+ return kWKBlockAllStorage;
+ }
+
+ ASSERT_NOT_REACHED();
+ return kWKAllowAllStorage;
+}
+
inline ProxyingRefPtr<WebGrammarDetail> toAPI(const WebCore::GrammarDetail& grammarDetail)
{
return ProxyingRefPtr<WebGrammarDetail>(WebGrammarDetail::create(grammarDetail));
@@ -366,7 +423,7 @@ inline ProxyingRefPtr<WebGrammarDetail> toAPI(const WebCore::GrammarDetail& gram
} // namespace WebKit
-#if defined(WIN32) || defined(_WIN32)
+#if (defined(WIN32) || defined(_WIN32)) && !defined(BUILDING_QT__)
#include "WKAPICastWin.h"
#endif
diff --git a/Source/WebKit2/UIProcess/API/C/WKContext.cpp b/Source/WebKit2/UIProcess/API/C/WKContext.cpp
index f802e9374..28a70821b 100644
--- a/Source/WebKit2/UIProcess/API/C/WKContext.cpp
+++ b/Source/WebKit2/UIProcess/API/C/WKContext.cpp
@@ -120,6 +120,16 @@ WKCacheModel WKContextGetCacheModel(WKContextRef contextRef)
return toAPI(toImpl(contextRef)->cacheModel());
}
+void WKContextSetProcessModel(WKContextRef contextRef, WKProcessModel processModel)
+{
+ toImpl(contextRef)->setProcessModel(toProcessModel(processModel));
+}
+
+WKProcessModel WKContextGetProcessModel(WKContextRef contextRef)
+{
+ return toAPI(toImpl(contextRef)->processModel());
+}
+
void WKContextSetAlwaysUsesComplexTextCodePath(WKContextRef contextRef, bool alwaysUseComplexTextCodePath)
{
toImpl(contextRef)->setAlwaysUsesComplexTextCodePath(alwaysUseComplexTextCodePath);
diff --git a/Source/WebKit2/UIProcess/API/C/WKContext.h b/Source/WebKit2/UIProcess/API/C/WKContext.h
index 967daea79..69d129805 100644
--- a/Source/WebKit2/UIProcess/API/C/WKContext.h
+++ b/Source/WebKit2/UIProcess/API/C/WKContext.h
@@ -123,6 +123,12 @@ typedef struct WKContextConnectionClient WKContextConnectionClient;
enum { kWKContextConnectionClientCurrentVersion = 0 };
+enum {
+ kWKProcessModelSharedSecondaryProcess = 0,
+ kWKProcessModelMultipleSecondaryProcesses = 1
+};
+typedef uint32_t WKProcessModel;
+
WK_EXPORT WKTypeID WKContextGetTypeID();
WK_EXPORT WKContextRef WKContextCreate();
@@ -143,6 +149,9 @@ WK_EXPORT void WKContextAddVisitedLink(WKContextRef context, WKStringRef visited
WK_EXPORT void WKContextSetCacheModel(WKContextRef context, WKCacheModel cacheModel);
WK_EXPORT WKCacheModel WKContextGetCacheModel(WKContextRef context);
+WK_EXPORT void WKContextSetProcessModel(WKContextRef context, WKProcessModel processModel);
+WK_EXPORT WKProcessModel WKContextGetProcessModel(WKContextRef context);
+
WK_EXPORT void WKContextStartMemorySampler(WKContextRef context, WKDoubleRef interval);
WK_EXPORT void WKContextStopMemorySampler(WKContextRef context);
diff --git a/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp b/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
index 66d4dcd98..862e2d1b0 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
+++ b/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp
@@ -817,14 +817,14 @@ bool WKPreferencesGetRequestAnimationFrameEnabled(WKPreferencesRef preferencesRe
return toImpl(preferencesRef)->requestAnimationFrameEnabled();
}
-void WKPreferencesSetThirdPartyStorageBlockingEnabled(WKPreferencesRef preferencesRef, bool flag)
+void WKPreferencesSetStorageBlockingPolicy(WKPreferencesRef preferencesRef, WKStorageBlockingPolicy policy)
{
- toImpl(preferencesRef)->setThirdPartyStorageBlockingEnabled(flag);
+ toImpl(preferencesRef)->setStorageBlockingPolicy(toStorageBlockingPolicy(policy));
}
-bool WKPreferencesGetThirdPartyStorageBlockingEnabled(WKPreferencesRef preferencesRef)
+WKStorageBlockingPolicy WKPreferencesGetStorageBlockingPolicy(WKPreferencesRef preferencesRef)
{
- return toImpl(preferencesRef)->thirdPartyStorageBlockingEnabled();
+ return toAPI(static_cast<WebCore::SecurityOrigin::StorageBlockingPolicy>(toImpl(preferencesRef)->storageBlockingPolicy()));
}
void WKPreferencesResetTestRunnerOverrides(WKPreferencesRef preferencesRef)
@@ -874,6 +874,26 @@ bool WKPreferencesGetArtificialPluginInitializationDelayEnabled(WKPreferencesRef
return toImpl(preferencesRef)->artificialPluginInitializationDelayEnabled();
}
+void WKPreferencesSetTabToLinksEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+ toImpl(preferencesRef)->setTabToLinksEnabled(enabled);
+}
+
+bool WKPreferencesGetTabToLinksEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->tabToLinksEnabled();
+}
+
+void WKPreferencesSetInteractiveFormValidationEnabled(WKPreferencesRef preferencesRef, bool enabled)
+{
+ toImpl(preferencesRef)->setInteractiveFormValidationEnabled(enabled);
+}
+
+bool WKPreferencesGetInteractiveFormValidationEnabled(WKPreferencesRef preferencesRef)
+{
+ return toImpl(preferencesRef)->interactiveFormValidationEnabled();
+}
+
void WKPreferencesSetScrollingPerformanceLoggingEnabled(WKPreferencesRef preferencesRef, bool enabled)
{
toImpl(preferencesRef)->setScrollingPerformanceLoggingEnabled(enabled);
diff --git a/Source/WebKit2/UIProcess/API/C/WKPreferences.h b/Source/WebKit2/UIProcess/API/C/WKPreferences.h
index 883fbff61..c0fde67fd 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPreferences.h
+++ b/Source/WebKit2/UIProcess/API/C/WKPreferences.h
@@ -36,6 +36,13 @@
extern "C" {
#endif
+enum WKStorageBlockingPolicy {
+ kWKAllowAllStorage = 0,
+ kWKBlockThirdPartyStorage,
+ kWKBlockAllStorage
+};
+typedef enum WKStorageBlockingPolicy WKStorageBlockingPolicy;
+
WK_EXPORT WKTypeID WKPreferencesGetTypeID();
WK_EXPORT WKPreferencesRef WKPreferencesCreate();
@@ -206,8 +213,8 @@ WK_EXPORT void WKPreferencesSetShouldRespectImageOrientation(WKPreferencesRef pr
WK_EXPORT bool WKPreferencesGetShouldRespectImageOrientation(WKPreferencesRef preferencesRef);
// Defaults to false
-WK_EXPORT void WKPreferencesSetThirdPartyStorageBlockingEnabled(WKPreferencesRef preferencesRef, bool enabled);
-WK_EXPORT bool WKPreferencesGetThirdPartyStorageBlockingEnabled(WKPreferencesRef preferencesRef);
+WK_EXPORT void WKPreferencesSetStorageBlockingPolicy(WKPreferencesRef preferencesRef, WKStorageBlockingPolicy policy);
+WK_EXPORT WKStorageBlockingPolicy WKPreferencesGetStorageBlockingPolicy(WKPreferencesRef preferencesRef);
#ifdef __cplusplus
}
diff --git a/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h b/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
index b469d7aca..31899d47e 100644
--- a/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
+++ b/Source/WebKit2/UIProcess/API/C/WKPreferencesPrivate.h
@@ -204,6 +204,14 @@ WK_EXPORT void WKPreferencesSetArtificialPluginInitializationDelayEnabled(WKPref
WK_EXPORT bool WKPreferencesGetArtificialPluginInitializationDelayEnabled(WKPreferencesRef preferencesRef);
// Defaults to false
+WK_EXPORT void WKPreferencesSetTabToLinksEnabled(WKPreferencesRef preferencesRef, bool enabled);
+WK_EXPORT bool WKPreferencesGetTabToLinksEnabled(WKPreferencesRef preferencesRef);
+
+// Defaults to false
+WK_EXPORT void WKPreferencesSetInteractiveFormValidationEnabled(WKPreferencesRef preferencesRef, bool enabled);
+WK_EXPORT bool WKPreferencesGetInteractiveFormValidationEnabled(WKPreferencesRef preferencesRef);
+
+// Defaults to false
WK_EXPORT void WKPreferencesSetScrollingPerformanceLoggingEnabled(WKPreferencesRef preferencesRef, bool enabled);
WK_EXPORT bool WKPreferencesGetScrollingPerformanceLoggingEnabled(WKPreferencesRef preferencesRef);
diff --git a/Source/WebKit2/UIProcess/API/efl/EWebKit2.h b/Source/WebKit2/UIProcess/API/efl/EWebKit2.h
index d98023de6..750cb4864 100644
--- a/Source/WebKit2/UIProcess/API/efl/EWebKit2.h
+++ b/Source/WebKit2/UIProcess/API/efl/EWebKit2.h
@@ -38,6 +38,8 @@
#include "ewk_intent_service.h"
#include "ewk_main.h"
#include "ewk_navigation_policy_decision.h"
+#include "ewk_popup_menu_item.h"
+#include "ewk_settings.h"
#include "ewk_url_request.h"
#include "ewk_url_response.h"
#include "ewk_url_scheme_request.h"
diff --git a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp b/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp
index f5740822e..eb3d007fe 100644
--- a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.cpp
@@ -31,22 +31,28 @@
#include "LayerTreeCoordinatorProxy.h"
#include "LayerTreeRenderer.h"
#include "TransformationMatrix.h"
+#include "ewk_view_private.h"
using namespace WebCore;
namespace WebKit {
-EflViewportHandler::EflViewportHandler(PageClientImpl* pageClientImpl)
- : m_pageClientImpl(pageClientImpl)
+EflViewportHandler::EflViewportHandler(Evas_Object* viewWidget)
+ : m_viewWidget(viewWidget)
, m_scaleFactor(1)
{
- ASSERT(m_pageClientImpl);
+ ASSERT(m_viewWidget);
}
EflViewportHandler::~EflViewportHandler()
{
}
+DrawingAreaProxy* EflViewportHandler::drawingArea() const
+{
+ return ewk_view_page_get(m_viewWidget)->drawingArea();
+}
+
void EflViewportHandler::display(const IntRect& rect)
{
WebCore::TransformationMatrix matrix;
@@ -61,7 +67,7 @@ void EflViewportHandler::display(const IntRect& rect)
void EflViewportHandler::updateViewportSize(const IntSize& viewportSize)
{
m_viewportSize = viewportSize;
- m_pageClientImpl->page()->setViewportSize(viewportSize);
+ ewk_view_page_get(m_viewWidget)->setViewportSize(viewportSize);
setVisibleContentsRect(m_visibleContentRect.location(), m_scaleFactor, FloatPoint());
}
diff --git a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h b/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h
index cc6b3d957..a23f4e147 100644
--- a/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h
+++ b/Source/WebKit2/UIProcess/API/efl/EflViewportHandler.h
@@ -35,13 +35,13 @@ namespace WebKit {
class EflViewportHandler {
public:
- static PassOwnPtr<EflViewportHandler> create(PageClientImpl* pageClientImpl)
+ static PassOwnPtr<EflViewportHandler> create(Evas_Object* viewWidget)
{
- return adoptPtr(new EflViewportHandler(pageClientImpl));
+ return adoptPtr(new EflViewportHandler(viewWidget));
}
~EflViewportHandler();
- DrawingAreaProxy* drawingArea() const { return m_pageClientImpl->page()->drawingArea(); }
+ DrawingAreaProxy* drawingArea() const;
WebCore::IntSize viewSize() { return m_viewportSize; }
void display(const WebCore::IntRect& rect);
@@ -50,9 +50,9 @@ public:
void didChangeContentsSize(const WebCore::IntSize& size);
private:
- explicit EflViewportHandler(PageClientImpl*);
+ explicit EflViewportHandler(Evas_Object*);
- PageClientImpl* m_pageClientImpl;
+ Evas_Object* m_viewWidget;
WebCore::IntRect m_visibleContentRect;
WebCore::IntSize m_contentsSize;
WebCore::IntSize m_viewportSize;
diff --git a/Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp b/Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp
index 726caaae1..24bda6305 100644
--- a/Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/PageClientImpl.cpp
@@ -33,6 +33,7 @@
#include "WebContextMenuProxy.h"
#include "WebPageGroup.h"
#include "WebPageProxy.h"
+#include "WebPopupMenuProxyEfl.h"
#include "WebPreferences.h"
#include "ewk_context.h"
#include "ewk_context_private.h"
@@ -44,18 +45,9 @@ using namespace WebCore;
namespace WebKit {
-PageClientImpl::PageClientImpl(WebContext* context, WebPageGroup* pageGroup, Evas_Object* viewWidget)
+PageClientImpl::PageClientImpl(Evas_Object* viewWidget)
: m_viewWidget(viewWidget)
{
- m_page = context->createWebPage(this, pageGroup);
-
-#if USE(COORDINATED_GRAPHICS)
- m_page->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true);
- m_page->pageGroup()->preferences()->setForceCompositingMode(true);
- m_page->setUseFixedLayout(true);
-#endif
-
- m_page->initializeWebPage();
}
PageClientImpl::~PageClientImpl()
@@ -65,7 +57,7 @@ PageClientImpl::~PageClientImpl()
// PageClient
PassOwnPtr<DrawingAreaProxy> PageClientImpl::createDrawingAreaProxy()
{
- return DrawingAreaProxyImpl::create(m_page.get());
+ return DrawingAreaProxyImpl::create(ewk_view_page_get(m_viewWidget));
}
void PageClientImpl::setViewNeedsDisplay(const WebCore::IntRect& rect)
@@ -204,10 +196,9 @@ void PageClientImpl::doneWithTouchEvent(const NativeWebTouchEvent&, bool wasEven
}
#endif
-PassRefPtr<WebPopupMenuProxy> PageClientImpl::createPopupMenuProxy(WebPageProxy*)
+PassRefPtr<WebPopupMenuProxy> PageClientImpl::createPopupMenuProxy(WebPageProxy* page)
{
- notImplemented();
- return 0;
+ return WebPopupMenuProxyEfl::create(m_viewWidget, page);
}
PassRefPtr<WebContextMenuProxy> PageClientImpl::createContextMenuProxy(WebPageProxy*)
@@ -217,7 +208,7 @@ PassRefPtr<WebContextMenuProxy> PageClientImpl::createContextMenuProxy(WebPagePr
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&)
+PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&)
{
notImplemented();
return 0;
diff --git a/Source/WebKit2/UIProcess/API/efl/PageClientImpl.h b/Source/WebKit2/UIProcess/API/efl/PageClientImpl.h
index 861850263..36ee76d7d 100644
--- a/Source/WebKit2/UIProcess/API/efl/PageClientImpl.h
+++ b/Source/WebKit2/UIProcess/API/efl/PageClientImpl.h
@@ -33,18 +33,17 @@ namespace WebKit {
class PageClientImpl : public PageClient {
public:
- static PassOwnPtr<PageClientImpl> create(WebContext* context, WebPageGroup* pageGroup, Evas_Object* viewWidget)
+ static PassOwnPtr<PageClientImpl> create(Evas_Object* viewWidget)
{
- return adoptPtr(new PageClientImpl(context, pageGroup, viewWidget));
+ return adoptPtr(new PageClientImpl(viewWidget));
}
~PageClientImpl();
Evas_Object* viewWidget() const { return m_viewWidget; }
- WebPageProxy* page() const { return m_page.get(); }
private:
- PageClientImpl(WebContext*, WebPageGroup*, Evas_Object*);
+ explicit PageClientImpl(Evas_Object*);
// PageClient
virtual PassOwnPtr<DrawingAreaProxy> createDrawingAreaProxy();
@@ -87,7 +86,7 @@ private:
virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*);
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor);
+ virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor, const WebCore::IntRect&);
#endif
virtual void setFindIndicator(PassRefPtr<FindIndicator>, bool, bool);
@@ -115,7 +114,6 @@ private:
virtual void didChangeContentsSize(const WebCore::IntSize&);
private:
- RefPtr<WebPageProxy> m_page;
Evas_Object* m_viewWidget;
};
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp
index acf8d5645..f6bd0a760 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.cpp
@@ -84,6 +84,24 @@ static inline Ewk_Back_Forward_List_Item* addItemToWrapperCache(const Ewk_Back_F
return item;
}
+static inline Eina_List* createEinaList(const Ewk_Back_Forward_List* list, WKArrayRef wkList)
+{
+ if (!wkList)
+ return 0;
+
+ Eina_List* result = 0;
+
+ const size_t count = WKArrayGetSize(wkList);
+ for (size_t i = 0; i < count; ++i) {
+ WKBackForwardListItemRef wkItem = static_cast<WKBackForwardListItemRef>(WKArrayGetItemAtIndex(wkList, i));
+ Ewk_Back_Forward_List_Item* item = addItemToWrapperCache(list, wkItem);
+ ewk_back_forward_list_item_ref(item);
+ result = eina_list_append(result, item);
+ }
+
+ return result;
+}
+
Ewk_Back_Forward_List_Item* ewk_back_forward_list_current_item_get(const Ewk_Back_Forward_List* list)
{
EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0);
@@ -121,6 +139,29 @@ unsigned ewk_back_forward_list_count(Ewk_Back_Forward_List* list)
return WKBackForwardListGetBackListCount(wkList) + WKBackForwardListGetForwardListCount(wkList) + currentItem;
}
+Eina_List* ewk_back_forward_list_n_back_items_copy(const Ewk_Back_Forward_List* list, int limit)
+{
+ EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0);
+
+ if (limit == -1)
+ limit = WKBackForwardListGetBackListCount(wkList);
+ EINA_SAFETY_ON_FALSE_RETURN_VAL(limit >= 0, 0);
+ WKRetainPtr<WKArrayRef> backList(AdoptWK, WKBackForwardListCopyBackListWithLimit(wkList, limit));
+
+ return createEinaList(list, backList.get());
+}
+
+Eina_List* ewk_back_forward_list_n_forward_items_copy(const Ewk_Back_Forward_List* list, int limit)
+{
+ EWK_BACK_FORWARD_LIST_WK_GET_OR_RETURN(list, wkList, 0);
+
+ if (limit == -1)
+ limit = WKBackForwardListGetForwardListCount(wkList);
+ EINA_SAFETY_ON_FALSE_RETURN_VAL(limit >= 0, 0);
+ WKRetainPtr<WKArrayRef> forwardList(AdoptWK, WKBackForwardListCopyForwardListWithLimit(wkList, limit));
+
+ return createEinaList(list, forwardList.get());
+}
/**
* @internal
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.h b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.h
index 5b9cca726..c58476140 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.h
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list.h
@@ -86,6 +86,68 @@ EAPI Ewk_Back_Forward_List_Item *ewk_back_forward_list_item_at_index_get(const E
*/
EAPI unsigned ewk_back_forward_list_count(Ewk_Back_Forward_List *list);
+/**
+ * Creates the list containing the items preceding the current item limited by @a limit.
+ *
+ * The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
+ * if @a limit is equal to @c -1 all the items preceding the current item are returned.
+ *
+ * @param list the back-forward list instance
+ * @param limit the number of items to retrieve
+ *
+ * @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
+ * the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
+ * to free the items
+ */
+EAPI Eina_List *ewk_back_forward_list_n_back_items_copy(const Ewk_Back_Forward_List *list, int limit);
+
+/**
+ * Creates the list containing the items following the current item limited by @a limit.
+ *
+ * The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
+ * if @a limit is equal to @c -1 all the items preceding the current item are returned.
+ *
+ * @param list the back-forward list instance
+ * @param limit the number of items to retrieve
+ *
+ * @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
+ * the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
+ * to free the items
+ */
+EAPI Eina_List *ewk_back_forward_list_n_forward_items_copy(const Ewk_Back_Forward_List *list, int limit);
+
+/**
+ * Creates the list containing the items preceding the current item.
+ *
+ * The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
+ *
+ * @param list the back-forward list instance
+ *
+ * @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
+ * the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
+ * to free the items
+ *
+ * @see ewk_back_forward_list_n_back_items_copy
+ */
+#define ewk_back_forward_list_back_items_copy(list) \
+ ewk_back_forward_list_n_back_items_copy(list, -1)
+
+/**
+ * Creates the list containing the items following the current item.
+ *
+ * The @c Ewk_Back_Forward_List_Item elements are located in the result list starting with the oldest one.
+ *
+ * @param list the back-forward list instance
+ *
+ * @return @c Eina_List containing @c Ewk_Back_Forward_List_Item elements or @c NULL in case of error,
+ * the Eina_List and its items should be freed after use. Use ewk_back_forward_list_item_unref()
+ * to free the items
+ *
+ * @see ewk_back_forward_list_n_forward_items_copy
+ */
+#define ewk_back_forward_list_forward_items_copy(list) \
+ ewk_back_forward_list_n_forward_items_copy(list, -1)
+
#ifdef __cplusplus
}
#endif
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp
index 71504f641..60c79e16e 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_context.cpp
@@ -25,6 +25,7 @@
#include "VibrationProvider.h"
#include "WKAPICast.h"
#include "WKContextSoup.h"
+#include "WKNumber.h"
#include "WKRetainPtr.h"
#include "WKString.h"
#include "ewk_context_download_client_private.h"
@@ -85,6 +86,16 @@ struct _Ewk_Context {
vibrationProvider = VibrationProvider::create(wkVibrationRef);
#endif
+#if ENABLE(MEMORY_SAMPLER)
+ static bool initializeMemorySampler = false;
+ static const char environmentVariable[] = "SAMPLE_MEMORY";
+
+ if (!initializeMemorySampler && getenv(environmentVariable)) {
+ WKRetainPtr<WKDoubleRef> interval(AdoptWK, WKDoubleCreate(0.0));
+ WKContextStartMemorySampler(context.get(), interval.get());
+ initializeMemorySampler = true;
+ }
+#endif
ewk_context_request_manager_client_attach(this);
ewk_context_download_client_attach(this);
}
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp
new file mode 100644
index 000000000..566bbef89
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.cpp
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "ewk_popup_menu_item.h"
+
+#include "WKEinaSharedString.h"
+#include "ewk_popup_menu_item_private.h"
+#include "ewk_private.h"
+#include <wtf/text/CString.h>
+
+using namespace WebKit;
+
+/**
+ * \struct _Ewk_Popup_Menu_Item
+ * @brief Contains the popup menu data.
+ */
+struct _Ewk_Popup_Menu_Item {
+ Ewk_Popup_Menu_Item_Type type;
+ Ewk_Text_Direction textDirection;
+
+ bool hasTextDirectionOverride;
+ bool isEnabled;
+ bool isLabel;
+ bool isSelected;
+
+ WKEinaSharedString text;
+ WKEinaSharedString toolTip;
+ WKEinaSharedString accessibilityText;
+
+ explicit _Ewk_Popup_Menu_Item(const WebKit::WebPopupItem& item)
+ : type(static_cast<Ewk_Popup_Menu_Item_Type>(item.m_type))
+ , textDirection(static_cast<Ewk_Text_Direction>(item.m_textDirection))
+ , hasTextDirectionOverride(item.m_hasTextDirectionOverride)
+ , isEnabled(item.m_isEnabled)
+ , isLabel(item.m_isLabel)
+ , isSelected(item.m_isSelected)
+ , text(item.m_text.utf8().data())
+ , toolTip(item.m_toolTip.utf8().data())
+ , accessibilityText(item.m_accessibilityText.utf8().data())
+ { }
+};
+
+COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_SEPARATOR, WebPopupItem::Separator);
+COMPILE_ASSERT_MATCHING_ENUM(EWK_POPUP_MENU_ITEM, WebPopupItem::Item);
+
+/**
+ * @internal
+ * Constructs a Ewk_Popup_Menu_Item.
+ */
+Ewk_Popup_Menu_Item* ewk_popup_menu_item_new(const WebKit::WebPopupItem& item)
+{
+ return new Ewk_Popup_Menu_Item(item);
+}
+
+/**
+ * @internal
+ * Frees a Ewk_Popup_Menu_Item.
+ */
+void ewk_popup_menu_item_free(Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN(item);
+ delete item;
+}
+
+Ewk_Popup_Menu_Item_Type ewk_popup_menu_item_type_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, EWK_POPUP_MENU_UNKNOWN);
+
+ return item->type;
+}
+
+const char* ewk_popup_menu_item_text_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0);
+
+ return item->text;
+}
+
+Ewk_Text_Direction ewk_popup_menu_item_text_direction_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, EWK_TEXT_DIRECTION_LEFT_TO_RIGHT);
+
+ return item->textDirection;
+}
+
+Eina_Bool ewk_popup_menu_item_text_direction_override_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
+
+ return item->hasTextDirectionOverride;
+}
+
+const char* ewk_popup_menu_item_tooltip_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0);
+
+ return item->toolTip;
+}
+
+const char* ewk_popup_menu_item_accessibility_text_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, 0);
+
+ return item->accessibilityText;
+}
+
+Eina_Bool ewk_popup_menu_item_enabled_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
+
+ return item->isEnabled;
+}
+
+Eina_Bool ewk_popup_menu_item_is_label_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
+
+ return item->isLabel;
+}
+
+Eina_Bool ewk_popup_menu_item_selected_get(const Ewk_Popup_Menu_Item* item)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(item, false);
+
+ return item->isSelected;
+}
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.h b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.h
new file mode 100644
index 000000000..b96d4366d
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item.h
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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.
+ */
+
+/**
+ * @file ewk_popup_menu_item.h
+ * @brief Describes the Ewk Popup Menu Item API.
+ */
+
+#ifndef ewk_popup_menu_item_h
+#define ewk_popup_menu_item_h
+
+#include "ewk_view.h"
+#include <Eina.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** Enum values containing type of popup menu item. */
+typedef enum {
+ EWK_POPUP_MENU_SEPARATOR,
+ EWK_POPUP_MENU_ITEM,
+ EWK_POPUP_MENU_UNKNOWN = -1
+} Ewk_Popup_Menu_Item_Type;
+
+/** Creates a type name for _Ewk_Popup_Menu_Item */
+typedef struct _Ewk_Popup_Menu_Item Ewk_Popup_Menu_Item;
+
+/**
+ * Returns type of the popup menu item.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return the type of the @a item or @c EWK_POPUP_MENU_UNKNOWN in case of error.
+ */
+EAPI Ewk_Popup_Menu_Item_Type ewk_popup_menu_item_type_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns text of the popup menu item.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return the text of the @a item or @c NULL in case of error. This pointer is
+ * guaranteed to be eina_stringshare, so whenever possible
+ * save yourself some cpu cycles and use
+ * eina_stringshare_ref() instead of eina_stringshare_add() or
+ * strdup()
+ */
+EAPI const char *ewk_popup_menu_item_text_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns text direction of the popup menu item.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return the text direction of the @a item.
+ */
+EAPI Ewk_Text_Direction ewk_popup_menu_item_text_direction_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns whether the popup menu item has text direction override.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return @c EINA_TRUE if the popup menu item has text direction override,
+ * @c EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool ewk_popup_menu_item_text_direction_override_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns tooltip of the popup menu item.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return the tooltip of the @a item or @c NULL in case of error. This pointer is
+ * guaranteed to be eina_stringshare, so whenever possible
+ * save yourself some cpu cycles and use
+ * eina_stringshare_ref() instead of eina_stringshare_add() or
+ * strdup()
+ */
+EAPI const char *ewk_popup_menu_item_tooltip_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns accessibility text of the popup menu item.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return the accessibility text of the @a item or @c NULL in case of error.
+ * This pointer is guaranteed to be eina_stringshare, so whenever
+ * possible save yourself some cpu cycles and use
+ * eina_stringshare_ref() instead of eina_stringshare_add() or
+ * strdup()
+ */
+EAPI const char *ewk_popup_menu_item_accessibility_text_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns whether the popup menu item is enabled or not.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return @c EINA_TRUE if ther popup menu item is enabled, @c EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool ewk_popup_menu_item_enabled_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns whether the popup menu item is label or not.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return @c EINA_TRUE if the popup menu item is label, @c EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool ewk_popup_menu_item_is_label_get(const Ewk_Popup_Menu_Item *item);
+
+/**
+ * Returns whether the popup menu item is selected or not.
+ *
+ * @param item the popup menu item instance
+ *
+ * @return @c EINA_TRUE if the popup menu item is selected, @c EINA_FALSE otherwise.
+ */
+EAPI Eina_Bool ewk_popup_menu_item_selected_get(const Ewk_Popup_Menu_Item *item);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_popup_menu_item_h
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h
new file mode 100644
index 000000000..6a4a435bf
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_popup_menu_item_private.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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 ewk_popup_menu_item_private_h
+#define ewk_popup_menu_item_private_h
+
+#include "WebPopupItem.h"
+
+Ewk_Popup_Menu_Item* ewk_popup_menu_item_new(const WebKit::WebPopupItem& item);
+void ewk_popup_menu_item_free(Ewk_Popup_Menu_Item* item);
+
+#endif // ewk_popup_menu_item_private_h
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_settings.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_settings.cpp
new file mode 100644
index 000000000..9055ce7eb
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_settings.cpp
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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 "ewk_settings.h"
+
+#include "ewk_settings_private.h"
+#include <WebKit2/WKPreferences.h>
+
+using namespace WebKit;
+
+Eina_Bool ewk_settings_fullscreen_enabled_set(Ewk_Settings* settings, Eina_Bool enable)
+{
+#if ENABLE(FULLSCREEN_API)
+ EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
+ WKPreferencesSetFullScreenEnabled(settings->preferences.get(), enable);
+ return true;
+#else
+ return false;
+#endif
+}
+
+Eina_Bool ewk_settings_fullscreen_enabled_get(const Ewk_Settings* settings)
+{
+#if ENABLE(FULLSCREEN_API)
+ EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
+ return WKPreferencesGetFullScreenEnabled(settings->preferences.get());
+#else
+ return false;
+#endif
+}
+
+Eina_Bool ewk_settings_javascript_enabled_set(Ewk_Settings* settings, Eina_Bool enable)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
+
+ WKPreferencesSetJavaScriptEnabled(settings->preferences.get(), enable);
+
+ return true;
+}
+
+Eina_Bool ewk_settings_javascript_enabled_get(const Ewk_Settings* settings)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
+
+ return WKPreferencesGetJavaScriptEnabled(settings->preferences.get());
+}
+
+Eina_Bool ewk_settings_loads_images_automatically_set(Ewk_Settings* settings, Eina_Bool automatic)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
+
+ WKPreferencesSetLoadsImagesAutomatically(settings->preferences.get(), automatic);
+
+ return true;
+}
+
+Eina_Bool ewk_settings_loads_images_automatically_get(const Ewk_Settings* settings)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(settings, false);
+
+ return WKPreferencesGetLoadsImagesAutomatically(settings->preferences.get());
+}
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_settings.h b/Source/WebKit2/UIProcess/API/efl/ewk_settings.h
new file mode 100644
index 000000000..a28d40be2
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_settings.h
@@ -0,0 +1,116 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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.
+ */
+
+/**
+ * @file ewk_settings.h
+ * @brief Describes the settings API.
+ *
+ * @note The ewk_settings is for setting the preference of specific ewk_view.
+ * We can get the ewk_settings from ewk_view using ewk_view_settings_get() API.
+ */
+
+#ifndef ewk_settings_h
+#define ewk_settings_h
+
+#include <Eina.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/** Creates a type name for _Ewk_Settings */
+typedef struct _Ewk_Settings Ewk_Settings;
+
+/**
+ * Enables/disables the Javascript Fullscreen API. The Javascript API allows
+ * to request full screen mode, for more information see:
+ * http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html
+ *
+ * Default value for Javascript Fullscreen API setting is @c EINA_TRUE .
+ *
+ * @param settings settings object to enable Javascript Fullscreen API
+ * @param enable @c EINA_TRUE to enable Javascript Fullscreen API or
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_settings_fullscreen_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns whether the Javascript Fullscreen API is enabled or not.
+ *
+ * @param settings settings object to query whether Javascript Fullscreen API is enabled
+ *
+ * @return @c EINA_TRUE if the Javascript Fullscreen API is enabled
+ * @c EINA_FALSE if not or on failure
+ */
+EAPI Eina_Bool ewk_settings_fullscreen_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Enables/disables the javascript executing.
+ *
+ * @param settings settings object to set javascript executing
+ * @param enable @c EINA_TRUE to enable javascript executing
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_settings_javascript_enabled_set(Ewk_Settings *settings, Eina_Bool enable);
+
+/**
+ * Returns the javascript can be executable or not.
+ *
+ * @param settings settings object to query if the javascript can be executed
+ *
+ * @return @c EINA_TRUE if the javascript can be executed
+ * @c EINA_FALSE if not or on failure
+ */
+EAPI Eina_Bool ewk_settings_javascript_enabled_get(const Ewk_Settings *settings);
+
+/**
+ * Enables/disables auto loading of the images.
+ *
+ * @param settings settings object to set auto loading of the images
+ * @param automatic @c EINA_TRUE to enable auto loading of the images,
+ * @c EINA_FALSE to disable
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_settings_loads_images_automatically_set(Ewk_Settings *settings, Eina_Bool automatic);
+
+/**
+ * Returns the images can be loaded automatically or not.
+ *
+ * @param settings settings object to get auto loading of the images
+ *
+ * @return @c EINA_TRUE if the images are loaded automatically,
+ * @c EINA_FALSE if not or on failure
+ */
+EAPI Eina_Bool ewk_settings_loads_images_automatically_get(const Ewk_Settings *settings);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // ewk_settings_h
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h b/Source/WebKit2/UIProcess/API/efl/ewk_settings_private.h
index c22213391..2c9da0d7c 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/efl/WebFrameNetworkingContext.h
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_settings_private.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Samsung Electronics. All rights reserved.
+ * Copyright (C) 2012 Samsung Electronics
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,30 +23,27 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebFrameNetworkingContext_h
-#define WebFrameNetworkingContext_h
+#ifndef ewk_settings_private_h
+#define ewk_settings_private_h
-#include "WebFrame.h"
+#include "ewk_settings.h"
+#include <WebKit2/WKPreferences.h>
+#include <WebKit2/WKRetainPtr.h>
+#include <wtf/PassOwnPtr.h>
-#include <WebCore/FrameNetworkingContext.h>
+/** Creates a type name for _Ewk_Settings */
+typedef struct _Ewk_Settings Ewk_Settings;
-class WebFrameNetworkingContext : public WebCore::FrameNetworkingContext {
-public:
- static PassRefPtr<WebFrameNetworkingContext> create(WebKit::WebFrame*)
- {
- return 0;
- }
-
-private:
- explicit WebFrameNetworkingContext(WebKit::WebFrame* frame)
- : WebCore::FrameNetworkingContext(frame->coreFrame())
- {
- }
-
- virtual WTF::String userAgent() const;
- virtual WTF::String referrer() const;
+/**
+ * \struct _Ewk_Settings
+ * @brief Contains the settings data.
+ */
+struct _Ewk_Settings {
+ WKRetainPtr<WKPreferencesRef> preferences;
- WTF::String m_userAgent;
+ explicit _Ewk_Settings(WKPreferencesRef wkPreferences)
+ : preferences(wkPreferences)
+ { }
};
-#endif // WebFrameNetworkingContext_h
+#endif // ewk_settings_private_h
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
index ce7f7b454..9971b1634 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.cpp
@@ -31,11 +31,19 @@
#include "WKRetainPtr.h"
#include "WKString.h"
#include "WKURL.h"
+#include "WebContext.h"
+#include "WebPageGroup.h"
+#include "WebPopupItem.h"
+#include "WebPopupMenuProxyEfl.h"
+#include "WebPreferences.h"
#include "ewk_back_forward_list_private.h"
#include "ewk_context.h"
#include "ewk_context_private.h"
#include "ewk_intent_private.h"
+#include "ewk_popup_menu_item.h"
+#include "ewk_popup_menu_item_private.h"
#include "ewk_private.h"
+#include "ewk_settings_private.h"
#include "ewk_view_find_client_private.h"
#include "ewk_view_form_client_private.h"
#include "ewk_view_loader_client_private.h"
@@ -48,8 +56,13 @@
#include <Edje.h>
#include <WebCore/Cursor.h>
#include <WebCore/EflScreenUtilities.h>
+#include <WebKit2/WKPageGroup.h>
#include <wtf/text/CString.h>
+#if ENABLE(FULLSCREEN_API)
+#include "WebFullScreenManagerProxy.h"
+#endif
+
#if USE(ACCELERATED_COMPOSITING)
#include <Evas_GL.h>
#endif
@@ -73,6 +86,7 @@ struct _Ewk_View_Private_Data {
#if USE(COORDINATED_GRAPHICS)
OwnPtr<EflViewportHandler> viewportHandler;
#endif
+ RefPtr<WebPageProxy> pageProxy;
WKEinaSharedString uri;
WKEinaSharedString title;
@@ -82,6 +96,11 @@ struct _Ewk_View_Private_Data {
Evas_Object* cursorObject;
LoadingResourcesMap loadingResourcesMap;
Ewk_Back_Forward_List* backForwardList;
+ OwnPtr<Ewk_Settings> settings;
+ bool areMouseEventsEnabled;
+
+ WebPopupMenuProxyEfl* popupMenuProxy;
+ Eina_List* popupMenuItems;
#ifdef HAVE_ECORE_X
bool isUsingEcoreX;
@@ -96,6 +115,9 @@ struct _Ewk_View_Private_Data {
_Ewk_View_Private_Data()
: cursorObject(0)
, backForwardList(0)
+ , areMouseEventsEnabled(false)
+ , popupMenuProxy(0)
+ , popupMenuItems(0)
#ifdef HAVE_ECORE_X
, isUsingEcoreX(false)
#endif
@@ -114,6 +136,10 @@ struct _Ewk_View_Private_Data {
evas_object_del(cursorObject);
ewk_back_forward_list_free(backForwardList);
+
+ void* item;
+ EINA_LIST_FREE(popupMenuItems, item)
+ ewk_popup_menu_item_free(static_cast<Ewk_Popup_Menu_Item*>(item));
}
};
@@ -148,15 +174,17 @@ struct _Ewk_View_Private_Data {
EWK_VIEW_TYPE_CHECK(ewkView, _tmp_result); \
Ewk_View_Smart_Data* smartData = 0; \
if (_tmp_result) \
- smartData = (Ewk_View_Smart_Data*)evas_object_smart_data_get(ewkView);
+ smartData = (Ewk_View_Smart_Data*)evas_object_smart_data_get(ewkView)
#define EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, ...) \
EWK_VIEW_SD_GET(ewkView, smartData); \
- if (!smartData) { \
- EINA_LOG_CRIT("no smart data for object %p (%s)", \
- ewkView, evas_object_type_get(ewkView)); \
- return __VA_ARGS__; \
- }
+ do { \
+ if (!smartData) { \
+ EINA_LOG_CRIT("no smart data for object %p (%s)", \
+ ewkView, evas_object_type_get(ewkView)); \
+ return __VA_ARGS__; \
+ } \
+ } while (0)
#define EWK_VIEW_PRIV_GET(smartData, priv) \
Ewk_View_Private_Data* priv = smartData->priv
@@ -167,11 +195,13 @@ struct _Ewk_View_Private_Data {
return __VA_ARGS__; \
} \
EWK_VIEW_PRIV_GET(smartData, priv); \
- if (!priv) { \
- EINA_LOG_CRIT("no private data for object %p (%s)", \
- smartData->self, evas_object_type_get(smartData->self)); \
- return __VA_ARGS__; \
- }
+ do { \
+ if (!priv) { \
+ EINA_LOG_CRIT("no private data for object %p (%s)", \
+ smartData->self, evas_object_type_get(smartData->self)); \
+ return __VA_ARGS__; \
+ } \
+ } while (0)
static void _ewk_view_smart_changed(Ewk_View_Smart_Data* smartData)
{
@@ -184,69 +214,69 @@ static void _ewk_view_smart_changed(Ewk_View_Smart_Data* smartData)
// Default Event Handling.
static Eina_Bool _ewk_view_smart_focus_in(Ewk_View_Smart_Data* smartData)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
+ priv->pageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
return true;
}
static Eina_Bool _ewk_view_smart_focus_out(Ewk_View_Smart_Data* smartData)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
+ priv->pageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
return true;
}
static Eina_Bool _ewk_view_smart_mouse_wheel(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Wheel* wheelEvent)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleWheelEvent(NativeWebWheelEvent(wheelEvent, &position));
+ priv->pageProxy->handleWheelEvent(NativeWebWheelEvent(wheelEvent, &position));
return true;
}
static Eina_Bool _ewk_view_smart_mouse_down(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Down* downEvent)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleMouseEvent(NativeWebMouseEvent(downEvent, &position));
+ priv->pageProxy->handleMouseEvent(NativeWebMouseEvent(downEvent, &position));
return true;
}
static Eina_Bool _ewk_view_smart_mouse_up(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Up* upEvent)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleMouseEvent(NativeWebMouseEvent(upEvent, &position));
+ priv->pageProxy->handleMouseEvent(NativeWebMouseEvent(upEvent, &position));
return true;
}
static Eina_Bool _ewk_view_smart_mouse_move(Ewk_View_Smart_Data* smartData, const Evas_Event_Mouse_Move* moveEvent)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
Evas_Point position = {smartData->view.x, smartData->view.y};
- priv->pageClient->page()->handleMouseEvent(NativeWebMouseEvent(moveEvent, &position));
+ priv->pageProxy->handleMouseEvent(NativeWebMouseEvent(moveEvent, &position));
return true;
}
static Eina_Bool _ewk_view_smart_key_down(Ewk_View_Smart_Data* smartData, const Evas_Event_Key_Down* downEvent)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->handleKeyboardEvent(NativeWebKeyboardEvent(downEvent));
+ priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(downEvent));
return true;
}
static Eina_Bool _ewk_view_smart_key_up(Ewk_View_Smart_Data* smartData, const Evas_Event_Key_Up* upEvent)
{
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->handleKeyboardEvent(NativeWebKeyboardEvent(upEvent));
+ priv->pageProxy->handleKeyboardEvent(NativeWebKeyboardEvent(upEvent));
return true;
}
@@ -390,13 +420,12 @@ static void _ewk_view_smart_add(Evas_Object* ewkView)
evas_object_smart_member_add(smartData->image, ewkView);
evas_object_show(smartData->image);
+ ewk_view_mouse_events_enabled_set(ewkView, true);
+
#define CONNECT(s, c) evas_object_event_callback_add(ewkView, s, c, smartData)
CONNECT(EVAS_CALLBACK_FOCUS_IN, _ewk_view_on_focus_in);
CONNECT(EVAS_CALLBACK_FOCUS_OUT, _ewk_view_on_focus_out);
CONNECT(EVAS_CALLBACK_MOUSE_WHEEL, _ewk_view_on_mouse_wheel);
- CONNECT(EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down);
- CONNECT(EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up);
- CONNECT(EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move);
CONNECT(EVAS_CALLBACK_KEY_DOWN, _ewk_view_on_key_down);
CONNECT(EVAS_CALLBACK_KEY_UP, _ewk_view_on_key_up);
#undef CONNECT
@@ -534,8 +563,8 @@ static void _ewk_view_smart_calculate(Evas_Object* ewkView)
priv->viewportHandler->updateViewportSize(IntSize(width, height));
#endif
- if (priv->pageClient->page()->drawingArea())
- priv->pageClient->page()->drawingArea()->setSize(IntSize(width, height), IntSize());
+ if (priv->pageProxy->drawingArea())
+ priv->pageProxy->drawingArea()->setSize(IntSize(width, height), IntSize());
#if USE(ACCELERATED_COMPOSITING)
if (!priv->evasGlSurface)
@@ -597,8 +626,8 @@ static void _ewk_view_smart_color_set(Evas_Object* ewkView, int red, int green,
#undef CHECK_COLOR
evas_object_image_alpha_set(smartData->image, alpha < 255);
- priv->pageClient->page()->setDrawsBackground(red || green || blue);
- priv->pageClient->page()->setDrawsTransparentBackground(alpha < 255);
+ priv->pageProxy->setDrawsBackground(red || green || blue);
+ priv->pageProxy->setDrawsTransparentBackground(alpha < 255);
g_parentSmartClass.color_set(ewkView, red, green, blue, alpha);
}
@@ -658,28 +687,43 @@ static inline Evas_Smart* _ewk_view_smart_class_new(void)
static void _ewk_view_initialize(Evas_Object* ewkView, Ewk_Context* context, WKPageGroupRef pageGroupRef)
{
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
- EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv)
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
EINA_SAFETY_ON_NULL_RETURN(context);
if (priv->pageClient)
return;
- priv->pageClient = PageClientImpl::create(toImpl(ewk_context_WKContext_get(context)), toImpl(pageGroupRef), ewkView);
- priv->backForwardList = ewk_back_forward_list_new(toAPI(priv->pageClient->page()->backForwardList()));
+ priv->pageClient = PageClientImpl::create(ewkView);
+ if (pageGroupRef)
+ priv->pageProxy = toImpl(ewk_context_WKContext_get(context))->createWebPage(priv->pageClient.get(), toImpl(pageGroupRef));
+ else
+ priv->pageProxy = toImpl(ewk_context_WKContext_get(context))->createWebPage(priv->pageClient.get(), WebPageGroup::create().get());
#if USE(COORDINATED_GRAPHICS)
- priv->viewportHandler = EflViewportHandler::create(priv->pageClient.get());
+ priv->pageProxy->pageGroup()->preferences()->setAcceleratedCompositingEnabled(true);
+ priv->pageProxy->pageGroup()->preferences()->setForceCompositingMode(true);
+ priv->pageProxy->setUseFixedLayout(true);
#endif
+ priv->pageProxy->initializeWebPage();
+
+ priv->backForwardList = ewk_back_forward_list_new(toAPI(priv->pageProxy->backForwardList()));
+ priv->settings = adoptPtr(new Ewk_Settings(WKPageGroupGetPreferences(WKPageGetPageGroup(toAPI(priv->pageProxy.get())))));
- WKPageRef wkPage = toAPI(priv->pageClient->page());
+#if USE(COORDINATED_GRAPHICS)
+ priv->viewportHandler = EflViewportHandler::create(ewkView);
+#endif
+
+ WKPageRef wkPage = toAPI(priv->pageProxy.get());
ewk_view_find_client_attach(wkPage, ewkView);
ewk_view_form_client_attach(wkPage, ewkView);
ewk_view_loader_client_attach(wkPage, ewkView);
ewk_view_policy_client_attach(wkPage, ewkView);
ewk_view_resource_load_client_attach(wkPage, ewkView);
ewk_view_ui_client_attach(wkPage, ewkView);
-
- ewk_view_theme_set(ewkView, DEFAULT_THEME_PATH"/default.edj");
+#if ENABLE(FULLSCREEN_API)
+ priv->pageProxy->fullScreenManager()->setWebView(ewkView);
+ ewk_settings_fullscreen_enabled_set(priv->settings.get(), true);
+#endif
}
static Evas_Object* _ewk_view_add_with_smart(Evas* canvas, Evas_Smart* smart)
@@ -759,7 +803,7 @@ void ewk_view_uri_update(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
- String activeURL = priv->pageClient->page()->activeURL();
+ String activeURL = priv->pageProxy->activeURL();
if (activeURL.isEmpty())
return;
@@ -777,7 +821,7 @@ Eina_Bool ewk_view_uri_set(Evas_Object* ewkView, const char* uri)
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
EINA_SAFETY_ON_NULL_RETURN_VAL(uri, false);
- priv->pageClient->page()->loadURL(uri);
+ priv->pageProxy->loadURL(uri);
ewk_view_uri_update(ewkView);
return true;
@@ -796,7 +840,7 @@ Eina_Bool ewk_view_reload(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->reload(/*reloadFromOrigin*/ false);
+ priv->pageProxy->reload(/*reloadFromOrigin*/ false);
ewk_view_uri_update(ewkView);
return true;
@@ -807,7 +851,7 @@ Eina_Bool ewk_view_reload_bypass_cache(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->reload(/*reloadFromOrigin*/ true);
+ priv->pageProxy->reload(/*reloadFromOrigin*/ true);
ewk_view_uri_update(ewkView);
return true;
@@ -818,11 +862,19 @@ Eina_Bool ewk_view_stop(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->stopLoading();
+ priv->pageProxy->stopLoading();
return true;
}
+Ewk_Settings* ewk_view_settings_get(const Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
+
+ return priv->settings.get();
+}
+
/**
* @internal
* Load was initiated for a resource in the view.
@@ -926,7 +978,7 @@ const char* ewk_view_title_get(const Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- CString title = priv->pageClient->page()->pageTitle().utf8();
+ CString title = priv->pageProxy->pageTitle().utf8();
priv->title = title.data();
return priv->title;
@@ -959,7 +1011,7 @@ double ewk_view_load_progress_get(const Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->pageClient->page()->estimatedProgress();
+ return priv->pageProxy->estimatedProgress();
}
Eina_Bool ewk_view_scale_set(Evas_Object* ewkView, double scaleFactor, int x, int y)
@@ -967,7 +1019,7 @@ Eina_Bool ewk_view_scale_set(Evas_Object* ewkView, double scaleFactor, int x, in
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->scalePage(scaleFactor, IntPoint(x, y));
+ priv->pageProxy->scalePage(scaleFactor, IntPoint(x, y));
return true;
}
@@ -976,7 +1028,7 @@ double ewk_view_scale_get(const Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1);
- return priv->pageClient->page()->pageScaleFactor();
+ return priv->pageProxy->pageScaleFactor();
}
Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object* ewkView, float ratio)
@@ -984,7 +1036,7 @@ Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object* ewkView, float ratio)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- priv->pageClient->page()->setCustomDeviceScaleFactor(ratio);
+ priv->pageProxy->setCustomDeviceScaleFactor(ratio);
return true;
}
@@ -994,7 +1046,7 @@ float ewk_view_device_pixel_ratio_get(const Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, -1.0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, -1.0);
- return priv->pageClient->page()->deviceScaleFactor();
+ return priv->pageProxy->deviceScaleFactor();
}
/**
@@ -1028,7 +1080,7 @@ void ewk_view_theme_set(Evas_Object* ewkView, const char* path)
if (priv->theme != path) {
priv->theme = path;
- priv->pageClient->page()->setThemePath(path);
+ priv->pageProxy->setThemePath(path);
}
}
@@ -1108,6 +1160,37 @@ void ewk_view_display(Evas_Object* ewkView, const IntRect& rect)
evas_object_image_data_update_add(smartData->image, rect.x(), rect.y(), rect.width(), rect.height());
}
+#if ENABLE(FULLSCREEN_API)
+/**
+ * @internal
+ * Calls fullscreen_enter callback or falls back to default behavior and enables fullscreen mode.
+ */
+void ewk_view_full_screen_enter(Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
+
+ if (!smartData->api->fullscreen_enter || !smartData->api->fullscreen_enter(smartData)) {
+ Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
+ ecore_evas_fullscreen_set(ecoreEvas, true);
+ }
+}
+
+/**
+ * @internal
+ * Calls fullscreen_exit callback or falls back to default behavior and disables fullscreen mode.
+ */
+void ewk_view_full_screen_exit(Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
+
+ if (!smartData->api->fullscreen_exit || !smartData->api->fullscreen_exit(smartData)) {
+ Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
+ ecore_evas_fullscreen_set(ecoreEvas, false);
+ }
+}
+#endif
+
+
/**
* @internal
* A download for that view was cancelled.
@@ -1158,7 +1241,7 @@ Eina_Bool ewk_view_back(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- WebPageProxy* page = priv->pageClient->page();
+ WebPageProxy* page = priv->pageProxy.get();
if (page->canGoBack()) {
page->goBack();
return true;
@@ -1172,7 +1255,7 @@ Eina_Bool ewk_view_forward(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- WebPageProxy* page = priv->pageClient->page();
+ WebPageProxy* page = priv->pageProxy.get();
if (page->canGoForward()) {
page->goForward();
return true;
@@ -1188,7 +1271,7 @@ Eina_Bool ewk_view_intent_deliver(Evas_Object* ewkView, Ewk_Intent* intent)
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
EINA_SAFETY_ON_NULL_RETURN_VAL(intent, false);
- WebPageProxy* page = priv->pageClient->page();
+ WebPageProxy* page = priv->pageProxy.get();
page->deliverIntentToFrame(page->mainFrame(), toImpl(ewk_intent_WKIntentDataRef_get(intent)));
return true;
@@ -1202,7 +1285,7 @@ Eina_Bool ewk_view_back_possible(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->pageClient->page()->canGoBack();
+ return priv->pageProxy->canGoBack();
}
Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
@@ -1210,7 +1293,7 @@ Eina_Bool ewk_view_forward_possible(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- return priv->pageClient->page()->canGoForward();
+ return priv->pageProxy->canGoForward();
}
Ewk_Back_Forward_List* ewk_view_back_forward_list_get(const Evas_Object* ewkView)
@@ -1337,9 +1420,9 @@ Eina_Bool ewk_view_html_string_load(Evas_Object* ewkView, const char* html, cons
EINA_SAFETY_ON_NULL_RETURN_VAL(html, false);
if (unreachableUrl && *unreachableUrl)
- priv->pageClient->page()->loadAlternateHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "", String::fromUTF8(unreachableUrl));
+ priv->pageProxy->loadAlternateHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "", String::fromUTF8(unreachableUrl));
else
- priv->pageClient->page()->loadHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "");
+ priv->pageProxy->loadHTMLString(String::fromUTF8(html), baseUrl ? String::fromUTF8(baseUrl) : "");
ewk_view_uri_update(ewkView);
return true;
@@ -1363,7 +1446,7 @@ WebPageProxy* ewk_view_page_get(const Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- return priv->pageClient->page();
+ return priv->pageProxy.get();
}
const char* ewk_view_setting_encoding_custom_get(const Evas_Object* ewkView)
@@ -1371,7 +1454,7 @@ const char* ewk_view_setting_encoding_custom_get(const Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
- String customEncoding = priv->pageClient->page()->customTextEncodingName();
+ String customEncoding = priv->pageProxy->customTextEncodingName();
if (customEncoding.isEmpty())
return 0;
@@ -1386,7 +1469,7 @@ Eina_Bool ewk_view_setting_encoding_custom_set(Evas_Object* ewkView, const char*
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
priv->customEncoding = encoding;
- priv->pageClient->page()->setCustomTextEncodingName(encoding ? encoding : String());
+ priv->pageProxy->setCustomTextEncodingName(encoding ? encoding : String());
return true;
}
@@ -1424,7 +1507,7 @@ Eina_Bool ewk_view_text_find(Evas_Object* ewkView, const char* text, Ewk_Find_Op
EINA_SAFETY_ON_NULL_RETURN_VAL(text, false);
WKRetainPtr<WKStringRef> findText(AdoptWK, WKStringCreateWithUTF8CString(text));
- WKPageFindString(toAPI(priv->pageClient->page()), findText.get(), static_cast<WKFindOptions>(options), maxMatchCount);
+ WKPageFindString(toAPI(priv->pageProxy.get()), findText.get(), static_cast<WKFindOptions>(options), maxMatchCount);
return true;
}
@@ -1434,7 +1517,7 @@ Eina_Bool ewk_view_text_find_highlight_clear(Evas_Object* ewkView)
EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
- WKPageHideFindUI(toAPI(priv->pageClient->page()));
+ WKPageHideFindUI(toAPI(priv->pageProxy.get()));
return true;
}
@@ -1448,3 +1531,96 @@ void ewk_view_contents_size_changed(const Evas_Object* ewkView, const IntSize& s
priv->viewportHandler->didChangeContentsSize(size);
#endif
}
+
+COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_DIRECTION_RIGHT_TO_LEFT, RTL);
+COMPILE_ASSERT_MATCHING_ENUM(EWK_TEXT_DIRECTION_LEFT_TO_RIGHT, LTR);
+
+void ewk_view_popup_menu_request(Evas_Object* ewkView, WebPopupMenuProxyEfl* popupMenu, const IntRect& rect, TextDirection textDirection, double pageScaleFactor, const Vector<WebPopupItem>& items, int32_t selectedIndex)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv);
+ EINA_SAFETY_ON_NULL_RETURN(smartData->api);
+
+ ASSERT(popupMenu);
+
+ if (!smartData->api->popup_menu_show)
+ return;
+
+ if (priv->popupMenuProxy)
+ ewk_view_popup_menu_close(ewkView);
+ priv->popupMenuProxy = popupMenu;
+
+ Eina_List* popupItems = 0;
+ size_t size = items.size();
+ for (size_t i = 0; i < size; ++i)
+ popupItems = eina_list_append(popupItems, ewk_popup_menu_item_new(items[i]));
+ priv->popupMenuItems = popupItems;
+
+ smartData->api->popup_menu_show(smartData, rect, static_cast<Ewk_Text_Direction>(textDirection), pageScaleFactor, popupItems, selectedIndex);
+}
+
+Eina_Bool ewk_view_popup_menu_close(Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(smartData->api, false);
+
+ if (!priv->popupMenuProxy)
+ return false;
+
+ priv->popupMenuProxy = 0;
+
+ if (smartData->api->popup_menu_hide)
+ smartData->api->popup_menu_hide(smartData);
+
+ void* item;
+ EINA_LIST_FREE(priv->popupMenuItems, item)
+ ewk_popup_menu_item_free(static_cast<Ewk_Popup_Menu_Item*>(item));
+
+ return true;
+}
+
+Eina_Bool ewk_view_popup_menu_select(Evas_Object* ewkView, unsigned int selectedIndex)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(priv->popupMenuProxy, false);
+
+ if (selectedIndex >= eina_list_count(priv->popupMenuItems))
+ return false;
+
+ priv->popupMenuProxy->valueChanged(selectedIndex);
+
+ return true;
+}
+
+Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object* ewkView, Eina_Bool enabled)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+
+ enabled = !!enabled;
+ if (priv->areMouseEventsEnabled == enabled)
+ return true;
+
+ priv->areMouseEventsEnabled = enabled;
+ if (enabled) {
+ evas_object_event_callback_add(ewkView, EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down, smartData);
+ evas_object_event_callback_add(ewkView, EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up, smartData);
+ evas_object_event_callback_add(ewkView, EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move, smartData);
+ } else {
+ evas_object_event_callback_del(ewkView, EVAS_CALLBACK_MOUSE_DOWN, _ewk_view_on_mouse_down);
+ evas_object_event_callback_del(ewkView, EVAS_CALLBACK_MOUSE_UP, _ewk_view_on_mouse_up);
+ evas_object_event_callback_del(ewkView, EVAS_CALLBACK_MOUSE_MOVE, _ewk_view_on_mouse_move);
+ }
+
+ return true;
+}
+
+Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object* ewkView)
+{
+ EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
+ EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
+
+ return priv->areMouseEventsEnabled;
+}
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view.h b/Source/WebKit2/UIProcess/API/efl/ewk_view.h
index afa45846f..b040fdf30 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_view.h
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_view.h
@@ -73,6 +73,7 @@
#include "ewk_context.h"
#include "ewk_download_job.h"
#include "ewk_intent.h"
+#include "ewk_settings.h"
#include "ewk_url_request.h"
#include "ewk_url_response.h"
#include "ewk_web_error.h"
@@ -83,6 +84,12 @@
extern "C" {
#endif
+/// Enum values containing text directionality values.
+typedef enum {
+ EWK_TEXT_DIRECTION_RIGHT_TO_LEFT,
+ EWK_TEXT_DIRECTION_LEFT_TO_RIGHT
+} Ewk_Text_Direction;
+
typedef struct _Ewk_View_Smart_Data Ewk_View_Smart_Data;
typedef struct _Ewk_View_Smart_Class Ewk_View_Smart_Class;
@@ -91,11 +98,16 @@ struct _Ewk_View_Smart_Class {
Evas_Smart_Class sc; /**< all but 'data' is free to be changed. */
unsigned long version;
+ Eina_Bool (*popup_menu_show)(Ewk_View_Smart_Data *sd, Eina_Rectangle rect, Ewk_Text_Direction text_direction, double page_scale_factor, Eina_List *items, int selected_index);
+ Eina_Bool (*popup_menu_hide)(Ewk_View_Smart_Data *sd);
+
// event handling:
// - returns true if handled
// - if overridden, have to call parent method if desired
Eina_Bool (*focus_in)(Ewk_View_Smart_Data *sd);
Eina_Bool (*focus_out)(Ewk_View_Smart_Data *sd);
+ Eina_Bool (*fullscreen_enter)(Ewk_View_Smart_Data *sd);
+ Eina_Bool (*fullscreen_exit)(Ewk_View_Smart_Data *sd);
Eina_Bool (*mouse_wheel)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Wheel *ev);
Eina_Bool (*mouse_down)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Down *ev);
Eina_Bool (*mouse_up)(Ewk_View_Smart_Data *sd, const Evas_Event_Mouse_Up *ev);
@@ -108,7 +120,7 @@ struct _Ewk_View_Smart_Class {
* The version you have to put into the version field
* in the @a Ewk_View_Smart_Class structure.
*/
-#define EWK_VIEW_SMART_CLASS_VERSION 1UL
+#define EWK_VIEW_SMART_CLASS_VERSION 3UL
/**
* Initializer for whole Ewk_View_Smart_Class structure.
@@ -120,7 +132,7 @@ struct _Ewk_View_Smart_Class {
* @see EWK_VIEW_SMART_CLASS_INIT_VERSION
* @see EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION
*/
-#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0}
+#define EWK_VIEW_SMART_CLASS_INIT(smart_class_init) {smart_class_init, EWK_VIEW_SMART_CLASS_VERSION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}
/**
* Initializer to zero a whole Ewk_View_Smart_Class structure.
@@ -347,6 +359,15 @@ EAPI Eina_Bool ewk_view_reload_bypass_cache(Evas_Object *o);
EAPI Eina_Bool ewk_view_stop(Evas_Object *o);
/**
+ * Gets the Ewk_Settings of this view.
+ *
+ * @param o view object to get Ewk_Settings
+ *
+ * @return the Ewk_Settings of this view or @c NULL on failure
+ */
+EAPI Ewk_Settings *ewk_view_settings_get(const Evas_Object *o);
+
+/**
* Delivers a Web intent to the view's main frame.
*
* @param o view object to deliver the intent to
@@ -534,7 +555,7 @@ EAPI Eina_Bool ewk_view_device_pixel_ratio_set(Evas_Object *o, float ratio);
* use this one.
*
* @param o view object to change theme
- * @param path theme path, may be @c NULL to reset to the default theme
+ * @param path theme path
*/
EAPI void ewk_view_theme_set(Evas_Object *o, const char *path);
@@ -590,6 +611,49 @@ EAPI Eina_Bool ewk_view_text_find(Evas_Object *o, const char *text, Ewk_Find_Opt
*/
EAPI Eina_Bool ewk_view_text_find_highlight_clear(Evas_Object *o);
+/**
+ * Selects index of current popup menu.
+ *
+ * @param o view object contains popup menu.
+ * @param index index of item to select
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (probably
+ * popup menu is not selected or index is out of range)
+ */
+EAPI Eina_Bool ewk_view_popup_menu_select(Evas_Object *o, unsigned int index);
+
+/**
+ * Closes current popup menu.
+ *
+ * @param o view object contains popup menu.
+ *
+ * @return @c EINA_TRUE on success, @c EINA_FALSE on failure (probably
+ * popup menu is not selected)
+ */
+EAPI Eina_Bool ewk_view_popup_menu_close(Evas_Object *o);
+
+/**
+ * Sets whether the ewk_view supports the mouse events or not.
+ *
+ * The ewk_view will support the mouse events if EINA_TRUE or not support the
+ * mouse events otherwise. The default value is EINA_TRUE.
+ *
+ * @param o view object to enable/disable the mouse events
+ * @param enabled a state to set
+ *
+ * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
+ */
+EAPI Eina_Bool ewk_view_mouse_events_enabled_set(Evas_Object *o, Eina_Bool enabled);
+
+/**
+ * Queries if the ewk_view supports the mouse events.
+ *
+ * @param o view object to query if the mouse events are enabled
+ *
+ * @return @c EINA_TRUE if the mouse events are enabled or @c EINA_FALSE otherwise
+ */
+EAPI Eina_Bool ewk_view_mouse_events_enabled_get(const Evas_Object *o);
+
#ifdef __cplusplus
}
#endif
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp b/Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp
index 6e2540f80..cf3b85e09 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_view_policy_client.cpp
@@ -31,6 +31,7 @@
#include "ewk_navigation_policy_decision_private.h"
#include "ewk_view_policy_client_private.h"
#include "ewk_view_private.h"
+#include <WebCore/HTTPStatusCodes.h>
#include <wtf/text/CString.h>
using namespace WebCore;
@@ -58,6 +59,13 @@ static void decidePolicyForNewWindowAction(WKPageRef page, WKFrameRef frame, WKF
static void decidePolicyForResponseCallback(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
{
const ResourceResponse resourceResponse = toImpl(response)->resourceResponse();
+
+ // Ignore responses with an HTTP status code of 204 (No Content)
+ if (resourceResponse.httpStatusCode() == HTTPNoContent) {
+ WKFramePolicyListenerIgnore(listener);
+ return;
+ }
+
// If the URL Response has "Content-Disposition: attachment;" header, then
// we should download it.
if (resourceResponse.isAttachment()) {
diff --git a/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h b/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h
index f40298587..fcd65ee0f 100644
--- a/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h
+++ b/Source/WebKit2/UIProcess/API/efl/ewk_view_private.h
@@ -23,7 +23,9 @@
#include "WebPageProxy.h"
#include <Evas.h>
+#include <WebCore/TextDirection.h>
#include <WebKit2/WKBase.h>
+#include <wtf/Vector.h>
namespace WebCore {
class Cursor;
@@ -31,6 +33,11 @@ class IntRect;
class IntSize;
}
+namespace WebKit {
+class WebPopupItem;
+class WebPopupMenuProxyEfl;
+}
+
typedef struct _Ewk_Download_Job Ewk_Download_Job;
typedef struct _Ewk_Form_Submission_Request Ewk_Form_Submission_Request;
typedef struct _Ewk_Url_Request Ewk_Url_Request;
@@ -52,6 +59,10 @@ void ewk_view_download_job_failed(Evas_Object* ewkView, Ewk_Download_Job*, Ewk_W
void ewk_view_download_job_finished(Evas_Object* ewkView, Ewk_Download_Job*);
void ewk_view_download_job_requested(Evas_Object* ewkView, Ewk_Download_Job*);
void ewk_view_form_submission_request_new(Evas_Object* ewkView, Ewk_Form_Submission_Request*);
+#if ENABLE(FULLSCREEN_API)
+void ewk_view_full_screen_enter(Evas_Object* ewkView);
+void ewk_view_full_screen_exit(Evas_Object* ewkView);
+#endif
void ewk_view_image_data_set(Evas_Object* ewkView, void* imageData, const WebCore::IntSize& size);
void ewk_view_load_error(Evas_Object* ewkView, const Ewk_Web_Error* error);
void ewk_view_load_finished(Evas_Object* ewkView);
@@ -89,4 +100,6 @@ bool ewk_view_accelerated_compositing_mode_enter(const Evas_Object* ewkView);
bool ewk_view_accelerated_compositing_mode_exit(const Evas_Object* ewkView);
#endif
+void ewk_view_popup_menu_request(Evas_Object* ewkView, WebKit::WebPopupMenuProxyEfl* popupMenu, const WebCore::IntRect&, WebCore::TextDirection, double pageScaleFactor, const Vector<WebKit::WebPopupItem>& items, int32_t selectedIndex);
+
#endif // ewk_view_private_h
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp
index 39bc5a4db..8033e2498 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp
@@ -21,7 +21,6 @@
#include "EWK2UnitTestBase.h"
#include "EWK2UnitTestEnvironment.h"
-#include <EWebKit2.h>
#include <Ecore.h>
#include <glib-object.h>
#include <wtf/UnusedParam.h>
@@ -42,7 +41,9 @@ static void onLoadFinished(void* userData, Evas_Object* webView, void* eventInfo
EWK2UnitTestBase::EWK2UnitTestBase()
: m_ecoreEvas(0)
, m_webView(0)
+ , m_ewkViewClass(EWK_VIEW_SMART_CLASS_INIT_NAME_VERSION("Browser_View"))
{
+ ewk_view_smart_class_set(&m_ewkViewClass);
}
void EWK2UnitTestBase::SetUp()
@@ -60,7 +61,8 @@ void EWK2UnitTestBase::SetUp()
ecore_evas_show(m_ecoreEvas);
Evas* evas = ecore_evas_get(m_ecoreEvas);
- m_webView = ewk_view_add(evas);
+ Evas_Smart* smart = evas_smart_class_new(&m_ewkViewClass.sc);
+ m_webView = ewk_view_smart_add(evas, smart, ewk_context_default_get());
ewk_view_theme_set(m_webView, environment->defaultTheme());
evas_object_resize(m_webView, width, height);
@@ -77,10 +79,15 @@ void EWK2UnitTestBase::TearDown()
void EWK2UnitTestBase::loadUrlSync(const char* url)
{
+ ewk_view_uri_set(m_webView, url);
+ waitUntilLoadFinished();
+}
+
+void EWK2UnitTestBase::waitUntilLoadFinished()
+{
bool loadFinished = false;
evas_object_smart_callback_add(m_webView, "load,finished", onLoadFinished, &loadFinished);
- ewk_view_uri_set(m_webView, url);
while (!loadFinished)
ecore_main_loop_iterate();
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h
index 29d55bee4..fa6abd160 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h
+++ b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h
@@ -20,6 +20,7 @@
#ifndef EWK2UnitTestBase_h
#define EWK2UnitTestBase_h
+#include <EWebKit2.h>
#include <Ecore_Evas.h>
#include <Evas.h>
#include <gtest/gtest.h>
@@ -29,6 +30,7 @@ namespace EWK2UnitTest {
class EWK2UnitTestBase : public ::testing::Test {
public:
Evas_Object* webView() { return m_webView; }
+ Ewk_View_Smart_Class* ewkViewClass() { return &m_ewkViewClass; }
protected:
EWK2UnitTestBase();
@@ -37,12 +39,14 @@ protected:
virtual void TearDown();
void loadUrlSync(const char* url);
+ void waitUntilLoadFinished();
void waitUntilTitleChangedTo(const char* expectedTitle);
void mouseClick(int x, int y);
private:
Evas_Object* m_webView;
Ecore_Evas* m_ecoreEvas;
+ Ewk_View_Smart_Class m_ewkViewClass;
};
} // namespace EWK2UnitTest
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp
index fae77242f..814f8c2cb 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp
@@ -20,7 +20,9 @@
#include "config.h"
#include "EWK2UnitTestEnvironment.h"
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/StringConcatenate.h>
+#include <wtf/text/WTFString.h>
namespace EWK2UnitTest {
@@ -46,4 +48,12 @@ CString EWK2UnitTestEnvironment::urlForResource(const char* resource)
return makeString("file://"TEST_RESOURCES_DIR"/", resource).utf8();
}
+CString EWK2UnitTestEnvironment::pathForResource(const char* resource)
+{
+ StringBuilder builder;
+ builder.appendLiteral(TEST_RESOURCES_DIR "/");
+ builder.append(resource);
+ return builder.toString().utf8();
+}
+
} // namespace EWK2UnitTest
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h
index d010b6237..fb3a309f8 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h
+++ b/Source/WebKit2/UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h
@@ -33,6 +33,7 @@ public:
const char* defaultTestPageUrl() const;
const char* defaultTheme() const;
CString urlForResource(const char* resource);
+ CString pathForResource(const char* resource);
virtual unsigned int defaultWidth() const { return m_defaultWidth; }
virtual unsigned int defaultHeight() const { return m_defaultHeight; }
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/resources/big_button_theme.edj b/Source/WebKit2/UIProcess/API/efl/tests/resources/big_button_theme.edj
new file mode 100644
index 000000000..60bb40ff9
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/tests/resources/big_button_theme.edj
Binary files differ
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/resources/empty_theme.edj b/Source/WebKit2/UIProcess/API/efl/tests/resources/empty_theme.edj
new file mode 100644
index 000000000..2d6cd0485
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/tests/resources/empty_theme.edj
Binary files differ
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp
index af10981ec..68c15dbb8 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp
@@ -41,6 +41,7 @@ extern EWK2UnitTestEnvironment* environment;
static const char title1[] = "Page1";
static const char title2[] = "Page2";
+static const char title3[] = "Page3";
static void serverCallbackNavigation(SoupServer* server, SoupMessage* message, const char* path, GHashTable*, SoupClientContext*, gpointer)
{
@@ -78,6 +79,13 @@ static inline WKEinaSharedString urlFromTitle(EWK2UnitTestServer* httpServer, co
return res;
}
+static inline void freeEinaList(Eina_List* list)
+{
+ void* data = 0;
+ EINA_LIST_FREE(list, data)
+ ewk_back_forward_list_item_unref(static_cast<Ewk_Back_Forward_List_Item*>(data));
+}
+
TEST_F(EWK2UnitTestBase, ewk_back_forward_list_current_item_get)
{
const char* url = environment->defaultTestPageUrl();
@@ -181,3 +189,83 @@ TEST_F(EWK2UnitTestBase, ewk_back_forward_list_count)
EXPECT_EQ(ewk_back_forward_list_count(backForwardList), 2);
}
+
+TEST_F(EWK2UnitTestBase, ewk_back_forward_list_n_back_items_copy)
+{
+ OwnPtr<EWK2UnitTestServer> httpServer = adoptPtr(new EWK2UnitTestServer);
+ httpServer->run(serverCallbackNavigation);
+
+ WKEinaSharedString url1 = urlFromTitle(httpServer.get(), title1);
+ loadUrlSync(url1);
+ ASSERT_STREQ(ewk_view_title_get(webView()), title1);
+
+ WKEinaSharedString url2 = urlFromTitle(httpServer.get(), title2);
+ loadUrlSync(url2);
+ ASSERT_STREQ(ewk_view_title_get(webView()), title2);
+
+ loadUrlSync(urlFromTitle(httpServer.get(), title3));
+ ASSERT_STREQ(ewk_view_title_get(webView()), title3);
+
+ Ewk_Back_Forward_List* backForwardList = ewk_view_back_forward_list_get(webView());
+ ASSERT_TRUE(backForwardList);
+
+ Eina_List* backList = ewk_back_forward_list_n_back_items_copy(backForwardList, 1);
+ ASSERT_TRUE(backList);
+ ASSERT_EQ(eina_list_count(backList), 1);
+ checkItem(static_cast<Ewk_Back_Forward_List_Item*>(eina_list_nth(backList, 0)), title2, url2, url2);
+ freeEinaList(backList);
+
+ // Check '0' limit.
+ backList = ewk_back_forward_list_n_back_items_copy(backForwardList, 0);
+ ASSERT_FALSE(backList);
+
+ backList = ewk_back_forward_list_n_back_items_copy(backForwardList, -1);
+ ASSERT_TRUE(backList);
+ ASSERT_EQ(eina_list_count(backList), 2);
+ checkItem(static_cast<Ewk_Back_Forward_List_Item*>(eina_list_nth(backList, 0)), title1, url1, url1);
+ checkItem(static_cast<Ewk_Back_Forward_List_Item*>(eina_list_nth(backList, 1)), title2, url2, url2);
+ freeEinaList(backList);
+}
+
+TEST_F(EWK2UnitTestBase, ewk_back_forward_list_n_forward_items_copy)
+{
+ OwnPtr<EWK2UnitTestServer> httpServer = adoptPtr(new EWK2UnitTestServer);
+ httpServer->run(serverCallbackNavigation);
+
+ loadUrlSync(urlFromTitle(httpServer.get(), title1));
+ ASSERT_STREQ(ewk_view_title_get(webView()), title1);
+
+ WKEinaSharedString url2 = urlFromTitle(httpServer.get(), title2);
+ loadUrlSync(url2);
+ ASSERT_STREQ(ewk_view_title_get(webView()), title2);
+
+ WKEinaSharedString url3 = urlFromTitle(httpServer.get(), title3);
+ loadUrlSync(url3);
+ ASSERT_STREQ(ewk_view_title_get(webView()), title3);
+
+ // Go back to Page1.
+ ewk_view_back(webView());
+ waitUntilTitleChangedTo(title2);
+ ewk_view_back(webView());
+ waitUntilTitleChangedTo(title1);
+
+ Ewk_Back_Forward_List* backForwardList = ewk_view_back_forward_list_get(webView());
+ ASSERT_TRUE(backForwardList);
+
+ Eina_List* forwardList = ewk_back_forward_list_n_forward_items_copy(backForwardList, 1);
+ ASSERT_TRUE(forwardList);
+ ASSERT_EQ(eina_list_count(forwardList), 1);
+ checkItem(static_cast<Ewk_Back_Forward_List_Item*>(eina_list_nth(forwardList, 0)), title2, url2, url2);
+ freeEinaList(forwardList);
+
+ // Check '0' limit.
+ forwardList = ewk_back_forward_list_n_forward_items_copy(backForwardList, 0);
+ ASSERT_FALSE(forwardList);
+
+ forwardList = ewk_back_forward_list_n_forward_items_copy(backForwardList, -1);
+ ASSERT_TRUE(forwardList);
+ ASSERT_EQ(eina_list_count(forwardList), 2);
+ checkItem(static_cast<Ewk_Back_Forward_List_Item*>(eina_list_nth(forwardList, 0)), title2, url2, url2);
+ checkItem(static_cast<Ewk_Back_Forward_List_Item*>(eina_list_nth(forwardList, 1)), title3, url3, url3);
+ freeEinaList(forwardList);
+}
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp
index 10be26cb5..e0319f7ce 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp
@@ -258,7 +258,7 @@ TEST_F(EWK2UnitTestBase, ewk_cookie_manager_cookies_delete)
ASSERT_EQ(countHostnamesWithCookies(cookieManager), 0);
}
-TEST_F(EWK2UnitTestBase, ewk_cookie_manager_permanent_storage)
+TEST_F(EWK2UnitTestBase, DISABLED_ewk_cookie_manager_permanent_storage)
{
OwnPtr<EWK2UnitTestServer> httpServer = adoptPtr(new EWK2UnitTestServer);
httpServer->run(serverCallback);
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_settings.cpp b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_settings.cpp
new file mode 100644
index 000000000..dd0a6e722
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_settings.cpp
@@ -0,0 +1,83 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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 "UnitTestUtils/EWK2UnitTestBase.h"
+#include <EWebKit2.h>
+#include <Eina.h>
+
+using namespace EWK2UnitTest;
+
+TEST_F(EWK2UnitTestBase, ewk_settings_fullscreen_enabled)
+{
+ Ewk_Settings* settings = ewk_view_settings_get(webView());
+
+#if ENABLE(FULLSCREEN_API)
+ ASSERT_TRUE(ewk_settings_fullscreen_enabled_get(settings));
+
+ ASSERT_TRUE(ewk_settings_fullscreen_enabled_set(settings, EINA_TRUE));
+ ASSERT_TRUE(ewk_settings_fullscreen_enabled_get(settings));
+
+ ASSERT_TRUE(ewk_settings_fullscreen_enabled_set(settings, EINA_FALSE));
+ ASSERT_FALSE(ewk_settings_fullscreen_enabled_get(settings));
+#else
+ ASSERT_FALSE(ewk_settings_fullscreen_enabled_get(settings));
+
+ ASSERT_FALSE(ewk_settings_fullscreen_enabled_set(settings, EINA_TRUE));
+ ASSERT_FALSE(ewk_settings_fullscreen_enabled_get(settings));
+
+ ASSERT_FALSE(ewk_settings_fullscreen_enabled_set(settings, EINA_FALSE));
+ ASSERT_FALSE(ewk_settings_fullscreen_enabled_get(settings));
+#endif
+}
+
+TEST_F(EWK2UnitTestBase, ewk_settings_javascript_enabled)
+{
+ Ewk_Settings* settings = ewk_view_settings_get(webView());
+
+ ASSERT_TRUE(ewk_settings_javascript_enabled_set(settings, EINA_TRUE));
+ ASSERT_TRUE(ewk_settings_javascript_enabled_get(settings));
+
+ ASSERT_TRUE(ewk_settings_javascript_enabled_set(settings, 2));
+ ASSERT_TRUE(ewk_settings_javascript_enabled_get(settings));
+
+ ASSERT_TRUE(ewk_settings_javascript_enabled_set(settings, EINA_FALSE));
+ ASSERT_FALSE(ewk_settings_javascript_enabled_get(settings));
+}
+
+TEST_F(EWK2UnitTestBase, ewk_settings_loads_images_automatically)
+{
+ Ewk_Settings* settings = ewk_view_settings_get(webView());
+
+ ASSERT_TRUE(ewk_settings_loads_images_automatically_set(settings, EINA_TRUE));
+ ASSERT_TRUE(ewk_settings_loads_images_automatically_get(settings));
+
+ ASSERT_TRUE(ewk_settings_loads_images_automatically_set(settings, 2));
+ ASSERT_TRUE(ewk_settings_loads_images_automatically_get(settings));
+
+ ASSERT_TRUE(ewk_settings_loads_images_automatically_set(settings, EINA_FALSE));
+ ASSERT_FALSE(ewk_settings_loads_images_automatically_get(settings));
+}
diff --git a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp
index 5edb04379..6e928edd9 100644
--- a/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp
+++ b/Source/WebKit2/UIProcess/API/efl/tests/test_ewk2_view.cpp
@@ -24,6 +24,7 @@
#include "UnitTestUtils/EWK2UnitTestServer.h"
#include <EWebKit2.h>
#include <Ecore.h>
+#include <Eina.h>
#include <gtest/gtest.h>
#include <wtf/OwnPtr.h>
#include <wtf/PassOwnPtr.h>
@@ -33,6 +34,7 @@
using namespace EWK2UnitTest;
extern EWK2UnitTestEnvironment* environment;
+bool fullScreenCallbackCalled;
static void onLoadFinishedForRedirection(void* userData, Evas_Object*, void*)
{
@@ -188,3 +190,173 @@ TEST_F(EWK2UnitTestBase, ewk_view_form_submission_request)
ASSERT_TRUE(handled);
evas_object_smart_callback_del(webView(), "form,submission,request", onFormAboutToBeSubmitted);
}
+
+static inline void checkBasicPopupMenuItem(Ewk_Popup_Menu_Item* item, const char* title, bool enabled)
+{
+ EXPECT_EQ(ewk_popup_menu_item_type_get(item), EWK_POPUP_MENU_ITEM);
+ EXPECT_STREQ(ewk_popup_menu_item_text_get(item), title);
+ EXPECT_EQ(ewk_popup_menu_item_enabled_get(item), enabled);
+}
+
+static Eina_Bool selectItemAfterDelayed(void* data)
+{
+ EXPECT_TRUE(ewk_view_popup_menu_select(static_cast<Evas_Object*>(data), 0));
+ return ECORE_CALLBACK_CANCEL;
+}
+
+static Eina_Bool showPopupMenu(Ewk_View_Smart_Data* smartData, Eina_Rectangle, Ewk_Text_Direction, double, Eina_List* list, int selectedIndex)
+{
+ EXPECT_EQ(selectedIndex, 2);
+
+ Ewk_Popup_Menu_Item* item = static_cast<Ewk_Popup_Menu_Item*>(eina_list_nth(list, 0));
+ checkBasicPopupMenuItem(item, "first", true);
+ EXPECT_EQ(ewk_popup_menu_item_text_direction_get(item), EWK_TEXT_DIRECTION_LEFT_TO_RIGHT);
+ EXPECT_STREQ(ewk_popup_menu_item_tooltip_get(item), "");
+ EXPECT_STREQ(ewk_popup_menu_item_accessibility_text_get(item), "");
+ EXPECT_FALSE(ewk_popup_menu_item_is_label_get(item));
+ EXPECT_FALSE(ewk_popup_menu_item_selected_get(item));
+
+ item = static_cast<Ewk_Popup_Menu_Item*>(eina_list_nth(list, 1));
+ checkBasicPopupMenuItem(item, "second", false);
+ EXPECT_EQ(ewk_popup_menu_item_enabled_get(item), false);
+
+ item = static_cast<Ewk_Popup_Menu_Item*>(eina_list_nth(list, 2));
+ checkBasicPopupMenuItem(item, "third", true);
+ EXPECT_EQ(ewk_popup_menu_item_text_direction_get(item), EWK_TEXT_DIRECTION_RIGHT_TO_LEFT);
+ EXPECT_STREQ(ewk_popup_menu_item_tooltip_get(item), "tooltip");
+ EXPECT_STREQ(ewk_popup_menu_item_accessibility_text_get(item), "aria");
+ EXPECT_TRUE(ewk_popup_menu_item_selected_get(item));
+
+ item = static_cast<Ewk_Popup_Menu_Item*>(eina_list_nth(list, 3));
+ checkBasicPopupMenuItem(item, "label", false);
+ EXPECT_TRUE(ewk_popup_menu_item_is_label_get(item));
+
+ item = static_cast<Ewk_Popup_Menu_Item*>(eina_list_nth(list, 4));
+ checkBasicPopupMenuItem(item, " forth", true);
+
+ item = static_cast<Ewk_Popup_Menu_Item*>(eina_list_nth(list, 5));
+ EXPECT_EQ(ewk_popup_menu_item_type_get(item), EWK_POPUP_MENU_UNKNOWN);
+ EXPECT_STREQ(ewk_popup_menu_item_text_get(item), 0);
+
+ ecore_timer_add(0, selectItemAfterDelayed, smartData->self);
+ return true;
+}
+
+TEST_F(EWK2UnitTestBase, ewk_view_popup_menu_select)
+{
+ const char* selectHTML =
+ "<!doctype html><body><select onchange=\"document.title=this.value;\">"
+ "<option>first</option><option disabled>second</option><option selected dir=\"rtl\" title=\"tooltip\" aria-label=\"aria\">third</option>"
+ "<optgroup label=\"label\"><option>forth</option></optgroup>"
+ "</select></body>";
+
+ ewkViewClass()->popup_menu_show = showPopupMenu;
+
+ ewk_view_html_string_load(webView(), selectHTML, "file:///", 0);
+ waitUntilLoadFinished();
+ mouseClick(30, 20);
+ waitUntilTitleChangedTo("first");
+
+ EXPECT_TRUE(ewk_view_popup_menu_close(webView()));
+ EXPECT_FALSE(ewk_view_popup_menu_select(webView(), 0));
+}
+
+TEST_F(EWK2UnitTestBase, ewk_view_settings_get)
+{
+ Ewk_Settings* settings = ewk_view_settings_get(webView());
+ ASSERT_TRUE(settings);
+ ASSERT_EQ(settings, ewk_view_settings_get(webView()));
+}
+
+TEST_F(EWK2UnitTestBase, ewk_view_theme_set)
+{
+ const char* buttonHTML = "<html><body><input type='button' id='btn'>"
+ "<script>document.title=document.getElementById('btn').clientWidth;</script>"
+ "</body></html>";
+
+ ewk_view_html_string_load(webView(), buttonHTML, "file:///", 0);
+ waitUntilTitleChangedTo("30"); // button of default theme has 30px as padding (15 to -16)
+
+ ewk_view_theme_set(webView(), environment->pathForResource("it_does_not_exist.edj").data());
+ ewk_view_html_string_load(webView(), buttonHTML, "file:///", 0);
+ waitUntilTitleChangedTo("30"); // the result should be same as default theme
+
+ ewk_view_theme_set(webView(), environment->pathForResource("empty_theme.edj").data());
+ ewk_view_html_string_load(webView(), buttonHTML, "file:///", 0);
+ waitUntilTitleChangedTo("30"); // the result should be same as default theme
+
+ ewk_view_theme_set(webView(), environment->pathForResource("big_button_theme.edj").data());
+ ewk_view_html_string_load(webView(), buttonHTML, "file:///", 0);
+ waitUntilTitleChangedTo("299"); // button of big button theme has 299px as padding (150 to -150)
+}
+
+TEST_F(EWK2UnitTestBase, ewk_view_mouse_events_enabled)
+{
+ ASSERT_TRUE(ewk_view_mouse_events_enabled_set(webView(), EINA_TRUE));
+ ASSERT_TRUE(ewk_view_mouse_events_enabled_get(webView()));
+
+ ASSERT_TRUE(ewk_view_mouse_events_enabled_set(webView(), 2));
+ ASSERT_TRUE(ewk_view_mouse_events_enabled_get(webView()));
+
+ ASSERT_TRUE(ewk_view_mouse_events_enabled_set(webView(), EINA_FALSE));
+ ASSERT_FALSE(ewk_view_mouse_events_enabled_get(webView()));
+}
+
+static Eina_Bool fullScreenCallback(Ewk_View_Smart_Data* smartData)
+{
+ fullScreenCallbackCalled = true;
+ return false;
+}
+
+static void checkFullScreenProperty(Evas_Object* webView, bool expectedState)
+{
+ if (environment->useX11Window()) {
+ Ewk_View_Smart_Data* smartData = static_cast<Ewk_View_Smart_Data*>(evas_object_smart_data_get(webView));
+ Ecore_Evas* ecoreEvas = ecore_evas_ecore_evas_get(smartData->base.evas);
+ bool windowState = false;
+ while (((windowState = ecore_evas_fullscreen_get(ecoreEvas)) != expectedState))
+ ecore_main_loop_iterate();
+ ASSERT_TRUE(expectedState == windowState);
+ }
+}
+
+TEST_F(EWK2UnitTestBase, ewk_view_full_screen_enter)
+{
+ const char fullscreenHTML[] =
+ "<!doctype html><head><script>function makeFullScreen(){"
+ "var div = document.getElementById(\"fullscreen\");"
+ "div.webkitRequestFullScreen();"
+ "document.title = \"fullscreen entered\";"
+ "}</script></head>"
+ "<body><div id=\"fullscreen\" style=\"width:100px; height:100px\" onclick=\"makeFullScreen()\"></div></body>";
+
+ ewkViewClass()->fullscreen_enter = fullScreenCallback;
+
+ ewk_view_html_string_load(webView(), fullscreenHTML, "file:///", 0);
+ waitUntilLoadFinished();
+ mouseClick(50, 50);
+ waitUntilTitleChangedTo("fullscreen entered");
+ ASSERT_TRUE(fullScreenCallbackCalled);
+ checkFullScreenProperty(webView(), true);
+}
+
+TEST_F(EWK2UnitTestBase, ewk_view_full_screen_exit)
+{
+ const char fullscreenHTML[] =
+ "<!doctype html><head><script>function makeFullScreenAndExit(){"
+ "var div = document.getElementById(\"fullscreen\");"
+ "div.webkitRequestFullScreen();"
+ "document.webkitCancelFullScreen();"
+ "document.title = \"fullscreen exited\";"
+ "}</script></head>"
+ "<body><div id=\"fullscreen\" style=\"width:100px; height:100px\" onclick=\"makeFullScreenAndExit()\"></div></body>";
+
+ ewkViewClass()->fullscreen_exit = fullScreenCallback;
+
+ ewk_view_html_string_load(webView(), fullscreenHTML, "file:///", 0);
+ waitUntilLoadFinished();
+ mouseClick(50, 50);
+ waitUntilTitleChangedTo("fullscreen exited");
+ ASSERT_TRUE(fullScreenCallbackCalled);
+ checkFullScreenProperty(webView(), false);
+}
diff --git a/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp b/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp
index 5a6adae0a..a1f5d962d 100644
--- a/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.cpp
@@ -233,7 +233,7 @@ PassRefPtr<WebContextMenuProxy> PageClientImpl::createContextMenuProxy(WebPagePr
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&)
+PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&)
{
notImplemented();
return 0;
diff --git a/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h b/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h
index 72fc34539..f4afd06d9 100644
--- a/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h
+++ b/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h
@@ -51,7 +51,7 @@ public:
GtkWidget* viewWidget() { return m_viewWidget; }
private:
- PageClientImpl(GtkWidget*);
+ explicit PageClientImpl(GtkWidget*);
virtual PassOwnPtr<DrawingAreaProxy> createDrawingAreaProxy();
virtual void setViewNeedsDisplay(const WebCore::IntRect&);
@@ -82,7 +82,7 @@ private:
virtual PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*);
virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*);
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& intialColor);
+ virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& intialColor, const WebCore::IntRect&);
#endif
virtual void setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut, bool animate);
virtual void didChangeScrollbarsForMainFrame() const;
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp
index e0d7a60ea..aa2623783 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitDownload.cpp
@@ -98,7 +98,9 @@ static gboolean webkitDownloadDecideDestination(WebKitDownload* download, const
{
if (!download->priv->destinationURI.isNull())
return FALSE;
- GOwnPtr<char> destination(g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD), suggestedFilename, NULL));
+
+ GOwnPtr<char> filename(g_strdelimit(g_strdup(suggestedFilename), G_DIR_SEPARATOR_S, '_'));
+ GOwnPtr<char> destination(g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DOWNLOAD), filename.get(), NULL));
GOwnPtr<char> destinationURI(g_filename_to_uri(destination.get(), 0, 0));
download->priv->destinationURI = destinationURI.get();
g_object_notify(G_OBJECT(download), "destination");
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitResourceLoadClient.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitResourceLoadClient.cpp
index 1cd8aaf7f..b38161156 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitResourceLoadClient.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitResourceLoadClient.cpp
@@ -38,7 +38,7 @@ using namespace WebKit;
static void didInitiateLoadForResource(WKPageRef, WKFrameRef wkFrame, uint64_t resourceIdentifier, WKURLRequestRef wkRequest, bool pageIsProvisionallyLoading, const void* clientInfo)
{
GRefPtr<WebKitURIRequest> request = adoptGRef(webkitURIRequestCreateForResourceRequest(toImpl(wkRequest)->resourceRequest()));
- webkitWebViewResourceLoadStarted(WEBKIT_WEB_VIEW(clientInfo), wkFrame, resourceIdentifier, request.get(), pageIsProvisionallyLoading);
+ webkitWebViewResourceLoadStarted(WEBKIT_WEB_VIEW(clientInfo), wkFrame, resourceIdentifier, request.get());
}
static void didSendRequestForResource(WKPageRef, WKFrameRef, uint64_t resourceIdentifier, WKURLRequestRef wkRequest, WKURLResponseRef wkRedirectResponse, const void* clientInfo)
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
index ee86d448a..6fefb652b 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebView.cpp
@@ -1311,11 +1311,12 @@ static void waitForMainResourceResponseIfWaitingForResource(WebKitWebView* webVi
g_signal_connect(priv->mainResource.get(), "notify::response", G_CALLBACK(mainResourceResponseChangedCallback), webView);
}
-void webkitWebViewResourceLoadStarted(WebKitWebView* webView, WKFrameRef wkFrame, uint64_t resourceIdentifier, WebKitURIRequest* request, bool isMainResource)
+void webkitWebViewResourceLoadStarted(WebKitWebView* webView, WKFrameRef wkFrame, uint64_t resourceIdentifier, WebKitURIRequest* request)
{
WebKitWebViewPrivate* priv = webView->priv;
+ bool isMainResource = WKFrameIsMainFrame(wkFrame) && !priv->mainResource;
WebKitWebResource* resource = webkitWebResourceCreate(wkFrame, request, isMainResource);
- if (WKFrameIsMainFrame(wkFrame) && (isMainResource || !priv->mainResource)) {
+ if (isMainResource) {
priv->mainResource = resource;
waitForMainResourceResponseIfWaitingForResource(webView);
}
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
index 4925b5a7c..f5bd2ddcc 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp
@@ -147,6 +147,9 @@ static void webkitWebViewBaseRealize(GtkWidget* widget)
| GDK_BUTTON_PRESS_MASK
| GDK_BUTTON_RELEASE_MASK
| GDK_SCROLL_MASK
+#if GTK_CHECK_VERSION(3, 3, 18)
+ | GDK_SMOOTH_SCROLL_MASK
+#endif
| GDK_POINTER_MOTION_MASK
| GDK_KEY_PRESS_MASK
| GDK_KEY_RELEASE_MASK
diff --git a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h
index f2986d1f9..5ad2853bb 100644
--- a/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h
+++ b/Source/WebKit2/UIProcess/API/gtk/WebKitWebViewPrivate.h
@@ -47,7 +47,7 @@ void webkitWebViewMakePermissionRequest(WebKitWebView*, WebKitPermissionRequest*
void webkitWebViewMakePolicyDecision(WebKitWebView*, WebKitPolicyDecisionType, WebKitPolicyDecision*);
void webkitWebViewMouseTargetChanged(WebKitWebView*, WKHitTestResultRef, unsigned modifiers);
void webkitWebViewPrintFrame(WebKitWebView*, WKFrameRef);
-void webkitWebViewResourceLoadStarted(WebKitWebView*, WKFrameRef, uint64_t resourceIdentifier, WebKitURIRequest*, bool isMainResource);
+void webkitWebViewResourceLoadStarted(WebKitWebView*, WKFrameRef, uint64_t resourceIdentifier, WebKitURIRequest*);
void webkitWebViewRunFileChooserRequest(WebKitWebView*, WebKitFileChooserRequest*);
WebKitWebResource* webkitWebViewGetLoadingWebResource(WebKitWebView*, uint64_t resourceIdentifier);
void webkitWebViewRemoveLoadingWebResource(WebKitWebView*, uint64_t resourceIdentifier);
diff --git a/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm b/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm
index 6a02f562d..4df0ef1c4 100644
--- a/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm
+++ b/Source/WebKit2/UIProcess/API/mac/PDFViewController.mm
@@ -36,7 +36,8 @@
#import "WebPreferences.h"
#import <PDFKit/PDFKit.h>
#import <WebCore/LocalizedStrings.h>
-#import <objc/runtime.h>
+#import <objc/objc-runtime.h>
+#import <wtf/ObjcRuntimeExtras.h>
#import <wtf/text/CString.h>
#import <wtf/text/WTFString.h>
@@ -537,7 +538,7 @@ static void PDFViewScrollView_scrollWheel(NSScrollView* self, SEL _cmd, NSEvent
}
}
- oldPDFViewScrollView_scrollWheel(self, _cmd, wheelEvent);
+ wtfCallIMP<void>(oldPDFViewScrollView_scrollWheel, self, _cmd, wheelEvent);
}
#endif
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
index 98da7eceb..18579eee9 100644
--- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
+++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.h
@@ -48,7 +48,7 @@ public:
void viewWillMoveToAnotherWindow();
private:
- PageClientImpl(WKView*);
+ explicit PageClientImpl(WKView*);
virtual PassOwnPtr<DrawingAreaProxy> createDrawingAreaProxy();
virtual void setViewNeedsDisplay(const WebCore::IntRect&);
@@ -97,7 +97,7 @@ private:
virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*);
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor);
+ virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor, const WebCore::IntRect&);
#endif
void setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut, bool animate);
diff --git a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
index b31946b3c..7b54b4bd7 100644
--- a/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
+++ b/Source/WebKit2/UIProcess/API/mac/PageClientImpl.mm
@@ -366,7 +366,7 @@ PassRefPtr<WebContextMenuProxy> PageClientImpl::createContextMenuProxy(WebPagePr
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&)
+PassRefPtr<WebColorChooserProxy> PageClientImpl::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&)
{
notImplemented();
return 0;
diff --git a/Source/WebKit2/UIProcess/API/mac/WKView.mm b/Source/WebKit2/UIProcess/API/mac/WKView.mm
index eb6b819c5..98e32662a 100644
--- a/Source/WebKit2/UIProcess/API/mac/WKView.mm
+++ b/Source/WebKit2/UIProcess/API/mac/WKView.mm
@@ -1937,6 +1937,7 @@ static NSString * const backingPropertyOldScaleFactorKey = @"NSBackingPropertyOl
[self _accessibilityRegisterUIProcessTokens];
} else {
+ [self _updateWindowVisibility];
_data->_page->viewStateDidChange(WebPageProxy::ViewIsVisible);
_data->_page->viewStateDidChange(WebPageProxy::ViewWindowIsActive | WebPageProxy::ViewIsInWindow);
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
index ad1c6ad3f..c7ac86c3d 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebpage_p_p.h
@@ -26,7 +26,6 @@
namespace WebKit {
class WebPageProxy;
-class QtViewportHandler;
class QtWebPageEventHandler;
}
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
index 921586d1b..490b9ba7c 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview.cpp
@@ -23,9 +23,9 @@
#include "DownloadProxy.h"
#include "DrawingAreaProxyImpl.h"
+#include "PageViewportControllerClientQt.h"
#include "QtDialogRunner.h"
#include "QtDownloadManager.h"
-#include "QtViewportHandler.h"
#include "QtWebContext.h"
#include "QtWebError.h"
#include "QtWebIconDatabaseClient.h"
@@ -272,6 +272,7 @@ QQuickWebViewPrivate::QQuickWebViewPrivate(QQuickWebView* viewport)
, m_navigatorQtObjectEnabled(false)
, m_renderToOffscreenBuffer(false)
, m_allowAnyHTTPSCertificateForLocalHost(false)
+ , m_customDevicePixelRatio(0)
, m_loadProgress(0)
{
viewport->setClip(true);
@@ -325,8 +326,9 @@ void QQuickWebViewPrivate::initialize(WKContextRef contextRef, WKPageGroupRef pa
void QQuickWebViewPrivate::onComponentComplete()
{
Q_Q(QQuickWebView);
- m_viewportHandler.reset(new QtViewportHandler(webPageProxy.get(), q, pageView.data()));
- pageView->eventHandler()->setViewportHandler(m_viewportHandler.data());
+ m_pageViewportControllerClient.reset(new PageViewportControllerClientQt(q, pageView.data()));
+ m_pageViewportController.reset(new PageViewportController(webPageProxy.get(), m_pageViewportControllerClient.data()));
+ pageView->eventHandler()->setViewportController(m_pageViewportControllerClient.data());
}
void QQuickWebViewPrivate::setTransparentBackground(bool enable)
@@ -473,7 +475,10 @@ void QQuickWebViewPrivate::didRelaunchProcess()
{
qWarning("WARNING: The web process has been successfully restarted.");
+ // Reset to default so that the later update can reach the web process.
+ webPageProxy->setCustomDeviceScaleFactor(0);
webPageProxy->drawingArea()->setSize(viewSize(), IntSize());
+
updateViewportSize();
updateUserScripts();
}
@@ -789,6 +794,20 @@ void QQuickWebViewPrivate::didReceiveMessageFromNavigatorQtObject(const String&
emit q_ptr->experimental()->messageReceived(variantMap);
}
+void QQuickWebViewPrivate::didChangeContentsSize(const QSize& newSize)
+{
+ if (newSize.isEmpty() || !m_customDevicePixelRatio || webPageProxy->deviceScaleFactor() == m_customDevicePixelRatio)
+ return;
+
+ // DrawingAreaProxy returns early if the page size is empty
+ // and the device pixel ratio property is propagated from QML
+ // before the QML page item has a valid size yet, thus the
+ // information would not reach the web process.
+ // Set the custom device pixel ratio requested from QML as soon
+ // as the content item has a valid size.
+ webPageProxy->setCustomDeviceScaleFactor(m_customDevicePixelRatio);
+}
+
QQuickWebViewLegacyPrivate::QQuickWebViewLegacyPrivate(QQuickWebView* viewport)
: QQuickWebViewPrivate(viewport)
{
@@ -836,11 +855,6 @@ QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate(QQuickWebView* view
viewport->setAcceptHoverEvents(false);
}
-QQuickWebViewFlickablePrivate::~QQuickWebViewFlickablePrivate()
-{
- m_viewportHandler->disconnect();
-}
-
void QQuickWebViewFlickablePrivate::initialize(WKContextRef contextRef, WKPageGroupRef pageGroupRef)
{
QQuickWebViewPrivate::initialize(contextRef, pageGroupRef);
@@ -856,28 +870,29 @@ void QQuickWebViewFlickablePrivate::onComponentComplete()
void QQuickWebViewFlickablePrivate::didChangeViewportProperties(const WebCore::ViewportAttributes& newAttributes)
{
- if (m_viewportHandler)
- m_viewportHandler->viewportAttributesChanged(newAttributes);
+ if (m_pageViewportController)
+ m_pageViewportController->didChangeViewportAttributes(newAttributes);
}
void QQuickWebViewFlickablePrivate::updateViewportSize()
{
- // FIXME: Examine why there is not an viewportHandler here in the beginning.
- if (m_viewportHandler)
- m_viewportHandler->viewportItemSizeChanged();
+ Q_Q(QQuickWebView);
+
+ if (m_pageViewportController)
+ m_pageViewportController->setViewportSize(QSizeF(q->width(), q->height()));
}
void QQuickWebViewFlickablePrivate::pageDidRequestScroll(const QPoint& pos)
{
- m_viewportHandler->pageContentPositionRequested(pos);
+ if (m_pageViewportController)
+ m_pageViewportController->pageDidRequestScroll(pos);
}
void QQuickWebViewFlickablePrivate::didChangeContentsSize(const QSize& newSize)
{
- Q_Q(QQuickWebView);
-
pageView->setContentsSize(newSize); // emits contentsSizeChanged()
- m_viewportHandler->pageContentsSizeChanged(newSize, q->boundingRect().size().toSize());
+ QQuickWebViewPrivate::didChangeContentsSize(newSize);
+ m_pageViewportController->didChangeContentsSize(newSize);
}
void QQuickWebViewFlickablePrivate::handleMouseEvent(QMouseEvent* event)
@@ -889,22 +904,6 @@ void QQuickWebViewFlickablePrivate::handleMouseEvent(QMouseEvent* event)
pageView->eventHandler()->handleInputEvent(event);
}
-/*!
- \qmlsignal WebView::onNavigationRequested(WebNavigationRequest request)
-
- This signal is emitted for every navigation request. The request object contains url,
- button and modifiers properties describing the navigation action, e.g. "a middle click
- with shift key pressed to 'http://qt-project.org'".
-
- The navigation will be accepted by default. To change that, one can set the action
- property to WebView.IgnoreRequest to reject the request or WebView.DownloadRequest to
- trigger a download instead of navigating to the url.
-
- The request object cannot be used after the signal handler function ends.
-
- \sa WebNavigationRequest
-*/
-
QQuickWebViewExperimental::QQuickWebViewExperimental(QQuickWebView *webView)
: QObject(webView)
, q_ptr(webView)
@@ -1233,19 +1232,23 @@ void QQuickWebViewExperimental::setUserAgent(const QString& userAgent)
down but still provide a better looking image.
*/
-double QQuickWebViewExperimental::devicePixelRatio() const
+qreal QQuickWebViewExperimental::devicePixelRatio() const
{
Q_D(const QQuickWebView);
+
+ if (d->m_customDevicePixelRatio)
+ return d->m_customDevicePixelRatio;
+
return d->webPageProxy->deviceScaleFactor();
}
-void QQuickWebViewExperimental::setDevicePixelRatio(double devicePixelRatio)
+void QQuickWebViewExperimental::setDevicePixelRatio(qreal devicePixelRatio)
{
Q_D(QQuickWebView);
- if (devicePixelRatio == this->devicePixelRatio())
+ if (0 >= devicePixelRatio || devicePixelRatio == this->devicePixelRatio())
return;
- d->webPageProxy->setCustomDeviceScaleFactor(devicePixelRatio);
+ d->m_customDevicePixelRatio = devicePixelRatio;
emit devicePixelRatioChanged();
}
@@ -1427,13 +1430,55 @@ QQuickWebPage* QQuickWebViewExperimental::page()
}
/*!
- \qmlclass WebView QWebView
- \inqmlmodule QtWebKit 3.0
+ \page index.html
+
+ \title QtWebKit: QML WebView version 3.0
+
+ The WebView API allows QML applications to render regions of dynamic
+ web content. A \e{WebView} component may share the screen with other
+ QML components or encompass the full screen as specified within the
+ QML application.
+
+ QML WebView version 3.0 is incompatible with previous QML WebView API
+ versions. It allows an application to load pages into the WebView,
+ either by URL or with an HTML string, and navigate within session
+ history. By default, links to different pages load within the same
+ WebView, but applications may intercept requests to delegate links to
+ other functions.
+
+ This sample QML application loads a web page, responds to session
+ history context, and intercepts requests for external links:
+
+ \code
+ import QtQuick 2.0
+ import QtWebKit 3.0
+
+ Page {
+ WebView {
+ id: webview
+ url: "http://qt-project.org"
+ width: parent.width
+ height: parent.height
+ onNavigationRequested: {
+ // detect URL scheme prefix, most likely an external link
+ var schemaRE = /^\w+:/;
+ if (schemaRE.test(request.url)) {
+ request.action = WebView.AcceptRequest;
+ } else {
+ request.action = WebView.IgnoreRequest;
+ // delegate request.url here
+ }
+ }
+ }
+ }
+ \endcode
*/
+
/*!
- \qmlmethod WebView(Item parent)
- \brief Constructs a WebView with a parent.
+ \qmltype WebView
+ \inqmlmodule QtWebKit 3.0
+ \brief A WebView renders web content within a QML application
*/
QQuickWebView::QQuickWebView(QQuickItem* parent)
@@ -1464,24 +1509,49 @@ QQuickWebPage* QQuickWebView::page()
return d->pageView.data();
}
+/*!
+ \qmlmethod void WebView::goBack()
+
+ Go backward within the browser's session history, if possible.
+ (Equivalent to the \c{window.history.back()} DOM method.)
+
+ \sa WebView::canGoBack
+*/
void QQuickWebView::goBack()
{
Q_D(QQuickWebView);
d->webPageProxy->goBack();
}
+/*!
+ \qmlmethod void WebView::goForward()
+
+ Go forward within the browser's session history, if possible.
+ (Equivalent to the \c{window.history.forward()} DOM method.)
+*/
void QQuickWebView::goForward()
{
Q_D(QQuickWebView);
d->webPageProxy->goForward();
}
+/*!
+ \qmlmethod void WebView::stop()
+
+ Stop loading the current page.
+*/
void QQuickWebView::stop()
{
Q_D(QQuickWebView);
d->webPageProxy->stopLoading();
}
+/*!
+ \qmlmethod void WebView::reload()
+
+ Reload the current page. (Equivalent to the
+ \c{window.location.reload()} DOM method.)
+*/
void QQuickWebView::reload()
{
Q_D(QQuickWebView);
@@ -1502,6 +1572,15 @@ void QQuickWebView::reload()
d->webPageProxy->reload(reloadFromOrigin);
}
+/*!
+ \qmlproperty url WebView::url
+
+ The location of the currently displaying HTML page. This writable
+ property offers the main interface to load a page into a web view.
+ It functions the same as the \c{window.location} DOM property.
+
+ \sa WebView::loadHtml()
+*/
QUrl QQuickWebView::url() const
{
Q_D(const QQuickWebView);
@@ -1535,6 +1614,24 @@ void QQuickWebView::emitUrlChangeIfNeeded()
}
}
+/*!
+ \qmlproperty url WebView::icon
+
+ The location of the currently displaying Web site icon, also known as favicon
+ or shortcut icon. This read-only URL corresponds to the image used within a
+ mobile browser application to represent a bookmarked page on the device's home
+ screen.
+
+ This example uses the \c{icon} property to build an \c{Image} element:
+
+ \code
+ Image {
+ id: appIcon
+ source: webView.icon != "" ? webView.icon : "fallbackFavIcon.png";
+ ...
+ }
+ \endcode
+*/
QUrl QQuickWebView::icon() const
{
Q_D(const QQuickWebView);
@@ -1543,23 +1640,34 @@ QUrl QQuickWebView::icon() const
/*!
\qmlproperty int WebView::loadProgress
- \brief The progress of loading the current web page.
- The range is from 0 to 100.
+ The amount of the page that has been loaded, expressed as an integer
+ percentage in the range from \c{0} to \c{100}.
*/
-
int QQuickWebView::loadProgress() const
{
Q_D(const QQuickWebView);
return d->loadProgress();
}
+/*!
+ \qmlproperty bool WebView::canGoBack
+
+ Returns \c{true} if there are prior session history entries, \c{false}
+ otherwise.
+*/
bool QQuickWebView::canGoBack() const
{
Q_D(const QQuickWebView);
return d->webPageProxy->canGoBack();
}
+/*!
+ \qmlproperty bool WebView::canGoForward
+
+ Returns \c{true} if there are subsequent session history entries,
+ \c{false} otherwise.
+*/
bool QQuickWebView::canGoForward() const
{
Q_D(const QQuickWebView);
@@ -1568,9 +1676,9 @@ bool QQuickWebView::canGoForward() const
/*!
\qmlproperty bool WebView::loading
- \brief True if the web view is currently loading a web page, false otherwise.
-*/
+ Returns \c{true} if the HTML page is currently loading, \c{false} otherwise.
+*/
bool QQuickWebView::loading() const
{
Q_D(const QQuickWebView);
@@ -1619,9 +1727,10 @@ QRectF QQuickWebView::mapRectFromWebContent(const QRectF& rectInCSSCoordinates)
/*!
\qmlproperty string WebView::title
- \brief The title of the loaded page.
-*/
+ The title of the currently displaying HTML page, a read-only value
+ that reflects the contents of the \c{<title>} tag.
+*/
QString QQuickWebView::title() const
{
Q_D(const QQuickWebView);
@@ -1657,7 +1766,7 @@ QVariant QQuickWebView::inputMethodQuery(Qt::InputMethodQuery property) const
}
/*!
- \preliminary
+ internal
The experimental module consisting on experimental API which will break
from version to version.
@@ -1901,8 +2010,14 @@ void QQuickWebView::handleFlickableMouseRelease(const QPointF& position, qint64
\qmlmethod void WebView::loadHtml(string html, url baseUrl, url unreachableUrl)
\brief Loads the specified \a html as the content of the web view.
+ (This method offers a lower-level alternative to the \c{url} property,
+ which references HTML pages via URL.)
+
External objects such as stylesheets or images referenced in the HTML
- document are located relative to \a baseUrl.
+ document are located relative to \a baseUrl. For example if provided \a html
+ was originally retrieved from \c http://www.example.com/documents/overview.html
+ and that was the base url, then an image referenced with the relative url \c diagram.png
+ would be looked for at \c{http://www.example.com/documents/diagram.png}.
If an \a unreachableUrl is passed it is used as the url for the loaded
content. This is typically used to display error pages for a failed
@@ -1955,5 +2070,201 @@ void QQuickWebView::setAllowAnyHTTPSCertificateForLocalHost(bool allow)
d->m_allowAnyHTTPSCertificateForLocalHost = allow;
}
+/*!
+ \qmlsignal WebView::onLoadingChanged(loadRequest)
+
+ Occurs when any page load begins, ends, or fails. Various read-only
+ parameters are available on the \a loadRequest:
+
+ \list
+
+ \li \c{url}: the location of the resource that is loading.
+
+ \li \c{status}: Reflects one of three load states:
+ \c{LoadStartedStatus}, \c{LoadSucceededStatus}, or
+ \c{LoadFailedStatus}. See \c{WebView::LoadStatus}.
+
+ \li \c{errorString}: description of load error.
+
+ \li \c{errorCode}: HTTP error code.
+
+ \li \c{errorDomain}: high-level error types, one of
+ \c{NetworkErrorDomain}, \c{HttpErrorDomain}, \c{InternalErrorDomain},
+ \c{DownloadErrorDomain}, or \c{NoErrorDomain}. See
+ \l{WebView::ErrorDomain}.
+
+ \endlist
+
+ \sa WebView::loading
+*/
+
+/*!
+ \qmlsignal WebView::onLinkHovered(hoveredUrl, hoveredTitle)
+
+ Within a mouse-driven interface, this signal is emitted when a mouse
+ pointer passes over a link, corresponding to the \c{mouseover} DOM
+ event. (May also occur in touch interfaces for \c{mouseover} events
+ that are not cancelled with \c{preventDefault()}.) The \a{hoveredUrl}
+ provides the link's location, and the \a{hoveredTitle} is any avalable
+ link text.
+*/
+
+/*!
+ \qmlsignal WebView::onNavigationRequested(request)
+
+ Occurs for various kinds of navigation. If the application listens
+ for this signal, it must set the \c{request.action} to either of the
+ following \l{WebView::NavigationRequestAction} enum values:
+
+ \list
+
+ \li \c{AcceptRequest}: Allow navigation to external pages within the
+ web view. This represents the default behavior when no listener is
+ active.
+
+ \li \c{IgnoreRequest}: Suppress navigation to new pages within the web
+ view. (The listener may then delegate navigation externally to
+ the browser application.)
+
+ \endlist
+
+ The \a{request} also provides the following read-only values:
+
+ \list
+
+ \li \c{url}: The location of the requested page.
+
+ \li \c{navigationType}: contextual information, one of
+ \c{LinkClickedNavigation}, \c{BackForwardNavigation},
+ \c{ReloadNavigation}, \c{FormSubmittedNavigation},
+ \c{FormResubmittedNavigation}, or \c{OtherNavigation} enum values.
+ See \l{WebView::NavigationType}.
+
+ \li \c{keyboardModifiers}: potential states for \l{Qt::KeyboardModifier}.
+
+ \li \c{mouseButton}: potential states for \l{Qt::MouseButton}.
+
+ \endlist
+*/
+
+/*!
+ \qmlproperty enumeration WebView::ErrorDomain
+
+ Details various high-level error types.
+
+ \table
+
+ \header
+ \li Constant
+ \li Description
+
+ \row
+ \li InternalErrorDomain
+ \li Content fails to be interpreted by QtWebKit.
+
+ \row
+ \li NetworkErrorDomain
+ \li Error results from faulty network connection.
+
+ \row
+ \li HttpErrorDomain
+ \li Error is produced by server.
+
+ \row
+ \li DownloadErrorDomain
+ \li Error in saving file.
+
+ \row
+ \li NoErrorDomain
+ \li Unspecified fallback error.
+
+ \endtable
+*/
+
+/*!
+ \qmlproperty enumeration WebView::NavigationType
+
+ Distinguishes context for various navigation actions.
+
+ \table
+
+ \header
+ \li Constant
+ \li Description
+
+ \row
+ \li LinkClickedNavigation
+ \li Navigation via link.
+
+ \row
+ \li FormSubmittedNavigation
+ \li Form data is posted.
+
+ \row
+ \li BackForwardNavigation
+ \li Navigation back and forth within session history.
+
+ \row
+ \li ReloadNavigation
+ \li The current page is reloaded.
+
+ \row
+ \li FormResubmittedNavigation
+ \li Form data is re-posted.
+
+ \row
+ \li OtherNavigation
+ \li Unspecified fallback method of navigation.
+
+ \endtable
+*/
+
+/*!
+ \qmlproperty enumeration WebView::LoadStatus
+
+ Reflects a page's load status.
+
+ \table
+
+ \header
+ \li Constant
+ \li Description
+
+ \row
+ \li LoadStartedStatus
+ \li Page is currently loading.
+
+ \row
+ \li LoadSucceededStatus
+ \li Page has successfully loaded, and is not currently loading.
+
+ \row
+ \li LoadFailedStatus
+ \li Page has failed to load, and is not currently loading.
+
+ \endtable
+*/
+
+/*!
+ \qmlproperty enumeration WebView::NavigationRequestAction
+
+ Specifies a policy when navigating a link to an external page.
+
+ \table
+
+ \header
+ \li Constant
+ \li Description
+
+ \row
+ \li AcceptRequest
+ \li Allow navigation to external pages within the web view.
+
+ \row
+ \li IgnoreRequest
+ \li Suppress navigation to new pages within the web view.
+
+ \endtable
+*/
#include "moc_qquickwebview_p.cpp"
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
index 8d0f4ffb9..68e5fca30 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p.h
@@ -48,8 +48,8 @@ class PlatformWebView;
}
namespace WebKit {
-class QtRefCountedNetworkRequestData;
-class QtViewportHandler;
+struct QtRefCountedNetworkRequestData;
+class PageViewportControllerClientQt;
class QtWebPageLoadClient;
class QtWebPagePolicyClient;
class QtWebPageUIClient;
@@ -217,7 +217,7 @@ private:
QQuickWebViewExperimental* m_experimental;
friend class QWebKitTest;
- friend class WebKit::QtViewportHandler;
+ friend class WebKit::PageViewportControllerClientQt;
friend class WebKit::QtWebPageLoadClient;
friend class WebKit::QtWebPagePolicyClient;
friend class WebKit::QtWebPageUIClient;
@@ -255,7 +255,7 @@ class QWEBKIT_EXPORT QQuickWebViewExperimental : public QObject {
Q_PROPERTY(int preferredMinimumContentsWidth WRITE setPreferredMinimumContentsWidth READ preferredMinimumContentsWidth NOTIFY preferredMinimumContentsWidthChanged)
Q_PROPERTY(int deviceWidth WRITE setDeviceWidth READ deviceWidth NOTIFY deviceWidthChanged)
Q_PROPERTY(int deviceHeight WRITE setDeviceHeight READ deviceHeight NOTIFY deviceHeightChanged)
- Q_PROPERTY(double devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio NOTIFY devicePixelRatioChanged)
+ Q_PROPERTY(qreal devicePixelRatio READ devicePixelRatio WRITE setDevicePixelRatio NOTIFY devicePixelRatioChanged)
Q_PROPERTY(QWebNavigationHistory* navigationHistory READ navigationHistory CONSTANT FINAL)
@@ -312,8 +312,8 @@ public:
void setDeviceWidth(int);
int deviceHeight() const;
void setDeviceHeight(int);
- double devicePixelRatio() const;
- void setDevicePixelRatio(double);
+ qreal devicePixelRatio() const;
+ void setDevicePixelRatio(qreal);
QList<QUrl> userScripts() const;
void setUserScripts(const QList<QUrl>& userScripts);
QUrl remoteInspectorUrl() const;
diff --git a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
index d8a88f8c9..d1d3d9e88 100644
--- a/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qquickwebview_p_p.h
@@ -21,13 +21,13 @@
#ifndef qquickwebview_p_p_h
#define qquickwebview_p_p_h
+#include "PageViewportController.h"
+#include "PageViewportControllerClient.h"
#include "QtPageClient.h"
#include "QtWebPageUIClient.h"
#include "QtWebUndoController.h"
-
#include "qquickwebview_p.h"
#include "qquickwebpage_p.h"
-
#include <QtCore/QElapsedTimer>
#include <QtCore/QObject>
#include <QtCore/QScopedPointer>
@@ -39,7 +39,7 @@ namespace WebKit {
class DownloadProxy;
class DrawingAreaProxy;
class QtDialogRunner;
-class QtViewportHandler;
+class PageViewportControllerClientQt;
class QtWebContext;
class QtWebError;
class QtWebPageLoadClient;
@@ -87,7 +87,7 @@ public:
int loadProgress() const { return m_loadProgress; }
void setNeedsDisplay();
- virtual WebKit::QtViewportHandler* viewportHandler() { return 0; }
+ WebKit::PageViewportController* viewportController() const { return m_pageViewportController.data(); }
virtual void updateViewportSize() { }
void updateTouchViewportSize();
@@ -128,7 +128,7 @@ public:
WebCore::IntSize viewSize() const;
void didReceiveMessageFromNavigatorQtObject(const String& message);
virtual void pageDidRequestScroll(const QPoint& pos) { }
- virtual void didChangeContentsSize(const QSize& newSize) { }
+ virtual void didChangeContentsSize(const QSize& newSize);
void processDidCrash();
void didRelaunchProcess();
PassOwnPtr<WebKit::DrawingAreaProxy> createDrawingAreaProxy();
@@ -170,7 +170,9 @@ protected:
QScopedPointer<QQuickWebPage> pageView;
QQuickWebView* q_ptr;
- QScopedPointer<WebKit::QtViewportHandler> m_viewportHandler;
+ QScopedPointer<WebKit::PageViewportController> m_pageViewportController;
+ QScopedPointer<WebKit::PageViewportControllerClientQt> m_pageViewportControllerClient;
+
FlickableAxisLocker axisLocker;
QQmlComponent* alertDialog;
@@ -190,6 +192,7 @@ protected:
bool m_navigatorQtObjectEnabled;
bool m_renderToOffscreenBuffer;
bool m_allowAnyHTTPSCertificateForLocalHost;
+ qreal m_customDevicePixelRatio;
WTF::String m_iconUrl;
int m_loadProgress;
WTF::String m_currentUrl;
@@ -211,13 +214,11 @@ class QQuickWebViewFlickablePrivate : public QQuickWebViewPrivate {
Q_DECLARE_PUBLIC(QQuickWebView)
public:
QQuickWebViewFlickablePrivate(QQuickWebView* viewport);
- virtual ~QQuickWebViewFlickablePrivate();
virtual void initialize(WKContextRef contextRef = 0, WKPageGroupRef pageGroupRef = 0);
virtual void onComponentComplete();
virtual void didChangeViewportProperties(const WebCore::ViewportAttributes&);
- virtual WebKit::QtViewportHandler* viewportHandler() { return m_viewportHandler.data(); }
virtual void updateViewportSize();
virtual void pageDidRequestScroll(const QPoint& pos);
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebkittest.cpp b/Source/WebKit2/UIProcess/API/qt/qwebkittest.cpp
index 1c39a53cd..a8a9c686b 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebkittest.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qwebkittest.cpp
@@ -21,7 +21,7 @@
#include "config.h"
#include "qwebkittest_p.h"
-#include "QtViewportHandler.h"
+#include "PageViewportControllerClientQt.h"
#include "qquickwebview_p_p.h"
#include <QMutableListIterator>
#include <QTouchEvent>
@@ -137,51 +137,42 @@ QSize QWebKitTest::contentsSize() const
return QSize(m_webViewPrivate->pageView->contentsSize().toSize());
}
-QVariant QWebKitTest::contentsScale() const
+static inline QJsonObject toJsonObject(const QSizeF& sizeF)
{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return viewport->currentCSSScale();
- return 1.0;
+ QJsonObject result;
+ result.insert(QLatin1String("width"), sizeF.width());
+ result.insert(QLatin1String("height"), sizeF.height());
+ return result;
}
-QVariant QWebKitTest::devicePixelRatio() const
+QJsonObject QWebKitTest::viewport() const
{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return viewport->m_devicePixelRatio;
- return 1.0;
-}
-
-QVariant QWebKitTest::initialScale() const
-{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return viewport->m_rawAttributes.initialScale;
- return 1.0;
+ QJsonObject viewportData;
+ if (const PageViewportController* const viewportHandler = m_webViewPrivate->viewportController()) {
+ viewportData.insert(QLatin1String("layoutSize"), toJsonObject(viewportHandler->contentsLayoutSize()));
+ viewportData.insert(QLatin1String("isScalable"), viewportHandler->allowsUserScaling());
+ viewportData.insert(QLatin1String("minimumScale"), viewportHandler->minimumContentsScale());
+ viewportData.insert(QLatin1String("maximumScale"), viewportHandler->maximumContentsScale());
+ } else {
+ viewportData.insert(QLatin1String("initialScale"), 1.0);
+ viewportData.insert(QLatin1String("layoutSize"), toJsonObject(QSizeF()));
+ viewportData.insert(QLatin1String("isScalable"), false);
+ viewportData.insert(QLatin1String("minimumScale"), 1.0);
+ viewportData.insert(QLatin1String("maximumScale"), 1.0);
+ }
+ return viewportData;
}
-QVariant QWebKitTest::minimumScale() const
+QVariant QWebKitTest::devicePixelRatio() const
{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return viewport->m_minimumScale;
+ if (const PageViewportController* const viewport = m_webViewPrivate->viewportController())
+ return viewport->devicePixelRatio();
return 1.0;
}
-QVariant QWebKitTest::maximumScale() const
+QVariant QWebKitTest::contentsScale() const
{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return viewport->m_maximumScale;
+ if (const PageViewportController* const viewport = m_webViewPrivate->viewportController())
+ return viewport->currentContentsScale();
return 1.0;
}
-
-QVariant QWebKitTest::isScalable() const
-{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return !!viewport->m_rawAttributes.userScalable;
- return false;
-}
-
-QVariant QWebKitTest::layoutSize() const
-{
- if (QtViewportHandler* viewport = m_webViewPrivate->viewportHandler())
- return QSizeF(viewport->m_rawAttributes.layoutSize);
- return QSizeF();
-}
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h b/Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h
index 3754f169a..bfabb69fb 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qwebkittest_p.h
@@ -24,6 +24,7 @@
#include "qwebkitglobal.h"
#include "qquickwebview_p.h"
+#include <QtCore/QJsonObject>
#include <QtCore/QObject>
#include <QtCore/QPointer>
#include <QtCore/QSize>
@@ -40,17 +41,14 @@ class QWEBKIT_EXPORT QWebKitTest : public QObject {
Q_PROPERTY(QVariant contentsScale READ contentsScale NOTIFY contentsScaleChanged)
- Q_PROPERTY(QVariant devicePixelRatio READ devicePixelRatio NOTIFY viewportChanged)
- Q_PROPERTY(QVariant initialScale READ initialScale NOTIFY viewportChanged)
- Q_PROPERTY(QVariant isScalable READ isScalable NOTIFY viewportChanged)
- Q_PROPERTY(QVariant maximumScale READ maximumScale NOTIFY viewportChanged)
- Q_PROPERTY(QVariant minimumScale READ minimumScale NOTIFY viewportChanged)
- Q_PROPERTY(QVariant layoutSize READ layoutSize NOTIFY viewportChanged)
+ Q_PROPERTY(QVariant devicePixelRatio READ devicePixelRatio NOTIFY devicePixelRatioChanged)
+ Q_PROPERTY(QJsonObject viewport READ viewport NOTIFY viewportChanged)
Q_SIGNALS:
void contentsSizeChanged();
void contentsScaleChanged();
void contentsScaleCommitted();
+ void devicePixelRatioChanged();
void viewportChanged();
public Q_SLOTS:
@@ -68,11 +66,7 @@ public:
QVariant contentsScale() const;
QVariant devicePixelRatio() const;
- QVariant initialScale() const;
- QVariant isScalable() const;
- QVariant layoutSize() const;
- QVariant maximumScale() const;
- QVariant minimumScale() const;
+ QJsonObject viewport() const;
private:
QQuickWebViewPrivate* m_webViewPrivate;
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp b/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp
index e66f368c5..e27f51264 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/qwebpreferences.cpp
@@ -71,6 +71,10 @@ bool QWebPreferencesPrivate::testAttribute(QWebPreferencesPrivate::WebAttribute
return WKPreferencesGetCSSCustomFilterEnabled(preferencesRef());
#endif
#endif
+#if ENABLE(WEB_AUDIO)
+ case WebAudioEnabled:
+ return WKPreferencesGetWebAudioEnabled(preferencesRef());
+#endif
default:
ASSERT_NOT_REACHED();
return false;
@@ -124,6 +128,11 @@ void QWebPreferencesPrivate::setAttribute(QWebPreferencesPrivate::WebAttribute a
break;
#endif
#endif
+#if ENABLE(WEB_AUDIO)
+ case WebAudioEnabled:
+ WKPreferencesSetWebAudioEnabled(preferencesRef(), enable);
+ break;
+#endif
default:
ASSERT_NOT_REACHED();
}
@@ -513,6 +522,25 @@ void QWebPreferences::setWebGLEnabled(bool enable)
#endif
}
+bool QWebPreferences::webAudioEnabled() const
+{
+#if ENABLE(WEB_AUDIO)
+ return d->testAttribute(QWebPreferencesPrivate::WebAudioEnabled);
+#else
+ return false;
+#endif
+}
+
+void QWebPreferences::setWebAudioEnabled(bool enable)
+{
+#if ENABLE(WEB_AUDIO)
+ d->setAttribute(QWebPreferencesPrivate::WebAudioEnabled, enable);
+ emit webAudioEnabledChanged();
+#else
+ UNUSED_PARAM(enable);
+#endif
+}
+
WKPreferencesRef QWebPreferencesPrivate::preferencesRef() const
{
WKPageGroupRef pageGroupRef = toAPI(webViewPrivate->webPageProxy->pageGroup());
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h
index 8618f4fc3..373df7504 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p.h
@@ -44,6 +44,7 @@ public:
Q_PROPERTY(bool frameFlatteningEnabled READ frameFlatteningEnabled WRITE setFrameFlatteningEnabled NOTIFY frameFlatteningEnabledChanged FINAL)
Q_PROPERTY(bool developerExtrasEnabled READ developerExtrasEnabled WRITE setDeveloperExtrasEnabled NOTIFY developerExtrasEnabledChanged FINAL)
Q_PROPERTY(bool webGLEnabled READ webGLEnabled WRITE setWebGLEnabled NOTIFY webGLEnabledChanged FINAL)
+ Q_PROPERTY(bool webAudioEnabled READ webAudioEnabled WRITE setWebAudioEnabled NOTIFY webAudioEnabledChanged FINAL)
Q_PROPERTY(QString standardFontFamily READ standardFontFamily WRITE setStandardFontFamily NOTIFY standardFontFamilyChanged FINAL)
Q_PROPERTY(QString fixedFontFamily READ fixedFontFamily WRITE setFixedFontFamily NOTIFY fixedFontFamilyChanged FINAL)
@@ -95,6 +96,9 @@ public:
bool webGLEnabled() const;
void setWebGLEnabled(bool enable);
+ bool webAudioEnabled() const;
+ void setWebAudioEnabled(bool enable);
+
QString standardFontFamily() const;
void setStandardFontFamily(const QString& family);
@@ -136,6 +140,7 @@ Q_SIGNALS:
void frameFlatteningEnabledChanged();
void developerExtrasEnabledChanged();
void webGLEnabledChanged();
+ void webAudioEnabledChanged();
void standardFontFamilyChanged();
void fixedFontFamilyChanged();
diff --git a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h
index 004500c90..c606bbe89 100644
--- a/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/qwebpreferences_p_p.h
@@ -40,7 +40,8 @@ public:
DnsPrefetchEnabled,
DeveloperExtrasEnabled,
WebGLEnabled,
- CSSCustomFilterEnabled
+ CSSCustomFilterEnabled,
+ WebAudioEnabled
};
enum FontFamily {
diff --git a/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview.cpp b/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview.cpp
index 6250348a6..0a7a684cf 100644
--- a/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview.cpp
@@ -185,7 +185,7 @@ PassRefPtr<WebKit::WebContextMenuProxy> QRawWebViewPrivate::createContextMenuPro
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassRefPtr<WebKit::WebColorChooserProxy> QRawWebViewPrivate::createColorChooserProxy(WebKit::WebPageProxy*, const WebCore::Color& intialColor)
+PassRefPtr<WebKit::WebColorChooserProxy> QRawWebViewPrivate::createColorChooserProxy(WebKit::WebPageProxy*, const WebCore::Color& intialColor, const WebCore::IntRect&)
{
notImplemented();
return PassRefPtr<WebKit::WebColorChooserProxy>();
@@ -240,7 +240,10 @@ PassOwnPtr<WebKit::DrawingAreaProxy> QRawWebViewPrivate::createDrawingAreaProxy(
}
QRawWebViewPrivate::QRawWebViewPrivate(WebKit::WebContext* context, WebKit::WebPageGroup* pageGroup, QRawWebViewClient* client)
- : m_client(client)
+ : m_focused(false)
+ , m_visible(false)
+ , m_active(false)
+ , m_client(client)
, m_webPageProxy(context->createWebPage(this, pageGroup))
{
m_webPageProxy->pageGroup()->preferences()->setForceCompositingMode(true);
@@ -325,14 +328,20 @@ QSize QRawWebView::size() const
void QRawWebView::setSize(const QSize& size)
{
- d->m_size = size;
- d->m_webPageProxy->setViewportSize(size);
-
-
WebKit::DrawingAreaProxy* drawingArea = d->m_webPageProxy->drawingArea();
if (!drawingArea)
return;
+ if (d->m_webPageProxy->useFixedLayout())
+ d->m_webPageProxy->setViewportSize(size);
+ else {
+ WebKit::LayerTreeCoordinatorProxy* coordinator = drawingArea->layerTreeCoordinatorProxy();
+ if (!coordinator)
+ return;
+ coordinator->setContentsSize(WebCore::FloatSize(size.width(), size.height()));
+ }
+
+ d->m_size = size;
drawingArea->setSize(d->m_size, WebCore::IntSize());
drawingArea->setVisibleContentsRect(WebCore::IntRect(WebCore::IntPoint(), d->m_size), 1 /*scale*/, WebCore::FloatPoint());
diff --git a/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h b/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h
index 0a4bf5a9e..55bc85ba0 100644
--- a/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h
+++ b/Source/WebKit2/UIProcess/API/qt/raw/qrawwebview_p_p.h
@@ -25,8 +25,10 @@
#ifndef qrawwebview_p_p_h
#define qrawwebview_p_p_h
+#include "FindIndicator.h"
#include "PageClient.h"
#include "WebContextMenuProxy.h"
+#include "WebEditCommandProxy.h"
#include "WebPopupMenuProxy.h"
#include "qrawwebview_p.h"
@@ -87,7 +89,7 @@ public:
virtual PassRefPtr<WebKit::WebContextMenuProxy> createContextMenuProxy(WebKit::WebPageProxy* webPageProxy);
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebKit::WebColorChooserProxy> createColorChooserProxy(WebKit::WebPageProxy*, const WebCore::Color& intialColor);
+ virtual PassRefPtr<WebKit::WebColorChooserProxy> createColorChooserProxy(WebKit::WebPageProxy*, const WebCore::Color& intialColor, const WebCore::IntRect&);
#endif
QRawWebViewPrivate(WebKit::WebContext*, WebKit::WebPageGroup*, QRawWebViewClient*);
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h b/Source/WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h
index 2262a5f1a..95b005f3a 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h
+++ b/Source/WebKit2/UIProcess/API/qt/tests/bytearraytestdata.h
@@ -30,7 +30,7 @@
#include <QObject>
#include <QtQuick/qquickitem.h>
-class QWEBKIT_EXPORT ByteArrayTestData : public QObject {
+class ByteArrayTestData : public QObject {
Q_OBJECT
Q_PROPERTY(QVariant latin1Data READ latin1Data)
Q_PROPERTY(QVariant utf8Data READ utf8Data)
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml
new file mode 100644
index 000000000..0442b53c9
--- /dev/null
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_devicePixelRatio.qml
@@ -0,0 +1,62 @@
+import QtQuick 2.0
+import QtTest 1.0
+import QtWebKit 3.0
+import QtWebKit.experimental 1.0
+import "../common"
+
+
+TestWebView {
+ id: webView
+ property variant lastResult
+ width: 400
+ height: 300
+ focus: true
+
+ SignalSpy {
+ id: resultSpy
+ target: webView
+ signalName: "lastResultChanged"
+ }
+
+ TestCase {
+ name: "DevicePixelRatio"
+
+ function init() {
+ resultSpy.clear()
+ webView.lastResult = null
+ }
+
+ function test_devicePixelRatio() {
+ resultSpy.clear()
+ webView.url = Qt.resolvedUrl("../common/test1.html");
+ webView.experimental.devicePixelRatio = 2.0
+ verify(webView.waitForLoadSucceeded())
+
+ webView.experimental.evaluateJavaScript(
+ "(function() { return window.devicePixelRatio })()",
+ function(result) {
+ webView.lastResult = result
+ })
+
+ resultSpy.wait()
+ compare(webView.lastResult, 2.0)
+ compare(webView.lastResult, webView.experimental.devicePixelRatio)
+ }
+
+ function test_devicePixelRatioMediaQuery() {
+ resultSpy.clear()
+ webView.url = Qt.resolvedUrl("../common/test2.html");
+ webView.experimental.devicePixelRatio = 2.0
+ verify(webView.waitForLoadSucceeded())
+
+ webView.experimental.evaluateJavaScript(
+ "(function() { return window.matchMedia(\"(-webkit-device-pixel-ratio: 2)\").matches })()",
+ function(result) {
+ webView.lastResult = result
+ })
+
+ resultSpy.wait()
+ verify(webView.lastResult)
+ }
+ }
+}
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml
index b2a860e73..691455708 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml
@@ -13,8 +13,6 @@ Item {
property variant result
- experimental.test.onContentsScaleCommitted: scaleChanged()
-
property variant content: "data:text/html," +
"<head>" +
" <meta name='viewport' content='width=device-width'>" +
@@ -26,7 +24,6 @@ Item {
"</body>"
signal resultReceived
- signal scaleChanged
}
SignalSpy {
@@ -37,8 +34,8 @@ Item {
SignalSpy {
id: scaleSpy
- target: webView
- signalName: "scaleChanged"
+ target: webView.experimental.test
+ signalName: "contentsScaleCommitted"
}
TestCase {
@@ -67,8 +64,8 @@ Item {
var result;
webView.experimental.evaluateJavaScript(
- "document.getElementById('" + id + "').getBoundingClientRect();",
- function(rect) { webView.resultReceived(); result = rect });
+ "JSON.stringify(document.getElementById('" + id + "').getBoundingClientRect());",
+ function(rect) { webView.resultReceived(); result = JSON.parse(rect); });
resultSpy.wait();
return result;
}
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml
index febd948b8..f12da5de8 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml
@@ -13,8 +13,6 @@ Item {
property variant result
- experimental.test.onContentsScaleCommitted: scaleChanged()
-
property variant content: "data:text/html," +
"<head>" +
" <meta name='viewport' content='width=device-width'>" +
@@ -24,7 +22,6 @@ Item {
"</body>"
signal resultReceived
- signal scaleChanged
}
SignalSpy {
@@ -35,8 +32,8 @@ Item {
SignalSpy {
id: scaleSpy
- target: webView
- signalName: "scaleChanged"
+ target: webView.experimental.test
+ signalName: "contentsScaleCommitted"
}
TestCase {
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
index d24312610..1fc1559ab 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qmltests/WebView/tst_wheelEventHandling.qml
@@ -42,5 +42,16 @@ Item {
// The check below will fail if the previous position was not restored after reload.
verify(position == webView.contentY)
}
+
+ function test_wheelScrollEventAfterReload() {
+ scrollSpy.clear()
+ webView.reload()
+ verify(webView.waitForLoadSucceeded())
+ var centerPoint = Qt.point(webView.width / 2, webView.height / 2)
+ test.wheelEvent(webView, centerPoint.x, centerPoint.y, -500);
+ // The signal spy below will time out if the wheel event did not scroll the content.
+ scrollSpy.wait()
+ }
}
+
}
diff --git a/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp b/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp
index 93d669cee..0338ecff6 100644
--- a/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp
+++ b/Source/WebKit2/UIProcess/API/qt/tests/qrawwebview/tst_qrawwebview.cpp
@@ -150,7 +150,7 @@ class tst_qrawwebview : public QObject {
Q_OBJECT
public:
tst_qrawwebview()
- : m_resourceDir(QString::fromAscii(TESTS_SOURCE_DIR "/html/resources"))
+ : m_resourceDir(QString::fromLatin1(TESTS_SOURCE_DIR "/html/resources"))
, m_baseUrl(QUrl::fromLocalFile(TESTS_SOURCE_DIR "/html").toString())
{ }
diff --git a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp
index 6b0de7f25..e6f582f22 100644
--- a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp
+++ b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp
@@ -66,9 +66,9 @@ void LayerTreeCoordinatorProxy::updateTileForLayer(int layerID, int tileID, cons
{
RefPtr<ShareableSurface> surface;
#if USE(GRAPHICS_SURFACE)
- int token = updateInfo.surfaceHandle.graphicsSurfaceToken();
+ uint64_t token = updateInfo.surfaceHandle.graphicsSurfaceToken();
if (token) {
- HashMap<uint32_t, RefPtr<ShareableSurface> >::iterator it = m_surfaces.find(token);
+ HashMap<uint64_t, RefPtr<ShareableSurface> >::iterator it = m_surfaces.find(token);
if (it == m_surfaces.end()) {
surface = ShareableSurface::create(updateInfo.surfaceHandle);
m_surfaces.add(token, surface);
diff --git a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h
index ed71dfe94..65a9f5e99 100644
--- a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h
+++ b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h
@@ -88,7 +88,7 @@ protected:
float m_lastSentScale;
WebCore::FloatPoint m_lastSentTrajectoryVector;
#if USE(GRAPHICS_SURFACE)
- HashMap<uint32_t, RefPtr<ShareableSurface> > m_surfaces;
+ HashMap<uint64_t, RefPtr<ShareableSurface> > m_surfaces;
#endif
};
diff --git a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp
index 481b9f74b..b94c66b9d 100644
--- a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp
+++ b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp
@@ -66,7 +66,7 @@ private:
}
};
-void LayerTreeRenderer::callOnMainTread(const Function<void()>& function)
+void LayerTreeRenderer::dispatchOnMainThread(const Function<void()>& function)
{
if (isMainThread())
function();
@@ -397,7 +397,7 @@ void LayerTreeRenderer::flushLayerChanges()
commitTileOperations();
// The pending tiles state is on its way for the screen, tell the web process to render the next one.
- callOnMainThread(bind(&LayerTreeRenderer::renderNextFrame, this));
+ dispatchOnMainThread(bind(&LayerTreeRenderer::renderNextFrame, this));
}
void LayerTreeRenderer::renderNextFrame()
@@ -458,7 +458,7 @@ void LayerTreeRenderer::purgeGLResources()
setActive(false);
- callOnMainThread(bind(&LayerTreeRenderer::purgeBackingStores, this));
+ dispatchOnMainThread(bind(&LayerTreeRenderer::purgeBackingStores, this));
}
void LayerTreeRenderer::setAnimatedOpacity(uint32_t id, float opacity)
diff --git a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h
index 5706a4ccd..4e45678e6 100644
--- a/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h
+++ b/Source/WebKit2/UIProcess/CoordinatedGraphics/LayerTreeRenderer.h
@@ -104,7 +104,7 @@ private:
virtual bool showDebugBorders(const WebCore::GraphicsLayer*) const { return false; }
virtual bool showRepaintCounter(const WebCore::GraphicsLayer*) const { return false; }
void paintContents(const WebCore::GraphicsLayer*, WebCore::GraphicsContext&, WebCore::GraphicsLayerPaintingPhase, const WebCore::IntRect&) { }
- void callOnMainTread(const Function<void()>&);
+ void dispatchOnMainThread(const Function<void()>&);
void adjustPositionForFixedLayers();
typedef HashMap<WebLayerID, WebCore::GraphicsLayer*> LayerMap;
diff --git a/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp b/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp
index 2ba13e03c..42d07379f 100644
--- a/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp
+++ b/Source/WebKit2/UIProcess/Downloads/DownloadProxy.cpp
@@ -65,7 +65,7 @@ void DownloadProxy::cancel()
if (!m_webContext)
return;
- // FIXME (Multi-WebProcess): Downloads shouldn't be handled in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239483> Downloads shouldn't be handled in the web process.
m_webContext->sendToAllProcesses(Messages::WebProcess::CancelDownload(m_downloadID));
}
@@ -98,7 +98,8 @@ void DownloadProxy::didReceiveAuthenticationChallenge(const AuthenticationChalle
if (!m_webContext)
return;
- // FIXME (Multi-WebProcess): Get rid of deprecatedSharedProcess.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239483> Downloads shouldn't be handled in the web process.
+ // Once this is fixed, remove WebContext::deprecatedSharedProcess().
RefPtr<AuthenticationChallengeProxy> authenticationChallengeProxy = AuthenticationChallengeProxy::create(authenticationChallenge, challengeID, m_webContext->deprecatedSharedProcess());
m_webContext->downloadClient().didReceiveAuthenticationChallenge(m_webContext, this, authenticationChallengeProxy.get());
}
@@ -194,7 +195,7 @@ void DownloadProxy::startTransfer(const String& filename)
if (!m_webContext)
return;
- // FIXME (Multi-WebProcess): Downloads shouldn't be handled in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239483> Downloads shouldn't be handled in the web process.
m_webContext->sendToAllProcesses(Messages::WebProcess::StartTransfer(m_downloadID, filename));
}
#endif
diff --git a/Source/WebKit2/UIProcess/InspectorServer/WebInspectorServer.cpp b/Source/WebKit2/UIProcess/InspectorServer/WebInspectorServer.cpp
index ecb171bb4..66d644734 100644
--- a/Source/WebKit2/UIProcess/InspectorServer/WebInspectorServer.cpp
+++ b/Source/WebKit2/UIProcess/InspectorServer/WebInspectorServer.cpp
@@ -142,7 +142,7 @@ bool WebInspectorServer::didReceiveWebSocketUpgradeHTTPRequest(WebSocketServerCo
String path = request->url();
// NOTE: Keep this in sync with WebCore/inspector/front-end/inspector.js.
- DEFINE_STATIC_LOCAL(const String, inspectorWebSocketConnectionPathPrefix, ("/devtools/page/"));
+ DEFINE_STATIC_LOCAL(const String, inspectorWebSocketConnectionPathPrefix, (ASCIILiteral("/devtools/page/")));
// Unknown path requested.
if (!path.startsWith(inspectorWebSocketConnectionPathPrefix))
diff --git a/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerClient.h b/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerClient.h
index e7be3abb7..448486877 100644
--- a/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerClient.h
+++ b/Source/WebKit2/UIProcess/InspectorServer/WebSocketServerClient.h
@@ -28,13 +28,10 @@
#if ENABLE(INSPECTOR_SERVER)
+#include <WebCore/HTTPRequest.h>
#include <wtf/PassRefPtr.h>
#include <wtf/text/WTFString.h>
-namespace WebCore {
-class HTTPRequest;
-}
-
namespace WebKit {
class WebSocketServerConnection;
diff --git a/Source/WebKit2/UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp b/Source/WebKit2/UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp
index 8de0f932d..c13fa4cfc 100644
--- a/Source/WebKit2/UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp
+++ b/Source/WebKit2/UIProcess/InspectorServer/qt/WebInspectorServerQt.cpp
@@ -34,7 +34,7 @@ namespace WebKit {
static String remoteInspectorPagePath()
{
- DEFINE_STATIC_LOCAL(String, pagePath, ("/webkit/inspector/inspector.html?page="));
+ DEFINE_STATIC_LOCAL(String, pagePath, (ASCIILiteral("/webkit/inspector/inspector.html?page=")));
return pagePath;
}
diff --git a/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm b/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
index fddf8502d..ec7d9e1d4 100644
--- a/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
+++ b/Source/WebKit2/UIProcess/Launcher/mac/ProcessLauncherMac.mm
@@ -105,10 +105,13 @@ static void launchXPCService(const ProcessLauncher::LaunchOptions&, const Enviro
// Insert a send right so we can send to it.
mach_port_insert_right(mach_task_self(), listeningPort, listeningPort, MACH_MSG_TYPE_MAKE_SEND);
+ NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
+ CString clientIdentifier = bundleIdentifier ? String([[NSBundle mainBundle] bundleIdentifier]).utf8() : *_NSGetProgname();
+
xpc_object_t bootStrapMessage = xpc_dictionary_create(0, 0, 0);
xpc_dictionary_set_string(bootStrapMessage, "message-name", "bootstrap");
- xpc_dictionary_set_string(bootStrapMessage, "framework-executable-path", [[[NSBundle bundleWithIdentifier:@"com.apple.WebKit2"] executablePath] fileSystemRepresentation]);
xpc_dictionary_set_mach_send(bootStrapMessage, "server-port", listeningPort);
+ xpc_dictionary_set_string(bootStrapMessage, "client-identifier", clientIdentifier.data());
that->ref();
@@ -222,11 +225,14 @@ void ProcessLauncher::launchProcess()
RetainPtr<CFStringRef> cfLocalization(AdoptCF, WKCopyCFLocalizationPreferredName(NULL));
CString localization = String(cfLocalization.get()).utf8();
-
+
+ NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];
+ CString clientIdentifier = bundleIdentifier ? String([[NSBundle mainBundle] bundleIdentifier]).utf8() : *_NSGetProgname();
+
// Make a unique, per pid, per process launcher web process service name.
CString serviceName = String::format("com.apple.WebKit.WebProcess-%d-%p", getpid(), this).utf8();
- const char* args[] = { [processAppExecutablePath fileSystemRepresentation], frameworkExecutablePath, "-type", processTypeAsString(m_launchOptions.processType), "-servicename", serviceName.data(), "-localization", localization.data(), 0 };
+ const char* args[] = { [processAppExecutablePath fileSystemRepresentation], frameworkExecutablePath, "-type", processTypeAsString(m_launchOptions.processType), "-servicename", serviceName.data(), "-localization", localization.data(), "-client-identifier", clientIdentifier.data(), 0 };
// Register ourselves.
kern_return_t kr = bootstrap_register2(bootstrap_port, const_cast<char*>(serviceName.data()), listeningPort, 0);
diff --git a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
index f099d6283..3cacf04db 100644
--- a/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
+++ b/Source/WebKit2/UIProcess/Launcher/qt/ProcessLauncherQt.cpp
@@ -38,6 +38,12 @@
#include <QtCore/qglobal.h>
#include <WebCore/NotImplemented.h>
#include <WebCore/RunLoop.h>
+#include <wtf/HashSet.h>
+#include <wtf/PassRefPtr.h>
+#include <wtf/Threading.h>
+#include <wtf/text/WTFString.h>
+
+#if defined(Q_OS_UNIX)
#include <errno.h>
#include <fcntl.h>
#include <runtime/InitializeThreading.h>
@@ -45,16 +51,17 @@
#include <sys/resource.h>
#include <sys/socket.h>
#include <unistd.h>
-#include <wtf/HashSet.h>
-#include <wtf/PassRefPtr.h>
-#include <wtf/Threading.h>
-#include <wtf/text/WTFString.h>
+#endif
#if defined(Q_OS_LINUX)
#include <sys/prctl.h>
#include <signal.h>
#endif
+#if OS(WINDOWS)
+#include <windows.h>
+#endif
+
#if OS(DARWIN)
#include <mach/mach_init.h>
#include <servers/bootstrap.h>
@@ -62,7 +69,8 @@
extern "C" kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t);
#endif
-#if defined(SOCK_SEQPACKET) && !defined(Q_OS_MACX)
+// for QNX we need SOCK_DGRAM, see https://bugs.webkit.org/show_bug.cgi?id=95553
+#if defined(SOCK_SEQPACKET) && !defined(Q_OS_MACX) && !OS(QNX)
#define SOCKET_TYPE SOCK_SEQPACKET
#else
#define SOCKET_TYPE SOCK_DGRAM
@@ -126,6 +134,15 @@ void ProcessLauncher::launchProcess()
ASSERT_UNUSED(kr, kr == KERN_SUCCESS);
commandLine = commandLine.arg(serviceName);
+#elif OS(WINDOWS)
+ CoreIPC::Connection::Identifier connector, clientIdentifier;
+ if (!CoreIPC::Connection::createServerAndClientIdentifiers(connector, clientIdentifier)) {
+ // FIXME: What should we do here?
+ ASSERT_NOT_REACHED();
+ }
+ commandLine = commandLine.arg(qulonglong(clientIdentifier));
+ // Ensure that the child process inherits the client identifier.
+ ::SetHandleInformation(clientIdentifier, HANDLE_FLAG_INHERIT, HANDLE_FLAG_INHERIT);
#else
int sockets[2];
if (socketpair(AF_UNIX, SOCKET_TYPE, 0, sockets) == -1) {
@@ -152,7 +169,7 @@ void ProcessLauncher::launchProcess()
webProcess->setProcessChannelMode(QProcess::ForwardedChannels);
webProcess->start(commandLine);
-#if !OS(DARWIN)
+#if OS(UNIX) && !OS(DARWIN)
// Don't expose the web socket to possible future web processes
while (fcntl(sockets[0], F_SETFD, FD_CLOEXEC) == -1) {
if (errno != EINTR) {
@@ -174,7 +191,9 @@ void ProcessLauncher::launchProcess()
return;
}
+#if OS(UNIX)
setpriority(PRIO_PROCESS, webProcess->pid(), 10);
+#endif
RunLoop::main()->dispatch(bind(&WebKit::ProcessLauncher::didFinishLaunchingProcess, this, webProcess, connector));
}
diff --git a/Source/WebKit2/UIProcess/PageClient.h b/Source/WebKit2/UIProcess/PageClient.h
index a343ae610..ebf5cd16f 100644
--- a/Source/WebKit2/UIProcess/PageClient.h
+++ b/Source/WebKit2/UIProcess/PageClient.h
@@ -180,7 +180,7 @@ public:
virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*) = 0;
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor) = 0;
+ virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor, const WebCore::IntRect&) = 0;
#endif
virtual void setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut, bool animate) = 0;
diff --git a/Source/WebKit2/UIProcess/PageViewportController.cpp b/Source/WebKit2/UIProcess/PageViewportController.cpp
new file mode 100644
index 000000000..71ec685c2
--- /dev/null
+++ b/Source/WebKit2/UIProcess/PageViewportController.cpp
@@ -0,0 +1,238 @@
+/*
+ * Copyright (C) 2011, 2012 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2011 Benjamin Poulain <benjamin@webkit.org>
+ *
+ * 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 program 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 program; 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 "PageViewportController.h"
+
+#include "PageViewportControllerClient.h"
+#include "WebPageProxy.h"
+#include <WebCore/FloatRect.h>
+#include <WebCore/FloatSize.h>
+#include <wtf/MathExtras.h>
+
+namespace WebKit {
+
+static inline float bound(float min, float value, float max)
+{
+ return clampTo<float>(value, min, max);
+}
+
+bool fuzzyCompare(float a, float b, float epsilon)
+{
+ return std::abs(a - b) < epsilon;
+}
+
+FloatPoint boundPosition(const FloatPoint minPosition, const FloatPoint& position, const FloatPoint& maxPosition)
+{
+ return FloatPoint(bound(minPosition.x(), position.x(), maxPosition.x()), bound(minPosition.y(), position.y(), maxPosition.y()));
+}
+
+ViewportUpdateDeferrer::ViewportUpdateDeferrer(PageViewportController* PageViewportController, SuspendContentFlag suspendContentFlag)
+ : m_controller(PageViewportController)
+{
+ m_controller->m_activeDeferrerCount++;
+
+ // There is no need to suspend content for immediate updates
+ // only during animations or longer gestures.
+ if (suspendContentFlag == DeferUpdateAndSuspendContent)
+ m_controller->suspendContent();
+}
+
+ViewportUpdateDeferrer::~ViewportUpdateDeferrer()
+{
+ if (--(m_controller->m_activeDeferrerCount))
+ return;
+
+ m_controller->resumeContent();
+
+ // Make sure that tiles all around the viewport will be requested.
+ m_controller->syncVisibleContents();
+}
+
+PageViewportController::PageViewportController(WebKit::WebPageProxy* proxy, PageViewportControllerClient* client)
+ : m_webPageProxy(proxy)
+ , m_client(client)
+ , m_allowsUserScaling(false)
+ , m_minimumScale(1)
+ , m_maximumScale(1)
+ , m_devicePixelRatio(1)
+ , m_activeDeferrerCount(0)
+ , m_hasSuspendedContent(false)
+ , m_hadUserInteraction(false)
+ , m_effectiveScale(1)
+{
+ // Initializing Viewport Raw Attributes to avoid random negative scale factors
+ // if there is a race condition between the first layout and setting the viewport attributes for the first time.
+ m_rawAttributes.initialScale = 1;
+ m_rawAttributes.minimumScale = m_minimumScale;
+ m_rawAttributes.maximumScale = m_maximumScale;
+ m_rawAttributes.userScalable = m_allowsUserScaling;
+
+ ASSERT(m_client);
+ m_client->setController(this);
+}
+
+FloatRect PageViewportController::convertToViewport(const FloatRect& cssRect) const
+{
+ return FloatRect(
+ convertToViewport(cssRect.x()),
+ convertToViewport(cssRect.y()),
+ convertToViewport(cssRect.width()),
+ convertToViewport(cssRect.height())
+ );
+}
+
+float PageViewportController::innerBoundedContentsScale(float cssScale) const
+{
+ return bound(m_minimumScale, cssScale, m_maximumScale);
+}
+
+float PageViewportController::outerBoundedContentsScale(float cssScale) const
+{
+ if (m_allowsUserScaling) {
+ // Bounded by [0.1, 10.0] like the viewport meta code in WebCore.
+ float hardMin = std::max<float>(0.1, 0.5 * m_minimumScale);
+ float hardMax = std::min<float>(10, 2 * m_maximumScale);
+ return bound(hardMin, cssScale, hardMax);
+ }
+ return innerBoundedContentsScale(cssScale);
+}
+
+void PageViewportController::didChangeContentsSize(const IntSize& newSize)
+{
+ if (m_viewportSize.isEmpty() || newSize.isEmpty())
+ return;
+
+ m_contentsSize = newSize;
+
+ float minimumScale = WebCore::computeMinimumScaleFactorForContentContained(m_rawAttributes, WebCore::roundedIntSize(m_viewportSize), newSize);
+
+ if (!fuzzyCompare(minimumScale, m_rawAttributes.minimumScale, 0.001)) {
+ m_minimumScale = minimumScale;
+
+ if (!m_hadUserInteraction && !hasSuspendedContent())
+ m_client->setContentsScale(convertToViewport(minimumScale), true /* isInitialScale */);
+
+ m_client->didChangeViewportAttributes();
+ }
+
+ m_client->didChangeContentsSize();
+}
+
+void PageViewportController::pageDidRequestScroll(const IntPoint& cssPosition)
+{
+ // Ignore the request if suspended. Can only happen due to delay in event delivery.
+ if (m_activeDeferrerCount)
+ return;
+
+ FloatRect endPosRange = positionRangeForContentAtScale(m_effectiveScale);
+ FloatPoint endPosition(cssPosition);
+ endPosition.scale(m_effectiveScale, m_effectiveScale);
+ endPosition = boundPosition(endPosRange.minXMinYCorner(), endPosition, endPosRange.maxXMaxYCorner());
+
+ m_client->setContentsPosition(endPosition);
+}
+
+void PageViewportController::setViewportSize(const FloatSize& newSize)
+{
+ if (newSize.isEmpty())
+ return;
+
+ m_viewportSize = newSize;
+
+ // Let the WebProcess know about the new viewport size, so that
+ // it can resize the content accordingly.
+ m_webPageProxy->setViewportSize(roundedIntSize(newSize));
+
+ syncVisibleContents();
+}
+
+void PageViewportController::setVisibleContentsRect(const FloatRect& visibleContentsRect, float viewportScale, const FloatPoint& trajectoryVector)
+{
+ m_visibleContentsRect = visibleContentsRect;
+ m_effectiveScale = viewportScale;
+ syncVisibleContents(trajectoryVector);
+}
+
+void PageViewportController::syncVisibleContents(const FloatPoint& trajectoryVector)
+{
+ DrawingAreaProxy* const drawingArea = m_webPageProxy->drawingArea();
+ if (!drawingArea || m_viewportSize.isEmpty() || m_contentsSize.isEmpty() || m_visibleContentsRect.isEmpty())
+ return;
+
+ drawingArea->setVisibleContentsRect(m_visibleContentsRect, m_effectiveScale, trajectoryVector);
+
+ m_client->didChangeVisibleContents();
+}
+
+void PageViewportController::didChangeViewportAttributes(const WebCore::ViewportAttributes& newAttributes)
+{
+ if (newAttributes.layoutSize.isEmpty())
+ return;
+
+ m_rawAttributes = newAttributes;
+ WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(m_rawAttributes);
+
+ m_devicePixelRatio = m_webPageProxy->deviceScaleFactor();
+ m_allowsUserScaling = !!m_rawAttributes.userScalable;
+ m_minimumScale = m_rawAttributes.minimumScale;
+ m_maximumScale = m_rawAttributes.maximumScale;
+
+ m_client->didChangeViewportAttributes();
+}
+
+void PageViewportController::suspendContent()
+{
+ if (m_hasSuspendedContent)
+ return;
+
+ m_hasSuspendedContent = true;
+ m_webPageProxy->suspendActiveDOMObjectsAndAnimations();
+}
+
+void PageViewportController::resumeContent()
+{
+ if (!m_rawAttributes.layoutSize.isEmpty() && m_rawAttributes.initialScale > 0) {
+ m_hadUserInteraction = false;
+ m_client->setContentsScale(convertToViewport(innerBoundedContentsScale(m_rawAttributes.initialScale)), /* isInitialScale */ true);
+ m_rawAttributes.initialScale = -1; // Mark used.
+ }
+
+ m_client->didResumeContent();
+
+ if (!m_hasSuspendedContent)
+ return;
+
+ m_hasSuspendedContent = false;
+ m_webPageProxy->resumeActiveDOMObjectsAndAnimations();
+}
+
+FloatRect PageViewportController::positionRangeForContentAtScale(float viewportScale) const
+{
+ const FloatSize contentSize = m_contentsSize * viewportScale;
+
+ const float horizontalRange = contentSize.width() - m_viewportSize.width();
+ const float verticalRange = contentSize.height() - m_viewportSize.height();
+
+ return FloatRect(0, 0, horizontalRange, verticalRange);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/PageViewportController.h b/Source/WebKit2/UIProcess/PageViewportController.h
new file mode 100644
index 000000000..0746ff1df
--- /dev/null
+++ b/Source/WebKit2/UIProcess/PageViewportController.h
@@ -0,0 +1,139 @@
+/*
+ * Copyright (C) 2011, 2012 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2011 Benjamin Poulain <benjamin@webkit.org>
+ *
+ * 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 program 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 program; 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 PageViewportController_h
+#define PageViewportController_h
+
+#include <WebCore/FloatPoint.h>
+#include <WebCore/FloatRect.h>
+#include <WebCore/FloatSize.h>
+#include <WebCore/ViewportArguments.h>
+
+namespace WebCore {
+class IntPoint;
+class IntSize;
+}
+
+using namespace WebCore;
+
+namespace WebKit {
+
+class WebPageProxy;
+class PageViewportController;
+class PageViewportControllerClient;
+
+// When interacting with the content, either by animating or by the hand of the user,
+// it is important to ensure smooth animations of at least 60fps in order to give a
+// good user experience.
+//
+// In order to do this we need to get rid of unknown factors. These include device
+// sensors (geolocation, orientation updates etc), CSS3 animations, JavaScript
+// exectution, sub resource loads etc.
+// We do this by sending suspend and resume notifications to the web process.
+//
+// For this purpose the ViewportUpdateDeferrer guard can be used when interacting
+// with or animating the content to scope suspend / resume and defer update
+// notifications.
+//
+// If something should only be executed when the content is suspended, it is possible
+// to check for that using ASSERT(hasSuspendedContent()).
+
+class ViewportUpdateDeferrer {
+public:
+ enum SuspendContentFlag { DeferUpdate, DeferUpdateAndSuspendContent };
+ ViewportUpdateDeferrer(PageViewportController*, SuspendContentFlag = DeferUpdate);
+ ~ViewportUpdateDeferrer();
+
+private:
+ PageViewportController* const m_controller;
+};
+
+class PageViewportController {
+ WTF_MAKE_NONCOPYABLE(PageViewportController);
+
+public:
+ PageViewportController(WebKit::WebPageProxy*, PageViewportControllerClient*);
+ virtual ~PageViewportController() { }
+
+ void suspendContent();
+ void resumeContent();
+
+ FloatRect positionRangeForContentAtScale(float viewportScale) const;
+
+ float convertFromViewport(float value) const { return value / m_devicePixelRatio; }
+ float convertToViewport(float value) const { return value * m_devicePixelRatio; }
+ FloatRect convertToViewport(const FloatRect&) const;
+
+ float innerBoundedContentsScale(float) const;
+ float outerBoundedContentsScale(float) const;
+
+ bool hasSuspendedContent() const { return m_hasSuspendedContent; }
+ bool hadUserInteraction() const { return m_hadUserInteraction; }
+ bool allowsUserScaling() const { return m_allowsUserScaling; }
+
+ FloatSize contentsLayoutSize() const { return m_rawAttributes.layoutSize; }
+ float devicePixelRatio() const { return m_devicePixelRatio; }
+ float minimumContentsScale() const { return m_minimumScale; }
+ float maximumContentsScale() const { return m_maximumScale; }
+ float currentContentsScale() const { return convertFromViewport(m_effectiveScale); }
+
+ void setHadUserInteraction(bool didUserInteract) { m_hadUserInteraction = didUserInteract; }
+
+ // Notifications to the WebProcess.
+ void setViewportSize(const FloatSize& newSize);
+ void setVisibleContentsRect(const FloatRect& visibleContentsRect, float viewportScale, const FloatPoint& trajectoryVector = FloatPoint::zero());
+
+ // Notifications from the WebProcess.
+ void didChangeContentsSize(const IntSize& newSize);
+ void didChangeViewportAttributes(const ViewportAttributes&);
+ void pageDidRequestScroll(const IntPoint& cssPosition);
+
+private:
+ void syncVisibleContents(const FloatPoint &trajectoryVector = FloatPoint::zero());
+
+ WebPageProxy* const m_webPageProxy;
+ PageViewportControllerClient* m_client;
+
+ ViewportAttributes m_rawAttributes;
+
+ bool m_allowsUserScaling;
+ float m_minimumScale;
+ float m_maximumScale;
+ float m_devicePixelRatio;
+
+ int m_activeDeferrerCount;
+ bool m_hasSuspendedContent;
+ bool m_hadUserInteraction;
+
+ FloatSize m_viewportSize;
+ FloatSize m_contentsSize;
+ FloatRect m_visibleContentsRect;
+ float m_effectiveScale; // Should always be cssScale * devicePixelRatio.
+
+ friend class ViewportUpdateDeferrer;
+};
+
+bool fuzzyCompare(float, float, float epsilon);
+FloatPoint boundPosition(const FloatPoint minPosition, const FloatPoint& position, const FloatPoint& maxPosition);
+
+} // namespace WebKit
+
+#endif // PageViewportController_h
diff --git a/Source/WebKit2/UIProcess/PageViewportControllerClient.h b/Source/WebKit2/UIProcess/PageViewportControllerClient.h
new file mode 100644
index 000000000..6a50b4217
--- /dev/null
+++ b/Source/WebKit2/UIProcess/PageViewportControllerClient.h
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2012 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 program 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 program; 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 PageViewportControllerClient_h
+#define PageViewportControllerClient_h
+
+#include <wtf/Noncopyable.h>
+
+namespace WebKit {
+
+class PageViewportController;
+
+class PageViewportControllerClient {
+ WTF_MAKE_NONCOPYABLE(PageViewportControllerClient);
+public:
+ PageViewportControllerClient() { }
+ virtual ~PageViewportControllerClient() { }
+
+ virtual void setContentsPosition(const WebCore::FloatPoint& localPoint) = 0;
+ virtual void setContentsScale(float localScale, bool treatAsInitialValue) = 0;
+
+ virtual void didResumeContent() = 0;
+ virtual void didChangeContentsSize() = 0;
+ virtual void didChangeVisibleContents() = 0;
+ virtual void didChangeViewportAttributes() = 0;
+
+ virtual void setController(PageViewportController*) = 0;
+};
+
+} // namespace WebKit
+
+#endif // PageViewportControllerClient_h
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp
index 12abf6dc2..7c53b695e 100644
--- a/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessProxy.cpp
@@ -47,6 +47,8 @@ using namespace WebCore;
namespace WebKit {
+static const double shutdownTimeout = 15;
+
PassRefPtr<PluginProcessProxy> PluginProcessProxy::create(PluginProcessManager* PluginProcessManager, const PluginModuleInfo& pluginInfo)
{
return adoptRef(new PluginProcessProxy(PluginProcessManager, pluginInfo));
@@ -211,6 +213,8 @@ void PluginProcessProxy::didFinishLaunching(ProcessLauncher*, CoreIPC::Connectio
parameters.pluginPath = m_pluginInfo.path;
+ parameters.terminationTimeout = shutdownTimeout;
+
platformInitializePluginProcess(parameters);
// Initialize the plug-in host process.
diff --git a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
index 553ea727b..a26bbbdb8 100644
--- a/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
+++ b/Source/WebKit2/UIProcess/Plugins/WebPluginSiteDataManager.cpp
@@ -170,8 +170,7 @@ void WebPluginSiteDataManager::getSitesWithData(PassRefPtr<ArrayCallback> prpCal
for (size_t i = 0; i < plugins.size(); ++i)
pluginPaths.append(plugins[i].path);
- // FIXME (Multi-WebProcess): When multi-process is enabled, we must always use a plug-in process for this,
- // so this code should just be removed.
+ ASSERT(m_webContext->processModel() == ProcessModelSharedSecondaryProcess); // Plugin process is required for multiple WebProcess mode.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebProcess::GetSitesWithPluginData(pluginPaths, callbackID));
#endif
}
@@ -233,8 +232,7 @@ void WebPluginSiteDataManager::clearSiteData(ImmutableArray* sites, uint64_t fla
for (size_t i = 0; i < plugins.size(); ++i)
pluginPaths.append(plugins[i].path);
- // FIXME (Multi-WebProcess): When multi-process is enabled, we must always use a plug-in process for this,
- // so this code should just be removed.
+ ASSERT(m_webContext->processModel() == ProcessModelSharedSecondaryProcess); // Plugin process is required for multiple WebProcess mode.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebProcess::ClearPluginSiteData(pluginPaths, sitesVector, flags, maxAgeInSeconds, callbackID));
#endif
}
diff --git a/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp b/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp
index 912d05fd7..7ecae847c 100644
--- a/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp
+++ b/Source/WebKit2/UIProcess/VisitedLinkProvider.cpp
@@ -40,16 +40,15 @@ static const int VisitedLinkTableMaxLoad = 2;
VisitedLinkProvider::VisitedLinkProvider(WebContext* context)
: m_context(context)
, m_visitedLinksPopulated(false)
- , m_webProcessHasVisitedLinkState(false)
, m_keyCount(0)
, m_tableSize(0)
, m_pendingVisitedLinksTimer(RunLoop::main(), this, &VisitedLinkProvider::pendingVisitedLinksTimerFired)
{
}
-void VisitedLinkProvider::processDidFinishLaunching()
+void VisitedLinkProvider::processDidFinishLaunching(WebProcessProxy* process)
{
- m_webProcessHasVisitedLinkState = false;
+ m_processesWithoutVisitedLinkState.add(process);
if (m_keyCount)
m_pendingVisitedLinksTimer.startOneShot(0);
@@ -70,9 +69,10 @@ void VisitedLinkProvider::addVisitedLink(LinkHash linkHash)
m_pendingVisitedLinksTimer.startOneShot(0);
}
-void VisitedLinkProvider::processDidClose()
+void VisitedLinkProvider::processDidClose(WebProcessProxy* process)
{
- m_pendingVisitedLinksTimer.stop();
+ m_processesWithVisitedLinkState.remove(process);
+ m_processesWithoutVisitedLinkState.remove(process);
}
static unsigned nextPowerOf2(unsigned v)
@@ -111,18 +111,26 @@ void VisitedLinkProvider::pendingVisitedLinksTimerFired()
m_pendingVisitedLinks.clear();
unsigned currentTableSize = m_tableSize;
+
+ // Upper bound on needed size - some of the links may be duplicates, in which case we could have done with less.
unsigned newTableSize = tableSizeForKeyCount(m_keyCount + pendingVisitedLinks.size());
+ // Never decrease table size when adding to it, to avoid unneeded churn.
+ newTableSize = std::max(currentTableSize, newTableSize);
+
// Links that were added.
Vector<WebCore::LinkHash> addedVisitedLinks;
+ // VisitedLinkTable remains internally consistent when adding, so it's OK to modify it in place
+ // even if a web process is accessing it at the same time.
if (currentTableSize != newTableSize) {
- // Create a new table.
RefPtr<SharedMemory> newTableMemory = SharedMemory::create(newTableSize * sizeof(LinkHash));
// We failed to create the shared memory.
- if (!newTableMemory)
+ if (!newTableMemory) {
+ LOG_ERROR("Could not allocate shared memory for visited link table");
return;
+ }
memset(newTableMemory->data(), 0, newTableMemory->size());
@@ -156,27 +164,36 @@ void VisitedLinkProvider::pendingVisitedLinksTimerFired()
m_keyCount += pendingVisitedLinks.size();
- if (!m_webProcessHasVisitedLinkState || currentTableSize != newTableSize) {
- // Send the new visited link table.
-
+
+ for (HashSet<WebProcessProxy*>::iterator iter = m_processesWithVisitedLinkState.begin(); iter != m_processesWithVisitedLinkState.end(); ++iter) {
+ WebProcessProxy* process = *iter;
+ if (currentTableSize != newTableSize) {
+ // In the rare case of needing to resize the table, we'll bypass the VisitedLinkStateChanged optimization,
+ // and unconditionally use AllVisitedLinkStateChanged for the process.
+ m_processesWithoutVisitedLinkState.add(process);
+ continue;
+ }
+
+ if (addedVisitedLinks.size() <= 20)
+ process->send(Messages::WebProcess::VisitedLinkStateChanged(addedVisitedLinks), 0);
+ else
+ process->send(Messages::WebProcess::AllVisitedLinkStateChanged(), 0);
+ }
+
+ for (HashSet<WebProcessProxy*>::iterator iter = m_processesWithoutVisitedLinkState.begin(); iter != m_processesWithoutVisitedLinkState.end(); ++iter) {
+ WebProcessProxy* process = *iter;
+
SharedMemory::Handle handle;
if (!m_table.sharedMemory()->createHandle(handle, SharedMemory::ReadOnly))
return;
- // FIXME (Multi-WebProcess): Encoding a handle will null it out so we need to create a new
- // handle for every process. Maybe the ArgumentEncoder should handle this.
- m_context->sendToAllProcesses(Messages::WebProcess::SetVisitedLinkTable(handle));
- }
-
- // We now need to let the web process know that we've added links.
- if (m_webProcessHasVisitedLinkState && addedVisitedLinks.size() <= 20) {
- m_context->sendToAllProcesses(Messages::WebProcess::VisitedLinkStateChanged(addedVisitedLinks));
- return;
+ process->send(Messages::WebProcess::SetVisitedLinkTable(handle), 0);
+ process->send(Messages::WebProcess::AllVisitedLinkStateChanged(), 0);
+
+ m_processesWithVisitedLinkState.add(process);
}
- // Just recalculate all the visited links.
- m_context->sendToAllProcesses(Messages::WebProcess::AllVisitedLinkStateChanged());
- m_webProcessHasVisitedLinkState = true;
+ m_processesWithoutVisitedLinkState.clear();
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/VisitedLinkProvider.h b/Source/WebKit2/UIProcess/VisitedLinkProvider.h
index 461c5ac94..e0e531025 100644
--- a/Source/WebKit2/UIProcess/VisitedLinkProvider.h
+++ b/Source/WebKit2/UIProcess/VisitedLinkProvider.h
@@ -35,6 +35,7 @@
namespace WebKit {
class WebContext;
+class WebProcessProxy;
class VisitedLinkProvider {
WTF_MAKE_NONCOPYABLE(VisitedLinkProvider);
@@ -43,15 +44,16 @@ public:
void addVisitedLink(WebCore::LinkHash);
- void processDidFinishLaunching();
- void processDidClose();
+ void processDidFinishLaunching(WebProcessProxy*);
+ void processDidClose(WebProcessProxy*);
private:
void pendingVisitedLinksTimerFired();
WebContext* m_context;
bool m_visitedLinksPopulated;
- bool m_webProcessHasVisitedLinkState;
+ HashSet<WebProcessProxy*> m_processesWithVisitedLinkState;
+ HashSet<WebProcessProxy*> m_processesWithoutVisitedLinkState;
unsigned m_keyCount;
unsigned m_tableSize;
diff --git a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp
index 5ea62cdc3..f43c819fd 100644
--- a/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebApplicationCacheManagerProxy.cpp
@@ -69,7 +69,7 @@ void WebApplicationCacheManagerProxy::getApplicationCacheOrigins(PassRefPtr<Arra
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::GetApplicationCacheOrigins(callbackID));
}
@@ -86,13 +86,13 @@ void WebApplicationCacheManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin*
securityOriginData.host = origin->host();
securityOriginData.port = origin->port();
- // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::DeleteEntriesForOrigin(securityOriginData));
}
void WebApplicationCacheManagerProxy::deleteAllEntries()
{
- // FIXME (Multi-WebProcess): The application cache shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Make manipulating cache information work with per-tab WebProcess.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebApplicationCacheManager::DeleteAllEntries());
}
diff --git a/Source/WebKit2/UIProcess/WebContext.cpp b/Source/WebKit2/UIProcess/WebContext.cpp
index b5bbea4cd..0003387d0 100644
--- a/Source/WebKit2/UIProcess/WebContext.cpp
+++ b/Source/WebKit2/UIProcess/WebContext.cpp
@@ -86,6 +86,8 @@ using namespace WebCore;
namespace WebKit {
+static const double sharedSecondaryProcessShutdownTimeout = 60;
+
DEFINE_DEBUG_ONLY_GLOBAL(WTF::RefCountedLeakCounter, webContextCounter, ("WebContext"));
PassRefPtr<WebContext> WebContext::create(const String& injectedBundlePath)
@@ -110,6 +112,7 @@ const Vector<WebContext*>& WebContext::allContexts()
WebContext::WebContext(ProcessModel processModel, const String& injectedBundlePath)
: m_processModel(processModel)
+ , m_haveInitialEmptyProcess(false)
, m_defaultPageGroup(WebPageGroup::create())
, m_injectedBundlePath(injectedBundlePath)
, m_visitedLinkProvider(this)
@@ -255,6 +258,21 @@ void WebContext::initializeDownloadClient(const WKContextDownloadClient* client)
m_downloadClient.initialize(client);
}
+void WebContext::setProcessModel(ProcessModel processModel)
+{
+ // Guard against API misuse.
+ if (!m_processes.isEmpty())
+ CRASH();
+
+#if !ENABLE(PLUGIN_PROCESS)
+ // Plugin process is required for multiple web process mode.
+ if (processModel != ProcessModelSharedSecondaryProcess)
+ CRASH();
+#endif
+
+ m_processModel = processModel;
+}
+
WebProcessProxy* WebContext::deprecatedSharedProcess()
{
ASSERT(m_processModel == ProcessModelSharedSecondaryProcess);
@@ -295,21 +313,25 @@ PassRefPtr<WebProcessProxy> WebContext::createNewWebProcess()
WebProcessCreationParameters parameters;
- if (!injectedBundlePath().isEmpty()) {
- parameters.injectedBundlePath = injectedBundlePath();
+ parameters.injectedBundlePath = injectedBundlePath();
+ if (!parameters.injectedBundlePath.isEmpty())
SandboxExtension::createHandle(parameters.injectedBundlePath, SandboxExtension::ReadOnly, parameters.injectedBundlePathExtensionHandle);
- }
- parameters.shouldTrackVisitedLinks = m_historyClient.shouldTrackVisitedLinks();
- parameters.cacheModel = m_cacheModel;
- parameters.languages = userPreferredLanguages();
parameters.applicationCacheDirectory = applicationCacheDirectory();
+ if (!parameters.applicationCacheDirectory.isEmpty())
+ SandboxExtension::createHandle(parameters.applicationCacheDirectory, SandboxExtension::ReadWrite, parameters.applicationCacheDirectoryExtensionHandle);
+
parameters.databaseDirectory = databaseDirectory();
+ if (!parameters.databaseDirectory.isEmpty())
+ SandboxExtension::createHandle(parameters.databaseDirectory, SandboxExtension::ReadWrite, parameters.databaseDirectoryExtensionHandle);
+
parameters.localStorageDirectory = localStorageDirectory();
+ if (!parameters.localStorageDirectory.isEmpty())
+ SandboxExtension::createHandle(parameters.localStorageDirectory, SandboxExtension::ReadWrite, parameters.localStorageDirectoryExtensionHandle);
-#if PLATFORM(MAC)
- parameters.presenterApplicationPid = getpid();
-#endif
+ parameters.shouldTrackVisitedLinks = m_historyClient.shouldTrackVisitedLinks();
+ parameters.cacheModel = m_cacheModel;
+ parameters.languages = userPreferredLanguages();
copyToVector(m_schemesToRegisterAsEmptyDocument, parameters.urlSchemesRegistererdAsEmptyDocument);
copyToVector(m_schemesToRegisterAsSecure, parameters.urlSchemesRegisteredAsSecure);
@@ -320,6 +342,8 @@ PassRefPtr<WebProcessProxy> WebContext::createNewWebProcess()
parameters.iconDatabaseEnabled = !iconDatabasePath().isEmpty();
+ parameters.terminationTimeout = (m_processModel == ProcessModelSharedSecondaryProcess) ? sharedSecondaryProcessShutdownTimeout : 0;
+
parameters.textCheckerState = TextChecker::state();
parameters.fullKeyboardAccessEnabled = WebProcessProxy::fullKeyboardAccessEnabled();
@@ -342,7 +366,7 @@ PassRefPtr<WebProcessProxy> WebContext::createNewWebProcess()
pair<String, RefPtr<APIObject> >& message = m_pendingMessagesToPostToInjectedBundle[i];
process->deprecatedSend(InjectedBundleMessage::PostMessage, 0, CoreIPC::In(message.first, WebContextUserMessageEncoder(message.second.get())));
}
- // FIXME (Multi-WebProcess): What does this mean in the brave new world?
+ // FIXME (Multi-WebProcess) (94368): What does this mean in the brave new world?
m_pendingMessagesToPostToInjectedBundle.clear();
return process.release();
@@ -350,8 +374,13 @@ PassRefPtr<WebProcessProxy> WebContext::createNewWebProcess()
void WebContext::warmInitialProcess()
{
- ASSERT(m_processes.isEmpty());
+ if (m_haveInitialEmptyProcess) {
+ ASSERT(!m_processes.isEmpty());
+ return;
+ }
+
m_processes.append(createNewWebProcess());
+ m_haveInitialEmptyProcess = true;
}
void WebContext::enableProcessTermination()
@@ -398,7 +427,7 @@ void WebContext::processDidFinishLaunching(WebProcessProxy* process)
{
ASSERT(m_processes.contains(process));
- m_visitedLinkProvider.processDidFinishLaunching();
+ m_visitedLinkProvider.processDidFinishLaunching(process);
// Sometimes the memorySampler gets initialized after process initialization has happened but before the process has finished launching
// so check if it needs to be started here
@@ -418,7 +447,15 @@ void WebContext::disconnectProcess(WebProcessProxy* process)
{
ASSERT(m_processes.contains(process));
- m_visitedLinkProvider.processDidClose();
+ m_visitedLinkProvider.processDidClose(process);
+
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> All the invalidation calls below are still necessary in multi-process mode, but they should only affect data structures pertaining to the process being disconnected.
+ // Clearing everything causes assertion failures, so it's less trouble to skip that for now.
+ if (m_processModel != ProcessModelSharedSecondaryProcess) {
+ RefPtr<WebProcessProxy> protect(process);
+ m_processes.remove(m_processes.find(process));
+ return;
+ }
// Invalidate all outstanding downloads.
for (HashMap<uint64_t, RefPtr<DownloadProxy> >::iterator::Values it = m_downloads.begin().values(), end = m_downloads.end().values(); it != end; ++it) {
@@ -457,7 +494,10 @@ void WebContext::disconnectProcess(WebProcessProxy* process)
m_pluginSiteDataManager->invalidate();
#endif
- // This can cause the web context to be destroyed.
+ // The vector may have the last reference to process proxy, which in turn may have the last reference to the context.
+ // Since vector elements are destroyed in place, we would recurse into WebProcessProxy destructor
+ // if it were invoked from Vector::remove(). RefPtr delays destruction until it's safe.
+ RefPtr<WebProcessProxy> protect(process);
m_processes.remove(m_processes.find(process));
}
@@ -469,8 +509,15 @@ PassRefPtr<WebPageProxy> WebContext::createWebPage(PageClient* pageClient, WebPa
process = m_processes[0];
} else {
// FIXME (Multi-WebProcess): Add logic for sharing a process.
- process = createNewWebProcess();
- m_processes.append(process);
+ // <rdar://problem/12218164> window.open() should create pages in the same process.
+ // <rdar://problem/12239661> Consider limiting the number of web processes in per-tab process model
+ if (m_haveInitialEmptyProcess) {
+ process = m_processes.last();
+ m_haveInitialEmptyProcess = false;
+ } else {
+ process = createNewWebProcess();
+ m_processes.append(process);
+ }
}
if (!pageGroup)
@@ -507,7 +554,7 @@ DownloadProxy* WebContext::download(WebPageProxy* initiatingPage, const Resource
return download;
} else {
- // FIXME: (Multi-WebProcess): Implement.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239483> Make downloading work.
return 0;
}
}
@@ -893,7 +940,7 @@ void WebContext::getWebCoreStatistics(PassRefPtr<DictionaryCallback> callback)
m_processes[0]->send(Messages::WebProcess::GetWebCoreStatistics(callbackID), 0);
} else {
- // FIXME (Multi-WebProcess): Implement.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239483> Make downloading work.
callback->invalidate();
}
}
diff --git a/Source/WebKit2/UIProcess/WebContext.h b/Source/WebKit2/UIProcess/WebContext.h
index a011461f4..a8ddc5f63 100644
--- a/Source/WebKit2/UIProcess/WebContext.h
+++ b/Source/WebKit2/UIProcess/WebContext.h
@@ -89,6 +89,7 @@ public:
void initializeHistoryClient(const WKContextHistoryClient*);
void initializeDownloadClient(const WKContextDownloadClient*);
+ void setProcessModel(ProcessModel); // Can only be called when there are no processes running.
ProcessModel processModel() const { return m_processModel; }
// FIXME (Multi-WebProcess): Remove. No code should assume that there is a shared process.
@@ -276,6 +277,7 @@ private:
ProcessModel m_processModel;
Vector<RefPtr<WebProcessProxy> > m_processes;
+ bool m_haveInitialEmptyProcess;
RefPtr<WebPageGroup> m_defaultPageGroup;
diff --git a/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp b/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
index e7b4a6a8e..cc9b23eb6 100644
--- a/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebCookieManagerProxy.cpp
@@ -76,7 +76,7 @@ void WebCookieManagerProxy::getHostnamesWithCookies(PassRefPtr<ArrayCallback> pr
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): Cookies shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Cookies shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebCookieManager::GetHostnamesWithCookies(callbackID));
}
@@ -145,7 +145,8 @@ void WebCookieManagerProxy::getHTTPCookieAcceptPolicy(PassRefPtr<HTTPCookieAccep
uint64_t callbackID = callback->callbackID();
m_httpCookieAcceptPolicyCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): Cookies shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12240189> Make cookie policies work with per-tab WebProcess.
+ // We can't ber asking all web processes for this information.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebCookieManager::GetHTTPCookieAcceptPolicy(callbackID));
}
diff --git a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp b/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp
index 76db33686..b4331d45c 100644
--- a/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp
@@ -40,49 +40,49 @@ namespace WebKit {
String WebDatabaseManagerProxy::originKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerOriginKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerOriginKey")));
return key;
}
String WebDatabaseManagerProxy::originQuotaKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerOriginQuotaKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerOriginQuotaKey")));
return key;
}
String WebDatabaseManagerProxy::originUsageKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerOriginUsageKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerOriginUsageKey")));
return key;
}
String WebDatabaseManagerProxy::databaseDetailsKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerDatabaseDetailsKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerDatabaseDetailsKey")));
return key;
}
String WebDatabaseManagerProxy::databaseDetailsNameKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerDatabaseDetailsNameKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerDatabaseDetailsNameKey")));
return key;
}
String WebDatabaseManagerProxy::databaseDetailsDisplayNameKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerDatabaseDetailsDisplayNameKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerDatabaseDetailsDisplayNameKey")));
return key;
}
String WebDatabaseManagerProxy::databaseDetailsExpectedUsageKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerDatabaseDetailsExpectedUsageKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerDatabaseDetailsExpectedUsageKey")));
return key;
}
String WebDatabaseManagerProxy::databaseDetailsCurrentUsageKey()
{
- DEFINE_STATIC_LOCAL(String, key, ("WebDatabaseManagerDatabaseDetailsCurrentUsageKey"));
+ DEFINE_STATIC_LOCAL(String, key, (ASCIILiteral("WebDatabaseManagerDatabaseDetailsCurrentUsageKey")));
return key;
}
@@ -121,7 +121,7 @@ void WebDatabaseManagerProxy::getDatabasesByOrigin(PassRefPtr<ArrayCallback> prp
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Databases shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::GetDatabasesByOrigin(callbackID));
}
@@ -174,7 +174,7 @@ void WebDatabaseManagerProxy::getDatabaseOrigins(PassRefPtr<ArrayCallback> prpCa
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Databases shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::GetDatabaseOrigins(callbackID));
}
@@ -197,25 +197,25 @@ void WebDatabaseManagerProxy::didGetDatabaseOrigins(const Vector<String>& origin
void WebDatabaseManagerProxy::deleteDatabaseWithNameForOrigin(const String& databaseIdentifier, WebSecurityOrigin* origin)
{
- // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/7855696> Databases shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::DeleteDatabaseWithNameForOrigin(databaseIdentifier, origin->databaseIdentifier()));
}
void WebDatabaseManagerProxy::deleteDatabasesForOrigin(WebSecurityOrigin* origin)
{
- // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/7855696> Databases shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::DeleteDatabasesForOrigin(origin->databaseIdentifier()));
}
void WebDatabaseManagerProxy::deleteAllDatabases()
{
- // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/7855696> Databases shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::DeleteAllDatabases());
}
void WebDatabaseManagerProxy::setQuotaForOrigin(WebSecurityOrigin* origin, uint64_t quota)
{
- // FIXME (Multi-WebProcess): Databases shouldn't be stored in the web process.
+ // FIXME (Multi-WebProcess): <rdar://problem/7855696> Databases shouldn't be stored in the web process.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebDatabaseManager::SetQuotaForOrigin(origin->databaseIdentifier(), quota));
}
diff --git a/Source/WebKit2/UIProcess/WebIconDatabase.cpp b/Source/WebKit2/UIProcess/WebIconDatabase.cpp
index c0c70617b..41c2617bf 100644
--- a/Source/WebKit2/UIProcess/WebIconDatabase.cpp
+++ b/Source/WebKit2/UIProcess/WebIconDatabase.cpp
@@ -161,7 +161,7 @@ void WebIconDatabase::getLoadDecisionForIconURL(const String& iconURL, uint64_t
return;
if (!m_iconDatabaseImpl || !m_iconDatabaseImpl->isOpen() || iconURL.isEmpty()) {
- // FIXME (Multi-WebProcess): We need to know which connection to send this message to.
+ // FIXME (Multi-WebProcess): <rdar://problem/12240223> We need to know which connection to send this message to.
m_webContext->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(IconLoadNo), callbackID));
return;
}
@@ -176,7 +176,7 @@ void WebIconDatabase::getLoadDecisionForIconURL(const String& iconURL, uint64_t
return;
}
- // FIXME (Multi-WebProcess): We need to know which connection to send this message to.
+ // FIXME (Multi-WebProcess): <rdar://problem/12240223> We need to know which connection to send this message to.
m_webContext->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision((int)decision, callbackID));
}
@@ -269,7 +269,7 @@ void WebIconDatabase::didFinishURLImport()
// Decisions should never be unknown after the inital import is complete
ASSERT(decision != IconLoadUnknown);
- // FIXME (Multi-WebProcess): We need to know which connection to send this message to.
+ // FIXME (Multi-WebProcess): <rdar://problem/12240223> We need to know which connection to send this message to.
m_webContext->sendToAllProcesses(Messages::WebIconDatabaseProxy::ReceivedIconLoadDecision(static_cast<int>(decision), i->first));
}
diff --git a/Source/WebKit2/UIProcess/WebInspectorProxy.cpp b/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
index 52c0b74a6..4ef85f25a 100644
--- a/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebInspectorProxy.cpp
@@ -329,7 +329,7 @@ void WebInspectorProxy::createInspectorPage(uint64_t& inspectorPageID, WebPageCr
String url = inspectorPageURL();
if (m_isAttached)
- url += "?docked=true";
+ url.append("?docked=true");
m_page->process()->assumeReadAccessToBaseURL(inspectorBaseURL());
diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp
index 93b6fb914..8b3332aa5 100644
--- a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp
@@ -68,7 +68,7 @@ void WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins(PassRefPtr<ArrayC
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): Should key-value storage be handled in the web process?
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Should key-value storage be handled in the web process?
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebKeyValueStorageManager::GetKeyValueStorageOrigins(callbackID));
}
@@ -85,13 +85,13 @@ void WebKeyValueStorageManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* o
securityOriginData.host = origin->host();
securityOriginData.port = origin->port();
- // FIXME (Multi-WebProcess): Should key-value storage be handled in the web process?
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Should key-value storage be handled in the web process?
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebKeyValueStorageManager::DeleteEntriesForOrigin(securityOriginData));
}
void WebKeyValueStorageManagerProxy::deleteAllEntries()
{
- // FIXME (Multi-WebProcess): Should key-value storage be handled in the web process?
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> Should key-value storage be handled in the web process?
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebKeyValueStorageManager::DeleteAllEntries());
}
diff --git a/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp
index 3b034d86e..ce4a78c64 100644
--- a/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebMediaCacheManagerProxy.cpp
@@ -67,8 +67,7 @@ void WebMediaCacheManagerProxy::getHostnamesWithMediaCache(PassRefPtr<ArrayCallb
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): When we're sending this to multiple processes, we need to aggregate the
- // callback data when it comes back.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> When we're sending this to multiple processes, we need to aggregate the callback data when it comes back.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebMediaCacheManager::GetHostnamesWithMediaCache(callbackID));
}
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.cpp b/Source/WebKit2/UIProcess/WebPageProxy.cpp
index c88c6655a..cd0c6c9a6 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebPageProxy.cpp
@@ -897,7 +897,7 @@ void WebPageProxy::executeEditCommand(const String& commandName)
if (!isValid())
return;
- DEFINE_STATIC_LOCAL(String, ignoreSpellingCommandName, ("ignoreSpelling"));
+ DEFINE_STATIC_LOCAL(String, ignoreSpellingCommandName, (ASCIILiteral("ignoreSpelling")));
if (commandName == ignoreSpellingCommandName)
++m_pendingLearnOrIgnoreWordMessageCount;
@@ -2707,11 +2707,11 @@ void WebPageProxy::needTouchEvents(bool needTouchEvents)
#endif
#if ENABLE(INPUT_TYPE_COLOR)
-void WebPageProxy::showColorChooser(const WebCore::Color& initialColor)
+void WebPageProxy::showColorChooser(const WebCore::Color& initialColor, const IntRect& elementRect)
{
ASSERT(!m_colorChooser);
- m_colorChooser = m_pageClient->createColorChooserProxy(this, initialColor);
+ m_colorChooser = m_pageClient->createColorChooserProxy(this, initialColor, elementRect);
}
void WebPageProxy::setColorChooserColor(const WebCore::Color& color)
@@ -2911,6 +2911,9 @@ void WebPageProxy::showPopupMenu(const IntRect& rect, uint64_t textDirection, co
m_activePopupMenu = m_pageClient->createPopupMenuProxy(this);
+ if (!m_activePopupMenu)
+ return;
+
// Since showPopupMenu() can spin a nested run loop we need to turn off the responsiveness timer.
m_process->responsivenessTimer()->stop();
@@ -2918,8 +2921,8 @@ void WebPageProxy::showPopupMenu(const IntRect& rect, uint64_t textDirection, co
protectedActivePopupMenu->showPopupMenu(rect, static_cast<TextDirection>(textDirection), m_pageScaleFactor, items, data, selectedIndex);
- // Since Qt doesn't use a nested mainloop the show the popup and get the answer, we need to keep the client pointer valid.
-#if !PLATFORM(QT)
+ // Since Qt and Efl doesn't use a nested mainloop to show the popup and get the answer, we need to keep the client pointer valid.
+#if !PLATFORM(QT) && !PLATFORM(EFL)
protectedActivePopupMenu->invalidate();
#endif
protectedActivePopupMenu = 0;
@@ -2959,6 +2962,8 @@ void WebPageProxy::internalShowContextMenu(const IntPoint& menuLocation, const W
}
m_activeContextMenu = m_pageClient->createContextMenuProxy(this);
+ if (!m_activeContextMenu)
+ return;
// Since showContextMenu() can spin a nested run loop we need to turn off the responsiveness timer.
m_process->responsivenessTimer()->stop();
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.h b/Source/WebKit2/UIProcess/WebPageProxy.h
index 9a19a566b..a4026816d 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.h
+++ b/Source/WebKit2/UIProcess/WebPageProxy.h
@@ -99,6 +99,7 @@ namespace WebCore {
class FloatRect;
class IntSize;
class ProtectionSpace;
+ class SharedBuffer;
struct FileChooserSettings;
struct TextAlternativeWithRange;
struct TextCheckingResult;
@@ -848,7 +849,7 @@ private:
#endif
#if ENABLE(INPUT_TYPE_COLOR)
- void showColorChooser(const WebCore::Color& initialColor);
+ void showColorChooser(const WebCore::Color& initialColor, const WebCore::IntRect&);
void setColorChooserColor(const WebCore::Color&);
void endColorChooser();
void didChooseColor(const WebCore::Color&);
diff --git a/Source/WebKit2/UIProcess/WebPageProxy.messages.in b/Source/WebKit2/UIProcess/WebPageProxy.messages.in
index 7fa81be5a..2ac9d267f 100644
--- a/Source/WebKit2/UIProcess/WebPageProxy.messages.in
+++ b/Source/WebKit2/UIProcess/WebPageProxy.messages.in
@@ -88,7 +88,7 @@ messages -> WebPageProxy {
#endif
#if ENABLE(INPUT_TYPE_COLOR)
- ShowColorChooser(WebCore::Color initialColor);
+ ShowColorChooser(WebCore::Color initialColor, WebCore::IntRect elementRect);
SetColorChooserColor(WebCore::Color color);
EndColorChooser();
#endif
diff --git a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp
index 8c06bdc83..60bf1a1ba 100644
--- a/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp
@@ -68,7 +68,7 @@ void WebResourceCacheManagerProxy::getCacheOrigins(PassRefPtr<ArrayCallback> prp
uint64_t callbackID = callback->callbackID();
m_arrayCallbacks.set(callbackID, callback.release());
- // FIXME (Multi-WebProcess): When multi-process is enabled, we need to aggregate the callback data from all processes.
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> When multi-process is enabled, we need to aggregate the callback data from all processes.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::GetCacheOrigins(callbackID));
}
@@ -85,11 +85,13 @@ void WebResourceCacheManagerProxy::clearCacheForOrigin(WebSecurityOrigin* origin
securityOrigin.host = origin->host();
securityOrigin.port = origin->port();
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> There is no need to relaunch all processes. One process to take care of persistent cache is enough.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForOrigin(securityOrigin, cachesToClear));
}
void WebResourceCacheManagerProxy::clearCacheForAllOrigins(ResourceCachesToClear cachesToClear)
{
+ // FIXME (Multi-WebProcess): <rdar://problem/12239765> There is no need to relaunch all processes. One process to take care of persistent cache is enough.
m_webContext->sendToAllProcessesRelaunchingThemIfNecessary(Messages::WebResourceCacheManager::ClearCacheForAllOrigins(cachesToClear));
}
diff --git a/Source/WebKit2/UIProcess/efl/WebFullScreenManagerProxyEfl.cpp b/Source/WebKit2/UIProcess/efl/WebFullScreenManagerProxyEfl.cpp
index b295687c1..f000c152a 100644
--- a/Source/WebKit2/UIProcess/efl/WebFullScreenManagerProxyEfl.cpp
+++ b/Source/WebKit2/UIProcess/efl/WebFullScreenManagerProxyEfl.cpp
@@ -25,6 +25,7 @@
#include "config.h"
#include "WebFullScreenManagerProxy.h"
+#include "ewk_view_private.h"
#if ENABLE(FULLSCREEN_API)
@@ -52,12 +53,22 @@ bool WebFullScreenManagerProxy::isFullScreen()
void WebFullScreenManagerProxy::enterFullScreen()
{
- notImplemented();
+ if (!m_webView)
+ return;
+
+ willEnterFullScreen();
+ ewk_view_full_screen_enter(m_webView);
+ didEnterFullScreen();
}
void WebFullScreenManagerProxy::exitFullScreen()
{
- notImplemented();
+ if (!m_webView)
+ return;
+
+ willExitFullScreen();
+ ewk_view_full_screen_exit(m_webView);
+ didExitFullScreen();
}
void WebFullScreenManagerProxy::beganEnterFullScreen(const IntRect& initialFrame, const IntRect& finalFrame)
diff --git a/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp b/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp
index 2b1537e1b..538356610 100644
--- a/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp
+++ b/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp
@@ -29,6 +29,7 @@
#if ENABLE(INSPECTOR)
#include "WebProcessProxy.h"
+#include "ewk_view.h"
#include "ewk_view_private.h"
#include <WebCore/NotImplemented.h>
#include <unistd.h>
@@ -46,6 +47,7 @@ WebPageProxy* WebInspectorProxy::platformCreateInspectorPage()
return 0;
m_inspectorView = ewk_view_base_add(ecore_evas_get(m_inspectorWindow), toAPI(page()->process()->context()), toAPI(inspectorPageGroup()));
+ ewk_view_theme_set(m_inspectorView, TEST_THEME_DIR"/default.edj");
return ewk_view_page_get(m_inspectorView);
}
diff --git a/Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp b/Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp
index e1eda1035..94dc44b31 100644
--- a/Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp
+++ b/Source/WebKit2/UIProcess/efl/WebPageProxyEfl.cpp
@@ -28,6 +28,7 @@
#include "NotImplemented.h"
#include "PageClientImpl.h"
+#include "WebKitVersion.h"
#include "WebPageMessages.h"
#include "WebProcessProxy.h"
@@ -51,16 +52,15 @@ String WebPageProxy::standardUserAgent(const String& applicationNameForUserAgent
#else
platform = "Unknown";
#endif
- version = makeString(String::number(WEBKIT_USER_AGENT_MAJOR_VERSION), '.',
- String::number(WEBKIT_USER_AGENT_MINOR_VERSION), '+');
+ version = String::number(WEBKIT_MAJOR_VERSION) + '.' + String::number(WEBKIT_MINOR_VERSION) + '+';
struct utsname name;
if (uname(&name) != -1)
osVersion = WTF::String(name.sysname) + " " + WTF::String(name.machine);
else
osVersion = "Unknown";
- return makeString("Mozilla/5.0 (", platform, "; ", osVersion, ") AppleWebKit/", version)
- + makeString(" (KHTML, like Gecko) Version/5.0 Safari/", version);
+ return "Mozilla/5.0 (" + platform + "; " + osVersion + ") AppleWebKit/" + version
+ + " (KHTML, like Gecko) Version/5.0 Safari/" + version;
}
void WebPageProxy::getEditorCommandsForKeyEvent(Vector<WTF::String>& commandsList)
diff --git a/Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp b/Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp
new file mode 100644
index 000000000..03d504ba4
--- /dev/null
+++ b/Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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.
+ */
+
+#include "config.h"
+#include "WebPopupMenuProxyEfl.h"
+
+#include "NativeWebMouseEvent.h"
+#include "WebPopupItem.h"
+#include "ewk_view.h"
+#include "ewk_view_private.h"
+#include <wtf/text/CString.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebPopupMenuProxyEfl::WebPopupMenuProxyEfl(Evas_Object* webView, WebPopupMenuProxy::Client* client)
+ : WebPopupMenuProxy(client)
+ , m_webView(webView)
+{
+}
+
+void WebPopupMenuProxyEfl::showPopupMenu(const IntRect& rect, TextDirection textDirection, double pageScaleFactor, const Vector<WebPopupItem>& items, const PlatformPopupMenuData&, int32_t selectedIndex)
+{
+ ewk_view_popup_menu_request(m_webView, this, rect, textDirection, pageScaleFactor, items, selectedIndex);
+}
+
+void WebPopupMenuProxyEfl::hidePopupMenu()
+{
+ ewk_view_popup_menu_close(m_webView);
+}
+
+void WebPopupMenuProxyEfl::valueChanged(int newSelectedIndex)
+{
+ m_client->valueChangedForPopupMenu(this, newSelectedIndex);
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h b/Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h
new file mode 100644
index 000000000..ab4074ab2
--- /dev/null
+++ b/Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2012 Samsung Electronics
+ *
+ * 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 WebPopupMenuProxyEfl_h
+#define WebPopupMenuProxyEfl_h
+
+#include "WebPopupMenuProxy.h"
+
+typedef struct _Evas_Object Evas_Object;
+
+namespace WebCore {
+class IntRect;
+}
+
+namespace WebKit {
+
+class WebPageProxy;
+
+class WebPopupMenuProxyEfl : public WebPopupMenuProxy {
+public:
+ static PassRefPtr<WebPopupMenuProxyEfl> create(Evas_Object* webView, WebPopupMenuProxy::Client* client)
+ {
+ return adoptRef(new WebPopupMenuProxyEfl(webView, client));
+ }
+
+ void showPopupMenu(const WebCore::IntRect&, WebCore::TextDirection, double pageScaleFactor, const Vector<WebPopupItem>&, const PlatformPopupMenuData&, int32_t selectedIndex);
+ void hidePopupMenu();
+
+ void valueChanged(int newSelectedIndex);
+
+private:
+ WebPopupMenuProxyEfl(Evas_Object*, WebPopupMenuProxy::Client*);
+
+ Evas_Object* m_webView;
+};
+
+} // namespace WebKit
+
+#endif // WebPopupMenuProxyEfl_h
diff --git a/Source/WebKit2/UIProcess/mac/WebContextMac.mm b/Source/WebKit2/UIProcess/mac/WebContextMac.mm
index fcd004e23..8b7be9530 100644
--- a/Source/WebKit2/UIProcess/mac/WebContextMac.mm
+++ b/Source/WebKit2/UIProcess/mac/WebContextMac.mm
@@ -75,24 +75,28 @@ String WebContext::applicationCacheDirectory()
void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
{
+ parameters.presenterApplicationPid = getpid();
+
if (!omitPDFSupport()) {
// We want to use a PDF view in the UI process for PDF MIME types.
HashSet<String, CaseFoldingHash> mimeType = pdfAndPostScriptMIMETypes();
parameters.mimeTypesWithCustomRepresentation.appendRange(mimeType.begin(), mimeType.end());
}
+ parameters.parentProcessName = [[NSProcessInfo processInfo] processName];
+
RetainPtr<CFStringRef> cachePath(AdoptCF, WKCopyFoundationCacheDirectory());
if (!cachePath)
cachePath = reinterpret_cast<CFStringRef>(NSHomeDirectory());
- NSURLCache *urlCache = [NSURLCache sharedURLCache];
-
- parameters.parentProcessName = [[NSProcessInfo processInfo] processName];
parameters.nsURLCachePath = [(NSString *)cachePath.get() stringByStandardizingPath];
+ SandboxExtension::createHandle(parameters.nsURLCachePath, SandboxExtension::ReadWrite, parameters.nsURLCachePathExtensionHandle);
+ ASSERT(!parameters.nsURLCachePath.isEmpty());
+
+ NSURLCache *urlCache = [NSURLCache sharedURLCache];
parameters.nsURLCacheMemoryCapacity = [urlCache memoryCapacity];
parameters.nsURLCacheDiskCapacity = [urlCache diskCapacity];
- ASSERT(!parameters.nsURLCachePath.isEmpty());
#if ENABLE(PLUGIN_PROCESS)
parameters.disablePluginProcessMessageTimeout = [[NSUserDefaults standardUserDefaults] boolForKey:@"WebKitDisablePluginProcessMessageTimeout"];
@@ -110,6 +114,7 @@ void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& para
// FIXME: This should really be configurable; we shouldn't just blindly allow read access to the UI process bundle.
parameters.uiProcessBundleResourcePath = [[NSBundle mainBundle] resourcePath];
+ SandboxExtension::createHandle(parameters.uiProcessBundleResourcePath, SandboxExtension::ReadOnly, parameters.uiProcessBundleResourcePathExtensionHandle);
parameters.uiProcessBundleIdentifier = String([[NSBundle mainBundle] bundleIdentifier]);
diff --git a/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
new file mode 100644
index 000000000..3d134ea93
--- /dev/null
+++ b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.cpp
@@ -0,0 +1,547 @@
+/*
+ * Copyright (C) 2011, 2012 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2011 Benjamin Poulain <benjamin@webkit.org>
+ *
+ * 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 program 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 program; 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 "PageViewportControllerClientQt.h"
+
+#include "qquickwebpage_p.h"
+#include "qquickwebview_p.h"
+#include "qwebkittest_p.h"
+#include <QPointF>
+#include <QTransform>
+#include <QtQuick/qquickitem.h>
+#include <WebCore/FloatRect.h>
+#include <WebCore/FloatSize.h>
+
+namespace WebKit {
+
+static const int kScaleAnimationDurationMillis = 250;
+
+PageViewportControllerClientQt::PageViewportControllerClientQt(QQuickWebView* viewportItem, QQuickWebPage* pageItem)
+ : m_viewportItem(viewportItem)
+ , m_pageItem(pageItem)
+ , m_scaleAnimation(new ScaleAnimation(this))
+ , m_pinchStartScale(-1)
+ , m_lastCommittedScale(-1)
+ , m_zoomOutScale(0)
+ , m_ignoreViewportChanges(true)
+{
+ m_scaleAnimation->setDuration(kScaleAnimationDurationMillis);
+ m_scaleAnimation->setEasingCurve(QEasingCurve::OutCubic);
+
+ connect(m_viewportItem, SIGNAL(movementStarted()), SLOT(flickMoveStarted()), Qt::DirectConnection);
+ connect(m_viewportItem, SIGNAL(movementEnded()), SLOT(flickMoveEnded()), Qt::DirectConnection);
+ connect(m_viewportItem, SIGNAL(contentXChanged()), SLOT(pageItemPositionChanged()));
+ connect(m_viewportItem, SIGNAL(contentYChanged()), SLOT(pageItemPositionChanged()));
+
+
+ connect(m_scaleAnimation, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)),
+ SLOT(scaleAnimationStateChanged(QAbstractAnimation::State, QAbstractAnimation::State)));
+}
+
+void PageViewportControllerClientQt::ScaleAnimation::updateCurrentValue(const QVariant& value)
+{
+ // Resetting the end value, the easing curve or the duration of the scale animation
+ // triggers a recalculation of the animation interval. This might change the current
+ // value of the animated property.
+ // Make sure we only act on animation value changes if the animation is active.
+ if (!m_controllerClient->scaleAnimationActive())
+ return;
+
+ QRectF itemRect = value.toRectF();
+ float itemScale = m_controllerClient->viewportScaleForRect(itemRect);
+
+ m_controllerClient->setContentRectVisiblePositionAtScale(itemRect.topLeft(), itemScale);
+}
+
+PageViewportControllerClientQt::~PageViewportControllerClientQt()
+{
+}
+
+void PageViewportControllerClientQt::setContentRectVisiblePositionAtScale(const QPointF& location, qreal itemScale)
+{
+ ASSERT(itemScale >= 0);
+
+ scaleContent(itemScale);
+
+ // To animate the position together with the scale we multiply the position with the current scale
+ // and add it to the page position (displacement on the flickable contentItem because of additional items).
+ QPointF newPosition(m_pageItem->pos() + location * itemScale);
+
+ m_viewportItem->setContentPos(newPosition);
+}
+
+void PageViewportControllerClientQt::animateContentRectVisible(const QRectF& contentRect)
+{
+ ASSERT(m_scaleAnimation->state() == QAbstractAnimation::Stopped);
+
+ ASSERT(!scrollAnimationActive());
+ if (scrollAnimationActive())
+ return;
+
+ QRectF viewportRectInContentCoords = m_viewportItem->mapRectToWebContent(m_viewportItem->boundingRect());
+ if (contentRect == viewportRectInContentCoords) {
+ updateViewportController();
+ return;
+ }
+
+ // Since we have to animate scale and position at the same time the scale animation interpolates
+ // from the current viewport rect in content coordinates to a visible rect of the content.
+ m_scaleAnimation->setStartValue(viewportRectInContentCoords);
+ m_scaleAnimation->setEndValue(contentRect);
+
+ // Inform the web process about the requested visible content rect
+ // if zooming-out so that no white tiles are exposed during animation.
+ if (viewportRectInContentCoords.width() / contentRect.width() < m_pageItem->contentsScale())
+ m_controller->setVisibleContentsRect(contentRect, viewportScaleForRect(contentRect));
+
+ m_scaleAnimation->start();
+}
+
+void PageViewportControllerClientQt::flickMoveStarted()
+{
+ Q_ASSERT(m_viewportItem->isMoving());
+ m_scrollUpdateDeferrer.reset(new ViewportUpdateDeferrer(m_controller, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
+
+ m_lastScrollPosition = m_viewportItem->contentPos();
+
+ m_ignoreViewportChanges = false;
+}
+
+void PageViewportControllerClientQt::flickMoveEnded()
+{
+ Q_ASSERT(!m_viewportItem->isMoving());
+ // This method is called on the end of the pan or pan kinetic animation.
+
+ m_ignoreViewportChanges = true;
+
+ m_scrollUpdateDeferrer.reset();
+}
+
+void PageViewportControllerClientQt::pageItemPositionChanged()
+{
+ if (m_ignoreViewportChanges)
+ return;
+
+ QPointF newPosition = m_viewportItem->contentPos();
+
+ updateViewportController(m_lastScrollPosition - newPosition);
+
+ m_lastScrollPosition = newPosition;
+}
+
+void PageViewportControllerClientQt::scaleAnimationStateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State /*oldState*/)
+{
+ switch (newState) {
+ case QAbstractAnimation::Running:
+ m_viewportItem->cancelFlick();
+ ASSERT(!m_animationUpdateDeferrer);
+ m_animationUpdateDeferrer.reset(new ViewportUpdateDeferrer(m_controller, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
+ break;
+ case QAbstractAnimation::Stopped:
+ m_animationUpdateDeferrer.reset();
+ break;
+ default:
+ break;
+ }
+}
+
+void PageViewportControllerClientQt::touchBegin()
+{
+ m_controller->setHadUserInteraction(true);
+
+ // Prevents resuming the page between the user's flicks of the page while the animation is running.
+ if (scrollAnimationActive())
+ m_touchUpdateDeferrer.reset(new ViewportUpdateDeferrer(m_controller, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
+}
+
+void PageViewportControllerClientQt::touchEnd()
+{
+ m_touchUpdateDeferrer.reset();
+}
+
+void PageViewportControllerClientQt::focusEditableArea(const QRectF& caretArea, const QRectF& targetArea)
+{
+ // This can only happen as a result of a user interaction.
+ ASSERT(m_controller->hadUserInteraction());
+
+ QRectF endArea = m_controller->convertToViewport(targetArea);
+
+ qreal endItemScale = m_controller->convertToViewport(m_controller->innerBoundedContentsScale(2.0));
+ const QRectF viewportRect = m_viewportItem->boundingRect();
+
+ qreal x;
+ const qreal borderOffset = 10;
+ if ((endArea.width() + borderOffset) * endItemScale <= viewportRect.width()) {
+ // Center the input field in the middle of the view, if it is smaller than
+ // the view at the scale target.
+ x = viewportRect.center().x() - endArea.width() * endItemScale / 2.0;
+ } else {
+ // Ensure that the caret always has borderOffset contents pixels to the right
+ // of it, and secondarily (if possible), that the area has borderOffset
+ // contents pixels to the left of it.
+ qreal caretOffset = m_controller->convertToViewport(caretArea.x()) - endArea.x();
+ x = qMin(viewportRect.width() - (caretOffset + borderOffset) * endItemScale, borderOffset * endItemScale);
+ }
+
+ const QPointF hotspot = QPointF(endArea.x(), endArea.center().y());
+ const QPointF viewportHotspot = QPointF(x, /* FIXME: visibleCenter */ viewportRect.center().y());
+
+ QPointF endPosition = hotspot * endItemScale - viewportHotspot;
+ QRectF endPosRange = m_controller->positionRangeForContentAtScale(endItemScale);
+
+ endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
+
+ QRectF endVisibleContentRect(endPosition / endItemScale, viewportRect.size() / endItemScale);
+
+ animateContentRectVisible(endVisibleContentRect);
+}
+
+void PageViewportControllerClientQt::zoomToAreaGestureEnded(const QPointF& touchPoint, const QRectF& targetArea)
+{
+ // This can only happen as a result of a user interaction.
+ ASSERT(m_controller->hadUserInteraction());
+
+ if (!targetArea.isValid())
+ return;
+
+ if (m_controller->hasSuspendedContent())
+ return;
+
+ const int margin = 10; // We want at least a little bit of margin.
+ QRectF endArea = m_controller->convertToViewport(targetArea.adjusted(-margin, -margin, margin, margin));
+
+ const QRectF viewportRect = m_viewportItem->boundingRect();
+
+ qreal targetCSSScale = viewportRect.size().width() / endArea.size().width();
+ qreal endCSSScale = m_controller->innerBoundedContentsScale(qMin(targetCSSScale, qreal(2.5)));
+ qreal endItemScale = m_controller->convertToViewport(endCSSScale);
+ qreal currentScale = m_pageItem->contentsScale();
+
+ // We want to end up with the target area filling the whole width of the viewport (if possible),
+ // and centralized vertically where the user requested zoom. Thus our hotspot is the center of
+ // the targetArea x-wise and the requested zoom position, y-wise.
+ const QPointF hotspot = QPointF(endArea.center().x(), m_controller->convertToViewport(touchPoint.y()));
+ const QPointF viewportHotspot = viewportRect.center();
+
+ QPointF endPosition = hotspot * endCSSScale - viewportHotspot;
+
+ QRectF endPosRange = m_controller->positionRangeForContentAtScale(endItemScale);
+ endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
+
+ QRectF endVisibleContentRect(endPosition / endItemScale, viewportRect.size() / endItemScale);
+
+ enum { ZoomIn, ZoomBack, ZoomOut, NoZoom } zoomAction = ZoomIn;
+
+ if (!m_scaleStack.isEmpty()) {
+ // Zoom back out if attempting to scale to the same current scale, or
+ // attempting to continue scaling out from the inner most level.
+ // Use fuzzy compare with a fixed error to be able to deal with largish differences due to pixel rounding.
+ if (fuzzyCompare(endItemScale, currentScale, 0.01)) {
+ // If moving the viewport would expose more of the targetRect and move at least 40 pixels, update position but do not scale out.
+ QRectF currentContentRect(visibleContentsRect());
+ QRectF targetIntersection = endVisibleContentRect.intersected(targetArea);
+ if (!currentContentRect.contains(targetIntersection)
+ && (qAbs(endVisibleContentRect.top() - currentContentRect.top()) >= 40
+ || qAbs(endVisibleContentRect.left() - currentContentRect.left()) >= 40))
+ zoomAction = NoZoom;
+ else
+ zoomAction = ZoomBack;
+ } else if (fuzzyCompare(endItemScale, m_zoomOutScale, 0.01))
+ zoomAction = ZoomBack;
+ else if (endItemScale < currentScale)
+ zoomAction = ZoomOut;
+ }
+
+ switch (zoomAction) {
+ case ZoomIn:
+ m_scaleStack.append(ScaleStackItem(currentScale, m_viewportItem->contentPos().x()));
+ m_zoomOutScale = endItemScale;
+ break;
+ case ZoomBack: {
+ ScaleStackItem lastScale = m_scaleStack.takeLast();
+ endItemScale = lastScale.scale;
+ endCSSScale = m_controller->convertFromViewport(lastScale.scale);
+ // Recalculate endPosition and bound it according to new scale.
+ endPosition.setY(hotspot.y() * endCSSScale - viewportHotspot.y());
+ endPosition.setX(lastScale.xPosition);
+ endPosRange = m_controller->positionRangeForContentAtScale(endItemScale);
+ endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
+ endVisibleContentRect = QRectF(endPosition / endItemScale, viewportRect.size() / endItemScale);
+ break;
+ }
+ case ZoomOut:
+ // Unstack all scale-levels deeper than the new level, so a zoom-back won't end up zooming in.
+ while (!m_scaleStack.isEmpty() && m_scaleStack.last().scale >= endItemScale)
+ m_scaleStack.removeLast();
+ m_zoomOutScale = endItemScale;
+ break;
+ case NoZoom:
+ break;
+ }
+
+ animateContentRectVisible(endVisibleContentRect);
+}
+
+QRectF PageViewportControllerClientQt::nearestValidVisibleContentsRect() const
+{
+ float cssScale = m_controller->convertFromViewport(m_pageItem->contentsScale());
+ float endItemScale = m_controller->convertToViewport(m_controller->innerBoundedContentsScale(cssScale));
+
+ const QRectF viewportRect = m_viewportItem->boundingRect();
+ QPointF viewportHotspot = viewportRect.center();
+ QPointF endPosition = m_viewportItem->mapToWebContent(viewportHotspot) * endItemScale - viewportHotspot;
+
+ FloatRect endPosRange = m_controller->positionRangeForContentAtScale(endItemScale);
+ endPosition = boundPosition(endPosRange.minXMinYCorner(), endPosition, endPosRange.maxXMaxYCorner());
+
+ QRectF endVisibleContentRect(endPosition / endItemScale, viewportRect.size() / endItemScale);
+
+ return endVisibleContentRect;
+}
+
+void PageViewportControllerClientQt::setContentsPosition(const FloatPoint& localPoint)
+{
+ QPointF newPosition(m_pageItem->pos() + QPointF(localPoint));
+ m_viewportItem->setContentPos(newPosition);
+ updateViewportController();
+}
+
+void PageViewportControllerClientQt::setContentsScale(float localScale, bool treatAsInitialValue)
+{
+ if (treatAsInitialValue) {
+ m_zoomOutScale = 0;
+ m_scaleStack.clear();
+ setContentRectVisiblePositionAtScale(QPointF(), localScale);
+ } else
+ scaleContent(localScale);
+
+ updateViewportController();
+}
+
+void PageViewportControllerClientQt::setContentsRectToNearestValidBounds()
+{
+ ViewportUpdateDeferrer guard(m_controller);
+ float validCSSScale = m_controller->innerBoundedContentsScale(m_controller->convertFromViewport(m_pageItem->contentsScale()));
+ setContentRectVisiblePositionAtScale(nearestValidVisibleContentsRect().topLeft(), m_controller->convertToViewport(validCSSScale));
+}
+
+void PageViewportControllerClientQt::didResumeContent()
+{
+ updateViewportController();
+}
+
+bool PageViewportControllerClientQt::scrollAnimationActive() const
+{
+ return m_viewportItem->isFlicking();
+}
+
+bool PageViewportControllerClientQt::panGestureActive() const
+{
+ return m_controller->hadUserInteraction() && m_viewportItem->isDragging();
+}
+
+void PageViewportControllerClientQt::panGestureStarted(const QPointF& position, qint64 eventTimestampMillis)
+{
+ // This can only happen as a result of a user interaction.
+ ASSERT(m_controller->hadUserInteraction());
+
+ m_viewportItem->handleFlickableMousePress(position, eventTimestampMillis);
+ m_lastPinchCenterInViewportCoordinates = position;
+}
+
+void PageViewportControllerClientQt::panGestureRequestUpdate(const QPointF& position, qint64 eventTimestampMillis)
+{
+ m_viewportItem->handleFlickableMouseMove(position, eventTimestampMillis);
+ m_lastPinchCenterInViewportCoordinates = position;
+}
+
+void PageViewportControllerClientQt::panGestureEnded(const QPointF& position, qint64 eventTimestampMillis)
+{
+ m_viewportItem->handleFlickableMouseRelease(position, eventTimestampMillis);
+ m_lastPinchCenterInViewportCoordinates = position;
+}
+
+void PageViewportControllerClientQt::panGestureCancelled()
+{
+ // Reset the velocity samples of the flickable.
+ // This should only be called by the recognizer if we have a recognized
+ // pan gesture and receive a touch event with multiple touch points
+ // (ie. transition to a pinch gesture) as it does not move the content
+ // back inside valid bounds.
+ // When the pinch gesture ends, the content is positioned and scaled
+ // back to valid boundaries.
+ m_viewportItem->cancelFlick();
+}
+
+bool PageViewportControllerClientQt::scaleAnimationActive() const
+{
+ return m_scaleAnimation->state() == QAbstractAnimation::Running;
+}
+
+void PageViewportControllerClientQt::cancelScrollAnimation()
+{
+ if (!scrollAnimationActive())
+ return;
+
+ // If the pan gesture recognizer receives a touch begin event
+ // during an ongoing kinetic scroll animation of a previous
+ // pan gesture, the animation is stopped and the content is
+ // immediately positioned back to valid boundaries.
+
+ m_viewportItem->cancelFlick();
+ setContentsRectToNearestValidBounds();
+}
+
+void PageViewportControllerClientQt::interruptScaleAnimation()
+{
+ // This interrupts the scale animation exactly where it is, even if it is out of bounds.
+ m_scaleAnimation->stop();
+}
+
+bool PageViewportControllerClientQt::pinchGestureActive() const
+{
+ return m_controller->hadUserInteraction() && (m_pinchStartScale > 0);
+}
+
+void PageViewportControllerClientQt::pinchGestureStarted(const QPointF& pinchCenterInViewportCoordinates)
+{
+ // This can only happen as a result of a user interaction.
+ ASSERT(m_controller->hadUserInteraction());
+
+ if (!m_controller->allowsUserScaling())
+ return;
+
+ m_scaleStack.clear();
+ m_zoomOutScale = 0.0;
+
+ m_scaleUpdateDeferrer.reset(new ViewportUpdateDeferrer(m_controller, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
+
+ m_lastPinchCenterInViewportCoordinates = pinchCenterInViewportCoordinates;
+ m_pinchStartScale = m_pageItem->contentsScale();
+}
+
+void PageViewportControllerClientQt::pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor)
+{
+ ASSERT(m_controller->hasSuspendedContent());
+
+ if (!m_controller->allowsUserScaling())
+ return;
+
+ // Changes of the center position should move the page even if the zoom factor does not change.
+ const qreal cssScale = m_controller->convertFromViewport(m_pinchStartScale * totalScaleFactor);
+
+ // Allow zooming out beyond mimimum scale on pages that do not explicitly disallow it.
+ const qreal targetItemScale = m_controller->convertToViewport(m_controller->outerBoundedContentsScale(cssScale));
+
+ scaleContent(targetItemScale, m_viewportItem->mapToWebContent(pinchCenterInViewportCoordinates));
+
+ const QPointF positionDiff = pinchCenterInViewportCoordinates - m_lastPinchCenterInViewportCoordinates;
+ m_lastPinchCenterInViewportCoordinates = pinchCenterInViewportCoordinates;
+
+ m_viewportItem->setContentPos(m_viewportItem->contentPos() - positionDiff);
+
+ // Inform the web process to render the currently visible area with low-resolution tiles not
+ // to expose white tiles during pinch gestures and to show fixed position layers correctly.
+ // The actual scale is restored after the pinch gesture ends.
+ updateViewportController(QPointF(), 1);
+}
+
+void PageViewportControllerClientQt::pinchGestureEnded()
+{
+ ASSERT(m_controller->hasSuspendedContent());
+
+ if (!m_controller->allowsUserScaling())
+ return;
+
+ m_pinchStartScale = -1;
+
+ animateContentRectVisible(nearestValidVisibleContentsRect());
+ m_scaleUpdateDeferrer.reset(); // Clear after starting potential animation, which takes over deferring.
+}
+
+void PageViewportControllerClientQt::pinchGestureCancelled()
+{
+ m_pinchStartScale = -1;
+ m_scaleUpdateDeferrer.reset();
+}
+
+QRectF PageViewportControllerClientQt::visibleContentsRect() const
+{
+ const QRectF visibleRect(m_viewportItem->boundingRect().intersected(m_pageItem->boundingRect()));
+ return m_viewportItem->mapRectToWebContent(visibleRect);
+}
+
+void PageViewportControllerClientQt::didChangeContentsSize()
+{
+ // Emit for testing purposes, so that it can be verified that
+ // we didn't do scale adjustment.
+ emit m_viewportItem->experimental()->test()->contentsScaleCommitted();
+
+ if (!m_controller->hasSuspendedContent())
+ setContentsRectToNearestValidBounds();
+}
+
+void PageViewportControllerClientQt::didChangeVisibleContents()
+{
+ qreal scale = m_pageItem->contentsScale();
+
+ if (scale != m_lastCommittedScale)
+ emit m_viewportItem->experimental()->test()->contentsScaleCommitted();
+ m_lastCommittedScale = scale;
+
+ // Ensure that updatePaintNode is always called before painting.
+ m_pageItem->update();
+}
+
+void PageViewportControllerClientQt::didChangeViewportAttributes()
+{
+ // Make sure we apply the new initial scale when deferring ends.
+ ViewportUpdateDeferrer guard(m_controller);
+
+ emit m_viewportItem->experimental()->test()->devicePixelRatioChanged();
+ emit m_viewportItem->experimental()->test()->viewportChanged();
+}
+
+void PageViewportControllerClientQt::updateViewportController(const QPointF& trajectory, qreal scale)
+{
+ FloatRect currentVisibleRect(visibleContentsRect());
+ float viewportScale = (scale < 0) ? viewportScaleForRect(currentVisibleRect) : scale;
+ m_controller->setVisibleContentsRect(currentVisibleRect, viewportScale, trajectory);
+}
+
+void PageViewportControllerClientQt::scaleContent(qreal itemScale, const QPointF& centerInCSSCoordinates)
+{
+ QPointF oldPinchCenterOnViewport = m_viewportItem->mapFromWebContent(centerInCSSCoordinates);
+ m_pageItem->setContentsScale(itemScale);
+ QPointF newPinchCenterOnViewport = m_viewportItem->mapFromWebContent(centerInCSSCoordinates);
+ m_viewportItem->setContentPos(m_viewportItem->contentPos() + (newPinchCenterOnViewport - oldPinchCenterOnViewport));
+}
+
+float PageViewportControllerClientQt::viewportScaleForRect(const QRectF& rect) const
+{
+ return static_cast<float>(m_viewportItem->width()) / static_cast<float>(rect.width());
+}
+
+} // namespace WebKit
+
+#include "moc_PageViewportControllerClientQt.cpp"
diff --git a/Source/WebKit2/UIProcess/qt/QtViewportHandler.h b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.h
index 9237fe9f3..4d6aebc88 100644
--- a/Source/WebKit2/UIProcess/qt/QtViewportHandler.h
+++ b/Source/WebKit2/UIProcess/qt/PageViewportControllerClientQt.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+ * Copyright (C) 2011, 2012 Nokia Corporation and/or its subsidiary(-ies)
* Copyright (C) 2011 Benjamin Poulain <benjamin@webkit.org>
*
* This library is free software; you can redistribute it and/or
@@ -19,38 +19,45 @@
*
*/
-#ifndef QtViewportHandler_h
-#define QtViewportHandler_h
+#ifndef PageViewportControllerClientQt_h
+#define PageViewportControllerClientQt_h
-#include <QtCore/QObject>
-#include <QtCore/QRectF>
-#include <QtCore/QVariant>
-#include <QtCore/QVariantAnimation>
-#include <WebCore/ViewportArguments.h>
-#include <wtf/OwnPtr.h>
+#include "PageViewportController.h"
+#include "PageViewportControllerClient.h"
+#include <QObject>
+#include <QPointF>
+#include <QScopedPointer>
+#include <QVariant>
+#include <QVariantAnimation>
QT_BEGIN_NAMESPACE
-class QPointF;
-class QWheelEvent;
-QT_END_NAMESPACE
-
class QQuickWebPage;
class QQuickWebView;
+class QRectF;
+QT_END_NAMESPACE
class QWebKitTest;
namespace WebKit {
-class WebPageProxy;
-class ViewportUpdateDeferrer;
-
-class QtViewportHandler : public QObject {
+class PageViewportControllerClientQt : public QObject, public PageViewportControllerClient {
Q_OBJECT
public:
- QtViewportHandler(WebPageProxy*, QQuickWebView*, QQuickWebPage*);
- ~QtViewportHandler();
+ PageViewportControllerClientQt(QQuickWebView*, QQuickWebPage*);
+ ~PageViewportControllerClientQt();
+
+ virtual void setContentsPosition(const FloatPoint& localPoint);
+ virtual void setContentsScale(float localScale, bool treatAsInitialValue);
+ virtual void didResumeContent();
+ virtual void didChangeContentsSize();
+ virtual void didChangeVisibleContents();
+ virtual void didChangeViewportAttributes();
+
+ virtual void setController(PageViewportController* controller) { m_controller = controller; }
+
+ // Additional methods currently only relevant in the QQuick context.
void touchBegin();
void touchEnd();
@@ -75,83 +82,25 @@ public:
void zoomToAreaGestureEnded(const QPointF& touchPoint, const QRectF& targetArea);
void focusEditableArea(const QRectF& caretArea, const QRectF& targetArea);
- void pageContentPositionRequested(const QPoint& position);
-
- void viewportItemSizeChanged();
- void viewportAttributesChanged(const WebCore::ViewportAttributes&);
- void informVisibleContentChange(const QPointF& trajectory = QPointF());
- void pageContentsSizeChanged(const QSize& newSize, const QSize& viewportSize);
-
private Q_SLOTS:
// Respond to changes of position that are not driven by us.
void pageItemPositionChanged();
void scaleAnimationStateChanged(QAbstractAnimation::State, QAbstractAnimation::State);
- void scaleAnimationValueChanged(QVariant value);
void flickMoveStarted(); // Called when panning starts.
void flickMoveEnded(); // Called when panning (+ kinetic animation) ends.
private:
- friend class ViewportUpdateDeferrer;
- friend class ::QWebKitTest;
-
- WebPageProxy* const m_webPageProxy;
- QQuickWebView* const m_viewportItem;
- QQuickWebPage* const m_pageItem;
-
- qreal cssScaleFromItem(qreal) const;
- qreal itemScaleFromCSS(qreal) const;
- qreal itemCoordFromCSS(qreal) const;
- QRectF itemRectFromCSS(const QRectF&) const;
-
- qreal innerBoundedCSSScale(qreal) const;
- qreal outerBoundedCSSScale(qreal) const;
-
- void setInitialScaleIfNeeded();
-
- void setCSSScale(qreal);
- qreal currentCSSScale() const;
-
- void setPageItemRectVisible(const QRectF&);
- void animatePageItemRectVisible(const QRectF&);
-
- QRectF visibleContentsRect() const;
- QRectF initialRect() const;
- QRectF nearestValidBounds() const;
-
- QRectF computePosRangeForPageItemAtScale(qreal itemScale) const;
- void scaleContent(const QPointF& centerInCSSCoordinates, qreal cssScale);
-
- void suspendPageContent();
- void resumePageContent();
-
- WebCore::ViewportAttributes m_rawAttributes;
-
- bool m_allowsUserScaling;
- qreal m_minimumScale;
- qreal m_maximumScale;
- qreal m_devicePixelRatio;
-
- QSize m_layoutSize;
-
- int m_suspendCount;
- bool m_hasSuspendedContent;
-
- OwnPtr<ViewportUpdateDeferrer> m_scaleUpdateDeferrer;
- OwnPtr<ViewportUpdateDeferrer> m_scrollUpdateDeferrer;
- OwnPtr<ViewportUpdateDeferrer> m_touchUpdateDeferrer;
- OwnPtr<ViewportUpdateDeferrer> m_animationUpdateDeferrer;
-
- bool m_hadUserInteraction;
-
class ScaleAnimation : public QVariantAnimation {
+ PageViewportControllerClientQt* m_controllerClient;
public:
- ScaleAnimation(QObject* parent = 0)
+ ScaleAnimation(PageViewportControllerClientQt* parent)
: QVariantAnimation(parent)
+ , m_controllerClient(parent)
{ }
- virtual void updateCurrentValue(const QVariant&) { }
+ virtual void updateCurrentValue(const QVariant&);
};
struct ScaleStackItem {
@@ -164,6 +113,28 @@ private:
qreal xPosition;
};
+ friend class ScaleAnimation;
+ friend class ::QWebKitTest;
+
+ PageViewportController* m_controller;
+ QQuickWebView* const m_viewportItem;
+ QQuickWebPage* const m_pageItem;
+
+ float viewportScaleForRect(const QRectF&) const;
+ QRectF visibleContentsRect() const;
+ QRectF nearestValidVisibleContentsRect() const;
+
+ void setContentsRectToNearestValidBounds();
+ void updateViewportController(const QPointF& trajectory = QPointF(), qreal scale = -1);
+ void setContentRectVisiblePositionAtScale(const QPointF& location, qreal itemScale);
+ void animateContentRectVisible(const QRectF& contentRect);
+ void scaleContent(qreal itemScale, const QPointF& centerInCSSCoordinates = QPointF());
+
+ QScopedPointer<ViewportUpdateDeferrer> m_scaleUpdateDeferrer;
+ QScopedPointer<ViewportUpdateDeferrer> m_scrollUpdateDeferrer;
+ QScopedPointer<ViewportUpdateDeferrer> m_touchUpdateDeferrer;
+ QScopedPointer<ViewportUpdateDeferrer> m_animationUpdateDeferrer;
+
ScaleAnimation* m_scaleAnimation;
QPointF m_lastPinchCenterInViewportCoordinates;
QPointF m_lastScrollPosition;
@@ -171,8 +142,9 @@ private:
qreal m_lastCommittedScale;
qreal m_zoomOutScale;
QList<ScaleStackItem> m_scaleStack;
+ bool m_ignoreViewportChanges;
};
} // namespace WebKit
-#endif // QtViewportHandler_h
+#endif // PageViewportControllerClientQt_h
diff --git a/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.cpp b/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.cpp
index 93b6415c3..8c57c8898 100644
--- a/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.cpp
@@ -41,9 +41,9 @@ void QtGestureRecognizer::reset()
m_state = NoGesture;
}
-QtViewportHandler* QtGestureRecognizer::viewportHandler()
+PageViewportControllerClientQt* QtGestureRecognizer::viewportController()
{
- return m_eventHandler->viewportHandler();
+ return m_eventHandler->viewportController();
}
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.h b/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.h
index 68e032f47..115e7179c 100644
--- a/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.h
+++ b/Source/WebKit2/UIProcess/qt/QtGestureRecognizer.h
@@ -28,7 +28,7 @@
namespace WebKit {
-class QtViewportHandler;
+class PageViewportControllerClientQt;
class QtWebPageEventHandler;
class QtGestureRecognizer {
@@ -46,7 +46,7 @@ protected:
GestureRecognized
} m_state;
- QtViewportHandler* viewportHandler();
+ PageViewportControllerClientQt* viewportController();
};
} // namespace WebKit
diff --git a/Source/WebKit2/UIProcess/qt/QtPageClient.cpp b/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
index e2b390ab3..832b32d68 100644
--- a/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtPageClient.cpp
@@ -209,9 +209,9 @@ PassRefPtr<WebContextMenuProxy> QtPageClient::createContextMenuProxy(WebPageProx
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassRefPtr<WebColorChooserProxy> QtPageClient::createColorChooserProxy(WebPageProxy* webPageProxy, const WebCore::Color& initialColor)
+PassRefPtr<WebColorChooserProxy> QtPageClient::createColorChooserProxy(WebPageProxy* webPageProxy, const WebCore::Color& initialColor, const WebCore::IntRect& elementRect)
{
- return WebColorChooserProxyQt::create(webPageProxy, m_webView, initialColor);
+ return WebColorChooserProxyQt::create(webPageProxy, m_webView, initialColor, elementRect);
}
#endif
diff --git a/Source/WebKit2/UIProcess/qt/QtPageClient.h b/Source/WebKit2/UIProcess/qt/QtPageClient.h
index 5c69ac879..a813894cc 100644
--- a/Source/WebKit2/UIProcess/qt/QtPageClient.h
+++ b/Source/WebKit2/UIProcess/qt/QtPageClient.h
@@ -21,6 +21,7 @@
#ifndef QtPageClient_h
#define QtPageClient_h
+#include "FindIndicator.h"
#include "PageClient.h"
class QQuickWebView;
@@ -87,7 +88,7 @@ public:
virtual PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*);
virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*);
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& intialColor);
+ virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& initialColor, const WebCore::IntRect&);
#endif
virtual void setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut, bool animate) { }
virtual void didCommitLoadForMainFrame(bool useCustomRepresentation) { }
diff --git a/Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp b/Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp
index ba9c90a3f..0aaa06690 100644
--- a/Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtPanGestureRecognizer.cpp
@@ -25,7 +25,7 @@
#include "config.h"
#include "QtPanGestureRecognizer.h"
-#include "QtViewportHandler.h"
+#include "PageViewportControllerClientQt.h"
#include "QtWebPageEventHandler.h"
namespace WebKit {
@@ -38,7 +38,7 @@ QtPanGestureRecognizer::QtPanGestureRecognizer(QtWebPageEventHandler* eventHandl
bool QtPanGestureRecognizer::update(const QTouchEvent::TouchPoint& touchPoint, qint64 eventTimestampMillis)
{
- if (!viewportHandler())
+ if (!viewportController())
return false;
m_lastPosition = touchPoint.pos();
@@ -48,7 +48,7 @@ bool QtPanGestureRecognizer::update(const QTouchEvent::TouchPoint& touchPoint, q
case NoGesture:
m_state = GestureRecognitionStarted;
m_firstScreenPosition = touchPoint.screenPos();
- viewportHandler()->cancelScrollAnimation();
+ viewportController()->cancelScrollAnimation();
return false;
case GestureRecognitionStarted: {
// To start the gesture, the delta from start in screen coordinates
@@ -58,11 +58,11 @@ bool QtPanGestureRecognizer::update(const QTouchEvent::TouchPoint& touchPoint, q
return false;
m_state = GestureRecognized;
- viewportHandler()->panGestureStarted(touchPoint.pos(), eventTimestampMillis);
+ viewportController()->panGestureStarted(touchPoint.pos(), eventTimestampMillis);
return true;
}
case GestureRecognized:
- viewportHandler()->panGestureRequestUpdate(touchPoint.pos(), eventTimestampMillis);
+ viewportController()->panGestureRequestUpdate(touchPoint.pos(), eventTimestampMillis);
return true;
default:
ASSERT_NOT_REACHED();
@@ -75,8 +75,8 @@ void QtPanGestureRecognizer::finish(const QTouchEvent::TouchPoint& touchPoint, q
if (m_state == NoGesture)
return;
- ASSERT(viewportHandler());
- viewportHandler()->panGestureEnded(touchPoint.pos(), eventTimestampMillis);
+ ASSERT(viewportController());
+ viewportController()->panGestureEnded(touchPoint.pos(), eventTimestampMillis);
reset();
}
@@ -85,8 +85,8 @@ void QtPanGestureRecognizer::cancel()
if (m_state == NoGesture)
return;
- viewportHandler()->panGestureEnded(m_lastPosition, m_lastEventTimestampMillis);
- viewportHandler()->panGestureCancelled();
+ viewportController()->panGestureEnded(m_lastPosition, m_lastEventTimestampMillis);
+ viewportController()->panGestureCancelled();
reset();
}
diff --git a/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp b/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
index 75d4d23b0..a10367a40 100644
--- a/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtPinchGestureRecognizer.cpp
@@ -26,7 +26,8 @@
#include "config.h"
#include "QtPinchGestureRecognizer.h"
-#include "QtViewportHandler.h"
+
+#include "PageViewportControllerClientQt.h"
#include "QtWebPageEventHandler.h"
#include <QtCore/QLineF>
@@ -47,7 +48,7 @@ QtPinchGestureRecognizer::QtPinchGestureRecognizer(QtWebPageEventHandler* eventH
bool QtPinchGestureRecognizer::update(const QTouchEvent::TouchPoint& point1, const QTouchEvent::TouchPoint& point2)
{
- ASSERT(viewportHandler());
+ ASSERT(viewportController());
const qreal currentFingerDistance = QLineF(point1.screenPos(), point2.screenPos()).length();
switch (m_state) {
case NoGesture:
@@ -59,7 +60,7 @@ bool QtPinchGestureRecognizer::update(const QTouchEvent::TouchPoint& point1, con
if (pinchDistance < pinchInitialTriggerDistanceThreshold)
return false;
m_state = GestureRecognized;
- viewportHandler()->pinchGestureStarted(computePinchCenter(point1, point2));
+ viewportController()->pinchGestureStarted(computePinchCenter(point1, point2));
// We reset the initial span distance to the current distance of the
// touch points in order to avoid the jump caused by the events which
@@ -71,7 +72,7 @@ bool QtPinchGestureRecognizer::update(const QTouchEvent::TouchPoint& point1, con
case GestureRecognized:
const qreal totalScaleFactor = currentFingerDistance / m_initialFingerDistance;
const QPointF touchCenterInViewCoordinates = computePinchCenter(point1, point2);
- viewportHandler()->pinchGestureRequestUpdate(touchCenterInViewCoordinates, totalScaleFactor);
+ viewportController()->pinchGestureRequestUpdate(touchCenterInViewCoordinates, totalScaleFactor);
return true;
break;
}
@@ -85,8 +86,8 @@ void QtPinchGestureRecognizer::finish()
if (m_state == NoGesture)
return;
- ASSERT(viewportHandler());
- viewportHandler()->pinchGestureEnded();
+ ASSERT(viewportController());
+ viewportController()->pinchGestureEnded();
reset();
}
@@ -95,8 +96,8 @@ void QtPinchGestureRecognizer::cancel()
if (m_state == NoGesture)
return;
- ASSERT(viewportHandler());
- viewportHandler()->pinchGestureCancelled();
+ ASSERT(viewportController());
+ viewportController()->pinchGestureCancelled();
reset();
}
diff --git a/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp b/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp
deleted file mode 100644
index faff331be..000000000
--- a/Source/WebKit2/UIProcess/qt/QtViewportHandler.cpp
+++ /dev/null
@@ -1,756 +0,0 @@
-/*
- * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
- * Copyright (C) 2011 Benjamin Poulain <benjamin@webkit.org>
- *
- * 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 program 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 program; 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 "QtViewportHandler.h"
-
-#include "WebPageGroup.h"
-#include "WebPageProxy.h"
-#include "WebPreferences.h"
-#include "qquickwebpage_p.h"
-#include "qquickwebview_p.h"
-#include "qwebkittest_p.h"
-#include <QPointF>
-#include <QTransform>
-#include <QWheelEvent>
-#include <QtQuick/qquickitem.h>
-#include <wtf/PassOwnPtr.h>
-
-namespace WebKit {
-
-static const int kScaleAnimationDurationMillis = 250;
-
-// UPDATE DEFERRING (SUSPEND/RESUME)
-// =================================
-//
-// When interaction with the content, either by animating or by the hand of the user,
-// it is important to ensure smooth animations of at least 60fps in order to give a
-// good user experience.
-//
-// In order to do this we need to get rid of unknown factors. These include device
-// sensors (geolocation, orientation updates etc), CSS3 animations, JavaScript
-// exectution, sub resource loads etc. We do this by emitting suspend and resume
-// signals, which are then handled by the viewport and propagates to the right place.
-//
-// For this reason the ViewportUpdateDeferrer guard must be used when we interact
-// or animate the content.
-//
-// It should be noted that when we update content properties, we might receive notify
-// signals send my the content item itself, and care should be taken to not act on
-// these unconditionally. An example of this is the pinch zoom, which changes the
-// position and will thus result in a QQuickWebPage::geometryChanged() signal getting
-// emitted.
-//
-// If something should only be executed during update deferring, it is possible to
-// check for that using ASSERT(m_suspendCount).
-
-class ViewportUpdateDeferrer {
-public:
- enum SuspendContentFlag { DeferUpdate, DeferUpdateAndSuspendContent };
- ViewportUpdateDeferrer(QtViewportHandler* handler, SuspendContentFlag suspendContentFlag = DeferUpdate)
- : handler(handler)
- {
- handler->m_suspendCount++;
-
- // There is no need to suspend content for immediate updates
- // only during animations or longer gestures.
- if (suspendContentFlag == DeferUpdateAndSuspendContent)
- handler->suspendPageContent();
- }
-
- ~ViewportUpdateDeferrer()
- {
- // We are calling setInitialScaleIfNeeded() here as it requires a
- // possitive m_suspendCount due to the assert in setPageItemRectVisible().
- if (handler->m_suspendCount == 1)
- handler->setInitialScaleIfNeeded();
-
- if (--(handler->m_suspendCount))
- return;
-
- handler->resumePageContent();
-
- // Make sure that tiles all around the viewport will be requested.
- handler->informVisibleContentChange(QPointF());
- }
-
-private:
- QtViewportHandler* const handler;
-};
-
-void QtViewportHandler::suspendPageContent()
-{
- if (m_hasSuspendedContent)
- return;
-
- m_hasSuspendedContent = true;
- m_webPageProxy->suspendActiveDOMObjectsAndAnimations();
-}
-
-void QtViewportHandler::resumePageContent()
-{
- if (!m_hasSuspendedContent)
- return;
- m_hasSuspendedContent = false;
- m_webPageProxy->resumeActiveDOMObjectsAndAnimations();
-}
-
-// A floating point compare with absolute error.
-static inline bool fuzzyCompare(qreal a, qreal b, qreal epsilon)
-{
- return qAbs(a - b) < epsilon;
-}
-
-inline qreal QtViewportHandler::cssScaleFromItem(qreal itemScale) const
-{
- return itemScale / m_devicePixelRatio;
-}
-
-inline qreal QtViewportHandler::itemScaleFromCSS(qreal cssScale) const
-{
- return cssScale * m_devicePixelRatio;
-}
-
-inline qreal QtViewportHandler::itemCoordFromCSS(qreal value) const
-{
- return value * m_devicePixelRatio;
-}
-
-static inline QPointF boundPosition(const QPointF minPosition, const QPointF& position, const QPointF& maxPosition)
-{
- return QPointF(qBound(minPosition.x(), position.x(), maxPosition.x()),
- qBound(minPosition.y(), position.y(), maxPosition.y()));
-}
-
-inline QRectF QtViewportHandler::itemRectFromCSS(const QRectF& cssRect) const
-{
- QRectF itemRect;
-
- itemRect.setX(itemCoordFromCSS(cssRect.x()));
- itemRect.setY(itemCoordFromCSS(cssRect.y()));
- itemRect.setWidth(itemCoordFromCSS(cssRect.width()));
- itemRect.setHeight(itemCoordFromCSS(cssRect.height()));
-
- return itemRect;
-}
-
-QtViewportHandler::QtViewportHandler(WebKit::WebPageProxy* proxy, QQuickWebView* viewportItem, QQuickWebPage* pageItem)
- : m_webPageProxy(proxy)
- , m_viewportItem(viewportItem)
- , m_pageItem(pageItem)
- , m_allowsUserScaling(false)
- , m_minimumScale(1)
- , m_maximumScale(1)
- , m_devicePixelRatio(1)
- , m_suspendCount(0)
- , m_hasSuspendedContent(false)
- , m_hadUserInteraction(false)
- , m_scaleAnimation(new ScaleAnimation(this))
- , m_pinchStartScale(-1)
- , m_lastCommittedScale(-1)
- , m_zoomOutScale(0.0)
-{
- m_scaleAnimation->setDuration(kScaleAnimationDurationMillis);
- m_scaleAnimation->setEasingCurve(QEasingCurve::OutCubic);
-
- // Initializing Viewport Raw Attributes to avoid random negative scale factors
- // if there is a race condition between the first layout and setting the viewport attributes for the first time.
- m_rawAttributes.devicePixelRatio = m_devicePixelRatio;
- m_rawAttributes.initialScale = 1;
- m_rawAttributes.minimumScale = m_minimumScale;
- m_rawAttributes.maximumScale = m_maximumScale;
- m_rawAttributes.userScalable = m_allowsUserScaling;
-
- connect(m_viewportItem, SIGNAL(movementStarted()), SLOT(flickMoveStarted()), Qt::DirectConnection);
- connect(m_viewportItem, SIGNAL(movementEnded()), SLOT(flickMoveEnded()), Qt::DirectConnection);
-
- connect(m_scaleAnimation, SIGNAL(valueChanged(QVariant)),
- SLOT(scaleAnimationValueChanged(QVariant)), Qt::DirectConnection);
- connect(m_scaleAnimation, SIGNAL(stateChanged(QAbstractAnimation::State, QAbstractAnimation::State)),
- SLOT(scaleAnimationStateChanged(QAbstractAnimation::State, QAbstractAnimation::State)), Qt::DirectConnection);
-}
-
-QtViewportHandler::~QtViewportHandler()
-{
-}
-
-qreal QtViewportHandler::innerBoundedCSSScale(qreal cssScale) const
-{
- return qBound(m_minimumScale, cssScale, m_maximumScale);
-}
-
-qreal QtViewportHandler::outerBoundedCSSScale(qreal cssScale) const
-{
- if (m_allowsUserScaling) {
- // Bounded by [0.1, 10.0] like the viewport meta code in WebCore.
- qreal hardMin = qMax<qreal>(0.1, qreal(0.5) * m_minimumScale);
- qreal hardMax = qMin<qreal>(10, qreal(2.0) * m_maximumScale);
- return qBound(hardMin, cssScale, hardMax);
- }
- return innerBoundedCSSScale(cssScale);
-}
-
-void QtViewportHandler::setInitialScaleIfNeeded()
-{
- if (m_rawAttributes.layoutSize.isEmpty() || m_rawAttributes.initialScale < 0)
- return;
-
- m_zoomOutScale = 0.0;
- m_scaleStack.clear();
-
- m_hadUserInteraction = false;
-
- // We must not animate here as the new contents size might be very different
- // than the current one.
- setPageItemRectVisible(initialRect());
-
- m_rawAttributes.initialScale = -1; // Mark used.
-}
-
-void QtViewportHandler::viewportAttributesChanged(const WebCore::ViewportAttributes& newAttributes)
-{
- if (newAttributes.layoutSize.isEmpty())
- return;
-
- m_rawAttributes = newAttributes;
- WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable(m_rawAttributes);
-
- m_devicePixelRatio = m_rawAttributes.devicePixelRatio; // Should return value from the webPageProxy.
- m_allowsUserScaling = !!m_rawAttributes.userScalable;
- m_minimumScale = m_rawAttributes.minimumScale;
- m_maximumScale = m_rawAttributes.maximumScale;
-
- // Make sure we apply the new initial scale when deferring ends.
- ViewportUpdateDeferrer guard(this);
-
- emit m_viewportItem->experimental()->test()->viewportChanged();
-}
-
-void QtViewportHandler::pageContentsSizeChanged(const QSize& newSize, const QSize& viewportSize)
-{
- if (viewportSize.isEmpty())
- return;
-
- float minimumScale = WebCore::computeMinimumScaleFactorForContentContained(m_rawAttributes, viewportSize, newSize);
-
- if (!qFuzzyCompare(minimumScale, m_rawAttributes.minimumScale)) {
- m_minimumScale = minimumScale;
- emit m_viewportItem->experimental()->test()->viewportChanged();
-
- if (!m_hadUserInteraction && !m_hasSuspendedContent) {
- // Emits contentsScaleChanged();
- setCSSScale(minimumScale);
- }
- }
-
- // Emit for testing purposes, so that it can be verified that
- // we didn't do scale adjustment.
- emit m_viewportItem->experimental()->test()->contentsScaleCommitted();
-
- if (!m_hasSuspendedContent) {
- ViewportUpdateDeferrer guard(this);
- setPageItemRectVisible(nearestValidBounds());
- }
-}
-
-void QtViewportHandler::setPageItemRectVisible(const QRectF& itemRect)
-{
- ASSERT_WITH_MESSAGE(m_suspendCount,
- "setPageItemRectVisible has to be guarded using a ViewportUpdateDeferrer.");
-
- if (itemRect.isEmpty())
- return;
-
- qreal itemScale = m_viewportItem->width() / itemRect.width();
-
- m_pageItem->setContentsScale(itemScale);
-
- // To animate the position together with the scale we multiply the position with the current scale
- // and add it to the page position (displacement on the flickable contentItem because of additional items).
- QPointF newPosition(m_pageItem->pos() + (itemRect.topLeft() * itemScale));
-
- m_viewportItem->setContentPos(newPosition);
-}
-
-void QtViewportHandler::animatePageItemRectVisible(const QRectF& itemRect)
-{
- ASSERT(m_scaleAnimation->state() == QAbstractAnimation::Stopped);
-
- ASSERT(!scrollAnimationActive());
- if (scrollAnimationActive())
- return;
-
- QRectF currentPageItemRectVisible = m_viewportItem->mapRectToWebContent(m_viewportItem->boundingRect());
- if (itemRect == currentPageItemRectVisible)
- return;
-
- m_scaleAnimation->setStartValue(currentPageItemRectVisible);
- m_scaleAnimation->setEndValue(itemRect);
-
- m_scaleAnimation->start();
-}
-
-void QtViewportHandler::flickMoveStarted()
-{
- Q_ASSERT(m_viewportItem->isMoving());
- m_scrollUpdateDeferrer = adoptPtr(new ViewportUpdateDeferrer(this, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
-
- m_lastScrollPosition = m_viewportItem->contentPos();
- connect(m_viewportItem, SIGNAL(contentXChanged()), SLOT(pageItemPositionChanged()));
- connect(m_viewportItem, SIGNAL(contentYChanged()), SLOT(pageItemPositionChanged()));
-}
-
-void QtViewportHandler::flickMoveEnded()
-{
- Q_ASSERT(!m_viewportItem->isMoving());
- // This method is called on the end of the pan or pan kinetic animation.
- m_scrollUpdateDeferrer.clear();
-
- m_lastScrollPosition = QPointF();
- disconnect(m_viewportItem, SIGNAL(contentXChanged()), this, SLOT(pageItemPositionChanged()));
- disconnect(m_viewportItem, SIGNAL(contentYChanged()), this, SLOT(pageItemPositionChanged()));
-}
-
-void QtViewportHandler::pageItemPositionChanged()
-{
- QPointF newPosition = m_viewportItem->contentPos();
-
- informVisibleContentChange(m_lastScrollPosition - newPosition);
-
- m_lastScrollPosition = newPosition;
-}
-
-void QtViewportHandler::pageContentPositionRequested(const QPoint& cssPosition)
-{
- // Ignore the request if suspended. Can only happen due to delay in event delivery.
- if (m_suspendCount)
- return;
-
- qreal endItemScale = m_pageItem->contentsScale(); // Stay at same scale.
-
- QRectF endPosRange = computePosRangeForPageItemAtScale(endItemScale);
- QPointF endPosition = boundPosition(endPosRange.topLeft(), cssPosition * endItemScale, endPosRange.bottomRight());
-
- QRectF endVisibleContentRect(endPosition / endItemScale, m_viewportItem->boundingRect().size() / endItemScale);
-
- ViewportUpdateDeferrer guard(this);
- setPageItemRectVisible(endVisibleContentRect);
-}
-
-void QtViewportHandler::scaleAnimationStateChanged(QAbstractAnimation::State newState, QAbstractAnimation::State /*oldState*/)
-{
- switch (newState) {
- case QAbstractAnimation::Running:
- m_viewportItem->cancelFlick();
- ASSERT(!m_animationUpdateDeferrer);
- m_animationUpdateDeferrer = adoptPtr(new ViewportUpdateDeferrer(this, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
- break;
- case QAbstractAnimation::Stopped:
- m_animationUpdateDeferrer.clear();
- break;
- default:
- break;
- }
-}
-
-void QtViewportHandler::scaleAnimationValueChanged(QVariant value)
-{
- // Resetting the end value, the easing curve or the duration of the scale animation
- // triggers a recalculation of the animation interval. This might change the current
- // value of the animated property.
- // Make sure we only act on animation value changes if the animation is active.
- if (!scaleAnimationActive())
- return;
-
- setPageItemRectVisible(value.toRectF());
-}
-
-void QtViewportHandler::touchBegin()
-{
- m_hadUserInteraction = true;
-
- // Prevents resuming the page between the user's flicks of the page while the animation is running.
- if (scrollAnimationActive())
- m_touchUpdateDeferrer = adoptPtr(new ViewportUpdateDeferrer(this, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
-}
-
-void QtViewportHandler::touchEnd()
-{
- m_touchUpdateDeferrer.clear();
-}
-
-QRectF QtViewportHandler::computePosRangeForPageItemAtScale(qreal itemScale) const
-{
- const QSizeF contentItemSize = m_pageItem->contentsSize() * itemScale;
- const QSizeF viewportItemSize = m_viewportItem->boundingRect().size();
-
- const qreal horizontalRange = contentItemSize.width() - viewportItemSize.width();
- const qreal verticalRange = contentItemSize.height() - viewportItemSize.height();
-
- return QRectF(QPointF(0, 0), QSizeF(horizontalRange, verticalRange));
-}
-
-void QtViewportHandler::focusEditableArea(const QRectF& caretArea, const QRectF& targetArea)
-{
- // This can only happen as a result of a user interaction.
- ASSERT(m_hadUserInteraction);
-
- QRectF endArea = itemRectFromCSS(targetArea);
-
- qreal endItemScale = itemScaleFromCSS(innerBoundedCSSScale(2.0));
- const QRectF viewportRect = m_viewportItem->boundingRect();
-
- qreal x;
- const qreal borderOffset = 10;
- if ((endArea.width() + borderOffset) * endItemScale <= viewportRect.width()) {
- // Center the input field in the middle of the view, if it is smaller than
- // the view at the scale target.
- x = viewportRect.center().x() - endArea.width() * endItemScale / 2.0;
- } else {
- // Ensure that the caret always has borderOffset contents pixels to the right
- // of it, and secondarily (if possible), that the area has borderOffset
- // contents pixels to the left of it.
- qreal caretOffset = itemCoordFromCSS(caretArea.x()) - endArea.x();
- x = qMin(viewportRect.width() - (caretOffset + borderOffset) * endItemScale, borderOffset * endItemScale);
- }
-
- const QPointF hotspot = QPointF(endArea.x(), endArea.center().y());
- const QPointF viewportHotspot = QPointF(x, /* FIXME: visibleCenter */ viewportRect.center().y());
-
- QPointF endPosition = hotspot * endItemScale - viewportHotspot;
- QRectF endPosRange = computePosRangeForPageItemAtScale(endItemScale);
-
- endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
-
- QRectF endVisibleContentRect(endPosition / endItemScale, viewportRect.size() / endItemScale);
-
- animatePageItemRectVisible(endVisibleContentRect);
-}
-
-void QtViewportHandler::zoomToAreaGestureEnded(const QPointF& touchPoint, const QRectF& targetArea)
-{
- // This can only happen as a result of a user interaction.
- ASSERT(m_hadUserInteraction);
-
- if (!targetArea.isValid())
- return;
-
- if (m_suspendCount)
- return;
-
- const int margin = 10; // We want at least a little bit of margin.
- QRectF endArea = itemRectFromCSS(targetArea.adjusted(-margin, -margin, margin, margin));
-
- const QRectF viewportRect = m_viewportItem->boundingRect();
-
- qreal targetCSSScale = viewportRect.size().width() / endArea.size().width();
- qreal endCSSScale = innerBoundedCSSScale(qMin(targetCSSScale, qreal(2.5)));
- qreal endItemScale = itemScaleFromCSS(endCSSScale);
- qreal currentScale = m_pageItem->contentsScale();
-
- // We want to end up with the target area filling the whole width of the viewport (if possible),
- // and centralized vertically where the user requested zoom. Thus our hotspot is the center of
- // the targetArea x-wise and the requested zoom position, y-wise.
- const QPointF hotspot = QPointF(endArea.center().x(), itemCoordFromCSS(touchPoint.y()));
- const QPointF viewportHotspot = viewportRect.center();
-
- QPointF endPosition = hotspot * endCSSScale - viewportHotspot;
-
- QRectF endPosRange = computePosRangeForPageItemAtScale(endItemScale);
- endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
-
- QRectF endVisibleContentRect(endPosition / endItemScale, viewportRect.size() / endItemScale);
-
- enum { ZoomIn, ZoomBack, ZoomOut, NoZoom } zoomAction = ZoomIn;
-
- if (!m_scaleStack.isEmpty()) {
- // Zoom back out if attempting to scale to the same current scale, or
- // attempting to continue scaling out from the inner most level.
- // Use fuzzy compare with a fixed error to be able to deal with largish differences due to pixel rounding.
- if (fuzzyCompare(endItemScale, currentScale, 0.01)) {
- // If moving the viewport would expose more of the targetRect and move at least 40 pixels, update position but do not scale out.
- QRectF currentContentRect(m_viewportItem->contentPos() / currentScale, viewportRect.size() / currentScale);
- QRectF targetIntersection = endVisibleContentRect.intersected(targetArea);
- if (!currentContentRect.contains(targetIntersection) && (qAbs(endVisibleContentRect.top() - currentContentRect.top()) >= 40 || qAbs(endVisibleContentRect.left() - currentContentRect.left()) >= 40))
- zoomAction = NoZoom;
- else
- zoomAction = ZoomBack;
- } else if (fuzzyCompare(endItemScale, m_zoomOutScale, 0.01))
- zoomAction = ZoomBack;
- else if (endItemScale < currentScale)
- zoomAction = ZoomOut;
- }
-
- switch (zoomAction) {
- case ZoomIn:
- m_scaleStack.append(ScaleStackItem(currentScale, m_viewportItem->contentPos().x()));
- m_zoomOutScale = endItemScale;
- break;
- case ZoomBack: {
- ScaleStackItem lastScale = m_scaleStack.takeLast();
- endItemScale = lastScale.scale;
- endCSSScale = cssScaleFromItem(lastScale.scale);
- // Recalculate endPosition and bound it according to new scale.
- endPosition.setY(hotspot.y() * endCSSScale - viewportHotspot.y());
- endPosition.setX(lastScale.xPosition);
- endPosRange = computePosRangeForPageItemAtScale(endItemScale);
- endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
- endVisibleContentRect = QRectF(endPosition / endItemScale, viewportRect.size() / endItemScale);
- break;
- }
- case ZoomOut:
- // Unstack all scale-levels deeper than the new level, so a zoom-back won't end up zooming in.
- while (!m_scaleStack.isEmpty() && m_scaleStack.last().scale >= endItemScale)
- m_scaleStack.removeLast();
- m_zoomOutScale = endItemScale;
- break;
- case NoZoom:
- break;
- }
-
- animatePageItemRectVisible(endVisibleContentRect);
-}
-
-QRectF QtViewportHandler::initialRect() const
-{
- ASSERT(m_rawAttributes.initialScale > 0);
-
- qreal endItemScale = itemScaleFromCSS(innerBoundedCSSScale(m_rawAttributes.initialScale));
- const QRectF viewportRect = m_viewportItem->boundingRect();
- QRectF endVisibleContentRect(QPointF(0, 0), viewportRect.size() / endItemScale);
-
- return endVisibleContentRect;
-}
-
-QRectF QtViewportHandler::nearestValidBounds() const
-{
- qreal endItemScale = itemScaleFromCSS(innerBoundedCSSScale(currentCSSScale()));
-
- const QRectF viewportRect = m_viewportItem->boundingRect();
- QPointF viewportHotspot = viewportRect.center();
-
- QPointF endPosition = m_viewportItem->mapToWebContent(viewportHotspot) * endItemScale - viewportHotspot;
-
- QRectF endPosRange = computePosRangeForPageItemAtScale(endItemScale);
- endPosition = boundPosition(endPosRange.topLeft(), endPosition, endPosRange.bottomRight());
-
- QRectF endVisibleContentRect(endPosition / endItemScale, viewportRect.size() / endItemScale);
-
- return endVisibleContentRect;
-}
-
-void QtViewportHandler::setCSSScale(qreal scale)
-{
- ViewportUpdateDeferrer guard(this);
-
- qreal newScale = innerBoundedCSSScale(scale);
- m_pageItem->setContentsScale(itemScaleFromCSS(newScale));
-}
-
-qreal QtViewportHandler::currentCSSScale() const
-{
- return cssScaleFromItem(m_pageItem->contentsScale());
-}
-
-bool QtViewportHandler::scrollAnimationActive() const
-{
- return m_viewportItem->isFlicking();
-}
-
-bool QtViewportHandler::panGestureActive() const
-{
- return m_viewportItem->isDragging();
-}
-
-void QtViewportHandler::panGestureStarted(const QPointF& position, qint64 eventTimestampMillis)
-{
- // This can only happen as a result of a user interaction.
- ASSERT(m_hadUserInteraction);
-
- m_viewportItem->handleFlickableMousePress(position, eventTimestampMillis);
- m_lastPinchCenterInViewportCoordinates = position;
-}
-
-void QtViewportHandler::panGestureRequestUpdate(const QPointF& position, qint64 eventTimestampMillis)
-{
- m_viewportItem->handleFlickableMouseMove(position, eventTimestampMillis);
- m_lastPinchCenterInViewportCoordinates = position;
-}
-
-void QtViewportHandler::panGestureEnded(const QPointF& position, qint64 eventTimestampMillis)
-{
- m_viewportItem->handleFlickableMouseRelease(position, eventTimestampMillis);
- m_lastPinchCenterInViewportCoordinates = position;
-}
-
-void QtViewportHandler::panGestureCancelled()
-{
- // Reset the velocity samples of the flickable.
- // This should only be called by the recognizer if we have a recognized
- // pan gesture and receive a touch event with multiple touch points
- // (ie. transition to a pinch gesture) as it does not move the content
- // back inside valid bounds.
- // When the pinch gesture ends, the content is positioned and scaled
- // back to valid boundaries.
- m_viewportItem->cancelFlick();
-}
-
-bool QtViewportHandler::scaleAnimationActive() const
-{
- return m_scaleAnimation->state() == QAbstractAnimation::Running;
-}
-
-void QtViewportHandler::cancelScrollAnimation()
-{
- if (!scrollAnimationActive())
- return;
-
- // If the pan gesture recognizer receives a touch begin event
- // during an ongoing kinetic scroll animation of a previous
- // pan gesture, the animation is stopped and the content is
- // immediately positioned back to valid boundaries.
-
- m_viewportItem->cancelFlick();
- ViewportUpdateDeferrer guard(this);
- setPageItemRectVisible(nearestValidBounds());
-}
-
-void QtViewportHandler::interruptScaleAnimation()
-{
- // This interrupts the scale animation exactly where it is, even if it is out of bounds.
- m_scaleAnimation->stop();
-}
-
-bool QtViewportHandler::pinchGestureActive() const
-{
- return m_pinchStartScale > 0;
-}
-
-void QtViewportHandler::pinchGestureStarted(const QPointF& pinchCenterInViewportCoordinates)
-{
- // This can only happen as a result of a user interaction.
- ASSERT(m_hadUserInteraction);
-
- if (!m_allowsUserScaling)
- return;
-
- m_scaleStack.clear();
- m_zoomOutScale = 0.0;
-
- m_scaleUpdateDeferrer = adoptPtr(new ViewportUpdateDeferrer(this, ViewportUpdateDeferrer::DeferUpdateAndSuspendContent));
-
- m_lastPinchCenterInViewportCoordinates = pinchCenterInViewportCoordinates;
- m_pinchStartScale = m_pageItem->contentsScale();
-}
-
-void QtViewportHandler::pinchGestureRequestUpdate(const QPointF& pinchCenterInViewportCoordinates, qreal totalScaleFactor)
-{
- ASSERT(m_suspendCount);
-
- if (!m_allowsUserScaling)
- return;
-
- // Changes of the center position should move the page even if the zoom factor
- // does not change.
- const qreal cssScale = cssScaleFromItem(m_pinchStartScale * totalScaleFactor);
-
- // Allow zooming out beyond mimimum scale on pages that do not explicitly disallow it.
- const qreal targetCSSScale = outerBoundedCSSScale(cssScale);
-
- scaleContent(m_viewportItem->mapToWebContent(pinchCenterInViewportCoordinates), targetCSSScale);
-
- const QPointF positionDiff = pinchCenterInViewportCoordinates - m_lastPinchCenterInViewportCoordinates;
- m_lastPinchCenterInViewportCoordinates = pinchCenterInViewportCoordinates;
-
- m_viewportItem->setContentPos(m_viewportItem->contentPos() - positionDiff);
-}
-
-void QtViewportHandler::pinchGestureEnded()
-{
- ASSERT(m_suspendCount);
-
- if (!m_allowsUserScaling)
- return;
-
- m_pinchStartScale = -1;
-
- animatePageItemRectVisible(nearestValidBounds());
- m_scaleUpdateDeferrer.clear(); // Clear after starting potential animation, which takes over deferring.
-}
-
-void QtViewportHandler::pinchGestureCancelled()
-{
- m_pinchStartScale = -1;
- m_scaleUpdateDeferrer.clear();
-}
-
-QRectF QtViewportHandler::visibleContentsRect() const
-{
- const QRectF visibleRect(m_viewportItem->boundingRect().intersected(m_pageItem->boundingRect()));
- return m_viewportItem->mapRectToWebContent(visibleRect);
-}
-
-void QtViewportHandler::informVisibleContentChange(const QPointF& trajectoryVector)
-{
- DrawingAreaProxy* drawingArea = m_webPageProxy->drawingArea();
- if (!drawingArea)
- return;
-
- qreal scale = m_pageItem->contentsScale();
-
- if (scale != m_lastCommittedScale)
- emit m_viewportItem->experimental()->test()->contentsScaleCommitted();
- m_lastCommittedScale = scale;
-
- drawingArea->setVisibleContentsRect(visibleContentsRect(), scale, trajectoryVector);
-
- // Ensure that updatePaintNode is always called before painting.
- m_pageItem->update();
-}
-
-void QtViewportHandler::viewportItemSizeChanged()
-{
- QSize viewportSize = m_viewportItem->boundingRect().size().toSize();
-
- if (viewportSize.isEmpty())
- return;
-
- // Let the WebProcess know about the new viewport size, so that
- // it can resize the content accordingly.
- m_webPageProxy->setViewportSize(viewportSize);
-
- informVisibleContentChange(QPointF());
-}
-
-void QtViewportHandler::scaleContent(const QPointF& centerInCSSCoordinates, qreal cssScale)
-{
- QPointF oldPinchCenterOnViewport = m_viewportItem->mapFromWebContent(centerInCSSCoordinates);
- m_pageItem->setContentsScale(itemScaleFromCSS(cssScale));
- QPointF newPinchCenterOnViewport = m_viewportItem->mapFromWebContent(centerInCSSCoordinates);
-
- m_viewportItem->setContentPos(m_viewportItem->contentPos() + (newPinchCenterOnViewport - oldPinchCenterOnViewport));
-}
-
-} // namespace WebKit
-
-#include "moc_QtViewportHandler.cpp"
-
-
diff --git a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
index a02900fcd..64bcdbdf9 100644
--- a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
+++ b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.cpp
@@ -24,7 +24,7 @@
#include "NativeWebKeyboardEvent.h"
#include "NativeWebMouseEvent.h"
#include "NativeWebWheelEvent.h"
-#include "QtViewportHandler.h"
+#include "PageViewportControllerClientQt.h"
#include "WebPageProxy.h"
#include "qquickwebpage_p.h"
#include "qquickwebview_p.h"
@@ -91,7 +91,7 @@ static inline WebCore::DragOperation dropActionToDragOperation(Qt::DropActions a
QtWebPageEventHandler::QtWebPageEventHandler(WKPageRef pageRef, QQuickWebPage* qmlWebPage, QQuickWebView* qmlWebView)
: m_webPageProxy(toImpl(pageRef))
- , m_viewportHandler(0)
+ , m_viewportController(0)
, m_panGestureRecognizer(this)
, m_pinchGestureRecognizer(this)
, m_tapGestureRecognizer(this)
@@ -305,9 +305,9 @@ void QtWebPageEventHandler::handleFocusOutEvent(QFocusEvent*)
m_webPageProxy->viewStateDidChange(WebPageProxy::ViewIsFocused | WebPageProxy::ViewWindowIsActive);
}
-void QtWebPageEventHandler::setViewportHandler(QtViewportHandler* handler)
+void QtWebPageEventHandler::setViewportController(PageViewportControllerClientQt* controller)
{
- m_viewportHandler = handler;
+ m_viewportController = controller;
}
void QtWebPageEventHandler::handleInputMethodEvent(QInputMethodEvent* ev)
@@ -398,7 +398,7 @@ void QtWebPageEventHandler::resetGestureRecognizers()
static void setInputPanelVisible(bool visible)
{
- if (qApp->inputMethod()->visible() == visible)
+ if (qApp->inputMethod()->isVisible() == visible)
return;
qApp->inputMethod()->setVisible(visible);
@@ -406,16 +406,16 @@ static void setInputPanelVisible(bool visible)
void QtWebPageEventHandler::inputPanelVisibleChanged()
{
- if (!m_viewportHandler)
+ if (!m_viewportController)
return;
// We only respond to the input panel becoming visible.
- if (!m_webView->hasActiveFocus() || !qApp->inputMethod()->visible())
+ if (!m_webView->hasActiveFocus() || !qApp->inputMethod()->isVisible())
return;
const EditorState& editor = m_webPageProxy->editorState();
if (editor.isContentEditable)
- m_viewportHandler->focusEditableArea(QRectF(editor.cursorRect), QRectF(editor.editorRect));
+ m_viewportController->focusEditableArea(QRectF(editor.cursorRect), QRectF(editor.editorRect));
}
void QtWebPageEventHandler::updateTextInputState()
@@ -450,7 +450,7 @@ void QtWebPageEventHandler::doneWithGestureEvent(const WebGestureEvent& event, b
void QtWebPageEventHandler::handleInputEvent(const QInputEvent* event)
{
- ASSERT(m_viewportHandler);
+ ASSERT(m_viewportController);
bool isMouseEvent = false;
@@ -460,9 +460,9 @@ void QtWebPageEventHandler::handleInputEvent(const QInputEvent* event)
m_isMouseButtonPressed = true;
// Fall through.
case QEvent::TouchBegin:
- ASSERT(!m_viewportHandler->panGestureActive());
- ASSERT(!m_viewportHandler->pinchGestureActive());
- m_viewportHandler->touchBegin();
+ ASSERT(!m_viewportController->panGestureActive());
+ ASSERT(!m_viewportController->pinchGestureActive());
+ m_viewportController->touchBegin();
// The interaction engine might still be animating kinetic scrolling or a scale animation
// such as double-tap to zoom or the bounce back effect. A touch stops the kinetic scrolling
@@ -477,15 +477,15 @@ void QtWebPageEventHandler::handleInputEvent(const QInputEvent* event)
// Fall through.
case QEvent::TouchUpdate:
// The scale animation can only be interrupted by a pinch gesture, which will then take over.
- if (m_viewportHandler->scaleAnimationActive() && m_pinchGestureRecognizer.isRecognized())
- m_viewportHandler->interruptScaleAnimation();
+ if (m_viewportController->scaleAnimationActive() && m_pinchGestureRecognizer.isRecognized())
+ m_viewportController->interruptScaleAnimation();
break;
case QEvent::MouseButtonRelease:
isMouseEvent = true;
m_isMouseButtonPressed = false;
// Fall through.
case QEvent::TouchEnd:
- m_viewportHandler->touchEnd();
+ m_viewportController->touchEnd();
break;
default:
ASSERT(event->type() == QEvent::MouseButtonDblClick);
@@ -494,7 +494,7 @@ void QtWebPageEventHandler::handleInputEvent(const QInputEvent* event)
// If the scale animation is active we don't pass the event to the recognizers. In the future
// we would want to queue the event here and repost then when the animation ends.
- if (m_viewportHandler->scaleAnimationActive())
+ if (m_viewportController->scaleAnimationActive())
return;
QList<QTouchEvent::TouchPoint> activeTouchPoints;
@@ -568,7 +568,7 @@ void QtWebPageEventHandler::handleInputEvent(const QInputEvent* event)
#if ENABLE(TOUCH_EVENTS)
void QtWebPageEventHandler::doneWithTouchEvent(const NativeWebTouchEvent& event, bool wasEventHandled)
{
- if (!m_viewportHandler)
+ if (!m_viewportController)
return;
if (wasEventHandled || event.type() == WebEvent::TouchCancel) {
@@ -587,12 +587,12 @@ void QtWebPageEventHandler::doneWithTouchEvent(const NativeWebTouchEvent& event,
void QtWebPageEventHandler::didFindZoomableArea(const IntPoint& target, const IntRect& area)
{
- if (!m_viewportHandler)
+ if (!m_viewportController)
return;
// FIXME: As the find method might not respond immediately during load etc,
// we should ignore all but the latest request.
- m_viewportHandler->zoomToAreaGestureEnded(QPointF(target), QRectF(area));
+ m_viewportController->zoomToAreaGestureEnded(QPointF(target), QRectF(area));
}
void QtWebPageEventHandler::startDrag(const WebCore::DragData& dragData, PassRefPtr<ShareableBitmap> dragImage)
diff --git a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
index 446db753d..8724f2ede 100644
--- a/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
+++ b/Source/WebKit2/UIProcess/qt/QtWebPageEventHandler.h
@@ -46,7 +46,7 @@ class IntRect;
namespace WebKit {
class NativeWebTouchEvent;
-class QtViewportHandler;
+class PageViewportControllerClientQt;
class ShareableBitmap;
class WebGestureEvent;
class WebPageProxy;
@@ -75,7 +75,7 @@ public:
void handleInputMethodEvent(QInputMethodEvent*);
void handleTouchEvent(QTouchEvent*);
- void setViewportHandler(QtViewportHandler*);
+ void setViewportController(PageViewportControllerClientQt*);
void activateTapHighlight(const QTouchEvent::TouchPoint&);
void deactivateTapHighlight();
@@ -91,13 +91,13 @@ public:
void handleInputEvent(const QInputEvent*);
void resetGestureRecognizers();
- QtViewportHandler* viewportHandler() { return m_viewportHandler; }
+ PageViewportControllerClientQt* viewportController() { return m_viewportController; }
void startDrag(const WebCore::DragData&, PassRefPtr<ShareableBitmap> dragImage);
protected:
WebPageProxy* m_webPageProxy;
- QtViewportHandler* m_viewportHandler;
+ PageViewportControllerClientQt* m_viewportController;
QtPanGestureRecognizer m_panGestureRecognizer;
QtPinchGestureRecognizer m_pinchGestureRecognizer;
QtTapGestureRecognizer m_tapGestureRecognizer;
diff --git a/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.cpp b/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.cpp
index 9fd296fd1..6b747b77b 100644
--- a/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.cpp
@@ -34,16 +34,19 @@ namespace WebKit {
class ColorChooserContextObject : public QObject {
Q_OBJECT
Q_PROPERTY(QColor currentColor READ currentColor CONSTANT FINAL)
+ Q_PROPERTY(QRectF elementRect READ elementRect CONSTANT FINAL)
public:
- ColorChooserContextObject(const QColor& color)
+ ColorChooserContextObject(const QColor& color, const QRectF& rect)
: m_currentColor(color)
+ , m_rect(rect)
{
}
QColor currentColor() const { return m_currentColor; }
+ QRectF elementRect() const { return m_rect; }
- Q_INVOKABLE void accept(const QColor& color) { emit accepted(color); };
+ Q_INVOKABLE void accept(const QColor& color) { emit accepted(color); }
Q_INVOKABLE void reject() { emit rejected(); }
Q_SIGNALS:
@@ -52,13 +55,15 @@ Q_SIGNALS:
private:
QColor m_currentColor;
+ QRectF m_rect;
};
-WebColorChooserProxyQt::WebColorChooserProxyQt(WebColorChooserProxy::Client* client, QQuickWebView* webView, const Color& initialColor)
+WebColorChooserProxyQt::WebColorChooserProxyQt(WebColorChooserProxy::Client* client, QQuickWebView* webView, const Color& initialColor, const IntRect& elementRect)
: WebColorChooserProxy(client)
, m_webView(webView)
{
- ColorChooserContextObject* contextObject = new ColorChooserContextObject(initialColor);
+ const QRectF mappedRect= m_webView->mapRectFromWebContent(QRect(elementRect));
+ ColorChooserContextObject* contextObject = new ColorChooserContextObject(initialColor, mappedRect);
createItem(contextObject);
}
diff --git a/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.h b/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.h
index 7872dc907..77c37fc84 100644
--- a/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.h
+++ b/Source/WebKit2/UIProcess/qt/WebColorChooserProxyQt.h
@@ -21,6 +21,7 @@
#ifndef WebColorChooserProxyQt_h
#define WebColorChooserProxyQt_h
+#include "IntRect.h"
#include "WebColorChooserProxy.h"
#include <QtCore/QObject>
#include <wtf/OwnPtr.h>
@@ -43,9 +44,9 @@ class WebColorChooserProxyQt : public QObject, public WebColorChooserProxy {
Q_OBJECT
public:
- static PassRefPtr<WebColorChooserProxy> create(WebColorChooserProxy::Client* client, QQuickWebView* webView, const WebCore::Color& initialColor)
+ static PassRefPtr<WebColorChooserProxy> create(WebColorChooserProxy::Client* client, QQuickWebView* webView, const WebCore::Color& initialColor, const WebCore::IntRect& elementRect)
{
- return adoptRef(new WebColorChooserProxyQt(client, webView, initialColor));
+ return adoptRef(new WebColorChooserProxyQt(client, webView, initialColor, elementRect));
}
~WebColorChooserProxyQt();
@@ -58,7 +59,7 @@ private Q_SLOTS:
void notifyColorSelected(const QColor&);
private:
- WebColorChooserProxyQt(WebColorChooserProxy::Client*, QQuickWebView*, const WebCore::Color&);
+ WebColorChooserProxyQt(WebColorChooserProxy::Client*, QQuickWebView*, const WebCore::Color&, const WebCore::IntRect&);
void createItem(QObject*);
void createContext(QQmlComponent*, QObject*);
diff --git a/Source/WebKit2/UIProcess/qt/WebContextQt.cpp b/Source/WebKit2/UIProcess/qt/WebContextQt.cpp
index 3f38dd288..f6af89d62 100644
--- a/Source/WebKit2/UIProcess/qt/WebContextQt.cpp
+++ b/Source/WebKit2/UIProcess/qt/WebContextQt.cpp
@@ -58,7 +58,12 @@ static String defaultDiskCacheDirectory()
String WebContext::applicationCacheDirectory()
{
- return WebCore::cacheStorage().cacheDirectory();
+ const String cacheDirectory = WebCore::cacheStorage().cacheDirectory();
+
+ if (cacheDirectory.isEmpty())
+ return defaultDiskCacheDirectory();
+
+ return cacheDirectory;
}
void WebContext::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
diff --git a/Source/WebKit2/UIProcess/win/WebView.cpp b/Source/WebKit2/UIProcess/win/WebView.cpp
index 28d26f1f3..70b875bb6 100644
--- a/Source/WebKit2/UIProcess/win/WebView.cpp
+++ b/Source/WebKit2/UIProcess/win/WebView.cpp
@@ -55,6 +55,7 @@
#include <WebCore/WebCoreInstanceHandle.h>
#include <WebCore/WindowMessageBroadcaster.h>
#include <WebCore/WindowsTouch.h>
+#include <wtf/text/StringBuilder.h>
#include <wtf/text/WTFString.h>
#if USE(CG)
@@ -1240,14 +1241,14 @@ static void compositionToUnderlines(const Vector<DWORD>& clauses, const Vector<B
#define APPEND_ARGUMENT_NAME(name) \
if (lparam & name) { \
if (needsComma) \
- result += ", "; \
- result += #name; \
+ result.appendLiteral(", "); \
+ result.appendLiteral(#name); \
needsComma = true; \
}
static String imeCompositionArgumentNames(LPARAM lparam)
{
- String result;
+ StringBuilder result;
bool needsComma = false;
APPEND_ARGUMENT_NAME(GCS_COMPATTR);
@@ -1265,7 +1266,7 @@ static String imeCompositionArgumentNames(LPARAM lparam)
APPEND_ARGUMENT_NAME(CS_INSERTCHAR);
APPEND_ARGUMENT_NAME(CS_NOMOVECARET);
- return result;
+ return result.toString();
}
static String imeRequestName(WPARAM wparam)
@@ -1430,7 +1431,7 @@ PassRefPtr<WebContextMenuProxy> WebView::createContextMenuProxy(WebPageProxy* pa
}
#if ENABLE(INPUT_TYPE_COLOR)
-PassRefPtr<WebColorChooserProxy> WebView::createColorChooserProxy(WebPageProxy*, const WebCore::Color&)
+PassRefPtr<WebColorChooserProxy> WebView::createColorChooserProxy(WebPageProxy*, const WebCore::Color&, const WebCore::IntRect&)
{
notImplemented();
return 0;
diff --git a/Source/WebKit2/UIProcess/win/WebView.h b/Source/WebKit2/UIProcess/win/WebView.h
index 71a9e578f..565633125 100644
--- a/Source/WebKit2/UIProcess/win/WebView.h
+++ b/Source/WebKit2/UIProcess/win/WebView.h
@@ -199,7 +199,7 @@ private:
virtual PassRefPtr<WebPopupMenuProxy> createPopupMenuProxy(WebPageProxy*);
virtual PassRefPtr<WebContextMenuProxy> createContextMenuProxy(WebPageProxy*);
#if ENABLE(INPUT_TYPE_COLOR)
- virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& intialColor);
+ virtual PassRefPtr<WebColorChooserProxy> createColorChooserProxy(WebPageProxy*, const WebCore::Color& intialColor, const WebCore::IntRect&);
#endif
virtual void setFindIndicator(PassRefPtr<FindIndicator>, bool fadeOut, bool animate);
virtual void didInstallOrUninstallPageOverlay(bool);
diff --git a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 8c80ced45..4ea5147a1 100644
--- a/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -440,6 +440,7 @@
51FA2D7715212E2600C1BA0B /* WKBundleDOMWindowExtension.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 51FA2D7515212E1E00C1BA0B /* WKBundleDOMWindowExtension.cpp */; };
5272B28A1406985D0096A5D0 /* StatisticsData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5272B2881406985D0096A5D0 /* StatisticsData.cpp */; };
5272B28B1406985D0096A5D0 /* StatisticsData.h in Headers */ = {isa = PBXBuildFile; fileRef = 5272B2891406985D0096A5D0 /* StatisticsData.h */; };
+ 5D1A239115E75B220023E981 /* webkit2 in Copy Message Generation Scripts */ = {isa = PBXBuildFile; fileRef = 5D1A238E15E75AD50023E981 /* webkit2 */; };
5D51845513BCF9CC00C7FF4A /* APIClientTraits.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5D51845313BCF9CC00C7FF4A /* APIClientTraits.cpp */; };
5D51845613BCF9CC00C7FF4A /* APIClientTraits.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D51845413BCF9CC00C7FF4A /* APIClientTraits.h */; };
5DA6ED0A1490606900B41D12 /* DynamicLinkerEnvironmentExtractor.h in Headers */ = {isa = PBXBuildFile; fileRef = 5DA6ED081490606900B41D12 /* DynamicLinkerEnvironmentExtractor.h */; };
@@ -580,7 +581,6 @@
BC33DD681238464600360F3F /* WebNumber.h in Headers */ = {isa = PBXBuildFile; fileRef = BC33DD671238464600360F3F /* WebNumber.h */; };
BC33E0D112408E8600360F3F /* InjectedBundleRangeHandle.h in Headers */ = {isa = PBXBuildFile; fileRef = BC33E0CF12408E8600360F3F /* InjectedBundleRangeHandle.h */; };
BC33E0D212408E8600360F3F /* InjectedBundleRangeHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC33E0D012408E8600360F3F /* InjectedBundleRangeHandle.cpp */; };
- BC3DE46915A91763008D26FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
BC3DE47215A91764008D26FC /* MainMacService.mm in Sources */ = {isa = PBXBuildFile; fileRef = BC3DE47115A91764008D26FC /* MainMacService.mm */; };
BC4075F3124FF0270068F20A /* WKArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC4075D7124FF0270068F20A /* WKArray.cpp */; };
BC4075F4124FF0270068F20A /* WKArray.h in Headers */ = {isa = PBXBuildFile; fileRef = BC4075D8124FF0270068F20A /* WKArray.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -795,6 +795,11 @@
BCD598AC112B7FDF00EC8C23 /* WebPreferencesStore.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD598AA112B7FDF00EC8C23 /* WebPreferencesStore.h */; };
BCD598AD112B7FDF00EC8C23 /* WebPreferencesStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD598AB112B7FDF00EC8C23 /* WebPreferencesStore.cpp */; };
BCDB86C11200FB97007254BE /* WebURL.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDB86C01200FB97007254BE /* WebURL.h */; };
+ BCDC308715FD6A8B006B6695 /* WebProcessInitialization.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCDC308515FD6A8B006B6695 /* WebProcessInitialization.mm */; };
+ BCDC308815FD6A8B006B6695 /* WebProcessInitialization.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDC308615FD6A8B006B6695 /* WebProcessInitialization.h */; };
+ BCDC308B15FD6CD1006B6695 /* WebProcessXPCServiceMain.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCDC308915FD6CD1006B6695 /* WebProcessXPCServiceMain.mm */; };
+ BCDC308C15FD6CD1006B6695 /* WebProcessXPCServiceMain.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDC308A15FD6CD1006B6695 /* WebProcessXPCServiceMain.h */; };
+ BCDC308E15FDB9A7006B6695 /* WebKit2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8DC2EF5B0486A6940098B216 /* WebKit2.framework */; };
BCDDB317124EBD130048D13C /* WKBase.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDDB316124EBD130048D13C /* WKBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
BCDDB32B124EC2AB0048D13C /* WKSharedAPICast.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDDB32A124EC2AB0048D13C /* WKSharedAPICast.h */; };
BCDDB32D124EC2E10048D13C /* WKAPICast.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDDB32C124EC2E10048D13C /* WKAPICast.h */; };
@@ -862,8 +867,6 @@
C0CE72A01247E71D00BC0EC4 /* WebPageMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0CE729E1247E71D00BC0EC4 /* WebPageMessageReceiver.cpp */; };
C0CE72A11247E71D00BC0EC4 /* WebPageMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = C0CE729F1247E71D00BC0EC4 /* WebPageMessages.h */; };
C0CE72AD1247E78D00BC0EC4 /* HandleMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = C0CE72AC1247E78D00BC0EC4 /* HandleMessage.h */; };
- C0D04E9013EC759E0041EFD6 /* model.py in Headers */ = {isa = PBXBuildFile; fileRef = C0D04E8313EC74940041EFD6 /* model.py */; settings = {ATTRIBUTES = (Private, ); }; };
- C0D04E9113EC759E0041EFD6 /* parser.py in Headers */ = {isa = PBXBuildFile; fileRef = C0D04E8413EC74940041EFD6 /* parser.py */; settings = {ATTRIBUTES = (Private, ); }; };
C0D74DDE133BE2D90089CD44 /* LayerTreeHostCA.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C098A054133BE1C500B199A4 /* LayerTreeHostCA.cpp */; };
C0E3AA7A1209E83000A49D01 /* ModuleMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = C0E3AA481209E45000A49D01 /* ModuleMac.mm */; };
C0E3AA7B1209E83500A49D01 /* Module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = C0E3AA451209E2BA00A49D01 /* Module.cpp */; };
@@ -1017,6 +1020,17 @@
name = "Copy Web Process Shim";
runOnlyForDeploymentPostprocessing = 0;
};
+ 5D1A239015E75B100023E981 /* Copy Message Generation Scripts */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = PrivateHeaders;
+ dstSubfolderSpec = 1;
+ files = (
+ 5D1A239115E75B220023E981 /* webkit2 in Copy Message Generation Scripts */,
+ );
+ name = "Copy Message Generation Scripts";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
BCA8D46B15BCE33C009DC1F1 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
@@ -1489,6 +1503,7 @@
51FA2D7515212E1E00C1BA0B /* WKBundleDOMWindowExtension.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKBundleDOMWindowExtension.cpp; sourceTree = "<group>"; };
5272B2881406985D0096A5D0 /* StatisticsData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StatisticsData.cpp; sourceTree = "<group>"; };
5272B2891406985D0096A5D0 /* StatisticsData.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatisticsData.h; sourceTree = "<group>"; };
+ 5D1A238E15E75AD50023E981 /* webkit2 */ = {isa = PBXFileReference; lastKnownFileType = folder; path = webkit2; sourceTree = "<group>"; };
5D51845313BCF9CC00C7FF4A /* APIClientTraits.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIClientTraits.cpp; sourceTree = "<group>"; };
5D51845413BCF9CC00C7FF4A /* APIClientTraits.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIClientTraits.h; sourceTree = "<group>"; };
5DA6ED081490606900B41D12 /* DynamicLinkerEnvironmentExtractor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicLinkerEnvironmentExtractor.h; sourceTree = "<group>"; };
@@ -1862,6 +1877,10 @@
BCD598AA112B7FDF00EC8C23 /* WebPreferencesStore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPreferencesStore.h; sourceTree = "<group>"; };
BCD598AB112B7FDF00EC8C23 /* WebPreferencesStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPreferencesStore.cpp; sourceTree = "<group>"; };
BCDB86C01200FB97007254BE /* WebURL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebURL.h; sourceTree = "<group>"; };
+ BCDC308515FD6A8B006B6695 /* WebProcessInitialization.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessInitialization.mm; sourceTree = "<group>"; };
+ BCDC308615FD6A8B006B6695 /* WebProcessInitialization.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessInitialization.h; sourceTree = "<group>"; };
+ BCDC308915FD6CD1006B6695 /* WebProcessXPCServiceMain.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessXPCServiceMain.mm; sourceTree = "<group>"; };
+ BCDC308A15FD6CD1006B6695 /* WebProcessXPCServiceMain.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessXPCServiceMain.h; sourceTree = "<group>"; };
BCDDB316124EBD130048D13C /* WKBase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBase.h; sourceTree = "<group>"; };
BCDDB32A124EC2AB0048D13C /* WKSharedAPICast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKSharedAPICast.h; sourceTree = "<group>"; };
BCDDB32C124EC2E10048D13C /* WKAPICast.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKAPICast.h; sourceTree = "<group>"; };
@@ -1931,7 +1950,6 @@
C03A136B133BEBF900D767D1 /* LayerTreeHostCAMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LayerTreeHostCAMac.mm; sourceTree = "<group>"; };
C06C6093124C14430001682F /* WebPageCreationParameters.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageCreationParameters.cpp; sourceTree = "<group>"; };
C06C6094124C14430001682F /* WebPageCreationParameters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageCreationParameters.h; sourceTree = "<group>"; };
- C08FDE87124A851C007645BD /* messages_unittest.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = messages_unittest.py; sourceTree = "<group>"; };
C098A053133BE1C500B199A4 /* LayerTreeHostCA.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LayerTreeHostCA.h; sourceTree = "<group>"; };
C098A054133BE1C500B199A4 /* LayerTreeHostCA.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = LayerTreeHostCA.cpp; sourceTree = "<group>"; };
C09AE5E8125257C20025825D /* WKNativeEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKNativeEvent.h; sourceTree = "<group>"; };
@@ -1942,10 +1960,6 @@
C0CE72DB1247E8F700BC0EC4 /* DerivedSources.make */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DerivedSources.make; sourceTree = "<group>"; };
C0CE73361247F70E00BC0EC4 /* generate-message-receiver.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = "generate-message-receiver.py"; sourceTree = "<group>"; };
C0CE73371247F70E00BC0EC4 /* generate-messages-header.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = "generate-messages-header.py"; sourceTree = "<group>"; };
- C0CE73391247F70E00BC0EC4 /* __init__.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = __init__.py; sourceTree = "<group>"; };
- C0CE734612480B7D00BC0EC4 /* messages.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = messages.py; sourceTree = "<group>"; };
- C0D04E8313EC74940041EFD6 /* model.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = model.py; sourceTree = "<group>"; };
- C0D04E8413EC74940041EFD6 /* parser.py */ = {isa = PBXFileReference; lastKnownFileType = text.script.python; path = parser.py; sourceTree = "<group>"; };
C0E3AA441209E2BA00A49D01 /* Module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Module.h; sourceTree = "<group>"; };
C0E3AA451209E2BA00A49D01 /* Module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Module.cpp; sourceTree = "<group>"; };
C0E3AA481209E45000A49D01 /* ModuleMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ModuleMac.mm; sourceTree = "<group>"; };
@@ -2057,11 +2071,11 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
- BC3DE46315A91763008D26FC /* Frameworks */ = {
+ BCDC308D15FDB99A006B6695 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- BC3DE46915A91763008D26FC /* Foundation.framework in Frameworks */,
+ BCDC308E15FDB9A7006B6695 /* WebKit2.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -2258,10 +2272,14 @@
512DF6D7138C181A00A22FC6 /* KeychainItemShimMethods.mm */,
511F8A7D138B46FE00A95F44 /* SecItemShimMethods.h */,
511F8A7E138B46FE00A95F44 /* SecItemShimMethods.mm */,
+ BCDC308615FD6A8B006B6695 /* WebProcessInitialization.h */,
+ BCDC308515FD6A8B006B6695 /* WebProcessInitialization.mm */,
BC3065C312592F8900E71278 /* WebProcessMac.mm */,
1A6FA01D11E1526300DB1371 /* WebProcessMainMac.mm */,
511F8A77138B460900A95F44 /* WebProcessShim.h */,
511F8A78138B460900A95F44 /* WebProcessShim.mm */,
+ BCDC308A15FD6CD1006B6695 /* WebProcessXPCServiceMain.h */,
+ BCDC308915FD6CD1006B6695 /* WebProcessXPCServiceMain.mm */,
);
path = mac;
sourceTree = "<group>";
@@ -3722,7 +3740,7 @@
C0CE73351247F70E00BC0EC4 /* Scripts */ = {
isa = PBXGroup;
children = (
- C0CE73381247F70E00BC0EC4 /* webkit2 */,
+ 5D1A238E15E75AD50023E981 /* webkit2 */,
C0CE73361247F70E00BC0EC4 /* generate-message-receiver.py */,
C0CE73371247F70E00BC0EC4 /* generate-messages-header.py */,
);
@@ -3731,18 +3749,6 @@
tabWidth = 8;
usesTabs = 0;
};
- C0CE73381247F70E00BC0EC4 /* webkit2 */ = {
- isa = PBXGroup;
- children = (
- C0CE73391247F70E00BC0EC4 /* __init__.py */,
- C0CE734612480B7D00BC0EC4 /* messages.py */,
- C08FDE87124A851C007645BD /* messages_unittest.py */,
- C0D04E8313EC74940041EFD6 /* model.py */,
- C0D04E8413EC74940041EFD6 /* parser.py */,
- );
- path = webkit2;
- sourceTree = "<group>";
- };
CD73BA3D131A2A2100EEDED2 /* FullScreen */ = {
isa = PBXGroup;
children = (
@@ -3891,7 +3897,6 @@
1A24B5F311F531E800C38269 /* MachUtilities.h in Headers */,
BC032DAC10F437D10058C15A /* MessageID.h in Headers */,
1A119A95127B796200A9ECB1 /* MessageSender.h in Headers */,
- C0D04E9013EC759E0041EFD6 /* model.py in Headers */,
C0E3AA7C1209E83C00A49D01 /* Module.h in Headers */,
BCB0AD34122F285800B1341E /* MutableArray.h in Headers */,
BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */,
@@ -3915,7 +3920,6 @@
BC6EDAA6111271C600E7678B /* PageClient.h in Headers */,
BC111B50112F619200337BAB /* PageClientImpl.h in Headers */,
1A90C23712650717003E44D4 /* PageOverlay.h in Headers */,
- C0D04E9113EC759E0041EFD6 /* parser.py in Headers */,
C574A58112E66681002DFE98 /* PasteboardTypes.h in Headers */,
1AAF061412B01131008E49E2 /* PDFViewController.h in Headers */,
BCF505E71243047B005955AE /* PlatformCertificateInfo.h in Headers */,
@@ -4247,6 +4251,8 @@
3F87B9BE158940190090FF62 /* WebColorChooser.h in Headers */,
3F87B9C0158940D80090FF62 /* WebColorChooserProxy.h in Headers */,
BC59548915C7868500FD1E3E /* WebKit2.h in Headers */,
+ BCDC308815FD6A8B006B6695 /* WebProcessInitialization.h in Headers */,
+ BCDC308C15FD6CD1006B6695 /* WebProcessXPCServiceMain.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -4312,6 +4318,8 @@
buildPhases = (
8DC2EF500486A6940098B216 /* Headers */,
8DC2EF520486A6940098B216 /* Resources */,
+ 5D1A239015E75B100023E981 /* Copy Message Generation Scripts */,
+ 5D1A239215E760590023E981 /* Remove Compiled Python Files */,
8DC2EF540486A6940098B216 /* Sources */,
8DC2EF560486A6940098B216 /* Frameworks */,
5DF408C0131DD37C00130071 /* Check For Global Initializers */,
@@ -4337,7 +4345,7 @@
buildConfigurationList = BC3DE47615A91764008D26FC /* Build configuration list for PBXNativeTarget "WebKit2Service" */;
buildPhases = (
BC3DE46215A91763008D26FC /* Sources */,
- BC3DE46315A91763008D26FC /* Frameworks */,
+ BCDC308D15FDB99A006B6695 /* Frameworks */,
BC3DE46415A91763008D26FC /* Resources */,
);
buildRules = (
@@ -4457,6 +4465,20 @@
shellPath = /bin/sh;
shellScript = "if [ \"${ACTION}\" = \"installhdrs\" ]; then\n exit 0;\nfi\n\nif [ -f ../../Tools/Scripts/check-for-inappropriate-objc-class-names ]; then\n ../../Tools/Scripts/check-for-inappropriate-objc-class-names WK || exit $?\nfi";
};
+ 5D1A239215E760590023E981 /* Remove Compiled Python Files */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Remove Compiled Python Files";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "find \"${BUILT_PRODUCTS_DIR}/${PRIVATE_HEADERS_FOLDER_PATH}\" -name '*.pyc' -delete";
+ };
5DF408C0131DD37C00130071 /* Check For Global Initializers */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
@@ -5021,6 +5043,8 @@
1A2A4B0E1586A2240090C9E9 /* ColorSpaceData.mm in Sources */,
3F87B9BD158940120090FF62 /* WebColorChooser.cpp in Sources */,
CD67D30E15C08F9A00843ADF /* InjectedBundlePageDiagnosticLoggingClient.cpp in Sources */,
+ BCDC308715FD6A8B006B6695 /* WebProcessInitialization.mm in Sources */,
+ BCDC308B15FD6CD1006B6695 /* WebProcessXPCServiceMain.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/Source/WebKit2/WebKit2Service/MainMacService.mm b/Source/WebKit2/WebKit2Service/MainMacService.mm
index a6faf3c40..0b46432d3 100644
--- a/Source/WebKit2/WebKit2Service/MainMacService.mm
+++ b/Source/WebKit2/WebKit2Service/MainMacService.mm
@@ -23,61 +23,15 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <AvailabilityMacros.h>
+#import <AvailabilityMacros.h>
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
-#include <dlfcn.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <xpc/xpc.h>
-
-extern "C" mach_port_t xpc_dictionary_copy_mach_send(xpc_object_t, const char*);
-
-static void WebKit2ServiceEventHandler(xpc_connection_t peer)
-{
- xpc_connection_set_target_queue(peer, dispatch_get_main_queue());
- xpc_connection_set_event_handler(peer, ^(xpc_object_t event) {
- xpc_type_t type = xpc_get_type(event);
- if (type == XPC_TYPE_ERROR) {
- if (event == XPC_ERROR_CONNECTION_INVALID || event == XPC_ERROR_TERMINATION_IMMINENT) {
- // FIXME: Handle this case more gracefully.
- exit(EXIT_FAILURE);
- }
- } else {
- assert(type == XPC_TYPE_DICTIONARY);
-
- if (!strcmp(xpc_dictionary_get_string(event, "message-name"), "bootstrap")) {
- static void* frameworkLibrary = dlopen(xpc_dictionary_get_string(event, "framework-executable-path"), RTLD_NOW);
- if (!frameworkLibrary) {
- NSLog(@"Unable to load WebKit2.framework: %s\n", dlerror());
- exit(EXIT_FAILURE);
- }
-
- typedef int (*WebKitMainFunction)(xpc_connection_t connection, mach_port_t serverPort);
- WebKitMainFunction webKitMainXPC = reinterpret_cast<WebKitMainFunction>(dlsym(frameworkLibrary, "WebKitMainXPC"));
- if (!webKitMainXPC) {
- NSLog(@"Unable to find entry point in WebKit2.framework: %s\n", dlerror());
- exit(EXIT_FAILURE);
- }
-
- xpc_object_t reply = xpc_dictionary_create_reply(event);
- xpc_dictionary_set_string(reply, "message-name", "process-finished-launching");
- xpc_connection_send_message(xpc_dictionary_get_remote_connection(event), reply);
- xpc_release(reply);
-
- webKitMainXPC(peer, xpc_dictionary_copy_mach_send(event, "server-port"));
- }
- }
- });
-
- xpc_connection_resume(peer);
-}
+#import "WebProcessXPCServiceMain.h"
int main(int argc, char** argv)
{
- xpc_main(WebKit2ServiceEventHandler);
- return 0;
+ return WebProcessXPCServiceMain(argc, argv);
}
#else
diff --git a/Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp b/Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp
index bb295e09b..81500b5c4 100644
--- a/Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp
+++ b/Source/WebKit2/WebProcess/Downloads/soup/DownloadSoup.cpp
@@ -76,7 +76,7 @@ public:
}
bool overwrite;
- String destinationURI = m_download->decideDestinationWithSuggestedFilename(suggestedFilename.utf8().data(), overwrite);
+ String destinationURI = m_download->decideDestinationWithSuggestedFilename(suggestedFilename, overwrite);
if (destinationURI.isEmpty()) {
#if PLATFORM(GTK)
GOwnPtr<char> buffer(g_strdup_printf(_("Cannot determine destination URI for download with suggested filename %s"), suggestedFilename.utf8().data()));
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp
index ee10e964f..bd3d0b6ac 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.cpp
@@ -146,6 +146,11 @@ void WKBundleSetAllowFileAccessFromFileURLs(WKBundleRef bundleRef, WKBundlePageG
toImpl(bundleRef)->setAllowFileAccessFromFileURLs(toImpl(pageGroupRef), enabled);
}
+void WKBundleSetMinimumLogicalFontSize(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, int size)
+{
+ toImpl(bundleRef)->setMinimumLogicalFontSize(toImpl(pageGroupRef), size);
+}
+
void WKBundleSetFrameFlatteningEnabled(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, bool enabled)
{
toImpl(bundleRef)->setFrameFlatteningEnabled(toImpl(pageGroupRef), enabled);
@@ -260,3 +265,19 @@ void WKBundleSetUserStyleSheetLocation(WKBundleRef bundleRef, WKBundlePageGroupR
{
toImpl(bundleRef)->setUserStyleSheetLocation(toImpl(pageGroupRef), toImpl(location)->string());
}
+
+void WKBundleSetWebNotificationPermission(WKBundleRef bundleRef, WKBundlePageRef pageRef, WKStringRef originStringRef, bool allowed)
+{
+ toImpl(bundleRef)->setWebNotificationPermission(toImpl(pageRef), toImpl(originStringRef)->string(), allowed);
+}
+
+void WKBundleRemoveAllWebNotificationPermissions(WKBundleRef bundleRef, WKBundlePageRef pageRef)
+{
+ toImpl(bundleRef)->removeAllWebNotificationPermissions(toImpl(pageRef));
+}
+
+uint64_t WKBundleGetWebNotificationID(WKBundleRef bundleRef, JSContextRef context, JSValueRef notification)
+{
+ return toImpl(bundleRef)->webNotificationID(context, notification);
+}
+
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h
index b5e10e57f..ec8c30700 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePrivate.h
@@ -36,13 +36,6 @@
extern "C" {
#endif
-WK_EXPORT void WKBundleSetShouldTrackVisitedLinks(WKBundleRef bundle, bool shouldTrackVisitedLinks);
-WK_EXPORT void WKBundleRemoveAllVisitedLinks(WKBundleRef bundle);
-WK_EXPORT void WKBundleActivateMacFontAscentHack(WKBundleRef bundle);
-WK_EXPORT void WKBundleGarbageCollectJavaScriptObjects(WKBundleRef bundle);
-WK_EXPORT void WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging(WKBundleRef bundle, bool waitUntilDone);
-WK_EXPORT size_t WKBundleGetJavaScriptObjectsCount(WKBundleRef bundle);
-
enum WKUserScriptInjectionTime {
kWKInjectAtDocumentStart,
kWKInjectAtDocumentEnd
@@ -55,43 +48,59 @@ enum WKUserContentInjectedFrames {
};
typedef enum WKUserContentInjectedFrames WKUserContentInjectedFrames;
-WK_EXPORT void WKBundleAddUserScript(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKStringRef source, WKURLRef url, WKArrayRef whitelist, WKArrayRef blacklist, WKUserScriptInjectionTime injectionTime, WKUserContentInjectedFrames injectedFrames);
-WK_EXPORT void WKBundleAddUserStyleSheet(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKStringRef source, WKURLRef url, WKArrayRef whitelist, WKArrayRef blacklist, WKUserContentInjectedFrames injectedFrames);
-WK_EXPORT void WKBundleRemoveUserScript(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKURLRef url);
-WK_EXPORT void WKBundleRemoveUserStyleSheet(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKURLRef url);
-WK_EXPORT void WKBundleRemoveUserScripts(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld);
-WK_EXPORT void WKBundleRemoveUserStyleSheets(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld);
-WK_EXPORT void WKBundleRemoveAllUserContent(WKBundleRef bundle, WKBundlePageGroupRef pageGroup);
-
+// TestRunner only SPI
+WK_EXPORT void WKBundleSetShouldTrackVisitedLinks(WKBundleRef bundle, bool shouldTrackVisitedLinks);
+WK_EXPORT void WKBundleSetAlwaysAcceptCookies(WKBundleRef bundle, bool);
+WK_EXPORT void WKBundleRemoveAllVisitedLinks(WKBundleRef bundle);
+WK_EXPORT void WKBundleActivateMacFontAscentHack(WKBundleRef bundle);
// Will make WebProcess ignore this preference until a preferences change notification, only for WebKitTestRunner use.
WK_EXPORT void WKBundleOverrideBoolPreferenceForTestRunner(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKStringRef preference, bool enabled);
-
WK_EXPORT void WKBundleSetAllowUniversalAccessFromFileURLs(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
WK_EXPORT void WKBundleSetAllowFileAccessFromFileURLs(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
+WK_EXPORT void WKBundleSetMinimumLogicalFontSize(WKBundleRef bundleRef, WKBundlePageGroupRef pageGroupRef, int size);
WK_EXPORT void WKBundleSetFrameFlatteningEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
WK_EXPORT void WKBundleSetPluginsEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
WK_EXPORT void WKBundleSetGeolocationPermission(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
WK_EXPORT void WKBundleSetJavaScriptCanAccessClipboard(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
WK_EXPORT void WKBundleSetPrivateBrowsingEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
WK_EXPORT void WKBundleSetPopupBlockingEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
-WK_EXPORT void WKBundleSetUserStyleSheetLocation(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKStringRef location);
+WK_EXPORT void WKBundleSwitchNetworkLoaderToNewTestingSession(WKBundleRef bundle);
WK_EXPORT void WKBundleSetAuthorAndUserStylesEnabled(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, bool enabled);
-WK_EXPORT void WKBundleClearAllDatabases(WKBundleRef bundle);
-WK_EXPORT void WKBundleSetDatabaseQuota(WKBundleRef bundle, uint64_t);
-WK_EXPORT void WKBundleClearApplicationCache(WKBundleRef bundle);
-WK_EXPORT void WKBundleSetAppCacheMaximumSize(WKBundleRef bundle, uint64_t size);
+WK_EXPORT void WKBundleAddOriginAccessWhitelistEntry(WKBundleRef bundle, WKStringRef, WKStringRef, WKStringRef, bool);
+WK_EXPORT void WKBundleRemoveOriginAccessWhitelistEntry(WKBundleRef bundle, WKStringRef, WKStringRef, WKStringRef, bool);
+WK_EXPORT void WKBundleResetOriginAccessWhitelists(WKBundleRef bundle);
WK_EXPORT int WKBundleNumberOfPages(WKBundleRef bundle, WKBundleFrameRef frameRef, double pageWidthInPixels, double pageHeightInPixels);
WK_EXPORT int WKBundlePageNumberForElementById(WKBundleRef bundle, WKBundleFrameRef frameRef, WKStringRef idRef, double pageWidthInPixels, double pageHeightInPixels);
WK_EXPORT WKStringRef WKBundlePageSizeAndMarginsInPixels(WKBundleRef bundle, WKBundleFrameRef frameRef, int, int, int, int, int, int, int);
WK_EXPORT bool WKBundleIsPageBoxVisible(WKBundleRef bundle, WKBundleFrameRef frameRef, int);
-WK_EXPORT void WKBundleAddOriginAccessWhitelistEntry(WKBundleRef bundle, WKStringRef, WKStringRef, WKStringRef, bool);
-WK_EXPORT void WKBundleRemoveOriginAccessWhitelistEntry(WKBundleRef bundle, WKStringRef, WKStringRef, WKStringRef, bool);
-WK_EXPORT void WKBundleResetOriginAccessWhitelists(WKBundleRef bundle);
-WK_EXPORT void WKBundleSetAlwaysAcceptCookies(WKBundleRef bundle, bool);
+WK_EXPORT void WKBundleSetUserStyleSheetLocation(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKStringRef location);
+WK_EXPORT void WKBundleSetWebNotificationPermission(WKBundleRef bundle, WKBundlePageRef page, WKStringRef originStringRef, bool allowed);
+WK_EXPORT void WKBundleRemoveAllWebNotificationPermissions(WKBundleRef bundle, WKBundlePageRef page);
+WK_EXPORT uint64_t WKBundleGetWebNotificationID(WKBundleRef bundle, JSContextRef context, JSValueRef notification);
-WK_EXPORT bool WKBundleIsProcessingUserGesture(WKBundleRef bundle);
+// UserContent API
+WK_EXPORT void WKBundleAddUserScript(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKStringRef source, WKURLRef url, WKArrayRef whitelist, WKArrayRef blacklist, WKUserScriptInjectionTime injectionTime, WKUserContentInjectedFrames injectedFrames);
+WK_EXPORT void WKBundleAddUserStyleSheet(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKStringRef source, WKURLRef url, WKArrayRef whitelist, WKArrayRef blacklist, WKUserContentInjectedFrames injectedFrames);
+WK_EXPORT void WKBundleRemoveUserScript(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKURLRef url);
+WK_EXPORT void WKBundleRemoveUserStyleSheet(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld, WKURLRef url);
+WK_EXPORT void WKBundleRemoveUserScripts(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld);
+WK_EXPORT void WKBundleRemoveUserStyleSheets(WKBundleRef bundle, WKBundlePageGroupRef pageGroup, WKBundleScriptWorldRef scriptWorld);
+WK_EXPORT void WKBundleRemoveAllUserContent(WKBundleRef bundle, WKBundlePageGroupRef pageGroup);
-WK_EXPORT void WKBundleSwitchNetworkLoaderToNewTestingSession(WKBundleRef bundle);
+// Local storage API
+WK_EXPORT void WKBundleClearAllDatabases(WKBundleRef bundle);
+WK_EXPORT void WKBundleSetDatabaseQuota(WKBundleRef bundle, uint64_t);
+
+// Application Cache API
+WK_EXPORT void WKBundleClearApplicationCache(WKBundleRef bundle);
+WK_EXPORT void WKBundleSetAppCacheMaximumSize(WKBundleRef bundle, uint64_t size);
+
+// Garbage collection API
+WK_EXPORT void WKBundleGarbageCollectJavaScriptObjects(WKBundleRef bundle);
+WK_EXPORT void WKBundleGarbageCollectJavaScriptObjectsOnAlternateThreadForDebugging(WKBundleRef bundle, bool waitUntilDone);
+WK_EXPORT size_t WKBundleGetJavaScriptObjectsCount(WKBundleRef bundle);
+
+WK_EXPORT bool WKBundleIsProcessingUserGesture(WKBundleRef bundle);
WK_EXPORT void WKBundleSetPageVisibilityState(WKBundleRef bundle, WKBundlePageRef page, int state, bool isInitialState);
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
index 1e8310729..2e7c83c1b 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
@@ -32,6 +32,7 @@
#include "InjectedBundleScriptWorld.h"
#include "InjectedBundleUserMessageCoders.h"
#include "LayerTreeHost.h"
+#include "NotificationPermissionRequestManager.h"
#include "WKAPICast.h"
#include "WKBundleAPICast.h"
#include "WebApplicationCacheManager.h"
@@ -53,6 +54,7 @@
#include <WebCore/GeolocationController.h>
#include <WebCore/GeolocationPosition.h>
#include <WebCore/JSDOMWindow.h>
+#include <WebCore/JSNotification.h>
#include <WebCore/Page.h>
#include <WebCore/PageGroup.h>
#include <WebCore/PageVisibilityState.h>
@@ -129,7 +131,13 @@ void InjectedBundle::overrideBoolPreferenceForTestRunner(WebPageGroupProxy* page
{
const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages();
- // FIXME: Need an explicit way to set "WebKitTabToLinksPreferenceKey" directly in WebPage.
+ if (preference == "WebKitTabToLinksPreferenceKey") {
+ WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::tabsToLinksKey(), enabled);
+ for (HashSet<Page*>::iterator i = pages.begin(); i != pages.end(); ++i) {
+ WebPage* webPage = static_cast<WebFrameLoaderClient*>((*i)->mainFrame()->loader()->client())->webFrame()->page();
+ webPage->setTabToLinksEnabled(enabled);
+ }
+ }
if (preference == "WebKit2AsynchronousPluginInitializationEnabled") {
WebPreferencesStore::overrideBoolValueForKey(WebPreferencesKey::asynchronousPluginInitializationEnabledKey(), enabled);
@@ -171,7 +179,8 @@ void InjectedBundle::overrideBoolPreferenceForTestRunner(WebPageGroupProxy* page
macro(WebKitWebAudioEnabled, WebAudioEnabled, webAudioEnabled) \
macro(WebKitWebGLEnabled, WebGLEnabled, webGLEnabled) \
macro(WebKitXSSAuditorEnabled, XSSAuditorEnabled, xssAuditorEnabled) \
- macro(WebKitShouldRespectImageOrientation, ShouldRespectImageOrientation, shouldRespectImageOrientation)
+ macro(WebKitShouldRespectImageOrientation, ShouldRespectImageOrientation, shouldRespectImageOrientation) \
+ macro(WebKitEnableCaretBrowsing, CaretBrowsingEnabled, caretBrowsingEnabled)
if (preference == "WebKitAcceleratedCompositingEnabled")
enabled = enabled && LayerTreeHost::supportsAcceleratedCompositing();
@@ -215,6 +224,13 @@ void InjectedBundle::setAllowFileAccessFromFileURLs(WebPageGroupProxy* pageGroup
(*iter)->settings()->setAllowFileAccessFromFileURLs(enabled);
}
+void InjectedBundle::setMinimumLogicalFontSize(WebPageGroupProxy* pageGroup, int size)
+{
+ const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages();
+ for (HashSet<Page*>::iterator iter = pages.begin(); iter != pages.end(); ++iter)
+ (*iter)->settings()->setMinimumLogicalFontSize(size);
+}
+
void InjectedBundle::setFrameFlatteningEnabled(WebPageGroupProxy* pageGroup, bool enabled)
{
const HashSet<Page*>& pages = PageGroup::pageGroup(pageGroup->identifier())->pages();
@@ -534,4 +550,36 @@ void InjectedBundle::setUserStyleSheetLocation(WebPageGroupProxy* pageGroup, con
(*iter)->settings()->setUserStyleSheetLocation(KURL(KURL(), location));
}
+void InjectedBundle::setWebNotificationPermission(WebPage* page, const String& originString, bool allowed)
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ page->notificationPermissionRequestManager()->setPermissionLevelForTesting(originString, allowed);
+#else
+ UNUSED_PARAM(page);
+ UNUSED_PARAM(originString);
+ UNUSED_PARAM(allowed);
+#endif
+}
+
+void InjectedBundle::removeAllWebNotificationPermissions(WebPage* page)
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ page->notificationPermissionRequestManager()->removeAllPermissionsForTesting();
+#else
+ UNUSED_PARAM(page);
+#endif
+}
+
+uint64_t InjectedBundle::webNotificationID(JSContextRef jsContext, JSValueRef jsNotification)
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ WebCore::Notification* notification = toNotification(toJS(toJS(jsContext), jsNotification));
+ if (!notification)
+ return 0;
+ return WebProcess::shared().notificationManager().notificationIDForTesting(notification);
+#else
+ return 0;
+#endif
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
index 87f7ef3b0..57292695d 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
+++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
@@ -108,6 +108,7 @@ public:
void overrideXSSAuditorEnabledForTestRunner(WebPageGroupProxy* pageGroup, bool enabled);
void setAllowUniversalAccessFromFileURLs(WebPageGroupProxy*, bool);
void setAllowFileAccessFromFileURLs(WebPageGroupProxy*, bool);
+ void setMinimumLogicalFontSize(WebPageGroupProxy*, int size);
void setFrameFlatteningEnabled(WebPageGroupProxy*, bool);
void setPluginsEnabled(WebPageGroupProxy*, bool);
void setGeoLocationPermission(WebPageGroupProxy*, bool);
@@ -124,6 +125,9 @@ public:
String pageSizeAndMarginsInPixels(WebFrame*, int, int, int, int, int, int, int);
bool isPageBoxVisible(WebFrame*, int);
void setUserStyleSheetLocation(WebPageGroupProxy*, const String&);
+ void setWebNotificationPermission(WebPage*, const String& originString, bool allowed);
+ void removeAllWebNotificationPermissions(WebPage*);
+ uint64_t webNotificationID(JSContextRef, JSValueRef);
// UserContent API
void addUserScript(WebPageGroupProxy*, InjectedBundleScriptWorld*, const String& source, const String& url, ImmutableArray* whitelist, ImmutableArray* blacklist, WebCore::UserScriptInjectionTime, WebCore::UserContentInjectedFrames);
@@ -163,7 +167,7 @@ public:
void setPageVisibilityState(WebPage*, int state, bool isInitialState);
private:
- InjectedBundle(const String&);
+ explicit InjectedBundle(const String&);
virtual Type type() const { return APIType; }
diff --git a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp
index 428135481..29c70dfb4 100644
--- a/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp
+++ b/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp
@@ -91,7 +91,7 @@ InjectedBundleNavigationAction::InjectedBundleNavigationAction(WebFrame* frame,
, m_mouseButton(WebMouseEvent::NoButton)
{
if (const MouseEvent* mouseEvent = mouseEventForNavigationAction(navigationAction)) {
- m_hitTestResult = InjectedBundleHitTestResult::create(frame->coreFrame()->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation(), false));
+ m_hitTestResult = InjectedBundleHitTestResult::create(frame->coreFrame()->eventHandler()->hitTestResultAtPoint(mouseEvent->absoluteLocation()));
m_mouseButton = mouseButtonForMouseEvent(mouseEvent);
}
diff --git a/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.cpp b/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.cpp
index 6d89fc0c9..44b97eb4e 100644
--- a/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.cpp
+++ b/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.cpp
@@ -128,12 +128,34 @@ NotificationClient::Permission NotificationPermissionRequestManager::permissionL
#endif
}
+void NotificationPermissionRequestManager::setPermissionLevelForTesting(const String& originString, bool allowed)
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ WebProcess::shared().notificationManager().didUpdateNotificationDecision(originString, allowed);
+#else
+ UNUSED_PARAM(originString);
+ UNUSED_PARAM(allowed);
+#endif
+}
+
+void NotificationPermissionRequestManager::removeAllPermissionsForTesting()
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ WebProcess::shared().notificationManager().removeAllPermissionsForTesting();
+#endif
+}
+
void NotificationPermissionRequestManager::didReceiveNotificationPermissionDecision(uint64_t requestID, bool allowed)
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
if (!isRequestIDValid(requestID))
return;
+ RefPtr<WebCore::SecurityOrigin> origin = m_idToOriginMap.take(requestID);
+ m_originToIDMap.remove(origin);
+
+ WebProcess::shared().notificationManager().didUpdateNotificationDecision(origin->toString(), allowed);
+
#if ENABLE(LEGACY_NOTIFICATIONS)
RefPtr<VoidCallback> voidCallback = m_idToVoidCallbackMap.take(requestID);
if (voidCallback) {
diff --git a/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.h b/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.h
index 138a184cb..1899c01d4 100644
--- a/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.h
+++ b/Source/WebKit2/WebProcess/Notifications/NotificationPermissionRequestManager.h
@@ -32,6 +32,7 @@
#include <wtf/HashMap.h>
#include <wtf/RefCounted.h>
#include <wtf/RefPtr.h>
+#include <wtf/text/WTFString.h>
namespace WebCore {
class Notification;
@@ -55,8 +56,11 @@ public:
#endif
void cancelRequest(WebCore::SecurityOrigin*);
- // Synchronous call to retrieve permission level for given security origin
WebCore::NotificationClient::Permission permissionLevel(WebCore::SecurityOrigin*);
+
+ // For testing purposes only.
+ void setPermissionLevelForTesting(const String& originString, bool allowed);
+ void removeAllPermissionsForTesting();
void didReceiveNotificationPermissionDecision(uint64_t notificationID, bool allowed);
diff --git a/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.cpp b/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.cpp
index 2d667ef5e..2823da7b4 100644
--- a/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.cpp
+++ b/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.cpp
@@ -105,6 +105,24 @@ NotificationClient::Permission WebNotificationManager::policyForOrigin(WebCore::
return NotificationClient::PermissionNotAllowed;
}
+void WebNotificationManager::removeAllPermissionsForTesting()
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ m_permissionsMap.clear();
+#endif
+}
+
+uint64_t WebNotificationManager::notificationIDForTesting(Notification* notification)
+{
+#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
+ if (!notification)
+ return 0;
+ return m_notificationMap.get(notification);
+#else
+ return 0;
+#endif
+}
+
bool WebNotificationManager::show(Notification* notification, WebPage* page)
{
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
diff --git a/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.h b/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.h
index 2a18d44eb..6a70fc60c 100644
--- a/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.h
+++ b/Source/WebKit2/WebProcess/Notifications/WebNotificationManager.h
@@ -64,10 +64,14 @@ public:
void didDestroyNotification(WebCore::Notification*, WebPage*);
void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
-
+ void didUpdateNotificationDecision(const String& originString, bool allowed);
+
// Looks in local cache for permission. If not found, returns DefaultDenied.
WebCore::NotificationClient::Permission policyForOrigin(WebCore::SecurityOrigin*) const;
+ void removeAllPermissionsForTesting();
+ uint64_t notificationIDForTesting(WebCore::Notification*);
+
private:
// Implemented in generated WebNotificationManagerMessageReceiver.cpp
void didReceiveWebNotificationManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
@@ -75,7 +79,6 @@ private:
void didShowNotification(uint64_t notificationID);
void didClickNotification(uint64_t notificationID);
void didCloseNotifications(const Vector<uint64_t>& notificationIDs);
- void didUpdateNotificationDecision(const String& originString, bool allowed);
void didRemoveNotificationDecisions(const Vector<String>& originStrings);
#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
index edf42e4d5..46eff09d6 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.cpp
@@ -51,7 +51,7 @@ JSNPMethod::JSNPMethod(JSGlobalObject* globalObject, Structure* structure, NPIde
{
}
-void JSNPMethod::finishCreation(JSGlobalData& globalData, const UString& name)
+void JSNPMethod::finishCreation(JSGlobalData& globalData, const String& name)
{
Base::finishCreation(globalData, name);
ASSERT(inherits(&s_info));
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
index 3cb33fc41..93614d52d 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPMethod.h
@@ -41,7 +41,7 @@ class JSNPMethod : public JSC::InternalFunction {
public:
typedef JSC::InternalFunction Base;
- static JSNPMethod* create(JSC::ExecState* exec, JSC::JSGlobalObject* globalObject, const JSC::UString& name, NPIdentifier npIdent)
+ static JSNPMethod* create(JSC::ExecState* exec, JSC::JSGlobalObject* globalObject, const String& name, NPIdentifier npIdent)
{
JSC::Structure* structure = createStructure(exec->globalData(), globalObject, globalObject->functionPrototype());
JSNPMethod* method = new (JSC::allocateCell<JSNPMethod>(*exec->heap())) JSNPMethod(globalObject, structure, npIdent);
@@ -54,7 +54,7 @@ public:
NPIdentifier npIdentifier() const { return m_npIdentifier; }
protected:
- void finishCreation(JSC::JSGlobalData&, const JSC::UString& name);
+ void finishCreation(JSC::JSGlobalData&, const String& name);
private:
JSNPMethod(JSC::JSGlobalObject*, JSC::Structure*, NPIdentifier);
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
index 54fec0c1a..56e1a1097 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/JSNPObject.cpp
@@ -48,7 +48,7 @@ namespace WebKit {
static NPIdentifier npIdentifierFromIdentifier(PropertyName propertyName)
{
- UString name(propertyName.publicName());
+ String name(propertyName.publicName());
if (name.isNull())
return 0;
return static_cast<NPIdentifier>(IdentifierRep::get(name.utf8().data()));
@@ -77,7 +77,8 @@ void JSNPObject::finishCreation(JSGlobalObject* globalObject)
JSNPObject::~JSNPObject()
{
- ASSERT(!m_npObject);
+ if (m_npObject)
+ invalidate();
}
void JSNPObject::destroy(JSCell* cell)
@@ -268,6 +269,11 @@ bool JSNPObject::getOwnPropertySlot(JSCell* cell, ExecState* exec, PropertyName
NPIdentifier npIdentifier = npIdentifierFromIdentifier(propertyName);
+ // Calling NPClass::invoke will call into plug-in code, and there's no telling what the plug-in can do.
+ // (including destroying the plug-in). Because of this, we make sure to keep the plug-in alive until
+ // the call has finished.
+ NPRuntimeObjectMap::PluginProtector protector(thisObject->m_objectMap);
+
// First, check if the NPObject has a property with this name.
if (thisObject->m_npObject->_class->hasProperty && thisObject->m_npObject->_class->hasProperty(thisObject->m_npObject, npIdentifier)) {
slot.setCustom(thisObject, thisObject->propertyGetter);
@@ -294,6 +300,11 @@ bool JSNPObject::getOwnPropertyDescriptor(JSObject* object, ExecState* exec, Pro
NPIdentifier npIdentifier = npIdentifierFromIdentifier(propertyName);
+ // Calling NPClass::invoke will call into plug-in code, and there's no telling what the plug-in can do.
+ // (including destroying the plug-in). Because of this, we make sure to keep the plug-in alive until
+ // the call has finished.
+ NPRuntimeObjectMap::PluginProtector protector(thisObject->m_objectMap);
+
// First, check if the NPObject has a property with this name.
if (thisObject->m_npObject->_class->hasProperty && thisObject->m_npObject->_class->hasProperty(thisObject->m_npObject, npIdentifier)) {
PropertySlot slot;
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp
index 1fadc177f..d21f7e410 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPJSObject.cpp
@@ -243,7 +243,7 @@ bool NPJSObject::enumerate(NPIdentifier** identifiers, uint32_t* identifierCount
NPIdentifier* nameIdentifiers = npnMemNewArray<NPIdentifier>(propertyNames.size());
for (size_t i = 0; i < propertyNames.size(); ++i)
- nameIdentifiers[i] = static_cast<NPIdentifier>(IdentifierRep::get(propertyNames[i].ustring().utf8().data()));
+ nameIdentifiers[i] = static_cast<NPIdentifier>(IdentifierRep::get(propertyNames[i].string().utf8().data()));
*identifiers = nameIdentifiers;
*identifierCount = propertyNames.size();
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
index 358533feb..9dcd91669 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp
@@ -178,7 +178,7 @@ void NPRuntimeObjectMap::convertJSValueToNPVariant(ExecState* exec, JSValue valu
ASSERT_NOT_REACHED();
}
-bool NPRuntimeObjectMap::evaluate(NPObject* npObject, const String&scriptString, NPVariant* result)
+bool NPRuntimeObjectMap::evaluate(NPObject* npObject, const String& scriptString, NPVariant* result)
{
Strong<JSGlobalObject> globalObject(this->globalObject()->globalData(), this->globalObject());
if (!globalObject)
@@ -190,7 +190,7 @@ bool NPRuntimeObjectMap::evaluate(NPObject* npObject, const String&scriptString,
JSValue thisValue = getOrCreateJSObject(globalObject.get(), npObject);
globalObject->globalData().timeoutChecker.start();
- JSValue resultValue = JSC::evaluate(exec, globalObject->globalScopeChain(), makeSource(UString(scriptString.impl())), thisValue);
+ JSValue resultValue = JSC::evaluate(exec, makeSource(scriptString), thisValue);
globalObject->globalData().timeoutChecker.stop();
convertJSValueToNPVariant(exec, resultValue, *result);
@@ -267,7 +267,7 @@ void NPRuntimeObjectMap::moveGlobalExceptionToExecState(ExecState* exec)
{
JSLockHolder lock(exec);
- throwError(exec, createError(exec, stringToUString(globalExceptionString())));
+ throwError(exec, createError(exec, globalExceptionString()));
}
globalExceptionString() = String();
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
index d40db796e..75838ec80 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp
@@ -37,6 +37,7 @@
#include <WebCore/ProtectionSpace.h>
#include <WebCore/SharedBuffer.h>
#include <utility>
+#include <wtf/text/StringBuilder.h>
#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
#include "NetscapeSandboxFunctions.h"
@@ -123,7 +124,7 @@ static const char* findEndOfLine(const char* bytes, unsigned length)
static String capitalizeRFC822HeaderFieldName(const String& name)
{
bool capitalizeCharacter = true;
- String result;
+ StringBuilder result;
for (unsigned i = 0; i < name.length(); i++) {
UChar c;
@@ -143,7 +144,7 @@ static String capitalizeRFC822HeaderFieldName(const String& name)
result.append(c);
}
- return result;
+ return result.toString();
}
static HTTPHeaderMap parseRFC822HeaderFields(const char* bytes, unsigned length)
@@ -203,12 +204,8 @@ static HTTPHeaderMap parseRFC822HeaderFields(const char* bytes, unsigned length)
value = String(colon, endOfLine - colon);
String oldValue = headerFields.get(lastHeaderKey);
- if (!oldValue.isNull()) {
- String tmp = oldValue;
- tmp += ", ";
- tmp += value;
- value = tmp;
- }
+ if (!oldValue.isNull())
+ value = oldValue + ", " + value;
headerFields.set(lastHeaderKey, value);
}
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
index b20743213..15e7648da 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.cpp
@@ -38,7 +38,6 @@
#include <WebCore/IntRect.h>
#include <WebCore/KURL.h>
#include <runtime/JSObject.h>
-#include <runtime/ScopeChain.h>
#include <utility>
#include <wtf/text/CString.h>
@@ -162,7 +161,7 @@ const char* NetscapePlugin::userAgent()
#if PLUGIN_ARCHITECTURE(MAC)
if (quirks().contains(PluginQuirks::AppendVersion3UserAgent))
- userAgent += " Version/3.2.1";
+ userAgent.append(" Version/3.2.1");
#endif
m_userAgent = userAgent.utf8();
@@ -510,6 +509,20 @@ void NetscapePlugin::callSetWindow()
m_hasCalledSetWindow = true;
}
+void NetscapePlugin::callSetWindowInvisible()
+{
+ NPWindow invisibleWindow = m_npWindow;
+
+ invisibleWindow.window = 0;
+ invisibleWindow.clipRect.top = 0;
+ invisibleWindow.clipRect.left = 0;
+ invisibleWindow.clipRect.bottom = 0;
+ invisibleWindow.clipRect.right = 0;
+
+ NPP_SetWindow(&invisibleWindow);
+ m_hasCalledSetWindow = true;
+}
+
bool NetscapePlugin::shouldLoadSrcURL()
{
// Check if we should cancel the load
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
index 8591892b8..5f93c5747 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/NetscapePlugin.h
@@ -147,6 +147,7 @@ private:
NetscapePlugin(PassRefPtr<NetscapePluginModule> pluginModule);
void callSetWindow();
+ void callSetWindowInvisible();
bool shouldLoadSrcURL();
NetscapePluginStream* streamFromID(uint64_t streamID);
void stopAllStreams();
diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm b/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
index 8a447df31..4edc32ff4 100644
--- a/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm
@@ -914,9 +914,12 @@ void NetscapePlugin::windowAndViewFramesChanged(const IntRect& windowFrameInScre
}
}
-void NetscapePlugin::windowVisibilityChanged(bool)
+void NetscapePlugin::windowVisibilityChanged(bool visible)
{
- // FIXME: Implement.
+ if (visible)
+ callSetWindow();
+ else
+ callSetWindowInvisible();
}
uint64_t NetscapePlugin::pluginComplexTextInputIdentifier() const
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp
index cc313d2e4..3fe4d0b6c 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnection.cpp
@@ -29,7 +29,6 @@
#if ENABLE(PLUGIN_PROCESS)
#include <runtime/JSObject.h>
-#include <runtime/ScopeChain.h>
#include "NPRemoteObjectMap.h"
#include "NPRuntimeObjectMap.h"
#include "PluginProcessConnectionManager.h"
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginView.cpp b/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
index d07f8b79d..0a0c6b63d 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
+++ b/Source/WebKit2/WebProcess/Plugins/PluginView.cpp
@@ -407,10 +407,10 @@ void PluginView::webPageDestroyed()
#if PLATFORM(MAC)
void PluginView::setWindowIsVisible(bool windowIsVisible)
{
- if (!m_plugin)
+ if (!m_isInitialized || !m_plugin)
return;
- // FIXME: Implement.
+ m_plugin->windowVisibilityChanged(windowIsVisible);
}
void PluginView::setWindowIsFocused(bool windowIsFocused)
@@ -550,6 +550,10 @@ JSObject* PluginView::scriptObject(JSGlobalObject* globalObject)
if (m_isWaitingForSynchronousInitialization)
return 0;
+ // The plug-in can be null here if it failed to initialize previously.
+ if (!m_plugin)
+ return 0;
+
// If the plug-in exists but is not initialized then we're still initializing asynchronously.
// We need to wait here until initialization has either succeeded or failed.
if (m_plugin->isBeingAsynchronouslyInitialized()) {
@@ -558,7 +562,7 @@ JSObject* PluginView::scriptObject(JSGlobalObject* globalObject)
m_isWaitingForSynchronousInitialization = false;
}
- // The plug-in can be null here if it failed to initialize.
+ // The plug-in can be null here if it still failed to initialize.
if (!m_isInitialized || !m_plugin)
return 0;
@@ -583,6 +587,9 @@ void PluginView::privateBrowsingStateChanged(bool privateBrowsingEnabled)
if (!m_isInitialized || !m_plugin)
return;
+ if (!privateBrowsingEnabled && !frame()->document()->securityOrigin()->canAccessPluginStorage(frame()->tree()->top()->document()->securityOrigin()))
+ return;
+
m_plugin->privateBrowsingStateChanged(privateBrowsingEnabled);
}
@@ -785,8 +792,19 @@ void PluginView::viewGeometryDidChange()
transform.translate(scaledLocationInRootViewCoordinates.x(), scaledLocationInRootViewCoordinates.y());
transform.scale(pageScaleFactor);
- // FIXME: The clip rect isn't correct.
+ // FIXME: The way we calculate this clip rect isn't correct.
+ // But it is still important to distinguish between empty and non-empty rects so we can notify the plug-in when it becomes invisible.
+ // Making the rect actually correct is covered by https://bugs.webkit.org/show_bug.cgi?id=95362
IntRect clipRect = boundsRect();
+
+ // FIXME: We can only get a semi-reliable answer from clipRectInWindowCoordinates() when the page is not scaled.
+ // Fixing that is tracked in <rdar://problem/9026611> - Make the Widget hierarchy play nicely with transforms, for zoomed plug-ins and iframes
+ if (pageScaleFactor == 1) {
+ clipRect = clipRectInWindowCoordinates();
+ if (!clipRect.isEmpty())
+ clipRect = boundsRect();
+ }
+
m_plugin->geometryDidChange(size(), clipRect, transform);
}
@@ -1262,6 +1280,9 @@ bool PluginView::isPrivateBrowsingEnabled()
if (!frame())
return true;
+ if (!frame()->document()->securityOrigin()->canAccessPluginStorage(frame()->tree()->top()->document()->securityOrigin()))
+ return true;
+
Settings* settings = frame()->settings();
if (!settings)
return true;
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginView.h b/Source/WebKit2/WebProcess/Plugins/PluginView.h
index a6a056ccd..d1d985363 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginView.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginView.h
@@ -40,8 +40,9 @@
// FIXME: Eventually this should move to WebCore.
namespace WebCore {
- class Frame;
- class HTMLPlugInElement;
+class Frame;
+class HTMLPlugInElement;
+class RenderBoxModelObject;
}
namespace WebKit {
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebColorChooser.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebColorChooser.cpp
index 2cb0f3c56..da7633850 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebColorChooser.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebColorChooser.cpp
@@ -43,7 +43,7 @@ WebColorChooser::WebColorChooser(WebPage* page, ColorChooserClient* client, cons
, m_page(page)
{
m_page->setActiveColorChooser(this);
- WebProcess::shared().connection()->send(Messages::WebPageProxy::ShowColorChooser(initialColor), m_page->pageID());
+ WebProcess::shared().connection()->send(Messages::WebPageProxy::ShowColorChooser(initialColor, client->elementRectRelativeToRootView()), m_page->pageID());
}
WebColorChooser::~WebColorChooser()
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
index e3af6fc4f..3624ca9cc 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebContextMenuClient.cpp
@@ -81,9 +81,7 @@ void WebContextMenuClient::searchWithGoogle(const Frame* frame)
String encoded = encodeWithURLEscapeSequences(searchString);
encoded.replace("%20", "+");
- String url("http://www.google.com/search?q=");
- url.append(encoded);
- url.append("&ie=UTF-8&oe=UTF-8");
+ String url = "http://www.google.com/search?q=" + encoded + "&ie=UTF-8&oe=UTF-8";
if (Page* page = frame->page()) {
UserGestureIndicator indicator(DefinitelyProcessingUserGesture);
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
index 092ec68d1..baf68f033 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.cpp
@@ -48,6 +48,12 @@
#include <WebCore/UndoStep.h>
#include <WebCore/UserTypingGestureIndicator.h>
+#if PLATFORM(QT)
+#include <QClipboard>
+#include <QGuiApplication>
+#include <WebCore/Pasteboard.h>
+#endif
+
using namespace WebCore;
using namespace HTMLNames;
@@ -164,21 +170,21 @@ bool WebEditorClient::shouldMoveRangeAfterDelete(Range*, Range*)
void WebEditorClient::didBeginEditing()
{
// FIXME: What good is a notification name, if it's always the same?
- DEFINE_STATIC_LOCAL(String, WebViewDidBeginEditingNotification, ("WebViewDidBeginEditingNotification"));
+ DEFINE_STATIC_LOCAL(String, WebViewDidBeginEditingNotification, (ASCIILiteral("WebViewDidBeginEditingNotification")));
m_page->injectedBundleEditorClient().didBeginEditing(m_page, WebViewDidBeginEditingNotification.impl());
notImplemented();
}
void WebEditorClient::respondToChangedContents()
{
- DEFINE_STATIC_LOCAL(String, WebViewDidChangeNotification, ("WebViewDidChangeNotification"));
+ DEFINE_STATIC_LOCAL(String, WebViewDidChangeNotification, (ASCIILiteral("WebViewDidChangeNotification")));
m_page->injectedBundleEditorClient().didChange(m_page, WebViewDidChangeNotification.impl());
notImplemented();
}
void WebEditorClient::respondToChangedSelection(Frame* frame)
{
- DEFINE_STATIC_LOCAL(String, WebViewDidChangeSelectionNotification, ("WebViewDidChangeSelectionNotification"));
+ DEFINE_STATIC_LOCAL(String, WebViewDidChangeSelectionNotification, (ASCIILiteral("WebViewDidChangeSelectionNotification")));
m_page->injectedBundleEditorClient().didChangeSelection(m_page, WebViewDidChangeSelectionNotification.impl());
if (!frame)
return;
@@ -195,14 +201,27 @@ void WebEditorClient::respondToChangedSelection(Frame* frame)
unsigned start;
unsigned end;
m_page->send(Messages::WebPageProxy::DidChangeCompositionSelection(frame->editor()->getCompositionSelection(start, end)));
-#elif PLATFORM(GTK)
- setSelectionPrimaryClipboardIfNeeded(frame);
+#elif PLATFORM(GTK) || PLATFORM(QT)
+ updateGlobalSelection(frame);
#endif
}
+#if PLATFORM(QT)
+// FIXME: Use this function for other X11-based platforms that need to manually update the global selection.
+void WebEditorClient::updateGlobalSelection(Frame* frame)
+{
+ if (supportsGlobalSelection() && frame->selection()->isRange()) {
+ bool oldSelectionMode = Pasteboard::generalPasteboard()->isSelectionMode();
+ Pasteboard::generalPasteboard()->setSelectionMode(true);
+ Pasteboard::generalPasteboard()->writeSelection(frame->selection()->toNormalizedRange().get(), frame->editor()->canSmartCopyOrDelete(), frame);
+ Pasteboard::generalPasteboard()->setSelectionMode(oldSelectionMode);
+ }
+}
+#endif
+
void WebEditorClient::didEndEditing()
{
- DEFINE_STATIC_LOCAL(String, WebViewDidEndEditingNotification, ("WebViewDidEndEditingNotification"));
+ DEFINE_STATIC_LOCAL(String, WebViewDidEndEditingNotification, (ASCIILiteral("WebViewDidEndEditingNotification")));
m_page->injectedBundleEditorClient().didEndEditing(m_page, WebViewDidEndEditingNotification.impl());
notImplemented();
}
@@ -462,4 +481,16 @@ void WebEditorClient::requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheck
notImplemented();
}
+bool WebEditorClient::supportsGlobalSelection()
+{
+#if PLATFORM(QT)
+ return qApp->clipboard()->supportsSelection();
+#elif PLATFORM(GTK) && PLATFORM(X11)
+ return true;
+#else
+ // FIXME: Return true on other X11 platforms when they support global selection.
+ return false;
+#endif
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
index fbadd2f5e..b5421d0be 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebEditorClient.h
@@ -124,7 +124,9 @@ private:
#if PLATFORM(GTK)
bool executePendingEditorCommands(WebCore::Frame*, Vector<WTF::String>, bool) OVERRIDE;
void getEditorCommandsForKeyEvent(const WebCore::KeyboardEvent*, Vector<WTF::String>&) OVERRIDE;
- void setSelectionPrimaryClipboardIfNeeded(WebCore::Frame*) OVERRIDE;
+#endif
+#if PLATFORM(GTK) || PLATFORM(QT)
+ void updateGlobalSelection(WebCore::Frame*);
#endif
TextCheckerClient* textChecker() OVERRIDE { return this; }
@@ -149,6 +151,9 @@ private:
#if PLATFORM(GTK)
virtual bool shouldShowUnicodeMenu() OVERRIDE;
#endif
+
+ virtual bool supportsGlobalSelection() OVERRIDE;
+
WebPage* m_page;
};
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index a3c0cc14a..6a8019306 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -1228,6 +1228,7 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
Color backgroundColor = webPage->drawsTransparentBackground() ? Color::transparent : Color::white;
bool isMainFrame = webPage->mainWebFrame() == m_frame;
bool shouldUseFixedLayout = isMainFrame && webPage->useFixedLayout();
+ IntRect currentVisibleContentBounds = m_frame->visibleContentBounds();
const ResourceResponse& response = m_frame->coreFrame()->loader()->documentLoader()->response();
m_frameHasCustomRepresentation = isMainFrame && WebProcess::shared().shouldUseCustomRepresentationForResponse(response);
@@ -1235,8 +1236,8 @@ void WebFrameLoaderClient::transitionToCommittedForNewPage()
m_frame->coreFrame()->createView(webPage->size(), backgroundColor, /* transparent */ false, IntSize(), shouldUseFixedLayout);
m_frame->coreFrame()->view()->setTransparent(!webPage->drawsBackground());
- if (shouldUseFixedLayout)
- m_frame->coreFrame()->view()->setFixedVisibleContentRect(webPage->bounds());
+ if (shouldUseFixedLayout && !currentVisibleContentBounds.isEmpty())
+ m_frame->coreFrame()->view()->setFixedVisibleContentRect(currentVisibleContentBounds);
}
void WebFrameLoaderClient::didSaveToPageCache()
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h b/Source/WebKit2/WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h
index 63f199098..c80b5781e 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/WebRegisterProtocolHandlerClient.h
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/WebNavigatorContentUtilsClient.h
@@ -23,19 +23,19 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef WebRegisterProtocolHandlerClient_h
-#define WebRegisterProtocolHandlerClient_h
+#ifndef WebNavigatorContentUtilsClient_h
+#define WebNavigatorContentUtilsClient_h
-#if ENABLE(REGISTER_PROTOCOL_HANDLER)
+#if ENABLE(NAVIGATOR_CONTENT_UTILS)
-#include <WebCore/RegisterProtocolHandlerClient.h>
+#include <WebCore/NavigatorContentUtilsClient.h>
#include <wtf/text/WTFString.h>
namespace WebKit {
-class WebRegisterProtocolHandlerClient : public WebCore::RegisterProtocolHandlerClient {
+class WebNavigatorContentUtilsClient : public WebCore::NavigatorContentUtilsClient {
public:
- virtual ~WebRegisterProtocolHandlerClient() { }
+ virtual ~WebNavigatorContentUtilsClient() { }
private:
virtual void registerProtocolHandler(const String& scheme, const String& baseURL, const String& url, const String& title) OVERRIDE { }
@@ -48,5 +48,5 @@ private:
}
-#endif // ENABLE(REGISTER_PROTOCOL_HANDLER)
-#endif // WebRegisterProtocolHandlerClient_h
+#endif // ENABLE(NAVIGATOR_CONTENT_UTILS)
+#endif // WebNavigatorContentUtilsClient_h
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
index e33d72327..5f96352fe 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp
@@ -170,7 +170,7 @@ static void collapseSelection(GtkClipboard* clipboard, Frame* frame)
}
#endif
-void WebEditorClient::setSelectionPrimaryClipboardIfNeeded(Frame* frame)
+void WebEditorClient::updateGlobalSelection(Frame* frame)
{
#if PLATFORM(X11)
GtkClipboard* clipboard = PasteboardHelper::defaultPasteboardHelper()->getPrimarySelectionClipboard(frame);
diff --git a/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp b/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp
index 8684f1c83..7f2e74ce8 100644
--- a/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp
+++ b/Source/WebKit2/WebProcess/WebCoreSupport/qt/WebErrorsQt.cpp
@@ -43,7 +43,7 @@ namespace WebKit {
ResourceError cancelledError(const ResourceRequest& request)
{
ResourceError error = ResourceError("QtNetwork", QNetworkReply::OperationCanceledError, request.url().string(),
- QCoreApplication::translate("QWebFrame", "Request cancelled", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Request cancelled"));
error.setIsCancellation(true);
return error;
}
@@ -51,37 +51,37 @@ ResourceError cancelledError(const ResourceRequest& request)
ResourceError blockedError(const ResourceRequest& request)
{
return ResourceError(WebError::webKitErrorDomain(), kWKErrorCodeCannotUseRestrictedPort, request.url().string(),
- QCoreApplication::translate("QWebFrame", "Request blocked", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Request blocked"));
}
ResourceError cannotShowURLError(const ResourceRequest& request)
{
return ResourceError(WebError::webKitErrorDomain(), kWKErrorCodeCannotShowURL, request.url().string(),
- QCoreApplication::translate("QWebFrame", "Cannot show URL", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Cannot show URL"));
}
ResourceError interruptedForPolicyChangeError(const ResourceRequest& request)
{
return ResourceError(WebError::webKitErrorDomain(), kWKErrorCodeFrameLoadInterruptedByPolicyChange, request.url().string(),
- QCoreApplication::translate("QWebFrame", "Frame load interrupted by policy change", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Frame load interrupted by policy change"));
}
ResourceError cannotShowMIMETypeError(const ResourceResponse& response)
{
return ResourceError(WebError::webKitErrorDomain(), kWKErrorCodeCannotShowMIMEType, response.url().string(),
- QCoreApplication::translate("QWebFrame", "Cannot show mimetype", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Cannot show mimetype"));
}
ResourceError fileDoesNotExistError(const ResourceResponse& response)
{
return ResourceError("QtNetwork", QNetworkReply::ContentNotFoundError, response.url().string(),
- QCoreApplication::translate("QWebFrame", "File does not exist", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "File does not exist"));
}
ResourceError pluginWillHandleLoadError(const ResourceResponse& response)
{
return ResourceError(WebError::webKitErrorDomain(), kWKErrorCodePlugInWillHandleLoad, response.url().string(),
- QCoreApplication::translate("QWebFrame", "Loading is handled by the media engine", 0, QCoreApplication::UnicodeUTF8));
+ QCoreApplication::translate("QWebFrame", "Loading is handled by the media engine"));
}
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp b/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp
index 141d2e603..4f176dd86 100644
--- a/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp
@@ -512,7 +512,7 @@ void CoordinatedGraphicsLayer::syncAnimatedProperties()
if (!m_shouldSyncAnimatedProperties)
return;
- m_shouldSyncAnimatedProperties = true;
+ m_shouldSyncAnimatedProperties = false;
if (m_effectiveOpacity != opacity())
m_CoordinatedGraphicsLayerClient->setLayerAnimatedOpacity(id(), m_effectiveOpacity);
if (m_effectiveTransform != transform())
diff --git a/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp b/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp
index a3a572907..d02c9abb0 100644
--- a/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp
@@ -367,7 +367,7 @@ void LayerTreeCoordinator::syncFixedLayers()
if (!m_webPage->corePage()->settings() || !m_webPage->corePage()->settings()->acceleratedCompositingForFixedPositionEnabled())
return;
- if (!m_webPage->mainFrame()->view()->hasFixedObjects())
+ if (!m_webPage->mainFrame()->view()->hasViewportConstrainedObjects())
return;
RenderLayer* rootRenderLayer = m_webPage->mainFrame()->contentRenderer()->compositor()->rootRenderLayer();
diff --git a/Source/WebKit2/WebProcess/WebPage/WebFrame.h b/Source/WebKit2/WebProcess/WebPage/WebFrame.h
index eea09b74a..bd536372f 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebFrame.h
+++ b/Source/WebKit2/WebProcess/WebPage/WebFrame.h
@@ -40,12 +40,13 @@
#include <wtf/RetainPtr.h>
namespace WebCore {
- class Frame;
- class HTMLFrameOwnerElement;
+class Frame;
+class HTMLFrameOwnerElement;
+class IntRect;
#if ENABLE(WEB_INTENTS)
- class Intent;
+class Intent;
#endif
- class KURL;
+class KURL;
}
namespace WebKit {
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp b/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
index ecac12cf6..8e151818a 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -515,7 +515,7 @@ EditorState WebPage::editorState() const
}
if (selectionRoot)
- result.editorRect = frame->view()->contentsToWindow(selectionRoot->getPixelSnappedRect());
+ result.editorRect = frame->view()->contentsToWindow(selectionRoot->pixelSnappedBoundingBox());
RefPtr<Range> range;
if (result.hasComposition && (range = frame->editor()->compositionRange())) {
@@ -1310,7 +1310,7 @@ static bool isContextClick(const PlatformMouseEvent& event)
static bool handleContextMenuEvent(const PlatformMouseEvent& platformMouseEvent, WebPage* page)
{
IntPoint point = page->corePage()->mainFrame()->view()->windowToContents(platformMouseEvent.position());
- HitTestResult result = page->corePage()->mainFrame()->eventHandler()->hitTestResultAtPoint(point, false);
+ HitTestResult result = page->corePage()->mainFrame()->eventHandler()->hitTestResultAtPoint(point);
Frame* frame = page->corePage()->mainFrame();
if (result.innerNonSharedNode())
@@ -1351,8 +1351,14 @@ static bool handleMouseEvent(const WebMouseEvent& mouseEvent, WebPage* page, boo
return handled;
}
- case PlatformEvent::MouseReleased:
- return frame->eventHandler()->handleMouseReleaseEvent(platformMouseEvent);
+ case PlatformEvent::MouseReleased: {
+ bool handled = frame->eventHandler()->handleMouseReleaseEvent(platformMouseEvent);
+#if PLATFORM(QT)
+ if (!handled)
+ handled = page->handleMouseReleaseEvent(platformMouseEvent);
+#endif
+ return handled;
+ }
case PlatformEvent::MouseMoved:
if (onlyUpdateScrollbars)
return frame->eventHandler()->passMouseMovedEventToScrollbars(platformMouseEvent);
@@ -1555,14 +1561,16 @@ void WebPage::highlightPotentialActivation(const IntPoint& point, const IntSize&
return;
#else
- HitTestResult result = mainframe->eventHandler()->hitTestResultAtPoint(mainframe->view()->windowToContents(point), /*allowShadowContent*/ false, /*ignoreClipping*/ true);
+ HitTestResult result = mainframe->eventHandler()->hitTestResultAtPoint(mainframe->view()->windowToContents(point), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
adjustedNode = result.innerNode();
#endif
// Find the node to highlight. This is not the same as the node responding the tap gesture, because many
// pages has a global click handler and we do not want to highlight the body.
// Instead find the enclosing link or focusable element, or the last enclosing inline element.
for (Node* node = adjustedNode; node; node = node->parentOrHostNode()) {
- if (node->isMouseFocusable() || node->isLink()) {
+ if (node->isDocumentNode() || node->isFrameOwnerElement())
+ break;
+ if (node->isMouseFocusable() || node->willRespondToMouseClickEvents()) {
activationNode = node;
break;
}
@@ -2066,6 +2074,7 @@ void WebPage::updatePreferences(const WebPreferencesStore& store)
#if ENABLE(SMOOTH_SCROLLING)
settings->setEnableScrollAnimator(store.getBoolValueForKey(WebPreferencesKey::scrollAnimatorEnabledKey()));
#endif
+ settings->setInteractiveFormValidationEnabled(store.getBoolValueForKey(WebPreferencesKey::interactiveFormValidationEnabledKey()));
// <rdar://problem/10697417>: It is necessary to force compositing when accelerate drawing
// is enabled on Mac so that scrollbars are always in their own layers.
@@ -2111,7 +2120,7 @@ void WebPage::updatePreferences(const WebPreferencesStore& store)
#endif
settings->setShouldRespectImageOrientation(store.getBoolValueForKey(WebPreferencesKey::shouldRespectImageOrientationKey()));
- settings->setThirdPartyStorageBlockingEnabled(store.getBoolValueForKey(WebPreferencesKey::thirdPartyStorageBlockingEnabledKey()));
+ settings->setStorageBlockingPolicy(static_cast<SecurityOrigin::StorageBlockingPolicy>(store.getUInt32ValueForKey(WebPreferencesKey::storageBlockingPolicyKey())));
settings->setDiagnosticLoggingEnabled(store.getBoolValueForKey(WebPreferencesKey::diagnosticLoggingEnabledKey()));
@@ -2722,7 +2731,7 @@ void WebPage::findZoomableAreaForPoint(const WebCore::IntPoint& point, const Web
{
UNUSED_PARAM(area);
Frame* mainframe = m_mainFrame->coreFrame();
- HitTestResult result = mainframe->eventHandler()->hitTestResultAtPoint(mainframe->view()->windowToContents(point), /*allowShadowContent*/ false, /*ignoreClipping*/ true);
+ HitTestResult result = mainframe->eventHandler()->hitTestResultAtPoint(mainframe->view()->windowToContents(point), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::IgnoreClipping);
Node* node = result.innerNode();
diff --git a/Source/WebKit2/WebProcess/WebPage/WebPage.h b/Source/WebKit2/WebProcess/WebPage/WebPage.h
index 789727ad3..a81e4003a 100644
--- a/Source/WebKit2/WebProcess/WebPage/WebPage.h
+++ b/Source/WebKit2/WebProcess/WebPage/WebPage.h
@@ -460,6 +460,10 @@ public:
#endif
#endif
+#if PLATFORM(QT)
+ bool handleMouseReleaseEvent(const WebCore::PlatformMouseEvent&);
+#endif
+
void setCompositionForTesting(const String& compositionString, uint64_t from, uint64_t length);
bool hasCompositionForTesting();
void confirmCompositionForTesting(const String& compositionString);
@@ -577,6 +581,8 @@ public:
void setAsynchronousPluginInitializationEnabledForAllPlugins(bool enabled) { m_asynchronousPluginInitializationEnabledForAllPlugins = enabled; }
bool artificialPluginInitializationDelayEnabled() const { return m_artificialPluginInitializationDelayEnabled; }
void setArtificialPluginInitializationDelayEnabled(bool enabled) { m_artificialPluginInitializationDelayEnabled = enabled; }
+ void setTabToLinksEnabled(bool enabled) { m_tabToLinks = enabled; }
+ bool tabToLinksEnabled() const { return m_tabToLinks; }
bool scrollingPerformanceLoggingEnabled() const { return m_scrollingPerformanceLoggingEnabled; }
void setScrollingPerformanceLoggingEnabled(bool);
diff --git a/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp b/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp
index fa570358a..0057e86ac 100644
--- a/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp
@@ -62,8 +62,48 @@ static inline void scroll(Page* page, ScrollDirection direction, ScrollGranulari
bool WebPage::performDefaultBehaviorForKeyEvent(const WebKeyboardEvent& keyboardEvent)
{
- notImplemented();
- return false;
+ if (keyboardEvent.type() != WebEvent::KeyDown && keyboardEvent.type() != WebEvent::RawKeyDown)
+ return false;
+
+ switch (keyboardEvent.windowsVirtualKeyCode()) {
+ case VK_BACK:
+ if (keyboardEvent.shiftKey())
+ m_page->goForward();
+ else
+ m_page->goBack();
+ break;
+ case VK_SPACE:
+ scroll(m_page.get(), keyboardEvent.shiftKey() ? ScrollUp : ScrollDown, ScrollByPage);
+ break;
+ case VK_LEFT:
+ scroll(m_page.get(), ScrollLeft, ScrollByLine);
+ break;
+ case VK_RIGHT:
+ scroll(m_page.get(), ScrollRight, ScrollByLine);
+ break;
+ case VK_UP:
+ scroll(m_page.get(), ScrollUp, ScrollByLine);
+ break;
+ case VK_DOWN:
+ scroll(m_page.get(), ScrollDown, ScrollByLine);
+ break;
+ case VK_HOME:
+ scroll(m_page.get(), ScrollUp, ScrollByDocument);
+ break;
+ case VK_END:
+ scroll(m_page.get(), ScrollDown, ScrollByDocument);
+ break;
+ case VK_PRIOR:
+ scroll(m_page.get(), ScrollUp, ScrollByPage);
+ break;
+ case VK_NEXT:
+ scroll(m_page.get(), ScrollDown, ScrollByPage);
+ break;
+ default:
+ return false;
+ }
+
+ return true;
}
bool WebPage::platformHasLocalDataForURL(const KURL&)
diff --git a/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp b/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
index 1b91de84f..ee483aed3 100644
--- a/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp
@@ -114,7 +114,9 @@ void LayerTreeHostGtk::initialize()
// The creation of the TextureMapper needs an active OpenGL context.
context->makeContextCurrent();
+
m_textureMapper = TextureMapperGL::create();
+ static_cast<TextureMapperGL*>(m_textureMapper.get())->setEnableEdgeDistanceAntialiasing(true);
toTextureMapperLayer(m_rootLayer.get())->setTextureMapper(m_textureMapper.get());
if (m_webPage->hasPageOverlay())
diff --git a/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp b/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
index 095f77312..29f89324e 100644
--- a/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/gtk/WebPrintOperationGtk.cpp
@@ -34,6 +34,7 @@
#include <WebCore/NotImplemented.h>
#include <WebCore/PlatformContextCairo.h>
#include <WebCore/PrintContext.h>
+#include <WebCore/ResourceError.h>
#include <gtk/gtk.h>
#include <wtf/Vector.h>
#include <wtf/gobject/GOwnPtr.h>
diff --git a/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm b/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
index 2433d770f..6c0033493 100644
--- a/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
+++ b/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm
@@ -49,6 +49,7 @@
#import <WebCore/ScrollingThread.h>
#import <WebCore/ScrollingTree.h>
#import <WebCore/Settings.h>
+#import <WebCore/TiledBacking.h>
#import <wtf/MainThread.h>
@interface CATransaction (Details)
@@ -134,6 +135,14 @@ void TiledCoreAnimationDrawingArea::forceRepaint()
if (m_layerTreeStateIsFrozen)
return;
+ for (Frame* frame = m_webPage->corePage()->mainFrame(); frame; frame = frame->tree()->traverseNext()) {
+ FrameView* frameView = frame->view();
+ if (!frameView || !frameView->tiledBacking())
+ continue;
+
+ frameView->tiledBacking()->forceRepaint();
+ }
+
flushLayers();
[CATransaction flush];
[CATransaction synchronize];
@@ -199,6 +208,9 @@ void TiledCoreAnimationDrawingArea::setPageOverlayNeedsDisplay(const IntRect& re
void TiledCoreAnimationDrawingArea::updatePreferences()
{
+ bool scrollingPerformanceLoggingEnabled = m_webPage->scrollingPerformanceLoggingEnabled();
+ ScrollingThread::dispatch(bind(&ScrollingTree::setScrollingPerformanceLoggingEnabled, m_webPage->corePage()->scrollingCoordinator()->scrollingTree(), scrollingPerformanceLoggingEnabled));
+
bool showDebugBorders = m_webPage->corePage()->settings()->showDebugBorders();
if (showDebugBorders == !!m_debugInfoLayer)
@@ -212,10 +224,7 @@ void TiledCoreAnimationDrawingArea::updatePreferences()
m_debugInfoLayer = nullptr;
}
- bool scrollingPerformanceLoggingEnabled = m_webPage->scrollingPerformanceLoggingEnabled();
-
ScrollingThread::dispatch(bind(&ScrollingTree::setDebugRootLayer, m_webPage->corePage()->scrollingCoordinator()->scrollingTree(), m_debugInfoLayer));
- ScrollingThread::dispatch(bind(&ScrollingTree::setScrollingPerformanceLoggingEnabled, m_webPage->corePage()->scrollingCoordinator()->scrollingTree(), scrollingPerformanceLoggingEnabled));
}
void TiledCoreAnimationDrawingArea::dispatchAfterEnsuringUpdatedScrollPosition(const Function<void ()>& functionRef)
diff --git a/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm b/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
index c2f016537..359f35a5f 100644
--- a/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
+++ b/Source/WebKit2/WebProcess/WebPage/mac/WebPageMac.mm
@@ -375,7 +375,7 @@ void WebPage::characterIndexForPoint(IntPoint point, uint64_t& index)
if (!frame)
return;
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(point, false);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(point);
frame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
RefPtr<Range> range = frame->rangeForPoint(result.roundedPoint());
@@ -464,7 +464,7 @@ void WebPage::performDictionaryLookupAtLocation(const FloatPoint& floatPoint)
// Find the frame the point is over.
IntPoint point = roundedIntPoint(floatPoint);
- HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(point), false);
+ HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(point));
frame = result.innerNonSharedNode() ? result.innerNonSharedNode()->document()->frame() : m_page->focusController()->focusedOrMainFrame();
IntPoint translatedPoint = frame->view()->windowToContents(point);
@@ -727,7 +727,7 @@ void WebPage::shouldDelayWindowOrderingEvent(const WebKit::WebMouseEvent& event,
return;
#if ENABLE(DRAG_SUPPORT)
- HitTestResult hitResult = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(event.position()), true);
+ HitTestResult hitResult = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(event.position()), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
if (hitResult.isSelected())
result = frame->eventHandler()->eventMayStartDrag(platform(event));
#endif
@@ -740,7 +740,7 @@ void WebPage::acceptsFirstMouse(int eventNumber, const WebKit::WebMouseEvent& ev
if (!frame)
return;
- HitTestResult hitResult = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(event.position()), true);
+ HitTestResult hitResult = frame->eventHandler()->hitTestResultAtPoint(frame->view()->windowToContents(event.position()), HitTestRequest::ReadOnly | HitTestRequest::Active | HitTestRequest::AllowShadowContent);
frame->eventHandler()->setActivationEventNumber(eventNumber);
#if ENABLE(DRAG_SUPPORT)
if (hitResult.isSelected())
diff --git a/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp b/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp
index 18e4f948a..e3f6034df 100644
--- a/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp
+++ b/Source/WebKit2/WebProcess/WebPage/qt/WebPageQt.cpp
@@ -34,6 +34,8 @@
#include "WebPageProxyMessages.h"
#include "WebPopupMenu.h"
#include "WebProcess.h"
+#include <QClipboard>
+#include <QGuiApplication>
#include <WebCore/DOMWrapperWorld.h>
#include <WebCore/FocusController.h>
#include <WebCore/Frame.h>
@@ -438,4 +440,21 @@ void WebPage::hidePopupMenu()
m_activePopupMenu = 0;
}
+bool WebPage::handleMouseReleaseEvent(const PlatformMouseEvent& platformMouseEvent)
+{
+#ifndef QT_NO_CLIPBOARD
+ if (platformMouseEvent.button() != WebCore::MiddleButton)
+ return false;
+
+ if (qApp->clipboard()->supportsSelection()) {
+ WebCore::Frame* focusFrame = m_page->focusController()->focusedOrMainFrame();
+ if (focusFrame) {
+ focusFrame->editor()->command(AtomicString("PasteGlobalSelection")).execute();
+ return true;
+ }
+ }
+#endif
+ return false;
+}
+
} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/WebProcess.cpp b/Source/WebKit2/WebProcess/WebProcess.cpp
index 1490ff3ca..ef86bf3d4 100644
--- a/Source/WebKit2/WebProcess/WebProcess.cpp
+++ b/Source/WebKit2/WebProcess/WebProcess.cpp
@@ -133,11 +133,8 @@ WebProcess& WebProcess::shared()
return process;
}
-static const double shutdownTimeout = 60;
-
WebProcess::WebProcess()
- : ChildProcess(shutdownTimeout)
- , m_inDidClose(false)
+ : m_inDidClose(false)
, m_shouldTrackVisitedLinks(true)
, m_hasSetCacheModel(false)
, m_cacheModel(CacheModelDocumentViewer)
@@ -256,10 +253,6 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
for (size_t i = 0; i < parameters.mimeTypesWithCustomRepresentation.size(); ++i)
m_mimeTypesWithCustomRepresentations.add(parameters.mimeTypesWithCustomRepresentation[i]);
-
-#if PLATFORM(MAC)
- m_presenterApplicationPid = parameters.presenterApplicationPid;
-#endif
if (parameters.shouldAlwaysUseComplexTextCodePath)
setAlwaysUsesComplexTextCodePath(true);
@@ -274,6 +267,8 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame
#if ENABLE(PLUGIN_PROCESS)
m_disablePluginProcessMessageTimeout = parameters.disablePluginProcessMessageTimeout;
#endif
+
+ setTerminationTimeout(parameters.terminationTimeout);
}
void WebProcess::setShouldTrackVisitedLinks(bool shouldTrackVisitedLinks)
@@ -917,10 +912,10 @@ static void fromCountedSetToHashMap(TypeCountSet* countedSet, HashMap<String, ui
static void getWebCoreMemoryCacheStatistics(Vector<HashMap<String, uint64_t> >& result)
{
- DEFINE_STATIC_LOCAL(String, imagesString, ("Images"));
- DEFINE_STATIC_LOCAL(String, cssString, ("CSS"));
- DEFINE_STATIC_LOCAL(String, xslString, ("XSL"));
- DEFINE_STATIC_LOCAL(String, javaScriptString, ("JavaScript"));
+ DEFINE_STATIC_LOCAL(String, imagesString, (ASCIILiteral("Images")));
+ DEFINE_STATIC_LOCAL(String, cssString, (ASCIILiteral("CSS")));
+ DEFINE_STATIC_LOCAL(String, xslString, (ASCIILiteral("XSL")));
+ DEFINE_STATIC_LOCAL(String, javaScriptString, (ASCIILiteral("JavaScript")));
MemoryCache::Statistics memoryCacheStatistics = memoryCache()->getStatistics();
diff --git a/Source/WebKit2/WebProcess/WebProcess.h b/Source/WebKit2/WebProcess/WebProcess.h
index d3df1b778..953af29c0 100644
--- a/Source/WebKit2/WebProcess/WebProcess.h
+++ b/Source/WebKit2/WebProcess/WebProcess.h
@@ -128,6 +128,7 @@ public:
#if PLATFORM(MAC)
void initializeShim();
+ void initializeSandbox(const String& clientIdentifier);
#if USE(ACCELERATED_COMPOSITING)
mach_port_t compositingRenderServerPort() const { return m_compositingRenderServerPort; }
@@ -330,8 +331,6 @@ private:
String m_localStorageDirectory;
- RefPtr<SandboxExtension> m_applicationCachePathExtension;
-
#if ENABLE(PLUGIN_PROCESS)
PluginProcessConnectionManager m_pluginProcessConnectionManager;
bool m_disablePluginProcessMessageTimeout;
diff --git a/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in b/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in
index d19525890..84ff7ed21 100644
--- a/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in
+++ b/Source/WebKit2/WebProcess/com.apple.WebProcess.sb.in
@@ -51,6 +51,7 @@
(home-literal "/Library/Preferences/com.apple.WebFoundation.plist")
(home-literal "/Library/Preferences/com.apple.security.plist")
(home-literal "/Library/Preferences/com.apple.security.revocation.plist")
+ (home-literal "/Library/Preferences/com.apple.speech.recognition.AppleSpeechRecognition.prefs.plist")
(home-literal "/Library/Application Support/SyncServices/Local/ClientsWithChanges/com.apple.Keychain")
(home-regex #"/Library/Preferences/com\.apple\.driver\.(AppleBluetoothMultitouch\.mouse|AppleBluetoothMultitouch\.trackpad|AppleHIDMouse)\.plist$")
@@ -70,7 +71,9 @@
(subpath "/Library/Video/Plug-Ins")
(subpath "/Library/QuickTime")
- (home-subpath "/Library/Dictionaries"))
+ (home-subpath "/Library/Dictionaries")
+ (home-subpath "/Library/Keyboard Layouts")
+ (home-subpath "/Library/Input Methods"))
;; This should be updated when <rdar://problem/9355830> is fixed.
;; Read-only extensions from UIProcess
@@ -80,6 +83,9 @@
;; Read-write extensions from UIProcess
(allow file-read* file-write* (extension))
+;; Mach lookup extensions from the UIProcess
+(allow mach-lookup (extension "com.apple.app-sandbox.mach"))
+
;; Writable preferences and temporary files
(allow file*
(home-subpath "/Library/Caches/com.apple.WebProcess")
@@ -104,30 +110,6 @@
(if (positive? (string-length (param "DARWIN_USER_TEMP_DIR")))
(allow file* (subpath (param "DARWIN_USER_TEMP_DIR"))))
-;; Database directory.
-(if (positive? (string-length (param "WEBKIT_DATABASE_DIR")))
- (allow file* (subpath (param "WEBKIT_DATABASE_DIR"))))
-
-;; LocalStorage directory.
-(if (positive? (string-length (param "WEBKIT_LOCALSTORAGE_DIR")))
- (allow file* (subpath (param "WEBKIT_LOCALSTORAGE_DIR"))))
-
-;; ApplicationCache directory.
-(if (positive? (string-length (param "WEBKIT_APPLICATION_CACHE_DIR")))
- (allow file* (subpath (param "WEBKIT_APPLICATION_CACHE_DIR"))))
-
-;; The Web Inspector directory.
-(if (positive? (string-length (param "WEBKIT_WEB_INSPECTOR_DIR")))
- (allow file-read* (subpath (param "WEBKIT_WEB_INSPECTOR_DIR"))))
-
-;; The NSURLCache directory.
-(if (positive? (string-length (param "NSURL_CACHE_DIR")))
- (allow file* (subpath (param "NSURL_CACHE_DIR"))))
-
-;; The bundle resource path of the UI process.
-(if (positive? (string-length (param "UI_PROCESS_BUNDLE_RESOURCE_DIR")))
- (allow file-read* (subpath (param "UI_PROCESS_BUNDLE_RESOURCE_DIR"))))
-
;; IOKit user clients
(allow iokit-open
(iokit-connection "IOAccelerator")
@@ -168,6 +150,7 @@
(global-name "com.apple.windowserver.active")
(global-name "com.apple.cfnetwork.AuthBrokerAgent")
(global-name "com.apple.PowerManagement.control")
+ (global-name "com.apple.speech.recognitionserver")
;; FIXME: This should be removed when <rdar://problem/9276393> is fixed.
(global-name "com.apple.metadata.mds"))
@@ -208,3 +191,6 @@
;; FIXME: Should be removed after <rdar://problem/10463881> is fixed.
(home-literal "/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2")
(home-literal "/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV2-journal"))
+
+(deny mach-lookup (with no-log)
+ (global-name "com.apple.coreservices.appleevents"))
diff --git a/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp b/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
index d03acf97a..931244c27 100644
--- a/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
+++ b/Source/WebKit2/WebProcess/efl/WebProcessMainEfl.cpp
@@ -26,15 +26,20 @@
#include "config.h"
#include "WebProcessMainEfl.h"
+#define LIBSOUP_USE_UNSTABLE_REQUEST_API
+
#include "ProxyResolverSoup.h"
#include "WKBase.h"
#include <Ecore.h>
+#include <Efreet.h>
#include <WebCore/ResourceHandle.h>
#include <WebCore/RunLoop.h>
#include <WebKit2/WebProcess.h>
+#include <libsoup/soup-cache.h>
#include <runtime/InitializeThreading.h>
#include <unistd.h>
#include <wtf/MainThread.h>
+#include <wtf/text/CString.h>
#if USE(COORDINATED_GRAPHICS)
#include "CoordinatedGraphicsLayer.h"
@@ -80,6 +85,13 @@ WK_EXPORT int WebProcessMainEfl(int argc, char* argv[])
g_object_unref(resolverEfl);
}
+ // Set SOUP cache.
+ String soupCacheDirectory = String::fromUTF8(efreet_cache_home_get()) + "/WebKitEfl";
+ SoupCache* soupCache = soup_cache_new(soupCacheDirectory.utf8().data(), SOUP_CACHE_SINGLE_USER);
+ soup_session_add_feature(session, SOUP_SESSION_FEATURE(soupCache));
+ soup_cache_load(soupCache);
+ g_object_unref(soupCache);
+
#if USE(COORDINATED_GRAPHICS)
CoordinatedGraphicsLayer::initFactory();
#endif
diff --git a/Source/WebKit2/WebProcess/efl/WebProcessEfl.cpp b/Source/WebKit2/WebProcess/mac/WebProcessInitialization.h
index ce6926fb4..e9f167230 100644
--- a/Source/WebKit2/WebProcess/efl/WebProcessEfl.cpp
+++ b/Source/WebKit2/WebProcess/mac/WebProcessInitialization.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2011 Samsung Electronics. All rights reserved.
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -10,10 +10,10 @@
* 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 MOTOROLA INC. AND ITS CONTRIBUTORS ``AS IS''
+ * 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 MOTOROLA INC. OR ITS CONTRIBUTORS
+ * 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
@@ -23,31 +23,15 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include "config.h"
-#include "WebProcess.h"
+#ifndef WebProcessInitialization_h
+#define WebProcessInitialization_h
-#include "WebProcessCreationParameters.h"
-#include <WebCore/NotImplemented.h>
+#include "Connection.h"
namespace WebKit {
-void WebProcess::platformSetCacheModel(CacheModel)
-{
- notImplemented();
-}
-
-void WebProcess::platformClearResourceCaches(ResourceCachesToClear)
-{
- notImplemented();
-}
-
-void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters&, CoreIPC::ArgumentDecoder*)
-{
- notImplemented();
-}
-
-void WebProcess::platformTerminate()
-{
-}
+void InitializeWebProcess(const String& clientIdentifier, CoreIPC::Connection::Identifier connectionIdentifier);
} // namespace WebKit
+
+#endif // WebProcessInitialization_h
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm b/Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm
new file mode 100644
index 000000000..9798e767b
--- /dev/null
+++ b/Source/WebKit2/WebProcess/mac/WebProcessInitialization.mm
@@ -0,0 +1,58 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#import "config.h"
+#import "WebProcessInitialization.h"
+
+#import "WebProcess.h"
+#import "WebSystemInterface.h"
+#import <WebCore/RunLoop.h>
+#import <WebKitSystemInterface.h>
+#import <runtime/InitializeThreading.h>
+#import <wtf/MainThread.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+void InitializeWebProcess(const String& clientIdentifier, CoreIPC::Connection::Identifier connectionIdentifier)
+{
+ NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
+
+ InitWebCoreSystemInterface();
+ JSC::initializeThreading();
+ WTF::initializeMainThread();
+ RunLoop::initializeMainRunLoop();
+
+ WebProcess::shared().initializeShim();
+ WebProcess::shared().initializeSandbox(clientIdentifier);
+ WebProcess::shared().initialize(connectionIdentifier, RunLoop::main());
+
+ WKAXRegisterRemoteApp();
+
+ [pool drain];
+}
+
+} // namespace WebKit
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessMac.mm b/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
index 18765047b..1ac69ce81 100644
--- a/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
+++ b/Source/WebKit2/WebProcess/mac/WebProcessMac.mm
@@ -180,8 +180,10 @@ static void appendReadwriteSandboxDirectory(Vector<const char*>& vector, const c
#endif
-static void initializeSandbox(const WebProcessCreationParameters& parameters)
+void WebProcess::initializeSandbox(const String& clientIdentifier)
{
+ [[NSFileManager defaultManager] changeCurrentDirectoryPath:[[NSBundle mainBundle] bundlePath]];
+
#if ENABLE(WEB_PROCESS_SANDBOX)
#if DEBUG_BYPASS_SANDBOX
@@ -191,7 +193,7 @@ static void initializeSandbox(const WebProcessCreationParameters& parameters)
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1080
// Use private temporary and cache directories.
- String systemDirectorySuffix = "com.apple.WebProcess+" + parameters.uiProcessBundleIdentifier;
+ String systemDirectorySuffix = "com.apple.WebProcess+" + clientIdentifier;
setenv("DIRHELPER_USER_DIR_SUFFIX", fileSystemRepresentation(systemDirectorySuffix).data(), 0);
char temporaryDirectory[PATH_MAX];
if (!confstr(_CS_DARWIN_USER_TEMP_DIR, temporaryDirectory, sizeof(temporaryDirectory))) {
@@ -205,8 +207,6 @@ static void initializeSandbox(const WebProcessCreationParameters& parameters)
// These are read-only.
appendReadonlySandboxDirectory(sandboxParameters, "WEBKIT2_FRAMEWORK_DIR", [[[NSBundle bundleForClass:NSClassFromString(@"WKView")] bundlePath] stringByDeletingLastPathComponent]);
- appendReadonlySandboxDirectory(sandboxParameters, "UI_PROCESS_BUNDLE_RESOURCE_DIR", parameters.uiProcessBundleResourcePath);
- appendReadonlySandboxDirectory(sandboxParameters, "WEBKIT_WEB_INSPECTOR_DIR", parameters.webInspectorBaseDirectory);
// These are read-write getconf paths.
appendReadwriteConfDirectory(sandboxParameters, "DARWIN_USER_TEMP_DIR", _CS_DARWIN_USER_TEMP_DIR);
@@ -214,10 +214,6 @@ static void initializeSandbox(const WebProcessCreationParameters& parameters)
// These are read-write paths.
appendReadwriteSandboxDirectory(sandboxParameters, "HOME_DIR", NSHomeDirectory());
- appendReadwriteSandboxDirectory(sandboxParameters, "WEBKIT_DATABASE_DIR", parameters.databaseDirectory);
- appendReadwriteSandboxDirectory(sandboxParameters, "WEBKIT_LOCALSTORAGE_DIR", parameters.localStorageDirectory);
- appendReadwriteSandboxDirectory(sandboxParameters, "WEBKIT_APPLICATION_CACHE_DIR", parameters.applicationCacheDirectory);
- appendReadwriteSandboxDirectory(sandboxParameters, "NSURL_CACHE_DIR", parameters.nsURLCachePath);
sandboxParameters.append(static_cast<const char*>(0));
@@ -254,9 +250,11 @@ static id NSApplicationAccessibilityFocusedUIElement(NSApplication*, SEL)
void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::ArgumentDecoder*)
{
- [[NSFileManager defaultManager] changeCurrentDirectoryPath:[[NSBundle mainBundle] bundlePath]];
-
- initializeSandbox(parameters);
+ SandboxExtension::consumePermanently(parameters.uiProcessBundleResourcePathExtensionHandle);
+ SandboxExtension::consumePermanently(parameters.localStorageDirectoryExtensionHandle);
+ SandboxExtension::consumePermanently(parameters.databaseDirectoryExtensionHandle);
+ SandboxExtension::consumePermanently(parameters.applicationCacheDirectoryExtensionHandle);
+ SandboxExtension::consumePermanently(parameters.nsURLCachePathExtensionHandle);
if (!parameters.parentProcessName.isNull()) {
NSString *applicationName = [NSString stringWithFormat:WEB_UI_STRING("%@ Web Content", "Visible name of the web process. The argument is the application name."), (NSString *)parameters.parentProcessName];
@@ -277,6 +275,8 @@ void WebProcess::platformInitializeWebProcess(const WebProcessCreationParameters
m_notificationManager.initialize(parameters.notificationPermissions);
#endif
+ m_presenterApplicationPid = parameters.presenterApplicationPid;
+
// rdar://9118639 accessibilityFocusedUIElement in NSApplication defaults to use the keyWindow. Since there's
// no window in WK2, NSApplication needs to use the focused page's focused element.
Method methodToPatch = class_getInstanceMethod([NSApplication class], @selector(accessibilityFocusedUIElement));
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm b/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm
index 35a85a780..3a8dee7f7 100644
--- a/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm
+++ b/Source/WebKit2/WebProcess/mac/WebProcessMainMac.mm
@@ -29,27 +29,22 @@
#import "CommandLine.h"
#import "EnvironmentUtilities.h"
#import "EnvironmentVariables.h"
+#import "StringUtilities.h"
#import "WebProcess.h"
-#import "WebSystemInterface.h"
+#import "WebProcessInitialization.h"
#import <WebCore/RunLoop.h>
#import <WebKitSystemInterface.h>
#import <mach/mach_error.h>
#import <objc/objc-auto.h>
-#import <runtime/InitializeThreading.h>
#import <servers/bootstrap.h>
#import <signal.h>
#import <spawn.h>
#import <stdio.h>
#import <sysexits.h>
#import <unistd.h>
-#import <wtf/MainThread.h>
#import <wtf/RetainPtr.h>
#import <wtf/text/CString.h>
-#import <wtf/text/StringBuilder.h>
-
-#if HAVE(XPC)
-#import <xpc/xpc.h>
-#endif
+#import <wtf/text/WTFString.h>
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
extern "C" kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t);
@@ -65,49 +60,8 @@ extern "C" kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, u
using namespace WebCore;
-#if HAVE(XPC)
-namespace WebKit {
-int WebProcessMainXPC(xpc_connection_t xpcConnection, mach_port_t serverPort);
-}
-
-extern "C" WK_EXPORT int WebKitMainXPC(xpc_connection_t xpcConnection, mach_port_t serverPort);
-
-int WebKitMainXPC(xpc_connection_t xpcConnection, mach_port_t serverPort)
-{
- ASSERT(!objc_collectingEnabled());
-
- return WebKit::WebProcessMainXPC(xpcConnection, serverPort);
-}
-#endif
-
namespace WebKit {
-#if HAVE(XPC)
-
-int WebProcessMainXPC(xpc_connection_t xpcConnection, mach_port_t serverPort)
-{
- NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
-
- InitWebCoreSystemInterface();
- JSC::initializeThreading();
- WTF::initializeMainThread();
- RunLoop::initializeMainRunLoop();
-
- // Initialize the shim.
- // FIXME: Make the shim work.
- WebProcess::shared().initializeShim();
-
- // Create the connection.
- WebProcess::shared().initialize(CoreIPC::Connection::Identifier(serverPort, xpcConnection), RunLoop::main());
-
- WKAXRegisterRemoteApp();
-
- [pool drain];
-
- return 0;
-}
-#endif
-
int WebProcessMain(const CommandLine& commandLine)
{
// Remove the WebProcess shim from the DYLD_INSERT_LIBRARIES environment variable so any processes spawned by
@@ -125,6 +79,8 @@ int WebProcessMain(const CommandLine& commandLine)
if (serviceName.isEmpty() && clientExecutable.isEmpty())
return EXIT_FAILURE;
+ String clientIdentifier;
+
// Get the server port.
mach_port_t serverPort;
if (clientExecutable.isEmpty()) {
@@ -133,6 +89,12 @@ int WebProcessMain(const CommandLine& commandLine)
WTFLogAlways("bootstrap_look_up result: %s (%x)\n", mach_error_string(kr), kr);
return 2;
}
+
+ clientIdentifier = commandLine["client-identifier"];
+ if (!clientIdentifier) {
+ WTFLogAlways("No client identifier passed to the WebProcess");
+ return EXIT_FAILURE;
+ }
}
#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
else {
@@ -185,6 +147,16 @@ int WebProcessMain(const CommandLine& commandLine)
WTFLogAlways("Failed to obtain send right for port received from the UI process.\n");
return EXIT_FAILURE;
}
+
+ RetainPtr<NSURL> clientExecutableURL = adoptNS([[NSURL alloc] initFileURLWithPath:nsStringFromWebCoreString(clientExecutable)]);
+ RetainPtr<CFURLRef> clientBundleURL = adoptCF(WKCopyBundleURLForExecutableURL((CFURLRef)clientExecutableURL.get()));
+ RetainPtr<NSBundle> clientBundle = adoptNS([[NSBundle alloc] initWithURL:(NSURL *)clientBundleURL.get()]);
+
+ clientIdentifier = [clientBundle.get() bundleIdentifier];
+ if (!clientIdentifier) {
+ WTFLogAlways("Failed to obtain bundle identifier from the client executable. .\n");
+ return EXIT_FAILURE;
+ }
}
#endif // __MAC_OS_X_VERSION_MIN_REQUIRED >= 1070
@@ -193,6 +165,8 @@ int WebProcessMain(const CommandLine& commandLine)
if (cfLocalization)
WKSetDefaultLocalization(cfLocalization.get());
+ [pool drain];
+
#if !SHOW_CRASH_REPORTER
// Installs signal handlers that exit on a crash so that CrashReporter does not show up.
signal(SIGILL, _exit);
@@ -201,19 +175,6 @@ int WebProcessMain(const CommandLine& commandLine)
signal(SIGSEGV, _exit);
#endif
- InitWebCoreSystemInterface();
- JSC::initializeThreading();
- WTF::initializeMainThread();
- RunLoop::initializeMainRunLoop();
-
- // Initialize the shim.
- WebProcess::shared().initializeShim();
-
- // Create the connection.
- WebProcess::shared().initialize(CoreIPC::Connection::Identifier(serverPort), RunLoop::main());
-
- [pool drain];
-
#if USE(APPKIT)
// Initialize AppKit.
[NSApplication sharedApplication];
@@ -223,8 +184,8 @@ int WebProcessMain(const CommandLine& commandLine)
[[NSApplication sharedApplication] _installAutoreleasePoolsOnCurrentThreadIfNecessary];
#endif
- WKAXRegisterRemoteApp();
-
+ InitializeWebProcess(clientIdentifier, CoreIPC::Connection::Identifier(serverPort));
+
RunLoop::run();
// FIXME: Do more cleanup here.
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h b/Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h
new file mode 100644
index 000000000..ff3feb029
--- /dev/null
+++ b/Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.h
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2012 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 WebProcessXPCServiceMain_h
+#define WebProcessXPCServiceMain_h
+
+#if HAVE(XPC)
+
+#include "WKBase.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+WK_EXPORT int WebProcessXPCServiceMain(int argc, char** argv);
+
+#ifdef __cplusplus
+}; // extern "C"
+#endif
+
+#endif // HAVE(XPC)
+
+#endif // WebProcessXPCServiceMain_h
diff --git a/Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm b/Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm
new file mode 100644
index 000000000..b870f1d12
--- /dev/null
+++ b/Source/WebKit2/WebProcess/mac/WebProcessXPCServiceMain.mm
@@ -0,0 +1,80 @@
+/*
+ * Copyright (C) 2012 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.
+ */
+
+#import "config.h"
+#import "WebProcessXPCServiceMain.h"
+
+#if HAVE(XPC)
+
+#import "EnvironmentUtilities.h"
+#import "WebProcessInitialization.h"
+#import <stdio.h>
+#import <stdlib.h>
+#import <xpc/xpc.h>
+
+extern "C" mach_port_t xpc_dictionary_copy_mach_send(xpc_object_t, const char*);
+
+namespace WebKit {
+
+static void WebKit2ServiceEventHandler(xpc_connection_t peer)
+{
+ xpc_connection_set_target_queue(peer, dispatch_get_main_queue());
+ xpc_connection_set_event_handler(peer, ^(xpc_object_t event) {
+ xpc_type_t type = xpc_get_type(event);
+ if (type == XPC_TYPE_ERROR) {
+ if (event == XPC_ERROR_CONNECTION_INVALID || event == XPC_ERROR_TERMINATION_IMMINENT) {
+ // FIXME: Handle this case more gracefully.
+ exit(EXIT_FAILURE);
+ }
+ } else {
+ ASSERT(type == XPC_TYPE_DICTIONARY);
+
+ if (!strcmp(xpc_dictionary_get_string(event, "message-name"), "bootstrap")) {
+ xpc_object_t reply = xpc_dictionary_create_reply(event);
+ xpc_dictionary_set_string(reply, "message-name", "process-finished-launching");
+ xpc_connection_send_message(xpc_dictionary_get_remote_connection(event), reply);
+ xpc_release(reply);
+
+ InitializeWebProcess(String(xpc_dictionary_get_string(event, "client-identifier")), CoreIPC::Connection::Identifier(xpc_dictionary_copy_mach_send(event, "server-port"), peer));
+ }
+ }
+ });
+
+ xpc_connection_resume(peer);
+}
+
+} // namespace WebKit
+
+int WebProcessXPCServiceMain(int argc, char** argv)
+{
+ // Remove the WebProcess shim from the DYLD_INSERT_LIBRARIES environment variable so any processes spawned by
+ // the WebProcess don't try to insert the shim and crash.
+ WebKit::EnvironmentUtilities::stripValuesEndingWithString("DYLD_INSERT_LIBRARIES", "/WebProcessShim.dylib");
+
+ xpc_main(WebKit::WebKit2ServiceEventHandler);
+ return 0;
+}
+
+#endif // HAVE(XPC)
diff --git a/Source/WebKit2/WebProcess/qt/QtNetworkReply.cpp b/Source/WebKit2/WebProcess/qt/QtNetworkReply.cpp
index e65022cdf..87689d971 100644
--- a/Source/WebKit2/WebProcess/qt/QtNetworkReply.cpp
+++ b/Source/WebKit2/WebProcess/qt/QtNetworkReply.cpp
@@ -73,7 +73,7 @@ qint64 QtNetworkReply::readData(char* data, qint64 maxlen)
return 0;
qint64 bytesRead = maxlen < m_bytesAvailable ? maxlen : m_bytesAvailable;
- if (qMemCopy(data, static_cast<char*>(m_sharedMemory->data()) + m_sharedMemorySize - m_bytesAvailable, bytesRead)) {
+ if (memcpy(data, static_cast<char*>(m_sharedMemory->data()) + m_sharedMemorySize - m_bytesAvailable, bytesRead)) {
m_bytesAvailable -= bytesRead;
return bytesRead;
}
diff --git a/Source/WebKit2/WebProcess/qt/WebProcessMainQt.cpp b/Source/WebKit2/WebProcess/qt/WebProcessMainQt.cpp
index 28b200d13..18f303948 100644
--- a/Source/WebKit2/WebProcess/qt/WebProcessMainQt.cpp
+++ b/Source/WebKit2/WebProcess/qt/WebProcessMainQt.cpp
@@ -54,7 +54,7 @@
#include <QDebug>
#endif
-#if !USE(UNIX_DOMAIN_SOCKETS)
+#if OS(DARWIN) && !USE(UNIX_DOMAIN_SOCKETS)
#include <servers/bootstrap.h>
extern "C" kern_return_t bootstrap_look_up2(mach_port_t, const name_t, mach_port_t*, pid_t, uint64_t);
@@ -146,8 +146,6 @@ Q_DECL_EXPORT int WebProcessMainQt(QGuiApplication* app)
{
initializeProxy();
- srandom(time(0));
-
JSC::initializeThreading();
WTF::initializeMainThread();
RunLoop::initializeMainRunLoop();
@@ -174,11 +172,19 @@ Q_DECL_EXPORT int WebProcessMainQt(QGuiApplication* app)
}
#else
bool wasNumber = false;
- int identifier = app->arguments().at(1).toInt(&wasNumber, 10);
+ qulonglong id = app->arguments().at(1).toULongLong(&wasNumber, 10);
if (!wasNumber) {
qDebug() << "Error: connection identifier wrong.";
return 1;
}
+ CoreIPC::Connection::Identifier identifier;
+#if OS(WINDOWS)
+ // Convert to HANDLE
+ identifier = reinterpret_cast<CoreIPC::Connection::Identifier>(id);
+#else
+ // Convert to int
+ identifier = static_cast<CoreIPC::Connection::Identifier>(id);
+#endif
#endif
#if USE(ACCELERATED_COMPOSITING)
CoordinatedGraphicsLayer::initFactory();
diff --git a/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp b/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp
index 02a90ec43..cfd2c1a2d 100644
--- a/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp
+++ b/Source/WebKit2/WebProcess/qt/WebProcessQt.cpp
@@ -98,7 +98,7 @@ void WebProcess::platformSetCacheModel(CacheModel cacheModel)
// The Mac port of WebKit2 uses a fudge factor of 1000 here to account for misalignment, however,
// that tends to overestimate the memory quite a bit (1 byte misalignment ~ 48 MiB misestimation).
// We use 1024 * 1023 for now to keep the estimation error down to +/- ~1 MiB.
- uint64_t freeVolumeSpace = WebCore::getVolumeFreeSizeForPath(diskCache->cacheDirectory().toAscii().constData()) / 1024 / 1023;
+ uint64_t freeVolumeSpace = WebCore::getVolumeFreeSizeForPath(diskCache->cacheDirectory().toLocal8Bit().constData()) / 1024 / 1023;
// The following variables are initialised to 0 because WebProcess::calculateCacheSizes might not
// set them in some rare cases.
diff --git a/Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp b/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp
index 24ca203a7..365236b09 100644
--- a/Source/WebKit2/WebProcess/gtk/WebProcessGtk.cpp
+++ b/Source/WebKit2/WebProcess/soup/WebProcessSoup.cpp
@@ -33,7 +33,6 @@
#include <WebCore/FileSystem.h>
#include <WebCore/Language.h>
#include <WebCore/MemoryCache.h>
-#include <WebCore/NotImplemented.h>
#include <WebCore/PageCache.h>
#include <WebCore/ResourceHandle.h>
#include <libsoup/soup-cache.h>
@@ -42,10 +41,6 @@
#include <wtf/text/CString.h>
#include <wtf/text/StringBuilder.h>
-#if !OS(WINDOWS)
-#include <unistd.h>
-#endif
-
namespace WebKit {
static uint64_t getCacheDiskFreeSize(SoupCache* cache)
diff --git a/Source/WebKit2/win/WebKit2.def b/Source/WebKit2/win/WebKit2.def
index 5f68abc3a..67b2213fc 100644
--- a/Source/WebKit2/win/WebKit2.def
+++ b/Source/WebKit2/win/WebKit2.def
@@ -195,8 +195,10 @@ EXPORTS
?lastChild@ComposedShadowTreeWalker@WebCore@@QAEXXZ
?next@ComposedShadowTreeWalker@WebCore@@QAEXXZ
?previous@ComposedShadowTreeWalker@WebCore@@QAEXXZ
- ?number@String@WTF@@SA?AV12@I@Z
+ ?number@String@WTF@@SA?AV12@_K@Z
?number@String@WTF@@SA?AV12@H@Z
+ ?number@String@WTF@@SA?AV12@I@Z
+ ?number@String@WTF@@SA?AV12@NII@Z
?overrideUserPreferredLanguages@WebCore@@YAXABV?$Vector@VString@WTF@@$0A@@WTF@@@Z
?numberOfScopedHTMLStyleChildren@Node@WebCore@@QBEIXZ
?page@Document@WebCore@@QBEPAVPage@2@XZ
@@ -259,7 +261,7 @@ EXPORTS
??1ContextDestructionObserver@WebCore@@MAE@XZ
?contextDestroyed@ContextDestructionObserver@WebCore@@UAEXXZ
??0ContextDestructionObserver@WebCore@@QAE@PAVScriptExecutionContext@1@@Z
- ?nodesFromRect@Document@WebCore@@QBE?AV?$PassRefPtr@VNodeList@WebCore@@@WTF@@HHIIII_N0@Z
+ ?nodesFromRect@Document@WebCore@@QBE?AV?$PassRefPtr@VNodeList@WebCore@@@WTF@@HHIIIII@Z
?selectionStartHasMarkerFor@Editor@WebCore@@QBE_NW4MarkerType@DocumentMarker@2@HH@Z
?webkitWillEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z
?webkitDidEnterFullScreenForElement@Document@WebCore@@QAEXPAVElement@2@@Z
@@ -276,7 +278,10 @@ EXPORTS
?setAllowsRoundingHacks@TextRun@WebCore@@SAX_N@Z
?profilerEnabled@InspectorController@WebCore@@QAE_NXZ
?setProfilerEnabled@InspectorController@WebCore@@QAEX_N@Z
- ?jsStringSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@U?$PtrHash@PAVStringImpl@WTF@@@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
+ ?jsStringWithCacheSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@U?$PtrHash@PAVStringImpl@WTF@@@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
?registerURLSchemeAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXABVString@WTF@@@Z
?removeURLSchemeRegisteredAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXABVString@WTF@@@Z
?iconURLs@Document@WebCore@@QAEABV?$Vector@UIconURL@WebCore@@$0A@@WTF@@XZ
+ ?numberOfPages@PrintContext@WebCore@@SAHPAVFrame@2@ABVFloatSize@2@@Z
+ ?pageProperty@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@PBDH@Z
+ ?pageSizeAndMarginsInPixels@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@HHHHHHH@Z
diff --git a/Source/WebKit2/win/WebKit2.submit.sln b/Source/WebKit2/win/WebKit2.submit.sln
index 208a0df11..89b9d4ca9 100755
--- a/Source/WebKit2/win/WebKit2.submit.sln
+++ b/Source/WebKit2/win/WebKit2.submit.sln
@@ -1,52 +1,52 @@
-
-Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
- ProjectSection(ProjectDependencies) = postProject
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
- ProjectSection(ProjectDependencies) = postProject
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_All|Win32 = Debug_All|Win32
- Debug|Win32 = Debug|Win32
- Production|Win32 = Production|Win32
- Release|Win32 = Release|Win32
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.ActiveCfg = Production|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.Build.0 = Production|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
- {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.ActiveCfg = Production|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.Build.0 = Production|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
- {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.ActiveCfg = Production|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.Build.0 = Production|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
- {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit", "WebKit2.vcproj", "{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB} = {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2Generated", "WebKit2Generated.vcproj", "{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WebKit2WebProcess", "WebKit2WebProcess.vcproj", "{AAE88FEF-509E-4D49-870B-7357922C276F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD} = {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_All|Win32 = Debug_All|Win32
+ Debug|Win32 = Debug|Win32
+ Production|Win32 = Production|Win32
+ Release|Win32 = Release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Debug|Win32.Build.0 = Debug|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.ActiveCfg = Production|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Production|Win32.Build.0 = Production|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.ActiveCfg = Release|Win32
+ {2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}.Release|Win32.Build.0 = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Debug|Win32.Build.0 = Debug|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.ActiveCfg = Production|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Production|Win32.Build.0 = Production|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.ActiveCfg = Release|Win32
+ {2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}.Release|Win32.Build.0 = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.ActiveCfg = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug_All|Win32.Build.0 = Debug_All|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Debug|Win32.Build.0 = Debug|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.ActiveCfg = Production|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Production|Win32.Build.0 = Production|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.ActiveCfg = Release|Win32
+ {AAE88FEF-509E-4D49-870B-7357922C276F}.Release|Win32.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/Source/WebKit2/win/WebKit2.vcproj b/Source/WebKit2/win/WebKit2.vcproj
index ab6efdc8f..cd3ae55b0 100755
--- a/Source/WebKit2/win/WebKit2.vcproj
+++ b/Source/WebKit2/win/WebKit2.vcproj
@@ -1,4563 +1,4571 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit"
- ProjectGUID="{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
- RootNamespace="WebKit2"
- Keyword="Win32Proj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\WebKit2Debug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\WebKit2Release.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\WebKit2DebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- VerboseOutput="false"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\WebKit2ReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\WebKit2DebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="2"
- InheritedPropertySheets=".\WebKit2Production.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Shared"
- >
- <File
- RelativePath="..\Shared\APIClient.h"
- >
- </File>
- <File
- RelativePath="..\Shared\APIClientTraits.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\APIClientTraits.h"
- >
- </File>
- <File
- RelativePath="..\Shared\APIObject.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\APIObject.h"
- >
- </File>
- <File
- RelativePath="..\Shared\CacheModel.h"
- >
- </File>
- <File
- RelativePath="..\Shared\ChildProcess.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\ChildProcess.h"
- >
- </File>
- <File
- RelativePath="..\Shared\CommandLine.h"
- >
- </File>
- <File
- RelativePath="..\Shared\DictionaryPopupInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\DictionaryPopupInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\DrawingAreaInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\EditorState.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\EditorState.h"
- >
- </File>
- <File
- RelativePath="..\Shared\FontInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\FontInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\FontSmoothingLevel.h"
- >
- </File>
- <File
- RelativePath="..\Shared\ImmutableArray.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\ImmutableArray.h"
- >
- </File>
- <File
- RelativePath="..\Shared\ImmutableDictionary.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\ImmutableDictionary.h"
- >
- </File>
- <File
- RelativePath="..\Shared\LayerTreeContext.h"
- >
- </File>
- <File
- RelativePath="..\Shared\MutableArray.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\MutableArray.h"
- >
- </File>
- <File
- RelativePath="..\Shared\MutableDictionary.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\MutableDictionary.h"
- >
- </File>
- <File
- RelativePath="..\Shared\NativeWebKeyboardEvent.h"
- >
- </File>
- <File
- RelativePath="..\Shared\NativeWebMouseEvent.h"
- >
- </File>
- <File
- RelativePath="..\Shared\NativeWebWheelEvent.h"
- >
- </File>
- <File
- RelativePath="..\Shared\OriginAndDatabases.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\OriginAndDatabases.h"
- >
- </File>
- <File
- RelativePath="..\Shared\PlatformPopupMenuData.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\PlatformPopupMenuData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\PrintInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\PrintInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\ResourceCachesToClear.h"
- >
- </File>
- <File
- RelativePath="..\Shared\SameDocumentNavigationType.h"
- >
- </File>
- <File
- RelativePath="..\Shared\SecurityOriginData.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\SecurityOriginData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\SessionState.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\SessionState.h"
- >
- </File>
- <File
- RelativePath="..\Shared\ShareableBitmap.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\ShareableBitmap.h"
- >
- </File>
- <File
- RelativePath="..\Shared\StatisticsData.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\StatisticsData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\StringPairVector.h"
- >
- </File>
- <File
- RelativePath="..\Shared\TextCheckerState.h"
- >
- </File>
- <File
- RelativePath="..\Shared\UpdateInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\UpdateInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\UserMessageCoders.h"
- >
- </File>
- <File
- RelativePath="..\Shared\VisitedLinkTable.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\VisitedLinkTable.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebBackForwardListItem.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebBackForwardListItem.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebCertificateInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebConnection.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebConnection.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebConnectionClient.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebConnectionClient.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebContextMenuItem.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebContextMenuItem.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebContextMenuItemData.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebContextMenuItemData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebCoreArgumentCoders.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebCoreArgumentCoders.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebError.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebError.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebEvent.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebEvent.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebEventConversion.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebEventConversion.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebFindOptions.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebGeolocationPosition.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebGeolocationPosition.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebGeometry.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebGraphicsContext.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebGraphicsContext.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebHitTestResult.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebHitTestResult.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebImage.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebImage.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebKeyboardEvent.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebMouseEvent.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebNavigationDataStore.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebNumber.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebOpenPanelParameters.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebOpenPanelParameters.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPageCreationParameters.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPageCreationParameters.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPageGroupData.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPageGroupData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPlatformTouchPoint.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPopupItem.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPopupItem.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPreferencesStore.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebPreferencesStore.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebProcessCreationParameters.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebProcessCreationParameters.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebRenderLayer.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebRenderLayer.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebRenderObject.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebRenderObject.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebSecurityOrigin.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebSerializedScriptValue.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebString.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebTouchEvent.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebURL.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebURLRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebURLRequest.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebURLResponse.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\WebURLResponse.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebUserContentURLPattern.h"
- >
- </File>
- <File
- RelativePath="..\Shared\WebWheelEvent.cpp"
- >
- </File>
- <Filter
- Name="API"
- >
- <File
- RelativePath="..\Shared\API\c\WKArray.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKArray.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKBase.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\win\WKBaseWin.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKCertificateInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKCertificateInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\win\WKCertificateInfoWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\win\WKCertificateInfoWin.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKConnectionRef.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKConnectionRef.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKContextMenuItem.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKContextMenuItem.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKContextMenuItemTypes.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKData.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKData.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKDictionary.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKDictionary.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKError.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKError.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKEvent.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKFindOptions.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKGeometry.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKGeometry.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKGraphicsContext.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKGraphicsContext.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKImage.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKImage.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKMutableArray.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKMutableArray.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKMutableDictionary.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKMutableDictionary.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKNumber.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKNumber.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKPageLoadTypes.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKRenderLayer.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKRenderLayer.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKRenderObject.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKRenderObject.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKSecurityOrigin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKSecurityOrigin.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKSerializedScriptValue.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKSerializedScriptValue.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKSerializedScriptValuePrivate.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKSharedAPICast.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKString.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKString.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKStringPrivate.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKType.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKType.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKURL.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKURL.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKURLRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKURLRequest.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKURLResponse.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKURLResponse.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKUserContentURLPattern.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\WKUserContentURLPattern.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\Shared\API\c\cf\WKErrorCF.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKErrorCF.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKStringCF.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKStringCF.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKURLCF.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKURLCF.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKURLRequestCF.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKURLRequestCF.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKURLResponseCF.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\API\c\cf\WKURLResponseCF.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cg"
- >
- <File
- RelativePath="..\Shared\API\c\cg\WKGraphicsContextCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\API\c\cg\WKGraphicsContextCG.h"
- >
- </File>
- <File
- RelativePath="..\Shared\API\c\cg\WKImageCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\API\c\cg\WKImageCG.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cairo"
- >
- <File
- RelativePath="..\Shared\API\c\cairo\WKImageCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\API\c\cairo\WKImageCairo.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="CoreIPCSupport"
- >
- <File
- RelativePath="..\Shared\CoreIPCSupport\InjectedBundleMessageKinds.h"
- >
- </File>
- <File
- RelativePath="..\Shared\CoreIPCSupport\WebConnectionMessageKinds.h"
- >
- </File>
- <File
- RelativePath="..\Shared\CoreIPCSupport\WebContextMessageKinds.h"
- >
- </File>
- <File
- RelativePath="..\Shared\CoreIPCSupport\WebPageProxyMessageKinds.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\Shared\cf\ArgumentCodersCF.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\cf\ArgumentCodersCF.h"
- >
- </File>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\Shared\win\CoalescedWindowGeometriesUpdater.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\CoalescedWindowGeometriesUpdater.h"
- >
- </File>
- <File
- RelativePath="..\Shared\win\CommandLineWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\LayerTreeContextWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\win\NativeWebKeyboardEventWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\NativeWebMouseEventWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\NativeWebWheelEventWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\PlatformCertificateInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\PlatformCertificateInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\win\ShareableBitmapWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WebCoreArgumentCodersWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WebEventFactory.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WebEventFactory.h"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WebKitBundle.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WebKitBundle.h"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WebURLRequestWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\win\WebURLResponseWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\win\WindowGeometry.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\win\WindowGeometry.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cg"
- >
- <File
- RelativePath="..\Shared\cg\ShareableBitmapCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\Shared\cg\win\ShareableBitmapCGWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="cairo"
- >
- <File
- RelativePath="..\Shared\cairo\LayerTreeContextCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Shared\cairo\ShareableBitmapCairo.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="Plugins"
- >
- <File
- RelativePath="..\Shared\Plugins\PluginModuleInfo.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\Plugins\PluginModuleInfo.h"
- >
- </File>
- <File
- RelativePath="..\Shared\Plugins\PluginQuirks.h"
- >
- </File>
- <Filter
- Name="Netscape"
- >
- <File
- RelativePath="..\Shared\Plugins\Netscape\NetscapePluginModule.cpp"
- >
- </File>
- <File
- RelativePath="..\Shared\Plugins\Netscape\NetscapePluginModule.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\Shared\Plugins\Netscape\win\NetscapePluginModuleWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Filter>
- </Filter>
- <Filter
- Name="WebProcess"
- >
- <File
- RelativePath="..\WebProcess\WebConnectionToUIProcess.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebConnectionToUIProcess.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebKitMain.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebProcess.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebProcess.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebProcess.messages.in"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebProcessMain.h"
- >
- </File>
- <Filter
- Name="ApplicationCache"
- >
- <File
- RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="Authentication"
- >
- <File
- RelativePath="..\WebProcess\Authentication\AuthenticationManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Authentication\AuthenticationManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Authentication\AuthenticationManager.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="Geolocation"
- >
- <File
- RelativePath="..\WebProcess\Geolocation\GeolocationPermissionRequestManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Geolocation\GeolocationPermissionRequestManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Geolocation\WebGeolocationManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Geolocation\WebGeolocationManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Geolocation\WebGeolocationManager.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="IconDatabase"
- >
- <File
- RelativePath="..\WebProcess\IconDatabase\WebIconDatabaseProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\IconDatabase\WebIconDatabaseProxy.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\IconDatabase\WebIconDatabaseProxy.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="KeyValueStorage"
- >
- <File
- RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="MediaCache"
- >
- <File
- RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="ResourceCache"
- >
- <File
- RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.messages.in"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\WebProcess\ResourceCache\cf\WebResourceCacheManagerCFNet.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Cookies"
- >
- <File
- RelativePath="..\WebProcess\Cookies\WebCookieManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Cookies\WebCookieManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Cookies\WebCookieManager.messages.in"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\WebProcess\Cookies\cf\WebCookieManagerCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="curl"
- >
- <File
- RelativePath="..\WebProcess\Cookies\curl\WebCookieManagerCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="WebCoreSupport"
- >
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebChromeClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebChromeClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebColorChooser.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebColorChooser.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebContextMenuClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.messages.in"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebDragClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebDragClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebEditorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebEditorClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebErrors.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebFrameLoaderClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebFrameLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebGeolocationClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebGeolocationClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebInspectorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebInspectorClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebInspectorFrontendClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebInspectorFrontendClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebNotificationClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebNotificationClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebPlatformStrategies.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebPlatformStrategies.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebPopupMenu.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebPopupMenu.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebContextMenuClientWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebDragClientWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebErrorsWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebFrameNetworkingContext.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebFrameNetworkingContext.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebCoreSupport\win\WebPopupMenuWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="WebPage"
- >
- <File
- RelativePath="..\WebProcess\WebPage\DecoderAdapter.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\DecoderAdapter.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\DrawingArea.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\DrawingArea.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\DrawingArea.messages.in"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\DrawingAreaImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\DrawingAreaImpl.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\EncoderAdapter.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\EncoderAdapter.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\EventDispatcher.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\EventDispatcher.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\FindController.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\FindController.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\LayerTreeHost.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\LayerTreeHost.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\PageOverlay.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\PageOverlay.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebBackForwardListProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebBackForwardListProxy.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebContextMenu.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebContextMenu.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebFrame.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebInspector.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebInspector.messages.in"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebOpenPanelResultListener.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebOpenPanelResultListener.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebPage.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebPage.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebPage.messages.in"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebPageGroupProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebPageGroupProxy.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebUndoStep.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\WebUndoStep.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\WebPage\win\DrawingAreaImplWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\win\LayerTreeHostWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\win\WebInspectorWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\win\WebPageWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="ca"
- >
- <File
- RelativePath="..\WebProcess\WebPage\ca\LayerTreeHostCA.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\ca\LayerTreeHostCA.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\WebPage\ca\win\LayerTreeHostCAWin.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\ca\win\LayerTreeHostCAWin.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\ca\win\WKCACFViewWindow.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\WebPage\ca\win\WKCACFViewWindow.h"
- >
- </File>
- </Filter>
- </Filter>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\win\WebProcessMainWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\win\WebProcessWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Downloads"
- >
- <File
- RelativePath="..\WebProcess\Downloads\Download.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Downloads\Download.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Downloads\DownloadAuthenticationClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Downloads\DownloadAuthenticationClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Downloads\DownloadManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Downloads\DownloadManager.h"
- >
- </File>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\WebProcess\Downloads\cf\win\DownloadCFWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="cfnet"
- >
- <File
- RelativePath="..\WebProcess\Downloads\cfnet\DownloadCFNet.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="curl"
- >
- <File
- RelativePath="..\WebProcess\Downloads\curl\DownloadCurl.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="InjectedBundle"
- >
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundle.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundle.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardListItem.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardListItem.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleDOMWindowExtension.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleDOMWindowExtension.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleHitTestResult.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleHitTestResult.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleNavigationAction.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleNavigationAction.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageContextMenuClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageDiagnosticLoggingClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageDiagnosticLoggingClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageEditorClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageEditorClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFormClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFormClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFullScreenClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFullScreenClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageLoaderClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePagePolicyClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePagePolicyClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageResourceLoadClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageResourceLoadClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageUIClient.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageUIClient.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleScriptWorld.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\InjectedBundleUserMessageCoders.h"
- >
- </File>
- <Filter
- Name="API"
- >
- <Filter
- Name="c"
- >
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundle.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundle.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleAPICast.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardListItem.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardListItem.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleDOMWindowExtension.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleDOMWindowExtension.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleFrame.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleFramePrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleHitTestResult.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleHitTestResult.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleInitialize.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleInspector.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNavigationAction.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNavigationAction.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNodeHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNodeHandle.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNodeHandlePrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePage.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePage.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageGroup.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageGroup.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageOverlay.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageOverlay.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePagePrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePrivate.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleRangeHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleRangeHandle.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleScriptWorld.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleScriptWorld.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\win\WKBundlePrivateWin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\API\c\win\WKBundlePrivateWin.h"
- >
- </File>
- </Filter>
- </Filter>
- </Filter>
- <Filter
- Name="DOM"
- >
- <File
- RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleNodeHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleNodeHandle.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleRangeHandle.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleRangeHandle.h"
- >
- </File>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\InjectedBundle\win\InjectedBundleWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Plugins"
- >
- <File
- RelativePath="..\WebProcess\Plugins\Plugin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Plugin.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\PluginController.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\PluginView.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\PluginView.h"
- >
- </File>
- <Filter
- Name="Netscape"
- >
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\JSNPMethod.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\JSNPMethod.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\JSNPObject.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\JSNPObject.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NetscapeBrowserFuncs.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NetscapeBrowserFuncs.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NetscapePlugin.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NetscapePlugin.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NetscapePluginStream.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NetscapePluginStream.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NPJSObject.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NPJSObject.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeObjectMap.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeObjectMap.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeUtilities.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeUtilities.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\WebProcess\Plugins\Netscape\win\NetscapePluginWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Filter>
- <Filter
- Name="FullScreen"
- >
- <File
- RelativePath="..\WebProcess\FullScreen\WebFullScreenManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\FullScreen\WebFullScreenManager.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Notifications (User)"
- >
- <File
- RelativePath="..\WebProcess\Notifications\NotificationPermissionRequestManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Notifications\NotificationPermissionRequestManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Notifications\WebNotificationManager.cpp"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Notifications\WebNotificationManager.h"
- >
- </File>
- <File
- RelativePath="..\WebProcess\Notifications\WebNotificationManager.messages.in"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="UIProcess"
- >
- <File
- RelativePath="..\UIProcess\BackingStore.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\BackingStore.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\DrawingAreaProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\DrawingAreaProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\DrawingAreaProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\DrawingAreaProxyImpl.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\DrawingAreaProxyImpl.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\FindIndicator.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\FindIndicator.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\GenericCallback.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\GeolocationPermissionRequestManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\GeolocationPermissionRequestManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\GeolocationPermissionRequestProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\GeolocationPermissionRequestProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\PageClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\ProcessModel.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\ResponsivenessTimer.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\ResponsivenessTimer.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\TextChecker.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\VisitedLinkProvider.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\VisitedLinkProvider.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebColorChooserProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebConnectionToWebProcess.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebConnectionToWebProcess.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContext.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContext.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContext.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextConnectionClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextConnectionClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextInjectedBundleClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextInjectedBundleClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextMenuProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextMenuProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebContextUserMessageCoders.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebCookieManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebCookieManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebCookieManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebCookieManagerProxyClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebCookieManagerProxyClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDatabaseManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDatabaseManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDatabaseManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDatabaseManagerProxyClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDatabaseManagerProxyClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDownloadClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebDownloadClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebEditCommandProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebEditCommandProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFindClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFindClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFormClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFormClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFormSubmissionListenerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFormSubmissionListenerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFrameListenerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFrameListenerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFramePolicyListenerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFramePolicyListenerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFrameProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFrameProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFullScreenManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebFullScreenManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGeolocationManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGeolocationManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGeolocationManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGeolocationProvider.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGeolocationProvider.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGrammarDetail.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebGrammarDetail.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebHistoryClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebHistoryClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebIconDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebIconDatabase.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebIconDatabase.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebIconDatabaseClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebIconDatabaseClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebInspectorProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebInspectorProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebLoaderClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebLoaderClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebMediaCacheManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebMediaCacheManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebMediaCacheManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebNavigationData.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebNavigationData.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebOpenPanelResultListenerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebOpenPanelResultListenerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageContextMenuClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageContextMenuClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageGroup.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageGroup.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPageProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPolicyClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPolicyClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPreferences.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebPreferences.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebProcessProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebProcessProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebProcessProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebResourceCacheManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebResourceCacheManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebResourceCacheManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebResourceLoadClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebResourceLoadClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebTextChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebTextChecker.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebTextCheckerClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebTextCheckerClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebUIClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\WebUIClient.h"
- >
- </File>
- <Filter
- Name="API"
- >
- <Filter
- Name="C"
- >
- <File
- RelativePath="..\UIProcess\API\C\WebKit2_C.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKAPICast.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKApplicationCacheManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKApplicationCacheManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKAuthenticationChallenge.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKAuthenticationChallenge.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKAuthenticationDecisionListener.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKAuthenticationDecisionListener.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKBackForwardList.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKBackForwardList.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKBackForwardListItem.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKBackForwardListItem.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKContext.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKContext.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKContextPrivate.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\win\WKContextPrivateWin.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\win\WKContextWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKCookieManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKCookieManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKCredential.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKCredential.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKCredentialTypes.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKDatabaseManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKDatabaseManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKDownload.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKDownload.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKFormSubmissionListener.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKFormSubmissionListener.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKFrame.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKFrame.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKFramePolicyListener.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKFramePolicyListener.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGeolocationManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGeolocationManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGeolocationPermissionRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGeolocationPermissionRequest.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGeolocationPosition.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGeolocationPosition.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGrammarDetail.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKGrammarDetail.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKHitTestResult.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKHitTestResult.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKIconDatabase.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKIconDatabase.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKInspector.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKInspector.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKKeyValueStorageManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKKeyValueStorageManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKMediaCacheManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKMediaCacheManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNativeEvent.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNavigationData.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNavigationData.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNotification.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNotification.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNotificationManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNotificationManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKNotificationProvider.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKOpenPanelParameters.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKOpenPanelParameters.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKOpenPanelResultListener.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKOpenPanelResultListener.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPage.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPage.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPageGroup.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPageGroup.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPagePrivate.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPluginSiteDataManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPluginSiteDataManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPreferences.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPreferences.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKPreferencesPrivate.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKProtectionSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKProtectionSpace.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKProtectionSpaceTypes.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKResourceCacheManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKResourceCacheManager.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKTextChecker.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\WKTextChecker.h"
- >
- </File>
- <Filter
- Name="cg"
- >
- <File
- RelativePath="..\UIProcess\API\C\cg\WKIconDatabaseCG.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\UIProcess\API\C\cg\WKIconDatabaseCG.h"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCustomBuildTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\UIProcess\API\C\win\WKAPICastWin.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\win\WKView.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\win\WKView.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\win\WKViewPrivate.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\API\C\win\WKViewPrivate.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="cpp"
- >
- <File
- RelativePath="..\UIProcess\API\cpp\WKRetainPtr.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Authentication"
- >
- <File
- RelativePath="..\UIProcess\Authentication\AuthenticationChallengeProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\AuthenticationChallengeProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\AuthenticationDecisionListener.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\AuthenticationDecisionListener.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\WebCredential.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\WebCredential.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\WebProtectionSpace.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Authentication\WebProtectionSpace.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cf"
- >
- <File
- RelativePath="..\UIProcess\cf\WebBackForwardListCF.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\cf\WebPageProxyCF.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\cf\WebPreferencesCF.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Downloads"
- >
- <File
- RelativePath="..\UIProcess\Downloads\DownloadProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Downloads\DownloadProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Downloads\DownloadProxy.messages.in"
- >
- </File>
- </Filter>
- <Filter
- Name="Launcher"
- >
- <File
- RelativePath="..\UIProcess\Launcher\ProcessLauncher.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Launcher\ProcessLauncher.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\UIProcess\Launcher\win\ProcessLauncherWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\UIProcess\win\BackingStoreWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\TextCheckerWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebContextMenuProxyWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebContextMenuProxyWin.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebContextWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebFullScreenManagerProxyWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebInspectorProxyWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebPageProxyWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebPopupMenuProxyWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebPopupMenuProxyWin.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebProcessProxyWin.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebUndoClient.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebUndoClient.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebView.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\win\WebView.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Plugins"
- >
- <File
- RelativePath="..\UIProcess\Plugins\PluginInfoStore.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Plugins\PluginInfoStore.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Plugins\WebPluginSiteDataManager.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Plugins\WebPluginSiteDataManager.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\UIProcess\Plugins\win\PluginInfoStoreWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Notifications (User)"
- >
- <File
- RelativePath="..\UIProcess\Notifications\NotificationPermissionRequest.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\NotificationPermissionRequest.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\NotificationPermissionRequestManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\NotificationPermissionRequestManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotification.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotification.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotificationManagerProxy.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotificationManagerProxy.h"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotificationManagerProxy.messages.in"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotificationProvider.cpp"
- >
- </File>
- <File
- RelativePath="..\UIProcess\Notifications\WebNotificationProvider.h"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Platform"
- >
- <File
- RelativePath="..\Platform\Logging.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\Logging.h"
- >
- </File>
- <File
- RelativePath="..\Platform\Module.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\Module.h"
- >
- </File>
- <File
- RelativePath="..\Platform\PlatformProcessIdentifier.h"
- >
- </File>
- <File
- RelativePath="..\Platform\SharedMemory.h"
- >
- </File>
- <File
- RelativePath="..\Platform\WorkQueue.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\WorkQueue.h"
- >
- </File>
- <Filter
- Name="cg"
- >
- <File
- RelativePath="..\Platform\cg\CGUtilities.cpp"
- >
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\Platform\cg\CGUtilities.h"
- >
- </File>
- </Filter>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\Platform\win\ModuleWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\win\SharedMemoryWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\win\WorkQueueWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="CoreIPC"
- >
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentCoder.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentCoders.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentCoders.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentDecoder.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentDecoder.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentEncoder.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\ArgumentEncoder.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\Arguments.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\Attachment.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\Attachment.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\BinarySemaphore.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\BinarySemaphore.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\Connection.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\Connection.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\CoreIPCMessageKinds.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\DataReference.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\DataReference.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\HandleMessage.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\MessageID.h"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\MessageSender.h"
- >
- </File>
- <Filter
- Name="win"
- >
- <File
- RelativePath="..\Platform\CoreIPC\win\BinarySemaphoreWin.cpp"
- >
- </File>
- <File
- RelativePath="..\Platform\CoreIPC\win\ConnectionWin.cpp"
- >
- </File>
- </Filter>
- </Filter>
- </Filter>
- <Filter
- Name="Resources"
- >
- <File
- RelativePath=".\deleteButton.png"
- >
- </File>
- <File
- RelativePath=".\deleteButtonPressed.png"
- >
- </File>
- <File
- RelativePath=".\fsVideoAudioVolumeHigh.png"
- >
- </File>
- <File
- RelativePath=".\fsVideoAudioVolumeLow.png"
- >
- </File>
- <File
- RelativePath=".\fsVideoExitFullscreen.png"
- >
- </File>
- <File
- RelativePath=".\fsVideoPause.png"
- >
- </File>
- <File
- RelativePath=".\fsVideoPlay.png"
- >
- </File>
- <File
- RelativePath=".\missingImage.png"
- >
- </File>
- <File
- RelativePath=".\nullplugin.png"
- >
- </File>
- <File
- RelativePath=".\panEastCursor.png"
- >
- </File>
- <File
- RelativePath=".\panIcon.png"
- >
- </File>
- <File
- RelativePath=".\panNorthCursor.png"
- >
- </File>
- <File
- RelativePath=".\panNorthEastCursor.png"
- >
- </File>
- <File
- RelativePath=".\panNorthWestCursor.png"
- >
- </File>
- <File
- RelativePath=".\panSouthCursor.png"
- >
- </File>
- <File
- RelativePath=".\panSouthEastCursor.png"
- >
- </File>
- <File
- RelativePath=".\panSouthWestCursor.png"
- >
- </File>
- <File
- RelativePath=".\panWestCursor.png"
- >
- </File>
- <File
- RelativePath=".\searchCancel.png"
- >
- </File>
- <File
- RelativePath=".\searchCancelPressed.png"
- >
- </File>
- <File
- RelativePath=".\searchMagnifier.png"
- >
- </File>
- <File
- RelativePath=".\searchMagnifierResults.png"
- >
- </File>
- <File
- RelativePath=".\textAreaResizeCorner.png"
- >
- </File>
- <File
- RelativePath=".\verticalTextCursor.png"
- >
- </File>
- <File
- RelativePath=".\WebKit2.rc"
- >
- </File>
- <File
- RelativePath=".\zoomInCursor.png"
- >
- </File>
- <File
- RelativePath=".\zoomOutCursor.png"
- >
- </File>
- </Filter>
- <Filter
- Name="Derived Sources"
- >
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\AuthenticationManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\AuthenticationManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DownloadProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DownloadProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventDispatcherMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventDispatcherMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebContextMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebContextMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerMessages.h"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerProxyMessageReceiver.cpp"
- >
- </File>
- <File
- RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerProxyMessages.h"
- >
- </File>
- </Filter>
- <Filter
- Name="Scripts"
- >
- <File
- RelativePath="..\Scripts\generate-message-receiver.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\generate-messages-header.py"
- >
- </File>
- <Filter
- Name="webkit2"
- >
- <File
- RelativePath="..\Scripts\webkit2\__init__.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\messages.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\messages_unittest.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\model.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\parser.py"
- >
- </File>
- </Filter>
- </Filter>
- <File
- RelativePath="..\config.h"
- >
- </File>
- <File
- RelativePath=".\WebKit2.def"
- >
- </File>
- <File
- RelativePath="..\WebKit2Prefix.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release_Cairo_CFLite|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug_All|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Production|Win32"
- >
- <Tool
- Name="VCCLCompilerTool"
- UsePrecompiledHeader="1"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\WebKit2Prefix.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit"
+ ProjectGUID="{2E51ABE8-76CB-485B-A66C-46AEF4DF8ACD}"
+ RootNamespace="WebKit2"
+ Keyword="Win32Proj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\WebKit2Debug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\WebKit2Release.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\WebKit2DebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ VerboseOutput="false"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\WebKit2ReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\WebKit2DebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="2"
+ InheritedPropertySheets=".\WebKit2Production.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Shared"
+ >
+ <File
+ RelativePath="..\Shared\APIClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\APIClientTraits.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\APIClientTraits.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\APIObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\APIObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\CacheModel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ChildProcess.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ChildProcess.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\CommandLine.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\DictionaryPopupInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\DictionaryPopupInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\DrawingAreaInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\EditorState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\EditorState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\FontInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\FontInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\FontSmoothingLevel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ImmutableArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ImmutableArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ImmutableDictionary.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ImmutableDictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\LayerTreeContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\MutableArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\MutableArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\MutableDictionary.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\MutableDictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\NativeWebKeyboardEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\NativeWebMouseEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\NativeWebWheelEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\OriginAndDatabases.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\OriginAndDatabases.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\PlatformPopupMenuData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\PlatformPopupMenuData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\PrintInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\PrintInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ResourceCachesToClear.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\SameDocumentNavigationType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\SecurityOriginData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\SecurityOriginData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\SessionState.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\SessionState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ShareableBitmap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\ShareableBitmap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\StatisticsData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\StatisticsData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\StringPairVector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\TextCheckerState.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\UpdateInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\UpdateInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\UserMessageCoders.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\VisitedLinkTable.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\VisitedLinkTable.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebBackForwardListItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebBackForwardListItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebCertificateInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebConnection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebConnection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebConnectionClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebConnectionClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebContextMenuItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebContextMenuItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebContextMenuItemData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebContextMenuItemData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebCoreArgumentCoders.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebCoreArgumentCoders.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebError.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebEventConversion.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebEventConversion.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebFindOptions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebGeolocationPosition.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebGeolocationPosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebGeometry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebGraphicsContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebGraphicsContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebHitTestResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebHitTestResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebKeyboardEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebMouseEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebNavigationDataStore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebOpenPanelParameters.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebOpenPanelParameters.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPageCreationParameters.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPageCreationParameters.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPageGroupData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPageGroupData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPlatformTouchPoint.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPopupItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPopupItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPreferencesStore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebPreferencesStore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebProcessCreationParameters.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebProcessCreationParameters.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebRenderLayer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebRenderLayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebRenderObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebRenderObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebSecurityOrigin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebSerializedScriptValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebTouchEvent.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebURLRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebURLRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebURLResponse.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebURLResponse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebUserContentURLPattern.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\WebWheelEvent.cpp"
+ >
+ </File>
+ <Filter
+ Name="API"
+ >
+ <File
+ RelativePath="..\Shared\API\c\WKArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKBase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\win\WKBaseWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKCertificateInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKCertificateInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\win\WKCertificateInfoWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\win\WKCertificateInfoWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKConnectionRef.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKConnectionRef.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKContextMenuItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKContextMenuItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKContextMenuItemTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKDictionary.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKDictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKError.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKError.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKFindOptions.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKGeometry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKGeometry.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKGraphicsContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKGraphicsContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKImage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKImage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKMutableArray.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKMutableArray.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKMutableDictionary.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKMutableDictionary.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKNumber.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKNumber.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKPageLoadTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKRenderLayer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKRenderLayer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKRenderObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKRenderObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKSecurityOrigin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKSecurityOrigin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKSerializedScriptValue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKSerializedScriptValue.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKSerializedScriptValuePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKSharedAPICast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKString.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKString.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKStringPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKType.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKType.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKURL.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKURL.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKURLRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKURLRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKURLResponse.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKURLResponse.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKUserContentURLPattern.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\WKUserContentURLPattern.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\Shared\API\c\cf\WKErrorCF.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKErrorCF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKStringCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKStringCF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKURLCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKURLCF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKURLRequestCF.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKURLRequestCF.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKURLResponseCF.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cf\WKURLResponseCF.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cg"
+ >
+ <File
+ RelativePath="..\Shared\API\c\cg\WKGraphicsContextCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cg\WKGraphicsContextCG.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cg\WKImageCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cg\WKImageCG.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cairo"
+ >
+ <File
+ RelativePath="..\Shared\API\c\cairo\WKImageCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\API\c\cairo\WKImageCairo.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="CoreIPCSupport"
+ >
+ <File
+ RelativePath="..\Shared\CoreIPCSupport\InjectedBundleMessageKinds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\CoreIPCSupport\WebConnectionMessageKinds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\CoreIPCSupport\WebContextMessageKinds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\CoreIPCSupport\WebPageProxyMessageKinds.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\Shared\cf\ArgumentCodersCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\cf\ArgumentCodersCF.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\Shared\win\CoalescedWindowGeometriesUpdater.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\CoalescedWindowGeometriesUpdater.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\CommandLineWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\LayerTreeContextWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\win\NativeWebKeyboardEventWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\NativeWebMouseEventWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\NativeWebWheelEventWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\PlatformCertificateInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\PlatformCertificateInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\ShareableBitmapWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebCoreArgumentCodersWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebEventFactory.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebEventFactory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebKitBundle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebKitBundle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebURLRequestWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\win\WebURLResponseWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\win\WindowGeometry.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\win\WindowGeometry.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cg"
+ >
+ <File
+ RelativePath="..\Shared\cg\ShareableBitmapCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\Shared\cg\win\ShareableBitmapCGWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="cairo"
+ >
+ <File
+ RelativePath="..\Shared\cairo\LayerTreeContextCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Shared\cairo\ShareableBitmapCairo.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="Plugins"
+ >
+ <File
+ RelativePath="..\Shared\Plugins\PluginModuleInfo.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\Plugins\PluginModuleInfo.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\Plugins\PluginQuirks.h"
+ >
+ </File>
+ <Filter
+ Name="Netscape"
+ >
+ <File
+ RelativePath="..\Shared\Plugins\Netscape\NetscapePluginModule.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Shared\Plugins\Netscape\NetscapePluginModule.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\Shared\Plugins\Netscape\win\NetscapePluginModuleWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="WebProcess"
+ >
+ <File
+ RelativePath="..\WebProcess\WebConnectionToUIProcess.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebConnectionToUIProcess.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebKitMain.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebProcess.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebProcess.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebProcess.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebProcessMain.h"
+ >
+ </File>
+ <Filter
+ Name="ApplicationCache"
+ >
+ <File
+ RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ApplicationCache\WebApplicationCacheManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Authentication"
+ >
+ <File
+ RelativePath="..\WebProcess\Authentication\AuthenticationManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Authentication\AuthenticationManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Authentication\AuthenticationManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Geolocation"
+ >
+ <File
+ RelativePath="..\WebProcess\Geolocation\GeolocationPermissionRequestManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Geolocation\GeolocationPermissionRequestManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Geolocation\WebGeolocationManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Geolocation\WebGeolocationManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Geolocation\WebGeolocationManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="IconDatabase"
+ >
+ <File
+ RelativePath="..\WebProcess\IconDatabase\WebIconDatabaseProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\IconDatabase\WebIconDatabaseProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\IconDatabase\WebIconDatabaseProxy.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="KeyValueStorage"
+ >
+ <File
+ RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\KeyValueStorage\WebKeyValueStorageManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="MediaCache"
+ >
+ <File
+ RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\MediaCache\WebMediaCacheManager.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="ResourceCache"
+ >
+ <File
+ RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\ResourceCache\WebResourceCacheManager.messages.in"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\WebProcess\ResourceCache\cf\WebResourceCacheManagerCFNet.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Cookies"
+ >
+ <File
+ RelativePath="..\WebProcess\Cookies\WebCookieManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Cookies\WebCookieManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Cookies\WebCookieManager.messages.in"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\WebProcess\Cookies\cf\WebCookieManagerCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="curl"
+ >
+ <File
+ RelativePath="..\WebProcess\Cookies\curl\WebCookieManagerCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="WebCoreSupport"
+ >
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebChromeClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebChromeClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebColorChooser.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebColorChooser.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebContextMenuClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebContextMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebDatabaseManager.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebDragClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebDragClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebEditorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebEditorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebErrors.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebFrameLoaderClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebFrameLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebGeolocationClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebGeolocationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebInspectorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebInspectorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebInspectorFrontendClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebInspectorFrontendClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebNotificationClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebNotificationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebPlatformStrategies.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebPlatformStrategies.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebPopupMenu.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebPopupMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\WebSearchPopupMenu.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebContextMenuClientWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebDragClientWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebDragSource.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebErrorsWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebFrameNetworkingContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebFrameNetworkingContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebCoreSupport\win\WebPopupMenuWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="WebPage"
+ >
+ <File
+ RelativePath="..\WebProcess\WebPage\DecoderAdapter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\DecoderAdapter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\DrawingArea.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\DrawingArea.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\DrawingArea.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\DrawingAreaImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\DrawingAreaImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\EncoderAdapter.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\EncoderAdapter.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\EventDispatcher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\EventDispatcher.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\FindController.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\FindController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\LayerTreeHost.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\LayerTreeHost.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\PageOverlay.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\PageOverlay.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebBackForwardListProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebBackForwardListProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebContextMenu.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebContextMenu.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebInspector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebInspector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebInspector.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebOpenPanelResultListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebOpenPanelResultListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebPage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebPage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebPage.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebPageGroupProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebPageGroupProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebUndoStep.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\WebUndoStep.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\WebPage\win\DrawingAreaImplWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\win\LayerTreeHostWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\win\WebInspectorWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\win\WebPageWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="ca"
+ >
+ <File
+ RelativePath="..\WebProcess\WebPage\ca\LayerTreeHostCA.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\ca\LayerTreeHostCA.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\WebPage\ca\win\LayerTreeHostCAWin.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\ca\win\LayerTreeHostCAWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\ca\win\WKCACFViewWindow.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\WebPage\ca\win\WKCACFViewWindow.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\win\WebProcessMainWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\win\WebProcessWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Downloads"
+ >
+ <File
+ RelativePath="..\WebProcess\Downloads\Download.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Downloads\Download.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Downloads\DownloadAuthenticationClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Downloads\DownloadAuthenticationClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Downloads\DownloadManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Downloads\DownloadManager.h"
+ >
+ </File>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\WebProcess\Downloads\cf\win\DownloadCFWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cfnet"
+ >
+ <File
+ RelativePath="..\WebProcess\Downloads\cfnet\DownloadCFNet.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="curl"
+ >
+ <File
+ RelativePath="..\WebProcess\Downloads\curl\DownloadCurl.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="InjectedBundle"
+ >
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardListItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleBackForwardListItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleDOMWindowExtension.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleDOMWindowExtension.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleHitTestResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleHitTestResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleNavigationAction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleNavigationAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageContextMenuClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageContextMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageDiagnosticLoggingClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageDiagnosticLoggingClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageEditorClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageEditorClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFormClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFormClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFullScreenClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageFullScreenClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageLoaderClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePagePolicyClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePagePolicyClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageResourceLoadClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageResourceLoadClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageUIClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundlePageUIClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleScriptWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleScriptWorld.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\InjectedBundleUserMessageCoders.h"
+ >
+ </File>
+ <Filter
+ Name="API"
+ >
+ <Filter
+ Name="c"
+ >
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleAPICast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardListItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleBackForwardListItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleDOMWindowExtension.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleDOMWindowExtension.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleFramePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleHitTestResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleHitTestResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleInitialize.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleInspector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleInspector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNavigationAction.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNavigationAction.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNodeHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNodeHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleNodeHandlePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageGroup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageGroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageOverlay.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePageOverlay.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePagePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundlePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleRangeHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleRangeHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleScriptWorld.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\WKBundleScriptWorld.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\win\WKBundlePrivateWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\API\c\win\WKBundlePrivateWin.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="DOM"
+ >
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleNodeHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleNodeHandle.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleRangeHandle.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\DOM\InjectedBundleRangeHandle.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\InjectedBundle\win\InjectedBundleWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Plugins"
+ >
+ <File
+ RelativePath="..\WebProcess\Plugins\Plugin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Plugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\PluginController.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\PluginView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\PluginView.h"
+ >
+ </File>
+ <Filter
+ Name="Netscape"
+ >
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\JSNPMethod.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\JSNPMethod.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\JSNPObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\JSNPObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NetscapeBrowserFuncs.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NetscapeBrowserFuncs.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NetscapePlugin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NetscapePlugin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NetscapePluginStream.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NetscapePluginStream.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NPJSObject.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NPJSObject.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeObjectMap.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeObjectMap.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeUtilities.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\NPRuntimeUtilities.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\WebProcess\Plugins\Netscape\win\NetscapePluginWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="FullScreen"
+ >
+ <File
+ RelativePath="..\WebProcess\FullScreen\WebFullScreenManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\FullScreen\WebFullScreenManager.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Notifications (User)"
+ >
+ <File
+ RelativePath="..\WebProcess\Notifications\NotificationPermissionRequestManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Notifications\NotificationPermissionRequestManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Notifications\WebNotificationManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Notifications\WebNotificationManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\WebProcess\Notifications\WebNotificationManager.messages.in"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="UIProcess"
+ >
+ <File
+ RelativePath="..\UIProcess\BackingStore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\BackingStore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\DrawingAreaProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\DrawingAreaProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\DrawingAreaProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\DrawingAreaProxyImpl.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\DrawingAreaProxyImpl.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\FindIndicator.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\FindIndicator.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\GenericCallback.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\GeolocationPermissionRequestManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\GeolocationPermissionRequestManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\GeolocationPermissionRequestProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\GeolocationPermissionRequestProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\PageClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\ProcessModel.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\ResponsivenessTimer.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\ResponsivenessTimer.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\TextChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\VisitedLinkProvider.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\VisitedLinkProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebApplicationCacheManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebBackForwardList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebBackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebColorChooserProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebConnectionToWebProcess.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebConnectionToWebProcess.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContext.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextConnectionClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextConnectionClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextInjectedBundleClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextInjectedBundleClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextMenuProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextMenuProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebContextUserMessageCoders.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxyClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebCookieManagerProxyClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDatabaseManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDatabaseManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDatabaseManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDatabaseManagerProxyClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDatabaseManagerProxyClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDownloadClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebDownloadClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebEditCommandProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebEditCommandProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFindClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFindClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFormClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFormClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFormSubmissionListenerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFormSubmissionListenerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFrameListenerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFrameListenerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFramePolicyListenerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFramePolicyListenerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFrameProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFrameProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFullScreenManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebFullScreenManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGeolocationManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGeolocationManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGeolocationManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGeolocationProvider.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGeolocationProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGrammarDetail.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebGrammarDetail.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebHistoryClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebHistoryClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebIconDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebIconDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebIconDatabase.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebIconDatabaseClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebIconDatabaseClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebInspectorProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebInspectorProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebKeyValueStorageManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebLoaderClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebLoaderClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebMediaCacheManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebMediaCacheManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebMediaCacheManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebNavigationData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebNavigationData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebOpenPanelResultListenerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebOpenPanelResultListenerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageContextMenuClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageContextMenuClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageGroup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageGroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPageProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPolicyClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPolicyClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPreferences.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebPreferences.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebProcessProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebProcessProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebProcessProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebResourceCacheManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebResourceCacheManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebResourceCacheManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebResourceLoadClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebResourceLoadClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebTextChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebTextChecker.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebTextCheckerClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebTextCheckerClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebUIClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\WebUIClient.h"
+ >
+ </File>
+ <Filter
+ Name="API"
+ >
+ <Filter
+ Name="C"
+ >
+ <File
+ RelativePath="..\UIProcess\API\C\WebKit2_C.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKAPICast.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKApplicationCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKApplicationCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKAuthenticationChallenge.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKAuthenticationChallenge.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKAuthenticationDecisionListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKAuthenticationDecisionListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKBackForwardList.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKBackForwardList.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKBackForwardListItem.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKBackForwardListItem.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKContext.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKContext.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKContextPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKContextPrivateWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKContextWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKCookieManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKCookieManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKCredential.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKCredential.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKCredentialTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKDatabaseManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKDatabaseManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKDownload.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKDownload.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKFormSubmissionListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKFormSubmissionListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKFrame.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKFrame.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKFramePolicyListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKFramePolicyListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGeolocationManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGeolocationManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGeolocationPermissionRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGeolocationPermissionRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGeolocationPosition.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGeolocationPosition.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGrammarDetail.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKGrammarDetail.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKHitTestResult.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKHitTestResult.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKIconDatabase.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKIconDatabase.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKInspector.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKInspector.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKKeyValueStorageManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKKeyValueStorageManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKMediaCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKMediaCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNativeEvent.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNavigationData.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNavigationData.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotification.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotification.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotificationManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotificationManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotificationPermissionRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotificationPermissionRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKNotificationProvider.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKOpenPanelParameters.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKOpenPanelParameters.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKOpenPanelResultListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKOpenPanelResultListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPage.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPageGroup.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPageGroup.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPagePrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPluginSiteDataManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPluginSiteDataManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPreferences.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPreferences.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKPreferencesPrivate.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKProtectionSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKProtectionSpace.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKProtectionSpaceTypes.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKResourceCacheManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKResourceCacheManager.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKTextChecker.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\WKTextChecker.h"
+ >
+ </File>
+ <Filter
+ Name="cg"
+ >
+ <File
+ RelativePath="..\UIProcess\API\C\cg\WKIconDatabaseCG.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\cg\WKIconDatabaseCG.h"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKAPICastWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKView.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKViewPrivate.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\API\C\win\WKViewPrivate.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="cpp"
+ >
+ <File
+ RelativePath="..\UIProcess\API\cpp\WKRetainPtr.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Authentication"
+ >
+ <File
+ RelativePath="..\UIProcess\Authentication\AuthenticationChallengeProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\AuthenticationChallengeProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\AuthenticationDecisionListener.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\AuthenticationDecisionListener.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\WebCredential.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\WebCredential.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\WebProtectionSpace.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Authentication\WebProtectionSpace.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="cf"
+ >
+ <File
+ RelativePath="..\UIProcess\cf\WebBackForwardListCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\cf\WebPageProxyCF.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\cf\WebPreferencesCF.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Downloads"
+ >
+ <File
+ RelativePath="..\UIProcess\Downloads\DownloadProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Downloads\DownloadProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Downloads\DownloadProxy.messages.in"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Launcher"
+ >
+ <File
+ RelativePath="..\UIProcess\Launcher\ProcessLauncher.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Launcher\ProcessLauncher.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\UIProcess\Launcher\win\ProcessLauncherWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\UIProcess\win\BackingStoreWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\TextCheckerWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebContextMenuProxyWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebContextMenuProxyWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebContextWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebFullScreenManagerProxyWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebInspectorProxyWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebPageProxyWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebPopupMenuProxyWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebPopupMenuProxyWin.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebProcessProxyWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebUndoClient.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebUndoClient.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebView.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\win\WebView.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Plugins"
+ >
+ <File
+ RelativePath="..\UIProcess\Plugins\PluginInfoStore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Plugins\PluginInfoStore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Plugins\WebPluginSiteDataManager.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Plugins\WebPluginSiteDataManager.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\UIProcess\Plugins\win\PluginInfoStoreWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Notifications (User)"
+ >
+ <File
+ RelativePath="..\UIProcess\Notifications\NotificationPermissionRequest.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\NotificationPermissionRequest.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\NotificationPermissionRequestManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\NotificationPermissionRequestManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotification.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotification.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotificationManagerProxy.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotificationManagerProxy.h"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotificationManagerProxy.messages.in"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotificationProvider.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\UIProcess\Notifications\WebNotificationProvider.h"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Platform"
+ >
+ <File
+ RelativePath="..\Platform\Logging.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\Logging.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\Module.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\Module.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\PlatformProcessIdentifier.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\SharedMemory.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\WorkQueue.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\WorkQueue.h"
+ >
+ </File>
+ <Filter
+ Name="cg"
+ >
+ <File
+ RelativePath="..\Platform\cg\CGUtilities.cpp"
+ >
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\Platform\cg\CGUtilities.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\Platform\win\ModuleWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\win\SharedMemoryWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\win\WorkQueueWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="CoreIPC"
+ >
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentCoder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentCoders.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentCoders.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentDecoder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentDecoder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentEncoder.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\ArgumentEncoder.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\Arguments.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\Attachment.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\Attachment.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\BinarySemaphore.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\BinarySemaphore.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\Connection.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\Connection.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\CoreIPCMessageKinds.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\DataReference.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\DataReference.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\HandleMessage.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\MessageID.h"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\MessageSender.h"
+ >
+ </File>
+ <Filter
+ Name="win"
+ >
+ <File
+ RelativePath="..\Platform\CoreIPC\win\BinarySemaphoreWin.cpp"
+ >
+ </File>
+ <File
+ RelativePath="..\Platform\CoreIPC\win\ConnectionWin.cpp"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ </Filter>
+ <Filter
+ Name="Resources"
+ >
+ <File
+ RelativePath=".\deleteButton.png"
+ >
+ </File>
+ <File
+ RelativePath=".\deleteButtonPressed.png"
+ >
+ </File>
+ <File
+ RelativePath=".\fsVideoAudioVolumeHigh.png"
+ >
+ </File>
+ <File
+ RelativePath=".\fsVideoAudioVolumeLow.png"
+ >
+ </File>
+ <File
+ RelativePath=".\fsVideoExitFullscreen.png"
+ >
+ </File>
+ <File
+ RelativePath=".\fsVideoPause.png"
+ >
+ </File>
+ <File
+ RelativePath=".\fsVideoPlay.png"
+ >
+ </File>
+ <File
+ RelativePath=".\missingImage.png"
+ >
+ </File>
+ <File
+ RelativePath=".\nullplugin.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panEastCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panIcon.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panNorthCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panNorthEastCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panNorthWestCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panSouthCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panSouthEastCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panSouthWestCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\panWestCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\searchCancel.png"
+ >
+ </File>
+ <File
+ RelativePath=".\searchCancelPressed.png"
+ >
+ </File>
+ <File
+ RelativePath=".\searchMagnifier.png"
+ >
+ </File>
+ <File
+ RelativePath=".\searchMagnifierResults.png"
+ >
+ </File>
+ <File
+ RelativePath=".\textAreaResizeCorner.png"
+ >
+ </File>
+ <File
+ RelativePath=".\verticalTextCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\WebKit2.rc"
+ >
+ </File>
+ <File
+ RelativePath=".\zoomInCursor.png"
+ >
+ </File>
+ <File
+ RelativePath=".\zoomOutCursor.png"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Derived Sources"
+ >
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\AuthenticationManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\AuthenticationManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DownloadProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DownloadProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\DrawingAreaProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventDispatcherMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\EventDispatcherMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebApplicationCacheManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebContextMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebContextMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebCookieManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebDatabaseManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebFullScreenManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebGeolocationManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebIconDatabaseProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebInspectorProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebKeyValueStorageManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebMediaCacheManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebNotificationManagerProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebPageProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerMessages.h"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerProxyMessageReceiver.cpp"
+ >
+ </File>
+ <File
+ RelativePath="$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources\WebResourceCacheManagerProxyMessages.h"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Scripts"
+ >
+ <File
+ RelativePath="..\Scripts\generate-message-receiver.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\generate-messages-header.py"
+ >
+ </File>
+ <Filter
+ Name="webkit2"
+ >
+ <File
+ RelativePath="..\Scripts\webkit2\__init__.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\messages.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\messages_unittest.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\model.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\parser.py"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath="..\config.h"
+ >
+ </File>
+ <File
+ RelativePath=".\WebKit2.def"
+ >
+ </File>
+ <File
+ RelativePath="..\WebKit2Prefix.cpp"
+ >
+ <FileConfiguration
+ Name="Debug|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Release_Cairo_CFLite|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Debug_All|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ />
+ </FileConfiguration>
+ <FileConfiguration
+ Name="Production|Win32"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ UsePrecompiledHeader="1"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\WebKit2Prefix.h"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit2/win/WebKit2Apple.vsprops b/Source/WebKit2/win/WebKit2Apple.vsprops
index 2a45d65c0..e1dee9a54 100644
--- a/Source/WebKit2/win/WebKit2Apple.vsprops
+++ b/Source/WebKit2/win/WebKit2Apple.vsprops
@@ -1,17 +1,17 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2Apple"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)..\WebProcess\WebPage\ca&quot;;&quot;$(ProjectDir)..\WebProcess\WebPage\ca\win&quot;"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="CFNetwork$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib QTMovieWin$(WebKitConfigSuffix).lib WebKitSystemInterface$(WebKitConfigSuffix).lib"
- ModuleDefinitionFile="WebKit2.def"
- DelayLoadDLLs="QTMovieWin$(WebKitConfigSuffix).dll"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2Apple"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)..\WebProcess\WebPage\ca&quot;;&quot;$(ProjectDir)..\WebProcess\WebPage\ca\win&quot;"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="CFNetwork$(LibraryConfigSuffix).lib CoreFoundation$(LibraryConfigSuffix).lib CoreGraphics$(LibraryConfigSuffix).lib QTMovieWin$(WebKitConfigSuffix).lib WebKitSystemInterface$(WebKitConfigSuffix).lib"
+ ModuleDefinitionFile="WebKit2.def"
+ DelayLoadDLLs="QTMovieWin$(WebKitConfigSuffix).dll"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2CFLite.def b/Source/WebKit2/win/WebKit2CFLite.def
index b53c69e57..71b6f71ff 100644
--- a/Source/WebKit2/win/WebKit2CFLite.def
+++ b/Source/WebKit2/win/WebKit2CFLite.def
@@ -178,6 +178,7 @@ EXPORTS
?getElementById@TreeScope@WebCore@@QBEPAVElement@2@ABVAtomicString@WTF@@@Z
?getHighlight@InspectorController@WebCore@@QBEXPAUHighlight@2@@Z
?getLocationAndLengthFromRange@TextIterator@WebCore@@SA_NPAVElement@2@PBVRange@2@AAI2@Z
+ ?getReferencedFilePaths@FormController@WebCore@@SA?AV?$Vector@VString@WTF@@$0A@@WTF@@ABV34@@Z
?inputTag@HTMLNames@WebCore@@3VQualifiedName@2@B
?instrumentingAgentsForPage@InspectorInstrumentation@WebCore@@CAPAVInstrumentingAgents@2@PAVPage@2@@Z
?isActiveInsertionPoint@WebCore@@YA_NPBVNode@1@@Z
@@ -191,8 +192,10 @@ EXPORTS
?lastChild@ComposedShadowTreeWalker@WebCore@@QAEXXZ
?next@ComposedShadowTreeWalker@WebCore@@QAEXXZ
?previous@ComposedShadowTreeWalker@WebCore@@QAEXXZ
- ?number@String@WTF@@SA?AV12@I@Z
+ ?number@String@WTF@@SA?AV12@_K@Z
?number@String@WTF@@SA?AV12@H@Z
+ ?number@String@WTF@@SA?AV12@I@Z
+ ?number@String@WTF@@SA?AV12@NII@Z
?overrideUserPreferredLanguages@WebCore@@YAXABV?$Vector@VString@WTF@@$0A@@WTF@@@Z
?numberOfScopedHTMLStyleChildren@Node@WebCore@@QBEIXZ
?page@Document@WebCore@@QBEPAVPage@2@XZ
@@ -204,9 +207,11 @@ EXPORTS
?removedLastRef@Node@WebCore@@AAEXXZ
?reverseFind@StringImpl@WTF@@QAEI_WI@Z
?s_frontendCounter@InspectorInstrumentation@WebCore@@0HA
+ ?saveDocumentAndScrollState@HistoryController@WebCore@@QAEXXZ
?scriptExecutionContext@JSDOMGlobalObject@WebCore@@QBEPAVScriptExecutionContext@2@XZ
?scriptNameToCode@WebCore@@YA?AW4UScriptCode@@ABVString@WTF@@@Z
?scrollElementToRect@FrameView@WebCore@@QAEXPAVElement@2@ABVIntRect@2@@Z
+ ?setCanStartMedia@Page@WebCore@@QAEX_N@Z
?setCursiveFontFamily@Settings@WebCore@@QAEXABVAtomicString@WTF@@W4UScriptCode@@@Z
?setDeviceScaleFactor@Page@WebCore@@QAEXM@Z
?setDOMException@WebCore@@YAXPAVExecState@JSC@@H@Z
@@ -250,7 +255,7 @@ EXPORTS
?userPreferredLanguages@WebCore@@YA?AV?$Vector@VString@WTF@@$0A@@WTF@@XZ
?utf8@String@WTF@@QBE?AVCString@2@_N@Z
?view@Document@WebCore@@QBEPAVFrameView@2@XZ
- ?nodesFromRect@Document@WebCore@@QBE?AV?$PassRefPtr@VNodeList@WebCore@@@WTF@@HHIIII_N0@Z
+ ?nodesFromRect@Document@WebCore@@QBE?AV?$PassRefPtr@VNodeList@WebCore@@@WTF@@HHIIIII@Z
?selectionStartHasMarkerFor@Editor@WebCore@@QBE_NW4MarkerType@DocumentMarker@2@HH@Z
?restrictScaleFactorToInitialScaleIfNotUserScalable@WebCore@@YAXAAUViewportAttributes@1@@Z
?restrictMinimumScaleFactorToViewportSize@WebCore@@YAXAAUViewportAttributes@1@VIntSize@1@@Z
@@ -264,6 +269,9 @@ EXPORTS
?profilerEnabled@InspectorController@WebCore@@QAE_NXZ
?setProfilerEnabled@InspectorController@WebCore@@QAEX_N@Z
??1ContextDestructionObserver@WebCore@@MAE@XZ
- ?jsStringSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@U?$PtrHash@PAVStringImpl@WTF@@@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
+ ?jsStringWithCacheSlowCase@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@AAV?$HashMap@PAVStringImpl@WTF@@V?$Weak@VJSString@JSC@@@JSC@@U?$PtrHash@PAVStringImpl@WTF@@@2@U?$HashTraits@PAVStringImpl@WTF@@@2@U?$HashTraits@V?$Weak@VJSString@JSC@@@JSC@@@2@@WTF@@PAVStringImpl@6@@Z
?registerURLSchemeAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXABVString@WTF@@@Z
?removeURLSchemeRegisteredAsBypassingContentSecurityPolicy@SchemeRegistry@WebCore@@SAXABVString@WTF@@@Z
+ ?numberOfPages@PrintContext@WebCore@@SAHPAVFrame@2@ABVFloatSize@2@@Z
+ ?pageProperty@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@PBDH@Z
+ ?pageSizeAndMarginsInPixels@PrintContext@WebCore@@SA?AVString@WTF@@PAVFrame@2@HHHHHHH@Z
diff --git a/Source/WebKit2/win/WebKit2CFLite.vsprops b/Source/WebKit2/win/WebKit2CFLite.vsprops
index bb6228694..fadb41e03 100644
--- a/Source/WebKit2/win/WebKit2CFLite.vsprops
+++ b/Source/WebKit2/win/WebKit2CFLite.vsprops
@@ -1,13 +1,13 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2CFLite"
- >
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="CFLite$(LibraryConfigSuffix).lib"
- ModuleDefinitionFile="WebKit2CFLite.def"
- AdditionalLibraryDirectories=""
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2CFLite"
+ >
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="CFLite$(LibraryConfigSuffix).lib"
+ ModuleDefinitionFile="WebKit2CFLite.def"
+ AdditionalLibraryDirectories=""
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2Common.vsprops b/Source/WebKit2/win/WebKit2Common.vsprops
index 81d34d907..cb8e2f121 100755
--- a/Source/WebKit2/win/WebKit2Common.vsprops
+++ b/Source/WebKit2/win/WebKit2Common.vsprops
@@ -1,27 +1,27 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2Common"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Notifications&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\IconDatabase&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\FullScreen&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\MediaCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Notifications&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
- PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
- UsePrecompiledHeader="2"
- PrecompiledHeaderThrough="WebKit2Prefix.h"
- DisableSpecificWarnings="4481;4819"
- ForcedIncludeFiles="WebKit2Prefix.h;ICUVersion.h"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="delayimp.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib usp10.lib comctl32.lib version.lib shlwapi.lib libxml2$(LibraryConfigSuffix).lib libxslt$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib SQLite3$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebCore$(WebKitConfigSuffix).lib WebKitLib$(WebKitConfigSuffix).lib WebKitGUID$(WebKitConfigSuffix).lib msimg32.lib crypt32.lib iphlpapi.lib winmm.lib comsuppw.lib rpcrt4.lib zdll$(LibraryConfigSuffix).lib"
- OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
- AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
- DelayLoadDLLs="usp10.dll;comctl32.dll;version.dll;libxslt$(LibraryConfigSuffix).dll;SQLite3$(LibraryConfigSuffix).dll;iphlpapi.dll"
- />
- <Tool
- Name="VCResourceCompilerTool"
- AdditionalIncludeDirectories="$(ConfigurationBuildDir)\obj\WebKit2\"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2Common"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)&quot;;&quot;$(ProjectDir)\..&quot;;&quot;$(ProjectDir)\..\Platform&quot;;&quot;$(ProjectDir)\..\Platform\cg&quot;;&quot;$(ProjectDir)\..\Platform\CoreIPC&quot;;&quot;$(ProjectDir)\..\PluginProcess&quot;;&quot;$(ProjectDir)\..\Shared&quot;;&quot;$(ProjectDir)\..\Shared\win&quot;;&quot;$(ProjectDir)\..\Shared\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c&quot;;&quot;$(ProjectDir)\..\Shared\API\c\cf&quot;;&quot;$(ProjectDir)\..\Shared\API\c\win&quot;;&quot;$(ProjectDir)\..\Shared\CoreIPCSupport&quot;;&quot;$(ProjectDir)\..\Shared\Plugins&quot;;&quot;$(ProjectDir)\..\Shared\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\UIProcess&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C&quot;;&quot;$(ProjectDir)\..\UIProcess\API\C\win&quot;;&quot;$(ProjectDir)\..\UIProcess\API\cpp&quot;;&quot;$(ProjectDir)\..\UIProcess\API\win&quot;;&quot;$(ProjectDir)\..\UIProcess\Authentication&quot;;&quot;$(ProjectDir)\..\UIProcess\Downloads&quot;;&quot;$(ProjectDir)\..\UIProcess\Launcher&quot;;&quot;$(ProjectDir)\..\UIProcess\Notifications&quot;;&quot;$(ProjectDir)\..\UIProcess\Plugins&quot;;&quot;$(ProjectDir)\..\UIProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport&quot;;&quot;$(ProjectDir)\..\WebProcess\WebCoreSupport\win&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage&quot;;&quot;$(ProjectDir)\..\WebProcess\WebPage\win&quot;;&quot;$(ProjectDir)\..\WebProcess\IconDatabase&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\API\c&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\DOM&quot;;&quot;$(ProjectDir)\..\WebProcess\InjectedBundle\win&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins&quot;;&quot;$(ProjectDir)\..\WebProcess\Plugins\Netscape&quot;;&quot;$(ProjectDir)\..\WebProcess\win&quot;;&quot;$(ProjectDir)\..\WebProcess\ApplicationCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Authentication&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies&quot;;&quot;$(ProjectDir)\..\WebProcess\Cookies\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads&quot;;&quot;$(ProjectDir)\..\WebProcess\Downloads\cf&quot;;&quot;$(ProjectDir)\..\WebProcess\FullScreen&quot;;&quot;$(ProjectDir)\..\WebProcess\Geolocation&quot;;&quot;$(ProjectDir)\..\WebProcess\KeyValueStorage&quot;;&quot;$(ProjectDir)\..\WebProcess\MediaCache&quot;;&quot;$(ProjectDir)\..\WebProcess\Notifications&quot;;&quot;$(ProjectDir)\..\WebProcess\ResourceCache&quot;;&quot;$(ConfigurationBuildDir)\obj\$(ProjectName)\DerivedSources&quot;;&quot;$(ConfigurationBuildDir)\Include&quot;;&quot;$(ConfigurationBuildDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include&quot;;&quot;$(WebKitLibrariesDir)\Include\private&quot;;&quot;$(WebKitLibrariesDir)\Include\pthreads&quot;;&quot;$(ConfigurationBuildDir)\Include\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\private\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\JavaScriptCore&quot;;&quot;$(WebKitLibrariesDir)\Include\private\JavaScriptCore&quot;;&quot;$(ConfigurationBuildDir)\Include\WebCore\ForwardingHeaders&quot;;&quot;$(WebKitLibrariesDir)\Include\WebCore\ForwardingHeaders&quot;"
+ PreprocessorDefinitions="_USRDLL;WEBKIT_EXPORTS;FRAMEWORK_NAME=WebKit;BUILDING_WEBKIT"
+ UsePrecompiledHeader="2"
+ PrecompiledHeaderThrough="WebKit2Prefix.h"
+ DisableSpecificWarnings="4481;4819"
+ ForcedIncludeFiles="WebKit2Prefix.h;ICUVersion.h"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="delayimp.lib kernel32.lib user32.lib gdi32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib usp10.lib comctl32.lib version.lib shlwapi.lib libxml2$(LibraryConfigSuffix).lib libxslt$(LibraryConfigSuffix).lib libicuin$(LibraryConfigSuffix).lib libicuuc$(LibraryConfigSuffix).lib SQLite3$(LibraryConfigSuffix).lib pthreadVC2$(LibraryConfigSuffix).lib JavaScriptCore$(WebKitDLLConfigSuffix).lib WebCore$(WebKitConfigSuffix).lib WebKitLib$(WebKitConfigSuffix).lib WebKitGUID$(WebKitConfigSuffix).lib msimg32.lib crypt32.lib iphlpapi.lib winmm.lib comsuppw.lib rpcrt4.lib zdll$(LibraryConfigSuffix).lib"
+ OutputFile="$(OutDir)\$(ProjectName)$(WebKitDLLConfigSuffix).dll"
+ AdditionalLibraryDirectories="&quot;$(IntDir)\lib&quot;"
+ DelayLoadDLLs="usp10.dll;comctl32.dll;version.dll;libxslt$(LibraryConfigSuffix).dll;SQLite3$(LibraryConfigSuffix).dll;iphlpapi.dll"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ AdditionalIncludeDirectories="$(ConfigurationBuildDir)\obj\WebKit2\"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2Debug.vsprops b/Source/WebKit2/win/WebKit2Debug.vsprops
index 90e6b7892..eded8ece9 100644
--- a/Source/WebKit2/win/WebKit2Debug.vsprops
+++ b/Source/WebKit2/win/WebKit2Debug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2Debug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2Debug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2DebugAll.vsprops b/Source/WebKit2/win/WebKit2DebugAll.vsprops
index fa27abc59..90874eac5 100644
--- a/Source/WebKit2/win/WebKit2DebugAll.vsprops
+++ b/Source/WebKit2/win/WebKit2DebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2DebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2DebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2DebugCairoCFLite.vsprops b/Source/WebKit2/win/WebKit2DebugCairoCFLite.vsprops
index bfe002af5..817e71cf6 100644
--- a/Source/WebKit2/win/WebKit2DebugCairoCFLite.vsprops
+++ b/Source/WebKit2/win/WebKit2DebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2DebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKit2Common.vsprops;.\WebKit2CFLite.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2DebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKit2Common.vsprops;.\WebKit2CFLite.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2DirectX.vsprops b/Source/WebKit2/win/WebKit2DirectX.vsprops
index 1d3870801..44b5c7b20 100644
--- a/Source/WebKit2/win/WebKit2DirectX.vsprops
+++ b/Source/WebKit2/win/WebKit2DirectX.vsprops
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2DirectX"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(DXSDK_DIR)\Include&quot;"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalLibraryDirectories="$(DXSDK_DIR)\Lib\x86"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2DirectX"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(DXSDK_DIR)\Include&quot;"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalLibraryDirectories="$(DXSDK_DIR)\Lib\x86"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2Generated.make b/Source/WebKit2/win/WebKit2Generated.make
index eee26864f..f93f8a900 100644
--- a/Source/WebKit2/win/WebKit2Generated.make
+++ b/Source/WebKit2/win/WebKit2Generated.make
@@ -72,6 +72,10 @@ all:
xcopy /y /d "..\UIProcess\API\C\WKMediaCacheManager.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKNativeEvent.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKNavigationData.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKNotification.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKNotificationManager.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKNotificationPermissionRequest.h" "%ConfigurationBuildDir%\include\WebKit2"
+ xcopy /y /d "..\UIProcess\API\C\WKNotificationProvider.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKOpenPanelParameters.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKOpenPanelResultListener.h" "%ConfigurationBuildDir%\include\WebKit2"
xcopy /y /d "..\UIProcess\API\C\WKPage.h" "%ConfigurationBuildDir%\include\WebKit2"
diff --git a/Source/WebKit2/win/WebKit2Generated.vcproj b/Source/WebKit2/win/WebKit2Generated.vcproj
index ad46ac4e5..40f0b9fb6 100755
--- a/Source/WebKit2/win/WebKit2Generated.vcproj
+++ b/Source/WebKit2/win/WebKit2Generated.vcproj
@@ -1,127 +1,127 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2Generated"
- ProjectGUID="{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
- RootNamespace="WebKit2Generated"
- Keyword="MakeFileProj"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="0"
- InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Scripts"
- >
- <File
- RelativePath="..\Scripts\generate-message-receiver.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\generate-messages-header.py"
- >
- </File>
- <Filter
- Name="webkit2"
- >
- <File
- RelativePath="..\Scripts\webkit2\__init__.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\messages.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\messages_unittest.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\model.py"
- >
- </File>
- <File
- RelativePath="..\Scripts\webkit2\parser.py"
- >
- </File>
- </Filter>
- </Filter>
- <File
- RelativePath=".\build-generated-files.sh"
- >
- </File>
- <File
- RelativePath="..\DerivedSources.make"
- >
- </File>
- <File
- RelativePath=".\WebKit2Generated.make"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2Generated"
+ ProjectGUID="{2EDAD637-CBA8-4E55-97ED-7D2BBC336FDB}"
+ RootNamespace="WebKit2Generated"
+ Keyword="MakeFileProj"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="0"
+ InheritedPropertySheets=".\WebKit2GeneratedCommon.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Scripts"
+ >
+ <File
+ RelativePath="..\Scripts\generate-message-receiver.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\generate-messages-header.py"
+ >
+ </File>
+ <Filter
+ Name="webkit2"
+ >
+ <File
+ RelativePath="..\Scripts\webkit2\__init__.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\messages.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\messages_unittest.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\model.py"
+ >
+ </File>
+ <File
+ RelativePath="..\Scripts\webkit2\parser.py"
+ >
+ </File>
+ </Filter>
+ </Filter>
+ <File
+ RelativePath=".\build-generated-files.sh"
+ >
+ </File>
+ <File
+ RelativePath="..\DerivedSources.make"
+ >
+ </File>
+ <File
+ RelativePath=".\WebKit2Generated.make"
+ >
+ </File>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit2/win/WebKit2GeneratedCommon.vsprops b/Source/WebKit2/win/WebKit2GeneratedCommon.vsprops
index f57f11b37..9f214e4b1 100644
--- a/Source/WebKit2/win/WebKit2GeneratedCommon.vsprops
+++ b/Source/WebKit2/win/WebKit2GeneratedCommon.vsprops
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2GeneratedCommon"
- OutputDirectory="$(ConfigurationBuildDir)\lib"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
- >
- <Tool
- Name="VCNMakeTool"
- BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;nmake /nologo -f WebKit2Generated.make&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- ReBuildCommandLine="echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;nmake /nologo -f WebKit2Generated.make clean&#x0D;&#x0A;nmake -f WebKit2Generated.make&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;nmake /nologo -f WebKit2Generated.make clean&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2GeneratedCommon"
+ OutputDirectory="$(ConfigurationBuildDir)\lib"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops"
+ >
+ <Tool
+ Name="VCNMakeTool"
+ BuildCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; grep XX$(ProjectName)XX &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;if errorlevel 1 exit 1&#x0D;&#x0A;echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;nmake /nologo -f WebKit2Generated.make&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ ReBuildCommandLine="echo XX$(ProjectName)XX &gt; &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;&#x0D;&#x0A;%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;nmake /nologo -f WebKit2Generated.make clean&#x0D;&#x0A;nmake -f WebKit2Generated.make&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ CleanCommandLine="%SystemDrive%\cygwin\bin\which.exe bash&#x0D;&#x0A;if errorlevel 1 set PATH=%SystemDrive%\cygwin\bin;%PATH%&#x0D;&#x0A;cmd /c&#x0D;&#x0A;&#x0D;&#x0A;set CONFIGURATIONBUILDDIR=$(ConfigurationBuildDir)&#x0D;&#x0A;nmake /nologo -f WebKit2Generated.make clean&#x0D;&#x0A;&#x0D;&#x0A;if exist &quot;$(ConfigurationBuildDir)\buildfailed&quot; del &quot;$(ConfigurationBuildDir)\buildfailed&quot;&#x0D;&#x0A;"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2Production.vsprops b/Source/WebKit2/win/WebKit2Production.vsprops
index 40bd44988..90a5543a0 100644
--- a/Source/WebKit2/win/WebKit2Production.vsprops
+++ b/Source/WebKit2/win/WebKit2Production.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2Production"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2Production"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2Release.vsprops b/Source/WebKit2/win/WebKit2Release.vsprops
index cde883960..bb0e08cb4 100644
--- a/Source/WebKit2/win/WebKit2Release.vsprops
+++ b/Source/WebKit2/win/WebKit2Release.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2Release"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2Release"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKit2Common.vsprops;.\WebKit2DirectX.vsprops;.\WebKit2Apple.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2ReleaseCairoCFLite.vsprops b/Source/WebKit2/win/WebKit2ReleaseCairoCFLite.vsprops
index 507e1bb69..09bf31ef4 100644
--- a/Source/WebKit2/win/WebKit2ReleaseCairoCFLite.vsprops
+++ b/Source/WebKit2/win/WebKit2ReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2ReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKit2Common.vsprops;.\WebKit2CFLite.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2ReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\cURL.vsprops;.\WebKit2Common.vsprops;.\WebKit2CFLite.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcess.vcproj b/Source/WebKit2/win/WebKit2WebProcess.vcproj
index 16a023837..e9c57be26 100755
--- a/Source/WebKit2/win/WebKit2WebProcess.vcproj
+++ b/Source/WebKit2/win/WebKit2WebProcess.vcproj
@@ -1,407 +1,407 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcess"
- ProjectGUID="{AAE88FEF-509E-4D49-870B-7357922C276F}"
- RootNamespace="WebKit2WebProcess"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\WebKit2WebProcessDebug.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\WebKit2WebProcessRelease.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_All|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\WebKit2WebProcessDebugAll.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\WebKit2WebProcessDebugCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Production|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\WebKit2WebProcessProduction.vsprops"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_Cairo_CFLite|Win32"
- ConfigurationType="1"
- InheritedPropertySheets=".\WebKit2WebProcessReleaseCairoCFLite.vsprops"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Source Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\MainWin.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Header Files"
- Filter="h;hpp;hxx;hm;inl;inc;xsd"
- UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
- >
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcess"
+ ProjectGUID="{AAE88FEF-509E-4D49-870B-7357922C276F}"
+ RootNamespace="WebKit2WebProcess"
+ >
+ <Platforms>
+ <Platform
+ Name="Win32"
+ />
+ </Platforms>
+ <ToolFiles>
+ </ToolFiles>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\WebKit2WebProcessDebug.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\WebKit2WebProcessRelease.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_All|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\WebKit2WebProcessDebugAll.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Debug_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\WebKit2WebProcessDebugCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Production|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\WebKit2WebProcessProduction.vsprops"
+ CharacterSet="1"
+ WholeProgramOptimization="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ <Configuration
+ Name="Release_Cairo_CFLite|Win32"
+ ConfigurationType="1"
+ InheritedPropertySheets=".\WebKit2WebProcessReleaseCairoCFLite.vsprops"
+ CharacterSet="1"
+ >
+ <Tool
+ Name="VCPreBuildEventTool"
+ />
+ <Tool
+ Name="VCCustomBuildTool"
+ />
+ <Tool
+ Name="VCXMLDataGeneratorTool"
+ />
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"
+ />
+ <Tool
+ Name="VCMIDLTool"
+ />
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ <Tool
+ Name="VCManagedResourceCompilerTool"
+ />
+ <Tool
+ Name="VCResourceCompilerTool"
+ />
+ <Tool
+ Name="VCPreLinkEventTool"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ />
+ <Tool
+ Name="VCALinkTool"
+ />
+ <Tool
+ Name="VCManifestTool"
+ />
+ <Tool
+ Name="VCXDCMakeTool"
+ />
+ <Tool
+ Name="VCBscMakeTool"
+ />
+ <Tool
+ Name="VCFxCopTool"
+ />
+ <Tool
+ Name="VCAppVerifierTool"
+ />
+ <Tool
+ Name="VCWebDeploymentTool"
+ />
+ <Tool
+ Name="VCPostBuildEventTool"
+ />
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+ >
+ <File
+ RelativePath=".\MainWin.cpp"
+ >
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+ >
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/Source/WebKit2/win/WebKit2WebProcessCommon.vsprops b/Source/WebKit2/win/WebKit2WebProcessCommon.vsprops
index 6e3681e5a..31c60167a 100644
--- a/Source/WebKit2/win/WebKit2WebProcessCommon.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessCommon.vsprops
@@ -1,15 +1,15 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessCommon"
- >
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\WebProcess\win&quot;"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Shlwapi.lib"
- />
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessCommon"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="&quot;$(ProjectDir)\..\WebProcess\win&quot;"
+ />
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="Shlwapi.lib"
+ />
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcessDebug.vsprops b/Source/WebKit2/win/WebKit2WebProcessDebug.vsprops
index 9d0b1d41a..cbb987095 100644
--- a/Source/WebKit2/win/WebKit2WebProcessDebug.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessDebug.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessDebug"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKit2WebProcessCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessDebug"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;.\WebKit2WebProcessCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcessDebugAll.vsprops b/Source/WebKit2/win/WebKit2WebProcessDebugAll.vsprops
index 2828aa985..4763c6250 100644
--- a/Source/WebKit2/win/WebKit2WebProcessDebugAll.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessDebugAll.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessDebugAll"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKit2WebProcessCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessDebugAll"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_all.vsprops;.\WebKit2WebProcessCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcessDebugCairoCFLite.vsprops b/Source/WebKit2/win/WebKit2WebProcessDebugCairoCFLite.vsprops
index 277f4c179..1411c4327 100644
--- a/Source/WebKit2/win/WebKit2WebProcessDebugCairoCFLite.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessDebugCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessDebugCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKit2WebProcessCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessDebugCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\debug_wincairo.vsprops;.\WebKit2WebProcessCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcessProduction.vsprops b/Source/WebKit2/win/WebKit2WebProcessProduction.vsprops
index 30e8db0b8..7f31252f4 100644
--- a/Source/WebKit2/win/WebKit2WebProcessProduction.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessProduction.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessProduction"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKit2WebProcessCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessProduction"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\production.vsprops;.\WebKit2WebProcessCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcessRelease.vsprops b/Source/WebKit2/win/WebKit2WebProcessRelease.vsprops
index a0b356547..db02c2cc5 100644
--- a/Source/WebKit2/win/WebKit2WebProcessRelease.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessRelease.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessRelease"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKit2WebProcessCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessRelease"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefines.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;.\WebKit2WebProcessCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/WebKit2/win/WebKit2WebProcessReleaseCairoCFLite.vsprops b/Source/WebKit2/win/WebKit2WebProcessReleaseCairoCFLite.vsprops
index 45d901047..affa4cd3f 100644
--- a/Source/WebKit2/win/WebKit2WebProcessReleaseCairoCFLite.vsprops
+++ b/Source/WebKit2/win/WebKit2WebProcessReleaseCairoCFLite.vsprops
@@ -1,8 +1,8 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioPropertySheet
- ProjectType="Visual C++"
- Version="8.00"
- Name="WebKit2WebProcessReleaseCairoCFLite"
- InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKit2WebProcessCommon.vsprops"
- >
-</VisualStudioPropertySheet>
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioPropertySheet
+ ProjectType="Visual C++"
+ Version="8.00"
+ Name="WebKit2WebProcessReleaseCairoCFLite"
+ InheritedPropertySheets="$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\FeatureDefinesCairo.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\common.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\releaseproduction.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\release.vsprops;$(WebKitVSPropsRedirectionDir)..\..\..\WebKitLibraries\win\tools\vsprops\WinCairo.vsprops;.\WebKit2WebProcessCommon.vsprops"
+ >
+</VisualStudioPropertySheet>
diff --git a/Source/api.pri b/Source/api.pri
index 4ac64c31b..e6b4aec69 100644
--- a/Source/api.pri
+++ b/Source/api.pri
@@ -85,6 +85,8 @@ WEBKIT += webcore
!no_webkit1: WEBKIT += webkit1
+contains(DEFINES, WTF_USE_3D_GRAPHICS=1): WEBKIT += angle
+
qnx {
# see: https://bugs.webkit.org/show_bug.cgi?id=93460
# the gcc 4.4.2 used in the qnx bbndk cannot cope with
diff --git a/Source/autotools/symbols.filter b/Source/autotools/symbols.filter
index af4bff6a9..a918c8cb2 100644
--- a/Source/autotools/symbols.filter
+++ b/Source/autotools/symbols.filter
@@ -69,7 +69,6 @@ _ZN7WebCore15setDOMExceptionEPN3JSC9ExecStateEi;
_ZN7WebCore15toDOMStringListEPN3JSC9ExecStateENS0_7JSValueE;
_ZN7WebCore16HTMLInputElement17setSuggestedValueERKN3WTF6StringE;
_ZN7WebCore16HTMLInputElement15setEditingValueERKN3WTF6StringE;
-_ZN7WebCore16jsStringSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_7PtrHashIS6_EENS3_10HashTraitsIS6_EENSC_IS9_EEEES6_;
_ZN7WebCore16scriptNameToCodeERKN3WTF6StringE;
_ZN7WebCore17cacheDOMStructureEPNS_17JSDOMGlobalObjectEPN3JSC9StructureEPKNS2_9ClassInfoE;
_ZN7WebCore17HistoryController26saveDocumentAndScrollStateEv;
@@ -92,6 +91,7 @@ _ZN7WebCore24ComposedShadowTreeWalker9lastChildEv;
_ZN7WebCore24DocumentMarkerController10markersForEPNS_4NodeENS_14DocumentMarker11MarkerTypesE;
_ZN7WebCore24DocumentMarkerController18addTextMatchMarkerEPKNS_5RangeEb;
_ZN7WebCore25computeViewportAttributesENS_17ViewportArgumentsEiiifNS_7IntSizeE;
+_ZN7WebCore25jsStringWithCacheSlowCaseEPN3JSC9ExecStateERN3WTF7HashMapIPNS3_10StringImplENS0_4WeakINS0_8JSStringEEENS3_7PtrHashIS6_EENS3_10HashTraitsIS6_EENSC_IS9_EEEES6_;
_ZN7WebCore30overrideUserPreferredLanguagesERKN3WTF6VectorINS0_6StringELj0EEE;
_ZN7WebCore30overrideUserPreferredLanguagesERKN3WTF6VectorINS0_6StringELm0EEE;
_ZN7WebCore40restrictMinimumScaleFactorToViewportSizeERNS_18ViewportAttributesENS_7IntSizeE;
@@ -162,7 +162,7 @@ _ZN7WebCore22RuntimeEnabledFeatures18isShadowDOMEnabledE;
_ZN7WebCore22RuntimeEnabledFeatures22isCSSExclusionsEnabledE;
_ZN7WebCore22RuntimeEnabledFeatures22isDialogElementEnabledE;
_ZN7WebCore22RuntimeEnabledFeatures37isAuthorShadowDOMForAnyElementEnabledE;
-_ZNK7WebCore8Document13nodesFromRectEiijjjjbb;
+_ZNK7WebCore8Document13nodesFromRectEiijjjjj;
_ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_8NodeListE;
_ZNK7WebCore6Editor26selectionStartHasMarkerForENS_14DocumentMarker10MarkerTypeEii;
_ZN7WebCore8Document33webkitDidExitFullScreenForElementEPNS_7ElementE;
@@ -175,6 +175,9 @@ _ZNK7WebCore14InsertionPoint8isActiveEv;
_ZN7WebCore26ContextDestructionObserverD2Ev;
_ZN7WebCore26ContextDestructionObserverC2EPNS_22ScriptExecutionContextE;
_ZN7WebCore26ContextDestructionObserver16contextDestroyedEv;
+_ZN7WebCore12PrintContext13numberOfPagesEPNS_5FrameERKNS_9FloatSizeE;
+_ZN7WebCore12PrintContext12pagePropertyEPNS_5FrameEPKci;
+_ZN7WebCore12PrintContext26pageSizeAndMarginsInPixelsEPNS_5FrameEiiiiiii;
local:
_Z*;
diff --git a/Source/cmake/OptionsBlackBerry.cmake b/Source/cmake/OptionsBlackBerry.cmake
index 14aca088f..87c7c8b17 100644
--- a/Source/cmake/OptionsBlackBerry.cmake
+++ b/Source/cmake/OptionsBlackBerry.cmake
@@ -23,6 +23,8 @@ IF (ENABLE_GLES2)
SET(WTF_USE_ACCELERATED_COMPOSITING 1)
ADD_DEFINITIONS(-DWTF_USE_ACCELERATED_COMPOSITING=1)
ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_GRAPHICS_EGL=1)
+ ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_GRAPHICS_GLES2=1)
+ ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_GRAPHICS_DRAWING_SURFACE=1)
ADD_DEFINITIONS(-DBLACKBERRY_PLATFORM_EXPORT_WEBDOM=1)
ENDIF ()
@@ -102,7 +104,7 @@ ENDIF ()
# Set custom CFLAGS for our port
IF (CMAKE_COMPILER_IS_GNUCC)
SET(CMAKE_CXX_FLAGS "-fstack-protector -fno-rtti -Wformat -Wformat-security -Werror=format-security ${CMAKE_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "-fstack-protector -fno-rtti -Wformat -Wformat-security -Werror=format-security ${CMAKE_C_FLAGS}")
+ SET(CMAKE_C_FLAGS "-fstack-protector -Wformat -Wformat-security -Werror=format-security ${CMAKE_C_FLAGS}")
SET(JSC_LINK_FLAGS "-Wl,-z,defs -Wl,-z,relro -N1024K")
ENDIF ()
@@ -151,11 +153,11 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_NOTIFICATIONS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_STREAM ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NAVIGATOR_CONTENT_UTILS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NOTIFICATIONS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_ORIENTATION_EVENTS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_POPUP ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGISTER_PROTOCOL_HANDLER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REPAINT_THROTTLING ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
diff --git a/Source/cmake/OptionsEfl.cmake b/Source/cmake/OptionsEfl.cmake
index 25bf597d9..525bf0ffe 100644
--- a/Source/cmake/OptionsEfl.cmake
+++ b/Source/cmake/OptionsEfl.cmake
@@ -3,14 +3,6 @@ SET(PROJECT_VERSION_MINOR 1)
SET(PROJECT_VERSION_PATCH 0)
SET(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
-# -----------------------------------------------------------------------------
-# We mention Safari version because many sites check for it.
-# Sync with Source/WebCore/Configurations/Version.xcconfig whenever Safari is
-# version up.
-# -----------------------------------------------------------------------------
-SET(WEBKIT_USER_AGENT_MAJOR_VERSION 534)
-SET(WEBKIT_USER_AGENT_MINOR_VERSION 16)
-
ADD_DEFINITIONS(-DBUILDING_EFL__=1)
ADD_DEFINITIONS(-DWTF_PLATFORM_EFL=1)
SET(WTF_PLATFORM_EFL 1)
@@ -34,7 +26,7 @@ SET(ENABLE_GLIB_SUPPORT ON)
SET(WTF_USE_SOUP 1)
ADD_DEFINITIONS(-DWTF_USE_SOUP=1)
-ADD_DEFINITIONS(-DENABLE_CONTEXT_MENUS=0)
+ADD_DEFINITIONS(-DENABLE_CONTEXT_MENUS=1)
SET(WTF_USE_PTHREADS 1)
ADD_DEFINITIONS(-DWTF_USE_PTHREADS=1)
@@ -77,12 +69,14 @@ WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_GLIB_SUPPORT ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_INPUT_TYPE_COLOR ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LINK_PREFETCH ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_LLINT ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEDIA_CAPTURE ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MEMORY_SAMPLER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_MICRODATA ON)
+WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NAVIGATOR_CONTENT_UTILS ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETSCAPE_PLUGIN_API OFF)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_NETWORK_INFO ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_PAGE_VISIBILITY_API ON)
-WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REGISTER_PROTOCOL_HANDLER ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_REQUEST_ANIMATION_FRAME ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHADOW_DOM ON)
WEBKIT_OPTION_DEFAULT_PORT_VALUE(ENABLE_SHARED_WORKERS ON)
diff --git a/Source/cmake/WebKitFeatures.cmake b/Source/cmake/WebKitFeatures.cmake
index 7eaba01e3..58a90d290 100644
--- a/Source/cmake/WebKitFeatures.cmake
+++ b/Source/cmake/WebKitFeatures.cmake
@@ -20,7 +20,6 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_BLOB "Toggle Blob support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CHANNEL_MESSAGING "Toggle MessageChannel and MessagePort support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_CSP_NEXT "Toggle Content Security Policy 1.1 support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_CSS3_FLEXBOX "Toggle CSS3 Flexbox support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_CSS3_TEXT_DECORATION "Toggle CSS3 Text Decoration support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_BOX_DECORATION_BREAK "Toggle Box Decoration Break (CSS Backgrounds and Borders) support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_CSS_COMPOSITING "Toggle CSS COMPOSITING support" OFF)
@@ -72,15 +71,18 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_LEGACY_WEBKIT_BLOB_BUILDER "Toggle Legacy WebKit Blob Builder Support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LINK_PREFETCH "Toggle pre fetching support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_LINK_PRERENDER "Toggle pre rendering support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_LLINT "Enable JSC Low Level Interpreter" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MATHML "Toggle MathML support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_CAPTURE "Toggle Media Capture support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_SOURCE "Toggle Media Source support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_STATISTICS "Toggle Media Statistics support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MEDIA_STREAM "Toggle Media Stream API support" OFF)
+ WEBKIT_OPTION_DEFINE(ENABLE_MEMORY_SAMPLER "Toggle Memory Sampler support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_METER_ELEMENT "Toggle Meter Tag support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_MHTML "Toggle MHTML support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MICRODATA "Toggle Microdata support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_MUTATION_OBSERVERS "Toggle DOM mutation observer support" ON)
+ WEBKIT_OPTION_DEFINE(ENABLE_NAVIGATOR_CONTENT_UTILS "Toggle Navigator Content Utils support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_NETSCAPE_PLUGIN_API "Toggle Netscape Plugin support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_NETWORK_INFO "Toggle Network Information API support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_NOTIFICATIONS "Toggle Desktop Notifications Support" OFF)
@@ -89,7 +91,6 @@ MACRO (WEBKIT_OPTION_BEGIN)
WEBKIT_OPTION_DEFINE(ENABLE_PROGRESS_ELEMENT "Toggle Progress Tag support" ON)
WEBKIT_OPTION_DEFINE(ENABLE_PLUGIN_PROXY_FOR_VIDEO "Toggle Plugin Proxy for Video support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_QUOTA "Toggle Quota support" OFF)
- WEBKIT_OPTION_DEFINE(ENABLE_REGISTER_PROTOCOL_HANDLER "Toggle Register Protocol Handler support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_REPAINT_THROTTLING "Toggle repaint throttling support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_REQUEST_ANIMATION_FRAME "Toggle requestAnimationFrame support" OFF)
WEBKIT_OPTION_DEFINE(ENABLE_SCRIPTED_SPEECH "Toggle Scripted Speech API support" OFF)
diff --git a/Source/cmake/WebKitHelpers.cmake b/Source/cmake/WebKitHelpers.cmake
index d78d69608..cb777940a 100644
--- a/Source/cmake/WebKitHelpers.cmake
+++ b/Source/cmake/WebKitHelpers.cmake
@@ -1,6 +1,9 @@
+INCLUDE(CMakeParseArguments)
# Sets extra compile flags for a target, depending on the compiler being used.
# Currently, only GCC is supported.
MACRO(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
+ SET(options IGNORECXX_WARNINGS)
+ CMAKE_PARSE_ARGUMENTS("OPTION" "IGNORECXX_WARNINGS" "" "" ${ARGN})
IF (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
GET_TARGET_PROPERTY(OLD_COMPILE_FLAGS ${_target} COMPILE_FLAGS)
IF (${OLD_COMPILE_FLAGS} STREQUAL "OLD_COMPILE_FLAGS-NOTFOUND")
@@ -33,11 +36,13 @@ MACRO(WEBKIT_SET_EXTRA_COMPILER_FLAGS _target)
SET(OLD_COMPILE_FLAGS "-fno-exceptions -fno-strict-aliasing ${OLD_COMPILE_FLAGS}")
# Enable warnings by default
- SET(OLD_COMPILE_FLAGS "-W -DANOTHER_BRICK_IN_THE -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat -Wformat-security -Wmissing-format-attribute -Wno-format-y2k -Wno-parentheses -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
+ IF (NOT ${OPTION_IGNORECXX_WARNINGS})
+ SET(OLD_COMPILE_FLAGS "-W -DANOTHER_BRICK_IN_THE -Wall -Wextra -Wcast-align -Wchar-subscripts -Wformat -Wformat-security -Wmissing-format-attribute -Wno-format-y2k -Wno-parentheses -Wno-unused-parameter -Wpointer-arith -Wreturn-type -Wundef -Wwrite-strings ${OLD_COMPILE_FLAGS}")
+ ENDIF ()
# Disable C++0x compat warnings for GCC >= 4.6.0 until we build
# cleanly with that.
- IF (NOT ${COMPILER_VERSION} VERSION_LESS "4.6.0")
+ IF (NOT ${OPTION_IGNORECXX_WARNINGS} AND NOT ${COMPILER_VERSION} VERSION_LESS "4.6.0")
SET(OLD_COMPILE_FLAGS "${OLD_COMPILE_FLAGS} -Wno-c++0x-compat")
ENDIF ()
diff --git a/Source/cmakeconfig.h.cmake b/Source/cmakeconfig.h.cmake
index 597e4c31f..25731e0cc 100644
--- a/Source/cmakeconfig.h.cmake
+++ b/Source/cmakeconfig.h.cmake
@@ -1,13 +1,10 @@
#ifndef CMAKECONFIG_H
#define CMAKECONFIG_H
-#cmakedefine WEBKIT_USER_AGENT_MAJOR_VERSION @WEBKIT_USER_AGENT_MAJOR_VERSION@
-#cmakedefine WEBKIT_USER_AGENT_MINOR_VERSION @WEBKIT_USER_AGENT_MINOR_VERSION@
-
-#cmakedefine01 ENABLE_ANIMATION_API
-#cmakedefine01 ENABLE_API_TESTS
#cmakedefine01 ENABLE_3D_RENDERING
#cmakedefine01 ENABLE_ACCELERATED_2D_CANVAS
+#cmakedefine01 ENABLE_ANIMATION_API
+#cmakedefine01 ENABLE_API_TESTS
#cmakedefine01 ENABLE_AS_IMAGE
#cmakedefine01 ENABLE_ASSEMBLER_WX_EXCLUSIVE
#cmakedefine01 ENABLE_BATTERY_STATUS
@@ -15,19 +12,19 @@
#cmakedefine01 ENABLE_CHANNEL_MESSAGING
#cmakedefine01 ENABLE_CLIENT_BASED_GEOLOCATION
#cmakedefine01 ENABLE_CSP_NEXT
+#cmakedefine01 ENABLE_CSS3_TEXT_DECORATION
#cmakedefine01 ENABLE_CSS_BOX_DECORATION_BREAK
#cmakedefine01 ENABLE_CSS_COMPOSITING
#cmakedefine01 ENABLE_CSS_EXCLUSIONS
+#cmakedefine01 ENABLE_CSS_FILTERS
+#cmakedefine01 ENABLE_CSS_HIERARCHIES
#cmakedefine01 ENABLE_CSS_IMAGE_ORIENTATION
#cmakedefine01 ENABLE_CSS_IMAGE_RESOLUTION
#cmakedefine01 ENABLE_CSS_IMAGE_SET
#cmakedefine01 ENABLE_CSS_REGIONS
+#cmakedefine01 ENABLE_CSS_SHADERS
#cmakedefine01 ENABLE_CSS_STICKY_POSITION
#cmakedefine01 ENABLE_CSS_VARIABLES
-#cmakedefine01 ENABLE_CSS3_FLEXBOX
-#cmakedefine01 ENABLE_CSS3_TEXT_DECORATION
-#cmakedefine01 ENABLE_CSS_FILTERS
-#cmakedefine01 ENABLE_CSS_SHADERS
#cmakedefine01 ENABLE_CUSTOM_SCHEME_HANDLER
#cmakedefine01 ENABLE_DATALIST_ELEMENT
#cmakedefine01 ENABLE_DATA_TRANSFER_ITEMS
@@ -50,6 +47,7 @@
#cmakedefine01 ENABLE_IFRAME_SEAMLESS
#cmakedefine01 ENABLE_IMAGE_DECODER_DOWN_SAMPLING
#cmakedefine01 ENABLE_INDEXED_DATABASE
+#cmakedefine01 ENABLE_INPUT_SPEECH
#cmakedefine01 ENABLE_INPUT_TYPE_COLOR
#cmakedefine01 ENABLE_INPUT_TYPE_DATE
#cmakedefine01 ENABLE_INPUT_TYPE_DATETIME
@@ -61,15 +59,22 @@
#cmakedefine01 ENABLE_JAVASCRIPT_DEBUGGER
#cmakedefine01 ENABLE_JIT
#cmakedefine01 ENABLE_LEGACY_NOTIFICATIONS
+#cmakedefine01 ENABLE_LEGACY_VIEWPORT_ADAPTION
+#cmakedefine01 ENABLE_LEGACY_WEBKIT_BLOB_BUILDER
#cmakedefine01 ENABLE_LINK_PREFETCH
#cmakedefine01 ENABLE_LINK_PRERENDER
-#cmakedefine01 ENABLE_LEGACY_WEBKIT_BLOB_BUILDER
+#cmakedefine01 ENABLE_LLINT
#cmakedefine01 ENABLE_MATHML
#cmakedefine01 ENABLE_MEDIA_CAPTURE
+#cmakedefine01 ENABLE_MEDIA_SOURCE
+#cmakedefine01 ENABLE_MEDIA_STATISTICS
#cmakedefine01 ENABLE_MEDIA_STREAM
+#cmakedefine01 ENABLE_MEMORY_SAMPLER
#cmakedefine01 ENABLE_METER_ELEMENT
+#cmakedefine01 ENABLE_MHTML
#cmakedefine01 ENABLE_MICRODATA
#cmakedefine01 ENABLE_MUTATION_OBSERVERS
+#cmakedefine01 ENABLE_NAVIGATOR_CONTENT_UTILS
#cmakedefine01 ENABLE_NETSCAPE_PLUGIN_API
#cmakedefine01 ENABLE_NETWORK_INFO
#cmakedefine01 ENABLE_NOTIFICATIONS
@@ -77,15 +82,19 @@
#cmakedefine01 ENABLE_OVERFLOW_SCROLLING
#cmakedefine01 ENABLE_PAGE_POPUP
#cmakedefine01 ENABLE_PAGE_VISIBILITY_API
+#cmakedefine01 ENABLE_PLUGIN_PROXY_FOR_VIDEO
#cmakedefine01 ENABLE_PROGRESS_ELEMENT
-#cmakedefine01 ENABLE_REGISTER_PROTOCOL_HANDLER
+#cmakedefine01 ENABLE_QUOTA
+#cmakedefine01 ENABLE_REPAINT_THROTTLING
#cmakedefine01 ENABLE_REQUEST_ANIMATION_FRAME
+#cmakedefine01 ENABLE_SCRIPTED_SPEECH
#cmakedefine01 ENABLE_SHADOW_DOM
#cmakedefine01 ENABLE_SHARED_WORKERS
#cmakedefine01 ENABLE_SMOOTH_SCROLLING
#cmakedefine01 ENABLE_SQL_DATABASE
#cmakedefine01 ENABLE_STYLE_SCOPED
#cmakedefine01 ENABLE_SVG
+#cmakedefine01 ENABLE_SVG_DOM_OBJC_BINDINGS
#cmakedefine01 ENABLE_SVG_FONTS
#cmakedefine01 ENABLE_TEXT_AUTOSIZING
#cmakedefine01 ENABLE_TOUCH_EVENTS